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
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. |
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. |
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. |
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. |
Open-source free software projects I have contributed to, and which are not otherwise listed above: