Ask HN: Do you recall any book or course that made a topic finally click?

804 points by curious16 ↗ HN
Sometimes it takes a book or a course (or explanation from a mentor) for a topic to finally click for you that you were struggling with for a long time.

For me, it was Stanford's EE261 course that made Fourier Transform click for me. Here is the link: https://see.stanford.edu/course/ee261

Similarly for deep learning it was fast.ai courses.

For programming it was How to Design Programs at www.htdp.org.

Your topic of choice may be anything, not necessarily CS.

514 comments

[ 3.8 ms ] story [ 354 ms ] thread
"Div, Grad, Curl, And All That: An Informal Text On Vector Calculus"

This was "optional" reading in my Undergrad Calculus class at Brown, I probably was the only student who bothered to read it, and it made most of engineering a breeze for the next 3.5 years, whether electromagnetism, fluid dynamics, etc.

I came here to see if this book made the list. I read it the summer before taking AP Physics. It made that class a breeze. Still, I'm impressed it made this list given it's not a CS book.
I'm surprised so many other people had the same experience I did! Cool!
Was going to post this as well — I read this in the middle of taking my vector calc class in college (with a terrible professor) and really had one of those "ohhhhhhh" moments where you unlock an intuitive understanding of something previously out of reach
I was about to post this then did a search...
This has helped many people I know get some "clicks" on a variety of topics:

https://betterexplained.com/

Funny... I just "discovered" by self the weirdness of negative numbers and my understanding was pretty much at par with that site explanation :D

Bookmarking it, tks.

Nicely explained but I am not sure I would rely on explanations given by someone who doesn't understand the whole picture at a superior level:

>We can prove this theorem with advanced calculus, that uses theorems I don't quite understand, but let's think through the meaning.

Obviously if you're doing anything with a computer, Patterson & Hennesy is a must-read.
In that vein, The Elements of Computing Systems: Building a Modern Computer from First Principles.

https://www.nand2tetris.org/

Yep, I did nand2tetris on Coursera and it really filled in my intuition for how computers work. It felt like a black box, going from "logic operations" to "the machinery that allows you to write a hello world function that does something", and nand2tetris filled in that gap, building up from how you can persist addressable memory, to how you have a cycle for executing instructions, to how you can have control flow work calling functions and remembering where they came from, to how high-level languages can be translated into low-level code. Very enlightening!
Computer Systems: A Programmers Perspective by Randall Bryant and others provides a perspective of the same from point of view of building software, and is especially enlightening.
After using vim for a year, I got the book "practical vim". It made everything fall into place, whole different ballgame after that.
Brent Yorgey's Introduction to Haskell: https://www.cis.upenn.edu/~cis1940/spring13/

Rudin's "Principles of Mathematical Analysis" is a brilliantly lucid introduction to the topic that takes a completely unconventional approach.

Baby Rudin greatly deserves it's hallowed place. In many ways it was the book that got me into mathematics
Fun anecdote about the first: I was working through the course and dropped into an IRC chatroom to ask for help with one of the homework assignments. Someone gave me some helpful pointers that guided me to solving the question. Only realised later that it was Yorgey himself!
Writing my firs synthesizer made calculus click. I passed my 3rd year taking it after that.
https://nedbatchelder.com/text/unipain.html

When this came out, it made all the difference in understanding things.

Ahh yes, the "unicode sandwich." A single phrase that solved ten-years of (my) wonder at why we were always doing .encode() and .decode() in Python. This after reading a dozen pieces on Unicode. Just add more until it works.

Completely understood Unicode itself on disk/on the wire, but couldn't write a proper program handling it, until then. No one until Ned (in my experience) bothered to mention it.

What helped me was using pycharm's debugger to examine the datatypes - it shows you whether something is a bytestream or a unicode string. Stepping through some functions really clarified the matter and squashed a lot of bugs.
Oh, I knew the types all right. Could even fix errors. Didn't know what to do with them, as in what-goes-where and when and most importantly why. The unicode sandwich solved all that. ;-)
Hungry Brain - Guyenet - You're not bad at 'losing weight', your body is exceptionally good at holding onto energy reserves. Managing hunger is at least as important as managing diet.

