See http://hughjonesd.github.io/ for an introduction.