A short review for a short book. Apache JMeter (Packt Publishing) is a good book if you’re new to both IT and testing and want your hand securely held. It introduces you to the basic ideas behind automated testing, takes you step by step through some simple GUI test cases and then doesn’t go any further. It’s a short book and maintains its beginners focus well but it has a very short lifespan (luckily it’s also available as a cheap PDF) and if you’re comfortable with GUIs and basic testing, or willing to click around for a while I’d recommend you dive straight in to the JMeter GUI rather than investing half a day to read this book. Read on →

If you mount filesystems under a specific mount point, and monitor them with Nagios, then be sure you understand what happens if the underlying file system goes away. With: /usr/lib/nagios/plugins/check_disk -w 15% -c 10% -p /a_mount_point you’ll get the value from the containing file system. In this case /. If you’d rather know that your chosen mount point has actually gone away, and that you’re no longer checking what you thought you were, then add the -E option to the command. Read on →

We’ve recently had to deliberately disable some machines this week to ensure they can’t connect out to the internet - we’re building testing versions of some of our more restricted secure environments and this is one of the steps. It was actually easier to do with IPTables than I thought (mostly because I didn’t have to do it - my co-worker did) but once the work was done we needed to ensure it didn’t accidently get broken so that networking was functional again. Read on →

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 →