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 →

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.