David Crawshaw
@crawshaw.io
2.7K followers 180 following 310 posts
ceo exe.dev, tailscale co-founder, programmer
Posts Media Videos Starter Packs
crawshaw.io
tools are really bad at surfacing co-authored-by :(
crawshaw.io
Old-school memory management technique.
crawshaw.io
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.
crawshaw.io
You can put your prices on your web site. You don't need to make prospects "contact sales" for pricing.
crawshaw.io
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.
crawshaw.io
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?
crawshaw.io
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.
crawshaw.io
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
...
);
crawshaw.io
Android is a good chunk of the way there (and in fact is the pioneer, with MTE), so I expect it to quickly follow. The magic here is extending MTE to the point where we can rely on it, so we can get on with programming.

Until it hits non-mac laptops… dodge security teams? :)
crawshaw.io
Much more dramatically: I would shift some software from garbage collected languages to C++ (or some equivalent) if the safety concerns evaporated, because it becomes a pure productivity/performance tradeoff. Exciting times!
crawshaw.io
Nah. I'm not paying some huge productivity hit just for that. We avoid crashes by investing in testing.
crawshaw.io
C++ is good enough again? Will any arguments for productivity-costing modern language techniques like borrow checking survive if memory tagging actually works? Will security teams ban sensitive work happening on x86 laptops and desktops for 5+ years? Lots of change ahead!
crawshaw.io
This comes to macOS next year. The security argument for Chrome over Safari disappears? The hardware reaches Graviton three years later, but retooling the linux kernel and userland around typed allocators takes at least 5-8 years? Until then all computing worth doing has to be on a Mac?
crawshaw.io
I suppose this problem has always technically existed for zip because the spec has a lot of options in it. But zstd is one I’ll actually use.
crawshaw.io
The new format seems great. If zstd zip files were called zzip there would be no issue. But if we don’t I can have a zip file, and an old Go program that reads zip files, and the program will fail on it.
crawshaw.io
Wow, I don’t know how I feel about that! (I love zstd. And I love stable file formats that are backward and forward compatible.)
crawshaw.io
$ git reset -hard 37dd8d3
error: did you mean `--hard` (with two dashes)?

we will never know
crawshaw.io
There's a related load of nonsense about how "if we make tourism illegal we will have enough housing" that is very common. Solve the problem with more restrictions, this time on demand. Anything but relax restrictions on supply. (NYC tried it, didn't work: www.wsj.com/real-estate/...)
New York’s Airbnb Crackdown, in Force for Two Years, Hasn’t Improved Housing Supply
It is harder than ever to find an apartment in NYC two years after the city cracked down on illegal Airbnb units and other short-term rentals.
www.wsj.com
crawshaw.io
It is 2025 and Unix is asking the big questions.
crawshaw.io
Sad that of the word telephone, we dropped the tele- (still very true of modern devices) and kept the -phone (which we don't use).