Android Clojure Tutorial

I did a talk about Clojure on Android at our local Liverpool Clojure Dojo a few days ago. Recently a lot of work has been done to make Clojure on Android much better than what it used to be. There already a few advantages to Clojure on Android, namely being…

Phabricator on a subdomain on Digital Ocean

Phabricator [http://phabricator.org/] is an interesting piece of software if you want to cooperate remotely with a number of programmers. Blender [https://developer.blender.org/] uses it to coordinate its various efforts. It's easy enough to get to run on Digital Ocean [https://www.digitalocean.com/], which…

Mildly painful solution to Unity3d's meta GUID hell

When working on a Unity3d project with a team, no matter how meticulously you keep track of your meta files, the occasional missing file/shader/material will happen. The problem happens when someone forgets to commit a meta file, but does commit the file it belonged to. For example one…

Intro to Programming notes - Liverpool Girl Geeks

For the first Liverpool Girl Geeks [http://liverpoolgirlgeeks.wordpress.com/] event I did a bit of an Intro to Programming workshop in Javascript, here are the slides and the notes: Slides [http://slid.es/doppioslash/intro-to-programming] The enumeration example didn't work because enumeration does not actually exist in…

Concurrency in Clojure

Overview of Concurrency in Clojure Slides [http://slid.es/doppioslash/concurrency-in-clojure] The Old Way Everyone has had to contend with handling a variable that is changed by different parts of a program at the same time. Problems like Race Conditions and Deadlocks are handled using Locking, an error-prone technique, without…