Sign in

David Crawshaw

@crawshaw.io
3.8K followers 230 following 617 posts

ceo exe.dev, tailscale co-founder, programmer

PostsRepliesMedia
David Crawshaw @crawshaw.io · 07/07/2026
1140
David Crawshaw @crawshaw.io · 30/06/2026
7280
David Crawshaw @crawshaw.io · 27/06/2026
It’s the “Camera” in Canon font that I love.
1511
David Crawshaw @crawshaw.io · 24/06/2026
This is a limit of large human institutions. A large group cannot trust its own people, because large groups include bad people. So you have to build in checks and enforce them. But some people cannot operate effectively under those constraints. So some of the best people stick to small teams.
1261
David Crawshaw @crawshaw.io · 15/06/2026
there is a exe.dev iOS app now. it’s my favorite way to program.
1668
David Crawshaw @crawshaw.io · 12/06/2026
New day, new integration: bring your ChatGPT subscription to exe. Power Shelley with it for all your VMs.
A screenshot that shows the exe.dev ChatpGPT integration.
1210
David Crawshaw @crawshaw.io · 01/06/2026
These days I copy a VM instead of creating a git branch.
0392
David Crawshaw @crawshaw.io · 27/05/2026
my new favorite app
040
David Crawshaw @crawshaw.io · 19/05/2026
NPM fun comes to Go socket.dev/blog/popular...
2101
David Crawshaw @crawshaw.io · 07/05/2026
I just signed up for npm (hello, fellow kids!). required a password. after email auth, it offered to add 2FA. I click yes, says "you will need a hardware security key". makes me name it! then... it's a passkey. for which it gives me recovery codes. all that pageantry around a single touch id.
140
David Crawshaw @crawshaw.io · 20/04/2026
Just an amazing UI decision by Google, sliding that sneaky Upgrade button in where the Share button has been for a decade.
1400
David Crawshaw @crawshaw.io · 11/04/2026
Growing up in Australia, I spent a lot of time using a shell on US computers. Watching your keystrokes commute hundreds of milliseconds is leaves a lasting impression. So I am very happy to be rolling out exe.dev regions: keep your compute close.
2350
David Crawshaw @crawshaw.io · 08/04/2026
new exe.dev feature
exe.dev region selector
0263
David Crawshaw @crawshaw.io · 02/04/2026
This approach to UI design sounds like a nice theory that would not work in practice. Turns out it does work, and once you commit, it is has a clarifying effect across your entire API. blog.exe.dev/a-simple-ui-...
0252
David Crawshaw @crawshaw.io · 20/03/2026
New feature: the pi coding agent is included by default. It is hooked up to the LLM gateway included in your subscription.
3240
David Crawshaw @crawshaw.io · 11/03/2026
👀
1120
David Crawshaw @crawshaw.io · 11/03/2026
macOS already ships age verification
7631104
David Crawshaw @crawshaw.io · 26/02/2026
One of the hard parts of the empty prompt box is writers block. What do I even ask for? So I added some prompt ideas to exe.dev/new. Some of them are fun, like setting up Zulip with an OIDC proxy so that exe.dev sharing acts as auth.
2181
David Crawshaw @crawshaw.io · 20/02/2026
not an amazing trend line
150
David Crawshaw @crawshaw.io · 08/02/2026
The exe.dev January update is here! Only a week late. (Servers were on fire.) blog.exe.dev/jan26-update
0201
David Crawshaw @crawshaw.io · 03/02/2026
Lots of fun gory details in this blog post.
An LLM API pricing simulator.
1120
David Crawshaw @crawshaw.io · 26/01/2026
What is most interesting about this to me: I used the screen record feature on my phone which made a 7min video. I wanted it to fast forward, but I lack any of the skills required. So I scp'ed the .mp4 to my VM and then asked Shelley to figure it out. It used a mighty ffmpeg script beyond my ken.
190
David Crawshaw @crawshaw.io · 26/01/2026
I wanted to try out Clawdbot, so I set it up on a fresh VM.
1242
David Crawshaw @crawshaw.io · 22/01/2026
We have to get on top of everything before we can write up all the things we have built for exe.dev, but this one comes up the most so I blogged about it: SSH has no Host header. So how do we proxy SSH? We Do Things with DNS. blog.exe.dev/ssh-host-hea...
2263
David Crawshaw @crawshaw.io · 21/01/2026
Added an HN testimonial to our website.
5694
David Crawshaw @crawshaw.io · 15/01/2026
Amazing. kohlschwarz.exe.xyz
0130
David Crawshaw @crawshaw.io · 13/01/2026
Just shipped on exe.dev: VM-external restart
0150
David Crawshaw @crawshaw.io · 11/01/2026
Poorly terminated cat6:
160
David Crawshaw @crawshaw.io · 02/01/2026
061
David Crawshaw @crawshaw.io · 02/01/2026
Building is all you need.
130
David Crawshaw @crawshaw.io · 28/12/2025
...and fixed
040
David Crawshaw @crawshaw.io · 28/12/2025
If you have tried to DM me on bsky in the last few days, I am visiting Australia so will not see it until I figure out how to VPN back to the US.
210
David Crawshaw @crawshaw.io · 11/12/2025
litestream-vfs is exciting. Besides being FUSE-free, it hooks into SQLite at a far more solid point than the original Litestream, and has an amazing new power:
2518
David Crawshaw @crawshaw.io · 15/11/2025
I think about this chart a lot.
230
David Crawshaw @crawshaw.io · 15/11/2025
Perfect
google search for [1-way door]
030
David Crawshaw @crawshaw.io · 12/11/2025
I tried buying shoes online.
0160
David Crawshaw @crawshaw.io · 07/11/2025
It is a testament to how much launch activity there is that the FAA has to restrict commercial launch to night to avoid impacting ATC during the shutdown.
030
David Crawshaw @crawshaw.io · 14/10/2025
Old-school memory management technique.
2253
David Crawshaw @crawshaw.io · 12/10/2025
You can put your prices on your web site. You don't need to make prospects "contact sales" for pricing.
060
David Crawshaw @crawshaw.io · 22/09/2025
0170
David Crawshaw @crawshaw.io · 02/09/2025
It is 2025 and Unix is asking the big questions.
1171
David Crawshaw @crawshaw.io · 18/08/2025
Use TouchID for sudo on macOS: - cd /etc/pam.d && cp sudo_local.template sudo_local - uncomment the line in sudo_local
2345
David Crawshaw @crawshaw.io · 12/08/2025
We are knee-deep in studying the developer experience around containers, because if agents are going to be maximally useful, they need to be in a box. What we have discovered so far: sketch.dev/blog/in-prai...
0192
David Crawshaw @crawshaw.io · 02/08/2025
Perfect.
0242
David Crawshaw @crawshaw.io · 31/07/2025
If you want to try out the full-sized Qwen 3 Coder, we just added it to the latest version of sketch. Run with: brew install boldsoftware/tap/sketch sketch -model=qwen (We handle running the model for you.) It is amazing how close this open model is to the frontier models. And notably faster.
171
David Crawshaw @crawshaw.io · 20/07/2025
The insidious way things get worse is deliberate, rewarded optimization. These steps made Hotweels measurably cheaper (or improved margins), with no measurable loss of quality. Because the quality was hard to quantify, or noisy, or deemed low value by a secondary metric (no sales impact).
65113
David Crawshaw @crawshaw.io · 09/07/2025
Here is a writeup on using an agent to help me find the source of a bug when my own grepping had failed. It is a cronicle of barely 30 minutes of work yesteday, but serves as an example of how I get value out of these tools. sketch.dev/blog/fightin...
0120
David Crawshaw @crawshaw.io · 21/06/2025
At least the machines are unintentionally funny.
060
David Crawshaw @crawshaw.io · 18/06/2025
Among other changes today, sketch.dev can now use docker in its hosted mode.
020
David Crawshaw @crawshaw.io · 13/06/2025
One of the features in Sketch I love is that it has a browser to take screenshots as it is working, and feeds those screenshots back into the model. This makes it much better at CSS-style work. sketch.dev/blog/browser...
020