Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Do you recall any book or course that made a topic finally click?
804 points by curious16 on Nov 14, 2022 | hide | past | favorite | 503 comments
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.




I've been struggling with wrapping my head around asynchronous programming with callbacks, promises and async/await in JS, however I think it's finally clicking after watching these YouTube videos and creating a document where I explain these concepts as if I'm teaching them to someone else:

* Philip Roberts's What the heck is the event loop anyway? - https://www.youtube.com/watch?v=8aGhZQkoFbQ

* The Story of Asynchronous JavaScript - https://www.youtube.com/watch?v=rivBfgaEyWQ

* JavaScript Callbacks, Promises, and Async / Await Explained - https://www.youtube.com/watch?v=JRNToFh3hxU

* Async Javascript Tutorial For Beginners (Callbacks, Promises, Async Await). - https://www.youtube.com/watch?v=_8gHHBlbziw

* Jake Archibald: In The Loop - setTimeout, micro tasks, requestAnimationFrame, requestIdleCallback, - https://www.youtube.com/watch?v=cCOL7MC4Pl0

Edit... I've been rewatching these videos, reading the MDN docs, the Eloquent JavaScript book, javascript.info, blogs about the subject, etc. This further proves you shouldn't limit yourself to a single resource, and instead fill up the laguna with water from different sources if you will.


Thanks for the shout out! I'm still amazed how well that talk struck a nerve and it's a real kick seeing people getting something out of it 8 (!) years later.


That video was the first time I felt like I understood the Javscript stack. Really grateful you put that talk together.


I watched the video just recently, and almost immediately put the knowledge to use in a project. Finally the setTimeout(0)'s make sense.


Wow small world! Thanks to you for taking the time to explore this topic and putting such a great presentation together. I'd wager it's a must-watch for anyone who keeps asking "what the heck is the event loop anyway?" haha


I liked swyx's talk on React Hooks: Getting Closure on React Hooks - https://www.youtube.com/watch?v=KJP1E-Y-xyo


I wrote this one over the course of a few months that summarized everything I could think of on the topic - https://www.taniarascia.com/asynchronous-javascript-event-lo...


I've your blog bookmarked and I'll be reading it this weekend haha. Thanks for putting it together!

>Callbacks are not asynchronous by nature, but can be used for asynchronous purposes.

Glad you mention this because some people make it since like callbacks are a de-facto asynchronous-based concept. Callbacks are simply anonymous functions or lambdas that you pass to asynchronous functions so you can work with the produced values. Correct me if I'm wrong though.


Thanks! Yeah, the callback thing tripped me up when I was learning because so many articles just glossed over the whole thing so I had to dig a little deeper and play around to understand it more.


More accurately -

Callbacks are anonymous functions [or references to named functions] that you pass to asynchronous [or synchronous] functions so you can work with the produced values [or do anything else]


> creating a document where I explain these concepts as if I'm teaching them to someone else

Tangentially, that is a marvelous way to learn something. I often find that in explaining a complex topic I uncover gaps in my own understanding.


I've realized it's so easy to read or watch something and fool yourself into thinking that you know the topic.

For example, coming up with your examples helps a lot. For instance, I found most of the examples quite underwhelming and confusing so I ended up creating my own asynchronous functions to demonstrate the concepts as I go along.


The Montessori model


The event loop one was a must-watch video for anyone who write Javascript. It even secured me a job offer.


I'd argue that you cannot understand asynchronous programming in JS without knowing how the call stack in the JS engine, web APIs (provided by the browser or NodeJS as far as I know), the callback/(macro)task queue, microtask queue, and the event loop all fit together. The JS engine is a small component of that entire environment, and not being aware of it is like walking in the dark with dim candle.

The fact I didn't know about these concepts is the reason why I always struggled to understand examples involving setTimeout, setInterval, etc.

Most videos on YouTube, even from well-known personalities in the programming YouTube community, simply jump into things without context at all even when the videos are titled "for beginners". Even some books and docs simply describe the spec without providing context and motivation.

Edit... Forgot to say Philip does an outstanding job in that video. He's even humble enough to admit it took him a few months to grasp what was going on.


So glad you found The Story of Async JS helpful! Appreciate the shout-out.


Thanks for your video! After I finished watching it and going to your channel's page, all I could think about was "Wow I hit jackpot".

Funnily enough "The Story of React" started playing right after, and I didn't even notice I was listening to another video.


Commenting for later. Wish you could "favorite" comments.


You can. Click on the time for the comment. Then you can favorite it.


Wow this is well hidden. Thanks for the tip!


Yeah, it needs to be pulled out.


Yes, I found it when I noticed the empty comment favorites on my profile.


great tip! thanks!


You absolutely can. But beware: these are public.


Seems like a feature.


Yes.


> Commenting for later. Wish you could "favorite" comments.

Or, you can upvote it (comment)


I wish someone can suggest me similar links for Python. Asynchronous programming has always been elusive to me.


https://superfastpython.com/python-asyncio/ - Python Asyncio: The Complete Guide


Effective Python has a great chapter that goes over concurrency and parallelism using threads, coroutines and subprocesses. There are a lot of non-trivial code examples that the author gradually shows how to improve with more advanced language features over the course of several chapters so it's not all thrown at you at once, enabling you see benefits and pitfalls of approaching problems with different techniques. I highly suggest it even beyond learning async features.


These might help:

* Async Python in real life - https://guicommits.com/async-python-in-real-life/

* Python Concurrency: The Tricky Bits - https://python.hamel.dev/concurrency/


async programming IS hard to get your head around.

The resources you suggest are spot on.

AND, async programming will really only click when you do lots of it.

Read tons of async resources like the ones above, write lots of async code. One day you'll realise it's second nature.


Thanks a lot, I'll keep this in mind and try to write as much async code as possible.

>One day you'll realise it's second nature.

This is great but then the curse of knowledge hits you hard haha


>> write lots of async code.

> Thanks a lot, I'll keep this in mind and try to write as much async code as possible.

Only write async code if the advantages outweigh the downsides, not just by default in order to do some training for yourself. Unless it is in a hobby project where training yourself is part of the goal.


i finally got callbacks this year when i pictured someone tossing a yo-yo into an elevator going down a few random floors and rolling out. the elevator leaves but i am still yanking on that yo-yo some random floor.


This is my learning goal right now, I can’t thank you enough!


You're welcome! Rewatch Philip's video as many times as you need until the concepts sink in, before you move into learning promises and await/async [1]. Similarly for Jake Archibald's video.

Good luck!

[1]: from what I gather asynchronous programming using callbacks isn't used anymore but it might be instructive to start with it, understand the issues with it, and why promises replaced this style.


Anything for React (modern versions)?


The beta docs are really good. I just keep re-reading them, particularly "You might not need an effect", and I still keep finding nuggets that surprise me.


No because the React team changes their approach every other year anyways.


3blue1brown linear algebra + the linear algebra chapter from “all the math you missed but need to know for graduate school” - linear algebra and abstract vector spaces in general finally feel familiar.

Also, timbuktu manuscripts - showed a history that I had never really heard of. These are written manuscripts of african scholars which are hundreds of years old, and still exist today. Some record the history of great west african civilizations along with other things they studied (e.g. science, religion, math, literature, ect). I was never taught this history even existed but yet was made to learn the various details about asian, european, middle eastern, central/south american history. This, and the attempts to destroy/steal these manuscripts at various points in history, made it click how serious power of controlling information, and ultimately influencing beliefs can be, with respect to giving legitimacy to the various rulers/authorities. Beliefs/perceptions matter quite a lot. This 1hr lecture is quite good: https://m.youtube.com/watch?v=lQiqyyRfL2Y&t=16s

Behavioral biology class from Dr. Sapolsky (Sanford) - explains a lot of why we behave the way we do, from different biological perspectives https://m.youtube.com/playlist?list=PLqeYp3nxIYpF7dW7qK8OvLs...


Jeffrey Chasnov's linear algebra courses when you want to get your hands dirty. I made my first matrix inversion code after watching his videos. His videos are not code, but instead just going through and explaining process without skipping any details such that you'd understand enough to code it. He does many linear algebra examples by hand on a writing board which ends up more engaging than the typical slideshow that tends to skip the "tedious" details.

https://www.youtube.com/playlist?list=PLkZjai-2Jcxlg-Z1roB0p...


On the Timbuktu manuscripts, I found this book really fascinating. I knew about bits of the story on a very rough sense but the details about various people, and excerpts from the manuscripts made for a book I had to finish. https://www.simonandschuster.com/books/The-Bad-Ass-Librarian...

Syria’s Secret Library By Mike Thomson was suggested to me while I was reading the previous book, but I haven't made time to read it just yet.


Thanks for sharing, I’ll have to check these out.


If it weren't for those Sapolsky lectures I would have never become intellectually curious. Beautiful lectures from a beautiful mind.


The E-Myth Revisited: Why Most Small Businesses Don't Work and What to Do About It (Michael E. Gerber)

What it taught me is that effective organizations invest heavily in training newcomers how to do their jobs / processes. I see this everywhere; when I walk into a business and something's "just off," it's almost always because management is dropping the ball on training newcomers how to do their jobs.

In my specific case, I was having trouble getting good bug reports, and my teammates were struggling with poorly written tickets. I had to take the time to explain what the process was for handing off work from QA to developers. Things moved much more smoothly after that. (IE, I had to explain that all tickets needed steps to reproduce, except in very specific circumstances.)

https://www.amazon.com/Myth-Revisited-Small-Businesses-About...


My first question for recruiters is always about how a company trains/mentors employees. I have gotten maybe 5 good responses out of the 100's of times I've asked that question.

It's shocking to me. Every employee you hire is going to have to be trained on SOMETHING that is new to them or specific to your company. Why dont companies spend more time developing onboarding and training programs that actually work?


Because companies prefer offloading the cost of education onto society but then endlessly complain on how formation is too broad, that is not catered specifically to their needs while not be willing to pay for it. Ok I (hope I am) exaggerating but there seems to be something like that going on in my country


While your question itself is good, it's unfortunately quite likely that the recruiters won't actually know the answer. So their answer isn't a good signal.

Separately, in larger companies, there will be significant variance between the onboarding process of teams/orgs.


Sure. Recruiters wont know the answers to a lot of questions. Especially things that are not talked about often or focused on at the company. If a company is proud of their internal training program they would highlight that to potential employees and anything a recruiter can use to sell the company they will.

It's true that a recruiter might not know about a companies training program and that program may exist and actually be good. But its much more likely they wont know because one either doesnt exist or isnt formalized at all and isnt a focus for the company.


Do you have any tips or guides for creating good training programs? I find it challenging to think from a newcomer point of view and I significantly underestimate their challenges. Consequently I feel the learning curve I set for the team is either too steep or too shallow.

This happens to me irrespective of whether I went through the painful learning curve just recently or several years in the past. Once I am comfortable with a topic, I cannot approach it from a newcomers perspective.

So I think having a systematic approach to KT and training will help.


One issue I've seen is: assign the job to someone with experience as a instructor/mentor.

A friend recently told me the story of a very predictable train wreck at his company... management knew he had the background to do a good job with the training, but that wasn't the priority I guess.

End result estimated to be ~3 person years wasted because of a lack of good training/process onboarding/mentoring. The newcomers weren't incompetent, but they needed more than they got.


That is incredibly common. The company will write it off as the employees fault when often more support early on could save both sides a lot of issues.


what counts to you as a good response?


"Hey! Yeah we actually have a 4 week 'bootcamp' that all our new hires swe go through that covers some of the basics of the technology we use, like (name xyz tech), and how we do sprint planning yada yada. You'll also complete a small project with your 'bootcamp' partners in week 4 before being onboarded to your new team."

That is probably the best that I've seen.

Also at a smaller company something like:

"The first week all new hires go through insert specific industry training so you have a good understanding of the lingo and terminology we use here. This will also help you understand our business better and how your work impacts that. After that you will be paired with a mentor, separate from your actual manager, who can help answer any questions as the get up and running."

Even if all of that is nonsense and a waste of time it shows that a company cares and is trying and thinking about onboarding and training. Most companies are not, or at least are not in any formalized way.


100% agree with this... it's very strange. The younger the business I've worked at, the more they assume incoming talent has the skills. And its exactly the opposite.


You can't train people if you don't standardize first! This could be as simple as deciding what elements a big report should contain, or as complex as a multi-page standard operating procedure (SOP) for a knarly process.


I think the problem is that most people managing organizations don't see the value in processes.


It's a cultural thing. I've seen it in California companies, but not in Massachusetts companies. (In MA, people will talk about SOPs all the time.)

> In my specific case, I was having trouble getting good bug reports,

I just had to avoid the word "process."

What I've also observed is that some people in the startup scene think processes are restrictive. That's usually a sign of a company / leader that's too immature to effectively manage through high growth. (You can't have exponential startup growth without processes.)


No book. Just one course.

I was a rather humble support guy for COBOL applications, so I had to learn COBOL, which I did.

I was sent by my manager for a one-off, three-day "advanced COBOL" course.

It wasn't about advanced COBOL; it was an advanced course on the seven-pass Burroughs COBOL compiler. Memory was short in those days, hence the seven passes; intermediate results were files on disk. We learned that by nulling the executable for a chosen pass, we could hack the intermediate files, to do things COBOL programs weren't supposed to do, like calling OS functions.

I learned how parsers work, and how parse trees are represented. I learned about intermediate code, optimisers, interpreters, and code generators. I got interested in compilers, and wrote a source-level debugger. It was just a three-day course, but it was incredibly valuable to me. Perhaps life-changing.

