• PenisDuckCuck9001@lemmynsfw.com
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    5 months ago

    This makes installing Skyrim mods harder because mods often contain differing versions of folder names. For example one mod might be “Scripts” and the other might be “scripts”. This means you can’t have Skyrim mods on Linux if you’re allergic to copying files manually as this will generally make mod managers not work as well. People on forums like nexus have a hard time even grasping the concept of not using a mod manager so it’s hard to get help of any kind.

  • radamant@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    5 months ago

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

    • lily33@lemm.ee
      link
      fedilink
      arrow-up
      0
      ·
      5 months 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.

    • DefederateLemmyMl@feddit.nl
      link
      fedilink
      arrow-up
      0
      ·
      5 months 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.

      • SloganLessons@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        5 months 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
          5 months 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
            ·
            5 months 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
              5 months 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
                  ·
                  5 months 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.

      • Serinus@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        5 months 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
          5 months 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.

      • radamant@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        5 months 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?

  • fadhl3y@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    5 months ago

    Strictly speaking, this is a limitation of the default filesystem, and not the core operating system. If you mount a NFS share that is case sensitive, it will still be case sensitive.

    • fatalicus@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      5 months ago

      Technically not a limit there either since you in windows on NTFS can set a flag on a folder to make it case sensitive

      fsutil.exe file queryCaseSensitiveInfo <path>
      
  • KillingTimeItself@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    0
    ·
    5 months ago

    you can also use basically anything that’s not / in a file name as well, it’s pretty based. Meanwhile on windows you have to use SMB mappings if you don’t want your directory structure to self immolate, what a good operating system.

    • EddoWagt@feddit.nl
      link
      fedilink
      arrow-up
      0
      ·
      5 months ago

      I recently renamed a few movie files to something with ‘:’. That worked fine on Linux, but lead to some issues on windows. With a lot of errors from next cloud for file sync and me not being able to rename them without booting back to Linux. Fun stuff

      • KillingTimeItself@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        5 months ago

        i’m not sure if you’re allowed to escape the / character, i feel like it’s blatantly illegal. But you could use the funny character set trolling thing instead, where you use a not forward slash instead. (not the \)

          • KillingTimeItself@lemmy.dbzer0.com
            link
            fedilink
            English
            arrow-up
            0
            ·
            5 months ago

            maybe on macos, that might be funny, it’s probably fucky over there for some other reason anyway.

            Im pretty sure it’s just explicitly illegal in linux though.

      • ulterno@lemmy.kde.social
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        5 months ago

        Just tried. It processes the escape first and then finds the path with it. Essentially, making it look into a directory made by the characters before the \/.

        The above was when I tried:

        echo "asd" > asd\/dsa
        

        But then I tried using Dolphin (GUI File Browser) to make a file and:

        ls
         1   2   3   4  'asd\⁄sad.txt'ls
        1  2  3  4  asd⁄sad.txt
        

        In the first one, the backslash is not the escape character, but part of the text.

    • plumbercraic@lemmy.sdf.org
      link
      fedilink
      arrow-up
      0
      ·
      5 months ago

      I absolutely fail to see the utility of having a user called Bob and bob, or a dir called Downloads and downloads. Capitalisation makes sense in code - at a glance I can know I’m looking at a Class or a var, but for system administration it has only ever wasted time, and not once made anything easier.

  • ByteWelder@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    5 months ago

    The main problem with case-insensitive is that software sometimes is lazily developed: If a file is named “File.txt” and a program opens “file.txt”, then on a case-insensitive file system it will work fine. If you then format your drive to case-sensitive, the same software now fails to load the file. Source: tried case-sensitive filesystem on macOS some years ago.

  • arthurpizza@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    5 months 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
      ·
      5 months ago

      That’s because Windows is generally very backwards compatible.

        • DefederateLemmyMl@feddit.nl
          link
          fedilink
          arrow-up
          0
          ·
          5 months 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.

          • BCsven@lemmy.ca
            link
            fedilink
            arrow-up
            0
            ·
            5 months 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
              5 months 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
                ·
                5 months 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

          • the_crotch@sh.itjust.works
            link
            fedilink
            arrow-up
            0
            ·
            5 months 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
              ·
              5 months 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.

    • cygnus@lemmy.ca
      link
      fedilink
      arrow-up
      0
      ·
      5 months 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
        ·
        5 months 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.

  • 9point6@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    5 months ago

    Oh it’s even better, windows explorer can’t really do case sensitive

    But NTFS is a case sensitive file system

    This occasionally manifests in mind boggling problems

    • Wolf314159@startrek.website
      link
      fedilink
      arrow-up
      0
      ·
      5 months ago

      Yeah, it’s super weird. I once named a file with mixed case, but one of the letters was the wrong case. Renaming the file didn’t work at first. Renaming a file named PAscalCase.txt to PascalCase.txt resulted in no change to the filename. Windows continued to show it as PAscalCase.txt. I had to rename it to something totally different with different characters entirely, then rename it again to get it right.

      • dual_sport_dork 🐧🗡️@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        5 months ago

        Renaming it in Explorer does actually rename the file if all you change is the case, but whatever mechanism Explorer uses to determine “has this file’s name changed” is apparently case insensitive. So it won’t refresh the file list. (I imagine this is yet another one of those damn fool Windows 95 holdovers, or something.)

        You don’t have to do any multiple-renaming jiggery pokery. Just press F5 to refresh that Explorer window and magically then it’ll show you that the file’s name was indeed changed all along.

        • Wolf314159@startrek.website
          link
          fedilink
          arrow-up
          0
          ·
          5 months ago

          Nope. Tried that. Tried DIR in a command window too. But I never specified even what version of Windows I was running, so I’m a little unclear why you’re trying to troubleshoot a problem I was experiencing on windows nearly a decade ago. I guess this is what be mansplained too feels like.

      • Scrollone@feddit.it
        link
        fedilink
        arrow-up
        0
        ·
        5 months ago

        I wouldn’t do it though. It can only lead to problems, especially with poorly coded programs.

  • SwingingTheLamp@midwest.social
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    5 months 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
      ·
      5 months 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
        ·
        5 months 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.

  • [object Object]@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    0
    ·
    5 months ago

    Fun things happen whenever you upload 2 files with the same names, but differently capitalized letters to a Nas from a linux box, and then try to delete one of them from windows. It broke so hard I actually got a bsod…