• mogoh@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    14 days ago

    To my knowledge since Windows 10, files can be case sensitive. It is still tricky to setup, but it won’t break.

    • SpaceNoodle@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      14 days ago

      Nah, Windows still fucks it up. I was forced to use Windows 11 for a code generation tool from a chip vendor the other week and it screwed everything up by inserting references to a directory with different cases than how it was actually created.

      • AnyOldName3@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        14 days ago

        That’s more likely to be the tool assuming it’s running on a case-insensitive filesystem than it is Windows breaking anything. If you mount networked storage running on a case-sensitive machine, that’s something that’s worked fine in Windows for a very long time.

        • SpaceNoodle@lemmy.world
          link
          fedilink
          arrow-up
          0
          ·
          13 days ago

          The tool is making the assumption, but everything works on Windows. Windows obviously selectively enforces case sensitivity, surely for backwards compatibility, and this stone-age behavior masks the problem.

    • huginn@feddit.it
      link
      fedilink
      arrow-up
      0
      ·
      14 days ago

      CMV: all Linux files should be case insensitive, displayed as lowercase and mandatory snake_case.

    • MudMan@fedia.io
      link
      fedilink
      arrow-up
      0
      ·
      14 days ago

      Yeah, right? Are we pretending that having case sensitive file names isn’t a bad call, or…? There are literally no upsides to it. Is that the joke?

      • RandomLegend [He/Him]@lemmy.dbzer0.com
        link
        fedilink
        arrow-up
        0
        ·
        14 days ago

        I’m with you here, i find it infuriating and i never ever had the situation where this was beneficial.

        Like who tf actually creates a File.txt, file.txt AND FILE.TXT in one place and actually differentiates them with that.

        • dev_null@lemmy.ml
          link
          fedilink
          arrow-up
          0
          ·
          13 days ago

          For example I might store blobs of data processed by my database in files that have the Base64 ID of the blob as the filename. If the filesystem was case insensitive, I’d be getting collisions.

          Users probably don’t make such files, no. But 99% of files on a computer weren’t created by the user, but are part of some software, where it may matter.

          And often software originally written for Linux or macOS and then ported to Windows ends up having problems due to this.

        • MudMan@fedia.io
          link
          fedilink
          arrow-up
          0
          ·
          14 days ago

          I mean, it’s less of an issue on Linux for both design and user profile reasons, but imagine a world where somebody can send all the normie Windows users a file called Chromesetup.exe to sit alongside ChromeSetup.exe. Your grandma would never stop calling you to ask why her computer stopped working, ever.

        • macniel@feddit.org
          link
          fedilink
          arrow-up
          0
          ·
          14 days ago

          Isn’t it less strain on the Filesystem? keeping a sanitised filename next to the actual filename surely has some drawbacks.

      • Lucy :3@feddit.org
        link
        fedilink
        arrow-up
        0
        ·
        14 days ago

        For files of casual users it might be of benefit. They don’t care about capitalization. For system files, I find it pretty weird to name them with random capitalization, and it’s actually pretty annoying. Only lower- (or upper-)case would be ok tho.

        • MudMan@fedia.io
          link
          fedilink
          arrow-up
          0
          ·
          14 days ago

          Well, camel case does help readability on file names. But I guess that’s the point of case insensitive names, it doesn’t matter. However you want to call them will work.

      • Redjard@lemmy.dbzer0.com
        link
        fedilink
        arrow-up
        0
        ·
        13 days ago

        If you rename a file only changing the casing it doesn’t update properly, you need to rename it to something else and back.
        This is so userfriendly I have been stumped by it multiple times.

        On the other hand in using Linux I have had a number of problems with the casing of files: The number is 0

        • DefederateLemmyMl@feddit.nl
          link
          fedilink
          arrow-up
          0
          ·
          13 days ago

          If you rename a file only changing the casing it doesn’t update properly, you need to rename it to something else and back. This is so userfriendly I have been stumped by it multiple times.

          To my great surprise, this has been fixed. I don’t know when, but I tried it on my Windows 10 VM and it just worked. Only took them 20 years or so :)

    • gravitas_deficiency@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      14 days ago

      macOS also does this by default, but you can change it (though you have to reformat the disk in question). This is generally fine for non-system disks if you REALLY need it for some reason, but afaik it is not recommended for the OS disk due to assumptions that macOS-targeted binaries make (similar to the windows regex version matching that caused problems for a while because it became the unofficial best way to check windows versions for app install compatibility). It’s doubly annoying on newer Apple systems because the integrated SSDs are WAY faster than pretty much anything else you can connect to it. But for the most part, I find it’s more of a nuisance to keep in mind than a real problem (I’ve been dealing with dev-issue MBPs since about 2012).

      As in the windows case, this is also an appropriate choice for the average Apple user (though the fact that they’re fairly ubiquitous as dev machines in many places is annoying on several levels, despite the generally solid best-case performance and thermals I’ve observed).

      • bdonvr@thelemmy.club
        link
        fedilink
        arrow-up
        0
        ·
        14 days ago

        Huh I had thought case-sensitive was default on APFS/HPFS and you had to choose insensitive specifically but I guess not

        • gravitas_deficiency@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          0
          ·
          13 days ago

          Just checked on my work box - if you go into Disk Utility and start the process to add a volume, the default selection is APFS, and there’s an option in the dropdown for for APFS (Case-sensitive)

    • stoy@lemmy.zip
      link
      fedilink
      arrow-up
      0
      ·
      14 days ago

      I don’t really see the benefit of allowing users to create files with the same name in the same directory, yeah, yeah I know that case sensitivity means that it isn’t same name, but imagine talking to a user, guiding them to open the file /tmp/doc/File and they open /tmp/doc/file instead

      • Damage@feddit.it
        link
        fedilink
        arrow-up
        0
        ·
        13 days ago

        Let’s say you have a software that generates randomly named files, having the ability to use both upper case and lower case means you can have more files with the same amount of characters, but that sounds horrible and it’s the only thing I can think of atm

      • MartianSands@sh.itjust.works
        link
        fedilink
        arrow-up
        0
        ·
        13 days ago

        The reason, I suspect, is fundamentally because there’s no relationship between the uppercase and lowercase characters unless someone goes out of their way to create it. That requires that the filesystem contain knowledge of the alphabet, which might work if all you wanted was to handle ASCII in American English, but isn’t good for a system which needs to support the whole world.

        In fact, the UNIX filesystem isn’t ASCII. It’s also not unicode. UNIX uses arbitrary byte strings, with special significance given to a very small number of bytes (just ‘/’ and ‘\0’, I think). That means people are free to label files in whatever way they like, and their terminals or other applications are free to render them in whatever way seems appropriate, without the filesystem having to understand unicode.

        Adding case insensitivity would therefore actually be significant and unnecessary complexity to add to the filesystem drivers, and we’d probably take a big step backwards in support for other languages

        • LarmyOfLone@lemm.ee
          link
          fedilink
          arrow-up
          0
          ·
          13 days ago

          You’re basically arguing that a system shouldn’t support user friendly things because that would add significant burden to the programmer.

          The quintessential linux philosophy. Well done! I mean, what is language? Why have named code variables? This is just a random array of bytes!

          • MartianSands@sh.itjust.works
            link
            fedilink
            arrow-up
            0
            ·
            13 days ago

            No, I’m arguing that the extra complexity is something to avoid because it creates new attack surfaces, new opportunities for bugs, and is very unlikely to accurately deal with all of the edge cases.

            Especially when you consider that the behaviour we have was established way before there even was a unicode standard which could have been applied, and when the alternative you want isn’t unambiguously better than what it does now.

            “What is language” is a far more insightful question than you clearly intended, because our collective best answer to that question right now is the unicode standard, and even that’s not perfect. Making the very core of the filesystem have to deal with that is a can of worms which a competent engineer wouldn’t open without very good reason, and at best I’m seeing a weak and subjective reason here.

            • LarmyOfLone@lemm.ee
              link
              fedilink
              arrow-up
              0
              ·
              13 days ago

              Well you’re just asking an economic question, are the costs worth the benefits?

              I’d argue that linux will never be a good or user friendly operating system without case insensitive filenames.

              That isn’t an opinion but could be verified through scientific study of how confused people act. You don’t even need computers, just ask someone to get the “something SomeTHing” from a labeled box in a cupboard. Presumably science would show that case insensitive naming of things is always less confusing when humans actually use the system.

              The truth is that programmers enjoy writing code far more than reading code. And especially to open source developers “usability” is a dirty word. It’s not about the value of a thing, it’s about the beauty of how it is done.

            • dan@upvote.au
              link
              fedilink
              arrow-up
              0
              ·
              edit-2
              12 days ago

              because it creates new attack surfaces, new opportunities for bugs, and is very unlikely to accurately deal with all of the edge cases.

              Unicode case folding has been a solved problem for a long time. The Unicode standard has rules for which characters should be considered identical, and many libraries exist to handle it (you wouldn’t ever code this yourself).

        • stoy@lemmy.zip
          link
          fedilink
          arrow-up
          0
          ·
          13 days ago

          Oh, I realize why it is, I just don’t see it as an advantage, the whole argument is just a technical one, not a usabillity one.

  • Harold_Penisman@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    14 days ago

    What a tragedy. Giving files slightly different names seems far more organized and logical than having several files with the same name and different capitalization. Really seems like a non-issue to me.

    • Sonotsugipaa@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      0
      ·
      14 days ago

      I’ve used Windows for a bit more than a decade, and I only found out its VFS is case-insensitive (by default) after I fully ditched the OS, when a bunch of Electron applications created directories with different cases - nothing ever broke because of it, save for a single Godot game.

      Personally, I think case-insensitivity seldom makes sense, though I’m also aware that not everyone [knows how / is able] to properly operate a keyboard.

  • radamant@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    14 days ago

    Windows way is superior, in my opinion. I don’t think there’s a need for File.txt and fILE.txt

    • DefederateLemmyMl@feddit.nl
      link
      fedilink
      arrow-up
      0
      ·
      14 days ago

      I don’t think there’s a need for File.txt and fILE.txt

      It’s not so much about that need. It’s about it being programmatically correct. f and F are not the same ASCII or UTF-8 character, so why would a file system treat them the same?

      Having a direct char type to filename mapping, without unnecessary hocus pocus in between, is the simple and elegant solution.

      • radamant@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        13 days ago

        That’s some suckless level cope. What’s correct is the way that creates the least friction for the end users. Who really cares about some programming purity aspect?

      • Serinus@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        13 days ago

        It turns out that the easiest thing to program isn’t always the best application design.

        • DefederateLemmyMl@feddit.nl
          link
          fedilink
          English
          arrow-up
          0
          ·
          edit-2
          13 days ago

          I would argue that elegance and being easy to program are virtues by themselves, because it makes code easy to understand and easy to maintain.

          A one-to-one string to filename mapping is straightforward and elegant. It’s easy to understand (“a filename is a unique string of characters”), it makes file name comparisons easy (a bit level compare suffices) and as long as you consistently use the case that you intend, it doesn’t behave unexpectedly. It really is the way of the least surprise.

          After all, case often does have meaning, so why shouldn’t it be treated as a meaningful part of a filename? For example: “French fries.jpg” could contain a picture of fries specifically made in France, whereas “french fries.jpg” could contain a picture of fries made anywhere. Or “November rain.mp3” could be the sound of rain falling in november, whereas “November Rain.mp3” is a Guns’n’Roses song. All silly examples of course, but they’re merely to demonstrate that capitalization does have meaning, and so we should be able to express that in filenames as well.

      • SloganLessons@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        14 days ago

        so why would a file system treat them the same?

        Because it’s designed for average people, not bots. Imagine the headache of telling people to add a line in file.txt, but they misunderstood and add it to File.txt

        Furthermore, I personally cannot think of any use case for having files with the same names reside in the same directory. It would just create confusion even among tech savvy users and programmers

        • DefederateLemmyMl@feddit.nl
          link
          fedilink
          arrow-up
          0
          ·
          edit-2
          14 days ago

          Because it’s designed for average people

          It is not. It is designed for all purposes, automated processes and people alike. A filesystem is not just for grandma’s Word documents.

          And even people’s names are case sensitive. My name has the format Aaa Bbb ccc Ddd. It is not the same as the person with the name Aaa Bbb Ccc Ddd, who also exists. So why shouldn’t file names be?

          • SloganLessons@lemmy.world
            link
            fedilink
            English
            arrow-up
            0
            ·
            14 days ago

            for all purposes

            Different words that say the same thing…

            Anyway, even for those automated processes, there’s no good reason to use files with the same names in the same directory, it’s bad practice and adds unnecessary confusion in the design of the code.

            • DefederateLemmyMl@feddit.nl
              link
              fedilink
              English
              arrow-up
              0
              ·
              edit-2
              14 days ago

              give me one use case where it makes sense having several files with the same name but different cases in the same directory

              Imagine a table in a database where the primary key is a case sensitive character field, because you know varchars, just like C char types and string types in other languages are case sensitive.

              Imagine a database administrator does the following:

              • Export all data with primary key = ‘Abcde’ to ‘Abcde.csv’

              Imagine a second database adminstrator around the same time does the following:

              • Export all data with primary key = ‘abcde’ to ‘abcde.csv’

              Now imagine this is the GDPR data of two different users.

              If you have a case insensitive file system, you’ve just overwritten something you shouldn’t have and possibly even leaked confidential data.

              If you have a case sensitive file system you don’t have to account for this scenario. If the PK is unique, the filename will be unique, end of story.

                • DefederateLemmyMl@feddit.nl
                  link
                  fedilink
                  English
                  arrow-up
                  0
                  ·
                  14 days ago

                  The point is you have to take this into account, so the decision to go with a case insensitive file system has ripple effects much further down your system. You have to design around it at every step in code where a string variable results in a file being written to or read from.

                  It’s much more elegant if you can simply assume that a particular string will 1-on-1 match with a unique filename.

                  Even Microsoft understands this btw, their Azure Blob Storage system is case sensitive. The only reason NTFS isn’t (by default) is because of legacy. It had to be compatible with all uppercase 8.3 filenames from DOS/FAT16.

    • lily33@lemm.ee
      link
      fedilink
      arrow-up
      0
      ·
      14 days ago

      Indeed. Linux audio allows control characters like backspace to be part of a file name (though it is harder to make such file as you can’t just type the name). Which is just horrible.

  • FQQD@lemmy.ohaa.xyz
    link
    fedilink
    English
    arrow-up
    0
    ·
    14 days ago

    It’s neat that Linux has tge ability to do this, but I honestly can’t think of a good usecase for this. I think this is more confusing than it is useful

    • 5714@lemmy.dbzer0.com
      link
      fedilink
      arrow-up
      0
      ·
      12 days ago

      It’s quite useful for stuff like PROGRAM and Program in the same directory where PROGRAM is the program itself and Program is some unrelated files about the program. Bad example, but the case stands.

      • redisdead@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        11 days ago

        So what you’re telling me is that it’s useful when the software you use is made by absolute idiots?

        • 5714@lemmy.dbzer0.com
          link
          fedilink
          arrow-up
          0
          ·
          11 days ago

          It’s not about software. Program, PROGRAM were just placeholders for content. I know you can think more abstract and argue in better faith than this.

        • OrganicMustard@lemmy.world
          link
          fedilink
          arrow-up
          0
          ·
          14 days ago

          Create multiple branches that only differ in cases from a Unix OS so it breaks git for Windows users in the same project.

          • TrickDacy@lemmy.world
            link
            fedilink
            arrow-up
            0
            ·
            14 days ago

            We had a repo with some really weird (filename) case issues on Mac also. I could only fix it on my home Linux machine, by deleting all the affected files, committing that, then restoring them with all lowercase names. Only time I’ve dealt with that in 20 years but it can happen!

    • gramie@lemmy.ca
      link
      fedilink
      arrow-up
      0
      ·
      14 days ago

      I feel the same way about programming languages. There is no way that “User” and “user” should refer to different variables. How many times has that screwed people up, especially in a weekly typed language?

      One of the many things that I feel modern versions of Pascal got right.

      • Serinus@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        edit-2
        13 days ago

        Nope. Completely different.

        Case is often used to distinguish scope. Lowercase is local while uppercase is public. “Name = name” is a pretty standard convention, especially in constructors.

        There is a ubiquitous use case in programming. Three is not in the file system.

        • calcopiritus@lemmy.world
          link
          fedilink
          arrow-up
          0
          ·
          13 days ago

          This is the first time I’ve seen uppercase denoting scope. Usually it is done with a “_” or “__” prefix.

          Casing styles usually mean different identifier types.

          snake_case or pascalCase for functions and variables, CamelCase for types, UPPER_SNAKE_CASE for constants, and so on.

          If we want to apply this to file systems, you could argue something like: CamelCase for directories, snake_case for files, pascalCase for symlinks, UPPER_SNAKE_CASE for hidden files.

        • gramie@lemmy.ca
          link
          fedilink
          arrow-up
          0
          ·
          13 days ago

          My point is not about how case is meant to be used my point is that it is very easy to make a mistake that is difficult to spot. I think it makes a lot more sense to the case insensitive, and force different names to be used.

    • Kusimulkku@lemm.ee
      link
      fedilink
      arrow-up
      0
      ·
      13 days ago

      I think if you can write them in two different ways it should consider them two different things

  • LouNeko@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    14 days ago

    That would be awful for CAD software since they often display part names, which are derived from the file name only in uppercase letters for readability. But Linux doesn’t really have any industry standard CAD software anyway.

  • palordrolap@fedia.io
    link
    fedilink
    arrow-up
    0
    ·
    14 days ago

    Thought experiment: Would you expect a programming language variable name to be case insensitive?

    That is, if you set foo = 1 and then print FOO, what should happen? Most programming languages throw an error.

    Is this even comparable with filenames, which are, after all, basically variable names that hold large quantities of data?

    If there is a difference, is it the fact it’s a file, or - for a mad idea - should files with only a few bytes of data retain case insensitivity? And if that idea is followed through, where’s the cutoff? 256 bytes? 7?

    (Anyway, Windows filenames are case sensitive, in a sense. If you save “Letter to Grandma.txt” it will retain those two capital letters and all the lower case letters exactly as they are. It won’t suddenly change to “LETTER to Grandma.txt”, despite the fact that if you try to open a file by that name, you’ll get the same file.)

    • wizardbeard@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      14 days ago

      PowerShell variable names and function names are not case sensitive.

      I understand the conventions of using capitalization of those names having specific meanings in regards to things like constants, but the overwhelming majority of us all use IDEs now with autocomplete.

      Personally, I prefer to use prefixes anyway to denote that info. Works better with segmenting stuff for autocomplete, and has less overhead of deriving non-explicit meaning from stuff like formatting or capitalization choices.

      On top of that, you really shouldn’t be using variables with the same name but different capitalization in the same sections of code anyway. “Did I mean to use $AGE, $Age, or $age here?” God forbid someone come through to enforce standards or something and fuck that all up.

  • mrvictory1@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    14 days ago

    Windows and NTFS support case sensitive filenames. The functionality is disabled for compatibility reasons.

  • DefederateLemmyMl@feddit.nl
    link
    fedilink
    arrow-up
    0
    ·
    14 days ago

    Even more annoying is that it’s very cumbersome to change the case of a file once you’ve created it.

    If you accidentally create fIle.txt when you meant File.txt, the rename function does nothing … and it will keep displaying as fIle.txt. You have to rename it to something else entirely, then rename it back to the original name with the intended case.

      • ramble81@lemm.ee
        link
        fedilink
        arrow-up
        0
        ·
        14 days ago

        Look at a lot of postings in the “insanepeoplefacebook” community. There are a lot of “sovereign citizens” who believe that when you’re born the government makes a corporation using the all caps version of your name. And that the case sensitivity of how your name appears on bills matters as they’re distinctly different people.

  • arthurpizza@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    14 days ago

    I can make a file named COM1 on Linux. That’s on the forbidden list for Windows.

    The forbidden list:

    • CON
    • PRN
    • AUX
    • CLOCK$
    • NUL
    • COM1
    • COM2
    • COM3
    • COM4
    • COM5
    • COM6
    • COM7
    • COM8
    • COM9
    • LPT1
    • LPT2
    • LPT3
    • LPT4
    • LPT5
    • LPT6
    • LPT7
    • LPT8
    • LPT9
    • lud@lemm.ee
      link
      fedilink
      arrow-up
      0
      ·
      13 days ago

      That’s because Windows is generally very backwards compatible.

        • DefederateLemmyMl@feddit.nl
          link
          fedilink
          arrow-up
          0
          ·
          13 days ago

          The thing is, a lot of the legacy backwards compatible stuff that’s in Linux is because a lot of things in Unix were actually pretty well thought out from the get go, unlike many of the ugly hacks that went into MSDOS and later Windows and overstayed their welcome.

          Things like: long case sensitive file names from the beginning instead of forced uppercase 8.3 , a hierarchical filesystem instead of drive letters, “everything is a file” concept, a notion of multiple users and permissions, pre-emptive multitasking, proper virtual memory management instead of a “640k is enough” + XMS + EMS, and so on.

          • the_crotch@sh.itjust.works
            link
            fedilink
            arrow-up
            0
            ·
            13 days ago

            Unix was designed for mainframes, qdos/msdos was designed to be a cpm knockoff the local nerd could use to play commander keen and do his taxes. It’s actually impressive how much modern/business functionality they were able to cram into that.

            • DefederateLemmyMl@feddit.nl
              link
              fedilink
              English
              arrow-up
              0
              ·
              13 days ago

              Unix was designed for mainframes

              Unix was never for mainframes. It was for 16-bit minicomputers that sat below mainframes, but yes they were more advanced than the first personal computers.

              It’s actually impressive how much modern/business functionality they were able to cram into that.

              Absolutely, but you have to admit that it’s a less solid foundation to build a modern operating system on.

              In the 80s, there were several Unices for PC too btw: AT&T, SCO, even Microsoft’s own Xenix. Most of them were prohibitively expensive though.

          • BCsven@lemmy.ca
            link
            fedilink
            arrow-up
            0
            ·
            13 days ago

            It still amazes me how well thought out unix was for the era when computing was in its infancy. But I guess that is what you get with computer science nerds from Universities and a budget for development based on making a product the goal, not quarterly profit the goal.

            • superkret@feddit.org
              link
              fedilink
              arrow-up
              0
              ·
              edit-2
              13 days ago

              It’s what you get when you design an OS for a mainframe computer that is accessed by many users sharing its resources.
              DOS was designed for single-user PC’s with very limited processing power, memory and storage, and no access to networked drives. Lots of its hacks and limitations saved a few hundred bytes of memory, which was crucial at the time.

              • BCsven@lemmy.ca
                link
                fedilink
                arrow-up
                0
                ·
                12 days ago

                I guess i was meaning compared to DOS but modern Windows, where stupid stuff is broken, and they care more about ads than creating a clean OS

    • cygnus@lemmy.ca
      link
      fedilink
      arrow-up
      0
      ·
      13 days ago

      LPT1 LPT2 LPT3 LPT4 LPT5 LPT6 LPT7 LPT8 LPT9

      Why does Microsoft hate Life Pro Top listicles?

      • DefederateLemmyMl@feddit.nl
        link
        fedilink
        arrow-up
        0
        ·
        13 days ago

        You’re probably joking, but in case you don’t know: LPT stands for Line Printer Terminal, and LPT1, LPT2, LPT3… referred to parallel ports which were typically (though not exclusively) used to connect a printer.

  • SwingingTheLamp@midwest.social
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    13 days ago

    Case-sensitive is easier to implement; it’s just a string of bytes. Case-insensitive requires a lot of code to get right, since it has to interpret symbols that make sense to humans. So, something over wondered about:

    That’s not hard for ASCII, but what about Unicode? Is the precomposed ç treated the same lexically and by the API as Latin capital letter c + combining cedilla? Does the OS normalize all of one form to the other? Is ß the same as SS? What about alternate glyphs, like half width or full width forms? Is it i18n-sensitive, so that, say, E and É are treated the same in French localization? Are Katakana and Hiragana characters equivalent?

    I dunno, as a long-time Unix and Linux user, I haven’t tried these things, but it seems odd to me to build a set of character equivalences into the filesystem code, unless you’re going to do do all of them. (But then, they’re idiosyncratic and may conflict between languages, like how ö is its letter in the Swedish alphabet.)

    • pedz@lemmy.ca
      link
      fedilink
      arrow-up
      0
      ·
      13 days ago

      This thread is giving me flashbacks to the times before Unicode, when swapping files between Windows and Linux partitions would have a good chance of fucking up every non-ASCII characters in their names.

      There was ways to set it up so the ISO character sets would match, but it was still a giant pain to deal with different ones.

      Blessed be Unicode.

      • zarenki@lemmy.ml
        link
        fedilink
        arrow-up
        0
        ·
        13 days ago

        A related issue I still see very often, even with files newly created just this year, is when trying to extract zip files on my Linux systems that contain non-ASCII filenames and that were created on Windows systems, especially ones with apparently non-English locales like Japanese. Need to trial and error the locale I give to unzip and sometimes hack together fixed names with iconv until the mojibake seems to fix itself.