Larry Colen
e-mail:
LRC@red4est.com
cell: 831-818-7729
url: http://www.red4est.com/lrc/resume.html
My resume formatted for printing: MSWord
format + OpenOffice
format + StarOffice
format + rich
text format + pdf
format
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.
Software: |
Design, writing, debugging, documentation and maintenance. |
Hardware: |
Design, construction, debugging, field service and component specification. |
Real-time control: |
Wrote software to control industrial systems in real time. |
Data acquisition: |
Real time acquisition of data on industrial systems. |
User interfaces: |
Designed and wrote user interfaces. |
Signal analysis: |
Real time analysis of digitized analog signals. |
Technical writing: |
Wrote user manuals and a textbook on performance driving. |
Teaching: |
Programming, rock climbing and performance driving. |
Project management: |
Responsibility for the work of myself and others. |
Software quality: |
Training in techniques and methodology for improving software quality. |
Programming Languages: |
C, bash, Pascal, FORTRAN, BASIC, |
Linux: |
Have been using Linux since 1994 (0.99p13). Kernel modifications at CIS. |
EXPERIENCE:
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
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
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
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 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
Projects:
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,
Sunnyvale CA
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
CA.
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.
OTHER INTERESTS:
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.
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