Brian
Beattie
6355
NE 6th
Ave - Portland OR 97211
(503)544-4727
- beattie@beattie-home.net
Professional Experience Summary
30 years of experience in software development. Experience with the design and development of micro-processor based hardware. Expert in optimizing microprocessor code for timing or space. Experienced in extending the capabilities of systems beyond original design parameters. Expert in the UNIX/Linux operating system internals and embedded systems using various microprocessors in assembler and C, for communications and networking using UNIX/Linux and other embedded OS's. Experience in the design and development of Trusted Software and computer and Internet/Intranet security issues. Experience with use and development of TCP/IP networks. Experience with X windows. Extensive experience with the C language. Hands on experience in all phases of network and computing facilities from design to installation to maintenance.
Technologies
|
C/C++ |
Embedded Systems |
Hardware debugging |
|
Gcc |
Source Code Control |
Unix/Linux Dev. Tools |
|
Oscilloscope |
Network Analyzer |
TCP/IP |
|
PERL |
UNIX |
Linux |
|
FreeBSD/OpenBSD |
Flash Memory |
Communications Protocols |
|
Embedded OS |
SMP/NUMA |
Microprocessors |
|
Network Protocols |
USB, USBTMC |
Circuit Design |
Highlights
Designed and Developed IPMI, IPMB protocol implementation and support.
Developed Linux Device Drivers
Developed Unix/BSD Device Drivers
Designed Linux based Wireless Access Point with captive portal.
Analyzed and improved Linux Kernel support for MultiPath devices.
Contributed to the development of Dynix/PTX kernel.
The design and implementation of real-time embedded systems to monitor and control gaming devices, including data collection and communications.
Designed and implemented portions and ported others for IPMC.
The establishment and maintenance of software tool chain/build tools.
The design and implementation of several TCP/IP based front-ends, using embedded UNIX, including associated host to front-end protocols.
The design, implementation and deployment of a secure communications guard running on the XTS-200. Project leader on a project to develop a C2 and a B1 trusted UNIX system.
The implementation of a TCP/IP front end for a PDP11/23 running UNIX, including porting CMOS, a real-time embedded OS, and the TCP/IP implementation and developing the host interface software.
Ported portions of the SecureWare CMW+ system to HPUX 10.0. The development of microprocessor based hardware and software for a standalone communications processor.
15 year of participation in and contributions to the open source community.
Implemented support for nxp ISP1761 and MPC870 USB device mode.
Experience
Opensource and Community based development
Repurpose
D-Link DSM G600 Wireless NAS
Based
on reverse-engineering work done on the D-Link DSM G600 Wireless
Network Attached Storage (NAS) device. Designed and developed a
wireless appliance to connect to a mobile data collection device and
a Linux server to upload and store data. Serial Port used to receive
control instructions and switched USB device to access data from
mobile data collection device. Designed and developed protocols used
between data collection device and DSM G600 and between DSM G600 and
Linux Server.
Other Developed improvements to Linksys WRT54G firmware, HTML GUI and functionality. Currently: Busybox/uClibc CF based sourceforge.net project firewall/wireless access point (pre-Alpha) <http://sourceforge.net/projects/emimagebuilder>. Developed kernel patches for various BSD kernels. Developed and submitted buildroot BSP profile, for ARM based board.
Professional Experience
WelchAllyn,Inc (Dec 2008 – April 2009) Firmware Engineer(contractor) Developed USB to SPI bridge designed to connect 802.11abg radio to medical monitoring equipment. This work involved analyzing third party software products and designing a new SPI protocol with a goal of robust communications over SPI.
Tektronix, Inc.(Feb 2007 – Dec 2008) Software Engineer(contractor) Added support for NXP !761 USB (device) to USBTMC (large C++ multi-platform) package for Tektronix Instrument based on Linux 2.4 kernel running on an MPC870 CPU. Worked with hardware engineering on final adjustments to USB hardware. Implemented buildroot BSP for new target. Investigated support for new Linux USB “gadgets” to implement USBTMC and PTP USB protocols.
Apcon, Inc. (April 2006 – Feb 2007) Firmware Engineer Provided debugging, bug fixing and feature enhancement for physical layer communications switching equipment, (Enet 10/100/1000/10000 Mbs, fibre, T1/E1 etc.), controlled by ARM based controller running Linux. Produced SNMP MIB and agent/sub-agent implementing the MIB, on the Linux controller. Participated in new hardware bring-up, implemented PCI and USB support in Linux 2.6 kernel for PowerPC based controller board.
Intel (Nov 2004 – March 2006) Software Engineer(contractor) Designed and implemented startup code and ported existing firmware for H8S based Intelligent Platform Management Controller (IPMC) implementation for a new ATCA processor boards. Designed and developed code to support H8S on-chip peripherals. Initial microcontroller initialization, high reliability and fail-safe recovery. IPMB/KCS microcontroller/host processor communications, implemented IPMI protocol functions. Flash memory management and programming H8 internal and Intel 28Fxxx flash memory
DRS-Signal Recording Technologies (Sept 2003 – Nov 2004) Software Engineer(contractor) Provided support for a Linux Based High Speed data recorder product. Developed Linux device driver for timing data recovery and generation (IRIGB) devices. Enhanced Firmware installation procedures. Provided expert assistance in selecting and qualifying hardware. Upgraded firmware to newer version of the Linux kernel adding latest device drivers. Developed a bootable CD to upgrade the BIOS. Improved build procedures to provide consistency and repeatability in software releases. Selected hardware (cpu board, chassis, boot media, etc...) for prototype of next generation of the product. Helped diagnose issues surrounding Compact Flash boot media.
Sequent Computers/IBM (May 1998 - May 2002) Staff Software Engineer (Kernel Developer) Member of IBM's Linux Technology Center with the goal to improve Linux. With others, analyzed Linux kernel support or Multi-Path device I/O. Selected most promising approaches to improving support for Multi-Path I/O,. Developed and delivered enhancements to the "md" pseudo block device to improve support for Multi-Path I/O. Analyzed and developed enhancements to Linux SCSI subsystem to support MultiPath I/O. Added new features and enhancements to DYNIX/PTX, a highly optimized NUMA aware UNIX operating system. Performed component testing, developing new tests. Worked on the disk subsystem, added support for Multi-ported Fibre-Channel disks. Designed and implemented improvements in handling tagged queuing in a clustered environment. Participated in design/code reviews. Performed hardware/software analysis for new products. Involved in all aspects of the Engineering Design and Development cycle, from planning to design and implementation.
Atlas Telecom (Nov 1997 - Apr 1998) Senior Software Engineer Technical lead with expertise in UNIX and FreeBSD, until shortly before Atlas ceased operations. Implemented CVS Source code control system and software build system for FreeBSD (gnu tools). Worked with manufacturing to establish installation procedures.
Dynamics Research Corporation (Jan 1996 - Nov 1997) Senior Software Engineer on and in support of, Dynamics Research Corporation's toll fraud detection products. Specific work includes: of existing customer systems to determine the causes and possible correction of faults, requiring thorough analysis of a large legacy UNIX systems, to the kernel level. Working with customers to identify problems in existing systems and developing strategies to improve and upgrade computing and communications systems. Development of GUI's in C++ to run on both UNIX and MS Windows. Internal support: Implementing network security, including building firewalls and Internet servers based on FreeBSD. Programming and porting software to support network services and network security. Interim System Administrator/Manager during the expansion of facilities, from one System Administrator, five UNIX Servers and one WAN site to three System Administrators ten servers and four WAN sites.
Acres Gaming (May 1995 - Jan 1996) Senior Software Engineer Worked on the design and development of a distributed real-time embedded system to monitor and control gaming devices (slot machines, video poker, etc...) written in C using the Hitachi H8/300. Designed communications protocol extensions. Designed and coded extensions for collection and reporting of data. Worked with the hardware design staff in the design new hardware. Worked with QA to test and analyze equipment and systems.
SecureWare (March 1994 - May 1995) Senior Software Engineer Worked first on-site in Atlanta GA and later via tele-commuting from Corvallis OR, as part of the team to port HP-UX CMW+ to the latest SecureWare technology. Was a senior engineer on a project to port the SecureWare CMW implementation (CMW+) to the HP700 series workstations. As part of this work designed and implemented subsystem auditing for the import and export of data. Also added auditing to print spooling subsystem.
HP Corvallis, OR (Oct 1993 - March 1994) Contractor Provided trusted software expertise and support for the HP9000/700, ported X11R5 clients and libraries to HPUX 10.0.
Intel SSD Beaverton, OR (Sept 1992 - Oct 1993) Contractor Was sustaining engineer on the Intel Touchstone DELTA, a massively parallel super-computer with 576 nodes connected via a mesh. Work on the DELTA included the development and implementation of TCP/IP networking using an embedded UNIX front-end connected to the HIPPI high-speed interface.
Honeywell Federal Systems Inc. McLean, VA (Nov 1987 - Sept 1992) Independent Contractor Was the project leader and one of the primary designers in the development of a C2/B1 TCB based on System Vr2 UNIX. Provided UNIX expertise in support of the HFSI secure UNIX product development A Senior Member of a team which designed, built and delivered a secure network guard, hosted on the XTS-200 B3 TCB in a TCP/IP Ethernet and X.25 environment.Involved in port of a Compartmented Mode Workstation implementation, to a MIPS workstation. Worked on design and implementation of UNIX System Vr3 based network front-end for the XTS-200 system, including writing UNIX streams device drivers.
Projects for other clients.(Jun 1989 - Sept 1992) Primary programmer and designer on a project to produce a C2 Trusted MINIX (a unix-like OS). Modified BSD/OS SCSI tape and disk drivers to handle non-standard devices. Ported device drivers and Free-ware software to BSD/OS and System V. Senior Programmer porting real-time features from a real-time UNIX to a proprietary BSD Unix variant.
NetExpress Communications (Nov 1985 - Sept 1987) Operating Systems Support Provided support and expertise in UNIX, administered a Pyramid 98x UNIX with Ethernet and X.25 networking. Ported and installed third party packages.
Contel Information Systems (May 1985 - Nov 1985) Senior Member of Professional Staff, Software Engineering Provided expertise in the design and development relating to the UNIX Operating System.
The Mitre Corporation (June 1981 - May 1985) Member of Technical Staff, Systems Engineer, Provided system software support for several in-house systems running under various versions of the UNIX operating system. Developed a front-end based TCP/IP network interface for a PDP 11/23 running UNIX using the Mitre TCP/IP package. Performed first bring up of software on the Z8000 based front-end hardware including the design in implementation of BIOS functionality. Performed porting and extending CMOS (a real-time embedded OS) to the front-end, including writing device-drivers, as well as writing UNIX host drivers.
Digital Switch Corporation (February 1981 - June 1981) Communications System Programmer Designed and developed microprocessor-based software for digital telephone switching system. Programming Zilog Z80 in assembly language.
Teledyne Geotech (September 1976 - February 1981) Systems Programmer Developed software for a variety of microprocessor based systems. Including designing hardware and software for a 8085 based board with dual-ported memory. Wrote and maintained software for a PDP 11/70 running Version 6 UNIX. Participated in the transition to Version 7 UNIX and took over responsibility for support and maintenance of software under UNIX including ARPA-net and related software and device-drivers for UNIX.
Microcomputer Technique (May 76 - September 76) Programmer Worked on the development of two assemblers, an editor and several microprocessor based systems.
Education/Training
American University, Washington D.C.
Northern Virginia Community College, Annadale, VA
Certificate, Programming Technology, Control Data Institute, Arlington, VA