Project:

Go AI

An attempt to create an artificial intelligence capable of learning to play Go with some skill. Includes programs for displaying Go games.

Project:

Heterocyst Simulation

An old simulation of a type of cyanobacterium and its evolution, which was originally written in QBASIC. Includes analysis of the results from this simulation

Molecular dynamics simulation

I wanted to write about a Java molecular simulation that I made a while ago, before I became entranced by Python. The program is a simple 2D physics simulation, with circles representing billiard ball-style atoms. The idea before the simulation was initially an attempt to create a virtual lava lamp. In its first incarnation, there were two types of atom. Each atom was attracted to nearby atoms of the same type (with a force proportional one over distance squared). If the distance between any two atoms was below a threshold then the two atoms repel each other.