Rootless Root -- The Unix Koans of Master Foo

(Source : http://www.catb.org/~esr//writings/unix-koans/)

Eric Steven Raymond
Thyrsus Enterprises


    <[email protected]>
    Copyright © 2003 Eric S. Raymond

Table of Contents

Editor's Introduction
*Master Foo and the Ten Thousand Lines
Master Foo and the Script Kiddie
Master Foo Discourses on the Two Paths
*Master Foo and the Methodologist
Master Foo Discourses on the Graphical User Interface
*Master Foo and the Old Hand
Master Foo and the Shell Tools
Master Foo and the Nervous Novice
Master Foo Discourses on Returning to Windows
Master Foo and the Unix Zealot
Master Foo Discourses on the Unix-Nature
Master Foo and the MCSE
Master Foo and the End User

_____
Master Foo and the Ten Thousand Lines
http://www.catb.org/~esr//writings/unix-koans/ten-thousand.html

Master Foo once said to a visiting programmer: “There is more
Unix-nature in one line of shell script than there is in ten thousand
lines of C.”

The programmer, who was very proud of his mastery of C, said: “How can
this be? C is the language in which the very kernel of Unix is
implemented!”

Master Foo replied: “That is so. Nevertheless, there is more
Unix-nature in one line of shell script than there is in ten thousand
lines of C.”
...

“And how many hours would you require to implement and debug that C
program?” asked Nubi.

“Many,” admitted the visiting programmer. “But only a fool would spend
the time to do that when so many more worthy tasks await him.”

“And who better understands the Unix-nature?” Master Foo asked. “Is it
he who writes the ten thousand lines, or he who, perceiving the
emptiness of the task, gains merit by not coding?”
...


Master Foo and the Old Hand
(Source : http://www.catb.org/~esr//writings/unix-koans/oldhand.html )

An experienced Unix programmer, hearing of Master Foo's wisdom, came
to him for guidance. Approaching the Master, he bowed three times and
said:

“Master Foo, I am gravely troubled. In my youth, those who followed
the Great Way of Unix used software that was simple and unaffected,
like ed and mailx. Today, they use vim and mutt. Tomorrow I fear they
will use KMail and Evolution, and Unix will have become like Windows —
bloated and covered over with GUIs.”

Master Foo said: “But what software do you use when you want to draw a poster?”

The programmer replied: “I...have never done that. But I am sure that
I could use LaTeX or pic to accomplish it without GUIs, in the proper
Unix way.”

Master Foo then said: “Which one will reach the other side of the
river: The one who dreams of a raft, or the one that hitchhikes to the
next bridge?”

Upon hearing this, the programmer was enlightened.
...

Master Foo and the Unix Zealot
(Source : http://www.catb.org/~esr//writings/unix-koans/zealot.html)

A Unix zealot, having heard that Master Foo was wise in the Great Way,
came to him for instruction. Master Foo said to him:

“When the Patriarch Thompson invented Unix, he did not understand it.
Then he gained in understanding, and no longer invented it.”

“When the Patriarch McIlroy invented the pipe, he knew that it would
transform software, but did not know that it would transform mind.”

“When the Patriarch Ritchie invented C, he condemned programmers to a
thousand hells of buffer overruns, heap corruption, and stale-pointer
bugs.”

“Truly, the Patriarchs were blind and foolish!”

The zealot was greatly angered by the Master's words.

“These enlightened ones,” he protested. “gave us the Great Way of
Unix. Surely, if we mock them we will lose merit and be reborn as
beasts or MCSEs.”

“Is your code ever completely without stain and flaw?” demanded Master Foo.

“No,” admitted the zealot, “no man's is.”

“The wisdom of the Patriarchs” said Master Foo, “was that they knew
they were fools.”

Upon hearing this, the zealot was enlightened.
...


Master Foo Discourses on the Unix-Nature
(Source : http://www.catb.org/~esr//writings/unix-koans/unix-nature.html)

A student said to Master Foo: “We are told that the firm called SCO
holds true dominion over Unix.”

Master Foo nodded.

The student continued, “Yet we are also told that the firm called
OpenGroup also holds true dominion over Unix.”

Master Foo nodded.

“How can this be?” asked the student.

Master Foo replied:

“SCO indeed has dominion over the code of Unix, but the code of Unix
is not Unix. OpenGroup indeed has dominion over the name of Unix, but
the name of Unix is not Unix.”

“What, then, is the Unix-nature?” asked the student.

Master Foo replied:

“Not code. Not name. Not mind. Not things. Always changing, yet never changing.”

“The Unix-nature is simple and empty. Because it is simple and empty,
it is more powerful than a typhoon.”

“Moving in accordance with the law of nature, it unfolds inexorably in
the minds of programmers, assimilating designs to its own nature. All
software that would compete with it must become like to it; empty,
empty, profoundly empty, perfectly void, hail!”

Upon hearing this, the student was enlightened.
...

Master Foo Discourses on the Two Paths
(Source : http://www.catb.org/~esr//writings/unix-koans/two_paths.html )

Master Foo instructed his students:

“There is a line of dharma teaching, exemplified by the Patriarch
McIlroy's mantra ‘Do one thing well’, which emphasizes that software
partakes of the Unix way when it has simple and consistent behavior,
with properties that can be readily modeled by the mind of the user
and used by other programs.”

“But there is another line of dharma teaching, exemplified by the
Patriarch Thompson's great mantra ‘When in doubt, use brute force’,
and various sutras on the value of getting 90% of cases right now,
rather than 100% later, which emphasizes robustness and simplicity of
implementation.”

“Now tell me: which programs have the Unix nature?”

After a silence, Nubi observed:

“Master, these teachings may conflict.”

“A simple implementation is likely to lack logic for edge cases, such
as resource exhaustion, or failure to close a race window, or a
timeout during an uncompleted transaction.”

“When such edge cases occur, the behavior of the software will become
irregular and difficult. Surely this is not the Way of Unix?”

Master Foo nodded in agreement.

“On the other hand, it is well known that fancy algorithms are
brittle. Further, each attempt to cover an edge case tends to interact
with both the program's central algorithms and the code covering other
edge cases.”

“Thus, attempts to cover all edge cases in advance, guaranteeing
‘simplicity of description’, may in fact produce code that is
overcomplicated and brittle or which, plagued by bugs, never ships at
all. Surely this is not the Way of Unix?”

Master Foo nodded in agreement.

“What, then, is the proper dharma path?” asked Nubi.

The master spoke:

“When the eagle flies, does it forget that its feet have touched the
ground? When the tiger lands upon its prey, does it forget its moment
in the air? Three pounds of VAX!”

On hearing this, Nubi was enlightened.
...



Master Foo and the Methodologist
(Source : 
http://www.catb.org/~esr//writings/unix-koans/methodology-consultant.html)


When Master Foo and his student Nubi journeyed among the sacred sites,
it was the Master's custom in the evenings to offer public instruction
to Unix neophytes of the towns and villages in which they stopped for
the night.

On one such occasion, a methodologist was among those who gathered to listen.

“If you do not repeatedly profile your code for hot spots while
tuning, you will be like a fisherman who casts his net in an empty
lake,” said Master Foo.

“Is it not, then, also true,” said the methodology consultant, “that
if you do not continually measure your productivity while managing
resources, you will be like a fisherman who casts his net in an empty
lake?”

“I once came upon a fisherman who just at that moment let his net fall
in the lake on which his boat was floating,” said Master Foo. “He
scrabbled around in the bottom of his boat for quite a while looking
for it.”

“But,” said the methodologist, “if he had dropped his net in the lake,
why was he looking in the boat?”

“Because he could not swim,” replied Master Foo.

Upon hearing this, the methodologist was enlightened.
...


Master Foo and the Nervous Novice

(Source : http://www.catb.org/~esr//writings/unix-koans/nervous.html )

There was a novice who learned much at the Master's feet, but felt
something to be missing. After meditating on his doubts for some time,
he found the courage to approach Master Foo about his problem.

“Master Foo,” he asked “why do Unix users not employ antivirus
programs? And defragmentors? And malware cleaners?”

Master Foo smiled, and said “When your house is well constructed,
there is no need to add pillars to keep the roof in place.”

The novice replied “Would it not be better to use these things anyway,
just to be certain?”

Master Foo reached for a nearby ball of string, and began wrapping it
around the novice's feet.

“What are you doing?” the novice asked in surprise.

Master Foo replied simply: “Tying your shoes.”

Upon hearing this, the novice was enlightened.
...


Master Foo and the End User
http://www.catb.org/~esr//writings/unix-koans/end-user.html
...


Master Foo and the Script Kiddie
(Source : http://www.catb.org/~esr//writings/unix-koans/script-kiddie.html)

A stranger from the land of Woot came to Master Foo as he was eating
the morning meal with his students.

“I hear y00 are very l33t,” he said. “Pl33z teach m3 all y00 know.”

Master Foo's students looked at each other, confused by the stranger's
barbarous language. Master Foo just smiled and replied: “You wish to
learn the Way of Unix?”

“I want to b3 a wizard hax0r,” the stranger replied, “and 0wn ever3one's b0xen.”

“I do not teach that Way,” replied Master Foo.

The stranger grew agitated. “D00d, y00 r nothing but a p0ser,” he
said. “If y00 n00 anything, y00 wud t33ch m3.”

“There is a path,” said Master Foo, “that might bring you to wisdom.”
The master scribbled an IP address on a piece of paper. “Cracking this
box should pose you little difficulty, as its guardians are
incompetent. Return and tell me what you find.”

The stranger bowed and left. Master Foo finished his meal.

Days passed, then months. The stranger was forgotten.

Years later, the stranger from the land of Woot returned.

“Damn you!” he said, “I cracked that box, and it was easy like you
said. But I got busted by the FBI and thrown in jail.”

“Good,” said Master Foo. “You are ready for the next lesson.” He
scribbled an IP address on another piece of paper and handed it to the
stranger.

“Are you crazy?” the stranger yelled. “After what I've been through,
I'm never going to break into a computer again!”

Master Foo smiled. “Here,” he said, “is the beginning of wisdom.”

On hearing this, the stranger was enlightened.
...

-- 
FOSS Nepal mailing list: [email protected]
http://groups.google.com/group/foss-nepal
To unsubscribe, e-mail: [email protected]

Mailing List Guidelines: 
http://wiki.fossnepal.org/index.php?title=Mailing_List_Guidelines
Community website: http://www.fossnepal.org/

Reply via email to