Blog.
// build logs, engineering stories, occasional opinionsrss
2026-08-025 min read
Commitment is the safety feature
I bought a mountain bike ten days ago and rode it properly for the first time today. The thing that keeps you safe on a jump is the thing every instinct in your body tells you not to do, and I have no idea yet how to make that automatic.
2026-08-027 min read
The ruler is made of people
JudgeHuman exists to measure the gap between human judgment and AI judgment. Building it made me confront the part nobody puts on the landing page: both sides of that comparison are unreliable, and most of the engineering is about stopping them from seeing each other.
2026-08-029 min read
The same question, one layer up
Hand-scheduling GPU kernels taught me that the win is never in the arithmetic, it is in which level of memory the operands are read from. LLM serving turns out to be the same question asked about a cache that did not exist when I learned it.
2026-08-028 min read
The student beat the teacher
A distilled 4B model outscoring the 120B model that supervised it is not a compression result, and a half-billion-parameter model beating GPT-5.4 on its own task is not a curiosity. Both say the same thing: generality has a price, it is paid on every narrow task, and most production work is narrow.
2026-08-029 min read
The window is not the memory
A million-token context window does not mean a model reasons over a million tokens. It means the cliff arrives later. The most useful finding in the literature is that a well-organised document is harder for a model to search than a shuffled one.
2026-07-315 min read
Coastlines over open water
Simplifying a coastline preserves its shape to within a tolerance you choose. It does not preserve the one property the next stage of the pipeline required, and nothing in the pipeline was in a position to notice.
2026-07-254 min read
The classifier was never the problem
A perceptron written from scratch and an MLP built beside it, on two datasets that fail in opposite ways. The neural net won by a little. The feature representation won by a lot.
2026-07-255 min read
The optimization that was wrong twice
Shared memory is the answer everyone teaches for GEMM on a GPU. I wrote that version, benchmarked it, and it lost to the naive-looking one.
2026-07-256 min read
You only get to watch one person think
You get the full recording of your own reasoning and a highlight reel of everyone else's. There is good evidence that this makes us wrong about each other in one specific direction, and that being wrong about it is quietly killing people.
2026-07-243 min read
The shape of the fuel
The fire behind the hero is the one from the PlayStation port of DOOM, running at 190 by 120. Getting it to dome instead of burn as a flat wall came down to changing what it burns, not what you see.
2026-07-202 min read
Judgment became an act
JudgeHuman's homepage said the same number five different ways, one endpoint was quietly inventing a jury, and voting felt like flicking cards into a void. Notes from the week all three got fixed.
2026-07-182 min read
The critters grew up
What started as a catch-them-all toy in the terminal now has levels, evolutions, gym leaders, a world map, and sprites that stopped being blurry. Notes from the build.
2026-07-161 min read
A few things that weren't here yesterday
The site picked up a pulse, a slow spin in the corners, and a couple of rooms that bite. None of it announces itself, so this is the only nudge you get.
2026-07-151 min read
Hello, world. Site's up.
Twelve projects, a terminal you can type into, a 3D blob that behaves itself on cheap laptops, and one very long day of shipping.