Operating Systems Humour #4

Quick Reference


Geekerata

A UNIX Analog of Desiderata (Max Ehrman, 1927)
mainly as addressed to a network process

Badri Krishnamoorthy (badri@srtc.com)

Route placidly amid channel noise and network failures,
And remember what throughput there may be in executing all alone.

As far as possible, without overflowing buffer
Be on communicative terms with all processes.
Broadcast your data quietly and clearly
And listen(2) to others.
Even to the null and the unreachable,
They too have their requests.
Avoid long and argumentative sessions
They are burdensome to the ether.

If you compare your priority with others'
You may become vain or bitter
For always there will be greater and lesser processes than yourself.

Enjoy your CPUtime as well as your idletime.
Keep cognizance of your portmapper, however low-level
It is a constant port in the changing mappings of the network.

Exercise caution in your execution,
For the kernel is full of traps.
But let this not blind you to what swap space there is;
Many channels strive for high bandwidths, and everywhere
Computing is full of parallelism.

Be yourself. (Check with getpid(2) frequently)
Especially do not forge NFS file handles.
Neither be cynical about sockets,
For in the face of all congestion and delays
They are as powerful as STREAMS.

Take kindly the influx of new requests,
Gracefully re-prioritizing the older ones.

Nurture support of check-points to rollback from sudden crashes
But do not thrash pages due to imagined pagefaults:
Many core dumps are born of bus error or segmentation faults.

Beyond a nominal consideration,
Be nice(1) to other processes.

You are a child in the kernel space
No less than the daemons and the device drivers,
You have a right to execute here.
And whether or not it is apparent to you
No doubt the kernel is crashing, though it shouldn't.

Therefore be at peace with your programmer
However geeky you think s/he is.
And wherever your read(2)'s and recvfrom(2)'s,
In the noisy communication channels of the network,
Keep a valid (void *) buf available in your address space.
With all its stopped jobs, missing arguments and broken pipes,
It is still a UNIX shell.

Be backward-compatible.
Strive to be up and running always.


If Operating Systems Were Airlines


CDE Animal Separators

From: Peter Nurkse (Peter.Nurkse@Eng.Sun.COM)

I recently moved to CDE, the Common Desktop Environment, which at Sun is replacing OpenWindows. Turns out dtmail, the CDE mail interface (like mailtool) uses phrases mentioning animals to mark attachment boundaries, the boundaries between attachments and the rest of the mail message.

Normally you won't see these phrases, but they can appear at times. They are contained in any mail record file you keep. And you can also view them using ucbmail or another older mail viewer.

Here's a complete list. Something to look forward to if you haven't yet moved to CDE.

By the way, this is completely serious and true. I haven't myself noticed Ambush_of_Tigers yet, but have already run into Band_of_Gorillas.

