gervais peter resume oct :2015

16
Peter Gervais Senior Systems Engineer, Architect and Programmer Profile Mr Gervais is a Senior Architect and Programmer with many years of proven contractual experience. Mr Gervais experience spans all facets of the software development cycle from requirements gathering, detailed software object-oriented design to implementation, testing, user level documentation and customer training. Mr Gervais is a Java/C++/Php/Unix/Linux Expert. Mr Gervais has acquired an extensive background with contracts spanning embedded systems, telecommunications, air traffic control, intelligence agencies, web and multimedia. Mr Gervais is a reliable and personable professional. Mr Gervais enjoys the interaction of a team environment and mentoring junior members. Mr Gervais has a broad background spanning 25+ years in IT. · Experience in the Telecom Industry with Nortel, Cisco, Bridgewater, BTI Photonics · Experience in the Military with General Dynamics · Experience in Air Traffic Control Simulation with Nav Canada,HarrisATC and AIT · Experience in the Security Establishment with RCMP and Canadian Security and Intelligence Service · Course Development and Training as a College Professor Technical Summary: Operating Systems: UNIX: SunOS, Solaris, HP-UX, BSD, FreeBsd , Linux, IRIX, AIX Qnx Others: VxWorks, Windows NT, Windows Xp, Windows Me,Windows 7 Programming Languages: Java, C/C++,G++, Visual C++, Perl, Tcl/Tk, Visual Basic, Ada, Assembly, PL/SQL, ProC, Php GUI: Java Swing, Jung2, X Windows, Motif, UIL, OpenGL 2D/3D graphics Databases: Oracle 7.0, Postgress, Ingres, MySql, Gdbm,Hibernate Software Tools: ClearCase, DDTS, Rcs, CVS, Sccs, Yacc/Lex, SVN, Git, Eclipse, NetBeans, Swing, Rational Rose, SunStudio, TortoiseSVN,RallyDev,Ant,JUnit,Spring Networking: Expert on all Tcp/IP protocols, Element Management Systems via SNMP, Cisco IOS, SOAP, WDSL,JAXB Education Bachelor of Technology Degree in Electronics , 1978, Ryerson Polytechnical Institute Electronics Technology Diploma in Electronics, 1977, Honors , Seneca College of Applied Arts and Technology

Upload: peter-gervais

Post on 16-Apr-2017

481 views

Category:

Documents


3 download

TRANSCRIPT

Peter Gervais

Senior Systems Engineer, Architect and Programmer

Profile Mr Gervais is a Senior Architect and Programmer with many years of proven contractual

experience.

Mr Gervais experience spans all facets of the software development cycle from requirements

gathering, detailed software object-oriented design to implementation, testing, user level

documentation and customer training. Mr Gervais is a Java/C++/Php/Unix/Linux Expert.

Mr Gervais has acquired an extensive background with contracts spanning embedded systems,

telecommunications, air traffic control, intelligence agencies, web and multimedia.

Mr Gervais is a reliable and personable professional.

Mr Gervais enjoys the interaction of a team environment and mentoring junior members.

Mr Gervais has a broad background spanning 25+ years in IT.

· Experience in the Telecom Industry with Nortel, Cisco, Bridgewater, BTI Photonics

· Experience in the Military with General Dynamics

· Experience in Air Traffic Control Simulation with Nav Canada,HarrisATC and AIT

· Experience in the Security Establishment with RCMP and Canadian Security and

Intelligence Service

· Course Development and Training as a College Professor

Technical Summary:

Operating Systems: UNIX: SunOS, Solaris, HP-UX, BSD, FreeBsd , Linux, IRIX, AIX Qnx

Others: VxWorks, Windows NT, Windows Xp, Windows Me,Windows 7

Programming Languages: Java, C/C++,G++, Visual C++, Perl, Tcl/Tk, Visual Basic, Ada,

Assembly, PL/SQL, ProC, Php

GUI: Java Swing, Jung2, X Windows, Motif, UIL, OpenGL 2D/3D graphics

Databases: Oracle 7.0, Postgress, Ingres, MySql, Gdbm,Hibernate

Software Tools: ClearCase, DDTS, Rcs, CVS, Sccs, Yacc/Lex, SVN, Git, Eclipse, NetBeans,

Swing, Rational Rose, SunStudio, TortoiseSVN,RallyDev,Ant,JUnit,Spring

Networking: Expert on all Tcp/IP protocols, Element Management Systems via SNMP, Cisco

IOS, SOAP, WDSL,JAXB

Education Bachelor of Technology Degree in Electronics , 1978, Ryerson Polytechnical Institute

Electronics Technology Diploma in Electronics, 1977, Honors , Seneca College of Applied Arts and

