REMIND Release 5.5a
The program that lets you "forget about forgetting"
Copyright (C) 1991
Robert M. W. Tsou
28441 Cedarbluff Drive
Rancho Palos Verdes, CA 90274
Registration and Licensing Agreement:
REMIND is a user supported software product. It is not in
any way free software. You are granted the right to use
REMIND for a limited evaluation period. If you find REMIND to
be useful and would like to continue to use it, a
contribution of $10 in U.S. funds sent to the address below
would be greatly appreciated. Your registration will legally
entitle you to continue using REMIND. Your support will help
us make REMIND an even better product and make possible other
low-cost, high-quality programs.
When you register, you will receive a free disk through the
mail containing the latest version of the program if what you
have is not already the latest version. Please specify the
type of disk that you use (either 5.25 inch or 3.5 inch disks.)
You may give REMIND to others so that they may try it out as
well; however, you may not modify or remove ANY of the
program or documentation files in the package. No
compensation may be received for distributing REMIND without
the author's written approval.
To register as a licensed user, send your name, address, and
any comment you may have regarding the program, along with
$10 to the following address:
Robert M. W. Tsou
28441 Cedarbluff Drive
Rancho Palos Verdes, CA 90274
Thank you for using REMIND.
What The Critics Are Saying About REMIND:
"This is the computer equivalent of a 'things to Do Today'
pad. Unlike the pad, though, it will remember forever that
your rich Aunt Nellie's birthday is on April 3, and it will
remind you of it for as many days before Auntie's birthday
as you wish. It keeps track of your dinner, concert and
movie dates, of club meetings, of wedding anniversaries,
of dates bills are due.... "
"Instructions are unusually thorough and clear. They're
almost unnecessary in this easy-to-use program..."
Noah Matthews, Knight-Ridder Newspapers,
as published in The San Antonio Light,
Oct 9, 1989
"The calendar that can be accessed from ENTERDAY is
fabulous... If you are looking for a program to help you
organize your time, this is it."
Patrick Grote, REMIND45.RVW, 7-27-89
distributed nation-wide through
electronic bulletin boards
REMIND, version 4.9 (REMIND49.ZIP) was selected as one of the
"Top Downloads" of the month in the June, 1991 issue of
PC Computing Magazine (page 258.)
REMIND, version 5.5a
A Brief Summary Of Features
The idea behind REMIND is very simple: you enter the
important dates that you need to be reminded of, such as your
anniversary, your mother's birthday, your doctor's appointment
date, etc., into the program along with the numbers of days
that you would like REMIND to start reminding you ahead of
the event, the program will then store the information in a
data file. When you run the program using your AUTOEXEC.BAT,
each morning as you turn on your computer, the program will
automatically execute to compare the current date obtained
from your computer's internal clock/calendar to the entries
in the data file. If a date matches, a window will pop out,
giving you the important reminder. If no date matches,
the program will simply end inconspicuously, allowing you to
proceed with your daily work. You may have multiple entries
for each date if desired and you may enter the dates to be
reminded up to one year in advance of the current date.
Of course, for the program to work correctly, your computer's
internal clock/calendar must be set to the right current
date. Please consult your DOS manual on how to do so if you
do not already know how.
Please note that REMIND is NOT a memory-resident program and
will not take up RAM when not active.
The following is a list of features of REMIND:
(1). Automatically remind you of important dates and things
to do for the day as the date approaches or arrives.
(2). User-determinable advanced reminding (however many days
of advanced notice for a date/event.)
(3). Recurrent (monthly) reminding for any day of the month.
(4). Perpetually-accurate built-in reminders for most of our
(5). Simple view/editing capabilities built-in for the data
file so one may easily delete outdated entries.
(6). Celebrate important holidays and birthdays with music.
(7). Includes handy perpetual calendar (with accurate
holidays) for quick referencing.
(8). Interesting historical chronicle included with calendar.
(9). Leap years taken into consideration by programming
(10). Handy "preview" feature of upcoming reminders
(accessible through the calendar.)
(11). Colorful and intuitively simple to run.
(12). Special functions selection for entry of reminders that
occur on every given weekday, reminders that occur on
the 1st, 2nd, 3rd, 4th, 5th, or last given weekday
of each month; and for you die-hard amnesiacs, even a
daily "nag" reminder feature is included.
(13). Command line switch allowing the user the option of
ignoring and bypassing the reminders when desired.
(14). Command line switch for "silent mode" operation of
REMIND.EXE (turns off all bells, whistles and music
heard in the program.)
(15). Command line switch for "daily mode" operation of
REMIND.EXE (when turned ON, all active reminders
will be displayed only once a day, with the first
running of REMIND.EXE.)
How To Use REMIND
REMIND, version 5.5a, is a package consisting of five files:
ENTERDAY.EXE : for entering dates to be reminded,
viewing/editing the entries, and
consulting the handy calendar.
REMIND.EXE : for displaying the reminders. You
should run this with your AUTOEXEC.BAT
or any batch file that you use daily.
REMIND.DOC : this documentation.
REGISTER.FRM : registration form.
WHATS.NEW : lists new features of current
After the program has been run for the first time, a data file,
REMIND.DTA, will be created automatically to store the data.
If you are already using a previous version of REMIND, it is
advisable that you back up your existing REMIND.DTA before
proceeding with the installation.
REMIND is best run from a hard disk using your AUTOEXEC.BAT.
This way, whenever you turn on your computer, the program
will automatically execute to check if you have any reminders
for the given day. One may also run the program with any
other batch file that you use daily.
The way I set up my program is as follows: first I create a
new subdirectory on my hard disk called C:\REMIND. This can
be done easily by typing "MD REMIND" and at the C:\>
prompt. Then I copy all of the executable files into the new
subdirectory. To run the program using your AUTOEXEC.BAT, I
add the following lines to the end of my AUTOEXEC.BAT file:
This way, the program will automatically execute each time
you turn on your computer.
(Author's Note: Please refer to the discussion of different
parameters on the command line when invoking REMIND.EXE
under the heading "Running REMIND.EXE" later in this
In addition to this, I also make out a batch file (say
"R.BAT") to run the REMIND program. This way, while I am at
the computer and I forgot what was in the reminder, I can run
the program quickly without having to turn off and on the
computer. R.BAT can be made simply by doing the following:
At the DOS prompt, C:\>, type:
Copy con R.BAT
After this, you type ^Z by pressing the key and
keys simultaneously. DOS will acknowledge by responding with
"one file copied." Now you have R.BAT ready to run. Place
R.BAT into your "BATCH" subdirectory and pass your DOS's path
through it. This way you will be able to run R.BAT from any
where within your system. (To understand DOS's PATH command,
refer to your DOS manual.)
Now that you have successfully installed REMIND into your
computer, let's discuss the finer details of how to use the
As mentioned earlier, ENTERDAY.EXE is an executable file used
to enter the dates to be reminded. You must run this program
first before you can run REMIND.EXE. As you run
ENTERDAY.EXE, it will create a data file called REMIND.DTA
and store your data into it. One may enter the dates to be
reminded of up to one year ahead of the actual event.
When you run ENTERDAY.EXE, you will see the main menu with
several choices. Today's date will be displayed at the bottom
for your reference. The choices are (A). Entering dates to
remind, (B). view/edit entries, (C). consult calendar, and
(Esc) to exit. One may use the up/down arrow keys to scroll
the highlight bar to the desired selection and enter or
simply press the corresponding keys to enter the selections.
* * * *
(A). Entering dates to remind:
When you have selected this, a window will pop out asking
you for the month of the date that you need to be reminded.
Simply type in the month in numbers (for example, the
month of May would be "5".) If the number that you enter
has two digits, it will not be necessary for you to press the
key. The program will then ask you for the day
of the date to be reminded, simply type in the date.
If at any time during this process you change your mind
and decide to cancel, pressing the key will abort the
process and take you back to the main menu.
If you press the Special [F1] key while you are in the date
entry screen, you will be given access to the "special
functions" screen that will allow you to enter reminders that
will occur weekly on a given weekday (every Thursday, for
example,) or reminders that will occur on the 1st, 2nd, 3rd,
4th, 5th, or LAST given weekday of each month. There is even
a daily "nag" reminding feature for those of you with terminal
amnesia. All together, there are 50 possible selections in
the special functions screen. Just enter the number of your
choice according to the selections chart and type in your memo.
Once you have typed in the memo, the program will take you back
to the main menu.
For recurrent weekday reminders (every Thursday, for example,)
the program will remind you on the day of the event only.
All other special functions selections will start reminding
you ONE DAY prior to the day of the event. Note that the
special function entries will not be shown on the "reminder
preview" screen accessible through the calendar (discussed
After you have entered the date in the date entry screen, the
program will ask you to press if this represents a
birthday or simply if this is not a birthday. Pressing
at this point will tell the program to sing "Happy Birthday
To You" when the date arrives. This, of course, is an option
entirely up to the user. Pressing at this point
will, again, abort the process. After the key has been
entered, the program will ask you to fill out the reminder
text for the date entered, i.e. things to do for that day.
One may enter up to about 3 lines of text within the given
window. Just type away, the words will automatically wrap.
If you make a mistake and want to start over, just press
to cancel what you have written. When you are finished
with the reminder text, just press to go to the
The program will at this point ask you to enter the numbers
of days of advanced notice that you desire for the date
entered. You may press any number. Pressing "6" ,for
example, will tell the program to remind you every day
for 6 days prior to the arrival of the date entered.
If you press "0" the reminder will occur only on the day
of the given event.
You probably want to start the reminding several days in
advance of an important event (to allow time for mailing of
cards or buying of gifts, for example.)
Next, the program will ask you whether you would like the
reminder to occur monthly on the same day (for paying of
bills, for example.) Simply type in a Y/N answer. Of course,
this option will not be given if the date entered is a
birthday - birthdays happen yearly, never monthly. One word
of caution when you use this feature: if the date that you
entered is the 31st of each month, the reminder will NOT
appear on the months of Feb., April, June, September, and
November because, quite simply, there are no such days in
these months. Similarly, the 30th of each month will not
appear in February and 29th will not appear in the same month
unless it is a leap year. The program will warn you of
this if the date that you entered are the ones mentioned
Before you exit the entering of dates section, the program
will ask you whether you would like to enter more dates to
remind. Entering "Y" will repeat the process, and "N" will
take you back to the Main Menu.
* * * *
(B). View/Edit entries:
Notice that if you have just finished entering dates to remind
and getting back to the main menu, the highlight bar now
rests on the view/edit selection. You see, the program knows
that if you are just finished entering dates to remind, it is
unlikely that you will go right back to it to enter more
dates to remind. One may now view/edit the entries that one
has made before and delete any outdated entries if desired.
By pressing the (B). View/edit entries selection, one will
get into the editor mode and all of the entries contained in
REMIND.DTA will now be displayed on screen. Depending on how
long the list of dates are, one may press the or
keys to view the entire file. If you see any
entries that are out of date, you may delete that entry by
first using the arrow keys to place the cursor under that
entry and press . The outdated entry will disappear
and the rest of data file will automatically scroll up one
line to fill in the void. You may delete as many entries as
needed to keep your data files clean and up-to-date. When you
are done, pressing will save the changes and exit or
pressing will simply exit without saving the changes.
A beep will sound when you save changes to let you know that
the file is now saved.
It is best to keep your data file up-to-date from time to
time (so they won't come back next year) although even if you
have many entries in the data file, it will not appreciably
affect the speed of program execution. For the birthday
entries, it is best to leave them there permanently so they
will come back year after year.
The editor does contain one known limitation in that it will
work only if you have less than 400 entries in the REMIND.DTA
file - more than adequate for most needs. If you do not use
the editor, however, you may have as many entries as you have
disk space for them. Since REMIND.DTA is written in ASCII
format, one may also use any ASCII editor to edit the entries.
If you are going to use an outside ASCII editor to add entries,
please make sure that you use the same format of data entry as
the program uses.
* * * *
(C). Consulting Calendar:
This is the part of the program that is most fun to run.
It is not only a perpetually accurate calendar WITH holidays,
it is also an accurate historical chronicle on a small scale.
It will even tell you when AND how to adjust your clock for
Daylight Savings Time as well as tell you when it is time to
vote (no, it will not tell you HOW to vote.) In short, this
is the only calendar that you will ever need for the rest of
When you enter the calendar, the current month will be
displayed with the current date flashing. The major holidays
for the current month will be displayed at the bottom in a
box. The holidays are accurate even if they fall on
different dates from year to year (such as Thanksgiving,
Mother's Day, Memorial Day, Etc.) By pressing one
can view the months ahead and pressing one can
view the months past. Pressing the key will
advance the year by one and key will subtract
the year by one. Pressing the <+> key will advance the years
by 10 and pressing the <-> key will subtract the year by 10.
Pressing the key at any time will take you back to the
current month/year. If you forget the above instructions,
pressing will always bring you help.
Pressing at any time will take you back to the main
Notice that I have also included the dates of Daylight Saving
Time changes for each year (in April and October.) They are,
of course, accurate perpetually (unless Congress changes the
If the calendar being displayed is within one year forward of
the current month, pressing the < X > key will show the dates
that are marked for reminding (little dark triangles next to
the dates, if you have a color monitor,) If you are not within
one year of the current date, a beep will sound. Of course,
you must enter some dates first before you can demonstrate this
feature. Once the dates that are marked for reminding are
displayed, the program will prompt you for the date that you
would like to examine. Simply enter the date desired
(numbers only) and the program will display the reminder for
that particular date in the window at the bottom of the screen.
This serves to give the user a "sneak preview" of upcoming
reminders. Press the key when prompted will allow you
to exit this preview function of the calendar. Note that
entries made through the "special functions" screen will not
be displayed on the preview section (I am working on it,
perhaps for the next program update.)
* * *
Author's Note: For some unknown reason, the "X" function of
the calendar can conflict with certain TSR programs. When this
happens, one may not be able to exit this function by pressing
the [Esc] key, thus forcing the user to reboot.) I have
experienced this "bug" with the disk caching program that came
with PC Tools. If you encounter similar problem with your
program, try the following solution proposed by one user:
add the following line to your AUTOEXEC.BAT file:
* * *
For your amusement, I have made the calendar also into a
historical chronicle of sort. By "going back in time" using
the or keys, any important world
events that happened at that time in history will be
displayed at the bottom. Try to find the dates for the
sinking of the Titanic, or the bombing of Pearl Harbor, or
the battle of Chancellorsville, for example, and relive the
history. Although this feature has nothing to do with the
main purpose of this program, it does add a historical
perspective to the calendar and, perhaps, a smile to your
Once you have finished running ENTERDAY.EXE, you may then
press to exit to DOS. A data file, REMIND.DTA, will
be automatically created to store the data that you have
Now you are ready to run REMIND.EXE...
As mentioned earlier, this is the program that will actually
display the reminders to you when you run it with your
AUTOEXEC.BAT or any batch files that you use daily. When it
is run, it will first access your computer's internal
clock/calendar to obtain the current date. Then it will check
the REMIND.DTA file for any matching dates. If a date matches,
a window will pop out, giving you the all-important reminder,
or else the program will simply end inconspicuously, allowing
you to proceed with your work.
There are two ways to run REMIND.EXE: if you enter "REMIND"
on the command line without added parameters when invoking
REMIND.EXE, the program will always display any reminders
that you may have for the given day every time REMIND.EXE
is run. Also, all bells, whistles, and music will be heard.
This is the "default mode."
You may, however, choose to run REMIND.EXE with added
parameters to switch ON or OFF certain special functions.
There are two command line parameters one may enter when
running REMIND.EXE. The first command line parameter,
consisting of a single letter "D" or "S" (case insensitive,)
typed immediately after entering "REMIND" (separated by a
blank space,) allows for either "Daily mode" or "Choice mode"
operation or REMIND.EXE:
Typing a "D" as the first command line parameter will switch
ON the "Daily mode," which will let the program know to
display any active reminder(s) for the current day only once,
between the hours of 6:00 A.M. and midnight, regardless of how
many times you run REMIND.EXE during this period. This is a
useful feature to turn ON if you turn on and off your computer
or reboot many times a day. With this feature, you will not
be bothered by repeated and redundant reminders if you execute
REMIND.EXE through your AUTOEXEC.BAT file.
Between the hours of midnight and 6:00 A.M., REMIND.EXE will
display all active reminders each time it is executed, that
is, the "D" command-line option will have no seeming effect
on REMIND.EXE. I have chosen 6:00 A.M. as the starting point
of this feature because I, like many of the users of this
program, tend to work on my computer late into the night and
into the wee hours of the morning. If I, for some reason,
reboot my computer sometime after midnight, I will be
presented with the new day's reminders through REMIND.EXE
which I may entirely forget after a night's sleep. The
midnight to 6:00 A.M. "window of reprieve" is to insure
that the reminders will be presented once more if I
come back to work on my computer at, say, 10:00 A.M on
the same day, when my head is much clearer!
For this feature to work properly, you need to make sure
that your computer's internal clock is set to the correct
time. Please consult your DOS manual if you do not know
how to set the time on your computer.
Note that an unobtrusive low tone "beep" will sound to let
the user know that currently active reminder(s) are being
bypassed with subsequent running of REMIND.EXE in the same
day. There will be no beep if there are no currently active
reminder for the day. (A new file, LASTRUN.DAY, will be
generated to let the program know that the reminders have
been received once already during the time period that the
"D" option is in effect.)
If, however, you enter a "C" as the first command line
parameter, the "choice mode" will be switched ON.
With this feature, REMIND.EXE will execute each time you
run it, but before it flashes the reminders on screen, it
will display an additional screen informing you that you
have reminders waiting and that you have a choice of
either viewing or ignoring them. If you choose to view
the reminders, press the [Enter] key and all reminders
for that day will be flashed on the screen one by one
as usual. If you choose to ignore the reminders,
press any key other than the [Enter] key will bypass
the reminders and take you back to DOS.
For obvious reasons, one cannot have "daily mode" and
"choice mode" ON at the same time.
The author recommends that either the "daily mode" or the
"choice mode" be turned ON when executing REMIND.EXE
through your AUTOEXEC.BAT file:
The "daily mode" is a good feature to turn ON if you are
the only person using the computer. If, however, you
share computer with others, you may consider switching
ON the "choice mode" instead, so no one will miss anything.
Switch these features OFF, however, when running REMIND.EXE
other than through your AUTOEXEC.BAT such as when checking
for forgotten reminders sometime during the day (see the
discussion of R.BAT earlier.)
The daily and choice mode features may be switched OFF
by either not switching them ON (the default,) or by
entering a letter other than "D" or "S" as the first
command line parameter. For the sake of uniformity,
the author recommends that one enter the letter "X"
to switch OFF the above features. You need to do this
only if you are going to enter a second command line
parameter, as discussed below, and you wish to disable
the "daily" and "choice" modes.
A second command line parameter allows for silent operation of
REMIND.EXE. When switched ON, all bells, whistles, and music
heard normally in REMIND.EXE will be suppressed, allowing one
to receive his/her reminders in complete silence.
To turn this switch ON, type the letter "S" as the second command
line parameter after you have entered something for the first
command line parameter. Note there must be a space separating
the first and the second command line parameters. The author
suggests that you turn this feature ON if you do not wish to
disturb your fellow co-workers while receiving your daily
reminders at the office.
The following is a list of the possible command line choices
used to invoke REMIND.EXE (case insensitive):
(1). "REMIND" default mode--all active reminders
will be displayed with each running of
REMIND.EXE and all sounds are not
suppressed. All music will be heard
(daily mode, choice mode and silent
mode not activated)
(2) "REMIND D" daily mode ON, choice and silent
(3). "REMIND C" choice mode ON, daily and silent
(4). "REMIND D S" daily mode ON, silent mode ON,
choice mode OFF
(5). "REMIND C S" choice mode ON, silent mode ON,
daily mode OFF
(6). "REMIND X S" daily and choice mods OFF,
silent mode ON
REMIND.EXE has many built-in reminders that will automatically
pop out when the dates are right. Virtually all of our major
holidays are included. The holidays that are includes are:
New Year's Day, Valentine's Day, Mother's Day, Father's Day,
Christmas, Thanksgiving, Memorial Day, President's Day,
Martin Luther King Jr.'s Birthday, St. Patrick's Day,
Independence Day, Labor Day, Columbus Day, Halloween, Election
Day, Veteran's Day, and Easter. The holiday reminders will pop
out on the day of the given holiday and they should be
perpetually accurate even if the holidays fall on different
dates from year to year. Try experimenting by changing your
computer's internal clock/calendar and see these holiday
reminders pop out. On Christmas, New Year's Day, and
Independence Day the program will also play a nice little
tune to help you celebrate (that's yours truely on the
keyboard!) The program will also remind you automatically
one day prior to St. Patrick's Day to remind you to wear
green the next day (something that I always forget until
I wrote the program!) Also, for Mother's Day, Father's Day,
and Valentine's Day, the program will start reminding you
a few days in advance so you will have time to buy gifts
or mail cards.
The program will even remind you to set your clock when
it is time to switch to/from Daylight Saving Time. You
will never suffer the embarrassment of arriving to work
an hour late again!
Starting with version 5.0, all the functions of ENTERDAY.EXE
may now be accessed through REMIND.EXE while the latter is
running. After the last reminder of the day has been posted,
the user is given a choice of whether to access the data file
at that time (for viewing, adding, or deleting reminder entries),
or to proceed without doing so. A simple keystroke is all that's
required ([F1] to access the data file or any other key to
Finally, what to do for the days that you do not turn on
your computer? Well, I guess you can always resort to the
time-honored string-on-the-finger trick!
A Word About Registering
I am not a computer programmer by trade and I do not expect
to make a bundle by writing this program; however, this program
does represent literally hundreds of hours of work on my part,
often late into nights and on weekends. Although it was a lot of
work, it has given me great pleasure in seeing the program come
to life from a germinal idea a few months ago; besides, I learned
a few things about computer programming during the process.
In order to encourage people to register, I thought long and
hard about a "registration reminder" that pops out randomly
at, say, every 10th or so running of the program; however, I
decided against it because it would be too cynical a thing
to do. I hate programs with "copy protection" and
"automatic delaying," or any other annoying features as
much as you do and I certainly do not approve of "cripplewares"
--those softwares with some features missing until you register.
The version you are getting here, therefore, is a fully-functioning
version with nothing held back--the same version as the one
that I use everyday on my own computer.
By registering, you will be letting me know that there are a
few honest people out there who care about quality programming
at low cost, who care about the concept of shareware and the
concept of fair-play, and who appreciate my efforts in bringing
this program to the general public. A little encouragement
from satisfied users from time to time can go a long way in
providing incentives to further improve the program.
When you register, you will also receive from me a disk
containing the latest version of the program, if what you have
is not already the latest version. Please specify the disk
format desired. I also have been known to throw in a few
"freebies" into the deal from time to time (how does a
free-standing, memory-resident version of the calendar found
in ENTERDAY.EXE sound?)
I hope you have as much fun using this program as I had
writing it. Enjoy!
Robert M. W. Tsou
28441 Cedarbluff Drive
Rancho Palos Verdes, CA 90274
September 1, 1991
DISCLAIMER (Please Read)
The author does not give any warranty, either expressed or
implied, to anyone using this program. In no event shall
the author be liable for any damages, including loss of
profits or anticipated profits, lost savings, or other
incidental or consequential damages arising out of the
use or the inability to use this program. The program
comes "as is" and it is the user's responsibility to
determine whether the program is suitable for his/her
computer system and software needs.