Performance
Blog
Latest post
The Rust ecosystem is unreasonably good
A second pass on the Rust port of my blog, where I dropped the chromium PDF subprocess for embedded Typst. Some notes on axum, comrak, minijinja and Typst.
2026-05-09
Rewriting my blog in Rust
I rewrote this blog from Flask to Rust over an afternoon. The result is a single 3.5 MB binary that uses 14x less memory and serves 10x more requests per second.
2026-05-06
Self-host your fonts
The shared cache argument for Google Fonts died in 2020 and the privacy argument was never great. Self-hosting with @fontsource is a one line change.
2026-05-03
I don't have any more posts with this filter at the moment but here are some other posts you might like!
Why not make your own dashboard in 2026
I was reflex checking the same six tabs all day so I built one page that has all of it on it, and the part that surprised me is how little work that is now.
2026-09-10
It's Go all the way down
Every process in front of my websites is a Go binary now, from the tunnel to the web server to the sites themselves, and the whole stack runs on a desktop I already owned for a few dollars a month in power.
2026-08-30
A status line for Claude Code
A drop-in status line for Claude Code that shows your 5-hour usage quota, context window, working directory with git branch, and the time, all out of one bash file, plus a quick walk through how it works.
2026-06-13
Cool URIs don't change, unless an AI rewrites your blog
I let an AI port my blog from Django to Flask and it quietly moved every post URL, which I didn't catch for about a week.
2026-04-29