Technology

College professor at St Lawrence College in Cornwall in Computer Science and Electronics, 1980, 1986

Co-Founder of micro–computer engineering technology program

Languages: Mr Gervais is fluently bilingual in French/English

Security Level: Top Secret Security Clearance Enhanced Reliability Security Clearance

Employment History

October 2014 – October 2015 (12 months)

Project#30

Innovapost

Senior Technical Analyst

Innovapost is the company created by the Canada Post to support all engineering design. Canada Post group of companies

consists of Canada Post, Purolator, Innovapost and SCI Logistics. The DCT (Data Centre Transition) project is tasked to

move all computers systems and programs that support all 68,000 employees as well as $8 Billion worth of business

processes for CPC Group of Companies from 12 datacentre across Canada to 2 data centres. The new datacentres meets much

stricter security standard as well implement all new systems in the new VM (Virtual Machine) VBLOCK hardware.

My task was to engineer, architect, plan and coordinate the move of all systems, software, users that supported the acceptance

and delivery of all International Mail inbound and outbound. In order to do so, I needed to understand the current state of all

system architecture, networking and software. In some cases I needed to reverse engineer some applications in order to know

how to transition these. In many cases, software upgrades were also required. The current applications had to be mapped to a

completely new data centre with different architecture for system, software, networking, access. This meant the design of

firewall rules for all system interfaces, role based access control for all users, design of security zones, detailed network

planning etc … This needed to be coordinated with all 6 International Mail Processing Plants across Canada. One of my tasks

was also to deal with many partner organizations such as WIPRO, Infosys, Accenture, Compucom, Lexmark to name but a

few.

Environment: Windows 7, Windows Server 2003 & 2008, Red Hat Linux , Java, Oracle 10 ,VPN, Citrix,

September 2014 – August 2015 (11 months)

Project#29

HarrisATC

Senior Team Architect and Programmer March 2013 – February 2014 (11 months)

HarrisATC’s product line is comprised of a Radio Transmitter/Receiver Voice Control Switch called VCS 21. Over 4000 of

these Voice Switch/Routers have been sold to Nav Canada which provides Canadian Air Traffic services across the country.

The contract to HarrisATC was to upgrade an existing product called SMART from a standalone system to a client/server

NMS tool to monitor and control all 4000 VCS 21 Routers. The SMART tool is written in Java 1.6.

Duties included:

1. To develop a graphical representation of all network connections for all equipment.

2. To convert SMART from a standalone tool to a client/server model providing the network monitoring and

management functions.

3. The graphical portion uses the Swing tool kit. The network graphs are drawn using a library called Jung2.

4. Netbeans internal GUI Form builder was used to create the dialogs used in SMART.

5. The client/server communications was implemented with XML message using the JAXB library.

6. The database used in SMART is MySQL.

7. Hibernate provided the interface between MySQL and Java.

8. Ant was used as build environment.

9. JUnit was used to control the test environment.

10. To test the GUI portion , the Marathon automated test system found on souceforge.net was used.

11. SVN was used as Source Code Management System. TortoiseSVN was used as the SVN client.

12. Project Management followed the Agile methodology. The Rally Dev Agile product was used to track User Stories,

Defects and Sprints.

13. The NetConnect VPN client was used for access to Harris's internal network.

Environment: Windows 7, Linux , Java, MySql , Hibernate , Ant, Junit, Marathon, TortoiseSVN, SVN, Eclipse,

NetBeans, VPN, Rallydev, Jung2,JAXB,Spring

Project#28

Canadian Intelligence Services

Senior Team Architect and Programmer

August 2009 – October 2012 (39 months = 3 years 3 month)

Protocol Taxonomy: This project was originally a research project and was requested by the director of the engineering division. The project

manager for this project was Mr. Bob Jones (recently retired).

Duties included:

The first phase of the project was to do an analysis and structure of common IP protocols.

1. The second phase of the project was to begin the implementation the protocol taxonomy concepts developed in first

phase for a simple protocol. The UDP based simple DNS protocol was used as an example.

2. The third phase and most complex one was for HTTP which is a TCP based protocol. The TCP portion of the

protocol compiler needed to be developed as well as the upper HTTP one.

3. The final demonstration was given to director of engineering in October 2012. All requirements originally stated

where meet or exceeded.

Proof of Concept Overview: 4. Developed the “proof of concept” telecommunication protocol compiler (designed, programmed and troubleshoot)

tool primarily in Java, Ragel and some C++. The Web interface was Drupal with PHP. This tool performs the

following tasks:

5. Allow the user to graphically define the various layers of a protocol stack.

6. Allow the user to specify how each of these layers is related to one another. I.e. pass data from one to other.

