The Rai Blog

Welcome to my blog

On this site, you will find demos of various things I have released on GitHub. I’ll try and dump as much stuff here as I can, but life’s a busy thing you know. Also, to be fair, most of the code I produce these days belongs to my employer - so can’t share any of that (see my LinkedIn profile for information about my professional projects). Nevertheless, over time you will see a pretty eclectic mix of random projects parked here.


All Feedback Welcome

Egham Live

A comprehensive, live information service for the people of Egham. Including a level crossing predictor, train movements, weather, news, tweets, road information and more.

Live Website

MyTrain Live

A work in progress live train information service. Users can enter any direct train route in the United Kingdom and see live information about train departures and delays.

Once they have entered their regular routes, they can then just bookmark the page to get instant and up-to-date information anytime in the future.

Live Website

Node SkyGnome

This is a node module which connects, reads and interprets the Sky Gnome protocol.

You can use it to connect to any standard, retail Sky set-top-box and get lots of dynamic, contextual, JSON about the current channel, programme and the box state.

GitHub Project NPM Registry Listing

Words of our Culture

This project is a linguistic analysis of the utterances within all the great English language movies, from the birth of sound cinema to the present day.

The main output of this project is a visual model of the words which most characterise a given movie and, correspondingly, the movies which most align with a given word.

GitHub Project Visualisation Index Page Documentation

iPhone Controller

I've written some software which can remotely (and wirelessly) connect to an iPhone and analyse its screen in real time. Lots of cool stuff in there like AirPlay, Tesseract, XPath, Regex, Lexical Analyser, Amazon Polly, etc.

By way of an example, I've created something which can play along to the popular mobile trivia game QuizUp. You can see a demonstration in the video linked below.

I will check-in all the source code in GitHub in the coming weeks. It's a bit nascent right now and needs some organisation and tidy up first.

A QuizUp Play-A-Long Demonstration

A Bubbles Visualisation in p5.js

A bubbles visualization for p5js. A fun way to represent quantitative data as a set of bubbles which grow, move and collide on the screen. The underlying mechanism is in a seperate script which is easily reusable by others working in p5js. You will find details of how to use it in the GitHub readme. Also there, I have written up an explanation of some of the maths and physics that underlies the visualization.

GitHub Project A Movies Demo A Populations Demo The Maths Explained

Random Technology Generator

Have you got an important technical meeting coming up where you really need to shine? Are you running short on ideas for your next project? Do you need to bolster your resume? Have you always wanted to submit a patent, but are in need of a novel idea? Do you want to shut up that tech-bully in the office? Fear not, just click the link below to get your own personal random technology.

Generate Some Random Tech

jQuery SlideIn

A slide-in panel for jQueryUI that works from all four sides. The panel overlays your main page and can be slid in on a mouse-click or mouse-hover. There are lots of other options for customisation such as a grab handle, slide speed, opacity, peeking-in etc. The plugin is excellent for housing user options which are only for occasional use, especially overlaid onto whole screen UIs that demand the entire screen real estate.

GitHub Project A Basic Demo A Fuller Demo


LocateTV was a great website which helped people find their favourite movies and shows on TV, online and on DVD. I lead the development team for the site and we took it from idea to launch in nine months.

It ran for many years and eventually was clocking-up more than four million unique visitors a month. We had every English language movie and TV show ever made - with great data quality. We also had indexed every TV station in the USA and UK, as well as all the major online video portals.

Unfortunately, the site was closed down as it was deemed non-strategic. You can still see videos of how it worked at the YouTube link below. Pay special attention to the video which shows how we were out-gunning all the major networks for SEO on their own shows!

A white-labelled version of the site is still up and running as the main listings service for Time Warner Cable.

Videos of LocateTV White-Labelled running at TWCC Easter Egg

Amazon Echo : Boiler Plate Skill

A simple to use, boilerplate template for a new Alexa skill for the Amazon Echo. It’s not really useful in its literal form, as it’s real purpose is to show people how easy creating a custom skill can be. It basically allows your Echo to respond to utterances like “How does a duck go?” and Echo responds “Quack, Quack”. It does this for a range of animals. It also responds to “Roll a Dice”.

GitHub Project

Amazon Echo : Sky Plus Skill

A connection between Amazon Echo and Sky Plus in the UK. Using this project you can create a new Alexa skill which can respond to a range of requests to control you SkyPlus box. It does this by posting key sequences directly to the box from the AWS cloud.

Here are the types of utterances this code can recognise and respond to. In each case, the response comes after the channel change. Many more combinations than this are possible using this code.

  • "Show me wildlife programs" » This is Tiger Trail on the Discovery Channel. It started 12 minutes ago.
  • "Put on a game show" » You’re watching Family Fortunes on Challenge. It’s been on for 22 minutes.
  • "Switch over to BBC 1" » Now tuned to EastEnders on BBC 1. It kicked off 14 minutes ago.
GitHub Project A Video Demonstration