Now Reading
Ask HN: What are essentially the most eye-opening textbooks you’ve got ever learn?

Ask HN: What are essentially the most eye-opening textbooks you’ve got ever learn?

2023-05-13 10:10:13

Don Norman’s “The Design Of Everyday Things” was very eye-opening for me. It introduced me to a lot of ideas about the human brain, and about how/why we make mistakes.

This will sound stupid, but that book was the first time I encountered the idea that a brain and just straight up miscalculate and mak a mistake. No reason, no explanation. Just your thinking meat did the wrong thing.

Really great book. Very entertaining, and a pretty quick read. I’d recommend it to anybody.

https://www.amazon.com/Design-Everyday-Things-Revised-Expand…

Calculus on Manifolds by Michael Spivak. http://www.strangebeautiful.com/other-texts/spivak-calc-mani…

For me, the attention opening factor was that any n-dimensional physique is a metamorphosis of the n-dimensional commonplace dice. This brings some mathematical penalties I do not perceive, however what’s vital for me is that equations get a lot simpler for the usual dice transformations as a result of your corners are simply ones and zeros.

E. g. I wrote an app that “unbends” a e book web page from a photograph so it seems to be flat. It may be executed with a single however reasonably giant transformation, or with a pair of transformations: to and from the usual dice, and every transformation is then a lot less complicated than their composition. 15 years after I realized that trick and 10 years after I wrote an app, I wrote a e book known as Geometry for Programmers.

If not for Spivak, I might have drowned in equations, by no means written the app and would have had nothing to put in writing a e book about.

“Crafting Interpreters”

A physically beautiful book, carefully crafted and written in a style that’s entertaining and brilliantly separated into distinct “phases” such that each chapter adds substantial functionality and doesn’t leave the codebase in a broken state. The attention to detail and meticulous documentation of the code is no small feat, and this book delivers like no other.

An absolute joy to work through and provides enough technical detail to provide a good foundation without having to slog through compiler textbooks.

Hands down my favorite programming/software related book.

The Blind Spot: Lectures On Logic by Jean Yves-Girard

For context, Girard is a mathematical logician, philosopher, and co-discoverer of the type system System F (Haskell, ML, etc.). The book is a monograph on proof theory, and I was interested in learning more about affine and linear logic to deepen my understanding of Rust and other language ecosystems focused around the ability to explicitly model resources. However, along the way, I learned some other great things: (1) continental philosophy is deep and cool; (2) mathematical writing can be simultaneously rigorous, clear, and hilarious; and it reinforced (alongside Alain Connes’s Noncommutative Geometry, and various French philosophers) (3) French academic writing is both frustratingly and delightfully idiosyncratic. Girard writes polemically about other aspects of knowledge, mathematics, etc., and there’s heaps of dry humor and anecdotes throughout the book. It’s a hard book to read even by pure mathematics standards–a topic not exactly known for being a brisk read–but it was worth it just for the side discoveries alone.

This book “opened my eyes” to its contents, but that’s not the lesson. It taught me valuable written communications skills I didn’t even know I needed.

Kourik, _Drip Irrigation for Every Landscape and All Climates, 2nd Edition_
https://www.amazon.com/Drip-Irrigation-Every-Landscape-Clima…

Picked this up on a whim from the library. I’ve to say, I could not put it down, which was … odd. It is concise, clear, well-ordered, and humorous at occasions. The writer is humble and he is cross-referenced all his designs with an in depth bibliography.

Code, by Petzold.

Not exactly eye-opening, I sort of knew most of the content, but I don’t remember ever having such joy while reading a technical book. Before or since.

I read the whole thing in a holiday (it’s a big book, 500 pages or more IIRC), and I am a terrible reader. I was at a place with no internet, so that surely helped a lot.

Fractals Everywhere, Michael F. Barnsley.

I love the way it starts:

