gervais peter resume oct :2015
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.