Migrating away from Mediawiki and how to export its data
Exporting the latest revision of every MediaWiki page from a PostgreSQL backend, joining through the slots table, and what to do next.

Exporting the latest revision of every MediaWiki page from a PostgreSQL backend, joining through the slots table, and what to do next.
Piping ambient audio into Discord on Linux for a tabletop game: virtual null-sink and loopback modules wired up through pavucontrol.

Encrypting an additional drive on Linux with LUKS: partition it, generate a keyfile, encrypt it and mount it automatically at boot.

Setting up xRDP on Ubuntu 18.04: install it, open port 3389, and suppress the colord password prompt that greets every single login.
A Dell D6000 dock randomly powering down on Ubuntu 18.04, where the real cause turned out to be PulseAudio triggering USB autosuspend.

Sending mail from a Gmail alias in Evolution, which lacks OAuth2 for SMTP-only accounts, without Google refusing the message outright.
Explaining PSR-7 and middleware to non-developers with a fire bucket brigade: the request is the bucket, and everyone gets to touch it.

An SCSS mixin that emits every legacy and vendor-prefixed flexbox syntax at once, for the years when cross-browser flexbox meant four of them.
Defining a custom SilverStripe 3.1 route with no action, using a module routes file plus url_handlers and allowed_actions.
Stop running flush on every page load during SilverStripe development: set the cache default lifetime to minus one in your config.