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.
I am not familiar with MacOS, but that seems like a nightmare. What is the purpose of these files?
the macos file browser, Finder, lets you set a background for a folder, move file icons around to arbitrary positions, other shenanigans. in order for this to work across systems on removable storage media and network mounts, they have this.
Why not make the file when a change is made like with windows desktop.ini files?
I don’t think the code is available for people to figure out whether there’s a reason or if it’s completely arbitrary.
Iirc they’re indexes for the system wide search feature, Spotlight
Nope, that’s the .Spotlight-{INDEX} folder which is also often created 😁
Is there a valid reason not to store that [[anywhere else]], ideally in Spotlight’s data?
In Unixy environments like Mac and Linux the application can’t always know what the mountpoint of a drive is so it’s not always obvious which root folder to put those index/config files in if it’s a portable drive or network drive. Some mountpoints are standard per each OS, but not everything sticks to the standard.
You’d want that, but a lot of programs do that, both in Windows and Linux.
e.g. The
.directory
files with the[
spec by ]freedesktop.org
Dolphin has the option to enable/disable the featureFWIW Dolphin only does it if the filesystem doesn’t provide a way to add that metadata directly to the directory and you change the view configuration for that directory away from your standard configuration. Which is how the standard describes to do it. (Some file managers incorrectly add those .directory files to every directory you visit.)
A mac will add a .DS_Store file to any directory just by breathing on it.
Well, those are different specifications. Apple(who wants everything for themselves) vs FDO(whose main goal seems to be interoperability)
today I learned - using Linux at home since 2005ish and I have never had an auto-file generated on any USB attached drives of mine…
I have manually made
.directory
files (using a bash script) to set icons on folders.It feels good when programs let you know what they intend on doing.
Thumbs.db
you should do this with every one of these cases. btw, where does .Trash-1000 actually come from?
.Trash-999 was already taken by a metal band.
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.
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
I agree. It somehow seems very unfinished, and it annoyed me more than I’d like
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.
Hmm… Smells like a windows user aswell… Look at that:
.desktopdesktop.iniEdit: fixed the filename
System Volume Information
I’ve caught the whiff of some Linux too…
lost+found
Thumbs.db
ehthumbs_vista.db
Thanks but sadly my Windows peers won’t do this because it’s a manual step and they’re already afraid of Windows knifing their computer with an update without making manual changes on top of that.
… You mean desktop.ini?
Ah shit I’ve forgotten the ancient tablets, ill fix that thank you!
I saw somebody with Nintendo .DS_store as a username
'u/Nintendo 3/.DS_store'
Where did this art come from? It seems like the cover to a tabletop wargame about the french and indian war or something.
https://amp.knowyourmeme.com/memes/white-man-has-been-here
In 2000, American painter Robert Griffing created a painting titled, Friend or Foe, wherein, two Native American hunters are examining footprints made in the snow.
Super cool, I realized I was thinking of the wargame A Few Acres Of Snow by martin wallace (the designer of the modern classics, Brass Birmingham and Brass Lancashire)
https://boardgamegeek.com/boardgame/79828/a-few-acres-of-snow
Found one of these in the firmware zip file of my soundbar today.
Every fucking folder in the file share has one of these
I am not exactly a programmer. What is the .DS_Store file for?
…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.
Case insensitive handling protects end-users from doing “bad” things and confusion.
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.
Suffering
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?
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.
Because I want to?
NTFS absolutely supports case sensitivity but, presumably for consistency with FAT and FAT32 (Windows is all about backwards compatibility), and for the sake of Average-Joe-User who’s only interaction with the filesystem is opening Word and Excel docs, it doesn’t by default.
All that said, it can be set on a per-directory basis: https://learn.microsoft.com/en-us/windows/wsl/case-sensitivity
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.
What’s a windows?
I would also like a word with “bonjour” process while we’re at it.
Thought it was a virus when I first discovered it.
“Bonjour, i’m here to fuck shit up”
Would you have felt differently if it was called Rendezvous?
Probably not. I know better then to trust the french /s
no one? Ok
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.
Just gitignore that. Same for dot idea and whatever vscode adds, if anything
Use this so that the things you need to share do get shared.
.idea/* !.idea/codeStyles !.idea/runConfigurations .vscode/* !.vscode/settings.json !.vscode/tasks.json !.vscode/launch.json !.vscode/extensions.json !.vscode/*.code-snippets
Note: I haven’t checked the vs code ones in depth, the list might not be perfect.
I personally strongly advise against committing IDE junk to version control. Assuming your IDE workspace defaults are “sane” for the rest of the contributors is not a good practice.
.vscode
doesn’t store cache or any trash like that, so if you’re including all settings, tasks, etc, you can probably just include everything.The only thing to keep in mind is to only add settings, extension recommendations, etc that apply to all your collaborators and aren’t just personal preferences. A few good examples are formatting rules, task definitions to run the project, and linting rules that can’t be defined somewhere else.
Linting rules and scripts should never live in an IDE-specific directory. I should not need to know your IDE configuration to run scripts and lint my files.
I have yet to come across a language that requires configuration to be stored that way. All modern languages have separate configuration and metadata files for use cases you have defined.
As for workspace defaults, whatever IDE configuration works for you is not guaranteed to work for others. Shoving extension suggestions down their throat each time IDE is booted should not be a part of your source code, as IDE extensions should not be needed to run your code.
Ya, but that .idea is not inserted in eleven thousand sub folders.
It’s not, but I still prefer not pushing my config on others, or others pushing theirs on me.
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE
Helps a bit.
you can also delete them recursively with
find . -name '*.DS_Store' -type f -print -delete
(adapted from this script)
Why is there a
*
in front ofDS_Store
?
Seems like fastly made a small mistakefind . -name '.DS_Store' -type f -print -delete
would just match the exact file and is faster.
Blue Harvest for Mac will continually clean your removable drives of these files.
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