Blog

Battleship engine room This post describes a deployment and maintenance method for Django projects that was designed with scalability in mind. The goal is to push new releases into production at any moment with minimal or no downtime. Upgrades can be performed with unprivileged access to the production server, and rollbacks are possible. I use Gunicorn, Fabric and Supervisord in the examples. more

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

I needed protected downloads for a project using AWS 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. … more

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

Iceland Django was always great for developers out of the box, but creating friendly admin interfaces was always a little too much work. This post explains why I now consider using Wagtail to make this task easier. more

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

CSS-only Terminal

2014-11-29

Recently I wanted to nicely format some code, so I made a CSS-only terminal. The reason I think this one is nice is that it doesn't require any superfluous or non-semantic markup. It is very lightweight, which is good, but wasn't made to be interactive. It doesn't mimic any particular … more

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

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

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

DjangoPythonBitcoinTuxDebianHTML5 badgeSaltStackUpset confused bugMoneyHackerUpset confused bugX.OrggitFirefoxWindowMakerBashIs it worth the time?i3 window managerWagtailContainerIrssiNginxSilenceUse a maskWorldInternet securityPianoFontGnuPGThunderbirdJenkinshome-assistant-logo