4 ms·
I'd just like to interject for a moment. What you're referring to as Linux is in fact not the origin of the "everything is a file". More properly, "everything
by MarsIronPI 6mo ago
I'd just like to interject for a moment. What you're referring to as Linux is in fact not the origin of the "everything is a file". More properly, "everything is a file" is a Unix concept and Unix's creators deserve credit for the idea. Though Plan9 carries it out much better: Unix networking isn't file-based, Plan9's is.
Sorry, I couldn't resist.
- pjmlp 6mo agoWhile UNIX is famous for everything is a file, in reality this concept is only true in Plan 9, in UNIX IPC not everything is a file. Sorry, I couldn't resist. :)
- zahlman 6mo agoI was thinking more along the lines of "what you're referring to as Windows is in fact Copilot/Windows"....
- zenoprax 6mo agoSlopPilot/NT? > I'd just like to interject for a moment. What you're referring to as Windows, is in fact, NT/SlopPilot+Windows, or as I've recently taken to calling it, Copilot plus Copilot plus Copilot.
- DiscourseFan 6mo ago[flagged]
- DougMerritt 6mo agoIt's a humorous reference to a (in-)famous serious post by Stallman, see https://www.gnu.org/gnu/incorrect-quotation.en.html https://www.gnu.org/gnu/incorrect-quotation.en.html
- direwolf20 6mo agoNot everything is a file, in linux or unix.
- beAbU 6mo agodid you remember to push your glasses up your nose bridge before writing your comment
- rzzzt 6mo agoIt also flashes white for a brief moment and you can hear a faint chi-wii sound.
- MarsIronPI 6mo agoNo sorry, I forgot (i.e. I don't wear glasses (yet)).
- netbsdusers 6mo agoPlan 9 implements some sort of "everything has a directory entry" concept. Sockets are files already in Unix. "Everything is a file" in Unix means they have a uniform treatment as file descriptors. Its perfection is probably in Capsicum where when you create a new process, you get a process file descriptor referring to it instead of a PID.
- cenamus 6mo agoSockets really aren't files im Unix though, you don't create them with (f)open, and you don't read/write with (f)read/(f)write
- somat 6mo agoAs much as I like bsd I think the socket interface is their biggest failure, don't get me wrong, the socket interface is not bad, it is an amazing accomplishment that most of the internet is based on. The reason I regard it as a failure is because it is so close but not quite touching. A core unix idea is to have a single namespace registry and a simple universal api(open, seek, read, write, close) to access resources on this registry. and you can tell the bsd socket team was trying(like I said it's close) but they failed to close the loop and shipped an api that did not match the core unix api. And for free, a rant, I think this is why Microsoft's registry is so bad. On paper it sounds great "a single place to put all your config" I could totally sell it. But in practice it is miserable to use. When proposed nobody said "we already have a hierarchical namespace where all our config can go and it already has pretty great tooling, lets just make it better" so they invented a custom one that required custom special access patterns and custom special tooling and custom special api's, and... it sort of sucks to use. I guess in their defense they were not fully onboard the idea that you could have one tree(they liked their many trees A: B: C:)
- 1718627440 6mo ago> but they failed to close the loop and shipped an api that did not match the core unix api. What exactly is the thing, that you think is lacking, though?