7. Allow the user to define each field within each layer. This allowed the user to define: its type, size (bits, byte, word,

etc…), location (absolute or relative), how to decode its contents and how to use its contents (associated a filter and

or a trigger).

8. Tool would then generate a “state machine system” source representation which is the logic that drives how each

and every field is decoded. This state machine system is based on the public domain system called Ragel. The state

machine generates either C++ or Java source code.

9. Allows the user to add C++ or Java code snippets within a single field to support specific actions required.

10. The protocol compiler would then generate all necessary “wrapper code” that allows packets to be extracted from a

PCAP file and decoded.

11. The final product is an executable that decodes the protocol defined. At runtime, the tool would show the difference

between the defined protocol and any fields which do not match. This would be highlighted by generating textual

log output as well as generate a PCAP error file.

Technologies: 12. The tool uses the Drupal Content Management System to present the hierarchical relationship between all

components to the user.

13. The actual hierarchical relationships between all layers and nodes in those layers are kept in the MySql database file.

14. Once the protocol compiler is invoked, it reads the MySql tables (via a Java JDBC connection to MySql) required

and generates an internal representation of the layers and nodes within these layers.

15. The protocol compiler performs a number of checks to ensure the protocol has been defined properly.

16. It then performs the Ragel state machine code generations. Once the Ragel state machine has been created, it is then

compiled by Ragel itself which then generates the C++ or Java output.

17. As an option it also generates a GraphViz output file that visually shows the state machine.

ETSI: 18. I also worked on a legacy system that required the implementation of the ETSI protocol.

19. The new implementation not only required the design and integration of the ETSI protocol but also a re-design of an

internal supporting sub-system called enhanced storage.

20. Along with enhanced storage sub-system, I also designed and implemented a multi-threaded base communication

system that is used for all other processes of the legacy system.

21. The system was a collection of multi-threaded applications that communicated with one another via a shared

memory design. Shared memory locks where used to ensure the proper mutual exclusion of critical data areas

between multiple processes.

22. As the system architect, I was also in charge of any Java front end work relating to the new implementation. This

front end work was performed using Swing.

23. As well, all packaging and testing required before delivery.

24. The ETSI protocol encoding and decoding was performed using an external library provided by Object System. This

library and all supporting files had to be integrated in the normal build process.

Other tasks:

25. Used SVN during the development of the protocol decoder, I setup Eclipse to use SVN to manage source code.

26. Trained a new contractor that would take over a major sub-system that Mr. Gervais has designed that he was going

to implement.

27. Provided all project schedules, tasks for the entire team using Microsoft Project.

28. Along with the manager, interviewed prospective candidates to join the team.

29. Analysing the existing architecture, integrating a new system within the existing architecture. A clearly defined

Java/C++ interface was developed so that users within other layers would be able to make the proper system calls to

use this new system. The interface specification was created for the new communication sub-system that was used

by the new system which Mr. Gervais designed.

30. Mr. Gervais had numerous meeting with clients as well as other groups this system interfaced to. He also held

meeting with the people who supported and deployed the system in the field. Problem reports where given to Mr

Gervais (either verbally or written) and he would then attempt to modify the system to solve these field issues.

31. Mr Gervais worked with the load build prime on our team to be able to add within our existing loads, the new sub-

systems he designed. The load build process created an install CD that would either upgrade an existing system or

completely replace an existing system. This install CD was used for deployment.

32. Mr Gervais also wrote an ETSI test tool in Java using Swing. This test tool would allow field personnel to

independently test the ETSI connection and reception of data. This tool was used in the provisioning of new network

connections with various clients.

Environment: Linux, Drupal 6, Php , CSS, Java , C++, MySql , Ragel, CentOs, Fedora Linux, TcpDump,

WireShark, ABNF, BNF, SVN, Eclipse, Swing.

Project#27

Interstake

Vice President of Engineering (www.interstake.net ) August 2009 – Present (43 months) part-time project

Duties included:

1. Designed, developed and performed troubleshooting a web based system for the Interstake immersive technology

web site.

2. Developed business cases which were used to license the immersive technology component from Avaya.

3. Created project development plans, wrote web site specifications to be presented to the Board of Directors.

4. Designed distributed server based configuration in order to support the many thousands of licenses expected from

the sale department for Avaya Web.Alive immersive environment.

5. In charge of all IT activities from contracts, purchasing, deployment, provisioning, contract negotiations with clients

and or vendors.

Environment: Linux, Spring, Java , CSS, MySql, Web.Alive

Project#26

OTTAWA AVIATION SERVICES (www.ottawaaviationservices.com)

Vice President of Technology

August 2008 – July 2009 (12 months = 1 year)

Duties included:

