Bachelor Engineering (Electrical) Hons.
University of Melbourne

Contact :  Ph   02) 94772748
                  Fax   02) 94824309
                                            
  
mpinnuck@tpg.com.au

Professional Summary

I am a graduate electrical engineer with extensive experience in the computer, electronics and telecommunications industries. I have worked as a Technical Services Manager for a public company, Telecommunications engineer, software engineer, project manager and microprocessor design engineer on computer systems ranging from mainframes to microcomputers.

For the last 12 years I have been working as a contract software engineer on real time Rail Control Systems.

I have delivered software development and consulting services in a broad range of applications. I have been involved in all aspects of product development, from specification through to delivery of both hardware and software solutions. I have managed teams of hardware and software engineers applying a broad range of technologies to produce custom-built solutions. I have developed products from concept, through specification, design, development, prototype, production and delivery. 

Application areas I have worked and successfully delivered solutions:
·        
ICS Cybersecurity ISO 27001-2, IEC 62443
·         Train Control Systems
·         Prototype mobile ticket reader
·         Real-time Web publishing of Train running and signal telemetry information
·        
Image Processing Systems
·        
Document Management / Optical Filing Systems
·        
Automated picking systems for warehouse distribution
·        
Power Station Monitoring
·        
Point of Sale applications hardware and software design
·        
Radio Modem Network Applications
·        
Smart Card Technology
·        
CAD Application Software
·        
Language Translators using LEX and YACC
·        
Truck mounted mobile computer vending
·        
Data entry systems
·        
Application of Optical character recognition (OCR/ICR) systems
·        
Hand held terminal design
·        Hardware controller design  
·        Biomedical Embedded Applications

I can provide system analysis, design and development skills, from concept to production. 
I can manage a project, lead a team, design, code and deliver application or system software.
I can bring to bear a broad range of experience from a large number of application areas to solve a problem. 

Employment History Summary

10/89 - Pres Self-Employed  
07/16 - present

Cybersecurity maturity level gap analysis of ATRICS and Product Development Business Unit.
Advocate for business improvement by implementation of ISO 27002 and  IEC 62443 Cybersecurity controls within the Business Unit and Rail Control System operational environment.
Prepared Sydney Trains - Rail Control Systems Cybersecurity Roadmap

01/15 – 06/16 Prepare System Specifications for replacement of the Sydney Push button Signal Control Panel with ATRICS
01/14 – 12/14 Specify, Design, Test and deploy automated backup solution for Rail Control Systems
02/11 – 12/13

Designed and developed a protocol converter between GEC and RailCorp ATRICS Telemetry systems.
Designed and implemented configuration data and software to replace Westinghouse Signalling Telemetry systems at Sydney and Strathfield Signal Box with RailCorp ATRICS Telemetry systems.

09/11 Released iDresser and iTalkAussie to the Apple App Store
01/10 - 01/11 Defined the Software Requirements for and developed a UML Model for the ATRICS Train Manager software component.
01/06 - 12/09 Working for RailCorp upgrading the Sydney & Strathfield Train Control Systems
06/05 – 12/05 Developed a prototype Mobile Phone electronic ticket reader.
03/05 - 05/05 Prepared an upgrade strategy of legacy control systems for RailCorp
02/03 - 03/05

Bio-medical embedded application.
Resolved problems with Rhapsody 3.01 and 4.1 Uml case tool.
Upgraded complier from Gnu-2.97 to Gnu 3.2.
Implemented an Hitachi SH3 Gdb stub
Prototype VPAP Therapy algorithms for VStream flow generator.
Implement Embedded linux GdbServer on PowerPC 832

03/97 – 12/02 Rail Infrastructure Corporation.
Develop & commission ATRICS Train control system
Develop & commission ATRICS Web publishing server
Develop & commission State Rail Train Describer replacement for the 2000 Olympics
NT4.0, Win2k, WinXP, C++, Mfc, Ado, IIS, Asp, Sql2000, DCom, Vb, Rational Rose
01/97 - 02/97 Modifications to Bill Payment Collection System for Sydney Water.
Visual C++ / Borland C++ Windows 3.1
11/96 - 12/96 Develop Smart Card Reader Factory QA Software, Application support  DLL and Windows Demonstration Programs in C++ and VB4 for accessing smart card services.
02/96 - 10/96

