After my recent foray into Monitoring alerts and customer satisfaction surveys I was fortunate enough to have a couple of conversations with other SREs interested in trying out similar approaches and while discussing the specifics of our individual forms the lack of an easy way to share the details became an annoyance. Storing the wording in a shared doc was OK at first but recreating the forms so we could each learn from and tweak each others wording and design quickly became a distraction with the Google Forms web UI taking up most of the time we had to chat. Read on →


One of the things you’ll often read in web operation books is the idea that while you’re experiencing downtime your customers are fleeing in droves and taking their orders to your competitors out of frustration. However this isn’t always the truism that people take it for. If your outages are rare, and your site is normally performant and easy to use (or has a monopoly), you’ll find this behaviour a lot less common than you’ve been told. 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 →


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 →


I like del.icio.us and I’ve been using it for a long while now, but what used to be one of the more handy features, the ability to subscribe to a tag, like ‘ruby’ or ‘linux’, has gradually become less useful as more and more people find old links or repost the same link. Again. And again. And, well, you get the idea. So I wrote the del.icio.us de.dup.er script, a small perl cgi that sits between you and del. Read on →


One of the small developer blogs I host has a number of people linking to, and complaining about, the bugs present in different Free Software projects. After watching one of them open a text file, dig through the links, pull out the wrong one and eventually get the right URL I decided to write a small Blosxom plugin to make the process easier. The Bugzilla Tag Blosxom plugin lets you define shortcuts to a number of Bugzilla servers, and a default one, which you can then link to using the following syntax in your blosxom posts: Read on →

I’m happy to announce the first release of the Basic Accessibility Analyzer IE Plugin. This IE plugin wraps the service provided by Peter Krantz and has already found some quirks in my own site. The full list of what it checks can be found here.

Linking to Google maps is nice. Jumping through the hoops to get the target URL isn’t so much. This plugin allows you to use either a raw postcode (it’s built for the UK) or a named location that will get expanded out to a full Google Maps URL. You can use any of these short cuts: <gmap "office"> <a href="gmap:EC1V 3QR"> <gmap>EC1V 3QR</gmap> For full details have a look at the Google Maps Tag Blosxom Plugin source. Read on →

The Blosxom Immediate Action Feeds Plugin adds a number of links to the bottom of each blosxom post; both HTML and RSS flavours. These links allow easy interaction with a number of online services. This version of the plugin adds links for del.icio.us, Digg and reddit. When one of the links is clicked it takes the user to the site and attempts to autofill as many of the required fields as possible. Read on →

The digg_me plugin changes each post (both RSS and HTML flavours) and adds a clickable link that takes you to a pre-populated “Submit a story to Digg” page. And fills in the URL and title for you. The Digg Me! source code is pretty simple (mostly the same as the Reddit and del.icio.us plugins) but you’ll probably need to change the ‘$post_url’ to suit your sites permalink format. The code’s GPL'd and I’ve tested it on my own site so it mostly works. Read on →

One of the great things about putting code online is that anyone can contact you about it. Sometimes you get a “thank you”, sometimes corrections and occasionally requests to make it do something else. My add_to_delicious Blosxom plugin post caused a couple of damn lazy Blosxom users (although it’s perl based so they may consider this praise :)) to ask for versions for a couple of other sites. The first of these, submit to reddit is now done. Read on →

The add_to_delicious plugin was inspired by an xml.com article, called Putting RSS to Work: Immediate Action Feeds, which made the very sensible suggestion of allowing you to “do things” to RSS items without leaving your aggregator. This plugin changes each post (both RSS and HTML flavours) and adds a clickable link that takes you to a pre-populated “add link to del.icio.us” page. The add_to_delicious source code is pretty simple but you’ll probably need to change the ‘$post_url’ to suit your sites permalink format. Read on →


I’ve spent a couple of minutes (yep, very in-depth :)) playing with Rollyo, a way to run searches over multiple sites. The site’s pretty slick (and looks quite Basecamp/37signals inspired) but I can’t help but think I’ve been here before… Mozilla, and FireFox with a plugin, have something called the search sidebar. This little piece of magic allows you to run a search over multiple sites at the same time and integrates the results; each site search is implemented using a mycroft search plugin. Read on →