1. Built and developed a web based system for the aviation training school.

2. Created portal access to our staff for access to internal network of computers.

3. Designed and developed the necessary code to link an online booking and maintenance system called MyFBO to the

main web site.

4. Wrote user manuals on how to use the system.

5. Trained technical support staff on how to maintain internal network.

Environnent: Linux , Drupal, Php , CSS, MySql, Smoothwall

Project#25

Wind River Systems

Senior Programmer

May 2008 – Oct 2008 (6 months)

Duties included:

1. Re-evaluated and worked on all proprietary WindRiver Linux programs and ported these to 3.0. These packages are

used in Wind River automotive layer which are purchased by BMW.

2. Wrote custom applications to go along with the porting of these packages for specific use by BMW.

3. Applications where Java Swing based and would allow the engineering team to define every and all installed

parameters for BMW engineers for wind river software.

Environment: XP Windows, Java, Ubuntu Linux, CentOs Linux, g++, gcc, FogBugz, git

Project#24

BTI PHOTONICS INC

Senior Architect

November 2007 – April 2008 (6 months)

Duties included:

1. Designed, developed and performed troubleshooting of a Java Swing Application that is used by the network

designer and sale staff to design optical networks based on BTI equipment. This application allows the creation,

costing and performance evaluation of a BTI based optical fibre network.

2. This design is completely written in Java SE 1.6 using the Eclipse framework for development.

3. Designed the new user front end. This front end graphically allowed the addition/deletion of various BTI optical

products in a standard 19” rack.

4. Once this equipment was added, the program also figured out the optical interconnection between equipment. It also

calculated expected performance based on how they were configured.

5. For the sales staff, they were able to extract a detailed cost and equipment list based on the configuration created by

the network designer.

Environment: XP Windows, Eclipse IDE , Java 1.6, Swing, XML, CVS.

Project#23

MULTICAST NETWORKS INC

Vice President of Engineering

July 2007 – July 2008 (13 months = 1 year 1 month)

Duties included:

1. Build, developed and performed troubleshooting of a web based streaming system for sports and entertainment.

2. Linked to LimeLight streamer server’s backend. The video streaming was based on H.264 compression and AAC

audio compression.

3. The production cameras were feed into the compression system that Mr. Gervais built then streamed to the

LimeLight distribution system using RTSP (Real Time Streaming Protocol).

4. Designed the web based backend which extracts all news feeds from various sports sources (ex: TSN) Once a news

feed is extracted, it is converted from XML to HTML via a Java based XSLT transformation.

5. This is then inserted into a MySQL database for later use by the Web Client Browser.

6. The processing of a specific sport feed is based on an on-demand loaded Java Archive File ( i.e. jar file).

7. Parsing of XML performed by Java JAXP library. Converting XML data to an HTML web page was performed by

the XSLT library api.

8. The conversion daemon process was controlled by a Java Swing application. This swing application would allow the

user to control the daemon, view the results of any received feeds, view the conversion of the feeds, view where the

converted files where stored on the system and track any errors associated with the process.

9. Once a news feed was parsed and stored properly, it was then displayed on the “ticker” line of the web page.

Environnent: Linux , Drupal, Php , CSS, Java, XML, XSLT, Swing, MySql, C++, C#, RTSP, H.264, AAC, ORB

Project#22

NAV CANADA

Senior Architect

April 2007 – June 2007 (3 months)

Duties included:

1. The Directional Finder (i.e. DF) simulator allows a tower controller to provide guidance to a VFR aircraft which

cannot find the airport due to clouds layer below them.

2. This simulator is dual headed where the instructor controls the test environment.

3. The student panel also displays range/bearing information overlaid on the equipment image.

4. Communication control panels allow the instructor to start the instructor program as well as remotely start the

student program.

5. Designed, developed and performed troubleshooting of the DF simulator. DF is a Java 1.6 applications designed for

the Microsoft platform.

6. This application was developed using Netbeans 5.5 IDE.

7. The GUI is based on the Swing components as found in the javax.swing package.

8. Communication is based on TCP/IP sockets using the java.net package.

9. The student GUI is based on an actual image of the equipment as used in the field.

10. The student image software which Mr. Gervais wrote allows the student to press the button on the image as if he was

pressing the buttons on the real equipment.

11. All documentation was written in both English and French.

12. The application itself is also presented in either French or English.

Project#21

BRIDGEWATER SYSTEMS

Senior Programmer

April 2006 – March 2007 (12 months = 1 year)

Bridgewater Systems specializes in commercial Network Management Software. Their products include Radius/Diameter

servers as well other products.

Duties included:

1. Designed, developed and performed troubleshooting a high speed database caching subsystem for use with EAP-

