Blog

> Thoughts on engineering, systems, and building things.

RSS Feed

Tests as Institutional Memory

Integration tests aren't just a good practice, they're fundamental to retaining fragile knowledge.

testing integration-testing engineering-culture leadership

Reverse-Engineering Legacy Search with Integration Tests

How I used integration tests to document and understand an OpenSearch query system nobody could explain -- and caught a breaking change within a week.

testing integration-testing csharp elasticsearch

The Data Race Hiding Behind Correct Atomics

The metrics system used atomic.Pointer and atomic.AddUint64 everywhere -- except for one bare int index in a circular buffer. A textbook data race hiding in plain sight.

go concurrency performance atomics

The Boring Deploy: make deploy, systemd, and Nothing Else

A deployment process that fits in a Makefile -- build Tailwind, compile Go, scp the binary, restart systemd. No containers, no CI pipeline, no Kubernetes.

devops deployment systemd go blue-green

File-Based Blog System with Hot Reload

How dropping a markdown file into a directory makes it live in seconds -- file discovery, frontmatter parsing, and why RWMutex is the right primitive here when atomic.Pointer was the right one for metrics.

go architecture concurrency performance

Building This Site: Go, HTMX, and Zero JavaScript Frameworks

The technical decisions behind a personal site built with Go, Chi, HTMX, and Tailwind -- and why I skipped React entirely.

go htmx architecture tailwind