Over the last week I’ve been up in Birmingham catching up with some old friends and attending some talks at the little get together of around 450 Pythonistas that was EuroPython 2009. This was my second Python conference. The first was PyCon 2008, which was so well organised (by many of the same team as this years EuroPython) that I was inspired to come back. And I wasn’t disappointed. There were a lot of very good talks, some that have planted seeds that I’ll have to come back and try to find the time to look at and some that showed me things I plan on using in the very near future (such as py.test). Read on →

When it comes to Unix diagnostics I was raised the old fashion way, with iostat, vmstat and similar tools. However times change and tools evolve. dstat, while not as comprehensive as using all the tools one by one, provides a wide range of system performance details in an easy to use package. While it’s useful enough in its default state there is even more functionality lurking just below the surface. To see which other modules are available (but are not enabled by default) run dstat -M list. Read on →

Nagios has a wonderful ‘duration’ column in its web interface that’s always bemused me. At what point does a check being in a warning, or even worse, a critical state stop being a problem worthy of head space and start being normal operating procedure? Checks can stay in an extended broken state for many reasons but they all seem to be symptoms of a larger problem. If it’s a small thing then are you getting enough time to do housekeeping? Read on →

Is it just me or does everybody seem to go and buy a new laptop just before they leave their current job? Is it the techie version of buying new work shoes?

I’ve been quiet on the PiP front for a while now. While the day to day stuff has kept me busy it hasn’t exactly helped move my career along, I spend most of my time doing things I already know how to do but with a little twist on them. In an attempt to stop myself from further stagnation I’ve put a short list of goals below that should be my bare minimum for the next three months. Read on →

DNS is one of those ‘small config change here, errors a long way over there later’ technologies that always leaves me a little worried about the knock on effect of my changes. As a simple, coarse, safeguard at work we use Nagios to check that a canary record in each zone can be resolved from each DNS server. It’s far from a perfect solution but it does catch some of the bigger errors and typos. Read on →

If someone in the audience asks a question that you plan on answering then please repeat it, with your own wording, before you respond. This gets us two things - the person asking probably won’t have a mic so not everyone will hear what he said, they will when you repeat it. Secondly - by repeating with your own phrasing - you’ll get basic confirmation that you understand what’s being asked rather than answering the wrong question; which wastes everyones time and leaves the asker frustrated.

I spent a little while digging through the default puppet log types the other day and after reading through a batch of activity logs I whipped up extract-report-issues, a script that can be run on the command line (or daily via cron) and displays a list of errors and warnings from the specified glob of hosts and log files. By default it does all hosts for the current day, we’ve got it running nightly so we can work through the issues each morning. Read on →

On Friday night I was as predictable as most of the people in my feedreader and was camped down at 5PM for the evening showing of Watchmen - and I enjoyed it. It’s been a good few years since I read the original graphic novel so I’m not as likely to pick out little errors and omissions (like the Silk Spectre looking for a lighter in the book and just being nosy in the film) but I thought the story was a very good, and close, adaptation. Read on →

I finally decided to set up and start using a github account and my early impressions are that it’s quite slick and very userfriendly. Apart from an annoyance where I couldn’t see my pushes for a little while (I think I fell afoul of some caching) setting up an account and adding new repos was simple. Pushing from my actual dev machine just worked and I’ve now been bitten by the github bug. Read on →