>Fractal geometry will make you see everything differently. There is a danger in reading further. You risk the loss of your childhood vision of clouds, forests, flowers, galaxies, leaves, feathers, rocks, mountains, torrents of water, carpet, bricks, and much else besides. Never again will your interpretation of these things be quite the same.

That was a fun read. But it was written at the height of interest in chaos theory and so some of the curious things it talked about, like the Feigenbaum constants, went nowhere

“You Just Don’t Understand” by Deborah Tannen.

The author discusses that often when conflict in communication arises between men/women, it resembles the same tensions in cross-cultural communication.

The author discusses that some communication styles are competitive (with a heavy lens around status and confrontation), other styles are cooperative (with a heavy emphasis on belonging, relatedness, similarities).

The author discusses example of such conflicts. — One example was, when someone’s complaining about a problem, a competitive-oriented mindset typically tries suggest a solution, whereas a related-orient mindset typically shows empathy. Crossing the wires: suggesting a solution might come across an uncaring, and expressing empathy might come across as unhelpful.

When you’re in a transactional environment, it is expected. For example, if you are a car salesman and someone comes to you with a problem like “what car should I buy?”, and your response is, “you should buy X because Y”, that is helpful.

Most communications are not contained within a transactional context. If your mother asks “what car should I buy?”, responding with “you should buy X because Y” might be ‘correct’ but what if she was actually reaching out, and that she doesn’t actually need a car but it just ‘feels’ like it’d help?

In such a case you’d be rejecting her attempt at creating belongingness and a chance for empathy (“why do you need a new car mum? what happened?”) and instead hit her with a status (“I know more about this than you”) and confrontation (“I have resolved what I thought the situation was so now this conversation is over”).

This is at least my interpretation of the terminology. If your question wasn’t searching for a solution but instead you were reaching out to feel like your perspective belongs, then I apologise if I come across as confrontational, and I do not mean to imply I know more or less than you about the topic.

Sometimes what’s important is just sharing that you have a problem, and get support. If it’s a complicated problem, giving a solution is not the most careful answer you can give. For instance “I just discovered my spouse cheated on me” “oh, leave that asshole now!”.

Forest of the Gods from Lithuanian writer Balys Sruoga. It’s cruel book how bandits treat intellectuals in concentration camp. Written in funny style hiding really bad details from reader. It is very eye-opening what one could expect from fellow human being under unfortunate circumstances.

We used it as a textbook for a graduate level math class at Johns Hopkins. I really appreciated his treatment of the material. It’s so accessible, and yet still rigorous enough for advanced math students to get value out of it

I don’t know about _eye opening_, but The Art of PostgreSQL really changed the way I work for the better. Like a lot of people, I used to be one that would pull all my data into Python for processing, Pandas-style. Once I learned how to do it all directly in PG everything became trivial.

[0] https://theartofpostgresql.com/

Do you have some examples of that ?

I always found that SQL is better for data extraction — selecting and filtering approximately what I want to analyze.

But for in-depth analysis, R or Python is better. They’re just much better languages with more control than SQL.

What if you need all columns of a few rows, but the rows chosen as the ones satisfying some condition on a few columns across all the rows?

Maybe you could select pk,a,b,c; identify the ones you want in Python; select * where pk in those; and finish doing whatever in Python – but now you’ve got two round trips to the database.

Obviously that probably doesn’t matter if you’re doing some ‘offline’ analytics, but if you’re serving a request in a web app it’s going to be a lot slower than if you can push that logic into the db, and make a single query.

Even just learning how to use CTEs effectively has been a major improvement for my daily work. Building up a dataset iteratively in clearly defined steps and performing aggregations, transformations, orderings, etc along the way is just a very clean way to work. And it’s easy to short-circuit at any step for debugging if you’re not getting the results you expect. I often work with datasets larger than the amount of memory on my computer so has benefits there as well instead of trying to load it all into Python memory to work with it.

[0] https://www.postgresql.org/docs/9.1/queries-with.html