Develop Bill Payment Collection System for Sydney Water.
C++ Windows 3.1.

08/95

Specify and Design Photo Fractal Compression System for the Australian Passport Office.
Managed development and delivery of prototype.

03/95 - 02/96

Develop Optical Filing System for Ansett Australia
Windows 3.1, NT3.1, MS Sql Server, VB3, Access, C++  

10/94 -12/94

Develop Optical Filing System Prototype
Windows 3.1 VB3, Access, C++.

08/94 Develop Kodak and Improvision Image Scanner Interface.
06/94 - 07/94 Develop Radio Packet Modem application for Bull Australia.
Windows 3.1, C++
01/94 - 05/94 Develop Automated Warehouse Picking System.  DOS, C++  
12/93 Specify Mobile Invoicing Application for Smith’s Snackfood Co.  
06/93 -11/93 Develop Prototype Medicare Bulk Bill document scanning application for Hospital Insurance Commission.
Windows 3.1, C++
03/93 - 06/93

Develop Pager Alarm System for Stanwell Power Station, QEC.
DOS C++

11/89 - 05/93

Develop Lisp to C Language Translator.
CAD support applications.
Remote Order Entry Applications.
Point of Sale Applications for Lowes

  Employer Title
01/84 - 10/89 Ausdata Technical Services Manager  
09/79 - 01/84 Ausdata Hardware/Software Design Engineer
06/78 - 09/79 ACI Computer Services Systems Programmer
06/76 - 06/78 Datronics Hardware Engineer  
01/75 - 06/76 Telecom Class 1 Engineer  

Personal Attributes  

  Technical Skills    

Language

Years experience

Last Used

C#

10

18

C++    

25

18

Objective C

5

17

STL

15       

17 

Mfc

15

17

Word Excel & Access VBA

12

17

Flash Action Script

1

05

Assembler
(8048,8051,Z80, H64180, IBM370, Interdata 7/32, 808x, 68000 ,Hitachi Sh3)   

12

03

JavaScript

1

17

Networks & Communications

Years experience

Last Used

Windows all versions

18

18

Winsock sockets programming

18

18

Network Sniffers

18

17

Operating Systems

Years experience

Last Used

Apple IOS

8

18

Windows 7

6

18

Windows XP

15

18

Windows 10

3

18

Windows Server 2003

10

18

Windows Server 2012

4

18

Database

Years experience

Last Used

Access

20

18

Microsoft Sql Server

10

17

Development Tools                      

Years experience

Last Used

Apple XCode

8

18

Visual Studio .Net

12

18

VC++

24

18

Office VBA macros

17

17

GNU 3.2 C++ Tool chain

2

05

UML Case Tool – Rational Rose

20

18

Employment Roles

Employment History Detailed

10/89 - pres    Self Employed.  Projects in reverse chronological order  

July 16 – present

Prepared a Cybersecurity GAP analysis for the ATRIC Product Business Unit and the ATRICS Product.

Prepared Sydney Trains - Rail Control System cybersecurity roadmap.

Team Lead for improving Cybersecurity defenses in the RCS operational environment by application of the ISO 270001-2 and IEC 62443 security standards.

As part of the virtualisation of ATRICS I developed a HP Remote Graphics System session manager for conveniently switching between the primary and standby Signal Control Panels RGS sessions on a HPt730 thin-client.

Jan 15 – Jun 16

Prepared system specifications for replacing the Sydney Signalling Control Panel with the ATRICS computer based control systems.

Jan 14 – Dec 14

Analysed the Rail Control Systems (RCS) backup requirements. Built and tested a proof of concept system. Designed, tested and deployed the production solution.

Feb 11 – Dec 13

Working for RailCorp as a software engineer, designed and developed a Protocol Converter to interface GEC SCADA Telemetry system to RailCorps ATRICS Telemetry System. Designed using Rational Rose and wrote a Design Document to RailCorp standards. Developed using Microsoft VC 9 C++ and MFC.

