Tombstone
lamancha
Mar 2019 โ Aug 2020 ยท age 37โ38
What it was
A "rethink the world" research project, named for the man who tilted at windmills, whose README promised a weapon to kill the web. Over 1,468 commits it became something smaller and better: a programming language for board games. It moved in phases. First came a C# and Skia scene-graph browser, ended on purpose with a six-lesson postmortem. Then a protocol design for chain-replicated game state with a per-device privacy filter. Then the Java incubator of the Adama language, where a program describes one living document whose fields know who may see them and whose channels wait for a player's decision. A small Svelte client played Hearts against it, and a service shell with a Raft demo stood around it. In July 2020 the core was copied to the public Adama project, and the commits here stop five weeks later.
Wins, for the age
- At thirty-seven, Jeff wrote a postmortem the day the first attempt died, and the one lesson it executed, "Programming Language support is the path towards victory", produced everything after it.
- The document as the virtual machine: a program compiled to a hot-loaded class that is the game state, a year ahead of Cloudflare Durable Objects (2020).
- Blocking futures without coroutines, concurrent with Temporal's human-in-the-loop signals (2020), so a rule could simply wait for a human.
- Privacy in the type system,
viewer_isandbubble<who>making who-may-see-what a compile-time property. No popular system has claimed that yet. - Fourteen months of near-daily commits and 361 gold-tested programs from one primate before anything shipped.
What it taught
- Write the postmortem before starting the next thing, then actually follow it.
- Ambition needs a forcing example. A Battlestar Galactica board game implementation, with hidden hands and traitors, drove every privacy and channel feature.
- Generated gold tests make a language rewrite survivable; a parser swap and a keyword rename each touched about 92,000 lines and shipped.
- Found on their own what Ethereum gas had already found: a compute budget turns an infinite loop into a located exception, and a cost counter makes compute billable.
- The yak is real. The browser, the protocol and the service shell were detours; the language was the destination.
Genealogy
Ancestors: none on record for the umbrella. Its parts carry the older lines. Descendants: Adama: living documents, compile-time privacy, blocking futures and the compute budget, shipped publicly. Parts: Lamancha I, Lamancha II, Lamancha IV.
Epitaph
It tilted at the web with C# and Skia, wrote down why it lost, and spent fourteen months teaching a document to keep secrets from its own players. The windmill was a browser; the giant that fell was a language.