Writing
Working notes
Short, evolving notes on agentic engineering — the thinking behind the method. Everything is marked: v1 is published, draft means I'm still working on it — so you know what you're clicking into.
-
Train a network, then look inside itstart herev1
An afternoon exercise with real output: train a 109,386-parameter digit classifier in 82 seconds, then open it up — the learned stroke detectors, the overfitting gap, the mistakes it makes. Figures from my own run, and the repo to reproduce it: mnist-anatomy.
-
The same network, written outv1
The companion to the piece above: what's actually being computed, in the notation — one neuron built a pixel at a time, then sigma notation, ReLU, softmax and backpropagation. Drawn by hand, with the real activations from my own trained model (60% of the first layer sits at exactly zero).
-
Behavior over kit: what your Claude Code setup says about you
Installed tools tell you almost nothing — the level lives in behavior. The story of the AI Usage Card: why I built it to calibrate a talk for a room of ~50 engineers, and how a level becomes a path instead of a horoscope.
-
The harness, not the promptdraft
The next dev skill is engineering the system around the model — context, the agentic layer, hooks, offloading, observability — not wording the request. Teams that optimize only the engine leave most of the leverage on the table.
-
plan → build → reviewdraft
The loop I work by: scope the work, let the agent build against that scope, then review — with evals so "it works" is measured, not a vibe. Underneath it, one rule: match each piece of work to the lightest layer that can carry it — inline, a command, an agent, or a packaged skill. Keeps the system legible instead of a pile of clever prompts.
-
Model-offloading & the price of lost confidencedraft
When sending non-interactive work to a smaller or local model wins — and when the harness you need to trust its output costs more than the model you saved. The tradeoff is reliability, not just price.
-
What every team should know about LLMsdraft
The mental model that stops cargo-culting: tokens (models think in numbers, not words), the context window (why overstuffing it backfires), tools (why too many slow an agent down), and what an agent actually is — versus when you don't need one. The fundamentals that make everything above make sense.
-
Getting yourself out of the loopdraft
The end state isn't a faster chat — it's work that runs without you. Loop engineering plus scheduling (cron) turns a good harness into unattended runs you can trust: the agent does the job on a timer, and the hooks, evals, and observability are what let you step away.
Prefer the live version?
Reading is the slow way to judge whether I think clearly. The fast way is a session on your own code.
See sessions & pricing