Experienced in architecting and developing complex, distributed, multi-platform media rich systems. Experienced in dealing with the complexities of video and image formats, and color management.
Experienced in developing graphics and video tools in a wide variety of environments.

Media and Graphics toolkits
: AAF Toolkit, OMF Toolkit, Truelight SDK, Quicktime API's, Real Media Producer SDK, OpenGL, SGI Open Inventor, SGI Media Libraries, Alias Open Model.
DB toolkits: OCI, mysql, msql.
GUI toolkits: Qt, GTK, Python TIX.
Languages: C++ including STL, C, Python, SQL, XML, JAVA, Linux Shell Scripting, MU, UML.
Platforms: LINUX versions including: REDHAT LINUX, SUSE LINUX, and CentOS. Windows and Macintosh OSX.

Industrial Light and Magic, San Francisco, CA, 5/01 – 1/10
R&D Software Engineer/Media Systems Software Engineer/Video Systems Software Engineer

Responsible for most aspects of the media workflow and media encoding at ILM and Lucasfilm Animation. This included work on the HD video dailies systems and video pipelines, editorial pipelines, flip-book applications, media browsers, media encoding and color management.

HD Video Dailies Systems and Pipelines:
Project lead on ILM’s HD/SD load and HD Film out tool. Written in C++ using the GTK toolkit, this multi-threaded application performed real-time loading of HD/SD elements to the video servers, automated the transfer of the loaded frames to the CG file servers, and automated the film out conversions from the color correction system to the film recorders. This tool was highly integrated with ILM’s production database, and crossover database.
Worked on almost every aspect of the custom HD video server system and pipelines at ILM. Pipeline tools included automated delivery of rendered frames to the video servers, dailies playback tools – including a frame caching mechanism, data management tools, tools accessing the mysql video server database, and stereo dailies pipeline support for the Acuity server. These pipeline tools were either written in python or C++. Added enhancements to the video server daemons, including support for the film out pipeline, and frame caching management. Helped ensure the video servers functioned 24/7, which included on-call support, disk management, and database management.

Editorial Pipelines:
Designed and implemented the rendering pipeline tool to create Avid DNxHD AAF files from CG takes. Initially implemented with the Metaglue SDK, which was later updated to use the AAF Toolkit and Avid DNxHD SDK. Enhanced the OMF creation tool so CG takes could be cut in properly on the Avid. Added a dailies in context features to the Quicktime dailies systems, and tools to aid in conforming reels and sequences. Provided expert support to the Avid editors relating to Avid media issues, including color issues and sequence related issues.

Flip-book Applications:
Project lead on flip-book applications used at ILM and Lucasfilm Animation. This included customizing the user interface to the flip-book application rv, using the scripting language MU, and adding new features to their internal application loupe, including deep shadow support, color display fixes for several formats, and audio playback fixes. Requirements for these tools were obtained directly from the artists, as these tools were an integral part to their workflow and dailies systems. For rv, worked with the vendor to ensure these requirements could be met.

Media Browsers:
Major contributer in the design and implementation of a media browser application used for dailies reviews at both ILM and Lucasfilm Animation. Implemented query plugins for dailies in context support and take media support, along with several filter plugins, and export plugins. This tool queried the Oracle database for takes and related media metadata using SQL. Implemented in C++, using Qt for the user interfaces, and XML for metadata attributes.

Media encoding and color management:
Played a significant role as a media format expert at ILM and Lucas Animation – especially quicktime media. Added several enhancements to the image conversions software, which included support for Renderman's deep shadow format, raw video format and DPX format, along with enhancements to the custom quicktime library. I also played an important role in ensuring color was properly encoded in the media used throughout the company. And finally, as part of the film out pipeline, I significantly improved the Truelight color cube used to map the HD color gamut to the film gamut for Star Wars Episode III, using the Truelight color management system.

eMotion Inc./Cinebase Software, Redwood City, CA, 3/97 – 1/01
Senior Software Engineer.

