From:	MERC::"uunet!WKUVX1.BITNET!goathunter"  4-AUG-1992 00:03:41.28
To:	fsupdate@WKUVX1.BITNET
CC:	
Subj:	WKUVX1 FILESERV: REMIND added

There's been some recent interest in comp.os.vms about reminder
utilities.  I have one I wrote in 1986 that needs a rewrite, but I've
been planning it for six years, so I thought I might as well just go
ahead and release it as is, warts and all.  I've used it every day for
the last six years (yes, I need reminders to tell me to eat lunch and
go home---though I still sometimes forget).  The AAAREADME.TXT is
included below my sig.

TO get it via anonymous ftp from ftp.spc.edu, you'll need:

        [.MACRO32]LZDCMP.EXE
        [.MACRO32.SAVESETS]REMIND.BCK_Z

TO get it via e-mail, send the command SEND REMIND in the body of a
mail message to FILESERV@WKUVX1.BITNET.  It's written in MACRO-32, so
no strange compilers are required.

Hunter
------
Hunter Goatley, VMS Systems Programmer, Western Kentucky University
goathunter@WKUVX1.BITNET, 502-745-5251

-------------------------------------------------------------------------
REMIND is a simple, yet effective, reminder utility for VMS.  It runs as a
detached process that sends one-line reminders to users.  Messages for a
user are normally broadcast to all terminals logged in under that username;
if the user is not logged in, the reminder is mailed to the user.  The user
can optionally have REMIND set his DCL prompt to the reminder text.

I originally wrote REMIND as a student in 1986; I've been using it ever
since, and always meant to rewrite it---but we all know how that goes.
So please forgive the code---its age shows in places.

To schedule a reminder, the following command is executed:

        $ REMIND "date-time" "Reminder text"

The following qualifiers can be specified:

    /MAIL      - Always MAIL message text
    /NOMAIL    - Do not MAIL message text
        By default, msg is mailed if user not logged in
    /DISPLAY   - Broadcast message text if user logged in
    /NODISPLAY - Do not broadcast message text
    /TERMINAL  - Broadcast to a specific terminal
    /PROMPT    - Set the DCL prompt to message text
    /PERM      - Repeat reminder
        /PERM=DAILY    - Set reminder each day
        /PERM=WEEKLY   - Set reminder each week
        /PERM=MONTHLY  - Set reminder each month
REMIND/LIST [date-time]  - List set reminders
REMIND/DELETE [date-time]  - Delete a reminder

Users with SYSPRV can set, delete, and list reminders for other users.

To install REMIND, simply execute BUILD_REMIND.COM, define the logical
REMINDIR to point to the director containing the file REMINDER.DAT, edit
REMIND_START.COM to point to the directory containing the REMIND.EXE and
REMIND_DET.EXE images, and execute REMIND_START.COM.  To set up the REMIND
command, simply add a line like the following to your LOGIN.COM or SYLOGIN:

        $ remind :== $dev:[dir]REMIND.EXE

There is only one bug that I'm aware of: setting a repeating reminder for
the 31st of the month isn't handled right for months with fewer than 31
days.

The messages are "encrypted" in the REMINDER.DAT file, but the encryption
leaves a lot to be desired---that's why REMIND_START installs REMIND.EXE
with SYSPRV.

You should periodically clean up the REMINDER.DAT file by stopping the
REMINDER process and executing a command like the following:

        $ convert/fdl=reminder.fdl reminder.dat reminder.dat

Comments and suggestions are welcome.

Hunter
------
Hunter Goatley, VMS Systems Programmer, Western Kentucky University
goathunter@WKUVX1.BITNET, 502-745-5251