Using open, pbcopy and pbpaste over SSH

Having your favorite commands available over SSH can be very convenient. I think I talked about this a couple of times before, but I usually work by SSH-ing from my mac into a Linux machine (a rather chunky one, might I add). While it allows me to work faster when I’m not...

The two types of C programmers (a provocative thesis)

WebAssembly Text code samples

This post talks about writing WebAssembly by hand (using its textual format), and mentions a new GitHub repository I've created with code samples. A bit of nomenclature first. WASM stands for WebAssembly - it has a binary format and a textual format. The textual format, called We...

An interesting mistake I made with a (Go) SSH client API

The Tao of Go

What is the Tao of Go, and how can we work with it, like a surfer going with the waves instead of struggling against them? By being kind, simple, humble, and not striving; here’s how.

Random testing in Go

Choosing good test cases for our Go programs can be a bit hit-and-miss. What if we could automate that process? Let’s talk about randomisation, property-based testing, and Go’s built-in fuzz testing feature.

Failing to build a useful pre Go 1.21 static Go toolchain on Linux

Announcing GoReleaser v1.17 — the late Easter release

The Easter release is here!

Go 1.21 will (likely) have a static toolchain on Linux

Interfaces 101 : Extensible API Handlers Ep. 10

Introduction In episode 9, Miki discussed how a command flag can be decoded into a user defined type with the Value interface. As a recap, the Value interface consists of two methods: one for serializing the underlying concrete type and one for deserializing a string into an obje...