SeaChange
( Dec 2005 - Jan 2008)
Implemented enhanced
capabilities of embedded Video On Demand
communications software powering various
manufacturers' cable TV set top boxes. Code
communicates over multi-path cable TV system to
initiate and monitor Video On Demand requests.
Software runs above Motorola and Scientific Atlanta
hardware abstraction firmware and supports clear and
SSL encrypted socket connections to host video
servers. Monitors and maintains the requested video
stream and reinitiates the connection after
failures. Code was developed using GNU, Metrowerks,
or Scientific Atlanta tool chains.
Motorola
Corporation
( July 2005 - Dec 2007)
Update, enhance, and debug fiber optic laser amplifier firmware on a PowerPC
850DE and running on Enea's OSE RTOS with Emanate SNMP sub agent. Work was in
Wind River's Diab C and assembly with debugging using the VisionClick debugger
and MG-Soft SNMP MIB browser. Supported the entire product from SNMP MIB changes
through performance enhancements and SNMP get/set and trap/alarm implementation
and debug / improvements. Added support for larger FLASH and RAM devices for
multi-bank programming and battery backed date/time clock device. See it here:
http://comps.aspenms.com/MotoNCTC/DocumentGetHandler.ashx?docId=160
Edge
Product Development
(2005)
Implement FAT file system on Smart Media (SM) card for 8051 Microcontroller
Embedded System and control high energy plasma firing of a manufacturing
equipment chemical injector head cleaning station for drug/chemical companies.
The code modulated the voltage, current, and frequency of the power going to the
plasma cleaning head and logged its operation via encrypted files on the SM
card. This system runs "on the metal" with no OS and reads/writes FAT format
files stored on SM card by a Windows PC. A user interface "Pod" connects via
serial interface and runs on a PIC microcontroller with LCD display, LED's, and
membrane keypad. Thermal sensor in the cleaner is connected via 1-wire com link.
See it here:
http://www.cerionx.com/TC_landing.php
Clinical Analysis Corporation
(July 2003 - 2005)
Developing embedded software to operate Clinical's Bio-Chem™
Analyzer portable hand-held Point-Of-Care blood testing instrument. This
work for the StrongArm microprocessor is in C/C++ on the VxWorks RTOS and
interfaces to pump servo motors and switches, color display, keypad, barcode
scanner, thermal printer, RS232 serial communications and a 10BaseT Network
socket interface. Analysis is performed via patented and proprietary
electro-chemical methods utilizing interfaces to Analog-to-Digital converters,
digital potentiometers, FLASH memory devices, and thermal sensors.
Presented at the AACC Clinical Lab Expo in Los Angeles, July 25-29, 2004.
(AACC: American Association of Clinical Chemistry)
DSR Enterprises, Inc.
(Apr 2003 - 2007)
Rewriting, upgrading, and enhancing functionality of a Visual Basic program
from VB3 on DAO Access 2.0 to VB6 on ADO Access 2000. This program manages the
label and circuit data of electrical panels. It stores and searches circuit
detail for multiple panels, calculates multi-phase electrical loads, creates and
prints individual circuit label cards, and manages preventive maintenance
scheduling.
Laserdome
(Dec 2002 – 2005)
Creating several Visual Basic 6.0 applications to register and manage
memberships and run the front desk operations for a Laser Tag company. These
apps running on multiple kiosks, support shared connections to a central MS
Access 2000 database. These independent kiosks allow members to self register
and also incorporate USB "Web Cams" to record a photo and print it on a barcode
serialized photo membership ID card. Barcode readers allow existing members
quick re-login.
A front desk app manages the group/party scheduling and interfaces with the
laser tag game operations computer. Various reports and demographic marketing
related features are supported.
InfiniCon Systems, Inc.
(Oct 2002 - Nov 2002)
This short add-on project involved developing a Visual Basic 6.0 application
to manage the serial number allocations for various products from development,
testing, and during manufacture. This program allocated the serial numbers in a
shared MS Access DB and communicated with the hardware devices via a TCP/IP port
to read/write and verify the serial number into each product's serial EEPROM
devices. This program also interfaced with barcode scanners to input the
product's serial number from attached barcode labels. This application was
written to seamlessly migrate from an Access database to Oracle as the needs of
the enterprise dictated. I was the only programmer on this project.
InfiniCon Systems, Inc.
(Feb 2001 - Oct 2002)
Performed software development in C/C++ for multiple embedded MIPS based
processors to manage leading edge InfiniBand products. Code runs on Wind
River's VxWorks Kernel on various high-end MIPS compatible processors. My work
involved providing the low level messaging transport support for communications
between the various intelligent components of the product. In addition to this,
my responsibilities included designing and implementing the hardware
interface for all InfiniBand architected hardware management components. My
code monitors and provides upper layer software access to serial EEPROMs,
temperature sensors, module power and reset control, and fan and power supply
management. My work included aiding the hardware engineering team in initial
bring-up, testing, and debug of new hardware and adapting our software to
various hardware feature enhancements as they are produced.
The software development environment used the gnu C/C++ compiler and linker
with CVS source control.
My involvement in the product development cycle spanned from the initial
design of the hardware management interface, through implementation and testing,
and ultimately to the successful release and support of a fully functional
InfiniCon Shared I/O System.
During the testing phase, my involvement included writing multiple test tools
to initiate, monitor, and trace communications and reactions between various
functional components. Frequently this entailed creating shim layers between
modules to simulate conditions which are difficult to fabricate in the lab. I
was one of the front line engineers tracking down detected error conditions and
anomalies to isolate the original point of failure.
Baltimore Aircoil
(various dates 1991 - 2004)
Developed, upgraded, and maintained several Visual Basic and
Borland C/C++ applications and
provided general software development consultation involving engineering
calculations and sizing analysis for BAC's Thermal Storage Units, Cooling
system condensers, Cooling tower optimization, and similar applications for
internal engineering and external sales use.
Prosigns
(Feb 2000 - Feb 2001)
Developed multi-user graphical VB front end and integrated MS Access Database
to provide preliminary engineering data, materials lists, and shop and
installation time estimates for the construction and sale of large scale signs.
This application tracks the project from the estimate and proposal stage through
scheduling the job in the shop and the installation at the customer’s site.
Work orders are printed with bar codes the shop employees use to scan in and out
of jobs and time sheets are printed. The estimating process includes inventory
control and payment tracking plus many customizable reports. I was the only
programmer on this project.
theSTC.com (Various projects 2000 - 2001)
Member of a team implementing MS Visual C++ US State and Local web-centric
eCommerce tax calculations using Microsoft SiteServer and MS SQL Server.
Unisys
Corporation (May 1997 - Dec 1999)
Contract member of a team developing embedded software for a high performance
64-bit PCI Dual-Port Fibre Channel controller. Project utilized Wind River's I2O
VxWorks Tornado development system and both Intel StrongArm and RM7000 MIPS
processors. The Fibre Channel controller was the Agilent Tachyon TL. This card
provided unmatched IO performance in Unisys' high-end series servers. My work
involved all the software running on the StrongArm processor which controlled
the Tachyon Fibre Channel disk management. This included the interrupt
handling, IO request and response queues, flow control, error detection and
recovery, upper level API, and communication between the StrongArm and the MIPS
processors across a PCI bus.
Commonwealth
Land Title Insurance (Aug 1996 - May 1997)*4
I was a member of a team developing a major title insurance office
automation suite in Visual C++ operating against an MS SQL Server database.
My work entailed Windows API and MFC manipulation of GUI screens, forms, and
database access and numerical calculations.
Comcast
Metrophone (1996)*3
Provided consultation on the design of multimedia kiosks and
the related data network
incorporated into their retail store in the King of Prussia mall.
Frontier
Media Group (1996)*3
Installed and networked the numerous touch-screen activated
multi-media display kiosks throughout main concourse of the First Union Center.
All these displays are networked to and managed by a main console in the upper level
control room.
Developed graphical touch-screen activated multi-media
software to operate in showroom kiosks to display and promote a national
tire manufacturer's products. These kiosks are located
nationwide in tire dealer's showrooms and sales/service centers.
Delaware
State Attorney General's Office (1995)
Developed Access database application for the Delaware
Attorney General's Office of Consumer Protection to record and track
complaint calls and manage related case data.
Keystone Health Plan
NJ / AmeriHealth Insurance (1994 - 1995)
Developed insurance related proposal and quote
generating application for use by sales reps on-site at potential group sales client's
offices.
IMPAC
Technology, Inc. (1995)
Developed internal use VB application to increase efficiency of
training material distribution and RMA handling. "Employee
efficiency and throughput increased 400%."
Bentley Systems
(1995)
Developed several related user friendly sales forecasting applications to
merge all sales rep's individual forecasts by product, region, division,
manager, etc. to provide manufacturing production requirements and sales
projections. The multi-user VB software interfaced with both Access and Solomon
databases.
DSR Enterprises,
Inc. (Partner 1995 - Present)
Developed, supported, and maintained VB application software to manage enterprise wide electrical
panel circuit databases and track/schedule preventive maintenance.
West
Laurel Hill Cemetery (1994 -1996)
Provided general PC and networking installation and support
including remote access services for the off-site marketing office.
Unisys
Corporation (1992-1994)
Contract member of team developing a new master processor upgrade board for
CP2000 multiprocessor communication concentrator. I developed C/C++ code to
provide OS kernel services including process scheduling, memory management,
hardware management, and shared memory communication with other intelligent
boards in the chassis. I also designed and implemented support of low level
SCSI file subsystem including system disk booting and modem dial-in/out for
remote support.
Independence Blue Cross
(1991 - 1992)*2
Developed numerous applications for internal use to provide
desktop users with reporting capability accessing the corporate sales and
marketing Oracle database.
NBC, TV (1991)*1
Advertising sales forecasting application in FoxPro.
KYW, TV (1991)*1
Team member working on an advertising sales projection and
price targeting application in Microsoft C on an Informix database. My focus was
primarily the improvement of database access performance.
Moore Business Forms
(1990)*1
Team member working on an Excel based sales forecasting tool
allowing their sales reps to price and quote custom printing and paper manufacturing
jobs.
WRC, TV (1990)*1
Implemented the graphical user interface (GUI) portion of a project to display
advertising sales reports and projections.
Unisys
Corporation (Employee Dec 1981 - Jan 1991)
[Full-time employee] At Unisys, I progressed from systems
programmer out of college through manager of my group developing Kernel and
extended OS support for the CP2000 multi-processor data communications
concentrator/translator. Coding was in Pascal, C, and x86 Assembly language.
My coding responsibilities included supporting the entire Kernel supplying
inter-processor and inter-process communication, multi-processor shared memory
management, system wide interrupt processing, and the hardware interface layer.
Approximately half my code was in X86 assembly code.
+++
Various other projects
(1991 – Present)
Over the years I have been involved in countless additional
projects and contracts which are not listed individually since they either were
either part time or relatively short and sporadic in nature. These jobs
included work on marketing management and reporting systems on Oracle, Informix,
Access, and SQL Server; Graphical sales management and forecasting; Engineering
design validation and equipment size calculation tools; Apps to generate
pricing estimates and quotes based on product feature selections and volume
requirements; As well as many others. My clients for these projects ranged
from Fortune 500 companies, to one-man shops, to private schools and charities.
* Contracts indicated with an asterisk were performed as a
subcontractor for the following companies: 1:The MIT Group,
2:Noble Consulting, 3:Alta Technical Services, 4:Windmill
Software.