Mark Millard Resume

MARK S. MILLARD
4144 Prairie Fire Circle
Longmont, Colorado 80503
Residence: (303) 772-9008

 email: This email address is being protected from spambots. You need JavaScript enabled to view it. ,
This email address is being protected from spambots. You need JavaScript enabled to view it.

 

OBJECTIVE

To work as a software architect in the field of consumer technology. To develop software which integrates audio, video, 2D and 3D technology into interactive applications and tools.

Special Interests: Computer graphics and animation (2D/3D), digital media, computer-aided design tools, and software engineering.

WORK EXPERIENCE

Vidiom Systems Inc., 10901 West 120th Avenue , Suite 230, Broomfield, CO

Title: Software Architect, Vidiom Systems, Inc.
7/00 - Present

Responsible for leading a small product development team of 4 engineers, 1 technical writer and a QA engineer through the design, implementation and deployment of an iTV application development platform. This product, called VISION Workbench, provides set-top box and headend simulation for the development of OCAP and IPTV applications. It extends the Eclipse IDE, providing plug-ins for launching and controlling the set-top and headend simulators as well as tools for managing the application development workflow.

Designed and implemented a tool for processing Electronic Program Guide (EPG) data for use in Vidiom Systems OCAP applications.

As a consultant to PolyCipher, a company backed by Comcast, Time Warner Cable and Cox Communications, I am currently developing an emulator of the Downloadable Conditional Access System (DCAS) infrastructure. This emulator, using a real Secure Micro device, will be used for the development of Conditional Access Network Handlers.

As a consultant to GuideWorks, LLC , provided technical feedback for their EPG porting effort to OCAP. Wrote a requirements specification for a minimal OCAP Monitor Application.

As a consultant to Time Warner Cable, extended the OCAP middleware stack to provide JMF functionality for the playback of audio and video assets from a Home Networking server. Wrote a simple OCAP application using the CableLabs Home Networking extensions for OCAP.

As a consultant to AOL Time-Warner, worked on various interactive TV technologies for the MystroTV business unit. Projects included:

  • A prototype of an application framework for set-top box applications using the PowerTV operating environment. The framework was written in C++.
  • A test harness and regression test framework for testing set-top box applications. This project included software running on the headend, executing a suite of tests and gathering the results from the test execution. Both C++ and Java were used to implement these programs.
  • A server application for processing channel line-up and associated assets into catalogs for delivery to the set-top box. This application was written in Java and made use of a CORBA backbone.
  • A Java tool for generating and editing Pegasus service information (SI).
  • A Java tool for converting PNG image files into a proprietary format for EPG consumption.

As a consultant to Cable Television Laboratories Inc., CableLabs, worked as the technical editor and individual contributer to the Open Cable Application Platform (OCAP) 1.0 specification. OCAP is the middleware solution for advanced interactive OpenCable “host” devices, including both set-top boxes and integrated DTVs.

Veridicom, 2040 Martin Avenue, Santa Clara, CA

Title: Senior Software Engineer, Veridicom
9/99 - 7/00

Worked with a small team of software engineers developing embedded technology for biometric devices. Projects included:

  • Designed and implemented an interactive Tcl/Tk application for testing an embedded fingerprint sensor. Wrote Tcl/Tk extensions in C for controlling the sensor via a host development environment under both Linux and Windows NT 4.0.
  • Designed and implemented a serial device driver for Windows NT 4.0 for communicating with the embedded fingerprint sensor.
  • Initiated project management tasks for the embedded fingerprint sensor project. Managed source control software and web server for project's web site. Designed project's web pages, including CGI/perl scripts for browsing source online and distributing take messages. Designed and implemented cross-platform build environment for Windows NT 4.0 and Linux.
  • Extended messaging and command protocol running on embedded fingerprint sensor.

Silicon Graphics, Inc., 2011 N. Shoreline Blvd., Mountain View, CA

Title: Senior Software Engineer, SGI
4/98 - 8/99

  • Investigated Microsoft's DirectShow technology in order to evaluate the feasibility of supporting it on top of SGI's digital media software development kit, dmSDK 2.0 . Prototyped a renderer filter for blending OpenGL graphics with digital media streams.
  • Designed and implemented cross-platform support for the dmSDK 2.0 library by identifying data types and writing wrappers for file I/O, memory allocation and lock synchronization. Wrote cross-platform debugging library. Wrote fifo queue component which resides in both user and kernel process space.
  • Initiated project management tasks for the dmSDK 2.0 project. Managed source control software and web server for project's web site. Designed project's web pages, including CGI/perl scripts for browsing source online and distributing take messages. Designed and implemented cross- platform build environment for IRIX, Windows NT 4.0 and Linix.
  • Participated as a liaison between SGI's digital media team and SGI's Fahrenheit project. Identified technology and usage scenarios for integrating SGI's new digital media library, dmSDK 2.0, with SGI/Microsoft's new 3D scene graph technology. Designed and implemented a high-resolution clock module.

