- Fast code search
2026-06-05 — Searching code fast with ripgrep, trigrams, and embeddings, benchmarked on the Node.js source.
- Header-only C and C++ libraries
2026-06-03 — My favorite C and C++ header-only libraries.
- Making C++ data races show up on purpose
2026-06-02 — Forcing C++ data races to show up on purpose, then fixing them with volatile, atomics, and mutexes. Plus a from-scratch allocator benchmark.
- Computing mesh normals on the GPU's other pipeline
2026-05-30 — A WebGPU cloth sim that rebuilds a million mesh normals every frame, with one kernel ported across four GPU languages.
- TypeScript types as a runtime JSON validator, live in the browser
2026-05-28 — Turn a plain TypeScript type into a live, in-browser JSON validator by walking it with the TypeScript Compiler API.
- Local LLM arena: invert a binary tree
2026-05-23 — Comparing small local models on a LeetCode-style task with deterministic unit tests as the judge.
- Monkey Patching
2026-05-20 — Tour of techniques for modifying existing code at runtime.
- Work life
2026-05-20 — A different way to look at my career than a bullet point CV.
- Old Stuff
2026-05-18 — Reviving my old projects via Claude, WebGL and WASM.
- Using Gemini for game art
2026-05-17 — Using Gemini to generate game art assets, and the workflow around it.