| I found his comment regarding learning to be the most insightful. It is a more developed explanation of what I have found to be an effective strategy for me: > One bit of advice: it is important to view knowledge as sort of a semantic tree -- make sure you understand the fundamental principles, ie the trunk and big branches, before you get into the leaves/details or there is nothing for them to hang on to. Without the structure of prior knowledge, I never understand or remember facts; however, when I've had the time to develop that "first principles" knowledge, I can usually grasp and understand the significance of minutiae. How do you of HN learn? Is it similar? |
When I first started learning Linux for example, I didn't just learn the commands I needed to do certain things, I tackled everything. I spent months and months learning everything I could about it. I bought a giant Linux book and went from cover to cover. I learned about things I would never use (and probably still haven't).
I pushed myself to recompile the kernel even though I didn't need to. Then I did it probably 50 more times that month. No joke. Crashed my system. Rebuilt it. Rinse, repeat.
After laying down that foundation in the 90s, I've kept up on it but Linux is so very "easy" for me. Setting things up and getting work done is extremely intuitive, far more so than it is in Windows or OSX. So when people ask me why I prefer it I tell them it's a personal preference because it's so easy for me, and I even I forget that foundation I laid.
I have taken on other pursuits the same way, such as development but I notice any technology that I half ass learn just to get stuff done.. is hard. Sometimes I wish I had enough time in my adult life to build such a strong foundation in something like.. JavaScript for example. And I bet if I added up the time I spent struggling in the beginning I would have been able to do just that.
But yeah, long story short this is absolutely the best way to learn something. Build that trunk.