See also: Let’s roll our own .zip implementation that only Mac can reliably read for…reasons
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
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.
Why didn’t they add resource/data forks in APFS?
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.
honestly - while a Mac is certainly less painful to use than winshit, putting rubbish files recursively into each(!!) accessed folder, on all thumbdrives ever inserted, that’s something Jobs deserves to burn in hell for.
Hmm… Smells like a windows user aswell… Look at that:
.desktopdesktop.iniEdit: fixed the filename
… You mean desktop.ini?
Ah shit I’ve forgotten the ancient tablets, ill fix that thank you!
System Volume Information
I’ve caught the whiff of some Linux too…
lost+found
.Trash-1000
I would also like a word with “bonjour” process while we’re at it.
Thought it was a virus when I first discovered it.
Thumbs.db
Every fucking folder in the file share has one of these
…and whoever decided a file system should be case insensitive by default, I hate you.
What’s the use case for case sensitive file names
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.
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?
a, A, b, B?
A computer will spit out A, B, a, b
See also: ASCII chart
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?
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!
you should do this with every one of these cases. btw, where does .Trash-1000 actually come from?
I had a long and frustrating conflict with this, on this post.
As @[email protected] (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
Freedesktop.org’s trash specification. It’s where files moved to trash go before being deleted when it’s emptied. The 1000 is the user id.
Just gitignore that. Same for dot idea and whatever vscode adds, if anything
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.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