Introduction

I'm just a simple little NT programmer. Different things have interested me at different times. As I come across problems, I create generic solutions for them. This site is a collection of freeware code that I've written in my spare time for fun. As my code gets more popular, I've been asked many times about the licensing. All code on this site is truly free as I publish it under the BSD License. The GPL has proven to be too expensive to use in my professional life. Why? Time is money. If I use GPL code and (often) have to debug it, I must give my fixes to the maintainer of that GPL code. That takes time. The cost of dealing with GPL's baggage can be more than buying a commercial package.

Win32 Foundation Classes (WFC)

This is my largest and most popular class library. It started out as an MFC extension library but it now stands on its own. Microsoft targetted MFC for GUI's and not generic programming. When I stopped doing GUI work, MFC became less and less useful. Also, Microsoft wasn't supporting NT in MFC (no registry support, no services support, etc) so I was forced to write my own class library to do NT specific things.

NMEA0183

I received a Garmin 45 GPS receiver as a wedding present (yes, I'm a geek) from my coworkers. Of course, the first thing I wanted to do was hook it up to my computer. Come to find out, NMEA0183 is the protocol that I had to decipher. I bought the specification and built this framework to easily add new "sentences." The library parses and constructs all "approved" sentences as well as several outdated sentences. NMEA0183 is spoken by most marine electronics. Using this library, you could easily hook your computer up to the depth finder, radar and other electronics on your boat. Sentence translation would be a no brainer.

Geodesy Foundation Classes (GFC)

One day I started wondering how far it was from here to there. This led to deeper questions about "here" and "far." When I finally figured it all out, I wrote this class library to calculate the distance between two points on the Earth. It calculates line of site distance (like laser beams) as well as surface distance (as in driving distance or distance over the surface of an ellipsoid.)

GFC in C# (GFCSharp)

I'm teaching myself C# so I needed a little library to play with. I converted GFC from C++ to C#.

Global Cache GC-100

Back in August of 2004 (before the twins) I wrote a C# library to control my new GC-100 TCP/IP based universal remote. I offered it to Global Cache but they didn't seem to know what C# was. If you need to control your home theater equipment from a TCP/IP socket, this is the device for you.