Project overview

This page contains a brief synopsis of each of my completed projects to date. Each project has its own dedicated
page with a more in depth explanation of the project, some development history and help or instructions on how you can
operate them yourself.

If you're having trouble running any of my projects you should check out this quick guide.

This website

This website is both a platform through which to display my work and also an example in itself. Apart from the
inclusion of JQuery.js and lightbox.js, it is all my own work.

The website uses HTML and CSS for the content and style, JavaScript to add an interactive element to the site and
PHP, mainly for code reuse but also for a small quantity of server-side logic.

Fluid Dynamics

This project represents the fluid portion of a marine plankton ecological model I worked on for my dissertation.
The project shows a 2D simulation of an incompressible fluid. The user can interact with the fluid in a similar manner
to putting your hand in water and sloshing it about.

EveryRGB

This project creates an image which contains exactly one pixel of each 255 RGB colour, then you load an image of
your own and it evolves the every RGB image to match your own image as closely as possible.

Evolving Plants Simulation

The program is a complex genetic algorithm where the fitness
function is represented by how many offspring a plant can have in a simulated environment. The result is a dynamic
field of growing and reproducing plants that gradually evolve into forms which allow them to outcompete their
neighbours.

The more recent builds are experimental and may contain bugs but if you're interested they can be downloaded from
the 'Development Log' section.

Travelling Salesman

This project tackles the famous travelling
salesman problem. The aim is to work out the shortest way to travel between a number of cities, visiting each only
once. This is one of my more simple projects, the code is highly documented and it is quick and easy to interact with.

Steganography & Cryptography

This project combines the hiding of information in images alongside the encryption of information. Using a neural
network it hashes each character in a message and then integrates the binary data into the image in a way that doesn't
noticeably disrupt the image colours. The nature of the hashing attempts to disguise the data as random noise, which in
theory makes the hidden message undetectable. Unfortunately, due to image compression, the lack of uniformity or pattern
can actually make it obvious, i.e. the presence of random noise where there should be none is suspicious.