[Previous:political life NEEDS more urine]
[Next:Fw: Some clever anagrams]
[Main Index]

MOTHER'S DAY MEDITATIONS FROM THE COMPUTER ROOM. (fwd)

05/10/1997


this is rather long, but i thought some of you may get a kick out of it.
(grin) i emailed it to my mom....  

-- tanya

A friend recently asked me what training it takes to work with computers.
I gave a brief answer mentioning some college courses, some on-the-job
training, and a long time in the school of hard knocks. But upon
reflection, I realize that most of my training in fundamental computer
concepts came from my mother.

When I was a baby, mother taught me about input buffering: "Don't try to
stuff all your food in your mouth at once.  Leave it on your plate until
you're ready to eat it, and then take it in one mouthful at a time."

She also taught me about processing the entire input buffer before going on
to the next step: "Eat everything on your plate.  Then you can have dessert."

(It will occur to some readers that mother also taught me about output
buffering, but I'd like to keep these meditations G-rated.)

When I was about four, mother introduced the concept of sequentially
executed instructions: "We're going to set the table."  (That's
identification of the procedure.)  "First put the table cloth on the table.
Check it to make sure it's straight.  Then put a plate at each place. Then
put a cup at each place.  Then ..."

Later, mother introduced the concept of a procedure call: "We're going to
have dinner.  Please set the table."

Later, when I was about 14, mother would set up tasks for me and use "job
control language" in a note on the refrigerator door: "We're going to have
dinner at 6:00.  You make it when you get home from school.  The menu is
pinned up on the bulletin board, the meat is in the refrigerator, and  I've
put the rest of the food out on the counter.  Set an extra place - Uncle
Rahul is coming tonight."

Mother demonstrated what it means to multi-process:  She could deal with
the interruptions of four children (those were the real-time, foreground
tasks) while doing the housework (as a background task).

Mother used the concept of hierarchical storage for her cooking tools. The
cooking forks and spoons were hung on hooks right by the stove.  The potato
slicer and the egg beater, which weren't used for every meal, were kept in
a drawer.  And the big roaster, which she only used once a year to cook the
 turkey, was kept in the storage closet in the basement.

Once we had about fourteen people for  dinner, and our kitchen seemed too
small for the job.  That's when mother introduced the concept of backing
store.  She cleared off the ping-pong table in the rec room next to the
kitchen and laid out all her ingredients on one side of the net.  My sister
and I fetched things from the "input" side of the ping-pong table as mother
called for them, carried partially finished dishes to and from the "backing
store" on the other side of the net, and delivered finished food to the
"output" dining table.

This system worked well, until my sister and I collided in the doorway
between the two rooms and we nearly lost the creamed onions.  Mother solved
this problem of "channel contention" by establishing a protocol:  "First
say 'May I come through?' and then wait until you get the answer 'Yes; it's
clear.'"

It was also in the kitchen that mother taught me about looping and testing:
"Cook the fudge, while stirring it, and test it every couple of minutes to
see if it's done.  You test it by dropping a bit of it in the cold water.
When it forms a soft ball, it's done."

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 remind 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.

Happy Mother's Day, Mom.  You were the best computer teacher I ever had.





pictures | bookmarks | people | -er jokes | pgp key | writings | band | resumé | .sigs | otp calculators | reference | dvorak | old
Mail converted by MHonArc 2.3.3