JAY TALBOTT

SysPro Consulting, LLC

3057 E. Muirfield St.

 Gilbert, AZ 85298

(480) 704-8045

 

Objective

 

To provide software engineering consulting services to clients in need of systems level software engineering expertise. These services include the development of device drivers, embedded systems, operating system internals, real-time control systems, etc. for industrial, commercial, military, and consumer applications.

 

Expertise

 

Systems Programming

·   C, C++, and assembly language programming

·   Intel x86/x64 and 8051, Motorola 68K and PowerPC CPUs, and TI TMS320Cxx DSPs

·   ISA, EISA, PCI, CPCI, VME, S-bus, SCSI, and custom proprietary hardware buses

·   Windows NT/2000/XP/2003/Vista kernel-mode device drivers

·   Unix device drivers (Linux, DEC OSF/1, SunOS, LynxOS, HP-UX, AIX, etc.)

·   Real-time multitasking operating system internals

·   Kernel level programming and debugging

·   Multiprocessor environments

·   Embedded systems programming

·   Hardware register level programming

·   Programmed I/O and interrupt driven I/O

·   System and busmaster DMA

·   Hardware and software communication protocols

·   Hardware emulators and logic analyzers

Applications Programming

·   Win32 / MFC application development

·   Unix/Linux application development

·   Object oriented programming

·   Multithreaded programming

·   Client/Server architectures

Software Development Tools

·   Microsoft Visual C++, Windows SDK, Windows DDK, and other Microsoft Developer Network tools

·   Compuware NuMega SoftICE kernel debugger

·   Cygnus, Microtec, and TI cross development tools

·   ClearCase configuration management software

·   Various Unix/Linux development tools

Application Areas

·   Telecommunications

·   High-availability and fault-tolerant systems

·   Factory automation and industrial control

·   Machine vision systems

·   Speech recognition

·   Real-time control systems

·   Data acquisition systems

·   Data storage

·   Automotive / heavy equipment

·   Commercial grade products

·   Consumer products


Experience

 

Principal Consulting Engineer

SysPro Consulting, LLC, Phoenix, Arizona, March 2001 - Present

Client: Microsoft Corporation (subcontracted through Steyer Associates, Inc.)

·   Contributed to the Windows Driver Kit (WDK) for Windows Vista and Windows Server Code Name "Longhorn" by writing the technical documentation for the following technologies:

·   Winsock Kernel

·   Network Module Registrar

·   Windows Filtering Platform

·   Windows Hardware Error Architecture

·   PCI Express

·   Dynamic Hardware Partitioning

·   Contributed to the design of the kernel-mode API for the technologies listed above. This effort involved reviewing internal specification documents and software header files and providing key feedback and suggestions to the development teams from the perspective of an independent device driver developer. Almost all of the feedback and suggestions that were provided to the development teams were incorporated into the final interfaces.

·   Wrote a technical whitepaper that documents new extensions to the StorPort interface.

·   Contributed to two technical whitepapers about the Windows Hardware Error Architecture and Dynamic Hardware Partitioning that were published for WinHEC 2006.

·   Contributed to the development of the Windows client-server protocol documentation.

Client: Hybond Inc.

·   Developed 8051-based real-time control software for the Hybond model 626 and 676 wirebonders.

·   Contributed to the design of the hardware interface between the CPU board and the A/D board for the Hybond DFS-III dynamic force measurement system.

Client: Southwall Technologies, Inc.

·   Architected new Windows-based software for Southwallâ�™s Hexatrom optical monitoring system used in their manufacturing facilities. This software replaces their original DOS-based software.

·   Developed a custom Windows device driver for a PCI data acquisition board to meet the unique requirements for interfacing with the optical monitoring system hardware.

·   Developed a Win32 console application that interacts with the device driver and provides various low-level diagnostic functions for debugging the optical monitoring system hardware.

·   Developed a custom multi-threaded Win32 system service that interacts with the device driver and provides access for both local and remote client applications to connect to and interact with the optical monitoring system.

·   Developed a custom Win32/MFC application for installation, configuration, and removal of the system service for the optical monitoring system.

