I am an extremely proficient programmer and can manage small sized projects.
I have the ability to quickly understand and work with highly complex software
systems. I am as comfortable with writing micro code for exotic hardware
as I am with designing image processing algorithms. I've tackled the intricacies
of locking such as priority inheritance, and the internals of network
stacks. I am always looking for difficult problems to solve and new
challenges to surmount.
I wrote phython scripts that generated configurations of machines for production
and crawl, including optimal assignment of machines to roles
using a mysql database of machine characteristics. The software was written as
a collection of software modules using python classes. Different productions sites,
and the crawl used rules that mapped roles to hardware requirements, and were instantiated
from a factory class.
I wrote a C++ program for distinguishing email from other web pages.
CacheFlow Inc. Member of the
Technical Staff Nov 1999-Aug 2001
Next Generation Object Store for CDN system based on NetBSD - I
designed and implemented an in-memory cache for very fast access and low
latency, with a large tree to store the namespace, and http objects in kernel
memory. It interfaces with a kernel HTTP layer using asynchronous events. I
designed and implemented locking and synchronization for this store, so
multiple attempts to update an object would be blocked and coordinated.
Windows Media Cache/ QuickTime RTSP/RTP Media Cache - I prototyped
a system for connecting and recording digital media based on the Darwin
Streaming Server for QuickTime. I reversed engineered Windows Media transport
and headers so that content could be cached
New 1U hardware platform for cache appliance I diagnosed and fixed
a broken piece of hardware, that had cooling and mechanical problems, and a
broken bios. I worked around broken hardware for a front panel display, and
broken environmental chips with driver changes.
Silicon Graphics. Member of the
Technical Staff (Core Design) July 1994-Nov 1999
Desktop Graphics Jan 1997-Nov 1999 I worked on our next high speed
desktop graphics product. My responsibility included defining parts of the DMA
and graphics front end processor. After the hardware arrived, I found several
critical hardware problems and found ingenious software workarounds. I devised
a lock free method for the on board graphics memory manager. I changed our
kernel texture manager software. I managed software patches for Alias/Wavefront and
other key independent software vendors.
Digital Media Jul 1994-Dec 1997 Octane and Impact Compression project
lead. I pushed the project from inception to release on three different
platforms. I worked on other Digital Media applications, defining many aspects
of the hardware and the structure of the device drivers. After another
programmer quit, I rewrote many parts of the micro code on the board. I worked
with Earthwatch, Avid, and other customers to make the system
software meet their requirements.
I worked on a replicated reliable file system, compressed log based file
system, micro-kernel operating system, ATM switch, JPEG decoder/encoder, TCP/IP
stack for TAOS operating system.