|
This page gives an overview of some past projects
I've written, either as a personal project, a contract, or as an
employee of various IT companies.
Picman (personal project)
Picman has been my image management application
for about ten years. It's written in VB6 on top of an Access database.

Click for full-size (168k)
screen grab.
Picman works well but is looking a little dated
these days, I'm still using it but am currently writing a new version
in VB.NET so the VB6 application's days are numbered.
Siteman (personal project)
Siteman is my web site synchronisation program.
It compares an local image of the online site and builds a list
of FTP commands to be executed when I next gain access to the internet.
So why not just use any of the web authoring packages
or RSYNCH over SSL?
Mostly because they all do file compares over
the internet and—at least when I first started connecting
with a mobile phone— I didn't have the bandwidth or the time
for that.It's less important these days with high-speed connection
even on a mobile phone, but this system works so I still use it.
Certainly it's more convenient to have my upload ready to go so
I don't have to stand around with my laptop balanced on the motorbike
seat while some software interrogates all 15,000 files on my site.
WIth Siteman I simply connect, blat the files
up to my ISP, then go home.

Click for full-size (85k) screen
grab.

Click for full-size (160k)
screen grab.

Click for full-size (116k)
screen grab.
Since moving to Vista the FTP part of this program
broke so Siteman nor produces a TXT file that is parsed by another
program (written in PHP) which does the actual FTP uploading.
Graduate student admin package (Contract)
This was written for the Australian Catholic University's
Office of Research. It performed functions such as the extraction
of DEET (Dept of Employment, Education and Training) statistics.
Written in Paradox Application Language (PAL)
on a Paradox database.
Student practical placement (Contract)
Written in C for the Australian Catholic University
this package used a fuzzy-logic scoring algorithm to determine what
schools the students should be placed in for the annual practical
part of their course.
There were many parameters to be considered, for example
- Student's preference, some people simply wanted
to teach at a specific school.
- Student's course requirements, not all schools
taught all subjects.
- Student's address and that of potential schools
to try and allocate a scholl that wasn't too far to travel from
home.
- The fact that students cannot go to a school
they have already done a practical at.
All these and other requirements were input, allocated
an importance weight, then tabulated and student-school scores calculated.
The result was ready in a few seconds and saved
what was previously days of work by several staff on the office
floor shuffling 5x3" cards around.
Library acquisitions and finance (Contract)
Once again this package was written for the Australian
Catholic University in PAL on a Paradox database.
The package kept track of all book acquisitions
made by the university library and produced financial reports at
the end of the financial year.
SSA quality control testing system
The SSA-NAME product is a name-matching engine
used all over the world by those with huge databases, for example
the police, tax departments and Immigration departments.
As part of the quality control procedure we needed
to apply thousands of test scenarios against the latest release
and compare the output with known good data.
This system used a combination of text input files,
SED, AWK and GREP scripts to read input data, run it through the
product, compare the results, and produce reports that highlighted
any discrepancies.
SSA algorithm front end
The abovementioned SSA-NAME had to be tuned to
a given "population" of names, for example the names likely
to be found on US Immigration database will be largely different
from those on the database at the Japanese tax office.
This tuning had to be done by those with the local
population knowledge and when I joined the company this was performed
by tweaking tables and C source files.
To make this easier I was tasked with writing
a VB6-based front end that allowed the user to define population
parameters at a high level, the application then translated this
information into the appropriate source code and tables.
PRIME autopsy analyser
This application extracted a memory dump from
a crashed communications board on a PRIME mainframe computer and
analysed the contents for hints as to the cause of the crash.
The dump was obtained from a 2904 bit-slice processor
via an on-board Z8000 then uploaded. The analysis application was
written in C on a PRIME mainframe.
|