Should "B" be the Same as "b"? 342
joshua42 asks: "Although having used Linux and FreeBSD for many years, I have yet to come
across anyone seriously questioning the traditional UNIX style file system name paradigm. With an Amiga background (It should be the same for people growing up with Windows, or those growing up with no computer at all (God forbid!).) it took me quite a while to get used to 'A' and 'a' being treated as different characters. This is of course fairly easy to accept and to understand if you have a technical background. I do however
have a hard time to see how aunt Ginny will ever be able to distinguish between her 'Letter.txt', 'LETTER.TXT' and 'letter.txt' files. In real life, upper and lower case letters represents almost identical information to most people. Has any thoughts been spent on this issue, now that our
favorite OS is becoming increasingly mainstream? Does it need to be
addressed? Have any attempts been done? What are the implications to parts outside the file systems?" This is an interesting point. As Unix grows more and more popular, the simple things we've taken for granted about the filesystem may stand in the way of general users adopting it. What ways can you think of that will mitigate this problem for new Linux users without actually affecting too much? Special shells for novice users, that can simplify much of the complexity may be the way to go, here.
Well, it's not like the OS chooses case for you.. (Score:4, Funny)
My solution is for the OS to ignore the caps lock key. Not only would it solve the case problem, but it would shut up a whole lot of AOL users.
:-D
Re:Well, it's not like the OS chooses case for you (Score:2, Insightful)
Re:Well, it's not like the OS chooses case for you (Score:2)
In this circumstance the OS doesn't have to enter into the equation. Since what you are referring to is the search program, which is distinct from the OS. A search program could easily be programmed to default to being case insensitive (as the search in Windows is) and only discriminate on case when selected by the user.
Or if I try to name one file "letter.txt" and another "letter.TXT", it won't let me put them in the same directory.
Again, this could be addressed in the interface rather than the OS. Remember that with 32 bit Windows systems all files have three names, their long file name, their case sensitive long file name and the DOS (8.3) file name. As far as the OS is concerned you could get by with just one of these, the rest are just interface enhancements (I think that the OS in fact does this ignoring two of the name forms and using the third as the basis for locating files on the physical drive - the actual work of the OS.)
So really the question is could a *nix SHELL be created that is case insensitive, and could *nix file utilities be set to be case insensitive by default. And the answer to both of these questions is YES and YES, and the source code is out there should there be someone with sufficient interest and skill. You wouldn't the OS itself (i.e. the kernel) to be case insensitive as it would only remove capabilities and slow it down.
Re:Well, it's not like the OS chooses case for you (Score:2)
Not a horrible situation (as you said, DOS+Windows works that way), but IMO not the best situation. I think a case-preserving (only) system would be the best, because it is much easier to use for the normal person, and it would mean this case-issue would be consistent system-wide.
And what is lost? It may be difficult to convert everything over, which is not to be ignored. But just talking theoretically, how is this a worse filesystem (eg what is the advantage to having "Aaa.txt" exist in the same directory as "AAA.txt")?
mark
Re:Well, it's not like the OS chooses case for you (Score:3, Informative)
Because the file name Aaa.txt is "0x41 0x61 0x61 0x2e 0x74 0x78 0x74" in hexadecimal which is not the same as "0x41 0x41 0x41 0x2e 0x74 0x78 0x74" the hexadecimal equivalent of "AAA.txt".
When you get down to the core operation of the kernel, it shouldn't be burdened with having to do conversions of 0x41 to 0x61. If some one writing an application wants to make that distinction, that's fine (and could easily be incorporated into programming libraries), but it shouldn't be the job of the OS.
Flame-baitey topic (Score:3, Insightful)
Why don't we ask: "Should the convention for tapping threads in metal be switched to left hand threads by default?"
Nothing will change as a result of the discussion, and nothing should change. It's the 'simplify UNIX and destroy it in the process' arguement all over again.
Good grief.
Re:Flame-baitey topic (Score:2)
My point is that getting Unix (and it's variants) adopted by more users may require a change in how data is presented to them. We don't need to lose case sensitivity in the file system, and in many cases we shouldn't. When I posted this question I didn't even mean to imply that such a change should be made at such a low level. I implied a shell change. Nothing more.
Your analogy above regarding thread tapping is highly misleading and incorrect. There is nothing stopping someome from correcting this problem, and it's need not be as complex as changing ext2/3 or any filesystem for that matter, but the actual piece of software that interracts with the user!
For files like "LETTER.TXT", "Letter.Txt" and "letter.txt", what's stopping a "basic shell" from presenting these as "Letter.Txt(1)", "Letter.Txt(2)", and "Letter.Txt(3)". Note that we follow a standard case template for all files displayed and just add a counter which is easier for people to distinguish rather than differing case? These are all interface issues. The shell itself could disallow for creation of a filename that is a mixed-case version of something is already on the system (meaning that the display above need only occur if such files exist on the underlying file system).
This allows for Granny to have her own portion of the hard drive, while you can continue to use bash and it's ilk without effect. That's the trick here, trying to accomodate others without affecting anyone else, and hence the reason why I posted it.
I figure anything we can do to make Unix more appealing and intersting to use for the masses (without affecting ourselves) we should do. Please don't assume that a question is "stupid" or "impossible" solely because you don't see a workable solution. There are many heads here. Let's put them together and see if we can come up with something agreeable for everyone.
This is the purpose of Ask Slashdot in a nutshell.
I also disagree that change can't occur due to discussion. I instead posit that discussion is an essential trigger for change, and I respectfully challenge you to prove me wrong on that point.
Re:Flame-baitey topic (Score:3, Insightful)
What you really want are unicode enable file naming with colation patterns applied appropriately per locale the users locale.
Re:Flame-baitey topic (Score:2)
Granny also has trouble with her password. Sometimes she has the capslock key on and can't login. Better make all passwords case insensitive
Where do you stop? Granny shouldn't use the shell. Granny should use a GUI. Would you suggest that granny use a "command prompt" in Windows instead of Windows Explorer?
This is a flamebait topic, sorry. If granny is a fucking idiot, she will have trouble with certain features / behaviors in ANY type of computer / OS. If she is NOT a fucking idiot, she can learn that filenames, like passwords, are case sensitive. It's just not that hard of a concept to grasp. You seem to think it is for some reason. I've taught a number of not-very-bright people that filenames are case sensitive on UNIX. They never needed to be taught twice. The response was usually "Oh, OK. Now I know!"
I'll give you one VERY good reason why you shouldn't do "LETTER.TXT", "Letter.Txt" and "letter.txt", as "Letter.Txt(1)", "Letter.Txt(2)", and "Letter.Txt(3)" in a "basic shell". NO OTHER PROGRAM WILL KNOW WHAT "Letter.Txt(3)" IS. You are going to make Granny MUCH more confused than she already is. She will wonder what happened to her files as the names are "changed" out from under her. Sorry, changing things on the user behind the scenes is NOT userfriendly. Trying to explain to the user why filenames get changed and how is MUCH more difficult than just saying "Filenames in UNIX are case sensitive which means that letter.txt is different than Letter.txt.
There are MANY usability issues in Linux that need to be addressed. Filename case isn't one of them. You are attempting to make a "big deal" out of a TRIVIAL educational issue.
There is an old medical saying that applies: The cure is often worse than the disease (usually heard refering to side effects of drugs, some of which are nasty.)
Passwords (Score:2)
Personally, though, I think that's a bad idea. The little piece of BOFH in me says any user who can't remember letter case has a lot of learning to go through before they should be allowed to use an expensive piece of equipment such as a computer, and the case-sensitivity of passwords is an excellent automated way to ensure that this is in fact what happens.
Re:Passwords (Score:2)
The implication wasn't that any rules that apply to filenames should apply to passwords, too. I was saying that, if people have a difficult time with the fact that 'foo' 'FOO' and 'Foo' are three different words in a filesystem context, it would seem that they would have similar problems with passwords.
Only they don't.
Re:Passwords (Score:2)
Generally, passwords are a secret retained by the individual in limited quantities. It is not difficult for someone to remember wether or not they used upper case characters in their password. Typing passwords is partly about remember the letters in the password and partly about the motoskills to type the password. How many times have you realized you weren't sure of what letters were in your password, but knew if you had a keyboard in front of you you could type it.
The moment you start exchanging information with someone the issue of case sensitivity rears its ugly head. The moment you access a file you created 4 years ago the issue of case sensitivity rears its ugly head.
It isn't the file you accessed yesterday. Its the file you haven't accessed for 2 months. It's the file Joe own the hall sent you. Etc.
Re:Passwords (Score:2)
Re:Flame-baitey topic (Score:2)
Sorry, I just wanted to ack like you for a second to see what it was like.
It's not a simple fix in the filesystem code to handle all the conflicts in existing filesystems and code. This is definatly a flamebait topic. The solution is in the interface, not the filesystem. If you want case insensitivity in the open dialog box of your word processor application, then implement your graphics toolkit's common dialog's appropriatly. Don't water down your core codebase in total disregard of the non-desktop users to solve an interface problem.
Re:Flame-baitey topic (Score:2)
Really? Can you honestly say you know of something that depends on the fact that there can be files somestuff, SomeStuff and SOMESTUFF in the same directory or on the same path?
In general, people know that if I make a README, a ReadMe and a readme file, not even the most techie person is going to remember witch one contains what, so you don't do it.
I consider this worth doing - in fact, I consider even deeper changes to the way *nix handles it's files (see my journal on that) worth doing.
The actual problem is not that it would be hard, but that all the idiot l33ts would flame a full volcano about it "ruining linux". And then there are always the people who think that it should be done in the UI instead of in the system itself - which of course never worked and never will work (especially not in the OSS world) because alot of programmers say "screw you" to the guides and "my way of doing it is much better".
The biggest difference would probably be that you'd get one less error once in a while from doing the wrong capsation (is that a word?) of a filename.
Re:Flame-baitey topic (Score:4, Informative)
The basic issue is that Unix filesystems at the kernel level do not interpret filesystems in
This means no "tolower()" or case comparison overhead in the kernel. No complicated (and perhaps non-obvious) policy in the kernel.
It also means filename schemes are easily extensible in userspace. Eg, Unix filesystems support Unicode, UTF-8, ISO8559-[0-9][0-9], and whatever other encoding system you want provided you respect '\0' and '/'. In fact Unix supported Unicode, UTF-8, etc.. almost from day one (ie 1970), literally
Basically, tolower() / case comparison can be easily done in userspace - hence that is the best place for it. Now, of course, userspace might not always agree on policy or how to implement it, but that is not a kernel problem.
Case sensitivity is a matter of taste, and as such it's best not done in the kernel (where it will be set in stone forever). That's actually a general Unix design principle "policy should be implemented in userspace" - and it's actually a very good design principle..
now let's see how many slashdotters fail to realise it..
Re:Flame-baitey topic (Score:2)
Re:Flame-baitey topic (Score:2)
anyway - it's not the kernel's problem, that's the precise point. the encoding is a userspace problem.
also, those chars can not be used in URIs either. So i suspect one answer is to deal with them in the same way as for URIs.
--paulj
Apple.... (Score:4, Informative)
Of course, in OSX this did cause a security hole in Apache, but it was small, required a specific setup, and was easily fixed.
Re:Apple.... (Score:5, Informative)
Re:Apple.... (Score:2)
For the desktop, it installs on whatever the disk was formatted as already, if you are not reformatting. If you reformat, it's a pop-up selection, and I think that the default is HFS+.
(It's been a while since I formatted a disk under OS X - since I installed it the first time, in fact - so I am not positive about the defaults.)
Re:Apple.... (Score:3, Insightful)
Back to the main topic, I agree with Apple's position on this. I used to wonder why they would put in such a ridiculous limitation when it would be so easy to "fix," but then I thought about it. There is absolutely no reason to have files named "readme.txt" and "Readme.txt" in the same directory. If they are truly different files, then name them differently - ie, "ReadmeFirst.txt" and "ReadmeLast.txt." Capitalization is mostly arbitrary and conveys no information in this context. It can only lead to confusion when a human has to interact with such files. Sort of like George Foreman's house, where his kids are named george, GEORGE, GeorgE, georgE, GeOrGe, etc. What a mess!
If you're still not convinced, think of all the chaos and confusion that would happen if domain names were case sensitive.
Re:Apple.... (Score:2)
http://www.mit.edu/people/wsanchez
Apple's solution is just about ideal. (Score:2, Insightful)
file is named just the way you typed it, caps and
all, but if you reference it with different
capitilazation, it still matches. If you try to make
a second file with the same letters but different
capitalization, it won't let you. The best of both
worlds. No multiple files with the same name, yet
case is preserved for looks and correct grammar.
Re:Apple.... (Score:2)
Sort order (Score:3, Insightful)
What is confusing is that "A" and "a" don't sort next to each other -- so, letter.txt doesn't end up following Letter.txt, but instead is down somewhere past Zebra.jpg. That defies reason; if something is to be fixed, let it be that.
Re:Sort order (Score:4, Informative)
Let's say I have a file with the following (meaningless) unsorted content:
asklhf
Adjgd
zaskd
Zaoifh
If I sort it with LC_ALL=posix sort myfile, here's what I get:
Adjgd
Zaoifh
asklhf
zaskd
Now, that is exactly the kind of behavior that you dislike.
Try this (LC_ALL=en_US sort myfile) now:
Adjgd
asklhf
Zaoifh
zaskd
Much like you wanted it to be, right? The C locale seems to give the same results as posix, and fr_CA gives the same thing as en_US. I'll leave it to somebody else to explain it by looking in a specific standard, or in the source code.
So in short, check that your locale is correctly specified, and sort should do what you want it to do. Or, you could just use the --ignore-case of sort.
Or were you talking about something system-wide, for ls, file selection boxes, etc.? Then it depends on where the sorting is done, and might be more difficult to fix (since you'll always miss one place).
Re:Sort order (Score:2)
Personally, I think it should be smarter and sort the way library books are sorted, sorting strings of numbers in numerical order such that:
0121020
and
Aa
--Ben
Re:Sort order (Score:2)
Re:Sort order (Score:4, Funny)
No (Score:2, Insightful)
'A' is not 'a' (Score:3, Interesting)
>come across anyone seriously questioning the traditional UNIX style
>file system name paradigm.
>With an Amiga background (It should be the same for people growing up
>with Windows, or those growing up with no computer at all (God
>forbid!).) it took me quite a while to get used to 'A' and 'a' being
>treated as different characters. This is of course fairly easy to
>accept and to understand if you have a technical background.
>I do however have a hard time to see how aunt Ginny will
>ever be able to distinguish between her 'Letter.txt', 'LETTER.TXT' and
>'letter.txt' files.
Just like how aunt Ginny was likely somehow able to grasp that her
name is written aunt Ginny and not aunt gInNy, aunt gINNy, or other
combination. Give her a little credit. Simply explain that the case
is part of the file name. Your example Letter.txt file names would be
a perfect way to show her the difference. Just make each contain
different information, and open each one to show her they are
different.
File systems should be case sensitive. An upper case 'A' is a different
character than a lower case 'a'. We should not confuse people by
tricking them when the create file names.
>In real life, upper and lower case letters represents almost identical
>information to most people.
Almost, but not identical.
>Has any thoughts been spent on this issue, now that our favorite OS is
>becoming increasingly mainstream?
>
>Does it need to be addressed?
No.
>Have any attempts been done?
I hope not. Mount a case insensitive file system if you want one.
Leave existing file systems alone.
>What are the implications to parts
>outside the file systems?" This is an interesting point.
>As Unix
>grows more and more popular, the simple things we've taken for granted
>about the filesystem may stand in the way of general users adopting
>it.
The sooner people accept that 'Ginny' and 'gInNy' are not the same the
sooner they will understand how to interact with a computer.
>What ways can you think of that will mitigate this problem for new
>Linux users without actually affecting too much? Special shells for
>novice users, that can simplify much of the complexity may be the way
>to go, here.
How about a mouse-click'n GUI like GNOME, KDE, etc.
Re:'A' is not 'a' (Score:2)
The sooner UNIX-based computers learn that when a person is looking in a directory for "letter.txt" that "Letter.txt" is probably what they mean, the sooner they (the computers) will understand how to interact with people.
And shouldn't that be the point of it? Not the other way around.
"Hello" and "heLLo" and "HELLO" are slightly different things. This is noticed by anyone. Yet, I am betting that if someone wrote you one of these variations, you would not tell them they were speaking nonsense. You could, but you'd be the moron, not them.
Preserving cases is good, so if I name my file "Hello.txt", the cases should be preserved. But then if I look for "hello.txt" in that very folder, or I don't remember the capitalization exactly later, the OS shouldn't act like these are two totally unrelated strings.
Having it the anal way in the system, and user friendly in the GUI or in a special shell is definitely a step in the right direction, although if the user ever ends up having to interact with the anal system, that inconsistency would be quite confusing.
mark
typing (Score:2)
And shouldn't that be the point of it? Not the other way around.
right.... How many GUIs have you designed. Users are not logical at all. After we remove case, they'll ask that 1==l==i==t, then a==e==o==0==D==c==Q, then d==b==p==q then s==z then j==i, then g==q==j, then R==K==h and P==R and E==F and b==S and m==n and u==w==v and w==m. Now we are down to two letters x and the other stuff.
Why screw up a working system and not fix the root cause. The root is that the user is incapable of specifying the file by typing. Duh, use a search panel that handles the rules and presents a big button [IS THIS YOUR FILE STUPID?].
Joe
Re:typing (Score:2)
Give me an example. Even in Unix I hardly ever type a filename. I use simple search routines like in bash or more complex regex patterns.
I use shells like emacs, Mozilla or Explorer to select files most of the time.
Joe
This post is incompatible with reason. (Score:2)
Re:'A' is not 'a' (Score:2, Insightful)
in order to better identify a file.
Example:
A file regarding a person named Bart may be called 'Bart.txt'.
A file regarding the Bay Area Rapid Transit system may be called
'BART.txt'.
Just by looking at the file names, one can have a good idea about
their contents. The names are short, direct, and clear.
case insensitive sorting in apps (Score:2)
Re:case insensitive sorting in apps (Score:2)
Sounds like a good idea to me - but a real pain in the butt when dealing with files created on Windows.
Re:case insensitive sorting in apps (Score:2)
Re:case insensitive sorting in apps (Score:2)
Use the proper collation, sorting, etc. based on the users locale. You'll notice sort does what you want if you're in the 'en-US' locale, but also does what I want in my locale.
They Don't Look the Same (Score:2)
If "B" and "b" were meant to be the same, they'd look the same.
In many languages, English and German to take two examples, capital letters have had a specific usage for a much longer time than computers, or eve for a much longer time than typewriter keyboards. They are different letters and, more importantly, people believe they're different letters.
Why regress to that era 20 years ago when in some strange computer-based subculture of reality the two letters were indistinguishable?
some rules of English (Score:3, Informative)
what's the difference between:
"I went to school."
and
"I went to School." ?
In the first sentence, school is being used as a regular noun: which school? Who cares? On the other hand, in the second sentence, School is being used as proper name - there can be only one School.
In other words, if English speakers can understand the nuance between school and School, then said English speaker (please avoid dissing the US publik skool edukashion sistem) can reasonably be expected to distinguish between letter.txt and Letter.txt (ie. "letter? Which one?" vs. "Letter? ahh yes, THE Letter").
Anyhoo, an example of a totally confused implementation: Mac OS X: some things understand the difference, some don't:
ie:
Nwanua.
ps. if the above is true ONLY for English, all you have to do is politely state that fact, and we'll all be better informed...
Re:some rules of English (Score:2)
There is only 1 "Letter.txt". letter.txt would be generic, and not a noun, and therefor would have to be a folder.
oh god...
Re:some rules of English (Score:2)
"I went to school."
and
"I went to School." ?
In the first sentence, school is being used as a regular noun: which school? Who cares? On the other hand, in the second sentence, School is being used as proper name - there can be only one School.
In other words, if English speakers can understand the nuance between school and School, then said English speaker (please avoid dissing the US publik skool edukashion sistem) can reasonably be expected to distinguish between letter.txt and Letter.txt (ie. "letter? Which one?" vs. "Letter? ahh yes, THE Letter").
I think this is a bad example. The difference between "school" and "School" is very different beween the difference between "letter.txt" and "Letter.txt".
Grammatically, we know the difference between "School" and "school".
But a computer doesn't really know the diffrence better letter.txt and Letter.txt any more than between "letter.txt" and "lEtTeR.TxT", or for that matter, between "letter.txt" and "abcefg.hij". More specifically, it doesn't know the relationship between "letter.txt" and "Letter.txt".
Some applications can understand insensitivity (like "grep -i letter *")
I'm not sure where I stand on this. Should people act more like computers, or should computers act more like people? *shrug*
I tend to like a suggestion made by another use on this thread: Mount a case-insensitive file system if you need it.
Re:But English isn't actually used that way... (Score:2)
Some people call wisened leaders Elders. As a title, the word is capitalized. So, "elder Tom" means the older of two Toms and "Elder Tom" means the Elder named Tom.
The church" on the corner is a building...
The Church is the organization/establishment (i.e. "The Catholic Church").
T
Unix has it right (Score:3, Interesting)
The problem is more complicated than the question makes it out to be. An Ideal filesystem should allow any random binary bits to make up a filename, such that the filenames can be Unicode, so that Chinese people can name files in Chinese, Math professors can use the unicode for a math formula as the name of a document describing how to solve it. When you think in this bigger sense - it becomes a lot harder.
Ideally the encoding method (Unicode in this example) should provide some way of seeing the equivalency of certain characters (two different representations of the equal sign, two different cases of the letter A, etc..), and the application should be able to make use of this during a regex search, or maybe even during a library wrapped "open() or readdir()" call, where the application is "Windows Explorer", "bash", or anything else.
Ultimately this has to be resolved in userland tools and the libraries that support them - the best answer for the filesystem layer is to support all possible characters literally and meaningfully in filenames, so as not to restrict the schemes layered on top of it.
Unix has it (almost) right (Score:2)
\000 - Putting a zero byte in a filename will break any program written in C.
'/' - A filename with an embedded slash will be unusable except by programs that walk directory contents very carefully.
white space - Filenames with embedded white space work with most basic system commands, but will break shell scripts that aren't prepared for them (which means most shell scripts).
Re:Unix has it (almost) right (Score:2)
Yeah most current software doesn't deal well with these as well as other control characters - but it's conceivable to make them work, by using wide characters and unicode-aware stuff in your C code, and maybe revamping a bash-variant to do the same. I'm pretty sure glibc has the right functions in there, just most people don't use them - they prefer to live in an ascii dreamland.
Re:Unix has it (almost) right (Score:3, Insightful)
Preserve Case but don't make it case sensitive (Score:5, Insightful)
It is not quite efficient to Preserve Case, and not make it case-sensitive.
I used a file system like this (HPFS) for many years and much prefer it over the case-sensitive alternatives.
It is also a security concern. If I have 2 files, which are identical except for case it is possible I could run the wrong one. Why? Point and Click interfaces barely show a difference between o and O, etc.
There is also no need for 2 files with the same name, and different case when it comes to SOURCE CODE. I have seen more than 1 program implemented like this and it is downright confusing and stupid. " No no, not "ubergeek.c", "Ubergeek.c"... etc.
Garbage. Crap. Total waste of resources.
I've been working in a database language that is case-insensitive for a number of years as well. It is damn nice to not have to worry about somebody typing something in differently than expected. It isn't a problem. And I don't have to call UPPER every time I do something!
case-sensitive is a pain in the ass.
Re:Preserve Case but don't make it case sensitive (Score:2)
You might enjoy HFS+ [apple.com]. It does what you describe. Lots of folks who appreciated OS/2 are coming to appreciate OS X.
Re:Preserve Case but don't make it case sensitive (Score:2)
Oh well... I liked BeOS too so what the hell do I know?
Re:Preserve Case but don't make it case sensitive (Score:4, Informative)
Re:Preserve Case but don't make it case sensitive (Score:2)
Re:Preserve Case but don't make it case sensitive (Score:2)
I'm saying that: For English usage differentiating between file.c and file.C is stupid.
case sensitivity isn't 'The Right thing.' it is an artifact of the times. Nothing more. I have absolutly no reason to believe it was an 'active' decision made the first time to be 'correct'. Rather it was 'it happened to work this way when we finished', or, 'well, it was faster than converting everything to uppercase for comparisons because we only had 2K of storage anyway.'.
I believe that case-sensitivity in a filesystem is nothing but a problem waiting to happen.
On the other hand, I used to program in C a lot and never had a major complaint about it being case sensitive. Of course I don't expect just anyone to be playing with C source code either.
Re:Preserve Case but don't make it case sensitive (Score:2)
Re:Preserve Case but don't make it case sensitive (Score:2)
I ran into that problem more than once when users logged in with CAPS on...
Re:Preserve Case but don't make it case sensitive (Score:2)
Think about it a second (Score:4, Interesting)
If you think she would, then she can grasp the concept that case makes a difference. Give her a little credit.
Re:Hypocrisy (Score:2)
You wouldn't know what an insult to intelligence was. By definition, it can't happen to you.
My comment was in fact stating the very opposite of what you think it stated.
Re:Hypocrisy (Score:2)
That applies to you. Your first message in the thread was an obvious misunderstanding of the point I made. Why not make another attempt at a coherent reply to the actual point I was making?
Re:Think about it a second (Score:2)
In the meantime... (Score:5, Informative)
set completion-ignore-case on
Then when hitting tab to complete a filename, it will fix the case for you. i.e. typing "vi xf8" and pressing tab will get you "vi XF86Config" etc.
Linux file system is OBSOLETE (Score:5, Interesting)
Frankly, aunt Ginny should *never* have to deal with files and file names. She should not need to know what a file is, nor choose to "save" or "discard" her work after she has written the letter to her friend Margaret. She does not know her HD from her RAM, and all for the better. She would worry to death over having her letter spun around on a magnetic disc, it would get all jumbled up for sure!
File system is an internal, abstract and archaic database that is familiar to programmers and geeks, but a lousy way to represent data for the general user. There are few things worse than navigating a blind hierarchy of unknown folders with no contextual guide to help.
The system should remember the letter when it is written, keep tabs on when it was written, put the subject in a "recent letters" list and generally manage the internal filing transparent to the user. The storage capacity of a modern computer can last aunt Ginny for years, the real trouble is in FINDING her data, the file names alone do little good for that.
For a wonderful example of how well you could do without a filesystem, look at the operation of the Palm OS devices. Anyone could learn to use them. No files in sight! It's only recently that the clever engineers at Palm jumped off the deep end by adding a file system for the flash carts. Anyone who has ever used those knows what a nightmare managing them is.
Aunt Ginny knows fsck all about file systems. Lets keep it that way.
(Oh, and the answer in the context of user interfaces? Go for the most HUMAN representation. People are not very sensitive at all to upper/lowercase letters. We should not punish them for this.)
Jouni
Re:Linux file system is OBSOLETE (Score:2)
Just like democracy - it is a bad system likely to go even worse. Its only defence is that all the alternatives seem to much worse...
Re:Linux file system is OBSOLETE (Score:2)
I disagree. I think the missing file-system on Palm devices reduces its usability a lot.
Re:Linux file system is OBSOLETE (Score:3, Insightful)
lEt ME asK yOu OnE thiNG jOUNI, arE yOu aBSoLuTElY SURe abOuT thAt?
I know for sure that I am sensitive about it, and it really gets on my nerves when they're not used properly. Of course, people are different, but most [non 1337 script kiddies] people do care...
Not a troll.. (Score:2)
What about a common toolkit (common-dialogue) system that automagically lower-cases all filenames when entered in the common dialogue?
ie, if KDE/QT or GIMP/GTK+ automatically lowercased any filenames saved or loaded through its common file-loading dialogues.
This would have to be easily turned off, but would solve the problem for most non-power users, while other users could turn it off, and never have to deal with it again.
Just an idea.
OTOH, people are probably already somewhat used to this. If I go to http://slashdot.org/CoMMenTs.pL [slashdot.org], I get a 404.
S
Re:Not a troll.. (Score:2)
yes, but not if I go to http://sLaShDoT.OrG [slashdot.org]. And really, how often do "people" (as in average users) type in something more complicated than www.cnn.com?
Big question... (Score:2)
I like the system "correctness" of different ASCII values being treated differently. But the practical value escapes me.
That said, a large number of systems would break if the scheme changed. Given that most users use GUIs and rarely actually type names, is there a good reason to switch at this point? The few places where I see a true advantage (Windows compatibility, for example) have already handled this at the application layer.
.inputrc (Score:2, Informative)
Just put this: in your ~/.inputrc. Tab-completion will then ignore case.
Aunt Ginney won't care! (Score:3, Insightful)
Leave case sensitivity alone - it's the right thing to do, just hide any ease-of-use problems it may introduce with a GUI.
That keeps the smart people happy, and the dumb people happy. We're all happy!
Re:Aunt Ginney won't care! (Score:2)
What about when she saves a file as "Letter.txt" when there's already "letter.TXT" in the directory? It'll let her do that, but the fancy GUI isn't going to tell her which one is which when she goes to open them later.
Re:Aunt Ginney won't care! (Score:2)
The Gui should politly as her for a diferent name.
All OS level tools and services expect diferent names to be, well..., diferent. This is correct behaviour. If a particular application has users that can't handle this behaviour, then the application itself should deal with it.
And, thats assuming that people are too suupid to make the disctinction that "Letter.txt" is diferent than "lETTER.TXT" - I don't make that assumption about my users and they are happy. Maby, I've just gotten lucky to have useres with an IQ greater than a worm.
I've always deplored the way GUI designers attempt to hide difficult aspects of computing with gloss - "My Documents" and "My Network Places" get in the way of undrestanding and mastery. They look good in theory, because the GUI concepts help a new user - but the cause all sorts of brain damage down the road. The poor user starts to think that there are two places where their documents are stored - c:\documents and crap\users\some hidious directory\user #2\my documents" and "My Documents".
Evil.
My useres are happy to know that their documents are "/home/user/" Bing. Done. End of story. Takes ten seconds to explain, and dosen't cause a headache.
I vote vor consistency (Score:2, Insightful)
As Donald Norman [jnd.org] has commented, if lots of people use something incorrectly there is probably a problem with the design, not the people. I will admit to having on more than one occassion typed "less readme" instead of "less README" or scrolled through a file listing and overlooked a file that was sorted elsewhere due to capitalization.
Even worse is the fact that subparts of an item follow different rules. For example:
http://slashdot.org/index.html == http://SlashDot.ORG/index.html
due to required case-insensitivity of domains,
http://slashdot.org/index.html != http://slashdot.org/Index.html
unless the underlying OS/web/app-server chooses to interpret them as equivalent.
As some have commented, everyone sees a difference between joe doe, Joe Doe, JOE DOE and jOe doE but they all know that in every case we are referring to the same person. In fact many places standardize on all-caps for the family name in forms and documents to reduce errors.
To those who say that the problem should be solved on the application level: consistency is good - a user should not have to remember the quirks of each application. Even if one is a slave to point-and-click GUIs there are problems created by sorting and the possibility of multiple files with the "same" name.
Windoze is also brain dead. Although it is case insensitive, it also changes the case of file names in one of its many misguided attempts to "help" the user.
My preference would be to have the OS keep the filename in whatever form of caps/lowercase that I choose but to treat files in a case-insensitive manner.
Re:I vote vor consistency (Score:2, Informative)
My preference would be to have the OS keep the filename in whatever form of caps/lowercase that I choose but to treat files in a case-insensitive manner.
[/QUOTE]
HFS, the file system used for all versions of Mac OS, does this. I think this is generally referred to as "case perserving but insensitive". Mac OS versions from 8.6 on also support HFS+, which adds support for longer filenames and other stuff. Mac OS X can also use UFS, which is fully case-sensitive.
-Ster
You're trying to protect people from themselves (Score:2)
Why assume people are idiots? Why not assume they'll be able to tell the difference between upper and lower case letters? The only reason case equivalency is intuitive is because it's what the system they currently use does it that way.
Re:You're trying to protect people from themselves (Score:2)
Outlook viruses... need I say more?
Re:You're trying to protect people from themselves (Score:2)
You haven't worked tech support, have you?
Windows doesnt care. (Score:2)
ASCII Centric (Score:2)
To rephrase the question.... (Score:2)
The way to implement this (Score:2)
1) keep the file system as it is.
2) Create a new system call fiopen (*) that would open a file in a consistent way, mathing actual case first, and if that failed, various alternatives, probably depending on the locale, and a number of other things. The details to be sorted out in a horrible flame war
3) Use this call in standard GUI components. Applications will follow naturally.
The important thing is to figure out the one right way to handle the case insensitivity correctly and consistently, and possibly leave the old stubborn user a way not to be forced to use it if he (**) so prefers.
Notes:
(*) As in stricmp, etc
(**) Since the English language requires me to choose a gender for an unknown person, I have here chosen the male, as is often common. Normally I consider users female, to remind me to go out of my way to be nice to them. Chauvinist or gentleman - your choice.
yes (Score:2)
Should Aunt Ginny be able to call a file "Letter.TXT", then later search for "LETTER.txt" and find it? Certainly. Due to the nature of the English language, capital letters don't actually denote anything; they simply define a style. What I'd *really* like to see is for programs to stop recognizing capital letters the way they do now. Screw the shift and caps-lock keys; it's blatantly obvious that, in English, the first letter of every sentence and proper nouns, and acronyms, are capitalized. Period. The only other thing that caps are used for is l33t-speek, and computer design certainly doesn't need to accommodate them.
Design word processing apps so that they automatically capitalize the first letter of every sentence. Then, change the working of the shift key so that one press means that the next letter is capitalized, and two presses means that every letter until the next space or punctuation mark is capitalized. Capitalized letters are never actually stored in a document, but simply used as formatting; all programs decode sentences and render the first letter capitalized, and can decode a "proper noun" tag or "acronym" tag as to mean certain formatting.
My suggestions do have some side effects; namely, how would you type ~!@#$%^&*()_+:"{}|? Well, Apple had that figured out a long time ago. It's called the Alt key. Windows, unfortunately, made the mistake of using the Alt key for two-step keyboard shortcuts. The Alt key's true use is for Alternative letters. If you hold it down, there's a full range of secondary characters available. Accents, punctuation, Wingdings-like pictures, you name it. Put the !s and the ^s there too.
This is, of course, a radical reworking in how computers currently treat capital letters. But it would work. Humans don't think of capital letters as being anything but a different style of letters, and programs should treat them just like that.
DB-based FS (Score:2)
This is also a portability problem (Score:2)
Still, it was a portability barrier.
One word: NO! (Score:2)
B != b
There is a very good reason why UNIX is case-sensitive, or at least I can think of a very good reason to keep it case-sensitive.
In biology, writing out a protein name in all uppercase letters indicates the wild-type GENE (i.e., VAC8), while writing it in lowercase letters indicates a mutant of the wild-type gene (i.e., vac8). This is just a specific example. In other words, there are many instances where case matters.
VAC8 is not the same as vac8 (one refers to the wild-type gene, the other to a mutant).
Federal is not the same as federal (one, I believe, refers to specific federal entities, the other to the idea there-of).
Bush is not the same as bush (one is the President, the other is a plant).
Banks is not the same as banks (one is a last name, the other is a financial institution).
Come on. Its not that difficult for people to grasp the concept that a file named dave is not the same as one named DAVE. If certain users really don't like that, then they should disable cap-sensitivity (I'm sure there are options to do such).
There is a lot of talk about making Linux easier to use for the average person. Just as easy -- and an effort which would not require programming skills -- would be to make the average user more Linux-savvy. This is what a large part of the Linux community (known as gurus) does. It means you don't say rtfm to every question, though it is good to try to help people figure things out for themselves, rather than telling them the answer.
Re:One word: NO! (Score:2)
Hmm... Banks and Banks are different too. Oh my. That can't be good.
Even worse. Banks and banks *are* the same here. That can't be good either.
Would you like to re-design the English language?
A lot of information in language comes from context. In a filesystem, context is, unfortunately, usually lacking. Rather, context is usually provided by the directory/path and the file extension. That is insufficient information to tell the difference between
This discussion isn't properly about capitalization... it is about context (i.e., metadata) for files.
Well... (Score:2)
The only people who care about minor, but unimportant differences like this are techies, because they are already accustomed to a certain style, and because it is a religious issue they can discuss till the end of time, like vi/emacs, windows/mac/linux/, gnome/kde, etc...
More importantly, I don't care about how user-friendly the command-line is for someone getting confused about case-sensitivity. Users like that should be strapped to their idiot-interface which we can create on top of Unix as well as on Windows. One good example of such an interface is called Bob.
Even todays computer interfaces (which isn't exactly completely suitable for complete morons (noticed the amount of courses for beginning windows users?)) doesn't require you to type a file-name more than once (at first "save"). After that, it's point and click.
My mother can't even use a mouse, or remember the difference between backspace and delete from each time she uses the computer. But I assure you, case-sensitivity is not an issue. There are many things that are confusing her, but understanding that you should use the same name in the same case is not one of them.
The Real World (Score:2, Insightful)
Like the original poster, I am a former Amiga user, so I am quite familiar with the experience of a file system that allows mixed-case filenames, but recognizes that they are equivalent. It was far, Far, FAR nice than having to remember whether I named the file "Letter.txt", "LETTER.txt", "LETTER.TXT", or "letter.txt". Like nearly everyone else, I remember words much more readily than I do specific capitalizations.
Re:Do what Winblowz does... (Score:2)
Do what they say, not what they do.
Oh, by the way... [penny-arcade.com]
Re:Do what Winblowz does... (Score:2)
There is no difference between directories and files. It's just that usually, you don't use file extensions on directories, but if you call you directory QWERTY.txt, case will be preserved.
And, like most annoying behaviour in Windows, there's a way to turn it off: Tools->Options->View->Allow all upppercase filenames. Given the alternatives, I think windows actually did the right thing here. Mainly since the filesystem doesn't care about case anyway, and manually renaming 200 files with uppercase names is annoying. I'd much rather have the system take a guess at something more readable, and have an option to turn it off, if I really want my ALL_CAPS filenames.
Next week, come back to Ask Slashdot: Should filenames be 3117-zP34k-4vv4R3
Don't Dumb Down (Score:2)
It would be less functional not more.
Also notice it is "make it like what I used to have" rather then just suggesting making it case insensitive, seems like it is laziness, not a well thought out reason.
Re:Will someone with coding skills... (Score:2)
Not if something is done to the system to let XFree open the file with the name XF86Config...
Re:Will someone with coding skills... (Score:2)
Correct.
Re:Application implementation (Score:2)
Re:Application implementation (Score:2)
Anyway, I think I understand your point, but I guess I just fundamentally disagree. I hate it when programs like Windows keep making assumptions about what I want to do. The only useful thing I have found is when I mistype "the" as "teh" in Word and it corrects it for me. However, when I want to create a folder called "QNX" so that I can put in QNX-related software, I don't want it insisting that it should be named "Qnx." Do as I say, not as what you think I want!!! As someone who programs, I also find it useful to tell the difference between the files foo.c and foo.C (and my compiler finds it useful too).
In the case that you mention, I just don't see the problem. If I'm looking for a file letter.txt and my search routine comes back with Letter.txt, letter.txt, and Letter.Txt, then I (and Aunt Ginny) should know what file we want opened. If not, then we should open all three to see which one we want. If Aunt Ginny started a file letter.txt and later "Save As" it to Letter.txt, then that is a problem she has to work out. It is the same as if she later saved her file as lettre.txt. At some point she'll have to reconcile her errors.
I never had a PC until about 8 years ago. I cut my computer teeth on a VAX system and got used to case-insensitive filenames. When I moved to Unix/Linux systems, it was just a minor difference to get used to. A lot of people make the argument that Linux will only be popular if the UI is exactly like Windows, but I disagree. Anyone should expect a learning curve when moving from one OS to another (even Aunt Ginny). Move Ginny from Windows to a Mac and you'll have to explain to her how some of the things she wants to do are different. Look at the differences between the various Windowses, but people have had little problem moving from 3.11 to Win95 to WinXP, etc. Microsoft just has the genius (and $$) to market the idea that it is a revolutionary and great step and people accept it and learn it. Remember when Win95 came out? The Mac users were annoyed to no end because Microsoft was touting their new point-and-click-and-drag GUI as incredibly revolutionary and the greatest breakthrough in computer history.
I think that it is the idea of moving to a different OS and not some silly minor UI differences that keep people from actually doing it.
Re:Application implementation (Score:2)
The only reason for not having case-unsensitivity in the kernel, is to not complicate the kernel, and keep policy out of the kernel. This, on the other hand, is a good reason.
Re:What do Polish polish? (Score:2)
All that said, capitalization or other letter-forms can carry more information in other languages than in English. Diacritics can completely change the meaning of a character (English speakers don't have this, but it is important in most other European langauges and vital in some asian languages).
The question, really, is language specific, and is a real pain in the butt if you want to properly sort and compare strings for international usage. A related issue has to do with ligatures and glyph transformation in some middle-eastern languages: the same word can be spelled differently depending on it's position in a sentence or relative to other words.
There is, unfortunately, no simple solution to these problems.