News
SnapPoint: A Hard Reset for Your Dev Machine
SnapPoint is a system auditor and a package manager manager. Its job is to understand what is installed on your machine, where it...
I Built a Go-Based ngrok Alternative With Zero Dependencies
Built a complete ngrok-like tunnel service in Go in one evening (~3.5 hours of focused coding time). Includes both client CLI and...
Generic interfaces: When to Use Them
As interfaces are types themselves, they too can have type parameters. This idea proves to be surprisingly powerful when it comes...
Go 1.25 is released - The Go Programming Language
Go 1.25 comes with improvements over Go 1.24 across its [tools], [compiler], [linker], and [standard library] There are also [port...
The Practical Way for Developers to Learn Algorithms
Many developers quietly assume Big-O and data structures are only for low-level specialists. Stacksmith is my experiment to dispro...
How to Build a Status Monitoring Service in Go
This tutorial walks through building StatusD, a self-hosted monitoring service in Go that reads monitored endpoints from JSON, pro...
Container-aware GOMAXPROCS: What it is and Why It's Important
Go 1.25 includes new container-aware `GOMAXPROCS` defaults. These defaults provide more sensible default behavior for many contain...
How to Build a Production-Ready Go Diagnostic Rule
Build and ship a production-ready Go diagnostic rule using go/analysis.
Go: The Testing/Synctest Package Explained
Go 1.25 introduces the `testing/synctest` package. This package can significantly simplify writing tests for concurrent, asynchron...
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...
