
9 min read
First impressions of Go 1.23's range-over-func feature
If I can knit and crochet, surely I can loop over functions in Go!
21 min watch
FOSDEM 2024: You're already running my code in production
How I became a Go contributor, and you can, too.

17 min read
Error handling in Go web apps shouldn't be so awkward
A useful error handling pattern for Go REST, gRPC, and other services.
1 min read
Let's do Kubernetes
I’m taking a small detour today, to a topic that’s not strictly Go-related, but which I get asked about a lot: Docker and Kubernetes. Starting on Monday, in what is likely to become a 2- or 3-week series, I’m going to be deploying a small Go app I wrote, to Kubernetes on Google Cloud. I’ve done this before, but it’s been a few years, so I’m a bit rusty. And Kubernetes has changed (as it always does), so there are sure to be some educational bumps along the way.
Subscribe to Boldly Go: Daily
Every day I'll send you advice to improve your understanding of Go. Don't miss out! I will respect your inbox, and honor my privacy policy.
Unsure? Browse the archive.
24 min watch
Resume advice for a first-time job seeker
I review the résumé/CV of a first-time job seeker, looking for a Go-related job.
8 min watch
Don't mock slog
Don't mock slog! This video shows you the super simple alternative

1 min read
I'm going back to school
Watch me learn to build a web server in Go, courtesy of boot.dev.
54 min watch
Building a Go linter from scratch
I walk through the "Writing Useful go/analysis Linter" tutorial by Denis Isaev, and build my first linter from scratch.
16 min watch
Inspect Your Errors: Unwrapping errors for fun and profit
I've talked about wrapping errors. Now let's talk about the various ways to unwrap and inspect errors.