As a sort of New Year’s Resolution, and to try and clear my backlog of half-finished ideas, I’m going to try and ‘finish’ something every month.

This month, I made a wireless controller for my Raspberry Pi Google Play Jukebox. I made it using a Wireless Inventor’s Kit that makes it all rather easy.

Although it works, it would be good to mount it in something that looks a little nicer, but that looks like it’s going to have to be a different project now.


I made a game: Speed Warp

Screen Shot 2013-09-29 at 16.50.42I made a game: Speed Warp. It’s heavily influenced by Candy Box, and contains one or two minor references.

If you haven’t played this type of game before and you’re confused – just wait. Things get more interesting as the game goes on. The fun is in the discovery…

Raspberry Pi Radios

An ongoing project has been using my Raspberry Pi as a radio. I have it connected to some speakers in the kitchen, and have it serving the radio controls via HTTP.

I’ve made two version so far, one for playing streaming radio services and another for playing Google Music.

I’ve used bootstrap to set up the UI so that they’re usable from mobiles. There are also simple endpoints for playing stuff, I’ve used Tasker to set up shortcuts on my home-screen, and buttons on my Pebble that ping the appropriate url to instantly play/stop music.

Replacement Dilbert RSS Feeds – with images

Dilbert.com recently nerfed their RSS feeds forcing you to click through to the site to view the comic. I’ve made a script that you can use to generate a feed like their old one with images inline. It’s available on github: Dilbert RSS Replacement

Hangman Overkill

Following up on my previous post about optimal hangman strategy, I’ve run some more experiments, fixed up and tested my script, with some interesting results.

First of all, I tested the script in a game of hangman against every single word in a 70k word dictionary. I played with 10 lives before losing, which is probably on the conservative side, 12 seems like a common figure. The script lost on 469 words, of which 99 were 3 letters long. There were 20 words 7 letters long, all of which ended in ‘ing’. There were no words of 8 letters or longer.


Playing Hangman Optimally with pyngman

A post on DataGenetics did the rounds last week, applying the might of statistical analysis to the game Hangman to try and guess what an optimal strategy might be. Many techniques were leveled at the problem, from basic analysis of letter frequencies to conditional probability, all in order to try and generate the best sequence you should call the letters.

Having read it I was slightly perplexed, it seemed like massive overkill for something that can be calculated fairly simply, so I created pyngman, a python script that generates optimal next guesses for Hangman. Input the state of the game and the letters you’ve called and it will tell you what letter to call next.

You supply the information as a state, such as ..e.., where .’s are unknown letters, followed by a list of letters you’ve tried:

$ pyngman -state ..e.. est
> Your best next guess is: a

It does this by using a dictionary (you must supply the dictionary, so the results will change depending on what you supply!), and looking at all possible words that could be the solution, and working out the letter with the highest probability of being present. So far I have been unable to find a word which causes the program to lose a game of hangman!

Grab pyngman from github and have a go yourself


Android Game: Dust

I’ve just released the first beta version of my first Android game: Dust. It’s a casual game, in which you have to herd dust particles around my desk and into a fiery pit! You can play in either time-trial mode, or in maze mode, where there are 5 levels to complete. Get it now from the Android market! QRCode after the break. (more…)

Ormeo: Web-Wide Comments System



Ormeo is a web-wide comments system. It can be installed on a single site so that anyone can comment, or it can be installed on your computer, allowing you to comment on anything on the web.

Ormeo started off as an idea, then grew into an experiment in JQuery, and finished off as a fully functional web-app, complete with Firefox Extension. Ormeo is the system used on this site for comments, instead of wordpress’s own system. This allows visitors to this site to use their Ormeo login for every site they visit!

Click the Ormeo tab (on the lower right hand side of the page) to comment now!




I made this site while trying to revise for exams. People can create consequences to add to the pool, generate their own and vote on other people’s, as well as see the most popular consequences.

This project was done entirely by hand in PHP, with JQuery for the Javascript/AJAX.

Dust – Flash Game

Dust Flash Game

Dust Flash Game

This was my first attempt at making a flash game. The goal is to push the dust particles into the centre before the timer runs out. Watch out for walls!

Play Dust