William Bauer
75 Statler Road
Belmont, Massachusetts 02478
617-429-6161
bbauer@ieee.org
Summary
I have over two decades of experience
in software and hardware development, specializing in signal processing, TCP/IP
networking and embedded systems.
Specific
skills and experience
My skills include software design and
development though complete life cycle, on Windows and Unix/Linux systems,
including GUI and device drivers, DSP code development on general purpose and
DSP processors, embedded development on DSP processors and microprocessors,
analog and digital design with discrete and programmable devices, advanced
multi-protocol web applications and project management and team leadership.
Languages
C/C++, Visual Studio/MFC/.NET, Java,
Perl, TCL/TK, JavaScript, MATLAB/Simulink, SQL
Experience
2006-2007 Sr. Software Engineer, Adaptive Optics Associates,
Cambridge, Massachusetts
I developed software in C, C++, .NET, and TCL to interface with cameras and mirror actuators for optical control systems. I improved and organized the TCL scripts used in prototype development, and the C code used in the operational systems. I implemented network control interfaces and programs to run these systems remotely.
2005-2006 Consultant (Firmware, Hardware), AMETEK Corporation,
Wilmington, Massachusetts
I wrote test software and debugged a newly designed board connecting legacy aircraft engine signals to ARINC 429, based on the TI TMS320F2812 processor. I also designed an ATE fixture for testing the system using DxDesigner and PADs for PC board design, and helped debug the LabView control program.
2005-2006 Consultant (Software, Firmware, Hardware), XRF
Corporation, Somerville, Massachusetts
For XRF
Corporation, I designed and implemented the hardware and firmware for a control
panel based on the TI MSP430. I also wrote and maintain a MFC application to
connect their X-ray spectrometer to a PC, and aid their engineering effort by
reviewing designs and maintaining a CVS SCM system.
2001-2005 Consultant (DSP, Software, Hardware), TechOnLine,
Bedford, Massachusetts
1999-2001 Development Engineer, TechOnLine, Bedford, Massachusetts
TechOnLine is
a web site specializing in delivering educational content for the hardware
engineering community, with emphasis on DSP and embedded systems. I designed,
implemented and maintained systems for TechOnLine users to run applications,
such as processor development systems, over the Internet via their browser
(VirtuaLab). These systems use Citrix Metaframe, Tarantella, server-based MFC/C++,
Java, Perl, VBScript, SQL7 and PHP, and client-side Java and JavaScript.
I set up
various microprocessor development systems to run on the VirtuaLab. The
microprocessors included the Motorola/Freescale PowerPC, ColdFire and i.MX21,
the Hitachi/Renesas R8, M16, and SH series, the TI 320C6000, the Analog Devices
ADSP-BF533 and Oki ARM ML67Q5003. Software IDEs included CodeWarrior, Code
Composer, ARM RealView, Embedded Linux, MATLAB, LabView, and Xilinx ISE. I developed hardware and
user interface applications in Java, C++/MFC and .NET for the remote hardware
access system, and device interfaces for Windows and Linux in C to access the
hardware.
I also helped
develop the engineering course content, and maintain the course delivery
infrastructure, which used RealAudio, JavaScript and Perl. I wrote a Java
applet and servlet to tunnel the Citrix protocol through firewalls via HTTP,
and implemented remote interfaces to the servers via HTTP and SOAP.
1997-1999 Lernout
and Hauspie Speech and Language, Burlington, Massachusetts
(Acquired Kurzweil Applied
Intelligence)
1985-1997 Kurzweil Applied Intelligence, Waltham, Massachusetts
1994-1999 Project
Manager, audio front end
1991-1994 Principal
Engineer, audio front end
1988-1991 Principal Engineer, recognition software development
1985-1988 Senior
Hardware Engineer
At L&H, I
designed and managed the front-end speech processing software, as well as
helping to design the COM-based speech recognition modules to fit in the
Microsoft SAPI framework. I made the speech recognition engine multi-threaded
to avoid starving the time-critical processing, and supervised re-writing the
DSP code in object-oriented C++.
As Project
Manager at Kurzweil, I managed a project that replaced our propriety DSP audio
input board with standard sound boards, by re-hosting algorithms in C and
assembly language to various DSP processors, and to general purpose CPUs.
Ultimately the product, a large vocabulary speech recognition system, ran both
with and without DSP processor, on the Windows NT, Windows 95, Windows 3.1 and
Solaris operating systems. I also lead the implementation of ClearCase in the
Kurzweil AI development environment.
As Principal
Engineer on the front end, I was responsible for the audio input hardware and
DSP algorithms running on the TI 320C25 DSP processor. I developed the
event-driven architecture used with Windows and UNIX operating systems in the
product, and implemented device drivers and interfaces for Windows NT, Windows,
various DOS extenders, various UNIX systems, and TCP/IP. I designed and
implemented the hardware and Solaris driver for a DSP board for the Sun Sbus. I
also developed and maintained the audio data collection system used for QA and
research, and was the technical contact for an Internet connection via NEARNet.
As Principal
Engineer on recognition software development, I managed the design and
implementation of the speech recognition algorithms for a large vocabulary
speech recognition system running on a 386 platform. I was responsible for the
organization of the software using an enhanced SCCS system running on UNIX.
As Hardware
Engineer, I designed a DSP board for the PC, based on the TI 320C25 DSP
processor, and gate array and programmed logic implementations of
pattern-matching algorithms.
1979-1985 BBN Computer/Communications Company, Cambridge,
Massachusetts
1984-1985 Group Leader
in Hardware Development
1979-1984 Systems
Engineer
I developed
processor, memory and interface hardware for the Pluribus multiprocessor and
C/30 micro-programmable computer used as routers. I also developed and debugged
other hardware, such as a 68000-based bit-mapped terminal, and a bit-slice data
encryption (DES) board used in network security systems (VPN).
While
primarily a hardware engineer, I also wrote diagnostics and application
programs in C, 68000 assembly language and microcode for network routers and
security systems using TCP/IP.
Education
Courses in Neural Networks, DSP, Java,
COM, Internet, Biology
MS Computer Science, Boston University,
Boston Massachusetts
BS Physics, Massachusetts Institute of
Technology, Cambridge, Massachusetts
Publications
and Patents
Patent
5136654, Aug 4, 1992, “Vocabulary Partitioned Speech Recognition Apparatus” William
Ganong, William Bauer, Daniel Sevush, Harley Rosnow
BBN report
5340, April 1984, “Fig Leaf Overall System Design, Demonstration” John Lin,
Joseph Walters, Bill Bauer, Steven Geyer, George Kajos, Stephen Kent,
Brian Anderson