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.
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
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.
# unzip ; strip ; touch ; finger ; mount ; fsck ; more ; yes ; umount ; sleep
Q. How does a chicken cross the road?
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
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:
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:
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