xml version = "1.0" encoding = "UTF-8" ?>
1998...2017 Most Recent First
Not exactly a comprehensive list, but this covers all the major projects I've worked on since 1998 that I am allowed publicize. Some of the people involved in some of the projects have moved on to other companies. I have current contact information available for all of these projects, but to prevent contact mining by any robots crawling this site (ie, spam list builders), I ask that you request contact address via the supplied links and I will email the requested information to you. In any case, you are always welcome to browse to the various company web sites and use any contact information they supply there.
OSC continued to be dormant from December of 2005 through October of 2016, OSC lay dormant. After completing four "a-" contracts working for the MSMQ team, I was hired as an FTE in test on the Kernel team. A few years later, they fired just about all of their testers and I moved over to the Build team and worked on their next generation internal build system for two years.
Client: Excell Data Corp
I let OSC go dormant for a few years while I worked several contract cycles at Microsoft. I have to say that I enjoyed the work most of the time but I never liked being "contingent staff" or working for Excell. It turns out you can't trust Excell Data Corp. They will tell you you have an N month contract at some price Y and then before your contract is up they might threaten to terminate the contract early if you don't take a 10% cut in pay. While it is definitely their right under the terms of the contract, it makes short term resource planning difficult. This happened after getting a very good assesment from my supervisor on the MSMQ team. I will not work for them again without 100% of the contract value in escrow before the job begins. In all fairness; the other contingent staffing companies at Microsoft behaved exactly the same way due to Microsoft demanding a 10% across the board reduction in rates. I probably won't do anymore "a-" work at Microsoft. Now "v-" or an FTE position would sure be a nice score...
Client: Dotcast Inc.
The goal was to shrink / simplify Dotcast's patented dNTSC terrestrial technology (see their web site) from the size of a half rack to 1U. Thereby cutting production costs, power requirements and operating costs. I was a temporary member of the software development team.
The project involved a Virtex 4 chip, custom and purchased IP in the FPGA and an embedded PPC405 core. Requirements, design and implementation of software to run on Nucleus Plus RTOS and PC based simulator. My primary responsibility was the Boot loader; to perform some POST (initialize and test the MAC / PHY) and DHCP client tasks, then download and physically locate application and other files from a server to RAM and jump into the application. Application involved bridging/routing, ethernet/IP, UDP/TCP, SNMP, MPEG2-TS and Dotcast's patented dNTSC technology.
I was involved in some of the later phases of requirements development, early design development and reviews of all software engineering artifacts. I also made some contributions to the system level architecture.
Unit queries DMM via serial port and translates them into appropriate HUD format codes which are then transmitted via radio link to HUD. I wrote the translation code in C and performed test/debug cycles using the IAR Electronic Work Bench.
OSC was a subcontractor under CSTTF on this project for Motion Research Corp.
PIC assembly code review and systems analysis. The eSwing is a golf swing analyzer utilizing a number of microprocessors and sensors to detect the path and speed of the club head as it passes through a critical area on it's approach to contacting the ball. The software was nearly completed when I was asked to review the code and make recommendations to help bring the product to production readiness.
Client: Client prefers anonymity
A precision optical range sensor that utilizes a LASER and triangulation techniques to measure range. It contains an embedded, mixed signal, 8051 derivative that operates the LASER, reads the detector and performs the range calculations.
I developed the software that runs on the C8051F120 embedded processor, assisted with some minor circuit design issues and generated the circuit board layout. The embedded software provides a menu based, ANSI Terminal interface over a serial link. This is the tightest system in terms of code space and processing time that I have ever worked on.
System software requirements analysis, GUI story board.
The Greypilgrim Compressor Cleaning System is an articulated robot capable of maneuvering into large natural gas power turbine compressors where an attached end effector containing water-jets can pressure wash soot from the rotor and stator blades. Unfortunately, Greypilgrim filed for chapter 7 bankruptcy just as we were starting final integration. Last we heard, Greypilgrim's customer (General Electric) had canceled the project just prior to the bankruptcy filing.
Client: DIGITAL CONTROL INC.
Maintenance C/C++ and some assembler (Power PC 823) coding for a horizontal drill head locator. Lots of testing and debugging work. Substantial refactoring, some embedded GUI coding, but mostly domain logic discovery and implementation.
DCI's Eclipse is a state of the art horizontal drill-head locator. The software was ostensibly complete, but had some bugs to fix. Initially this was intended to be a two month project, fix a few bugs, add a little polish and it would be over. Unfortunately, the code was not as complete as the customer had thought it was (they had recently lost their lead programmer). It took closer to nine months to polish the product, but in the end we delivered an impressive system.
ESL was a trial technology Microsoft planned to test in conjunction with one of their products. Critical Paths was a subcontractor for Microsoft tasked with developing some web and database, server and client modules. The job was nearly complete when I was brought in on the project to replace the C++ programmer (he got in over his head) responsible for modifying a central DLL Microsoft ships with the product.
This project involved a DCOM object written in VC++ that supplied interfaces and functional implementations consumed by all the applications in the suite, the installer and a web application. It was intended to be a quick hack to prototype some new features, but the base code set was never intended to be bent the way we were trying to bend it and in the end the project was cancelled for technical reasons.
System software requirements analysis, architecture, very thin design documentation, C++/SQL implementation, for a LASER alignment system that utilizes triangulation to compensate for vibration and beam wander. This was a fixed price contract with an ambitious schedule. We met all our required ship dates (barely) with just enough functionality in place to keep the client happy.
The EUCLID LASER Alignment System was long established in QUEST's product line when Lawrence Livermore Laboratories (LLNL) came along and offered to buy several systems if QUEST would port the software to NT and extend the system to support more alignment targets on each LASER line. The original user interface was DOS based (the system also includes 8051 and DSP code). I competed with the software engineer who created the original software on a fixed price bid to port the user interface code and add database support and API's for LLNL's engineers to interface the system with a LabView application they use to align massive laser optics in the latest fusion project.
The new system consists of a Power++ GUI for database maintenance and system control, a QA database storing all alignment measurements taken in real-time, an RS-485 Network with proprietary master/slave I/O, command and data protocols, any number of alignment heads per laser line (limited only by laser and optical characteristics), and at least one LabView application (developed by LLNL) used by the techs at LLNL.
System software requirements analysis, architecture, UML design documentation and C/C++/SQL/ESQL implementation. The QC10A is an automated non-contact inspection system utilizing LASER based optical triangulation ranging to map the interior features of a product component on a production line and supply PASS/FAIL image analysis of each part in near-real-time (as close as NT will ever get).
The system software consists of two databases, and several complex subsystems consisting of up to 8 individual software components. Data is captured from two PCI ADC cards and transmitted to the analyzer which may subsequently store the image data and always stores the results of the analysis in one of the databases. The mechanisms involved in the process are controlled and monitored via a 96 Pin DIO card. One of the subsystems is a state machine engine that reads state graph data from one of the databases and performs the machine control function at run-time.
The QC10A project was part of an on-going R&D contract for a QUEST client. They had gone through several prototype stages before I was hired there and the system is still under development. My primary contribution to the project was to convince management to scrap some of the earlier prototype design, consisting of expensive proprietary hardware, in favor of a more open systems and standards based design using PC plug-in cards and off the shelf databases.
The new architecture has allowed QUEST to meet changing client requirements (more research than development until recently) for more than a year without making major design changes. The architecture is such that the system can be delivered and continue to evolve with little impact on reliability.