Open Source Software

These are some of the more interesting/useful Open Source projects I've developed. You can find others at GitHub.

Watchmaker Framework

A Java framework for implementing evolutionary/genetic algorithms.

Uncommons Maths

Java random number generators, probability distributions, combinatorics and statistics.

Zeitgeist

Intelligent RSS news aggregator that groups articles from multiple sources.

Anorak

A Haskell application for generating HTML football league tables and statistics.

Software Development Articles

Here is some of the more worthwhile content from my mostly dormant and out-dated software development blog.

Practical Evolutionary Computation

Introduction to Evolutionary Computation
An introduction to the basic idea of evolutionary algorithms.
Implementing Evolution in Java
How to implement evolutionary algorithms in Java using the Watchmaker Framework.
Elitism
How to improve the efficiency of your evolutionary algorithms by using elitism.
Island Models
Advanced evolutionary algorithms using island models to partition the search space.

Random Numbers in Java

Beyond java.util.Random
Better, faster, more secure random number generators.
Probability Distributions
Uniform, normal, binomial, Poisson and exponential distributions and when to use them.
Seeding
RNG seeding considerations.
RNGs: There should be only one
The pitfalls of using multiple random number generators.

Miscellaneous Rants

Understanding PHP
Yes, some people write effective software in PHP. Still doesn't make it a good idea.
No, your code is not so great that it doesn't need comments
Timeless advice.
Visual SourceSafe: A Public Service Announcement
Surely nobody still uses SourceSafe?

Genealogy England flag Ireland flag

Several years ago I started researching my family tree — an ongoing and never-ending project. This list of relevant surnames and associated places — almost entirely in England and Ireland — may be of interest to others investigating the same families (contact me via the email link at the top of that page if you'd like to access the information I have or if you have further information to share).

Ancestry map

Touch

International Dan.

Outdoors I play and referee the sport of Touch — a fast-paced, minimal-contact version of rugby. I play for the mixed and men's teams at Canterbury Touch and for the South East Taipans men's over-35s/40s and England men's over-40s.