The Bourne shell and Bash aren't the right languages for larger programs

The Bourne shell lets you set variables in <code>if</code> expressions

Packaging a project release (goreleaser part 2)

In the previous post, I used goreleaser to add binaries to a project release. Now let's have goreleaser build a Homebrew formula as well. Automatically, and for macOS and Linux alike.

CLI tools FTW (or: how to distribute your CLI tools with goreleaser)

“go get” is a super-simple way of installing Go binaries, but not everyone has a Go compiler installed. If you want to make your CLI tools and apps available to the world, have a look at goreleaser.

Go 1.17 will allow converting a slice to an array pointer (some of the time)

Storytelling On Stage: Proposal Writing For Procrastinators

Crafting a GopherCon Proposal The Call for Proposals for GopherCon 2021 is closing in less than a week for GopherCon 2021. If you&rsquo;re reading this, I&rsquo;m assuming you&rsquo;re thinking about submitting a proposal.

Storytelling On Stage: Advice

Crafting a GopherCon Proposal The Call for Proposals for GopherCon 2021 is open! If you&rsquo;re reading this I&rsquo;m assuming you&rsquo;re thinking about submitting a proposal.

Mugo, a toy compiler for a subset of Go that can compile itself

An overview of Mugo, a single-pass compiler for a tiny subset of the Go programming language -- just enough to compile itself.

Logging in Go using logrus

Logging is a very essential part of large software, it&rsquo;s hard to overstate the importance of logging, be it performance metrics logging, error logging, or debug logging for troubleshooting later.

Using Bitmasks In Go

Introduction You write a server for a massively multiplayer online role-playing game (MMORPG). In the game, players collect keys and you want to design how to store the set of keys each player has. As an example, imagine the set of keys are copper, jade and crystal. You consider...