Live data from Hacker News

Plan 9 from Bell Labs (1995)

plan9.bell-labs.com

41–50 of 55 posts

Re: Plan 9 from Bell Labs (1995)

#41
post #29
post #23

Earlier quoted context omitted.

I don't use Plan 9 much because it lacks a modern web browser, though I miss it dearly. I get some comfort on Linux and Mac OS X by using Russ Cox's excellent port of the Plan 9 tools to Unix[1]. To me, the most important Plan 9 tool is of course, the editor, Rob Pike's acme[2]. [1] http://swtch.com/plan9port/ [2] http://acme.cat-v.org/

Could you talk about the editor? Without knowing the editor specifically, it'd would seem at a severe disadvantage to either editors with much large communities (vi, emacs) or editors that are much more modern (textmate, sublime?).

As an Acme user, I most appreciate the window management. I have no trouble keeping all 20+ source files of a project open at once, each with its own spacial position I can quickly return to. It's easy to expand a buffer just a little bit so I can look at function prototypes in a .h file while coding in another window. If I want to open another file, I just right-click it in the directory listing.

The command language is powerful enough to do what I want day-to-day. It's easy to apply an editor command across every open buffer, if you need to refactor for instance. Like emacs, you can write applications which run in Acme; we have a mail client, news reader, CD player, and IRC client (among others).

When it comes time to compile, I can execute a "mk" command from within Acme by simply typing "mk" anywhere and executing it with the middle mouse button--this isn't just for mk, you can do that with any command. It'll put the output in a new buffer, and if there are compilation errors, you just right-click on the filename:line-number (foo.c:42) and Acme instantly jumps you to that line of the file.

There are more cool things about Acme, but I can't sit here and type all day! It's basically what you get when you take the Unix concept "It's all just text" and make an editor out of it: text is content, text acts as commands, text is for searching.

Re: Plan 9 from Bell Labs (1995)

#42
post #37

Earlier quoted context omitted.

* It's not enough to be better to displace something ubiquitous (as unix like systems are today). You likely have to be orders of magnitude "better". * Do not be hostile to your potential users. (The community that formed around Plan 9 as it went open source were quite hostile, there's no need for public beatings just because someone suggests to port X11 to Plan 9 even if it's a bad idea).

> The community that formed around Plan 9 as it went open source were quite hostile I remember at FOSDEM a few years back, there was this Spanish dude and some of his friends, who were frothing-at-the-mouth fans of Plan 9, and, as they became progressively more inebriated in the place where a bunch of us were staying, he kept ranting louder and louder (and more by himself) about the perceived injustices and deficienc…

