But as is always my policy when doing large rm's, I begin with an ls of the same arguments first so that I can see what it will delete, then arrow-up to the command again and change the 'ls' to 'rm' to do it for real.
Correct. A truly careless user will tend to fuck things up, even if you prompt him "really want to recursively delete entire home directory?" (shorter is better...the longer a message, the less likely the user will read it). However, you can at least put a speedbump along the road to oblivion. It might actually stop a semi-conscious user from deleting all their important info, and save them time. This is good.
The "are you sure y/n" method is ONLY useful if it is an uncommon message. If you are always prompted for each and every time you attempt to use the command, then automatically saying "yes" becomes part of your automatic unthinking processes, and it doesn't help matters to have the message there. It has to be a message that when it appears indicates something DIFFERENT from normal is happening. For this reason I never bother with aliasing "rm" to "rm -i" like a lot of people do. It's a useless step that just trains you to hold down the 'y' key after doing an 'rm' command.
No. The purpose of the computer should be to on average allow the user to get work done as fast as possible.
No. The first purpose of the computer should be to make as MANY THINGS as possible, possible. Doing so in the easiest way is the second purpose. If optimizing for the simple case causes the complex case to fail, you shouldn't do it that way. Such is the way with "rm". The only way to make mistakes impossible with it is to reduce its utility.
"Yea, so what the slats extention switch can be accidentally turned on by an unintentional movement, possibly causing passenter-injury. Tell the pilots to be more careful and not fuck up."
The difference is that, although an airplane is as complex as a computer, it has a much simpler single purpose, and so the engineers can eliminate some things from contention as valid operations. There is no valid reason to extend the slats at 500 mph. It won't help, not even as an airbrake, because it will just fail to work at that speed. Therefore the decision make it so the pilots are never allowed to do so isn't a problem.
With a computer interface, it's not the same. Even when the user does something strange, that might really be a valid action. You can't have the OS trying to out-guess the user. There might be a valid reason to rm -rf/.
The problem is that I am usually removing files because I need the disk space - so putting them in a trash folder doesn't really help. It just makes an unnecessary intermediate step to actually getting rid of them. This happens a lot in GUIs with trashcans such as Mac and Windows as well - the only reason to use the trashcan is that it is what the GUI interface is designed to do by default.
To admit something is broken and has to change is frightening to those who actually *use* that "broken" feature to get real work done (who therefore don't see it as all that broken). That's why OS religious wars develop. When you take a feature someone actually uses and say it's a misfeature that needs to be removed, you are essentially denying that that person exists.
Right click on folder. Select search. Type text. Click "Search Now".
I already know which one is harder. Now which one is better?
Now re-read the post above yours and realize you are solvind a diferent (much simpler) problem than the one proposed. It wasn't just a matter of finding the resulting files for a human to look through. It was a matter of *processing that list* in some further fashion through some other tool. The GUI way doesn't let you do that.
(I've often wondered if it would be possible to design a GUI targetted at experienced users, giving means to express more complex concepts like (take the result of this find and run it through this program over here before showing me the results.) Some sort of a drag-and-drop pipestream would be needed to give GUIs anything even close to the functionality of a CLI.)
but they don't really help so much if you don't know the command name in the first place.
That's what "man -k" is for. It's too bad it was only recently that distros started including the apropos database for it installed by default on new systems. It's very important for it to be there fore the newbies (precisely the very people who wouldn't know how to set up the apropos database, or even that they should.)
This is true, but also not very important. Even if commands in English were picked, you'd still have to remember which of the many synonyms in the thesarus for that idea is the right one. "Was that the 'move' command, or the 'rename' command, or the 'moniker' command, or the 'changename' command, or...." It gets to where you have to memorize the command names anyway, even if they are in plain english.
The fact that the computer doesn't handle semantic meaning and only knows precise spellings of limited terms is a problem regardless of whether those words are in English or not. Rememeber the frustration of trying to tell ZORK what you wanted it to do, and knowing it's possible, but not remembering exactly how to phrase it?
The biggest thing it got "right" was portability and thus it was easy to migrate it from one hardware platform to another. The reason it became ubiquitous is that a company putting out a new high-end (for the time) computer system could get a unix version working on it with relatively less effort compared to any other OS. And so there were zillions of versions of Unix out there, from different companies. Who besides DEC put out a computer that would run VMS? Exactly.
While these are issues the end-user doesn't see, they are important - VERY MUCH SO. So unix became popular not for it's UI, but for everything underneath that being hardware-agnostic.
It's pretty much the same reason the IBM-compatable PC became the standard (and unfortunaltey MS DOS along with it.) It was more open (although not by IBM's choice) and thus ubiquitous than the proprietary archetectures of the other home computers. From a design standpoint, it was crap (And there are still leftovers from that bad deisgn - WTF was Intel thinking making a CPU with middle-endian arithmetic?? How many drugs had the engineers taken that day?). But open-ness is a very powerful economic incentive that can more than make up for a bad design, and so today we have intel PC's everywhere. (Microsoft got lucky and was carried along for the ride since MS-DOS was on all the PC's being sold, and people liked PC's for the price (a direct result of the openness of the archetecture.))
A) I believe in optimizing for the common case. How many people will ever find the need to do such tasks? How much time will you spending doing those sorts of tasks?
The problem is that to optimise for the common case you often have to not just make the other cases sub-optimal, but actually drop them entirely. This is the problem I have with Windows and Mac. Saying "optimize for the common case" is fine and dandy, but it is a *second* step. The *first* step should be to optimize for the max number of possible cases covered. If those two are in conflict, the first step should win out (for example if the only way to make something simple is to make other things impossible, then sacrifice the simplicity.) I will admit however, that when it comes to picking defaults, that many of the unix command-line options do seem quite backward. (I can understand the need to have the "find" command have both a silent mode and a printing mode. But why is silent the default of those two? It should go the other way around.)
This isn't a HOWTO. No solution is involved. No fixes. Just a case of saying the way it does work is wrong, without explaining how to do it better (Note the LISP macing examples - not actually practical solutions.) And real-world implementation of something will always have warts compared to theoretical might-have-beens. I'm not impressed by this book.
I hope the people who read this get the joke; that only a group of people intimately familiar with Unix could have produced such a book.
Actually I had the exact opposite impression when I read it. Many of the things it complains about are not actually true, and in many cases they complain about the bad effects of a feature while completely ignoring the good effects of that same feature. It's just the sort of crap I'd expect to see someone trolling in a newsgroup OS religious war. It isn't the sort of self-effacing joke that would be written by someone actually understands and works with what they are ridiculing. For that it would have to be based on truths.
No. The unix culture is that if you make the underlying tools simple and generic, you can build better high end tools on top of them than if you just target the high end first and ignore the many layers between that and the hardware. By putting a different user interface on top of unix, Apple is very much legitimizing the unix culture (and admitting that their previous OS'es had unfixable design flaws inside.)
"Agree to slavery" is a contradiction in terms. What those S&M-ers are doing is agreeing to *PRETEND* to be slaves. It's not slavery if you are allowed to back out of it whenever you wish.
Mind you, one of the first things a tyrannical government does (or early things) is disarm its citizenry so they can't fight. And many revolutions are still carried out. You can't say "in this day and age overthrowing your government is impossible" because in this day and age, several industrialized and well-armed governments have already been overthrown. Any Soviet Russia jokes? In Soviet Russia, people overthrow YOU.
Arms are only necessary to help a rebellion succeed when that rebellion doesn't have an overwhelming majority. Get enough people on your side and it doesn't matter if they are armed with rifles or sticks. If the hearts and minds of the people are with you, you still win because the nation's soldiers want to join with you instead of fighting you. (This is what happened with that failed coup attempt in Moscow during Gorbachev's last days.) Thus cracking down on information is far more important to a corrupt tyrannical government than cracking down on arms. Free spread of information can lead to a popular front against the government. Free spread of guns without free spread of information only leads to separate armed groups without any cohesion.
I read the article and it said nothing about exploding anything on the moon. The "bunker buster" part was about the technology to impact the shell into the surface of the moon and keep the equipment inside intact. The intent was to then have instruments inside the "warhead" take measurements from under the surface.
I too have read the Riftwar books, but am getting sick of how the later ones don't seem to be going anywhere, and are actually becoming less grandiose in scope. (When your first book is about two entire worlds fighting, and the end of the world being narrowly averted, it's hard to keep up interest afterward in such petty things as keeping a kingdom together.)
And the Tolkien stories are worthwhile mainly because they started the whole genre. Before that, if you had a book about elves and swords and sorcery, it was assumed it must be a children's book, and was written that way.
Absolute truth, by it's definition, is true whether enyone understands or believes it to be true.
The fact that many have been abusive in the name of every religion, is not relevant either.
Actually, yes it is relevant. If it is not possible to tell whether one has the absolute truth, yet you promote a rule that says absolute truth is the way toward perfect ethics, then people who *think* they have the absolute truth will abuse that rule to the fullest. The honest people are the ones who can tell that they don't have the means to detect if their thruths are absolute or not, but under the rule you'd like to promote, those are the very people who aren't given credibility.
Why don't those in charge understand that it isn't in _their_ long term interests?
Because it isn't. It's in the best interests of the nation as a whole in the long run, but those in charge today won't be the ones in charge in the long run and they know it.
This problem in government is the same problem many large companies have - the people making the decisions don't have longevity of the company (or country) as a priority. Thier priority is short term prosperity they can milk right now. They know they can just leave it to someone else to repair the damage they caused with their short-sighted policies. If a company gets bought out after a few years because that company let a competitor dictate how the industry should be run, and bent over and took it, much of the upper echelon will consider that a success for them. Getting bought out can be very lucrative for those at the top of the company being bought.
The reason computer people start at zero is because that's what math people do, and there is a big overlap (or was) between computer people and math people) The notion of N items numbered from 0 to N-1 is ubiquitous in math texts.
He's even free to publish his findings if the thing he figured out how to do wasn't designed specifically to prevent unauthorized copying.
CSS on DVS's doesn't prevent unauthorized copying. It wasn't designed to do so either. It was designed to exert control over the playback device market. (Because of it, nobody can legally make a playback device that ignores country code or no-skip sections anymore.) The use of CSS was merely a vehicle to prohibit people from producing legal players unless they sign a paper agreeing to add the user-uinfriendly features the MPAA wants but customers don't want. Without that, the DVD player market would be dominated by players that chose to ignore the region code and no-skip codes - making players that are MORE featureful while actually taking LESS effort to produce.
It is precisely an example of what you claim the DMCA doesn't do - to make it illegal to teach people how a device they own (DVD player) works (at least not fully - you can only go so far and then you have to stop when you get to the bit about how to decrypt CSS - EVEN THOUGH CSS DOES NOT PREVENT COPYING OR EVEN CREATE ANY BARRIER OF DIFFICULTY TO PIRATES AT ALL.) CSS wasn't put int place to control pirates. It was put there to control producers of playback devices. The reason encryption was used was because through the DMCA that's the lever that lets them have that control. (I you want to legally decrypt CSS, you have to sign an agreement that binds you to implementing the region code enforcement and the no-skip code enforcement in your playback device or software.)
For example, if TCP/IP were invented today, nothing would prevent you from anaylizing the bits and publishing your findings.
If TCP/IP were invented today it would end up having some built-in feature to encrypt your data stream if you so choose. Then understanding how it works would be illegal under the DMCA (Assuming TCP/IP was invented by a company rather than DARPA.)
You must have been sleeping and not noticed how if a company (or cartel as in the case of the MPAA) wants to make it illegal for anyone to publish information on how to use their products, all they have to do is add some encryption and then you aren't capable of producing information legally on how to view it. In a fair legal environment, the copyright holder of a DVD could still decide whether or not you are allowed to copy their DVD, but could NOT decide what playback devices are legal and which ones are not. But we no longer have a fair legal environment.
How often is someone going to 'rm -rf
I do it a lot.
But that's because I use chroot a lot
But as is always my policy when doing large rm's, I begin with an ls of the same arguments first so that I can see what it will delete, then arrow-up to the command again and change the 'ls' to 'rm' to do it for real.
Correct. A truly careless user will tend to fuck things up, even if you prompt him "really want to recursively delete entire home directory?" (shorter is better...the longer a message, the less likely the user will read it). However, you can at least put a speedbump along the road to oblivion. It might actually stop a semi-conscious user from deleting all their important info, and save them time. This is good.
The "are you sure y/n" method is ONLY useful if it is an uncommon message. If you are always prompted for each and every time you attempt to use the command, then automatically saying "yes" becomes part of your automatic unthinking processes, and it doesn't help matters to have the message there. It has to be a message that when it appears indicates something DIFFERENT from normal is happening. For this reason I never bother with aliasing "rm" to "rm -i" like a lot of people do. It's a useless step that just trains you to hold down the 'y' key after doing an 'rm' command.
No. The purpose of the computer should be to on average allow the user to get work done as fast as possible.
No. The first purpose of the computer should be to make as MANY THINGS as possible, possible. Doing so in the easiest way is the second purpose. If optimizing for the simple case causes the complex case to fail, you shouldn't do it that way. Such is the way with "rm". The only way to make mistakes impossible with it is to reduce its utility.
"Yea, so what the slats extention switch can be accidentally turned on by an unintentional movement, possibly causing passenter-injury. Tell the pilots to be more careful and not fuck up."
The difference is that, although an airplane is as complex as a computer, it has a much simpler single purpose, and so the engineers can eliminate some things from contention as valid operations. There is no valid reason to extend the slats at 500 mph. It won't help, not even as an airbrake, because it will just fail to work at that speed. Therefore the decision make it so the pilots are never allowed to do so isn't a problem.
With a computer interface, it's not the same. Even when the user does something strange, that might really be a valid action. You can't have the OS trying to out-guess the user. There might be a valid reason to rm -rf
The problem is that I am usually removing files because I need the disk space - so putting them in a trash folder doesn't really help. It just makes an unnecessary intermediate step to actually getting rid of them. This happens a lot in GUIs with trashcans such as Mac and Windows as well - the only reason to use the trashcan is that it is what the GUI interface is designed to do by default.
To admit something is broken and has to change is frightening to those who actually *use* that "broken" feature to get real work done (who therefore don't see it as all that broken). That's why OS religious wars develop. When you take a feature someone actually uses and say it's a misfeature that needs to be removed, you are essentially denying that that person exists.
Vs Windows 2000:
Right click on folder. Select search. Type text. Click "Search Now".
I already know which one is harder. Now which one is better?
Now re-read the post above yours and realize you are solvind a diferent (much simpler) problem than the one proposed. It wasn't just a matter of finding the resulting files for a human to look through. It was a matter of *processing that list* in some further fashion through some other tool. The GUI way doesn't let you do that.
(I've often wondered if it would be possible to design a GUI targetted at experienced users, giving means to express more complex concepts like (take the result of this find and run it through this program over here before showing me the results.) Some sort of a drag-and-drop pipestream would be needed to give GUIs anything even close to the functionality of a CLI.)
but they don't really help so much if you don't know the command name in the first place.
That's what "man -k" is for. It's too bad it was only recently that distros started including the apropos database for it installed by default on new systems. It's very important for it to be there fore the newbies (precisely the very people who wouldn't know how to set up the apropos database, or even that they should.)
A) Cryptic Command Names. Still there in Linux
This is true, but also not very important. Even if commands in English were picked, you'd still have to remember which of the many synonyms in the thesarus for that idea is the right one. "Was that the 'move' command, or the 'rename' command, or the 'moniker' command, or the 'changename' command, or...." It gets to where you have to memorize the command names anyway, even if they are in plain english.
The fact that the computer doesn't handle semantic meaning and only knows precise spellings of limited terms is a problem regardless of whether those words are in English or not. Rememeber the frustration of trying to tell ZORK what you wanted it to do, and knowing it's possible, but not remembering exactly how to phrase it?
The biggest thing it got "right" was portability and thus it was easy to migrate it from one hardware platform to another. The reason it became ubiquitous is that a company putting out a new high-end (for the time) computer system could get a unix version working on it with relatively less effort compared to any other OS. And so there were zillions of versions of Unix out there, from different companies. Who besides DEC put out a computer that would run VMS? Exactly.
While these are issues the end-user doesn't see, they are important - VERY MUCH SO. So unix became popular not for it's UI, but for everything underneath that being hardware-agnostic.
It's pretty much the same reason the IBM-compatable PC became the standard (and unfortunaltey MS DOS along with it.) It was more open (although not by IBM's choice) and thus ubiquitous than the proprietary archetectures of the other home computers. From a design standpoint, it was crap (And there are still leftovers from that bad deisgn - WTF was Intel thinking making a CPU with middle-endian arithmetic?? How many drugs had the engineers taken that day?). But open-ness is a very powerful economic incentive that can more than make up for a bad design, and so today we have intel PC's everywhere. (Microsoft got lucky and was carried along for the ride since MS-DOS was on all the PC's being sold, and people liked PC's for the price (a direct result of the openness of the archetecture.))
A) I believe in optimizing for the common case. How many people will ever find the need to do such tasks? How much time will you spending doing those sorts of tasks?
The problem is that to optimise for the common case you often have to not just make the other cases sub-optimal, but actually drop them entirely. This is the problem I have with Windows and Mac. Saying "optimize for the common case" is fine and dandy, but it is a *second* step. The *first* step should be to optimize for the max number of possible cases covered. If those two are in conflict, the first step should win out (for example if the only way to make something simple is to make other things impossible, then sacrifice the simplicity.) I will admit however, that when it comes to picking defaults, that many of the unix command-line options do seem quite backward. (I can understand the need to have the "find" command have both a silent mode and a printing mode. But why is silent the default of those two? It should go the other way around.)
This isn't a HOWTO. No solution is involved. No fixes. Just a case of saying the way it does work is wrong, without explaining how to do it better (Note the LISP macing examples - not actually practical solutions.) And real-world implementation of something will always have warts compared to theoretical might-have-beens. I'm not impressed by this book.
I hope the people who read this get the joke; that only a group of people intimately familiar with Unix could have produced such a book.
Actually I had the exact opposite impression when I read it. Many of the things it complains about are not actually true, and in many cases they complain about the bad effects of a feature while completely ignoring the good effects of that same feature. It's just the sort of crap I'd expect to see someone trolling in a newsgroup OS religious war. It isn't the sort of self-effacing joke that would be written by someone actually understands and works with what they are ridiculing. For that it would have to be based on truths.
No. The unix culture is that if you make the underlying tools simple and generic, you can build better high end tools on top of them than if you just target the high end first and ignore the many layers between that and the hardware. By putting a different user interface on top of unix, Apple is very much legitimizing the unix culture (and admitting that their previous OS'es had unfixable design flaws inside.)
- "There are no American infidels in Baghdad. Never!"
- "Be assured. Baghdad is safe, protected"
- "they are nowhere near the airport
..they are lost in the desert...they can not read a compass...they are retarded."
I love that Mohammed Saeed al-Sahaf guy. He's so funny. Oh wait - this is the same guy, right?"Agree to slavery" is a contradiction in terms. What those S&M-ers are doing is agreeing to *PRETEND* to be slaves. It's not slavery if you are allowed to back out of it whenever you wish.
Arms are only necessary to help a rebellion succeed when that rebellion doesn't have an overwhelming majority. Get enough people on your side and it doesn't matter if they are armed with rifles or sticks. If the hearts and minds of the people are with you, you still win because the nation's soldiers want to join with you instead of fighting you. (This is what happened with that failed coup attempt in Moscow during Gorbachev's last days.) Thus cracking down on information is far more important to a corrupt tyrannical government than cracking down on arms. Free spread of information can lead to a popular front against the government. Free spread of guns without free spread of information only leads to separate armed groups without any cohesion.
Hey, I'm all in favor of anything that gets rid of moonies. Those guys in the orange robes are really annoying.
I read the article and it said nothing about exploding anything on the moon. The "bunker buster" part was about the technology to impact the shell into the surface of the moon and keep the equipment inside intact. The intent was to then have instruments inside the "warhead" take measurements from under the surface.
I too have read the Riftwar books, but am getting sick of how the later ones don't seem to be going anywhere, and are actually becoming less grandiose in scope. (When your first book is about two entire worlds fighting, and the end of the world being narrowly averted, it's hard to keep up interest afterward in such petty things as keeping a kingdom together.)
And the Tolkien stories are worthwhile mainly because they started the whole genre. Before that, if you had a book about elves and swords and sorcery, it was assumed it must be a children's book, and was written that way.
Actually, yes it is relevant. If it is not possible to tell whether one has the absolute truth, yet you promote a rule that says absolute truth is the way toward perfect ethics, then people who *think* they have the absolute truth will abuse that rule to the fullest. The honest people are the ones who can tell that they don't have the means to detect if their thruths are absolute or not, but under the rule you'd like to promote, those are the very people who aren't given credibility.
Because it isn't. It's in the best interests of the nation as a whole in the long run, but those in charge today won't be the ones in charge in the long run and they know it.
This problem in government is the same problem many large companies have - the people making the decisions don't have longevity of the company (or country) as a priority. Thier priority is short term prosperity they can milk right now. They know they can just leave it to someone else to repair the damage they caused with their short-sighted policies. If a company gets bought out after a few years because that company let a competitor dictate how the industry should be run, and bent over and took it, much of the upper echelon will consider that a success for them. Getting bought out can be very lucrative for those at the top of the company being bought.
The reason computer people start at zero is because that's what math people do, and there is a big overlap (or was) between computer people and math people) The notion of N items numbered from 0 to N-1 is ubiquitous in math texts.
It's not the act of making money in linux that bothers me. It's the hypocracy of villifying linux in lawsuits against competitors while doing so.
CSS on DVS's doesn't prevent unauthorized copying. It wasn't designed to do so either. It was designed to exert control over the playback device market. (Because of it, nobody can legally make a playback device that ignores country code or no-skip sections anymore.) The use of CSS was merely a vehicle to prohibit people from producing legal players unless they sign a paper agreeing to add the user-uinfriendly features the MPAA wants but customers don't want. Without that, the DVD player market would be dominated by players that chose to ignore the region code and no-skip codes - making players that are MORE featureful while actually taking LESS effort to produce.
It is precisely an example of what you claim the DMCA doesn't do - to make it illegal to teach people how a device they own (DVD player) works (at least not fully - you can only go so far and then you have to stop when you get to the bit about how to decrypt CSS - EVEN THOUGH CSS DOES NOT PREVENT COPYING OR EVEN CREATE ANY BARRIER OF DIFFICULTY TO PIRATES AT ALL.) CSS wasn't put int place to control pirates. It was put there to control producers of playback devices. The reason encryption was used was because through the DMCA that's the lever that lets them have that control. (I you want to legally decrypt CSS, you have to sign an agreement that binds you to implementing the region code enforcement and the no-skip code enforcement in your playback device or software.)
If TCP/IP were invented today it would end up having some built-in feature to encrypt your data stream if you so choose. Then understanding how it works would be illegal under the DMCA (Assuming TCP/IP was invented by a company rather than DARPA.)
You must have been sleeping and not noticed how if a company (or cartel as in the case of the MPAA) wants to make it illegal for anyone to publish information on how to use their products, all they have to do is add some encryption and then you aren't capable of producing information legally on how to view it. In a fair legal environment, the copyright holder of a DVD could still decide whether or not you are allowed to copy their DVD, but could NOT decide what playback devices are legal and which ones are not. But we no longer have a fair legal environment.