Emil P. Rojas
21954 Summit Road, Los Gatos CA 95033, emil@lapel.com, (408) 353-9710, fax: x9720.

OBJECTIVE: To contribute to the success of clients on client critical projects, and to leverage my multi-platform, multi-OS, Real-Time Embedded Software Systems experience, to significantly contribute to the design, development and implementation of state of the art Complex Embedded Systems for clients as a key technical contributor and leader.

QUALITIES: Software System Architect, Outstanding Implementer, Quick Learner, Team Player, and Leader.

AREA EXPERTISE: Multimedia, Interactive TV, Set-top Boxes, MPEG I, II & IV, Digital Video, Data Casting, Real-Time Kernels, Real-Time Software, Medical Instrumentation, Printers, Plotters, Embedded Controllers.

SOFTWARE EXPERTISE: Object Oriented Analysis & Design, Real-Time Systems Analysis & Design, Multi-threaded designs, client-server models, C/C++, Assembly, XML, integration of legacy code, and platform porting.  Linux, Win32, and RTOS development.

EXPERIENCE: (note that consulting and full time experience have been separated)

Lapel Software, Los Gatos, CA, Jan. 96 to present. President and Principal Software Consultant. All projects are hands on development projects. Projects include:

2008 ♦Acting director of client software for a stealth mode e-newspaper startup.   Hired, and developed architectural specifications, and well as developed code.  Developed client connection manager. 

2007 ♦Performance enhancement, for 2Wire, Inc. Investigated performance issues in the 2Wire settop box.  Included Java/C++/C optimization and interaction analysis.  Demonstrated the capability to remove a full second off of channel change time.  Made recommendations for architectural changes.

2005
♦Serial Communications Manager for Amigo Insulin Pump, for Nipro Diabetes Systems. Designed and documented code using UML statecharts with Visio. ♦For Cradle Technologies Acted as team lead. Developed code for XML camera interface, using the XPAT. ♦Developed both sides a USB upgrade application for the Thomson, Inc. IZIGo mobile settop box. Included multi-thread PC and STB components. PC dialog app connects to Internet to retrieve latest image and transfers data to STB which reprograms flash. Reused threading, messaging, and utility code available at Lapel Software

2004
♦Part of team porting Java MHP platform to an ATI settop box., for Zentek, Inc., STB runs Linux, work is in Java/C++.
♦Board bring-up for Thomson, Inc., settop box., STB run ST kernel.
♦Rescued WinCE application for SiRF, Inc.

2002-2003
♦Developed cell phone ringtone download application for Rocket Mobile, Inc., using browser interfaces. Used BREW APIs and developed XML descriptions for phone display capability.
♦Part of team porting Spyglass (DM4) HTML4.0 browser to the PowerTV, Inc. settop box. (4200); developed code for Pipelining HTTP requests, I/O (TCP) threading, algorithm enhancement, and memory management improvements.
♦Various continuing project for Dotcast, Inc. Developed API package for Dotcast, Inc. to wrap Dotcast broadcast file system, which included Win32 and VxWorks development..
Maintenance programming at Microsoft/WebTV on WebTV HTML browser.

2001-2002
♦Developed lisp, XML, and C++ code within the Dotcast, Inc. Distribution Core server to generate and distribute system configuration information in including MPEG II SI tables. Also for Dotcast developed C++ code on PC to allow PC to act as datacast receiver.

♦Developed C code to validate LSI Logic, Inc. (formally C-Cube, formally Divicom) next generation cable modem hardware.
♦Evaluation of Spyglass HTML 4.0, port to set-top-box for PowerTV, Inc.
♦Evaluation of MPEG IV Video Encoder Development for Zapex Technologies, Inc. Also for Zapex, developed C++ software to display real time encoder output on Win32/PC.

1999-2000 See Dotcast, Inc. below.

