Back to William's Archives.
Let's Talk About Limits:
September 30, 2002:
I recently had a very frustrating experience with my telephone.
All of a sudden my internet telephone numbers became busy. No
matter when I tried to log on, the lines were busy. I finally
suspected a software error and dialed one of the numbers over
a regular phone to listen. The line was not busy at all. What
I got was a canned operator interrupt with a message telling me
I must dial an area code to get that number.
Briefly, what happened is the phone company had laid an overlapping area code in the 248 area code zone. This meant that any numbers outside my local three digit prefix could no longer be directly dialed. Even though the numbers are in what is called the local calling area, I must now dial the area code. Some of the phones involved are only a few hundred feet from my home.
Now, I am sure that the phone company will claim they warned me about this change. I am also sure, if I had read all of the extra advertising garbage they slip in with my phone bill every month, I would have seen a warning in fine print somewhere. Right! So far as I am concerned, they did not warn me, they just heavy handedly did it.
They will also claim that the change was necessary to accommodate the customer base. I will contend that it is only necessary because of stupidity and dishonest within the telephone systems, all of them. What this is really about is unnecessary limits imposed by lazy dunderheads.
Throughout life we experience limits. It starts when we are children. Some of our first memories may be about the consequences of testing limits. I know I got whacked a few times before I understood that no meant no. Later we come to understand that some limits are necessary to give us a reasonably safe environment. This is good. Speed limits are nice. They provide penalties for fools who might otherwise kill us through carelessness. Many of our limits are for the control of carelessness or stupidity, which is the handmaiden of carelessness.
Thus, we tend to accept limits. However what many of us do not realize is that many of the limits imposed on us are completely unnecessary. They are the result of dull minded laziness. One such limit has to do with the phone number fiasco I recently experienced. I call it musical area codes. It's a bit like musical chairs where there are fewer and fewer places to come to rest. In the area code version, there are fewer and fewer phone numbers available for an ever growing customer base.
Why? because the stupid phone companies are avoiding the obvious necessary step. Sooner or later, they will have to add at least one more digit to the ten digit numbering system. In the meantime, they will jerk us around as long as they can to keep the year end bottom line and their ever precious bonuses. Why can't they just add the digit? Because it will cost a great deal of money to add one digit.
It seems, the telephone dialing system is very rigid and unadaptable. I don't believe it had to be that way. The truth is, it is simply much easier to build a rigid system than to design a dynamic system. So, because system designers are no more clever that the rest of us, they build rigid systems. For a rigid system, all we must do is decide, in advance, the maximum capacity of the system. Then we can design and build a fixed or rigid system to handle that much and no more.
In a dynamic system, you don't need to make any assumptions about capacity. You simply allow for infinite expansion. There is really no reason to do otherwise. The only difference is, a dynamic system must really be designed instead of just built. For example, a dynamic telephone number system must have a way to tell when a set of digits was completely entered, be it ten or eleven digits. It would also need rules for handling a number based on the number of digits in the number.
Trust me, as a computer scientist in a previous incarnation I know these things are possible. They do require planning, careful design, and thorough testing. The beauty of such dynamic things is they usually are less bulky and cumbersome that their rigid alternatives. Properly designed, they will require less hardware or software to function. However, the truth is it is much easier to build a rigid system.
One very simple lazy way to build a rigid system is with an allocation table. This is about what is sounds like. A system is designed around a table of fixed length where information can be stored or looked up. It is completely un-expandable and unadaptable. I suspect that the telephone dialing system is an electro mechanical version of an allocation (or look up) table.
Another company which is very good at designing rigid table driven systems is Microsoft. Since their first operating system, they have used allocation tables to assign hard disk space. The first one was called file allocation table 16 or FAT16. It was an allocation table which allowed for disk sizes of 2 gigabytes (GB). I sure most people will realize how short sighted that was.
Well, Microsoft is a slow study. Their next nonsense was another allocation table system called FAT32. It allowed for hard drive sizes of up 32 GB. That did not work for long. So finally, I was installing Microsoft XP on my new machine. I noticed that I would have to use NTFS to accommodate my 80 GB drives. NT is their commercial server operating system. FS means files system. Hence, NTFS. I thought, great, it's a file system not an allocation table. They finally have a dynamic solution. I was wrong. They just moved the limit up again. Sooner or later it will jump out and bite us.
I can remember when computer gurus used to wear white lab coats and work in closed secret rooms and everyone thought they were kind of like gods. Then we began to discover that most of them are quite stupid, lazy, and dull minded. The first inkling we got of this was with the zip code fiasco. The postoffice wanted to change the zip code but found that it was not possible. there was too much software out there which simply could not adapt to a larger code. It had been programmed with a 5 digit zip code.
A great number of the limits imposed on us are unnecessary.
They come out of dull minded laziness of people who won't bother
to think outside of the box. We expect limits and we accept them.
The bad part is, we often accept limits which are unnecessary.
There is always an excuse like, how were we to know it would get
so large? The real questions are, why did you impose an unnecessary
limit? Why does it matter how large it gets? Why didn't you design
a dynamic system?
Back to William's Archives.
|
|
|
|