• cm0002@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    See also: Let’s roll our own .zip implementation that only Mac can reliably read for…reasons

    • stebo@lemmy.dbzer0.com
      link
      fedilink
      arrow-up
      0
      ·
      2 months ago

      every time i get a zip file from a mac user it has a folder with random junk in it. what’s up with that? i can open the files without it so clearly those files are unnecessary

      • skuzz@discuss.tchncs.de
        link
        fedilink
        arrow-up
        0
        ·
        2 months ago

        Metadata that’s a holdover from the 1980s MacOS behavior. Hilariously, today, NTFS supports that metadata better than Apple’s own filesystems of today. They can hide it in Alternate Data Streams.

          • kalleboo@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            2 months ago

            APFS still supports resource forks just fine - I can unstuff a 1990’s Mac application in Sequoia on a Apple Silicon Mac, copy it to my Synology NAS over SMB, and then access that NAS from a MacOS 9 Mac using AFP and it launches just fine.

            The Finder just doesn’t use most of it so that it gets preserved in file copies and zip files and such.

  • Lazycog@sopuli.xyz
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    2 months ago

    Hmm… Smells like a windows user aswell… Look at that:

    .desktop desktop.ini

    Edit: fixed the filename

  • boonhet@lemm.ee
    link
    fedilink
    arrow-up
    0
    ·
    2 months ago

    Just gitignore that. Same for dot idea and whatever vscode adds, if anything

    • andioop@programming.dev
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      2 months ago

      git add . > git commit -m "initial" > git push

      Later when I git status or just look at the repo online… “oh crap I let .DS_Store in didn’t I…” and then I remember to set up a .gitignore and make a new commit to take out the .DS_Store and put in the .gitignore.

      • PartiallyApplied@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        2 months ago

        You probably already know this, but for those who don’t, git can globally ignore patterns. It’s the first thing I set up after logging in. Honestly wish git just shipped this way out of the box (maybe match .DS_Store by name and some magic bytes?) with a way to disable it. Just for the sake of easier onboarding

      • Speiser0@feddit.org
        link
        fedilink
        arrow-up
        0
        ·
        2 months ago

        Think the other way around: What’s the use case for case insensitive file names? Does it justify the effort and complexity for the filesystem and the programs to know the difference between lower and upper space chars?

        • mindbleach@sh.itjust.works
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          2 months ago

          What’s the use case for case insensitive file names?

          Human comprehension.

          Readme, readme, README, and ReadMe are not meaningfully different to the average user.

          And for dorks like us - oh my god, tab completion, you know I mean Documents, just take the fucking d!

      • Takumidesh@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        edit-2
        2 months ago

        Well an uppercase ASCII char is a different char than its lowercase counterpart. I would argue that not differentiating between them is an arbitrary rule that doesn’t make any sense, and in many cases, is more computationally difficult as it involves more comparisons and string manipulations (converting everything to lower case).

        And the result is that you ultimately get files with visually distinct names, that aren’t actually treated as distinct, and so there is a disconnect from how we process information and how the computer is doing it.

        ‘A’ != ‘a’, they are just as unequal as ‘a’ and ‘b’

        Edit: I would say the use case is exactly the same as programming case sensitivity, characters have meaning and capitalizing them has intent. Casing strategies are immensely prevalent in programming and carry a lot of weight for identifying programmers’ intent (properties vs backing fields as an example) similar intent can be shown with file names.