Maybe it’s been read already by anyone here, but Carl Sagan’s “The demon-haunted world” turned me into an atheist and made me appreciate much more science and the scientific method in general. The irony part is I got to read it because a the logic teacher in my catholic nun-ruled school suggested it.

The Timeless Way of Building by Christopher Alexander.

It really made me reconsider the process and ultimate goals of building systems beyond housing, and how to make pattern languages for any system I build, especially software systems.

I studied urban planning in grad school, but didn’t discover Alexander until I learned that my favorite band Phish had modeled their work on a Pattern Language.

A few that stick in my brain from 20 years ago:

Introduction to the Theory of Computation by Michael Sipser

The classic Hennessy and Patterson: Computer Architecture: A Quantitative Approach

Gray & Reuter: Transaction Processing: Concepts and Techniques

I also think the Gang of Four book always was and still is a tremendously useful read.

& SICP, natch.

I wonder how many Christians there are that haven’t actually read the entire Bible. Like from Genesis through Revelations. It would be super interesting to know the statistic.

Not so much a textbook, but the class NAND to Tetris really opened my eyes as to how computers and OSes work.

Demystifying all that was really helpful for my programming

How to Design Programs: https://htdp.org/

I already had a powerful programming background in Java, C, JavaScript and PHP. I assumed an introductory programming class on the Grasp’s stage can be a waste of time. Going by way of rigorous program design in Racket was a thoughts increasing expertise. I used to be amazed how a lot programming we did earlier than reaching the task assertion (set!) in any other case the very first thing taught in typical introductory programming programs.

The format of the category was a giant a part of the expertise although: all assignments pair programmed after which offered to a panel by a randomly chosen member of the pair.

A detailed second can be PLAI: https://www.plai.org/. As skilled by way of the Brown College on-line model of the Design and Implementation of Programming Languages: https://cs.brown.edu/courses/info/csci1730/

It gave me a really thorough and fascinating grounding within the varied programming language idioms and constructs and the way they really work.

> I was amazed how much programming we did before reaching the assignment statement (set!)

Reminds me of my programming languages course, probably my favorite class in college. Spent nearly a quarter of the course just learning scheme, didn’t know if it would pay off even though I was interested, but when various language constructs were introduced through the use of a metacircular interpreter it was eye opening.

The Shape of Space by Jeffrey R. Weeks — from geometry to cosmology, exercises your mind into visualizing the shape of the universe.

Algorithms by S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani. — compact book that goes from the basics to divide-and-conquer, graphs, dynamic programming, linear programming, NP-completeness, and Quantum.

Euclid’s Elements. I was gifted at most everything language-related in school, but I was complete dogshit at math. Studying Euclid changed my entire perspective. I don’t think I’d have had the self-belief to do programming without having read it.

Gilbert Strang’s “Introduction to Linear Algebra” made it all click for me. I read it at the beginning of PhD studies and in a few weeks it all made more sense than during all of my Master’s studies before.

Coincidentally to this question, he will live stream his final lecture on Monday: https://grinfeld.org/strang/

I used to be amazed studying that, as I wasn’t conscious he even lectured anymore. And after googling a bit and discovering out he’s already 88 years previous, I used to be much more amazed. What an incredible human being, in all probability many hundreds of individuals within the sciences and engineering owe fairly a bit to his life’s work.

Computer Networks: A Systems Approach takes a subject I didn’t think I’d like and presents it in a way that made me want to read every chapter. It’s a master class on how to make technical content enjoyable, and a great intro/refresher to networking. Can’t recommend it enough.

The Elements of Programming Style by Kernighan and Plauger

Software Tools by Kernighan and Plauger

The Psychology of Computer Programming by Weinberg

A cartoon-illustrated DIY Honda Civic repair book from the 80’s I no longer remember the name of.

+1 for Software Tools by Kernighan and Plauger. It was eye-opening for me because it really made me understand the unix philosophy of composing programs out of smaller programs.

A Russian Course by Alexander Lipson.

