Important Conference Announcement

You may have noticed that the team at Gopher Academy has been unusually quiet lately. In April, we contacted the Walt Disney World Swan and Dolphin Resort to discuss the cancellation of our conference at their property.

Shell scripts should be written to be clear first

Flow: A delightfully tiny but powerful HTTP router for Go

Last year I wrote a new HTTP router for Go called Flow. I've been using it in production on this site and in a couple of other projects since, and I'm pretty happy with how it's working out so decided to share it a bit more widely. My aim with Flow was to bring together my favo...

Increasing Cohesion in Go with Generic Decorators

Cohesion is part of the low coupling, high cohesion principle that’s supposed to keep your code maintainable. While low coupling means few dependencies, high cohesion roughly translates to single responsibility. Highly cohesive code (a module or a function) is focused on a...

@TwitterDev x @Charmcli: Developer Tools discovery session

Twitter Spaces with Twitter and Charm folks, discussing favorite developer tools. This Space was not recorded.

Announcing GoReleaser v1.9 — the 10k stars release

This release contains several minor improvements and a couple of new features! Let’s have a look! goreleaser changelog preview. Highlights goreleaser changelog was added to GoReleaser Pro — you can use it to preview your next release changelog added more...

Using SSH Certificates with Go’s SSH Client

A couple of weeks ago I was working on adding SSH Certificate Authentication support to Wish, and did not find any good, to the point documentation on how to use certificates from the Go SSH client — hence this post. In short, we need to parse the user’s private key and t...

All About the Move to Hugo

I finally got done, moving the blog from Nikola to Hugo today. I already wrote about why I did it. These are a few more thoughts about what went into the endeavour; and some colophonesque details. One, really small hope, is that it will help me learn Go. The DevOps world that I n...

All About the Move to Hugo

I finally got done, moving the blog from Nikola to Hugo today. I already wrote about why I did it. These are a few more thoughts about what went into the endeavour; and some colophonesque details. One, really small hope, is that it will help me learn Go. The DevOps world that I n...

How to use go run to manage tool dependencies

When you're working on a project it's common for there to be some developer tooling dependencies. These aren't code dependencies, but rather tools that you run as part of the development, testing, build or deployment processes. For example, you might use golang.org/x/text/cmd/...