Designed and implemented configuration data and software to replace Westinghouse Signalling Telemetry systems at Sydney and Strathfield Signal Box with RailCorp ATRICS Telemetry systems. Tools used Access DB and Microsoft VC 7.

Oct 11

Released iPhone application iDresser to the Apple App Store. Developed using Xcode and Objective C. The application was developed for an International Style Consultant to manage a personal wardrobe.

Jan 10 – Pres.

Wrote the Software Requirements and Developed a UML model using Rational Rose for a software component to track a train’s progress through the Rail Network using Track Circuit occupancy and the state of the surrounding signalling assets (Signals, Routes and Points).

Jan 06 – Dec 09

Working for Railcorp on the Sydney & Strathfield Train Describer Upgrade Project. The objective of the project was to improve the maintainability of the Sydney & Strathfield Train Describers by replacing legacy Westinghouse hardware with more serviceable components.

The project involved designed, developed and commissioning replacement systems for the Westinghouse Train Control Hardware

Working as the lead developer on the project I achieved the following:

  • Designed and developed a Berth Display Manager controlling up to 400 berth displays using modbus over tcp/ip.

  • Developed a Dhcp sever for the allocation and management of Berth display IP addresses.

  • Replaced the Westinghouse IO Highway with an ATRICS Telemetry System.

  • Replace the Westinghouse AutoSwitch with a set of ATRICS Telemetry IO logic expressions. 

  • Designed and prepared system configuration data using Access 2000

  • Converted the ATRICS Utilities from VC 6 to VC 7

  • Converted a number of ATRICS applications from VC6 to VC7

  • Converted the Train Describer Applications and libraries from VC5 to VC 7.

  • Assisted in the design of replacement Train Describer Berth Display and Operator Keyboard replacement hardware.

  • Debugged the Rabbit Tcp / Ip Dhcp client software library.

  • Designed and developed a Train Describer (TD) Monitor to alert maintainers of system faults.

  • Designed and developed a Train Describer Signaler Interface System (SIS) Monitor to alert maintainers of system faults.

  • Contributed to the specifications of a 4 character LED Power over Ethernet Train Berth Display whose hardware design was out sourced 

The above applications were developed using Visual Studio 2003, C++, MFC, Rational Rose and Access 2000. The applications developed made extensive use of software design patterns, windows sockets and multi-threading structures. 

The Train Describer and Signaler Interface System Monitoring applications were developed using VC2008 and C# targeted at DotNet 2.0 environment.

Jun 05 – Dec 05

Working for Start Corporation, I was part of a small team developing the BCode Mobile Ticketing system. Electronic Tickets were sent using SMS to a mobile phone. The SMS Ticket was via the BCode ticket reader, validated using a web service, and feedback presented to user via a 22cm display.
The BCode reader contained a CCD camera, light source, Wireless broadband interface graphical display, speaker and PC motherboard running Windows XP.

The image was analysed, the BCode located and an OCR engine decoded the SMS message back to an array of numbers. A Reed Solomon error correction algorithm was used to decode and retrieve the original BCode message from the OCR output text. A Web Service call was made to validate the ticket and results displayed to the user. 

I was responsible for the design and development of the BCode reader software, interfacing to reader CCD camera, light source and web service. 

The software was developed using Visual Studio 2003, c#, c++ and Macromedia Flash 8. The image processing was developed in c++ and was time critical in order to provide a timely user experience. The application main line was developed in C#.  The user interface was developed using flash to provide an interface that captures the users attention.

March 05 – May 05

            Working for RailCorp prepared and upgrade strategy document for legacy Rail Control Systems. 
Upgraded Train Describer software from VC5.0 Access ’97 to VC6.0 Access 2000.
Investigated and diagnose IPC problems in ATRICS.

February 03 - March 05.

