Lessons for developers from the Horizon Post-office Scandal

It’s my 40th birthday! As such, I gave a rehashed talk at work about the Horizon Post Office Scandal and what we can learn from it as developers and people who work with or the creation of software. The slides can be found here.

January 17, 2024

Talk: Adventures in pocket javascript

I gave a talk at Bristol JS about my experiences of writing a small framework-less front-end app for wrightsnotes.com. Unfortunately it was not recorded but the slides provide some info on how I have structured the code base. In summary: I used one package, virtual dom to provide react-like virtual dom building and diffing functionality and I’ve build a small app around it. I’ve handled state using an action dispatch & reduce pattern and I’ve written small helper functions to smooth over any browser API inconsistencies that might bite me....

November 30, 2016

Socket.io-p2p

This week I released socket.io-p2p under the socket.io banner. The announcement post can be found here. Tl;dr Socket.io-p2p provides the socket.io and protocol over a peer-to-peer WebRTC connection with a fallback to server-based communication when clients do not support WebRTC. The snake game on the home page of this blog uses the library to setup two-player games by pairing clients as they connect to the server and allowing them to practise the game while they wait for a partner to join....

July 14, 2015

Objects on Hexagonal Rails

Six months ago I sent an email to the London Ruby User Group mailing list to canvas opinions on hexagonal rails and object on rails techniques. We were starting a new product at keepmebooked and it seemed a good chance to employ some of the OO techniques that have been all the talk of late 1. As rails ages, so have the projects that built using it. Once they were brand new, agile developed websites; now they are giant behemoths sitting in maintenance mode....

January 3, 2014

Introducing Entity Minr

I have been writing an app that required extracting named entities from articles. The app was written in Ruby and was using the treat gem to tag text and the extract pronouns. This process was slow and used a lot of memory. The ruby-java bridge was used to call out to the Stanford NLP libraries and this occasionally caused crashes. So I decided to make a quick web service that could call these libraries directly in the JVM....

November 15, 2013