| Experience |
| Rexee, Inc. |
San Mateo, CA |
2007 |
| Director of Operations |
- Converted research projects into strong,
deployable systems. Implemented unit testing,
functional testing, and formal loggin to ensure
system stability, transparency, and
zero regressions. Ported Windows-based
OpenCV projects to Linux clusters with
performance tuning and optimization.
Wrote the build and deploy
machinery in Perl, Bash, and GNU Make.
- Rebuilt Rexee's information infrastructure.
Provided high performance clustered computing.
- Wrote a fast, space-efficient Nister
vocabulary tree in C++ to serve as a
large-scale database for image recognition and
classification.
- Specified and deployed tools such as Trac,
Drupal, and Subversion to improve internal
communication and
code sharing. Instated policies to ensure safe
merging and deployment.
|
|
| Lyris, Inc. |
Emeryville, CA |
2006 |
| Engineering Contractor |
- Designed, wrote, and integrated ListManager's
rich content editor and "drag-and-drop" image
library using AJAX technologies.
press release
- Used agile development methods to deliver a complete,
usable product from informal specifications on a highly
accelerated schedule.
- Prototyped in PHP for agility, then rewrote
to deploy into Lyris's
tcl/C++/Postgres-based back-end.
- Worked remotely from Boston, MA.
|
|
| NetScaler, Inc. |
San Jose, CA |
2004 - 2005 |
| Engineering Contractor |
- Created a fast TCP layer 7 stream rewrite engine for
the NetScaler kernel. Designed a simple programming
language to specify rewrite operations and wrote
the corresponding compiler and kernel-space bytecode
interpreter.
- Wrote a web-based management console for NetScaler
arrays using Perl, HTML::Mason, Apache mod_perl, and RRD.
- Wrote a web-based Java applet that interpreted
Bash-like command scripts to simplify the
installation and reconfiguration of individual NetScaler
servers.
|
|
| i-drive.com |
San Francisco, CA |
1999 - 2001 |
| Server-Side Engineer |
- Helped write and maintain i-drive's Java/JSP and
XSLT-based page generation. This included creating
DHTML templates, implementing efficient database schemas
and administering the Oracle database.
- Moved file storage from the Oracle database to
cost effective NAS arrays. Helped rewrite portions of the
Java-based file download and audio streaming infrstructure
in C with asynchronous I/O.
- Other tasks included writing the task scheduler,
rewriting the database connection pooling, and
compliance and load testing.
|
|
| OpenTV,
Inc. |
Mountain View, CA |
1998 - 1999 |
| Software Engineer |
- Maintained OpenTV's embedded real-time operating system.
Worked on everything from the low-level
MPEG streaming to the high-level user interface.
- Redesigned and rewrote the MPEG-2 demultiplexing and
DVB-SI engine.
- Development was on Sun/Solaris workstations. Production
environments included QNX, VxWorks, Mach-based and
custom microkernels.
- Lived in France for six months performing engineering
support and hardware bring-up for OpenTV's French
customers.
|
|
| Be,
Inc. |
Menlo Park, CA |
1996 - 1997
|
| Software Engineer |
- Designed the low-level graphics architecture
for the Be Operating System. Worked with VESA and third-party
developers to ensure it was fast, secure, and easy
to use.
- Managed the full life cycle of Be's graphics driver
collection. This included market analysis to determine
which cards and features to support given Be's
limited engineering resources, creating and maintaining
professional relationships with hardware vendors, writing
specifications, writing and maintaining the drivers
themselves, supporting third-party driver authors, bug
tracking, and technical support.
- Used trade show presentations, Internet mailing lists,
and newsletter articles to present and evangelize new
BeOS technology to third-party developers and
customers.
|
|
| Diamond
Multimedia, Inc. |
San Jose, CA |
1995 - 1996 |
| Software Engineer |
- Wrote drivers and acceleration for the Javelin video
card for Macintosh. This involved the PCI driver,
firmware driver, F-Code driver, QuickDraw acceleration,
and QuickTime codecs.
- Brought up the Power3D PCI card. Wrote the low-level
drivers and QuickDraw 3D RAVE hardware acceleration.
- Created the software for a working prototype of a
Macintosh audio/video capture and playback card based on
the Philips Pantera chipset.
|
|
|
|
|
| Languages: | C/C++, Java/JSP, C#, Perl, Python,
Ruby, MATLAB, HTML/XHTML/CSS/JavaScript, XML/XSLT, Shell
Scripting |
| Operating Systems: | Linux, Solaris, Windows,
MacOS, BeOS. |
| Methodologies: | LAMP, AJAX, Ruby on Rails |
| Databases: | PostgreSQL, MySQL, Sqlite, Oracle |
|
|