
                    Programming/using OS/2 REXX      (echo)

                 Saturday, 23-Oct-1999 to Friday, 29-Oct-1999

+----------------------------------------------------------------------------+

From: George White                                      22-Oct-99 10:09:05
  To: Jonathan de Boyne Pollard                         24-Oct-99 10:30:07
Subj: Leap year rules

Hi Jonathan,

On 20-Oct-99, Jonathan de Boyne Pollard wrote to Steve McCrystal:


 SM>> I remember seeing in here recently a set of rules for determining
 SM>> if a given year is a leap year.  We had a discussion about it at
 SM>> work yesterday, and there was considerable disagreement (not
 SM>> surprising!) I came home and looked for the text (I was SURE I
 SM>> had saved it) but the topic has scrolled out of my Fido message
 SM>> base, and IF I saved it I surely can't find it.

 JdBP> Julian Calendar ---------------

 JdBP> (Created at the order of Gaius Julius Caesar and adopted around
 JdBP> 8BCE.)

Actually adopted in 46 BC, but leap years were implemented incorrectly
(the priests responsible put one every 3 years, not every 4) until 9
BC, when the error was spotted. There were then no leap years until
8 AD, when the every 4 years rule was implemented correctly.

 JdBP> A year is a leap year if evenly divisible by 4.

 JdBP> All '00 years, including 1900 and 2000, are leap years under
 JdBP> this system.

 JdBP> isjulianleap: procedure parse arg y return (y // 4) == 0

George

--- Terminate 5.00/Pro 
 * Origin: A country point under OS/2 (2:257/609.6)

+----------------------------------------------------------------------------+

From: Steve McCrystal                                   24-Oct-99 07:39:26
  To: Jonathan De Boyne Pollard                         25-Oct-99 17:43:04
Subj: Leap year rules

;
In a msg of <Wednesday October 20 1999>, Jonathan de Boyne Pollard writes to
Steve McCrystal:
;
Jonathan,

 JP> Of the three, the Revised Julian Calendar produces a Mean
 JP> Calendar Year length that is closest to the current length of the
 JP> Mean Solar Year.  Keeping the two the same length is, of course,
 JP> the whole point of the intercalation of extra days ("leap days").

Thanks!  I *know* I saved it now... several times!

-[Steve]-

--- GoldED/2 3.0.1/#
 * Origin: -[Steve's Place]- New Berlin, WI (FidoNet 1:154/731.2)

+----------------------------------------------------------------------------+

From: David Noon                                        24-Oct-99 20:33:00
  To: Francois Massonneau                               26-Oct-99 11:19:04
Subj: FrontDoor/Mailser and Re

In a message dated 10-22-99, Francois Massonneau said to David Noon about
"FrontDoor/Mailser and Re"

Hi Francois,

FM>I changed the "if files.0 > 0 then", to "if files.0 == 0 then"

That line was part of the original code, I think.

FM>Is it correct ?

I would use = rather than == to compare the value to zero.

    if files.0 = 0 then

FM>2) As this Rexx script must be run from an errorlevel created by
FM>Frontdoor, then give the hand back to it, I changed the beginning and the
FM>end that way : I added that :
FM>SemaFile = 'inetmail'
FM>SemaMailer = SemaforeDir||'\'SemaFile

I would use a concatenation operator (||) :

   SemaMailer = SemaforeDir||'\'||SemaFile

FM>I removed the "do forever" at the beginning and the "end" at the end of
FM>the script.

This means it will terminate after one poll. Also, the conditional leave
statement (mentioned above for its IF part) will need to be changed to:

     if files.0 = 0 then
         exit 0 /* was leave */

FM>And finally I removed those lines :
FM>  call SysSleep SleepTime
FM>  call stream SemaMailer, 'c', 'open write'
FM>  call lineout SemaMailer, 'inetmail semafore file'
FM>  call stream SemaMailer, 'c', 'close'

So you are no longer using a semphore file.

FM>And put the following instead :
FM> /* Now it's time to create the semafore file your mailer is waiting */
FM>  SendHwaitSignal

This should be:

     address 'cmd' SendHwaitSignal

FM>3) At the end of the script, I saw you write two times (one before and
FM>one after the subroutine "StopDialler"), the following lines :
FM>  /* Reset elapsed time counter */
FM>  CALL TIME 'R'
FM>RETURN
FM>I suppose one is for the subroutine StartDialler, and the second one is
FM>for the subroutine StopDialler. Is it a code to give the time on line ?

It is part of that code.

There should be a TIME('E') call somewhere in the StopDialler subroutine
that should display the elapsed time.

FM>If so, where in the log file do I find it ??

FM>22 Oct 1999 08:32:54  Dialler disconnected after 0 seconds.

Here. For some reason the elapsed timer has been reset again, giving a time
of zero seconds.

FM>So the time on line is not 0 second, but about 8 minutes.

That would be about 480 seconds then. That is what should have been returned
by the TIME('E') call. Since there are 2 calls to StopDialler, the second
one should have the correct elapsed time logged.

FM>4) From time to time Injoy (the dialler), gives me problems as I said

FM>Is there a way to check what's going on with the dialler,
FM>restart the BBS node ?

I am not sure how much information InJoy offers to the outside world. I
don't use that dialler, so I know nothing about it.

FM> Maybe the Rexx script could start another
FM> rexx script to check what's going on ??

Not a good idea. You would then need this REXX program to monitor the other
REXX program. If InJoy can be monitored at all, you can do it from within
the current REXX program. Does InJoy write its output to stdout, allowing it
to be redirected? If so, you can use a REXX queue for InJoy's output and
examine the queue from within the REXX program.

Regards

Dave
<Team PL/I>
___
 * MR/2 2.25 #353 * I'm so broke I'm thinking of starting my own government...

--- Maximus/2 3.01
 * Origin: Air Applewood, OS/2 Gateway to Essex 44-1279-792300 (2:257/609)
209/7211
103
724/10

+----------------------------------------------------------------------------+

+============================================================================+
