G. Wade Johnson's Software Projects
I am a firm believer in Larry Wall's three programming virtues:
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).