[3474] in Central_America

home help back first fref pref prev next nref lref last post

New quotes for Tue Jul 9

daemon@ATHENA.MIT.EDU (Initializer.SysDaemon)
Tue Jul 9 01:38:21 1991

Date: Tue, 9 Jul 91 01:37:59 EDT
From: root@charon.MIT.EDU (Initializer.SysDaemon)
To: ca-mtg@bloom-beacon.mit.edu



---------------------------------------------------------------------------
dalippe (David A Lippe):

Hey, watch where you go sticking your finger!




---------------------------------------------------------------------------
eichin (Mark W. Eichin):

Plan - to find something to do with my hands...


------------------------------

Date: Sat, 6 Jul 91 11:26:50 PDT
From: Martin Minow  06-Jul-1991 1428 <minow@ranger.enet.dec.com>
Subject: On finding a coding bug in the Time Server Daemon

While reading through the source code to the Berkeley Time Server (which runs
in the background of a group of Unix workstations and keeps their system clocks
adjusted to "network average time"), I discovered an interesting code sequence
in the networkdelta function.  That function takes a set of time delay
measurements and computes the network average time change.  I.e., it is the
core of the time server algorithm:

	/* this piece of code is critical: DO NOT TOUCH IT */
	...
		i++
		if (i = j)
			j++;
	...
Those of you familiar with C programming will recognize the classic error
(I make it frequently) of writing "i = j" (assignment) rather than "i == j"
(equality test) in an if statement. Both are legal in this context: "i = j"
meaning "assign the value of j to i and then test for inequality to zero."

Some reflections:

-- Burying an erroneous statement in a paragraph that says "don't touch"
   makes matters worse. I only found the bug when I went back to 30 year
   old "Math 295" tools of pencil and paper and walked through the
   algorithm one statement at a time to see how it worked.
-- The error will only manifest itself if one or more systems is wildly
   out of agreement with the other systems being served by the time daemon.
   I.e., it is a classic "normal error" in that it is triggered by some
   other error and makes matters worse.
-- The error results in an incorrect calculation of the network average
   time, which will be corrected (if anyone notices it) when the entire
   network is re-synchronized to a standard clock (several dial-up
   time standard clocks are readily accessible from a dial-up modem).
-- If Berkeley (the copyright holder) didn't distribute source code,
   I wouldn't have found the error. Instead, I'd have written my own
   procedure which almost certainly have been a poorer algorithm.
-- Code reviews -- having your software carefully reviewed by a competent
   outside consultant -- are useful. (What is the computer engineering
   equivalent of a pathologist?)
-- Beware of language constructions, such as C's "if (i = j)" that are
   error prone. Having once tried to add a warning for this to a C compiler,
   I can attest to it being extremely difficult: you want to warn on
   "if (i = j)" but not on "if ((i = j) != 0)"  Ultimately, I decided the
   cure (heuristics in a the compiler) might be worse than the disease.
-- "Beware of language constructions" is a warning to the programmer, and
   one that belongs in a "Manual of Programming Style."  It is an engineering
   statement, not one of "Computer Science."  I.e., it is at a different
   level of discourse than "beware of bubble-sorts."
-- My university sent me to a remedial writing course because I couldn't
   spell or distinguish between "who" and "whom," not to mention "that"
   and "which" -- should there be remedial programming courses, taught
   by writing teachers, that concentrated only on style?

It is possible to write quality bug-free software in error-prone languages
(just as it is possible to write poor software in languages that would prevent
"if (i = j)" errors).  However, I am beginning to suspect that this requires
the obsessive attention to detail of a contract lawyer, combined with the grace
of expression of an essayist.
                                                  Martin Minow

------------------------------


---------------------------------------------------------------------------
ermarsh (Eric R Marsh):



     The plan is to graduate and get a real paycheck as soon as possible.


             Well, if you really want to get a hold of Eric, try
           him in his office 3-443.  The phone number is 253-2349



---------------------------------------------------------------------------
honor (Andrew John Cassidy):

To be true to myself.
To eat.  Alot.

Thoughts to consider: 
Of all the people who have ever fingered me, you are now one.

honor@athena.mit.edu
honor@space.mit.edu

HUMPTY-DUMPTY WAS PUSHED!!!

favorite song: Forever Young (see /mit/honor/Quotes/forever_young)
(see also /mit/honor/Quotes/aging)

To reach me
-----------
in CA: 1138 Gilbert
       Hemet, Ca 92343-7910
       (714)-925-5188
in MA: (617)-262-7343
email: honor@athena.MIT.EDU
       honor@space.mit.edu


---------------------------------------------------------------------------
jcb (Jeff Bigler):

Seen on the morris@suvm.bitnet mailing list:

From: Jon Berger <batcomputer!ingres.com!jonb%CS.CORNELL.EDU@uga.cc.uga.edu>

> How many G pennywhistles and drums (of what type) does it take to be
> heard in a parade?  I know that one melodion is barely enough.

Uhhhhh...  three: two to play the tune and one to complain about how much
better they do it in Boston.


---------------------------------------------------------------------------
jdmarko (Jim Davenport):

 
Mail last read on Jul 3 15:37.
------------------------------
MOST RECENT LOGIN HISTORY: 
Logout from e40-008-12 : Tue Jul  2 16:39:48 EDT 1991
Login on e40-008-12 : Wed Jul  3 11:42:47 EDT 1991
Login on e40-008-12 : Wed Jul  3 15:30:52 EDT 1991
Logout from e40-008-12 : Wed Jul  3 17:02:32 EDT 1991
Login on e40-008-12 : Mon Jul  8 13:46:43 EDT 1991
Logout from e40-008-12 : Mon Jul  8 14:22:40 EDT 1991


---------------------------------------------------------------------------
jtkohl (John T Kohl):

searching, searching...


---------------------------------------------------------------------------
may (G. May Yip):


  		HOME: 7905 San Felipe Blvd #216
		      Austin, TX  78729
		      (512) 250-8071

		WORK: yip@asc.slb.com
		      (512) 331-3278



---------------------------------------------------------------------------
mein (Yu J Chen):

To graduate.  Else to open a fast food joint.




---------------------------------------------------------------------------
mjdaly (Mark J Daly):

Strat '78 Standings

Boston         9  3   -   .750
NY Yankees    16 11   .5  .593
Pittsburgh    13 11  2    .542
Houston        3  3  3    .500
Los Angeles    0  0  3     ---
Texas          6  9  4.5  .400
Baltimore      3  6  4.5  .333
Montreal       1  8  6.5  .111

LEADERS
-----------------------------------------------------------------
AVG                 | SLG                | OBA
Carter, MON  .455   | Murray, BAL   .833 | Carter, MON     .455
Cruz, HOU    .368   | Scott, BOS    .735 | Cruz, HOU       .455
Murray, BAL  .361   | Singleton,BAL .629 | Singleton, BAL  .455
Hargrove,TEX .343   | Rice, BOS     .612 | Hargrove, TEX   .439
Lynn, BOS    .320   | Cruz, HOU     .579 | Yastrzemski,BOS .382
                    
HRs                | RBIs            | Runs             | SB - CS
Murray, BAL      5 | Murray, BAL  16 | Lynn, BOS     10 | Bumbry, BAL  4-0
Rice, BOS        4 | Scott, BOS   10 | Rice, BOS     10 | Remy, BOS    2-0
Scott,Evans BOS    | Rice, BOS     9 |                  | Cabell, HOU  2-1
Grubb,Harrah TEX 3 | Grubb, TEX    9 |                  | Wills, TEX   2-1


--- End of Central America ---

home help back first fref pref prev next nref lref last post