Resume

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

  • Senior Software Engineer

    VTS Medical

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

  • Senior Software Engineer

    Cisco (FlipVideo group)

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

    Pictures...     IPICS 21a     FlipVideo 21a    

  • Programmer

    BitSlinger (additional)

    (Consumer Electronics industry)

    February 2009July 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 21a    

  • Principle Software Engineer

    BrightScale

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

    Pictures...     Programmers Manual    21a     Card 21a

  • Senior Software Engineer

    Portrait Displays, Inc.

    (Privately Held; Computer Software industry)

    June 2007February 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.

    Pictures...     Card 21a

  • Contract Engineer

    Brightscale

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

    Pictures...     Tool 21a    

  • Senior Software Engineer

    Metta Technology

    (Privately Held; Semiconductors industry)

    April 2006July 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.


  • Contract Software Engineer

    Philips (later split off into NXP)

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

    Pictures...    Card 21a

  • Owner

    BitSlinger

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

    Pictures...     Prototyper 21a   PatternExpert 21a   Illustrated Civil War 21a  
    BitSlinger Tool 21a   TS Analysis 21a   Card 21a

  • Contract Software Engineer

    Dualcor

    (Consumer Electronics industry)

    May 2004August 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.

    Pictures...     Product   21a Contacts 21a     Tasks 21a     Phone 21a    

  • Contract, Joint Software work for National & AMD & Philips

    AMD

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

    Pictures...     Card 21a

  • Senior Software Engineer

    InnovisionTV

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

    Pictures...    Card 21a

  • Senior Software Engineer

    LinuxTV.com (owned by Conner Technology)

    (Consumer Electronics industry)

    June 2000October 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.

    Pictures...     LinuxTV 21a   Japanese 21a   Guide 21a
      Category 21a   Details 21a

  • Senior Software Engineer

    Tivo

    (Public Company; tivo; Consumer Electronics industry)

    June 1999June 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.

    Pictures...     Design app 21a   Tool 21a   Select 21a  
    Database 21a   Showcases 21a   Card 21a

  • Senior Software Engineer

    eRemote (owned and later disbanded by Mitsubishi)

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

    Pictures...     Handheld remote 21a     Screens 21a     more screens 21a    

  • Senior Software Engineer

    Media Guaranty

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

    Pictures...    Card 21a

  • Senior Software Engineer

    TV Interactive

    (Consumer Electronics industry)

    April 1998November 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.

    Pictures...     HyperTouch 21a     HyperTouch 21a     Database 21a     Card 21a

  • Senior Software Engineer

    Magnifi

    (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 21a     Text search 21a     Media search 21a     Card 21a

  • Software Engineer

    Power Computing

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

    Pictures...     Low end 21a     High end 21a

  • Software Engineer

    Sony Electronics

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

    Pictures...     Patent 21a     Manual 21a     Vaio 21a     Application 21a
    Card 21a     Card 21a

  • Lead Programmer

    Claris Corporation

    (Consumer Electronics industry)

    March 1995November 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.


  • Senior Software Engineer

    Rocket Science Games

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

    Pictures...     LoadStar      Back of Box      Validator      Compiler
    nbsp;   Card 21a

  • Contract QuickTime Engineer

    Apple Computer

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

    Pictures...     QuickTime 21a     MovieShop 21a     QuickTime 21a     Card 21a

  • Contract Software Engineer

    MediaVision

    (Privately Held; 11-50 employees; Broadcast Media industry)

    July 1992March 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.

    Pictures...     Card 21a     Box 21a     Recorder 21a     JoyStick 21a

  • Contract Software Engineer

    Vividus

    (Privately Held; 1-10 employees; Consumer Electronics industry)

    June 1990January 1991

    : C++ - Wrote the 32bit Paint portion of the Cinemation animation program.


  • Software Engineer

    C-Cube Microsystems

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

    Pictures...     Manual 21a    


  • Software Engineer

    Radius

    (Public Company; 201-500 employees; RDUS; Computer Hardware industry)

    June 1988June 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.

    Pictures...     Watch Video on Desktop 21a     Color Cal 21a     Special effects 21a

  • Software Engineer

    Apple Computer

    (Public Company; 10,001+ employees; AAPL; Computer Hardware industry)

    May 1982June 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.

    Pictures...     Apple Lisa Computer 21a     Apple Unix 21a     Apple 5 Years 21a Card 21a

  • Software Engineer

    GenRad (later bought by Teradyne)

    1981May 1982

    : Designed and wrote self diagnostics for a VLSI test system.


  • Software Engineer

    Fairchild

    1981

    : Designed and wrote self diagnostics for a VLSI test system.