CURRICULUM VITAE

Languages

C
C++
C++ Builder
Delphi
Pascal
CORBA
SQL
Basic

Operating Systems

UNIX (Lynxos, Sun, Linux, QNX)
Windows 95 & NT
MSDOS
VAX/VMS

Hardware platforms

PC
SUN/SPARC
NCR cash register
VAX
VME bus / Motorola 68040 computers
Specialist embedded devices

Referees

Available on request




2. Work Experience

  1. Independent contractor.

  2. Structured Data Systems.
    5 Bowen Crescent
    Melbourne.
    May 2003 – present

    C, QNX, Unix, real-time.

    SDS supply 'Trackside', a horse-race simulator, to TAB venues and other clients both in Australia and overseas. My work involved functional enhanceents, and interfacing the system to the TAB corporate information systems, including work on a project to convert parts of the system from serial communications to TCP/IP.
    Coding was in C on QNX (a real-time variant of Unix)

     

  3. Independent contractor.

  4. Powerlink.
    5 Harold Street,
    Virginia,
    Queensland.
    January 2003 – April 2003

    C, X-Windows, SCADA, m4

    Powerlink run the high-voltage electricity transmission network in Queensland. Distributed around this network are thousands of SCADA (Supervisory Control and Data Acquisition) devices, which feed data back to a central computer.

    My work involved writing programs which monitor the status of these devices, and respond to problems by automatically re-configuring the network. As part of this project, I wrote a collection of macros in m4 (a unix macro-processing language) which added several useful new features to the SCADA control language.

    I also wrote an X-Windows based program which displayed a graph of actual and projected demand in real-time on the 'War Board' (a very large flat-panel display) in the operations room.

    Coding was in C, SCL (SCADA Control Language) and m4, on Compaq Tru64 Unix.

     

  5. Independent contractor.

  6. EDS.
    484 St. Kilda Road
    Melbourne.
    June 2002 – October 2002

    C++, DB2, SQL, Rational Rose, Unix on IBM mainframes

    EDS is a major outsourcing company, who have taken over much of Telstras I.T. My work involved design and coding of an interface between the cabling database and their billing system. In accordance with EDS standards, masses of class design documents and Rational Rose diagrams were created.

    Coding was in C++ on a strange mixture of Unix and IBM MVS.

     

  7. Independent contractor.

  8. Structured Data Systems Pty. Ltd (a subsidiary of TABCORP).
    5 Bowen Crescent
    Melbourne.
    August 2002

    C, QNX, Unix, real-time.

    Enhancements to the system described here

     

  9. Independent contractor.

  10. Configured Energy Systems.
    130 Cochranes Road
    Moorabbin.
    November 2001 – June 2002

    C++, CORBA, SQL, Compaq True-64 Unix, Windows NT

    CES provides network management software to energy distribution companies internationally. I worked on extending the CORBA interface to their system, which allows energy retailers to access their fault management system via the web. This included modifying the database schema, SQL to query or update the underlying Oracle database, and extensive performance tuning.

     

  11. Independent contractor.

  12. ERG Ltd.
    123 High Street
    Prahran.
    October 1999 – November 2001

    C/C++, Solaris, Unix, RPC, embedded software, smartcards.

    ERG provides automated ticketing systems to public transport authorities both locally and overseas. I worked on a project modifying the Hong Kong ticketing system to meet the requirements of the Rome bus and train system.
    Initially, my work involved writing simulators of modules that enabled other developers to test their code.
    Two typical examples are

    · I wrote a dummy database ‘server’ that received RPC (Remote Procedure Call) requests, faked-up reply packets, and returned these to the caller. This allowed the developers of the client module to test their code long before the actual server module was available.

    · I wrote a dummy card transaction generator, which simulated several million passengers travelling around Rome. This data was then used to test the transaction processing and reporting modules.

    Development was in C and C++ on Solaris (Sun Unix).

    On completion of the test modules, I worked on the Portable Card Authenticator, a small hand-held device that allows ticket inspectors to scan passenger smartcards, and issue penalties. My work included adding new user input screens, interfacing to the smartcard reader, and printing various penalty notices and statistical reports.

    Development was in C

    On completion of the Rome project, I was transferred to work on the TP-4000 project. This is a small M68030 based ticket machine intended for use on busses. Tasks included

    · adding RS485 communications routines which allow the TP4000 to control other devices on the bus, for example the bus displays (route identification, etc) GPS and radio devices.

    · enhancing and debugging the smart-card interface routines.

    · customising the base product to suit individual clients business rules.

    · design and coding of compression scheme which allowed executable code to be stored in compressed form in flash memory, and decompressed into RAM for execution

    Development was in C

     

  13. Independent contractor.

  14. Structured Data Systems Pty. Ltd (a subsidiary of TABCORP).
    5 Bowen Crescent
    Melbourne.
    March 2001 – June 2001

    C, QNX, Unix, real-time.

    SDS supply ‘Trackside’, a horse-race simulator, to TAB venues and other clients both in Australia and overseas. My work involved modifications to the central host software to allow software updates to be down-loaded to the gaming terminals.

    Coding was in C on QNX (a real-time variant of Unix)

     

  15. Independent contractor,

  16. Security Mailing Services,
    William Angliss Drive,
    Laverton North.
    June 1999 – October 1999

    C, Solaris, Unix.

    SMS is a mailing bureau specialising in the printing and distribution of confidential financial reports for banks, credit card companies, superannuation funds, etc.

    My work involved a total re-write of three of their existing systems to improve speed and reliability. By re-thinking the sorting and processing, and adding a few index files here and there, they now run approximately 18 times faster, and require 1/10 of the disk space.

    Development was in C on Solaris (Sun Unix).

     

  17. Bytecraft Ltd.

  18. Fonceca Street, Mordialloc
    March 1996 – June 1999

    C, C++, Unix, Real-time systems, Embedded systems, TCP/IP, Delphi, C++ Builder

    Bytecraft is an Australian electronics company, manufacturing world-leading products in the areas of theatrical and architectural lighting, gaming, security, and theatrical automation. Some of the more notable projects I worked on include

    ·; The crashing chandelier and other effects for ‘Phantom of the Opera’

    · The Victorian Arts Centre automation system.

    · The Victorian Arts Centre Spire light show.

    · The Sydney Opera House automation system.

    · The Malaysian National Theatre, the worlds largest theatre automation system.

    · ‘Tattslink’, a statewide network of pokies for Tattersalls.

    As a member of a team of 8 programmers, I worked on a variety of projects, including

    · Major enhancements to the Tattslink ‘Jackpot Interface Board’. This is a NEC V25 based interface board that effectively puts all of the Tatts Pokies in Victoria on a Wide Area Network, allowing state-wide collection of statistics, and allocation of Jackpots.

    Coding was in C++.

    · Development of a PC based relational database for the Victorian Arts Centre Spire lighting project. The PC keeps a ‘map’ of the wiring layout of the spire, transforms it into a switching matrix, and downloads it into a dedicated lighting controller.

    Coding was in Delphi.

    · Many modifications to the State 3 Stage Automation system. This is a real-time motion control system for theatres. An Ethernet network of (up to) several hundred winches are controlled by a System Controller (Motorola 68040 based, running Lynxos, a real-time variant of Unix), with user input coming from several dozen specialised input devices scattered throughout the theatre.

    Coding was in C, with occasional forays into M68040 and MC68HC11 assembler.

    · Development of the ‘Argonaut 2000’ Operator Control Panel. Basically a modified laptop computer, the Argonaut provides a real-time graphical view of the theatre, and allows operator input on a special purpose keyboard that resembles a lighting desk or recording studio console. This included writing routines on both NT and Unix to handle TCP/IP communications between the Argonaut and the Unix system controller. The initial version used a M68040 running Lynxos, this was later ported to a Pentium running Windows NT.

    Coding was in C++, using Borland C++ Builder.

    · Many contributions to the company standard library, including routines to allow operating system independent use of threads, semaphores, TCP/IP sockets, etc.

    Coding was in C.

     

  19. Independent contractor.

  20. Anderson Consulting.
    Melbourne
    February - March 1996

    SQL, Unix

    A four week stint with Anderson Consulting, helping with a cost management database for Powercor in SQL on Unix.

     

  21. Travelling in Europe and Africa

  22. September 1995 - January 1996

    My wife and I spent 5 months travelling, visiting Norway, Sweden, Denmark, Germany, Austria, Hungary, The Czech Republic, Italy, Spain, Portugal, Kenya, Uganda, Zaire, Tanzania, Malawi, Zambia, Zimbabwe, Botswana, and Namibia.

     

  23. Independent contractor

  24. Tax-soft Ltd.
    London,
    July 1995 - August 1995

    MSDOS, Microsoft C Tax Calculations

    Tax-Soft is a software house specialising in tax applications.

    As a member of a small project team, I worked on an updated version of 'Personal Tax', a comprehensive package aimed at the British tax professional. Development was in Microsoft C, and used a screen manager which enabled the same code to be used in the DOS and Windows versions of the software.

     

  25. Independent contractor

  26. Centre-file Ltd.
    London & Manchester
    October 1993 - May 1995

    Borland C, MSDOS, Microsoft C, MS Windows, Electronic funds transfer

    Centre-file is a software house wholly owned by Natwest bank, and specialising in banking applications. My work fell into 3 broad areas

    · As a member of the two-man team, I developed enhancements to their Bankline Funds Transfer package. This is a DOS based interface to the banks mainframe computers, allowing users to initiate electronic funds transfers locally and abroad. There was great emphasis on security, much of the work involved interfacing to a smartcard terminal for access control and message authentication.

    Development was in Borland C, and used the DB-Vista database manager.

    · When the user support person left, I became responsible for user support, and LAN installations of the product. This required frequent visits to customer sites, and an intimate knowledge of (and much tinkering with) PC configurations. Later, I trained the new support person.

    · As a member of a team of approx. 12, I worked on a Windows version of Bankline. My task was to design and code 2 Windows DLL’s to interface to a smart-card reader, and a test program to verify the correct working of these DLL's.

    Development was in Microsoft C, and used the MS Access database manager.

     

  27. Travelling in South America and North America

  28. February 1993 - October 1993

    My wife and I spent 9 months travelling, visiting Ecuador, Peru, Bolivia, Chile, Argentina, Paraguay, Brazil, The USA and Canada.

     

  29. Independent contractor

  30. Hawker de Havilland (Australia)
    January 1993 - February 1993

    VAX/VMS, Oracle, SQL, Pro-C

    Hawker de Havilland is an aircraft manufacturer, producing for both civilian and military markets. They had an urgent requirement for some changes to an aircraft stress analysis program. The project involved extracting stress meter readings from an Oracle database, calculating the accumulated stress damage, and producing a variety of reports. They estimated 100 man-hours of work, and had 8 days to meet the deadline. The project was finished on time, and under budget.

     

  31. POST Software International (Australia)

  32. August 1991 - January 1993

    IBM PC, Real-time systems, Embedded Systems, Transaction processing, Point Of Sale systems

    PSI are a multinational software house, providing Point Of Sale software solutions running on a network of PCs and NCR cash registers. My role was a mixture of systems and applications programming, as well as training more junior programmers.

    At a systems level, I was responsible for debugging and enhancing IOPROC, an I/O front end which provides a consistent set of I/O services across a variety of hardware platforms. I also made substantial changes to PSI's real-time transaction processing executive, as well as 'tuning' the system configuration for maximum performance.

    As an applications programmer, I supported the SALES application running on NCR 7052 cash registers, as well as writing numerous reporting programs on the PC's. I was also responsible for the introduction of the Source Code Control system, and general maintenance of the utility library.

     

  33. Timatch Ltd

  34. April 1991 - July 1991

    IBM PC, C

    Timatch is a small company specialising in the data logging and time management area. My duties involved debugging their existing software, and writing programs on a PC to process and report on the data obtained from the data loggers.

     

  35. AMECON Ltd

  36. July 1990 - January 1991

    VAX/VMS, C, RDB

    AMECON is a shipbuilding company, who build frigates for the Navy.
    My work involved writing project monitoring software, in C and VAX RDB.

     

  37. National Mutual Life Association.

  38. May 1987 - July 1990

    IBM PC, MSDOS, C, Graphics, TSRs, Insurance and actuarial calculations, Screen/windowing software, Text processing and hypertext

    Agency Computer Services provides software for National Mutual's 6000 agents. A team of 8 programmers provide quotation systems and client prospecting software which runs on IBM PC networks and Toshiba laptops. Between November '88 and July '90, 25% of my time was allocated to providing technical assistance and training for other programming staff. The projects I was involved with include

    · major re-design and enhancement of 'Monitor', a database of agents, clients, and policies

    · As a member of the National Mutual C standards committee, I contributed to NM's corporate C coding standards document.

    · Design and coding of 'SuperGuard', a superannuation rollover quotation system.

    · Design and coding of an annuities quotation system.

    · Design and coding of a hypertext based help system for on-line documentation of the companies quotation systems.

    · Design and coding of many library routines used by the team.

    · On secondment to the Operations Research department, I assisted with the conversion from PL/1 to C of an Actuarial Calculator, a very complex program which calculates insurance risk factors.

    · Development of memory resident utilities to aid in the development and testing of other software.

    · Developed a help facility for C programs. A pre-processor scans the C source file for #help directives, and writes the help text to an indexed file. This allows help text to be embedded in the C source file, without actually taking up valuable RAM at run time.

     

  39. Various companies.

  40. June 1981 - May 1987

    C, Basic, Pascal, Assembler, FORTRAN, IBM PC's, Honeywell mainframes, CDC Cyber mainframes