Technical lead for Cinebase's Media Format Infrastructure, for both their Cinebase2 and Cinebase3 digital media management systems. This included a new distributed architecture using object-oriented methodologies to support transformations of different digital media formats on different platforms. In Cinebase 1 and Cinebase 2 the SGI Media Libraries, and the OMF Toolkit were used to perform the various transformations. In addition to this, support was added for the NITF Image format, TIFF Image Tiles, and plug-in capabilities for external format support. In Cinebase 3 the QuickTime Java API was used to support the required transformations, along with a framework for adding new formats or supporting new media libraries. Also added timecode support, keyframe extraction, and audio capture to the Macintosh version of the Cinebase viewer using the QuickTime API.
For eMotion's product line support was added to the MediaPartner format plugin to transcode QuickTime movies to Real Media proxies using the QuickTime API and Real Media Producer SDK.
For the Cinebase 1 Video Tools and Sequence Logger, designed and implemented a real-time OMF-AVR player on the SGI O2, taking advantage of the O2 hardware to achieve real-time performance. Work was also done on the Video Tools capture program and player on the SGI Octane.
Often played an active role as an SGI System Administrator and supported other developers using ClearCase.

Floating Images Inc., Westbury, NY, 1/97 – 3/97
Contract Position.

Updated the SGI flight simulator demo to work with the Floating Images Real-Depth Adapter. Designed and implemented, using OpenGL on an SGI O2 an application to allow animators to adjust the color tables to optimize the 3D properties of the Real-Depth Adapter.

Canter Technologies, San Francisco, CA, 9/96 – 1/97
Contract Position.

Developed a Lingo Xtra on the Macintosh to support Database access from the MediaBar’s Director applications. Managed the Informix Database for the MediaBar project on a SUN Workstation. Created SQL scripts to access data from the MediaBar’s database, and to automatically generate tables of the MediaBar’s user preferences and media the users liked or disliked.

Electronic Arts, San Mateo, CA, 1994 - 1996
Software Engineer – 3D Graphics Tools/Software Engineer – Video Technologies Group.

Designed and implemented a 3D model converter from the Wavefront ASCII format to an internal chunk format. Designed and implemented a 3D model converter from an Alias wire file to a subclassed version of SGI’s Open Inventor format, using Alias’s Open Model and SGI’s Open Inventor. Designed a generalized object oriented chunk formatting tool which initially took an Open Inventor 3D model and generated the chunk format for the model’s geometry.
Wrote a lossless JPEG CODEC using both Huffman and Arithmetic encoding. Improved the data rate of a CINEPAK based CODEC. Designed and implemented a real-time video capture application, which controlled the SGI SIRIUS board on a SGI VTX ONYX system, with a simple to use interface. Wrote multi-processing software to extract and store the video frames from/onto a raw disk array. Helped the production crew in the Media Lab with use of the ONYX and Video equipment.

Silicon Graphics Computer Systems – Member of the Technical Staff, Mountain View, CA.
EEG Systems Laboratory – Software Engineer, San Francisco, CA.
University of California, Santa Cruz – Research Assistant, Teaching Assistant.
Digital Equipment Corporation – Western Software Lab – Summer Intern, Palo Alto, CA.
Visual Engineering – Software Engineer, San Jose, CA.
Intel Corporation – Software Engineer, Hillsboro, OR.
Avera Corporation – Applications and Systems Programmer, Scotts Valley, CA.
Grinnell Systems Corporation – Programmer and System Administrator, San Jose, CA.

Graduate: University of California – Santa Cruz, CA – December 1989
Masters of Science Degree: Computer and Information Sciences
Thesis Topic: Training an Animated Arm to Reach For Objects in Space Using Neural Networks.
Undergraduate: University of Wisconsin – Madison, WI – December 1981
Bachelor of Science Degree: Computer Science and Psychology.

Furnished upon request.



Cent OS Pyton Java Linux Macintosh OpenGL GTK Red Hat Linux MySQL Suse