My web page has two main sections. One is a Javascript implementation of a B+ Tree and the other has a selection of programs I have written that are related to playing chess on a computer.

The B+ Tree program

I'd been planning on writing a B+ Tree implementation ever since I came across them on a computing course at university. I'm not sure there is a practical use for a JavaScript version but it does have the advantage that it's easy to present interactively online. On these pages I describe the source code as well as providing a demonstration page where you can build and use your own tree. There is also a notes page that describes in more detail how the functions actually work.

The Chess programs

I've always found it interesting watching two chess programs play each other, and the Arena Chess GUI provides a good way of doing this. However it only allows for round robin (all play all) and gauntlet (one plays many) type competitions. In chess it is very common to have Swiss style tournaments, where each round has players paired against others with the same number of points. Arena doesn't provide for this, but I found a program called ArenaSwiss by Eberhard Jiritschka from 2009 that interfaced with Arena. When I saw it was written in Pascal I decided it would be a good opportunity to reacquaint myself with a language I hadn't used in over 30 years, and I ended up creating my own version of the program. This in turn led to creating various other programs relating to playing chess with Arena.