Questions asked by Visual Basic students at Saddleback College
By Greg Utrecht c 2001
The origin of computers
Computers began long ago, not with French mathematicians and
their girlfriends, but with industrious business concerns,
engineers and scholars. A computer was not a fancy mechanical
contraption made with gears designed by someone named Pascal and
programmed by someone named Ada, as you may have heard
A computer was a woman whose job it was to compute numbers. By
the time of the Manhattan project computers were used to
calculate the fine numbers needed to engineer the quantum
mechanics of nuclear reactions. One woman would specialize in
long division, another would do squaring of numbers, another
specialized in multiplication. Mathematics problems were
divided into steps based on some fancy ideas invented by Newton
and this guy Raphson, and programmed onto cardboard sheets and
passed around from one computer to another.
Eventually the computers finished their work and the problem was
solved. The skills required to be a computer were in high
demand. Many of the academics prided themselves on their ability
to approximately compute difficult math problems, such as the
precise area of a certain circle, or raising some large number to
its third power, its cube. One well known mathematician is said
to have been able to multiply 8 digit numbers in his head by age
8. The Mozart of computing.
At the Manhattan project this same mathematician took some of the
math problems back east with him to the University of
Pennsylvania and they ran the numbers through a new electrical
version of the computers. Made out of vacuum tubes and telephone
switches. The vacuum tubes got the answer right. The people
back in New Mexico said their computers were just as fast - they
set up a test - and tubes were not as good looking, they weren't all
that interested in any replacement for the computers they already
had. But the government did not give them a choice and that's
how computers got started. Computers are a replacement for the
women who used to do all the work.
How fast is my computer?
This is tough to know, partly because your computer does more
than it used to do. It is hard to compare the speed of your
computer to earlier room sized computers. One very simple way of
looking at it is that electricity only goes so fast, so your
computer really isn't any faster than the ones built in 1945.
But this answer won't do. One way would be to compare a year
2000 PC running Microsoft software with one from 1980 also
running Microsoft. In 2000 a new computer ran about 600
Megahertz. This is a fancy way of saying that the bits in the
bytes can switch 600 million times a second. In 1980 the bits
switched at 4,770,000 times a second which is about 126 times
slower than last years computer. The computer I'm writing this
with is about 63 times faster than the computer I used in 1980.
This amazing number makes me think how powerful this tool is for
me - I can do 63 times the work I did in 1980 - and I wonder how
I can keep up with it. But that's not true either. Computers
are faster than the earliest ones, but they are not so fast as 63
times faster than they were in 1980. They spend more time
keeping a graphical user interface, and managing multiple
devices, multiple tasks, and I can run a browser program on the
Internet, and play music and videos and games that weren't
available in 1980.
But most of the time I'm just writing, or using a spreadsheet, or
reading documents or web pages. I don't have to wait any more
than I did in 1980 for those things to load - it is certainly not
fast. They aren't 63 times faster or I couldn't keep up. As far
as I am concerned the computers today are just as fast as the
1980 PC, just fast enough that I can keep up. But they offer
more convenience, more resources and data, better entertainment,
are a better educational tool, and they are a lot easier to learn
how to use. But not faster. And they take a lot longer to turn
on.
Should I turn off my computer?
No. Well, Yes. It depends. This is a hard question. Next
question. Lets get back to this later.
Do you want me to close Microsoft Word?
Ahh. I can answer this one. It depends. For computer purists
the answer is a definite NO. Never close Word, never close any
application. As frightening as it may seem this is the correct
answer. Just leave it running, you will probably use it again
before you turn off your computer.
Mathematical attempts to solve problems like this end up saying
some very funny sounding things: the cost of memory is
decreasing ten times for every decrease in magnetic disk costs.
And so on. It is pretty interesting stuff and the best article
about it I know of is on the Microsoft Research site by Jim Gray.
Gray goes into great length about the relative costs of computer
components and how they are changing.
For me its like listening to a guy talk about how the engine on
his hot rod is stroked and bored and milled with four on the
floor. For you it just means, there is no reason to close your
application, just let it sit in memory or swap out. You might
need it again. When you turn off the computer the application
will close.
Swap out?
It depends. It is an old concept in computers, the IBM 370 was
the first commercial computer to allow for swapping. Technically
it is called virtual memory. Digital Equipment made some
terrific computers using an operating system called Virtual
Memory System. I know a guy who has four of these in his garage.
Your computer works with a central processing unit fed with data
from electronic memory circuits. If you run out of electronic
memory you are out of luck, unless you have virtual memory. With
virtual memory your computer "swaps out" some of the electronic
memory registers to the magnetic disk. This is called paging -
as most operating systems swap out entire pages - up to several
thousand bytes - of memory at once. The operating system doesn't
pay any attention to what data is being swapped to the magnetic
disk, except that it uses an algorithm called least-recently-used
to get the oldest stalest information and put it onto your hard
disk. By the way this is what happens to Word if you keep it
open the way I recommend.
I could tell you how fascinated I was with this when I first
heard of it.
Operating system? Algorithm?
Well, the operating system is the thing you keep buying updates
for from Microsoft. An algorithm is a sequence of steps designed
to find the solution to a problem. Earlier I mentioned
Newton-Raphson which is a plan for guessing the answer and then
checking if you are getting hotter or colder. The fanciest
algorithm I ever saw is called the banana valley optimization,
which is a clever modification of Newton Raphson designed for
avoiding local minima. No, your computer cannot do this.
Should I clear out my Internet history?
This is a good topic. This topic is similar in some ways to the
question about closing Word or letting it swap out. The
scientist at Microsoft says that desktop computers should keep
two years of history on their hard disks. He also says that if
you have a palm computer or other mobile device, you should never
delete anything from it. The cost of memory is low, the cost of
transmitting data is fairly high. Don't erase it after you pay
to transmit it. Don't delete your history files. You are likely
to use some of them again.
Incidentally the scientists at Bell Labs have invented an
improvement to Linux/Unix called Plan 9 (after a bad movie).
They designed the network so that it would never run out of room.
As far as I know they haven't erased anything since 1995, and
can't see the reason to. Erasing the data would be expensive -
its cheaper just to leave it there.
This business of being likely to use something again keeps coming
up. I talked about how swap files used a least recently used
algorithm. Truth is some use a least frequently used algorithm.
I can tell you the debate over this is hot. But its a very
powerful concept - swapping memory that you haven't used
recently - and a cache of Internet data that you have used
recently. Your hard disk works the same way. When your computer
reads data from your hard disk, it automatically keeps the most
frequently used data in electronic memory. Why? In case you
might use it again soon. It is called cache. Your internet data
is also called a cache.
Hard Disk Cache? Internet Cache? Swap? Virtual Memory?
The important lesson is that the keyboard and mouse is the
slowest to transmit data, the network connection is the next
slowest to transmit data, the hard disk is next slowest, then the
electronic memory.
Another way is that humans are the most expensive data source,
the network is a little cheaper, the hard disk is cheap, and
memory is pretty cheap and getting cheaper fast. Frequently used
data belongs on the fastest cheap component - electronic memory.
Keep in mind that it doesn't have to be electronic memory. In
future computers it could be crystal memory or RNA based
switches. Hard disks could be replaced with resin compounds
similar to amber. When I started all the data was stored on
paper tape that would stain your shirt if you put it in your
pocket. You punched out the chad and it fell on the floor. Then
they came up with punch cards and that was terrific because it
didn't get wrinkled. But sometimes the punch didn't go all the
way and it left what is called "lint" Ask me about lint
sometime.
These ideas of the costs and speeds of current computer
components are very important. It turns out that the fastest
stuff is also fairly cheap. The most expensive thing is you -
also the slowest and the most error prone.
The first personal computers
Microsoft did not invent the personal computer. The PC was a
well known revolutionary product before Microsoft got involved.
The first thing I ever saw that was close to a PC was a
computerized plotter built by Hewlett-Packard in 1974. This
computer was designed to make plots of mathematical functions and
the university provided us access to it if we signed up for it
and turned over our drivers license for the key to the room.
The plotter could plot on special letter sized paper and had a
keyboard for entering programs in BASIC. You could enter your
plotter commands and have the thing draw a plot in three colors
that looked a lot like a toy we used to have called a Spirograph.
I saw some pretty nice charts done by some friends of mine, and
the plotter had a cassette tape recorder for storing and saving
your plotting program. It may be hard to believe but cassette
tape recorders were not widely used for anything, and cassette
tapes were things that most people rarely saw.
The thing I never figured out was that just because it had a
plotter that didn't mean your program had to actually plot. Your
program could do anything BASIC could do and that plotter and
tape recorder were just as good as any PC (and just as fast),
even if the alphanumeric display only showed 11 characters at a
time.
By 1980 PCs were pretty common. People who knew about them were
familiar with the Altair, the Sinclair, the Osborne, the
Commodore and the Trash 80. All these little computers came with
keyboards and the possibility of adding a cassette recorder and
plugs to hook up to your Television. We had one of the
Commodores and I remember writing a little BASIC program to
display random graphics characters on a color TV. We didn't have
a tape recorder and when I turned off the Commodore I lost all my
data.
The Trash 80 was really the Radio Shack model TRS-80 which was
the best of the early personal computers. The operating system
was called CP/M and it was a very usable device from what I
heard. It had a quirky problem with two electrical contacts
inside it. Sometimes you had to turn it off, open it up and
clean the electrical contacts to make it go. Computers in those
days were a lot like cars around 1900. Sure you could make it
go, but you might need a horse to get home.
Then Steve Jobs and Steve Wozniak hit it big with the Apple.
This was clearly the first PC and it was a huge success
financially and from a productivity standpoint. This was the
first time people used PCs at their normal jobs and the newspaper
and magazine coverage in those days was all about those Apple
computers.
Should I turn off my computer?
I can tell a story about this but I can't answer it yet. At one
job we had a small computer called a MicroVax that five of us
shared. We each had our own keyboard and monitor (called a CRT
in those days) We all got into the habit of not turning off the
MicroVax, and not turning off the CRTs.
At my next job I worked on a VAX 8700 that was the size of a
walk in freezer, but we only had three CRT stations for it.
(That computer could have handled 40 users) I was in the habit
of leaving my CRT on and when I returned in the morning there was
a sign reminding people to turn off their CRTs.
At my most recent job I had a PC running Microsoft with some
energy saving technology built into it. I sat down and
calculated that the electricity bill for leaving it on during the
weeknights would come to twenty one cents. I figured it would
take me about a minute to remember to get down on the floor and
turn off the computer, monitor, speakers and scanner using the
power strip. I figured out how much the company would pay me for
that minute, plus the minutes it might take for me to turn off
the 12 computers in my area of the lab. I figured that I was
saving the company 11 cents for each computer I did not turn off.
Plus I didn't feel like turning them off anyway. Every night I
wasted more computing time than had existed in the history of the
world prior to 1980.
So turning off your computer might be a good idea, it might not,
it depends.
Do you buy updates for your software?
No. I usually need a new computer about every two years. The
hardware technology improves so much in two years that buying a
new computer is irresistable. I bought my first computer in
1989. I bought my second one in 1992 and added a color monitor
and a half speed CD-ROM drive to it. It eventually succumbed to
a painful hard disk controller problem, and found a home as a
router in someone's test network. I bought another computer in
1994 and did massive hardware upgrades, like a 17 inch monitor, a
new CPU, more memory, and a new hard disk. At various times this
ran OS/2 3.0, Windows 3.0 or 3.1 and Windows 95. I didn't buy
my next computer till after Windows 98 came out, in 1999. If I
had to do it all over again I would have bought another computer
in 1996 instead of wasting all that time with hardware upgrades.
If I look back on the computers I bought there was always a
compelling technological reason for the upgrade. The 1989
computer was black and white, the 1992 computer was a
multiprocessing 80386 CPU that ran Windows, the 1994 computer had
lots of memory, and with the 1999 computer everything finally
worked pretty well. I figure the trends will continue and I will
get another computer this year. The new computer will have the
latest software on it. I won't have to spend any time installing
the new software or worrying whether the upgrade procedure is
going to overwrite my data. I will probably buy my next computer
when the next version of Microsoft has been out for a few months.
Incidentally I have found that the computer I want always costs
1800-2000 dollars and the monitor I want always costs 600
dollars. I was the first person I know of that had a CD-ROM
drive and it cost me 231 dollars and I had to drive 45 miles to
get it. The guy who built my 1994 computer thought I was nuts to
order 8 megabytes of memory for it.
At work they alway gave me new computers about every 18 months,
they didn't give me a choice.
Don't you have backups of your data?
No. If you really have any data that is worth keeping or one of
a kind, why not email it to someone you know? I'm always happy
if I lose my hard disk and have to spend a day setting up my
computer again. When I'm done it is more organized and easy to
use. I do backup some important stuff about once a year.
What about getting the latest version of Word?
The main motivation for getting the latest version of Word or
Excel is, in my opinion, that it makes it easier to send
documents to other people who have the latest version. Those
programs have thousands of features already and I only use a few
dozen of the features. I'm not likely to care about the new
features.
What's a feature?
Suppose the program you are using puts up a dialog that says
Cancel? or Save? or Exit? That is three features. The cancel
has to cancel and the save has to save. The exit has to exit.
If the program also has a menu bar that has Cancel/Save/Exit that
makes a total of six features.
My program has Cancel/Exit/Save dialogs. If I choose exit it
asks me if I really want to exit - Cancel or Exit? I decided I
didn't want to exit - I wanted to Cancel. So I press Cancel but
my changes are not Canceled. Why?
You should be glad you even have a Cancel. In my day if I wanted
to cancel I had to go stand in line in the keypunch room.
Seriously some early Windows programs didn't have any dialogs
with Cancel. When you clicked Close a new dialog would open
asking if you wanted to save your changes Yes or No. Then it
would close. Some programs you would save your data, press
"Exit", get prompted for "Really Exit?" choose yes and get
prompted for "Save your data first?" just like a car with the
brake pedal on the right. The Cancel button was a big step for
mankind.
How to turn on your computer
We have got this far. We know how computers started, and we know
some quirky technical details about the way computers move data
from place to place. We also know a little about computer
dialogs and how to interact with the computer. We might as well
turn it on.
Turning it on usually involves a switch. Or possibly several
switches. The way my computer is now set up there are five
switches that all have to be in the correct position for my
computer, speakers, scanner, Compaq Aero and printer to turn on.
Later on if we get around to attacking the problem of whether to
turn off our computer, these five switches will again play a
role.
When I was in college one of my friends had a job assembling
early versions of CRT (cathode ray tube) monitors. Her job
included repairing broken ones and she found that the single most
likely reason the CRT was sent in for repair was that the user
did not turn on the power. These early CRT things involved
thousands of hand connected wires and were very expensive, as
well as hard for some programmers to turn on; because punch
cards did not have power switches.
One time some people in technical support posted a fictional
story of a user who called in for support on their computer. It
turned out the user couldn't tell whether the power switch was
set to on because the power was out due to a storm and it was
dark in their office. This was a mean thing to write, but if
your computer setup has five power switches and a bazillion
cables and wires like mine does, turning on the power is not an
easy thing to do.
Most people know that turning on a computer is called booting it.
Originally this word was called bootstrapping the computer, as if
the computer turned itself on like putting on a boot by pulling
on its bootstraps. Some other words that mean similar things are
warmboot, softboot and hardboot. Hardboot is the only one that
involves the power switch. In the old days they made a
distinction between the order that you powered things on. The
rule was that when you were turning things on, you turned on the
monitors and other devices first. Then when you were turning
things off, you turned off the computer itself first. Electrical
surges, static, dust, magnets and warm air were dangerous things
to computers in addition to power switches. But most people
claimed not to know there was any particular order to turning
things on.
Bootstrapping is a pretty good word since when you first turn on
the computer all the ones and zeroes are fairly randomly
distributed in memory and on the CPU. The computer has to sort
it out, first by loading BIOS, Basic Input and Output System,
then by loading some DOS components (Microsoft denies that this
happens) and then by loading some file system stuff, some network
stuff, and then the main components of Windows such as USER,GDI
and so on, and finally loads Explorer which is the desktop - the
thing that waits for you to start working. Your mileage may vary
depending on which version of Windows you have.
At this point all the ones and zeroes are in the right places. I
didn't even mention the Power On Self Test which happens when you
first hit the power and your computer beeps, and before all the
weird stuff happens with the screen. POST happens first, and
early Microsoft manuals went into detail about exactly which
components and circuits were checked. If you have ever seen the
movie 2001 you might notice that POST, BIOS, DOS, IFSHELP,
USER,GDI and Explorer are the things that Dave would have been
disconnecting with that round screwdriver.
Interestingly during my first experience opening up a computer
the guy I was working with started singing Daisy Daisy just like
the computer did in the movie. Remember how that computer said
that its creator had taught it how to sing? I was very impressed
and a little puzzled that a computer that had a really boring
flat monotonic voice could sing. It was hard for me to imagine
that it could sing since singing was so much more advanced.
I finally decided that singing was the very last thing it had
been taught, that was the only explanation for why it always had
such a dull metallic voice. Singing was something new for HAL
and the creator had switched it off. It was beta. Not ready for
release. Like the clock that Hewlett Packard put into the HP-45
in 1973. It didn't work right. When Dave turned off the
"singing inhibitor" circuit, it started to sing. I have thoughts
like this a lot. Singing is just a difficult thing for a
computer, not a basic thing. Don't ask me my opinions about
R2D2. Just remember that the next time you press the Start
button to turn off your computer, there may be some beta software
program lurking around. It might sing to you, or maybe next
time.
Should I turn off my computer?
Yes.
****
Forward Freely, but not for sale