DEVELOPER NEWS STREAM
Direct logs, engine updates, and framework notifications parsed from curated RSS feeds and announcements, updated hourly.

Gabriel AnhaiaGo 1.22 ServeMux: Method and Wildcard Routing Without a Framework
Go 1.22 gave the standard library method-aware routing and path wildcards. Here is how PathValue, precedence, and {$} actually behave.

Gabriel Anhaiadatabase/sql in Go: NullString, Contexts, and Connection Lifecycle
The three database/sql habits that separate a Go service that survives a traffic spike from one that pools out: sql.Null types, QueryContext, and pool tuning.

Gabriel AnhaiaCoordinating Graceful Shutdown Across Goroutines in Go
Shut a Go service down without dropping in-flight work: a done signal, draining, ordered dependent stops, and a deadline that always exits.

Gabriel Anhaiaselect and default in Go: Non-Blocking Sends, Receives, and Polling
The default case turns a blocking channel op into a try. It also invites a busy loop that pins a CPU core. Here is how to use it right.

Gabriel AnhaiaFan-Out, Fan-In in Go: Parallelizing Work With Channels
Distribute work across N goroutines and merge results with channels: worker pools, WaitGroup close coordination, and keeping order when it matters.

Gabriel AnhaiaRate Limiting in Go With golang.org/x/time/rate
Token bucket done right in Go: Limiter with Allow, Wait, and Reserve, per-key limiters, and the burst value almost everyone sets wrong.

Gabriel AnhaiaGo Package Naming: The Standard That Kills util and common
Your Go package names are part of your public API. Why util, helpers, and common rot, and how to split them into names that read at the call site.

Gabriel AnhaiaGoogle's Go Style Guide: The Rules Worth Adopting on Any Team
Google's Go Style Decisions doc: nil slices, error wrapping, test names, field alignment. Which rules to adopt on any team, which to skip.

Gabriel AnhaiaDon't panic in a Go Library: Return the Error Instead
A panic in a Go library breaks the caller's contract. When Must-prefix is the exception, and how to convert a panic back to an error at the boundary.

Gabriel AnhaiaWriting Go Doc Comments That godoc Renders the Way You Meant
Doc comments are a formatted language, not free text. Here is how godoc and pkg.go.dev parse yours, and how to write ones that render right.

Gabriel AnhaiaThe Pipeline Pattern in Go: Composing Stages With Channels
Build Go pipelines from channel-connected stages: cancellation with context, closing channels correctly, and backpressure from unbuffered stages.

Gabriel AnhaiaGo Error Strings: Lowercase, No Punctuation, and Why It Matters
Why Go error strings stay lowercase with no trailing period, how they wrap into sentences, and the vet and staticcheck rules that enforce it.

Gabriel AnhaiaPackage-Level State in Go: The Hidden Global That Wrecks Tests
Package vars and init() side effects make Go tests order-dependent and flaky. Here is how they hide, and how dependency injection kills them.

Gabriel AnhaiaSmall Interfaces in Go: How io.Reader and io.Writer Compose Everything
One method each, yet io.Reader and io.Writer wire up gzip, hashing, network, and files with no glue code. Here is why Go kept them this small.

Gabriel AnhaiaContext as the First Parameter: The Go Convention and Its Reasons
Why ctx leads in Go signatures, what does not belong inside it, how cancellation propagates, and why a Context struct field is a trap.

Gabriel Anhaiatestcontainers-go: Real Integration Tests for Go Without Mocks
Spin up a real Postgres in your Go tests with testcontainers-go, get the lifecycle and readiness right, and keep the suite fast on every push.