Dec 1991 - Jun 1992. Independent Contractor


Dec 1991 - Apr 1992. Telecom Australia, Faxstream Billing System
Task: Rejuvenated and Enhanced Faxstream Billing System
Skills: VAX 8200, DEC Station 5200, Ultrix 3.1, Ultrix 4.3, ANSI C

The FBS (Faxstream Billing System) software is responsible for processing the call record data collected from the Faxstream Message System (public access, facsimile broadcast system), to generate billing records for the Telecom Customer Accounts Billing System. The billing software ran under Ultrix 4.3 on a DEC Station 5200. I was sub-contracted by Convergent Systems to modify, enhance and rejuvenate the Faxstream Billing System. I ported the system from K&R C on a VAX 8200 running Ultrix 3.1 to ANSI C on a DEC Station 5200 running Ultrix 4.3.

The billing system software had been derived from a system, which had been derived from another system. It was virtually unmaintainable. I removed all dead code; modified variables, comments and subroutines to be pertinent to the Faxstream Billing System where necessary.

All existing reports were irrelevant and inaccurate. These were replaced.

A number of serious bugs (which were losing more than $1000 per week) were identified and fixed.

To simplify exchange of data between the VAX and the DEC Station, I installed and configured NFS for both the VAX 8200, and the DEC Station 5200.

Task: Reduced Weekly Processing Run to 1.5 Hours from 6 Hours

By analysing the call record data produced by the messaging system, I was able to eliminate almost half of the 30 data files used in the processing run. This resulted in a reduction in the average weekly processing run from 6 hours, to 1.5 hours, even though the call record volume had doubled in the time that I was working there.

Task: Developed Tape Conversion Program
Skills: VAX 8200, DEC Station 5200, Ultrix 3.1, Ultrix 4.3, ANSI C

In moving to the Dec Station environment, Telecom wanted to move all of their old call record data from 1/2 inch tapes to TK-50 tape cartridges. I wrote a program which read the custom data format from the 1/2 inch tapes, then wrote the data back to the TK-50 drives in standard tar format.

Task: Wrote Customer Query Program
Skills: DEC Station 5200, Ultrix 4.3, ANSI C

To reduce the time spent on complicated customer billing inquiries, I wrote a query program which reduced the average response time by upwards of an hour. Queries that were previously considered impossible could usually be answered in less than 5 minutes.

Task: Developed Curses User Interface
Skills: DEC Station 5200, Ultrix 4.3, Curses, ANSI C

I replaced the line oriented user interface with a new curses based user interface for the entire system.

Task: Developed FTP Protocol for Delivery of Charge Record Data
Skills: DEC Station 5200, Ultrix 4.3, TCP Sockets, C

The Telecom Customer Account Billing System (CABS) provided the ability to submit charge data via FTP. I developed a program which directly implemented the FTP protocol which was used to transparently delivery the charge record data to CABS.


May 1992 - Jun 1992. Australia Post, Electronic Postal Systems
Task: Reverse Engineered OSI Network Printer Protocol
Skills: SGI Indigo, ANSI C

I was sub-contracted by Convergent Systems to assist in reverse engineering the application level OSI network protocol for a high speed Honeywell printer that Australia Post wanted to use.

Silicon Graphics Indigo workstations were used; the other programmer wrote a network sniffer to capture the raw OSI packets off the network, while a program which I wrote parsed the (mostly undocumented) byte-stream. From this, we derived our own interpretation of the printer language. I enhanced the parsing program to produce a C program as output which invoked the printer command API that I had written.

At the end of the two months we were able to reproduce all of the test jobs, and our own variations by using only the software we had written.


Jun 1992. Learmonth and Burchett Management Systems, Australia
Task: Developed Data Dictionary Reconciliation Program
Skills: IBM PC, MS-DOS, Microsoft C 6.0

I was contracted to develop a program in C for a customer of LBMS. The program incrementally reconciled and synchronised the data dictionaries created by two development teams in a large project. I implemented a character cell window based user interface.

Top of Résumé