Book Recs
9/23/2025
A few books I felt like sharing, in no particular order. My goodreads is up to date with the books I’m currently reading or have read.
Fictions, Jorge Luis Borges
In each short story, you’re dropped into an ocean of context, and it’s occasionally difficult to find your footing. Tasteful use of satire and irony, and each story is short enough that you can finish a couple in an evening. Enjoyably mind-binding; I have not found an author who can match Borges’ mastery of language and storytelling.
The Idea Factory: Bell Labs and the Great Age of American Innovation
This was probably my favorite read of the year. I was already somewhat familiar with the story of Bell Labs, but this book made the characters feel alive and each phase of the lab’s history feel connected to the broader story.
In the history of Claude Shannon was particularly fascinating to me. There were several chapters I found so compelling that I had to find books covering those topics in more depth to add to my reading list. This book is worth a read, even if you only pick a few chapters of interest; the latter chapters certainly build on the earlier ones, but they also stand alone quite well.
Optimizing Compilers for Modern Architectures: A Dependence-based Approach
Most compiler textbooks (read: The Dragon Book) focus on parsing, semantic analysis, and native code generation. While these are rich fields with interesting problems, my interest in compilers is mostly in optimization, which this book covers in depth. In particular, it covers dependence analysis and other loop analyses which are key for vectorization and performance on modern CPUs.
The Soul of a New Machine
This is a classic; the protagonists are teams of engineers racing to design a new computer architecture. There are plenty of debugging heroics and fun business stories from the earlier days of computing, but do note that I found most of the people written about to be highly unlikable. This book is almost The Wolf of Wall Street but for computer engineers.
How to Write Parallel Programs
I was first handed this book by a mentor who learned to program on punchcards and spent his career optimizing scientific programs. One might assume this book to be more dated than it really is. While it lacks sufficient detail to write performant programs for all purposes on all hardware, this book gives a gentle and well-written introduction to some core concepts. It’s particularly well-suited to CPU shared-memory parallelism in my opinion.
How to Read a Book
I first read this about 5 years ago, at which point it fundamentally changed the way I read. Revisiting the fundamentals of reading comprehension as an adult was extremely helpful to me, and the book’s notion of different levels of reading for different purposes is with me every time I read, from news articles to books, poetry, and technical literature.