At Resmed I worked as a software engineer on the ACS2 flow generator. The principal function of the AutoSet CS2 is to detect and normalise Cheyne-Stokes respiration during sleep, by delivering the correct amount of air pressure to the patient’s upper airway. The ACS2 is an embedded mechatronic system consisting of a DC Motor (blower), an Hitachi SH3 Risc process, alarms processor, a flow sensor, two pressure sensors, keypad and LCD display. The software was developed using Nucleus RTOS and the GNU Tool Chain. My roll on the project was to resolve problems with the development environment. I upgraded the GNU tool chain to 3.2, solved problems with the initialisation of global and static objects. I resolved timing problems with the 1Khz data acquisition (of flow & pressure). I resolved timing accuracy problems with the systems real-time tick. I debugged problems with the application data-logging component. Developed instrumentation tools to monitor the embedded application thread stack and message queue usage. I also developed a GDB stub for the SH3 which enable the use of GDB with the target applications.

After the CS2 project I was the software team leader on the VStream flow generator project. This was their first FDA Major Level of Concern (LOC) medical product, a new territory for Resmed. As software team leader, I investigated the FDA submission requirements for a Major LOC Medical product and the development implications. While on the VStream project I implemented prototype therapy algorithms for a range breathing disorders. Resmed scientists developed the algorithms.

I developed a GdbServer, Gdb Insight debugging facility for an embedded linux application  on a Motorola MPC 832.

I implemented enhancements to ResScan a windows hosted patient flow generator data graphical viewing application. This is an international product developed using Borland C++ Builder 5, and Visual Studio. I restructured the ResScan application so it could process data from all ResMed flow generators by interrogating the Flow Generator Meta Data (describes data available from the flow generator).  This enable the removal of hard coded logic specific flow generators.

November 00 – December '02.

Project Outline: Design and develop ATRICS (Automatic Train Running Information and Control System). ATRICS enables signalers to control the path of a train through the rail network via a graphical workstation. ATRICS automatically routes trains through junctions, provides train running information for passenger information display systems and operations control. ATRICS is a 24 hours by 7 days a week; fail safe fault tolerant rail control system.  

My last project was to develop strategies for the seamless upgrade of software and data for ATRICS. The project brief is to identify, specify, design and develop software upgrade and maintenance facilities to assist in online configuration management with a minimum impact on system operation. 

Working as a system architect for Rail Infrastructure Corporation I am currently a software team leader developing ATRICS. This is a hands on role were I design and code as well as supervise a team developers. I also provide technical support to all developers on the ATRICS project.  

The ATRICS Rail Control system consists of a suite of C++ Mfc, Stl applications running on Nt4, Win2k and Xp connected to the control systems network. These applications make extensive use of threads and communicate with each other using Winsock. I designed and maintain the system application framework, which includes inter process communications, utility libraries, message routing, security services, user session management, synchronisation and arbitration between online and hot standby systems. It is within the ATRICS framework the application specific components are developed. 

During the project I: -  

  • Made extensive use of UML Object Oriented Analysis and design methodology and Rational Rose case tool  

  • Made extensive use of Visual C++ Ver. 6.0 on Win NT 4.0, 2K & XP

  • Developed multi thread intensive applications

  • Made extensive use of the Windows API

  • Developed an Inter process communication mechanism via tcp/ip sockets.

  • Made extensive use of STL & MFC.

  • Prepared detailed design documents.

  • Made design review presentations to developers, management, and customer.

  • Successfully commissioned a fully operational ATRICS system

  • Developed  multi threaded applications on multi-cpu processors.

  • Developed a Visual SourceSafe Software Build Version control tool in Visual Basic 

Working for Rail Infrastructure Corporation I designed the ATRICS Web Rail information publishing system known as OSS (Operations System Server). Leading a team of 4 developers, the fault tolerant 24 by 7 Web server was built using an IIS load balanced Web farm, redundant application and Sql servers. The web farm accepts requests for information, and publishes rail network state information using XML messages. The xml messages are called RailForms. The application servers run a suite of programs that provide a bridge between the proprietary Rail ATRICS control systems and the Web server. Information published to subscribers is queued in MSMQ queues. Information includes train-running information, rail asset status. A map of the rail network can be view via a browser, indicating train-running information and signaling asset status in real time.  

