
office (408)
274-8669
Contract programming for any software project.
TECHNOLOGIES
Senior Software Engineer
Developed a wide range of experience gathered by working at
‘bleeding-edge’ startup companies. A general focus on
applications, frameworks, SDKs, and multimedia playback.
Most used programming languages are C/C++/ C#
recently and Java in the past.
TECHNOLOGIES
Visual Studio, Visual C++, C, C#, XAML, MFC, WPF, .NET,
Java/JavaScript.
DirectX, DirectShow, MPEG, H.264, JPEG, WinCE 5.0, EPG, Open
Source, Patterns. Multi-processor multi-threaded communications.
ACCOMPLISHMENTS
(Startup) Principle Software Engineer, Brightscale
: …Continued work I did as contractor the year before, but fulltime
employee now.
: Apps – Wrote multiple applications. (1) C# & WPF 3.5 application for Chip configuration. (2) C# & WinForms application for Jtag debugger and tool. (3) Win32 multimedia C++ application to simulate HW chip, plays live video and audio using cross platform OSAL and HAL layers
:SDK – Developed a C++ Multiplatform/multithreaded multimedia framework for use in a embedded HD TV SOC using 4 MIPS processors and custom vector processor hardware.
: Integration – Integrated 3rd party OceanBlue TV (DVB) stack onto my multimedia playback framework.
Owner, BitSlinger – Design developer tools.
: Designed, developed, and sold my own GUI design and code
generation programs for the Macintosh.
: Prototyper, also called Marksman, is a programmer’s tool for
designing user interfaces and generating source code for C++, C, and
Pascal.
: Designed, developed, and sold a Multimedia CDROM title for the
Mac, titled “The Illustrated Civil War”.
: Developed PatternExpert as a tutorial on software patterns with
source code in C++ and C#. Available free.
: Converted PatternExpert program from C++ to C# using WPF 3.5 and
XAML. Tutorial on
software patterns with source code in C++ and C#.
Senior Software Engineer, Portrait Displays – Helped until new engineers could be hired
: Came in after application engineers had left, to keep releases
shipping. So learned large code base really fast.
Started doing ‘fire fighting’ releases and fixes immediately.
:
App - Win32 C++
application, MFC app with IE as GUI, COM objects, DLLs, etc.
(Startup) Contract Engineer, Brightscale – completed, waiting on chip.
:
App – Designed and
wrote Win32 C++ multimedia application to simulate HW, plays video
and audio using cross platform OSAL and HAL layers.
: SDK - Designed and wrote embedded C++ multiplatform/multithreaded media framework for use in an HD TV SOC using 4 MIPS processors. Wrote graphics library as well as using open-source Truetype font renderer (freeType). Added open-source MPEG, AC3, and H.264 decoders.
Contract Engineer (Multiple)
Feb01- Nov06
(Startup)
Contract-to-hire Engineer,
Metta
Technology
- till company lost
funding
:
Apps – (1) Win32 C++
application to simulate HW, plays video and audio using cross
platform OSAL and HAL layers with custom video and audio renderers.
(2) Win32 C++ application for analysis and display for DVD
xxx.IFO files, decodes and displays all data structures and their
linkages to other files and data.
: SDK – Designed and wrote C++ framework for DVD playback for SD, HD, and Blu-ray formats. Plays Mpeg, H264, VC1, AC3, etc. Also designed and wrote combination PS and TS demux.
Contract Engineer,
Philips Semiconductors
– completed short
4mo contract
: App - Designed and developed WinXP Server and Win32 C++ applications for local video streaming, using TCP/IP and UDP (WinSock2) on the Trimedia (set-top box).
: Wrote Windows DSHOW source C++ filter.
(Startup) Contract Engineer,
DualCor Technologies
moved to
: Apps – WinCE C++ Phone app. Dials, answers, displays contacts, skinable, etc. Developed - WinCE Contacts, Tasks, & Calendar apps. Wrote ‘soft keyboards’ for both WinCE and WinXP.
: Lib - Developed WinCE <> WinXP communications and control code for Phone/PDA. Wrote sync software for WinCE POOM & WinXP OOM, Outlook Object Model.
3+ year Joint Contract Engineer, Project with
Advanced Micro
Devices (AMD),
National Semiconductor & Philips Semiconductors (SSG)
Joint - Advanced Micro Devices(AMD): (National group, Geode, bought by AMD)
: App - Ported embedded Trimedia video app and codecs to MPTK 1.0 (pnx1500) Created host player and libraries for Trimedia hosted app config and video playback.
: Port - Ported Microsoft WM9 video player and codecs to embedded Trimedia.
: Creation, tuning and rewrite of Trimedia DSP apps that control codecs and renderers.
Joint - For
National Semiconductor –before group was sold to AMD
: Port - Ported Microsoft WM8 video player and codecs to embedded Trimedia.
: SDK - Wrote Host PC (x86) to TriMedia communications for multimedia apps. Developed remote media playback using RDP (Remote Desktop Protocol). Enhanced existing Windows DShow filter to support RealNetworks audio/video codecs.
Joint - For Philips
Semiconductors (SSG):
: Port - Created standalone
Microsoft WMA audio codec for embedded Trimedia. Ported RealNetworks
video player and codecs to embedded Internet Radio.
Adapted RealNetworks’ open source Helix code to Trimedia.
: SDK - Added multimedia capability for 3rd party WebPads using a Geode (x86) and Trimedia (DSP) running WinCE 3.0 & 4.0 and Linux.
1988- 2001
Mostly fulltime Engineer at
(Startup) Senior Software Enginee,
InnovisionTV
: Did evaluation of numerous Web platforms and products to use in an
Internet TV.
: Designed parts of
Internet enabled TV software, at both application and server levels.
(Startup) Senior Software Engineer,
LinuxTV.com
: Designed and wrote PVR (Personal Video Recorder) application for a
TV settop box. Original program designed and coded on Win32 C++ PC
and then moved to VxWorks. App handles English, Chinese, and
Japanese text displays (single & double byte fonts).
: Wrote NT Server 4.0 applications to do data mining of EPG data.
Wrote programs to download, import, export, and data mine the EPG
data.
Senior Software Engineer,
TiVo
Inc.
: Designed and wrote an authoring Win32 C++ program. This app does
Images, Sounds, Video clips, sends eMail, talks to servers using
HTTP, and FTPs to send and receive files.
App uses SQL to query an EPG
database (Electronic Program Guide, TV listings). Used in daily
production of TiVo Magazine.
: Java – Wrote programs to query database using HTTP and JDBC.
: Wrote NT Server 4.0 applications to do data mining of EPG data.
: Wrote QuickTime movie processing app that captures video using a
D1 capture card.
(Startup) Senior Software Engineer), VSIS
Inc.
: Wrote an embedded Java app for a handheld consumer device with
color LCD screen. Designed and wrote EPG (Electronic Program Guide
for TV) area of the app.
: Wrote Java user customization program that processed EPG data for
individual users. This application runs on Java under Windows NT.
Wrote data parser and
importer for EPG data. Used JDBC to import processed data into SQL
Server database.
: MFC/C++ - Wrote NT Server 4.0 shell applications to parse EPG text
files and put parsed data via ODBC into a Microsoft SQL 6.5
database. Wrote program to extract data from SQL database for
different time periods and areas of the
(Startup) Senior Software Engineer,
Media Guaranty
: Wrote Java multimedia related apps. Wrote Java app using JNI for
processing image data, wrote multi-threaded ‘job’ engine to handle
multiple media processing threads..
: Wrote multi-threaded Win32 C++ processing apps using QuickTime,
Inso, and DirectShow.
(Startup) Contract Engineer,
TV Interactive
: Major enhancements and cleanup on an MFC SDI application that
allowed graphical editing of hot-spot image areas for a hypertouch
book. Added FTP support.
: Wrote an ‘engine’ MFC application that displayed Internet web
pages, played MPEG movies, displayed JPEG and GIF images.
(Startup) Senior Programmer,
Magnifi,
Inc
: Designed and implemented a set of WindowsNT SDK C++ multi-tasking
programs used for multimedia file analysis, auto-generation of
preview images, sound clips, and extracting text.
(Startup) Senior Programmer,
Power Computing,
Inc.
: Developed manuf control software and diagnostics for making
Macintosh clone systems.
: Network data collection using AppleTalk and Open Transport, test
station control software.
Lead Programmer,
Sony Electronics
: Lead/Manager -
for 2
contractors doing the Internet product
: Designed and developed a graphical program launcher and MPEG movie
player application that is used to showcase Sony’s first released PC
computer, using Win95.
: Did Java prototyping on new Internet TV product, channel selection
and TV features.
Early career at Apple and Macintosh related companies ---
Lead Programmer,
Claris
Corp. (Apple Computer)
: Lead/Manager -
A group
of 3 full-time people working on both Mac and PC.
: Broke apart ClarisWorks, an integrated program suite, into
separate OpenDoc parts.
(Startup)
Senior Games Engineer,
Rocket Science Games
: Developed a Game Compiler used to layout and optimize streaming
video and audio for full motion branching video CDROM based games.
Developed a game validator.
: Wrote low level caching drivers to optimize reading from a 1X CD.
: Created a Mac based remote debugger for the embedded Sega game
system.
Contract Engineer, QuickTime,
Apple
Computer
: Helped design and implement areas of QuickTime with the core team.
: Developed MovieShop for optimizing layout of Video and Audio on
CDROMs for QuickTime. Developed MovieAnalyzer to display movie data
and look for problems.
: Wrote low level caching data handler for QuickTime optimized for
reading from CD.
(Startup) Contract Engineer,
Vividus
: Wrote the 32bit Paint portion of the Cinemation animation program.
Contract Engineer,
MediaVision
: Designed and developed all software for the 1st Mac sound board,
ProAudio Spectrum.
: Created a sound playing and editing application for use with this
board.
: Wrote boot code in ROM for this NuBus plugin card. Simple status
and signatures.
: Designed and wrote the sound drivers, including
: Designed and wrote a JoyStick driver
: Designed and wrote a SCSI driver for supporting devices attached
to this card.
Lead Programmer,
C-Cube Microsystems
: Lead/Manager -
4
programmers doing Windows and Macintosh SDK software.
: Specified the APIs for the JPEG Image Compression Workshop.
: Wrote a driver to control the JPEG compression chip on this card.
Senior Engineer (startup),
Radius,
Inc.
: Designed and wrote Radius TV to play video on the Macintosh.
: Designed and wrote the firmware and drivers for the Video capture
card.
: Developed a special effects graphics program that operated on
captured video images.
: Acorn - Coded the first QuickDraw graphics acceleration board for
the Macintosh.
Software Engineer,
Apple
Computer, Inc. (6yrs)
: Converted QuickDraw, Apple’s graphic library, from B/W into Color.
: Designed a graphics kernel and mini-OS for an embedded system,
bed-of-nails board tester.
: Drivers/diagnostics for floppy disk drives,
SCSI drives, CDROMs, and tape backups.
Software Engineer,
Fairchild and GenRad.
: VLSI test self-test software.
EDUCATION
B.S.E.E., Electrical Engineering,