Live data from Hacker News

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

news.ycombinator.com

151–160 of 181 posts

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

#151
Break things down.

I'd start by getting an overview of the problem - in this case it's probably chapter names in a book.

Then for each module, break down what you'd like to learn further into sections that take After each 2 hour module, write down your key takeaways of the trickiest part you learn and pause.

Then, when you're ready, resume for the next intense chunk.

You can re-read your highlights at the end of the day to help absorb more deeply.

I've also found the Cornell Notetaking method (http://lsc.cornell.edu/study-skills/cornell-note-taking-syst...) to be a helpful guide.

It includes the "summarizing" step and a recommended structure for organizing notes both as you're reading/watching and when you're solidifying this knowledge.

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

#152
Yes skim first. When you start you have no sense of the shape of the topic or what's important. Skimming gives you that information quickly and typically will reduce the amount of time you spend doing exercises.

But skim multiple sources before really committing to one.

In your I'd skim K&R plus some other C books, at least two of the giant kernel development books. Then choose something you feel is interesting and challenging enough.

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

#153
Every answer here are super good and I agree with most of them. What I would add is:

Try to find a way to make it easy to test a lot of things, for example, get yourself a good environment to do kernel development with automatic virtualization, automatic setup of debuggers, automatic generation of initramfs based on what you want to do, etc.

So that you can focus on a write-build-test cycle ; this way you minimize cognitive load.

To summary, automation & environment setup matters.

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

#154
It depends on the type of development you're wanting.

If you're looking to develop a comprehensive view of a subject, labs and lectures are the way to go, and there's a lifetime bonus if you can figure out how to engage these without a lecturer (textbooks). This is the Sistine Chapel approach, and it's a critical way of foundational learning, detailed notes, learning the names of all the bones by rote, engaging all the problems, seeking puzzles that require epiphanies, and building understanding.

If you're branching off, deep in a subject this is often unsustainable. If you already have a foundation, you are in a zone where there is no such thing as comprehensive, you're in the jungle and may need to make your own way. It is a different toolset, in some senses. You need to draw boxes around things, maps of ideas, and hidden interrelationships. A text on a subject might be 700 pages in a lucid and reasonable order, but 700 pages of research is scrambled and complicated, and begs for its reader to sort, classify, and tag the readings, and to seek the new bedrock on which the ideas sit, and the parameters of unaccomplished analyses you can make your own.

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

#155
post #64
post #24

Earlier quoted context omitted.

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…

> 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. Disagree: There's a grey area in the middle where it is costly to always look it up, but you don't do it often enough to ever be ingrained in memory. SRS is a fairly effortless way to cure it. When I started my current jo…

My general practice with mathematics is and Anki is to:

1) Understand the material I'm learning. 2) Put explanations of any algebraic procedures (for instance, the dot product of two vectors) as a flip card. 3) Put a single example of doing the work in a flip card.

For important proofs, I put them in Anki using Cloze deletion. I just drop in the whole proof, and knock out portions. This has been extremely effective in remembering and understanding the proofs. I also do this for geometric explanations of procedure.

This is definitely not overkill, and creates cards that you can go over really quickly. Ever since I have begun doing so, I have found that it is far easier for me to apply what I have learned, and that I can more easily understand the options that I have for finding solutions to problems, because I have all of the options available without requiring me to look over old information. It's just there.

Ever since taking Barbara Oakley's classes (Learning How to Learn and Mindshift), I have been a more productive and emotionally stable human being, and my ability to learn and understand the information that I am learning has exploded. One of the most important things I remember mentioned in that class was that memorization and understanding are actually quite tightly linked.

There are things that I have dealt with in the real world that would have been solved by math lessons that I've forgotten since I left University twenty years ago. I was never very good at studying because of anxieties and procrastination. The simple fact that I know I'm going to put information into Anki allows me to concentrate and gives me procedure no matter what I'm trying to learn, regardless of source (readings, lectures, etc.). I wish I had this ages ago.

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

#156
Over the years I've learned many many things in depth. I've worked on codebases totaling hundreds of Mlocs. Perhaps I can say a thing or two about this.

First, it takes time to develop a method that will work for you, and I won't pretend that mine will, but as that's what I know... The first time you have to do this is the hardest, but each time you'll feel like you're at the bottom of the Himalayas and have to climb to the top without help -- you might always feel a bit helpless at first, and you might have to defeat that feeling every time, and that's OK.

Second, you need to get a handle on concepts first, details later. When you deal with hundreds of millions of lines of code you just can't know enough of the details. Instead you need to know how to navigate your way around the landscape, and you need to know the general lay of the land, and key landmarks. This will help you organize the details that you must remember, and discard the ones you can refresh as needed.

Third, the ABAB pattern to dealing with prerequisites is essential: learn as much of A as you need to before you block having to learn some of a prerequisite B, then switch to B enough to get back on track to A, lather, rinse, repeat. Even establishing all the prerequisites and topologically sorting them might be ETOOHARD, and learning them all in the right order might be ETOOBORING or not good enough to build the muscle memory you need for the earlier topics.

Fourth, learn the tools early. Whether you use a proper IDE or integrate usage of a bunch of standalone tools into something like an IDE, you'll need one of them.

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

#157
- Recognize that while the jargon is often complicated, the underlying ideas are not. As you read, keep asking yourself what the basic idea of what you've learned is.

- Think about the topic yourself from first principles as you read.

"Economics is the study of how we deal with scarcity.

One approach is a market-based approach where each item has a price and whoever pays the price gets it. However, this isn't really fair towards the poor.

Another solution is a socialistic approach where everyone is given equal amounts of everything. However, this can lead to rationing.

Another solution is the government decides who gets what. It doesn't have to give everyone the same amount of everything. But this is vulnerable to corruption and also this seems like a hard problem to solve.

Another solution to scarcity would be a lottery-based approach..."

- Watch videos on a topic if you're not getting something.

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

#158
What works for me is I know a lot my weaknesses. I have a low attention span, get bored and sleepy when learning hard things. So I literally close myself off from every distraction in a quiet place, where I can also nap...read as much as I can...nap...continue, all the while taking notes, scribbling drawings etc. Its like my brain gets tired from all the new stuff, but after a nap, it sticks. Sometimes this is a slow approach as I don't pressure myself and fully accept that I will fall asleep and I accept this as ok...but I found I get the deeper comprehension out of this much more than watching or listening to a thing and it seems to store long term. This mostly applies to problems that I really don't want to learn necessarily but I know I have to go to the next level. Most things are not this way as everyday work is pretty straight forward but you'll definitely get paid more if you understanding harder stuff because most other people won't.

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

#159
For new stuff, I like to start with something I want to make using it. And a popular textbook. The first something should be useful but simple.

For electronic logic, for example, I found something I wanted to build, on a breadboard and learn from. Then I referenced the book to understand what was going on. Then I played around with the circuit ... 'what happens if I do this'. You pick up the jargon slowly this way.

A year or so later, I actually got a computer-hardware troubleshooting job offer after I destroyed their logic test. Luckily, a teaching job came along to save me from that.

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

#160
I just completed a difficult cybersecurity certification exam (OSCP) and if I had to summarize my learning path for that:

- Figure out a time where you want to become proficient in the skill by – something that balances between setting a fire under you while not being impossible to meet – then develop a weekly learning plan roughly based on that

- Learn a lot of things from many resources, instead of learning everything from a single resource. Cross-pollinate the ideas of several authors. I like to combine text books, audio books, hands-of practice with things like labs or side projects and just talking to others about what I'm learning

- Don't burn out and take a couple days off the learning path every once in a while

Post reply on HN