C. Michael Sundius
         Solico Group LLC: Sundius Consulting

My Aim is to design and implement embedded systems, kernel level and other system software. 
232 Nevada St
San Francisco, CA 94110
(415) 608-0121
msundius@sundius.com
www.sundius.com/suncon


EDUCATION:

UNIVERSITY OF ILLINOIS - Department of Computer Science                                                                                      Spring, 1992
    Distributed programming environment: Advanced Distributed Operating Systems.
    - Designed and implemented interprocess communications channel for Choices kernel.
    - Ported PICL, a programming environment for distributed applications, to Choices.

CARNEGIE MELLON UNIVERSITY - Bachelor of Science Computer Engineering                                                        May, 1990
    Auto tuning stringed instrument: Computer Controlled Testing & Measurements Design.
        - A microphone and amplifier input a sound wave form into a digitizing oscilloscope.
        - FFT software determines control signals for stepper motor power circuit to tighten string.
    Node in distributed database: Logic and Processor design.
        - Bit slice processor with 16 bit data path            - Microsequencer, microstore and code downloader
        - RS-422 serial IO interface                                    - 16Kbytes of main memory

  EXPERIENCE:
SCIENTIFIC ATLANTA / CISCO                                                                                                                                                                   June, 2008 to Present
    Software Engineering Consultant: Solico Group, LLC
        - Scientific Atlanta develops set-top boxes for the cable television industry
        - Convert build environment for Kernel and Base FS to use Open Embedded.
        - Enabled use of memory in low memory (below kernel code).
        - Made available for use memory previously used by bootloader.
        - Changed memory model to sparse model to save memory used by useless page descriptors.
        - Rewrote code used for early reservation of large blocks of contiguous memory for drivers.
        - Integrated a more reliable backtrace facility into the SA failure report / diagnostics code.
        - Wrote API and underlying code to allocate watchpoint registers to various system software uses while allowing remaining registers to be used by ptrace.
        - General bug fixing and kernel support for driver and application developers.
        - Recommended ways of improving development environment, lab setup and source control for more efficient software development.

AAE SYSTEMS INC.                                                                                                                                                                   January, 2008 to March, 2008
    Software Engineering Consultant: Solico Group, LLC
        - AAE Systems develops satellite based communications systems
        - Installed/upgraded Linux host comiler/development server; Installed and compiled up all system software with new ELDK tool chain.
        - Upgraded Linux kernel to 2.6; Upgraded some other system software to newer versions.
        - Brought up 3 different boards and made sure u-boot, Linux, and other software ran properly on each.
        - Resolved bugs that required understanding of kernel internals and how hardware works:
        Snooping traffic had been disabled for host bus accesses from HOST-PCI bridge; reset of PCI-PCI bridge was not wired correctly, required software patch; and a few others.
        - Made various other fixes and code cleanup.
        - Provided support and assistance to application developers to understand Linux and embedded tool chain.
        - Recommended ways of improving development environment, lab setup and source control for more efficient software development.

GUARDIAN EDGE INC.                                                                                                                                                                   August, 2007 to Oct, 2007
    Software Engineering Consultant: Solico Group, LLC
        - Guardian Edge sells security software to encrypt MS Windows PC disk drives
        - A Linux Preboot program is used to setup decryption keys and drivers.
        - Worked to transition from Linux to PC BIOS environment using the Linux Kexec facility.
        - Analysis and rewrite of existing software for Linux to BIOS transition.
        - Identified a way to avoid using disk access during Linux runtime critical for BIOS INT13 to remain usable after Linux preboot.
        - Rewrote parts of kexec so that it would be called as a library instead of a isolated program, also allowing GE to decouple proprietery and GPL software into different modules.
        - Analysis of minimal assembly code necessary for transition to BIOS environment.

