Series
Most of what I write here runs longer than one post. A series is a set of notes meant to be read in order, where each one builds on the configuration or the argument in the note before it. This page lists them, largest first.
Each series page has its own introduction and lists notes in publication order rather than newest first, since the first note is usually where to start. The current work is in MCP Studies, Advanced Platform Development, MCP Without the SDK, and MCP by Design. The rest goes back to 2018 and stays up because the gap between what I wrote then and what I would deploy now is worth reading.

×28
Advanced Platform Development
Rebuilding a complete self-hosted data platform from FOSS on Kubernetes, one working component at a time.
2026
×27Kubernetes
Working notes on building and running Kubernetes clusters by hand, from 2018 through 2026.
2018–2026
×20MCP Without the SDK
The Model Context Protocol taken apart one JSON message at a time, written by hand in Go.
2026
×12Linear Algebra Crash Course
Twelve parts of linear algebra for programmers who need it for machine learning and never took the course.
2018–2020
×10Linear Algebra in Go
Implementing linear algebra in Go with gonum: vectors through SVD, PCA, a regression library, and the math under a neural network.
2020–2022
×9MCP by Design
Building MCP servers that survive contact with real agents: language choice, composition, steering, knowledge, testing, and agent-authored automations.
2026
×5AI on a Leash
Mechanical verification for AI-written code: strict linting, coverage gates, mutation testing, and a pre-commit gate that refuses the commit.
2026
×5Apache NiFi
Running Apache NiFi in production on Kubernetes: deployment, securing flows, JOLT transformations, and dynamic HTTP listeners.
2022–2023
×5MCP Studies
Measured studies of MCP agent behavior: knowledge-layer ablation, stored-knowledge use, the measurement harness, knowledge pollution, and cross-reference document completion.
2026
×3AI
Early 2026 notes on composable MCP servers over a data platform, and what the protocol gets wrong.
2026
×3Blockchain
A conceptual overview, a private Ethereum chain on Kubernetes, and reading that chain through Ethstats. Written in 2018.
2018
×3Data Science
The working minimum of the Python data stack: NumPy, Pandas, Matplotlib, and Seaborn.
2018
×3Vector Search Without the Vector Database
Semantic search over a data catalog using Postgres, pgvector, and CPU-only Ollama, with no vector database anywhere.
2026