Hacker News new | ask | show | jobs
by lukeqsee 4181 days ago
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?

9 comments

It seems like common sense, but it's so difficult to do sometimes. I agree completely.

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.

You may find that, for some popular software technologies now, so far no one has organized the material into a solid tree with a trunk and a few large branches that quickly provide good paths to any of the leaves. Instead you may be looking at a noxious vine or even a patch of jungle with some poisonous plants and reptiles.
I have definitely noticed this, which is part of the reason I haven't "dug deep" with them, and instead learn enough of it to get a job done.
It takes good effort to organize a significant body of knowledge into a tree with a few big, short branches.
I highly recommend Make It Stick. Spaced repetition, testing effect, effortful learning, retrieval training, constructing mental models... it's chock full.
Another vote for Make It Stick. I did much better in my classes and was much more efficient in my prep using the SPRInt method (Spaced Repetition, Interleaving topics, Testing). I tried to read 'How we learn' but it really couldn't hold a candle to Make It Stick.
I agree that fundamental is everything.

I just believe that almost everything in life is a skill and skill requires practice.

I've came across a research paper about deliberate practice and Peter Novig article about Teach yourself how to program in ten years.

This resonate and reinforce my belief of practices is everything.

As for the intricate of how, I'm more of a visual and kinestic kind of learner. Auditory suck. Also I need a book, I sit down and write notes first and then do problems. From there I usually look for a video on that subject for a secondary source. Most of the time a secondary source will give a different view on the subject matter and I get insight at a different point of view. Or that the second source explain it more better or fill in stuff that I didn't realize I gloss over or missed.

>when I've had the time to develop that "first principles" knowledge, I can usually grasp and understand the significance of minutiae.

Well, the fact that you've found what works for you is a good thing. However, 'first principles' is subject to subjective interpretation. You can 'go down the rabbit hole' as it were, to any level. Should you have deep knowledge of electronics before learning computer science? Should you have deep knowledge of physics and chemistry before learning electronics?

In my opinion after a certain level, all knowledge is multi-disciplinary, and the boundaries of what constitutes roots, branches, leaves is extremely fuzzy. Also the distinction between theory and practice makes the boundaries even fuzzier.

> In my opinion after a certain level, all knowledge is multi-disciplinary, and the boundaries of what constitutes roots, branches, leaves is extremely fuzzy. Also the distinction between theory and practice makes the boundaries even fuzzier.

Of course. I think this is the point of this learning style. After learning the first principles of various topics, the broad web that is higher knowledge is available to you.

Suppose, for instance, I wanted to learn how computer science worked from first principles. This study involves math, electronics, physics, and many, many more subjects. To accomplish this, I would pick one of the key, pure tenets and learn it. Let's say I choose math. I would then learn the key things I need to know about math and then move to electronics and physics, and etc. After knowing these, I could confidently approach the "web" of computer science because I have anchorpoints.

I think it's safe to view higher knowledge as a web supported by the anchors of "pure" subjects. After a while, these higher subjects are built upon and become pure topics themselves. Epistemology and the classification of knowledge is really a fascinating topic.

Yeah I agree this is an important idea. I would suggest a couple tests for whether your knowledge is sufficiently connected in way that Musk advocates:

- (if you went to college) Did you have moments when the different courses connected? I think when people are poorly educated in college, it's because of this unfortunately common experience: they learn a bunch of specialized and disconnected subjects, never relate them to anything in their lives, and then forget them all.

I remember the subjects in CS/Math/EE starting to connect more and more around junior year, and I liked that feeling of a light bulb going on. You have to make a bit of extra effort. I did some little experiments outside class. I remember writing Matlab program (an "engineering" tool) to do some experiments in non-Euclidean geometry (pure math).

Of course there are some subjects that never connected, and I forgot those things.

When you have that semantic network, it lets you evaluate new ideas and designs more quickly. You see which low level principles come into play from the high level variables.

- (if you are a programmer) I think there's a pretty clear "semantic tree" in computing: from computer architecture, to OS, to programming language, etc.

