Code Samples

Stand-alone quodlibet script

I love quodlibet and have a big collection of music in it. Some time ago I wanted to transcode some big lossless files into the more mobile-friendly ogg format and wanted to query quodlibet for the songs. This is an example of a script that can access the quodlibet database ... more

Docker-compose with MySQL/MariaDB and healthcheck

I have a few old Django projects still running MySQL/MariaDB. Getting docker-compose to work with MySQL images is a little tricky, as the database needs too much time to start up. Below is a configuration that starts one application host and one database host. /usr/bin/mysql is used for MariaDB because ... more

Signed HTTPS URL to S3 using boto

I needed protected downloads for a project using S3 on a HTTPS Django site. There are various ways to solve this problem, but I thought the most obvious was to offload access control to S3. Boto can generate signed download links that are only valid for a limited time. Great. ... more

Django, custom SMTP server for logging

One of my client uses google apps, so I use that account to send out mails with Django, which works just fine. However, google silently drops all error mails to the admins, for whatever reason you can't debug and will never hear anything about anyway. As those mails only go ... more

Dump all bitcoin private keys

I have used this script to export all private keys in a wallet. The blockchain does not have to be synced, but the wallet obviously has to be unlocked (with walletpassphrase). No warranty. more

WordPress emergency admin

I received an emergency call from a client, his WordPress site didn't work. None of the logins either. Well, here's another script to the rescue if all you have left is an ftp login or some other way to upload files. It will create a new admin user with the ... more

Pepperflash plugin in wheezy fix

The pepperflashplugin-nonfree package in wheezy-backports is broken, as it downloads the flash plugin from the latest chrome release and installs it. The latest release links against libc6 2.14 which is not available in wheezy. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=761184 https://lists.debian.org/debian-backports/2014/09/msg00051.html more

Gradient as Gnome 3 background, from the command line

This was quite easy, but I had to find the necessary bits of information first. I wanted to set the Gnome 3 background to a gradient, from the command line. Below I also list the commands that let you explore available keys and values. more

Irssi, hilight and regex

I use irssi for IRC and wanted to highlight various regexes in different channels. Unfortunately the help text wasn't very helpful, so here's an example. more

Django and Invalid HTTP_HOST headers with nginx

Django has had a setting for allowed hostnames for a while [1], but starting with the 1.5 release it was required [2] to set it. I'm not sure why I only started getting Invalid HTTP_HOST header emails after my upgrade to 1.6, but anyway, they started pouring in. It's a ... more