860 916-7518 ( C ) 860 233-7695 ( H )
Software architect, developer with 28 years experience in the
specification, design, and implementation phases of software development.
Expertise includes: structured real-time highly optimized applications,
embedded systems, hardware and device drivers and interfacing, object oriented
design, client server system design, distributed system design, web (design and
back end), security components, design patterns, database system design,
operating system internals, networking, graphical user interfaces.
PC based systems
(including Intel’s new multicore processors in 32 and
64 bit mode), HP, SUN, and DEC workstations VME based systems; embedded HW
systems; Vax computers; PDP-11 minicomputers, Interdata minicomputers; Concurrent computers;
Windows CE 6.0, Windows
XP, Windows 2000 & 2003 (server & client), Windows NT 4.0 (server &
client), Windows 98, Windows 95, Windows 3.11, DOS, Novell, UNIX (HPUX, SUN
Solaris, DEC Ultrix), VAX VMS, Real Time OS’s (VxWorks, OS9000, OS9, VRTX, PSOS, RTOS, VersaDos,
iRMX-386, QNX, RSX-11M and RT-11)
TCP/IP,
C++, C, C#, Com,
Java, Java Script, HTML, ASP, JSP, XML, XSLT, Visual Basic, VBA, PASCAL,
FORTRAN, PLM, PL/1, SQL, PL/SQL and numerous assembly languages
.NET, .NET
Compact Framework, Intel C++ Optimizing Compiler, Intel VTune
Performance Analyzer, Intel Thread Checker, Intel Thread Profiler, Open MP, Posix PThreads, Microsoft Win32
Thread API, Microsoft Enterprise Library,
Visual Studio, Borland, Visual Age Java, Vax
VMS, Sun Solaris, HP-UX, Rogue Wave class libraries, MFC libraries, ATL
Sql (Oracle, SyBase, and Ingres), Microsoft ODBC, DAO, and
B.S., Education,
M.S., Computer
Science,
MBA,
The
The
June 2006 – Present - ESPN (Consultant)
Software engineer in the MIT department. Responsibilities include:
· Design and development of Windows CE 6.0 embedded system used for instrumented camera heads. Supports data acquisition of multiple encoder boards (up to 12 encoders) and Fujinon and Canon lenses. Supports serial and network clients
· Design and development of tracking system that utilizes ultra wideband RF sensors. System used tags located on skateboards and bikes to support the “huck tower” at the 2007 summer XGames. System used tags located in football player helmets to support player tracking graphics during the telecast of the 2007 Arena Bowl championship telecast.
· Developing highly optimized image processing algorithms to process real time high definition video streams. The algorithms are implemented via various state of the art programming optimization techniques including: SIMD (single instruction multiple data) tools, compiler intrinsics to support Intel MMX, SSE, SSE2, and SSE3 register usage, explicit fine grain thread control to utilize Intel’s new multicore processors, and OpenMP.
·
Evaluating state of the art Intel processors and
motherboards to evaluate image process performance in regard to number of cores,
L1, L2, and L3 cache size, and system front side bus speed.
November 2005 – June 2006 - Accu-Time Systems
(Consultant)
Software architech for a provider of
workforce management terminals (time clocks). Primary responsibilities
includes developing software framework to provide VARS with a
communication dll for all models of terminals.
The framework is developed in .NET 2.0.
The framework eliminates the need for VAR applications to have any
knowledge of the terminal model or mode (network, serial, and/or modem) and
eliminates the need for the application to poll any terminal. The framework is scalable allowing thousands
of clocks to be connected. The framework
also utilizes the Microsoft Enterprise Library for .NET 2.0.
November 2001 – November 2005 - SCIENTECH
(Consultant)
Software developer for the SCIENTECH Connecticut office. Primary responsibilities includes developing
R*TIME applications to communicate with various new and existing devices and
subsystems at the following Nuclear Power Plants: Salem, Hope Creek, Kewaunee,
Three Mile Island, Millstone, Oyster Creek, Dresden, and LaSalle.
Software architect responsible for developing .NET2002 Visual Basic Class Library Assemble to support client-server communication for up to 500 Accu-Time System time clocks.
Software
developer responsible for the following R*TIME application upgrade at the
LaSalle Nuclear Power Plant: General Electric RCMS (Rod Control Management
System).
Software
developer responsible for the following R*TIME applications at the Dresden
Nuclear Power Plant: SOE (Sequence Of Events), RPIS
(Rod Position Information System) and RMP (Rod Monitoring Process).
Software developer responsible for the GE Exciter Modbus TCP/IP
software upgrade at the Millstone Nuclear Power Plant.
Lead Software
Engineer for the R*TIME SPDS upgrade at the Oyster Creek Nuclear Power Plant.
Software
developer responsible for the following R*TIME applications at the Oyster Creek
Nuclear Power Plant: Sequence of Alarms Recorder, Environmental Monitor, Rod
Worth Minimizer, Digital Feedwater Recirculation Control System, and PowerPlex
Core Model Interface.
Software developer responsible for the FIDMS software upgrade at
the Three Mile Island Nuclear Power Plant.
Software
developer responsible for BETA interface software upgrade performed on the
R*TIME system currently operating at the Three Mile Island Nuclear Power Plant.
MetData – new application that communicates via TCP/IP with
existing Salem Met Data hardware.
Due to vague protocol documentation, successful protocol implementation
had to be reversed engineered using TCP dump analysis on the existing packet
stream
DataLogger – new
application needed to communicate with the new Salem Met Data Campbell
Scientific CR10X PLC via two serial data links.
MetToVaxComm –
new application that send R*TIME data to the existing Hope Creek Met Vax
computer via a serial link.
Software
developer responsible for installing the SPDS and MetData systems at
Software
developer responsible for supporting the ERDS Vax based computers at the NRC in
Software developer responsible for adding new functionality to the
R*TIME Excel Add-in that allows Excel to access R*TIME functionality. New functionality added was the results of
requests from Millstone and Ginna Nuclear Power Plants
November 2000 – November 2001 -
Senior Software
Architect – Projects included designing, developing, and deploying a C++ - Java
bridge. LFG is
in the process of converting / rewriting their producer applications to be Web
enabled. This necessitated the ability
to have existing legacy C++ Com code invoke Java methods and having new Java
applications call existing legacy C++ Com code.
After a thorough industry review, I based the design on XML-RPC. The bridge has been successfully operating in
production since July. It includes
Client and Server code in the C++/Com environment and client and Server code in
the Java environment. Another project
involved designing the new authorization module for
September 1999 – November 2000 -
Westinghouse -CE Nuclear Automation (Consultant)
Software development responsible for Host / Client communication
between HPUX hosts and 20 clients (14 workstations, and 6 different data
acquisition systems using HP C++.
Communication is via sockets, message queues, and shared memory.
September 1999 – November 2000 - ABB
–Advanced Technology Labs (Consultant)
Software development team leader responsible for developing the
functional requirements, software specification, framework design and the
implementation of the ABB FERP (Fast and Easy Robotic Programming) system. This system allows users of ABB robots to:
provide real-time closed loop control of the robots from a supervisory computer
processing real time sensor data 2. program industrial
robots via data specified in offline CAD/CAM systems. Portions of the software is developed using
Visual C++, MFC, and ATL Com. Other sections of the software was developed
using Visual Basic and VBA.
November 1997 – March 1999 -
Conversion team
leader and member of a large scale software development project at HartRe. The project was HartRe’s
next generation worldwide reinsurance platform.
It is an object oriented system based on “design patterns”. As the conversion team leader, I was responsible
for developing an application which used the newly designed HartRe
design pattern based application framework, to transfer all existing legacy
data into the new system’s database.
Software was written in Borland C++ with Rogue Wave class libraries.
January 1996 – November 1997 -
Information systems manager for Woodbridge Sterling capital, a NY
financial corporation.
Responsible for a 75 user Novell and Windows NT network. Responsible for the functional and technical
design of it’s corporate database used to locate and
track correspondence to/from Lottery winners.
The database used was Microsoft Visual Foxpro. I also managed and developed systems for the
company based on Lotus Notes, Access, Visual Basic, and Visual C++.
June 1995 – January 1996 - ITT
Senior Software engineer in the Financial Analytics Group. Lead software designer responsible for
designing a distributed financial cash flow application. This application allows cash flow simulations
that required 24 hours of processing on a dedicated Sun workstation to
automatically distribute their work load over 30 Sun workstations reducing
their processing time to under 2 hours. The application was developed using C++ and
Unix RPC (remote procedure calls ) software.
1991 – June 1995 -ABB-Combustion
Engineering (Consultant)
Chief software
architect for the Nuplex 80+ Plant Monitoring System
(Unix client-server based). Responsibilities included overall design of
system architecture (including evaluation and selection of vendors supplied
software components vs. in-house developed class libraries) and object oriented
software development of a distributed real time plant monitoring system
utilizing a distributed database. This
system was developed in C++, using: 1. HP-UX OS on 10 distributed workstations,
2. HP RTAP real time data base (with Berkeley socket developed extensions for
use in a distributed client-server environment), 3. VI Dataviews
GUI to provide dynamic data visualization.
Software engineer
on a Concurrent based Plant Monitoring Systems.
Responsibilities included developing a standardized design (for the BOP
data links) to support communication with up to 48 different data acquisition
systems from numerous vendors.
1984 – 1991 - Adaptive Automation, Inc.
Co-founder and VP of AAI, a systems integration and contract
software engineering company specializing in real-time manufacturing automation
systems and real-time image processing systems. Chief architect responsible
for software design, coding, debug, test, and documentation of numerous
systems.
Primary Projects:
NASA: responsible
for developing a real time robot, vision, and computer based automation
laboratory. This system was developed in
C, using VMS OS on a Dec Micro Vax and OS9 OS on
multiple 68030 processors. The AAI
developed image acquisition system on the 68030, communicated with the Vax in real time allowing the Vax
software to perform closed loop control of an ASEA iRb-90 robot.
Developed specialized manufacturing
automation inspection systems for customers such as the US Army, Spaulding, and
Amp. Systems were PC and VME based using
specialized image processing hardware (for area and line scan cameras) and
libraries of software developed by AAI to perform all aspects of the inspection
system’s tasks.
Pfizer &
Burroughs Wellcome: developed Dos based PC real time
image acquisition systems using Microsoft C
Gerber Garment
Technology: software engineer responsible for developing GGT's
new generation of garment cutting machines.
These systems were developed in C, using VRTX OS on multiple Motorola
68030 processors.
International
Fuel Cells: Lead software engineer responsible for developing software for IFC's new generation of fuel cells. These systems were developed in PLM, using the iRMX OS on multiple
Intel based processors.
General Electric:
Software engineer responsible for developing applications for GE's factory
automation system. These systems were
developed in C and SQL, using the Vax VMS and Ingres database
1976 – 1984 - United
Head of software development for the UTRC Factory Automation
Laboratory. Senior
software engineer specializing in designing, coding, debugging, testing, and
documenting of real-time data acquisition systems. Responsible for the
networking of all Vax and DEC PDP-11 minicomputers. Designed numerous DEC
operating system drivers and utilities for general UTRC use. Designed,
implemented, and documented a graphics library for TEKTRONIX displays for use
on DEC minicomputers. Directed
software development within the UTRC automation laboratory. Developed software to communicate and control
robots from external computers. Designed factory automation data acquisition systems. Developed image processing based inspection
systems.