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. Recent work focusing on WPF, WCF, and C# applications.
TECHNOLOGIES
Concentration in the client, embedded, SDK, and multimedia areas. Also apps on Windows desktop and on embedded devices using PSOS, Windows 7 embedded, and others. Minor Linux work.
ACCOMPLISHMENTS
(Privately Held; Medical Devices industry)
March 2010 — August 2012
Used C#, WPF, WCF, C++, and C for various programs on Client and Server sides.
Designed and implemented internationalized medical operating room control software.
Controlled cameras, lights, iPod music, monitors, video capture, and other external devices.
Wrote Video Conference software, both the Client and the Server Hub, for Room to Room and Room to Internet calls.
(Consumer Electronics industry)
July 2009 — March 2010 - ranks as one of the top 2 worst groups I ever worked for.
Fulltime - Worked on FlipVideo camera
firmware, using C and ThreadX on MIPs.Some work on video
thumbnails, internationalization, OSAL, and logging system.
Also did some application work on PC (using C#, WPF, C++,
and Win32).
Contract through Q-Analysts - Worked on a Windows C# WPF
.NET 3.5 desktop application for the IPICS project. Main
focus was GUI redesign to solve problems of performance,
unnecessary complexity, no standards, and adding skins.
Extensive work using WPF and C#.
(Consumer Electronics industry)
February 2009 — July 2009
Did some work on sharpening Linux C++ skills, and writing first Android phone application. Also did some 3D (Direct3D) inside of a C# and a C++ application.
Writing a C#/WPF realtime Stock trend analysis and charting application for personal use, StockEye.
Pictures... StockEye(Privately Held; Semiconductors industry)
February 2008 —
January 2009
- worked till company lost
funding and closed.
: …Continued work I did as contractor the
year before.
: Apps – Wrote multiple applications. (1) Windows C# & WPF 3.5
application for Chip configuration. (2) Windows C# & WinForms
application for Jtag debugger and tool. (3) Cross-platform
multimedia C++ application to simulate HW chip, plays live video
and audio using cross platform OSAL and HAL layers.
:SDK – Developed a cross-platform C++ 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.
(Privately Held; Computer Software industry)
June 2007 — February 2008 – Helped until new engineers could be hired
: Came in after engineers had left, to
keep releases shipping. So learned large code base really fast.
Started doing ‘fire fighting’ releases and fixes immediately.
: Windows C++ application, MFC app with IE as GUI, COM objects,
DLLs, etc.
(Privately Held; Semiconductors industry)
November 2006 — April 2007 - completed contract, waiting on chip.
: Windows C++ application to simulate HW, plays video and audio
using cross platform OSAL and HAL layers. Wrote custom video
renderer and hooked to WaveOut audio.
: Designed and wrote cross-platform/multithreaded media
framework for use in an HD TV SOC using 4 MIPS processors.
: Added features and testing while waiting for the chip to
become functional. Wrote graphics library as well as using open
source Truetype font renderer for doing CC (Closed Caption) and
Setup screens on an OSD. Added H.264 and VC1 video support.
(Privately Held; Semiconductors industry)
April
2006 — July 2006
- worked till company lost
funding and closed.
: Windows cross-platform C++ application
to simulate HW, plays video and audio using cross platform OSAL
and HAL layers. Wrote custom video renderer and hooked to
WaveOut audio.
: DVD playback for SD, HD, and Blu-ray formats. Plays Mpeg,
H264, VC1, AC3, etc.
: Designed and wrote combination PS and TS demux.
: Windows 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.
(Public Company; PHG; Electrical/Electronic Manufacturing industry)
November 2005 —
February 2006
– completed short
4mo contract
: Designed and developed WinXP Server and
Win32 C++ applications for video streaming, using TCP/IP and UDP
(WinSock2) on the Trimedia.
: Wrote Windows DSHOW C++ source filter that streams video to
external set-top box. Runs in two modes, for playing from a
local file and playing from a network connection.
: Designed and developed embedded modules, input and output,
used for streaming in and out video files from an embedded PSOS
device running Trimedia.
(Consumer Electronics industry)
January 1987 — current
: Designed, developed, and sold my own
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
Macintosh, titled “The Illustrated Civil War”. This has over 700
grayscale images as well as sound.
: Designed and wrote a custom developer tool for using Software
Patterns. Pattern code for 23 patterns is written in C++ and C#.
The application was done in C++ and then re-written using C# and
WPF. (Available at www.download.com, search for PatternExpert)
: Other C# and WPF programs in progress.
(Consumer Electronics industry)
May 2004 — August 2005 - company moved to Scotts Valley and later closed.
: C++ Phone app for WinCE. Dials,
answers, displays contacts, calls, skinable, etc.
: Developed WinCE <> WinXP communications and control code for
Phone/PDA.
: Developed WinCE Applications for Contacts, Tasks, and Calendar
applications.
: Wrote sync software for WinCE POOM & WinXP OOM, Outlook Object
Model.
: Developed ‘soft keyboard’ apps for both WinCE and WinXP.
(Public Company; 10,001+ employees; AMD; Semiconductors industry)
February 2001 — May 2004
Joint - Advanced Micro Devices(AMD):
(National group, Geode, bought by AMD)
: Ported Microsoft WM9 video player and codecs to standalone
embedded Trimedia.
: Created host video player and libraries for Trimedia.
: Creation, tuning and rewrite of Trimedia DSP apps that control
codecs & renderers.
Joint - For National Semiconductor
: Ported Microsoft WM8 video player & codecs to Trimedia.
: Developed Host PC (x86) to TriMedia (PCI card) communications
for multimedia apps.
: Developed remote media playback using RDP.
: Enhanced existing Windows DShow filter to support RealNetworks
audio/video codecs.
Joint - For Philips Semiconductors (SSG):
: Created standalone version of Microsoft WMA audio codec for
Trimedia.
: Ported RealNetworks video player & codecs to embedded Internet
Radio.
: Adapted RealNetworks’ open source Helix code to Trimedia.
: Added multimedia capability for 3rd party WebPads using a
Geode (x86) and Trimedia (DSP) running WinCE 3.0 & 4.0 and
Linux.
(Consumer Electronics industry)
October 2000 — February 2001 - worked till company lost funding and closed.
: 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.
(Consumer Electronics industry)
June 2000 — October 2000 - worked till company lost funding and closed.
: 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.
(Public Company; tivo; Consumer Electronics industry)
June 1999 — June 2000
(Great product, I still am getting the latest box from them when it comes out)
: Designed and wrote an authoring Windows
C++ program. This app does Images, Sounds, Video clips, sends
eMail, talks to servers using HTTP, and uses FTP to send and
receive files. App uses SQL across HTTP to query an EPG database
(Electronic Program Guide, TV listings). App is 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.
(Consumer Electronics industry)
December 1998 — May 1999
: 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.
(Consumer Electronics industry)
September 1998 — December 1998 - worked till company lost funding and closed.
: 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.
(Consumer Electronics industry)
April 1998 — November 1998 - worked till company lost funding and closed.
: 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.
(Privately Held; 1-10 employees; Medical Devices industry)
August 1997 — April 1998 - changed from Media Search to Business applications
: 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.
Pictures... Manual Text search Media search Card(Consumer Electronics industry)
November 1996 — August 1997 - worked till company was bought by Apple Computer and then disbanded.
: Developed manufacturing control software and
diagnostics for making Macintosh clone systems.
: Network data collection using AppleTalk and Open Transport,
also test station control software.
(Public Company; 10,001+ employees; SNE; Consumer Electronics industry)
November 1995 — November 1996
: 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.
(Consumer Electronics industry)
March 1995 — November 1995
: 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.
(Consumer Electronics industry)
November 1993 — March 1995
: 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.
(Public Company; 501-1000 employees; Consumer Electronics industry)
January 1991 — November 1993
: C++ - Developed MovieShop for
optimizing layout of Video and Audio on CDROMs for QuickTime.
Developed MovieAnalyzer to display movie data and look for
problems.
: C - Wrote low level caching data handler for QuickTime
optimized for reading from CD.
: C - Helped design and implement other areas of QuickTime with
the core team.
(Privately Held; 11-50 employees; Broadcast Media industry)
July 1992 — March 1993
: Designed and developed all software for
the 1st Mac sound board, ProAudio Spectrum.
a) Sound playing and editing application.
b) Boot ROM for this NuBus plugin card.
c) Sound drivers, including MIDI support,for this board.
d) JoyStick driver and SCSI driver for supporting devices
attached to this card.
(Privately Held; 1-10 employees; Consumer Electronics industry)
June 1990 — January 1991
: C++ - Wrote the 32bit Paint portion of the Cinemation animation program.
(Public Company; 501-1000 employees; CUBE; Semiconductors industry)
January 1990 — January 1991
: Lead/Manager - 4 programmers doing
Windows and Macintosh JPEG SDK software.
: Specified the APIs for the JPEG Image Compression Workshop.
: Wrote a driver to control the JPEG compression chip on this
card.
(Public Company; 201-500 employees; RDUS; Computer Hardware industry)
June 1988 — June 1990
: Designed and wrote for the Macintosh:
a) Radius TV desktop application to play video on the Macintosh.
b) Firmware and drivers for the Video capture card.
c) Special effects graphics desktop application.
d) QuickDraw graphics acceleration board.
(Public Company; 10,001+ employees; AAPL; Computer Hardware industry)
May 1982 — June 1988
: 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.
1981 — May 1982
: Designed and wrote self diagnostics for a VLSI test system.
1981
: Designed and wrote self diagnostics for a VLSI test system.
B.S.E.E., Electrical Engineering , 1975 — 1978
In preparation for a B.S.E.E., Electrical Engineering.