April 30, 1994 Midnight Programmers' Quote of the Day 1.9.1 -------------------------------------------- Disclaimer ---------- I bear no responsibilities for any unintentional mischief caused by this humble program on your system. If on some very remote chance that use of QOTD.EXE scrambles your computer, you are on your own with my humblest apologies. The programs were compiled using Borland C++ version 3.1 and has been tested on both Lantastic and Novell networks using various 8086, 80286, 80386, 80486 (including DX/2 chips) systems running from 4.77 to 66 mhz. (It hasn't been tested on a Pentium yet, care to donate one? ) Now that the nasty part is over with, here is the important stuff... Program Files ------------- QOTD.EXE .... Program that displays the quote and generates the PTR file. QOTD.PPE .... Program to display quotes from inside PCBoard 15.1. QUOTE.PTR ... The binary pointer file for QOTD to read the data file from. Note: This file is no longer included in the archive but will be created the first time QOTD.EXE is run. QUOTE.DAT ... ASCII text sequential file containing quotes. QUOTE.BAT ... A small batch file to reset Hercules screens that don't. QOTD.DOC .... This file of rantings and other stuff. SYSOP.DOC ... Simlar to the QOTD.DOC file but information only appropriate to PCBoard 15.1 BBS operation. Revisions --------- 1.0 - February 17, 1991 Compiled using Borland's Turbo BASIC 2.0(?) Wrong files sent out in ZIPed file. (Test files? WHAT! Rats!) 1.1 - February 18, 1991 ReZIPed with the proper files and a small fix for word wrapping. 1.2 - March 5, 1991 Compiled using MicroSoft's Quick BASIC 4.5. Switch to Quick BASIC from Turbo allows use of Binary access of plain ASCII text file. Elimination of that bloody humongous random access file, and created the pointer file instead. (Hey, it's smaller, and it works.) Also added batch file to cure the Hercules problem of setting the screen to black on black on exit (just a "CLS" fixes it). 1.3 - May 30, 1991 Compiled using Borland's Turbo C 1.5. QOTD now bears the fruit of previously mentioned "C" classes. Added command line parameters to change the way QOTD displays the quote(s). Blame Mike Szwec, he kept suggesting it! And besides, I didn't have anything important to do during lunch that day anyhow. (Just goes to show how easily a well designed, structured program can be modified/maintained). 1.4 - July 27, 1991 Compiled using Borland's Turbo C++ 2.0. Both the conversion (renamed) and quote display programs were completely rewritten from scratch (as a programming exercise). The code is smaller and surprisingly (well, it was to me) about three times faster than previously released versions. Also the pointer file size has been halved. 1.5 - August 4, 1991 Compiled using Borland's Turbo C++ 2.0. Due to a justifiable complaint I've increased the maximum size of an individual quote to 1300 characters. A small bug with capturing extended keyboard codes was fixed and I've made some more entries in the QUOTE.DAT file to bring the number to over 3000 quotes! 1.6 - April 27, 1992 Compiled using Borland's C++ 3.0. A few more quotes, some bug fixes, and inclusion of the pointer program in QOTD.EXE to rebuild the QUOTE.PTR file automaticly if it is missing or changed. Command line parameter "P" added to force a rebuild of the pointer file. I also changed the command line parameter "L"oop to "N"umber. I felt it was more intuitive. 1.7 - October 17, 1992 Compiled using Borland C++ 3.1 A few more quotes, and some playing with Turbo Profiler resulted in a 10% average boost in efficiency. Larger code due to the new compiler. The delay parameter ("/D") now allows a setting of "0" that I was using for testing the file integrity. The number of quotes to display parameter ("/N") allows a setting of "0" as well for continuous display. 1.8 - February 10, 1993 Compiled using Borland C++ 3.1 Added some more quotes, now over 5300! This is getting silly. Fixed a small bug when using file sharing on a network. 1.9 - February 15, 1993 Compiled using Borland C++ 3.1 Fixed some weird quote display bugs. Changed the pointer fix routine to go a fetch a quote after the fix rather than dump you back to the prompt. Darn that Mike Szwec, he keeps suggesting stuff for me to add. 1.9.1 April 30, 1994 Compiled using Clark Developement PPLC 2.0 Added a PCBoard 15.1 PPE program to display quotes on a PCBoard 15.1 BBS. Sorry, this is only for PCBoard BBS systems. Also, I fixed a bunch of typo's and added a couple more quotes. History ------- I wrote QOTD.EXE for a lady at work who wanted a program just like the fortune cookie program on the VAX for her PC (take a bow Angeline Voo). A couple others also overheard and displayed some interest in the large quote collection that I have been accumulating for a couple of years. It originally was written for a BBS program that ran on an old Apple //e, and expanded from there. Once people knew that I was collecting these gems, everyone wanted to contribute their own little tidbit. Thanks to all the guys and gals that expanded it to it's current size. The quotes in the QUOTE.DAT file have been compiled from various books, movies, other quote files (Waterloo U., QFTD, tag lines etc), archania, jokes, pithy sayings, humourous observations, Murphyisms and song lyrics. Generally, it's been something that struck a cord with me. The best kind are the ones that sneak up on ya and get you to start thinking about them. I've also made every effort to elminate duplicate quotes as well as trying to attribute quotes correctly where ever possible, but I'm sure that there are a lots that missed the drag nets. Feel free to add or delete entries as you wish for your own use, but if you are distributing this program, please leave the quote file as is. Points of interest - How this thing is supposed to work ------------------------------------------------------- I know that it's rather plain with no neat graphics and stuff, but this version was intended to be put up on a Novell LAN for everything from SVGA colour to crufty old amber Hercules monitors. The idea was to put this in the AUTOEXEC.BAT or login script and have a gem of wisdom displayed for 20 seconds, or until a key was hit. Yeah, it's not fancy, but it does the job. In version 1.2 I added a cross reference file (QUOTE.PTR) so that the program knows where to look for each quote (A.K.A. a look up table for you future computer scientists). If you add a quote to the QUOTE.DAT file, the pointers to the individual quote start will be messed up and a new pointer file will get generated automaticly. Note: There is no QUOTE.PTR in the ZIP file. I figgure there is no point in distributing a file that gets generated automaticly the first time the program is run. As of version 1.3 I added command line parameters to allow you to change the way QOTD displays quotes. Here is the list of commands: /A - Displays all files from beginning to end. (e.g. QOTD /A) /B(#) - Sets the background colour in the display (0-7). (e.g. QOTD /B0 will set the background to black) /D(#) - Changes the display pause delay. A keystroke still aborts. (e.g. QOTD /D60 sets the delay to 60 seconds) /F(#) - Sets the foreground colour in the display (0-15). (e.g. QOTD /F15 sets the letters to white) /L(#) or /N(#) - Displays the specified number of quotes. (e.g. QOTD /N10 will cycle through 10 random quotes) /P - Force rebuild of QUOTE.PTR pointer file. (e.g. QOTD /P deletes and creates a new pointer file) /Q(#) - Displays the specific quote. (e.g. QOTD /Q100 will display quote #100) /? - Displays the command line parameter list. Also gets displayed if one of the parameter commands can't be decoded. (e.g. QOTD /?) As for the colours used in the foreground and background parameters, here is the list of their respective numbers: 0 = Black 4 = Red 8 = Dark Gray 12 = Light Red 1 = Blue 5 = Magenta 9 = Light Blue 13 = Light Magenta 2 = Green 6 = Brown 10 = Light Green 14 = Light Yellow 3 = Cyan 7 = Light Gray 11 = Light Cyan 15 = White (NOTE: 0-15 foregrounds, 0-7 backgrounds ONLY!) You can mix and match the command line parameters as you wish, but some options may cancel others out. Don't be too surprised when things don't happen as anticipated when you get creative with more than one at a time. The command line parameters are interpreted from left to right in the order that they have been entered, hence some commands will over ride others. As mentioned in the note for v 1.4, I completed a "C" class, and I figgured that the old QOTD was a pretty good project to practice on. I discovered some new ways of doing things and thinking about programing (a Tip'O the hat to Roman Bialach and Allen Taylor.) This exercise has convinced me to devote most of my programming time exclusively to "C" and "C++"in the future. I've also included with this package my original quote file all formatted so that you too can add files to QOTD. The supplied file is in alphabetical order and you just type in the quote on a new line and then run QOTD.EXE to generate the pointer file that tells the program were to look. Formatting Quotes ---------------- Please notice that each line begins with a "`" (left hand single quote), new paragraphs are delimited by a "|" (pipe character) and that all credits are prefixed by "'| - " (single quote,pipe,2 spaces,dash,space). This way everything gets formatted properly when it gets printed out to the screen. Make sure that the total quote (with credit) is under 1300 characters long. PC Board 15.1 Installation -------------------------- Installing this PPE is very simple. Copy ALL the files to a separate subdirectory. This PPE does not create the QUOTE.PTR file, this must be done through QOTD.EXE. YOU MUST CREATE THE QUOTE.PTR FILE _BEFORE_ you try to run QOTD.PPE. The QOTD.PPE has no command line parameters or switches. The only thing that it will do is display a single, randomly chosen entry from the QUOTE.DAT file. If you get an error try running "QOTD /P" to generate the PTR file. Once the QUOTE.PTR has be generated, add this this line to your CMD.LST QOTD 0 C:\QOTD\QOTD.PPE Type in QOTD at the command prompt to read a random quote. Other Stuff ----------- Well, I got over my laziness and rewrote the programs the way they should have been done. There are also in this addition over 5300 quotes. I don't think that you'll be adding too many more quotes to the list (unless you collect these things like me.) Also the current format allows you neat freaks to keep everything in alphabetical order (not that it really matters). Just be sure that you have an editor that can handle a file the size of the QUOTE.DAT file (it's one huge puppy! Lately I've been using BC++'s editor.) Possible Future Additions ------------------------- I have access to toys to compile this in OS/2 (I'm doing some work in OS/2 at work), if you wish. I'm in the process of learning Windows so a future version will probably include a Windows executable. Lastly - The Begging! --------------------- This baby is LetterWare to noncommercial users (your home machine). Please drop me line in the mail if you use this program. I'm curious as to how far this program gets distributed. No remuneration is required, but if you use it at home and feel the desire compensate me for my time, I'll not refuse any monetary donations. A token $5.00 - $10.00 contribution to my entertainment fund ought to cover it (it'll help pay for my "C++" programming courses, B-grade ScFi video rentals) and will also get you a peek at the source code if you so desire. If this program is in use in a commercial setting or on a network please send in $10.00. If you are making money off it, spread some around to the people that spent the time and effort to write it, eh? That's what ShareWare is all about. If you have a quote that is missing that I might like to add to my collection, or (horrors of horrors) an improvement, feel free to drop me a line. I enjoy hearing from other people in this hobby/line of work. Address: Midnight Programmers 1589 Waterdown Road, Burlington, Ontario, Canada, L7R 3X5 BBS: The GameBoard BBS (905) 689-3982 300-14400 v.32bis City-2-City Network member InterNet mcollis@dqc.dofasco.ca Who are Midnight Programmers? ----------------------------- Cast members ------------ Mark Collis Alan Brooks Dan (Derna) Abbott "Evil" Steve McGrahan (A.K.A. Valuna) Doug (The Optimizer) Carter Right off the top, we are not a "_Midnight_Autoparts_" dealing in hot CPU's, nor do we dabble in illegal software tampering, and piracy. We do this for fun, for the challenge and to learn more about these machines that seem to take up so much of our free time (yeah, sick puppies ain't we.) The name has been stuck to a group of friends that have contributed to a number of programming projects over the last couple of years, with code, ideas, suggestions, testing, food, books, and moral support. I've usually been the instigator, but not always. Some of us are professionals in the field and some of us are hobbyists that have gotten out of control (just ask Alan, he'll tell you I've been out of control for years). Why "Midnight Programmers" and not "Tea Time Programmers"? Well, if you've ever done any programming or system maintenance you'll know what I mean. It's usually late at night that things go wrong and require fixing, or you lose track of time while putting in just one more feature and look up to find that it's 2:30 am (and you have to be in for work at 8:00 am!) Over the last little while with all the over the phone rescue missions, I've strongly concidered changing names to "Remote Control Consultants" , but Midnight Programmers seems to have stuck, and describes this loose group computer jockeys quite nicely, thank you very much. Thanks for reading this far.... Mark Collis