Atlas · Coding
Coding
I have been writing code since 1986. This page collects the projects I'm best known for — the current builds at the top, then a thirty-year game, a code-knowledge-graph that's still running inside Google, and an Emacs mode that's outlived most of the JavaScript it was written to parse. Most of them still ship.
Gas Town
Open-source toolkit for orchestrating coding agents at scale. Gas Town is the workspace I built — coding agents working inside a structured environment with version-controlled memory and a clear sense of what they're allowed to do. Beads (below) is the substrate underneath it; Gas Town is also the agent-orchestration layer underneath the HOP protocol.
Fifteen thousand GitHub stars and a growing community of operators. Built in the open.
Beads
A version-controlled memory ledger for coding agents. The TODO system that AI agents actually want to use, as I put it when I introduced it — durable, queryable, append-only state that a long-running agent can rely on across sessions. Beads sits underneath Gas Town and is also useful on its own.
I started Beads in October 2025 and it crossed twenty-three thousand stars in its first months. It is currently the single most active piece of code I'm shipping. Beads is also the atomic-work data structure for the HOP protocol.
Wyvern
A graphical MUD that I started in 1995 and have been working on, on and off, ever since. Released publicly in 2001 through Cabochon Inc., the company I founded to publish it. On the cover of Game Informer a year later. Still online today.
Wyvern has been a side project, a full-time project, and a sleepy project across three decades. I plan a return by 2028 or so.
Grok
Grok was the cross-language code knowledge graph I started at Google in 2008: a system that ran a nightly index over the entire Google monorepo, extracted symbols from every language into a universal schema, and exposed the result as a typed, queryable graph of definitions, uses, references, and call edges. It powered code search, IDE intelligence, and refactoring across the company.
In v3 it was renamed Kythe. The open-source release lives at kythe.io, and the internal Google version is still in active use. Grok eventually scored 98% developer satisfaction on Googlegeist, Google's annual internal employee survey. The next-highest internal tool, the bug tracker, scored 85%.
Outside Google, the underlying thesis — that the right substrate for software engineering at scale is a typed, queryable graph of the whole codebase — inspired Beyang Liu and Quinn Slack to co-found Sourcegraph in 2013. I joined Sourcegraph as Head of Engineering a decade later, in 2022. Loop closed.
The 2008 design document — roughly forty pages, written by me, briefly one of the better-known internal documents at Google — is below. I also gave a public talk on Grok at Stanford EECS in October 2012; that talk is the easiest entry point if you don't want to read forty pages of internal design prose.
js2-mode
I was the original author of js2-mode, the JavaScript major mode for Emacs. Eighteen years later it's still the de-facto JavaScript editor for Emacs users, and the only mode that actually parses the language rather than just colouring keywords. I wrote it on my commute and announced it in 2008. I no longer maintain it — but the community kept it alive, and it's still on GNU ELPA with my name on it.
There's a longer story there: it was passed over for Emacs core in favour of a simpler mode, and became the one everyone used anyway. The full story — the “JavaScript Mode War,” and what became of js2-mode →
Efrit
A coding agent that lives natively inside Emacs Lisp — giving the model full access to fifty years of Emacs instead of bolting an editor onto an agent. It's the one project on this page without its own landing: a cool idea I started and haven't finished, parked here on purpose so I have to look at it.
See also
Other smaller open source work lives in the code section of the bibliography. For essays about the technical work above — Gas Town, Beads, Grok — the Essentials page is the starting point.