·   Developed a custom multi-threaded Win32/MFC client application for user interaction with the optical monitoring system.  This application also provides tabular and graphical displays of the relevant data during the manufacturing process, as well as various diagnostic functions for debugging the optical monitoring system hardware.

Client: Adtron Corporation

·   Modified an existing Windows device driver for the Adtron SDDR data storage product so that it works correctly when used with Windows 2000.

·   Designed and developed a custom Win32/MFC application for installation, configuration, and removal of the device driver for the Adron SDDR and SDDL data storage products.

·   Designed and developed a custom Win32/MFC application for installation, configuration, and removal of the device driver for the Adtron ALCP data storage product.

Client: S.D.S.S., Inc.

·   Developed a mouse filter driver for Windows 2000/XP to provide unique functionality for a prototype mouse design.

·   Developed a custom Win32/MFC application that provides the ability to change the operational parameters of the mouse filter driver for optimizing the performance of the prototype mouse.

 

Staff Software Engineer

Motorola, Inc., Tempe, Arizona, July 1998 � June 2001

Motorola Computer Group

·   Development of Windows 2000 operating system level software for CompactPCI based high-availability computing platforms.  Involved development of specialized device drivers, system services, and system management tools to provide support for managing multiple CPCI I/O domains and for handling hot swapping CPCI modules.

·   Development of operating system level software for fault-tolerant computing platforms.  Involved customization of the AIX operating system kernel, development of highly specialized device drivers and kernel extensions that provide fault tolerant capabilities, and development of custom system administration utilities.

·   Development of Linux device drivers for ATM network hardware as well as the porting of the ATM drivers and protocol stacks between the x86 and PowerPC architectures.

Motorola Manufacturing Systems

·   Development of Windows NT based control software for machines used in the manufacturing and handling of high-density BGA chips, â�œbio-chipsâ�, and other semiconductor products.  Involved integrating I/O subsystems from multiple vendors and developing and debugging the main control applications.

 

Senior Software Engineer

Cognex Corporation, Natick, Massachusetts, February 1995 - June 1998

Systems Software Group

·   Lead developer of the PC Host software for the Programmable Vision Engine product line.  Involved designing, implementing, and debugging kernel-mode device drivers for ISA bus and PCI bus vision processing hardware for a wide variety of host operating systems.   Also involved developing MFC based applications for installation and configuration of the device drivers for Windows NT.  In addition, was involved in the design and development of DLLs and MFC applications used for user interaction with the vision processor hardware.  The device drivers provide multiple channel interrupt driven communication between the host PC and the vision processor.  The PCI bus device drivers also provide support for busmaster DMA transfers between the vision processor and the host PC.

·   Key developer of operating system level software running on the embedded vision processor hardware.  Involved porting existing software to new vision processor hardware platforms, developing new software to provide additional functionality, and developing custom special software to fulfill specific individual customer requirements.

·   Worked closely with hardware engineering, software quality assurance, technical documentation, release engineering, and other internal groups throughout the complete product development cycle in order to develop the best possible product.

·   Provided 2nd line customer support for existing products in the field.

·   Involvement in developing standards and procedures for software development.

·   Mentor to others in the group.

 

Software Engineering Consultant (Part Time)

Verbex Voice Systems, Cambridge, Massachusetts, February 1995 - September 1999

Advanced Research and Development

·   Ongoing development of the I/O interface for an advanced prototype speech recognition system.  Involved designing and implementing a configuration message protocol between the host computer and the embedded DSP hardware that provides significantly more flexibility and provides for configuration at runtime instead of at compile time.  Also involved re-implementing much of the software running on the DSP hardware, including interrupt handlers, memory managers, and most of the actual signal processing code.  In addition, involved improving the robustness of the software running on the DSP so that it can detect various error conditions and automatically correct the problem dynamically without disrupting the speech recognition process.

·   Development of a number of Windows NT device drivers for custom DSP hardware, including porting all of the communications libraries and test code from other operating systems to Win32.

 

Software Engineer

Verbex Voice Systems, Littleton, Massachusetts, November 1993 - February 1995

Advanced Research and Development