Burn - Pontzer - Similar to above, with more historical evidence

Haidt - Righteous Mind - What is wrong with the people on the "other side" - it's not about sides, it's about human nature. This is a difficult topic, don't expect easy or quick answers.

---

Not a book, just a few thoughts from my own life about burnout, anxiety and depression:

Negative emotions are Ok, they are a part of life, they are not bad by themselves. When your negative emotions pick up friends - when you get angry at yourself for being upset; when you have a negative emotion about a negative emotion, and it becomes a cyclical, persistent or recurring feeling, consider getting professional help.

I got a lot of joy out of just trying things and seeing what happened. If it succeeded or failed, I learned something. Somewhere along the way, I lost the joy of discovery. If you have lost the joy of discovery, consider changing something about your situation, and possibly getting professional help.

A lot of the things we say about mentality are descriptions of the human experience, not mechanical or causal elements in the mind. Procrastination is not a cause for delaying tasks, it is just a description of delaying tasks - it is not one thing, the same way plastic or cancer is not one thing. There are many elements and many causes, and you have to address those things, and not the procrastination.

Willpower is similar - people talk about willpower like it is a substance that is used up to motivate decisions. That is a human experience, but any particular decision has it's own motivations. If you have consistent issues with a type of decision, look into your motivations and deeply held beliefs, look into the elements of that motivation; defer judgement about yourself during this process.

These things about mentality can't be conveyed with words, your mind has to come to them on it's own, but hopefully reading this will make the ideas more available to you.

For me it was Amy Hoy and Alex Hillman’s 30x500[1].

Before I participated I struggled to see how it was possible to know there were people willing to pay for something before building it.

[1] https://30x500.com/academy/

I had a very poor model of what people meant when they spoke of divinity, god, and religion until reading the Tao Te Ching. Whenever I heard god, I just thought of sky daddy. The key is to understand that religion is a map, not the territory. All religions are essentially different paths to the same destination, mixed with varying levels of human interpretation.
What is it about that book that made it click? There's an awful lot of people who believe in sky daddy. What did they miss?
Not GP, but I have a similar experience. The Tao Te Ching presents a kind of supreme entity which is the unity underpinning all things. It questions dichotomy and difference and scarcity and control, as these things are only possible in a world of differentiated objects. We can’t always be present to this Unity because sometimes we need to eat a sandwich. But the book is a nice reminder—“hey, we all come from the same place and we’re all going to the same place.”

If you Are extremely analytical, maybe when someone says “God”, do a text replace with “the laws of physics and the initial conditions of the universe”. If what the other person is saying still makes sense, then they aren’t a sky daddy believer.

The universe doesn’t want or command, but it certainly does require and allow.

You share an incredibly tight light cone with all things on earth, living and non-living, so you can assume that your causal relationships with everything and everyone around you are highly intertwined.

Yes yes but this is a longer version of what I inferred from parent post. God is Love is The Force is 42, etc.

Instead of asking "What attracts you to this idea?", I want to ask: "What made you think it was true?"

As in what were my priors and what is the threshold I have for credence in such an idea? I don’t think it’s like that. It’s a story. A fiction. It happens to be a recursive fiction, in the sense that it makes statements about what kind of things are fiction and how we interpret fictions. You can take it or leave it.

As the original poster said, what clicked wasn’t some cosmic sense of religious belonging, just wtf people might be talking about when religious gobbledygook falls out of their mouth.

I also like The Structure of Scientific Revolutions and A Christmas Carol and We Should All Be Feminists but I don’t know that I “believe” in these stories so much as they are moving and change my outlook.

For me the fascinating thing about the Tao Te Ching is that it's not a work of philosophy, it's more like Cliff's Notes for the self-evident structure of the Universe.

(The story is that Lao Tzu (which just means "wise old man") was leaving the city never to return and a gate guard stopped him and begged him to leave behind some written wisdom. The result is the Tao Te Ching.)

For example:

    Every victory is a funeral for kin.
This is literally true: we are all related, we are all kin.

Or again, the passage on leaders:

    With the best kind of leader
    When the work is finished
    The people all say
    "We did it ourselves."