The technologies used in this project were secured session login using secure sockets and certificates. Rail control systems to Web Server bridge applications were written in C++. These applications translate proprietary control system messages to xml, cache the latest state information in a sql2000 database, and pass the received data to a distribution manager for publishing to subscribers. A system component health monitor was written in ATL, C++ using DCOM. The health monitor made the state of the redundant sub systems available to all components and maintenance staff. Message distribution components were written in VB. A Sql2000 database held state information.

During the project I: -

  • Made extensive use the UML Object Oriented Analysis and design methodology

  • Made extensive use of Rational Rose case tool.

  • Made extensive use of Visual C++, VB, Asp, DCOM, COM+

  • Extensive use Sql2000 stored procedures.

  • Designed an ActiveX control for rendering the rail network map on a browser.

  • Designed a subscribe publish system using Http, Xml

  • Used IIS, MSMQ, Web Farms, MS Network Load Balancing

  • Used secure sockets.

  • Supervised a team of developers.

  March '97 – November ‘00.

Working for Rail Services Australia as Software Engineer replacing the Sydney and Strathfield Train Describer Systems. The Train Describers' monitor the movement of trains within its area of control, displaying the train descriptions on a Signal Control Panel. The movement of a train between adjacent locations is detected by the system via telemetry from the rail network. The system also automatically routes approaching trains through junctions.  

The Train Describer was developed using Visual Studio ’97 under Windows NT4.0. The system consists of 11 executables communicating via Winsock. Each application makes extensive use threads and interprocess communications.

The project was developed under ISO 9001 / ASA 2167 Quality Standards and Software Development Work Standard Mil.STD 498. 

I was one of the original two analysts that started the project and I was with the project until commissioning. As a team leader on the project, I supervised up to 8 software engineers. I produced the User Requirements Specification, Software Requirements and Software Design documents for a major portion of the system. With a team of developers implemented the system. 

I developed the projects Application framework, Inter process Communications based on Winsock, this enabled one application to call the service of a class in another, and a number of general purpose supporting libraries. 

To assist in complying with the work standards I developed a Project database using Access ’97. The User Requirements were captured to an Access ’97 database.  To meet the project trace ability requirements I wrote a series of VBA macros for word, and Rational Rose to relate software design objects to user requirements. The rose model was exported to the project database and documents generated using word

  During the project I: -

  • Extensively use the UML Object Oriented Analysis and design methodology

  • Made extensive use of Rational Rose case tool.

  • Made extensive use of Visual C++ Ver. 5.0 on Win  '95 and Win NT 4.0

  • Wrote real time multi-threaded software for the purpose of interfacing to a proprietary Westinghouse IO Highway via a 96 way Digital IO Card and Interprocess Communications.

  •  Wrote extensive serial IO services for communication with the Train Describer peripheral equipment.

  • Developed the system Interprocess Communications using Winsock.

  • I wrote VBA macro's within Rational Rose to transfer the Rose Model to our Access '97 Project Database.

  • I wrote VB5 utilities to interact with Rational Rose and our Project Database for the purpose of tracing the Software Model to the User requirements.

  • Have developed many VBA Word macro's for Automation of the document generation from the Project Database.

  • Gained an experience of Mil Std. 498 and the 20 elements of ISO 9001.
    Made extensive use of Windows NT4.0 API’s and threading architecture.

  • Prepared User Requirements, Software Requirements, Software Design and Interface Requirements documentation.

  Oct ’96 - Dec ’96

            Working for Fujitsu ICL Australia, I developed a DOS based Factory Quality Assurance program for a newly developed Smart Card Reader, contained in the LIFT Financial Terminal. This involved interrupt driven serial I/O, the QA program exercised all hardware and firmware features of the Smart Card Reader. Test results were recorded into a flat file then imported into a QA database. A QA report indicated test results, operator and unit under test serial number. A barcode reader could be used to capture unit serial numbers.  

            The above applications required DES encryption to perform certain operations on the smart card. The main smart cards used were Gemplus and Philips.  

