Larry Colen home: 831-335-7505 + cell: 831-818-7729 + e-mail: lrc@red4est.com For more details, please see:: http://www.red4est.com/resume.html 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. Software Engineering, System design, Data acquisition, Real-time control, Networking, User interfaces, Signal analysis, Technical writing, Project management, Unix, Linux, Software quality, Teaching, Distributed computing Programming Languages: C (15 years), Pascal, FORTRAN, BASIC, several Assembly Languages including: ARM, MIPS, Intel 8080, Zilog Z-80, Hitachi HD64180, Dec PDP-11 and TI TMS320. EXPERIENCE: 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 Dynamics Inc. 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 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. Implemented several upgrades to the content generation system on Mantrap, a deep deception honeypot. 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. 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. Upgraded a solid state boot disk image for an embedded Linux system used by Broadlogic 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 and Singapore 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 programming, system administration, 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 with under 10 employees, 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 Writing calibration and diagnostic software for a SPARC based, mixed signal Integrated Circuit Tester. 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. Enhancements to Sysma, a System Analysis tool. Basically 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. Test and characterization software for a PLL controlled ADC clock circuit. May - Sept 1995 Contract Programmer at Atalla Corp, San Jose CA Point of Sale Terminal: Updated existing software to work on new hardware platform. Automated Teller Card Programmer: Updated existing 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, Sunnyvale CA 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 CA. Controller for industrial glue machine. 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. 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. 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. 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. OTHER INTERESTS: 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 for five years and have been active in road racing as driver, crew and flagger since 1988. my current racecar is a Spec Miata, though when time and money permits, I play with my supercharged 1969 MGBGT. I ran the team driving my racecar 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.