Obviously, there is a universe of wisdom on leadership compressed here into a handful of characters. All conventional ideas on leadership were summarized in the previous few verses, then completely destroyed and transcended in this verse.

And the whole book is like that. Chapter after chapter, the most intense wisdom condensed into the most evocative and inspiring verse.

- - - -

In re: thinking it's true, Like I said above, it's not describing propositions that may or may not be true, like a philosophy or a religion. There's no story in it to believe or disbelieve. There is nothing like "God is Love" or "The Force is 42". There is no "Sky Daddy" in it. It's almost like a manual in Logic, like something Smullyan would write. E.g. "The Tao that can be talked about is not the real Tao." is straight outta Gödel, eh?

Precisely. Also all the other works (philosphy/religion) have elaborate contraptions to describe what it/God/ is. TTC is the only one that starts out with it cannot be told.

No go live it.

"But the true Tao cannot be lived, and if you live the Tao, it is not the true tao."

I posit that my made-up nonsense rebuttal has as much merit as anything else in this thread.

    If the fool didn't laugh at it
    It wouldn't be the Tao
Its a pity that you feel it is some made-up nonsense and doesn't reflect the world in some way. Helps us give a different perspective on how or what things are. But that is alright, different things appeal to different people.

It doesn't matter one bit to the things/ideas whether we believe in them or not. It matters to us what we believe in.

>> "What made you think it was true?"

The Tao that can be spoken is not the eternal Tao. The name that can be named is not the eternal name.

We don't know what it is, it is only experiential. Some call it Tao, some call it God, some ... Energy. Some work against it, some work with it in a non-striving way.

When you think about it, energy underpins every single process in the universe, yet we do not know what it is or whence it came, only it's effects and transformation.

> "What made you think it was true?"

Most older religions held the "many paths" view, including Judaism. You don't get sky daddy until the Romans needed a new imperial state religion and started mixing personal cults with monotheist cults.

DDJ was honestly very very confusing book to me. And the different translations vary SO wildly that I don’t really know what to take from it.
Actually there were different veraions of DDJ throughout history. The oldest one was discovered not too long ago and is very different from the popular one.
> The key is to understand that religion is a map, not the territory. All religions are essentially different paths to the same destination, mixed with varying levels of human interpretation.

Given that a large fraction of people who self-identify as religious would vigorously disagree with this, I think this insight's of limited—though perhaps not no—utility in understanding religion.

This prompts a perhaps crazy thought: "The mind's poor ability at introspection does not invalidate the observations of another mind about about the first mind."

. o O ( Somehow the wording of that thought makes me want to re-read Gödel, Escher, Bach: An Eternal Golden Braid )

This idea is called "perennialism" and is one of the inspirations for German Idealism/New Age/hippies. It's also of course not true.
> All religions are essentially different paths to the same destination

Just to be clear, many religions and religious viewpoints would vehemently disagree with you.

The idea that all religions lead to the same place is really just one variety of religious belief. There are many others.

Reading the Tao Te Ching is great, but I'm not sure it's going to give you much insight into what Roman Catholics or Sunni Muslims are speaking of when they talk about divinity, god, and religion.

Well of course they'd vehemently disagree, they're on a different path and they believe that path goes to a different destination, while in reality necessarily all those path lead to the same destination.

A Hindu might believe they're on a path that leads to reincarnation, a Muslim might believe they're on a path that leads to heaven or hell. At the end of their path though, necessarily something real is going to happen. Whatever their different paths are, that real thing is going to be the same thing for all of us.

The Tao Te Ching might not teach the specifics of what Catholics are speaking of but it might teach what they are trying to achieve in describing their path and what they think lies at the end of it, and how that might be abstracted over many religions in a common attempt at achieving peace, stability and purpose in civilisations.

