You’ve gathered the requirements, written the code, debugged it, received the new requirements, rewritten the code, got more change requests, reached a ‘compromise’ with QA (and hidden the bodies) and now you want to have the sysadmins do the release. Don’t be like everyone else - when it comes to releases too many people fail at the last mile and make obvious mistakes. In an attempt to save myself some pain (and have something to point co-workers at) here are some of the software release principles that I hold dear. Read on →

Since I’ve been asked where about at the conference I am I should probably mention that I’m not attending YAPC::EU this year. Despite the excellent job the organisers did last year at the Nordic Perl Workshop a combination of factors stopped me going back to Copenhagen. The first one (and it’s shallow but true) is that I’ve been there now. I like conferences in places I’ve never been before. If I’m going to spend a chunk of my own cash on travel I want to grab an extra day or two and have a wonder around. Read on →

I’ve never really felt as proficient with apt and dpkg as I did with RPM. There always seems to be another option I’ve never seen before. Luckily there are also big holes in my knowledge of yum to make me feel well rounded. After reading yum options you may not know exist and spending a while puzzling out how to get the same results in Debian (apt-file seems to be the closest fit but I never got the invocation right) I decided to write dpkg-provides. Read on →

And not just on the waist line. Not the worst sysadmin appreciation day ever. I do now have this feeling of dread as I wait for the other shoe to drop though.

Having spent a (very) little time over the last month fiddling with an existing FAI setup (which is used to install Debian machines) one amazingly insightful feature of Kickstart (a provisioning tool for Redhat and Fedora) has earned a place in my heart - /root/anaconda-ks.cfg. It might not seem like much, but by having the interactive installer produce a working config that can be reused, the barrier to entry is seriously lowered and makes experimentation much easier. Read on →

Over the last couple of years (apart from this year oddly enough) I’ve been to a fair few tech conferences and one of the most annoying things about them (especially YAPCs) are the opening talks. If you’re lucky you get a good keynote. Otherwise you get either a bad sponsor session or even, don’t be afraid - you don’t have to attend, a “Getting the most out of a YAPC” talk. Read on →

While paging through reddit programming recently (seems only fair since they linked to me ;)) I stumbled on to the very nifty Randexp gem, a library that uses regular expression patterns to generate data that would satisfy the pattern. Or in less tech terms - a really good test data generator. # install randexp $ irb require "rubygems" require "randexp" # simple fake phone number - /020(7|8) \d{3} \d{4}/.gen # build a reusable class. Read on →

I’ve been a happy Amazon UK DVD rental customer for the last couple of years. They’ve got a wide selection, the DVDs ship fast, come in separate envelopes and in nice sturdy plastic cases. In nearly 200 DVDs I’ve had three that were unplayable and only one that got lost in transit - a replacement for which was sent the same day. ‘Luckily’ for me Amazons DVD rentals are now handled by LoveFilm. Read on →

When it comes to config files the Debian people and I agree on basic principles - we’re both keen on applications having a directory where you drop multiple config files to allow for easier deployment and management. Even if they do sometimes seem a little… over zealous (Debian developers? Never!) and you end up with the split Exim4 configs. So one of the little quirks that I’d like an answer to is, why does Debian have a single big interfaces file and no support for a directory of files? Read on →

The title pretty much says it all, I’d like a command line version of YSlow! (what is it with Yahoo and !s) that I can run from cron and import in to a nice spreadsheet for trending and site comparisons. I don’t have XUL on my list of things to play with so I’ll give it a couple of months and watch someone else implement it. Hopefully.