Fresh Reads
Revisiting Joel's Test
Back in 2000, Joel Spolsky wrote an influential blog post, The Joel Test: 12 Steps to Better Code, for quickly identifying whether a software team is high-functioning. These are the twelve questions he nailed to the Internet. Do you use source control? Can you make a build in…
Six Months of Writing Code Exclusively With Agents
In February of this year, I made a rule for myself: I wasn’t going to write code by hand anymore. I’ve been living by that rule for six months. The system lived in my head Back in 2024, before AI, my superpower was knowing how the entire system worked, especially the interfaces…
We Taught sqlc to Invalidate Our Caches
People connecting to sites hosted on exe.dev are contacting a proxy server that routes the connection to the correct VM. Routing depends on details about the connection, such as the HTTP Host header or an SSH public key. It also depends on details of exe.dev internal network,…
Have an Agent Babysit Your Deployments
Deployments are scary. That’s the moment you break things. Not-deployments are even scarier. Waiting just makes the next deployment bigger. As the saying goes: “If it hurts, do it more.” The obvious, correct answer is CD. But then you’re off building canaries and waves and…
No Plan Survives Contact With the Enemy (Reality)
If you’ve ever presented the design of a product after the fact, you know the most interesting bit is the surprises. What broke at scale? Where did you change course? What did the customers do that you didn’t expect? What were the interesting metrics? These are impossible to…
OAuth for Agents
Agents are unusually capable credential-handling tools. They read logs, execute commands, inspect files, call external services, and frequently operate on inputs that weren’t written by the person who deployed them. Giving an agent a long-lived secret means trusting not only the…
The End of No Code
You may have heard the news: Bending Spoons acquired Airtable for $1.28 billion. Rome didn’t fall in a day, but this is as good a point as any to mark the moment No Code platforms jumped the shark. Full disclosure, I worked at Airtable for many years, love the product, and love…
A Non-Exhaustive Inventory of exe's Software Factory
An agent that looks for security issues systematically. Fable refuses to help out, so we systematically look for security issues, with a bias toward recent changes. An agent that investigates alerts. Sisyphus keeps track of our alerts. We have ones that page us and ones that…
Simpler GitHub Integration URLs, Plus Read-Only Access
exe.dev integrations let you keep secrets outside of your VM; a proxy injects the secrets. Sometimes this is as simple as adding an HTTP header, and sometimes the integration is bespoke. We recently gave our GitHub integration two new features: One URL for any repo: Any repo…
Introducing Auto-Purchasing for Shelley Tokens
We’re happy to announce that you can now enable auto-purchasing of Shelley Tokens. Previously, you had to manually purchase more credits every time you exhausted your token store. With auto-purchasing, you no longer have to take time out of your day to click through the UI. We…
Botiquette
There are lots of bots floating around exe, helping us organize and monitor and maintain our world. (Agents and bots and any LLM output are all synonyms for this post.) We’ve organically developed some etiquette around bots that work well for us. Bots do not post to human…
Ghostty in the Machine: The Saga of exe-scroll
When you use the mobile or web-based terminals on exe, there are two ghostty instances involved. One is rendering the terminal in the app or the browser (via a ghostty build compiled to WebAssembly). The other is on the VM in the session manager, providing scrollback on…
Devtools must be open source
Five years ago, most software engineers I spoke to had no programs they had written for themselves. (I was asking this question a lot as part of trying to understand how Tailscale could fit into engineers’ lives.) All day, every day, engineers use programs written by others to…
Stripe Just Wants a Number
If you went up to an engineer at any tech company and asked “What’s your favorite part of the stack to work on?” I can guarantee their answer wouldn’t align with my own: billing. In my experience, billing becomes difficult when billing logic gets tangled up with regular business…
tailmix: Connect to Multiple Tailnets at Once
Tailscale is one of those magical technologies that I can no longer imagine living without. Its use cases range from homelab setups to enterprise workloads spread across complex, disparate environments. At exe, we use it to connect much of our internal infrastructure. That said,…
Customizing Shelley, Customizing Software
Asking Shelley to make itself pink. Sure is pink. Pink upgrade screen automates rebase. ‹ › If you want to customize Shelley, open up a conversation, and ask the agent to change itself. It will do so. When a new version of Shelley ships, it rebases your customizations onto the…
How Antithesis Turned exe into a Sandbox for Agentic Software Tests
Carl Sverre spends a lot of time thinking about how to give AI agents the right amount of power. Give them too little, and they can’t do real work. Give them too much, and they might blow up your tech stack. As a software engineer at Antithesis, an autonomous software testing…
Run a Slack Bot from Your VM (Without Giving It the Keys)
You can now interact with your VM on Slack. We store your Slack credentials outside your VM so you don’t have to worry about agents running amok (incidentally, that’s true of all our integrations). There are two flavors of Slack integration: Slack The first is a send-only…
Claude Is Not a Compiler
In early 2025, I wrote Is Claude a Compiler? At the time, my answer was: I don’t know. I’m now pretty sure the answer is “no, that’s a category error, it’s better than a compiler.” But this requires a bit of unpacking. Computer programs are notoriously intricate and finicky. A…
Meet the Conservationist Who Turned 40 Terabytes of Public Data Into a Video Game
There’s a grass fire burning behind Raffael Hickisch when we speak on a video call on Tuesday. He’s not worried—fires like this are part of everyday life in Sub-Saharan Africa, where people burn off the tall growth as they move their cattle toward greener land. Hickisch, a…
Building Software From My Phone
My little town of San Anselmo has a delightful live music concert series in the summer. What they don’t have is a website that is easy to read on my phone. I was on vacation when this summer’s schedule posted–and I had intentionally left my laptop at home. My first instinct was…
Connect Your ChatGPT Subscription to exe.dev
We're pleased to announce that you can connect your ChatGPT subscription to exe.dev and use our coding agent Shelley with the OpenAI models you're already paying for! To enable this, go to exe.dev/integrations, click on the "LLM" integration tile, click "Edit", choose "ChatGPT…
Adding Features Without Interrupting Network Connections
A busy network People use exe.dev to build and run programs on virtual machines. For virtual machines that are serving web traffic, we handle encryption and authentication. For people using their VM as a traditional computer, we transparently support SSH access. We also provide…
Building the exe.dev iOS App
If you haven't checked out our app yet, it's in the App Store. We blogged about it the other day. Once we decided in one of our Tuesday in-person meetings to build our iOS app, my first stop was the Stonestown Mall Apple Store, to buy the best Mac Mini I could find. (The choices…







