Chandler's Zen

Software

I have developed several software packages, the code of which and the supporting services (issue tracking and mailing lists) I make available via this page.

Software Under Development

I use git as my source code management system, and make available my development snapshots via git archives. In order to download a copy you will need to get a copy of git (and cogito if you are not a power user) from kernel.org.

It is possible for me to grant write access to these repositories for trusted developers, although the details of this will be explained to those who need to know

Code Snapshots

When the software described below reaches a release point I will make a code snapshot of all the development files. Although much of this software is likely to run in a Windows environment as well as Linux (particularly the Java applications), I only plan to release it as a TAR archive (compressed with gzip). I believe that the widely available winzip program can read these archives so I don't this will cause any problems. However, if anyone does want it in another form, please feel free to e-mail me and ask, and I will do my best to make it available

There are some miscellenous files at the head of the download directory, but each of the main projects has its own subdirectory where archive copies of all releases to date are kept

Bug Databases

Temporarily Suspended

Mailing Lists

I use mailman for my mailing list manager, and currently there is a single mailing list software-devto support discussion about any of the software described here. Anyone can subscribe.

If any particular project takes off to the point where there are significant volumes of discussion, I will separate that out into a separate list. But thats for much later

Software Projects

Assuming you were wanting to download a copy of a project called "project" from here then you would use the following command:-


git clone git://www.chandlerfamily.org.uk/project.git

akclib

This software is a tapestry library of useful things for the overall site. The main items are a site border, a cross button with an ability to prompt the user with a message (default "Are you sure?"), a facility for action buttons (normally at the head of the page) and an error display. As you can see this site has a standardised border, which is created by the border component in all of my tapestry pages (including using a tapestry app to display it in static pages), and the other facilities are used throughout (see the AKCmoney demo for examples). Other useful items may be added later

blog

The front pages of this site are my blog. This is a java application that runs under Tapestry, but rather than using a database to store articles (as is often the case with this type of package) it uses lucene, a search api. It was the natural thing to do, since the words would all have to be stored within the lucene engine in order to provide article searching.

In order to write the articles, I use a new language called "Roffer" which has been compiled from grammer via JavaCC

Famtree

Famtree is a java web application (using the Tapestry Web Framework) to enable the recording of family trees. It stems from a worry I had over the potential of long term availabiliy of information stored in proprietary packages and the desire to provide it an open format.

The information is stored in a Postgres database using the Ibatis SQL Mapping Framework

AKCMoney

AKCMoney is a personal finance application that I developed to replace an application called Micromoney that I had on my palm pilot. Unfortunately the palm pilot has stopped syncing leaving me vunerable to data loss, so I developed a new version (with some improvements) to run on this web site.

Clearly I cannot give you all access to my financial transactions, but I have managed to put up a demonstration version here

Sukoku Solver

This application is an Excel Spreadsheet with embedded macros that will solve any sudoku puzzle. Enter the problem in the top box on the speadsheet, hit the solve button, and a (the first) solution to the problem (or where unsolveable the range of numbers in the ambiguous squares) is shown below.

The software uses a simple recursive decent technique technique, first attempting to solve the problem by logical deduction and if that fails making a guess at the value in one of the unsolved squares and then repeating the attempt. Either this produces an impossible situation where the software backs up and tries another guess, or it still can't solve it in which case another guess is made, or it finds a solution and returns this as the answer.

The source of this is not stored in the git repository, but instead the whole file can be found in the download section called solver.xls. The file includes both a spreadsheet and the embedded Visual Basic code that makes up the application.