2026-05-01
In defense of the small project
The best software I've written ran in under 500 lines. A defense of scope restraint as a form of craft.
5 min read
2026-04-22
Running rootless Linux environments on phones I shouldn't be tinkering with
Termux, proot, and the quiet joy of running a full Linux userspace in your pocket.
4 min read
2026-04-10
CUDA memory hierarchy — a practical map
Global, shared, register, L1/L2 — how GPU memory actually behaves under load, and the one mistake that kills every kernel.
8 min read
2026-04-01
How I built an error-catching AstrBot plugin in a weekend
A terminal-watching plugin that catches your errors before you finish swearing.
4 min read
2026-03-10
Rotational dynamics — notes from the physics rabbit hole
Angular momentum, moment of inertia tensors, and why spinning things are surprisingly hard.
5 min read
2026-02-03
Designing an agent orchestrator — lessons from -MathModel
Five specialist agents, one shared JSON context, and a lot of things that broke.
6 min read
2026-01-15
Why I rewrote my first CUDA kernel three times
The first version was correct. The third was fast. Here is what changed between them.
8 min read