TTLS authentication. This system was developed in C++ using Rational Rose Enterprise Edition. Once developed,

this subsystem was integrated in the radius server. (Environment: Solaris , SunStudio , XML, SOAP, WSDL,

TCP/IP, UDP, Client/Server, Radius ,CVS, TestTrack, CodeStriker.)

2. Used the rational rose suite of products along with the ClearCase source code management system.

3. Following this project, developed and integrated Digest-Authentication in the radius server.

4. Associated with this was the modification of an existing test tool called radtest to generate Digest-Authentication.

5. Completed a Radius Plugin that is used to authenticate WIFI users against the Sprint Nolws database.

6. The plugin makes SOAP calls to the Nolws database to validate the user and extract accounting information.

7. The package used is gSOAP.

8. All work was performed on Solaris 8 using Sun Studio development environment.

9. These projects have provided me with extensive Radius authentication and authorization experience.

Environment: Solaris , SunStudio , Rational Rose, C++, Java, XML, SOAP, WSDL, TCP/IP, UDP, Client/Server,

Radius ,CVS, TestTrack, CodeStriker.

Project#20

MULTICAST NETWORKS INC

Senior Architect/Project Lead

Oct 2005 – March 2006 (6 months)

Multicast Networks is a web sports production and streaming company.

Duties included:

1. For this company, designed, developed and performed troubleshooting of a proprietary H.264 codec implementation. 2. Used windows exclusively for software development. Setup development lab and ensured that it meet the necessary

network security by configuring the router so that all protocols either be disabled or be allowed under strict

conditions.

3. This included developing the capture and compression server, networking and playback application for use in Linux

and Microsoft XP.

4. This compression system was linked to the Darwin Streaming Server using RTSP/RTP/SDP protocol.

5. The H.264 code implementation required transcoders for use via cell phone using 3GPP.

6. Developed the corporate website using HTML. Back end developed CGI perl scripts.

7. Site hosted on an Apache server running on Red Hat Enterprise Linux. 4.0.

8. Modified and tested manufacturer provided Linux device driver. Ported device driver for use on Solaris 10.

9. Developed corporate database using MySQL fault tolerant implementation.

10. Ported customer VbScript application to Java script for use by Apache server. 11. Used the Visual Studio C++ development tool to create and manage Windows based software. The H.264 decoder

was developed in C++ using Visual Studio. A variety of windows scripts where developed to do the build and

execution of the final program.

12. Worked with Rogers’s communications to design the Video On Demand , Web Hosting and Live event feeds

required by MCN. Also worked with them on cellular feeds of live events.

Environment: Windows XP, Red Hat Linux, TCP/IP, UDP, Multicasting, Client/Server, Microsoft Visual C++ 6.0

, gnu C/g++, Solaris 10, HTML, perl, MySQL

Project#19

NAV CANADA

Senior Architect/Project Lead

May 2004 – Sept 2005 (17 months = 1 year 5 months)

The CAATS (Canadian Automated Air Traffic System) is a world class automated air traffic control system. This system has

been many years in the development and is now starting to be deployed across Canada. Air Traffic Controllers need to be

trained on this new system in order to maintain their license. Since these systems are quite expensive, training is performed

on a simulator.

Duties included:

The existing exercise base from the legacy simulator (i.e. NATSIM) had to be imported to work with CAATS.

1. The contract objectives were to modify the factory developed CAATS Training Simulator to work in the modified

(designed, developed and performed troubleshooting) Nav Canada environment. Over the life cycle of the project,

Nav Canada had made considerable modifications to the existing operation systems such as interfacing the system to

existing legacy systems. This required the simulator to be modified in order to encompass all changes.

2. This required the design and implementation of an Import Tool.

3. This tool was written in Java and comprised of some 10,000 lines of code.

4. This tool also interfaced to the CAATS Oracle database in order to verify data integrity.

5. The existing CAATS system had to be interfaced to an existing ATC display.

6. This required a Unix daemon designed to work under Multicasting TCP/IP addressing.

Environment: Windows NT, HP UX 10.2, TCP/IP, UDP, ADA, Java

Project#18

NAV CANADA

Senior Architect

Feb 2004 – April 2004 (3 months)

The Directional Finder (i.e. DF) simulator development project

Duties included:

1. Designed, developed and performed troubleshooting of the Directional Finder (i.e. DF) simulator. DF is a Java 1.4

application that is targeted for the Linux 7.3 environment.

2. This application is being developed using Borland’s JBuilder Enterprise IDE.

3. The GUI is based on the Swing components as found in the javax.swing package.

4. Communication with the back end server is based on TCP/IP sockets using the java.net package.

5. This application is targeted for a dual headed display using the Matrox G450 card where one display is for the

