Nicholas Duffek

(978) 618-3947
nick@duffek.com

Summary

25 years of professional experience in developing UNIX and Windows software and contributing to free software projects.

Languages

C, C++, FORTRAN, BLISS, BASIC, Pascal, LISP, Guile, Emacs Lisp, Scheme, Prolog, Perl, AWK, m4, Lua, Python, TCL, Bourne shell, C shell, DOS shell, SQL, TeX, LaTeX, HTML, JavaScript, Java, PHP, SGML, XML, HTTP, DNS, SMTP, Texinfo, troff, pod, HPPA assembly, x86 assembly, PowerPC assembly, ARM assembly, VAX MACRO, DCL, TPU, Yacc, Lex, ESC/P2, Postscript, RTF

Systems

Windows, Android, DOS, Cygwin, Palm OS, VMS, Macintosh OS/X, HP-UX, Linux, IRIX, SCO UNIX, UnixWare, Tru64, Solaris, SunOS, AIX, FreeBSD, AT&T UNIX, CLIX, Pyramid OSx, ULTRIX

Experience

Windsor Technologies, LLC

July 2003 - Present

Chief software developer. Design and implement RealEd, an integrated management system and LMS targeted at professional schools and providing student registration, class scheduling and management, credit card authorization, bubble sheet test scanning, report generation and customization, template-based document generation, bookstore tracking, fine-grained group-based security, online course delivery, and an API for school web sites to offer student self-registration and payment. Prototype and demonstrate a replacement for Hewlett-Packard's worldwide customer marketing database.

Aerva

December 2005 - September 2007

Linux consultant. Maintain and improve various components of a Linux-based digital signage platform on a small form factor computer.

SavaJe Technologies

August 2005 - September 2005

GDB consultant. Enhance a read-only GDB stub in a real-time ARM embedded device to support breakpoints, single stepping, writes to memory and registers, thread debugging, pageable memory, and interleaved serial output.

Hewlett-Packard Cambridge Research Laboratory

January 2002 - July 2003

System administration and programming consultant. Migrate handhelds.org web, ftp, CVS, and DNS services from California to Massachusetts. Apply various security enhancements, including a transparent iptables-based firewall controlling access to all handhelds.org systems. Convert handhelds.org web pages to a unified PHP format that simplifies authoring and guarantees consistency across pages. Implement and deploy adminproj, a system for administering all handhelds.org users, projects, and hosts with a public web-based interface, Kerberos authentication, and an LDAP back end. Construct and maintain a public cluster of 8 iPAQs running Linux. Implement an autobuild system for building multiple Linux distributions for multiple architectures, including two ARM distributions built on the iPAQ cluster. Implement mailsentry, an anti-spam whitelist/blacklist system, and use it to eliminate spam on handhelds.org mailing lists.

Boston Business Computing, Ltd.

October 2001 - December 2001

VMS-to-UNIX migration consultant. Continued development of Vbackup, a binary-compatible emulation of VMS BACKUP: implemented 64-bit file support in Linux port, added ACL support, worked on Windows port. Added features to Vmail, an emulation of VMS MAIL.

Innovative Software Solutions, Inc.

September 2001

VMS-to-UNIX migration consultant. Wrote utility to parse COBOL code specifying data formats, convert several hundred megabytes of data from VMS indexed and sequential files to Windows comma-delimited format, and generate reports of data layouts and errors detected/corrected.

Red Hat, Inc.

February 2001 - August 2001

GDB (GNU debugger) consultant. Implemented shared library support in Tru64 5.x GDB, fixed GDB and GCC problems in Tru64 5.x tool chain. Implemented bigtoc support in AIX GDB. Constructed test suite for Sun Chorus GDB hosted on Solaris and Windows NT with PowerPC, SPARC, and x86 targets. Analyzed and fixed bugs in GDB's PowerPC, i960, m68k, COFF, and Insight support. Worked on GDB and SID support for new Harvard architecture with math coprocessor hosted on Cygwin, Solaris, and Linux. Provided assistance with documentation.

Red Hat, Inc.

February 2000 - February 2001

GDB (GNU debugger) developer. Ported GDB with full C/C++ support to a new Harvard architecture hosted on Cygwin, Solaris, and Linux. Ported GDB with assembly-only support to a new math coprocessor. Designed and implemented a new register definition interface and Harvard address space handler for GDB. Implemented GDB thread support for UnixWare and AIX. Analyzed and fixed bugs in GDB, Insight, Cygwin, BFD, and SID.

Cambridge Isotopes

December 1999 - April 2000

UNIX-to-Windows migration consultant. Provided advice and assistance in migrating a customer database from UNIX to Windows. Implemented a utility to decode the raw UNIX database into multiple flat text files suitable for importing into Windows databases.

Boston Business Computing, Ltd.

June 1991 - February 2000

Senior software developer. Implemented Vbackup, a binary-compatible emulation of VMS BACKUP, for UNIX and Windows. Enhanced and maintained Vmail, an emulation of VMS MAIL. Implemented Vconvert, a utility to convert VMS MAIL files to UNIX format. Implemented an emulation of VMS DIFF. Enhanced and maintained the license manager and installation programs distributed with all products. Provided technical support for all products.

Designed and implemented a typesetting language for generating HTML, Postscript, RTF, and plain text. Used that language to write the Vbackup user manual and the installation and troubleshooting guide for all products. Wrote software to automatically generate invoices, packing lists, and media labels from the customer database. Implemented an Epson ESC/P2 processor to help generate on-the-fly CD-ROM labels. Wrote an HP line printer device driver for Ghostscript to help generate shipping labels.

Enhanced and fixed bugs in various free software packages, including Perl, DOSEMU, GCC, Emacs, Ghostscript, and the Linux kernel. Provided migration consulting services to third parties. Assisted in administering a network of UNIX, Windows, and VMS systems.

Wall Street Systems

October 1995 - March 1996, October 1998

VMS-to-UNIX migration consultant. Provided advice and assistance in porting a securities tracking system from VMS to Digital UNIX and HP-UX. Implemented UNIX replacements for VMS shared memory, inter-process queueing, and inter-process signaling routines.

Education

Brandeis University

May 1991

Bachelor of Arts in Computer Science, Summa Cum Laude, Phi Beta Kappa.