Perhaps it's not so much that that course made something click that wasn't clicking for me; rather, it inspired an interest in me that simply wasn't there before.

As I said this was a one-off course. There was about seven of us, and I don't believe anyone else ever received that training.


1. Peter Norvig's Design of Computer Programs course on Udacity probably singlehandedly changed my perspective on thinking and modeling software solutions to problems.

https://www.udacity.com/course/design-of-computer-programs--...

2. Crafting Interpreters by Robert Nystrom is of similar quality. There are a lot of 'oh that's how that works' moments in this book.

https://craftinginterpreters.com/

3. Doyle Brunson's Super System 2 is of a similar nature, but for poker. It's outdated these days because the nature of the game has changed so much due to the internet and a shift in meta strategy, but it's really insightful in understanding the human aspects of the game. His perspective as a 'gambler' rather than poker player is also unique, because he talks a lot about prop bets and identifying when you have an edge in a bet.

4. Stephen King's "On Writing" is a masterpiece of a memoir of a man and his craft. My own writing improved significantly as a result of this book.


If you liked Stephen King's "On Writing", give William Zinsser's "On Writing Well" a read. It's not a memoir but more like a manual addressing different types of writing from corporate writing to sports to academic.


If you liked William Zinsser's "On Writing Well", give Joseph M. William's "Style: Toward Clarity and Grace" a read.


I'll check it out. Thanks for the recc.


+1 Peter Norvig's class. His approach is totally fascinating and the way he effortlessly translates common-thinking and logic into a program is pure magic to me. Highly recommend it and also checkout his notebooks, unparalleled beauty: https://github.com/norvig/pytudes


I am reading Crafting Interpreters right now. It seems to be a solid book but I am curious how others read it?

Do you reproduce all, or most, the code yourself? That’d be a great way to make everything stick but makes progress terribly slow.


I'm in the process of reading Part II (the Java interpreter) thoroughly on the toilet, then will implement Part III (the C bytecode interpreter) in Zig. That way I understand the concepts well but end up with something a bit nicer for my efforts. I know I wouldn't finish the bytecode interpreter if I did both parts fully.


My approach was to port everything to a different language I was learning.


Same as others. I took it as an opportunity to work with Rust and enjoyed it a ton! Crafting Interpreters has been ported to any language you can think of so try that approach out!


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 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.


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.


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!


Thank you for your super practical list! Going to go through all of those books over the next few months.


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.


"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...


Gilbert Strang's lectures on Linear Algebra: https://ocw.mit.edu/courses/18-06-linear-algebra-spring-2010...

LinAlg was the only maths course I needed in my interdisciplinary study program. I had struggled to grasp maths in high school, but these lectures really made it click for me and I passed my university's class with a B+.


Similar to that one, he also teaches a more recent course geared for applications of linear algebra: Matrix Methods In Data Analysis, Signal Processing, And Machine Learning

https://ocw.mit.edu/courses/18-065-matrix-methods-in-data-an...


I used this to get up to speed when taking Machine Learning grad courses, having never took a Linear Algebra course in high school or undergrad.

Along with the wonderful MIT videos! Just a man and a chalkboard, explaining the core insights and relationships behind linear algebra concepts.


The first couple of lectures _alone_ are incredible to really grok raw matrix multiplication.

I found the rest of the lectures a bit less of an epiphany, I think he meanders sometimes too much, but that’s a personal note. The whole series is absolutely incredible.


When I was an undergrad math major, linear algebra was one of those general foundations math classes that students from all the science majors were in. Because of that they had to teach a lot of sections of it, and that meant grad students lecturing it. The class was kind of a mess, but luckily professor Strang had these lectures up online even back then (2003 probably). Who knows how I would have done in that class without them, they really saved me at the time.

I should revisit them, I remember them being great!


I watched these lectures as a refresher many years after graduating and found them amazing.


"Basic Economics" by Thomas Sowell. Helped me gain a more intuitive understanding of economics. On a side note, the man is a machine. He's been writing close to a book a year since the age of 80 (he's 92 now).


Incredible summarization on the topic. Chewed through this during Covid and gave me a new appreciation for the high-level implementations of economic concepts in society. Second-order thinking is a crucial skill in economics, and Sowell makes it clear that incentives drive everything. Most notably, incentives must actually encourage behavior that they were designed to implement, not 'promise' they will, something government and politicians fail to grasp even today (e.g. rent control, stimulus, etc.)


I've read the book partially (which reminds me I need to pick it up and finish it) and it's amazing yet frightening to realize how naive I am when it comes to economics. I like his arguments about how politicians use people's naivety and ignorance to peddle policies that aren't possible if we're to believe that economics is about "scarce resources with alternative uses".

In my book, Sowell is a national treasure.


His book "Race and Culture: A World View" was an eye opener. After being very politically naïve for many years, my reading of this book changed how I view economic, regulatory, and political consequences.


While slogging through an economics course in college I was frustrated that there were not teaching me anything. Then I discovered Sowell and Friedman and started watching every video I could find. Such a relief.

I just did what they wanted me to do for the rest of the economics courses but basically just ignored it all. No one in academia or the media wants to hear what Sowell and Friedman have to say. I should have been made aware of these guys and been assigned books and videos from them on day one.


I majored in econ. Friedman is as mainstream as it gets. Not sure why your econ courses ignored the guy. He made quite a few appearances in my 200 and 300 level courses.


Yep, even Fed Chair Bernanke was lauding him:

"I would like to say to Milton and Anna: Regarding the Great Depression. You're right, we did it. We're very sorry. But thanks to you, we won't do it again."

https://www.federalreserve.gov/boarddocs/speeches/2002/20021...


They did it again


Economics: The User's Guide by Ha-Joon Chang is a must read for everybody who wants to get started in this subject.


I started to read this book but it seems to be full of political bile. How does it compare to Economics in One Lesson?


Can you give an example of "political bile"? Sowell is an incredibly even-keeled writer, and I'm surprised someone would find the book angry (or political, other than believing in traditional economics).


"Political Bile" = things I don't agree with.


I dunno—another if-anything-even-more-right-wing economist seems to be the poster's point of comparison, so I too am curious what rubbed them the wrong way about Sowell. I certainly get a right-wing tone from the preface and first few pages of this book—I'm hoping later chapters will moderate the "if you're not maximizing economic utility you're definitely screwing up and must just be too stupid to realize it because there can't possibly be a good reason" subtext, and it just seems so strong at the beginning because he's trying to present the very-basics without nuance at this point, but I can't see that striking a Hazlitt fan as anything but a point in its favor.


[flagged]


Jesus, the constant martyrdom being spewed on this site is nauseating.

Sowell isn't tucked away; the book under discussion is famous and known by pretty much all economists in the US.


he seems to have a lot of antagonistic partisan talking points https://www.brainyquote.com/search_results?q=thomas+sowell


It's "political" because when you start to actually understand how various incentives motivate human economic behavior, "if you subsidize more of A you get more of B", it shines an uncomfortable light on the consequences on many policy choices.


A former Marxist that is now an ardent Republican. Pretty er...interesting political jump.


I recommend reading everything by Thomas Sowell. A true original thinker.


That guy is amazing.


On a completely different topic: After watching my first marriage degenerate and my wife asked me to move out, I was fairly well mystified about what was going on. We'd read lots of books about marriage and communication, planned for it to be tough, intended to see it through... so what happened?

"The Seven Principles for Making Marriage Work" by John Gottman was a book that I read after we'd separated that first started to make sense of the dynamics of my first marriage, and what caused it to spiral out of control. Unfortunately by that point it was basically too late (as the book predicted, actually); but it certainly helped a lot in my second marriage, and has helped make sense of the dynamics of a lot of other relationships as well. Definitely recommended reading.


What Makes Love Last is really a good one too. Helped me to really understand that love is about trust and what that meant. John Gottman is a treasure.


What was the problem you learned that caused the first marriage to spiral?


The key was that it's not just one thing, but interlocking self-reinforcing things. (There's another book of his, "The Mathematics of Marriage", targeted at academics, where he actually models a bunch of things as mathematical equations.)

The core idea is what he calls "sentiment override" -- positive sentiment override, and negative sentiment override. Basically, your experience of someone is modified by your attitude towards them. When you have a positive attitude towards someone, negative things get diminished, neutral things become mildly positive, and positive things become very positive. Whereas, when you have a negative attitude towards someone, then positive things get diminished, neutral things become negative, and negative things become massively negative. And it should be clear that these are self-reinforcing: If your relationship is in a "positive sentiment override" state, where neutral things become mildly positive and negative things are diminished, then it's easy to stay in that state. Whereas, if your relationship is in a "negative sentiment override state", where positive things are diminished and negative things are magnified, it's really tough to dig yourself out of.

So he's got a set of warning signs he calls "the Four Horsemen of the Apocalypse", which are indicative of problem marriages: Criticism[1], Contempt, Defensiveness, and Stonewalling. He said that when couple exhibits all four of those when discussing a contentious topic, there's a 95% chance they'll be divorced in 5 years. (And indeed, by the time I'd read the book, all of those were deeply embedded in our communications; about best we could hope for from any conversation was to avoid having it turn bad.)

[1] He has a particular definition of "criticism" which is similar to but not a 1-1 match with the way it's commonly used.

And he's got a bunch of things to do to strengthen your "positive sentiment", to keep you on the positive side rather than the negative side.

And all of this comes from studying loads of marriages -- both healthy and not -- and seeing what made the difference.

Hopefully that's whet your appetite enough to go take a look at the book yourself. :-)


'Mating in Captivity' by Esther Perel is also quite good in terms of realizing whether you can meet the Needs of your partner and what to do if you cant.


His book presents very reasonable advice but his statistics are made-up. Doesn't mean it's not a valuable book but can be a bit annoying for people who care about being accurate.

https://slatestarcodex.com/2020/02/27/book-review-the-seven-...


"Made up" is too strong. "Misapplied in a way that makes some people suspect willfulness rather than error", perhaps.


- Feynmans Lectures (Physics)

- The Selfish Gene (Evolution)

- 3blue1brown (Maths)

