Docker BuildKit in CI: The Economics of Network I/O vs CPU Compilation

Enabling remote layer caching in CI often slows builds down instead of speeding them up. Here is how network transit limits, cache thrashing, and local NVMe runners dictate the real economics of container builds.

October 2, 2026 · 6 min · Hanh Pham

CFS Quota Throttling & Silent OOMKills: The Fallacy of Kubernetes CPU Limits

Setting hard CPU limits on latency-sensitive microservices destroys p99 response times while average utilization appears deceptively low. Here is how Linux CFS quotas, Go GOMAXPROCS, and GOMEMLIMIT actually behave under load.

September 28, 2026 · 8 min · Hanh Pham

Go 1.27 Is Quietly Load-Bearing

Generic methods finally landed, json/v2 is already running underneath your code, and the allocator got faster while you weren’t looking. Six of this release’s changes take effect without you opting in; here’s which ones will cost you an afternoon.

September 4, 2026 · 12 min · Hanh Pham

Go Performance Profiling with pprof: Finding the Slow Part

Your Go service is slow, but you don’t know where. Guessing is not a strategy. pprof tells you exactly where your program spends its time, memory, and CPU; here’s how to use it.

August 1, 2026 · 7 min · Hanh Pham

Caching Geospatial Queries Without a Specialized Geo Database

You don’t need PostGIS or a geohash library to cache repeat road-distance lookups: rounding coordinates and a unique index gets you most of the win.

July 23, 2026 · 5 min · Hanh Pham

Self-Hosting a Routing Engine Instead of Paying Per API Call

Road distance, not straight-line distance, is what travel expense claims and delivery pricing actually need, here’s how to get it without a metered maps API.

July 21, 2026 · 5 min · Hanh Pham

Syntax Highlighting with Hugo

Hugo ships with built-in syntax highlighting via Chroma, no plugins required.

July 16, 2026 · 1 min · Hanh Pham