Building a tiny static site generator in 200 lines of Go
Sometimes the right answer is not Hugo or Astro but a file you can read in one sitting. We walked through every line in a guild lunch and somehow shipped a new docs site by the end of the day.
There is no faster way to grow as an engineer than spending an evening with a debugger and a project you depend on every day. Here are the libraries that taught us the most and the exact commits worth bookmarking.
Sometimes the right answer is not Hugo or Astro but a file you can read in one sitting. We walked through every line in a guild lunch and somehow shipped a new docs site by the end of the day.
Every team eventually discovers the joy of shipping behind a flag. Fewer teams discover the misery of cleaning up flags two years later when the original author has long since left the company. A short rant and a longer guide.
Five years ago this would have been a controversial post. Today we have battle-tested operators, decent storage classes and a community that has finally agreed on backup tooling. Here is the stack we landed on for a fleet of around forty clusters.
After two years of running a custom message broker we finally pulled the plug and migrated everything to NATS JetStream. The migration took six weeks of careful planning, three weekends of late-night cutovers and one production incident that we are still apologising for.
Continuous profiling sounds great until you turn it on in a fleet of three hundred pods and your p99 latency doubles. Here is how we instrumented pprof endpoints behind a feature flag, sampled at one percent and shipped flame graphs straight to Grafana.