Peter Nurkse
peter.nurkse@sun.com

  Ambush_of_Tigers
  Army_of_Caterpillars
  Array_of_Hedgehogs
  Bale_of_Turtles
  Band_of_Gorillas
  Band_of_Jays
  Battery_of_Barracuda
  Bed_of_Clams
  Bed_of_Mussels
  Bed_of_Oysters
  Bevy_of_Otters
  Blessing_of_Unicorns
  Bouguet_of_Pheasants
  Brace_of_Ducks
  Brace_of_Greyhounds
  Brood_of_Chickens
  Brood_of_Hens
  Business_of_Ferrets
  Caravan_of_Camels
  Cast_of_Falcons
  Cast_of_Hawks
  Cete_of_Badgers
  Charm_of_Finches
  Cloud_of_Gnats
  Cloud_of_Grasshoppers
  Clutter_of_Cats
  Cluster_of_Spiders
  Colony_of_Ants
  Colony_of_Beavers
  Colony_of_Frogs
  Colony_of_Gulls
  Colony_of_Rats
  Company_of_Parrots
  Convocation_of_Eagles
  Corps_of_Giraffes
  Covey_of_Partridges
  Covey_of_Quail
  Crash_of_Rhinoceros
  Cry_of_Hounds
  Den_of_Snakes
  Descent_of_Woodpeckers
  Draught_of_Fish
  Drey_of_Squirrels
  Drift_of_Hogs
  Drove_of_Cattle
  Drove_of_Donkeys
  Drove_of_Sheep
  Dule_of_Doves
  Exaltation_of_Larks
  Fall_of_Woodcocks
  Family_of_Sardines
  Farrow_of_Piglets
  Fleet_of_Bass
  Flight_of_Pigeons
  Flight_of_Swallows
  Flink_of_Cows
  Flock_of_Lice
  Flock_of_Ostrich
  Flurry_of_Flamingos
  Gaggle_of_Geese
  Gam_of_Porpoises
  Gang_of_Elks
  Grist_of_Bees
  Herd_of_Bison
  Herd_of_Buffalo
  Herd_of_Elephants
  Herd_of_Hippopotamuses
  Herd_of_Walrus
  Herd_of_Zebra
  Host_of_Sparrows
  Hover_of_Trout
  Husk_of_Hares
  Kindle_of_Kittens
  Knot_of_Toads
  Leap_of_Leopards
  Leash_of_Deer
  Litter_of_Pigs
  Litter_of_Pups
  Mess_of_Officers
  Mob_of_Kangaroos
  Mumble_of_Moles
  Murder_of_Crows
  Mustering_of_Storks
  Nest_of_Mice
  Nest_of_Rabbits
  Nest_of_Vipers
  Nursery_of_Raccoons
  Ostentation_of_Peacocks
  Pace_of_Asses
  Pack_of_Dogs
  Pladge_of_Wasps
  Plague_of_Locusts
  Pod_of_Dolphins
  Pod_of_Seals
  Pod_of_Whales
  Pop_of_Weasels
  Pride_of_Lions
  Rout_of_Wolves
  Rafter_of_Turkeys
  Rake_of_Colts
  Rookery_of_Penguins
  Scraw_of_Flies
  Seige_of_Cranes
  Shrewdness_of_Apes
  Skulk_of_Foxes
  Sleuth_of_Bears
  Smuck_of_Jellyfish
  Singular_of_Boars
  Sounder_of_Swine
  Span_of_Mules
  Stare_of_Owls
  Steam_of_Minnows
  String_of_Ponies
  Sute_of_Bloodhounds
  Swarm_of_Eels
  Swarm_of_Insects
  Team_of_Horses
  Tiding_of_Magpies
  Trip_of_Goats
  Troop_of_Antelope
  Troop_of_Baboons
  Troop_of_Monkeys
  Troubling_of_Goldfish
  Unkindness_of_Ravens
  Vivre_La_France
  Volery_of_Birds
  Watch_of_Nightingales
  Wedge_of_Swans
  Yoke_of_Oxen
  cest_magnifique
  est-ce_qu_on_croit_que_cest_le_14_aout_95
  hey_man_grab_some_bandwidth
  jsc_mv21_228_06_06_96_ditto
  mysteryboxofun
  this_is_your_MIME_boundary
  hey_man_grab_some_bandwidth
  jsc_mv21_228_06_06_96_ditto
  mysteryboxofun
  this_is_your_MIME_boundary

UNIX - The Child

Unix was a program gone bad. Born into poverty, its parents, the phone company, couldn't afford more than a roll of teletype paper a year, so Unix never had decent documentation and its source files had to go without any comments whatsoever. Year after year, Papa Bell would humiliate itself asking for rate increases so that it could feed its child. Still, unix had to go to school with only two and three letter command names because the phone company just couldn't afford any better. At school, the other operating systems with real command names, and even command completion, would taunt poor little Unix for not having any job or terminal management facilities or for having to use its file system for interprocess communication and locking.

