My ever evolving development virtualisation situation

Over the past few years I’ve moved closer and closer to virtualising my entire development environment. It started with developing for Windows whilst using a Mac, continued when I refused to sully my machine with some godforsaken Oracle product, and has now reached completion with the arrival of a new laptop and an unwillingness to install RVM again.

Read more »

Converting and preserving Michael Abrash's Graphics Programming Black Book

tl;dr The Markdown source of Michael Abrash’s Graphics Programming Black Book is available on Github, there are Epub and Mobi versions on the Github Releases list, and you can read an online copy of the book on my website.

It started out as an attempt to read Michael Abrash’s Graphics Programming Black Book over the Christmas period. It turned into a epic mission of grep, sed, and awk, and a few blisters.

Read more »

Compiled Templates for Go

Cote is a compiled templating language for Go.

Template languages fall roughly into two criteria: template specific language or the same language your system uses, and a custom markup language or they don’t care. Cote falls into the second of both criteria, it uses pure Go for logic and the content can be anything. Your output can be anything text based.

Read more »

Go Slice Visualiser

I’ve been learning Go recently; it’s been fun.

An interesting aspect of Go is Slices, which are lightweight views of an array. Why these are useful and necessary makes more sense when you understand Go’s pass-by-value semantics.

Whilst playing with slices, I put together a little visualiser to help understand their behaviour (the act of building it was probably more useful than the end result).

Read more »

Rails production 500 error page showing in dev

We’re sorry, but something went wrong!

I’ve been seeing some strange behaviour on the development environment for On the Game recently. I’ve just spent an hour combing through every line of code that varies from a standard Rails app, and I’ve finally found the issue. I’m putting it here for posterity.

Read more »