G. Acknowledgements

A number of people have generously offered feedback, code and suggested improvements to this tutorial. In no particular order:

Daniel Veillard
Marcus Labib Iskander
Christopher R. Harris
Igor Zlatkovic