I think I know who you're talking about; we have people who get way too excited about Plan 9. Oddly enough, the people who get the most frothy about it often don't run it themselves (the guy you saw, for instance, if I'm guessing correctly).

Re: Plan 9 from Bell Labs (1995)

#43
post #30
post #12

Plan 9 pops up on the front page from time to time, and I see a lot of people expressing a lot of misconceptions about it. I know there are at least 2 or 3 other Plan 9 users on this site, and they help try to clear up some of the questions. I've done quite a bit of poking around in Plan 9, but of course I don't know all of it. I've hacked in the kernel and worked on the 64-bit version as well, I've fooled with the c…

On that note what are some common misconceptions, myths and FUD surrounding Plan 9? I just get the impression that's it's a pretty amazing operating system that never took off... And considering you are a Plan 9 user I suspect you don't think poorly of it either.

For instance, many people think Plan 9 development hasn't progressed since 2002, because that's the date of the 4th edition release on Wikipedia. The truth is that following the 4th edition, development switched to a rolling model in which patches are integrated and a new ISO is built daily.

Another is that there are no "decent" editors. For many people, the definition of "decent" means the executable must be named "vim". As I've said elsewhere, Plan 9 actually has a port of Vim, but if you skip our excellent native editors to use Vim, it's like visiting a foreign country and eating only McDonalds because the local cuisine is unfamiliar.

Re: Plan 9 from Bell Labs (1995)

#44
post #7

Earlier quoted context omitted.

Sam and acme are both very good; they're weird, certainly, and very different from editors before and since but they are quite nice to work in. At least the equal of vi.

I tried very seriously to use Sam instead of vi. My main criticism of it is that you have to be a pixel-perfect mouse acrobat to use it efficiently. I'm not pixel-perfect. I couldn't use the graphical parts of Sam, and that kind of negated all the rest of it. It did have some very interesting (to me, as a programmer) ways of doing things, including structural regular expressions.

"My main criticism of it is that you have to be a pixel-perfect mouse acrobat to use it efficiently."

That was my major complaint about Plan 9 in general. As far as I could tell, it really wanted me to run with a one-handed keyboard and mouse.

...that plus the fact that Bell Labs invented "Not Invented Here" Syndrome.

Re: Plan 9 from Bell Labs (1995)

#45
post #12

Plan 9 pops up on the front page from time to time, and I see a lot of people expressing a lot of misconceptions about it. I know there are at least 2 or 3 other Plan 9 users on this site, and they help try to clear up some of the questions. I've done quite a bit of poking around in Plan 9, but of course I don't know all of it. I've hacked in the kernel and worked on the 64-bit version as well, I've fooled with the c…

Are you involved in nix?

Re: Plan 9 from Bell Labs (1995)

#46
post #45
post #12

Plan 9 pops up on the front page from time to time, and I see a lot of people expressing a lot of misconceptions about it. I know there are at least 2 or 3 other Plan 9 users on this site, and they help try to clear up some of the questions. I've done quite a bit of poking around in Plan 9, but of course I don't know all of it. I've hacked in the kernel and worked on the 64-bit version as well, I've fooled with the c…

Are you involved in nix?

Yes.

Re: Plan 9 from Bell Labs (1995)

#47

Earlier quoted context omitted.

I used emacs for 11 years (93-04) and then acme-like editors (wily, plan9port acme, Acme SAC, Inferno acme) for 8 years (04-). Acme (especially guide files) made a distinct and pervasive change to my working style that emacs never did: sped me up, prevented me from forgetting, gave me help just when I need it, and reduced errors. Inferno's VM gave me a minimal unix environment whose executable and my scripts I can ta…

Is there any articles about workflow/philosophy of sam ? I recall stumbling upon few videos, too introductory to be interesting compared to the emacs/vim-fu we're used too nowadays.

http://doc.cat-v.org/plan_9/4th_edition/papers/sam/ reproduces the original paper by Rob Pike, which goes into some detail, and at length. http://sam.cat-v.org/ collects links to sam implementations, papers, and paraphernalia (such as ssam, which I originally wrote with Russ Cox). To better learn sam in a workaday role, figure out why the sam idioms at http://sam.cat-v.org/cheatsheet/ work (I have Acme versions of many of these at https://raw.github.com/catenate/acme-fonts/master/test/1/acm...).

Re: Plan 9 from Bell Labs (1995)

#48
post #44

Earlier quoted context omitted.

I tried very seriously to use Sam instead of vi. My main criticism of it is that you have to be a pixel-perfect mouse acrobat to use it efficiently. I'm not pixel-perfect. I couldn't use the graphical parts of Sam, and that kind of negated all the rest of it. It did have some very interesting (to me, as a programmer) ways of doing things, including structural regular expressions.

" My main criticism of it is that you have to be a pixel-perfect mouse acrobat to use it efficiently. " That was my major complaint about Plan 9 in general. As far as I could tell, it really wanted me to run with a one-handed keyboard and mouse. ...that plus the fact that Bell Labs invented "Not Invented Here" Syndrome.

Sam and acme do away with almost all the cursor movement commands and keystrokes of other editors, and replaces them with the mouse (to move the cursor around, just point and click, simpler and faster) and structured regular expressions (to select text segments in a document, then run commands across just those). They even use mouse chords for common operations such as cut, paste, and run a command, which are so muscle-memory to me now they don't interrupt my stream of thought.

Re: Plan 9 from Bell Labs (1995)

#49
post #41
post #29

Earlier quoted context omitted.

Could you talk about the editor? Without knowing the editor specifically, it'd would seem at a severe disadvantage to either editors with much large communities (vi, emacs) or editors that are much more modern (textmate, sublime?).

As an Acme user, I most appreciate the window management. I have no trouble keeping all 20+ source files of a project open at once, each with its own spacial position I can quickly return to. It's easy to expand a buffer just a little bit so I can look at function prototypes in a .h file while coding in another window. If I want to open another file, I just right-click it in the directory listing. The command languag…

> It's easy to apply an editor command across every open buffer, if you need to refactor for instance.

As as example:

Edit X/.* / ,s,loginAdmin,loginIdiAmin,g

I edit this text (in a guide file for the current directory) to suit my current need; highlight it by dragging while the left mouse button is down; and then middle-click anywhere on the highlight to run it. After I run it, every open buffer that was changed gets a dirty-bit marker, and I can either middle-click the word Putall (usually in the top row) to save all the files' changes, or Undo (in any buffer's tag) to undo all of the changes across all buffers.

Edit is a separate executable which Acme runs. It talks behind the scenes to all the control files Acme publishes for the files it edits, just like any program you could write yourself. So the editing features are not built into the Acme executable, and are independently changeable. This outsourcing of even core (to other editors) functionality inverts the emacs approach, which brings everything into a big global elisp space.

X/.* / says to address every open buffer, since .* matches any pattern. There should not usually be a space after the asterisk, but HN's formatdoc makes the following text italic and removes the asterisk if I don't put a space there. (In Inferno Acme this particular case appears to work anyway, probably because of the space after the filename in buffer tags.)

,-before-s says to edit the entire content of the buffer, not just a highlighted section.

s,loginAdmin,loginIdiAmin, is a tasteless replacement command in Edit's dialect of sam (and in ed, sed, vi, and vim). These commas could be replaced by any character, as long as that character is not in the set of characters to be replaced, or in the replacement set.

g-after-, says to replace every instance of loginAdmin, not just the first.

Re: Plan 9 from Bell Labs (1995)

#50
I sent an email to Bell Labs a couple of weeks ago suggesting that Plan 9 be released as "public domain" code. I even suggested that this could be a great way to honour the late Dennis Ritchie (who worked there, of course), getting the code "out there" for all and sundry to use, no strings attached. Unfortunately, I didn't get a reply, so I guess the email was deleted without being read. ( Probably thought "Arrrrgh! Another one of those P.D. zealots!" ) ( And they'd be right.... ;) )

I just think it is TRAGIC and a HUGE waste that such an elegant and beautifully-designed OS as Plan 9 continues to basically sit in a backwater, ignored and unused by almost everyone. And it is sitting there when I am convinced that a P.D. release would see its use rocket into the stratosphere.

What would be the harm in releasing it to the public domain? It is already open-source so it's not as if any revenue would be lost. It would be a good P.R. opportunity for Bell Labs too (and as I say, a nice way of honouring D.R.

Let's face it - if Unix itself had been released as P.D. in the first place, then there would have been no need to reinvent it (as with the BSDs and Linux). It could simply have been continually improved upon. That's where I'm "coming from", as it were.

SQLite shows what is possible with P.D. code. It is apparently used in darned-near every smartphone out there, so it's not as if companies won't use P.D. code if it is good enough. If it meets their needs, they will go for it.

Post reply on HN