For about six years I wrote Windows programs for a living. Due to the nature of my employment contracts, I can't freely distribute most of what I wrote. However, there were a few programs that I worked on in my spare time. I've made them available here, in the hopes that somebody may find something useful in them.

Life. An implementation of Conway's game of Life for Windows 3.1x and later. The program isn't a very useful implementation, being much too limited. (Much better programs, and more information about Life, can be found here.) However, the source code does contain some interesting bits, including mixing 16-bit C code and 32-bit assembly via winmem32.dll, translating between DIBs with different color organizations, non-trivial management of a small palette, and background processing and window updating. Though there is no help file, I have included a short text file that describes how to use the program, and how the source code is organized.

GDI Rescuer. A little programming utility for Debug Windows 3.1x. (Not useful under Windows 95 and later versions.) Using the toolhelp.dll and one or two undocumented features, this program finds GDI objects that were left lying around by other programs. If it finds any such objects, it displays them in a list, allowing you to examine and/or delete them. While there is no separate help file, it does respond to the help switch used on the command line.

Code Breaker. A version of Bulls & Cows (more commonly known as Mastermind). This program started out as my first serious Windows program, and was the first program I ever sold. Although I later cleaned it up (and de-Petzoldized it), there's nothing particularly interesting in the source code (unless you think a complete lack of comments is interesting). I've included it here just because I think it's a great game. A help file is included.

All of these programs are free software, as per the GNU General Public License. Complete source code is of course included with each. Share and Enjoy. Contact me if you have any questions or comments. (However, please be aware that I have not done any Windows programming since 1997, and am no longer able to answer questions on that subject beyond the level of WinMain() and WM_PAINT.)

Brian Raiter