







If you’ve ever wondered why your Go service is eating memory like it’s at an all-you-can-eat buffet, chances are you haven’t optimized your Protocol Buffers usage. I’ve been there, watching heap profiles with the kind of horror usually reserved for checking your bank account after a night out. But here’s the good news: Protocol Buffers in Go can be wickedly fast and memory-efficient when you know the tricks. Let me walk you through the optimization techniques that transformed my services from memory-hungry monsters into lean, mean, serialization machines.
Protocol Buffers
Protocol Buffers are language-neutral, platform-neutral extensible mechanisms for serializing structured data.
Preserving Order in Concurrent Go Apps: Three Approaches Compared
Concurrency breaks ordering by design, but sometimes we need both. Explore three methods to preserve order in concurrent Go applications, from standard ReplyTo channels to sophisticated permission passing, with benchmarks and real-world trade-offs.

Making SQLite faster in Go
Make sqlite faster with a connection pool and prepared statements.
Go Web Programming
Build scalable, high-performance web apps in Go with modern design principles.

Building a simple load balancer in Go
Load balancers are crucial in modern software development. If you've ever wondered how requests are...

Notes on structured concurrency, or: Go statement considered harmful — njs blog
Every concurrency API needs a way to run code concurrently. Here's some examples of what that looks like using different APIs:

Thorsten Ball - Why threads can't fork
There is an interesting thread on the Go issue tracker about daemonizing processes. Most of the thread is not about daemonizing processes though, but more about why Go has no Fork() function which you can call directly in your code. The first time I read through it I was wondering and saying to myself: “Yeah, why is there no Fork()? It surely can’t be that hard to implement.” After all you can already call system calls with the syscall package. As I read more and more I realized that the problem is not implementing Fork() per se, but rather implementing Fork() to work safely in a multi-threaded environment, which most Go programs are. So I tried to find out why.
Vibe-coded Go static analysis tools
Ideas are now a major bottleneck for vibe-coding. There are whole categories of software that simply don’t occur to me to write. Philip Zeyliger pointed me at one: Go static analysis tools. These are great candidates: easy to describe easy to test high value low risk He created a checker that requires slog.InfoContext instead of slog.Info when a context is available, to improve our telemetry/observability. I followed up with a checker that lets you annotate a Go struct as requiring complete, explicit annotation.
Protocol Buffers - OpenStreetMap Wiki
Protocol Buffers (Protobuf) is a data format developed by Google as a more efficient alternative to XML.
Integrating gRPC with the Homa Transport Protocol - John Ousterhout, Stanford University
How HTTP/2 Works and How to Enable It in Go
HTTP/2 solves head-of-line blocking at the application layer by multiplexing multiple streams over a single TCP connection. While HTTP/1.1 requires requests to be processed sequentially, HTTP/2 allows parallel processing through independent streams, each with its own ID. The Go standard library supports HTTP/2 out of the box when using HTTPS, and with some configuration, it can work over plain HTTP too

Latency optimization | OpenAI API
Improve latency across a wide variety of LLM-related use cases.

b5 (@b5.bsky.social)
Ok, a rundown of how we get p2p ATProtocol going: 1. Run *standard* ATProto services, locally 2. Use p2p to holepunch TCP connections 3. Add a thin layer for peering management Bundle all that up in an app, and we have a recipe for adding resilience & scaling to Bluesky. 🧵 teim:
apple/swift-nio
Event-driven network application framework for high performance protocol servers & clients, non-blocking.