
Senior Software Analyst at Semiconductor Insights
Ottawa, Canada Area

Senior Software Analyst at Semiconductor Insights
Ottawa, Canada Area
I have extensive experience with small and large realtime embedded systems, ranging from telecom to medical. I grew up with process control and telecoms, and have since written three books on the QNX operating system, numerous articles, designed and presented training courses, architected several systems (medical, process control, telecoms), and written about a half million lines of C/C++ code.
My goal is to apply that experience to help companies succeed with their projects.
I've transitioned out of consulting, and am now working full-time.
I am interested in linking with people who share my interests in embedded systems and antique computers -- linkedin@parse.com.
Systems architecture, deep understanding of application programs through to assembly language and hardware, excellent communications skills.
I speak fluent Czech.
(Privately Held; 51-200 employees; Semiconductors industry)
April 2008 — Present (1 year 8 months)
As part of the software team, I'm responsible for the development and implementation of test strategies to assert patents, write supporting documentation, brief customers on findings, reverse engineer (RE) code, and create infrastructure to support systems and software analysis.
(Computer Software industry)
June 1991 — March 2008 (16 years 10 months)
PARSE Software Devices provides general consulting services. Major contracts are listed individually; this entry serves as a placeholder for small and odd jobs including:
- writing, publishing, and promoting three QNX books
- scripting and development of a computer-based QNX training course
- miscellaneous "hour here, hour there" consulting
(Medical Devices industry)
April 2007 — August 2007 (5 months)
Worked on part of the control system for the Syncardia "Cardio West" which forms part of the Temporary Total Artificial Heart. I was responsible for a data manager, logger, alarm manager, and a watchdog monitoring process, as well as providing general QNX experience to the team. I produced not just code, but updates to the software requirements documents, and wrote detailed software requirements and documentation for the above modules.
(Medical Devices industry)
April 2004 — October 2006 (2 years 7 months)
Architected, designed, and implemented the vast majority of the software for the Gammacell 40/1000/3000 Blood and Research Irradiators (Cesium 138 based) under QNX Neutrino (approx. 50kLOC). Also took high level requirements docs (SRS) and created detailed software requirements (SDD) which formed the basis for the software development. Lots of experience with the medical device software process from start to finish, including code vaulting, build procedures, and verification. Also consulted on the Theratron, a Cobalt 60 based radiation therapy machine, also QNX based.
(Mining & Metals industry)
March 2003 — August 2003 (6 months)
Provided QNX expertise to development staff; wrote a data acquisition system based on shared memory mapped data regions for high speed access.
(Public Company; Telecommunications industry)
July 1998 — May 2003 (4 years 11 months)
Responsible for implementation of GSR "primary/standby arbitration" feature under IOS/ENA; documentation, and CRS training course generation and presentation. Also general QNX consulting to the development teams.
(Telecommunications industry)
July 2001 — December 2001 (6 months)
Provided general QNX consulting to the development team. Also wrote several utility programs, for system monitoring, and rotating logfiles.
(Public Company; Chemicals industry)
February 2001 — May 2001 (4 months)
Analyzed proprietary OMNX system for scalability and reliability; put together automated regression testcases; wrote a shared-memory-over-ARCNet driver. All tasks performed under QNX 4.
(Computer Software industry)
1995 — 2001 (6 years )
Designed and presented the four-day "Realtime Programming under Neutrino" course, and designed and presented the three-day "Writing a Resource Manager" course. These are deep technical courses dealing with applications programming through to device driver programming for the QNX Neutrino operating system. Also wrote a prototype for the QNX Neutrino native network manager kernel interface. Lots of customer presentations and training courses given as well. Wrote a significant portion of the "Building Embedded Systems" book shipped with QNX.
(Computer Hardware industry)
November 1997 — April 1998 (6 months)
Ported Genesis Framegrabber software from Windows/NT to QNX 4, with notes for future QNX 6 compatibility.
(Computer Hardware industry)
November 1996 — January 1997 (3 months)
Ported the XPG framegrabber software from Windows to QNX 4.
(Public Company; Telecommunications industry)
September 1994 — December 1996 (2 years 4 months)
Two roles; base level DMS-100 (huge, class 5 central office switch) testcase author (including writing a parsing tool for the proprietary T-language in a weekend because management said it couldn't be done in less than 6 months), and presented the "Introduction to Call Processing", a 3-day course which describes the operations of the software on the DMS-100 from the time a customer goes off hook through to call completion, as well as internal details of translations and routing, software implementation, etc.
(Public Company; Defense & Space industry)
February 1993 — September 1994 (1 year 8 months)
Wrote testcases using X-Ray debugger for IIDS, maintained the CMR-91 C-band radar software (8051-based microcontroller), wrote software detailed design documentation, and worked on testcases for the CF-UTTH AMS CDU (avionics control / display unit for a helicopter).
(Defense & Space industry)
September 1992 — January 1993 (5 months)
Worked on SPAR Aerospace's RADARSAT verification software under Unix.
(Telecommunications industry)
September 1991 — September 1992 (1 year 1 month)
General QNX consulting to the development team; wrote a service node simulator, an X.25 simulator at the API level (because we didn't have the hardware early on in the project); wrote > 2k lines of shell script for system startup and maintenance; miscellaneous utilities and software components.
(Public Company; Medical Devices industry)
June 1991 — June 1991 (1 month)
Wrote an ARCNet terminal program under MSDOS; involved programming the ARCNet chip directly.
(Computer Software industry)
May 1987 — May 1991 (4 years 1 month)
Designed and/or maintained, and documented most of the software products in the "bitbus" product line, including an 8044 (effectively, an 8051 with bitbus) assembler, C compiler, ladder-logic-to-basic graphical editor, and network-based bitbus debugging tool. Attended tradeshows, drank beer, a good time was had by all.
(Computer Software industry)
July 1984 — December 1986 (2 years 6 months)
Responsible for most of the initial coding and architecture of the "Alexander Plus" family of products, a background resident Telex application for PCs back in the days of DOS 2.1 when this was quite a feat :-)
(Public Company; Telecommunications industry)
June 1984 — July 1984 (2 months)
Student type work on PACX-2000 and the statmux (Z-80 based); used a VAX and learned UNIX V6 "ed".
1979 — 1984
1977 — 1979
1969 — 1977
Collecting and restoring antique minicomputers (specifically, PDP-8 series minis from DEC; I'm always looking for more, see my museum page)
Former member of MENSA Canada (no, I didn't get less intelligent, I just let my membership lapse :-))
2 Presentations on FreeBSD applications at BSDCan 2007, PDP Collectors, BSDCan
Certificate of Merit from STCEO (Society for Technical Communications of Eastern Ontario) twice; once for each book