Title: Senior Software Engineer, Alias|wavefront, SGI
9/96 - 3/98

Designed and prototyped a data transport protocol for transferring data between Maya, a 3D modelling and animation tool, and tethered applications (i.e. game engines). The prototype consisted of attaching the SGI VRML browser, Cosmo Player, to Maya and downloading translated 3D geometry plus appearance attributes to the VRML browser for viewing.

Participated as a liaison between Alias|wavefront and MIPS Consumer Products group to facilitate cooperation between the two divisions. Projects included:

  • A translator for converting high-level 3D scenes, SGI Inventor files, into ucode specific ABI (Application Binary Interface) instructions for Magic Carpet. Magic Carpet was a graphics coprocessor developed for consumer devices such as DVD-Video players and DSS settop boxes.
  • A translator for converting Project Reality Display Lists (Nintendo 64) into Magic Carpet Display Lists.
  • A Sirius Video Player used for playing YUV animations. This player would stream video data in the YUV 4:2:2 format either from RAM or hard drive. The player was designed to use threads in a multiple processor system (i.e. Onyx Reality Engine) and could work with either field or frame based files.
  • Helped identify real-time operating system requirements for settop box.

Title: Senior Software Engineer, Silicon Studio, SGI
4/94 - 8/96

Responsible for design and implementation of FireWalker, a 3D authoring system for interactive titles. FireWalker was a suite of tools which provided title developers with the capability of integrating their content (audio, video, 2D and 3D assets) on a SGI Workstation. The resulting title could then be mastered to specific target platforms, such as the PC and Sony Playstation. Tasks included:

  • Designed mastering process and tools. The process involved the generation of code which had to be compiled and linked on the target platform. It also involved the generation of a binary file which could be read/written on Big and Little Endian architectures.
  • Designed cross-platform runtime engine components. These components were written in C++ and included memory management wrappers, file I/O wrappers, a clock/timing module, event scheduling and dispatch manager, and media access API.
  • Designed PC runtime engine. This engine was written in C++ and used Microsoft's game SDK, Direct X, as well as Argonauts's BRender software for 3D, real-time rendering. The engine also included support for compositing 2D elements (images and video) as well as audio.
  • Ported Web I/O library to Windows 95 and Windows NT 3.51.
  • Designed and implemented prototype of data streaming technology for Windows 95/NT target.
  • Designed and implemented cross-platform development environment between IRIX 5.3 and Windows 95/Windows NT 3.51.
  • Implemented installation package for FireWalker PC components using InstallShield 3.
  • Principal author of software engineering style guide.
  • Helped author game applets to test technology.
  • Helped write FireWalker training curriculum and mastering documentation.
  • Windows 95 and Windows NT 3.51 system administration.

Media Station, Inc., 2705 S. Industrial Highway, Ann Arbor, MI

Title: Senior Software Engineer, Media Station
12/92 - 3/94

Responsible for design and implementation of tools used for authoring Compact Disc Interactive (CD- i) and MPC applications. Projects included:

  • Designed C++ library for streaming data from CD-ROM in real-time for Microsoft Windows Multimedia Platform (MPC). This technology is being used in the Disney Animated Storybook consumer titles.
  • Principal author of production manual and workbook for authoring multimedia titles at Media Station, Inc.
  • Designed data-driven software based on state engine architecture. Application functionality is resolved by context of data, including audio and video assets, which may be dynamically loaded from random-block devices (floppies and hard drives), read-only devices (ROM and compact disc) or across networks (modem and LAN).
  • Designed and implemented an image and audio previewer for CD-i assets. This software used the above state engine in a client/server model using TCP/IP. The client was an application on NEXTSTEP, written in Objective-C. The server was a data-driven CD-RTOS application on the CD-i player.
  • Wrote product definition for Media Station's product line with respect to authoring CD-i titles. Wrote architectural and engineering requirement specifications for those products.
  • Ported image and audio conversion utilities to NEXTSTEP on NeXT and Intel platforms.
  • Ported disc building software to NEXTSTEP on NeXT and Intel hardware.
  • Acquisition of CD-i authoring hardware and system administration of OS9.

