File systems aren't even real.
Programmer Humor
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
What is this "real" concept anyway?
Adam Savage famously stated on Mythbusters "I reject your reality and substitute my own"
Sure, but is reality even real then? Is anything real?
Not that I meant to get all pop-philosophical on this beautiful Sunday morning, sorry about that.
Fun fact, though: Linux is the only case-sensitive one.
Edit: I feel silly for forgetting that it's all about the choice of FS. If anyone needs anything from me, I'll be in the corner, coloring.
I once ran into a bug in an Arduino program where it wouldn't compile. The author blamed my "broken environment". Turned out, he had included "arduino.h" instead of the correct "Arduino.h".
From a technical standpoint, the windows NTFS filesystem is designed inherently case sensitive, just windows doesn't allow creating case sensitive files.
Connecting an NTFS drive to linux, you can create two separate files readme.txt and Readme.txt.
Using windows, you can see both files in the filesystem, but chances are most (if not all) software will struggle accessing both files, opening readme.txt might instead open Readme.txt or vice versa.
For a few years now, Windows has had the capability of marking certain directories as case-sensitive. So you can have a mixed-case-sensitivity filesystem experience now. Yeah. :/
Such a microsoft thing to do.
NTFS was designed back in the mid 90s, when the plan was to have the single NT kernel with different subsystems on top of it, some of those layers (i.e. POSIX) needed case sensitivity while others (Win32 and OS/2) didn't.
It only looks odd because the sole remaining subsystem in use (Win32) barely makes use of any of the kernel features, like they're only just now enabling long file paths.
Although you can use case insensitive filesystems with Linux, and case sensitive filesystems with macOS. I believe the case sensitivity is a function of the specific filesystem
but yeah, practically, the root for Linux is always case sensitive, and APFS ~~ain't~~ is only if you ask it to be ( https://support.apple.com/lv-lv/guide/disk-utility/dsku19ed921c/mac ).
When case insensitivity is the default I always wonder how many apps unknowingly rely on that due to typos somewhere. I encountered this once while porting a Windows/macOS app to Linux that someone imported a module with the wrong case and nobody noticed
VS Codium did that at some point, it probably still does but I haven't checked
As is right and proper.
Least favorite part of linux honestly
Hard disagree. I don't understand why anyone would want case insensitive.
Am I the only one who doesn't go around mindlessly capitalizing letters? Do people find it too difficult to capitalize things?
Do you want case insensitive passwords too?
If I type X I mean X and only X. Uppercase letters are different letters, just like X and Y are different letters.
Case-insensitive filesystems are for maniacs. They are only causing trouble. Ever had two folders with the same name but different capitalization in windows? You see both, but whichever you click it will always open the same one, while the other can't be accessed. Psychopath behavior.
That's because NTFS isn't case-insensitive. If it was there'd be no two folders. Windows is a case-insensitive operating system running on a case-sensitive file system. It's pretty clear Microsoft wanted case sensitivity and then realised how much legacy software that'd break.
Makes changing the case of a file/folder a lot easier though. Windows you have to rename it to something else then rename it again just to change case but Linux you can just...rename it. It's a small thing but it's something
is this bug really impossible to fix just because the file system is case insensitive?
On MacOS you get a choice when you format the drive.
This meme is way more clever than it should be
Didn't realize until I read your comment. Thanks.
It's not something the Jedi would tell you.
I didn't realise until I read that comment, your comment and the other comment about slash direction.
JFC, thank you. I didn’t realize until it was spelled out for me. I’m definitely not that kind of smart.
This is why I always sucked at games like Myst
Myst and Riven are two of my favorite games of all time. Give Myst another go if you’ve never finished it. After you complete the game, you unlock the “making of Myst” videos. The red and blue brothers in the videos are the two creators. They were independent developers in the 90s, so they made do with what they had. At one point they shove a rubber hose into a toilet to make the atmospheric bubbling sounds.
I realized immediately, read the comment, and then went back to look for a deeper meaning. It wasn't there.
I hate that I need to use escape characters when creating something for windows.
You can actually use / as a path separator on Windows in functions like fopen(), because it supports some ancient version of POSIX standard.
There used to be an undocumented setting in early versions of MS-DOS that would allow the setting of the command option character to something other than the slash, and if you did that, the slash automatically became the path separator. All you needed was SWITCHAR=-
in your CONFIG.SYS and DOS was suddenly very Unix-y.
It was taken out after a while because, with the feature being undocumented, too many people didn't know about it and bits of software - especially batch files, would have been reliant on things being "wrong". The modern support for regular slash in API calls probably doesn't use any of the old SWITCHAR code, but it is, in some way, the spiritual descendant of that secret feature.
Here's an old blog that talks about it: https://learn.microsoft.com/en-gb/archive/blogs/larryosterman/why-is-the-dos-path-character
I don't really watch Star Wars. I'm a more of a Trekkie gal.
🖖
See, you can separate files both ways as long as it's logical
Also the internet belongs on the left.
And really, Linux/macos could be reduced to "Unix" https://upload.wikimedia.org/wikipedia/commons/7/77/Unix_history-simple.svg
And BSD. It's really just Windows vs. literally everything. Or is there anything else that uses backslashes?
Typical windows behavior
CP/M
Which in this context is named hilariously.
Only Mac OS 10 and later, based on BSD, uses ‘/‘. (And, I guess, A/UX.) Classic MacOS used a ‘:’, but it wasn’t regularly exposed in the UI. The only way most users would know is that the colon couldn’t be used in a file name.
I might be wrong, but I think you still can't use a ':' in a filename in macOS. If I recall correctly it will let you do it and show it in Finder, but actually replace it with a '-'.