5 ms·
> The case insensitivity is just a horribly bad idea, and Applie could have pushed fixing it. They didn't. Instead, they doubled down on a bad idea, and activel
by kasabali 6y ago
> The case insensitivity is just a horribly bad idea, and Applie could have pushed fixing it. They didn't. Instead, they doubled down on a bad idea, and actively extended it - very very badly - to unicode. And it's not even UTF-8, it's UCS2 I think.
> There's some excuse for case insensitivity in a legacy model ("We didn't know better"). But people who think unicode equivalency comparisons are a good idea in a filesystem shouldn't be allowed to play in that space. Give them some paste, and let them sit in a corner eating it. They'll be happy, and they won't be messing up your system.
Linus Torvalds, 2014, https://web.archive.org/web/20150112214037/https://plus.google.com/+JunioCHamano/posts/1Bpaj3e3Rru https://web.archive.org/web/20150112214037/https://plus.goog...
- colejohnson66 6y agoThe problem with case sensitivity is UX. Sure, one can explain to someone that “A” and “a” are different to a computer, but will they understand?
- callesgg 6y agoYes, my experience is that people understand well enough.
- kevincox 6y agoIt gets even worse when you consider that you can encode visually identical characters with different combinations of unicode codepoints. But that being said, are many nontechnical users typing filenames anyways?
- naniwaduni 6y agoYes, and if they don't, introduce them to a 5-year-old. That doesn't mean they won't still have trouble working with filenames that differ only by case, and it can still be pretty hard to explain why two characters that are visually similar are distinct to the computer. But the idea that letters that look different are different is not a hard one to understand. It's the default, and one that people have to actively unlearn.
- ornxka 6y agoThey're different to a human, why would it be any more difficult to understand that they're different for computers too? Trying to make things easier to understand by introducing complicated mechanisms just makes the whole thing harder to use.
- klodolph 6y agoThe computer should be more complicated to make things easier for humans. The computer is fast and reliable at performing complicated operations. Humans are neither fast nor reliable at computing tasks. “Report (final).docx” vs “Report (Final).docx”
- toast0 6y agoThe computer is fast and reliable at performing complicated well-defined operations. Case insensitive comparison is less well defined than you might think. You need to know what language, because the rules are different in different languages. You need to know what version of unicode, because the rules can change. You need to know what to do if the data on disk doesn't conform to the rules. You need to know what to do when copying data from one filesystem to another when the names can't be stored on the destination. I feel it's often better to train the user on how to use a simple system effectively, than to build a complex system. You have to put the complexity somewhere, and humans are easier to change than software and hardware.
- klodolph 6y ago> You need to know what to do when copying data from one filesystem to another when the names can't be stored on the destination. You already need to know that, because filesystems are a jungle. This covers everything from special characters, to non-Unicode encodings, to different Unicode-like encodings, to special names, to file name length limits, and path length limits. Consider that on Linux a filename is just an arbitrary sequence of bytes with some limitations, and on Windows it's an arbitrary sequence of 16-bit integers. You can put unpaired surrogate characters in a Windows path, and you can put 0xff in a Linux path. > I feel it's often better to train the user on how to use a simple system effectively, than to build a complex system. You have to put the complexity somewhere, and humans are easier to change than software and hardware. Filenames are something that affects everyone who uses computers for more than just browsing the web. By and large, these people have been using case-insensitive filesystems for the past 40 years, except the people using Unix-derivatives other than macOS--a small slice of people with a high percentage of experts. So if you have an idea of how to train a billion people to deal with case sensitivity problems that they didn't have to do with before, I'm all ears. And yes... the case folding and locale problems exist. I think we're already on the way to the right solution there... hide the filesystem completely from most people who use computers. The filesystem is a terrible way to organize data, so we are building more complicated filesystems and more complicated stacks on top of filesystems to make it easier for humans to work with, and rightly so.
- mkhpalm 6y agoI think so, they understand when writing a sentence you don't start it with lower case character. They know to capitalize names. They recognize every time they see it not done its considered a mistake. Why is this the exception?
- saagarjha 6y agoI have met very many people who have trouble doing that–and no, it's not because they thought it was a username, or they were too lazy to use the shift key.
- lmm 6y agoIf you sent someone a (physical) document and asked them to "put it in the banana folder", they would happily put it in the folder labelled "Banana". It would be seen as a mistake to have separate "banana" and "Banana" folders.
- atoav 6y agoThe problem there is that depending on the person both variants can be terrible UX. For me case insensitive filenames are horrible UX, for my parents case sensitive filenames are horrible UX. However I wouldn't advice my parents to use case insensitive filenames: there are too much complications that you might get from it in interaction with literally anything. The UX net effect would be negative for them.