Objectives |
Write hard code for fun projects. Work with cool
people who are smarter than me. Build the future I want to live in. |
Skills |
Object-Oriented Design and Programming,
Agile Methods (XP/Scrum), C/C++, Python, Ruby (on Rails), Javascript (AJAX), Java, Smalltalk, COM, ActiveX, MFC, MySQL, Oracle, 4th Dimension, VRML/X3D, Java3D,
JavaScript, CSS, XML, XSLT, HTML, Windows (3.x, 95, NT, 2000), Mac, Unix (Linux),
PhotoShop, 3D Modeling and Animation |
Experience |
2003 - Present DreamWorks
Los Angeles, CA
|
Multiple development projects throughout the studio, including:
- Interactive character rigging tools
A C++ application for defining skeletal motion systems
for CG characters, then applying those systems to a
series of surface deformation systems. I developed most
of the user interface subsystems, including a lightweight
workflow engine and declarative
UI APIs that dynamically loaded plugins could use to
insert their functionality into the main UI.
-
C++ X-Windows GUI Widget Toolkit
Wrote modern declarative C++ APIs atop the existing
C-interface widget toolkit to provide more dynamic
user-interface capabilities.
-
Asset Explorer
Maintained and enhanced DreamWorks' internal content
management system.
- Recordtime
Internal time-tracking application. Modern web app using
XML/XSLT, mod_python, and a lot of DOM manipulation for
a high degree of interactivity.
- Take ID
C++ library with Perl and Python bindings (via SWIG) for
database-backed MD5 fingerprinting of rendered frames.
- Render Request
XUL user interface for managing jobs on the render farm.
|
|
2002 - 2003 Silver Platter Software
Los Angeles, CA
|
Part of a small, intensively XP team working on securely distributing game simulation for massively multiplayer
online games. Worked on all aspects of the "Alloy" middleware product including test-driven C++ development,
C-language wrapper API development, demo game development, and live demos at GDC 2003.
|
|
2002 Picasa
Los Angeles, CA
|
Worked on several major subsystems of Picasa, an image-management application for Windows, now owned by Google.
- Templated web export system
- Generic property management database
- Text-indexing and query system
- Automatic online update system
- Various user preference and settings dialogs (Windows SDK)
|
2001 Herf Consulting,
LLC Los Angeles, CA
|
Numerous development projects for various clients including
a prototype multiuser 3D system for Viewpoint
|
|
2001 - 2002 ArsDigita Pasadena, CA
|
Created inbound email-handling framework so users
could participate in web-based discussion forums and document
management via email messages. Implemented framework for sending
rfc2445-compliant
calendar update messages. Designed lightweight applet widgets, chat server
and client. Designed relational database tables for persistence in Oracle 8i.
|
|
2001 Game Developer Sony Online Entertainment San Diego, CA
|
Implemented the multiplayer card game
"Ninety Nine." Game features game AIs,
customizable computer player personalities, persistent player scores
database, animations and
more. Participated in initial design of game client engine used
in all subsequent casual games at this site.
|
|
2001 Director of Development PSquared Pasadena, CA
|
Contributed to product and business design of
the PSquared knowledge management toolset, established development and
hiring practices, prototyped and implemented client and server-based
information management applications. |
|
1999 - 2001 Senior Software Developer idealab! Pasadena, CA
|
- Developed Java chat client applet and extended functionality of
C-based Linux server.
- Developed online bartering application using Java/JSP for Swap.com
(now Spun.com)
- Developed full ecommerce application and infrastructure in Java/JSP
against a relational model for ice.com. Site included custom JDBC
wrapper class generation from live schema, event logging subsystem and
JSP templated automatic email system.
- Developed disk-based C++ full-text indexing system using Berkeley DB
- Wrote email data extraction layers in Outlook automation and MAPI
- Developed C++ utility objects for manipulating registry entries with
the same semantics as ordinary variables.
- Wrote logging and reporting system for analyzing relative popularity
of prototype features.
|
|
1995 - 1999 Enfish Technology, Inc. Pasadena,
CA
|
- Built a very high-performance persistent object store which is
thread safe, crash safe, and capable of saving and retreiving thousands
of variable-length records at subsecond speeds. Developed patent
application for freespace management techniques used.
- Created custom UI controls using ATL and MFC.
- Developed high-performance text indexing system in C++
- Developed STL-compliant template collection classes
- Demonstrated Enfish Tracker Pro in its public debut at PC Expo 98.
- Developed style-sheet driven HTML export system for an
object-oriented multimedia database, including rich text and image
conversion.
- Wrote large portions of the functional specification of Enfish's
first shipping product.
- Built and deployed proprietary configuration management software.
- Developed translation tools that converted proprietary configuration
system to use the standardized Team/V - PVCS system.
- Implemented daily automated product build process for all versions
of the configuration management software.
- Interviewed job candidates
- Prototyped new products using Visual Basic to test and identify COM
interfaces and ActiveX components
- Created product installer with InstallShield
- Created lightweight application launcher using only the Windows SDK
and a rusty C compiler.
- Designed and built internal LAN using NT Server; registered Internet
domain name; established routing between LAN and the Internet; set up a
POP3/SMTP based email system; pulled cable, installed NICs, flipped DIP
switches, taught myself Smalltalk so I could work as a developer
instead.
|
1996 - 2004 President and
Founder LAJUG Los Angeles,
CA
|
Founded the Los Angeles Java Users' Group in
April, 1996, as a forum for area Java developers to learn more about
emerging tools and technologies. Still serve as president and emcee.
Vendor speakers have included Sun, Microsoft and Computer Sciences
Corporation. Personally presented tutorials on creating custom components
and scripting VRML with Java. |
1997 Guest Lecturer UCLA Los Angeles, CA
|
Lectured on Object-Oriented Design
fundamentals for the "Bleeding-Edge Java" class. |
1994 Database Applications
Consultant Tanner
Research Pasadena, CA
|
Optimized, redesigned and debugged a
mission-critical legacy database system. Assisted in the selection of a
new database developer. |
1994 Database Applications
Consultant Hughes Space and Communications El Segundo, CA
|
Completed development of client
portions of the Enterprise Scheduling System (ESS), a facilities and
project-management system that reduced unneccessary facilities staffing by
up to 50%. |
1992-1994 Louis L'Amour
Enterprises Los Angeles, CA
|
- Developed custom database for managing the 12,000+ volume library
collected by late western writer Louis L'Amour.
- Developed database for tracking biographical data on Louis' life for
a massive research project. Developed an object-oriented framework for
more maintainable code.
|
1991-1992 Montgomery-Watson Consulting Engineers,
Inc. Pasadena, CA
|
- Developed and managed client-server database to manage corporate
client lists using inexpensive Mac-based hardware and software -
deployed over nationwide WAN
|
1992 Symantec, Peter Norton
Group Santa Monica, CA
|
- Provided technical support for Norton Utilities and Norton AntiVirus
during the Michaelangelo virus crisis.
- Provided corporate-level support for AntiVirus and Norton Utilities
for Macintosh.
|
1990-1992 Inherit the Earth
Technologies Los Angeles, CA
|
- Created extensive writing tools and user interface code for
SuperScript, a WordPerfect add-in product for
screenwriters.
|
Education |
University of Southern
California Los Angeles BA, Cinema-Television Production |
- Wrote and directed a bunch of student films, including the
award-winning "Street Acts"
|