home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 2
/
crawlyvol2.bin
/
apps
/
bbs
/
today201
/
todays_h.doc
< prev
next >
Wrap
Text File
|
1994-10-29
|
16KB
|
397 lines
HISTORY
AND
ACKNOWLEDGEMENTS
I'd like to take a moment to thank in writing all the people
who took the time and trouble to report bugs and make suggestions
for improvements.
----- --- ---- -------
THANK YOU VERY MUCH!!!
----- --- ---- -------
What follows is sort of a history of the program as it's
changed through the years, mostly at the direction of it's users.
At the request of the FlightLine BBS SysOp I've deleted the
extra blank lines between the events in the built in report. This
was fixed in version 1.02
An unknown person requested that I change the program so that
if you are directing the output to the CONsole Monitor (your
screen), the program will also wait for a keypress after
displaying the output before ending. This is so those of you who
doing that can read the output before the program exits to the
desktop. This was fixed in version 1.10.
Version 1.20 allowed the user to use only the one 'TODAY.HOL'
file rather then all the TODAY.mmm monthly files without
generating a 'TODAYS.ERR' file.
Version 1.30 moved the 'header' lines from the 'TODAYS.RPT'
file to the 'TODAYS.INF' file. This allowed the program to not
print out the 'header' lines if there wasn't any data for the
program. This was suggested by the SysOp of the FlightLine BBS,
who also pointed out to me that the 302 day isn't pronounced as
the 302ed, it's 302nd. ("nd" not "ed".) This has been fixed, as
has the 312nd is now 312th ("12th" not "12ed" or "12nd".) The
program will now also do 13th instead of 13nd.
Version 1.30 also introduced 4 new commands into the report
file, allowing for the various displays of the Julian Date.
Version 1.40 was a fix for a rather serious bug that caused
the program to go into a "infinite loop" writing to the TODAYS.ERR
file. This was due to a flag that wasn't being cleared properly.
My Thanks (and apologies!) to MAGNUS EISENGRIM, SysOp of the
W.o.W. BBS in Virginia Beach (F-Net node # 226) for finding and
reporting this error to me.
For those of you keeping track, versions 1.41 through 1.88
never made it out of alpha testing. They were versions I used
while I was making a MAJOR change to the way the program operates.
Most of these were never even compiled, but I needed to change the
version numbers to keep the changes I was making straight.
Among the changes I made at this time were adding in a
multitude of additional 'types' or 'categories' based on user
suggestions and requests. In the end, I finally gave up and came
up with a way to open it up to allow any 'type' or 'category' the
user wanted to use. (Earlier versions only allowed the user to
have only 4 types of data: Birthdays, Special Events, Reminders,
and Calculated events.)
Opening up the 'types' was completed, except for the
Calculated type, in version 1.54.
In versions 1.55 through 1.68 I attempted to include in the
program calculations to allow users to 'key' off of the Roman
Catholic 'Golden Year', used to figure out Easter, Good Friday,
Ash Wednesday, and a number of other holidays observed by Roman
Catholics, however they made the program too large for my tastes,
and didn't always work quite right, so I removed the code.
In versions 1.68 through 1.75 I implemented the code that
allowed for the calculation of Anniversaries, and weekly events.
Versions 1.75 through 1.80 added monthly events, plus a
variety of 'fixes' to the program caused by the opening up of the
type codes. <sigh>
Versions 1.81 through 1.88 added report options for the
various 'Time of day' items (%F8 and %F9 options) and some
cosmetic items to both what the user sees, and the source code
itself.
In versions 1.89 through 1.94 I optimized the code, making
the program smaller, and more efficient. It was durring these
verions that the TODAYS.LNG file was 'born'. Aside from making
the program smaller, it also allowed users to change the
'language' it used into French, Spanish, German or whatever.
Version 1.95 was the first version to make it out of beta
testing since version 1.40. All did not go as smoothly as
planned, however! A number of people reported to me that version
1.95 wasn't figuring out the right day. The problem had to do
with the way leap years were figured out. This was fixed in
version 1.96.
Version 1.96 was released without the other file required to
run TODAYS.PRG: TODAYS.LNG. The sample TODAYS.RPT, TODAYS.INF and
TODAYS.RPX files were also left out. In fact, the only thing in
the TODAYS196.LZH file was TODAYS.PRG version 1.96! It was
released as a upgrade to _existing_ users. Due to _new_ user
response, however, that shall *not* be done again! Future release
archives will include the LNG file along with the sample INF, RPT,
and RPX files.
Michael J. Hubbard reported that the Calculated dates were
being calculated improperly so that they were always one day off.
This, unfortunately, was caused by me when I fixed the problem
with the leap year in version 1.96. <sigh> This was fixed in
version 1.97.
Robert A. Dolson noted that having the program say "Three
hundred, Fifty-fifth days left in the year" didn't make much
sense. How true! This led to the option of allowing the user to
choose between using 'Ordinal' or 'Cardinal' numbers which was
implemented in version 1.97.
Ira C Brickman suggested that users be allowed to have more
files other then just the TODAY.mmm files, and/or the one
'alternate file' on line 3 of the TODAYS.INF file. This led to
the implementation of the 'additional files' on Line 2. Although
this is not quite what was suggested, I hope that'll do until I
can fully implement it later. (The suggestion as made would allow
the additional files to reside anywhere on the user's system.)
The Additional Files, as they now work, changing only the
extender, was also implemented in version 1.97.
The "Masked Avenger" (no comment) requested that I put in
'hard' returns rather then 'soft' returns. I thought it would be
better to open it up to user configuration instead, so that's what
I did. (I have a need to use 'soft' returns here.) I attempted
to implement this in version 1.97, but it didn't work quite as
expected. I finally got it right in version 1.98.
Versions 1.97 and 1.98 never made it past beta testing, by
the way.
Version 1.99 saw a LOT of changes!
I changed the way Monthly and Weekly events were worked so
that it opened up the type codes ! and @ to be whatever the user
wanted. In versions 1.89 through 1.98, the user was forced to use
type code ! for monthly events, and type code @ for weekly events.
Users may still use those codes for those types of events, however
it's no longer required. Users may now select their own type
codes for Weekly and Monthly events, or declare more then one code
for them if they so desire.
Lower case type codes were also allowed for. In previous
versions, type codes were all upper case. I _still_ have doubts
as to whether or not this is a good idea, but it's what the users
want, so....
'Yearly' events were also implemented. In previous versions,
if the Month and Day fields were left blank, the line was rejected
regardless of what was in the Year, column 10 and/or text fields.
Also new in version 1.99 was the option to allow users to use
the day of the year (Julian Period) instead of the Gregorian date
in their data files, by using a pound sign (#) in column 2.
29 new %F options were also added, allowing for a variety of
methods to display the current season and the next season, the
number of days into the season and number of days left in the
season. In previous versions, there was a rather complex method
of setting the 'column 10 character', the text and all that in the
TODAYS.INF file, which was, at best, a 'work around' way to
display the date of the season and the number of days until the
next one.
I also added the %F75 commands to allow the use of the
STARFLEET style stardates as suggested by <Shuttle Commander> in
version 1.99. Unfortunately, it doesn't _completly conform to
STARFLEET standards since it uses local time rather then Universal
Coordinated Time (UCT).
The documentation was updated to include the column 10
options & and %. Interestingly, no one noticed that I said in the
docs that there were five options for calculations, but that I
only mentioned 4 of them. Oh, well. (I had forgotten to mention
the % option in case you're wondering which I had left out. The &
option was only half implemented in previous versions, and didn't
always work.)
I also added to the documentation to (hopefully) better
explain how to use all the various column 10 options, as well as
the Month, Day, and Year fields and the header lines.
(I also FINALLY spell checked the docs. <sigh> Why do so
many people get so picky about spelling? Sheesh!)
In version 1.99 I also moved the 'header' lines from the
TODAYS.INF file into their own file called TODAYS.HDR. With the
exception of a few alpha test versions, they had been in the
TODAYS.INF file since I came up with the idea for them way back in
version 1.30.
Both an itermitent problem with leading 0's in the date field
was fixed, as was a problem with using a space character as a type
code in version 1.99. Calculated dates 'counting' up and down on
a daily basis were fixed, this time correctly, as was a problem
with continuation lines (a 'C' in column 10) and the SHOW option.
I also moved the No Data line in the report so that it showed up
before the first '%H' in the user's TODAYS.RPT file.
Version 2.00 was another MAJOR revision!
A number of changes were made to the codes used in the
TODAYS.RPT file. Thanks largely to the efforts of Ira C Brinkman
who made most of the suggestions for the changes. Previous
versions used a rather complex system of %F<number>% codes that
were a extention of the inital 9 codes allowed in version 1.1?.
By version 1.99 there were 120 different codes, most of which were
'options' of the original 9. As a result of their sheer number,
confusion abounded! The system as it now stands is much simpler.
Just the inital %F (so the program can find them), a three
character id for what is wanted, a modifier, the 'justification
method' the user wants, then a final % mark to tell the program to
'stop here'. Simple. Thanks Ira!
I also 'fixed' the Wrap function (again) so that it handled
_very_ long lines. (I thouhgt I had it fixed in version 1.97.)
I've now fixed it so that it would handle the entire "To be or not
to be..." Soliloque from Shakesphere's Hamlet tradgedy.
Second line tabs were also added to allow users to 'indent'
the lines wraped by the wrap function. This allows for easier
reading of the data by the user.
Also new were user setable 'before year', year/text
seperator, and 'before text' strings. This now allows the user to
send codes to their output device to change the way it appears,
font, color, etc., and to pick their own mark to place between the
year and the text. Previous versions, all the way back to pre-
release version .90 forced the user to use a single dash (-) to
seperate the year from the text which I had hard coded into the
program.
Version 2.00 also fixed a bug in the output file routine.
Previous versions 'bombed' if the user selected to 'Replace' the
existing file. Interestingly, I hadn't touched that section of
the code since the original release! It's amazing to me that such
a serious bug would go unreported for so long.
I also removed a offending VT-52 code from the program which
was sent out as the last item. I used it here on my system to
"re-set" my screen back to "normal". Since not everyone uses the
same colors, this messed up some user's screens. Sorry 'bout
that.
Version 2.01 became another _major_ release, although I
hadn't ment it to be one. TODAYS 2.01 saw the introduction of the
"BinkleyTerm" style configuration file, which replaced the old
TODAYS.INF and TODAYS.HDR into one big, free flowing, self-
documented configuration file called TODAYS.CFG. This allowed me
to easily add features into the CFG file, and to the user, they
could change their configuration whenever they wanted without
searching through documentation. Since the header lines were also
in there, it "unified" it all in my mind.
A _ton_ of functions were added, as well as (minor) math
within the functions. I made add onto the math functions later,
but that'll depend on user needs I think. Personally, there's
enough there for me for now.
I also added in the ability to sort or not sort individual
catagories of information. Personally, I have no need for this,
but Ira C Brickman asked for it, so he got it!
Another user asked for the ability to replace a function
that resulted in 0 with the word "none", so I added the ability to
replace it with whatever the user wanted. Another advantage of a
free-flowing configuration file!
Headers could be justified in the same manor as funtions in
version 2.01, and the user could select a line could be placed
between the header and the data lines in the report. Another
request from Ira C Brinkman.
Range dates were added. This concept allows a single line to
cover as many as 999 days, and with the column 10 code used as a
day of the week code, it allowed the display and calculation of
movable events.
The Error report, TODAYS.ERR, could be re-directed to any
file. This was requested by several BBS SysOps.
TODAYS was also turned into a TTP/GTP program in version
2.01. This was so that users could "alter" their program for a
single run without editing their TODAYS.CFG file. The TTP options
added covered _nearly_ everything in their TODAYS.CFG.
TODAYS v 2.01 also added the ability to run it once, and only
once a day if the user so wished.
To the data files, I added to TODAYS v 2.01 the ability for
lines to only show up on weekdays and weekends, leap year and
"regular" years, business and non-business days (as the user
defined them in TODAYS.CFG), or only the date on the line in
columns 2-9.
For those who output the display to the screen, I added a
"hold" function so that they could pause the display.