A fellow developer was burned today when an administrator ran a so-called “kill script” to free up some system resources. It got me thinking about another way to infuriate the users of the system. I wanted it to be a one liner so it could be quickly placed in a cron script. Here’s what I came up with:

# Joe Blo sucks --steve
*/15 * * * * ps aux | grep $(id --user jblo) | awk '{print $2}' | shuf | tail -1 | xargs kill -9 > /dev/null 2>&1

This effectively kills a random process belonging to target every 15 minutes. How infuriating is that? Make sure to leave a note so your victim knows who to blame.

Continue reading »

At about this time semi-annually, I can no longer hold myself back from upgrading to the next version of Ubuntu; and usually I am quite sorry I did just because of the nature of alpha software. The transition from edgy to feisty, feisty to gutsy, and from gutsy to hardy was a little painful at the alpha stage because the new network-manager applet was in its early stages. Each of those upgrades caused problems with my internet activity which made it difficult to access the internet and hence report bugs.

This time around my wireless internet connections are stable and we’re still only in alpha 4, plus the automated bug reporting system is much better tuned. We’re starting to see a much more mature product emerge after all this time. Looking at the upcoming features, you’ll see things like “encrypted private directories”, “3g support”, and a new “guest account”.

At first I was a little disappointed to see these features because unlike previous versions, they seemed small in comparison. But now I feel that Ubuntu has climbed to a kind of development plateau where all the bare necessities of a truly excellent operating system are in place and working well. I’m truly proud to be a member of the Ubuntu community and I welcome the upcoming “small” features as a sign of our community’s excellence.

Continue reading »

Balancing a tall stack of floppy disks I recently got a new VPS from vpslink.com. Their service is great because I can choose from a list of operating systems. I, of course, chose “Hardy Heron”, Ubuntu 8.04. This service is totally unmanaged other than DNS and billing so I have to manage everything myself, including backup.

I haven’t found anything out there that I’ve fallen in love with as far as backup is concerned, so I started with a shell script that covered the basics. I needed a rotating incremental backup script with full backups performed once a week. I wanted all the backups to live in a top level path like /backup and I wanted the whole backup process to be owned and operated by a backup user. My distribution came with a backup user, it just needed to be configured.

So I created a home directory for the user at /home/backup and set its ownership and also created a /backup folder and set its ownership.

sudo mkdir /home/backup
sudo chown backup:backup /home/backup
sudo mkdir /backup
sudo chown backup:backup /backup

The backup user will be using tar to backup my system, including files that even the backup user shouldn’t be able to directly modify. So I modified my sudoers file to allow the backup user to use tar without providing a password (so it can be done automatically).

Continue reading »