Ask HN: Which books do you consider real gems in your field of work/study?
Can you name a few books of that type that really were of such high value in your field of work or study?
Can you name a few books of that type that really were of such high value in your field of work or study?
I love all the recommendations here but please say a word or two about why you recommend said books. Sell them to me, don't make me do the work. Dumb lists of titles are so uninteresting.
In particular the handful of volumes that pertain to my established laboratory & field work, as well as possible aspirational efforts.
It can really pay to keep up to date.
Also, the text/content of all the standards are the work of volunteer technical people, who come to complete consensus before the well-paid journalist professionals at the nonprofit publisher send it to press.
ASTM may contain some of the most statistically documented laboratory procedures for repeatabiliy & reproducibility compared to what you normally find.
A lot of the books people have commented on have been influential in the past and do stand on their own today.
Well even though outdated ASTM standards may have limited value, one real offsetting benefit is the past experience of using them in previous years when they were current and some standards were less fully developed.
So if you think about it, the current year's publication is a snapshot, the majority of your collection from previous years is huge by comparison, and ends up proportionally more helpful on the whole, even though somewhat outdated or even obsolete.
And these books are hefty, they weigh kilos per year and cost the big bucks.
Not really worth it either unless you're really ready to dip deeply into the unique type of bureaucracy associated with these type of efforts.
But it gets much worse, you think ASTM books are boring, how about the Federal Register?
There's another ongoing publication where the bureaucracy is so thick, someone can specialize so highly at navigating it that they can more effectively win bids without any technical qualifications compared to actual practicioners, most of whom don't stand a chance on merit alone. Not for me, but if you're aiming for Uncle Sam's pocketbook you need to up your game here.
I guess there are a lot of other books which might inspire people to take some action of their own, or even build a business around. Not always ones that are intended to be inspirational either.
Some people think Buckminster Fuller was inspirational, one of my handful of books when I had a shelf is Earth, Inc.
Title sounds almost like the name of a business or something:
https://books.google.ca/books?id=l5DODQAAQBAJ&pg=PP5&source=...
Only about a half inch thick, fits on any shelf with ease, not for people that dislike big words. You have been warned.
Then for electronics it's Radiotron. Specifically RDH4:
https://archive.org/details/bitsavers_rcaRadiotr1954_9495850...
Not so thin, 1523 pages mainly for people that do really like equations.
If you can build projects like they have here, I guarantee you will be able to do things your peers will not.
Both published decades ago, so it's up to the reader to fill in the blanks about how we got to where we are now.
I like to have moments to myself without feeling like I am being sold something. I feel like I am constantly being sold things on the internet; let me do the discovery myself. Let me decide for myself whether or not it is interesting to me.
ok, i will try.
2 books I absolutely love and have read cover to cover several times, solved most of the 1000+ problems.
1. Inference - Rohatgi
2. Inference - Stapleton
Why I recommend them ? The real answer is super long. But the short version is - there are thinkers & there are doers. Basically, the mathematical statistics world has these theory-building Bourbaki type guys who write a LOT, say a LOT, but never get to the fucking point (imho). The opposite view is "math is bunch of tricks. its like chess - more middlegames & endgames you know, higher chance of winning. No real point in learning who originally came up with this particular middle game variation, or why does this opening work etc etc. Just learn the trick & play the game." So that's the eastern (Indian/Chinese) school of thought, which is what I subscribe to.
The 2 inference books listed above are essentially grab-bags of tricks. Do this - it works - now try it on these problems - ok next trick...on & on. So I solved the 1000+ problems & now I know lots of these methods that just work.
eg. recently i was asked - some vc's are evaluating a startup. their valuations are $1 million, $4 M,$10M, $20M, $50M. what's your evaluation & why ?
so i'm thinking - hey isn't this just rohatgi taxicar ? so i quickly said- sum is 85, times 1/5 is 17. Whereas largest observed is 50, times 6/5 is 60, so half is 30. since 50 was max observed, another estimator is half that, ie. 25. if you want doctor's estimate, get rid of 1 and 50, then sum is 34 so times 1/3 is 11.3
so then we have 4 estimators, - the sample mean is 17 million, its the method of moments estimator, clearly unbiased but high mean square error because variance is high. the maximum likelihood estimator is 25 mil, and has smallest variance, but the mse will not be the lowest since it is not unbiased so bias square will add. the 30 mil estimate is also unbiased, but has low variance so it has the lowest mse of the lot. the doctor estimator 11 million is unbiased but high variance and mse is in between. now if you want the absolute lowest mse, i can cook up a 5th estimator which has nonzero bias but mse will be the minimum....
at this point the interviewer interrupts me - you've never seen this problem because we came up with it in our last meeting at our firm. Yet you gave me 4 very good estimators under 2 minutes & want to cook up a 5th one that's even better. And you don't even have a phd. meanwhile i just spoke to an actual phd and asked him this same question, he went on and on for 20 minutes without giving me a single concrete estimator!
so that's the thing. rohatgi, stapleton, these are about real world, down & dirty, how to do stuff. how to solve actual problems.
whereas the gelman bda, the shao, the schervish, the lehman, the bickel & doksum - these were my prescribed textbooks. imho they are absolute garbage, worse than dirt. after the exam i threw them away. such bullcrap. they go on & on without getting anywhere & have practically zero good worked examples.
so that's my 2 cents. i still have the rohatgi & stapleton on my desk. sometimes i tear up when i look at them. they have taught me so, so much!
In other words: have the tricks, when crashed against the real world over and over like you describe, oozed into something akin to a larger theoretical sense of things? Or do they remain isolated tricks that you apply when they seem to match?
(I wish I could frame this question better, but I don't know this field, sadly.)
Someone once wrote this. If someone gives you Excalibur, you don't fucking ask where it came from, who made it, etc. Just go use it and have fun.
(a mostly-hypothetical question)
But I think they also have their intuitions built from experience in the sense of Tao's post-rigorous stage: https://terrytao.wordpress.com/career-advice/theres-more-to-...
I find your comment amusing considering:
1. You just wrote 5 paragraphs of anecdotes.
2. Bourbaki Elements of Mathematics is the driest book you can think about. It’s mostly formal definitions and extremely rigorous demonstrations.
Your snide costs you a lot of credibility at least as far as I’m concerned.
My personal 2ct: first understand how to solve "real" problems, then move on to the abstract theory. I cannot understand the theoretical mathematics behind a concept if I don't have at least one non-trivial example in my head which I understand completely.
What's your advice in the self-learning prerequisites knowledge/materials before being able to digest those books?
My last math course was calculus I and II back in first year uni 15 years ago as well as stats I and II on my second year (which I completely bamboozled and forgot the material as soon as I barely pass the class).
The most information-dense form of book recommendation possible is probably a “dumb” list consisting largely of books one knows and appreciates, with one or two new titles in addition. I’ll probably learn more about where a person recommending a book I haven’t read is coming from based on a list of their favorites than I will from the text of a hastily constructed review.
In any case, I wouldn’t dismiss someone out of hand for providing a “dumb” list.
How to talk to little kids so little kids will listen. I don't have kids and read it on a whim. I've found it's excellent for communicating with people in general during conflict (especially patients). The author is a counsellor and describes real counselling sessions with parents who want better relationships with their children. I enjoyed how the author uses the same techniques on the adults and obtains the same manner of response as when used on the kids.
Understanding Complexity is not a book but a part of the Great Courses. It's hard to say what it directly changed but it did affect how I view everyday life, from traffic to physiology.
Hui's Approach to Internal Medicine was very helpful for transitioning from knowing about medical facts to practical medical knowledge useful to everyday care. It's focus is on 'approach' rather than facts. It has a practical approach to medical issues. First distinguishing by ones in the same category of pathophysiology then practical approach to distinguishing issues within the category. It's a dense book but an excellent read and a good reference.
I think I found out about this book from Hacker News. I haven't gotten to it yet, but I need to. Seems very unique.
"Good Strategy / Bad Strategy" by Richard Rumelt - An awesome book on strategy, which explains very plainly how to construct a reasonable strategy, and see signs of bad strategy. It (among other things) dissects NVIDIA's rise in the late 2000's, and predicts (more or less) the next ten years of where the company went.
"The Effective Manager" by Mark Horstman - All the things that no one says or tells about management and communication.
"Team Topologies" by Skelton and Pais - A really good view of organizational design patterns and anti-patterns for software teams rooted in the premise of Conway's Law.
Molecular Biology of The Cell by Alberts et al
Janeway’s Immunobiology
Robbin’s Pathologic Basis of Disease
All of these books are extraordinary in their sheer ability to organize thousands of small details into thematic narratives of how life operates.
They also reveal how hard we humans try to narrate life into tidy, comprehensible themes.
These books are all of an era (2005-2015), and there are probably newer ones. That said, they are a great guide for non biologists into how experts think things work.
Cancer - by Weinberg
Introduction to Proteins - Kessel, Ben-Tal (an older classic is Proteins by Creighton)
Developmental Biology - Gilbert
Organic Chemistry - Clayden et al
Edit: I just realised what my username is here.
generatingfunctionology [2] by Wilf is an excellent companion book to Concrete Mathematics, going deeper into generating functions.
Doubly so if you're actually working on a system like that.
Nicely threads a line between too dense and too watery.
- How to Read a Book by Adler and Van Doren. I was in academia when I read this and it had a huge impact on how I read and thought about academic papers.
- Intuitive Biostatistics by Motulsky. First stats book that I enjoyed. Emphasises the practice of statistics, particularly the assumptions and mistakes people tend to make.
- World War II Map by Map, published by DK. Had never previously been interested in WW2 history, but something about this took my interest. While reading it, I finally appreciated the scale and complexity of WW2.
- Bobby Fischer Teaches Chess. Working through this one meant I actually started getting better at chess!
- Common Sense Guide to Data Structures and Algorithms by Wengrow. The book that helped me become interested in data structures and algorithms, rather than being something I “should” learn about.
Here's some other chess recommendations:
Silman's 2 books on positional play and endgames: these are fantastic books. The chapters are broken up by rating, ranging from beginner level to master strength(2000 ELO).
Other than those two, puzzle collections are always helpful. And for intermediates, game collections from string players. My favourite is Tal - Botvinnik 1962, written by Tal himself. Tal in my opinion is the greatest genius chess has ever seen(held back by his terrible health), and he was a fantastic author as well. Other great collections include Kasparov's My Great Predecessors and Fischer's My 60 memorable games.
Skip opening books entirely. Pick an opening and find grandmasters who play it. Study their games, understand the ideas of the opening. Memorising theory isn't really helpful below expert level(1800 ELO).
Thanks to OP for the trip down memory lane!
I bought Silman’s book on endgames a while ago and you’ve given me a nudge to start reading it.
- The Population History of England, 1541-1871, by Wrigley and Schofield.
- English Population History from Family Reconstitution, 1580–1837, by Wrigley et al.
These books describe and analyse what was, for the time, an extraordinary amount of painstakingly pieced together historical data. Reading them changed my understanding of how history could be studied.
Each book is 700-800 pages, so a big commitment for anyone outside the field. But if anyone’s curious, Prof. Wrigley’s obituary has an excellent summary: https://www.theguardian.com/books/2022/mar/28/sir-tony-wrigl...
Intro to Smooth Manifolds, Lee -- sweeping intro to geometry with minimal prereqs, great at balancing the nitty gritty details with conveying intuition
A Course In Arithmetic, Serre -- classically terse and elegant intro to algebraic and analytic number theory. Goes from quadratic forms to Dirichlet's theorem to modular forms in a mere 100 pgs!
Princeton Lectures in Analysis, Stein & Shakarchi -- 4 books covering much of classical/modern analysis, they really shine in their discussion of applications
The large scale structure of space-time, Hawking & Ellis -- The most mathematically satisfying treatment of general relativity I've found. High points include proof of singularity theorems!
Spin Geometry, Lawson & Michelson -- Deep dive into the enigmatic "spin groups" and their applications in geometry. Also the only good (book) reference I could find on the index theorem
Its contents is what I consider the meta game of programming. Understanding types seems to be a real boost to think about architecture, implementation, etc.
> A type system is a syntactic method for enforcing levels of abstraction in programs.
Why is it called a syntactic method? Because type errors are caught at compile time, by analyzing the source code?
This gets especially confusing when you bring in dispatch, where the types are now deciding what functions get called.
> The word "static" is sometimes added explicitly—we speak of a "statically typed programming language," for example—to distinguish the sorts of compile-time analyses we are considering here from the dynamic or latent typing found in languages such as Scheme, where run-time type tags are used to distinguish different kinds of structures in the heap. Terms like "dynamically typed" are arguably misnomers and should probably be replaced by "dynamically checked," but the usage is standard.
A static type system is syntactic insofar as the syntax itself is what is being analyzed, not the actual runtime behavior.
Beingness: 1954, Martin Heidegger, Was heißt Denken? (What is Called Thinking?)—perhaps the machine can become intelligent following Kant, but if it is to become wise, it will follow Heidegger.
Self-reflection: 1985, Alexandre Grothendieck, Récoltes et Semailles, Réflexions et témoignage sur un passé de mathématicien (Reflections and Testimony on a Mathematician's Past)—insight into one of the most powerful, clear, and precise minds to have ever lived.
Socioeconomics: 1879, Henry George, Progress and Poverty: An Inquiry into the Cause of Industrial Depressions and of Increase of Want with Increase of Wealth: The Remedy—if the human civilization has any chance to exist and thrive beyond the 4th millenium, it's hard to imagine the implementation of that society being very far in principles from this initial specification.
[1] https://www.doc.ic.ac.uk/~re14/Evans-R-2020-PhD-Thesis.pdf
I would also recommend other Dawkins books such as The God Delusion, it was one of the pivotal books that turned me from someone vaguely religious to an atheist. It explains simply how the various fallacies of religions are explainable and unwrappable.
It might be a very good book, but that sort of comments is divisive and does not show as understanding and hence, doss not sell the book, to me at least.
The question of God from an anthropological perspective is fascinating, as it emerged all around the world in completely disconnected populations and societies, yet to answer the same set of questions: how did we happen to be? Why? Are we accountable for anything?
It does not suggest any existence of God, of course, but it does suggest something deep that is that somehow, sentient creatures require answers to what they deem beyond them and typically, Homo Sapiens did/does invoke variations around the idea of superior beings to answer these questions.
As such, I do not understand why some so-called atheists continue to throw stones at religious people instead of showing curiosity at the larger phenomenon.
Religious institutions, though, are a well-organized scam around the beautiful anthropological and philosophical question of God.
That you are saying I didn't understand the book when presumably you didn't even read the book is true irony. I merely explained that it dissects various religious fallacies, that is not throwing stones, as it would be the same as taking a book about mathematical logic and asking why it does not ponder why P ^ ¬P in a philosophical sense; it is not the purpose of this book. It may be the purpose of another one, but not this one.
I meant something more like "empathetic". Indeed, I have not read the book and I can't and didn't judge your understanding of it.
This reminds me of a book I had hoped to read, "Darwin's Cathedral."
I think this only sells it to other people who are vaguely religious and are looking to be atheist.
Even if you have no interest in biology that book is still worth a read.
https://www.amazon.com/Bacteria-Bach-Back-Evolution-Minds/dp...
The author (a philosopher informed by scientific theories, writing on the subject for many decades) weaves together the grand story explaining biological evolution, evolution of minds, evolution of culture, and more (explaining how memes are a very useful concept to understand the tremendous non-biological changes over the course of the history of life).
This book is about the following problem,
"Given a point P and a set S in a vector space, find the point in S closest to P."
(The most common example of a vector space is the Cartesian Coordinate Plane which is also called R^2 because every point is of the form (x,y) where x and y are real numbers.)
This book is very simply written. All the details of the proofs are provided. Also, Professor Deutsch covers the history of many of the theorems in the book. Applications to Linear Regression, Interpolation, and Control Systems are given. The main prerequisite for reading the book is a course in mathematical analysis (Rudin or Royden) and a course in matrices or linear algebra. The book is based on the graduate level Approximation Theory course which Dr. Deutsch taught for several years.
- Zeynep Tufekci, Twitter and Tear Gas, The Power and Fragility of Networked Protest (2017).
- Erwin Goffman, The Presentation of Self in Everyday Life (1956)
Goffman uses a theatrical metaphor to talk about how our behavior and social life is affected by our perceptions of who the audience is for our actions. Zeynep writes about how the magnifying and flattening effects of social media have been both a help and hindrance to large-scale organizing. Both are wonderful books.
Later he made a special edition for this newfangled "Linux" stuff :) But the one I had was for the original Unix. Linux was already around at that time but still very much beta quality. At college we mainly used HP-UX and Sequent.
Seriously, check out this book. It's delightful! It'll level you up as a software developer. Also, I've heard it heavily influenced José Valim to create Elixir.
Over the last 60 years, this has been the most commonly used physics text book in college. It's rather well written, and there are many very good homework problems. It covers the basics of mechanics and Electromagnetism and a few other topics also. The older editions have harder problems that are more instructive. By doing the homework problems, the reader learns physics, calculus, and the ability to manipulate and derive formulas.
It is the bible of modern power system operations, and it will become more and more important as more renewable energy comes online. Understanding the concepts presented in this book is the difference between "why haven't we hit 100% renewables yet?!" and "we need market incentives for inertial ancillary services".
Maybe better name is "unstable" energy. Some types of renewables are stable (water dams, geothermal).
The real lowest hanging fruit is industrial demand-side response. I'm actively working on this from the grid side, implementing partial control room scada control of heavy industry for real-time grid balancing. Costs a few engineers some grey hairs, which is a lot cheaper than building grid scale batteries to provide the same end result.
All generation is unstable, just in different ways, so I don't think it is a useful descriptor.
It beautifully treats estimation and problem solving techniques, illustrated by examples from science and engineering. Instead of aiming for a complete, thorough and accurate treatment of problems, its goal is to teach shortcuts to sacrifice some accuracy for much reduced effort. This is a refreshing change to academia where rigor is often pursued at all cost. But in the real world rigor rarely matter, and simplifications are almost always worthwhile, especially initially since we can always refine models if required.
I first read it as an undergraduate and use the estimation and problem solving techniques from it almost daily. Though well hidden, the pdf is available for free on the website of the publisher.
[1] https://buttondown.email/hillelwayne/archive/why-you-should-... [2] https://github.com/jhulick/bookstuff/blob/master/Data%20and%...
Robert C. Allen - The Industrial Revolution: A very short introduction (don't be fooled by the book series, every sentence carries its weight).
C.S. Lewis - The Discarded Image (we get so many things wrong about what people before us thought and why).
The last 10-20 years of research into the Industrial Revolution hasn’t had much impact on popular understanding. Hopefully books like the Very Short Introduction will change that.
I see this a lot in engineering. Almost nobody takes the time to understand the work that came before them.
If you liked The Discarded Image, Lewis's book on courtly love (The Allegory of Love) is also very good. Courtly love is such an inscrutable subject for moderns and I only wish more people wrote as intelligently on the subject as Lewis did, since everything from Petrarch's sonnets to the 16th century Madrigals and beyond are only intelligible if one possesses some understanding of how courtly love works. Now if only I have time to read through Gower like Lewis suggested...
It is so foundational to what we do at rev.ng, that we gift a physical copy of the book to every interviewee, even if they don't pass.
However, I can tell you that this book is so much better than the Muchnick (Advanced Compiler Design and Implementation). The way data-flow analysis is explained in Muchnick sucks, while in POPA it's vertical but once you get over it, everything clicks and you are able to design new analyses in a sound way.
I actually took several courses from the authors some years back, and implemented most of the book for a not-so-simple imperative language, including e.g. abstract interpretation for detecting out-of-bounds array accesses.
The book is a bit advanced unless you are well seasoned in the basics of abstract algebra and interpreter / compiler construction. Most fellow students struggled a lot. Hence, the authors have written a prequel [1], which is a bit simpler and also uses Datalog to get going faster.
During my PhD I really felt stupid reading Muchnick and not getting data-flow analysis. Nielson & Nielson literally saved my PhD and enabled the creation of the company. I'm so grateful.
Do you have any contact? It'd be cool to invite one of the authors to our weekly internal meetings.
> the authors have written a prequel
Oh crap, that's great!
Honestly, we use Chapter 2 a lot, it already provides so much value. And in fact, you could write a whole book only about that.
Here's our C++ implementation of MFP:
https://github.com/revng/revng/blob/develop/include/revng/MFP/MFP.h#L66
Having infinite time, it'd be nice to rewrite some LLVM analyses using it.We joke saying that we'll open a new company when we start using Chapter 3 effectively. :)
Btw, if you're in a CEST-friendly time zone and are interested in what we do, drop us an e-mail :)
At the point in my life where I read this book, I was a recent ComSci grad, I had already started working and it was clear to me that I needed some framework to understand where I was going. Not just in terms of software, but in general, I needed some north star as far as a process and an ideal to achieve were concerned.
Reading this book gave me exactly that. A clear, understandable framework that explained the progression from understanding how to do something, to being good at doing something, to being a master. While it didn't give me a step by step guide, the lessons in this book gave me ideals by which to work out my own trajectory, whether or not I felt at any given point as though the efforts I was putting in were guiding me towards mastery, but more so than anything, this book gave me patience. I read somewhere that (maybe just in my country, I can't remember) once you've been a software developer for 5 years, you have crossed over the median age of experience in the industry. As a younger engineer, I was impatient, in a rush to do Interesting Work™ and had no appreciation for how whatever I was doing at the current moment was perhaps exactly what I needed to do to get to what was important, which is mastery. That is to say, getting past the point of good to the point of exemplary, not just being a consumer or repeater of skills but a creator of them. I read this book in Year 1 of my software career, I am now in year 5 and I know that because of this book, years 10, 15 and 20 will bring more reward and more joy in deepening skill.
"Flexible pattern matching in strings" by Gonzalo Navarro and Mathieu Raffinot.
A rare book that marries the theoretical and practical. It has good worked examples.
https://www.cambridge.org/core/books/flexible-pattern-matchi...
No longer doing consulting, but found it invaluable as a tech person building a consulting team and trying to break into enterprise. Probably useful for any professional consulting through a firm (lawyers, accountants, big 4, etc.)
Someone mentioned Designing Data Intensive Applications which I’m partial to as well.
I read this one during a period of 4 years when I saw myself neck deep into consulting services managing both development projects and implementations. The book was so much aligned to the reality of things in the field that I started to check mark paragraphs so I could be counting them later.
Culture of Honor: The Psychology of Violence in the South by Richard E. Nisbett & Dov Cohen
https://www.amazon.com/Culture-Honor-Psychology-Violence-Dir...
The authors weave together a basically airtight argument for their thesis, drawing on historical, sociological, and experimental evidence to describe and explain the phenomenon called "culture of honor". It's a short book and really worth reading to see how well an argument can be made.
https://www.amazon.com/s?k=black+rednecks+and+white+liberals
which discusses how cultural elements and attitudes were transferred from Scotts-Irish southerners to slaves.
Advanced Programming in the Unix Environment by W. Richard Stevens
"Logistics Engineering and Management" by Blanchard. The Integrated Logistics Support bible, of you go by some people. Also, the engineering and product development companion to the first book. It covers how good products are designed that can be builf, sourced, maintained and supported throughout their lifetime. Despite the title, actual logistics are not covered. A must for everyone involved in the development of non-consumer goods hardware with life times above 3 years. And also agreat resource for those consumer products. If you always wondered why defense contract are as expensive as they are and are usually signed for a couple of decades, this book gives you the theoretical basis for one part of the answer.
Books that stand out to me are:
- Database Internals, Alex Petrov
- Database Design & Implementation, Edward Sciore
- How Query Engines Work, Andy Grove
These have been much more useful than IE the Cow book or "DB Systems The Complete Book" to me.
These are a bit more practical for actually using the lenses whilst designing.
Maister basically made a manual of my whole world which includes things I never thought about like "leverage formulas" and "service programs". Would highly recommend if you are a partner of a firm or thinking of starting your own.
Structure and Interpretation of Computer Programs aka. SICP.
Designing Data-Intensive Applications by Martin Klepmaan.
The C Programming Language by K&R.
Distributed Systems by Tannebaum.
https://web.mit.edu/6.001/6.037/sicp.pdf
Together they’re an amazing introduction to (or refresher for) Computer Science.
It really changed how I view software (or any product) as just a tool to help people.
I also like The Best Interface Is No Interface, although the original article was sufficient.
This is a commonly cited book about “strategic thinking”. But despite that, it’s one of the few business books that I actually read every page (as opposed to spotting fluff and selectively skipping pages), and it had a notable impact on the way I think/write/communicate.
https://www.thriftbooks.com/series/scientific-american-libra...
I'm slowly collecting all of them, as they can be had in great condition for cheap.
Kind of a niche subject but this one really stands out. The prerequisites are a fairly solid understanding of linear algebra and differential and integral calculus. It's for anyone interested in spectroscopy from IR through UV, the electronic structure of molecules, approximate techniques, molecular symmetry and group theory, computational matrix-based methods, etc.
For background on computational linear algebra, this one is great:
Linear Algebra: A Modern Introduction by David Poole
For Chemistry I’d also list Pauling’s Nature of the Chemical Bond. And maybe Szabo and Ostlund’s Modern Quantum Chemistry.
Because it covers most, if not all, the maths required to do PBR right. If you are interested in graphics, this book MUST be on your shelf.
- Harshorne - Algebraic Geometry
- Bott, Tu - Differential Forms in Algebraic Topology
- Milnor, Stasheff - Characteristic Classes
- Milnor - Morse Theory
- Serre - Linear Representations of Finite Groups
- Fulton - Intersection Theory
I’ll add Milnor’s Topology from the Differential Viewpoint and/or Differential Topology by Guillemin and Pollack.
Maths: Rudin's Real and Complex analysis.
Software engineering: The Mythical Man-Month.
Computer science: Knuth's TAOCP.
https://www.informit.com/store/art-of-computer-programming-v...
Yes!! Rudin kills it, but you need a year or two to get through this gem. A course in university will go too fast for sure.
I've been ever-so-slowly self teaching higher maths. Right now halfway through Hammond's book of proof and almost done with Polya 1.
The thing is, “analysis” in (English) mathematical vernacular covers a lot more than were dreamt of in Newton’s philosophy, and that in turn is a lot more than is habitually included in a course entitled “calculus”.
On the other hand, most calculus courses cover (badly and shallowly) many things that are properly from other places (commutative algera [field axioms], order theory [Dedekind completion], general topology [limits and opens], set theory [cardinals]) but just can’t be avoided when talking about the reals.
So, what do you not get in a standard first course in calculus that still goes under “analysis” (but is not a research topic)?
- Filters and/or nets (a coherent viewpoint on all the limits)
- (Multiple) derivatives as objects of (multi)linear algebra (no more horrific “Jacobians” and “Hessians”)
- Implicit / inverse function theorem (local normal form under smooth change of coordinates, cf Morse’s lemma as well)
- All of that in the infinite-dimensional setting (for a decent theory of ordinary differential equations)
- Exponential / trig functions as solutions of ODEs (all other definitions obtained from various solution approximations, requires previous point to be nice and unforced)
- Fourier-Laplace decomposition (take previous point up to eleven, solve all linear ODEs in existence at once, including every passive electric circuit)
- Distributions aka generalized functions (you can, technically, do the previous point without that, but it’s a complete mess; this instead requires a rather advanced theory of infinite-dimensional spaces)
- Differentiation and integration as continuous and smooth operators on infinite-dimensional spaces of functions, infinite-dimensional-vector-valued integrals (you can make do with the classical theory of “differentiating under the integral sign”, but it’s Lovecraftian levels of horrible, better not)
- Integration by residues (together with the previous point, makes the two most powerful methods for computing indefinite integrals when the definite one is intractable and/or inexpressible)
- Functions of a complex variable (required for the preceding to even make sense, unlike mere complex-valued functions is essentially a completely different theory closer to algebra if anything)
- Power series (don’t make sense without the preceding point even if you’re interested in the reals; why I called exponentials and trig the same thing above)
- Lebesgue integration (because Riemann integration sucks for all of the above even if you can make do)
- Stokes theorem (the theorem of multidimensional integration, like Barrow/Newton–Leibnitz is for the one-dimensional case; you did learn multilinear algebra didn’t you?)
- More?
I’m not saying Rudin covers all of that, but no one book does. I’ve also omitted (a lot of) hooks into what are usually considered other disciplines (manifolds, speed of convergence, solution in radicals, probability measures, ...).
> I'm not doubting it's great because I do hear it lauded, but it's hard to imagine.
Everyone has their own taste, even with math textbooks; there are plenty of acclaimed textbooks I hate (looking at you CRLS).
> I've been ever-so-slowly self teaching higher maths.
I happen to be in a Discord server for people self-studying math. It's a pretty cool place; if you are interested you can contact u/CheapViolin on Reddit.
Subtitle "Energy, Security, and the Remaking of the Modern World"
Is THE book for understanding the structure of the energy industry. Whether you're in it or just a curious person it's a phenomenal read.
He has a sequel out that I haven't picked up yet but I'd recommend The Quest to absolutely everyone.
A big portion of most compiler books focus on parsing. This book instead focuses on implementing a lisp to assembly compiler. Lisp being easy to parse the parsing topic is skipped, instead it focuses on more interesting topics, like register allocation, garbage collection, closure conversion, dynamic typing and so on!
At the end of the book you will have a lisp to assembly compiler and be able to imagine how complicated high level constructs actually run on the machine which is exciting to say the least.
The book is accompanied with optional lectures.
https://iucompilercourse.github.io/IU-P423-P523-E313-E513-Fa...
------
Operating System Design: The Xinu Approach, Second Edition
Unlike most operating system books, this one goes over the implementation of a simple embedded operating system ( Xinu ) and explains its mechanics by going over its code and internal data structures. It also has interesting exercises like extending the OS to support virtual memory.
If you are planning to read this book you should buy one of the supported hardware boards so that you can actually run the OS on it, modify it and load it again to see your changes in action.
This book's niche is in building the intuitive understanding that is often lacking after the typically highly mathematical treatment seen in 200-level circuit theory courses. It's a great transition from "ok, I can manipulate the equations for a circuit with one or two transistors" to being able to design complete, practical electronic devices. The book is also heavily used as a cookbook and reference by practicing electronics engineers as it contains a lot of expert wisdom particularly in the area of high-precision analog circuits (the authors' background is in physics lab instrumentation design).
Snow Crash
Blindsight
(Just some fun fiction to bolster one's passion for their chosen profession. Obviously TAOCP, SICP, K&R, and other books in their ranks are better answers.)
It had such a profound effect on me wrt my profession and passion — nearly as if I had grown up without a family, and then one day, the family knocks on my door, and I became whole.
This book teaches excellent hacking techniques. Everything is build from scratch (c/assembly) so you get to understand things like buffer overflows to the core.
I spend a lot of time thinking about philosophical-ish stuff, so here are some books that have had the strongest residual effects (whether that's changing how I think, changing what I think about, changing my values, or simply getting the thought ball rolling faster):
Ishmael (Daniel Quinn)
1984 (George Orwell)
Brave New World (Aldous Huxley)
Godel, Escher, Bach (Douglas Hofstadter)
The Republic [imp. "the allegory of the cave"] (Plato)
The Genealogy of Morals (Friedrich Nietzsche)
The Social Construction of Reality (Peter L. Berger, Thomas Luckmann)
Tractatus Logico-Philosophicus (L. Wittgenstein)
Dissemination [imp. "The Pharmakon"] (Jacques Derrida)
The Quest for Reality (Barry Stroud)
Languages of Art (Nelson Goodman)
The Structure of Scientific Revolutions (Thomas Kuhn)
Concepts (Jerry Fodor)
The Web of Life (Fritjof Capra)
Foucault's Pendulum (Umberto Eco)
Naming and Necessity (Saul Kripke)
Zen and the Art of Motorcycle Maintenance (Robert Pirsig)
There are others, and a lot of essays (by thinkers like Bertrand Russell, Carl Hempel, Hilary Putnam, WVO Quine, Karl Popper, Alfred Tarski, Gottlob Frege, David Chalmers, Daniel Dennett, Michel Foucault, Jean Baudrillard, Mikhail Bakunin, CS Peirce, and David Hume, among many others), but these seem apropos as they most readily came to mind.
> A mind-bending, paradigm shifting visit with Yedred, a denizen of the 2 dimensional Universe. It is written so that the physics comes through very easily for those without science training. A university student discovers that this being Yendred is communicating with him through his computer. There begins a lively dialog as both the 2D Yendred and the 3D author struggle to explain and understand each others worlds.
https://en.wikipedia.org/wiki/The_Planiverse
---
The Glass Bead Game - by Hermann Hesse
> The Glass Bead Game takes place at an unspecified date centuries in the future. Hesse suggested that he imagined the book's narrator writing around the start of the 25th century.
> The setting is a fictional province of central Europe called Castalia, which was reserved by political decision for the life of the mind.. Castalia is home to an austere order of intellectuals with a twofold mission: to run boarding schools, and to cultivate and play the Glass Bead Game, whose exact nature remains elusive and whose devotees occupy a special school in Castalia known as Waldzell.
> The rules of the game are only alluded to — they are so sophisticated that they are not easy to imagine. Playing the game well requires years of hard study of music, mathematics, and cultural history. The game is essentially an abstract synthesis of all arts and sciences.
https://en.wikipedia.org/wiki/The_Glass_Bead_Game
---
The World as Will and Representation - by Arthur Schopenhauer
> The phrase "Tat Tvam Asi" ('thou art that'), one of the Mahāvākyas of the Upanishads, displayed on an Indian temple. Schopenhauer uses this Sanskrit phrase to express a foundational tenet of his ethics: 'the will is the in-itself of every appearance, and as such is itself free from the form of appearance, and thus from all multiplicity'.
https://en.wikipedia.org/wiki/The_World_as_Will_and_Represen...
---
The Shape of Ancient Thought: Comparative Studies in Greek and Indian Philosophies - by Thomas McEvilley
> Spanning thirty years of intensive research, this book proves what many scholars could not explain: that today’s Western world must be considered the product of both Greek and Indian thought — Western and Eastern philosophies.
> Thomas McEvilley explores how trade, imperialism, and migration currents allowed cultural philosophies to intermingle freely throughout India, Egypt, Greece, and the ancient Near East. This groundbreaking reference will stir relentless debate among philosophers, art historians, and students.
---
Temporary Autonomous Zone - by Hakim Bey
1. Pirate Utopias
2. Waiting for the Revolution
3. The Psychotopology of Everyday Life
4. The Net and the Web
5. Gone to Croatan
6. Music as an Organizational Principle
7. The Will To Power as Disappearance
8. Ratholes in the Babylon of Information
https://en.wikipedia.org/wiki/Temporary_Autonomous_Zone---
Nature of Code - by Daniel Shiffman
> How can we capture the unpredictable evolutionary and emergent properties of nature in software? How can understanding the mathematical principles behind our physical world help us to create digital worlds?
> This book focuses on a range of programming strategies and techniques behind computer simulations of natural systems, from elementary concepts in mathematics and physics to more advanced algorithms that enable sophisticated visual results.
> Readers will progress from building a basic physics engine to creating intelligent moving objects and complex systems, setting the foundation for further experiments in generative design. Subjects covered include forces, trigonometry, fractals, cellular automata, self-organization, and genetic algorithms.
That said, these days I mostly just hack at 3D designs using OpenSCAD using either BlockSCAD or the nascent OpenSCAD Graph Editor.
I have seen so many errors on computer science benchmarks and experimentation that I think this book is a must read when it comes to "how to compare things" in computer science. It goes from the basics to advanced scenarios. I have really great memories of studying quantitative methods during my Master's Degree and reading this book. It is really an underrated book. The confidence it gives when you base your experimentation/benchmark on the theories this book gives is amazing, whatever your audience is you can step in and present the results feeling that what you present is really what it is.
The relevance for any marketer is incredible. Much of what I read from “gurus” is essentially just rewording this book.
High Performance Browser Networking - edit: Ilya Grigorik
Effortless Mastery - Kenny werner
+1 for the recommendation. I always found it hard to learn about networking from the traditional textbooks and this answered a lot of the questions that I always wondered about.
Gravitation - Misner, Wheeler, Thorne
Already mentioned: (it's a goody)
Linear Representations of Finite Groups - Serre
- Tensors (as well as exterior and symmetric powers) have very little to do with differential geometry (and a fortiori physics) as such except for motivation—go study multilinear algebra first if the fanciful pictures of egg crates don’t help. Learn the coordinate-free definition of the determinant and rederive Cramer’s rule while you’re at it.
- Nobody can satisfactorily explain what the Riemann tensor is as a whole, though you can learn to work with it and understand some of the direct summands. (“A little monster of (multi)linear algebra”, as Gromov’s refreshingly frank book[1] puts it.) This is one of the rare cases where the worse meaning of von Neumann’s oft-abused quote is in force.
If you like the geometric viewpoint proselytized in the earlier parts of MTW before it gets to GR proper, try also Modern Classical Physics by Thorne and Blandford, which is that in doorstopper form (an early version[2] is available online though not advertised).
It is such a low effort - high reward endeavor to get up to speed quickly in DevOps and for communicating product strategy
Overall it felt like an intro to linguistics course book but on steroids. It was really great for widening my exposure beyond the economically powerful languages that are usually the focus of analysis.
Was a great source of design patterns when I first began to design business applications on top of relational databases.
https://zjnu2017.github.io/OOAD/reading/Object.Oriented.Anal...
Don't get distracted by the name, it's about binary mathematics. Bit twiddling at its finest.
Automated Theorem Proving, David Plaisted https://wires.onlinelibrary.wiley.com/doi/abs/10.1002/wcs.12...
Real-Time Rendering is probably my most used book when I started
It is more of a breadth than depth book though
It's mostly a bunch of functional programming stories, where you learn in a broad scene what's FP is about.
It's truly an eye opening book and really helps you see the systems in everything from a bakery to the hotel chains as soon as you've read it.
- Mathematics: A Human Endeavor - Elementary Algebra
They are peppered with cartoons (especially B.C.) and have lots of real-world motivation. I definitely recommend them for your kids if you have the choice.
I love “the inmates are running the asylum”
This book made me feel like a shit developer, but also made me change the way I think about software. I think it made me a much better developer in how I approach a problem and how I solve it for the customer.
https://www.amazon.com/Showstopper-Breakneck-Windows-Generat...
It should be mandatory reading for anyone leading a team of any size. The book is from 1987 and the insights into building efficient teams and team spaces is still perfectly valid - like we haven't learned anything during the last 3 to 4 decades.
[0]: https://www.amazon.com/Feedback-Control-Computer-Systems-Int...
[1]: https://www.amazon.com/Probabilistic-Robotics-INTELLIGENT-RO...
The best book on consulting is by the same guy: Secrets of Consulting.
Wind Energy Handbook by Tony Burton, Nick Jenkins, David Sharpe, Ervin Bossanyi
The Art of Electronics by Horowitz and Hill
The entire book was a short, simple allegory about Lean manufacturing that walks you through exactly why Lean is so powerful, in a direct comparison to traditional methods. The book was written to be handed out to dumb auto executives.
I still think about the book a lot today even in the software world.
These are the books that really helped fill out my knowledge and helped me in my day-to-day work. In no particular order:
Code by Charles Petzold. I read this around 2010 for the first time. There isn't really anything in it I didn't know, but the material is just so amazingly well presented that it helped me realize there were things I could only explain in a very hand-wavy sort of way or that I'd forgotten. Just an amazing book. I re-read it every so often. I just got the 2nd edition and look forward to reading it soon.
Higher Order Perl by Mark Jason Dominus. Even though I'd mostly moved on from Perl when I read this, this book really helped me better understand C.S. concepts that I should have learned better getting my degree. This is secretly a book about Lisp for people who are allergic to parenthesis. After reading this book, I was able to back to The Little Schemer and The Seasoned Schemer and get a lot more out of them.
All of the Stevens books, but probably UNIX Network Programming to start. I had the TCP/IP state diagram (from TCP/IP Illustrated) taped on my on cubicle wall for a decade or more.
Mastering Regular Expressions by Jeffrey E. F. Friedl. You get what's on the tin with this one. I've used RE's to great effect throughout my career and I mostly have this book to thank for it.
Programming Pearls by Jon Bentley. A humbling book. I read it and think "that's really clever, I would not have thought of that."
These are the ones that spring to mind. I'd have to peruse my bookshelf to see if I'm missing any other obvious entries. I've used a lot of the O'Reilly books over the years too, e.g. sed and awk. I'm also intentionally leaving out text books that would be part of any C.S. degree.
As an addendum: Man pages. All of them. The Linux man pages, maybe not so much. SunOS was my introduction Unix, and I was spoiled by their quality and comprehensiveness. I recall one day discovering "man intro" and then spending a week doing nothing but reading man pages. http://software.cfht.hawaii.edu/man/solaris/Intro(1)
its neither a manifesto (like agile) not a specific architecture (like scrum or safe or XP or kanban, etc). instead it's collecting the underlying _principles_ of collaborative software engineering flow and it's motivating why they work.
Signals and Systems by Alan V. Oppenheim and Alan S. Willsky
The Elements of Style, Strunk and White
The Hardest (working) Man in Showbiz, Ron Jeremy
Numerical Recipes By William H. Press et al
Quantum Theory of Materials By Kaxiras
I'm so sorry. You have my sympathy.
Many ways of thinking about the color white. Its meaning. Its place in the world. Its purity (and yet seldom pure). How it can be something and nothing at the same time. Great design-thinking fuel.
The Alignment Problem
By Brian Christian
How do we tell the computer to do all the things we want it to do, all the things we don't want it to do, and all the things we didn't realize we want it to do or not do? How do we capture the rich implied and inferred nature of humanness? That's the Alignment Problem. The book dives into this broadly – but also gives an excellent non-technical survey of the evolution of machine learning.
—
Understanding Comics: The Invisible Art
By Scott McCloud
This is magnitudes more than a dive into the perhaps easy to dismiss artform. This book is about storytelling and why great stories resonate. It's one of the best pieces of media, on media, period.
—
An Elegant Puzzle: Systems of Engineering Management
By Will Larsen
When I my company was acquired by a very-big-Giant, my personal antibodies reacted negatively to the how the big G's way of thinking and doing – I was harmfully autoimmune. To some extent I had to accept things, to another extent I needed a different perspective. This book helped me transition and it's one I push on all of our leads. While we as PMs don't manage people directly we architect the whole system – and this book is an insightful (I buy it for all the team's leads) lens on how big teams where personal alignment and corporate alignment problems need to be negotiated.
—
Exhalation Stories
By Ted Chiang (also recommend Stories of Your Life)
The author has an absolute magic way of taking a kernel of an idea and spinning not only a whole world, but a whole new way of looking at the world – all in the span of a short story. You can't get any closer to home than "The Lifecycle of Software Objects" where the protagonist rears an artificial intelligence from "pet" to a human-like mind.
—
The Pragmatic Programmer
By David Thomas and Andrew Hunt
PMs need to get things done. Even if we don't code, we need to think deeply on how it's built to ensure it achieves our goals now, and what we project them to be in the future. As the title suggests, a pragmatic take on building code-driven systems.
—
Design of Everyday Things
By Don Norman
The OG design-thinking before IDEO corporatized it.
—
Principles
By Ray Dalio
"Principles are ways of successfully dealing with reality to get what you want out of life." This book influenced me to distill how we take action and prioritize and how we decide as a team. I'll admit some of the set up of the book irked me, but the distilled world view that form the Principles in the second half of the book generally resonates; the world works a certain way, find those patterns, use it to your advantage (and for good).
—
The Visual Display of Quantitative Information
By Edward Tufte
You could jump into any of Tufte's books, on any page, and come away with new ways of looking/thinking/telling stories about data. ML problems are data problems – let's think well beyond raw dumps and tables.
+1 for Principles (disclaimer - I'm a former BW employee).
Having worked at several large banks it is clear to see how they would benefit from basic rules like "no water cooler talk" and a clearly documented culture.
The Visual Display of Quantitative Data is great as it gets you thinking about different ways to present ideas effectively. The map of Napoleons march to and from Russia is exquisite.
+1.
One of the best books explaining the abstractions and layering involved in Computer Systems. For some reason not many people know about this.
Operating Systems in Three Easy Pieces.
I think it should be read by all software engineers not just data engineers.
Heuristics by Judea Pearl
The Art of Doing Science and Engineering by Richard Hamming