I learn by building. My interests move across programming languages, developer tools, human–agent systems, and experiments that turn an idea into something I can test. I write about what I learn by building, measuring, and using things in practice.
- Bend 2, from zero — a from-first-principles book built from runnable experiments. It covers affine values, parallel CPU and GPU execution, Conway’s Life, laws, proofs, and the measurements behind every performance claim.
- Languages by building with them — I have ported The Little Learner to Gleam, published Gleam libraries, built a parser-combinator JSON parser, and created tree-sitter-elle for structural search and rewriting in Elle.
- Tools for working with agents — memhub shares long-term memory across machines and coding agents; ClaudePad and agent-shell-hud explore ways to direct and observe agents without losing your own train of thought.
- Developer tools — Emacs is one long-running part of this work: emacs-egui brings Rust/egui WebAssembly applications into Emacs, consult-snapfile makes file search effectively instant, and emacs-anywhere connects Emacs to native macOS applications.
- Systems in the real world — I document the details that usually disappear, from making Linux work on a T1 MacBook Pro to building a multi-channel writing and publishing system.
- Elle — my merged contributions span compiler correctness, region-inference performance, standard-library caching, stack safety, cross-thread ownership, and macOS support.
- lsp-bridge — a fast LSP client for Emacs. I built its Dev Container integration and contributed language-server support and concurrency fixes.