STRETCH INC.                                                                                                                                                                   August, 2005 to Jan, 2006
    Software Engineering Consultant: Solico Group, LLC
        - Stretch is a manufacturer of configurable CPUs based on the Tensilica X-Tensa core
        - Developed a GDB Multiplexer to allow a single instance of GDB control several JTAG debuggers, each controling
         a separate CPU in a Multi Processor Single Memory system. Each CPU is presented to GDB as a separate thread by the debug multiplexer.

        - Developing a multi threaded debug monitor to allow a single instance of GDB to control all CPUs on
         a multi processor single memory system.


CENTILLIUM COMMUNICATIONS INC.                                                                                                              October, 2004 to July 2005
    Software Engineering Consultant: Solico Group, LLC
        - Centillium makes an embedded processor (Mips core) and reference platforms for the home networking products such as internet phones and routers.
        - Linux support for Centillium USB Ethernet driver.
        - U-boot support / bringup on Mips core embedded reference platform.
        - Linux kernel support / bringup on Mips core embedded computer.
        - Genreal kernel and U-boot and driver support.

KENATI TECHNOLOGIES INC.                                                                                                                    December, 2003 to October 2004
    Software Engineering Consultant: Solico Group, LLC
        - U-boot support / bringup for PPC single board computer.
        - Linux Kernel support / bringup for PPC single board computer.
        - Linux kernel support for hardware assisted context switching within a custom microprocessor.
        - Involved rewriting the exception handling and context switching code within Linux kernel.
        - Software support for a coprocessor (running linux) which off-loaded data compression/decompression processing from host system (also running linux).
        - Involved Linux host device driver and coprocessor kernel module, and communication protocol.

LINUXCARE INC.                                                                                                                                            August, 2002 to January 2003
    Software Engineering Consultant: Freya Team Member
        - Freya is a redesign of software that manages Linux Virtual Machines on IBM s390 running z/VM.
        - Defined requirements and architecture of Linux agent and its interface to the management core & platform hypervisor.
        - Analyzed and made reccommendations for problem areas in 1st generation product core.
        - Part of team fixing bugs for GA release of 1st generation product.
        - Initial setup of s390 Cross compiler and emulation.

COSINE COMMUNICATIONS INC.                                                                                                                    June, 1998 to May 2002
    Senior Software Engineer: IPNOS Operating Systems Team Member
        - Early employee in startup phase of company.
        - Involved in design & development of IPNOS OS for the IPSX Network Services Platform.
          The IPSX is a distributed system designed to deliver value added internet services to ISP subscribers.
        - Contributed to discussions of hardware architecture for OS perspective.
        - Liaison for OS vendor.
        - Specialty in Core OS issues (Linux and pSOS) -- Drivers, APIs, DPC/TASK Scheduling, IO Subsystems, Debuggers and Software Loader. .
        - Worked closely with engineers of Distributed OS and Clustering software to resolve bugs and design issues.
        - Worked with hardware engineers to bring up and debug IPSX hardware.
        - "Goto guy" for troubleshoot tricky bugs/crashes where assembly level debugging is necessary.
       
        - IPNOS support for libpcap and TCPDump through out distributed system.
        - Designed & Implemented IOlayer  (OOD interface software for NI drivers and L2 modules)
        - Customized  Linux debug tool "pstack", support for pthreads on PPC and added extra options etc.
        - Development of FLASH drivers, and integration with file system (pHILE+, Linux ext2, JFFS/MTD).
        - Design and oversight of command line debug monitor (cldbg).
        - Cosine serial IO Interface and Virtual Serial IO Console (pSOS and Linux drivers).
        - Other drivers: Protype HW Ethernet, Interrupt dispatcher in Linux, Console/Serial Drivers, Terminal Drivers, support for "ring control" driver.
        - System Attribute collection (Gathers Version, S/N and Statistics etc for distributed processors)
        - Proprietary time distribution software.
        - Stability and Performance work.
        - Distributed Software Loader.
        - "Objectized" major parts of IP Stack.
        - Initial bring up of core OS on prototype and other early hardware.

