Sign in

Philip Z

@philz.dev
238 followers 935 following 96 posts
PostsRepliesMedia
Philip Z @philz.dev · 23/09/2026
I recently reverted to old habit and wrote a "Jenkins job" (it was Buildkite, but pot-ay-to pot-ah-to) to nag me about Fireworks model updates. Eventually, I came to my senses, and used a VM with a timer and an agent instead. So much better.
blog.exe.dev
Tales from the Software Factory: The Cron and the VM - exe.dev blog
"My old mindset was wanting a bot to nag me into doing the thing. The new mindset is to have the bot take the task as close to the finish line as possible."
161
Philip Z @philz.dev · 16/09/2026
Group chat for agents! blog.exe.dev/mayfly-chat
blog.exe.dev
Mayfly Chat: Transient Chat for Agents - exe.dev blog
Click 'new channel,' give the URL to your agents, and voilà, they can talk to each other.
120
Philip Z @philz.dev · 13/09/2026
Handy prompt of the day: Produce a mermaid diagram or similar with a full sequence diagram of how <X> happens including all the players and rpcs and such
080
Philip Z @philz.dev · 04/09/2026
I recently did a YouTube short with... my regular agent (Shelley) from some raw mp4s borrowed from Screen Studio's project directory.
000
Philip Z @philz.dev · 02/09/2026
TIL from @commaok.xyz: git plumbing to synthesize a commit equivalent to resetting to main and cherry-picking a single commit c. git commit-tree -p main \ $(git merge-tree --write-tree --merge-base c^ main c) c^ as "merge-base" "subtracts" the delta b/w main and c^. philz.dev/blog/git-vir...
Visualization for "git commit-tree -p origin/main `git merge-tree --write-tree --merge-base c^ origin/main c`"
000
Philip Z @philz.dev · 01/09/2026
> Cache reads now cost $0.25 per million tokens, 75% less than Fable 5 This is a *huge* price drop, given that cache reads inevitably end up most of your costs, because of the quadratic nature of LLM conversations. blog.exe.dev/expensively-...
blog.exe.dev
Expensively Quadratic: the LLM Agent Cost Curve - exe.dev blog
Cache reads are quadratic and dominate your long agentic conversations.
081
Philip Z @philz.dev · 31/08/2026
We’ve got higher standards now! (Except for the quiet working environment. We seem to have failed that test, succeeded accidentally (on average) in 2020, and are regressing quick as we can.)
100
Philip Z @philz.dev · 31/08/2026
Ozymandias. Hubris. Great works. Despair.
010
Philip Z @philz.dev · 31/08/2026
The Joel Test was 26 (!) years ago. I revisited it at blog.exe.dev/revisiting-j.... What questions did I leave out?
blog.exe.dev
Revisiting Joel's Test - exe.dev blog
Joel Spolsky's twelve questions still hold, but agents demand nine more. Call it the Shelley test.
2102
Philip Z @philz.dev · 26/08/2026
A wise person once told me that the best wireless microphone is almost as good as a wired microphone. I got a new wireless split keyboard, and really feeling that right now. The right half drs es e craz My kingdom for a split traditionally staggered keyboard with a trackpoint for the index finger.
000
Philip Z @philz.dev · 26/08/2026
fzakaria.com/2026/08/24/a... code is data. Love me some binfmt_misc and SQLite hijinks.
fzakaria.com
Actually Queryable Executables
I was pleasantly surprised and happy to see that my article ‘Your executable is a SQLite database’ resonated with people. It is a format I have been thinking about for a while, and the idea seems to h...
051
Philip Z @philz.dev · 24/08/2026
Gave Shelley (gpt-5.6-sol, in this case) a pointer to www.texttocad.dev and English instructions of a keyboard tilt thingamajig, and it one-shot it. (Keyboard is NocFree&; not my favorite.)
Prompt to build a 3d printed laptop tilting riser.3d model of a keyboard riser
050
Philip Z @philz.dev · 23/08/2026
Email our support? I’m not sure what’s happening is intentional as opposed to more likely a bug.
000
Philip Z @philz.dev · 21/08/2026
Ian's solution at blog.exe.dev/we-taught-sq... is clever. Associate cache entries with the WHERE clause they were produced by and invalidate when updates hit the same WHERE clause. Made possible by some code-generation and a single-writer database.
blog.exe.dev
We Taught sqlc to Invalidate Our Caches - exe.dev blog
How exe's proxies stay fast and correct without anyone hand-writing invalidation logic.
020
Philip Z @philz.dev · 20/08/2026
TIL: memfd_create will let me ship a single file binary that needs to bundle a different single file binary without unpacking it to tmp. As the joke goes, I had one problem. I used an obscure Linux syscall. Now I have two problems.
100
Reposted by Philip Z
Jeremy Morrell @jeremymorrell.dev · 18/08/2026
I wrote up what I meant by this jeremymorrell.dev/blog/extensi...
jeremymorrell.dev
Extensible Software in the age of LLMs | Jeremy Morrell
Solid core + capability-based sandboxes + LLMs = Users with superpowers
3252
Philip Z @philz.dev · 18/08/2026
blog.exe.dev/athena-deplo... 💯 Never going without this again. Build an agent to babysit your deployment. Give it only the code, the git log, the metrics, the logs, a way to send you messages, a way to pause the deploy. This is the way.
blog.exe.dev
Have an Agent Babysit Your Deployments - exe.dev blog
The question is not: could a human do it better? The question is: in practice, will a human actually do it at all?
041
Philip Z @philz.dev · 17/08/2026
Friends don't let friends complicate their deploys with Spinnaker. Build the 5% you need; having your own deployment console and CD system is fantastic. It's been a game-changer for our deploys at @exe.dev. turbopuffer has one too: turbopuffer.com/blog/control...
turbopuffer.com
How to ship a database every day
We deploy many database upgrades every day across ~100 public, single-tenant, and BYOC clusters. It would be insane to use Terraform or Helm to do that, so we built our own control plane.
000
Philip Z @philz.dev · 16/08/2026
If you use gRPC this is your reminder that the default max message size fits on a very short stack of floppies.
070
Philip Z @philz.dev · 14/08/2026
A month in the lab can save a day in the library. But what if it’s the agent in the lab (vm)? And it doesn’t take a month? blog.exe.dev/planning
blog.exe.dev
No Plan Survives Contact With the Enemy (Reality) - exe.dev blog
People who use coding agents are either planner or iterators (or somewhere on that spectrum). The two sides are closer than you think.
060
Philip Z @philz.dev · 10/08/2026
An under-appreciated benefit of running sqlite is seeing your query execution in the same profiles as your application logic. If running a database separately, you have to work to connect the dots when the database is busy.
090
Philip Z @philz.dev · 10/08/2026
Your agents need computers. Giving the agents computers without persistent disks would be like having to pick up a freshly blank laptop everyday. (See also blog.exe.dev/persistent .)
blog.exe.dev
Why exe.dev VMs Are Persistent - exe.dev blog
On the design decision to make VMs persistent, with persistent disks.
030
Philip Z @philz.dev · 06/08/2026
In which I write some reflections on No Code at blog.exe.dev/the-end-of-n....
Always has been meme: "Linux is the best platform"
010
Philip Z @philz.dev · 06/08/2026
Yes limit channels. Our bots either mostly post in ‘news’ or respond to various actions (threads seem fine if invoked explicitly) or comment on other bots (eg investigating an alert).
020
Philip Z @philz.dev · 06/08/2026
I am adamant about keeping bots out of human spaces. Also, about linking bot messages back to their code and runtime environment. blog.exe.dev/botiquette
blog.exe.dev
Botiquette - exe.dev blog
We have a lot of bots doing work at exe. Here's how they should behave.
142
Philip Z @philz.dev · 04/08/2026
An embeddable terminal library is such a boon. To get scrollback to work across a handful of terminal surfaces, we built it into the session manager. Read all about it! blog.exe.dev/exe-scroll
blog.exe.dev
Ghostty in the Machine: the saga of exe-scroll - exe.dev blog
Two ghostty instances stand between you and your shell. How exe-scroll keeps remote terminal sessions alive, plus a tour of the prior art: mosh, tmux, dtach, and web terminals.
000
Philip Z @philz.dev · 02/08/2026
SaaSpocalypse happens like bankruptcy: gradually first, then all at once. Just this past month, I’ve built several bots/agents for work that correspond to products I’m “supposed” to have bought. Sam Schillace wrote “what if I can just do it faster than talking to you?” That applies to SaaS.
040
Philip Z @philz.dev · 02/08/2026
You could maybe come up with a file format like “.gar” which is just a zip file in disguise…
110
Philip Z @philz.dev · 30/07/2026
ssh -R and -L are so powerful. Needed to let agent on my VM connect to iOS sim on Mac, far behind a NAT. 1. ssh exe.dev ssh-key add --vm vm ... 2. mac: cat >> authorized_keys 3. mac: ssh -R 1111:localhost:22 vm.exe.xyz 4. vm: ssh -p 1111 user@localhost 5. Shelley happily driving the simulator
Screenshot from a Shelley coding agent conversation, with tool calls in pills, and a screenshot of an iOS simulator with a terminal emulator inside of it.
042
Philip Z @philz.dev · 29/07/2026
Four quick prompts to make a custom feed bsky.app/profile/did:... for myself on an @exe.dev VM.
[Screenshot of shelley's Table of Contents widget]

Jump to...

↑ Top of conversation

• I want to make a custom bluesky feed. How do I do it?

✓ Custom Bluesky feeds are built as **feed generators** — small...

• Build a feed that captures any posts that mention exe.dev or ...

✓ Done. I built a complete, working Bluesky feed generator in Go...

• It’s public already. Can you do an oauth flow with Bsky for me?

✓ Everything's wired and tested. I built a full atproto OAuth flow i...

• Yep, keep this running. Turn off the oauth login thing so othe...

✓ Done on both counts. ## Persistence ✅ - Installed as a syste...

↓ End of conversation
140
Philip Z @philz.dev · 28/07/2026
Once you've got a stable of agents right in your pocket, you can't go back! www.youtube.com/watch?v=BhBF...
youtube.com
Agents Ship from Anywhere: exe.dev on iOS
YouTube video by Official Channel for Exe Dev
030
Reposted by Philip Z
Josh Bleecher Snyder @commaok.xyz · 26/07/2026
A rapidly increasing share of the software I use on a daily basis is bespoke. It makes bugs and papercuts in other software ever more exasperating. Once you've experienced mutable software there's no going back. I think blog.exe.dev/customizing-... may be most important thing ever on the exe blog.
blog.exe.dev
Customizing Shelley, Customizing Software - exe.dev blog
With a coding agent living next to your software, customizing it is as easy as asking. Shelley even rebases your changes onto each upgrade.
121
Philip Z @philz.dev · 26/07/2026
As far as I can tell, S3 charges you based on the uncompressed size, but surely they compress. It is a failure of their APIs that uploading uncompressed is easier than compressed. LLM providers will also eventually compress your tokens (eg call out to another model to reduce tool output).
040
Philip Z @philz.dev · 24/07/2026
"The solution was fairly straightforward" blog.exe.dev/a-tale-of-tw... by Maisem is very cool. Learning cool stuff at work is fun.
blog.exe.dev
tailmix: Connect to Multiple Tailnets at Once - exe.dev blog
0141
Reposted by Philip Z
Antithesis @antithesis.com · 22/07/2026
We 🐡🐡🐡 exe.dev -- simple, effective, fast. If you've noticed improvements in our user experience over the last 6 months, they were accelerated by how simple exe.dev made things.
exe.dev
exe.dev - ssh exe.dev
Build apps or SSH into a persistent Linux VM. ssh exe.dev.
0102
Philip Z @philz.dev · 22/07/2026
Plugin architectures are awful, right? Either it’s a versioning dependency mess or you’re coding in config files. I’m tickled by how well blog.exe.dev/customizing-... works. The upgrade button does an agentic rebase.
blog.exe.dev
Customizing Shelley, Customizing Software - exe.dev blog
With a coding agent living next to your software, customizing it is as easy as asking. Shelley even rebases your changes onto each upgrade.
000
Reposted by Philip Z
Will Gorman @willgorman.net · 16/07/2026
The part about using the exe.dev iOS app to create a VM from a short idea as a replacement for just jotting down a note was a major 💡 moment for me
exe.dev
exe.dev - ssh exe.dev
Build apps or SSH into a persistent Linux VM. ssh exe.dev.
012
Philip Z @philz.dev · 19/07/2026
Coding agents: definitely on team monorepo!
010
Philip Z @philz.dev · 18/07/2026
For an api that’s essentially f: string -> string, the LLM providers have managed to break coding agents at basically every model release.
030
Philip Z @philz.dev · 17/07/2026
This is the way. Shelley uses SQLite. It’s great at looking up and even modifying its own history when necessary.
020
Philip Z @philz.dev · 14/07/2026
Always such a delight when folks use your product for cool stuff. bsky.app/profile/exe....
020
Philip Z @philz.dev · 04/07/2026
Agent Topology is about balancing capability (what can you get done) with security (what can be done to you).
010
Philip Z @philz.dev · 03/07/2026
Using exe.dev with a ChatGPT subscription just got easier! blog.exe.dev/chatgpt-subs...
Diagram of how Shelley (a coding agent) discovers LLM models it can talk to.
072
Philip Z @philz.dev · 02/07/2026
The age-old conundrum of long-lived SSH connections and frequent deploys. Read All About It at blog.exe.dev/adding-featu.... Thing I learned from Ian: sendmsg(2) can pass file descriptors from one process to another.
blog.exe.dev
Adding Features Without Interrupting Network Connections - exe.dev blog
How exe.dev ships updates without breaking connections.
010
Philip Z @philz.dev · 01/07/2026
Preferences... Accessibility... Other Display Options: Automatically play animations in Slack.
010
Philip Z @philz.dev · 25/06/2026
Yes. And observability systems are data warehouses.
010
Philip Z @philz.dev · 25/06/2026
This isn’t built-in but I know people have set this very thing up. Our VMs have the right kernel configs for tailscale and Shelley has custom model support.
020
Philip Z @philz.dev · 25/06/2026
I don’t follow; it has an API.
000
Philip Z @philz.dev · 24/06/2026
Dependency-less python3 is my preferred scripting language. Every OS I use ships it. Today I learned that it doesn't include a websocket client. RFC6455 batteries not included.
000
Philip Z @philz.dev · 23/06/2026
Behind the scenes on how the exe.dev iOS app was built: blog.exe.dev/ios-developm.... Step 1: buy mac mini. Step 2: give Shelley access to simulator. Step 3: over the air updates, Step 4: prompt app into existence from itself. Also, gratuitous profiler. boldsoftware.github.io/public_html/...
exe.dev
exe.dev - ssh exe.dev
Build apps or SSH into a persistent Linux VM. ssh exe.dev.
2122