Resume, James Michael Lavery, 408 691 3777,


Objective: Embedded systems programmer, group leader.


Skills: Digital Television, Group leader , Embedded Systems, Device Drivers, DOS, Windows, Linux, OSE, VxWorks, PowerTV OS, Video, Graphics, Kernel, x86, Assemble, C, C++,


MBA Candidate: University of Phoenix

BS Mathematics, Minor Physics, Computer Science, 1975, New Mexico Institute of Technology

Engineer, StockBot and MLMagic, 06/2001 to Present. Designed and wrote an HTML parse engine, HTTP interface and numerical analysis software for a stock market tracking system. Designed a web based Multilevel Marketing Application.  Wrote C programming for tree structured data base, CGI, cookies, parse forms and generate HTML. 

Architect, Aetian Networks, 02/2001 to 06/2001.  Architecting virtual router project supporting RIP, BGP, OSPF and MPLS. Making buy/build decisions for the networking protocol layers, such as NetPlane’s OPTIRoute, Redundancy Management System (RMS), Message Distribution System (MDS), Label Traffic Control System (LTSC).  Created virtual router prototype. Ported NetPlane products to Enea’s OSE operating system.  Development environment was OSE soft kernels hosted on Linux, Solaris and IBM PPC Walnut.  Brought up OSE functionality such as the Link handler.  Wrote Linux device driver.

Group Lead Kernel and OEM Porting, PowerTV, 9/1998-02/2001. Conceived and architected PowerTV’s Platform Independent OS. Created team to handle kernel porting and support OEMs. OS runs on Sparc Ccube and MIPS Broadcom settops for Pioneer, Pace, and Panasonic for the Time Warner networks, as well the as Scientific Atlanta and SH3 Pace boxes for the NTL network. Architected new approach and evangelized desirability of a platform independent OS. Led the NTL project, handling the technical relationship between the Pace and PowerTV, and between OS group and PowerTV application developers.   Led a team of a dozen engineers converting OS into Platform Independent OS and instantiating OS on the Pace Box and NTL network. Initially,  project enjoyed little corporate resources; so I came in early to support UK engineers, give direction to engineers during the day and programmed, wrote release bulletins, smoke tested and shipped, long into the night.    Ported TCP stacks, debugged Ethernet driver. 

Senior Engineer; PowerTV, 09/1998-09/1998.  Ported PowerTV’s OS Kernel to Motorola Coldfire on Sony settop box for NTL cable network.  Ported kernel to a PowerPC 823. As I began porting the PowerTV OS to a Pace Hitachi SH3 processor settop; it became clear a systematic porting strategy was required, leading me to create Platform Independent OS. I developed shipped the first DDK. Develop using VC++ and GNU ‘s GCC and GDB.  Wrote makefiles,

 Engineer Consultant, PowerTV, 10/1996 – 09/1998.  Brought up Graphics and Video on the Scientific-Atlanta Explorer 2000 Digital Settop Box in the PowerTV OS.  Brought up LSI Logic’ SDP1100 settop box Graphics/Video/Capture, using PSOS and the Prism tool chain. Wrote Test/Demo Suite for LSI Logic video/graphics chip running on both PSOS SDP1100 and Windows PCI Card.  Traveled to France to teach graphics software class to SGS Thompson engineers designing next generation 5150 graphics chips.  Wrote Plug and Play windows VxD device driver plus WIN32 Applications for SGS Thompson 5150 Settop Box MPEG Graphics chip embedded on a PCI card. Programmed PCI bridge chips, I2C (I squared C) bus. Developed Test and Demo suite running as WIN32 and VxD for 5150 chip supporting video capture, mixing graphics information with MPEG and analog video, linked list frame buffers, linked list blit engine with multiple sources, chroma keying, blending; alpha blending and chroma keying video with many formats of graphics and PCM waveform generation, and Direct Draw and Direct Sound Programming. Multimedia API's under windows.

Ziatech Corporation. VxWorks BSP port to a SMP Pentium Pro System. Developed the code to route and handle interrupts at the IO APIC level.

ARCO System: Programmed PCI, VME bridge chips porting VxWorks BSP from 68030 to PPC. 

KLA Instruments; Consultant; 03/1997.   Converted Cirrus Logic GD5446 device driver to support GD5480.  Rewrote 422 video to be 420, changed PCI interface, added new interrupt handlers and capture features.  Virtualized video captures allowing higher priority callers to grab and bus master video frames, within a continuous video capture and display stream.

Consultant Engineer, KLA Instruments, 05/1996- 09/1996. Wrote SVGA driver for Cirrus Logic GD5446 chips, from bare metal up, for embedded PCI Power PC based Wafer Prober running VxWorks. Driver includes dynamically positioning, sizing and scrolling a video window and YUV 422 video capture. Interfaced graphics functions library to driver. Wrote additional graphics functions. Wrote client/server byte code RPC interface running across VME back plane to drive graphics, supporting multiple client computers and graphics contexts. Developing on Sparcworks and GCC.  Wrote DPMI/VESA graphics interface for an x86 project.

Systems Programmer Consultant, Abbott Laboratories, 12/1994 to 05/1996.  Developed x86 Protected mode code, wrote SVGA, DMA, IPX, serial and printer drivers for hematology analyzer comprising a Real-Time embedded x86, 68000.  Increased performance and maintainability by writing thread manager and converted state machine logic to thread model.  Designed and wrote resource compiler and loader system for internationalization.   Wrote communication and event recording system, created event compiler and playback system for system testing. Created and wrote numerical algorithms for blood cell analysis.  Windows VC++ data analysis application and some team leading.

Engineer, MLS To Go; 09/1989–11/1994.   Wrote a telecommunication and database package for real estate Multiple Listing Systems. Written in Macro Assembler using Programmer Workbench and CodeView, down through the interrupt service level. Included script based execution for market place customization.  Package cached MLS data onto a laptop. Agent then uses the laptop as a virtual MSL system.  Wrote DOS TSR supporting multiple hot keys, and time-out for a password protection login system.  C++ programming on IBM SP2 with AIX.   Windows programming using Borland C++.

Internomics; 09/1983–08/1989.  Designed and wrote a vertical market accounting system and database including accounts payable, accounts receivable, income statements, inventory control/forecasting, customer tracking, full screen editing of order forms, sales commissions and order transmission to host mainframe. I sold at trade shows and via cold calling.  Wrote manuals and lead team.  Wrote a dermatology artificial intelligence application package

Sales Engineer, International Marketing Asia, Latin America, Motorola, 04/1980-08/1983.   Mini computers for data entry, word processing and 3270, 3780 terminal emulation systems and IBM 370 compatible mainframes. Traveled and entertained extensively selling and supporting product line.

Systems programmer, Motorola; 04/1978-04/1980.  For mini-computers supporting 32 terminals of data entry and terminal emulation of IBM 3270, 3770, 3780.   I designed database recovery systems, SDLC communications code, and printing code.  Assemble Language.

Engineer, Applied Technology, 03/1975 – 03/1978   Wrote a real time debugger running on embedded multiprocessor/multithreaded Electronic Counter Measures (ECM) computer. Written in assembly language.  Wrote Linkage Editor, contributed to compiler development and OS development.  In MIS dept, wrote Accounts payable, Receivables, Payroll, performed IBM systems programming, and wrote CICS applications.