student while the other is for the instructor.

6. The student will use the mouse for interaction whereas the instructor will strictly use the keyboard.

7. Since the application will also be used in French, an external resource bundle contains all displayable strings.

8. Java in line comments are written to use javadoc documentation convention.

9. Jpeg images of maps are displayed via the javax.imageio.plugins.jpeg package.

Project#17

NAV CANADA

Senior Architect

Jan 2004 – Feb 2004 (2 months)

The CAATS (Canadian Automated Air Traffic System) is a world class automated air traffic control system development

Duties included:

1. Designed, developed, performed troubleshooting and deployed the CAATS (Canadian Automated Air Traffic

System). CAATS is a world class automated air traffic control system.

2. This system has been many years in the development and is now starting to be deployed. Air Traffic Controllers

need to be trained on this new system in order to maintain their license. Since these systems are quite expensive,

training is performed on a simulator.

3. This contract requires the study of the existing system in order to best design a CAATS Training Simulator.

4. The end result will be a systems document that will detail how to best deliver this simulator within the financial

constraints which exists in the airline industry since 9/11.

5. The design intent is to re-use existing components in CAATS as well as the existing training simulator called

Natsim. (Networked Air Traffic Control Simulator).

6. Included in this contract is the gathering of the user requirements.

Environment: Windows NT, HP UX 10.2, TCP/IP, UDP, ADA, CORBA,C++

Project#16

NAV CANADA

Senior Architect

Sept 2003 – Dec 2003 (4 months)

Duties included:

1. Designed, developed and performed troubleshooting of EXCDS system. This is one which links Control Tower to

the IFR system.

2. The purpose of this project was a design study to determine how best to use the Natsim system for use as an EXCDS

simulator. The existing EXCDS simulator is Microsoft C++ based program using MFC.

3. Portions of this system where to be re- distributed amongst HP-UX system.

4. This also included upgrading the networking between the NT environments to the HP-UX environment.

Environment: Windows NT, HP UX 10.2, TCP/IP, C++, MFC, MOTIF 1.2

Project#15

NAV CANADA

Technical Training & Course Developer

June 2003 – Aug 2003 (3 months)

Duties included:

1. Generated all user documentation and training slide for Natrans product.

2. Delivered the training to Nav Canada personnel at Nav Canada Training Institute in Cornwall.

Environment: Course developed using Microsoft PowerPoint and Word.

Project#14

NAV CANADA

Software Developer

May 2003 – June 2003 (2 months)

Duties included:

1. Re-host the main NATSIM (Networked Air Traffic Control Simulator) suite of programs from the HP-UX 10.2

environment to the FreeBSD 4.8 PC.

2. Tested and verified the port to ensure its fidelity.

3. Installed all workstations at NCTI. Configured all systems for security and routing.

4. Port is now running on 100 PC’s at Nav Canada Training Institute in Cornwall.

5. Wrote an FTP program that would distribute exercise from a single administration system PC’s on the network. It

kept track of all file delivers and to which system they could not be delivered.

Environment: HP-UX 10.2, FreeBsd 4.8, Gnu g++ 2.9.2, TCP/IP, X Windows

Project#13

NAV CANADA

Senior Architect & Software Developer

July 2002 – April 2003 (10 months)

Duties included:

1. Designed and implemented a tool called Natsim Translator (Natrans). Program written in Gnu g++ 2.9.2. GUI was

X/Motif 1.2. Platform was an HP C3600 with HP-UX 10.2.

2. This tool processes real time radar traffic and converts this data to a Natsim exercise that is used to train Air Traffic

Controllers.

3. Designed the look and feel of the X Windows/Motif based tool.

4. Wrote the design document for Natrans.

5. Wrote all 2,000 lines of C++ code. Extensive use of STL.

6. Wrote acceptance test document.

7. Tested final product.

Environment: Program written in Gnu g++ 2.9.2. GUI was X/Motif 1.2. Platform was an HP C3600 with HP-UX

10.2.

Project#12

GENERAL DYNAMICS

Senior Architect & Software Developer

Sept 2001 – March 2002 (7 months)

Duties included:

1. Senior Architect & Designer on Canadian FTAS Aurora Upgrade. Responsibilities include the design, development

and troubleshooting of all systems to ensure the re-use of existing code base from previous projects.

2. The review of the all systems in order to simplify the testing and increase the reliability of the new system.

3. Design & implemented Canadian FTAS Aurora system - one of the most difficult systems that required extensive

UNIX knowledge.

4. A network TCP/IP based Unix daemon which performed port allocation to all sub process which had been forked

from the daemon.

5. Wrote the System Design Document (approximately 330 pages) for the complete Canadian system.

