this post was submitted on 25 Apr 2025
3 points (100.0% liked)

Linux

13955 readers
311 users here now

A community for everything relating to the GNU/Linux operating system (except the memes!)

Also, check out:

Original icon base courtesy of lewing@isc.tamu.edu and The GIMP

founded 3 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] fubo@lemmy.world 3 points 1 year ago (1 children)

I recall a case-insensitivity bug from the early days of Mac OS X.

There are three command-line utilities that are distributed as part of the Perl HTTP library: GET, HEAD, and POST. These are for performing the HTTP operations of those names from the command line.

But there's also a POSIX-standard utility for extracting the first few lines of a text file. It's called head.

I think you see where I'm going with this. HEAD and head are the same name in a case-insensitive filesystem such as the classic Mac filesystem. They are different names on a Unix-style filesystem.

Installing /usr/bin/HEAD from libwww-perl onto a Mac with the classic filesystem overwrote /usr/bin/head and broke various things.

[–] MudMan@fedia.io 0 points 1 year ago (3 children)

Case insensitive is more intuitive and MUCH safer.

You do not want every Windows user to live in a world where Office.exe, office.exe, Offlce.exe and 0fflce.exe are all different files.

OSs and filesystems aren't built for programmers, they're built for grandmas. Programmers just happen to use them. It's much more sensible to give programmers a harder time fixing bugs and incompatibilities than it is to make the user experience even marginally worse.

I mean, all due respect for the guy, but that is an absolutely terrible opinion and I will die on this hill.

[–] Deebster@programming.dev 0 points 1 year ago* (last edited 1 year ago) (1 children)

Case insensitive is more intuitive

Are these the same filename?

  • ΑΓΑΘΉ.txt
  • αγαθή.txt

What about these?

  • MY-NOTES-ON-Δ.txt
  • μυ-notes-on-δ.txt

Databases have different case-insensitive collations - these control what letters are equivalent to each other. The fact that there's multiple options should tell you that there's no one-size-fits-all solution to case insensitivity.

This issue is only simple and obvious if you don't know enough about it.

[–] SwingingTheLamp@midwest.social 0 points 1 year ago (1 children)

I don't have Windows here to test, so I keep wondering, are all of these forms the same?

  • facture-février.pdf
  • FACTURE-FÉVRIER.PDF
  • FACTURE-FEVRIER.PDF
[–] MudMan@fedia.io 0 points 1 year ago (1 children)

On a NTFS drive on Windows with default settings the first two are the same, the third one is not.

Caps and non-caps are matched, accented/unaccented characters are not, which is probably what you'd expect.

Thanks. That is what I'd expect, and highlights the disconnect I saw in this comment chain: I think what some other folks were trying (less-than-artfully) to say is that there's a difference between what one might expect case-insensitive means as a computer programmer, and what one might expect case-insensitive to mean in human language. All three of those should be the same filename in fr_FR locale, since some French speakers consider diacritical marks to be optional in upper case. While that might be an edge case, it does exist. English is even worse, with a number of diacritical marks that are completely optional, but may be used to aid legibility, e.g. café, naïve, coöperation. (Whether that quirk is obvious or not, or whether it outweighs any utility of case-insensitivity is not something that I have a strong opinion on, though.)

[–] pelya@lemmy.world 0 points 1 year ago

Your grandma will never type file names in shell, she'll use Open File dialog, where case sensitivity does not matter.

[–] masterspace@lemmy.ca 0 points 1 year ago

OSs and filesystems aren't built for programmers, they're built for grandmas.

You're just flat out and completely wrong.

  1. No grandma is typing out file URLs. This is not a point.
  2. OSes literally do nothing useful on their own. Their explicit purpose is to allow developers to write applications for them for users to use.
  3. Case insensitivity can be handled at the application level, there is no necessity to handle it at the OS level.
  4. Case insensitivity isn't even clearly defined as Linus outlined, but you know what is clearly defined? Different character byte codes.