February 15, 2007

OBJECTIVE 

Senior position in Unix kernel or operating system development. 

EDUCATION 

Bachelor of Science in Computer Science from Stephen F. Austin State University, May, 1986. 

SKILLS 

EXPERIENCE 

November 2006 – Present.  Micro Memory, LLC., Chatsworth, CA.

Software Engineer. 

Wrote requirements and design specification for embedded interprocessor communication software. 

March 2006 – November 2006.  SPARTA, Inc.,  El Segundo, CA.

Contractor. 

Development of HAT TRICK for DARPA Control Plane project, to improve TCP performance over intermittently lossy multipath links.  Development in the Darwin Security Extensions Project to add device security to the MacOS I/O Kit among other things.  Contract ended 11/30/2006.

November 2005 – March 2006.  QLogic Corporation,  Westlake Village, CA.

Member of Technical Staff. 

(Via acquisition.)  Continued maintenance and enhancement of storage virtualization platform software.

February  2005 – November 2005.  Troika Networks, Inc.,  Westlake Village, CA.

Senior Member of Technical Staff. 

Maintenance and enhancement of storage virtualization platform software.  Added synchronous mirroring support functions, other minor API extensions and improvements.

November  2003 – February 2005.  HRL Laboratories LLC,  Malibu, CA.

Consultant/Computing Specialist. 

Hired 11/2 to write a system of three Linux device drivers to support and control a system communicating over Myrinet and 100BaseTX networks for demonstration 12/2, succeeded despite extremely aggressive schedule.  Wrote Linux 2.4/RTLinux realtime system to support network simulator.  Implemented multilayer IPsec in Linux 2.6 from draft specification, successfully demonstrated to customer despite effort having been vastly underestimated.  Later completely redesigned and reimplemented multilayer IPsec.  Senior of two software engineers and one of only two kernel programmers.

January – November 2003.  Exit Consulting,  Redondo Beach, CA.

Independent research, consulting, sales. 

Various threads of independent research during job search.  Worked with OpenSSI, wrote a multiport serial device driver for FreeBSD, experimented with GPS-based high-resolution, high-accuracy computer timing software and hardware solutions, other professional research and investigation.

April 2001 - January 2003.  Wind River Systems, Inc.,  Alameda, CA.

Member of Technical Staff. 

(Via acquisition.)  Helped bring fine-grained, threaded BSD/OS 5.0 to market.  Continued previous work, fixed bugs, performed unit testing and benchmarking.

August 2000 -  April 2001.  Berkeley Software Design, Inc.  (BSDi),  Colorado Springs, CO.

Member of Technical Staff. 

Primary and eventually sole member of a team to complete fine-grained locking/threading in BSD/OS kernel. Designed, implemented locking techniques for various parts of the kernel using existing primitives. 

August 1996 -  August 2000.  Tandem Computers, Inc./Compaq Computer Corp.,  El Segundo, CA.

Software Designer 3. 

Helped port Locus SSI clustering technology to Unixware 2 and 7.  Supported Cluster Membership Service (CLMS); implemented coherent state transition support to allow a reliable Membership API; added failure recovery and support of failure recovery of other key cluster services to CLMS; restructured CLMS for reliability and ease of maintenance; improved reliability and correctness.  Began port of NSC to Linux.  Work now publically available as part of the Cluster Initiative for Linux project and OpenSSI.

July 1994 - August 1996. Locus Computing Corporation/Platinum Technologies,  Los Angeles.

Principal Member of Technical Staff, August 1995 - August 1996. 

Designed and implemented CLMS support of failure recovery of other key cluster services; eliminated single points of failure for key services and for CLMS. Fixed bugs in CLMS and other subsystems. 

Senior Member of Technical Staff, July 1994 - August 1995. 

Helped port Locus TNC to SVR4.2ES/MP. Distributed PROCFS, asynchronous I/O, priocntl, sigsendset, part of the  “/dev/tty” device driver, FDFS and PROFS, via TNC RPC mechanisms, including recovery in the event of node failure. Worked on the distributed process mechanism, ported token-based mechanism used to keep the “file” structure coherent between processes on separate nodes.  Added SMP support, fixed bugs in various subsystems.

March 1993 - July 1994. Advanced Computing Systems Company, Los Angeles. 

Member of Technical Staff. 

Helped designed and write an NFS-based caching file system, wrote fsck and logging functions, plus a device driver and a file system import utility. Provided technical expertise and guidance to junior members of team. Instrumental in implementing software engineering methodology.  Helped design a hierarchical storage system, subsequently abandoned.

December 1991 - March 1993. Tandem Computers, Inc., Austin. 

Software Designer III, Unix Software Quality Assurance. 

Kernel and applications QA testing on Tandem fault tolerant Unix systems.  Studied System V Release 4 kernel in detail to facilitate test development.

May, 1987 - December 1991. Bull HN Information Systems Inc., Los Angeles Development Center. 

Senior Engineer, Software, December 1988 - December 1991. 

Enhanced, maintained CP-6 (mainframe) file management; improved access methods, user interface, low-level disk I/O cache.  Helped port third-party Pick implementation to a Bull SVR3 system.

Engineer, Software, May 1987 - December 1988. 

Co-wrote a Unix-based optical disk data archival system using a Motorola SVR3 system and a Filenet optical disk jukebox. Co-wrote SVR3 device drivers and the mainframe interface.  Enhanced and maintained the CP-6 file system and tape file management.

June 1986 - April 1987. Texas Instruments, Plano, TX. 

Software Programmer Analyst, Information Systems and Services. 

Modified PC-based packages for use with new 802.3 NIC and Token Ring LAN. Rewrote one package to make it run efficiently on IBM PC. Wrote several Unix tools; worked with XNS. 

PROFESSIONAL ORGANIZATIONS 

Member of Usenix, 1994 to present. 

Member of IEEE, 2002 to present. 

Member of IEEE Computer Society, 2002 to present. 

REFERENCES 

Available upon request.