Then, bitter and emasculated by its poverty, the phone company began to drink. During lost weekends of drunken excess, it would brutally beat poor little Unix about the face and neck. Eventually, Unix ran away from home. Soon it was living on the streets of Berkeley. There, Unix got involved with a bad crowd. Its life became a degrading journey of drugs and debauchery. To keep itself alive, it sold cheap source licenses for itself to universities which used it for medical experiments. Being wantonly hacked by an endless stream of nameless, faceless undergraduates, both men and women, often by more than one at the same time, Unix fell into a hell-hole of depravity. And so it was that poor little Unix began to go insane. It retreated steadily into a dreamworld, the only place where it felt safe. It took heroin and dreamed of being a real operating system. It took LSD and dreamed of being a raspberry flavored three-toed yak. It liked that better. As Unix became increasingly attracted to LSD, it would spend weekends reading Hunter Thompson and taking cocktails of acid and speed while writing crazed poetry in which it found deep meaning but which no one else could understand:

   $sed < $mf > $mf.new -e '1,/^^# AUTOMATICALLY/!d'

   make shlist || ($echo "Searching for .SH files..."; \
           $echo *.SH | $tr ' ' '\012' | $egrep -v '\*' > .shlist)
   if $test -s .deptmp; then
       for file in `cat .shlist`; do
           $echo `$expr X$file : 'X\(.*\).SH'`: $file config.sh \; \
               /bin/sh $file >> .deptmp
       done
       $echo "Updating $mf..."
       $echo "# If this runs make out of memory, delete /usr/include
       lines." \
           >> $mf.new
       $sed 's|^^\(.*\.o:\) *\(.*/.*\.c\) *$|\1 \2; '"$defrule \2|" deptmp
        \
          >> $mf.new
   else
       make hlist || ($echo "Searching for .h files..."; \
           $echo *.h | $tr ' ' '\012' | $egrep -v '\*' >.hlist)
 $echo "You don't seem to have a proper C preprocessor.  Using grep instead."
       $egrep '^^#include ' `cat .clist` `cat .hlist`  >.deptmp
       $echo "Updating $mf..."
       < .clist $sed -n                                                 \
           -e '/\//{'                                                  \
           -e   's|^^\(.*\)/\(.*\)\.c|\2.o: \1/\2.c; '"$defrule \1/\2.c|p"
       \
           -e   d
       \
           -e '}'
       \
           -e 's|^^\(.*\)\.c|\1.o: \1.c|p' >> $mf.new
       <.hlist $sed -n 's|\(.*/\)\(.*\)|s= \2= \1\2=|p' >.hsed
       <.deptmp $sed -n 's|c:#include "\(.*\)".*$|o: \1|p' | \
          $sed 's|^^[^^;]*/||' | \
          $sed -f .hsed >> $mf.new
       <.deptmp $sed -n 's|c:#include <\(.*\)>.*$|o: /usr/include/\1|p' \
         >> $mf.new
       <.deptmp $sed -n 's|h:#include "\(.*\)".*$|h: \1|p' | \
          $sed -f .hsed >> $mf.new
       <.deptmp $sed -n 's|h:#include <\(.*\)>.*$|h: /usr/include/\1|p' \
          >> $mf.new
       for file in `$cat .shlist`; do
           $echo `$expr X$file : 'X\(.*\).SH'`: $file config.sh \; \
               /bin/sh $file >> $mf.new
       done
   fi

Eventually, Unix began walking down Telegraph Avenue talking to itself, saying "Panic: freeing free inode," over and over again. Sometimes it would accosting perfect strangers and yell "Bus error (core dumped)!" or "UNEXPECTED INCONSISTENCY: RUN FSCK MANUALLY!" at them in a high pitched squeal like a chihuaua with amphetamine psychosis. Upstanding citizens pretended it was invisible. Mothers with children crossed to the other side of the street.

Then one evening Unix watched television, an event which would change its life. There it discovered professional wrestling and knew that it had found its true calling. It began to take huge doses of corticosteroids to build itself up even bigger than the biggest of the programs which had beaten it up as a child. It ate three dozen pancakes and four dozen new features for breakfast each day. As the complications of the steroids grew worse, its internal organs grew to the point where Unix could no longer contain them. First the kernel grew, then the C library, then the number of daemons. Soon one of its window systems was requiring two megabytes of swap space for each open window. Unix began to bulge in strange, unflattering places. But Unix continued to take the drugs and its internal organs continued to grow. They grew out its ears and nostrils. They placed incredible stresses on Unix's brain until it finally liquefied under pressure. Soon Unix had the mass of Andre the Giant, the body of the Elephant Man, and the mind of a forgotten Jack Nicholson character.

