• SloganLessons@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    edit-2
    3 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.

    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?

    You added this later so let me ask you this:

    • give me one use case where it makes sense having several files with the same name but different cases in the same directory
    • DefederateLemmyMl@feddit.nl
      link
      fedilink
      English
      arrow-up
      5
      arrow-down
      4
      ·
      edit-2
      3 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
          6
          arrow-down
          1
          ·
          3 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.