Logically speaking I do not follow. Why would it be the same? Why could it not be possible that different religious groups would have a different outcome "after living"? It's just as unprovable, no?
Yeah that's true. Though many (most?) religions believe their path/destination is the only true one, so believing there would be different outcomes for different groups would be a new religion those religions would vehemently disagree with. And of course that belief would be itself one of the possible final destinations of all the paths of which only one is true.
Out of interest, what makes you think that all religions lead to the same destination?
They all exist in a common reality. We're going somewhere no matter what we believe right?
"Maybe". And maybe we're not going anywhere.
Somewhere has never meant the same destination.
Has never meant that to whom? I don't get your point.
The Roman Catholic Church openly claims to be the one true religion, and that all other religions might have elements of the truth, but not the fullness of the Truth. So Catholicism doesn't fit into this framework.
Why would it not fit in this framework because of something they claim?
Because the framework supposes that the claims of each religion are basically the same, and Roman Catholicism explicitly rejects this.
Yes, that they reject the framework doesn't really matter does it?
Of course it does, it makes it incompatible. If one claim explicitly rejects another claim, then the two claims aren't compatible.
The claims inside the framework don't need to be compatible, they're just religions.
So none of the exclusive claims of any religion to have the full truth are true, but your personal opinion about all of them is fully true? Your arrogance is unbearable.
Um no. I am saying one of those claims might be true. I'm trying to make a logical argument about their commonality, not give a personal opinion.
I've got a similar insight from The War of Art by Steven Pressfield. The main theme of this book is creativity, and author explains why it is psychologically useful for creator to think about inspiration and help from higher beings like muses and angels.
One thing to be aware of is that different translations affect the understanding of this book to a certain degree. I do not have a recommendation for English translations, as I read it in a different language, but it is good to compare a few translations in a bookstore before buying. There are some translations that are more worried about changing the meanings, which makes it harder to read, and others that focus on comprehensibility but arguably could be more distant to the original.
"An Introduction to Functional Programming Through Lambda Calculus" by Greg Michaelson - takes you on a journey from very basic lambda calculus, to how that evolves quite naturally into an ML-like language: https://www.macs.hw.ac.uk/~greg/books/gjm.lambook88.pdf

We covered lambda calculus at university (at HW actually) and I'd played with SML/NJ and OCaml before. But seeing the lambda calculus abstractions being constructed over and over to create numbers (which I'd covered) and types and things, then finally become recognisable as ML was a real "ahaaa" moment for me.

I found graphics programming impenetrable until I found https://learnopengl.com. Going through the articles there was enough for me to feel comfortable working in all the other graphics APIs, even Vulkan.
I'm a software engineer, but these have been instrumental in my success in a way no coding book can compare to(though John Ousterhout's "A Philosophy of Software Design" would have, if it came out earlier in my life).

