Raymond C. Drouillard Ray@Drouillard.com
http://nerd-in-the-country.blogspot.com/ http://members.quixnet.net/cosmic/

Projects

Lead programmer in a large project for Dow Chemical Employees' Credit Union.

The program handles teller transactions, several types of loan disbursements, and various accounting functions.

The users specified that the program would be controlled by a horizontal line of pushbuttons across the center of the screen. Each pushbutton corresponded to a function key. The programs can be run by either using the mouse to press the pushbutton, or pressing the appropriate function key. This required that the software act the same for a button activation as for a function key. Also, the pushbuttons have different functions based on the user type (teller, loan manager, etc.). This required some specialized programming that funneled the functions into a single case structure, which called the appropriate programs based on the button or f-key pressed, and the user type.

Since it was a large project, reusable code was set up for screens, the logic behind the screens, and some back-end logic and "framework".

Because of the critical nature of the application, transaction tracking was used. This required some research on the use of transaction tracking in Novell, and some specialized programming to avoid locking the system up.

A common data-driven program was designed to perform all of the transactions. This improved reliability and reduced testing requirements. I wrote the reusable procedures, "look and feel" standards, programming standards, and several small instruction manuals.

Before the project was completed, I was acting as the lead programmer, project manager, and client contact. When the credit union switched from their original mainframe to the Foxpro application, the transfer went without a hitch. At the end of the day, everything balanced.


Designed and built a Digitized Voice Light Beam Communicator.

The audio is converted to digital with delta modulation. This method was chosen because it is self-synchronizing, requires no frame synchronization (each bit carries the same weight as any other), it works well for voice, and the part count (and cost/complexity) is low. (The delta modulation circuitry was fed with a signal to which automatic gain control was applied.)

The digital data then received some processing that caused the a bit to be dependent on the previous bits. That way, if the signal is lost, the correct data will be received as soon as two or three pulses have been received. This method also serves to keep the duty cycle at 50% no matter what is being transmitted.

This signal is then converted to pulses. This reduces the duty cycle to 5%, allowing the LED or laser to be driven well above its steady state power dissipation specifications.

Plans were made to reduce noise at the receiver by only looking for the signal during the small window of time that there might be a pulse. This was never implemented.

The receiver uses a shift register to store the last three pulses. Those three logical states are fed into some specialized logic that decodes the three bits and extracts the original signal.

The clean digital signal is then fed into a delta modulation d/a converter, then amplified.


Created the installation manual for a Webasto Sunroof

Webasto needed an installation manual for its latest model Sunroof. To accomplish this, two experienced installation technicians installed a sunroof while explaining the procedure to me. I took notes while a photographer recorded the procedure on film.

Once the proofs were back, I divided the procedure into steps. One photograph was used for each step. I wrote the text to match the photographs.


Handled network administration and technician duties.

Built several computers. Loaded operating systems (W98, Win NT Server) and applications as needed. Organized and ran backup. Created a program that uses a command line version of PKzip to back up the development directories and store them on a 10 GB hard drive that was purchased for that purpose. The program was designed to remove the oldest backup before storing the latest if necessary. Archived client programs and data to CD as necessary.


Modified the dSalon salon management software that was originally written in Foxbase.

Created several reusable programs. Upgraded the program to run under FoxPro. Added functionality. Worked with clients to determine system requirements. Worked with technical writer to document the software.


Heavily modified SBT Series six program to fit the business procedures.

This program was written to run under Foxbase, Clipper, and Quicksilver. We modified it to run under FoxPro. The program has been in use since 1990, and has been modified as necessary. As of October 2001, it is still being used, and is very reliable.


Modified SBT Vision Point and Pro Series programs to fit the business procedures of several clients.

Changes to functionality include:

  • Split shipping/invoicing function into two programs so that items can be pre-shipped (items and quantities determined, packing slip printed), then shipped (shipping weight and charges entered, invoice created).
  • Created a set of utilities that allow unknown and off-lease items to be received at the dock, audited, and tested, sent to repair, or sent to scrap. Finally, they are applied to a purchase order.
  • Created a program that explodes bills of material on-the-fly. This data is used when marking the work orders as completed. It is also used to create purchase orders that are timed so that the components will be available when needed.
  • Created a program that explodes the bill of materials and the labor cost data. The data is used to calculate the cost of each end item, and update the standard cost field.
  • Modified the purchase order receipting program to allow unknown parts (cellular phones) to be received under a generic item number, then assigned to inventory after they have been repaired. During repair, the type is determined and the electronic serial number is printed on a bar code label in decimal and hexadecimal form. Several functions had to be created and merged so that they can be performed at one work station. At that work station, the items may be shipped on a sales order or entered into stock.
  • Created programs that synchronize some of the data between two sites. The program automatically runs at night, and uses PC Anywhere to transfer files.
  • Added EDI capability to SBT for several customers. This includes invoicing, purchase orders, advanced shipping notices (ASNs), and other forms.

