I previously wrote about finding some old public domain routines I'd written, lost, and found via Google on some compilation CD on the Internet. Processing that bit of history inspired me to document the only really old program I still have of mine, which somehow survived the media purges in the intervening decades.
It's called "Inquiry", and it was an instructional software program for DOS. Here's a video of me explaining what it's about...
If you've never seen the original "Boring Books" video that I mention, you should watch it to get the slideshow of pictures at the end.
Inquiry started life as a project for the Spanish Honor Society in High School... where we were required to do some kind of Spanish-related thing as a condition of membership. Since I was interested in computers, I chose to make a quiz program that made it easy to enter vocabulary and other questions that used accented letters and upside-down punctuation. (Back in those days, there was usually no way to enter these characters in a typical DOS program!)
I'd just discovered some libraries on BBSes like the TechnoJock toolkit and Flexlist, and was picking up some new ideas. I was getting the hang of how to use generic data structures, learning the difference between writing to screen memory directly and going through BIOS, and a lot of other things that you don't find out from the Turbo C manuals.
I found an empty WordPress blog about TechnoJock toolkit, that went down a couple of months later. The Flexlist fellow doesn't seem to have a web presence these days, but he did write a book about it, apparently.
I wrote the quiz program... and it worked. It impressed the Spanish teacher mostly because you could hit ALT-a to get an á or ALT-q to get ¿, etc. I made some sample quizzes and left some copies with the foreign language department. But I doubt anyone touched it after I left.
So once I got my honor society credit, Inquiry could have ended. But one of my father's colleagues in the Physiology department at George Washington University Medical Center wanted to have some kind of quiz program for his students on the library computers. Since I was a kid and would work for cheap over the summer--I was able to get a job adapting the program to have graphics.
The video card on my computer (and most common for computers at the time, such as those in the medical school library) was EGA...and the smattering of "cutting-edge" VGA displays were compatible. EGA provided a maximum resolution of 640x350, with each pixel any of a whopping 16 colors. (Not only that, but those 16 colors could be chosen from a palette of 64 possibilities!!!) I shelled out some of my meager kid savings to buy commercial libraries that could display PCX files. (PCX was a more common format at the time than those of the program I preferred to use to draw in, Deluxe Paint II, but it was possible to convert to them.)
The new program (which I called "Inquiry/G" for Graphics) didn't wind up being all that much more complicated than the text mode version. What I really spent the most time on during the summer was drawing digital versions of the pictures that the physiology department wanted to accompany their database. They were able to type the notes, questions, and answers into Inquiry/E (the database editor)... but didn't have anyone on staff to make EGA versions.
By modern standards the pictures are pretty silly. But when you consider they were made by a 17-year-old non-artist programmer in 1993 who was drawing with a mouse...they're not so bad. (Except for the shadowing on the type, which makes a lot of the small print unreadable):
Once again, I've put the source on GitHub to chortle over:
I simply cringe reading it. On the first line of executing code it does an unsafe copy of the executable path from argvinto an 80 character buffer... :-(
If there were a way to reach back across time and slap some sense into myself, I would. But we all start somewhere, right?
BUT here is wehre I want to mention one of the great things about the more connected world of today with things like StackOverflow. Those in the know can correct things in your code samples even when it wasn't what your question was about, and you can also browse and learn rapidly from what others are doing. And for all those of you who are still writing code like this: Please, please stop.
As an amusing epilogue, I also found a text file outlining a vision for the follow-up to Inquiry... the less-friendly named "Inquisition". Though I was just 17, I clearly had a bright future in the software industry. Despite my youth, I already knew how to make outlandish promises for features in a next version that would never be written!!!
Inquiry's run-time version is distributed freely for use with public educational databases. The database editor can be used to create new databases, and is not free. A license to sell Inquiry bundles can be purchased, with encryption keys to keep others from editing/tampering with commercial databases.
Inquisition is the successor to the Inquiry/E and Inquiry/G products, and is poised to make a huge cut into the CAI market. Among differentiating features between Inquiry and Inquisition are:
More video modes. Inquisition will be capable of running in text modes like the original Inquiry (for use on networks, bulletin boards, and other terminal based systems), and support graphics dithering and scaling to fit any graphics mode: CGA/EGA/VGA/SVGA are all supported. Databases may be kept in their original format, or they may be specifically compressed/expanded in order to run faster on their new host system.
More animation and graphics possibilities. Because Inquisition windows are resizable and can be relocated, the "half-screen" limitation no longer applies. If the full screen needs to be a graphic, then it can be.
Additional options may be added to formulate printed tests from databases, or import data from WordPerfect documents or GIF files.
Whoa, importing GIFs, seriously? Now that's high-tech! :-P
Project names and graphic designs are All Rights Reserved, unless otherwise noted. Software codebases are governed by licenses included in their distributions. Posts on blog.hostilefork.com
are licensed under the Creative Commons BY-NC-SA 4.0 license, and may be excerpted or adapted under the terms of that license for noncommercial purposes.