← back

Writings

Notes on what I'm building and thinking about - some technical, some about startups, some about life. I try to write the way I talk.

Technical

  • Every training attempt gets its own computer, and they are all nearly identical. A walk down the stack: what snapshots and copy-on-write already share, what is still duplicated, and what CUA-Sandbox found when it shared the running software itself.

  • Training an AI to use a computer means giving it a computer to practice on, hundreds of thousands of times. I read four papers to find out what one attempt costs in time, tokens, and machines, and where it all goes.

  • I hacked Microsoft Oct 6, 2026

    Well, almost. The code Microsoft Research uses to grade AI agents ran eval() on text the agent could control, so the thing being tested could run code on the thing testing it. Plus a second bug that quietly scores finished tasks as zero.

  • Two fixes to Agent S, the open-source computer-use agent: a screenshot too big for the model server to accept, and clicks that landed 300 pixels off on every screen that wasn't the benchmark's. What a 66% on OSWorld doesn't tell you.

  • Three open-source fixes in a week to computer-use tooling: an Enter key that never arrived, a click that froze on a confirm() dialog, and an iframe that stole the address bar. Same bug, three costumes.

  • How to fork a computer Sep 30, 2026

    Freeze a running machine at one exact moment and wake up two of them. How Firecracker, VMware, QEMU, and CRIU do it, why it's fast, and why the children wake up confused about who they are.

  • A persistent agent needs its thinking, its computer, and its logins to all survive. Lose one and the other two are mostly useless. Plus VMs, containers, Firecracker, and why everyone is suddenly talking about forking.

  • A computer-use agent is three separate things pretending to be one: a model, a loop, and a computer. Pull them apart and the whole space gets easier to think about.

  • A/B testing, analytics, error tracking, and observability were four tools. PostHog, Sentry, Datadog, and Amplitude are converging on one, and the feature flag is what's pulling them together.

  • With Rahul. Booch says software history is rising abstraction. The architect's job went from building systems to assembling them, and Garlan called it in 2000.

  • I asked why Rust needs a linter if it's type safe. A few questions later, compiled versus interpreted stopped being a real category. A six part series, from your keyboard down to the CPU.

  • Every agent tool is racing to run more agents. The bottleneck was never writing the code, it's the human who has to review it.

  • Coding agents are sold as tireless workers, but they're processes on a laptop that sleeps. On persistence, SSH, and haunted printers.

  • Every orchestrator assumes one task lives in one repo. My product is two repos, and the workaround is a fake parent git repo.

  • A 12,570-trial hunt for "context rot" that came back empty - and the scariest bug was in my own scorer.

Startups

Life