Area Find
This VI uses Heron's rule to calculate the area of a quadrilateral. Nothing special, but if you need to know the area of a 4 sided polygon in your application, this will do it.

Belt Tension Tester
This VI measures automotive belt tension using a microphone and the computer soundcard. It was written to properly tension a supercharger belt on my Mazda Miata.

Date VI's
These VI's contain useful date functions and filename generating routines based on time and date.

FTP Client
These VI's contain routines to interact with a FTP server. They are a free alternative to the NI supplied ones. They have served me well over the years.

This is a simple peer to peer file transfer program. I used it over the internet to share files with friends.

Gaussian Fit
This VI fits a gaussian curve to a one dimensional set of data. It provides the center location, peak value and FWHM.

Hydra Data Log Viewer
This VI reads CSV files from my Hydra Engine Management computer and plots them in various useful ways. It's an example of a data producer and consumer design pattern and uses property nodes to change graph appearance.

Indexed Sort
A simple way to sort two dimensional data sorted on one row or column. Much like sorting a block of data in excel on one row or column and the rest of the rows or columns follow.

Keyboard Daemon
This framework allows remote keyboard control of another computer via serial or ethernet link. It uses the windows DLL to fool the OS into thinking the keyboard is being pressed. Key commands are entered via a markup language. This is useful for controlling stubborn lab instruments without proper interface software. I used this with an ASD spectrometer who's maker seems to think that only a meat-servo can run their instrument.

Mouse Control
This framework allows programatic control of the mouse much like the keyboard control above. Not nearly as useful, but fun.

Ring Buffer
These VI's implement 1D and 2D ring buffers. Useful for continuous acquisition with saving after trigger events.

Serial Sniffer
A Clever way to snoop on serial communication using a 4 headed serial cable and two additional serial ports.

Speaker Works
This is a work-in-progress speaker measurement package. It measures speaker quasi-anechoic response using MLS and measure speaker response using sweeps. It measures passive components with MLS and Sweeps using an impedance bridge. I also measures loudspeaker driver TS parameters using delta-mass.

Sudoku Solver
This solves Sudoku puzzles and generates completed ones. I'm still working on a good routine to take the completed ones and reduce them to solvable puzzles. I stopped working in this one when I developed my Cocoa version (under Mac Apps).

This is a reasonably good performing Tetris game written in a two data producer and one data consumer design pattern. It's very compactly written and demonstrates a simple state machine as well as multi-treaded design which is useful for data acquisition routines.

VI Icon Changer
This routine allows easy programatic changing of VI icons. I use Icon style to indicate authors in large collaborative programs and this routine makes it easy to make consistent looking VI icons.