Personal time/task management- The classic, Getting Things Done(https://www.amazon.com/Getting-Things-Done-Stress-Free-Produ...). The power this has on people cannot be understated. Turns out that most of how life is conducted is rife with forgetfulness, decision paralysis, prioritization mistakes, and massive motivation issues. This book gives you specific workflows to cut through these in a magical way.

Personal Knowledge Management- The equally classic, How to Take Smart Notes(https://www.amazon.com/How-Take-Smart-Notes-Technique/dp/398...). Where GTD(above) does this for well-defined tasks/work, this book does it for open-ended work, giving you an amazing workflow for introducing "Thinking by Writing", which is frankly a superpower. This lets you see things your friends/colleagues simply won't, lets you deconstruct your feelings better, learn new/deeper subjects faster, and connect thoughts in a way to produce real insight.

For Product/Business Management, Gojko Adzic's "Impact Mapping"(https://www.amazon.com/Impact-Mapping-software-products-proj...) feels like it could make nearly every software team/business 10x better by just reading this book. I've personally watched as enormous portions of my life were spent on things that barely moved the needle for companies, or merely didn't keep the metric from rising. So many projects taken on faith that if you work on X, X will improve, without ever measuring, or asking if you could have accomplished that with less. The world looks insane afterward.

I second "A Philosophy of Software Design" as a great set of loose principles. Just some really good stuff to keep in mind in a succinct book. Would love for Ousterhout to write some more.
Thirded, I'm reading it now and it's a lovely book. Dense with good ideas.
What do you use for your getting things done workflow? I just started using neovim and found the neorg (https://github.com/nvim-neorg/neorg) package which has a GTD module.
Keep it simple. My inbox only contains mails that require an action at some time. If I have done this action, I immediately archive the mail. I often mail todo's to myself so I have only one place for todo's. If I have to do something on a specific time, I put it in my online agenda. I have a separate setup for work and private, that's it. This works great.
ATM I use Todoist, but I'm wildly unhappy in using it. The only reason I do is that since it's a web-based UI, I can use it from my Windows box. Most of the halfway good GTD tools are Mac-only.

I've had a project going to build my own but admittedly have been somewhat dumb/lazy about it.

I adopted GTD right before I left college, and I sometimes wonder how I ever would have managed to adapt to the explosion of tiny, attention-grabbing tasks that adult life supplies without it. Admittedly, it feels a little clunky and "enterprise-grade" in places, but the underlying principles are so rock-solid and obvious-in-hindsight it feels magical.

Plus, org-mode really helps to make the over-engineered parts more frictionless--I run my life off of org-agenda now, where creating a new project, capturing tasks for it, and refiling them as needed are only a few keystrokes away. Keeping with the theme of hyped productivity books, I also take inspiration from Deep Work to tag certain actions as being ":deep:", so that after clocking into those tasks, I can look at a clock report at the end of the day/week to understand how many hours I actually spent working on "important" stuff. It's very motivating to make that number go up!

I know not everyone feels the need to be so intentional about their productivity landscape--indeed, a lot of very naturally productive people I know explicitly /don't/. But for those of us who aren't one of those magicians, I highly recommend putting some thought into at least a bare-bones system.

Thank you for your super practical list! Going to go through all of those books over the next few months.
Sir, I have started reading The Art of Getting Things Done and boy that book is pure gold!

I've been missing it all my life! I'm on my way on getting wealthy and rich!

Julius Sumner Miller - Physics demonstrations

I had been exposed to many of these physics concepts in school. Some of the topics never really clicked for me. Revisiting these physics topics with demonstrations brought clarity to several foundational concepts. Lots of moments of realization getting to view demonstrations of concepts like Force, Mass, Acceleration, and more. Newton and Bernoulli. While included, the series is not too heavy on the math. Enchanting series to watch through.

https://www.youtube.com/playlist?list=PLjzW1w9hKBnz2i90rRoZD...

I binge watched these one night until 4 am in High School instead of working on a project.
Looks amazing thanks for the tip!
Wittgenstein's "On Certainty" helped me finally grok some major problems in philosophy. Needs a good tutor to go through it with though.
Funny that you mention another Stanford online course. I was going to say Andrew Ng's material on Coursera. Incredible educator.
https://learncodethehardway.org/python/

Was the first time programming clicked. It reminded me of most math books I have used, an explanation of the topic and then tons of problems/examples to solidify/learn the concept. Most other programming books I had used had almost no examples or practice problems. https://www.coursera.org/learn/build-a-computer for learning about how a computer worked. Again it clicked for the same reason. Examples and practice problems instead of just descriptions.

A Reddit copypasta quote did it for me: your brain is good at keeping you alive, not happy.
Can you share the copyspasta
I meant the pithy quote was exchanged, not a long copy pasta. Seems its a popular concept to Google.
I don't actually remember the title but in the early 90s I was starting on my journey as a self-taught sysadmin, mainly by being the only person at a tech startup that would work for so little money. Before then I was simply a hobbyist.

It eventually became necessary for me to start passing certification exams. As I was studying for the Windows NT 3.51 exam I bogged down in TCP-IP yet again.

Except this time something clicked. I suddenly _understood_ that the subnet mask simply delineated the addresses that were on the local network vs those that were not. It was the single most distinct feeling of illumination and understanding I had ever experienced.

I consider myself fortunate that I was given the opportunity to learn my craft and trade on the job. I have never had a mentor in IT, I have always had to grind it out myself. Remembering that feeling from that one day at the beginning has gotten me through a lot of the other sort of day we all have from time to time.

Shot in the dark -- could it have been TCP/IP Illustrated? That's a pretty well-known book from that era. I actually read it in 2014 to nail down the fundamentals of networking and it paid off handsomely (despite its age).