HTTP Server: Go vs Rust
Let’s compare how a basic HTTP server looks in Go and Rust — two languages often mentioned together when performance and reliability matter.
Continue readingLet’s compare how a basic HTTP server looks in Go and Rust — two languages often mentioned together when performance and reliability matter.
Continue readingWhen I started blogging, a colleague asked me directly: “Why? Stack Overflow already has answers to everything, Medium is flooded with tutorials, and there are dozens of books on any technology. Who needs yet another blog?” I couldn’t give a clear answer back then. Now, after several years of blogging and working as an engineering manager, I can.
Spoiler: it has nothing to do with readers.
Continue readingTrying to run a large language model locally but not sure which file to download? Q4_K_M, IQ3_S, Q5_K_M - these aren’t random strings. They describe the quantization format, which determines response quality and how much memory the model will use.
Continue readingYou write code, then rewrite it three times, refactor it again, delete it, and start over. Sound familiar? Perfectionism in code is not a virtue. It’s a bottleneck.
Let’s break down how to stop obsessing over every line and start creating real value.
Continue readingYou have a great API with median latency of 5ms, but P99 suddenly spikes to 500ms? Clients complain about periodic freezes? Welcome to the world of Go Garbage Collector and its impact on tail latency.
In this article, we’ll tackle a real problem: how a 10ms GC pause turns into 500ms latency for users, and what to do to keep P99 latency under control.
Continue readingA distributed system is one in which the failure of a computer you didn’t even know existed can render your own computer unusable.
Leslie Lamport
In production environments, especially in Kubernetes, services are constantly being stopped and started: deploying new versions, scaling, node switching. Improper shutdown leads to lost requests, unsent data, and desynchronized state.
Graceful shutdown is not just handling SIGTERM. It’s a comprehensive termination strategy that guarantees:
Let’s explore how to implement this correctly.
Continue reading