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

Modernizing AWK, a 45-year old language, by adding CSV support

Why and how I added proper CSV support to GoAWK, my POSIX-compatible AWK interpreter.

Solving a problem I had with the Unix date command in the right way

Joining the split keyboards club: a Moonlander story

This post will describe my experience with a couple of firsts: first mechanical keyboard first split keyboard first orthogonal keyboard first time in my adult life being able to touch type And all of them are related to the same keyboard: a ZSA Moonlander. This will not be a ha...

Blockchain In Go: Part IV: Fraud Detection

Introduction In the first three posts, I explained there were four aspects of a blockchain that this series would explore with a backing implementation provided by the Ardan blockchain project. Digital accounts with electronic signatures and verification Transaction distribution...

Reproducible builds with GoReleaser

GoReleaser can help you, to some extent, to have reproducible builds. Reproducible Builds What are reproducible builds? According to Reproducible-Builds.org: A build is reproducible if given the same source code, build environment and build instructio...

Some things that make shell scripts have performance issues