Created an application that is used to manage a used car lot.

When a vehicle is received, all necessary information is collected. This information is used to print the buyer disclosure, RD108, financing, and other forms. As expenses are accrued, they are recorded in the expenses screen. Several reports (inventory aging, inventory value, etc.) are available. A special "everything about the vehicle" report is available in two forms - one that is used internally, and one that is available to prospective customers.

The program was written in 1988, and was mostly Y2K compliant. In 1999, it was modified to be fully Y2K compliant, and some of the forms, screens, and reports were modified.


Retrofitted 1989 Jeep Grand Wagoneer with a digital fuel injection system.

Removed the mechanical fuel pump and replaced it with a high-pressure electrical pump. Mounted an ECU to the passenger side kick panel and routed the wiring through the firewall. Added a MAP sensor and connected it to the intake manifold. Installed an oxygen sensor. Replaced the carburetor with a throttle body and fuel injector assembly. Installed all necessary wiring. Used a laptop computer to modify the fuel map and other tables in the ECU. Wrote a database program that analyzes the results of the data logging program. That analysis is used to adjust the tables in the ECU.


Researched and wrote documentation on hydraulically actuated painting robots.

Unlike most other robots, painting robots move smoothly over a specified path, rather than from point to point.

Most robots use a "teaching pendant", which is used to move the arm to a specified location and store that point. This results in a jerky motion.

Because a jerky motion would result in a poor paint job, a painting robot is taught with a load cell.

To teach the robot, a technician enters the robot's active area and holds the load cell. The load cell senses the force applied by the technician, and the arm follows.

Several paths are entered for each type of vehicle because of the inevitable thin and thick spots. Using several paths ensures that the paint is more evenly applied. Once the paths are entered, the speed for each section of the path is determined.


Created a program that is used by a marketing company.

The company was contracted by Michigan Bell (telephone) to handle calls from people requesting Life Line, which is a reduced-rate telephone service offered to people who can't afford a standard phone line. The system searches a 3.2 million record table for the phone number of the caller. All of the caller's data is recorded, and used to make a decision about the eligibility of the caller for the life line service. Security features were added to prevent the unauthorized use of the telephone database (which contains unlisted numbers).


Wrote sections of the manual an automotive assembly system.

A large collection of robots and other equipment was used to manufacture automotive body panels. Several processes are used to spot weld several stamped sheet metal component items into a finished body panel.

A set of locators, clamps, and spot welders was used to hold several components into position while they are tack-welded together with spot welders. Jumpless cables were used because of the high current needed.

The spot welding was done using special Powerpackage (tm) cylinders. The cylinders retract quickly. They also extend rapidly - until resistance is met. Then, a valve is activated and the hydraulic portion of the cylinder multiplies the pressure exerted. This allows the clamp to act rapidly, yet still exert sufficient pressure.

A turntable, four systems of clamps, and two articulate robots with spot welders was used to tack weld another group of component items.

The final assembly is performed by three parallel lanes of Kuka gantry robots. The tack-welded assemblies are placed into the structures, and are welded with single-point spot welders. The assemblies are lifted and moved from one station to the next using rails that are moved with a Cymonic (TM) (cyclodial-harmonic) drive system.

Throughout the manual, safety issues are discussed. This includes kill switches, palm buttons that require two hands to operate, light curtains that deactivate the machinery when broken, and similar measures.


Other projects
  • Wrote a software package that is used by an executive search firm.
  • Wrote a software package for an attorney in Alaska. This package keeps track of data from several thousand violations of the fishery and game laws, and was used in a class action suit. Supported the users of this program by telephone.
  • Customized Video Quick, which is a video store management software system. Readied it for Y2K. Added features and modified reports.
  • Wrote some sections of the manual for test equipment that is used to test Delco and Teves ABS master cylinders.
  • Wrote some sections of a long proposal. A manufacturer of safety equipment (seat belts, airbags, etc.) proposed their services to a major automobile manufacturer. The proposal was designed to answer several questions. JIT (Just In Time) delivery, quality assurance, and other issues were discussed.


Accomplishments
  • Inducted into Tau Beta Pi, the Engineering Honor Society, during my junior year.
  • Inducted into Eta Kappa Nu, the Electrical Engineering Honor Society. Was invited during my junior year.
  • Received "Outstand Student" award for my participation in the Lawrence Technological University Amateur Radio Club.
  • Received certificate of appreciation from the LTU Student Government for my participation in the LTU Amateur Radio Club.
  • Received certificate of appreciation for outstanding service and dedication from Chaplain (CPT) Carroll P. Hutcheson through the Commander of the 22nd Signal Brigade.