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 �...

What’s New in Go 1.20, Part I: Language Changes

Update: Want to listen to a podcast about Go 1.20 instead of reading a blog post? Check out Go Time episode 267. Well, it’s that time once again. It’s time for a new release of the Go programming language. Go 1.18 in Q1 of 2022 was a major release that featured the long await...

Listing secrets stored in CircleCI

If you've not seen, CircleCI yesterday announced that they had recently had a breach. As part of this, teams are recommended to rotate all of their secrets, but to do that, you need to easily find out what secrets are in place. I've put together a Go CLI project on on GitLab.com...

Ultimate Go: Advanced Engineering Episode 12

Introduction In episode 11, Bill highlighted the issue of identity verification and provided a solution to this problem. The solution proposed was to cryptographically sign a transaction to verify its authenticity. Bill chose to implement a solution making use of the Elliptic Cur...

Ultimate Go: Advanced Engineering Episode 10

Introduction In episode 9, Bill introduced the idea of the genesis record and its role in his blockchain. As a recap, the genesis record will be used to customize the settings of his blockchain. The approach Bill takes here is similar to how Ethereum operates because he is storin...

Ultimate Go: Advanced Engineering Episode 11

Introduction In episode 10, Bill dove into the technical implementation of his genesis record and defined a custom Go type representing the record. While doing so, he provided an in-depth look at the reasoning behind the fields he included.. After declaring this type, Bill wrote...