- cross-posted to:
- linuxmemes@lemmy.world
- cross-posted to:
- linuxmemes@lemmy.world
Ohhhhh… I fucking hate this. I use Windows locally, but I do support for a render farm that runs on Linux. The number of times I have recieved “it works locally” tickets from an artist who decided to get clever and embed Windows paths in string literals in their scene makes me want to punch a puppy. They don’t even look at the application logs we provide to see that the paths threw errors. We handle repointing their file paths with symlinks normally, but when they use literals it literally fucks the system with escapes. I will never understand why Microsoft refuses to standardize to POSIX with the rest of the world. Aside from them being a US company with decision makers who still think freedom units make sense.
Why fight when you can just do
cd /mnt/c/Program\ Files\ \(x86\)/
Would it be more efficient to say Unix vs Windows?
You mean right vs. wrong?
Posix
I thougt linux is no longer Posix compliant, or is just partially posix compliant.
It was never fully compliant. POSIX threads, in particular, are a long time sticking point on Linux.
Is there any OS that’s fully POSIX-compliant?
Yes, in fact, there’s a formal certification process by the IEEE and the Open Group.
https://en.wikipedia.org/wiki/POSIX#POSIX-oriented_operating_systems
Mind you, I think only one of the fully-certified OSen has any substantial use these days (MacOS X). People tend to overvalue it, IMO.
Thank you for educating this dumbass.
I’d just like to interject for a moment. What you’re refering to as Linux, is in fact, GNU/Linux, or as I’ve recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.
Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called Linux, and many of its users are not aware that it is basically the GNU system, developed by the GNU Project.
There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine’s resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called Linux distributions are really distributions of GNU/Linux!
There are several linux systems that don’t use GNU. Android for one. Alpine (everyone’s favorite docker image) for two. ChromeOS for three.
This meme is way more clever than it should be
Took me a minute
Didn’t realize until I read your comment. Thanks.
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.
It’s a beautiful, clever, and groundbreaking game. Its puzzles, however, are taken in game design as an example of what not to do.
The clocktower combination puzzle, in particular, still makes me angry.
I realized immediately, read the comment, and then went back to look for a deeper meaning. It wasn’t there.
I realized immediately, read the comment, and then went back to look for a deeper meaning. It wasn’t there.
It’s not something the Jedi would tell you.
Only a sith deals in absolute paths.
It’s the way.
Can you please explain? I’ve never used Mac and it’s been a long time since I’ve properly used windows.
File paths in Linux and Mac use / while Windows uses \
Take a look at the angle of the lightsabers.
I never would’ve gotten that!
Like I said, way more clever than it should be. Props to the creator for sure.
Technically, Windows understands both / and \. I personally always use / just because it’s easier to type that.
The lightsaber orientation is the same as the slash orientation
Ha, neat!
Duel of the fates:
\//\
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.
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.
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.
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. :/
You’re correct. I once was trying to rename a file in Windows in a git repository that had a wrong capitalization. It was tricky.
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”.
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’tis 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
The source engine does not handle case sensitivity when loading assets from disk. On windows it’s not an issue but on Linux it will silently fail to load assets if the case doesn’t match. I lost so many hours trying to fix some weapon animation that had 0 seconds run time when porting a mod dedicated server to Linux.
VS Codium did that at some point, it probably still does but I haven’t checked
As is right and proper.
But why? What is the point?
That you can give 2 different files the same name? Because that would confuse the hell out of every regular user. Especially if you work on a network share and have an entire directory full of same named files because everyone and their grandma throws their files in there.
It is almost as bad as Case Sensitive Usernames and email.
Least favorite part of linux honestly
It’s a big difference whether a folder is named PetersHits or PeterShits. So what should I expect when opening a folder called petershits? Pictures of Peter on the potty or some great songs?
Peters-Hits You okay?
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.
In my decades of IT work I have literally never seen this to be an issue. To myself or others.
deleted by creator
Your username is 3 words. At a quick glance maybe they are 3 directories. I guess I have to use another command to find out.
You okay?
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.
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.
Uppercase letters are different letters
No, they’re different glyphs, they’d still be alphabetized the same way as X and x are the same letter
It’s less about me randomly capitalizing letters and more about me not remembering whether or not what I’m looking for had capitals or not.
Passwords ≠ Filesystems
You okay?
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?
You can turn it off, at least for ext4: https://lwn.net/Articles/784041/
On MacOS you get a choice when you format the drive.
I hate that I need to use escape characters when creating something for windows.
Python raw strings to the rescue!
Pathlib is the answer.
Nobody is stopping you from using forward slashes. Python will translate the path for the current platform.
Python doesn’t have to. Windows supports both out of the box. Has been for many, many years
Good to know!
Try pathlib. All your problems solved.
File systems aren’t even real.
at that point operating systems are also not real.
Wait, are we real?
How Can Mirrors Be Real If Our Eyes Aren’t Real
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.
I, too, first heard this quote from Adam on Mythbusters as a child. But, I’m pretty sure I also heard it was said first by some philosopher.
I would later be informed that “some philosopher” was the 1984 film The Dungeon Master.
Only apparently that was not the first, and it was said in a 1974 episode of Doctor Who. Well, someone on Reddit said that, and linked to this WikiQuote page but on that page it also says it’s from The Dungeon master.
So, I don’t know what to believe any more, and I still hope it was actually an obscure lost quote of Rene Magritte or something because in my head it would just make sense.
I only know this because of SAO Abridged.
Yes
Interpretation of reality is individual
Reality itself is relative
But if it didn’t exist we wouldn’t be chatting about it right now
That’s my reality anyway
What’s yours?
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
The one thing about NT was that it didn’t have it’s own semantics, but it could emulate any system you wanted. It’s the unofficial successor of an OS that was based on creating VMs where you could run any other OS you want.
Then Microsoft decided to create their own system in it, and only really finished writing that one.
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
Also the internet belongs on the left
This rings true in more ways than one.
And BSD. It’s really just Windows vs. literally everything. Or is there anything else that uses backslashes?
CP/M
Which in this context is named hilariously.
Typical windows behavior
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 ‘-’.
I mean literally… example.com**/**index.html
The number of times I had to ask “how can I tell where the file ‘physically’” (I know) “lives” on the network when I took up work at a Windows shop, it was just baffling. And Win people couldn’t understand what I was asking.
There’s a location for this effing thing. I want to know where it is, really! How do I get that info?!
It’s not Win people. It is dumb people.
Any Infrastructure IT guy can tell you where specific files are stored, it is their job. Whether they mainly use Windows, Mac or Linux doesn’t matter.
Physically, it’s probably on your hdd or ssd. Or possibly just in ram or a data center somewhere 😜
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
Specifying paths with - would be its own special brand of hell.
Shouldn’t the blade be green? I thought Luke wore all black in ROTJ when he got hos green lightsaber.
I don’t get it
Linux uses forward slash. Windows uses backslash. Because some dude 45 years ago wanted to make it look different from UNIX.
I understand pre-OS X Macintoshes used colons.
They did! And I weirdly kind of miss them for the entirely non-logical reason that they looked elegant.
Don’t get me wrong, I adapted in about 3 seconds when I made the switch to Mac OS X 25 years ago, but I irrationally kinda miss them just a tiny bit.
Code in Rust and you can get double colons for your library path imports!
RISC OS uses periods and doesn’t have file extensions
Was that bill gates just to make one of the first incompatibilities in a long long run?
DOS originally didn’t even support directories but was using / for command line arguments. They didn’t want to change the option character and break stuff so they went with \ as the directory separator.
DOS wasn’t originally created by Microsoft. They bought the OS from computer shop in Seattle.
Thanks for the info, didn’t know that (I did know they bought DOS)!
This is a great video about the launch of Windows 95, that covers the history of DOS at the beginning: https://youtu.be/0Ol8ZSE-PEk. Worth watching if you’re interested in the history.
Thanks!
The lightsaber direction is like / \
A whole fight inccharacters:
/ \
X
| |
\ /- /
X
- /
Both works fine in Windows tho?
Used to not
In Linux it is still not.
Actually, from what I can tell in my brief 15-minute internet search, every version of Windows since NT has accepted both because DOS 2.0 supported both. The exception to this was Command Prompt. But, these days, it supports both. Not sure when they made that change in Command Prompt, but I think it’s been that way since at least Windows 7.
Sadly, I had the great displeasure of writing code for Windows (and DOS) well before then.
Times change. You used to not be able to run Linux in Windows, but you can do that too.
Yeah, and I’ve tried that. It turns out it works even better if you throw away the Windows part.
Thanks be to God