David Crawshaw
@crawshaw.io
📤 2726
📥 184
📝 305
tailscale co-founder, programmer, building sketch.dev
about 9 hours ago
0
10
0
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.
9 days ago
1
17
0
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 ... );
11 days ago
0
12
0
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-...
loading . . .
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...
https://security.apple.com/blog/memory-integrity-enforcement/
12 days ago
3
26
6
$ git reset -hard 37dd8d3 error: did you mean `--hard` (with two dashes)? we will never know
14 days ago
0
6
0
It is 2025 and Unix is asking the big questions.
20 days ago
1
14
1
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).
22 days ago
5
29
5
Most impressive thing I have seen in a container today: it ships with bash, but not ps.
22 days ago
0
5
0
I spent an hour today trying to find a missing —nested-virtualization flag, was ready to blame an LLM for writing the docs, only to discover the flag is conditionalized on having an M3 or M4. Amazing world, I’m two CPU revisions behind and would never have known from performance alone.
25 days ago
0
8
0
"Five next-generation Acela trains begin service Thursday as part of a $2.45 billion project to improve service ... two of them running from Washington to Boston will actually travel more slowly than their predecessors do on the same route" Like so many software infrastructure projects.
25 days ago
0
6
0
Use TouchID for sudo on macOS: - cd /etc/pam.d && cp sudo_local.template sudo_local - uncomment the line in sudo_local
about 1 month ago
2
34
7
Going to spend today deleting emails to conserve water.
about 1 month ago
0
16
0
# Install Go 1.24.2 ENV GO_VERSION=1.24.3 someone cooked here
about 1 month ago
0
4
0
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...
about 1 month ago
0
19
1
reposted by
David Crawshaw
Philip Z
about 1 month ago
This was fun. Wrote a bookmarklet to add an agent (bring your own anthropic key) to any (excluding strict CSPs) website.
blog.philz.dev/blog/itsy-bi...
loading . . .
Itsy Bitsy Agent Bookmarklet (or, adding an agent to a PyBricks simulator)
https://blog.philz.dev/blog/itsy-bitsy-agent/
0
2
1
New Sketch website, testing how it renders here:
sketch.dev
(Feedback would be good! Though feedback about using Sketch is even better!)
loading . . .
sketch.dev - Sketch Code Agent
An agent with a web UI that talks git.
https://sketch.dev
about 2 months ago
0
6
0
Perfect.
about 2 months ago
0
24
2
So I am still using vim. There is now neovim. What would I get from trying neovim, anything people like?
about 2 months ago
6
8
0
An example of agent-assisted-programming going wrong:
sketch.dev/blog/our-fir...
loading . . .
Our first outage from LLM-written code
Postmortem of our first service outage caused by LLMs.
https://sketch.dev/blog/our-first-outage-from-llm-written-code
about 2 months ago
3
25
8
Congrats Figma folks!
about 2 months ago
0
4
0
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.
about 2 months ago
1
7
1
Just got macOS notarization working for sketch release binaries. If you tried downloading in the past week and hit the macOS quarantine, it should be fixed in v0.0.30.
about 2 months ago
0
5
0
Right now Lean is very much the classic "first learn mathematics then learn Lean", but this hints at some interesting future, where mechanical proofs are approachable enough (at least at the basic levels) that it can be a way to teach proofs:
adam.math.hhu.de#/g/leanprove...
about 2 months ago
1
3
1
SwiftUI has some really impressive developer tools.
about 2 months ago
1
0
0
I have been testing out qwen3-coder as a model in sketch, and it's the first model to really grasp tool use the way Anthropic models do. It is astonishingly good for an open model, good enough it could be my daily driver.
about 2 months ago
2
3
0
Wrote a ton of code to do DNS ACME challenges, only for it to never be triggered, because if my ACME client got
foo.dev
, apparently I can have a wildcard cert *.user.foo.dev subdomain under it without any more proof.
about 2 months ago
0
2
0
Watching an LLM revert a git commit is the most sympathetic I have been to a machine in weeks: git show cabeb07:src/cmp.go > /tmp/cmp_before.go cp /tmp/cmp_before.go src/cmp.go
about 2 months ago
0
5
0
reposted by
David Crawshaw
Philip Z
2 months ago
Wrote up a complete example of managing Grafana dashboards in code at
philz.dev/blog/grafana/
.
loading . . .
Infrastructure as Code for Grafana Dashboards
https://philz.dev/blog/grafana/
0
10
1
reposted by
David Crawshaw
Alanna Smith
2 months ago
Maybe the real Ship of Theseus was the Ship of Theseus we made along the way
24
2790
892
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).
2 months ago
6
52
14
had a birthday, switched back to light mode
2 months ago
2
9
0
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...
2 months ago
0
12
0
std::uint8_t just say byte
3 months ago
2
18
0
Got to tell someone the Murderbot TV show exists, so today was productive.
3 months ago
0
10
0
reposted by
David Crawshaw
Roger Peppe
3 months ago
@crawshaw.io
Half way through my first
sketch.dev
run. Looking promising so far! One thing I'm really liking is the ability to interject comments while it's thinking and see its trajectory change.
loading . . .
sketch.dev
https://sketch.dev
1
7
1
At least the machines are unintentionally funny.
3 months ago
0
6
0
You're absolutely right!
3 months ago
0
6
2
reposted by
David Crawshaw
Eric Case
3 months ago
Shout out to
@sketch.dev
, it is amazing. cc
@crawshaw.io
@banksean.bsky.social
0
3
1
Among other changes today,
sketch.dev
can now use docker in its hosted mode.
3 months ago
0
2
0
Happy Father’s Day!
3 months ago
0
8
0
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...
3 months ago
0
2
0
This is way more fun than me trying to find buttons in the Grafana UI.
3 months ago
0
13
0
reposted by
David Crawshaw
Philip Nuzhnyi
3 months ago
"Ultimately, agents spend CPU and GPU cycles doing intermediary work so that humans do not need to. Any time I can mechanise my labor I get more done, so agents are a huge step forward for me." - 💯 once you see it, you can’t unsee it
1
2
1
reposted by
David Crawshaw
Filippo Valsorda
4 months ago
The Sketch blog has become the one thing you need to read—along with
@simonwillison.net
—to keep the pulse of LLM-assisted development. Senior engineers putting in the work and giving no-bullshit perspectives. Read this one by
@crawshaw.io
through. Not skim or half. Especially if you are a skeptic.
loading . . .
sketch blog: How I program with Agents
2025-06-08 by David Crawshaw
https://sketch.dev/blog/programming-with-agents
3
68
15
Some recent experiences programming with agents.
crawshaw.io/blog/program...
4 months ago
0
25
8
My agent story of the morning is my blog failed to deploy for mysterious toml/container reasons and I asked sketch to fix it. It replaced the now deleted public container with a dockerfile. It works! Glad to have help staying on the ops treadmill.
4 months ago
0
5
0
May we all strive to bring wonderous change like Bill Atkinson.
add a skeleton here at some point
4 months ago
0
6
0
I export a Google Doc as markdown, edit it to add an HTML <svg> tag, that contains CSS, that contains a base64-encoded woff2 truetype font, add it to my blog so it can convert to HTML. Everything is fine.
4 months ago
0
8
0
Got github login to
sketch.dev
working (with the obvious integration coming very soon).
4 months ago
0
6
0
I do not understand why, to write, I start with markdown-ish text in Apple Notes, move it to Google Docs, then finally redo it as a real markdown in a file I commit to git for my blog. I own this whole process, why is it so terrible?
4 months ago
1
4
0
Load more
feeds!
log in