Sinopia: a private NPM registry

Not all of our packages can be pushed to the public NPM repository. Proprietary code and uninteresting code we want to keep internal, but until recently the package distribution story for this code has been worse than open-sourcing it. You either modularise it and publish to the world, or you have a bad time.

Read more »

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 »
gamedev

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 »