Tech
Quick tip: if you want to inspect the filesystem of a running Docker
container, but it doesn’t even include a shell, let alone ls, you
can do the following:
docker export some-container | tar -tf -
You can also print out the contents of a single file with tar (omit
the leading slash):
docker export some-container | tar -xOf - etc/some/file.txt
Last week I had to work on a Django app again. Since Python is a very portable language that works on many different platforms, of course I’ve had to work on that in a Docker container, in a Linux VM in Qemu, on an arm64 Mac running macOS. Also because the official Docker for Desktop app is somewhat annoying, I’ve been giving Lima a try. Also because the standard Django development web server doesn’t offer the best debugging experience, I’ve been running an alternative server through django-extensions.
I’ve counted at least 8 distinct software vendors so far in that paragraph. When I’ve hit a bug that completely killed my productivity, it was far from obvious which one to look at. Let’s take a dive and see what happened.
Read more (6min; ~1300 words)
Quick tip: if your home server happens to be a humble PC tower, rather than a rackmount blade, you can insert a layer of styrofoam or bubble wrap underneath it, to reduce the noise transferred from the fans & hard drives into the floor or the desk.
One day: a fanless server, with all SSDs and no HDDs.
I’ve published my dotfiles on Github. The readme discusses some very simple and effective strategies for maintaining dotfiles, without the overhead of any third-party tools.
It’s been quite a while since I’ve had to write a detailed post-mortem, and luckily this time the impact is very minimal - I’ve accidentally nuked the contents of the hard drive of my laptop, which I rarely use for any “serious” work. It’s made me reconsider disaster recovery plans, because mine didn’t quite stand the test.
Read more (5min; ~1000 words)
I’m recently becoming a fan of the text editor
mg(1). It is exactly what the man
page advertises it to be: a small, fast, and portable Emacs clone.
Read more (3min; ~500 words)
TL;DR: welcome Hugo and Netlify.
Read more (15min; ~3200 words)
I’m a big fan of UUIDs. They make life better, wherever I need to organise things - correlating objects between vastly different data sources, storage formats, structures, non-structures, databases, caches, etc. I already use them as PKs in Postgres, filenames in S3, and many more; today I wanted to spread their usage to accounting.
Read more (6min; ~1300 words)
It’s been years since I last updated the page describing my stack, so here’s the new stuff.
Read more (4min; ~800 words)