- Primer (Evolution simulations) [https://www.youtube.com/c/PrimerLearning]

- W2AEW's Back to the Basics electronics tutorials [https://www.youtube.com/playlist?list=PLkd_RnSvfYAjSHPGBvA-K...]

- Jonathan Clayden's Organic Chemistry (I hate orgchem. This is one of the few books I can stand.)

- Many more I can't recall now.


Another on evolution, "The Ancestor's Take", also by Richard Dawkins. I really recommend the audiobook narrated by Richard and his ex-wife Lalla Ward. It's amazing.


3blue1brown linear algrebra is on my list.


Wavelet transform. This video by Artem Kirsanov made it click immediately, to the point I could implement it in Python right after watching the video: https://www.youtube.com/watch?v=jnxqHcObNK4.

For the uninitiated, wavlet transform is basically Fourier transform on steroids. Not only does it tell you what frequencies are present in a signal, it also tells you when they are present giving you a time vs. frequency plot (similar to short-time Fourier transform). Of course there is a limit to how well you can know both at the same time (just like the Heisenberg uncertainty principle actually!), but it's a very useful tool for studying signals. In my specific case, I was analyzing signals from a pulse oximeter in order to extract the breathing rate from them (https://dl.acm.org/doi/fullHtml/10.1145/3460238.3460254), but it has applications in many other fields such as image processing and compression.


How much of a topic clicking is just reading from several different sources, rather than one source being particularly "good"? I often joke with a coworker that we don't fully understand a topic until we have read several textbooks/papers on it. It doesn't really matter how good any one text is. I've always wondered what the mechanism is for this. Is is just a certain amount of exposure to a topic? Or is there truly something different enough about the way different authors present material that once you have read from a few, things connect differently?

That being said, how many people are citing specific sources, when it was really just additional exposure to a topic that helped something "click"?


There is a joke in physics that the best textbook on any topic is the third one you read.


I'd imagine this is very similar to why you have to tell someone something 3 times, 3 different ways for them to understand it.


Came here to say this. Often I give too much credit to the "last" source, but it's a bit like "your keys are always in the last place you look".

You definitely get good sources and bad ones, and discovering a good one after weeks or months of wrestling with bad ones is hugely satisfying, but sometimes the journey really is the destination.


It's just focused practice. Something about the brain requires frequent breaks but with repeated focused practice it seems to reach almost an autopilot like ability.


Also called "syntopical reading" in https://en.wikipedia.org/wiki/How_to_Read_a_Book.


Andrew Ng's machine learning course on Coursera from almost 10 years changed the trajectory of my entire career.

https://www.coursera.org/specializations/machine-learning-in...

Statistical rethinking by Richard McElreath also helped me to understand bayesian analysis and simulation -- possibly the best hands on bayesian analysis book for beginners

https://xcelab.net/rm/statistical-rethinking/

edit: added links


Would you recommend his original Coursera course or his new course here: https://www.deeplearning.ai/courses/machine-learning-special...?

> Statistical rethinking by Richard McElreath

Thank you for that reference! I'm definitely going to check it out.

If you are able and want to, are you able to elaborate on how you changed the trajectory of your career? I'm a software engineer who was originally wanting to be a mathematician, so I've always been wanting to get back to something a bit more analytical and quantitative.


> If you are able and want to, are you able to elaborate on how you changed the trajectory of your career?

I was in data analytics at a health insurance company in more of a BI and data pulling role. Taking his course gave me the confidence to start doing more machine learning related projects in my company eventually becoming the first person in the company to be called "Data Scientist" after developing multiple models that were making an impact on the business.

edit: answer original question


I would do the first and classic one on Coursera first and then newer deep learning. The original one gives you better grounding in basic ML stuff that is not as "sexy" these days but is still fundamental and used for solving many problems.

I was in a similar boat but on the analytics side wrt to maths. I also took courses at a local university in Math to build up my knowledge. Learning pure math at the college level, like learning to do proofs in front of people on a chalkboard -- I think is very difficult to do unless you take it in the context of a class.

I think you should still give it a go, it's never too late!

edit: answer original question


That course was absolute trash from my perspective - nothing clicked. I am not sure why it's so highly praised, despite covering fundamentals. Pacing and everything was off, and this is from someone with a ton of coding experience and stats background.


I had a real "click" moment with Statistic Rethinking (2nd Edition) too! I never really "got" Bayes' Theorem before (could use it to solve homework problems and stuff but never appreciated it) but somewhere in SR Chapter 2 the whole point of it really snapped into focus. Good book!


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.


Bartosz Ciechanowski: https://ciechanow.ski/

I especially loved the one on mechanical watches: https://ciechanow.ski/mechanical-watch/


The mechanical watch article / walkthrough is one of my favorite finds on HN. Really great design and explanations, both visually and conceptually. I’ve shown it to several people because it’s that cool


It’s probably not in the spirit of your question and is admittedly a bit tangential but during the five years I seriously studied maths, I realised that sometimes something which seemed obscure or that I poorly understood during a course years ago would suddenly fall into place all at once semi-randomly while coming back to it for a more advanced or an adjacent subject.

I think that sometimes you just need time to properly digest a subject. The pieces are there unbeknown to you but you are somehow saturated and unable to properly connect them.


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.


> 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.


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?"


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.


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.


    If the fool didn't laugh at it
    It wouldn't be the Tao


> "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.


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.


>> "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.


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.


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.


> 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.


I know this is a little out of left field but I couldn't understand why anyone was Atheist until I read The Demon Haunted World by Carl Sagan... quickly followed by The Selfish Gene by Richard Dawkins. Those two books together crystallized in me what it could mean to have a world view absent of supernatural forces.


I personally have an enormous debt from my perception of the world to Cosmos by Carl Sagan.

It's not simply a world view absent of supernatural forces. Yes, it is that, but at the same time it is much more.

It's a world of discovery. It's a world of curiosity. It's a world of wonder and imagination. It's a world of exploration.

And the way to properly search for questions is first to stop pretending we already have all the answers, like religion does. I find almost every religious comment and answer so... reductionistic, so simplistic, so pompous, so pretentious, it kind of kills the mood of discovery and curiosity.


Being somewhat skeptic myself in my younger years and coming closer to God through my relationship with my girlfriend (who isn't even a believer herself)... I just recently came up with a hypothesis why so many Math and CS people were famously Atheist.

I grew closer to God through just observing the natural world, and my natural relationship (affection, friendship, etc.).

My hypothesis is that so many of these (incredibly genius, and logical) people maybe dug a little too deep into man-made reality. Numbers, computers, etc. Everything that goes through a processor is the result of a human invention. It's easy to think you are God, or at the very least, see YOUR creation and totally discredit and influence of God as a result. However if you just look away from the pixels or numbers for a second. The seemingly random, yet beautiful grain, in wood. Or the way tree leaves rustle in the wind.. etc etc, you can see an immense beauty and goodness, not possible without a divine, all-giving power.

No malice on my end towards Atheists, just my opinion (faith) <3


> The seemingly random, yet beautiful grain, in wood. Or the way tree leaves rustle in the wind.. etc etc, you can see an immense beauty and goodness, not possible without a divine, all-giving power.

That is quite the statement on the nature of reality, yet it’s entirely based on personal opinion. You don’t know from observation if the “beauty and goodness” of the world is impossible without a divine power, you choose to believe so.

I also pay close attention to the natural world and my relationships, yet don’t feel the slightest inclination to believe in a higher power. If anything, I share Richard Feynman’s view that being analytical about the world makes its beauty shine more, not less: https://www.youtube.com/watch?v=ZbFM3rn4ldo


> not possible without a divine, all-giving power.

I would say the atheist view is actually the same as yours with the exception that "god" isn't a man in the sky.

The way I see religion is as a coping mechanism for dealing with emotion.

When things get hard or tough who can you turn to? What can help ease emotional pain, give you hope when there is none or look out for you when noone else will?

It's simple, let's create an imaginary figure that always has your best interest at heart => God.

Let's now utilise this to help drive the behaviours we want in our tribe => Religious scripture / Church.

Personally I find it much more satisfying to simply admit that we don't know what's out there. Noone on earth has the answers because we're still learning, and we're also stuck in our bubble which we call the universe. Death is just a part of life and a way to recycle our bodies, we're not all that special and that's OK.

Anyone that finds it emotionally helpful to believe in fairytales is free to do so, but I feel like you're missing something even more magical if you can bring yourself to search for it, which is reality itself.


Mathematicians I personally know well are stoutly religious. They describe the world of number and form and structure with the same kind of language the clergy describe God, and so there is some sense in which these are felt as aspects of the same thing.

I also know a number of engineers who are deeply religious, perhaps encouraged by recognizing "design" in nature, seemingly requiring a designer.

In my conversations with these people, their faith, while socially speaking is Christian, the specifics have hardly anything to do with traditional or orthodox theology. It's, as I perceive this, the only acceptable social structure available to them to live out these deep feelings of beauty and harmony in community.


I always found Donald Knuth’s professed Christianity somewhat curious. Then I watched a small bit of his interview with Lex Fridman, and happened to catch the part where he speculates that maybe God is a big computer. So, OK.


Knuth had serious doubts in his college days, but ultimately decided it was "OK to believe in something unprovable." Which to me speaks to his humility.


> where he speculates that maybe God is a big computer.

I cringe at phrases like that. It's empty theologically and technologically. It represents a complete inability in imagining what God could be, and a naive, childish pride in our little creations, these computers. While in his internal driven world view it might make sense, to me it has no more or less truth than "maybe God is a big steam engine"


Please don’t judge DEK based on my hasty summary; check out the interview for the context. My only point was that the Christianity in the head of someone like Knuth is probably a bit more fluid and creative than whatever’s in the heads of the people who come to your door on Sunday morning to save your soul.


Yeah - indeed I probably was a little hasty and uncharitable. I have a ton of respect for Knuth both as a computer scientist and as a religious believer. I will try to look up the interview, because I am curious to get the context around the quote.


> It represents a complete inability in imagining what God could be, and a naive, childish pride in our little creations [...]

Aren't all religious statements just like that?


Hey, nice comment, just offering the opposite view here: Disagreeing with faith is the point for many of us atheists, not out of arrogance about knowing the truth about the world, but skepticism about what it means to know a thing for certain, and how far away we are from that certainty.


Others find belief in the “goodness” of a supernatural creator impossible because of their knowledge of the natural world:

https://www.goodreads.com/quotes/494183-i-don-t-know-why-we-...


And here I am thinking the exact opposite. I think that religion comes from the experience of man made reality, and it is very limited precisely because of that.

The mandate of 'controlling the creation'. The parent-child relationship with the deity. The excessive focus on sexual and parental relationships between humans. All these are human activities, and religion seems to care too much about humans and too little about the rest of the species living on the planet.

Reality is different from religion. It is indifferent to us. Any meaning is just some myth in our heads to try and explain it.


I am still in awe at what time and nature is capable of producing and whenever I look at beauty or get contemplative and just take in what is in my surroundings. It's just that there are really great explanations for all of it without requiring the supernatural.

I bet you anything that you read those 2 books back to back and it will shake the foundation of your worldview to the core... of course that's if you actually feel like it can be challenged.


> The seemingly random, yet beautiful grain, in wood.

Fractals, my friend.


Which God ? As someone who grew up with the choice of believe or not believe, one of the reason that I stayed atheist was because there was no religion that looks more right than any of the other dozen ones (and thousands when we count branches)


I choose atheism when 16 and rediscovered religion at 35. How? whats the difference between a religion and believing in atheism, psychology, social science? in this sense i overcame atheism and started looking at the interesting concepts of religions, introduced geografically and sequentially in time. naturally i decided to dig deeper in my cultures religion at hand instead of idealising the grass is greener far away. my conclusion is that sciences and religions is just a approach to understand and model the world. it would be stupid to ignore the knowledge embeeded in both and there are wrong conclusions embedded that are not easy to identify in both. maybe it seems easier to identify them with! science but still social "science" nowadays seems to me not much more like a new cult trying new approaches challenging thousand year old cults and knowledge embedded in their religion. Like a kid who challenges the parents. In the end it's a natural selection process that will decide what knowledge / models survive through time. Isn't it a beautiful creation process. No need to condemn either approach. The Bible teaches, you shouldnt use gods name in vain. Exodus 20:7. Isnt it true for science, too?


Most of the great mathematicians were religious. As to why is that, we can only speculate. I personally think that while exploring the beautiful worlds of numbers they discovered order and perfection and that got them thinking about Divinity.


I think it's because they hadn't heard of evolution or big bang theory yet. There are probably way less religious scientist today than there were in the previous centuries.


> Those two books together crystallized in me what it could mean to have a world view absent of supernatural forces.

Could you elaborate on this? I don't consider myself religious or atheistic, and in general, I think religion and science are fundamentally two different things. Although, science in practice and as a human social structure can behave as a sort of religion, whether scientists want to believe that or not. (see Feyerabend). There is also spirituality, which is distinct from religion. A religion is often more of a social structure than it is a belief system.

To me, getting an answer to the existence or non-existence of a god or gods is would be as meaningless as an answer to what created the universe. Both answers, if even possible, would be about as meaningful as "it's turtles all the way down", because I don't see any end to the line of questioning of "so what came before?".


> Both answers, if even possible, would be about as meaningful as "it's turtles all the way down", because I don't see any end to the line of questioning of "so what came before?".

The Biblical view is that God has always been. There never was a "before". And there is no "cause", either - you can't really have a cause without a "before".


As a companion to this, I grew up somewhat militantly Atheist (and consumed Dawkins like skittles), and had a very hard time accepting faith in a reasonably way until I read Maps of Meaning: The Architecture of Belief by Jordan Peterson. I know he's unfortunately become quite the provocateur, but that first book is worth a read, and crystallized to me what it could mean to have a world view with a supernatural force.


I was in the same position until I came across his series "The psychological significance of Biblical stories".

It made me realize that viewing the world through a narrative structure was far more interesting than the materialist portrayal of the New atheists.


the point is that both perspectives are important and helpfull. you shouldnt ignore either side. however destructive behavior can evolve from both.


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...


He used to be the spokesman for Cadbury.

https://www.youtube.com/watch?v=PwBceIbh5qc

He also shocked himself doing an experiment:

https://www.youtube.com/watch?v=mkocaEcx26c


I binge watched these one night until 4 am in High School instead of working on a project.


Looks amazing thanks for the tip!


Weird one, "How to talk to anyone" by Leil Lowndes, bought because someone else recommended, no idea about the scientific merit of anything in it. It helped me not just make sense of how to navigate social situations, but also how to view them as a game that can be played strategically if you need a particular outcome.

The books "Superforecasting" and "Think again" helped me nail down when and why people (myself included) make mistakes and I think it helped me prevent making mistakes or recognize mistakes others are about to make better.


"The Way of Zen" by Alan Watts.

In its first chapter there's the best and only compelling argument I've ever read in favour of spirituality and why people believe in God. Even an ultra-atheist like me finally got why people have faith. There are obvious blind spots in science and logic that can't be explained away with more theorems.

If logic is pointed thought, it's good to recognize there's some things that can only be seen by unfocusing your mind. Some shadows only appear in your peripheral vision.


Perhap similarly, on an arduous journey to better my mental health and character I have found much to learn with paradoxical situations arising in zen koans. A good book with plenty of koans was Mumonkan/Gateless gate, in a compilation like this: https://www.goodreads.com/book/show/593516.Two_Zen_Classics They've been helpful as a reinforcement (and contrast) to more logical things, as well as therapies (DBT, CBT).


Thanks for the recommendation.

I really want to get into Zen Buddhism (as a form of spirituality that meshes better with my atheism), but after that first chapter the Alan Watts book becomes pretty dense and I need serious time and dedication to unpack its arguments. I probably need something easier to digest.


I'm an atheist like you, and there is one book that clicked for me: "The Heart of the Buddha's Teaching" by Thich Nhat Hanh.

It has an excellent part about "rebirth", illustrated by waves and water. I now look at the world through different eyes. That is to say, I'm still atheist, love science, and that book never conflicts with reality. But I admit I was wrong on how I saw the world, and now I see it differently.

Zen Buddhism for me is a different way on how to look at the world.


As a recommendation, I found Alan Watts' "You're It" much easier to digest and come back to multiple times. It really can be considered as a Zen way of thinking, whether you are religious, spiritual, or atheistic. Alan Watts also tends to leave judgment aside, which is helpful when coming at his works with different (or no) specific beliefs.


I found "Real Zen for real life" by Bret W. Davis pretty approachable.

It's from The Great Courses, but also available as audiobook on Audible.

BTW he also recommends the same book (gateless gate + blue cliff records, same translation) as the parent poster.


When I took Trigonometry in high school, it was all about memorizing a bunch of stuff and I did horribly. When I took it in college, the professor taught us how to derive everything based on the Unit Circle. It just clicked. I ended up doing so well in that class that the professor got me to change my major to mathematics and got me a scholarship too.


I ctrl-f'ed for this one. First exposure was SOHCAHTOA and memorization without building intuition. I struggled and had no real understanding. Two years later a physics teacher draws a unit circle with sine and cosine marked out as an incidental explanation for something else, and 2 years of frustration suddenly clicked. Gave me huge appreciation for the power of a good explanation.


I remember reading 'The C programming language' (in the train, I even remember that) and when pointers really 'clicked' in my mind - it was when I realized that (*struct).member is the same as struct->member (I don't remember the exact page but it was one of the paragraphs on pointer syntax quite early on). Weird detail now that I think back about it after programming C++ for over 20 years, but that was just one of those moments for me.


I recently learned calculus from the Herb Gross series from 1974. The way he explains things just clicked, after numerous failed attempts to learn from other sources.

https://www.youtube.com/watch?v=MFRWDuduuSw&list=PL3B08AE665...


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.


"All of statistics" by Larry Wasserman. I took a bunch of courses that taught stats as a bunch of independent tools for different problems. AOS helped me to build some a strong foundation.

"Fundamental university physics Volume 1: Mechanics" by Alonso and Finn. This book seems to be not very well known in the USA, but it is very popular in Spanish and Portuguese speaking countries. It is your classical introductory physics/mechanics course with a very high emphasis on calculus.

"Computational partial differential equations" by Hans Peter Langtagen. A book on numerical methods for solutions of PDEs. It has the right amount of rigour (so you are able to tackle the literature), but it also includes code and plenty of practical advice.

"Nonlinear dynamics and chaos" by Strogatz. I think this book is really well known and I can't add much.


For me, even though I had a superficial understanding of git, it was finally after going through the first few chapters of the Pro Git book that things finally clicked, and I literally sat there wondering how I managed to code anything at all without using git for years.

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

I already have over 4 years of professional software engineering experience (mostly backend web development). And before that I've been coding as a hobby for like 8 years prior to that. I'm pretty good with C, python, and PHP, though I'm familiar with plenty of other languages. I also know a little bit of Haskell.

For a person like me, is HTDP worth it? I had started with it previously but I found it a little boring. But I know the book is well regarded so I'm wondering if I should take another shot at it.


It is very hard to make sense of git's interface and commands unless you have an idea how it works under the hood. The book explains it excellently.


I have over 20 years of experience with programming and I happily use Git without knowing how it works under the hood. It's not that I don't care how it works but I haven't had the time to learn about Git internals. Simple things like branching, merging, solving conflicts, push, pull, stash, reverting commits, pulling an older commit, blame and history are all I needed.


If you have extensive experience in programming you may try out SICP if you find HtDP too slow.


Thanks! All these years I've heard people saying SICP is a steep hill to climb.

Anyway, I think I'll purchase the book and see how it goes.


You can view the lectures here: https://www.youtube.com/playlist?list=PLE18841CABEA24090

Both the book and the lectures are important!


Strangely enough, I took a whole degree in mathematics, and never felt comfortable with the epsilon-delta proofs for limits. It was only by reading Everything and More a Compact History of Infinity, by, of all people, David Foster Wallace that I understood the motivation behind it!

He explains how the ideas of infinity were developed, and which paradoxes and absurdities forced 19th century mathematicians like Cauchy to put the whole thing on a more rigorous footing.


As a software engineer, I was alway curious about how computers really work on electronics level and how code gets compiled and assembled and finally executed by the machine. I followed the free courses from Ben Eater about building a 8-bit computer from scratch https://eater.net/8bit and building a computer using the 6502 cpu https://eater.net/6502. Following these 2 courses made 4 topics click.


You might also find it interesting to implement a CPU on an fpga, a double win if you’ve never programmed an fpga before. For me it helped soldify exactly how a basic cpu works. In uni we had to do this for MIPS architecture with 5 state pipeline. The project was similar to [1] we also used the same book “ Computer Organization and Design”. You end up making your own assembly language in the process too.

[1] https://github.com/valar1234/MIPS


Ditto here, 25 year career in software before I got curious about hardware-level computing and Ben Eater’s stuff was just so well done and enlightening.


I enrolled in Statistics during undergrad several times, dropping out each time when I got frustrated and bored with the endless memorization of distributions and equations. The stats class was a requirement to graduate, so eventually I was forced to take it over summer.

My summer class was taught by the late professor Wojbor Woyczyński at CWRU and it completely changed my understanding of statistics. Instead of rote memorization, we built the foundations of statistics from the ground up in Mathematica. The subject felt so alive and it clicked in the six short weeks of the summer session.

I suspect the first-principles approach would resonate with the HN crowd. It certainly did for me. Should you be interested, check out the book he co-wrote and used to teach the class: Introductory Statistics and Random Phenomenon. https://catalog.case.edu/record=b2504793


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.


It's strange how Grant Sanderson's (aka 3Blue1Brown [1]) name hasn't come up so far.

[1] https://www.youtube.com/c/3blue1brown


While I enjoy 3blue1brown's videos they definitely fall under the umbrella of current gen "edutainment" where the goal is to make you feel like you've learned something without have anything really click.

Pretty much everyone I know who claims that 3blue1brown's video helped them understand a topic... doesn't really understand that topic at all.

3blue1brown's video can be fun for topics you already know, providing a bit of new perspective, but I sometimes wonder whether giving people the feeling of understanding without the actual understanding does more harm than good in the long run.


I can't speak generally about all of 3blue1brown's content, but the essence of linear algebra made concepts like eigenvectors and values and what they are click for me, there is no question.


I agree with the GP that you really need to work through a lot of problems to fully understand a mathematical subject. But there are a couple cases where I did have real, lasting moments of insight, and the 3B1B linear algebra series was one of them. Hearing it stated directly that the columns of a transformation matrix are the coordinates of the basis vectors after the transformation (a fact that I had somehow missed across multiple linear algebra classes) turned on a light bulb in my head.

The Borsuk-Ulam theorem is another example of something that seems obvious in hindsight but that I had never run across before.


For me it certainly helped, but only as "additional course material". When I was studying for the LinAlg exam I used the script of my professor and tried to understand chapter by chapter. Afterwards I watched those videos to "check" if I had really understood.


I think those videos are like tantalizing appetizers before you start your entrée(standard textbooks).


Michael Nielson's book/site on Neural Networks helped me really grasp the topic. http://neuralnetworksanddeeplearning.com/

H.L. Royden's Analysis was a book that made real analysis click when I read it on my own time in High School. It's simple enough so an intelligent kid can read it and think that simplicity can allow a solid understanding that some people can miss reading more sophisticated book.

It's also true that being forced to really work at a problem, whether by a class or a job, can also be invaluable way for concepts to click. Facing a problem that doesn't budge with your habitual approach forces you to try backing up and looking from a wider perspective as well as working at the problem with greater exactness and attention.


This was early for me but after high school and before tackling more math I found Keith Devlin's book 'Mathematics: The Science of Patterns' answered questions that were never covered in high school and put mathematics into a place where I could then thrive and learn more.

For me, I wish more history of mathematics was mixed into the mathematics being taught.

Also, this could be a good book to read at any juncture.



Also Code: The Hidden Language of Computer Hardware and Software: https://www.microsoftpressstore.com/store/code-the-hidden-la...


The Reddit r/MusicTheory guide on musical modes made it click in a way that none of the other 50 sites I visited could do. I know it's just a silly website (a subreddit at that) and not a big sexy book or course but good educational material on modes seems to be in short supply these days.

https://www.reddit.com/r/musictheory/wiki/core/modes/


The thing that really made Haskell click for me was learning OCaml. I was getting confused about little things such as whether a particular token was a type or a value, particularly with some of the more advanced extensions enabled. Learning OCaml gave me a secondary perspective on the ML family, and now I can comfortably navigate Haskell code more or less.


I find this ironic, because I found ocaml extremely confusing.


I think starting with Standard ML is a good idea. It is the core of ocaml and really highlights the differences with other approaches to programming. I went from SML to ocaml to Haskell.


Well that makes a lot of sense. It’s confusing at first because of how similar the languages are.


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).


In software engineering, many seem to know about Chesterton's Fence, but hardly anyone seems to know much about Chesterton. I found Orthodoxy, which many consider his best book, to help not simply with one particular topic, but just about how to question assumptions generally. It's a shame he isn't more widely read - with the exception of some passing cultural references and a dated concept here and there, much of what he writes sounds like it could have been written last week. And his approach of combining humor into everything makes the reading enjoyable, even when the topic itself is dense.


I took a graduate-level cryptography class years ago. The material was advanced for me, so I had to do serious catch-up on the maths that underlie the basics. The main concepts too, to be honest. I looked at many resources online but the Khan Academy course in Cryptography by far was the most helpful: https://www.khanacademy.org/computing/computer-science/crypt...


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. ;-)


As someone who was preparing for International physics Olympiad in heydays in senior year of high school, reading Feynman Lectures of Physics (especially part-2 on Electrodynamics), made the real difference. I was reasonably prepared competing at regional level, but Feynman's way of prodding the deep questions made me realize how many cracks I had missed. It also helped me build the skill of stopping at a reasonable point - its incredibly easy to keep grappling at really hard problems which may never lead to solution with existing skillsets. Judging what you don't know & incapable to solve is very important and perhaps applicable to all disciplines.


1. Machine Learning by Andrew Ng on Coursera.

2. Linear Algebra from Imperial College course on Coursera. Course name: "Mathematics for Machine Learning: Linear Algebra".

3. Eigenthings from Ella Batty's lectures on Neuromatch Academy.

4. Vector Calculus from Eugene K's YouTube.

5. Much of Physics from Halliday, Resnick, Walker's book.

6. How to actually do knowledge work and grow, and productivity in general from Cal Newport's book "Deep Work".

7. Economics from "The Economics Book" and "How Money Works" from DK Publishers.

8. Meditating from "The Mind Illuminated" and "Meditation in Plain English".

9. Differentiation from MIT Opencourseware course.

10. Buddha's teachings from "What the Buddha Taught" by Walpola Rahula.


+1 on Halliday/Resnick physics. This book changed my life--it was only after reading it that I started to trust my own ability to learn directly from textbooks.


It also changed my life in the sense that, after reading this book, I refused to read any book, or see any MOOC that was boring.

This book, for the first time in my life, showed how fun a book could be while being exceptionally good at teaching.


Anand Agarwal's edx course on electronics made me finally get some understanding of the topic after years of struggling over Horrowitz/Hill and the like. Was also free back in the day.


I self-studied his book "Foundations of Analog and Digital Circuits" a few years ago and really enjoyed it. Very accessible.

I also tried to self-study Art of Electronics first but it's not really friendly to beginners. Been revisiting it though recently, in the context of the accompanying lab course.


That's a damn good book and course, from what I've read and taken of it. I'd like to go back and complete it to refresh some knowledge and learn a lot of new things.


When I studied C in college everyone recommended the K&R C book.

I found it the be of no value to me for learning the language. Instead I found King's C Programming: A Modern Approach much more enlightening.

I know K&R is widely well-regarded, so I found it interesting how difficult it was for me to learn from it.


Yeah, K&R is more of a reference than a tutorial.


A few of them.

1. This book made all the patchwork ideas I had about the incompleteness theorem fall into place and click while I was doing my bachelors https://www.amazon.in/Godels-Proof-Ernest-Nagel/dp/081475837...

2. This similarly solidified a lot of patchwork ideas I had about money https://www.amazon.com/Money-Unauthorized-Biography-Coinage-...

3. This didn't make the topic click but it shed light on the entire landscape after which anything I read on unicode made sense and filled up my mental map of the whole area https://www.joelonsoftware.com/2003/10/08/the-absolute-minim...


I didn't crack open a programming book until after college. When I did it was just a big Wrox PHP book because I was trying to figure out something I didn't know how to do even though I'd be working with PHP for 3-4 years already at the time.

Found the thing. Saw another thing on the prior page that I didn't know about which made my entire life easier. Sat down and binge read the entire book.

Ever since, I always read programming books before getting started with a new language or framework because I learned the hard way that it's much better to have a complete understanding to save yourself a lot of unnecessary pain.


A New Guide to Better Writing by Rudolf Flesch, A.H. Lass. Somehow, I never learned to write well in high school.

https://archive.org/details/newguidetobetter0000fles_z5a7


The Master and his Emissary by Iain McGilchrist on the differences between the brain hemispheres.

It's really an under-appreciated 800 lb gorilla hiding in the middle of the room of neuroscience that the two hemispheres are massively internally connected, but the corpus callosum does more to divide the hemispheres than to bridge them, in an organ for making connections, a fact large enough to beg for an explanation. Each can sustain consciousness on its own. They construct two different worlds, and you can find echos of the two worlds throughout all of human endeavor.


There was an old Samba book, from around the 1.0 days, that I read in 1997 which really made SMB click for me. Something about it's concise summaries of how browser elections and all worked, including how to configure Samba to work with all of it, demystified and brought together SMB networking. This really helped me career-wise as a sysadmin/troubleshooter in the days before we called things DevOps.

I tossed out the book a few years ago, and now I can't find a photo of its cover on Google Books or Images. IIRC it was sort of beige and blue, very typical for the time.


I read the book “The Culture of Make Believe” and what finally clicked for me was that politicians and CEOs don’t care about anything but themselves, and we all pretend that our system functions but when it results in mass deaths or abuse we just pretend it didn’t happen.

One of many examples in the book was the Bhopal disaster, and the way media and politicians responded to it.


There are many different books and courses on thermodynamics, but as far as fundamental worldview, that's the most significant 'before and after' viewpoint shift, 'oh that's how everything works' experience. Everything is system and surroundings, and it's basically arbitrary how you divide up the universe into system and surroundings, although there are obvious natural divisions (sun and planets as a relatively isolated system, biosphere of a planet, physical boundary of a living organism, etc.). Peter Atkins does a good job with his books and lectures on the topic, for example:

https://www.youtube.com/watch?v=kSuXS_zqRec

However, what generally happens is something 'clicks' and you get it for a while, then you realize you only had a low-level understanding, so then you get into higher-level abstractions, and it 'clicks' again, and so on.


The book "Thinking, Fast and Slow" made some statistics concepts click for me.

I think I finally understand the "Law of large numbers" and "Regression to mean". It also kind of helps me to understand machine learning which relies a lot on statistics.


The Savage Detectives by Roberto Bolaño.

It is a story about two young men, told through the perspectives of people they met along the way.

Some perspectives have a different enough perception of the protagonists that they could be talking about different people.

It clicked for me that everyone has a different idea of who I am, including myself. Before this, there was just me and my identity right now.


Recursion: SICP and later The Little Schemer. Abstraction barriers: SICP Continuations: The Little Schemer Decision Trees: Uni. of. Washington MOOC about classification and retrieval and later implementing them myself in Racket and later GNU Guile.


Can't agree more. The Little Schemer took me from "getting it" at a conceptual level to really knowing how to use recursion to get stuff done. Super important for grokking data structures imo.


Type Theory and Formal Proof: An Introduction

A ground up walk-through for using dependent types for formal proof. What I liked about this book is that it's presented more as mathematics than as computer science: you can work through the whole thing with pen and paper. It doesn't really have any specific prerequisites, just a general degree of mathematical maturity and exposure to proofs.

After reading this book, I felt capable of understanding how dependent-type-based theorem provers (e.g Coq and Lean) might be implemented.


> it's presented more as mathematics than as computer science: you can work through the whole thing with pen and paper

There's so much in software development that is shallow if you understand the motivation, or a key bit of context, because you already understand all of the hard parts. You "learn" a hundred things like this every week, mostly without trying, and there's a formula for helping people who get stuck: you find a concept that most people find trivial but a significant minority get stuck with, you figure out the bit of context that they're missing, you write a blog post or a Tweet or a HN comment supplying that bit of context, and bingo! Everyone who takes a few seconds or minutes to read it has an "aha!" moment and is suddenly, irreversibly enlightened.

Math has this kind of learning, too, but most of the effort in teaching and learning math concentrates on concepts that require a slower approach: the concepts that take some time to build up, or that require repetition for your brain to achieve the level of fluency needed for an idea to be useful. The "aha!" moment when it finally clicks is just the cherry on the top. It's a dramatic moment, but it has no value that can be separated from all of the prior work put in.

It's good to be able to recognize when you've been looking for the first kind of explanation for the second kind of concept.

Burritos, anyone?


"Scientific Advertising" by Claude C. Hopkins. This book is turning 100 years old next year, but what I loved about it is that because it predates the Internet (and even TV and the mass proliferation of radio), it doesn't get bogged down in specifics.

But, the principles laid out in this book almost entirely apply to online marketing.

So when I read this book, everything clicked. The closest I can compare it to is when you first learn multiple programming languages and develop an abstract understanding of the concepts. Once you have that abstraction, you can generally pick up any language pretty quickly. It's mostly just semantics.

Similar to this book's impact on my understanding of digital marketing. With the basic concepts of scientific advertising under my belt, I can pretty confidently hop into any platform and learn the syntax, as it's the same ideas, simply reimplemented with better tech.


Statistical Rethinking is the first book that helped me make sense of statistical modeling (and probability as applied to modeling): https://xcelab.net/rm/statistical-rethinking/

Huge fan, can't recommend enough.


did you go through the course or used the book independently? I got a couple of chapters in but fell off



I needed this, thank you for posting this.


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.


For computer network it's got to be Computer Networking by Kurose and Ross [1].

In my degree course we used Tanenbaum's Computer Networks book but because computer networking is a complex subject it's very easy to lose the forest for the trees and especially if you have Tanenbaum as the author. Don't get me wrong he's very intelligent and engaging author but probably not for fundamental textbook.

Kurose and Rose have managed to make learning computer networking somehow intuitive and rewarding with its top-down approach and the venerable Internet TCP/IP layers as the case study not the unreliastic OSI layers. I think every textbook should follow this top-down approach for superior pedagogical impact and some of the books on difficult subjects have starting to follow suits [2]. I've used the book from very 1st Edition to the latest 8th Edition, and it keeps getting better in every new editions.

Some of the approaches are very clever for example using the same diagram of "mini network" for every TCP/IP layers being introduced. It also predicted the software-defined networking (SDN) technology by treating forwarding and control planes as separate entities for the netwrok layer as early in the 1st Edition! Now the last two editions have network layer in two separate chapters for forwarding and control planes accordingly.

Ultimately after you have finished the book, you can appreciate the fact that how the Internet has become so successful and how we can create a reliable connectivity out of unreliable connections. It's really like going to the car junkyard and with all the used spare parts, be able build a reliable Toyota Land Cruiser with only a fraction of the cost of a new SUV [3].

[1] Computer Networking: A Top-Down Approach:

https://gaia.cs.umass.edu/kurose_ross/eighth.php

[2]Learning Electrodynamics doesn’t have to be hard and boring:

https://nononsensebooks.com/edyn/

[3]Toyota Land Cruiser:

https://en.wikipedia.org/wiki/Toyota_Land_Cruiser


"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.


Very recently, I went through learning C++. While I tried several books from the C++ definitive guide book [0] (including books from Stroustrup & Meyer), I found this book to especially knowledgeful.

C++ Crash Course: A Fast-Paced Introduction [1]

[0]. https://stackoverflow.com/questions/388242/the-definitive-c-... [1]. https://www.amazon.com/C-Crash-Course-Josh-Lospinoso/dp/1593...


For ruby in particular, Metaprogramming Ruby helped me understand the deeper semantics of the language in a way that has been very helpful over the years.


Came here to post the same. The book has a nice flow to it, or at least one which fit well with my personal thought processes. Named "patterns" (for lack of a better word) are introduced via examples that build upon each other, starting with simpler techniques and gradually becoming more complex.


I watched a lot of Kevlin Henney videos on YouTube, and though I can't find the exact video... the point he made that when you add threading, you change the laws of physics of programming, really stuck with me. Causality goes out the window, and that's why you should refactor to immutability as much as possible.


The book The Deficit Myth by Stephanie Kelton caused me to experience several lightbulb moments. Before reading this book, I didn't understand whether central banks truly could create money out of thin air, and why some countries (USA, UK) seem to have ginormous amounts of national debt without running into trouble, whereas other countries (Greece, Argentina) did experience tangible crises because of their national debt. Now I feel that I do understand and it all clicks, even though I was not persuaded to believe in the book's policy recommendations, such as a job guarantee.


I've always been interested in history, and the History 5 podcasts from UC Berkeley really took my interest to the next level. There are a number of versions; the original platform is long gone, but luckily archive.org has it. A few faculty have taught it but I've found the versions by Thomas W. Laqueur the most helpful.

https://archive.org/details/ucberkeley_webcast_itunesu_91921...


It took learning another language (Japanese) for me to finally make sense of my native language (English)'s grammar.

I still remember the day I learned the difference between transitive and intransitive verbs in Japanese and had that "ooooHHHHHH" moment in my head where all verbs everywhere finally made sense.


The Four Agreements freed me from the self help book cycle. They are the building blocks that all other advice is rooted on. Most sage wisdom, famous quotes, etc, is really difficult to really internalize if you haven't already run into a situation that demands it. However, T4A can be implemented immediately by anyone and gives you a framework that can handle anything you throw at it.

https://en.wikipedia.org/wiki/The_Four_Agreements


Not a book or a course, but rather a blog post by Sanjeev Arora et al that made backpropagation crystal clear for me: [1].

[1] https://www.offconvex.org/2016/12/20/backprop/


This is an excellent question.

There were many "Aha!" moments in my journey. Here is a couple of honest examples:

* Action Script 3.0 - It may sound stupid and unlikely place, but classes and OOP started to make perfect sense only when I could draw shapes in Flash and then manipulate them with Action Script. Suddenly the idiotic examples of cars, vehicles and bicycles or animals, cats and dogs were unloaded from my mind and OOP really sinked in.

* Java for Dummies - Also unlikely place to look for answers, but TTD and OOP made sense when I read the book many years ago. Somehow when they said "everything is a class in Java, there are no real primitive types" I really started to translate the world into objects. I am not a Java programmer, but it helped a lot.

* Tutorialpoint - YES, I will say it. It is an excellent resource, even if it teaches bad style and is outdated (as some people rightly point). They reduce the number of things to learn. You can refresh your memory on the spot, you can learn (if you have experience) an entire language over one weekend or maximum one week. Afterwards you can go to references and more complicated publications, but they are an excellent starting point.

* Derek Banas on YouTube, especially Design Patterns. The examples could be more real-life based, but he makes sense much better than the original GoF book.

* Code, Tech, and Tutorials on YouTube, especially about CMake.


This one for React: https://scrimba.com/learn/learnreact. Partly because it is great. Partly because it was the first time I sat down and did any course in React, rather than hacking stuff together!

What makes it great? You are given a development environment in the browser. You pause the lecture to play with the code shown by the speaker in real time. He encourages a lot of deliberate practice.


This series of lectures on Category Theory by Bartosz Milewski: https://youtube.com/playlist?list=PLbgaMIhjbmEnaH_LTkxLI7FMa...


I didn’t understand probability, until I read E T Jaynes Probability Theory: Logic of Science

It defines the base blocks of probability very, very slow. And never hand-waves anything. But it’s the “bayesian” view of probability; but it’s honestly the easier one to understand.

https://www.amazon.com/Probability-Theory-Science-T-Jaynes/d...


What is the prerequisite to read this book?


There are no real prerequisites. In fact, in the introduction, Jaynes suggests that readers might be better off not having any previous introduction to statistics.

That being said, there is an assumed level of general mathematical sophistication to the presentation.


It is quite math heavy, but I guess you can skip the proofs.

You can see the book for free, I think it’s scanned online, it’s from mid-20th century I think


"The Zen Teachings of the Bodhidharma" - It makes life click and then everything else is easy.

http://abuddhistlibrary.com/Buddhism/C%20-%20Zen/Ancestors/T...


For me, it was "Behavior Trees in Robotics and AI: an introduction"

What conceptually helped me out was the idea that behavior trees (BTs) are hierarchical finite state machines (HFSMs). I read that and thought "woah!"

I've been fascinated by behavior trees ever since I learned that they were a big thing in Halo. It's charming to me to think that video games are able to help out in robotics, as the book pontificates on briefly.


The book Stick and Rudder gave me a very intuitive understanding of flight and what it means to pilot an airplane in a very visceral sense.

The book CODE helped me really imagine and internalize the inner workings of computers, building up from the most basic electrical relay. The part where memory is explained and how the first bits were stored was truly mind blowing and cemented Clarke's third law for me.


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

The Story of a Soul by Thérèse of Lisieux - "unless you become like little children" never really clicked with me until I read it and became her friend.


I learnt Angular (1) from the famous John Lindquist Angular video series about a decade back: https://www.youtube.com/playlist?list=PLP6DbQBkn9ymGQh2qpk9I...

Till date I have not found anyone who can explain a topic that crisply and clearly.

Maybe Jeffrey Way is a close second.


Engineering:

Third year math phys and its accompanying book (McQuarrie). It blew my mind when I learned McQuarrie is a chemist.

Engineering's role in society:

Schumacher's "Small is beautiful" and "Guide for the perplexed" was the straw finally broke me free of the technocrat worldview. (Although Illich's argument that a car's average speed is 3mph made me question my love for cars)


Chemist here. TIL McQuarrie wrote a mathphys book and engineers read it. His books on Physical chem are exceptional.


I know. I bought his phys chem and his stats thermo when I learned he's a chemist!

Id say his math book is his best book too - then again, I love math and don't really appreciate chemistry as much as I should.



Funny that you mention another Stanford online course. I was going to say Andrew Ng's material on Coursera. Incredible educator.


Zed Shaw’s “Learn Python the Hard Way” was what really got programming to click for me after trying and failing to wrap my head around C, Java, and Pascal many times in my teenage years. It taught me enough to start having a lot of fun with programming, and gave me enough of a foundation to end up actually learning those other languages in university.


I learned so much from the C and python versions. Real gems that presented the critical information succinctly.


Non-Violent Communication ("NVC") by Marshall Rosenberg changed how I communicate forever. The big lesson to focus on people's underlying needs in a conversation = gamechanger.


https://www.youtube.com/watch?v=IxNb1WG_Ido

really helped me conceptualize some portions of simpler math i struggled with. if someone had shown me this at a younger age i'm confident i would have had a very different relationship with math.


For me, it was more general of how I finally learned to study. I struggled with attention and just general testing issues any time I transitioned school levels, 7th and 9th grades specifically, having a sub 3.0 GPA. 10th grade didn't start off very well either.

My first exam in Art History of the 2nd semester, I received another C. However in the review of the exam, it finally clicked. I drew a mental connection between the questions we were going over and how the previous lectures went. Then, I abstracted it out to all classes, all teachers. I saw how it's pretty obvious what's going to be on the tests by what the teachers focus on in class, and how the focus on certain things. I just needed to focus on that stuff. Everything else is fluff, and was a waste of my studying time.

Tests pretty much clicked instantly after that, and I was a near 4.0 student for the rest of high school.


Had a really hard time understanding 3d graphics programming until I watched Chili’s 3D fundamentals course on youtube: https://m.youtube.com/playlist?list=PLqCJpWy5Fohe8ucwhksiv9h...


For me, it was Touretzky's Common Lisp: A Gentle Introduction to Symbolic Computation that finally made recursion click. He gives a fantastic, simple, high-level breakdown of different recursion models with simple, non-mathematical examples. The student was ready and the master appeared.


I miss this book. Beautifully written esp. the chapter on recursion - it introduced many new types of recursion schemes than I was aware of at that time. The only book where I did almost all the exercises!


A Course in Mathematical Logic for Mathematicians, by Y. Manin https://math.uchicago.edu/~shmuel/lg-readings/Manin,%20Logic...


I had been using CFEngine 2 for configuration management of UNIX/Linux systems for a few years already when CFEngine 3 came out. I'd read the documentation carefully but struggled with the concepts. When I went to a CFEngine class taught by Mark Burgess (author of CFEngine) at USENIX LISA conference, I kept asking questions about anything I didn't understand in the tutorial and about halfway through the class, something just clicked for me and all the ideas that had been swirling around in a confused mess in my head just straightened out and aligned and formed this elegant conceptual tower, everything just fell into place. It was a remarkable experience, mentally. A real aha! moment.


the original Processing textbook: https://mitpress.mit.edu/9780262028288/

I don't know if the code is still executable with current Processing, but this book enabled me to finally start my own self-learning coding journey. It's basically a visual introduction to programming.

10 years ago I was figuring out what to do with my life, knew that I liked the idea of coding, but had found the Comp Sci curriculum at my college a bad fit at the time, and disheartening.

I finally took this book on my own, and spent a bit of time every morning.

The emphasis on design set it apart from so much of the other material I was coming across in trying to get started.


For me it was CS50 Web Programming with Python and JavaScript taught by Brian Yu.

By background is non-technical and tried to learn web programming by reading books and watching YouTube videos. However, I failed multiple times because these sources lacked in depth or breadth or explained poorly.

In early 2022 I enrolled in CS50W through Edx. The course contained the right mix of depth and breadth, and the topics were very well explained: Brian is an amazing teacher. The course also included interesting projects that I had to implement. For example, building a Wiki, a small scoped Twitter clone, and finally a project of my own. I had so much fun learning! Since taking the course I built two web apps from spec to launch on my own.



In Pursuit of the Traveling Salesman: Mathematics at the Limits of Computation

ISBN-13: 978-0691152707, ISBN-10: 0691152705

I've worked in optimization for over a decade but this book gave me an intuitive sense of many concepts that I had only been applying mechanically before.


“React.js Introduction For People Who Know Just Enough jQuery To Get By” met me exactly where I was at and made React click for me. Forever grateful that it existed when it did; it went away, not sure if anyone has an updated version of it.


Early in my .NET career Framework Design Guidelines made a big impression and improved my code quality. I liked the prescriptive "Do/Don't/Consider + ELI5" style of the rules and to this day use that approach in some of my writing to customers. It's since been baked into the static analysis tools so no need to buy the book, but I would like to see more books on other topics with similar style.

https://www.oreilly.com/library/view/framework-design-guidel...


The poors man continuation monad and free monad papers both in Haskell, led me to consider how amazing the function join :: m (m a) -> m an implies you never leave the monad. Always one layer left! And how that represents effects. Uau!


Going back to the 90s, it wasn’t until I read Mark Nelson’s book on STL that object-oriented programming made sense to me. Part of it also was that the people writing books on C++ back then probably didn’t understand OOP either, so most of the books were essentially talking about C, but with different syntax for comments and I/O. With STL, suddenly the whole concept of OO made sense to me.

When I started picking up functional programming later in my career, it was all so much easier for me to grok, largely because it was stuff I’d wanted to do earlier in other languages but didn’t have the capability in the languages I was using to support it.


OOP does not make sense to me. I understand it, I use it when I have to, but things like encapsulation and inheritance don't make sense to me. In my experience they tend to over complicate things, spread state in multiple places so it becomes hard to follow and make the software more brittle.

If null was 1 billion dollars mistake, to paraphrase Tony Hoare, OOP was at least 2 billion dollars mistake.


A lot of confusion comes down to some bad use of inheritance. Probably the most important OO concept is the Liskov Substitution Principal, viz that if you specify a superclass in a certain place, then any subclass should be a valid use there. The strategy pattern (or its hyperpituitary cousin, IoC) takes advantage of this to allow for run-time change of behaviors, e.g., being able to choose through configuration how to serialize a data structure so the same basic logic can output, say, a dataset as a table or a graph. That said, as OO architecture has matured over the last few decades, there has definitely been a tendency to favor composition over inheritance for code flexibility.

I would recommend Head-First Design Patterns as another great book for being able to “get” object-oriented architecture.


The Rootkit Arsenal: Escape and Evasion in the Dark Corners of the System. The chapter 3 is a good introduction to computer architecture and how it relates to the OS.

Structured Computer Organization by Tanenbaum. This book is the one that made every layers clear to me, from transistors to assembly code. Code no longer feels like magic for me once I've seen the greasy parts that move under the hood.

For being professional, it was So Good They Can't Ignore You, Getting Things Done, and Clean Coder. They helped with different aspects of my life that I was struggling with, as I never worked in an office (started freelancing online), so no real mentor.


https://en.m.wikipedia.org/wiki/Letters_from_an_American_Far...

https://en.m.wikipedia.org/wiki/Fanny_Hill

It’s kinda dumb in retrospect but these two books brought significance to the past. They’re both kinda fake, sort of like 18th century reality tv. They’re salacious, they’re not wholesome, they made me love the past because they made me see that not much has changed, we’re still selfish and Horny and awful.


When I was first getting into Drupal back in 2006, the Pro Drupal Development book by Matt Westgate and John VanDyk for Drupal 5 was an eye opener. I ended up doing Drupal development professionally for 10 years after that.


https://www.youtube.com/watch?v=0RiAxvb_qI4 - this video about Bell's inequality finally makes sense. Somehow all other videos try to start with polarizing filters and claim they somehow require quantum effects to work or other distractions. This one goes straight to point - there are different expected outcomes depending on moment we "roll the dice"( on particle pair generation or on its detection), and experimental data fits only one without local hidden variable.


Calculus - an intuitive and physical approach. I did some of these exercises and they were easy. They helped me in calculus. I liked the explanation of secant lines.

How to prove it - I like the reduction of proofs to mechanical symbol pushing. Good exercise difficulty for self study, good notation.

I also liked some parts of the traditional calculus book. I read a lot of it. It’s pretty good considering literally everyone takes the class with the book. I would never use this for self study, but I enjoyed it during class.

Mathematics for physicists books provide a good overview of math topics. Haven’t really done any exercises though.


Whoops, that was the Klein book that reduced orgo to electron pushing. But same idea.


Edward Said's "Orientalism" snapped the toughest parts of Foucault's structuralism into focus for me.


"Wonderful Life" by Stephen Jay Gould.

It might have only been a few paragraphs, but he explained that "Survival of the fittest" is not really quite how evolution works.

"Survival of the fittest" implies that species that are stronger or "better" in some way are the ones to survive and reproduce and thus "succeed" in evolutionary terms.

Stephen Jay Gould suggested that a better way of thinking about it is "Survival of the survivors", which is to say that in many cases its simply chance that allows once species to survive and thrive and breed successive generations.


"Fit" in "survival of the fittest" was never about strength or health, but about fit as "to be adapted to a situation". This is a misunderstanding that I know is very common in the German speaking world where "fit" only means physically or mentally strong.


"Programming Rust 2.0" - the online rust book didn't make rust click for me, but this book definitely did


Martin Fowler's Refactoring: Improving the Design of Existing Code! That made Object Oriented (pure OO, in the Smalltalk sense) finally make full sense, in addition to teaching me about refactoring.


For me that was cs231n delivered by Andrej Karpathy. I consider it the best “from first principles” lecture series on neural nets that I was able to follow despite my somewhat rusty calculus and linear algebra.


Ruby on Rails course from Pragmatic Studio.

By the time I took that course, I was already reading tutorials, books, practising. But still felt like I was mostly copy/pasting things instead of understanding.

I purchased the course, by far one of my biggest investments, and it finally clicked. And not only Ruby on Rails, but the general structure of web-based applications.

Once I took that course, I quickly spun up dozens of small little apps in the following weeks.

To this day, I wish I would find other courses in other subjects that would be game changers in my understanding as quickly and dramatically as that one was.



The Selfish Gene --- It finally gave me all the answers my teachers could not.

An amazing book


TSG and the other two books (The Extended Phenotype & The Blind Watchmaker) in the series are the most influential books I've yet read on evolution.


Yes. Once you read Dawkins the others are a natural follow-up. Both the books you mentioned are sublime.


Yes, the first few chapters of the book Zen Showed Me the Way (https://archive.org/details/in.ernet.dli.2015.139823/mode/2u...) somehow made all the descriptions that I'd read of Zen Buddhist enlightenment and awareness, and how it's brought about, finally make sense. The memoir captured for me the first-person perspective of going through that process and tapping into that perspective.


"The Mind Illuminated: A Complete Meditation Guide Integrating Buddhist Wisdom and Brain Science for Greater Mindfulness" -- helped me understand what exactly is meditation and how does it help.


My third time taking thermodynamics I think I finally got it.

It was honestly just finally throwing up my hands and asking the professor directly, "what is the motivation for all these partial differential equations".

They said, "because it lets us calculate values we want to know from things we can easily measure."

Literally the entire field clicked at that point. Third time taking the course. Sure, I got fine grades the first two times, but since they were all split thermo and stat mech I think I made up a lot of it with stat mech since that came more naturally than PDEs.


3blue1brown's Essence of Linear Algebra: https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2x...

Many linear algebra courses struggle to bring the abstract concepts into an intuitive mental model, which is sad because I think linear algebra fundamentally represents fairly visually-oriented concepts. I never was able to put the pieces together before seeing the visualizations and animations of the numbers.



How to Win Friends and Influence People by Dale Carnegie [1]

It made me realize how deeply emotional humans are. I always saw humans as mostly rational beings which sometimes loose control. However, after listening to that book I saw that the opposite is the case: We are 80% emotional beings and sometimes we manage to act somewhat rational.

[1]: https://en.wikipedia.org/wiki/How_to_Win_Friends_and_Influen...


Admittedly, it wasn't a book or course.

But I remember really struggling to get my head around Obj-C syntax - I was trying to learn iOS development, but I hadn't been exposed to atypical syntax before, so it was completely tripping me up.

I left it a couple of years and eventually came back to it. At some point, I came across this page, and it finally made sense: http://cocoadevcentral.com/d/learn_objectivec/


For me it was the book "Teach yourself C++ in 21 days" by Jesse Liberty. I know it has a funny title however this book allowed me to finally understand Object Oriented Programming.


Me too! This book has a special place in my heart since it’s the first time I actually understood programming. When I was 13 my goal for the summer was to learn to code. I was struggling hard to understand javascript after learning html, but it just made no sense to me. Then I randomly found this book, worked thru it in about a month, then c++ and even JS also made sense. All though did have like 8+ hr a day to devote to it since my “job” was to babysit my siblings lol.


Concrete Mathematics and calculus. I'd made it through several years of studying and applying calculus (either studying it properly in math courses or applying in physics and engineering courses) and never really grokked it. I could use it, but something important was missing in my understanding. I spent one summer working through this book with a professor, and suddenly calculus clicked for me. I still don't know what specific detail I had missed previously but I'll take it.


For me it was Propositional Calculus in my undergrad... was being super thick headed about picking it up and failed the mid-term. A friend and I (who was also having problems) sat down with a stack of exercises and just started doing them. I can almost remember hearing the click when I finally got it and it all made sense. Was probably the original click that made me ultimately end up in programming as I found how all the rules worked together to form a way to express ideas beautiful.


Mathematical proofs didn't click for me, so much so that I ended up failing my Discrete Math class because of it. Before I retook the DM course again, I took a Proof Workshop but I doubt I would've done good without the following books:

* Richard Hammack's The Book of Proof [1]

* Mathematical Proofs by Chartrand, Polimeni, and Zhang

[1]: https://www.people.vcu.edu/~rhammack/BookOfProof/


RIG Hughes' "Structure and Interpretation of Quantum Mechanics" substantially clarified several points for me but I also studied it as a pretty mature student.


Kind of a weak contribution to the overall thread but...

Early in my career Rails really felt a little too magical. It did what I wanted but I didn't understand it at the fundamentals.

Then I broke down how ActiveRecord worked. I listed all of its functions and capabilities and wrote my own version of ActiveRecord to do the same things. Immediately the whole thing clicked.

Nowadays I would probably be able to get away with reading the code, but back then it was tremendously helpful.


Eugenes physics videos: https://www.youtube.com/channel/UCJ0yBou72Lz9fqeMXh9mkog helped me a lot, both in highschool, and for my EE education. It is what truly made opamps click for me for example. Though, I know people for whom these vids don't seem to work well, so I guess it depends on the person.


Mastering Regular Expressions by Jeffrey Friedl! I was fresh out of college where I literally memorized certain regular expression patterns for a Unix class exam just to pass. It was only when I started an actual job in development did I realize what a powerful tool regexes are and was recommended this book. It explained everything so clearly and easily that to this day I love regular expressions.


Wittgenstein's "On Certainty" helped me finally grok some major problems in philosophy. Needs a good tutor to go through it with though.


Isaacson's biography on Einstein helped me understand the fundamentals of relativity and gave me the language + a brief enough understanding to figure out more. I highly recommend. It's also just a great read all around. He has a chapter called 'Einstein's God' and it cleared up some misconceptions I had about what Einstein believed about the supernatural and religion.


Understanding DSP by Richard Lyons. He made the basic concepts of DSP simple to understand. It should be required reading for all DSP engineers.


After using vim for a year, I got the book "practical vim". It made everything fall into place, whole different ballgame after that.


Options trading: The Bible of Options Strategies

Each trading strategy spread type comes with a legend icons that tell you their purpose, like a tropical island emoji tells you its for unlimited capital gains, and an arrow emoji tells you what market direction it is about, and you also get a feel for its risk before hand, and you could flip through many strategies and narrow down on something that meets your objectives even though you never heard of it before, and learn more deeply about it. Then you could see how other strategies were just variations and tweaks to the prior one.

But the real difference was that when I was trying to learn about options, most literature was telling me about what happened at the end of the trade, at "expiration", but practically nothing about options trading involves exercising an option, its so tone deaf. Options trading is about trading the price differences as they fluctuate through their life span. This book was good for acknowledging that.


I had been a web developer in the very days of the web...But then after decades away from coding, i wanted to learn python. So, i bought a book. I forget the title, but its something along the lines of python 30 minutes a day (or something aloing those lines), and the author's name was like Mark something...In any case, while the book itself was fine...The real "feature" that made things click for me (for python) was going through the online exercises associated with the book. I know, I know, my approach spounds like typical homework...But, you know what, that did the trick amazingly well! So clearly for me, i guess i learn by reading first, then actively applying what i've learned....yeah, yeah, not so revolutionary. But for me at least, such a simple - and well established by others - tactic helped me gain a new skill.

EDIT: I remember the name of the book now: "A Smarter Way to Learn Python: Learn it faster. Remember it longer." By Mark Myers.


Art of Electronics, Horowitz and Hill. As a teenager, I had messed around with guitar amplifiers and effects pedals, and had made some gadgets by copying circuits from magazines. AoE (plus the professor who taught from it of course) made my understanding of transistors and op amps click. The treatment of electronic noise remains useful to me today, nearly 40 years later.

Transistor Transistor Logic followed by Z-80 Microcomputer Handbook, both published by Howard Sams and if I recall correctly, sold at Radio Shack. These books were clear enough that a teenager could grasp the concepts. Learning a relatively simple processor was a valuable foundation for learning microcontrollers and digital interfacing.

Turbo Pascal Manual, for versions 1 through 5. Those manuals were so clear and complete. They are probably the last manuals that I ever read cover to cover. That was kind of at the point where systems got too complex for any mere mortal to learn one completely.


I've bought the art of electronics and I'm not sure why it's referenced so often. It certainly is not for beginners. I graduated in Electrical Engineering but still didn't find it useful yet.


Interestingly, I was a physics + math major. Maybe the book struck a different nerve for me, than for a real engineer. Also, 40 years ago we had no access to computer simulation, and so we learned to design circuits the way physics students solve physics problems: Deriving equations by hand. Today, that method may be as obsolete for electronics as it is for physics. ;-) We prototyped by hand. Already by the time I was in grad school, the engineering students were heavily into Spice, and it was incorporated into their coursework.

Today, I don't design commercial electronics, but I design small circuits to support my own R&D work in developing measurement equipment, such as making front ends for weird optical detectors and such. Plus hobbies of course.


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.


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!


Baby Rudin greatly deserves it's hallowed place. In many ways it was the book that got me into mathematics


https://www.coursera.org/learn/programming-languages - recursion, and how to apply it, and functional programming in general clicked for after this course.

Also Code Complete - after reading I finally understood what good code should look like.


Code Complete made me see the difference between scripting and engineering.


"Game Theory: A Very Short Introduction" is all it took for me to understand and enjoy game theory and it's only a small cheap pocket book. I've purchased five copies for friends.

https://academic.oup.com/book/689?login=false


Pointers! I spent my whole youth, started programming at 7 years old, and believe me, when you don’t know English, reading the GW-BASIC book back-to-back is a performance. But I had always been limited, until 19 years old when a college teacher taught us the pointers.

It’s as if I had seen the world with only 1 dimension instead of 3 for all that time.


I found "The Book of Shaders" to be an absolutely amazing resource for learning about what shaders do from a very basic level. Bonus: it's completely interactive and free online: https://thebookofshaders.com/

Unfortunately, they never finished it.


Heap Exploitation courses on Udemy by Max Kamper. Had no problems with stack overflows or other concepts but had a hard time reasoning about the heap.

https://www.udemy.com/course/linux-heap-exploitation-part-1/


Grokking Algorithms: An Illustrated Guide

Really helped me out when studying for interviews at first. As a visual learner, this was just great. The examples are very basic but pretty foundational and give you a good base to expand on in further preparation.

I work at the rainforest company. I credit that book majorly for helping me pass the algorithm rounds.


This book contains the only understandable explanation of Monads that I’ve ever read:

https://medium.com/programming-essentials/functional-program...

Objects with map and flat map functions. Done.


I try to understand monads which I think was a complaxe and don't get it at all and this 2 minute video explains it so simple and show why totaly make sense https://m.youtube.com/watch?v=VgA4wCaxp-Q&t=1s


The World of Carbon by Isaac Asimov started my fascination with the sciences when I was a freshman in High School(grade 9). Chemicals in general just made more sense after reading. He is incredibly clear in his non fiction writing. Prior to reading that, none of my science classes in school had captured my attention.


This video was my breakthrough in learning how to pass data into a FFT call and to parse the output returned from the call

https://www.youtube.com/watch?v=mkGsMWi_j4Q # Discrete Fourier Transform - Simple Step by Step - Simon Xu


About ten years ago I made a learning aggregator (worked kinda like Reddit) that organized and rated content- so the best explanation (voted by the group) for every topic was front and center, with others in secondary and tertiary (and so on) positions. I kinda let it go. Would something like this still be useful?


It was IRC. First efnet, then briefly undernet, and then freenode. Seeing how problems are handled and solved by people light-years ahead of me, how questions are approached, the hacker culture where strict discipline is required for any inquiry taught me everything I needed to become a professional programmer.


Dialectic of Enlightenment crystallized a lot of thoughts in me around critical theory and philosophy in general. Before that book the closest I had ever been to philosophy was John Gall's excellent "Systemantics" which although wonderfully written and a delightful read didn't leave me with much insight into how to actually critically examine my surroundings. Dialectic of Enlightenment on the other hand left me with some basic tools I can apply to understand my surroundings, some understanding that the problems faced by a system (society) echoes the features of that society. That the ills we feel are the ills we create.

Dialectic of Enlightenment convinced me that philosophy itself is actually useful and constructive, rather than just a pointless navel gazing activity.


Charles Moore's book on why he invented Forth made it click for me: http://www.forth.org/POL.pdf

I had thought of Forth as a general purpose programming language, when it's actually an application UI paradigm.


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/


You're right about Fourier Transforms. I went through the fundamental classes and wasn't quite getting it until a more advanced class when the real-world applications were explained and then it all clicked.

It's been so long that I can't remember the class names anymore.


eigenchris' Relativity courses: https://www.youtube.com/user/eigenchris

I love pretty much everything on his channel with crystal clear explanations and deadpan delivery!


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.


A Common Sense Guide to Data Structures and Algorithms by Jay Wengrow was pivotal in me understanding the topic as a self-learner. Its non-esoteric approach was something I really needed before moving onto the Stanford and Princeton courses.


Honestly, just fiddling with a mix of documentation and videos are what help me learn. This is also incredibly ironic since I write books over iOS development, but everyone is different. Some love being able to go their own pace with books.


This is a very nice video on the intuition around Lagrange multipliers that I came across on twitter recently:

https://www.youtube.com/watch?v=5A39Ht9Wcu0


For me re-reading some book twice/thrice or reading multiple book/courses on same topic make it click. Sometime I think it click but my understanding is totally wrong, talking to people and solving problem help me find the gap.


Around the Corner (1937), an explanation of differential steering in automobiles: https://www.youtube.com/watch?v=yYAw79386WI



Crafting Interpreters was a treasure trove of making different concepts click.


Organic chemistry as a second language and the analogous text by Klein. Nothing in particular clicked for me, but I took orgo 1 and orgo 2 at two different schools, and I remember his book being extremely readable for ochem 2.


Elements of Classical Thermodynamics A. B. Pippard, CUP. [1]

Made things like adiabatic processes, entropy and the Carnot cycle much more comprehensible as part of a general formalism. The 'classical' in the title means not statistical so we are talking heat engines and such.

[1] https://www.cambridge.org/gb/academic/subjects/physics/gener...


Fast.so practical deep learning for coders was the course that made deep learning and it’s implications click for me.

Building and deploying a state of the anrt image classifier in lesson 1, less than an hour was incredibly motivating.


I read The Rootkit Arsenal[0] while I was taking my first assembly language course and operating systems class. The author did an amazing job of making the material interesting, approachable, and as clear as machine code hex can ever really be. Highly recommend if you have any interest in the guts of operating systems and how to tear them apart.

[0] https://www.amazon.com/Rootkit-Arsenal-Escape-Evasion-Corner...


I under the impression that we are building software the wrong way.

This video from Casey Muratori helped me point to some reasons:

https://youtu.be/pgoetgxecw8


Daniel Raymer, Aircraft Design: A Conceptual Approach

The standard textbook in the field, but well organized, well presented, complete enough to feel that the material is covered but not so deep in the weeds as to be intimidating.


Visual introduction to Fourier Transform from 3Blue1Brown: https://www.youtube.com/watch?v=spUNpyF58BY


For me, the only way to get things "click" is through exercises and small projects of my own. No amount of passively absorbing the material delivers the sense of a complete understanding.


I sucked at chemistry in school I just did not get it, partly because I was lazy, partly because I was a few weeks out of school due to an injury, partly because the whole structure of the classes were a total mess.

At university we had to take one chemistry course and suddenly it all made total sense. Everything was explaned logically from the ground up. I got a perfect score and really, really enjoyed the course. Now my son has chemistry in school (he is much better than I was) and I regret not having kept the manuscript for the course to give it to him.


Imagined Communities by Benedict Anderson


Finally understood inheritance concept (OOP) using the examples in the documentation of Delphi 7 (I miss .chm files).

"TObject is ancestor of all objects and components", it all made sense just with that.


Capital, Vol. I


lol was about to post this. be careful, there are VCs amongst us


As a capitalist I would still say it's recommended reading. That said, if you're only reading that and not Hayek/Friedman/Sowell then you're doing yourself a disservice but that's your problem.


those writers make perfect logical sense within the confines of capitalism. once you stray outside of those boundaries, their ideas start to break down.


Eloquent Javascript. It really cleared up a lot of CS concepts for me: https://eloquentjavascript.net/


- A book of abstract algebra: makes algebra, fields and so on just click


When I was in graduate school, An Introduction to Manifolds by Loring Tu and The Elements of Integration and Lebesgue Measure Robert G. Bartle, neither one used by courses, helped me immensely when studying for the qualifying exams in the respective subjects. They provided so much clarity over Lee and Royden (if you know, you know) that it was amazing that the subjects weren't actually as difficult as you thought. There are a lot of books like this, but these two stand out to me at the moment.


https://www.youtube.com/@mycodeschool helped me understand data structures and algorithms


The Gene by Siddhartha Mukherjee

Teaching the history and story of the scientists who made different genetic discoveries, and along the timeline they made those discoveries, made everything make sense.


The Order of Time by Carlo Rovelli. Mind-bending read that made all the principles that had previously confused me (relatively, thermodynamics, entropy, etc) clear and awe-inspiring.


Cool to read for the layman or requires previous knowledge?


It's a great, easy read for the uninformed.


You Could Have Invented Monads for the utility of the program syntax+pattern that is a monad http://blog.sigfpe.com/2006/08/you-could-have-invented-monad...

Also the original perceptron stuff for why NNs work, but I don't think that has general utility. The tools work irrespective of knowing why they work so I wouldn't recommend that for a SWE.


I wanted to learn the basics of OOP (classes and objects) back when C++ first appeared, but the topic was too heavy and too dry - and I was young.

A magazine article (remember those things?) described it using post office analogies, including a postal train. It just clicked.

I have no idea what magazine or writer, or why that set of analogies worked when there are far simpler explanations for classes and objects, but I owe my career to that article (and my lack of friends in high school .. but it's all good!)


It was very early in my education but Tanenbaum's OS book, which I read while playing with his Minix source code, opened my eyes quite a bit to how Operating Systems worked.


The Dummies' Guide to Special Relativity

https://conduit9sr.tripod.com/

It was written like 20 years ago, quite nice.


These:

- Absolute FreeBSD - have everything needed to learn and understand FreeBSD.

- ANSI C by Kernighan/Ritchie - the C language.

- Forever Fat Loss - why we get fat and what to do about it.

- Why We Sleep - everything you wanted to know about sleep.

Regards.


Infidel by Ayaan Hirsi Ali.

It lifts a veil from your eyes. Concepts like “multiculturalism”, that before reading this book seemed benevolent, reveal their malignancy.

If you are from the West, the US or Europe, you will see your political culture in a new light, as a web of lies and hypocrisy on all sides.

If you are aligned with the Left, it forces you to confront the reality that, sometimes, the Right takes a stand against oppression while your side refuses even to acknowledge that it exists.


The Complete ZX Spectrum ROM Disassembly

https://spectrumcomputing.co.uk/entry/2000076/Book/The_Compl...

Made me realise that no part of a computer is magic! Masses of function squashed into its small memory, and a good reference for implementing rough math functions. One of a handful of books I still have.


A somewhat related book I enjoyed a great deal is "The ZX Spectrum ULA: How to design a microcomputer":

http://www.zxdesign.info/book/


The book "But How Do It Know? - The Basic Principles of Computers for Everyone" by J Clark Scott. I understand how computers work because of this book.


I never quite understood what all the Registers and Interrupts and Instructions inside the computer did until I read Code (https://www.goodreads.com/book/show/44882.Code). I feel like I finished the book with a very good understanding of what's actually happening under the hood of a computer system.


CS50x made computer science click for me after dabbling on and off for years with various bootcamp-like programs on topics like data science, python, APIs, etc.


same! a very well crafted course and best of all it is free.


The Three Body Problem series, while a fictional sci-fi trilogy, resolved the Fermi Paradox in what was for me the most terrifying and convincing way possible.


Trying to get through mechanics class in your EE studies? This book really made me understand:

Don't Panic with Mechanics!: Fun and success in the "loser discipline" of engineering studies!

https://www.amazon.com/-/de/dp/B00KTP7UPE

Although I can only reallyvouch for the original German version (Keine Panik vor Mechanik!)


Pretty pedestrian compared to others here, but: Learning Blazor via the "Blazor In Action" online book + audio. https://www.manning.com/books/blazor-in-action

The addition of audio is surprisingly useful. It's like having a private tutor ready to help you continue learning at a moment's notice.


Philip Wadler, "Monads for functional programming".

"A Tutorial on Linear and Differential Cryptanalysis", Howard M. Heys.

They have to be worked through, not just read.


Nagel & Newman's book really made Gödel's Theorems click for me. Gödel, Escher, Bach also made diagonalization click.


It's not a course nor a book but it was huge for me. I tried reading books, different patches, different ways to stop smoking. But in the end what made it click for me was a simple app

If you want to stop smoking check it and good luck. It was life-changing to me.

https://smokefreeapp.com/


Marketing Warfare by Al Ries and Jack Trout. I read the 25 year anniversary edition which revisited some of the advice these two giants of marketing gave some of the big brands of the '80s - PC vs. Mac, Coke vs. Pepsi, 7up vs. Coke, etc, etc.

I'm not a marketer but it certainly made a lot of seemingly incomprehensible status quos click.


Joko Engineering on YouTube for FreeCAD. My entrée into parametric CAD in general, too, and a great way to get the basics.


I had so much trouble with English grammar until I took Latin, then it all clicked and made sense.

I say this as a native English speaker.


Interesting comment. Do you mean trouble with using English correctly, or trouble with grammatical analysis or terminology?


Mainly grammatical analysis, but that helps some more pedantic parts of very formal English.


I’ve only be learning for a year or so — will the mapping of tenses from Latin to English ever make sense?


I've never had much of a problem with that, Latin tenses have the perfect vs imperfect which maps pretty well to the ING ending in English and then past/present/future which maps well

One issue is that sometimes what's easy to say on Latin is a bit of a mouthful to say in English in a literal translation. But that's more of a, well you wouldn't express that thought the same way in English.


Advanced Engineering Mathematics by Kreyszig


Discrete mathematics was mind blowing for me. It did a great job connecting algebra and propositional logic (think if statements, things being true or false) into a single math theory by showing how binary algebra or set theory accomplish both… then there’s the universal operator which is mind bending in itself.


YC's Startup School taught me product management, after I had done it as a job for a couple of years.


I tried learning Borland Turbo C++ in the early 90's on my 286. I had the SAMS book "Learn Turbo C++ in 24 Hours". 15 year old me dutifully worked through it until I got to Pointers.

20 years later, a dev I worked with: "Oh, pointers are just a reference to a memory address".

GAH.


Ah, I was lucky because I learned Turbo Pascal. After that Turbo C++ was just the exactly same thing just with really weird and bit cryptic syntax.


Hmmm I wonder if my career would've been different had I learned Turbo Pascal or if I'd found somebody who could explain Pointers to me. Or, just skipped that subject until later. I really liked TC++ back then. I could even write small programs from memory. Ah, to be 15 again.


How to do what you want to do by Dr. Paul Hauck seems to have defined my philosophy towards life by introducing me to the concept of self-discipline. It is a self-help book that has guided me for 20+ years, even when I had failed to follow it and had clicked with me.


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.


Which book do you mean?


Prolog Programming for Artificial Intelligence.

Prolog is almost like magic the first time one is exposed to it.


Speed Secrets - basics on how to drive car fast

The Hidden Language of Computer Hardware and Software - all of IT. I could only get through half of it, but it's THE book that made me understand "everything" about how computers work.


Gaussian Processes - with Pattern Recognition and Machine Learning by Christopher M. Bishop


Linear algebra playlist by Pavel Grinfeld: https://www.youtube.com/playlist?list=PLlXfTHzgMRUKXD88IdzS1....


+1 his videos are great.


"Electronic Transport in Mesoscopic Systems" by Datta made me finally understand many of the ways that physicists model solids (particularly electrical transport, but also heat transport, the whole band gap thingy).


Does anyone have a good educational resource to understand APIs? Thanks in advance :)


I do get that "click" praise for "Understanding SEO - A systematic approach to Search Engine Optimization"

It's now ~5 years old and people still recommend it. So I prop. did something right. Like leaving out all the things about SEO that change over time.

Amazon https://www.amazon.com/Understanding-SEO-Systematic-Approach...

Free for hackernews on gumroad https://news.ycombinator.com/item?id=24773941

Print https://www.fullstackoptimization.com/a/understanding-seo


Being able to time shift video instruction content made all the difference in the world for me. I could rewind and watch something multiple times until it clicked. Helped me significantly with college mathematics.


Keith Peters' book on ActionScript 3 taught me enough to start a career.


Electronics Projects for Musicians, by Craig Anderton.

This book sparked my interest in tech.


3blue1brown's Bitcoin video helped me a lot in understanding bitcoin.


Jonathan Clayden's "Organic Chemistry" is probably the best organic textbook I have ever read. It helped me a lot when I was first learning and I still flick back to it


_Advanced C++ Programming Styles and Idioms_ by James O. Coplien

It showed me how to really use C++ effectively back in the 1990's. It was at the time in a class by itself. (Pun intended).


computers in general–this book opened my eyes to how everything actually works... mostly :) https://www.amazon.co.uk/Code-Language-Computer-Hardware-Sof...


I read that book when I was pretty young, maybe 12 or 13. I'm not sure if I understood everything in it at the time but it started my fascination with computers.


MANDARIN

This course made if so much easier and fun to learn https://www.dominochinese.com/


The Three-Body Problem, while a fictional sci-fi trilogy, resolved the Fermi Paradox in a way that was, for me, the most convincing and terrifying way possible.


“Answers to Modernism” by Maulana Ashraf Ali Thanwi.


Horowitz and Hill "Art of Electronics"


Reek's Pointers on C for... C pointers.


Not a book, but LSD made me realize that the entire phenomenal field was one unified thing, that it contained my entire identity as a separate self, that such separation is conceptual/language based, that there is in fact no such separation in the physical world, and that if I was aware of this field, then I couldn't possibly be anything within it.


I had a hard time learning react. I was a reasonably proficient developer but really struggled. Reading "learning react" (O'Reilley) really helped me. Not sure if it's what I'd recommend to others but reading it, offline and not distracted by the web, it helped me. A tldr blog post https://cmdcolin.github.io/posts/2020-07-04


Writing my firs synthesizer made calculus click. I passed my 3rd year taking it after that.


The C Programming Language for pointers, which didn't make any sense to me in Pascal.


a book simply called 'low level programming'. sadly the thing that clicked is that i dont know shit about computers nor programming, but its also helping to fix that :p


Linear Algebra by professor Gilbert Strang, books and lectures.


Starting learning Rust and The Book is great.


SICP - recursion


Economics in One Lesson by Henry Hazlitt.


I learned monads with FunFunFunction.


Andrew Ng’s AI course from coursera.


Any one for Neural Networks?


Nope


I've had 4 "aha" moments in my computing career, well 5. 3 are from books.

My 5 "ahas" were expressions and assignment in BASIC. Arrays, and how they work. Dynamic memory, i.e. the first time I got a linked list to work in Pascal. Networking as a streaming service combined with "how Unix works", which was mind blowing. And, finally, lambda.

The first was my science teacher introducing me to the computer. He did this and that, and left me to flail helplessly for several hours before I gave up and went home. The next day he showed me BASIC expressions, again, "aha", and it stuck.

Next, was arrays. Did not grok arrays at all. And all of the example were something about "balancing a check book" (I'm 14, like I care a wit about balancing check books). But eventually, after typing in enough "101 BASIC GAMES", arrays clicked. I can't recall, which game, but I credit one of those BASIC game books for that aha.

I don't consider my dynamic memory aha to be book based. I'm sure I got it from some data structures book in theory, but pulling it off in Pascal was just a combination of raw effort and figuring it out with friends. It's an aha moment because visualizing the linked list, or tree exploding in your mind from the very few lines of code necessary to pull it off was, well, aha indeed.

Network streaming and Unix came in one hit. I'd been doing Unix application development for some time, but our machines and client machines were all standalone. But I was at another office and I saw a guy do, essentially, `cpio -xyz folder | rsh cat > /dev/tape` (yes, rsh -- does that date it?) And that really blew my mind. The idea of piping across the network to a streamable device. Wow. Very, very aha.

Finally, lambda. Always fascinated and interested in Lisps and what not, but I seem to be genetically coded against groking anything Greek outside of a Gyro sandwich. I've always hated reading texts that use the Greek alphabet for, well, anything. Because whenever I see a Greek letter, I assume that it must be conveying something beyond a simple unknown variable. People choose those letters for a reason, I just don't know what it is. So, θ is used not just to represent a variable, but to represent an angle (always seems in trig, they use θ). So, if you see θ, perhaps it also means that it's an angle of somekind.

Anyway, right or wrong, I assume that's whats happening and I simply don't know the "meta" of why, when, or how a Greek letter is chosen. And this hold true for Lambda.

Lambda was chosen because of its inspiration from lambda calculus (which I also don't know). So, if you know lambda calculus, you "know" what lambda means. I don't, so I'd be bouncing along in some Scheme or Lisp test and they start dropping those on my head and, well, my pooh brain doesn't grok it and I'd abandon it.

Then, I stumbled upon the book "Simply Scheme". What does "Simply Scheme" do? First thing they do, is they rename everything. Like "first" instead of "car". They just started with their own vocabulary and presented Scheme that way. Well, heck, I knew what all those words mean, maybe not the specific semantics in Scheme, but the general definition, and so the first few chapters were very successful in communicating the underlying themes of Scheme. Including things like anonymous functions (for which they used the word, I think, of all things, "function").

Later they conflate "lambda" and "function". Basically, "lambda" mean "anonymous function".

"Oh!" "Aha!", and the clouds parted, the seas calmed, the sun came out and like getting a few select Tetris pieces, the board cleared and a LOT of things made much more sense right away.

Aha indeed.


Hermann Hesse - Siddhartha


Euclid's Elements, first year of college.


SNSUDDFFDD


After the 2008 crash I was at a very low point in my personal life and I was even considering moving away from DC and maybe going away from gov sector work and contract work and trying to find a "regular" job, etc etc.

I read this book called The Drunkard's Walk: How Randomness Rules Our Lives by Leonard Mlodinow, and it opened my eyes about probability. I decided to get my MSc in Statistics and I reworked basically my whole midgame-endgame strategy for my life.

I look back so thankful for that book and for being in a position to just be at home during that time to read and ponder things. In particular, I remember some walks I went on with my wife and some conversations that I had anticipated being difficult about leaving or staying in DC, but it just all came together.

Recovering from the crash took time, but the purpose I found in pushing myself to get the degree done and to fight for my space here in govland was absolutely, positively instrumental.


Statistics.

It made data, functions, web applications, and REST API finally click for me.

I took two stats courses-- a simple one at a community college where we dabbled with a stats analysis app. And a more complex one, where we wrote scripts in the language "R" and uses rStudio.

I began to realize things I should have realized long before that:

- Functions typically intake data, and output data. What made it click was inputs into a statistical model, such as multivariate linear regression.

- A program runs on data-- data is basically the "currency" (i.e. monetary currency) of an application.

- Data comes in various shapes and sizes, and collections. Programs have to be compatible with those shapes, sizes, and depths within collections.

Once I realized this, I began reflecting more on the typical 3-tier web application model, and HTTP, and REST API, including looking at diagrams on google images. It became so much clearer once I had a solid understanding of data & functions.


Which book can you recommend for learning stats


This (https://www.openintro.org/book/os/) is the best imo. Follow with Statistical Rethinking by Richard McElreath and you're golden.


3blue1browns youtube series on linear algebra




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: