Code: The Hidden Language of Computer Hardware and Software
The Design of the UNIX Operating System
Designing Data-Intensive Applications
They taught me that there is no magic. Everything is logical and comprehensible.
Code: The Hidden Language of Computer Hardware and Software
The Design of the UNIX Operating System
Designing Data-Intensive Applications
They taught me that there is no magic. Everything is logical and comprehensible.
Designing Data-Intensive Applications was really good too, the best new technical book I've read in the last five years or so, though I have had trouble applying its techniques thus far.
- The Elements of Computing Systems: Building a Modern Compiler from First Principles
- Operating Systems: Three Easy Pieces
- Systems Performance: Enterprise and the Cloud
- Exercises in Programming Style
- The Little Typer
- Conceptual Mathematics: A First Introduction to Categories
I could add Queinnec's Lisp in small pieces (for the gradual derivation of fancier and fancier interpreters, the continuation one in CLOS was cool, and the bytecode part also very very cool)
Bratko's Prolog book was nice.
I'm tempted to mention the dragon book but I only read 40%.
UNIX taught me about the how an OS deals with hardware resources and the software that run on them. I now understand the environment in which my processes live as well as the structure of a process.
DDIA taught me about the structure of data, how databases operate on data through transactions, the difficulties of synchronization across databases, and the way data streaming works.