For years I badgered my mother with questions about whether Santa Claus
is a real person or not. Her answer was always "Well, you asked for the
presents and they came, didn't they?" I finally understood the full
meaning of her reply when I heard the definition of a virtual device: "A software
or hardware entity which responds to commands in a manner indistinguishable
from the real device." Mother was telling me that Santa Claus is a virtual
person (simulated by loving parents) who responds to requests from children in a
manner indistinguishable from the real saint.
Mother also taught the IF ... THEN ... ELSE structure: "If it's snowing,
then put your boots on before you go to school; otherwise just wear your
shoes."
Mother explained the difference between batch and transaction processing:
"We'll wash the white clothes when we get enough of them to make a load,
but we'll wash these socks out right now by hand because you'll need them this
afternoon."
Mother taught me about linked lists. Once, for a birthday party, she laid
out a treasure hunt of ten hidden clues, with each clue telling where to
find the next one, and the last one leading to the treasure. She then gave us
the first clue.
Mother understood about parity errors. When she counted socks after doing
the laundry, she expected to find an even number and groaned when only one
sock of a pair emerged from the washing machine. Later she applied the
principles of redundancy engineering to this problem by buying our socks
three identical pairs at a time. This greatly increased the odds of being
able to come up with at least one matching pair.
Mother had all of us children write our Christmas thank you notes to
Grandmother, one after another, on a single large sheet of paper which was
then mailed in a single envelope with a single stamp. This was obviously
an instance of blocking records in order to save money by reducing the number
of physical I/O operations.
Mother used flags to help her manage the housework. Whenever she turned on
the stove, she put a potholder on top of her purse to reminder herself to
turn it off again before leaving the house.
Mother knew about devices which raise an interrupt signal to be serviced
when they have completed any operation. She had a whistling teakettle.
Mother understood about LIFO ordering. In my lunch bag she put the dessert
on the bottom, the sandwich in the middle, and the napkin on top so that
things would come out in the right order at lunchtime.
There is an old story that God knew He couldn't be physically present
everywhere at once, to show His love for His people, and so He created
mothers. That is the difference between centralized and distributed
processing. As any kid who's ever misbehaved at a neighbor's house finds
out, all the mothers in the neighborhood talk to each other. That's a local
area network of distributed processors that can't be beat.
Mom, you're the best computer teacher I ever had.