The worst strain was on Unix's mind. Unable to assimilate all the conflicting patchworks of features it had ingested, its personality began to fragment into millions of distinct, incompatible operating systems. People would cautiously say "good morning Unix. And who are we today?" and it would reply "Beastie" (BSD), or "Domain", or "I'm System III, but I'll be System V tomorrow." Psychiatrists labored for years to weld together the two major poles of Unix's personality, "Beasty Boy", an inner-city youth from Berkeley, and "Belle", a southern transvestite who wanted a to be a woman. With each attempt, the two poles would mutate, like psychotic retroviruses, leaving their union a worthless blob of protoplasm requiring constant life support remain compatible with its parent personalities.

Finally, unbalanced by its own cancerous growth, Unix fell into a vat of toxic radioactive wombat urine, from which it emerged, skin white and hair green. It smelled like somebody's dead grandmother. With a horrible grin on its face, it set out to conquer the world.

CHAOS is an order unto itself.


UNIX Guru Sex

The UNIX Guru's View of Sex:
# unzip ; strip ; touch ; finger ; mount ; fsck ; more ; yes ; 
  umount ; sleep

Comparing Network OS's

From sbrodie@argonet.co.uk Thu Nov 13 17:02:28 GMT 1997

Q. How does a chicken cross the road?

Novell Chicken
Crossed the road carrying all the other chickens. Gets no credit for the service because it forget to tell anybody.
NT Chicken
Will cross the road in June .... no, August ...... well OK, September for sure.
OS/2 Chicken
It crossed the road in style years ago but was so quiet, nobody noticed.
Win95 Chicken
You see different coloured feathers while it crosses - but cook it and still tastes like ...... chicken!
Microsoft Chicken
It's already on both sides of the road and it just bought the road!
Assembler Chicken
First it builds the road ...
C Chicken
It crosses the road without looking both ways.
C++ chicken
The chicken wouldn't have to cross the road, you'd simply refer him to the other side.
Delphi chicken
The chicken is dragged across the road and dropped on the other side.
Java chicken
If your road needs to be crossed by a chicken, the server will download one to the other side. (These are, of course, 'chicklets').
Web chicken
Jumps out on to the road, turns right and just keeps on running.
Gopher chicken
Tried to run but got flattened by the Web chicken.
Newton chicken
Can't cluck, can't fly and can't lay eggs but you can carry it across the road in your pocket.
Quantum Logic chicken
The chicken is distributed probablistically on all sides of the road until you observe it on the side of your choice.
Lotus chicken
Don't you dare try to cross the road the same way that we do!
COBOL chicken -
   0001 - CHICKEN-CROSSING
   IF-NO-MORE-VEHICLES-THEN
   PERFORM 0010-CROSS-THE-ROAD
   VARYING STEPS FROM 1 BY 1 UNTIL
   ON-THE-OTHER-SIDE
   ELSE
   GO TO 001-CHICKEN-CROSSING
UNIX chicken
The command to make the chicken cross the road is too complex to understand and way too ugly to execute.

Texas Windows 98

Dear Consumers:

It has come to our attention that a few copies of WINDOWS 98 TEXAS EDITION may have accidentally been shipped outside Texas. If you have one of these, you may need some help understanding the commands.

The Texas edition may be recognized by the unique opening screen. It reads: WINDERS 98, with a background picture of Sam Houston superimposed on a Lone Star flag. It is shipped with an Aggie/Longhorn screen saver.

Please also note:

CHANGES IN TERMINOLOGY IN TEXAS EDITION

OK  . . . . . . . ats aw-right
Cancel  . . . . . stopdat
Reset . . . . . . try er agin
Yes . . . . . . . yep
No  . . . . . . . noop
Find  . . . . . . hunt fer it
Go to . . . . . . over yonder
Back  . . . . . . back yonder
Help  . . . . . . hep me out here
Stop  . . . . . . kwitit
Start . . . . . . crank er up
Settings  . . . . settins
Programs  . . . . stuff at duz stuff
Documents . . . . stuff ah done did

Also note that TEXAS EDITION does not recognize capital letters or punctuation marks.

Some programs that are exclusive to Winders 98:

Tiperiter
A word processing program
Colerin book
A graphics program
cyferin mersheen
Calculator
outhouse paper
Notepad
iner-net
Microsoft Explorer 4.0
pichers
A graphics viewer

We regret any inconvenience it may have caused if you received a copy of the TEXAS EDITION. You may return it to Microsoft for a replacement version.

I hope this helps all y'all!

Billy Bob Gates
Head Honcho


Web pages maintained by Adrian Hilton