My resume formatted for printing: MSWord
format + OpenOffice
format + StarOffice
format + rich
text format + pdf
My resume formatted for email: ASCII (text) format
EXPERIENCE OVERVIEW and OBJECTIVES:
My degree is in Electrical and Computer Engineering, but I have spent most of my career writing software.
I have a lot of experience in embedded systems, firmware and other low level software, with some in operating systems, security, and networking. One of my biggest strengths is the tremendous breadth of my experience. However, my current goal is to gain more depth of experience in either operating systems or security.
I spent the first nine years of my career at DDI, then spent most of the remainder either at start-ups or contracting. While I'm open to either contracting or long-term work, my current goal is a long-term position at a company that is reasonably stable.
Design, writing, debugging, documentation and maintenance.
Design, construction, debugging, field service and component specification.
Wrote software to control industrial systems in real time.
Real time acquisition of data on industrial systems.
Designed and wrote user interfaces.
Real time analysis of digitized analog signals.
Wrote user manuals and a textbook on performance driving.
Programming, rock climbing and performance driving.
Responsibility for the work of myself and others.
Training in techniques and methodology for improving software quality.
C, bash, Pascal, FORTRAN, BASIC,
Have been using Linux since 1994 (0.99p13). Kernel modifications at CIS.
Jan 2013 - Feb 2014 Engineer at McAfee
Key member of team on Advanced Threat Detection,
a VM based malware detection system.
Wrote code for signed and encrypted update and installation scripts
Maintained and improved performance of the build scripts and Makefiles
Set up PXE boot server for network installation of system.
Provided support to other team members, implementing and enhancing code in both C and bash
Feb 2007 - Aug 2009 Engineer at LynuxWorks
Kernel engineering on LynxSecure, a Separation Kernel Hypervisor.
Wrote the absolute time functionality. A real time clock shared among all subjects on all processors, used primarily as a systemwide timebase.
Wrote the flexible scheduler, which allowed a subject to donate CPU cycles to other subjects.
Assisted other engineers, and the technical publications department with Engineering documentation.
Developed Technical Transfer presentations to teach the support staff about LynxSecure.
Did some work assisting with Common Criteria certification of LynxOS-SE.
Sept 2006 - Dec 2006 Contractor at SiRF
Modified existing software, wrote new tests and ran tests to help validate a prototype GPS chip.
Sept 2005 - Present Principal at Redforest Enterprises
Various short term and contract positions, including Zeidman Technologies , Rapport Incorporated , Dust Networks and 2Wire .
Tasks have included low level coding on ARM processors using various IDE tools or just text editors, debugging using In Circuit Emulators, Jtag debuggers, print statements or just a few LEDs, modifying the U-Boot bootloader, writing and optimizing power up memory tests, designing, writing and documenting diagnostic software and customer support.
I'm currently available for either contract or permanent positions.
Jan 2004 - May 2004 Contractor Digital
Provided Linux and security expertise in the design of an intelligent User Interface terminal for an Industrial control system. Wrote user interface software in GTK+ and glade.
Feb 2001 - Dec 2003 Sr. Engineer Recourse/Symantec
Recourse was purchased by Symantec in August of 2002.
I performed various tasks at Recourse, as needed.
I designed and implemented an administration daemon for Mantrap which would listen for commands from a client program via a proprietary communications channel, parse each command and then either call a function or spawn a processes to execute the command.
I implemented several upgrades to the content generation system on Mantrap, a deep deception honeypot..
I implemented an in house traffic generation system for load testing the Manhunt Intrusion Detection system. Trafgen consisted of multiple Linux systems that would boot from a floppy disk, run a small client program that would download the traffic generation software from a server, then run that traffic generation software.
I wrote a paper on techniques for detecting, or preventing the detection of honeypots.
I mentored junior engineers in engineering and programming practices.
I worked on loading test software and system installation during manufacture for a Linux based security appliance.
Feb 2000 - Sept 2000 Sr. Engineer Open Source Group / Olliance
Olliance was a strategic consulting firm for enterprises interested in using Open Source Software. I was employee #6 at the Open Source Group, which later merged with Olliance. As a Senior Engineer, I was involved in all aspects of a project from initial consultation to implementation.
During my first six months there, I was contracted out to Counterpane Internet Security doing Linux kernel programming. I have included the details below.
I upgraded a solid state boot disk image for an embedded Linux system used by Broadlogic
I provided engineering expertise on several visits to potential customers.
Feb 2000 - Jul 2000 Contractor Counterpane
Internet Security, San Jose
Counterpane was going to develop an in-house secure version of Linux using a capabilities model.. I implemented the first stage which was instrumenting the Linux Kernel (2.4) to log all system calls and forks. Counterpane subsequently decided to buy an off the shelf version of Linux with similar features.
Nov 1998 - Jan 2000 Sr. Engineer Internet Appliance, Fremont
Internet Appliance made a Linux based thin server aimed at the small to medium sized business. As a Senior Engineer my duties covered any engineering that needed to be done. I ran the engineering department in Singapore for several months until the new department head started. As needed I did system administration, programming, engineering support, technical and customer support, and worked the booth at trade shows.
Feb 1998 - Sept 1998 Engineer Packet Link Inc., San Jose CA
Packet Link was a startup developing an intelligent chip to be used in Wide Area Networking. As at most startups, my duties were basically to do what needed to be done. As a member of the Firmware and Architecture department most of my work involved learning WAN protocols and writing experimental software to determine how much time our chip would take to perform particular packet handling tasks. I was also involved in writing Linux Device Drivers, Technical writing (specifications, tutorials and presentations), developing the company Software Quality Process and Software Standards, and System architectural review. I was involved in the design of the instruction set for a proposed custom processor, and wrote sample code in that instruction set. When we decided to use an off the shelf MIPS core rather than a custom processor I wrote test code for such functions as Multi-Link-PPP in C and MIPS.
Feb 1996 - Aug 1997 Sr. Software Engineer at Schlumberger ATE,
San Jose CA
Wrote calibration and diagnostic software for a SPARC based, mixed signal Integrated Circuit Tester.
Wrote register test software. Rather than writing several programs to test the read/write registers of various boards in the mixed mode tester, I wrote a single engine, which would take register definition files as input and automatically test the appropriate registers.
Designed and wrote enhancements to Sysma, a System Analysis tool. Each piece of hardware that Sysma addressed had its own display screen, done in ASCII graphics. Rather than continuing the practice of writing new brute force in-line code for each new piece of hardware, I wrote an engine that would take a register definition file from the register test program, a screen definition file describing the layout of the display, and a file defining the valid commands for the screen and would automatically generate the code to read the status of the hardware, display it on the screen, await a command and call the appropriate hardware interface function. Once this engine was written, adding a new screen was simplified to creating the three definition files, adding some hooks in the main software and writing the few functions that would interact directly with hardware.
Wrote test and characterization software for a PLL controlled ADC clock circuit.
May - Sept 1995 Contract Programmer at Atalla Corp, San Jose CA
Updated existing Point of Sale Terminal software to work on new hardware platform.
Updated existing Automated Teller Card Programmer software to work on new hardware platform. This system used cryptographic protocols to insure secure transmission and confirmation of personal identification numbers.
1992 - 1995 Software Engineer at Edge Diagnostic Systems,
Wrote low level code for an Ignition analyzer. This system involved an Intel based machine running the user interface that communicated with a 32 bit processor which would collect, analyze and process the data in real time.
Developed the software for collecting the data, analyzing it for the location, frequency, magnitude and duration of the ignition events as well as processing the data for display and communicating with the front end machine.
Developed the software for machine to communicate with the signal processor and maintained the user interface.
Brought up new boards, debugged software using an In Circuit Emulator.
1983 - 1992 Engineer at Digital Dynamics Inc., Scotts Valley
Wrote the controller software for industrial glue machine, including process scheduler, data acquisition and control, and the user interface.
Designed user interface for controlling a fourteen channel Hot Melt Adhesive Supply Unit via a twenty key keypad and a two line by sixteen character display.
Developed a graphical method of explicitly describing the user interface to a computer-naive customer. The system had three levels of user access with separate passwords, individually settable temperatures, time delays and standby setpoints. Wrote the real-time executive and temperature control software in assembly.
Wrote the user interface, calibration and alarm software in Control Basic.
Helped bring up and debug the new hardware.
Enhancement of controller for industrial glue machine.
Converted the code from BASIC to C.
Wrote routines to target commercial cross-compilers (one on CP/M one, on MS-DOS) to the hardware.
Wrote code to implement timer control and scheduling.
Wrote code to emulate the hardware on a PC for debugging the user interface. The system was also accessible via a serial port for remote control by another computer.
On several Air-Flow Monitoring systems I did project management, user interface design and coding.
Gas pipeline leak detection software:
Improved an algorithm for detecting leaks by analyzing the real time signals from a natural gas pipeline.
Temperature Data Loggers.
Wrote the user manual for a temperature data logging system which used a PC to read data out of data loggers which took temperature readings at specified time periods.
Automated test system for a single board embedded controller:
Designed the hardware, both mechanical and electrical, for calibrating and testing both digital and analog circuitry.
Designed, wrote and debugged the test and calibration software for both the test system and the computer being tested.
Supervised the technician who built and debugged the hardware of the test system.
Analysis showed that the automated test system paid itself off in time saved over manual test after one hundred units of a several hundred unit production run.
EDUCATION: B.S. Electrical and Computer Engineering University of California at Davis, 1983
Emphasis: Software and signal processing.
Sr. Project: Multi-processor operating system. University of California at Santa Cruz, 1977-1978 Completed coursework while a senior in high school.
Owner and operator of Redforest, which started out as a semi-public access UUCP site, originally running on SCO Xenix, now running Linux.
In addition to my computer related skills, I have written the textbook used by the National Auto Sport Association in their performance driving school, taught performance driving since 1990 and have been active in road racing as driver, crew and flagger since 1988. my current race car is a Spec Miata, when time and money permit, I play with my supercharged 1969 MGBGT.
I ran the team driving my race car when we took fifth in class (thirteenth overall) in the 2004 25 hours of Thunderhill Enduro.
I wrote an article on code reviews published in the January 2001 issue of the Linux Journal.
My Professional objectives, what I look for in a job.
One fun thing about interviews are the quizzes to test what you know and how you think. If I were interviewing someone, I might give them this quiz. Answers to the quiz.
A small sample program.
Writing Debuggable Software: A missive that I wrote discussing various techniques for writing software in such a way that it can be easily debugged and maintained.
I enjoy dancing, mostly Lindy Hop, Blues and Victorian, with forays into Contra, Argentine Tango, Medieval and other forms. I built the Pan Galactic Ghetto Blaster to use as a portable sound system.
When my schedule permits, I enjoy studying Aikido.
Most recently modified by lrc at 070104 1400