Where did this art come from? It seems like the cover to a tabletop wargame about the french and indian war or something.
Thumbs.db
…and whoever decided a file system should be case insensitive by default, I hate you.
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
What’s a windows?
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!
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.
The moment when you try to rename a folder in windows from Hello to hello and it doesn’t work.
Yes, so annoying especially when using source control which is case sensitive.
Rename Hello hello2
Commit
Rename hello2 hello
Commit
Yes, that’s exactly what I do when I rename lol
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.
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.
On a Linux environment? Mind sharing the usage area?
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.
Windows is / Windows filesystems are case insensitive too.
Like windows and their forbidden folder names
Simple solution: only allow lower case characters in file names.
is exactly the same as programming case sensitivity
Me working on a case insensitive DB collation 🤡🚀🐱🏍
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?
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”.
a, A, b, B?
A computer will spit out A, B, a, b
See also: ASCII chart
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.
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
ordoom.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 andlower
/upper
every single filename until you find a matching one…)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.
Why would you order lowercase before uppercase?
Ascending order implies going from low to high
I guess the problem is that they were thinking First to Last when putting it in this order. Kind of like the image here:
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.
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!
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)
Thank you
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
Because I want to?
Suffering
Every fucking folder in the file share has one of these
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.
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 featuretoday 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.
FWIW 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)
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
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.
Maybe. There are many ways to move files and directories around without using Finder, at which point all indexed data about those files and directories will be stale. Forcing something as core as
mv
to update Spotlight would be significantly worse, I think. By keeping the.DS_Store
files co-located with the directory they index, moving a directory does not invalidate the index data (though moving a file without using Finder still does). Whether retaining indexing on directory moves is a compelling enough reason to force the files everywhere is probably dependent on whether that’s a common enough pattern among workflows of users, and whether spotlight performance would suffer drastically if it were reliant on a central store not resilient against such moves.So, it’s probably a shaky reason at best.
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
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.
I saw somebody with Nintendo .DS_store as a username
'u/Nintendo 3/.DS_store'
I hope they didn’t close their account two years ago!
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.
Found one of these in the firmware zip file of my soundbar today.
Hmm… Smells like a windows user aswell… Look at that:
.desktopdesktop.iniEdit: fixed the filename
Thumbs.db
ehthumbs_vista.db
System Volume Information
… You mean desktop.ini?
Ah shit I’ve forgotten the ancient tablets, ill fix that thank you!
I’ve caught the whiff of some Linux too…
lost+found
__MACOSX folders hither and yon.
you should do this with every one of these cases. btw, where does .Trash-1000 actually come from?
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.
.Trash-999 was already taken by a metal band.
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
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.
The land of the penguins
I would also like a word with “bonjour” process while we’re at it.
Thought it was a virus when I first discovered it.
no one? Ok
“Bonjour, i’m here to fuck shit up”
Adieux!
TIL there’s a plural of adieu
My French grammar is perhaps not the best
Lol all good. I took French in high school and was pretty sure their wasn’t an x on the end, but I looked it up and it technically is correct in old French as far as I can tell. Perhaps someone who speaks proper French can chime in.
Would you have felt differently if it was called Rendezvous?
Probably not. I know better then to trust the french /s
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.
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)
All i figured out for certain is that it came bundled with itunes.
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.
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE
Helps a bit.
Don’t forget:
defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true
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.
I am not exactly a programmer. What is the .DS_Store file for?
Kind of a mac’s version of desktop.ini. Remembers layouts and other metadata about a folder.
It’s for storing your DSs, obviously.
Not for buying new DSiware games?
I learned of those files outside the context of programming. When program or file zip packages contained these random ds store files and I looked up what they are.
Turns out, it’s metadata
cachingfor macOS. Irrelevant and does not belong into [distributed or shared] packages./edit: It’s been a long time ago. Looking at it again, I guess it adds folder metadata, so it could be useful when distributing to other macOS. But for other OS, it’s noise. Either way, usually it’s not intentionally included.