One of the little bits of trivia I learned while setting up PlanetGLLUG was how the planet software deals with RSS 0.9 feeds. The original “specification” for this version didn’t require each entry/post to have a date associated with it; although a lot of feeds work around this by either using the later revisions or including the Dublin Core name-space and dates. This causes the planet software to add every item in the RSS feed to the planet with the same date, the one on which it first pulls in the entries. Read on →

I’ve put another little chunk of JavaScript up in the Unixdaemon Greasemonkey Script repository. This one has makes the CPAN search show 100 results per page. The full CPAN Search - 100 results per page script is now available under the GPL.

I’ve added another little Greasemonkey script, this time for SecurityFocus. If you navigate to an article it’ll notice and shunt you to the printer friendly version instead. This way you get the whole thing on one page and drop the adverts. It’s called SecurityFocus PrinterFriendly Articles and it’s ready for use.

I like use.perl.org and mostly use it to read the journals. I don’t like to login in and I don’t like having to expand the comments so I can see them all in one page. So I wrote the use.perl.org nested comments greasemonkey script. And now I don’t have to :)

I got bored of having two windows open and having to copy the ISBN from the O’Reilly site, tab to the amazon.co.uk window, paste in to the search box and press return. And when I was looking at more than a single book it got worse… So in a fit of laziness that cost me two hours I wrote my first Greasemonkey user script; which I called O’Reilly ISBN Link2Amazon.co.uk. The script is pretty simple, it replaces the plain text ISBN on the O’Reilly catalog pages with a link to the book at Amazon. Read on →

Following on from my cpan_module_tag and some comments from one of my victims/testers I’ve put a version together that translates tag shortcuts to Ruby Application Archive project links. It’s called raa_tag, it’s on my Blosxom Plugins page and it’s GPL'd.

This blog is powered by Blosxom and while it is more than adequate for most of my needs, occasionally I feel the need to add some code to make something a little more “Dean” orientated. I’ve put the first one of my “ready for public consumption” Blosxom Plugins up on my Blosxom Plugins page. It’s called cpan_module_tag. cpan_module_tag allows you to link to CPAN modules in your blog posts without performing the tedious steps of looking up the module, getting the URL, putting it in an <a href=”"> etc. Read on →

I’ve been loath to type about the GMail changes made today just in case they were another April Fools-day ‘joke’ (I hate April 1st!) but it does seem they are serious in both raising the storage per person to 2GB per person. This morning, UK time, I was discussing the gradual rise in available storage with a friend and neither of us knew what was going on. The counter on my logged in gmail session just keep increasing for no apparent reason, you have to admit that turning a very basic upgrade in to a puzzling conversation topic is a neat way to get some free PR; oh look, it worked! Read on →

Version control rocks, it allows you to roll back anything you’re working on to a previous version and remove all the late night weirdness you can’t remember adding. While it’s hard to beat the power of the CVS command line interface or the easy of use of TortoiseCVS there is a third option: CVSWeb. Written and maintained by FreeBSD people, CVSWeb provides an easy to use, web-based, interface to your CVS repositories. Read on →

Matt Biddulph has put an excellent little tool up on his website, the del.cio.us tag stemmer will display any tags that it thinks are too closely related and probably need to be merged.

Over at the hublog there are two entries that allow you to either graphically browse related del.icio.us tags or browse the network of del.icio.us users as defined by their inbox subscription lists. While neither of these are world changing they are fun to play with, putting in Java and Ruby or OpenBSD and FreeBSD for example shows some interesting interconnects.