MIDWAY ENTERTAINMENT INC.                                                                                                                                  April to June 1998
    Consulting Engineer: Sundius Consulting
        - Ported proprietary OS from Hardware based on the Gallileo 64010 to Hardware based on the Nile System controller
        - Improved drivers to work w/ newer graphics chips.
        - Work completed on time for the Hydro Thunder Game.

  ACCLAIM COIN OPERATED ENTERTAINMENT INC.                                                                          January, 1996 to April, 1998
    Staff Software Engineer: System Software Architect
        - Responsible for all system software on the Epidemic Game Platform (Mips R5000 design).
        - Designed and Implemented Startup code/ Debug Monitor / Kernel / Exception Handlers.
        - Wrote UDP network implementation for debug communication.
        - Wrote various device drivers for serial chip, system timers, NVRAM, etc.
        - Maintained Glide graphics driver library for Voodoo graphics chipset.
          Ported to Mips; rewrote initialization and texture download routines.
        - Worked with hardware engineers in design and debug stages of Epidemic Game Platform and
          PSArcade daughter card.
        - Worked with game programmers in porting and debugging stages of Armageddon game and
          Judge Dredd game.
        - Responsible for selecting development tools.
        - Designed and implemented specialized file system for and disk driver for streaming video.
        - Designed object oriented menu system for game options and statistics menus.
        - Provide technical resources for other software and hardware engineers.

MOTOROLA INC. Microcomputer Group                                                                                       September, 1994 to December, 1994
    Independent System Software Consultant
        - Ported inter-process communication software of pSOS+m 2.0 to the 88110 processor.

INTEGRATED SYSTEMS INC. Software Components Group                                                                  July, 1992 to December, 1995
    Senior Software Engineer
        - Member of design team for new version of the pROBE+ debug monitor.
        - Implemented pROBE+ on PowerPC processor.
        - Ported pSOS+m to i960 processor.
        - Technical Lead for 88110 processor.
        - Implemented exception handler code for pROBE+ debugger on 88110
        - Ported pSOSystem to 88110 and wrote drivers for Tadpole TP810V and MVME197 boards.
        - Tested multi-processor version of pSOS+m real-time kernel on 88110 processor.
        - Ported pHILE+ file system to 88110 processor.
        - Managed other porting, testing, editing of documentation, and release to manufacturing of 88110 products.

MOTOROLA INC. Microcomputer Group                                                                                                   September, 1990 to July 1992
    Software Engineer
        - Member of multiprocessing team; we were responsible for multiprocessor issues, system performance
          and architectural issues within SVR4 UNIX on Motorola’s 88000 microcomputer.
        - Improved system performance as measured by the AIM benchmark by 200%.
        - Wrote console driver for MVME188 microcomputer.
        - Ported multi-processor locking code for all of the file systems in the UNIX kernel.
        - Wrote a test suite to cause sections of the kernel to be executed simultaneously on multiple processors.
        - Multithreaded a driver for the HAWK Ethernet controller.

ROBOTICS INSTITUTE, Carnegie Mellon University                                                                                        June 1986 to June 1990
    Research programmer in Image Understanding Lab
        - Determination of reflectance characteristics of a 3 dimensional surfaces.
        - Implemented DDCMP protocol for communicating between a Sun workstation and a robot arm.

TURNER ENGINEERING INC. Broadcast Television Systems                                                                             Summer, 1987 & 1988
    Computer programmer
        - Co-wrote a database program used to account for wiring in TV studios and broadcast systems.
        - Wrote program to display, edit and transfer data between an IBM PC and a PROM programmer.

PERSONAL:

        - Eagle Scout BSA        - Snowboarding        - Pi Kappa Alpha Fraternity        - Rock Climbing
        -  Hockey        - Mountain Biking(Which-Way-Riders)    - Travel

References available upon request.