
Plan 9 from Bell Labs - MaskedRabbit
https://github.com/0intro/plan9
======
erkose
There's also the recent UC Berkeley release of Plan 9 under the GPLv2
available from [https://github.com/brho/plan9](https://github.com/brho/plan9)
which appears to have been made available to support development of Akaros
[http://akaros.cs.berkeley.edu/akaros-
web/news.php](http://akaros.cs.berkeley.edu/akaros-web/news.php)

------
bluehazed
Always good to check out 9front if you plan on using plan9: new drivers,
filesystem, more utilities.

Homepage:
[https://code.google.com/p/plan9front/](https://code.google.com/p/plan9front/)

Releases: [http://9times.cat-v.org/](http://9times.cat-v.org/)

~~~
simplexion
Watch the video on that homepage. It is fantastic. Clarke and Dawe still make
videos like that.

~~~
Intermernet
Thankyou. Glad to see them getting some international recognition. Absolute
geniuses.

For anyone not familiar, they have been the stalwarts of Australian political
satire for decades.

[http://en.wikipedia.org/wiki/John_Clarke_(satirist)](http://en.wikipedia.org/wiki/John_Clarke_\(satirist\))

[http://en.wikipedia.org/wiki/Bryan_Dawe](http://en.wikipedia.org/wiki/Bryan_Dawe)

[http://mrjohnclarke.com/projects/clarke-
dawe](http://mrjohnclarke.com/projects/clarke-dawe)

[https://www.youtube.com/user/ClarkeAndDawe](https://www.youtube.com/user/ClarkeAndDawe)

[http://www.abc.net.au/news/programs/clarkeanddawe/](http://www.abc.net.au/news/programs/clarkeanddawe/)
(may not work outside Australia.)

~~~
phillc73
I still have the VHS collection of their series, The Games. This was a pre-
Sydney 2000 Olympics comedy satire.

Classics include the 100 metres sprint track, which was "about" 100 metres
long and someone asking how many "smacks" their website received.

[http://en.wikipedia.org/wiki/The_Games_%28Australian_TV_seri...](http://en.wikipedia.org/wiki/The_Games_%28Australian_TV_series%29)

------
ThomPete
As an interface designer Plan9 have always fascinated me yet I found it
incredible hard to find many other designers who were into it's concepts.

I always loved the "everything is an object" approach and in a better world
this not NeXT or Windows would be our underlying principle.

~~~
mercurial
You may be interested in wmii [1], a tiling WM which is inspired by Plan 9 and
uses 9P.

1: [http://en.wikipedia.org/wiki/Wmii](http://en.wikipedia.org/wiki/Wmii)

~~~
burke
I love wmii. It's the primary reason I resent OS X.

~~~
scott_karana
> I love wmii. It's the primary reason I resent OS X.

Huh? What's the relationship?

~~~
TheZenPsycho
OSX fundamentally doesn't support robust tiling window managers. they exist
only as a pale shadow of the real thing.

~~~
scott_karana
Isn't that the same case as Windows, BeOS, Android, iOS, PalmOS, etc?... I was
wondering why OSX was explicitly called out.

~~~
_delirium
OSX has a larger userbase of Plan9 fans, I think, including a number who run
plan9port on it (Rob Pike has said that he uses such a setup). So the bits
that you can't get Plan9-ish might rankle someone. Windows isn't any better,
but there aren't many people trying to make Windows feel anything like Plan9
in the first place, so nobody's too disappointed about it.

------
arca_vorago
I've always been fascinated by Plan9 and in particular the strict adherence to
everything being a file. It seems like it works so well and makes
administration much easier, and I wonder why it has been pushed for more in
other OS's.

------
bastawhiz
Can someone explain why Plan 9 matters? I mean this legitimately. How is this
differentiated from yet another flavor of *nix? I'm sure it was hot shit back
in the early 90s, but I don't see much of an appeal other than as a curiosity
like OS/2.

~~~
black_knight
What I find most amazing is how the kernel is more like a file system
multiplexer. Its job is to present a file system to each process built from
mounting virtual file systems from all sorts of programs and remote machines.

If I want to access files from a remote machine — mount its file system. Want
to play my music from my laptop using the speakers connected to my stationary
computer — mount its sound card into my device folder. If want to use another
machine as a network gateway — I mount its /net.

Even the editor acme has its own file system, which makes writing a script
doing something fancy in my editor really easy. The file system gives easy
access (read/write) to anything from the currently selected text in each
window, to the "menu" at the top (called the tag). And if I write a script, it
is executed anywhere in acme by middle clicking its name.

What makes this all work smoothly is that mounted file systems can overlap,
and that each process is presented its own name space. This completely removes
the need for symbolic links and unix sockets.

~~~
Dewie
> What I find most amazing is how the kernel is more like a file system
> multiplexer. Its job is to present a file system to each process built from
> mounting virtual file systems from all sorts of programs and remote
> machines.

Wow, that sounds really powerful. I've just read a bit about inter-process
communication and sharing in Linux, and that seems like much more of a hassle
than this.

> Even the editor acme has its own file system, which makes writing a script
> doing something fancy in my editor really easy. The file system gives easy
> access (read/write) to anything from the currently selected text in each
> window, to the "menu" at the top (called the tag). And if I write a script,
> it is executed anywhere in acme by middle clicking its name.

That sounds like it might be the answer (an answer) to something I've been
wondering about: how to let another process - outside the editor - have access
to the contents of the editor. Like for example synchronizing the
editing/viewing of a file, instead of the outside process only using the file
stored on the disk, and reloading whenever the editor saves the file. Could
one use the file system of Acme to have another process view for example the
file that it is being used to edit, in real time? I'm thinking that something
like that might be useful for collaborative editing (at the least, letting one
person edit the file while the other person watches the editing, maybe in the
same kind of editor but hopefully through whichever editor or program that she
wishes to use).

~~~
black_knight
Yes. It sounds very much like you want to checkout Acme (and Plan 9). You can
test Acme on other operating systems to get an idea. On Linux (or Mac I
think), you can even mount the file system using fuse, or access it using a
special program called 9p.

Here is a video of using Acme, and a port of Plan 9 userspace tools to other
systems:

• [http://research.swtch.com/acme](http://research.swtch.com/acme)

• [http://swtch.com/plan9port](http://swtch.com/plan9port)

------
kayman
Has anyone used Plan-9 have feedback on running it?

~~~
rcarmo
You can check my other comments for more, but a couple of old-time UNIX folk I
know described it as being dropped into a bare X11 environment with twm, a
flint knife, and the Acme editor.

Acme is amazing, but the whole thing uses mouse chording and requires a
3-button mouse, so it requires a lot of getting used to if you're newer to
computers than, say, 1990.

In general, Plan9 delivers on being "a better UNIX" in terms of what a
standalone process perceives as its runtime environment - everything of
consequence is a file, regardless of its location, and mounting remote devices
of all kinds is wonderfully consistent.

Sadly, all the "nice" things you take for granted on Linux (like hardware
support, graphics compositing, audio, wi-fi, graphical web browsers, even SSH
and modern language runtimes) are absent or have to be bolted on with fairly
ugly hacks.

Still, it runs OK on a Raspberry Pi. Wish it did so on a ODROID-U3, though.

~~~
mischief6
ron puts it in perspective pretty well:
[http://9fans.net/archive/2011/04/230](http://9fans.net/archive/2011/04/230)

~~~
rcarmo
Yeah, but that makes sense at the OS level. UX-wise (and generally speaking,
for most common uses of a computer these days), Plan9 is, sadly, almost
useless. I myself only use it because I _like_ messing about with different
(and arguably better) operating systems, but it's very, very, VERY hard to do
so for general "work" or even browsing the web.

~~~
Sir_Cmpwn
I've considered spending time on plan 9 making the UX less crappy. I think the
stuff under the covers is fantastic but the UX is not great. The three button
mouse thing is pretty stupid, for one.

~~~
rian
While modernizing and redesigning the Plan 9 UI is a valiant cause, it may not
be the most efficient way to accomplish your goals.

I'd venture to say that Plan 9 was never meant to be a mainstream OS. It
essentially served as a playpen for new OS/systems ideas and research at Bell
Labs at the time.

A lot of those ideas were pretty influential: union mounts, per-process
namespaces, user-space file systems, UTF8, human-readable protocols, rfork(),
file-object interface ubiquity, concurrent programming model, etc. You can see
how these ideas have pervaded our current systems landscape.

The implementation of Plan 9 itself is great, but I don't think success of the
Plan 9 project should be limited to whether or not its specific implementation
stays current and modern. The UX was never designed with the common user in-
mind, and it arguably was never the core focus for the system. A greater
success would be to see its actual core ideas spread out into other mainstream
systems.

So instead of making the Plan 9 UX more modern, why not work on getting some
of its missing features into Linux instead? Last time I checked, Linux still
needs a union-mount implementation. This way, the world benefits.

BTW, you might like this:
[http://swtch.com/plan9port/](http://swtch.com/plan9port/)

~~~
amaranth
Union filesystems are (finally) supported in mainline Linux as of the most
recent (3.18) release.

[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux....](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/filesystems/overlayfs.txt)

~~~
stormbrew
There have been union mounts of various sorts for linux for a very long time.
The issue, in comparing them to plan9, has never been whether or not they were
in the mainline kernel, but the fact that they require superuser privileges to
use (because changing the view of the filesystem affects how privilege
escalation works in unix).

As long as that's true, union mounts in linux are not really useful in the
same ways they were in plan9.

------
osivertsson
My experience with Plan 9 is from my first employment at Kreatel
Communications and doing basic admin of the nCUBE/C-COR VOD servers that some
of our customers used in production and we had for integration testing. The OS
those servers ran, Transit, was apparently based on Plan 9.

Coming from a Linux and Solaris background the shell was quite basic to say
the least! I remember on some instance that we for some reason wanted to
bypass the web UI and hand-edit some file and the only editor available was
some variant of ed...

But with a steady hand when doing such things and software upgrades etc it
worked really well and was quite capable for the time (2006).

~~~
vezzy-fnord
You're referring to sam, I presume? The commands are similar to ed, but the
overall design is radically different.

Then of course, Plan 9 has one of the most versatile text editors out there:
Acme.

The shell itself is rc(1), which cleans up the mess significantly from Bourne
shells.

~~~
RBerenguel
I quite like sam, from what I've tried so far. I think it's an interesting
take on ed (but I much prefer acme) I still have "learn basic ed (or sam)" as
a far-away goal (always pushed down my todo list, since knowing the commands
is not enough: using them is what gives power)

~~~
jdp
This is the best writeup I've seen so far on getting comfortable with ed:
[http://blog.sanctum.geek.nz/actually-using-
ed/](http://blog.sanctum.geek.nz/actually-using-ed/)

~~~
aidos
That was great, thanks! I'd never played with ed before but as a vim user it
was pretty easy to follow without having to think too much. I knew it was an
ancestor but never knew it was so similar.

------
pjmlp
If Oberon had as many followers as Plan9, maybe the quest for system
programming in safer languages would already be further along.

------
publicfig
I love how decent of a chunk Github's code identifier seems to think is
Javascript. On a related note, has Plan9 been rewritten in Javascript yet, and
if not, why are you slacking?!

~~~
acomjean
I think they're waiting for the Rust port to be done first.

~~~
e12e
Rust? Don't you mean go?

~~~
1ris
There is Clive from lsub, a plan9 like OS in go.

[http://lsub.org/ls/research.html](http://lsub.org/ls/research.html)

~~~
rcarmo
That's _very_ interesting. I wonder if anyone got it running on ARM.

------
101914
[http://www.9atom.org](http://www.9atom.org)

------
diminoten
[http://plan9.bell-labs.com/plan9/](http://plan9.bell-labs.com/plan9/)

For the folks who didn't quite know what plan9 was.

------
shurcooL
Does OpenGL a work on Plan 9? If so, combined with the ability to run Go code,
a lot can be done.

~~~
mischief6
no - but i wrote a direct translation of libdraw to go, which works. note that
i am talking about actual plan 9 libdraw, not plan9port's devdraw program.

------
Immortalin
Is there a MIT licensed version?

