Written by Sam Nazarko, a 20s London chap who is an open source developer by night. Follow me on Twitter