View Single Post
  #141   Report Post  
Mark & Juanita
 
Posts: n/a
Default

On 31 May 2005 20:54:07 GMT, Dave Hinz wrote:

On Tue, 31 May 2005 16:27:19 -0400, Norman D. Crow wrote:

I wasn't in the software end of the business, but 27yr. with NCR Corp. as
large scale system tech. produced a lot of funnies. First one was an
insurance company, program running solid for about 3yr. suddenly starts
blowing up, always at the same address. Turned out it was a situation which
original programmer knew could occur, but had never debugged!


You mean like the 9/9/99 date bug that I personally wrote into more than
a few applications? I mean, come on, who in their right mind would
still be using this POS in 15 years...


You mean you broke one of the first rules of programming? i.e, don't use
conditions that are possible, even if highly improbable, to terminate
loops. Or at least it was one of the first ones in our intro to
programming course when I was in college 20+ years ago.

My first assignment out of college was designing and building automated
test equipment. I was assigned to a "senior" engineer, I think he had
around 8 years of experience :-) My assignment was writing the code to
control an eprom programmer, he was designing, building, and designing the
code for a much more sophisticated interface panel, designed to serve as an
interface between the system being tested and a controlling computer. He
had someone writing the assembler code for this panel to his design. When
I finished my assignment I wound up helping him debug the code and hardware
for the interface panel. While I had taken a modular, test a step at a
time approach to my design, this more senior guy took a more wholistic
approach, he had the first interface panel hardware assembled, did a
cursory visual power signal check, blew all 30k bytes of assembler code
into eprom, then turned on the panel expecting to get some sort of readout
on the front panel -- he didn't. It took several months of time to work
through the hardware errors before we even got to the point of having the
software start functioning.

One of the funniest parts of the assembler code, he had a module of code
that had the comment, "should not have gotten here, set a flag so we don't
get here again".

After he left the company, I inherited this monstrosity -- I convinced my
supervisor that it would be cheaper and better for all involved if I just
started over and redesigned the whole thing, hardware, code and all from
the ground up. My supervisor agreed. The resulting system did *not* have
any places where I set a flag to make sure I didn't get somewhere I should
not have gotten in the first place.




...and oddly enough, in September '99, I got a phone call and found out.
It was OK though, the guy wasn't _in_ his right mind. "Hey, your
program broke!" "Um, OK, can you be less vague please?" "Yeah, this is
(name that rhymes with, oh, let's say, 'Dennis'). That program you
wrote for me just died."
"Let's see - that was....1983? 84? I think the warranty period
is over. My consulting rate these days is..."

The conversation was over, just like the previous time he called me for
immediate help. On Easter Sunday. He doesn't call me any more.




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

If you're gonna be dumb, you better be tough

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