Feb ‘96 - Oct ‘96

            Working for Ausdata-JBA, I specified and implemented a Point of Sale Application for Sydney Water Bill payment collection. The system was based on a customised American product, Cashier for Windows. Attachmate Extra for Windows 3270 terminal emulation tools were used to connect to legacy CICS applications, for the purpose of rate lookup and payment. Use of low level HLLAPI and high level Extra Basic Macro was required. The applications were developed using C++ and the ZAPP application framework.  

  March ‘95 - Feb ‘96

            Working for Harrison Systems Integration I designed and developed a production implementation of a previously developed pilot Document Optical Filing System. This involved functional specification, database design, project management, and recruitment of personnel permanent and contract, and overall management of the project. The system consisted of batch scan, OCR, data entry, text and image data import, backup/restore, administration and data retrieval sub systems. The system imported and indexed mainframe reports, CD-Rom and DAT tapes containing images and index data. The imported text and images were indexed and stored into a database. The viewing sub-system presented a hierarchical display of the index information with objects displayed in an adjacent window. The hardware consisted of a Windows NT 3.51 Server controlling a Hewlett & Packard 40st Optical disk jukebox. An optical filing system sub-network connected Scan, OCR, data entry and Data import workstations. A viewing application was installed on user workstations providing a view and retrieve facility for the stored documents. Mainframe data transfers were performed via FTP.  

            The system was developed using, Visual Basic 3.0, Access 2.0, Borland C++ 4.5, Image Basic image, scan and OCR controls for Visual Basic, Pkware compression library. Microsoft SQL Server.  

Aug ‘95

            Designed and wrote a functional specification for a batch fractal compression system for Australian Passport Office. The system performs batch fractal compression of 24bit true colour tiff images of passport photographs, and transfers these images to the APO mainframe via 3270 emulation connection to mainframe VSAM files. The fractal compression library and hardware compressed 600k true colour images to 3k. This compression ratio made it practical to store what would normally be large colour images on the mainframe and move this information around the APO network.  

Oct ‘94 - Dec ‘94

            Worked for Harrison Systems Integration on maintaining and modifying a Windows based Optical Filing System written in OWL 1.0 and Borland C++ V3.1. I was the development Team Leader on a project to design and implement a pilot Document Management / Optical Filing System for Ansett Australia, using Visual Basic and ODBC compatible database. The system included a batch document scanning, OCR and reject repair application. A computer output to laser disk process and a document database viewer. Tools used Visual Basic, Access 2.0, Jet Engine, Image Basic. HP-20XT Optical disk juke box.  

Sep ‘94

            Developed a key alias facility for Windows 3.1. This enabled keys to be programmed with user definable key sequences. When pressed the programmed key sequence would be sent to the windows system queue. This emulated the keyboard reprogramming facility implemented in Ansi.sys under DOS. A keymap dll was developed to detect when particular keys are depressed, locate and send the programmed key sequence to the windows system queue for the appropriate key. A sendkeys dll would translate the key sequence to windows virtual keys and add them to the system queue. Functions where developed to enable AutoCAD ADS programs to reprogram the keyboard, enabling complicated command sequences to be initiated by a single keystroke. Tools used Borland C++ 4.0 and Watcom C10 32 bit compilers.  

Aug ‘94

             Working for Ausdata Pty. Ltd. I developed a Windows application to control the Improvision and Kodak ImageLink document scanners, the captured images were saved to a proprietary database. The application provided the ability to initialise scanner and display settings for each batch of document types to be scanned. The settings could be saved to a Job Specification file for later retrieval. The tools used were Borland C++ V3.1 and Pixel Translations scanner and image processing library.

Jun ‘94 - July ‘94

             Working for Bull Australia, I developed a Host Application Gateway to Telecom's Radio Packet Modem Network for Bull H.N. International. This involved a Host Application Gateway (HAG) running on Unix front end connected to the Bull wide area network. Applications would connect to the HAG via TCP/IP sockets, incoming and outgoing messages would be queued and passed to and from the radio network via a TCP/IP socket to the Telecom base station. A PC Application Gateway (PAG) was developed under Windows 3.1. This application acted as DDE server for client PC Application. Incoming and outgoing messages were queued by the PC front end. A protocol was developed to direct message to the correct destination application. The initial application was for Bull field service engineers to be equipped with notebook PC's and Radio Modems. Service calls would be dispatched directly from the National Response Center to the appropriate service engineer via the Radio Network. Tools and environment was Unix, Windows 3.1, Unix C compiler, make, Microsoft C++ Ver 1.0, API’s used Berkley Sockets, Unix interprocess message queues, DDE, Windows Serial COMMS.  

