
Rootless Root - The Unix Koans of Master Foo (Eric S. Raymond) - mahipal
http://catb.org/esr/writings/unix-koans/index.html
======
aufreak3
One of the absolute best techie _koans_ I've come across is this "closures vs
objects" one by Anton Van Straaten -

[http://people.csail.mit.edu/gregs/ll1-discuss-archive-
html/m...](http://people.csail.mit.edu/gregs/ll1-discuss-archive-
html/msg03277.html)

Reproduced below -

The venerable master Qc Na was walking with his student, Anton. Hoping to
prompt the master into a discussion, Anton said "Master, I have heard that
objects are a very good thing - is this true?" Qc Na looked pityingly at his
student and replied, "Foolish pupil - objects are merely a poor man's
closures."

Chastised, Anton took his leave from his master and returned to his cell,
intent on studying closures. He carefully read the entire "Lambda: The
Ultimate..." series of papers and its cousins, and implemented a small Scheme
interpreter with a closure-based object system. He learned much, and looked
forward to informing his master of his progress.

On his next walk with Qc Na, Anton attempted to impress his master by saying
"Master, I have diligently studied the matter, and now understand that objects
are truly a poor man's closures." Qc Na responded by hitting Anton with his
stick, saying "When will you learn? Closures are a poor man's object." At that
moment, Anton became enlightened.

~~~
othermaciej
Unfortunately, that's too logical to be a real koan.

------
pak
As somebody continually interested in new and successful user interface ideas,
the GUI one has me tickled pink:

<http://catb.org/esr/writings/unix-koans/gui-programmer.html>

because it is true that point and click will always suffer from a loss of
expressivity in the way that this story so perfectly captures.

In a way, though, the koan also illustrates the flip side: if the expressive
solution to something is a new language, how do you empower somebody who
doesn't know or can't learn the language? The same way a person who goes to a
foreign land tries to communicate basic ideas--by sign language, or symbols,
or pictures. Sure, sometimes you will be misinterpreted and get peed on. And
you can only handle the basics, like asking for food or directions; discussing
philosophy or politics is probably out of the question. But it's better than
not being able to communicate at all, and for many problems, people are happy
with buying the pictographic toolkit that lets them do their job.

~~~
loewenskind
It's funny, but nonsensical. A counter would be to tell a story about one
student explaining every last detail of some device and the other student
still not understanding, while the GUI student just shows a picture and
everything is instantly clear.

IMO command line "interfaces" are only suitable to programs. A command line
interface is basically a language for communicating with the program. I'd
rather not spend the time learning a substantial amount of the language just
to be able to use the program for common tasks.

An example of this is revision control systems. I always personally liked
darcs but was limited to the command line interface. When I tried out GitX I
made the switch instantly after being loyal to darcs for years. Sadly there
are still things you have to use the command line for in GitX but there is no
reason it has to stay that way.

~~~
sophacles
Ah yes, the old "one true way" argument. It is sad to such great foolishness
in someone who has used git and darcs.

Perhaps you should re-read the koan without the assumption that it is saying
"GUI is bad". It is really about the "only one way and that way is GUI"
attitude.

~~~
loewenskind
I think you're engaging in a logical fallacy. Using a "GUI" isn't "one true
way" as there are a near infinite amount of ways to structure a GUI.

Command line tools often use graphics to display their results and GUI tools
often show their results in textual form so the main difference between a
command line interface and a GUI interface is how to provide input. With a GUI
I have to click in the right place to make actions happen. This puts more onus
on the developer to make sure everything is where it is expected. With a
command line tool I have to read a document or help output about how to use it
and memorize this information if I wish to be efficient.

I'm not saying there should be no command line. It's simply my view that the
command line should be treated like XML: not for human consumption. I think
this would also potentially make command line tools even better at providing
an interface for scripting tools if this was the only expectation placed on
them.

------
athom
Ah, this one takes me back.

