Unix lovers believe in the purity, virtue, and beauty of pipes. They extol pipes as the mechanism that, more than any other feature, makes Unix Unix. "Pipes," Unix lovers intone over and over again, "allow complexprograms to be built out of simpler programs. Pipes allow programs to be used in unplanned and unanticipated ways. Pipes allow simple implementations." Unfortunately, chanting mantras doesn't do Unix any more good than it does the Hari Krishnas.
Pipes do have some virtue. The construction of complex systems requires modularity and abstraction. This truth is a catechism of computer science. The better tools one has for composing larger systems from smaller systems, the more likely a successful and maintainable outcome. Pipes are a structuring tool, and, as such, have value.
Here is a sample pipeline:
egrep '^To:|^Cc:'/var/spool/mail/$USER | \ cut -c5- | \ awk '{ for (i = 1; i = NF; i++) print $i }' | \ sed 's/,//g' | grep -v $USER | sort | uniq
Clear, huh? This pipeline looks through the user's mailbox and determines which mailing lists they are on, (well, almost). Like most pipelines, this one will fail in mysterious ways under certain circumstances.
Indeed, while pipes are useful at times, their system of communication between programs--text traveling through standard input and standard output--limits their usefulness.4 First, the information flow is only one way. Processes can't use shell pipelines to communicate bidirectionally. Second, pipes don't allow any form of abstraction. The receiving and sending processes must use a stream of bytes. Any object more complex than a byte cannot be sent until the object is first transmuted into a string of bytes that the receiving end knows how to reassemble. This means that you can't send an object and the code for the class definition necessary to implement the object. You can't send pointers into another process's address space. You can't send file handles or tcp connections or permissions to access particular files or resources.
At the risk of sounding like a hopeless dream keeper of the intergalactic space, we submit that the correct model is procedure call (either local or remote) in a language that allows first-class structures (which C gained during its adolescence) and functional composition.
Pipes are good for simple hacks, like passing around simple text streams, but not for building robust software. For example, an early paper on pipes showed how a spelling checker could be implemented by piping together several simple programs. It was a tour de force of simplicity, but a horrible way to check the spelling (let alone correct it) of a document.
Pipes in shell scripts are optimized for micro-hacking. They give programmers the ability to kludge up simple solutions that are very fragile. That's because pipes create dependencies between the two programs: you can't change the output format of one without changing the input routines of the other.
Most programs evolve: first the program's specifications are envisioned, then the insides of the program are cobbled together, and finally somebody writes the program's output routines. Pipes arrest this process: as soon as somebody starts throwing a half-baked Unix utility into a pipeline, its output specification is frozen, no matter how ambigious, nonstandard, or inefficient it might be.
Pipes are not the be-all and end-all of program communication. Our favorite Unix-loving book had this to say about the Macintosh, which doesn't have pipes:
"The Macintosh model, on the other hand, is the exact opposite. The system doesn't deal with character streams. Data files are extremely high level, usually assuming that they are specific to an application. When was the last time you piped the output of one program to another on a Mac? (Good luck even finding the pipe symbol.) Programs are monolithic, the better to completely understand what you are doing. You don't take MacFoo and MacBar and hook them together." --From Life wit
Hell, if I want to go from San Bernardino to Denver, I'll hitch up my horses, double-check my carriage axles and make sure I have enough food for the mountains.
You ever read Ayn Rand's Anthem? If not you should, it's a really good book. http://slashdot.org/comments.pl?sid=99732&c id=8503 387
Problem is, would this lead to a tyranny of the majority? If something like Wikipedia were around in Gallileo's time, would it ever say that the earth is round? http://slashdot.org/comments.pl?sid=99732& cid=8503 547
If people brought up frivilous lawsuits and suddently found themselves staring down the barrel of a gun...I'm sure they would reconsider abusing the law. http://slashdot.org/comments.pl?sid=99714&ci d=8501 776
Darl, a man like any other, reliant on an electronic world, pissing off a hundred thousand people who control that world. heh, a gun hey. http://slashdot.org/comments.pl?sid=99714&ci d=8501 730 [So much for fairness --Ed.]
The law in various parts of the United States does not allow one to carry firearms or to be protected by "sharpshooters" who are not government employees. In San Francisco, for example, where Darl claimed he had armed bodyguards inside the Moscone Center. Were they properly licensed in the City of SF? http://slashdot.org/comments.pl?sid=99714&cid =8501 885 [Obviously if they were Darl's they must not have been --Ed.]
A lot of very sensitive studies [of the Chernobyl nuclear accident] have found little or no impact on wildlife from the radiation. This includes DNA analysis looking for excess mutation rates. The much-hyped 100,000 excess cancers have not appeared. The only solidly linked human effect (other than to those who fought the fire) has been an excess of thyroid cancer in children downstream, with one reported death as of a few years ago. http://science.slashdot.org/comments.pl?sid= 99468& cid=8482681 [Holy shit --Ed.]
Slashdot is relatively good journalism, IMO. http://ask.slashdot.org/comments.pl?sid=9936 3&cid= 8478822
The MPAA is now trying to prevent high quality copies made from TV broadcasts. The latest anti-piracy move will prevent you from making high-quality copies of broadcast TV programs. And the new "broadcast flag" technology enables all manner of other restrictions. In the future, the Motion Picture Association of America will control your television set. http://slashdot.org/article.pl?sid=04/03/04/ 191220 0&mode=nested
I'm a systems designer on the iPod team, and we actually considered OpenRISC as the CPU on future iPod versions. Its appeal to open-source lovers made it a serious contender. http://slashdot.org/comments.pl?sid=88 536&cid=7664 245 (Score:4, Insightful)
Slashbots want to be spoonfed, that's why they are called Slashbots. Throw in some linux here, SCO there, anti-MS FUD and you have yourself a Slashbot-style geeky self-rightous wankfest. Slashdot is just as full of content-hungry mindless babies as the CNN and Fox News audience. http://slashdot.org/comments.pl?sid=932 66&cid=8009 705 (Score:0) [The truth hurts --Ed.]
I'm sure Apple is working day and night to add OGG just to get the seventeen people who are holding out for it onboard. Seriously, who gives a shit if it's got OGG support? Nobody I have ever met in the real world outside of Slashdot has ever once mentioned OGG to me. Nobody. It's a non-factor. It's irrelevant. It's one more thing that does something everyone can already do. It's "Gimmie something open because I only want to use it if it's open" while the rest of the world is "Why?". Fuck OGG. Fuck it in it's stupid ass. OGG is the clown shoes of digital music. http://slashdot.org/comments.pl?sid=92451& cid=7949 504 (Score:0, Flamebait) [The truth hurts --Ed.]
Anytime anyone says linux/mozilla are better than windows/ie, a few more people take it seriously. Take any opportunity you can. http:
Years ago, (circa 1990) we had one of the salesman drop by to deliver our "free" Marriam Webster dictionary. He was selling $3000 ecyclopedia sets. I asked him for a CD version but he was intent on selling a shelf full of books that would be obsolete in a year (or less).
As opposed to a CD which will magically update itself every year (or less).
It seems other people had been asking for the same thing.
CDs that magically updated themselves every year?
He really became quite agitated about me insisting on a subscription based CD version and stormed off.
Maybe you should have taken the hint the first time he said he didn't offer a CD version and not been such a prick.
No $3000 sale of rotting books,
Rotting books that will last 150 years if well cared for as opposed to 30 years in an absolute best case scenario for the CD (much less considering the proprietary executable on the CD which will only run on a certain version of a particular OS).
Companies that do not listen to their potential customers deserve whatever fate they create for themselves.
They're listening to you, it's just that they're too busy laughing their balls off at your stupid ass to satisfy you with a new product.
I imagine that if they were to take the material that they already had on computer and market it through CD's and then later through DVD's they would still have a booming business.
You have guy A who goes off, does what he has to do to pass college, and goes party. You have guy B, who now has a masters, plus 6, 8, or 10 years of real-world programming experience. Who will you hire? Seriously. Don't get a life, it won't get you work. =)
I'd probably hire guy A, because at least I can be sure he's not some self-righteous computer geek prick - he stands a much better chance of being a well-rounded person who knows how to relate to real people and handle real life situations than someone who's sat in front of his computer his whole life with no social skills whatsoever (although having ample B.O. and facial hair to make up for it).
Clearly the OSS community can do better than this "Final Fantasy" or "Quake" pap, just look at Tux Racer, and Nethack, and FreeCiv, and the BSD games package!
Let's see opensores take this kind of responsibility. Linux's take is, "sure it could corrupt your data, but at least you can do it for free!"
"laughably easy" - do you laugh when things are easy?
"unix goodness" - oxymoron?
Unix lovers believe in the purity, virtue, and beauty of pipes. They extol pipes as the mechanism that, more than any other feature, makes Unix Unix. "Pipes," Unix lovers intone over and over again, "allow complexprograms to be built out of simpler programs. Pipes allow programs to be used in unplanned and unanticipated ways. Pipes allow simple implementations." Unfortunately, chanting mantras doesn't do Unix any more good than it does the Hari Krishnas.
/var/spool/mail/$USER | \ cut -c5- | \ awk '{ for (i = 1; i = NF; i++) print $i }' | \ sed 's/,//g' | grep -v $USER | sort | uniq
Pipes do have some virtue. The construction of complex systems requires modularity and abstraction. This truth is a catechism of computer science. The better tools one has for composing larger systems from smaller systems, the more likely a successful and maintainable outcome. Pipes are a structuring tool, and, as such, have value.
Here is a sample pipeline:
egrep '^To:|^Cc:'
Clear, huh? This pipeline looks through the user's mailbox and determines which mailing lists they are on, (well, almost). Like most pipelines, this one will fail in mysterious ways under certain circumstances.
Indeed, while pipes are useful at times, their system of communication between programs--text traveling through standard input and standard output--limits their usefulness.4 First, the information flow is only one way. Processes can't use shell pipelines to communicate bidirectionally. Second, pipes don't allow any form of abstraction. The receiving and sending processes must use a stream of bytes. Any object more complex than a byte cannot be sent until the object is first transmuted into a string of bytes that the receiving end knows how to reassemble. This means that you can't send an object and the code for the class definition necessary to implement the object. You can't send pointers into another process's address space. You can't send file handles or tcp connections or permissions to access particular files or resources.
At the risk of sounding like a hopeless dream keeper of the intergalactic space, we submit that the correct model is procedure call (either local or remote) in a language that allows first-class structures (which C gained during its adolescence) and functional composition.
Pipes are good for simple hacks, like passing around simple text streams, but not for building robust software. For example, an early paper on pipes showed how a spelling checker could be implemented by piping together several simple programs. It was a tour de force of simplicity, but a horrible way to check the spelling (let alone correct it) of a document.
Pipes in shell scripts are optimized for micro-hacking. They give programmers the ability to kludge up simple solutions that are very fragile. That's because pipes create dependencies between the two programs: you can't change the output format of one without changing the input routines of the other.
Most programs evolve: first the program's specifications are envisioned, then the insides of the program are cobbled together, and finally somebody writes the program's output routines. Pipes arrest this process: as soon as somebody starts throwing a half-baked Unix utility into a pipeline, its output specification is frozen, no matter how ambigious, nonstandard, or inefficient it might be.
Pipes are not the be-all and end-all of program communication. Our favorite Unix-loving book had this to say about the Macintosh, which doesn't have pipes:
"The Macintosh model, on the other hand, is the exact opposite. The system doesn't deal with character streams. Data files are extremely high level, usually assuming that they are specific to an application. When was the last time you piped the output of one program to another on a Mac? (Good luck even finding the pipe symbol.) Programs are monolithic, the better to completely understand what you are doing. You don't take MacFoo and MacBar and hook them together." --From Life wit
the correct term is "theft"
Hell, if I want to go from San Bernardino to Denver, I'll hitch up my horses, double-check my carriage axles and make sure I have enough food for the mountains.
The lot of you!
GREAT SLASHDOT QUOTES VOL. 1
You ever read Ayn Rand's Anthem? If not you should, it's a really good book.
http://slashdot.org/comments.pl?sid=99732&c id=8503 387
Problem is, would this lead to a tyranny of the majority? If something like Wikipedia were around in Gallileo's time, would it ever say that the earth is round?
http://slashdot.org/comments.pl?sid=99732& cid=8503 547
If people brought up frivilous lawsuits and suddently found themselves staring down the barrel of a gun...I'm sure they would reconsider abusing the law.
http://slashdot.org/comments.pl?sid=99714&ci d=8501 776
Darl, a man like any other, reliant on an electronic world, pissing off a hundred thousand people who control that world. heh, a gun hey.
http://slashdot.org/comments.pl?sid=99714&ci d=8501 730
[So much for fairness --Ed.]
The law in various parts of the United States does not allow one to carry firearms or to be protected by "sharpshooters" who are not government employees. In San Francisco, for example, where Darl claimed he had armed bodyguards inside the Moscone Center. Were they properly licensed in the City of SF?
http://slashdot.org/comments.pl?sid=99714&cid =8501 885
[Obviously if they were Darl's they must not have been --Ed.]
A lot of very sensitive studies [of the Chernobyl nuclear accident] have found little or no impact on wildlife from the radiation. This includes DNA analysis looking for excess mutation rates. The much-hyped 100,000 excess cancers have not appeared. The only solidly linked human effect (other than to those who fought the fire) has been an excess of thyroid cancer in children downstream, with one reported death as of a few years ago.
http://science.slashdot.org/comments.pl?sid= 99468& cid=8482681
[Holy shit --Ed.]
Slashdot is relatively good journalism, IMO.
http://ask.slashdot.org/comments.pl?sid=9936 3&cid= 8478822
The MPAA is now trying to prevent high quality copies made from TV broadcasts. The latest anti-piracy move will prevent you from making high-quality copies of broadcast TV programs. And the new "broadcast flag" technology enables all manner of other restrictions. In the future, the Motion Picture Association of America will control your television set.
http://slashdot.org/article.pl?sid=04/03/04/ 191220 0&mode=nested
I'm a systems designer on the iPod team, and we actually considered OpenRISC as the CPU on future iPod versions. Its appeal to open-source lovers made it a serious contender.
http://slashdot.org/comments.pl?sid=88 536&cid=7664 245
(Score:4, Insightful)
Slashbots want to be spoonfed, that's why they are called Slashbots. Throw in some linux here, SCO there, anti-MS FUD and you have yourself a Slashbot-style geeky self-rightous wankfest. Slashdot is just as full of content-hungry mindless babies as the CNN and Fox News audience.
http://slashdot.org/comments.pl?sid=932 66&cid=8009 705
(Score:0) [The truth hurts --Ed.]
I'm sure Apple is working day and night to add OGG just to get the seventeen people who are holding out for it onboard. Seriously, who gives a shit if it's got OGG support? Nobody I have ever met in the real world outside of Slashdot has ever once mentioned OGG to me. Nobody. It's a non-factor. It's irrelevant. It's one more thing that does something everyone can already do. It's "Gimmie something open because I only want to use it if it's open" while the rest of the world is "Why?". Fuck OGG. Fuck it in it's stupid ass. OGG is the clown shoes of digital music.
http://slashdot.org/comments.pl?sid=92451& cid=7949 504
(Score:0, Flamebait) [The truth hurts --Ed.]
Anytime anyone says linux/mozilla are better than windows/ie, a few more people take it seriously. Take any opportunity you can.
http:
Years ago, (circa 1990) we had one of the salesman drop by to deliver our "free" Marriam Webster dictionary. He was selling $3000 ecyclopedia sets. I asked him for a CD version but he was intent on selling a shelf full of books that would be obsolete in a year (or less).
As opposed to a CD which will magically update itself every year (or less).
It seems other people had been asking for the same thing.
CDs that magically updated themselves every year?
He really became quite agitated about me insisting on a subscription based CD version and stormed off.
Maybe you should have taken the hint the first time he said he didn't offer a CD version and not been such a prick.
No $3000 sale of rotting books,
Rotting books that will last 150 years if well cared for as opposed to 30 years in an absolute best case scenario for the CD (much less considering the proprietary executable on the CD which will only run on a certain version of a particular OS).
Companies that do not listen to their potential customers deserve whatever fate they create for themselves.
They're listening to you, it's just that they're too busy laughing their balls off at your stupid ass to satisfy you with a new product.
I imagine that if they were to take the material that they already had on computer and market it through CD's and then later through DVD's they would still have a booming business.
Speak of the devil, and it's only $69.95. You sir are a genius.
I nominate you for Slavish Technology Worshipping Jacknuts of the Year.
Are you fucking insane?
All the academics who work for free with no salary or grants? How many is that, like, um, 0?
You have guy A who goes off, does what he has to do to pass college, and goes party. You have guy B, who now has a masters, plus 6, 8, or 10 years of real-world programming experience. Who will you hire? Seriously. Don't get a life, it won't get you work. =)
I'd probably hire guy A, because at least I can be sure he's not some self-righteous computer geek prick - he stands a much better chance of being a well-rounded person who knows how to relate to real people and handle real life situations than someone who's sat in front of his computer his whole life with no social skills whatsoever (although having ample B.O. and facial hair to make up for it).
I hate those bastards
Clearly the OSS community can do better than this "Final Fantasy" or "Quake" pap, just look at Tux Racer, and Nethack, and FreeCiv, and the BSD games package!
They shold have yoused linix!!!!!!!11111111
I remember reading some interesting discussion about this. The web page seems to be down but I managed to find a copy from the wayback machine. Enjoy