How to Use Outlook Web Access in Google Chrome on Linux

27 Jan 2015

If, like me, you work at an organisation that uses MS Exchange for their internal email you're probably familiar with the Outlook Web App (OWA), the web interface to your email account. Users of Chrome on Linux will probably be aware that OWA doesn't support that browser/device combination and are forced to use the crappy "light version" of Outlook.

Google Analytics Reports in Google Sheets

21 Mar 2014

The new Add-ons in Google Sheets allow you to do all sorts of exciting things with spreadsheet data. My favourite (for now) is the Gogole Analytics Add-on, which makes it incredibly easy to pull analytics report data in to a spreadsheet using the Google Analytics API.

Missing Blobs in Git

11 Jan 2014

I've just had to fix a missing blob in a repo. Here's how I did it.

API Keys with Git Stash

21 Nov 2013

Working with API keys in git repositories can be a pain. You need the keys to test your project, but you don't want to publish them to the world. This gets even more confusing when you have multiple versions of the keys that you are working with. The stash command in git is a great tool for solving this problem.

JavaScript - How to Iterate Arrays Correctly

15 Oct 2013

There are several different ways to iterate over Arrays in JavaScript. Each of these can behave differently when there are undefined values. Here, I demonstrate each and explain their behaviour.

A New Direction for Easy Open Data

29 Aug 2013

About 6 months a go I published Easy Open Data, a tool to make it easy to publish custom-formatted open data from Google Spreadsheets. The response I received was wonderful, and it has been gone on to be used by people to open up all sorts of interesting data.

Unit Testing Third-Party REST APIs in Python

06 Aug 2013

I've wrestled with this problem for some time, and finally cracked it. Here's how to write unit tests for methods that use third-party REST APIs.

Semantic HTML is the Gateway Drug to Open Data

04 Aug 2013

James Padolsey says that semantic HTML is dying.

How to store Visitor ID in Google Analytics

29 Jul 2013

Google analytics doesn't store records for each individual visitor, but with a bit of JavaScript magic, it can be done.

We Need a Longer View of the Content Lifecycle

04 Jul 2013

Recently I've been trying to understand different content management strategies and the implications these have for the underlying technology. Most of what I've read fails to consider the long-term utility of content, considering only the newest to be useful. We need to develop a longer view of the life of web content. We should plan for content to live, not for years, but centuries.