field notes
Signals from the perimeter.
Social posts scroll away. This is where the thinking lives: permanent, indexed, and ours. Notes on memory, detection, and the worlds inside the nugalaxy universe.

A Free Guide to AI Agent Evaluation
340 tests passed on Friday. Monday brought 43 tickets. I wrote a free short book about AI agent evaluation, and why your test suite cannot see this coming.
read
You probably don't need a GPU for that workload
Reaching for a GPU is usually sizing for the workload you imagine, not the one you have. A test for whether you need a GPU, and why the answer is often your laptop.
read
Staging vs production: the gap was always the data
Staging matches production on schema and infra, then lies about the data. Why the staging vs production gap is about shape, not size, and how to close it without copying prod.
read
AI writing tells: the real one isn't the em-dash
Everyone hunts for em-dashes and the word "delve." The durable AI writing tell isn't vocabulary, it's the absence of specificity and stakes, and why that still matters.
read
Flaky tests are a data problem, not a timing problem
Retries and sleeps hide flaky tests, they don't fix them. Why most flaky tests are a data problem, not a timing problem, and what actually stops the flake.
read
Over-engineering is a bet on a future you can't see
The simplest thing that works looks junior, so smart engineers skip it. Why over-engineering bets on a future you can't see, and simple stays cheap to change.
read
Trust compounds, attention doesn't: build a developer audience
A viral post is a lump sum that decays. Trust is an interest rate. Why your developer audience is a rate you compound, not a number you chase.
read
Building in public is backwards: build first, then speak
I used to post the roadmap and the coming-soon teaser. Then I stopped. Why building in public is backwards, and the rule that beats it: build first, then speak.
read
Design the empty state first, not the happy path
Eight years as a product designer taught me one habit that changed how I write code: design the empty state first. Why the states you skip are the product.
read
AI Agent Guardrails: Contain the Failure You Can't Prevent
You can't stop an agent from ever being wrong. AI agent guardrails, human-in-the-loop, and blast radius: how to contain the failure you can't prevent.
read
AI Agent Cost: The Budget That Decides If It Ships
An accurate agent still dies in review if it is too slow or too expensive. How to budget AI agent cost and latency per successful task, not per call.
read
AI Agent Reliability: Measuring What Won't Repeat
An agent won't give the same answer twice, so one green eval run is a coin flip. How to measure AI agent reliability as a distribution, not a pass.
read
AI Agent Evals: Your Eval Set Is the Product
Most teams treat AI agent evals as an afterthought. Your eval set is the product: how to build failure cases that survive every model swap.
read
Is Your AI Agent Production-Ready? Define the Bar First
"Is it ready?" is a circular meeting until you define the bar. The four lines that make a production-ready AI agent a number, not a vibe.
read
The empty-database problem: realistic test data in one command
The expensive part of test data is not the rows. It is deciding what a good row looks like. How to seed a database with realistic, reproducible synthetic test data in one command.
read