SI
SI
discoversearch

We've detected that you're using an ad content blocking browser plug-in or feature. Ads provide a critical source of revenue to the continued operation of Silicon Investor.  We ask that you disable ad blocking while on Silicon Investor in the best interests of our community.  If you are not using an ad blocker but are still receiving this message, make sure your browser's tracking protection is set to the 'standard' level.
Technology Stocks : Discuss Year 2000 Issues -- Ignore unavailable to you. Want to Upgrade?


To: John Mansfield who wrote (1083)2/21/1998 2:28:00 AM
From: John Mansfield  Read Replies (3) | Respond to of 9818
 
Would you attend a school of architecture that planned a building that would fall down in 26 years?

'Joe Guy's Y2000 Story

Y2K Fun in 1974 by Joe Guy - October 19 1996
------------------------------------------------------------------------

I have been reading a great deal in the press lately about the Canadian Computer industries struggle to find good people. "There is such demand and we cannot fill it" they say.

I will tell you why they cannot fill it.

One day in 1974 I was sitting in a Systems Analyst's class at Humber College. Systems Analysis is the art of designing the actual hardware and software of the system that is used by the final user. This is a lucrative and prestigious position. The hierarchy in the ProGeek business goes like this: Systems Analysis, Programmer, Operator. They get paid in that order, too.

There are exceptions. John Carammak, who programmed Doom and Quake, collects Ferraris and certain operators can write their own six-figure ticket.

Still, I was determined to enter the field of programming even though it traditionally paid less than System Analysis. I chose this path became I love programming. I love it a lot. I wanted to make a living doing what I loved. I found systems analysis boring at the time, and today I regard it as something that must be done and gotten over with.

The teacher in this class was laying out a file record diagram on a blackboard. A file record is what the data is stored in in a data file. For instance, they allocate 40 characters for a first name, another 40 for a last name 60 for an address etc. The record has a certain finite length. The file is made of one record after another. Sometimes there are millions of them. When anyone enters data on you in a computer, at least one data record is either being created or updated.

When the computer looks for a data record, it cannot run through all of them! It would take too long. It uses an index to order and point to the data records and looks through the index at an advanced speed. To give you an idea as to how powerful this is, if you have a billion records on a hard disk finding one selected at random would take an average, on the long run, of 500 million record examinations each time. This would take minutes every time you wanted a record, and would put great wear on the disk drive. That is not acceptable.

But with an index that sorts the data records into some specified order, say last name, the computer would go through the index like you would use a phone book. You open the book in the middle, if the name you are looking for is in the left section, let the right section fall and open the left in the middle. If the name is in the right section you drop the left one and open the right one in the middle. Repeat as necessary until you have your name. Fast isn't it? Now you know why phone books are in alphabetical order.

With one billion records your 'binary search' index would find the record (or determine it wasn't there) in a maximum of 32 record examinations. Not 32 million. Just 32. With a modern computer you couldn't get your finger off the Enter key before your data was on the screen. And it's not even the best way to do it! That's why indexes are here to stay.

Back to the class of 74. The teacher was putting the date fields on the blackboard. "Two characters for the year, two characters for the month and two characters for the day"

Now - one of the reasons date fields even exist is to build indexes from them. In order to do this you have to be able to order them, that is, to be able to say that one date is greater than, less than or equal to another.

Today's date is, in this field form, 971019. This six-digit number is smaller than tomorrow's date, which will be 971020. So the index works.

It works right up until 1999 when the last day will be 991231 and the next day will be 000101. 101 is not greater than 991231. The index does not work anymore. The system will crash on January 1, 2000. So I raised my hand.

"Mr. H-----?"

"What is it Smith?"

"What happens when the century changes?"

There was a moment of stunned silence - then the class burst into incredulous laughter. How could anyone be so stupid? Everyone knew that the century would last forever.

Mortified, I shut up.


Now here's the point of this lecture. EVRYONE IN THAT CLASS KNEW HOW AN INDEX WORKED. I learned how an index worked in that class! I wrote the previous words so now YOU know how an index works!

YET - the man who taught me how an index worked in front of a room full of people who knew how an index worked was designing an index that would not work in 26 years. And he knew it. And he still did it. And no one seemed to 'get it' that this was bad.

Would you attend a school of architecture that planned a building that would fall down in 26 years? Our work has to last forever! Why can't they see that? Why is there no vision?

This is my seminal memory from Humber College.
<snip>'

---------

webhome.idirect.com