Writing about system design, ML systems, and building production-grade software.
Essays on how ML systems behave under real-world constraints.
The concerns no language teaches you and every system grows into — a companion to the Cross-Cutting Concerns part of my book, Applied Computer Science.
Why a concept you can't run is a concept you don't quite believe — a companion to the build-it-yourself approach behind my book, Applied Computer Science.
Why "learning a new language" is mostly relearning ideas you already know — a companion to Part I of my book, Applied Computer Science.
A chance remark about cochlear implants turns into an argument that the hard part of learning was never getting the information — it's acquiring the representation that lets you read it.
A working mental model for agents — and when not to build one. A companion to Chapter 8 of my book, AI Engineering.
Why retrieval-augmented generation is a system you design, not a library you import — a companion to Chapter 7 of my book, AI Engineering.
The gap between calling an API and shipping an app — a companion to Chapter 4 of my book, AI Engineering.
Why large language models stopped reminding me of software and started reminding me of genomics — and what that says about studying any system too large to read.
What the exome era of genomics reveals about subquadratic attention — and the belief trap that follows a good, necessary compromise.
How AI Collapses and Rewrites the Constraints That Created Modern Languages.
Systems fail at boundaries, not implementations. A practice for writing falsifiable contracts and debugging by auditing agreements instead of tracing execution.
An exploration of the surprising parallels between byte order in computer systems and strand directionality in molecular biology, revealing how both domains solve the same fundamental problem.