home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 2 / crawlyvol2.bin / apps / bbs / today201 / todays_h.doc < prev    next >
Text File  |  1994-10-29  |  16KB  |  397 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.                                    HISTORY
  7.                                      AND
  8.                                ACKNOWLEDGEMENTS
  9.  
  10.           I'd like to take a moment to thank in writing all the people
  11.      who took the time and trouble to report bugs and make suggestions
  12.      for improvements.
  13.  
  14.                             ----- --- ---- -------
  15.                             THANK YOU VERY MUCH!!!
  16.                             ----- --- ---- -------
  17.  
  18.           What follows is sort of a history of the program as it's
  19.      changed through the years, mostly at the direction of it's users.
  20.  
  21.           At the request of the FlightLine BBS SysOp I've deleted the
  22.      extra blank lines between the events in the built in report.  This
  23.      was fixed in version 1.02
  24.  
  25.           An unknown person requested that I change the program so that
  26.      if you are directing the output to the CONsole Monitor (your
  27.      screen), the program will also wait for a keypress after
  28.      displaying the output before ending. This is so those of you who
  29.      doing that can read the output before the program exits to the
  30.      desktop.  This was fixed in version 1.10.
  31.  
  32.           Version 1.20 allowed the user to use only the one 'TODAY.HOL'
  33.      file rather then all the TODAY.mmm monthly files without
  34.      generating a 'TODAYS.ERR' file.
  35.  
  36.           Version 1.30 moved the 'header' lines from the 'TODAYS.RPT'
  37.      file to the 'TODAYS.INF' file.  This allowed the program to not
  38.      print out the 'header' lines if there wasn't any data for the
  39.      program.  This was suggested by the SysOp of the FlightLine BBS,
  40.      who also pointed out to me that the 302 day isn't pronounced as
  41.      the 302ed, it's 302nd. ("nd" not "ed".) This has been fixed, as
  42.      has the 312nd is now 312th ("12th" not "12ed" or "12nd".) The
  43.      program will now also do 13th instead of 13nd.
  44.  
  45.           Version 1.30 also introduced 4 new commands into the report
  46.      file, allowing for the various displays of the Julian Date.
  47.  
  48.           Version 1.40 was a fix for a rather serious bug that caused
  49.      the program to go into a "infinite loop" writing to the TODAYS.ERR
  50.      file. This was due to a flag that wasn't being cleared properly.
  51.           My Thanks (and apologies!) to MAGNUS EISENGRIM, SysOp of the
  52.      W.o.W. BBS in Virginia Beach (F-Net node # 226) for finding and
  53.      reporting this error to me.
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.           For those of you keeping track, versions 1.41 through 1.88
  73.      never made it out of alpha testing.  They were versions I used
  74.      while I was making a MAJOR change to the way the program operates.
  75.      Most of these were never even compiled, but I needed to change the
  76.      version numbers to keep the changes I was making straight.
  77.           Among the changes I made at this time were adding in a
  78.      multitude of additional 'types' or 'categories' based on user
  79.      suggestions and requests.  In the end, I finally gave up and came
  80.      up with a way to open it up to allow any 'type' or 'category' the
  81.      user wanted to use.  (Earlier versions only allowed the user to
  82.      have only 4 types of data: Birthdays, Special Events, Reminders,
  83.      and Calculated events.)
  84.           Opening up the 'types' was completed, except for the
  85.      Calculated type, in version 1.54.
  86.  
  87.           In versions 1.55 through 1.68 I attempted to include in the
  88.      program calculations to allow users to 'key' off of the Roman
  89.      Catholic 'Golden Year', used to figure out Easter, Good Friday,
  90.      Ash Wednesday, and a number of other holidays observed by Roman
  91.      Catholics, however they made the program too large for my tastes,
  92.      and didn't always work quite right, so I removed the code.
  93.  
  94.           In versions 1.68 through 1.75 I implemented the code that
  95.      allowed for the calculation of Anniversaries, and weekly events.
  96.  
  97.           Versions 1.75 through 1.80 added monthly events, plus a
  98.      variety of 'fixes' to the program caused by the opening up of the
  99.      type codes. <sigh>
  100.  
  101.           Versions 1.81 through 1.88 added report options for the
  102.      various 'Time of day' items (%F8 and %F9 options) and some
  103.      cosmetic items to both what the user sees, and the source code
  104.      itself.
  105.  
  106.           In versions 1.89 through 1.94 I optimized the code, making
  107.      the program smaller, and more efficient.  It was durring these
  108.      verions that the TODAYS.LNG file was 'born'.  Aside from making
  109.      the program smaller, it also allowed users to change the
  110.      'language' it used into French, Spanish, German or whatever.
  111.  
  112.           Version 1.95 was the first version to make it out of beta
  113.      testing since version 1.40.  All did not go as smoothly as
  114.      planned, however!  A number of people reported to me that version
  115.      1.95 wasn't figuring out the right day.  The problem had to do
  116.      with the way leap years were figured out.  This was fixed in
  117.      version 1.96.
  118.  
  119.           Version 1.96 was released without the other file required to
  120.      run TODAYS.PRG: TODAYS.LNG.  The sample TODAYS.RPT, TODAYS.INF and
  121.      TODAYS.RPX files were also left out.  In fact, the only thing in
  122.      the TODAYS196.LZH file was TODAYS.PRG version 1.96!  It was
  123.      released as a upgrade to _existing_ users.  Due to _new_ user
  124.      response, however, that shall *not* be done again!  Future release
  125.      archives will include the LNG file along with the sample INF, RPT,
  126.      and RPX files.
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.           Michael J. Hubbard reported that the Calculated dates were
  139.      being calculated improperly so that they were always one day off.
  140.      This, unfortunately, was caused by me when I fixed the problem
  141.      with the leap year in version 1.96.  <sigh>  This was fixed in
  142.      version 1.97.
  143.  
  144.           Robert A. Dolson noted that having the program say "Three
  145.      hundred, Fifty-fifth days left in the year" didn't make much
  146.      sense.  How true!  This led to the option of allowing the user to
  147.      choose between using 'Ordinal' or 'Cardinal' numbers which was
  148.      implemented in version 1.97.
  149.  
  150.           Ira C Brickman suggested that users be allowed to have more
  151.      files other then just the TODAY.mmm files, and/or the one
  152.      'alternate file' on line 3 of the TODAYS.INF file.  This led to
  153.      the implementation of the 'additional files' on Line 2.  Although
  154.      this is not quite what was suggested, I hope that'll do until I
  155.      can fully implement it later. (The suggestion as made would allow
  156.      the additional files to reside anywhere on the user's system.)
  157.      The Additional Files, as they now work, changing only the
  158.      extender, was also implemented in version 1.97.
  159.  
  160.           The "Masked Avenger" (no comment) requested that I put in
  161.      'hard' returns rather then 'soft' returns.  I thought it would be
  162.      better to open it up to user configuration instead, so that's what
  163.      I did.  (I have a need to use 'soft' returns here.)  I attempted
  164.      to implement this in version 1.97, but it didn't work quite as
  165.      expected.  I finally got it right in version 1.98.
  166.  
  167.           Versions 1.97 and 1.98 never made it past beta testing, by
  168.      the way.
  169.  
  170.           Version 1.99 saw a LOT of changes!
  171.  
  172.           I changed the way Monthly and Weekly events were worked so
  173.      that it opened up the type codes ! and @ to be whatever the user
  174.      wanted.  In versions 1.89 through 1.98, the user was forced to use
  175.      type code ! for monthly events, and type code @ for weekly events.
  176.      Users may still use those codes for those types of events, however
  177.      it's no longer required.  Users may now select their own type
  178.      codes for Weekly and Monthly events, or declare more then one code
  179.      for them if they so desire.
  180.           Lower case type codes were also allowed for.  In previous
  181.      versions, type codes were all upper case.  I _still_ have doubts
  182.      as to whether or not this is a good idea, but it's what the users
  183.      want, so....
  184.           'Yearly' events were also implemented. In previous versions,
  185.      if the Month and Day fields were left blank, the line was rejected
  186.      regardless of what was in the Year, column 10 and/or text fields.
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.           Also new in version 1.99 was the option to allow users to use
  205.      the day of the year (Julian Period) instead of the Gregorian date
  206.      in their data files, by using a pound sign (#) in column 2.
  207.           29 new %F options were also added, allowing for a variety of
  208.      methods to display the current season and the next season, the
  209.      number of days into the season and number of days left in the
  210.      season.  In previous versions, there was a rather complex method
  211.      of setting the 'column 10 character', the text and all that in the
  212.      TODAYS.INF file, which was, at best, a 'work around' way to
  213.      display the date of the season and the number of days until the
  214.      next one.
  215.  
  216.           I also added the %F75 commands to allow the use of the
  217.      STARFLEET style stardates as suggested by <Shuttle Commander> in
  218.      version 1.99.  Unfortunately, it doesn't _completly conform to
  219.      STARFLEET standards since it uses local time rather then Universal
  220.      Coordinated Time (UCT).
  221.  
  222.           The documentation was updated to include the column 10
  223.      options & and %.  Interestingly, no one noticed that I said in the
  224.      docs that there were five options for calculations, but that I
  225.      only mentioned 4 of them.  Oh, well.  (I had forgotten to mention
  226.      the % option in case you're wondering which I had left out.  The &
  227.      option was only half implemented in previous versions, and didn't
  228.      always work.)
  229.           I also added to the documentation to (hopefully) better
  230.      explain how to use all the various column 10 options, as well as
  231.      the Month, Day, and Year fields and the header lines.
  232.           (I also FINALLY spell checked the docs. <sigh>  Why do so
  233.      many people get so picky about spelling?  Sheesh!)
  234.  
  235.           In version 1.99 I also moved the 'header' lines from the
  236.      TODAYS.INF file into their own file called TODAYS.HDR.  With the
  237.      exception of a few alpha test versions, they had been in the
  238.      TODAYS.INF file since I came up with the idea for them way back in
  239.      version 1.30.
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.           Both an itermitent problem with leading 0's in the date field
  271.      was fixed, as was a problem with using a space character as a type
  272.      code in version 1.99.  Calculated dates 'counting' up and down on
  273.      a daily basis were fixed, this time correctly, as was a problem
  274.      with continuation lines (a 'C' in column 10) and the SHOW option.
  275.      I also moved the No Data line in the report so that it showed up
  276.      before the first '%H' in the user's TODAYS.RPT file.
  277.  
  278.           Version 2.00 was another MAJOR revision!
  279.  
  280.           A number of changes were made to the codes used in the
  281.      TODAYS.RPT file.  Thanks largely to the efforts of Ira C Brinkman
  282.      who made most of the suggestions for the changes.  Previous
  283.      versions used a rather complex system of %F<number>% codes that
  284.      were a extention of the inital 9 codes allowed in version 1.1?.
  285.      By version 1.99 there were 120 different codes, most of which were
  286.      'options' of the original 9.  As a result of their sheer number,
  287.      confusion abounded!  The system as it now stands is much simpler.
  288.      Just the inital %F (so the program can find them), a three
  289.      character id for what is wanted, a modifier, the 'justification
  290.      method' the user wants, then a final % mark to tell the program to
  291.      'stop here'.  Simple.  Thanks Ira!
  292.  
  293.           I also 'fixed' the Wrap function (again) so that it handled
  294.      _very_ long lines.  (I thouhgt I had it fixed in version 1.97.)
  295.      I've now fixed it so that it would handle the entire "To be or not
  296.      to be..." Soliloque from Shakesphere's Hamlet tradgedy.
  297.  
  298.           Second line tabs were also added to allow users to 'indent'
  299.      the lines wraped by the wrap function.  This allows for easier
  300.      reading of the data by the user.
  301.  
  302.           Also new were user setable 'before year', year/text
  303.      seperator, and 'before text' strings.  This now allows the user to
  304.      send codes to their output device to change the way it appears,
  305.      font, color, etc., and to pick their own mark to place between the
  306.      year and the text.  Previous versions, all the way back to pre-
  307.      release version .90 forced the user to use a single dash (-) to
  308.      seperate the year from the text which I had hard coded into the
  309.      program.
  310.  
  311.           Version 2.00 also fixed a bug in the output file routine.
  312.      Previous versions 'bombed' if the user selected to 'Replace' the
  313.      existing file.  Interestingly, I hadn't touched that section of
  314.      the code since the original release!  It's amazing to me that such
  315.      a serious bug would go unreported for so long.
  316.  
  317.           I also removed a offending VT-52 code from the program which
  318.      was sent out as the last item.  I used it here on my system to
  319.      "re-set" my screen back to "normal".  Since not everyone uses the
  320.      same colors, this messed up some user's screens.  Sorry 'bout
  321.      that.
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.           Version 2.01 became another _major_ release, although I
  337.      hadn't ment it to be one.  TODAYS 2.01 saw the introduction of the
  338.      "BinkleyTerm" style configuration file, which replaced the old
  339.      TODAYS.INF and TODAYS.HDR into one big, free flowing, self-
  340.      documented configuration file called TODAYS.CFG.  This allowed me
  341.      to easily add features into the CFG file, and to the user, they
  342.      could change their configuration whenever they wanted without
  343.      searching through documentation.  Since the header lines were also
  344.      in there, it "unified" it all in my mind.
  345.  
  346.           A _ton_ of functions were added, as well as (minor) math
  347.      within the functions.  I made add onto the math functions later,
  348.      but that'll depend on user needs I think.  Personally, there's
  349.      enough there for me for now.
  350.  
  351.           I also added in the ability to sort or not sort individual
  352.      catagories of information.  Personally, I have no need for this,
  353.      but Ira C Brickman asked for it, so he got it!
  354.  
  355.           Another user asked for the ability to replace a function
  356.      that resulted in 0 with the word "none", so I added the ability to
  357.      replace it with whatever the user wanted.  Another advantage of a
  358.      free-flowing configuration file!
  359.  
  360.           Headers could be justified in the same manor as funtions in
  361.      version 2.01, and the user could select a line could be placed
  362.      between the header and the data lines in the report.  Another
  363.      request from Ira C Brinkman.
  364.  
  365.           Range dates were added.  This concept allows a single line to
  366.      cover as many as 999 days, and with the column 10 code used as a
  367.      day of the week code, it allowed the display and calculation of
  368.      movable events.
  369.  
  370.           The Error report, TODAYS.ERR, could be re-directed to any
  371.      file.  This was requested by several BBS SysOps.
  372.  
  373.           TODAYS was also turned into a TTP/GTP program in version
  374.      2.01.  This was so that users could "alter" their program for a
  375.      single run without editing their TODAYS.CFG file.  The TTP options
  376.      added covered _nearly_ everything in their TODAYS.CFG.
  377.  
  378.           TODAYS v 2.01 also added the ability to run it once, and only
  379.      once a day if the user so wished.
  380.  
  381.           To the data files, I added to TODAYS v 2.01 the ability for
  382.      lines to only show up on weekdays and weekends, leap year and
  383.      "regular" years, business and non-business days (as the user
  384.      defined them in TODAYS.CFG), or only the date on the line in
  385.      columns 2-9.
  386.  
  387.           For those who output the display to the screen, I added a
  388.      "hold" function so that they could pause the display.
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.