Zygo Blaxell

This is the long version of my CV. It contains all of my employment history (as well as a few personal projects) in exhaustive detail. It is far too long to send to employers, and with no sign of a deletion policy, it can only get longer as time goes on.

The long version will tend to show up in search results, so if you've come here from an Internet search, you might want to go to the short version instead. The long version is available online at http://www.hungrycats.org/~zblaxell/resume-long.html

The short version of my CV focuses on things I'm looking forward to doing again. It is available at http://www.hungrycats.org/~zblaxell/resume.html

Contact Information

E-mail: zblongcv@hungrycats.org
Location: Ottawa, Ontario, Canada


An accomplished problem solver with 16 years of experience in systems-level software development and information technology operations, building mission-critical systems from open-source tools. Key strengths include a demonstrated eagerness to learn, an impatient desire to get things done, and fanatical attention to detail. Equally comfortable with highly structured, peer-reviewed product change management processes and MacGyverish mash-ups of software and hardware.

Skills and Experience Summary Table

10-15 Years Experience

Linux Application development, system administration, network administration, kernel and device driver development, security analysis, software porting. Experienced with Debian, Ubuntu and Red Hat distributions, OpenEmbedded (Angstrom, custom). Maintained packages for Xandros. Built custom root filesystems from source.
GNU Toolchain C/C++ development tools (gcc/g++, gdb, make, autoconf, automake, libtool, cross-compilation, Android SDK, OpenEmbedded, qemu, ltrace, strace, valgrind). SCM system administration and build system integration, including git, Subversion (SVN) and CVS.
Shell scripting Bourne shell, csh, sed, awk, regular expressions, build systems, system monitoring, network monitoring.
Perl Database administration, web development, application proxies, log analysis and reporting tools, cross-platform testing, debugging third-party scripts. Catalyst, Rose::DB::Object, Template Toolkit, mod_perl.
Information Security Internet firewall design and implementation, security policy, code audit and verification, intrusion analysis and recovery, Linux/Unix host security, some cryptography.
Internet-facing Server Administration Apache, Perl, CGI, INN, Bugzilla, MediaWiki, sendmail, exim, postfix, bind on Linux. Server configuration, application development, security auditing. Customised implementations of SMTP, NNTP, POP3, HTTP protocol servers and proxies. Redundant server implementation, load-balancing, fail-over.
System Administration and Support Mixed Windows, Unix, Linux, Mac environments. Supported computer science undergraduates, small software development companies, large CAD environments.
C++ Developing and porting applications (IBM Visual Age, Microsoft Visual C++, GNU g++ on Linux/Unix and Win32). Custom EDA tools, large image (hundreds of gigapixels) processing, UI development. Cross-platform development, 32- to 64-bit migrations, ARM ports.
C Most experience in Linux environment, with intermediate experience in other Unix environments, Microware OS-9, and Windows 95/NT. Strong knowledge of ANSI standards and portable software development techniques. Much experience debugging 3rd-party programs and libraries, with or without complete source code.

5-10 Years Experience

Tcl/Tk Tcl as a portable runtime layer and simulation control language, embedded device control applications, GUI development, distributed processing using mobile agents, IRC information system robots. Some GUI programming with Tcl/Tk.
Device drivers Wrote device drivers for sensors (magnetic, light, temperature, image), digital cameras, FM radio tuners, power switch relays, servo motor control systems. Designed and built some of the hardware as well.
Solaris/SunOS System administration, software porting, cross-platform testing, SunOS -> Solaris migration support. i386 and Sparc platforms.
non-x86 CPU Architectures Developed, maintained, or ported software to Alpha, AMD64, ARM, MIPS, and Sparc.
Qt Developed software to support read-back of circuitry from images of integrated circuits. Tuned performance of drawing operations. Implemented database interface layer for EDA application. Built custom UI for Bluetooth pairing and device management. Developed multi-platform GUI tool to configure OMAP-based medical devices.

2-4 Years Experience

PostScript/PDF Text-to-PostScript translators, automated document layout and formatting, custom report generators from schematic (EDA) data, JavaScript menus in PDF files.
Assembly Language Motorola 6809, Intel 8051, 8086, MIPS. Microware OS-9 real-time operating system. Microcontroller-driven embedded systems.
Electronic interfacing, digital hardware design Designed and built controller and data acquisition cards, serial port interfaces, a hardware memory copy accelerator, remote sensors for 6809-based and 80386 ISA-bus systems.
Bluetooth Integrated bluez Bluetooth stack into embedded Linux builds. Implemented configuration UI and customised automation for HFP, HSP, A2DP, OBEX FTP/OPP, GAP, DUN, PAN profiles and GPS receivers.

1 Year Experience or Less

OpenEmbedded Built custom Linux system images based on Angstrom for Logic OMAP 3530 LV-SOM reference boards with proprietary hardware expansion cards. Optimized build system to reduce image size, boot time and build time.
Android Built Android SDK and installing system image on Qualcomm reference board. Enabled the bluez Bluetooth stack in Android and installed third-party Java .apk files to provide UI.
Microsoft Windows, DOS Software development in Visual Basic/C++, Borland C/C++, IBM Visual Age C++, network administration. Contributed to the Wine project, a Win32 API replacement for Linux.
Miscellaneous Unix-Like OS FreeBSD, AIX, HP-UX, Ultrix, EP/IX software development.
Fax Class 1 and Class 2 Fax modems, application server code using Hylafax and mgetty+sendfax to send and receive faxes, send email and other notifications upon receipt of incoming faxes, convert incoming G3 files to other image types. Fixed security issues in mgetty.

Software Development Work Experience

eSight (2010)

Mandate: Develop software as required to drive an OMAP-based vision enhancement device.

Xandros (2009)

Mandate: Integrate the Linux Bluetooth stack with Xandros's Linux products.

Roaring Penguin Software (2008)

Mandate: Develop web-based application software for an ad-driven web site using Linux, Apache, PostgreSQL, and Perl.

Chipworks (2000-2007)

Mandate: Design, develop, support, and maintain critical in-house applications for automated image acquisition of integrated circuits and subsequent electrical analysis of the image data. Contribute Linux expertise to the IT department. Provide support to lab operations.

Linux Application Software Development

Linux Device Driver Development

IT Support

Operations Support

Corel Corporation (1999)

Mandate: Extend the open-source Wine software to provide Win32 API routines required to implement a Linux port of Corel desktop applications. Provide technical support for the Corel Linux desktop software group.

Linux Application Software Development

IT Support

Linux System Software Development

Information Security

Myrus Design (1995-1997)

Mandate: Set up and maintain automated testing systems and source code revision control, port the software and verify consistent operation on all supported platforms, and create packages for end-user distribution; to perform internal IS functions ranging from end-user desktop support to security administration; and to operate the corporate Internet servers.

Linux Application Software Development

IT Support

Information Security

Various Contracts (1993-1997)

Mandate: Technical consulting under contract with various clients.

Open-Source Software Contributions (1992-present)


Open-source free software projects I have contributed to, and which are not otherwise listed above:



Interests and Self-initiated Projects