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 →

It’s been a day for nice little technical surprises. On the tube ride to work this morning I started flicking through Cisco Routers for the desperate (2nd edition) and found a quote on the first page from the 1st edition book review I did a couple of years ago. I also had my first fully git workflow patch accepted by upstream. It was only a couple of lines of code but it means I’m gradually getting comfortable with the git toolchain.

I like Ubiquity. It puts a lot of the sites I used on a regular basis close to hand without making me dig through my bookmarks (or del.icio.us account). In a small burst of productivity, and to avoid real work, I decided to put a command together for the Puppet Type docs at Reductive Labs. If you have the Ubiquity plugin installed you should be able to install a copy of the command from the Ubiquity Puppet Types Command page (which I no longer provide as of 20141224). Read on →

I wasn’t able to get to the actual talks but luckily the Moose talk slides are now all online (apart from Moose for Ruby programmers which has instead been expanded in to a blog post). By all reports it was another excellent night and I’ll have to keep the evening free for the next one. Now I’ve read the slides and heard so much positive feedback I think it’s time I tried Moose for a couple of projects. Read on →

If you already know GDB then this book might be useful. It’s full of command summaries and option listings but lacks an actual introduction or any walk through examples. A google for GDB tutorials bought back some well written intros with actual sample code I could work through which is probably a more useful approach for most people.

We recently had an odd one where the Nagios check_http check, which was both checking for the presence of a string in the response and that the page loaded in a certain time frame, went from reporting a ‘CRITICAL - string not found’ to a ‘HTTP WARNING: HTTP/1.1 200 OK’. My first thought, as this was a site pending migration, was that the URL had moved to a slower machine with the fixes released to it. Read on →

I like vim, I think it’s a great editor worth investing time and effort in to learning but I also think it’s one of the most horrible things to watch an inexperienced user typo his way through while you’re urgently waiting for them to finish the damn edit. My favourite one this week (and it’s only Tuesday) is looking for probably unique phrases that you can later search for to return to a specific part of a document. Read on →

Logs are a wonderful thing. If done correctly they point out the source of all errors, show you what’s running slow and contain useful information on how your system is running. At every place I’ve ever worked they’ve been busy, full of odd one offs and too often overlooked. I’m going to be doing a fair bit of log processing next week so expect lots of little toolchain scripts like syslog-splitter.pl to be checked in to git and mentioned here. Read on →