Xref: utzoo rec.humor:18616 rec.humor.d:1569 comp.misc:4966 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!bionet!agate!saturn!ucscc.UCSC.EDU!haynes From: haynes@ucscc.UCSC.EDU (Jim Haynes) Newsgroups: rec.humor,rec.humor.d,comp.misc Subject: Re: Looking for Computer Folklore Message-ID: <6255@saturn.ucsc.edu> Date: 8 Feb 89 04:56:51 GMT References: <7143@pyr.gatech.EDU> <532@geovision.UUCP> <4575@tekgvs.GVS.TEK.COM> <799@n8emr.UUCP> Sender: usenet@saturn.ucsc.edu Reply-To: haynes@ucscc.UCSC.EDU (Jim Haynes) Organization: California State Home for the Weird Lines: 44 Time for some DEC stories. A lot of the PDP11s had optional floating point hardware. The assembler program had an option flag so that it could either assemble floating point instructions or assemble calls to a library of software routines simulating the floating point hardware. Well, once upon a time they released a set of diagnostics for the floating point hardware that had been accidentally assembled using the software simulation flag, so they didn't exercise the hardware at all... We had a system start crashing frequently, trashing the system disk in the process. After a lot of very painful examination by hand of disk contents we concluded that it was occasionally missing a word transfer, or doing an extra one, depending on the direction of transfer. This we traced to a bad Unibus receiver chip that was allowing a glitch to get through as a legitimate pulse. The annoying thing was that the disk diagnostic program never detected the problem, because it wrote and read back a block of identical words, and didn't clear the read buffer between reads. When every word looks like every other you don't notice the missing or extra ones. Another G.E. story: nothing wrong here, just an interesting consideration. In MULTICS the customers wanted the calendar time kept in something like microseconds since midnight, January 1, 1901. We had a whole rack of equipment just for this clock, which used something like a 72-bit register. Some of the most significant bits of the clock wouldn't change for years after it was built; so we had to have logic that would copy the value to another register, flip all the bits, verify that they flipped, then flip them all back and verify that they all flipped back. I had occasion to look at the date routines in an early version of the operating system for the Burroughs 6500. Not only did it take care of leap years every four years; it correctly handled the exceptions for centuries and millenia. If you're going to write software that is correct, you might as well write it to be correct for the next few thousand years. I guess you don't worry about the extra computation if it's only executed once a day. haynes@ucscc.ucsc.edu haynes@ucscc.bitnet ..ucbvax!ucscc!haynes "Any clod can have the facts, but having opinions is an Art." Charles McCabe, San Francisco Chronicle