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

Some notes to myself on 'git log -G' (and sort of on -S)

Error wrapping in Go

Distinguishing between specific error values and types is easy in Go, thanks to the (relatively) new errors.Is and errors.As functions. Let’s talk about what they do, when and how to use them, and how to know which one is appropriate.

More use of Rust is inevitable in open source software

Announcing GoReleaser v1.14 — the Christmas release

Another month, another release! In fact, the last release of the year. This one in particular marks the 6 years anniversary of GoReleaser, and is packed with new features and improvements. GoReleaser Santa Let’s see what’s new: Highlights GoReleaser P...

Detecting missing or bad Go modules and module versions

Smart Contracts Using Solidity and Go: Basic Contract

Introduction I made it my mission in 2022 to learn everything I could about blockchain and as the year ends, I feel like I accomplished my goal. Love it, hate it, or don’t want to know nothing about it, I think it’s important to push your opinions aside and understand how thi...

Using Renovate to manage updates to `go install` commands

As mentioned in Using Renovate to manage updates to golangci-lint versions, Renovate is great for managing your dependency updates. By using the custom regex manager, we can craft the following Renovate configuration: { "$schema": "https://docs.renovatebot.com/renova...