Michael R. Ditto
SUMMARY
- First class software engineering skills and experience for
advanced computing applications
- Specializing in OS internals, communication protocols,
embedded software, and hardware bring-up
EXPERIENCE
Developer of system software for digital forensic access systems.
- Technical areas: Microcontroller firmware and boot code, embedded
systems design, prototype hardware bring-up, Linux internals, device drivers
10/09 - 07/19 Platforms Software Engineer
Google Sunnyvale, CA
Developer of system software for megascale data center computing.
- Technical areas: Linux internals, firmware and boot code, new hardware
bring-up, device drivers, hardware accelerators, PCI Express, cloud computing,
machine learning
Developer of firmware, embedded Linux and other system software for networking
equipment.
- Technical areas: Linux internals, firmware and boot code, new hardware
bring-up, device drivers, Ethernet switching
- Developed platform software for Ethernet switch products.
- Developed firmware based on U-Boot for multiple hardware platforms.
- Brought up Linux 2.6 and cross-development tool chain from scratch on
proprietary PowerPC platforms.
Developer of Solaris networking and security components.
Architect for packet filtering and encryption software products.
- Unix internals and device drivers
- Internet security and encryption
- Operating system security
- Operating system virtualization
- Java networking and GUI development
Independent consulting business specializing in software engineering
and system integration for Unix, Internet, and embedded systems.
- Software engineering and consulting
- Unix internals and device drivers
- Internet server installation, configuration, administration
- Projects included work in IP and ATM protocols and equipment, device
drivers for IRIX, Solaris, and embedded systems, and Internet server
integration.
Developer of Unix device drivers and other system software for
Asynchronous Transfer Mode networking equipment.
- Technical areas: Unix internals, device driver development
and porting, TCP/IP and ATM networking.
- Developed and ported the system software for ATM network interface
cards for Sun, Silicon Graphics, and other Unix workstations.
10/91 - 7/94 Member of Unix kernel development group
Unix System Laboratories 190 River Road Summit, NJ
(later to become part of Novell, Inc., The Santa Cruz
Operation, Inc, and Caldera, Inc.)
Member of software development team responsible for process management
subsystem of the Unix SVR4.2 Multiprocessor kernel (UnixWare 2.0).
- Technical areas: Unix internals, multiprocessor kernel
techniques, open systems standards.
- Responsible for signals, process creation/termination/synchronization,
job control and the /proc file system.
08/88 - 10/91 Unix Systems Software Architect
Commodore-Amiga 1200 Wilson Drive West Chester, PA
Lead designer and kernel hacker for Amiga version of Unix System V Release 4.
- Technical areas: Unix internals, device driver design and
development, kernel and user software porting, system design,
graphics, networking protocols and drivers, STREAMS, open
systems standards.
- Designed and implemented Amiga Unix graphics system and device
drivers. Developed graphics system API and presented to software
developers, technical conferences, and other kernel engineers.
- Interacted with hardware engineers during development of computer
hardware systems and peripherals.
- Worked closely with AT&T as an early-access SVR4 developer. Ported
pre-release SVR4 kernel to Amiga hardware. Reported and corrected
major kernel bugs.
11/87 - 07/88 Senior Systems Programmer
International Robomation Intelligence 2281 Las Palmas Drive Carlsbad, CA
Development of system software, application software and real-time
operating system for computer vision systems.
- Technical areas: Computer vision, graphics, operating system
internals (Unix, Regulus, IRI RT/M), telecommunications.
- Interacted with hardware engineers during design of vision systems.
- Created cross development environment under Unix for target
vision hardware. Adapted compilers, assemblers, and other tools.
Development of clinical charting systems for use in hospital
intensive care units.
- Technical areas: Graphics, IPC, Unix systems programming,
TCP/IP, BSD Sockets, ISAM, data acquisition, telecommunications.
- Modified, configured, and installed Unix kernel, device
drivers, and system programs.
- Tested and evaluated Unix operating system ports, interacting
with kernel developers.
- Designed and implemented subsystems for data acquisition, PostScript
printing and custom database system and API.
9/84 - 11/85 Game Programmer
Cinematronics, Inc. 1741 Friendship Drive El Cajon, CA
Design and development of microprocessor-based coin-operated video games.
- Technical areas: Hardware control, graphics, multi-processor systems
software, operating system internals.
- Designed and implemented graphic operating system for use by other
game programmers. Prepared written programmer's documentation and
oral presentations about game hardware and operating system software.
- Advised hardware engineers during development of new game hardware.
- Implemented communication systems between Unix development
computers, microprocessor emulators, and other devices.
PERSONAL ACTIVITIES
- Hobbies include open-source software development, mobile computing and
communications, hardware design and prototyping, music, carpentry and home
improvement.
- Member IEEE,
ACM. Extra class Amateur
Radio operator.
- Personal home page