Writing | Software | Music | Miscellany | Contact
Welcome to Andy Balaam's home page.
Technical things that interest me, including progress in my various open source projects.
Articles and papers on software engineering and artificial evolution of neural networks, published in Overload
Why do I work on Open Source projects for free? It's a gift to you.
The Good Robot Andys: movie reviews with Clueless Andy Balaam and Expert Andy Cockerill.
Software - tools
A TV guide program that allows you to find programmes you are interested in quickly, and ignore the rest (Java, Swing, XML). See also XMLTV
, to which I have contributed code, mainly to improve FreeGuide, which depends on it (Perl, XML).
A music player that remembers where you were and restarts at the same place. It does not store a database of all your music, but is designed to work with music files organised into directories (C, Gtk+, GNOME).
My Address Book
A simple web-based, LDAP-backed contact manager that lets you share contacts across computers and email programs (Python, LDAP, previously PHP, SQL).
Evt Calendar - (early prototype) a CalDAV-backed web and command-line calendar (Python, web.py).
Quick and Dirty Sync - no fuss: just make two directories the same (Python).
Software - for programmers
NNDB's Not a Database - a C++ library that provides in-memory data storage and retrieval using syntax that is intended to feel natural for C++/STL, but which also might feel slightly like SQL if you squint and pound the top of your head with a seminal programming textbook. To support this I developed the ForEachType
class template and contributed it to Loki
(C++, STL, BOOST, Loki).
An interactive command-line diff program that allows you to edit files as you compare them (Python, Curses).
Interactive GCC - a real-eval-print loop for C/C++ (Python, GCC).
CCGtk - a CruiseControl status applet for Linux. (Python, GNOME/GTK).
A ficticious multi-paradigm programming language inspired by Scheme Lisp, Python and C++.
My own implementations of basic date types e.g. heap, hashtable, written to help me understand them.
An example of a web site with a REST API
A command to print a summary of your git branches.
Software - games
A game a bit like Lemmings for mobile and desktop (Java, Android, Swing).
A maze game with a duck that can move walls (Python, PyGame).
A classic snake game that doesn't feature any of the extra features, bonuses, wrap-around levels or any such frivolities (Python, PyGame).
Destroy London's most famous andmarks in order to make a flat surface for your rapidly-losing-height spaceship to land. Do all this using a single finger (C, Gtk+, GNOME).
Write programs to play a simple light cycle game and participate in competitions
Software - kids' games
Secret Message - a web-based game of encoding and decoding secret messages
A picture-zooming game for 2-year-olds (Genie
Software - science
A library to parallelise a Genetic Algorithm developed by Ian Macinnes with help from me (C++, SQL).
A fairly complete project (now abandoned) to make simple agent-based genetic algorithm research possible through drag-and-drop without any coding whatsoever. Developed with Mike Ducker (Java, Swing).
Software - other
Copy and transform data from one database to another (e.g. migrating from PostNuke to WordPress) (Python, SQL, XML).
A little script to show a different photo each day on your GNOME desktop background (Python).
Have a blog or planet using only FTP web space (Python).
A simple Haskell program that creates the Mandelbrot set and some related fractals (Haskell).
Instrumental industrial metal music by Pete Beresford and me.
Ed Sherwood - Animator
A freelance animator who has done work for TV and advertising (site implemented by me).
Just in case you were interested...
The game I invented and in which I currently hold the world record.
A small branch of maths concerning the number of terms there are in a simplified polynomial.
For directions to my house etc. Contact me by email to get the password.