1998-1999
♦Port of Personal Java to PowerTV OS for PowerTV Inc.
♦Implementation of RT-MPEG encoding for ICTV Inc.
♦Win32/CE GPS Navigation computation DLL and demo application for SiRF Inc.
♦Client/Server TCP/IP Message forwarding application under QNX, for Philips Digital Video Systems, Inc.
♦Evaluation of low-delay MPEG II encoding for ICTV Inc.

1996-1997
♦MPEG II DSMCC Applications Download, OS-9 device driver for MPEGII table management and other projects, for Divicom Inc.
♦Design and implementation of serial I/O architecture for GPS module, for SiRF Inc.
♦Development of architecture and definition of FAX/Modem call router for Faxsav Inc.
♦Other short term work to define project direction and implementation for ICTV Inc., FutureTel Inc, and Beema LLC.

1989-1993 See ICTV, Inc. below.

1989 – 1993 (as Congnisys)
Many contracts ranging from 6 to 18 months. Projects include several PostScript Printers, a 4-Color Single Pass Plotter, P64 Video Decoder, Medical Instruments, and Fax Display Software. This included the development of a Real-Time Kernel for RISC Processor, worked with proprietary and commercial Real-Time Kernels, as well UNIX, Windows, DOS, and Mac OS.

Full Time Positions

Google, Inc. Mountain View, CA, April 2006 to July 2007Staff Engineer.  Early member of the TV Ads Insertion team.  This group is enabling a nationwide TV advertising market that enables advertisers to place ads on cable, satellite, and broadcast network via a market place auction (ala. AdWords). My responsibility includes discovering, defining, and implementing integration components with the TV ad insertion equipment.  This includes delivery of schedules and video to insertion equipment over the Internet.  I developed client/service code in C++, Python, and Java.

Dotcast, Inc. Mountain View, CA July 1999 to Jan. 2001, Director of Embedded Software: Dotcast broadcasts a 4.5MBS digital (MPEG transport) stream via proprietary technology over NTSC. Responsible for building 15 person development team, as well as deeply involved in recruiting for other engineering positions. Also acted as a principle architect and developer for Dotcast data receiver boxes. . Developed under Linux prototypes for receiver architecture. Developed MPEG transport demultiplexor, and prototype files system code

1996-1999 See Lapel Software, Inc, Above

ICTV Inc. Los Gatos, CA, Oct. 1993 to Dec. 1995, Director Media Software: ICTV's Multimedia Card and Software enabled a TV like look and feel experience for the ICTV system. I was responsible for the all ICTV MM software. Lead for eight software engineers developing both MM Applications and MM Delivery. Architect for ICTV Real Time Media OS Environment: Media Edit Engine, MPEG Players, Graphics, and Application Environment. Implemented Media Edit Engine, parts of MPEG Player, OS-9000 Extensions for Inter-process Communication and Shared Memory Access.

1989-1993 See Lapel Software, Inc/Congnisys, Above

Nellcor Inc. Hayward, CA, Nov. 1985 to May 1989, Senior Software Engineer/Software Manger: Devised the software architecture: an object oriented system capable of measuring multiple physiologic variables. Developed a real-time kernel. Developed a graphics sub-system based on a window object paradigm. Developed algorithms for measuring CO2 peak. Saved floating point co-processor from hardware design by implementing 17-bit precision floating-point routines. Software project management and leadership of up to 10 engineers.

Convergent Technologies, San Jose, CA, March 1984, to Nov. 1985, Senior Software Engineer: Developed two ROM based ANSI computer terminals, maintained and enhanced code for two RAM based multi-window terminals, implemented a Tektronix 4010 emulation.

University Of California, Irvine. Sep. 1982 to March 1984, Associate Development Engineer / Laboratory Manager: Responsible for software and hardware in a medical ultrasound research group.

Philips Ultrasound, Santa Ana, CA, July 1979 to Sep. 1982, Software Engineer, Developed the software for a research prototype to measure ultrasonic attenuation.

Prior to July 1979, held several jobs as an electronic technician, including USAF.

EDUCATION: BS. Mathematics, University of California, Irvine, 1983. Completed over 40 quarter units in computer science, including three graduate level courses. Graduate Course in Operating Systems, UCSC, 1993.