So the test is: If you are generally satisfied with how computers/phones/etc. work, then I would humbly suggest that your semantic tree of computers isn't very well fleshed out :) I think any good programmer should see lots of areas where the status quo is just a result of path dependence and not actual any design principle.

When you have a good knowledge of all levels of the stack, then you can be creative. For example, I'm looking at Xen right now, and it has dawned on me that paravirtualization is a great idea (or perhaps great hack).

The related Mirage OS / unikernel line of research is another great example of connecting all the dots, and coloring outside the normal lines. 99% of programming jobs are basically coloring within the lines, where it doesn't matter if you have developed this semantic tree or not.

Somewhat related: there were some recent threads about organizing personal information, and I wrote about using a Wiki: https://news.ycombinator.com/item?id=8753599

Some people talked about using a journal to record thoughts or knowledge, but my point was that hyperlinks literally model the relationships in your head, and thus are superior for information organization / recall.

There was a moment in, I believe, my diff eq course where the relationship between derivatives/integrals and the Laplace & Fourier transforms suddenly became crystal clear. That wasn't what the lecture was even about, but from that point on everything got a lot easier to understand. I'd taken two or three EE courses where we bounced back and forth between the time domain and frequency domain, and diff eq was my fourth calculus class, so both topics were already quite familiar to me, but groking the relationship between them made everything so clear.
Mind of a Mnemonist is a nice book about this. It's not specifically about learning, it's about something else, but there are some rather interesting notes in it.
That quote is basically how I learn. I know concepts, not facts and recreate the facts as I need them. That being said, it's definitely not how everyone learns and I would classify it as bad advice: schools have the correct learning strategy for the vast majority of the human race, so stick to that.

If you are one of the outliers (as you have said you are) you would have figured this all out a long time ago, even if you cannot articulate it.

Schools massively vary in learning strategies though. Saying to stick to schools rather than teaching yourself, as a learning strategy, is a bit like saying to stick to food from shops rather than trying to grow your own, as an eating strategy.
If you're new to growing your own food, I indeed highly recommend you initially stick to food from shops as you start learning to grow your own, transitioning gradually as your skills improve and can rely more on yourself. If you completely & abruptly stop buying food, relying entirely on your own farming, with no transition period, trust me you'll starve.

Likewise, stick to schools initially until you are sure you've got a solid grasp of core concepts, as taught & validated by people who know what you don't but should, then start transitioning away as your education can stand on its own. I've known too many "self taught" people who, while yes they can function in industry, suffer gaping glaring holes where early formal thoroughness would have closed them.

I went to 5 in my youth (moving cities/countries) and they didn't vary much - however, they were all situated in Africa and in many ways we are very backward here. Maybe that's why I have that perception.

What you say does make sense.

I wouldn't be at all surprised if they were sort of similar to my high school, as for the most part it was the basic model of regimented desks, rote learning, streamed classrooms and strict delineation of time into subjects with little crossover.

As far as I can tell, this model was initially developed for training the middle ranks of the aristocracy in how to be officers in the army, and it only ever really works if you are allowed to beat or drug the children as otherwise it is almost impossible to get them to pay attention while sitting still in rows for an entire day. Which is probably why our classrooms got smashed up by bored pupils fairly regularly.

On the other hand, I have a mate who went to a Steiner school, which he describes as 'the first school he didn't burn down' and there it is an entirely different model that is centered around development rather than training. If I had any kids I would be looking for a school for them that was more in line with that kind of environment. http://en.wikipedia.org/wiki/Waldorf_education

It's actually strange how much of modern society is inadequate. First ROWE[1] and then Waldorf education (an interesting read, thank you). We somehow turned assumptions into facts for so many facets of society and it's taking us decades to undo that mistake.

[1]: http://en.wikipedia.org/wiki/ROWE

We have a habit of reaching local maxima in some slightly hilly fields and then declaring them to be the highest mountains possible.
Definitely. When I'm learning some new discipline, the first thing is usually reading definitions of the most common terms, then some basic introduction and only after that going deeper to the direction I originally needed. It doesn't always work with highly specific knowledge (you can't expect to be an expert just after reading few books), but generally I find it the best way to learn.
Yes, early in my career I used that analogy of a tree, large branches, small branches, and leaves.