Live data from Hacker News

Plan 9 is a uniquely complete operating system

posixcafe.org

81–88 of 88 posts

Re: Plan 9 is a uniquely complete operating system

#81
post #80
post #78

Earlier quoted context omitted.

In context though, you gave it as an example why people would not want more feature-rich software. The supposed simplicity of Python over Perl has nothing to do with Perl being more feature-rich and that compromising its simplicity. It seems like Plan9 would get closer to "Python simplicity" by adding features and extending interfaces. Which would be at conflict with the "minimalist MVP simplicity". You present it as…

You're absolutely right, my analogy sucked. Python is not a good example of a simple language. Complexity is in conflict with usable composition. Because of simple, small interfaces, the surface area needed for composition to cover all cases in a plan 9 environment is much smaller. This allows for things like remote login to be implemented as a small number of 'mount' calls, git to serve repos in a way that can be sc…

> > You present it as mutually exclusive.

> I honestly have no idea what you mean. What is the "it" that I am presenting, and what do you think I presented it as excluding?

Simplicity vs feature-rich. Your last follow-up mostly resolves that, I think.

BTW, I think you just sold me on diving into Plan9 some time soonish (:

Re: Plan 9 is a uniquely complete operating system

#82

For the uninitiated, Plan 9 lives on as the filesystem network interface that allows Windows and Windows Subsystem for Linux cross-platform access to your C drive. Via " https://nelsonslog.wordpress.com/2019/06/01/wsl-access-to-li... ": Plan 9’s filesystem is a very simple network filesystem protocol to share files between systems. They are specifically using 9P2000.L. They considered using Samba and SMB instead but…

> Plan 9 lives on as the filesystem network interface that allows Windows and Windows Subsystem for Linux cross-platform access to your C drive. Same with other hypervisors, virtualbox etc do the same. If you have docker installed on macOS it also uses 9p to share data with the host. But IMO 9p is a terrible choice for this, particularly because it doesn’t support hard links. It breaks a lot of software like sccache…

I didn't take it as arrogance. And avoiding hard links and dirmove makes it more portable. Which is why it's used everywhere.

I'd even suggest it reflects humility not arrogance.

Re: Plan 9 is a uniquely complete operating system

#83
post #6

> The Plan 9 implementations tend to not be as feature rich as the proper upstream variants. This is IMO the biggest drawback. Why wouldn't any user want the software to be feature rich? In fact, looking at Plan 9, I often feel that the provided software is just a MVP.

Because there's diminishing returns on effort for each feature and some features just don't fit well with in plan9. And sometimes there's a workable alternative.

Lastly, it's really not for general users. It's for (academic?) computer people who are dexterous and willing to try new things.

Re: Plan 9 is a uniquely complete operating system

#84

Earlier quoted context omitted.

> Plan 9 lives on as the filesystem network interface that allows Windows and Windows Subsystem for Linux cross-platform access to your C drive. Same with other hypervisors, virtualbox etc do the same. If you have docker installed on macOS it also uses 9p to share data with the host. But IMO 9p is a terrible choice for this, particularly because it doesn’t support hard links. It breaks a lot of software like sccache…

I didn't take it as arrogance. And avoiding hard links and dirmove makes it more portable. Which is why it's used everywhere. I'd even suggest it reflects humility not arrogance.

The arrogance comes from the fact that it came without any explanation whatsoever, but instead just acted as if it is the only possible position one could have. The quoted sentence didn’t have any elaboration as follow up, it was just the end of the discussion.

It’s phrased as if to say “if you gave it a moments thought, you’d see I’m right”, which is the epitome of arrogance to me.

I get this impression from Rob Pike as well… I’m sure it comes from decades of being tired of arguing with people, but he comes off as utterly dismissive, as if to say “you either agree with me or you’re an idiot”. It doesn’t help that he continually throws shade on Linux (which is approximately infinity times more successful than Plan9) as you can see from other comments in the same thread. I don’t come away with a good impression of him or any of the other plan9/9front devs. Their whole attitude seems to be “everyone in the OS/systems world is dumber than us, and even too dumb to see why they’re dumber than us. We have a perfect system beyond any reproach and you’re an idiot if you disagree.”

Re: Plan 9 is a uniquely complete operating system

#85

Earlier quoted context omitted.

I didn't take it as arrogance. And avoiding hard links and dirmove makes it more portable. Which is why it's used everywhere. I'd even suggest it reflects humility not arrogance.

The arrogance comes from the fact that it came without any explanation whatsoever, but instead just acted as if it is the only possible position one could have. The quoted sentence didn’t have any elaboration as follow up, it was just the end of the discussion. It’s phrased as if to say “if you gave it a moments thought, you’d see I’m right”, which is the epitome of arrogance to me. I get this impression from Rob Pik…

Its sort of annoying that he merely mentions the principle, and not precisely how it applies to hard links, but I think that's appropriate in the context of a single post / email.

>On Plan 9, the rule tends to be: if feature(X) can't be implemented in a way that works for everything, don't do it.

TBH I don't think hard links would be missed in Linux either, symlinks are good enough.

Re: Plan 9 is a uniquely complete operating system

#86

Earlier quoted context omitted.

The arrogance comes from the fact that it came without any explanation whatsoever, but instead just acted as if it is the only possible position one could have. The quoted sentence didn’t have any elaboration as follow up, it was just the end of the discussion. It’s phrased as if to say “if you gave it a moments thought, you’d see I’m right”, which is the epitome of arrogance to me. I get this impression from Rob Pik…

Its sort of annoying that he merely mentions the principle, and not precisely how it applies to hard links, but I think that's appropriate in the context of a single post / email. > On Plan 9, the rule tends to be: if feature(X) can't be implemented in a way that works for everything, don't do it. TBH I don't think hard links would be missed in Linux either, symlinks are good enough.

> symlinks are good enough

They really aren’t though. Anyone reading from a symlink needs access to the path it points to. If I have a network share with hard links pointing to common storage that’s outside the share’s root, clients are none the wiser and see them as normal files. With symlinks they would see links to paths they can’t see. It’s not really the same thing.

Re: Plan 9 is a uniquely complete operating system

#87
post #37
post #35

Earlier quoted context omitted.

Inferno is not a successor. For example you can have Golang for Plan 9 but doesn’t make much sense on Inferno. You would even run Inferno on Plan 9 on some scenarios. I suspect most people who know about Plan 9 also know about Inferno, but it’s just a different thing, does not supersede it in general.

Plan 9 => Inferno, which is still Plan Alef => Limbo => Go. Being able to backport Go into Plan 9, doesn't make sense in this context, that isn't how historical evolution works. Also even Inferno has the necessary C infrastructure to port Go, if someone hasn't done it already.

I suspect you would have to port Go to run on Dis, the VM. C is for the OS. It’s a different design, without mmu. Plan 9 is still a classic OS with hardware isolation

Re: Plan 9 is a uniquely complete operating system

#88
post #31
post #16

Earlier quoted context omitted.

Counterpoint: Plan 9 is supposed to be the ultimate realization of the Unix philosophy. One important aspect of the Unix philosophy is composable software. Instead of large, feature-rich programs where functionality is often siloed off from other programs, users have a toolbox of small, composable programs that “do only one thing and do it well” and that they could connect together using pipes and other inter-process…

That would be Inferno, not Plan 9. COM is everywhere on Windows, specially since Vista, as the WinDev regained the control they thought Longhorn was going to take away from them. One of Powershell strengths is the easy access to COM, just like .NET, frameworks. Linux could do the same with D-Bus, but alas so is the distributions wars, and hate on anything like proprietary OSes, that it only has a minor role on system…

It's more like Plan 9 is an evolution of unix and inferno is an evolution of plan 9.

Also there's the old viewpoint of "let's put everything in XML. Everything can read and write XML", and that seems similar to the argument of "everything can be an object that is exposed to other programs". The problem in both cases, objects have requirements for function call names, function arguments, nuanced conventions, as XML has specific tree structures. Interfacing programs must be wise to these conventions and sometimes nuances so it doesn't "just work". Windows is like - programs CAN share objects and interface BUT it needs developer work for program A to work with program B. Unix is like "programs X and Y, whatever they are, work together with no additional work". The magic of unix is that if there are 1000 programs, now there are 1,000,000 combinations that "just work" vs. 1,000,000 developer hours

Unix on the other hand recognizes that it's a lot easier to just say "everything is a text stream, and all programs are responsible for inputting and outputting only fairly clean text streams without extraneous output" . This is extended to "everything is a file", a file also typically made to be read into a clean text stream so it can feed into that whole ecosystem.

Post reply on HN