My Weblog

  1. Cracking weak CAPTCHA implementations

    Asking users to prove that they are not a machine by requiring them to recognise words formed by distorted characters, known as a CAPTCHA, has grown in popularity in recent years; so too have the many implementations that can be easily cracked by a bot intent on automating the submission of swathes of forms or spam comments.... Read the full article...

  2. Map of every KFC restaurant in the UK

    Following on from my article showing how to create a map of every McDonalds restaurant in the UK, I thought that I'd do the same with KFC restaurants. The result of my findings is shown in the map below, which shows all 845 KFC restaurants in the UK... Read the full article...

  3. Undo functionality in paint applications

    I was working on a personal project that involved painting with an HTML canvas and wondered how easy it would be to incorporate 'undo functionality'? So I did a little research to see what people were proposing, and whilst I came across a few suggestions, none of them included an example of an implementation. Therefore I decided to look into the matter myself and share the result.

    Read the full article...

  4. Visual Studio: Customising Bootstrap at Build time

    I've been using Bootstrap for a number of my personal projects over the past few months and I've frequently found myself customising its theme by either overriding CSS styles or using Bootstrap's customisation tool. The problem is of course that the former lead to more CSS and the latter wasted time. Read the full article...

  5. Using data URIs in PHP

    I'm currently working on a JavaScript application that relies upon the HTML Canvas Element's toDataURL function to transfer the canvas' image data to my PHP API. However finding little functionality in PHP for dissecting/constructing data URIs I decided to write my own PHP class for handling them. Read the full article...