·   Development of the I/O interface for an advanced prototype speech recognition system.  Involved development of Unix device drivers for speech I/O hardware, software development for embedded DSP hardware in a real-time multitasking environment, and development of a generic API for application software to interface with different speech I/O hardware.

·   Development of the centralized control module for the speech recognition system that coordinates the events during the recognition process and processes the results returned from the speech recognition engine.  Involved development of real-time multithreaded software on symmetric multiprocessing Unix systems.

·   Development of an X /Motif based application for evaluation of the speech recognition system.

·   Application of formal software engineering techniques to refine prototype research software into production worthy code, making it more robust and easier to maintain.

·   Involvement in developing standards for software development in the R&D groups.

 

Research Engineer

Caterpillar, Inc., Technical Center, Peoria, Illinois, May 1989 - November 1993

Control Systems Research Division

·   Development of advanced electronic control systems for improving the performance, productivity, and reliability of heavy earthmoving equipment.  Involved control system specification and design, real-time multitasking software development for embedded control hardware, and performance analysis through computer simulation and field testing.

·   Involvement in development of corporate standards for software development in the R&D groups.

·   Investigation of advanced sensor technologies for use in electronic control systems.

·   Participation in the College Graduate Training Program, which involved various projects in areas of engineering, research, manufacturing, and logistics.

 

Graduate Assistant

University of Minnesota, Minneapolis, Minnesota, September 1987 - March 1989

Department of Mechanical Engineering

·   Software and hardware implementation of a â�œbehavioralâ� control strategy on an autonomous mobile robot.  Involved real-time object oriented programming for a multiprocessor embedded environment and hardware I/O interface development.

Department of Electrical Engineering

·   Investigation of computerized methods for electromechanical system identification.

·   Preparation, teaching, and grading of Junior/Senior level electronic circuits labs.

 

Summer Technical Employee

3M Company, St. Paul, Minnesota, June 1987 - September 1987

Corporate Research Labs

·   Development of custom computer controlled laboratory instrumentation.

 

Student Assistant

Gustavus Adolphus College, St. Peter, Minnesota, September 1983 - June 1987

Department of Physics

·   Hardware and software development of computer controlled physics experiments.

·   Investigation of electromagnetic interference from personal computers.

·   Preparation and teaching of advanced electronic circuits labs.

Department of Computer Science

·   Teaching Assistant for introductory programming courses.


Patents

 

Method Of Controlling Clutch-To-Clutch Shifts For A Powershift Transmission

U.S. Patent No. 5,467,854, Issued Nov. 21, 1995

 

Method Of Controlling Interrupted Shifts For A Powershift Transmission

U.S. Patent No. 5,505,100, Issued Apr. 9, 1996

 

Adaptive Control Method For An Automatic Transmission

U.S. Patent No. 5,551,930, Issued Sep. 3, 1996

 

Method For Determining The Fill Time Of A Transmission Clutch

U.S. Patent No. 5,580,332, Issued Dec. 3, 1996

 

Publication

 

Scarecrow: An Implementation of Behavioral Control on a Mobile Robot

Proceedings of the SPIE, Vol. 1195, November 1989

 

Education

 

Professional Training and Conferences

·   Windows Driver DevCon 2003

·   WinHEC 2001, 2002, 2003, 2006

·   PCI Express system architecture

·   Windows driver developer roundtable

·   Writing reliable drivers for Windows

·   Win-Dev 2001

·   Writing kernel-mode device drivers for Windows 2000

·   Advanced driver development for Windows 2000

·   Writing kernel-mode device drivers for Windows NT

·   Effective C++

·   Numerous C and C++ courses

·   Structured analysis and design

·   SEI CMM

·   Fuzzy logic

 

Master of Science, University of Minnesota, March 1989

Major / Minor: Mechanical Engineering / Electrical Engineering

Cumulative GPA: 3.76

Focus: Control systems, software development, robotics, and electronic interfacing

 

Bachelor of Arts, Magna Cum Laude, Gustavus Adolphus College, June 1987

Major / Minor: Physics / Mathematics

Cumulative GPA: 3.71

Honors: Academic Assistant 1986-87; Dean�s List 1985, 1986, 1987; Research Fellowship 1985