Comparing Go error values

Usually what matters about an error is that it’s not nil, but what if we want to know whether it’s some specific error value? For example, in a test? Let’s look at some of the right and wrong ways to do that.

The Best Go framework: no framework?

While writing this blog and leading Go teams for a couple of years, the most common question I heard from beginners was “What framework should I use?”. One of the worst things you can do in Go is follow an approach from other programming languages. Other languages hav...

I/O is no longer the bottleneck

In 2022, disk I/O is very fast, and not usually the performance bottleneck in programs. This article digs into some numbers.

🎧 Replay: 2022

This is a different kind of post: I’m sharing some music I enjoyed this year! If that’s not your thing, you don’t need to go any further. Best albums of 2022 Those are the albums I listened to (and incidentally liked) the most in 2022. Avantasia – A Paranorm...

Floating point NaNs as map keys in Go give you weird results

Go 1.21 may have a <code>clear(x)</code> builtin and there's an interesting reason why

Announcing GoReleaser v1.13 — the November release

Another month, another release! Like the previous 2 releases, this is a beefy one: over 100 commits from 15 contributors! GoReleaser on Mastocon This one also marks the point of 1 year since our first v1! Highlights docker, docker buildx and podman (on GoReleaser...

Conditions and concurrency in test scripts

Continuing our series on the testscript package, we look at some advanced techniques in test scripts such as conditions, concurrency, and managing environment variables.

microPledge: our startup that (we wish) competed with Kickstarter

What our crowdfunding startup microPledge was, why it failed, and what we learned from the process.

GoReleaser v1 — one year later

We launched GoReleaser v1 exactly 1 year ago today! onefetch First, I wanted to wholeheartedly thank all the users, fans, contributors, backers, GoReleaser Pro users, and, especially, the other maintainers — without you all I&rsquo;m sure GoReleaser would not be...