This site will look much better in a browser that supports web standards, but is accessible to any browser or Internet device.

G. Wade Johnson's Software Projects

I am a firm believer in Larry Wall's three programming virtues:

  • Impatience
  • Laziness
  • Hubris

In the interest of laziness, I spend a lot of time writing little tools to make my life easier. Here's a list of the various software projects that I've written and placed on the web. Hopefully some of them will solve a problem you have or help on one of your projects.

The ThinAir pseudo-random number generator class library is a large collection of PRNGs coded as classes with a common interface. This code does not use all of the state-of-the-art C++ features. Mostly because no compiler I had supported those features at the time the code was written.
The Web Site Description Language (WSDL) was the subject of my master's thesis in computer science. Unfortunately, about the time I submitted my thesis to be published, a group of companies released a new standard. The Web Services Description Language (WSDL) serves a completely different purpose and has nothing to do with this code.
This is an automatic regression test system designed for use in testing any system that uses the HTTP request/response protocol.
This script helps automate signing up for work positions for events hosted by voluteer organizations.
This Perl script started as a simple exercise to learn the LWP module. It has grown into a relatively powerful tool for testing and interacting with web servers.
The Win32 Synchronization Classes
This is a set of C++ classes I wrote to wrap the Win32 synchronization primitives. The code includes both thin wrappers and higher level tools built using the primitives.
PilotFORTH Code
This is a large collection of random library code I wrote for the PilotFORTH development system.
QuickDecision is a small PalmOS application that uses the built in pseudo-random number generator to help you make decisions. The program was built partly as a joke and partly as an excuse to learn to program for the PalmOS.
SVG Projects
Scalable Vector Graphics (SVG) is an XML-based vector image format. To view the SVG, you'll need a browser that supports SVG (FireFox, Konqueror, or Opera) or an SVG plugin (like Adobe's).
Valid XHTML 1.0!