Client List



The following companies and contracting activity are listed somewhat archeologically with the more recent activities at the top and the more ancient activities down below.



23 years of professional software development experience.  Thirteen years as independent programming contractor following ten years as lead systems programmer for Unisys.  I work well alone or as a team member.  Others consider me a creative and energetic worker who will stick with a task until it succeeds.


Client List:

Edge Product Development      

(Jan 2008 - Present)

bulletDeveloping Electro Hydraulic Assist controller for MRAP troop transport vehicle for Edge PDC client.  System uses a Parker IQAN controller to assist the movement of a heavily armored troop vehicle to be deployed in the near future.
bulletDeveloped firmware to operate a proof of concept Endoscope Reprocessing System for an Edge PDC client. The firmware running on a TI TMS470 ARM microprocessor performs a complex reprocessing (cleaning) of up to two Endoscopes using  64 solenoid valves, +70 temp and pressure sensors, 6 AC pumps, 3 laboratory metering pumps, multiple pressure regulators, I2C EEPROM, Real Time Clock,  USB Flash Drive interface, and RS232 external comm port and laser barcode scanner. User interface is a 256x128 graphical VFD display and membrane keypad. Cleaning cycle results are recorded in proprietary internal Flash File System and printed on thermal printer.  See it here:
bulletDeveloped firmware to operate a proof of concept airborne toxin analysis device for an Edge PDC client. The firmware running on a TI TMS470 ARM microprocessor performs air sample analysis using a vacuum pump, servo and stepper motors, photon counter, various I2C devices (EEPROM, Real Time Clock, temperature and air pressure sensors) and RS232 external comm port and laser barcode scanner. User interface is a 4x20 LCD and membrane keypad. Analysis results are stored in EEPROM and uploaded to a PC.   See it here:



( 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:


Edge Product Development      


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:


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. 


(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.  (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.