Open to project work, technical leadership, and engineer-in-residence gigs. Let’s talk

Get in touch

Articles

Systems, mathematics, and the craft of building software.

Anthropic and the caravel problem

June 02, 2026

In 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.

aiopinion
Series · 6 parts

Back to wires: Introduction

Updated

A complete, ground-up course in electrical theory and code: how it's built, the shape of each lesson, and the ground it covers across eight areas from fundamentals to maintenance.

electrical
Show all 6 parts
  1. 1. Back to wires: Introduction (above)
  2. 2. Back to wires: Direct current
  3. 3. Back to wires: DC circuit analysis
  4. 4. Back to wires: electric and magnetic fields
  5. 5. Back to wires: the electromagnetic field, light, and relativity
  6. 6. Back to wires: capacitors, inductors, and the circuits they shape

npm install and pray. Axios and TanStack, 2026.

May 22, 2026

Two 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.

securitydevopssystems
Series · 4 parts

Vector search: The problem

Updated

Why 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.

mlalgorithms
Show all 4 parts
  1. 1. Vector search: The problem (above)
  2. 2. Vector search: Small worlds
  3. 3. Vector search: On disk
  4. 4. Vector search: Quantization

AI and technical writing

May 08, 2026

Almost 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.

aiagentic-coding

I built a compiler frontend with Claude's help. A retrospective.

March 25, 2026

A 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.

aiagentic-codingrustcompilersformalang

Self-hosting Devstral Small 2 on a 48 GB GPU

December 11, 2025

Deploy 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).

aidevopsself-hostingagentic-codingmistral
Series · 2 parts

The exponential thread: The puzzle

Updated

Starting 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.

math
Show all 2 parts
  1. 1. The exponential thread: The puzzle (above)
  2. 2. The exponential thread: Why e is natural
Series · 6 parts

Rust for Swift devs: The type system

Updated

Coming 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.

rustswiftsystems
Show all 6 parts
  1. 1. Rust for Swift devs: The type system (above)
  2. 2. Rust for Swift devs: Error handling
  3. 3. Rust for Swift devs: Memory and ownership
  4. 4. Rust for Swift devs: Lifetimes
  5. 5. Rust for Swift devs: Concurrency
  6. 6. Rust for Swift devs: Tooling and interop

AWS Lambda + Rust

March 27, 2019

Deploying Rust on AWS Lambda in 2026: how the toolchain has changed since 2019, and what a minimal, idiomatic setup looks like today.

rustawsdevopsserverless