News
Go Builds Packages, Not Files — Here’s Why That Matters
Go's build system isn't something to fight or work around. It's an API in its own right - one that rewards understanding.
Building a Better Debugging Experience: A Deep Dive into Capturing and Replaying...
Debugging microservices is hard because it's difficult to see the data flowing between them. We built a "Request Capture Engine" t...
Debugging Microservices: A Journey into Distributed Debugging
This post describea framework for debugging microservices using gRPC interceptors to automatically collect and propagate debug inf...
Go's New Experimental Packages: What to Know
Go 1.25 introduces new experimental packages for encoding and unmarshaling of Go types. The new packages are not visible by defaul...
Flight Recorder: A New Go Execution Tracer
The flight recorder is just the latest addition to the Go developer’s toolbox for diagnosing the inner workings of running applica...
Clean Code: Concurrency Patterns, Context Management, and Goroutine Safety [Part...
This final installment in the Clean Code in Go series breaks down how to write safe, idiomatic concurrent Go code using context, g...
Go’s 16th Anniversary and the Major Highlights of 2025
Go 1.24 and 1.25 were released in February and August of this year, respectively. Go is the most productive language platform for...
Clean Code in Go (Part 4): Package Architecture, Dependency Flow, and Scalabilit...
- Use `internal/` for private business logic- Define interfaces where you use them, not where you implement- Keep import graph f...
Clean Code in Go (Part 2): Structs, Methods, and Composition Over Inheritance
Go offers composition through embedding, interfaces without explicit implementation, and clear rules for methods. The difference b...
What Are Generics? An Introduction for Beginners
In this article we’ll introduce the new language features. We won’t try to cover all the details, but we will hit all the importan...
Go: Can It Mitigate Supply Chain Attacks?
All together this means it’s possible to build rich, complex applications with just a handful of dependencies. No matter how good...