Jan ‘94 - May ‘94

            Designed and developed a Paperless Picking system for automating the distribution of magazines for Gordon and Gotch Limited. The system consisted of three 486 PC's connected via a Novell Network, RS-422 serial communication with over 1000 LED displays mounted above product distribution benches throughout the warehouse. Customer orders are received from the Gordon and Gotch mainframe and presented to the picking system in truck route delivery sequence. The order quantities are indicated on the LED displays above the product in the warehouse, stock is picked, shrink-wrapped and dispatched. The system was implemented in C++ using Borland C, Turbo Vision windows library, and the CODEBASE file access library.  

Dec ‘93

            Wrote a functional specification for a Mobile Invoicing Application running on Windows pen based hardware for the Smith's Snackfood Company.  

  Jun ‘93 - Nov ‘93

           Working for Ausdata JBA Pt. Ltd. I designed, specified and coded a pilot OCR /ICR  Receipts processing system for the Hospital Insurance Commission. The OCR/ICR Receipts process performed the electronic scanning of Medicare bulk bill vouchers. The scanned image and data files were error corrected and basic validation performed before being passed on for further processing. The System interfaced to a high Speed Image capture system supplied by Ausdata-JBA and an Image Archival/Retrieval System Supplied by Tower Technology. Medicare bulk bill vouchers when received were scanned, images passed through OCR/ICR recognition engines to decode machine and handwritten details on the vouchers. Incorrectly read an Image reject re-entry module handled vouchers, which corrected errors prior to archival and transfer to the mainframe for further processing. The system consisted of a Novell network of 20 486 PC's and a TCP/IP interface to the Image archival system. The software ran under Windows 3.1 and was developed using Borland C++ 3.1, OWL 1 Object Windows library, PIXTRAN Fax Group 4 Image display library and the CODEBASE file access library.    

  Mar ‘93 - Jun ‘93

          Sub-contracting to Holman Engineering I, designed , specified and coded A Pocket Pager Alarm Interface for the Queensland Electricity Commission Stanwell Power Station. The system consisted of three four 486 PC's connected via a Novell Network. The system monitored 25,000 Alarm points via five PLC Control Systems. Alarm information was displayed on Plant Monitor Workstations located in the Control Center's of the Power station. The system also interfaced to an internal Paging System and broadcast messages to maintenance staff as required. The system was implemented in C++. The CODEBASE file access library was used. This enabled QEC to prepare Database files using DBase IV. A novel SPX message driver was developed to coordinate activities on the Alarm Interface and two Plant Monitor Workstations.  

