• @cm0002@lemmy.world
    link
    fedilink
    1393 months ago

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

    • stebo
      link
      fedilink
      773 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
        773 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.

        • Amon
          link
          fedilink
          43 months ago

          Why didn’t they add resource/data forks in APFS?

          • @kalleboo@lemmy.world
            link
            fedilink
            7
            edit-2
            3 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.

  • @kipo@lemm.ee
    link
    fedilink
    English
    73 months ago

    Blue Harvest for Mac will continually clean your removable drives of these files.

    • M.int
      link
      fedilink
      103 months ago

      This seems like a bit of a scam:
      On your external drives you can prevent the creation of .DS_Store

      defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
      defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true
      

      If you really want to continuously delete DS_Store from both your internal and external hard drives you can set up a cronjob:

      15 1 * * * root find / -name '.DS_Store' -type f -delete
      
    • katy ✨
      link
      fedilink
      93 months ago

      When I had a Mac, literally the first thing I did was set up a Hazel rule to delete every single .DS_Store in every folder.

      • @Takumidesh@lemmy.world
        link
        fedilink
        68
        edit-2
        3 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.

        • @gazter@aussie.zone
          link
          fedilink
          -2
          edit-2
          3 months ago

          If I have four files, a.txt, A.txt, b.txt, and B.txt, in what order do they appear when I sort alphabetically?

          edit: I don’t understand why this was downvoted?

              • @gazter@aussie.zone
                link
                fedilink
                73 months ago

                So if someone tells me to look for a file amongst a long list, I need to look in two different areas- the uppercase and lowercase areas.

                I get why it’s more technically correct to differentiate, but from the perspective of a human user, it’s a pain in the ass.

                • @Ferk@programming.dev
                  link
                  fedilink
                  1
                  edit-2
                  3 months ago

                  I’m with you, and not just from a “human” perspective. Also when writing small programs meant to be relatively lean/simple it can be a problem when the user expects it to find a particular file regardless of its case (will it be DOOM.WAD or doom.wad? Doom.wad? Doom.WAD? … guess it’ll have to be [Dd][Oo][Oo][Mm].[Ww][Aa][Dd] and import some globbing library as extra dependency… that, or list the whole directory regardless its size and lower/upper every single filename until you find a matching one…)

                • @Saleh@feddit.org
                  link
                  fedilink
                  43 months ago

                  if you look for a file you type the first letters for the file explorer to jump to the matching name. Retype to jump to the next fitting entry. If you don’t know about this, you can put your string in the search field. If you don’t know about this, you can sort by metadata like file size or date of last change.

                  It is a non problem.

                  Also most workplaces tend to develop a file naming convention, either explicitly or implicitly.

          • @Speiser0@feddit.org
            link
            fedilink
            93 months ago

            Might depend on your file browser.

            You may also want to try, for example, the files “a1”, “a2”, “a3”, and “a10”. Lexicographically, “a2”>“a10”, but my file browser displays “a10” after “a2”.

        • @Kissaki@programming.dev
          link
          fedilink
          English
          4
          edit-2
          3 months ago

          is exactly the same as programming case sensitivity

          Me working on a case insensitive DB collation 🤡🚀🐱‍🏍

          • @Saleh@feddit.org
            link
            fedilink
            173 months ago

            I work with a lot of users and a lot of files in my job.

            I don’t remember a single case, where someone had an issue because of upper- or lowercase confusions.

            • @moseschrute@lemmy.world
              link
              fedilink
              53 months ago

              Most of my frustration comes from combining cases insensitive folders/files with git and then running my code on another machine. If you aren’t coding where you have hundreds of files that import other files, I could see this being a non issues.

              • @Saleh@feddit.org
                link
                fedilink
                33 months ago

                Mostly Windows, and construction industry. So projects generate anywhere from a few hundred to up to a hundred thousand files.

                Everyone has their own filesystem, and then you often have one formal and multiple informal exchange platforms. You still have people throwing around stuff in E-Mails too.

                It is a mess. But in this mess i didn’t come acrosse people complaining they couldnt find a file because of the letters case yet.

                I see that it could be different for programmers, but i dont see that apples solution of treating upper and lowercase as identical name is the solution there, rather than working with explicit file naming conventions in the program.

      • @moseschrute@lemmy.world
        link
        fedilink
        93 months ago

        On Mac when I rename a folder from “FOO” to “foo” git sees them as the same folder so no change is committed. In JavaScript I import a file from “foo” so locally that works. Commit my code and someone else pulls in my changes on their machine. But on their machine the folder is still “FOO” so importing from “foo” doesn’t work.

      • @Speiser0@feddit.org
        link
        fedilink
        183 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?

        • @Reddfugee42@lemmy.world
          link
          fedilink
          English
          12 months ago

          The use case for case insensitive file names is all of history has never cared about what case the letters are in for a folder with someone’s name or a folder with an address or a folder for a project name.

          Use case for case insensitive file names is literally all of history. All of it.

        • @mindbleach@sh.itjust.works
          link
          fedilink
          17
          edit-2
          3 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!

          • @h0rnman@lemmy.dbzer0.com
            link
            fedilink
            English
            43 months ago

            For some extra fun, try interop between two systems that treat this differently. Create a SMB share on a Linux host, create a folder named TEST from a Windows client, then make Test, tEst, teSt, tesT, and test. Put a few different files in each folder on the Linux side, then try to manage ANY of it from the Windows client

          • In case you or others reading this don’t know: You can set bash’s tab-completion to be case-insensitive by putting

            set completion-ignore-case on

            Into your .inputrc (or globally /etc/inputrc)

        • @TedZanzibar@feddit.uk
          link
          fedilink
          English
          13 months ago

          Were you talking about MacOS? It’s been a long time since I last had to use it but I assumed it was case sensitive because it’s Unix based. Uh maybe ignore me then!

          • @moseschrute@lemmy.world
            link
            fedilink
            13 months ago

            Yeah. They have both case sensitive and case insensitive options when you format your drive. It used to default to case insensitive. I haven’t formatted my boot drive in a long time, so I can’t say what it defaults to today.

      • @antipiratgruppen@lemmy.dbzer0.com
        link
        fedilink
        1
        edit-2
        3 months ago

        MacOS uses the APFS file system format nowadays, and used HFS+ before that. FAT and ExFAT formats are supported too. However, the NTFS format needs third party software to work.

    • @polle@feddit.org
      link
      fedilink
      193 months ago

      The moment when you try to rename a folder in windows from Hello to hello and it doesn’t work.

  • FQQD!
    link
    fedilink
    823 months ago

    you should do this with every one of these cases. btw, where does .Trash-1000 actually come from?

    • Lucy :3
      link
      fedilink
      233 months ago

      I had a long and frustrating conflict with this, on this post.

      As @d_k_bo@feddit.org (An dem Punkt könnten wir auch einfach Deutsch labern) noted, it’s a freedesktop.org specification.

      I still stand the point that it’s not very thought through (a hidden dir? Why?), and that blindly implementing it is annoying. It shouldn’t be a universal standard for all systems, as it’s only relevant if you use a file manager which can then use that dir as Trash dir - which I don’t. That could be tested by only allowing filemanagers to create the dir, and if it doesn’t exist, discard the data. That’s probably how some programs work, as only Prismlauncher has created the dir.

      Workaround: ln -s .Trash-1000 /dev/null

      • FQQD!
        link
        fedilink
        123 months ago

        I agree. It somehow seems very unfinished, and it annoyed me more than I’d like

        • Lucy :3
          link
          fedilink
          43 months ago

          Hab tagelang hass geschoben weil der Schmutz mir massiv Speicherplatz geklaut hat. Muss halt zu dev/null symlinken und prüfe regelmäßig global ob es ein neues davon gibt.

  • Fat Tony
    link
    fedilink
    253 months ago

    I am not exactly a programmer. What is the .DS_Store file for?

  • M.int
    link
    fedilink
    23 months ago

    fd -HI '^\.DS_Store$' $HOME -tf -X rm -v

    • ddh
      link
      fedilink
      English
      -13 months ago

      find . -name “.DS_Store” -type d -exec rm -rf {} + -print

      • M.int
        link
        fedilink
        43 months ago

        That doesn’t work, DS_Store are files not directories ( you need to use -type f).
        An equivalent find command would be:
        find "$HOME" -type f -name '.DS_Store' -delete -print
        find takes a while; fd is way, way faster, but find is preinstalled, so there is that.

  • Natanael
    link
    fedilink
    English
    613 months ago

    I saw somebody with Nintendo .DS_store as a username

    • M.int
      link
      fedilink
      13 months ago

      Don’t forget:

      defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true
      
      • M.int
        link
        fedilink
        103 months ago

        Why is there a * in front of DS_Store?
        Seems like fastly made a small mistake find . -name '.DS_Store' -type f -print -delete would just match the exact file and is faster.

  • @webghost0101@sopuli.xyz
    link
    fedilink
    64
    edit-2
    3 months ago

    I would also like a word with “bonjour” process while we’re at it.

    Thought it was a virus when I first discovered it.

    • paraphrand
      link
      fedilink
      English
      173 months ago

      Would you have felt differently if it was called Rendezvous?

    • @tyler@programming.dev
      link
      fedilink
      23 months ago

      Isn’t bonjour the reason that devices like printers famously worked so much better on Mac than windows? I feel like I read an article about that like a decade or two ago.

    • @MonkderVierte@lemmy.ml
      link
      fedilink
      43 months ago

      That was what caused duplicates on setting the printer as default on dad’s PC. Just disable active scanning for new printers in the config. Was quite some detective work with examining the service file and recursively grepping /etc for variable names multiple times.

    • JackbyDev
      link
      fedilink
      English
      153 months ago

      Idk what all it does and doesn’t do, but installing it in Windows lets you find your Raspberry Pi by its “.local” hostname. I know it was originally for printers or something.

      • @boonhet@lemm.ee
        link
        fedilink
        143 months ago

        It’s for local service discovery. Those services may be printers on your network, or another computer sharing music on iTunes (which is why as a Windows user you’d usually get Bonjour when installing iTunes). Or maybe it’s your Raspberry Pi.

        It feels iffy because it comes bundled with other software without you being asked (IIRC) and it autoruns on startup. And I mean 20 years ago when iPods were a thing and people had to use iTunes on Windows, a couple dozen megabytes of RAM really mattered too. Hell I had 512 MB back when I had an iPod (and therefore iTunes)

  • @supersquirrel@sopuli.xyz
    link
    fedilink
    43 months ago

    Where did this art come from? It seems like the cover to a tabletop wargame about the french and indian war or something.