Michael Jones

Current Status

Contracting in a Python/Django web developer role near Manchester, UK.


I am the lead developer on a Python/Django community focussed website providing a calendaring solution for dance teachers and event organisers. The site runs on Linode with Apache, Postgresql, Python, & Django for the backend and Javascript, jQuery, React.js & bacon.js for the front end. Selenium is used for testing.

I have worked with Python and C++ for 8 years creating graphics applications and tools for artists in the film industry. Additionally I have written pipeline programs to improve the workflow and efficiency of the companies I have worked at.

My last role included planning and designing a new tool and carrying out the implementation whilst managing the project and a team of 3 developers. I enjoy working in teams and working with the strengths and preferences of my colleagues.

I am a keen advocate of the git revision control system and became the point person for the transition to git in my department at Weta Digital. I am also actively involved in open source work on Github with two successful projects, and many other ones, which I maintain and support for the users.



  • 2015-06-15 - Introduction to Rust @ Lambda Lounge
  • 2015-02-16 - React from a Functional Perspective @ Lambda Lounge
  • 2015-01-30 - Introduction to React.js (Workplace Presentation)
  • 2014-12-05 - Programming in VFX @ Special and Visual Effects Festival, University of Bolton
  • 2014-10-18 - Programming in VFX @ BarCamp Manchester


Dance Timetable Network

Community calendaring websites built with Django & React.

Open Source

Computer Graphics

Alembic FS

A FUSE filesystem for Alembic files.

It allow you to mount an Alembic file as a directory and explore the contents as a hierarchy of subdirectories and files.

Language: C++


A basic implementation of a Kd-tree.

Templated on the data type and number of dimensions.

Language: C++



A Doxygen-Sphinx bridge.

An extension to reStructuredText and Sphinx which is able to read and format the contents of Doxygen XML files. It extends Sphinx's support for displaying language & API documentation to all the languages support by Doxygen. Development has a strong emphasis on supporting C++.

Language: Python

Sphinx to Github

Convert Sphinx output for use with Github pages

A Sphinx extension and command line tool that prepares the output of Sphinx to be suitable for use with Github pages.

Language: Python



A map-based import hook for Python.

Supports encoding the module name and its location into a PYTHONPATH-like environment variable which is parsed at runtime and used for faster imports. Aimed at avoiding the standard Python linear search through the PYTHONPATH to find a module which can be slow for large numbers of entries over a network.

Language: Python


Restructured text role for keyword based external links.

Enables a documentation strategy in which the maintainers of a project can publish a Python module with up to date links for documentation based on keywords. Other projects wanting to link to the appropriate documentation only need to use the keywords and latest published module to stay up to date.

Language: Python

Maya Plugin Handler

Helper classes for initializePlugin & unintializePlugin.

Aims to reduce code duplication between the two associated functions by abstracting down to a single set of calls.

Provides inheritance based approach as well as experimental basic template meta-programming approach.

Language: C++


I have also made contributions to the following projects:

github/markup and AdamN/python-webkit2png