Adventures in ELFland

I’ve been trying to get Wireguard to run on my oldish VServer. The kernel is either too old, or the provider hasn’t compiled it with the necessary modules. wireguard-go seemed like a solution for this problem. However, I did not want to install a Go toolchain on the server, so I built the program locally. Go places a premium on easy distribution, so this might have worked. However, it didn’t: Wireguard-go uses network functions, and so the resulting binaries aren’t statically linked by default. What’s worse is that the resulting file depends on a version of glibc that isn’t on my server. I saw this as an opportunity to dive deeper into the innards of ELF files, and learn something new. ...

January 26, 2022

Useful utility shell scripts

I've written some useful shell scripts during my time with Linux (which is coming up on 20 years now). I'm posting them here as a) a reminder to myself and b) because they might be useful for other people. In contrast to Stupid ZSH tricks, these are written in Bash to work more universally. ...

November 10, 2021

Stupid ZSH tricks

ZSH is a powerful shell, and there's just oodles of ways to configure it. In this post, I've collected a number of tricks that make my life easier, and are simple to implement. ...

October 11, 2021