Category Archives: Programming

Baby’s First Fractal Generator

Waaaaaaay back in the day, I got a fractal visualiser free on the cover disk of a magazine. Little me had no idea what a fractal was beyond some vague concept of self-similarity. Certainly he had no idea of the maths behind them or how one went about doing it yourself. The little proto-nerd, with his basic knowledge of Basic, vowed that one day he would make his own generator.

Drumroll please, ladies and gentlemen, because nearly thirty years later, I present to you…

Read More →

Picsie v1.11

Just updated Picsie to support variable-delay animated GIFs rather than applying the delay on the first frame to the whole animation. Not the most common use case I’ll admit, but it was annoying me and everyone knows that dictates what gets fixed first.

Improving YouTube comments with BoopTube


Everyone knows that YouTube comments are uniformly insightful and contemplative, but it always felt like they could still be improved. So in the name of learning something new I sat down and created a simple Chrome extension to try and give YouTube comments something of the respect and grandeur they deserve. And thus BoopTube was born.

The source is available in my GitHub repository if you’re so inclined.

Beep boop.

Picsie lives!

After all these years I still use Picsie as my go-to image browser – and now after four years of stability it has a new feature. Go see!

In other news, I’m using Git via BitBucket for source control now, and I’m contemplating open-sourcing the project.

Conway’s Game of Life

Conway Banner

I love Conway’s Game of Life and I’ve made a version in pretty much every language I’ve ever learned, including QBasic. So a Javascript implementation was pretty much inevitable…

This was my first time bringing in HTML elements outside the canvas to control the simulation, and I also integrated a third-party slider component from DHTMLX.

Fun with graph theory: Wilson’s Algorithm

Wilson Banner

The mini javascript projects continue apace. Today’s little program: an implementation of Wilson’s Algorithm.
Read More →

“Bubbles” canvas tutorial part 3: Getting touchy

HTML5 Bubbles 4

So far in this series we’ve set up a basic framework to get us started and then added a render loop and some actual bubbles.

This part will make the game interactive, adding mouse and touch input, and discussing some of the pitfalls that can crop up as you do so.
Read More →

“Bubbles” canvas tutorial part 4: Getting noisy

HTML5 Bubbles 5

Now we’ve got graphics, animation and interactivity, what’s left? In this final part of my HTML5 javascript/canvas tutorial we finish off our little game by adding some sound effects – what good is popping bubbles without the satisfying sounds of destruction? Unfortunately, adding audio is far trickier than it has any rights to be, so hopefully this tutorial will save at least one person the troubles I had to go through.
Read More →

“Bubbles” canvas tutorial part 2: Getting animated

HTML5 Bubbles 3

In the first part of this series we set the stage by putting together our framework and then getting a simple background on screen. This article will add our rendering loop to the code and let us actually get some bubbles out there.
Read More →

“Bubbles” canvas tutorial part 1: Getting started

HTML5 Bubbles 2

When I started this little project I had only a vague idea of how it would look and even less of an idea how it would be written or structured. As it turned out I just slapped down a quick gradient background, came up with a simple Bubble class and set a timer to move the bubbles up the screen. That gave me a basic core to work from, but as I started to tweak and add I realised just how messy it was, even for a simple project like this.

So this tutorial is going to ignore all my mistakes and lead you gently to the finished version with something resembling logical sense. This entry in particular will focus on giving us a basic framework to work within, and go as far as putting a background on screen. Part 2 will introduce the render loop and actual animation.
Read More →