4 ms·
> If someone says they sent you "Book Draft 1.docx" and you check your email to find "Book draft 1.docx," you don't say, "Hey! I think you sent me the wrong fil
by josephcsible 2y ago
> If someone says they sent you "Book Draft 1.docx" and you check your email to find "Book draft 1.docx," you don't say, "Hey! I think you sent me the wrong file!"
But you also wouldn't say that if they sent "Book - Draft 1.docx", "Book Draft I.docx", "BookDraft1.docx", "Book_Draft_1.docx", or "Book Draft 1.doc", and surely you wouldn't want a filesystem to treat all of them as the same.
- atkailash 2y ago[dead]
- cmcconomy 2y agoyou called it - those are different situations all right
- quickslowdown 2y agoThis is a personal reason, but the reason I prefer case sensitive directory names is I can make "logical groupings" for things. So, my python git directory might have "Projects/" and "Packages/," and the capitalization not only makes them stand out as a sort of "root path" for whatever's underneath, but the capitalization makes me conscious of the commands I'm typing with that path. I can't just autopilot a path name, I have to consciously hit shift when tab completion stops working. That might sound like a dumb reason, but it's kept me from moving things into the wrong directory, or accidentally removing a directory multiple times in the past. I also use Windows regularly and it really isn't a hindrance, so maybe I wouldn't actually be bothered if everything was case sensitive.
- pwagland 2y agoTBF, you don't need case sensitive FS for that, just case retaining is enough. And then have the option on how to sort it.
- josephcsible 2y agoDon't you need case sensitivity for this part? > I can't just autopilot a path name, I have to consciously hit shift when tab completion stops working. On a system that's case retaining but not case sensitive, wouldn't "pr" autocomplete to "Projects"?
- zoky 2y agoNo, MacOS doesn’t do that. `cat Foo` and `cat foo` will both work, but only the first one will tab complete if the file is called `Foo`.
- chuckadams 2y agozsh tab-completed both just fine, preserving the case in both. I’d have preferred it corrected the case, but meh.
- notjoemama 2y agoI like it! That's a great idea. To me, this sounds like a great practice for terminal environments but may be less intuitive when using file system apps. I could easily overlook a single letter capitalization in a GUI view of many directories. Maybe it's because at a terminal the "view" into the file system is narrow? Now I'm wondering how I can use this in my docker images. I mean that might irritate devops. Well, maybe they'll like it too. Man, thanks for posting this.
- stronglikedan 2y agoCapitalization isn't part of grammar. Those examples are different strings of characters altogether.
- otteromkram 2y agoI'll augment your statement by noting that punctuation is also not part of grammar.
- selenography 2y agoAnother classic counterexample: "This book is dedicated to my parents, Ayn Rand, and God." "This book is dedicated to my parents, Ayn Rand and God."
- selenography 2y agoThe classic, if crude, counterexample: "I helped my uncle Jack off a horse." (The uncapitalized version doesn't just have different semantics; it has a completely different parse-tree!)
- ooterness 2y agoYou have to draw the line somewhere, but I do appreciate when the UI sorts "Book draft 2" before "Book draft 11". That requires nontrivial tokenization logic and inference, but simple heuristics can be right often enough to be useful. On that note, ASCIIbetical sort is never the right answer. There is a special place in hell for any human-facing UI that sorts "Zook draft 1" between "Book draft 1" and "book draft 1".
- yencabulator 2y agoAnd that line, at least for sorting, belongs firmly outside the filesystem. Sorting is locale-dependent. Whether a letter-with-dots sorts next to letter-without-dots or somewhere completely different has no correct global answer.
- saghm 2y agoI think there's a pretty big difference between how the UI orders things and how the filesystem treats things as equivalent. A filesystem treating names case sensitively doesn't prevent the UI from tokenizing the names in any other arbitrary way