John J. Smith
jsmith@deepbytes.com
SUMMARY
Over 15 years of experience covering all stages of hardware and software design from initial concept to final deployment. Extensive experience with hardware and software designs for real-time and embedded systems. Experience highlights include:
- Extensive experience programming in C and C++
- Hardware experience includes design of high-speed logic circuits, video capture cards, ISA, PCI and VME bus interfaces, single board computers, and embedded microcontrollers.
- Software experience includes Microsoft DirectX, DirectShow, COM, VxWorks board support packages, military communications, real-time applications, and embedded firmware.
- Device driver development for Linux, Solaris, and Windows (WDM)
EXPERIENCE
Innovative Concepts Inc. May 2001 to Present
Lead Principal Engineer
Member of a small team of engineers responsible for development of the PCIDM (Personal Computer Improved Data MODEM). The PCIDM is a commercial version of a military RF MODEM that transmits data over military radios and performs routing functions for several military and commercial network protocols. Protocols include IP over MIL-STD-188-220 and MIL-STD-188-184, AFAPD, TACFIRE, and IDL. My portion of the kernel and application development was performed using ANSI C on a Solaris platform for a LYNXOS target. I added an enhanced version of PPP to the PCIDM network stack. I designed and developed an implementation of MIL-STD-188-184, which is a link layer protocol normally used in satellite communications. I also created a thin interface layer that allows MIL-STD-188-184 to be used alone and as an IP link layer at the same time. The skills required to accomplish these tasks include C, LYNXOS, Linux, strong TCP/IP skills, Epilogue IP stack internals, and extensive knowledge of the MIL-STD-188-184 protocol. I rewrote the Windows NDIS driver used as an interface to the PCIDM card to support all current versions of Windows from Win98 up. I was also responsible for all driver maintenance and updates. Driver development was performed using Microsoft Visual C++ 6.0 or Visual Studio.NET on a PC platform. I also ported the PCIDM Windows driver to support Linux kernel versions 2.4.3 through 2.4.18 (RedHat versions 7.1 through 8). The skills necessary to perform PCIDM driver work are Visual Studio (.NET), C, Windows Driver Model (WDM), PC-Card 16, and Linux kernel drivers.
Lightningcast Inc. March 2000 to May 2001
Principal Engineer
Part of a team tasked with the investigation of streaming media technologies and finding solutions to the problem of inserting targeted commercial advertisements into streaming audio. All development was performed using Microsoft Visual C++ on a PC platform. This skills necessary for this development work included basic UML, C++, Signal Processing, MS DirectX and DirectShow, and Web programming. I took the lead role in specifying and developing the first live ad-insertion system for Windows Media Encoder. Designed and developed a tone-based software subsystem used to inject, detect, and remove commercial stopset markers in an audio stream. I adapted the same system to work with a contact closure based satellite receiver. Designed and developed a comprehensive audio manipulation system capable of splitting, delaying, monitoring, and modifying audio acquired from a sound card. System is used to detect control signals, insert delays, insert commercial advertisements, and replicate audio to multiple Windows Media Encoders and/or Real Networks Encoders. Designed and developed a live ad replacement system for Real Networks Encoders.
Sparta Inc. September 1994 to March 2000
Principal Engineer
I managed several small projects employing two to seven hardware/software engineers and technicians, where I was responsible for day-to-day management, budgets, staffing, cost estimates, proposals and technical decisions. I wrote several white papers resulting in over 2 million dollars of new business over a three-year period. I assumed a lead engineering role in several hardware design efforts including custom video capture cards, PSTN MODEM cards, and 68360 based communications controllers. The skills necessary for me to accomplish these hardware designs included PCI, PC-Card32(Cardbus), ISA, Motorola CPU32 architecture, Intel I960 architecture, High-speed logic (ECL), FPGA and EPLD design, Ethernet, and POTS. Wrote a VxWorks Board Support Package for an off-the shelf 68360 based Single Board Computer using a Solaris platform. I later modified this BSP to support multiple in-house 68360 designs. The skills necessary to accomplish this included VxWorks internals, C, TCP/IP, 68K assembly, extensive knowledge of CPU32 and CPM architecture. Wrote a Solaris 2.x device driver that interfaces SPARC CPU's running Solaris to a VxWorks based VME backplane network (SM for Solaris). The skills necessary for this included VME, C, SPARC architecture, strong TCP and IP knowledge, and Solaris kernel drivers. Currently named co-inventor on a patented video capture design (5,835,102).
Viggen Corporation June 1994 to September 1994
Staff Engineer
I was part of a software team designing a distributed traffic simulator. My contributions included a series of working models defining system sequencing and data transfer. All models were written in "C" and "C++" using the ObjecTime case tool on a Solaris platform.
Interferometrics Inc. June 1993 to June 1994
Staff Engineer
Member of a hardware/software team designing a complex data processing and recording system for a satellite ground station on the Orbiting Very Long Baseline Interferometer project. Contributions included a series of hardware control libraries, debugging of high-speed digital systems, and a key role in integrating software with hardware. All development was done for VxWorks targets using SunOS platforms. The skills necessary to accomplish this included C, VxWorks, SunOS, and High-speed logic. I also served as administrator of a small network including Sun workstations, several IBM-PC's used as Xterminals and VME target systems running VxWorks.
SFA Inc. March 1988 to June 1993
Electronics Specialist
Permanent employee performing customer-site contract engineering services.
Assigned to United States Naval Observatory: Interferometer Project by SFA
October 1989 to June 1993
Electronics Specialist
I was responsible for design, development, debugging, and support of hardware and software subsystems for the Optical Interferometer Project. I designed an Intel 8051 microcontroller based modular motion control system for control of various types of widely scattered motors. I designed various GUI's for control of remote CPU's and instrument functions. I designed real time embedded control software for various instrument subsystems which included software for CCD and frame grabber operations, image manipulation, star finding algorithms, motor servos, and serial communications interfaces. Skills necessary for this development included microcontroller design, digital logic, A to D converters motion control systems, graphics processing, C, 8051 assembly language, and SunOS. Development was performed on a mixture of Sun workstations and PC's for VxWorks and custom targets. I volunteered for a part-time role as system administrator in 2/92, and maintained a network of Sun workstations and PC's until leaving the project.
Assigned to Naval Research Laboratory by SFA March 1988 to
October 1989
Electronics Specialist
I was responsible for design and maintenance of analog electronics, microcontroller systems and control PC's for the IRCam project. I designed and implemented programmable sequencers for control of Hughes and Rockwell infrared detector arrays. I designed a high speed, DSP based data acquisition system capable of real time data processing. I designed an 8051 based microcontroller system for control of all instrument functions via a simple serial command interface. I designed an operator interface for the photometer containing all necessary control functions, a real-time display, a data playback mode, automated testing procedures, and array characterization routines. The skills necessary for this included A to D converters, microcontroller design, assembly language programming, digital signal processing, Microsoft C, low-noise amplifiers, motion control, infra-red sensors and cryogenics.
EDUCATION
Electronics Technology Certificate from Lincoln Technical Institute (1988)
CLEARANCE
CLEARABLE: Department of Defense Top Secret clearance (inactive, last used 2000)
SKILLS
Operating Systems/Platforms:
Linux, Windows, SunOS/Solaris, VxWorks and LynxOS
Hardware:
PCI, ISA, PC-Card, High-speed logic, EPLD and FPGA, X86, 68000, 8051, i960, Ethernet, A/D converters, and POTS.
Application packages:
Word, Excel, PowerPoint, Project, Protel, and Orcad.
Languages:
Microsoft Visual C/C++, ANSI C/C++, various Assembly Languages.