Articles
Systems, mathematics, and the craft of building software.
Anthropic and the caravel problem
June 02, 2026In 1500 a country of a million people invented the ship that opened the world, got rich beyond its size, and then lost everything to latecomers with deeper pockets. Frontier AI labs are sailing the same caravel. Why the model was never the moat, and the two narrow ways out.
npm install and pray. Axios and TanStack, 2026.
May 22, 2026Two npm supply chain attacks in early 2026: the Axios compromise by Sapphire Sleet and the Mini Shai-Hulud worm by TeamPCP. What happened, how to check if you were hit, how to harden, and an honest look at how Pent would have mitigated these.
Vector search: The problem
UpdatedWhy nearest neighbor search is easy in 1D, manageable in 2D, and falls apart in 768D. The first post in a series on vector search, working from the problem itself before the algorithms.
Show all 4 parts
- 1. Vector search: The problem (above)
- 2. Vector search: Small worlds
- 3. Vector search: On disk
- 4. Vector search: Quantization
AI and technical writing
May 08, 2026Almost every public article online is written with AI assistance now. So are the articles on this site. A note on how I write now, and why.
I built a compiler frontend with Claude's help. A retrospective.
March 25, 2026A writeup of building formalang, a compiler frontend, with Claude in the loop. The actual workflow, what it cost in time and reading, where the agent helped most, and a final scorecard.
Self-hosting Devstral Small 2 on a 48 GB GPU
December 11, 2025Deploy Mistral's Devstral Small 2 (24B coding model) with vLLM on a 48 GB workstation GPU or rented cloud instance, then connect it to OpenAI-compatible agentic clients (Cline, Continue, OpenCode).
The exponential thread: The puzzle
UpdatedStarting from a 3rd-grade equation and arguing that it is the entry point to the deepest unification in modern mathematics. e, ln, sin, cos, complex exponentials, matrices, and Lie groups all turn out to be the same object viewed from different angles. The first post in a nine-part series.
Show all 2 parts
- 1. The exponential thread: The puzzle (above)
- 2. The exponential thread: Why e is natural
Rust for Swift devs: The type system
UpdatedComing to Rust from Swift is a shorter transition than most assume. The first post in a series, starting with the type system: structs, enums, traits, generics, and the dyn/impl distinction.
Show all 6 parts
- 1. Rust for Swift devs: The type system (above)
- 2. Rust for Swift devs: Error handling
- 3. Rust for Swift devs: Memory and ownership
- 4. Rust for Swift devs: Lifetimes
- 5. Rust for Swift devs: Concurrency
- 6. Rust for Swift devs: Tooling and interop
AWS Lambda + Rust
March 27, 2019Deploying Rust on AWS Lambda in 2026: how the toolchain has changed since 2019, and what a minimal, idiomatic setup looks like today.