I’ve just discovered Tada Lists (via Jim Weirich’s blog and I’m very impressed, while I’ve seen the Rails video and read the hype it’s only when i use an application like this, written in 579 lines of Ruby code that it becomes clear how powerful Rails is. Tada Lists itself is a very neat site in both the technical and design stakes, it uses XMLHttpRequest (which seems to be very popular at the moment, thanks Google! Read on →

I’ve added an IE plugin that allows you to validate the mark-up of an entire web-site, starting with the browsers current page, using the WDG HTML Validator tool. The plugin is called Validate Sites HTML and can be found on the IE Plugins page.

A quick note for anyone who runs a Blosxom based blog and is being aggregated using the Planet feed merging software. By default, the 0.91 RSS feed created by Blosxom doesn’t have per post dates. This means if you add a new post the Planet software will guess at the modified date for each of your posts and will decide that the current time is as good as any. And all your readers will scream in pain as they are forced to work through duplicate posts to get to the shiny new ones. Read on →


One of the things that irks me about many of the sites I visit is the steaming pile of shite they call searching. Between the missing entries, the irrelevant articles and, this is my killer, only actually using one of the search words provided I cant see why people even bother to put the entry box on the site when you can get far superior results from Google. Now before I get accused of being a hypocrite I’d like to point out that the Unixdaemon. Read on →

Heres my feature request for Gmail, a service I’m mostly happy with. It’d be nice if you could set up read only access to your inbox, or even designated ‘labels’ that you could limit by either assigning a password or allowing full (read) access to everyone. I pipe quite a few mailing lists into my GMail account and I’d like the ability to give certain people read access to anything labled as security. Read on →

For one of the projects I’m working on I needed to see which type of ads Google would choose to bestow on certain pages. A co-worker pointed me at Try Before You Sell at the (unofficial) Google Weblog. While this is quite handy (and easy to use in a bookmarklet) I did find it a little cumbersome. So filled with the drive of an early morning and bacon sandwiches I decided to put together a right click extension for IE. Read on →

Frequent readers of this site will know that I really like del.icio.us, it’s become one of my near daily tools and, thanks to the API, it’s become a lead generator for me. While it’s interesting to find people with similar interests to you it can be a lot of very tedious work to get a good overview of someone’s interests and see if they mesh with your own; enter extisp.icio.us. Read on →

Like most geeks I’m an information junkie, I have news sites, developer blogs, security alerts and even a couple of system logs piped to me via the bandwidth eating medium of RSS. I started off using FeedReader but soon felt the need for something a little more powerful and swapped to the excellent, if quite memory intensive and slow to start, SharpReader. After six months of happy usage the restriction of only accessing my subscriptions from a single machine began to get to me. Read on →

And I don’t mean the .torrent file, I’m more focused on the file containing the actual content. For a personal project I’d like to be able to search for information stored in text/DOC format or in compressed archives but short of scripting a down-loader to get each file I find, pulling it apart and searching manually I don’t see any options. As far as I can tell the main search engines stop at the . Read on →

A little bit of online technology I’ve been using for the last couple of months is the pool.NTP service provided at (surprisingly) pool.ntp.org. NTP is used to keep your local system clocks synchronised by using some of the bigger, more accurate clocks such as atomic or radio clocks. Traditionally you would add three or four server names/IP addresses to your NTP configuration file and the time would be pulled down and used, the downside to this included the need to ensure the remote servers were still available and the issue of being a burden as the teeming hordes of NTP clients hit the same servers again and again. Read on →

I manage to attend a decent number of conferences each year (despite my employers lack of interest) but while the UK ones are pretty cheap and amazingly good at securing top notch speakers (UKUUG is brilliant at this) there are a lot of conferences I don’t get to experience beyond the odd blog post and mailing list summary due to geographical location or cost (OSCON wins on both counts!) In a recent post by Jon Udell he pointed to some clips hosted by IT Conversations, after a quick rummage around their site I now have plenty to keep me busy on those long train commutes. Read on →

A friend of mine runs the UKLug website, an online search engine for jobs that allows you to ‘subscribe’ to a search query. Every time your feed reader requests the contents the query is re-run and the current results are passed down. “Thats neat. Why is it getting mentioned here?” Well you highly focused individual it’s being mentioned here for two reasons: Firstly it's a good site that deserves some coverage; even if it does look like Google. Read on →

I received an invitation a while ago and I’ve had a play, invited some friends, sent some messages and even created a group to discuss a topic. I spent half an hour looking at the pictures for people I’ve chatted with on lists but never meet in person, that was almost a month ago; then I forgot about the account. I’ve just logged back in and pretty much everything is as I left it, the groups I joined (GLLUG, Lonix, London-PM) have had no posts made and have a subset of the people on the respective mailing lists present. Read on →

One of the online services/applications that has wiggled its way in to my near daily usage is del.icio.us. The concept, like most good ideas, is pretty simple; you save your bookmarks to a remote server and so does everyone else. What makes del.icio.us special is that everyone else using the service does the same. Each user has their own page of links, each book-marked URL is assigned one or more ‘tags’. Read on →

Its the little touches that makes certain products stand out. If you click on the ‘trash’ folder and its empty you see: No conversations in the trash. Who needs to delete when you have 1000 MB of storage?! The first time you see it is amusing (or i need a life). When you think about it the message itself is actually positive reinforcement for the service. It implies careful thought has been given to the storage requirements. Read on →