The Gallery of Days Gone By
A brief tour through my hobbyist software development efforts [through high school, i.e., this page is old]
First the quick summary. I started out with GW-BASIC on some of them old computers. About 6 years after starting with programming at about age 7, I started doing DOS C coding with DJGPP and Windows stuff with Visual Basic. I really dislike all things BASIC now. I no longer have VB installed anywhere, but I do have this old VB 5 runtime installer in case you lack the proper DLL's and such to run any of the retro-programs below. On the other hand, C and I really hit it off, and I ended up learning the language quite well and going on to develop two C compilers. More on that below. Jobs in web development and the drive to create shiny dynamic web sites for TPU led to my learning about CGI, Perl, SQL, and Java, with a few years' separation between some of those. Now on with the show.... Any archived web pages linked to from here may have bad download links, so use the ones here! They all have Windows/DOS binaries and source.
The earliest programming milestone I can remember was a little deal called Donkey Catch, written in QBasic. It was a turn-based ASCII romp around a grid with the object of shooting donkeys with a plunger gun! Careful, they can hide behind oats!
My first "project" in a programming language I haven't disowned today was Brimstone, a Street Fighter II clone written with DJGPP in C. I enlisted the help of a junior high classmate to get some artwork. You can see the archived web page for it, or download the very meager demo that mostly does nothing! This was one of those early abandoned deals, though it was a good start.
Synchronously with this, I worked on WinInfo, a VB-based browser for GNU Info files, the free software crowd's replacement for man pages and also the format for DJGPP's documentation. Lots of fun-filled hours of debugging of this one with volunteers from #djgpp on EFNet IRC went into this one. You can see the old web page or download it.
Before Back Orifice was flitting all about, I made a much tamer trojan type thingy that didn't really have a name. I got people to run it by saying that it was a defense against WinNuke, which was quite a problem back then. The server it starts is invisible, but shows up in the process list and is easy to close. It doesn't do anything but pop up message boxes or run programs. This latest version allows multiple people to connect to one victim on a party line sort of deal and see what the others are doing. I hope anybody reading realizes that I really don't care for this sort of thing (anything that risks being labeled "cracking") at all anymore, but it was plenty fun to unknowingly mess with people's parents when they left the server running at the time.
The first thing I would name Bobo was a VB sort-of AI IRC bot. It uses some odd formula to repeat sentences it's heard based on what words were heard before that sentence when someone said it before and which words have just been said. The results could be quite humorous, as seen in this Best of Bobo log collection. You can download the bot yourself and give it a go on IRC. Careful, it crashed when it learns too many sentences!
The second Bobo was a very simple yet useful utility to give you a run-down of the amount of disk space used by all subdirectories of a chosen directory. It's not working quite yet, and I don't know if I have the source for this one, but it might somehow end up here one day by a miracle.
Here's another simpler IRC bot called Markov with a more refined user interface. It uses a simple model of "Markov chains" to generate the sentences it says after listening in for a while. Get it while it's hot.
A completely laughable millennium countdown program! Get it and laugh with me!
Something I sometimes called anarchy chat that just runs a server to which people can connect using telnet or preferably a raw TCP connection. It just echos anything anyone connected sends back to everyone. The host can do things like view the IP addresses of those connected and choose to kick or ban some. You can download it and try such tricks and telling people in an IRC warez channel to connect for the latest pirated games and see how things go.
A major milestone was when I started working on TCC, a DOS-to-TI-86 C compiler. I never got close to having all of the C features in this one, but I learned a lot that proved useful later. You can see my old web page or the ticalc.org page for it. Don't expect it to work too much!
I ended up abandoning the above for my software love child, xCode. It includes a cross-platform C virtual machine library with network streaming support, an assembler, and a C compiler. The page for it is still current, as it's linked from FreshMeat and other sources, and has download links.
During the stages before the xCode C compiler, I worked on a lil' customizable Warcraft II clone to test libxc with assembly-coded modules. You can try out the little I did before moving on. The controls are pretty much what you'd expect from War2.
I also started a DOS game based on the combat simulation board game Starfleet Battles. Try it out if you wish.