NTFS absolutely supports case sensitivity but, presumably for consistency with FAT and FAT32 (Windows is all about backwards compatibility), and for the sake of Average-Joe-User who’s only interaction with the filesystem is opening Word and Excel docs, it doesn’t by default.
MacOS uses the APFS file system format nowadays, and used HFS+ before that. FAT and ExFAT formats are supported too. However, the NTFS format needs third party software to work.
Were you talking about MacOS? It’s been a long time since I last had to use it but I assumed it was case sensitive because it’s Unix based. Uh maybe ignore me then!
Yeah. They have both case sensitive and case insensitive options when you format your drive. It used to default to case insensitive. I haven’t formatted my boot drive in a long time, so I can’t say what it defaults to today.
Well an uppercase ASCII char is a different char than its lowercase counterpart. I would argue that not differentiating between them is an arbitrary rule that doesn’t make any sense, and in many cases, is more computationally difficult as it involves more comparisons and string manipulations (converting everything to lower case).
And the result is that you ultimately get files with visually distinct names, that aren’t actually treated as distinct, and so there is a disconnect from how we process information and how the computer is doing it.
‘A’ != ‘a’, they are just as unequal as ‘a’ and ‘b’
Edit: I would say the use case is exactly the same as programming case sensitivity, characters have meaning and capitalizing them has intent. Casing strategies are immensely prevalent in programming and carry a lot of weight for identifying programmers’ intent (properties vs backing fields as an example) similar intent can be shown with file names.
Most of my frustration comes from combining cases insensitive folders/files with git and then running my code on another machine. If you aren’t coding where you have hundreds of files that import other files, I could see this being a non issues.
Mostly Windows, and construction industry. So projects generate anywhere from a few hundred to up to a hundred thousand files.
Everyone has their own filesystem, and then you often have one formal and multiple informal exchange platforms. You still have people throwing around stuff in E-Mails too.
It is a mess. But in this mess i didn’t come acrosse people complaining they couldnt find a file because of the letters case yet.
I see that it could be different for programmers, but i dont see that apples solution of treating upper and lowercase as identical name is the solution there, rather than working with explicit file naming conventions in the program.
Think the other way around: What’s the use case for case insensitive file names? Does it justify the effort and complexity for the filesystem and the programs to know the difference between lower and upper space chars?
For some extra fun, try interop between two systems that treat this differently. Create a SMB share on a Linux host, create a folder named TEST from a Windows client, then make Test, tEst, teSt, tesT, and test. Put a few different files in each folder on the Linux side, then try to manage ANY of it from the Windows client
On Mac when I rename a folder from “FOO” to “foo” git sees them as the same folder so no change is committed. In JavaScript I import a file from “foo” so locally that works. Commit my code and someone else pulls in my changes on their machine. But on their machine the folder is still “FOO” so importing from “foo” doesn’t work.
…and whoever decided a file system should be case insensitive by default, I hate you.
NTFS absolutely supports case sensitivity but, presumably for consistency with FAT and FAT32 (Windows is all about backwards compatibility), and for the sake of Average-Joe-User who’s only interaction with the filesystem is opening Word and Excel docs, it doesn’t by default.
All that said, it can be set on a per-directory basis: https://learn.microsoft.com/en-us/windows/wsl/case-sensitivity
MacOS uses the APFS file system format nowadays, and used HFS+ before that. FAT and ExFAT formats are supported too. However, the NTFS format needs third party software to work.
What’s a windows?
Were you talking about MacOS? It’s been a long time since I last had to use it but I assumed it was case sensitive because it’s Unix based. Uh maybe ignore me then!
Yeah. They have both case sensitive and case insensitive options when you format your drive. It used to default to case insensitive. I haven’t formatted my boot drive in a long time, so I can’t say what it defaults to today.
What’s the use case for case sensitive file names
Well an uppercase ASCII char is a different char than its lowercase counterpart. I would argue that not differentiating between them is an arbitrary rule that doesn’t make any sense, and in many cases, is more computationally difficult as it involves more comparisons and string manipulations (converting everything to lower case).
And the result is that you ultimately get files with visually distinct names, that aren’t actually treated as distinct, and so there is a disconnect from how we process information and how the computer is doing it.
‘A’ != ‘a’, they are just as unequal as ‘a’ and ‘b’
Edit: I would say the use case is exactly the same as programming case sensitivity, characters have meaning and capitalizing them has intent. Casing strategies are immensely prevalent in programming and carry a lot of weight for identifying programmers’ intent (properties vs backing fields as an example) similar intent can be shown with file names.
Case insensitive handling protects end-users from doing “bad” things and confusion.
I work with a lot of users and a lot of files in my job.
I don’t remember a single case, where someone had an issue because of upper- or lowercase confusions.
Most of my frustration comes from combining cases insensitive folders/files with git and then running my code on another machine. If you aren’t coding where you have hundreds of files that import other files, I could see this being a non issues.
On a Linux environment? Mind sharing the usage area?
Mostly Windows, and construction industry. So projects generate anywhere from a few hundred to up to a hundred thousand files.
Everyone has their own filesystem, and then you often have one formal and multiple informal exchange platforms. You still have people throwing around stuff in E-Mails too.
It is a mess. But in this mess i didn’t come acrosse people complaining they couldnt find a file because of the letters case yet.
I see that it could be different for programmers, but i dont see that apples solution of treating upper and lowercase as identical name is the solution there, rather than working with explicit file naming conventions in the program.
Windows is / Windows filesystems are case insensitive too.
Hmm you’re right. I didnt notice so far, nor was it brought up as an issue.
You can activate case sensitivity since Win 10 or so.
Simple solution: only allow lower case characters in file names.
Like windows and their forbidden folder names
Me working on a case insensitive DB collation 🤡🚀🐱🏍
Think the other way around: What’s the use case for case insensitive file names? Does it justify the effort and complexity for the filesystem and the programs to know the difference between lower and upper space chars?
Human comprehension.
Readme, readme, README, and ReadMe are not meaningfully different to the average user.
And for dorks like us - oh my god, tab completion, you know I mean Documents, just take the fucking d!
In case you or others reading this don’t know: You can set bash’s tab-completion to be case-insensitive by putting
Into your .inputrc (or globally /etc/inputrc)
Thank you
For some extra fun, try interop between two systems that treat this differently. Create a SMB share on a Linux host, create a folder named TEST from a Windows client, then make Test, tEst, teSt, tesT, and test. Put a few different files in each folder on the Linux side, then try to manage ANY of it from the Windows client
On Mac when I rename a folder from “FOO” to “foo” git sees them as the same folder so no change is committed. In JavaScript I import a file from “foo” so locally that works. Commit my code and someone else pulls in my changes on their machine. But on their machine the folder is still “FOO” so importing from “foo” doesn’t work.
Because I want to?
Suffering
The moment when you try to rename a folder in windows from Hello to hello and it doesn’t work.
Yes, so annoying especially when using source control which is case sensitive.
Rename Hello hello2
Commit
Rename hello2 hello
Commit
Yes, that’s exactly what I do when I rename lol