It's almost a pity no one else has mentioned the classic Tao of Programming by
Geoffrey James:

<http://www.canonical.org/~kragen/tao-of-programming.html>

A bit dated now, and it looks like ESR has improved on the concept
considerably, but this little classic will always be my favorite:

"Each language has its place within the Tao.

But do not program in Cobol if you can avoid it."

------
pjscott
The problem with articles written by ESR is that the actual discussion gets
drowned out by people complaining about the author. The signal to noise ratio
goes way, way down.

~~~
neilk
Almost every piece of ESR's writing suffers due to his assertions of
brilliance or being the unofficial representative of hackerdom. This is
usually present in almost every sentence. If you're not an ESR fan it's
excruciating.

It's a shame because he's a genuinely skilled writer, especially with parodic
forms like this. Luckily there is no "Eric" character in these koans.

~~~
borism
I don't know anyone who is esr persona's fan. There is a large community who
are his hackerdom writings fans and there is a small community who are fans of
his wingnut writings, but it seems to me he doesn't get a lot of friends IRL.

~~~
bitwize
He does.

Some of them are hackers, but it seems a lot of them he meets through his
other hobbies: wargaming, shooting, swordfighting, etc.

ESR is programming's William Shatner. His various doings get this big inflated
ego ascribed to him, but in real life he's just this guy, you know?

~~~
neilk
No, he just writes blog posts with titles like "The First Time I Changed
History".

<http://esr.ibiblio.org/?p=2539>

That said, in the latter half of this post he backpedals and gives the "hacker
culture" credit for being able to recognize his contributions, but still --
the title of the article isn't "On the openness of the RFC process in the
80s".

I don't know what to think about ESR. I disagree strongly with his
interpretation of what hacker culture is, and how free software works, and
personally I think it has taken us a long time to undo some of the damage he
did to the discourse in both those areas. But he also legitimately influenced
a lot of things for the better. Oddly, he seems to be unsatisfied with that
level of achievement, and wants to be recognized as being a great statesman or
visionary. If he claimed less credit he'd probably get more credit.

------
billswift
Raymond wrote a post about the koans and some of his other stuff Saturday,
_Mystical Poetry and Mental Postures_ \- <http://esr.ibiblio.org/?p=2596> ;
that I linked on HN - <http://news.ycombinator.com/item?id=1729978>.

------
tzury
if you find the design of the site's annoying for reading, you may be willing
to the readability version of it on a gingle pdf file

<http://dl.dropbox.com/u/135679/output.pdf>

------
donaq
This thread sort of shows exactly why ESR is where he is. Everybody seems to
have a strongly held opinion of him, positive or otherwise.

------
alnayyir
As much as I love zen koans, especially hacker koans, it's worth remembering
that ESR doesn't really code and I don't know if he merits the 'authority'
that some people ascribe to him.

~~~
nandemo
What do you mean, he doesn't really code? He has certainly produced open
source code in the past. You mean he's not primarily a programmer at the
moment?

~~~
alnayyir
The last time he tried to contribute code was more than a little embarrassing.

He managed to be on the ground at the right time for the whole free software
and hacker culture thing, but as far as actual coding goes, he's nothing
special.

~~~
Symmetry
Why did you feel it neccesary to criticize his coding skills when we are
discussing a semi-humorous piece of writing though? Does Reymond's skill or
lack thereof these days effect whether the Unix Koans are worthwhile? If
there's something wrong or inaccurate in them surely you could point that out
rather than proceeding straight to criticizing their source.

I'm having trouble understanding your comments here as anything other than
defensiveness or elitism.

~~~
alnayyir
What connore said, that and hackerne.ws appears to be turning into a rather
uncritical bunch of cheerleading, rather than any real sensible evaluation of
what's in front of them.

This community is starting to feel more like slashdot and TechCrunch
collaborated on a sister site than a bastion of valuable conversation.

~~~
whatusername
For reference - the canonical URL is news.ycombinator.com

