Experience (Details):
Since June 2023 (CBSA, Ottawa)
Term employee at CBSA.
November 2022 to May 2023 (CBSA, Ottawa)
Casual employee at CBSA.
2016 to October 2022 (PrecisionIT, Ottawa)
Contractor at CBSA.
2014 to 2016 (OpenFrame Technologies, Montreal)
Contractor at CBSA.
  • Monitor CECP systems (24/7 uptime), provide software support. [Windows, TSO/ISPF/OMVS, SQL, IBM DB2, WebSphere MQ].
  • Design and implement applications to monitor and support daily operations, generate reports. [Windows, C, C++, VB6, Perl, Excel].
2013 (MGIS, Ottawa)
Contractor at DRDC (Shirley’s Bay).
  • Investigate buffering problem in high-speed (Gigabit Ethernet) communications system. [Linux, C, C++].
2011 to 2012 (Huntech, Ottawa)
Contractor at EMS SATCOM, now Honeywell.
  • Windows/embedded Developer: MCDU emulator/communications; bug fixing airplane phone system. [C, C++, ARINC 429/739].
2011 (IT/NET, Ottawa)
Contractor at Transport Canada.
  • Web Application Developer/Analyst: web-site enhancements for aircraft maintenance reporting. [ASP, ASP.NET, SQL, C, C++].
2010 (Excel ITR, Ottawa)
Contractor at Alcatel-Lucent.
  • Investigate LAN switch firmware boot-up hang; invent real-time stack trace debugger; solved. [C, C++, SunOS, pSOS/RTEMS].
2004 to 2010 (Routes AstroEngineering/COM DEV Canada, Kanata)
Systems Programmer/Analyst.
  • Design and develop EGSE for Cassiope/DSU (MDA, CSA). [Visual C++, Java, Windows XP/2000].
  • Re-design, enhance and ship Cassiope/DSU Flight Software. [RedHat Linux, BlueCat RTOS, gcc, VMWare].
  • Design and develop EGSE and BSP Firmware for NEOSSat Instrument Electronics (MSCI). [Visual C++, TASKING DSP56303].
  • At COM DEV, write and review proposals; mock-up/prototypes for new systems development projects. [Java, ASP .NET, C, C++].
2002 to 2004 (Department of National Defence, Ottawa)
IT Asset Management.
  • Control IT-related hardware assets (computers, monitors, laptops, etc.) for ADM(Mat) in the National Capital Region.
  • Design, and maintain SQL forms, queries and reports [Microsoft Access, SQL Server].
2000 to 2001 (StorageQuest Inc., Ottawa)
Project Manager and Software Designer.
  • Develop Windows kernel-mode caching for hard disks/removable media/jukeboxes. [Microsoft DDK, Visual C++, Windows NT].
  • Implement CD-R Burner/Duplicator, burning concurrent CD-R drives in a tower. [Visual Basic, Visual C++, Windows NT].
1997 to 2000 (PIKA Technologies, Kanata)
Programmer/Analyst.
  • Develop “MonteCarlo” API for Pika telephony boards. [Microsoft Visual C++, MFC, Windows NT]. Port to RedHat Linux.
  • Wrote example (PBX, voice-mail, FAX, text-to-speech) applications and automated test scripts. [Windows, RedHat Linux].
1994 to 1997 (K O M Inc., Ottawa)
R & D Manager and Programmer/Analyst.
  • Design and develop Windows kernel-mode device driver for SCSI (WORM and rewritable) optical disks and jukeboxes.
  • Design and develop GUI applications to install, configure, and support “OptiServer”. [Microsoft SDK, MFC, DDK, Windows NT].
  • Support “OptiServer/VMS” [Alpha AXP]. “OptiServer/Unix”, certifying jukeboxes and drives. [C, SunOS, Solaris, HPUX].
1992 to 1994 (Rideau Management Group Ltd., Ottawa)
Contractor.
  • At JetForm, port PC/X Windows form-filling package to Mac. Design and code AppleTalk-aware printer driver [C, XVT, MPW].
  • At DND (DGLEM), develop LSAR (Logistics Support analysis recording) utilities for PMO-LLAD [C, Oracle].
  • At DND (DGLEM), wrote Configuration Management data-entry and utility reports [PowerBuilder, SQL/Windows, FoxPro].
1986 to 1988 (K O M Inc., Ottawa)
R & D Software Manager.
1988 to 1990 (K O M Inc., Ottawa)
R & D Manager.
1990 to 1992 (K O M Inc., Ottawa)
Consultant.
  • Design and code real-time data acquisition system “DAS”, three PDP-11s linked across Ethernet using custom-designed packet software, part of a standalone medical imaging storage and manipulation system. [RT-11, PDP-11/73 Macro assembler, Fortran].
  • Debug device driver “OptiFile” for WORM optical media, allowing disks to appear rewritable. [VMS, µVAX assembler].
  • Port “OptiFile” VMS device driver to Unix. Re-design for portability/maintainability. [C, SunOS, OSF, HP-UX].
  • Design and build standalone system “OptiFile III” with dual SCSI bus in a custom-designed multi-tasking O/S. [C, x86 assembler].
  • Design and code real-time voice&data-logging system “OptiLogger” with simultaneous audio playback&recording on WORM media, custom real-time file system, custom firmware [x86], multi-user control software. [RT-11, PDP 11/73 Macro assembler].
  • Design and code “OptiServer/VMS” to manage optical disk jukeboxes, auto swap disks when not in drive. [VMS, C, DCL, Rdb].
  • Design and code a document image management system “AIMS”, including an integrated SQL database (Gupta, Ingres) and API to maintain document and image-related keyword information. [Windows 3.0, Borland C, SQL].
  • Design and develop a similar document storage and retrieval system “Bazooka” [SCO Unix] featuring a custom workflow processing language, automatic indexing of documents via “compound document” (ODIF) format. [C, X Windows, Ingres].
1985 to 1986 (Genesys Group Inc., Ottawa)
Programmer.
  • Member of a team developing a NAPLPS (Telidon) database retrieval system, still used by OC Transpo. [COBOL, C, RSX-11M].
  • Implement a multi-user NAPLPS (Telidon) system for data entry and reporting. [COBOL, experimental Pasopia mainframe].
1981 to 1984 (Quadrex Information Systems, Montreal)
Co-Founder/Partner and Software Manager.
  • Design and build a sophisticated standalone word-processing system and VT-100 emulator inside a DEC VT-100 terminal (replacing the logic board with our custom-built board), featuring a multi-tasking operating system “Thoth”, a GUI word-processing system, a cross-compiler [C-like, Z8000], fast linker and hex EPROM burner [RT-11], and host file software. [RSTS/E, RSX-11M].
  • Hire and train programmers, a technical writer, and support technicians.
1978 to 1980 (Bell Northern Research, Ottawa)
Programmer.
  • Code and maintain “ANOM”, a simulation of traffic on a Telephone network. [Fortran, IBM VM/CMS].
  • Create a model predicting MTBF/MTTR from a parts list and a connection graph using MIL Handbook. [BASIC, Fortran].
1978 to 1979 (Carleton University, Ottawa)
Teaching Assistant/Research Assistant.
  • Teaching assistant, 3rd-year real-time programming course (PDP-11s). All my students got either A or A+.
  • Research assistant. Code and debug LALR grammar compiler system. [XPL].