Crafting Interpreters
Working through the second half slowly. Writing a bytecode VM by hand demystifies a lot of things you otherwise take on faith.
What I’ve read, what I’m in the middle of, and what’s waiting. Notes are my own take, not summaries.
Working through the second half slowly. Writing a bytecode VM by hand demystifies a lot of things you otherwise take on faith.
Slow going but rewarding. Changed how I write postmortems — most of what looks like a bad decision was a decision made under a bad frame.
Short, opinionated, and the clearest argument I have read for deep modules over thin ones. Disagree with parts of it and you will still think better.
The reference I keep returning to. The chapter on consistency models finally made replication lag feel intuitive rather than terrifying.
Free online and worth more than most paid books on process. The appetite-over-estimate framing stuck with me.
Affordances and signifiers, applied to doors and then to everything else. I think about this book every time an error message says only 'invalid input'.
Dated in its examples, durable in its advice. Worth rereading every few years to see which parts you have quietly stopped doing.
On the shelf. Picked it up after a conversation about what the next step looks like when it is no longer about writing more code.