Comics, Web Development, Maths and Physics, Games and more...

Welcome to my humble home, a place of creations and thingamajigs, a repository of bits and bobs. Enjoy my stuff... but tread carefully, and click softly, for a hybrid monster of science and art lurks amongst these pages and should you wake this beast you may find yourself forever trapped between worlds.


My latest comics are mostly random one-offs, however there's also a few developing series. These include Today's Lesson teaching you some delightful little wonders of science that you see every day without realising. Also, you can delve into The Real World, a meta-comic where Jack and Zoe discover the weird nature of their world. Or, visit The Department and follow the lives of a group of PhD students.


From quick doodles and practice sketches to mini commissions, here is some of my artwork that isn't webcomics or greeting cards, but that I feel is worthy of keeping.

Web Development

Here are some of my web things, either developed or under development. There's JavaScript Paint allowing direct editing of data-URI based images in the browser, a Web Workers shim allowing you to get started using web workers without worrying about browser support, CSS craziness including a lifted corners shadow effect and barcodes, and loads of other little bits and bobs. I've also got more over on GitHub.


Right, let's have some fun. Wanna play some games? Why not test your car racing and crashing skills with Kevin Calcium-Man Collins Crazy Circuit-Based Racing Game and Crazy Skoda. Or, would you rather travel to a world where gravity regularly changes direction and then try and play Crazy Connect-Four? Oh, and just in case you hadn't noticed, the common theme here is CRAZY!

Maths and Physics

Ever wondered what it's all about? Yeah? Me too. Unfortunately no-one has a clue. But we've got some pretty cool theories that describe, well, pretty much everything we've ever measured. But fear not, there is more to be done. The theories only fit if we put in by hand loads of parameters at the beginning, but we don't know why these parameters should have the values they do. Also, we don't have one single theory, we have two incompatible ones. It's a bit of a mess, and with no data to guide us, well, people do the craziest things!

Latest updates

Star Wars

Trying to get back into some drawing after a little while, here's some sketches of Star Wars characters!

Caching single page applications

Single page applications offer some interesting caching problems. With URLs representing state in the application rather than the content being served, and each separate URL serving the same application framework, how can we efficiently cache this framework? Here I look at how this may be behaving in a typical app, and how we can improve the situation by using service workers.

Adult, Single

Check out the new comic Adult, Single in the series Random Comics - Unclassifiable random misfit comics from


Check out the new comic Dinnertime in the series Random Comics - Unclassifiable random misfit comics from