office (408) 274-8669

Services

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 Scotts Valley

  • : 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 Silicon Valley short-lived startups – Boom time.

 

(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 USA.

 

(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 MIDI support,for this board.

  • : 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, Calif. State University at Fresno

Related resources

  • Download.com hosts PatternExpert