Microware Systems Corp., 1500 N.W. 118th Street, Des Moines, IA

Title: CD-i Software Engineering Manager, Microware
1/92 - 11/92

Responsible for directing software engineering during CD-i title production. Managed 4 software engineers and 1 system administrator. Projects included:

  • Designed and implemented studio authoring environment: including audio/video process as well as software development.
  • Directed software implementation of children's title for Meredith Publishing Corp.
  • Directed software implementation of electronic retailing applications. Clients included Spiegel Catalog, J.C. Penney's and Hammacher Schlemmer.
  • Producer and principal engineer for Goldstar marketing demo; elements included partial-screen motion, animation, karaoke engine, and bilingual activities for children.
  • Designed and implemented relational database with object-oriented extensions for electronic publishing and point-of-sales applications.
  • Consulted on functional specifications for Full-Motion Video (MPEG 1), CD+G, and CD-i Ready manufacturing extensions to CD-RTOS.

Title: CD-i Studio Manager, Microware
1/91 - 12/91

Responsible for managing the resources for developing multimedia applications, specifically Compact Disc Interactive. Managed 3 engineers, 2 audio/video technicians and 1 graphic artist. Projects included:

  • Three point-of-sales kiosk demos. Clients were Spiegel Catalog, Clinique and Bell Atlantic.
  • A children's coloring book, slider puzzle and dot-to-dot game. Client was Interlight Productions.
  • Reversi demo.
  • Tetris demo.
  • MIDI Jukebox; in conjunction with Passport Systems.

Title: Senior Software Engineer, Microware
9/89 - 12/90

Responsible for design and implementation of a real-time audio/video library for Compact Disc Interactive (CD-i) applications. Components of this library included: video manager and effects (wipes, fades, dissolves, ...), audio manager, RTF play engine, memory manager and signal manager.

Developed and maintained tools for image processing and conversion to CD-i file formats. Other projects included:

  • Music video demo.
  • Travel logue of the Grand Canyon for Reader's Digest Publishing.
  • Point-of-information kiosk for Principal Financial Insurance services.

Hewlett Packard, 5301 Stevens Creek Boulevard, Santa Clara, CA

Title: Development Engineer, HP
7/84 - 8/89

Responsible for conception, design and implementation of an artwork and schematic editor used in an integrated VLSI CAE system. Duties included definition of graphical and hierarchical database arenas, development of a window/viewport manager and associated viewing modules, access utilities for hardcopy devices (plotters and raster-based), and integrating layout verification and device extraction tools. Also responsible for coordinating software engineering tools, including system QA, RCS source control utilities, and scripts for installing and releasing software modules/libraries.

Computation Center Engineer Lab, Iowa State University, Ames, IA

Title: Associate Engineer, ISU
4/83 - 5/84

Responsibilities included troubleshooting and repairing peripherals, installing micro-computer labs, and upgrading/enhancing PCs. Designed and implemented a database system for tracing cables.

TECHNOLOGY

Software

Java (J2ME, 1.4, 1.5, pJava, Swing), C++, C, Objective-C, Pascal, Fortran, Perl, Shell scripts (C, Korn, Bourne), GKS, X11 Windows (Motif/Openlook UI), NEXTSTEP, Windows 95/98/ME/NT/2K/XP Win32, Microsoft COM/ActiveX, HP Starbase, Open GL, Open Inventor, Open ML, SGI/Microsoft Fahrenheit, Microsoft's Direct X and Direct Media, Tcl/Tk, HTML, XML, OCAP, UML, Eclipse

Hardware

Linux on i386; SGI Indy, Indigo 2, O2, Octane and Onyx on IRIX; Sun3 and Sun4 on Solaris; HP9000:Models 200/300/500/900 on HPUX; NeXT/Intel on Mach/UNIX; VAX 750/780 on VMS/VME; CD-i on OS9; various Intel engines on Windows 3.1, Windows 95/98/ME and Windows NT/2K/XP; PowerTV on Scientific Atlanta set-tops, Commodore Amiga

Specifications

OCAP, DVB-MHP, DAVIC, Khronos Open ML

EDUCATION

Iowa State University, Ames, Iowa
B.S. Computer Engineering, Graduated 5/84, G.P.A. 3.11 of 4.00

De Anza College, Cupertino, California
Film/TV Production, 6/85 - 5/89, G.P.A. 3.75 of 4.00

REFERENCES

Available upon request.