I doubt it is a very effective way to learn the language (though the bizarre vocabulary it teaches has stuck with me), but it is extremely entertaining.

Lessons take the form of cartoon interpretations of ludicrous government reports (evaluating Comrade Borodin’s management of the zoopark), academic studies (the surprising link between stealing pencils at work and smoking on the trolleybus), and propaganda literature.

I believe there were cassette tapes that accompanied it originally, though I’ve never found them anywhere.

I always wonder when I see this, do people learn to lay comments out like a reverse psychology bait from these books, or are people who are already predisposed to that just drawn to owning them. Any chance the book goes over that?

Not disparaging, I appreciate you sharing a recommendation. I just found the observation funny.

Ironically enough, I have a textbook for that: Jeff Pfeffer — Power: why some people have it — and others don’t. It’s good, and not what you would expect from the title.

For me, probably What Is This Thing Called Science?. It was the first time I really thought about some basic questions in epistemology.

Factfulness: Ten Reasons We’re Wrong About The World – And Why Things Are Better Than You Think (English Edition)
Hans Rosling, Ola Rosling, Anna Rosling Rönnlund

I’m reading this right now and I’m quite surprised by how little I know about the most impactful data on human well-being. The writing is a little bit off sometimes but still worth looking at.

I also liked “Fooled by randomness” by Nassim Taleb. His other writings are good too but I would say this one is the most impactful.

Brigham’s book on the Fast Fourier Transform was an eye opener for me. Not so much because of the “Fast” part (which is super interesting and useful too) but it was the introduction I needed to make integral transforms and convolution click. And that helped tremendously to connect a whole bunch of other dots.

Off the cuff, here are a couple of textbooks not yet mentioned elsewhere on this page (so far):

* “An Introduction to Statistical Learning” by James, Witte, Hastie, and Tibshirani: possibly the best intro to the topic I’ve seen.

* “Introduction to Linear Algebra” by Gilbert Strang: possibly the best intro to the topic I’ve seen.

Also, here are some books that are not properly textbooks but could be used as such:

* “Robot: Mere Machine to Transcendent Mind” by Hans Moravec: remarkably prescient, in hindsight.

* “On the Origin of Species” by Charles Darwin: I was surprised at how readable it is.

* “The Selfish Gene” by Richard Dawkins: It made me question a lot about a lot.

* “The Better Angels of Our Nature” by Steven Pinker: I was shocked at the violence in our past.

* “Gödel, Escher, Bach” by Doug Hofstadter: an intellectual tour de force.

Perhaps not a perfect fit, but if I had to select one it would be Out of the Crisis by Deming.

Other than that, basically all of them to some degree.

There was a horticulture textbook that showed a zoomed-out plot of land on the cover, which with its divisions and sectional diversity effectively looked something like an illustration of the inside of a CPU.

It wasn’t intentional as far as I know, but I have to admit that stuck in my head ever since as a really eye-opening metaphor. And the contents of the book were really new to me and even more eye-opening.

Wish I had the name of the book, sorry.

Wow, that’s fascinating. It’s definitely not the textbook I was using (1990s era design style, quite a bit less decorative and the illustration style was also different) but the effect is similar. I wonder if the illustration on my textbook could have been based on this one.

Calculus I, Tom Apostol

Introduces calculus using vectors from the second chapter. For me, it was a very natural and intuitive introduction to the topic.

Rethinking Madness by Dr. Paris Williams.

Helped me to understand psychosis as a natural process, then when supported, results in a more sane, connected and healthier individual — and that that modern medical world is dramatically behind.

I found CRLS dry and difficult. Skiena’s Algorithm Design Manual was much more approachable for me. That was my go to during interview practice.

Source Link

What's Your Reaction?
Excited
0
Happy
0
In Love
0
Not Sure
0
Silly
0
View Comments (0)

Leave a Reply

Your email address will not be published.

2022 Blinking Robots.
WordPress by Doejo

Scroll To Top