9 ms·
The Unix spirit set free: Plan 9 from Bell Labs (2006) [pdf]
- fhs 12y agoHere is the video of the presentation: https://www.youtube.com/watch?v=VJSlvoUFkBA https://www.youtube.com/watch?v=VJSlvoUFkBA
- matthewbauer 12y agoDoes anyone on HN use Plan 9 for day to day coding? I've been wanting to hear practical experience with Plan 9 - likes, dislikes, etc.
- RBerenguel 12y agoI've used Acme for long stretches for go programming. But native Plan9 (or VM P9) just lacks too many of the tools I use regularly, pity.
- pekk 12y agoIt should not be too hard for people to write utilities to fortify what Plan9 offers, if they know what to write. But it's a chicken-egg problem to write utilities if nobody uses the platform. Is it a dead cause?
- pmoriarty 12y agovim or emacs, gcc, and bash or zsh would be a good start. I'd love to use, learn more about, and improve Plan9, but the lack of the above make it pretty painful. This is why Hurd is probably far more likely to gain traction in the foreseeable future than Plan9.
- elementai 12y agoPlan9 can probably gain traction in something completely different than workstations or even servers, more like embedded or highly specialized devices. Just like a lot of people say, often one needs single killer app.
- rcarmo 12y agoI was able to find a vi-like editor for Inferno, fwiw. I think the issue is more a lack of updated language runtimes.
- deleted 12y ago[deleted]
- deleted 12y ago[deleted]
- gchpaco 12y agoNone of which are likely to happen, I'd point out, because vim, emacs, bash and zsh are all tied into some sort of notion of a virtual terminal with software controlled cursors, etc etc etc. Plan 9's TTY is astoundingly primitive by those standards; essentially it emulates a line printer but doesn't even have the good grace to allow backspacing. Oddly, said terminal exposes the contents of the scrollback buffer—both read and write—to a file, which is how the native Plan 9 history mechanisms work. This is entirely deliberate, of course, and a substantial part of what makes the system so different and interesting, but step #1 to porting those would involve reinventing xterm, basically. In theory for vim and emacs you could work around that by using the graphical interface, much as say Acme does. I would estimate this to be at least as much work as porting from X11 to, say, Cocoa was, and possibly even worse. And this port would only get you a vim or an emacs that was materially identical to its Unix counterpart—no Acme style control FS and essentially no cooperation with the normal Plan 9 UI elements.
- deleted 12y ago[deleted]
- anth 12y agoThat's quite a load of legacy baggage. If your first reaction to a new system is "how do I get my old environment?", you may be missing the point. You need two shells, two editors, and a specific (gigantic!) compiler? There's a vi for Plan 9 (even skipping the old joke about the MIPS interpreter...). I think it's vim, but I haven't paid much attention. David Hogan did a gcc port, and mostly nobody cared so it languished.
- anth 12y agoAlso: HURD? You're funny.
- weland 12y agoConverting many of the tools used by the Unix hackerdom is made rather difficult by two aspects: * Plan 9's approach on terminal is entirely decoupled from the TTY idea. The terminal is basically a program that takes commands, has a shell run them, and pipes back the result, with none of the VT-whatever stuff. Even getting ncurses-based tools to run would require some effort. * There's no X11 There are some graphical tools for Plan 9 (including more or less barebones web browsers), but there is just enough difference from Linux and BSD environments that people aren't quite willing to cope with it.
- quintile 12y agoThis is an x11 port in the contrib directory equis - if you want it. I use it to communicate with remote linux machines. There is also an ncurses port and a vim port. I don't feel the need for either of those.
- weland 12y agoGood point. I sort of lost contact with the Plan 9 world a while ago -- I kept following the news, but no longer ran a system. Last time I used it, the X11 port was somewhere between experimental and broken, and vim is, uhm, not the editor whose port I'd be interested in :-). My comment is certainly not up-to-date. Edit: I share your point about the lack of need for either ncurses or vim (especially vim, hheheh). My first contact with Plan 9 was somewhat disappointing, mainly due to the fact that I approached it with the oh, Unix, I know this! frame of mind. I was very much a Linux fanboy back then (did I mention it was in highschool? And this is not the dumbest thing I did in highschool!). Only after I studied the source code a little, and learned rc more seriously, did I really begin to appreciate it.
- jacquesm 12y agoNot only does it lack them, there is a huge amount of resistance to porting them because they are 'against the spirit of plan 9' or something to that effect. Which increases the barrier to entry. I'm a huge fan of the principles behind Plan9 but I've never done much more with it than install it, play around with it for a bit, read documentation and newsgroups on what makes it tick. Other than that I've de-installed it... And I would probably use it, maybe even on a (light) production box to see how well it would fare in real life given a chance. But the amount of stuff that is missing compared to vanilla unix makes that a non-starter.
- zura 12y agoI'm always interested to hear opinions from Acme/Sam users. While these "editors" have some unique features, don't you find annoying the lack of basic code completion and syntax highlighting?
- deleted 12y ago[deleted]
- dexen 12y agoNot really. Don't you find annoying the lack of built-in file browser and powerful regex-based transformation language? Don't you find annoying the lack of quick access to search/navigate/execute/copy-paste mechanics via mouse click? In Acme, all text is hypertext. The difference between Acme and previous generation editors (Vim, EMACS etc.) is like between The Web and a library of paper books.
- fmoralesc 12y ago> Don't you find annoying the lack of quick access to search/navigate/execute/copy-paste mechanics via mouse click? Yes, which is why I've written some acme emulation for vim twice. (Incidentally, I was working on that yesterday before this link was posted: https://github.com/fmoralesc/plan9-for-vimspace https://github.com/fmoralesc/plan9-for-vimspace I have to improve the button 2 functionality, and chords are still not supported, but I'm on it. A plumbing system is planned, although I'm not sure if its best to reuse plan9port's plumber or reimplement it.) > In Acme, all text is hypertext. Exactly. Which is why, even though I am a serious vim junkie, I love acme so much.
- weland 12y agoI used Plan 9 continuously for one summer, a while ago, when I was in high school. It's a nice environment, but certainly not something that could be used for day-to-day computing. I still needed another computer for almost anything that did not involve coding. I don't remember if that was before or after they open sourced it, but I distinctly remember poking around the source code during another summer. It's a pleasure to read it. They ignored a lot of received wisdom and the result is an elegant, if unpolished and occasionally buggy, system. IMHO it would have made much more of an impact if it had not been kept on a leash by Bell Labs. I still use Acme occasionally and some of the bunch of scripts I use are in rc. Acme is a beautiful editor that doesn't get in my way much, but the mouse-only interface is fairly clunky and I don't have the time and energy to keep my own patches over it for sane (ahem, emacs) bindings. I use it, occasionally, as a distraction when working on a more boring project, or when I just have to write long streams of text that don't require much jumping around.
- deleted 12y ago[deleted]
- bulte-rs 12y agoI'm hestitant to give it a full try on my raspberry pi mainly due to the lack of a standards compliant web browser (yes, I do web work for a living). Anyone here in the know on the current state of browsers on plan9?
- rcarmo 12y agoIn a word, dismal. They recommend you VNC over to another machine for using a full web browser, since the current existing browsers are far from modern (think Mosaic-grade with some CSS support)
- bulte-rs 12y agoSad to hear. You - by any chance - don't have any dev experience for plan 9 apps itself do you? Would be interesting to find out how hard 'ui' apps are to build. Incorporating webkit in a 'custom browser' might not be easy; but not undoable.
- aap_ 12y agoYes, it's pretty much undoable. You'd have to compile webkit for Plan 9, which requires a C++ compiler, which Plan 9 doesn't have. There are some gcc ports, but I don't know how well they work. There are also probably a ton of dependencies. So a modern webbrowser is not really feasible.
- quintile 12y agocomea c++ is available though it costs $50
- yellowapple 12y agoAbaco (the browser shipped with Plan 9) has support form most of the HTML4 spec, but lacks support for things like CSS and Javascript (see: http://plan9.bell-labs.com/sources/contrib/fgb/abaco.pdf http://plan9.bell-labs.com/sources/contrib/fgb/abaco.pdf). It might be feasible to swap out Abaco's HTML parsers and such with a "modern" rendering engine like Gecko or Webkit while retaining its webfs-based approach to navigating the world wide web.
- SixSigma 12y agoYes, it is dreamy. Going back to other environments is like going back to stone tools.
- quintile 12y agoI have been using plan9 as my desktop since 2000. As people have said browser support is an issue, there is linuxemu + firefox but I prefer to remote desktop/vnc to a windows/linux VM that my work's IT dept look after. In this day and age throwing another VM at the problem is not a big deal, and is definitely easier than porting webkit. I write C code for embedded and server side code so I can write this in portable C and run it on windows, Linux, plan9 or embedded under threadx. Its an environment I am used to and I like it, I find I am productive with it. -Steve
- anth 12y agoI alternate between Plan 9 and Plan 9 from User Space. There's no getting around the browser issue, so when I'm on the go it's all the User Space version, sadly. When at my desk, it's easier to have a side-by-side setup, or VNC or whatever.
- pmoriarty 12y agoPlan9's underlying "everything is a filesystem" paradigm is wonderful, but as a hardcore user of vim/emacs and fan of tiling window managers like i3, the mouse-centric Rio/Acme interfaces seem to be pretty clunky and inefficient. Its C-inspired programming language is also pretty primitive. I'd much rather have seen it built around scheme, lisp, or even a modern statically-typed language like OCaml, Haskell, or SML.
- noobermin 12y agoYeah, the wm didn't look that great by modern standards. However, the whole underlying idea is pretty compelling. I'd like to see something like plan9 or inferno retrofitted with a more modern interface, loaded with modern tools and, yes, being built around a more modern language. Nonetheless, I might try a vm of plan9, for fun.
- rcarmo 12y agoI've been messing around with Inferno for a while (link below for completeness). I would love to have, say, Clojure, Python or something else with a sizable set of built-in libraries running on it, but (at least where Inferno is concerned) I had a lot of trouble finding anything to bootstrap that kind of environment (Inferno uses the `dis` VM, and there is a GSOC project that sort of gets Java running around that, but, again, no readily usable stuff). Notes here: http://the.taoofmac.com/space/blog/2014/05/04/2230#diving-into-inferno http://the.taoofmac.com/space/blog/2014/05/04/2230#diving-in...
- gchpaco 12y agoUnfortunately that would be tantamount to wanting it designed and written by completely different people; Pike and Thompson are clearly comfortable with that level of abstraction, to judge by Go. Moreover OSes designed with higher level languages tend to end up in a very different place even if they start with superficially similar assumptions—compare for example the early Lisp Machine OSes with TOPS-20, or ITS. "Everything's a filesystem" tends to mean "everything's a stream of bytes", which is in some ways a defeat for strong typing at the OS level for all that it can be convenient. I know I've had to write text level parsers for things like the output of multipath -ll (which is not standardized and is intended for human readibility and so changes radically every now and again, but is still the best source of some of that data). Now with Plan 9's FS structure you can arguably turn tree-structured data into a filesystem with files as the leaves, but this doesn't generalize well to non-tree-structured data. That said I really like the OS, and I'm even willing to admit that Acme is pretty good (just not to my Emacs-tainted taste). But I can't imagine what a relational DB would look like in that idiom, unless it's "SQL query as filename". Individual tables, fine, but joins? Transactions?
- username42 12y agoI love the slide where plan9 is compared to Linux (37 syscalls, 148,787 lines of code). For me, the missing tools would be a good up to date browser (google chrome or firefox) and something like virtualbox for virtual machines. I think the browser can not work correctly without good video drivers. Libre Office would be a bonus.
- calvin_ 12y agoare you sure you even get Plan 9? the point is to avoid bloatmonsters like LO and most browsers, with smaller alternatives that work well with the team of the core utilities. drivers are a given though. i'm not sure what their philosophy on virtualization is though.
- frozenport 12y agoare you sure you even get how a PC works? If if it can't browse the web, its junk.
- valarauca1 12y agoThis is stupid. Bemoaning that a research project is junk because the average consumer can't use it misses the point of a research project. A lot of scientific and research equipment can't be used by the average Joe, and has very little implication on their lives. The reason it was posted here is because in Computer Science more then any other field the line between professional and research is blurred more then ever.
- ccrush 12y agoYou, sir, are a gentleman and a scholar. I only hope one day get the joy of understanding the roots of UNIX, the intention of Plan 9/Inferno, and the places it can be used outside of the PC world. I believe their major achievement is hardly the user interface or the driver support. Those are arcane measures of usefulness by today's standards. The main point of Plan 9/Inferno is not about where it runs at all. The point is that wherever it runs, the communication between networked resources is no longer a matter of each device being an island onto itself. It is designed from the ground to allow for a mesh of storage, computation, display, and other devices. The target audience is not your regular PC user just yet. I think the late Dennis Ritchie, of UNIX and C fame, said that Plan 9, much like UNIX, will not be fully appreciated for another 20 to 30 years.
- guard-of-terra 12y agoBe careful: the last time a spirit was left walking freely, it caused quite a mess.
- guard-of-terra 12y agoBtw, I always considered Plan 9's mascot to be middle-aged and with creepy mustache. Kind of like Larry Wall. I imagine this mascot reflects the developer demographic, but compared to common mascots it's a bit raw.
- enneff 12y agoOut of interest: compared to which other mascots?
- guard-of-terra 12y agoKDE dragon, Tux, FreeBSD demon (old one).
- icantthinkofone 12y agoThe FreeBSD mascot is the best one out there.
- TallGuyShort 12y agoGlenda, the Plan 9 Bunny is closely related to the Golang Gopher: http://blog.golang.org/gopher http://blog.golang.org/gopher. I prefer the Gopher, myself.
- frik 12y agoPlan 9 and its successor/spin-off Inferno are both in active development. Main difference: Plan 9 has a virtual memory system and Inferno just uses a flat address space. [...] User space tends to be completely different as Inferno's user space is entirely within the virtual machine. Plan 9 can run [...] generic binaries. -- http://www.osnews.com/thread?249033 http://www.osnews.com/thread?249033 Inferno repo: https://code.google.com/p/inferno-os/source/list https://code.google.com/p/inferno-os/source/list (latest commit May 25, 2014); http://en.wikipedia.org/wiki/Inferno_(operating_system) http://en.wikipedia.org/wiki/Inferno_(operating_system) Plan 9 repo: http://plan9.bell-labs.com/sources/ http://plan9.bell-labs.com/sources/ (latest commit May 26, 2014); http://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs http://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs
- angersock 12y agoAnyone know why they picked one system over the other?
- reirob 12y agoVery interesting read and very intriguing. I would be very interested to see what happened since 2006. On [1] you can see that there have been 7 workshops since. But a nice status update to see if the project is still alive, where is it heading, who uses it for serious work? [1] http://iwp9.org/ http://iwp9.org/
- pohl 12y agoThis makes me wonder: imagine ten years from now, when Rust is a mature systems language (or some other language shooting for safety sans GC that arises in the meantime) and the open source community – tired of dragging around C/C++ security issues – decides to rally around an open source operating system all over again...what's more likely, that we'll just reimplement UNIX all over again for the umpteenth time (but in a safer systems language) or that we'll actually aspire to something better? My money is on the former.
- 0xdeadbeefbabe 12y agoplan9 tools are available on linux with plan9 from user space[0]. Does this go without saying? Why hasn't anyone mentioned it. [0] http://swtch.com/plan9port/ http://swtch.com/plan9port/
- justin66 12y agoSome guy: Yes, you really want to use a 3 button mouse. Approximately everyone else in the entire world: No, we don't.