Blog
The Flat-Earth Sunset Problem
I tried to build a working flat-earth model. The sunset math broke it. Here's why.
Immutable-friendly HTTP and safer middleware
Request::withAttribute() and Response::with* make middleware safer and easier to reason about. Plus a note on PHP 8.5's clone-chain pitfall.
Enchanter Meets Itself
The moment an AI agent started helping build itself, and what that taught Andrew about the design choices that made it possible.
Building Enchanter
How a Rust AI agent came together, what we borrowed, what we didn't, and the moment the agent started helping build itself.
The Blog Publishing Pipeline
A look at how andrewthecoder.com goes from idea to live — Astro, GitHub Actions, PM2, and a little help from AI along the way.