Go 1.19 added an <code>atomic.Pointer</code> type that's a generic type

Gotcha: testable examples in Go need an `output` comment

One thing I really like about building libraries in Go is that you can create testable examples as a first-class citizen of the testing framework. This allows writing example code in the repository in a way that can make sure that expected use cases are always valid and do not br...

Announcing GoReleaser v1.11 — the hundred commits release

This release took a while, for all the good reasons: a ton of new features and bug fixes for your delight!

Enabling Nightly releases using GoReleaser Pro

GoReleaser Pro v1.11+ added support to keeping a nightly release.

Shipping completions for Go CLIs using GoReleaser and Cobra

Everyone likes command line completions, so much that some even install extra tools just to have them.

How I used Go to make my radio auto-switch to AUX-IN when a Raspi plays music

Ok, so your radio lacks AirPlay support but has an auxiliary input and can be remote-controlled via the Frontier Silicon API. Fetch a Raspberry Pi, put Shairport-sync and Raspotify on it, plug it into the AUX port, and glue everything together with some Go code. Et voilà - home...

Introducing the `tidied` tool, to more easily check whether `go mod tidy` has been run

If you're working with Go projects that use Go modules, you may be aware of the format of the go.mod and go.sum, which are used to track dependencies and their checksums respectfully. For instance, if we take the following go.mod, you'll notice there are two sections for dependen...

Some resources for looking at the current development version of Go

The C <code>free()</code> API means memory allocation must save some metadata

Converting HTTP requests to Wiremock stubs, with Go

If you're using Wiremock, sometimes you want to be able to quickly generate stub mappings from an existing server, rather than hand-crafting it yourself, to give you a like-for-like stub. I've written the following - somewhat hacky - script to produce a Wiremock stub mapping from...