I do not guarentee this to work on any computer, except my own.   If it
should some how allow all the magic smoke to escape your computer, well
tough.  You were warned.   Avoid swimming for at least three hours after
using this product.

What little bit of this that is copyrightable is copywritten by David Holland
david.w.holland@gmail.com.   You may do what you wish with this code so long as
some credit is given to me, and the copyright is maintained.

If someone would like to send me better installation instructions, and
or code updates, I'll gladly update the package and attribute the
improvements to them.
