Plan 9 from Bell Labs

marc.info/?l=9fans&m=111558822710356
>If Plan 9 were just a really clean Unix clone, it might be worth
using, or it might not. The neat things start happening with
user-level file servers and per-process namespace. Recall that in
Unix, /dev/tty refers to the current window's output device, and means
different things to different processes. This is a special hack
enabled by the kernel for a single file. Plan 9 provides full-blown
per-process namespaces. Thus, in Plan 9 /dev/cons also refers to the
current window's output device, and means different things to
different processes, but the window system (or telnet daemon, or ssh
daemon, or whoever) arranges this, and does the same for /dev/mouse,
/dev/text (the contents of the current window), etc.

Well, Jow Forums? Why aren't you using Plan 9?

Attached: plan-9.png (1392x935, 66K)

Other urls found in this thread:

9front.org/
9front.org/coc
9p.io/wiki/plan9/plan_9_wiki/
9p.io/wiki/plan9/Unix_to_Plan_9_command_translation/index.html
twitter.com/NSFWRedditGif

UNIX is proprietary malware cancer and has been deprecated by free open source Linux.

Attached: 1545654922442.png (800x480, 19K)

no wifi drivers :(

Uhhhh… sorry sweaty, but I'm not telling you to use bloated UNIX, I'm telling you to use chad distributed system Plan 9 from Bell Labs (or its fork 9front).

Here, have a link:
9front.org/

The Internet is bloat anyway.

Linux copied process namespaces with /proc and special "filesystems" (eg, doing shit like mounting a website) with fuse.

The problem is that Plan9 is designed around this. Implementing a file system on Plan9 is trivial, even with more intricate composition rules. The entire system is set up to handle a base level of transparent operations on those filesystems.
Obviously proc on Linux is a non-trivial kernel module and the same goes for whatever you want to implement in fuse. If you want possible network transparency you're writing a 9P equivalent yourself. Same goes for more complex unions. These are just the basic expectation on Plan9 so there's no need to write them in the first place, let alone shoehorn them to work within the fuse interface somehow.
The bigger problem there is the lack of interoperability. You write a fuse FS and it's yours, different from the rest. You write a 9P FS and it has a set of expectations that allow it to interoperate with any other in complex ways you might not even expect.

It's absurd how much utility you get for free on Plan9. The result of dropping Unix compatibility allows the actual system implementation to be simple itself too. The more I read about it the more asinine Unix files seem. And when that's the principle feature of Unix (everything is a file) it's hard to ignore the shortcomings of it. Plan9's "everything is a file system" is much more sensible in every way with the api's and format choices they made.

>Plan9's "everything is a file system" is much more sensible in every way with the api's and format choices they made.
Rob Pike Slaying the ASCII and endian dependent monster with UTF-8 and IPC standards (1992).jpg

Attached: General_Jackson_Slaying_the_Many_Headed_Monster_(cropped).jpg (1082x895, 212K)

wrong

didn't do it very well, but it's the thought that counts, right?

I used p9 for a good year long about 10 years ago, it was great except for internet browsing so I ended up using that windows program that lets you mount your plan9 and use it along.
Very nice and the C compiler was great.
Stuff like mounting another system's CPU/screen/keyboard/whatever and doing work on that over 9p blew my mind.

9front is heavily COC'ed

it's a joke you absolute spaz

>so I ended up using that windows program that lets you mount your plan9 and use it along
Are you talking about plan9port or something else? This is relevant to my interest.

>Very nice and the C compiler was great.
Agreed. Their C dialect and tooling are basically proto-Golang. Fast, simple, and producing portable IR. I've never had a better time writing C code.

>Stuff like mounting another system's CPU/screen/keyboard/whatever and doing work on that over 9p blew my mind.
I know that feel. Reading this for the first time was eye opening. When they mean multiple machines, they mean it. Even different architectures.

Attached: Untitled.png (666x1052, 71K)

>Why aren't you using Plan 9
Why aren't YOU, OP, using Plan 9

Found it on my hdd, its called drawterm but I've completely forgotten how to configure it.
I used to mount a windows folder and then write programs/compile using acme.

Ahh right, I forgot about that. I'm going to look into it later. It's probably a better experience than swapping between my host and a vm.

(I forgot to say thanks)

Attached: 1430695949347.png (290x332, 133K)

>Well, Jow Forums? Why aren't you using Plan 9?
Because it's yet more Bell Labs garbage, whose "innovations" consist in addessing problems Unix created in the first place.
Also, Rob Pike is gay.

no prob fren

>Also, Rob Pike is gay.
TAKE IT BACK ANONYMOUS

Attached: Rob Pike looks like an elf.png (444x697, 368K)

Plan 9 is worse than snake oil. Plan 9 was created to make distributed computing look like snake oil. Like UNIX compared to Multics, it arrived years after working distributed computing protocols and is still worse. AT&T's "research" is inferior to what was already on the market and will always be, no matter how much time and money is put into it. It's "research" that results in an inferior OS, increases costs on every single level, decreases productivity, replaces simple solutions with complex problems (sometimes so complex that nobody believes they can be solved), makes things worse for users, and prevents real researchers from doing what works because of "compatibility" with horrible interfaces. UNIX and Plan 9 are anti-research that shit on 60 years of computer science. That's why UNIX technology like Plan 9, BSD, and Linux in 2019 is worse than what Multics did in the 60s. Plan 9 uses "tar" to copy directory hierarchies not for any "philosophical" reasons, but because the version of UNIX it was based on didn't have "cp -r" and they were not capable of adding it. It doesn't have dynamic linking because they weren't smart enough to copy Multics or another mainframe system that does it properly. It still has the same bc calculator and all that other UNIX bullshit. What sucks is when Plan 9 weenies point to something that UNIX does wrong and blame the entire thing itself instead of the broken UNIX implementation.

I mean to be fair many people treat Unix as an epoch of modern computing. You can't really fault them for not being perfect on what's essentially the first attempt at a next generation. And you certainly can't be mad that they fixed their own mistakes. What's the alternative? Use something Unix compliant?

>Plan 9 uses "tar" to copy directory hierarchies not for any "philosophical" reasons, but because the version of UNIX it was based on didn't have "cp -r" and they were not capable of adding it. It doesn't have dynamic linking because they weren't smart enough to copy Multics or another mainframe system that does it properly.
That's a misconstruction of the situation. I won't defend or attack the decisions, but it's known that the authors (especially Pike) didn't like all the flags being added to everything (quote cat -v, etc.).

`cp -r` is simply not necessary in Unix since directories ARE files, in plan9 they don't even need to be copied when you can simply bind them somewhere else. You're conflating the act of archiving a directory with copying it. Tar is completely appropriate here if your intent is to take a directory and convert it to a static data object / archive.

Dynamic linking is a whole topic on itself and its usefulness is questionable. It almost seems detrimental. It feels like the majority of people have been using it as an excuse to disregard software and system maintenance. Is it convenient? Maybe. Is it necessary? I don't think so. People complaining about huge binaries with duplicate machine code, that's the responsibility of the FS to handle. Complaining about having to recompile software as if compiling software is a chore (it doesn't have to be, and on Plan9 it isn't). Complaining about package management (on plan9 this is a complete non issue, the binaries are simply mounted and called, if they're updated they're done so in a transparent manner).

etc. etc.

I'm pretty sure even SUN engineers went on to say that dynamic linking was a mistake. If anyone knows what I'm talking about please link papers or usenet posts.

>deleted
Killed by the quads. RIP

but multics was bloat

Oh, I know it's an asston cleaner on Plan 9, but we're basically at the "good is the enemy of great" stage. Clean implementation doesn't bring in users (or even developers), and actually used implementations exist under Linux already. It's hard to suggest something better when you can already do what the better thing can, even if awkwardly.

a lot of things could have been solved if Bell Labs actually gave a rats ass about Plan 9 as anything other than a vehicle to write papers on though

It literally was not, this got pushed by Unix developers and users after the Bell Labs team dropped out (mere months before it was actually ready to ship actually, but it didn't seem like that at the time). The hardware it ran on had a (quite insane at the time) 2MB of RAM, so Multics was allowed to stretch its legs in terms of featureset.
That being said, Multics did end up failing eventually (namely, it was decidedly unportable -- in the late 80s, there were a bunch of ideas on emulating the old hardware it ran on using more recent machines thrown around, but Honeywell mismanaged the whole thing kinda badly despite having a fair few high-value customers and it all fell apart).
Multics development lasted from 1969 to 1992.

there is a bit of truth to this though -- the programming language it used, PL/I, is actually bloat
it's somewhat bloat even relative to today's standards

9front.org/coc
9front's coc page is hilarious. Keep refreshing it.
The "traditional" coc page is in the rotation, but you get gems such as this sometimes.

Attached: coc.png (818x181, 35K)

> As if system d isn't malware cancer created by alphabets with over a million lines of unaudited code making it just as closed source as the rest

heh
9FRONT CODE OF CONDUCT

1) no heh
2) >get banned for greentexting

