Writing an HTTP handler function in Go

Introduction When an API requires implementation details from the user, many developers use an interface for help. However, another way to allow developers to provide implementation details for an API is to accept a function instead. Go supports declaring function types which can...

What’s New in Go 1.20, Part II: Major Standard Library Changes

In the first part of What’s New in Go 1.20, we looked at language changes. For part two, I would like to introduce three changes to the standard library that address problems that the community has been thinking about and debating solutions to for years. First of all, a whole...

A career ending mistake

As software engineers, we're constantly making detailed, elaborate plans for computers to execute. Isn't it weird that we rarely give a moment's thought to the program for our own careers?

Ultimate Go: Advanced Engineering Episode 15

Introduction In episode 14, Bill architected a solution to digitally sign the transactions on his blockchain. His solution retrieved the private key by : loading private key data from disk, parsing the key data and returning the ECDSA private key. The private key is then used to...

Writing testable examples in Go

Introduction Google developed Go to be an alternative to C++ with the internet and scale in mind. Go’s toolchain automates tasks that are easily overlooked, and amongst those tasks is generating documentation. Go has the ability to generate documentation based on comments writt...

My Git settings for carrying local changes on top of upstream development

Ultimate Go: Advanced Engineering Episode 13

Introduction In episode 12, Bill laid out his strategy to handle data hashing on his blockchain. The first step he took was to create a package to handle the cryptographical aspects of his blockchain. After that, he wrote a hash function that met the requirements outlined in his...

Ultimate Go: Advanced Engineering Episode 14

Introduction In episode 13, Bill discussed the idea of adding salt to a hash and how modern crypto-currency blockchains use it to better interpret requests sent to nodes. He continued by defining a function called stamp that embeds a salt within a hash. While writing the function...

Go’s best-kept secret: executable examples

Did you know that Go lets us provide executable code examples as part of our documentation? It’s pretty neat. Let’s take a tour of this useful feature and see how it works.

My workflow, part 1

I keep getting asked how my setup works, how I use tmux and nvim over ssh… all that good stuff. I wrote this series of posts in an attempt to explain it. Meta I think I should start from the principle: how I actually work, in a more general sense, before we get into software �...