Live data from Hacker News

Ask HN: How do you learn complex, dense technical information?

news.ycombinator.com

21–30 of 181 posts

Re: Ask HN: How do you learn complex, dense technical information?

#21
I think time plays a role. Trying to learn complicated stuff fast usually leads to not learning them well enough, in my experience. If I do so, jumping to wrong conclusions or applying a method on the wrong place/in the wrong way is almost guaranteed. So just keep reading, studying, picture yourself explaining it to a classroom, talk about it to colleagues and friends, engage on discussions about it online. Eventually you'll master the craft before you know it, and the good part is that such things may be on constant evolution and there will always be something new to learn. Just avoid being that one trick pony that knows a lot about one specific topic and that's it.

Re: Ask HN: How do you learn complex, dense technical information?

#22

I'm a big fan of the idea of using Spaced Repetition for this. The idea is that it allows you to both: - be able to keep your knowledge / understanding of an area around for the long term; but also - be able to gradually build up your understanding by first committing the fundamentals to memory, and then using that to build up your level of abstraction and get to the more complex ideas and principles. Michael Nielsen…

SRS is great for memorizing truly unconnected pieces of information, like names of capital cities. For anything where the information is connected, it's a lot better to use those connections instead of drilling it in a decontextualized fragments via SRS.

I find that my brain sort of automatically uses connections. The really interesting thing about SRS is that you don't have to consciously think about how you're going to remember the cards. Like, you don't consciously think, "Ok, what's the pattern here, how can I turn it into a mnemonic..." Rather, your brain subconsciously does that for you.

Re: Ask HN: How do you learn complex, dense technical information?

#23
I am fairly sure this is not the optimal way, but I've been learning complex information/structures in passes.

For example:

- 1st pass - I consume the materials as well as possible, and apply my knowledge. Typically, I have to look things up, some things are unclear, I can't remember much. Applying the knowledge is quite difficult. That's ok.

- 2nd pass - I return to the materials, re-read much less thoroughly. I realize some things that I missed, or got wrong. I apply my knowledge, without looking information up again. This is, from my experience, when I get most of deeper understanding, but also where I learn most things that I remember long term.

- 3rd pass - if necessary, I can go through the materials again, just like in the 2nd pass. Diminishing returns start to kick in.

- (3+n) pass - diminishing returns start to manifest even in form of being bored with the materials, and starting to build up mental dislike for the materials/topics.

The passes are effective if and only if they are some time apart. Ideally, they are spaced in increasing time, i.e. 2nd pass is a day after 1st pass, but 3rd pass might be 3 weeks after 2nd pass.

The above has been useful for me, for example, when learning math or when I started to learn development way back. Note that in all passes, knowledge is applied. Without applying the knowledge, I learn much much less (though not nothing).

It also assumes that you have quite good theoretical source of information (e.g. a math textbook) and practical problems (e.g. math problems with correct solutions). If you're missing one or the other, e.g. if you're memorizing history lessons for your history 101 test, I'm not sure how effective the passes are.

Re: Ask HN: How do you learn complex, dense technical information?

#24

I'm a big fan of the idea of using Spaced Repetition for this. The idea is that it allows you to both: - be able to keep your knowledge / understanding of an area around for the long term; but also - be able to gradually build up your understanding by first committing the fundamentals to memory, and then using that to build up your level of abstraction and get to the more complex ideas and principles. Michael Nielsen…

Personally, I am a big anti-fan of the Spaced Repetition.

IMHO it is a wonderful solution to a wrong problem (i.e. memorizing random things). Sure, there are use cases: learning words in a language one is not exposed to on a daily basis or cramming for a medical school exam.

When one actively uses something, there is a natural spaced repetition of the things that matter. With the frequencies as these things are used in practice. Everything else can be looked up later.

For programming, maths, physics, etc - "I forgot" means more or less "it is more time-efficient to google it once a few years than put effort in storing in in my memory". In programming, it is even more the case: libraries, their APIs, and good practices keep changing. Rote memorization may be highly counterproductive in this case.

Re: Ask HN: How do you learn complex, dense technical information?

#25
I use a process I made up based on how suspension bridges are built: 1) literally an arrow is shot from one side to the other over the span the bridge is to occupy, and that arrow has a kite string attached; 2) the kite string is used to pull a thicker piece of twine; 3) the twine is used to pull rope and the rope is used to pull steel cable; 4) with the steel cable in place, the large scale bridge construction can begin.

In a software context, first just get anything operating in the target space you are trying to learn and develop. Then expand that minor nothing piece of software to be just slightly more capable, and observe what adjustments were necessary in your thinking to get that minor adjustment working. Repeat this process of small iterative changes with a formal review of what you're learning, and at some point you'll realize you have developed both a body of knowledge and a small framework for further work, and probably several ideas how to "fix" your mini-framework. Now spend some time trying to fix the mini-framework and use that to solidify what you've learned. And throughout this entire process: take notes, review the notes, and observe the scientific method in your notes: meaning write down a hypothesis, test it, write down the test results, write down you thoughts on the test results, and repeat. The writing down portion is important, as the act of writing it into notes forces fragment sentences to be formalized, completed and that can catch incomplete thought processes, which are critical, as they are the edge cases that also need to be handled.

Re: Ask HN: How do you learn complex, dense technical information?

#26
When I was in grad school, I fell into a habit of going over everything up to 3 times.

The first time was a real quick read-through - really more of a skim - just to get a sense of the overall shape of the subject.

Then I'd go back and actually read the bits that I needed to understand more thoroughly. While I was doing that one, I'd take some notes, because I find that helps a lot with retention. I wouldn't be trying to memorize everything here, more just trying to get a thorough enough understanding that I could quickly re-find information when necessary.

Finally, for anything I absolutely had to have in my head, I'd make flashcards. This part can be indispensable, but I tend to be pretty conservative about it. I'm fond of that (apocryphal, I think) Einstein quote about not memorizing such information as can be readily found in books.

Re: Ask HN: How do you learn complex, dense technical information?

#28

I am fairly sure this is not the optimal way, but I've been learning complex information/structures in passes. For example: - 1st pass - I consume the materials as well as possible, and apply my knowledge. Typically, I have to look things up, some things are unclear, I can't remember much. Applying the knowledge is quite difficult. That's ok. - 2nd pass - I return to the materials, re-read much less thoroughly. I rea…

I do this in reverse. First blaze through reading with very little comprehension, then go back thoroughly.

My reasoning is "I don't know what I don't know" on the first pass and my first goal is to understand that all of the things "exist", then how things individually work.

Re: Ask HN: How do you learn complex, dense technical information?

#29

I am fairly sure this is not the optimal way, but I've been learning complex information/structures in passes. For example: - 1st pass - I consume the materials as well as possible, and apply my knowledge. Typically, I have to look things up, some things are unclear, I can't remember much. Applying the knowledge is quite difficult. That's ok. - 2nd pass - I return to the materials, re-read much less thoroughly. I rea…

This describes my process as well. I'd add that one of the huge benefits of the 1st pass is that it is low pressure. You just have to get through the material.

For example, I put off SICP for a very long time due to not wanting to put in the time for the exercises. Eventually I just decided to take a first pass, and made I through in a month. Second pass did the exercises.

Re: Ask HN: How do you learn complex, dense technical information?

#30
I use the several pass method where each pass is a deeper dive. After each pass I write down or review what I have learned before moving to the next pass. I also like going from the full scope down to the focused details in steps. Finally break the big parts down into sub parts. In some cases I identify the parts I understand and then build out to the parts I don't know.
Post reply on HN