About Me

Curriculum Vitae

A brief list of my current skill set


Gosh This Site Is Old
Thursday, 18th November 2021, 22:08

I might update this one day, but until I do take a lot of it with a pinch of salt!

Automatically Cropping Images is Hard
Monday, 21st October 2013, 19:00

But maybe we can use face detection?

The Git Cheat Sheet
Friday, 6th September 2013, 11:30

for github, bitbucket, that kinda stuff

CoffeeScript and TypeScript are a Burden
Saturday, 17th August 2013, 11:21

Be sure you understand the cons as well as the pros

Changing the Order of the jQuery Event Queue
Wednesday, 3rd July 2013, 20:27

It's just a push to the left

Projects and Sillyness

MAME Cabinet Diary

How I built my own arcade cabinet

Loading Screen Simulator

I don't miss the ZX Spectrum, I still use it!

The Little Guy Chat Room

It's a Pitfall inspired chat room


A fully featured MP3 player what I wrote

GP Space Invaders

My first little emulator

GP32 Development Page

Some info and links about this cute little handheld

Disney Nasties

Uncensored images, you must be 18 to view them

Diary of a Hamster

Learn about how hamsters think, first hand


Time Calculator

A simple little online utility for working out how many hours to bill a client

A Few Links

The ZX Spectrum Loading Screen Simulator!

Thought I'd play around with HTML5 and Canvas a bit. Decided what perfect thing to try than simulate the loading screen of a ZX Spectrum game.

The only complicated thing here is knowing how the Speccy video display is layed out, and well yeah, I know that rather well. :)


Choose a loading screen from the drop-down below, and then watch the magic happen...

Your browser does not appear to support HTML5 :(

Future Ideas

Alas whilst Canvas gives us full pixel level control over our graphical output, limiting us only by the speed of the client browser running Javascript, audio seems to be not so lucky. It would be great to add the loading sounds Speccys make and synchronise it with a flashing border.

I thought of a work around, generate them on the server and then stream them to the client. Might do that at some point...