I wrote my first Mojolicious web app yesterday, a cloud-init meta-data server to enable running pre-built VM images (e.g. as provided by debian, ubuntu, etc) without having to install and manage a complete, full-featured cloud environment like openstack. I hacked up something similar several years ago when I was regularly building VM images at home for openstack at work, with just plain-text files served by apache, but that had pretty-much everything hard-coded. fakecloud does a lot more and allows per-VM …


A bash script to backup mysql databases, with separate schema and plain-text dump files (INSERT commands) for each database. Makes it easy to restore individual databases or copy them into dev/test servers. Keeps 30 days worth of backups in separate YYYY-MM-DD directories.


Due to boredom and needing something to do to keep my brain from atrophying, I’ve decided to polish some of the rough edges off some of my scripts so that they’re suitable for publication. here’s the first of them, a perl script to list kernels and other grub menu entries, with numeric indexing suitable for use with grub-set-default and grub-reboot

why is bzr so slow?

from the whinge of the day dept: I started a bzr branch of calibre about 2.5 hours ago because I wanted to see how difficult it would be to understand the code and make a few changes. The calibre Get Involved page warns that it can take about an hour….which is excessive to begin with and, worse, a huge understatement. $ date ; ps u -Cbzr Sat Apr 14 15:10:00 EST 2012 USER PID %CPU %MEM VSZ RSS TTY STAT …

getting the terminal size in python

I’m finally getting around to making myself learn python as more than just a read-only language. Working with Openstack kind of requires it. So far, I like it. Much more than I thought I would as an unrepentant sh and perl using systems geek. And getting over my distaste for the white-space issue is also proving to be much easier than I thought it would (although I still think that block-delimiters like {} make the code easier to read…PyHeresy, I …