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.
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.
11 Jan 2014
I've just had to fix a missing blob in a repo. Here's how I did it.
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.
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.
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.
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.
29 Jul 2013
Google analytics doesn't store records for each individual visitor, but with a bit of JavaScript magic, it can be done.
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.