Published onOctober 30, 2026 (3d ago)One Elasticsearch Node at 96.5% CPU, and Three Loads I Wasn't CountingElasticsearchKubernetesPerformanceDistributed-SystemsPostmortemA single Elasticsearch node sat at 96.5% mean CPU for a day. The biggest loads weren't the collectors I kept tuning: a pile of detached back...
Published onOctober 23, 2026 (10d ago)My Canaries Kept Passing and My Rollouts Kept FailingWeb-ScrapingWeb-CrawlerGoKubernetesPostmortemA worker rollout passed an 80-minute production canary at 72.5-75.5% yield, then its standing pods tripped their circuit breakers at 9.5%. T...
Published onOctober 23, 2026 (10d ago)I Probed a Million Sites for llms.txt. Half the 200s Were Junk, and My Accept Header Invented More.Web-ScrapingData-StudyWeb-CrawlerGoKubernetesllms.txtI fetched /llms.txt from the Tranco top 1,000,000 domains. The run agreed with its own smoke test to about 99% and was still wrong in three ...
Published onOctober 16, 2026 (17d ago)There Is No "Latest Chrome"Web-ScrapingTLS-FingerprintingAkamaiHTTP/2DebuggingGoOne Akamai 403 took four fixes in about a day. One was rolled back after 0 of 12 live requests passed, and one applied the lesson of my last...
Published onSeptember 25, 2026 (1mo ago)What Parallel Coding Agents Did to Go's Build CacheGoAI-AgentsBuild-SystemsDeveloper-ToolingGitDebuggingI run several coding agents at once, each in its own git worktree of one Go monorepo, on one 8-core Mac. The model was never the bottleneck....