News
Aug 31, 2025
A Beginner's Guide to Code Coverage for Go Integration Tests
In this blog post we’ll give an example of how these new features work, and outline some of the use cases and workflow for collect...
Aug 23, 2025
A Tour of Slog: Everything You Need to Know About Structured Logging With Slog
By including structured logging in the standard library, we can provide a common framework that all the other structured logging p...
Aug 20, 2025
Go Concurrency Face-Off: Channels vs Mutexes
Demystify when to use channels and when to use mutexes, and why blindly following "Go concurrency patterns" can backfire.
Aug 19, 2025
Building a Go Dependency Scanner From Scratch
Build a Go dependency scanner with the standard library: parse go.mod, query OSV for vulnerabilities, and analyze licenses.
Aug 14, 2025
Go Interfaces – Stepping Beyond the Fundamentals
It's time to take a deeper dive into how interfaces work under the hood, common pitfalls, and advanced best practices.
Aug 13, 2025
Go Interfaces: Favoring Composition Over Inheritance (With a Dash of Common Sens...
Coming from a language like C# or JavaScript, interfaces in Go can feel like a cruel joke.
