• fubo@lemmy.world
    link
    fedilink
    arrow-up
    34
    ·
    5 months ago

    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.

  • AnotherPenguin@programming.dev
    link
    fedilink
    English
    arrow-up
    25
    ·
    edit-2
    5 months ago

    I prefer case sensitivity, the filesystem shouldn’t do any magic like that. If someone types “file.txt”, opening “File.TXT” would be convenient, but also misleading. Ignoring case is what autocompletion/search is for imo.

    • cm0002@lemmy.worldOP
      link
      fedilink
      arrow-up
      10
      ·
      5 months ago

      Isn’t bcache the one made by the solo dev who was causing all that drama trying to merge a bunch of crap during a freeze last year?

      If so that explains quite a bit lmao

            • LaggyKar@programming.dev
              link
              fedilink
              arrow-up
              3
              ·
              edit-2
              5 months ago

              If you’re running Wine on a case-sensitive file system, and you it tries to open a file, it would first try to open a file whose case matches exactly. But if it doesn’t find one, it would then need to list all the files in the directory, normalize their case, and go through them all to see if there is a file with the given name but in a different case. That can take some time if there is a lot of files in the directory.

              But if you’re on a case-insensitive filesystem, the FS can keep case-normalized names of all files on disk, so you can do a case-insensitive open just as fast as you can do a case-sensitive open.

              BTW, another application that can benefit from this is Samba, since SMB is case-insensitive.

              • soc@programming.dev
                link
                fedilink
                arrow-up
                2
                ·
                edit-2
                5 months ago

                That –at best– gives you the same performance.

                EDIT: Ok, I misunderstood – you meant the performance of “case insensitive in kernel” vs. “case insensitive in userspace”. I get your point now.

                • FooBarrington@lemmy.world
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  5 months ago

                  No? Either the application implements its own case-insensitive index, or you’ll have strictly worse performance than an implementation in the file system. The application would have to make multiple syscalls (which have a fixed overhead).

  • mlg@lemmy.world
    link
    fedilink
    English
    arrow-up
    7
    ·
    5 months ago

    TIL case insensitive filesystems are still a thing actually in use.

    Why lol

  • TomasEkeli@programming.dev
    link
    fedilink
    arrow-up
    5
    ·
    5 months ago

    Conversely: that two files that differ in name only by non-visible and humanly-impossible-to-detect details is an enormous user-experience fail.