6. All individual sub-systems where developed from this document.

7. The design of many new sub-system specific to Canadian Military requirements.

8. Prototyped various database designs using MySQL, Informix, Oracle, gdbm etc. for use by system.

Environment: VxWorks, Solaris 7.0, C++, TCP/IP, X Windows, Rational Rose, UML

Project#11

GENERAL DYNAMICS

Senior Architect & Software Developer

May 2001 – June 2001 (2 months)

Duties included:

1. Senior Architect & Designer on Australian Acoustic Data Processing.

2. Designed, developed and performed troubleshooting of a multi – processor process manager daemon.

3. This system was designed to launch and monitor all UNIX programs that resided across multiple hardware platforms

via TCP/IP.

4. Designed and developed a task bar under X windows which allowed the user to start all proprietary acoustics

analysis programs.

Environment: VxWorks, Solaris 7.0, C++, TCP/IP, X Windows, Rational Rose, UML

Project#10

CISCO SYSTEMS

Senior Architect & Software Developer

Aug 1999 – April 2001 (21 months = 1 year 9 months)

Duties included:

1. Senior Designer of Cisco’s Universal Gateway Manager Element Management System designed to support new

Cisco dial and voice access device.

2. Was responsible for system design, development and troubleshooting.

3. Platforms served where: AS5300, AS5350, AS5400, AS5450, AS5800, Access Path TS3, 7206, CAT5002, 3640.

4. Involved with Object Model Definition, Architectural Design, Self-Management, TS3 Stack Based Device

Discovery, Device Configuration via IOS, performance data export, installation etc….

5. Conversion of Oracle data from legacy Cisco EMS product to new EMS product.

6. Java GUI interface

Environment: Clearcase, DDTS bug reporting system, Solaris, C++, TCP/IP, X Windows, SNMP, Oracle ProC &

SQL, Java on Solaris, CORBA, and Perl

Project#9

NAV CANADA

Senior Architect & Software Developer

March 1999 – Aug 1999 (6 months)

Natsim is an Air Traffic Control Simulator used by Nav-Canada to train Air Traffic Controllers.

Duties included:

1. Designed, developed, performed troubleshooting and wrote a graphical exercise editor for Natsim (an Air Traffic

Control Simulator) used by Nav-Canada to train Air Traffic Controllers which allowed the easy creation of

exercises.

2. This editor allowed the user to edit navigation maps as well as corresponding exercise data.

Environment: Tcl/Tk language, SGI Indy Workstation, C++

Project#8

CANADIAN SECURITY AND INTELLIGENCE SERVICE

Software Developer

Sept 1998 - Feb 1999 (6 months)

Duties included:

1. Designed a Unix Based Store and Forward Network Database system with Oracle as its core.

2. Wrote Functional Specification and Design Specification

Environment: Tcl/Tk language, SGI Indy Workstation

Project#7

NORTHERN TELECOM

Software Developer

Sept 1997 - Sept 1998 (13 months = 1 year 1 month)

Duties included:

1. Senior Software Engineer on Magellan Data Provider System. Designed, developed and performed troubleshooting

of Implemented Outage Calculators for Passport and Dpn Switches.

2. Designed and implemented main Mdp library used by all other Mdp processes.

3. Designed and implemented proprietary language compilers for use within Mdp.

4. Designed and implemented additions to Mdp for MCI. Mdp Architecture Definition

Environnent: Solaris, YACC/LEX, C++., FrameMaker

Project#6

AIT CORPORATION

Senior Software Engineer

Sept 1996 - Aug 1997 (12 months = 1 year)

Duties included:

1. Senior Software Engineer on Natsim ATC Simulator for Nav Canada Training Institute.

2. Natsim ATC Simulator for Nav Canada Training Institute project was to design, develop, troubleshoot and

implement Air traffic Control Simulator for use by Nav Canada.

3. Lead Design Team on extensive study of RAMP/RDPS system at Nav Canada Training Institute (i.e. NCTI).

Natsim (Networked Air traffic Control Simulator) had to emulate RAMP/RDPS on SGI machines.

4. Designed and implemented RAMP Graphics Interface using a combination of C/Tcl language.

5. Designed and implemented a Radar Detection algorithm for both primary and secondary targets.

6. Designed and implemented a user interface for German sub-contract to ATLAS Corp in Germany.

Environment: Red Hat Linux,C, C++,Tcl/Tk

Project#5

NORTHERN TELECOM

Software Developer

Sept 1995 - Aug 1996 (12 months = 1 year)

Duties included:

1. Senior Software Engineer on Magellan Data Provider System. Was responsible for system design, development and

troubleshooting.

2. Passport Software Development on Solaris under C++.

3. Designed and Implemented File Managers.

