Live data from Hacker News

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

news.ycombinator.com

81–90 of 181 posts

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

#81

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.

I also do this. A trick I've learned is to grab a PDF or Word or any editable copy of a document, then highlight sections with various pastel shades to indicated "don't care", "maybe care" or "get deep". Then on the second pass I can focus more intensely on the sections I need to get deep on.

Another trick I've learned is to find an older copy of a specification and read that first. Usually the older copies have less bulk, are more directly addressing the core conceptual issues, and are easier to read.

Sometimes if I want a rapid and superficial understanding I just go after the diffs or change notes for the last few versions of whatever it is. This can give a scattershot coverage of the contemporary state of the thing. It's not much but it's a place to start from.

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

#82
post #5

I've learnt recently (not much former higher education) the power of making long hand notes on pen and paper. It helps me connect with and think through the material and take it in at a pace I can process it. It's not quite the same, but I recently studied for a technical exam/certification where the syllabus included about 400 slides (about 10 days of teaching & lab work). I failed the exam just reviewing the slides…

There is a reason for that I've seen articles on it. If you take notes using a pen to write on paper you retain more. Using a computer to type notes into a text application is terrible. There is a disconnect between listening, then looking to type (or at the screen). I've noticed it myself. I went back to school late in life (48) and at first I wrote in notebooks. Feeling a bit old compared to my much younger classma…

> then looking to type (or at the screen)

If someone is looking to type or at the screen, whoever taught them to type failed them. This sounds like the same stupdity of pair programming where "one can type while the other thinks." I'd be curious to see differences in note-taking retention between those who can touch-type and the hunt and peckers.

For me, the benefits of digital are too many: sorting, searching, organizing and of course the backups. I'm also left-handed and do not miss my school days where I would end up with smudges on my hand. I might buy that scrawling something out by hand leads to slightly higher retention rates than touch-typing notes, if only because the ROM is much higher, or it forces you to either go more slowly, allowing more time for reflection (Neal Stephenson wrote the Baroque cycle this way because of this), or have to condense lecture notes more, which would require more active thinking.

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

#84
My approach, which I don't claim to be necessarily the fastest, somewhat resembles what you first mentioned (going slowly, looking up every word etc.). I recommend the following:

1. Give yourself time and accept that there will be things where you will get terribly stuck.

2. Ideally work with other people, or find other people trying to learn the same thing that you can exchange meaningful questions and comments with.

3. Allocate chunks of uninterrupted study time every day, but don't force yourself to hit rigid targets (e.g. I need to do 1 chapter a day etc.).

4. Go through the material slowly and never gloss over smth that you didn't understand. How do you know you understood it? Try to explain it to somebody else, try to explain it to yourself in the simplest way possible, ask yourself any question no matter how dumb, no matter how absurd regarding that thing.

5. When you're stuck on something try to ask other people, use the internet etc. If you're still stuck make a note of the thing and come back to it not too far in the future.

6. Make sure that you don't let too much time pass without actually applying the knowledge. If you're reading a textbook try to do the exercises, even the weird looking ones. Once you know enough, make a little project, re-implement something yourself, prove things on your own without looking at the textbook etc.

7. Try to review things later on, even if you understood them well. You will often see them in a new light.

8. Use multiple reference texts for the same kind of material, but try to have one main one that you're following closely.

I hope you will find some of these ideas useful.

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

#85
post #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…

[deleted]

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

#86

> I've been considering skimming through the whole things to get kind of a big picture of what the thing is and where I'm going and then going back a second time to catch then the details and experiment. This is what they recommend in "How to Read a Book". First one is called "inspectional reading" and can be anything from a fifteen minute pre-reading to decide if it's the correct book to read, to a read-through with…

I found that book quite superficial and superfluous. Content of few pages stretched out to a book.

> I found that book quite superficial and superfluous. Content of few pages stretched out to a book.

Perhaps you need to do more than a superficial reading, as they suggest.

In seriousness, I found it very good and deep. Perhaps I just was lacking in my education, and you may have had learned the lessons they sought to impart before you read it. To each their own.

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

#87
For anything complex, usually, I'm trying to build a mental model so that I can reason about it w.r.t new scenarios. To get an accurate mental model, if a nice and clean documentation exists that you can read and understand all the elements – high-level, low-level, layers, how things connect and interact – its awesome.

For something that has evolved over many years (like Linux kernel), you will find documentation for different parts of the system but it would seem like they all assume some knowledge of some other part of the system.

There would be lot of circular dependencies for pre-requisite knowledge to even understand what would be considered as good documentation. So, obviously, you will have to do multiple passes. You will have crawl through this dependency graph of knowledge multiple times to build a mental model for yourself. This takes time and focus. Good memory for details is crucial.

Don't be afraid to work with partial information and partial understanding and work through those intermediate knowledge passes and still do useful work (like reading lot of code, find and fix bugs, add small features or even big features in isolated areas etc).

Putting in work (fixing bugs or adding features) helps you test your understanding and gives a meaningful way to engage with your peers who can help improve your understanding of the complex system.

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

#88
I'm going to answer how I do it; not because it's the best, but because it's probably the worst.

First, I'll go to youtube, hoping that someone gave a talk about whatever tech it is, these are good because talks often distill the high level architecture into a 45 minute presentation and it gives a decent starting point to understanding the minutia.

However, what often ends up happening is I see lots of videos and pick up nearly nothing (as most are not talks, they are mostly indian people making course materials).

After I fail to do the youtube thing, I usually go to the quickstart guides, or copying example code and messing with whatever it is, stepping through each item of the code or futzing the configuration to try to make it do weird things, reading up documentation on each config key.

After that I start branching out into other areas, how do I make whatever it is much different? if it's software, how do I scale it, what are the individual components- if it's a library; what else does it support etc;

I very rarely read an entire manual, but after back-and-forthing a bunch of times with experimentation I have usually read a huge chunk of the manual.

However where this really fell down was with kubernetes, as a concept it's very large and hard to break down into smaller sub-components, and when you're testing the entire thing at once it feels like "magic inside" which is not ideal for my method of experimenting (try/break/fix/repeat) as too much breaks at once.

Post reply on HN