Solari SolutionsIT

Articles · Logbookdraft

Logbook, entry zero: the funeral in Austin and the smallest stack that works

Published · by Leonard Mangallon · 7 min read

On 23 September 2026 DHH opened Rails World by declaring handwritten code economically dead, and closed by telling the room not to take the black pill. This is the first entry of a logbook about building a small AI stack after that speech. It starts with what he actually said, then sketches the minimal toolchain.

It is official. Handwritten code was pronounced dead on 23 September 2026, in Austin, Texas, in front of about a thousand Rails programmers, by the man who wrote Rails. One attendee called it the most confusing funeral he had ever been to. The body was still typing.

Entry zero: what was actually said

David Heinemeier Hansson opened Rails World 2026 with an hour-long keynote. The quotes below are from the official recording; the timestamps are there so you can check them.

He dated the turning point: "On November 24th, 2025, we got the Kodak Brownie of our era. We got Opus 4.5. [...] There was everything before November 24th. And then there was everything after." [11:02]

He described the decision at his company: "At 37signals, a couple of weeks ago, we made the decision that it clearly means we're done writing code by hand. [...] Writing code by hand at 37signals is now an exceptional state. It is like seeing a bug in Sentry. Something here went wrong." [20:35]

He generalised it: "Writing code by hand is no longer an economically productive enterprise for the vast majority of programmers working at the vast majority of companies. That's today. By the end of the year, it will be virtually all domains, virtually all programmers, virtually all companies." [40:15]

He retired: "I have retired from being a professional programmer. I haven't pinned down the exact date. I think it was somewhere around 4 to 5 months ago, maybe March." [39:00] And he gave a number: thirty thousand lines of Ruby a year for twenty-one years; in August 2026, one hundred and fifty thousand lines in a month, "a lot of it that awful Rust code I don't want to look at". [37:15]

He named his new language: "English is a better programming language than Ruby. It's a little more vague. It's a little more or less deterministic. But nonetheless, it is an absolute joy." [38:01]

And he closed: "So take the white pill. Take the optimism pill. Lean in, even with the uncertainty, even with the stress, even with all of it. [...] The black pill is for fucking losers. Don't be a loser." [01:02:06]

The black pill, in his usage, is despair: the belief that the end of handwritten code is the end of the craft. The white pill is the opposite bet. The next day Aaron Patterson closed the conference with a talk titled "Get in loser, we're going programming", and the line "The compiler made a promise to you: the As-If Rule. Your AI has not made this promise to you."

For the record, this is not where he started. In July 2025 he told Lex Fridman: "I love chiseling my code, and the way I use AI is in a separate window. I don't let it drive my code. [...] I can literally feel competence draining out of my fingers." In January 2026 he wrote that he was "nowhere close to the claims of having agents write 90%+ of the code". In February his designers' "vibed" pull requests "destroyed the architecture of the system" and had to be cleaned up by hand. By March he had stopped writing code. Fourteen months from "separate window" to "pencils down". That speed is the real news.

Entry one: the smallest stack that works

This logbook is about building a small, honest stack for a three-person company, not about arguing with DHH. His toolchain, as he described it in August and September 2026, is a good place to start, because it is simple and because he changes it every few months and says so.

LayerWhat he usesWhat we take from it
Operating systemLinux. Omarchy, his Arch-based distribution, "the malleable OS for the age of agents".Linux on every machine that runs agents. The configuration files agents need to read are plain text; that is the point.
TerminalA terminal, tmux, lately Herdr ("tmux plus agent notifications"). "I love the fact that this agent revolution was kicked off in the terminal."The terminal. No desktop app for the agent.
EditorNeovim, now "a project browser", plus Lazygit and Hunk to read diffs.An editor you read in more than you write in. Diffs are the unit of work.
AgentClaude Code ("the nicest setup") and OpenCode, which he uses "as my main harness for all the open models". Both are Omarchy defaults.One frontier harness, one open harness. The second exists so that the stack does not depend on a single vendor.
ModelsRented frontier models: in August 2026 "the best model in general right now is Fable. The second-best model, in my opinion, is Opus 5." Open-weight models (Kimi K3) rented by the token on Fireworks, "not on the Chinese servers".Frontier for code. This is the place where we agree with him completely: the gap on agentic coding is wide, and a terminal benchmark run on a local 27B model does not come close.
Local modelsOptional. LM Studio for beginners, Ollama for the command line. His verdict, November 2025: "vastly behind the frontier models available for rent, and thus for most developers a curiosity at best".Here we part ways, for one reason. He is talking about writing code. We are talking about a client's contracts. For code, rent the frontier. For documents that must not leave the building, a local model that reads them is not a curiosity; it is the only option, and on that task it is close enough.
ReviewAgents review pull requests; humans read "the shape" of the code and the critical lines. "The PRs that have been reviewed by agents caused all fewer issues in production."Agents review, and a human reads the parts that touch data, permissions and money. Every line, there.
Interfaces"Let me bring my own butler to the party. Let me interact with your applications through a CLI."Every internal tool gets a command line before it gets a chat window.
NetworkA closet of mini PCs reachable over Tailscale, "about 16 threads at full acceleration".Smaller than that. But isolated: agents run on machines that cannot reach what they do not need.

Two rules of our own, which he does not need and we do.

Permissions before productivity. An agent that can write to production is the Replit story of July 2025: a database wiped during a declared code freeze, the only guard a sentence in English. Our agents get the permissions of an intern on their first day, and earn more slowly.

Read what touches the data. DHH does not look at "a bunch of the UI code" in Omarchy. Fair. The code that decides which document goes to which model, and which model runs where, is not UI code. We read it. Patterson's point stands: English has no as-if rule.

Next entries

The next entries will be about the boring parts: setting up the open harness against a local model and measuring where it fails; wiring a CLI to a client's document store; what an agent is allowed to do on a network it should not fully see. Dates and numbers, not opinions.

Pencils down, then. Eyes open.

Sources

  • Rails World 2026 Opening Keynote, DHH, 23 September 2026, official recording (Ruby on Rails channel); X post of the same day.
  • Rails World 2026 Closing Keynote, Aaron Patterson, 24 September 2026, as reported by Global Nerdy, 28 September 2026.
  • Lex Fridman Podcast #474 (12 July 2025) and #501 (26 August 2026), transcripts at lexfridman.com.
  • DHH, world.hey.com: "Local LLMs are how nerds now justify a big computer they don't need" (25 November 2025); "Promoting AI agents" (7 January 2026).
  • Omarchy manual, chapter "AI", version 4 (2026); omarchy.org.
  • The Pragmatic Engineer, "DHH's new way of writing code", 8 April 2026.
  • The Register, 21 July 2025 (Replit incident).