- Novice to Expert Transition
- Natural and Fluid Interfaces for Creative Expression
- Character Animation Tools
- Animation Systems
- Highlighting Techniques
- Simpler Rigging Techniques
- Pen-Based Interfaces
- Safety-Critical Systems Design
- Information Visualisation (especially for multi-dimensional data)
- Automatic Graph Layout Algorithms
- Simulation Models of Human Performance
- Computer-Assisted Design Tools
- Computer Composed Music
- Sustainability and Long-Term Data Preservation
- Domain Specific Languages
- Computational Photography
- [PhD] Understanding the Noticeability and Distraction of Interactive Highlighting Techniques
- Grease Pencil: Integrating Animated Freehand Drawings into 3D Production Environments
Here is a selection of the projects I've worked on in the past.
Publicly Available (Open Source Projects)Personal Tools/Libraries:
- physlabtools (2009) - A library to make it easier to perform calculations for undergraduate Physics labs, which automates the process of computing uncertainties and handling units.
- dbcskit (2010) - A toolkit for describing EER schemas for databases ("conceptual schemas") using a text-based format. It comes with some additional tools such as image output (with automatic graph layout) via GraphViz, and a validation tool.
- DualitySVN (2010-2012) - An graphical frontend for SVN, built using PyQt4
- PyQt Tooltips Lib (2013) - A library for implementing custom styled tooltips and "tags" using PyQt4. It provides a greater level of control over how the widgets look and behave. (Based on a manual PyQt port of the C++ QToolTip code)
- XSPF Tools (2018) - Rust-based tool for processing XSPF playlists, extracting metadata embedded in the filenames, and exporting this data into various formats that are easier to use.
- Fx Autoplay Toggle (2016) - A Firefox Addon (JPM-based) which adds a button to the toolbar to make it easier to toggle the
media.autoplay.enableduserpref setting (which enables/disables all HTML5 autoplay capabilities). Source code for this can be found here.
(Note: The API's needed for this addon to function are not currently available in Web Extensions , so this addon will not be available for Firefox 57+)
- Blender MsBuild Custom Logger (2017) - A custom logger component to be supplied to MSBuild when compiling Blender on Windows for cleaner, less noisy, and more easily scannable output. (Tested to work with MSVC 2013)
- Aligorith's Sublime Text Tools (2017) - Random assortment of tools for improving my workflow in Sublime Text 2
- Hex-to-RGBA (2018) - Sublime Text 2/3 package for converting CSS hexadecimal colors to/from RGBA representations.
- G6 Feedback (2011) - An audience response system, built for COSC325 Software Engineering Group Project (2011)
- Sudoken (2012) - Sudoku-like games for Software Engineering Group Project
- MARS GUI Redesign (Summer 2011-12) - I worked on redesigning and implementing a new GUI for the MARS (Medipix All Resolution Scanner) "Colour X-Ray" scanner being developed by MARS Bioimaging. Python + PyGTK on Ubuntu.
- Ludwig - (2004 - 2006) - An ambitious attempt to build a fully automated system for generating arbitrary pieces of classical music, complete with sheet music (via GNU Lilypond). The name is play on Beethoven's name (the program signs off its masterpieces as "Ludwig van Byteoven" ;) My first serious programming project (and first Python codebase).
For contact details, click here.