There are just not the same characters. A filesystem should not have an opinion on what strings of characters _mean_ the same. It is the wrong level of abstraction.
filenames might even not be words at all, and surely not limited to English. We shouldn't implement rules and conventions from spoken English at a filesystem level, certainly not S3.
I think what they mean is if you somehow had two files with the same name but different cases (as NTFS supports this) it would be impossible to fix with win32 calls
No, NTFS has always been at least optionally case sensitive; current Windows versions even allow case-sensitivity to be controlled on a per-directory basis[1], which even works for (some) Win32 programs:
Microsoft Windows [Version 10.0.22631.3593]
(c) Microsoft Corporation. All rights reserved.
C:\Users\jtm>mkdir foo
C:\Users\jtm>fsutil file setCaseSensitiveInfo foo
Case sensitive attribute on directory C:\Users\jtm\foo is enabled.
C:\Users\jtm>echo bar > foo\bar.txt
C:\Users\jtm>echo Bar > foo\Bar.txt
C:\Users\jtm>dir foo
Volume in drive C is Aristotle-Win
Volume Serial Number is E4AE-428B
Directory of C:\Users\jtm\foo
2024-05-31 17:55 <DIR> .
2024-05-31 17:55 <DIR> ..
2024-05-31 17:55 6 Bar.txt
2024-05-31 17:55 6 bar.txt
2 File(s) 12 bytes
2 Dir(s) 41,524,133,888 bytes free
C:\Users\jtm>type foo\bar.txt
bar
C:\Users\jtm>type foo\Bar.txt
Bar
And so should we be able to have “é.txt” and “é.txt” in the same directory (with a different UTF-8 normalization?)
What encoding should we use BTW?
I’m not advocating for case-insensitive fs (literally the first thing I do when I get a Mac is reformat it to be on a case-sensitive fs), but things are not that simple either.
> And so should we be able to have “é.txt” and “é.txt” in the same directory
That's what Linux does.
It does create some problems that seem to never happen on practice, while it avoids some problems that seem to happen once in a while. So yeah, I'd say it's a good idea.
You look from technical perspective. From average person perspective, even files are too much technicality to deal with.
As a user I want my work to be preserved, I want to view my photos and I want system to know where is my funny foto of my dog I did last Christmas.
As a developer I need an identifier for a resource and I am not going to let user decide on the Id of the resource, I put files in system as GUID and keep whatever user feels as metadata.
Exposing average people to the filesystem is wrong level of abstraction. That is why iOS and Android apps are going that way - but as I myself am used to dealing with files it annoys me that I cannot have that level of control, but I accept that I am quite technical.
Dealing with files used to be something everyone interacting with computers had to do. It is something average people can do.
I think too much abstraction is a mistake and adds a lot of unneeded complexity.
People should learn something about technology they use. If you want to drive, you need understand how steering wheels work, if you want to drive a manual car (usual where I live and have lived) then you need to know how to work a gear stick and the effect of changing gear.
I'm not even sure 'everyone with an office job' had a computer. It certainly wasn't true 35 years ago. An office might have a computer or two, but not everyone had one, nor was everyone expected to use it.
filenames might even not be words at all, and surely not limited to English. We shouldn't implement rules and conventions from spoken English at a filesystem level, certainly not S3.
MacOS and Windows are just wrong about this.