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.
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.
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.
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.
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.
>gitref.org makes it really easy to understand and use git, at least it did for me.
I don't avoid the git command line as much as I can because I don't know it or am afraid to learn it. I have to use it since GitX can't do everything I need yet (and the picture seems even worse on windows). I use the GUI as much as I can because it's a much more efficient work flow.
In a GUI like GitX it is much less effort to do patch commits because I can just view the changes and select the lines I want. It takes several different commands to accomplish this same functionality (a git status to see what's changed, git add -i on the file, e on the hunk I want, edit the hunk via vi, write the file).
>No graphical tools required.
Except there is. When you do "git -p file" (which I do a lot and would not have switched without this capability) you are put into a graphical editor to pick which parts of the hunk to commit.
"Except there is. When you do "git -p file" (which I do a lot and would not have switched without this capability) you are put into a graphical editor to pick which parts of the hunk to commit."
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.
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.
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.
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.
I for one am super glad he "broke us out of the geek ghetto" ( http://esr.ibiblio.org/?p=209 )Do you all remember how terrible it was with the Gestapo beating down our doors? Oh wait. -_- ESR is just full of himself like many other public figures. That said, The Art of Unix Programming was actually a surprisingly good book. I think someone must have edited all the crazy out of it.
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.
Man, don't be like that. I think ESR is a pompous ass, same as everyone. That doesn't mean he's useless. His maintenance of the Jargon File has been going pretty well, and while The Cathedral and the Bazaar had its weaknesses, it was the best introduction to the "Big Deal" about the open source movement the general public had at the time. Since co-founding OSI in 1998, Wikipedia says "He also took on the self-appointed role of ambassador of open source to the press, business and public," which I think he's been doing fairly well at since it's 100% 'personality'.
ESR claims that these koans appeal to hackers. You like them, and you're a hacker, so unless he got lucky, he has at least some small insight into what makes hackers tick.
His stewardship of the Jargon File has certainly not been going well - the terms he's added to the glossary have mostly been crap he's imported from his political circles, and his additions to the appendix have been even worse (eg. look at the Portrait of J Random Hacker and tell me it isn't ESR jerking off over himself). Perhaps my perspective is limited, but I've never spoken to someone familiar with the jargon file from before ESR took over its maintenance who felt his care had been anything but detrimental.
But that is work he's produced. I'm not sure whether he's a particularly good sociologist/chronicler of hacker culture or not, but that work should be judged on its own merits. Is it good sociology/history, or is it poorly done/inaccurate/done-better-elsewhere? I don't think looking at the quality of his C code is a particularly useful way of answering that question. I mean, some minimal technical knowledge is probably necessary to do a good job at it, but beyond that I'm not sure if there's good correlation between awesome-coder and great-chronicler.
I think what people are up in arms about, is that ESR calls himself a hacker—and most hackers, being programmers as well, think of hacking as referring to a particular kind of programming. These hackers, thus, form their meritocratic scale of "hackerlyness" around programming ability.
> Hacking might be characterized as 'an appropriate application of ingenuity'. Whether the result is a quick-and-dirty patchwork job or a carefully crafted work of art, you have to admire the cleverness that went into it. An important secondary meaning of hack is 'a creative practical joke'. This kind of hack is easier to explain to non-hackers than the programming kind. Of course, some hacks have both natures.
If this is how ESR defines "hacking", then his claim to be a hacker is not, also, an implicit claim that he is a good programmer (that one must then refute.) He simply claims to "apply ingenuity" and "joke around"—which, it's pretty clear from the OP link, he does, in the medium of prose.
> I think what people are up in arms about, is that ESR calls himself a hacker—and most hackers, being programmers as well, think of hacking as referring to a particular kind of programming.
Not a certain kind of programming. Just programming in general. I think in most people's minds, the concept "hacker" implicitly includes the concept "programmer."
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?
Eric can't code like Johnny can't read. He has produced minor, working code (e.g. popclient)or managed certain projects (e.g. ncurses), but he's not great, or even good at it.
The problem is that Eric stomps around claiming things that aren't his. He claims to be a "core Linux developer", when in reality, the only code he has is the kernel are the speaker driver (since pushed out) and some minor use of ncurses used for vt100 emulation in thr console driver.
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.
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.
Whether or not he is a good programmer or not is sort of irrelevant. I think he exaggerates his position as "spokesperson of hackers everywhere", and it is occasionally annoying (although more often I do enjoy his writing).
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.
When was the last time he tried to contribute code and how was it embarrassing? Actually, you'll need more than one example. You may well be right, but until you provide evidence, your assertions are baseless ad-hominem and I think less of you, not him.
Hey, come on... fetchmail deleted a lot of my mail back when I used POP3 over dialup. Without fetchmail, who would have been motivated enough to write offlineimap!?
http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/m...
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.