Damn nice quads though

But OP, I AM using it.

9FRONT CODE OF CONDUCT

fuck off man, shut up.

all you said is cat-v bullshit
bur oh well what I was expecting in a plan nein thread

Are there any tutorials for using Plan 9? If there any browser?

>Complaining about package management (on plan9 this is a complete non issue
Because there's no packages

I recently installed it on a T420. Everything works great, WiFi, power management, even brightness and so on. I updated my source tree and recompiled the system (took all of 2 minutes) and then rebooted. I’m poking around now reading the manual, getting used to sam and acme, both of which I hate, and browsing cuck chan here with Mothra.

It’s pretty based. Very comfy. No botnet whatsoever. I’m using 9front.

Not true at all.

drawterm is indeed what you need

Go to 9front.org and clock on DASH1 for a tutorial. There are two browsers which both lack JavaScript.

lol did a retard really claim the unix developers are "too incompetent to implement recursive cp"? i'm glad he deleted that shit post. how embarrassing!

How hard will it be to port a modern browser on Plan 9?

>lisp machines died for this

PL/I is "bloat" in the sense languages other than C are bloat. This is yet another lie pushed by Unix weenies, who often unironically claim C was the first high level programming language.
I'm surprised you recognize the shit they pushed about Multics as a whole, yet you buy the "PL/I was bloat" meme.

They literally were.

That's the point. It obviates the need for them in a way that is better in multiple ways imo. Want binary x? Just mount it. Done.
No care about arch, location, versioning, etc. You don't even need to have it on your machine, but it could be if you wanted it to be.
Composing a $PATH as a mountpoint seems infinitely better to me than managing a bunch of packages, both locally and in some repo, and for each machine type. With plan9 it's again absurd how simple it is.
>what's program X? It's a 900GB binary with 9 thousand dependencies and it only runs on DEC ALPHA, let's try it out instantaneously at no cost on my raspi. Oh, I don't actually need this, `unmount /bin/bigass`

9p.io/wiki/plan9/plan_9_wiki/
is probably helpful.

I don't actually know much about the lisp machines. I assume it's basically just a closer to hardware interpreter. What makes it so great compared to a generic machine what runs lisp on it?

I was seeing someone here on /BST with nice setup and HHKB keyboard, running p9 of course

checked
I just read the manual, this shit is fucking awesome. Its a shame that only autistic retards use/maintain it. It had so much potential, jewgle did dis!

you niggas (and slavs who are white-skinned niggers) are not smart enough to grasp what Plan9 was and why

the big idea is, (as in Erlang) - uniformity - that everything in the universe of computation is uniformly connected via the *minimal* and almost optimal 9P protocol, and there are namespaces (hierarchical structures) everywhere

looks like a bit like molecular biology, isn't it? (how could you stupid niggas could knows?)

smart white people design everything looking at biological systems (while stupid niggers think that botanists and biologists are faggots).

fucking degenerates

user please.

Who?

9p.io/wiki/plan9/Unix_to_Plan_9_command_translation/index.html
>Unix to Plan 9 command translation
>UNIX
tree
>PLAN 9
du $* | awk '{print $2}' | sort | sed 's/[^\/]+\// /g'
HAHAHAHAHAHAHAHAHAHHAAHHAHAAH
Is THIS what Plan9fags call minimal?

The mouse bullshit ruins it