David Crawshaw
banner
crawshaw.io
David Crawshaw
@crawshaw.io
ceo exe.dev, tailscale co-founder, programmer
GitHub is going to start charging for *self-hosted runners*
December 16, 2025 at 11:47 PM
What we are working on right now: blog.exe.dev/meet-exe.dev

We all need more virtual machines. We keep building software to work around the fact that VM infrastructure is clunky. Let's have good VM infrastructure instead.
December 15, 2025 at 11:40 PM
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:
December 11, 2025 at 6:25 PM
I idly wondered today, in the middle of another task, if we were correctly clearing HTTP headers unconditionally to avoid spoofing. Instead of ignoring the thought, I asked an agent to investigate.

An hour later while closing old windows I learned that, no, we are not clearing headers correctly.
November 25, 2025 at 4:49 PM
Google... just forked VSCode? Amazing.
November 18, 2025 at 8:39 PM
I think about this chart a lot.
November 15, 2025 at 5:49 PM
Perfect
November 15, 2025 at 1:28 AM
Surreal that Waymo can take you from downtown SF to SJC airport curbside, but not to SFO.
November 13, 2025 at 10:17 PM
I tried buying shoes online.
November 12, 2025 at 12:45 AM
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.
November 7, 2025 at 4:32 AM
Today I learned there is a status page for all of US airspace. nasstatus.faa.gov
November 6, 2025 at 3:38 AM
The Mac Pro comes with an M2 Ultra, and the Apple Studio comes with an M3 Ultra.
October 31, 2025 at 8:24 PM
This is a very nice blog post because it is not afraid to explain hard work in terms of simple concepts. go.dev/blog/greente...
The Green Tea Garbage Collector - The Go Programming Language
Go 1.25 includes a new experimental garbage collector, Green Tea.
go.dev
October 30, 2025 at 10:26 PM
What is going on with Ubuntu?

$ aws
Command 'aws' not found, but can be installed with:
sudo snap install aws-cli # version 1.42.58, or
sudo apt install awscli # version 2.14.6-1

$ sudo apt install awscli

Package 'awscli' has no installation candidate
October 26, 2025 at 10:10 PM
Used to: boot cdrom to install OS

Now: visit web site of board management console, insert virtual cdrom from across the network using web serial console, set as primary boot device in bios

Glad we made that easy.
October 17, 2025 at 9:42 PM
Old-school memory management technique.
October 13, 2025 at 11:01 PM
When you're talking to people about developing web sites it is easy to get ground down by constant React talk and accept it as an inevitability. If you ever find yourself here, hop on a plane and try to use GitHub Issues. Esp. if you remember that it used to work, before React.
October 13, 2025 at 4:59 PM
You can put your prices on your web site. You don't need to make prospects "contact sales" for pricing.
October 12, 2025 at 7:56 PM
It is surreal flying in a plane equipped with Starlink. I may as well be sitting in the office. Forgot to git clone 2GB of nonsense before getting on the plane? No problem, it runs as fast here as it does in my living room.
September 25, 2025 at 10:14 PM
iOS 26 has broken half the complications on my watch, with the weather asking me every hour if it is allowed to know my location (and then not telling me the weather).

The Earth still spins. But I am surprised this did not come up in QA?
September 24, 2025 at 3:47 AM
September 22, 2025 at 2:54 AM
You can ship a container without a shell in it. There is no law against it. I will sigh quietly.

But if you ship a container with a shell and without the ps command, I will judge you.
September 13, 2025 at 4:43 AM
Most SQLite databases have a table with a single row for program metadata. You can enforce that there is only one row with:

CREATE TABLE metadata (
id INTEGER PRIMARY KEY CHECK (id = 1), -- one row
...
);
September 11, 2025 at 3:14 AM
I am curious to see what memory bugs remain practical on iOS with MIE and typed allocators. The fact that memory tags are enforced even in kernel access to userspace memory is going to make use-after-free and buffer overflows extremely hard. security.apple.com/blog/memory-...
Blog - Memory Integrity Enforcement: A complete vision for memory safety in Apple devices - Apple Security Research
Memory Integrity Enforcement (MIE) is the culmination of an unprecedented design and engineering effort spanning half a decade that combines the unique strengths of Apple silicon hardware with our adv...
security.apple.com
September 10, 2025 at 12:09 PM
$ git reset -hard 37dd8d3
error: did you mean `--hard` (with two dashes)?

we will never know
September 8, 2025 at 5:09 PM