| Experience |
| Leenback TV, Inc. |
Los Altos Hills, CA |
2008-2009 |
| Engineer |
- Designed and implemented all of Leenback's
server-side software. Wrote the Rails-based front end and
administration tools. Managed the deployment and operations
of the production site.
- Designed and administered the MySQL-based production
database.
- Implemented AJAX-based DHTML controls and user-facing
content on the site.
- Wrote the first version of Leenback's software in
Java using Hibernate, Spring, and Stripes. Researched and
recommended the switch to Rails when
Hibernate limitations proved unrealistic for our two-person
engineering team to work around.
|
| Rexee, Inc. |
San Mateo, CA |
2007 |
| Director of Operations |
- Converted Rexee's research projects into strong,
deployable systems. Implemented unit testing,
functional testing, and logging to ensure
system stability, transparency, and
prevent regressions.
Wrote the build and deploy
machinery in Perl, Bash, and GNU Make.
- 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.
- Rebuilt Rexee's information infrastructure.
Established high performance clustered
computing infrastructure.
- Wrote a fast, space-efficient Nister
vocabulary tree in C++ to serve as a highly
optimized database for image recognition and
classification.
|
|
| 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 |
|
|