Coding Projects

As a process engineer, it is not often I get the chance to write code however it is a skill I enjoy using when I can. Over the years I have worked on projects using C, FORTRAN and Pascal.

Currently, my language of choice is python, though I also work with javascript and HTML to produce web applications. I prefer web applications because they will be platform-independant and can be used by anyone on Windows, Mac, Linux or anything else with a web browser.

I also like to push the limits of spreadsheets and macros to produce simple stand alone tools to help with everyday engineering problems.

This page contains a collection of bits of code I have made over the years.
Whilst some of them were made as part of coursework, most of these projects, were just for fun.

Research Project: Impress

October 2008 - April 2009

My final year research project was to build a web application that aids the chemical engineering design process.

The program is able to produce a mass balance for simple processes and output the data as a spreadsheet in .xls format. Now that the project has been completed and the report handed in, I have continued to develop the site on occasion and have publishing all code under an open source licence available on

I gave a short presentation about the project at the ECOSSE Retrospective Symposium 17 April 2009.

Generating Ternary LLE Data

March 2008

This program is a ternary phase diagram generator to aid the development of Liquid-Liquid extraction processes. The graphs are generated using the mutual solubilities of the components and applying the 2 parameter Margules equation.

The graphs can be output as a right angle triangle or as an equilateral triangle. Similarly, whilst using the
enhanced version, the user has a choice of mass or mole fractions.

Browsers known to work include:

  • Firefox 2
  • Safari
  • Google Chrome
  • Konqueror
  • Internet Explorer 6/7 (partial)

Unfortunately, due to the use of complex javascript 'trickery', the enhanced version is not usable in
internet explorer however the basic version works fine. It has also been noted that neither version will run whilst using firefox 3 however because firefox 3 was only released after the project was handed in, no attempt has been made to fix this issue.


August 2007

The aim of this project was to produce a program that would play sound files at the touch of a key on the

The purpose of this task was to aid improvised sound in a particular theatre show however it has now been
modified so that it may be useful to many other instances where improvised sound would be required.

I wanted this to be as portable as possible and ended up embedding it in a web page making this one of my
first web apps. Unlike most web-apps however, ImpAmp was designed to run offline without Internet access.

ImpAmp was designed and build using firefox as the browser and remains the browser of choice. Google chrome, safari and Internet explorer have been tested and whilst basic functionality works, there are some issues with visual glitches, your mileage may vary. Opera and konqueror are known not to work.

ImpAmp is released under an open source licence, for more information please have a look at the launchpad page.


June 2004

AMaze is a text based maze where the character can walk around and bump into walls. The bulk of this program was written within 24 hours on Turbo-Pascal. I created this program on an impulse and was significantly bigger than any other program I had written at the time.

Pascal was the first programming language I was introduced to at school. The source is badly documented, however I did have good documentation in paper form.