Writing | Software | Music | Miscellany | Contact
Andy Balaam
Welcome to Andy Balaam's home page.
Writing
Blog
Technical things that interest me, including progress in my various open source projects.
Publications
Articles and papers on software engineering and artificial evolution of neural networks, published in
Overload and
ECAL among others.
Why Contribute?
Why do I work on Open Source projects for free? It's a gift to you.
Software - tools
FreeGuide
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).
GSSMP
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
Evt Calendar - (early prototype) a CalDAV-backed web and command-line calendar (Python, web.py).
QDSync
Quick and Dirty Sync - no fuss: just make two directories the same (Python).
Software - for programmers
NNDB
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).
Diffident
An interactive command-line diff program that allows you to edit files as you compare them (Python, Curses).
IGCC
Interactive GCC - a real-eval-print loop for C/C++ (Python, GCC).
CCGTK
CCGtk - a CruiseControl status applet for Linux. (Python, GNOME/GTK).
Eeyore
A ficticious multi-paradigm programming language inspired by Scheme Lisp, Python and C++.
Code Samples
My own implementations of basic date types e.g. heap, hashtable, written to help me understand them.
Software - games
duckmaze
A maze game with a duck that can move walls (Python, PyGame).
mop(e)snake
A classic snake game that doesn't feature any of the extra features, bonuses, wrap-around levels or any such frivolities (Python, PyGame).
Gnome Attacks
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).
Troncode
Write programs to play a simple light cycle game and participate in
competitions (Python, PyGame).
Software - kids' games
Secret Message
Secret Message - a web-based game of encoding and decoding secret messages
Zoomy
A picture-zooming game for 2-year-olds (
Genie, GNOME).
Software - science
PGAL
A library to parallelise a Genetic Algorithm developed by Ian Macinnes with help from me (C++, SQL).
GALab
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
migratedata
Copy and transform data from one database to another (e.g. migrating from PostNuke to WordPress) (Python, SQL, XML).
RandomBG
A little script to show a different photo each day on your GNOME desktop background (Python).
DIYBlog
Have a blog or planet using only FTP web space (Python).
CMS
A WYSIWYG page editing system I borrowed and integrated into a sort of version control system. Also can be used as a sort-of WYSIWYG wiki (PHP, JavaScript).
Haskellbrot
A simple Haskell program that creates the Mandelbrot set and some related fractals (Haskell).
Music
Mnemonic
Instrumental industrial metal music by Pete Beresford and me.
Red Rag Band
Energetic folk/rock music by Ed Sherwood and others.
Miscellany
Ed Sherwood - Animator
A freelance animator who has done work for TV and advertising (site implemented by me).
Wish list
Just in case you were interested...
Wide Jenga
The game I invented and in which I currently hold the world record.
No. Coeffs
A small branch of maths concerning the number of terms there are in a simplified polynomial.
Contact
Private Area
For directions to my house etc. Contact me by email to get the password.