There's a moment every developer knows. You need to generate a PDF. It looks simple. You've done harder things. Three hours later, you're reading a Stack Overflow thread from 2016 that ends with "works on my machine." This post is about that moment — the actual options, what breaks in each, and where I landed after years of hitting this in production. It uses a stripped-down WebKit engine and conv
At 3:17 AM on a Tuesday in Q3 2024, our production Kotlin 2.0 microservice fleet hit a 92% memory utilization threshold across 140 nodes, traced to a silent coroutine leak in Ktor 2.2’s request pipeline that had been bleeding 12MB of heap per second for 72 hours. We lost $14k in SLO credits before we found the root cause. A Couple Million Lines of Haskell: Production Engineering at Mercury (78 p