## About this page

One of my hobbies is coding, markup development and web design in various languages. This includes C++, python, JavaScript, PHP, and many other things.

## Image manipulation

There's something very satisfying about using mathematics to manipulate images. Here are the coding projects that do that.

### Apollonian gasket generator

One of my hobbies is creating fractals and one of the most interesting is the Apollonian gasket. An area defined by some arcs and straight lines is recursively filled with circles and in all cases (except the trivial case of a single circle) this process recurses infinitely, making counting circles challenging.

### Image transformer

When I discovered I could manipulate images with PHP one of the first things I wanted to do was perform coordinate transformations. They have fascinated me since I first came across them and so I developed this project to satifsy my curiosity about what a skyline might look like when transformed into polar coordinates.

## Toys

These are coding projects that don't really do anything, and aren't games, but they are fun to look at and play with.

### Conway's Game of Life

Conway's game of life is a very famous mathematical model with a rich variety of "creatures" that can interact with one another. This script is a simple interactive sandbox where the user can "paint" cells to create different shapes. There are a number of predefined boards that the user can choose to investigate some small and interesting patterns as they evolve.

### Skyline generator

One of the features I want on my webpage is the silhouette of a skyline to use as background image. This project is aimed at allowing the user to draw a complex skyline, with the possibilty for animation.

## Mathematical projects

There's a rich variety of projects that can be developed using recreational mathematics. Here's some of the fun you can have.

### Ciphers

This page contains some simple ciphers. This was going to be extended to include some more sophisticated ciphers, but I didn't have the time or incentive to develop this page further.

### Circle from three points

This project was thrown together rather quickly to solve a geometrical problem: How can you analytically find the circle which passes through three given points? The construction simply demonstrates that the method works, and it not intended to give any further information to the user.

### Complex polynomial

On the Numberphile YouTube channel I saw a video that gave a proof that all complex polynomials have at least one solution. The method involved moving one point about the complex plane while another is mapped around a path elsewhere in the plane. I decided to map this out using Javascript!

### Iterated path

This project is a mathematical toy to see what happens when a simple rule is repeated many times. It starts with a straight line and then moves the points relative to this line. The process is then repeated many times, leading to some beautiful patterns.

### Mandelbrot explorer

This project estimates the Mandelbrot set using the HTML5 canvas. It's one of my longest running projects that has been implemented in PHP, SVG, HTML5 canvas, HTML tables, and even in ROOT.

### Mathematical inverter

This project performs the mathetical inversion transformation. A curve on the plane is inverted such that points within the unit circle are mapped outsid the unit circle and vice versa.

### Neuron simulator

One of my friends wanted to develop a genetic algorithm that was capable of learning and adjusting a neuronal network to suit its environment. I got as far as making a genetic algorithm before abandoning the project as my friend's interest seemed to move at the same time as my knowledge of the problem was exhausted.

### pi estimation

This project was put together quickly while waiting for a physics job to finish. It was an exercise to see how quickly I could make a useful page with my current setup on my website. Including time to research, write, upload, and test the page it took around 20 minutes.

### Spectrum

This project was made around the same time as the Reflections project, but I cannot remember which was written first.

### Wolfram rules

I enjoy playing with recreational mathematics and the Wolfram rules are a rich source of complex behaviour from simple rules. So I created this project to explore how the rules can lead to different patterns.

## Project Euler

Project Euler is a website that encourages coding for the sheer joy of creative problem solving. It's something I take part in when I feel ill and have some free time to spare.

### Project Euler

To hone my problem solving skills I occasionally take part in Project Euler, which is a series of mathematical and computational problems. These pages summarise my solutions and strategies.