Aggressively Defensive Programming


How much checking do we perform that our code is running as intended? I found a curious bug this weekend, which made me think about some of the assumptions that we use when programming. Imagine sorting an array using JavaScript. var arr = [10, 5, 66, 8, 1, 3]; arr.sort(); So far, so normal. Create […] Read More

Use DRAKON to Generate Code from Flowcharts


It's 1986. You're working on the Russian's Buran space programme - trying to create a re-usable space vehicle which will exceed the capabilities of the American's "Space Shuttle". There's a problem. You have very complicated real-time algorithms which you need to review, improve, optimise, and then turn into code. How do you do it? Obviously, […] Read More

API Design is UI for Developers


A pet cat typing on a computer keyboard

I've been thinking a lot about APIs and their design recently. I stumbled on this fantastic quote from Greg Parker: A programming language is a user interface for developers. Language authors should learn from HCI principles. — Greg Parker (@gparker) February 22, 2012 When I first started learning C++ (back in the bad old days) […] Read More

Getting Images from a Foursquare Checkin


"Oi!" shouted Whatleydude, "Get Dabr to show images from foursquare checkins!" "Righty-ho sir!" I said. I started coding furiously. Of course, things are never quite as simple as I first thought.... So, how do we go from http://4sq.com/fgIWov to ? 1 Expand the URL Get your Bit.ly API Key. http://api.bitly.com/v3/expand ?shortUrl=http://4sq.com/fgIWov &login=YOUR_BIT_LY_USERNAME &apiKey=YOUR_BIT_LY_API_KEY &format=txt You […] Read More

Twitpic OAuth - I'm Stuck


The Twitter Logo

Twitpic has implemented an OAuth API. No more having to hand out passwords to all and sundy. Only I'm too much of a dunderhead to get it working. Perhaps it's a combination of heatstroke or this rotten head-cold, but I just can't see what I'm doing wrong. Any help much appreciated. The easy bit. It's […] Read More