Oct ‘89  - Mar ‘93

            Developed a language translator for AutoCAD AutoLISP to C, using PCLEX and PCYACC parser development tools. The translator runs on an IBM compatible PC under DOS and contains a supporting Integrated Development Environment as a front end.  This is a multi‑windowed text editor facility,  interfacing to the users compiler and the LISP‑>C translator. Through the IDE the user establishes a project file automatically generating the make script and link response files required to produce an AutoCAD ADS executable program. The IDE was developed in C++ using the Borland Turbo Vision library. This is my own product and is sold through the AutoCAD dealer network.  

            For W.D&H.O Wills, I developed a remote order entry application on a handheld terminal communicating via CELLULAR phone to a central computer. Sales representatives used the system to collect and transmit customer orders back to head office. The system implemented an order entry, autodial file transfer facility on a Handheld terminal. The terminal processor was a HD64180 the operating system was ZCPR3 (enhanced 8bit CP/M). The software was developed in C and assembler. I also established the host receiving end communications on a PC using Telix. Incoming calls were answered,  files exchanged and forwarded onto the clients VAX central computer.  

            I developed a number of support modules for an AutoCAD based architectural software package. The Tools used were MetaWare High C 32 bit compiler, running under Phar-Lap 32bit 386 DOS extender .  The programs run in the AutoCAD environment as ADS applications. 

            Applications included : 

  • An XTREE like graphical file manager for AutoCAD .  Embedded SQL commands were used to look up and maintaining a drawing detail database.

  • Surface topology analysis module for drawing 3D grid mesh and contours from a series of random points in space.

  • A roof ridge analyser for complex polygons.

  • An area calculator from a random series of vectors representing a floor plan of a complex building.

  • Calculation and drawing of frames for timber buildings from a series of rectangles representing an outline of the plan view of a structure.

            I have developed numerous point of sale applications for Lowes Manhattan, a major men's and boy's wear retail chain.  Applications contained full product price look up at the point of sale, end of day till balancing, inventory management, stock take facilities, daily communication of sale and stock levels back to a central computer facility . These systems were cross developed on a PC targeted for a proprietary 8 bit POS terminal. Tools used C, CTREE ISAM C library and assembler.

A "client list" database application interfacing to a Microsoft Word mailing list. This was for SNAP Printing,  using CLARION 4GL..  

            For APD Snackfoods I developed a PC DOS Application to interface a mobile route invoicing system used on their distribution vans, to their VAX mainframe. The system would format,  and exchange data to and from proprietary CP/M format floppy disks used by the mobile invoicing system. The interface to the VAX was via DECNET. The system was developed in C using Borland C, and Vitamin C Screen library.

 

06/85 - 10/89     Employer     Ausdata
                     
 
     Title                :  R & D Manager
 

            Managed a team of programmers and hardware design engineers developing a variety of micro-processor based products. Ausdata Ltd. Was a publicly listed company that supplied custom built data entry, point of sale, document and image processing solutions. During this period Ausdata was at one point the 3rd largest electronics manufacturer in New South Wales. I actively participated in specification, design, development, testing and project management of micro-processor based applications and products. I engaged and managed sub-contractors from a broad range of disciplines i.e. Programmers, Industrial designers, pattern makers, tool makers, injection molders, sheet metal workers etc.

09/79 - 06/85     Employer       : Ausdata
   
                        
Title                 : Design Engineer

  Designed and developed hardware, software and project management for micro‑processor based products. Worked on system and application software, hardware design, communication and local area network applications. My involvement in the following projects was electronic design, system software, firmware and application software.

Products Developed:

  • Mobile Truck based Invoicing System

  •  Handheld Terminal

  • Optical Character Reader Controllers

  • S100 bus 1600/800 bpi tape Controller.

  • Point of Sale Terminal.

  • Warehouse Order picking System

  • PC based Data Entry package

  • PC compatible keyboard

  • IBM 3780 RJE Communications Emulator

  • Printer controllers  

Hardware :      Z80, 80186, 8051, 8086, 68000, HD64180

Software :       Assembler, C, Vitamin C Screen Library,C TREE Isam   library, Novell  Netware, DBASE, CLARION

Project Mgnt :Time  Line 

06/78 - 09/79     Employer      : ACI Computer Services
               
            Title                : Systems Programmer.

Developed a CICS like transaction based teleprocessing monitor for supporting a dial in Property Customer matching service for Real Estate Agents. Language assembler, hardware Interdata 7/32 minicomputer. System was developed in assembly language. Re-wrote Interdata 3780 RJE Emulator to communicate with an ICL mainframe.  I wrote a number of system performance monitors for the Interdata and IBM 370 -155 and -158 mainframes.  Language IBM 370 Assembler.

06/76 - 06/78     Employer       : Datronics
     
                      Title                : Computer Service Engineer.

  Service and repair of mini-computer equipment to chip level. Appointed Engineering Supervisor.

11/74 - 06/76    Employer      : Telecom
   
                        Title                : Class 1 Engineer

  Designed a cable gas pressure monitoring system for locating cable leaks. Supervised external plant fault repair.