Blog

Glasses I often want to mock reading from a file when writing unit tests in Python, and I always struggle to find the right solution again. So I'm posting it on my own blog in the hope of finding it later 🤣 My solution is to return a StringIO object from … more

Friendship I recently had to restore some data from backups, and was using Django serializers to get the job done. Objects of one class were not deleted, but the relationships were set to None when the related objects were deleted. Here's how I restored the relationship information. more

Pumpkin Soup I ran into this error several times recently while trying to run a few Python-based GTK apps. Here's how I solved the problem. more

Yachts I didn't want to download the AWS CLI client over and over, so I wrote a tiny wrapper script and run it in a docker container now. more

Letter Procmail is an old tool, and the reason you're using it today is probably because you started using it many years ago, and changing to something else is not something you want to do. Procmail doesn't know about unicode, so unicode in headers is problematic. This post contains my solution to creating procmail rules that understand unicode subjects. more

Thunderbird I recently got XPCOMGlueLoad errors when launching Firefox and Thunderbird, a web search wasn't very helpful. This is my solution. more

Magnifying glass I use find on a network filesystem and pipe the output to rofi for a nice menu, but the list of files got longer and longer over time and getting the results took too long. I looked around and couldn't find a solution I liked a lot so I wrote … more

I use Gajim for Jabber chats with OMEMO on several machines. OMEMO keys are supposed to be per device, but I don't agree with that. more

i3 window manager I recently switched to py3status to populate my i3bar. I had several scripts I wanted to call that generate some output for the bar. Below is an example how this can be accomplished. more

Modul I played the guitar in one rock band and bass in nine more. Here's what I learned. more

DjangoPythonBitcoinTuxDebianHTML5 badgeSaltStackUpset confused bugMoneyHackerUpset confused bugX.OrggitFirefoxWindowMakerBashIs it worth the time?i3 window managerWagtailContainerIrssiNginxSilenceUse a maskWorldInternet securityPianoFontGnuPGThunderbirdJenkins