Stop Building AI Workflows Over Broken Processes
AI workflows that automate broken processes don't fix anything -- they just make the dysfunction harder to see.
Thoughts on engineering, distributed systems, and technical leadership.
AI workflows that automate broken processes don't fix anything -- they just make the dysfunction harder to see.
Integration tests aren't just a good practice, they're fundamental to retaining fragile knowledge.
How I used integration tests to document and understand an OpenSearch query system nobody could explain -- and caught a breaking change within a week.
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.
A deployment process that fits in a Makefile -- build Tailwind, compile Go, scp the binary, restart systemd. No containers, no CI pipeline, no Kubernetes.
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.
How one ReadMemStats call serves N viewers -- building a live telemetry dashboard with Server-Sent Events, cached snapshots, and zero client-side JavaScript frameworks.
The technical decisions behind a personal site built with Go, Chi, HTMX, and Tailwind -- and why I skipped React entirely.