4. Designed and implemented Data Converters called Bdf Converter for Passport and Dpn Switches.

Environment: Solaris,C++, Tcl/Tk

Project#4

HELO ENTERPRISE

Senior Software Engineer on Sonar System

Jan 1995 - Sept 1995 (9 months)

Duties included:

1. Software Development for AMD Digital Signal Processing in C. Was responsible for system design, development

and troubleshooting.

2. Involved in Digital Signal Processing Algorithm Development.

3. Designed and Implemented Display Subsystem.

4. Designed and Implemented Real Time kernel used within Sonar Sub-System.

Environment: C, MS Windows, Visual C++, DSP

Project#3

CANADIAN SECURITY AND INTELLIGENCE SERVICE

Software Developer

Sept 1986 - Dec 1994 (100 months = 8 years 4 months)

Only a broad description of the duties can be given due to the Secret nature of the work performed.

Duties included:

Porting software to/from UNIX platforms. 1. Graphical user interfaces (GUI) development

2. Applications were developed within the X Windows environment. These were Motif compliant developed using UIL

programming language. Also programmed X-Windows applications in Tcl/Tk.

3. Specific applications where developed in Ada on an Interactive UNIX 386.

Tele-Communications applications:

4. Applications developed which required control and monitoring multiple modems.

5. All performed under UNIX in C.

Video Imaging Applications: 6. Applications were developed using camera images and the consequent analysis of those images.

7. This particular project also involved digital stepper motor control design and programming.

8. The heart of this project was the development of character recognition algorithms.

UNIX Device Drivers 9. Develop a Unix Device driver for a video frame grabber not supported under UNIX.

UNIX System Support 10. Sold, designed, installed and maintained a Unix Host Based PC Network of computers for CSIS.

11. This system comprised of a diskless PC’s running from a DGUX Aviion Server.

12. Modified UNIX to provide additional information security.

UNIX Based Software Development Environment Support: 13. Designed a Software Development Environment product specifically tailored for Unix Software Development with

built in Revision Control System, Multiple User Update Lock Control, and Full Source Indexing & Programmer’s

Editor.

14. This product was written in Tcl/Tk.

Project#2

ST LAWRENCE COLLEGE CORNWALL

College professor in Computer Science and Electronics

Jan 1980 - Sept 1986 (81 months = 6 years 9 months)

Duties included:

1. College professor in Computer Science and Electronics.

2. Co-Founder of micro–computer engineering technology program.

Courses Taught and Developed

· Basic Electricity and electronics.

· Micro Computer Hardware Design

· Survey of Computer Languages from ‘C’, Fortran, Lisp, Perl, with emphasis on C and Ada.

· Assembly language programming.

· The design and use of the UNIX operating System.

· The design and use of Real Time operating system such as Intel’s RMX.

· System Programming: using UNIX system calls, software development tools i.e. Yacc/Lex.

Project#1

COMPUTING DEVICES

Micro-Processor Hardware Designer

Sept 1979 - Dec 1980 (16 months = 1 year 4 months)

Duties included:

Micro-Processor Hardware Design 1. The project involved the design and development of a digital noise generator used within the SOSUS submarine

warning system.

2. This system incorporated a microprocessor controlled front end with an AMD 2900 bit sliced technology processor

back end.

3. Designed and tested the hardware for the microprocessor front end.

4. Wrote the software for the microprocessor and its interface to the AMD2900 processor.

Interface to PDP 11/45 5. Designed, built, tested, installed, and programmed an interface for the PDP 11/45 to a custom test jig for Computing

Device. Project was written in Fortran/Assembler under RSX 11/M.

UNIX Support 6. Was put in charge of maintaining Unix V6 on a PDP 11/45 used within our engineering department. Later converted

to Unix V7.

Working facility: Mr Gervais facility in St Andrews is cleared by CSIS to Secret Level and I am personally cleared to Top

Secret.

Owned by my company, Simtree Information Systems is a Sun Sparc 5 workstation, a Data General Aviion 310 workstation,

a Silicon Graphics Indy Workstation, HP-UX 10.2 C360. In addition, there is the usual assortment on PC’s, printers, scanners

etc…

References:

Innovapost≡

HARRISATC

Mr Louis Savard: Project Manager

Work Phone: 819-420-1440

Cell Phone: 613-298-8628

Email: [email protected]

CSIS Mr. Robert Jones: P.Eng. Chief Engineer (Retired)

Home Phone: (613)-774-3062

Cell Phone: 613-818-9353

Email: [email protected]

NAV CANADA Mr Lance Carr: Simulation Training Manager (Retired)

Cell Phone: 613-864-1547

E-Mail: [email protected]

Other references are available on demand.