Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[9fans] Using the Acme Editor

3,853 views
Skip to first unread message

Wendell xe

unread,
Aug 19, 2008, 11:57:45 AM8/19/08
to
Seeking an alternative to vi and emacs, I've been giving Acme a try (acme-sac, actually). After reading the articles and man pages and playing with it for a few days, I'll admit I don't see how Acme could be even remotely competitive with vim/emacs for editing code.

Searching the 9fans archive, I found admonitions that you have to learn Acme's very different operating paradigm, but no specific advice. So I'm posting here a list of editor features I miss in Acme. For each item, what is the Acme way of approaching it?

I hope that the replys in this thread will serve as a reference for others trying to learn Acme.

01. Toggle on/off line wrapping
02. Toggle on/off EOL character display
03. Display line numbers
04. Display ruler
05. Rectangluar block selection
06. Search and replace with confirmation at each item
07. Automatic insertion of spaces for tabs
08. Syntax highlighting of code
09. Code folding
10. Code clips/completion
11. Bookmarks
12. Display file diff with locked parallel windows
13. Customize the contextual display of commands in the tag line
14. Customize the color scheme
15. Change fonts
16. HTML tag matching
17. Display (in status bar?) the Unicode ID of glyph at cursor
18. Display right-to-left text

Also, regarding Acme's use as a file browser:

19. Open new directories in the same window, so that you don't get a desktop full of windows as you drill down through a directory tree.


ron minnich

unread,
Aug 19, 2008, 12:05:04 PM8/19/08
to
On Tue, Aug 19, 2008 at 8:52 AM, Wendell xe <wend...@yahoo.com> wrote:
> Seeking an alternative to vi and emacs, I've been giving Acme a try (acme-sac, actually). After reading the articles and man pages and playing with it for a few days, I'll admit I don't see how Acme could be even remotely competitive with vim/emacs for editing code.
>


You have to learn it.

If you want emacs and vi, you won't get them with acme -- besides, you
already had them, remember?

Acme is a very nice tool. But you have to climb the learning curve,
and there's no escaping it.

I don't know how else to put it. Most times, I use acme, but still use
emacs and vi as well. They are different.

FWIW, there's lots of people who think emacs and vi are a joke for
code use, and use the more sophisticated IDEs out there. To each his
own.

ron

erik quanstrom

unread,
Aug 19, 2008, 12:22:36 PM8/19/08
to
> 01. Toggle on/off line wrapping
> 02. Toggle on/off EOL character display
> 03. Display line numbers
> 04. Display ruler
> 05. Rectangluar block selection
> 06. Search and replace with confirmation at each item
> 07. Automatic insertion of spaces for tabs
> 08. Syntax highlighting of code
> 09. Code folding
> 10. Code clips/completion
> 11. Bookmarks
> 12. Display file diff with locked parallel windows
> 13. Customize the contextual display of commands in the tag line
> 14. Customize the color scheme

i don't see how any of these would be useful
to me. in particular, i especially do not want
a ruler or any ascii-graphical bits. if i want a
typesetter, i'll use one.

if you are the type who wants a hammer with
an lcd temperature display, i would venture
that plan 9 tools are not for you.

> 16. HTML tag matching

this could be a useful addition. it's an easy fix.

> 15. Change fonts

B2 "Font $fontname". B2 means select with the
middle button. for example,
Font /lib/font/bit/cyberbit/mod14.font

> 17. Display (in status bar?) the Unicode ID of glyph at cursor

B2 ">unicode -n `{cat}"

> 18. Display right-to-left text

this is a plan 9 "limitation". although it is an
interesting philisophical question if a text
editor should get involved in such complications.

it seems to me that the zero-width combiners and
directional markers make unicode poor-man's
metafont masquerading as a character set.

then again, i'm a well-known luddite.

- erik


Robert Raschke

unread,
Aug 19, 2008, 12:34:23 PM8/19/08
to
Going by your list, I would conclude your code is something in the
vein of Java plus web stuff, maybe even J2EE, or maybe the scourge of
the editing world, Python.

If that's the case and you have to deal with other people's code, Acme
is probably not going to help you very much. In fact Acme will make
the shortcomings of any code you are looking at a lot more obvious.

For me, that's a crucial thing. Keeps my code in check purely through
the text of it.

Acme's strengths lie in navigating, writing and changing code that is
of a certain standard.

Just my thoughts,
Robby

Ramon de Vera

unread,
Aug 19, 2008, 1:53:44 PM8/19/08
to
This is all as far as I know how to use acme (mind you I haven't
stretched acme out as far as the other guys might have)...

On Tue, Aug 19, 2008 at 9:52 AM, Wendell xe <wend...@yahoo.com> wrote:
> Seeking an alternative to vi and emacs, I've been giving Acme a try (acme-sac, actually). After reading the articles and man pages and playing with it for a few days, I'll admit I don't see how Acme could be even remotely competitive with vim/emacs for editing code.
>

Isn't "I don't see how Acme could be even remotely competitive..."
seem a tad harsh? :-) It is just a little different than what you
normally use. Acme is pretty powerful. And how I answer your questions
below might shed light with you on how it is used.

> Searching the 9fans archive, I found admonitions that you have to learn Acme's very different operating paradigm, but no specific advice. So I'm posting here a list of editor features I miss in Acme. For each item, what is the Acme way of approaching it?
>
> I hope that the replys in this thread will serve as a reference for others trying to learn Acme.
>
> 01. Toggle on/off line wrapping

You can't. It always wraps lines around.

> 02. Toggle on/off EOL character display

Edit ,x/\n/ c/<EOL>\n/
Undo

:-)

> 03. Display line numbers

Edit =

...will show the line number where dot is, but to display the line
number to the side of each line. I have no use for such a thing so I
haven't even thought about it at all as I use acme.

> 04. Display ruler

No such thing in acme.

> 05. Rectangluar block selection

No such thing in acme.

> 06. Search and replace with confirmation at each item

Place in the tagline your edit line,
Edit s/oldtext/newtext/

1. B3-sweep or B3 your text to search
2. B2 your edit line
repeat process from 1 till you are happy

> 07. Automatic insertion of spaces for tabs

No automatic tab-to-space replacements. Naturally you can do it
from an Edit command.

> 08. Syntax highlighting of code

No such thing in acme.

> 09. Code folding

No such thing built-in to acme.

> 10. Code clips/completion

Place cursor where you want to insert text and use the '<' command
and provide the command that outputs your text.

OR

B2-sweep your keyword, and use the '|' command, and provide the
command that will accept the keyword and spit out the corresponding
text.

> 11. Bookmarks

Have a separate bookmark file (or maybe even in the tag line
before you do a Dump), that uses the filepath:linenumber format and
just B3 the 'bookmarks'.

> 12. Display file diff with locked parallel windows

Acme doesn't have a built-in 'diff mode'

> 13. Customize the contextual display of commands in the tag line

If you mean dynamically change available commands in the tag line
as you move around your code, no there is no such thing. (It might be
an interesting acme file server exercise).

If you mean preserve common commands that you use often for the
current work you are doing you can just place the stuff you want in
the tag line and Dump/Load it or pre-load a Guide file.

> 14. Customize the color scheme

Edit the acme code, recompile and enjoy :-) :-) :-) No color scheme
changing stuff built-in to acme. I know some people want their baby
green, polka dot inspired color schemes but acme isn't about that.
:-)

> 15. Change fonts

The Font command does this as well as the command line parameters
to Acme, please see manual.

> 16. HTML tag matching

If you mean automatic tag completion, you can do that using my
suggestion in 10.

If you mean just matching the start and end tags, acme does not
have that built-in or something but you can code (or use Edit?) for
that

> 17. Display (in status bar?) the Unicode ID of glyph at cursor

Eric already answered that.

> 18. Display right-to-left text

Eric already answered that.

>
> Also, regarding Acme's use as a file browser:
>
> 19. Open new directories in the same window, so that you don't get a desktop full of windows as you drill down through a directory tree.

I think some of the other guys have made slight code changes so
that acme will do what you stated, so you'd need to really modify the
acme code, recompile and enjoy.

The other guys might have even better suggestions.

Resistance is futile, you _will_ be assimilated. :-)

Best Regards,
Mon

Russ Cox

unread,
Aug 19, 2008, 2:01:27 PM8/19/08
to
> what is the Acme way of approaching it?

> 01. Toggle on/off line wrapping


> 02. Toggle on/off EOL character display

Write shorter lines.

> 03. Display line numbers

You can go to a specific line with :n and
find out the current line with Edit =

> 04. Display ruler

If you really care, you can make a little file called ruler
that contains the text you want and then just open the
file in a window above the one you are editing.
But the Acme way is not to care what column you're on.
Just say no.

> 05. Rectangluar block selection

Someone posted a C program once that interpreted
the current selection as a rectangular block (starting
in the column where the selection began, ending
in the column where it ended, and spanning the lines
that it spans) and replaced each subline with a given
piece of text. But again, just say no.

> 06. Search and replace with confirmation at each item

Put the cursor at the top of the file.
In the tag, type and select

Edit .+#0/old/c/new/

and middle click it. That will search for old, replace it
with new, and scroll the file to highlight and show the
replacement. If you don't like that change, you middle
click Undo. Either way, middle clicking the Edit command
will find and change the next occurrence. So you can
just sit there middle clicking the Edit command until
you find one that you didn't mean to change, Undo,
and then go back to middle clicking Edit. Selecting
the command in the tag keeps acme from moving the
mouse to the changed selection, so that it is easier
to repeat the command.

> 07. Automatic insertion of spaces for tabs

Just say no. If you are forced to use spaces,
acme -a makes them a bit more bearable
by filling in the previous line's indentation
when you type Enter.

> 08. Syntax highlighting of code

Just say no.

> 09. Code folding

This is interesting but doesn't fit easily into the model.
I do wish there were a way to do this, and not just for
folding code. But it would probably break the very deep
assumption in acme that window contents are ordinary
text streams. Acme gets a lot of benefit from that one
decision, but this might be one of the drawbacks.

On the other hand, not having code folding means that
you have to write good code to begin with. Code folding
might be the C++ equivalent of Emacs paren matching for Lisp:

The various ML dialects share the same flaw in their
syntax. They lack a simple property I call editor
friendliness. An editor friendly language has the property
that a simple calculation is all that is needed to locate the
beginning of an expression when one is at the end of an
expression.
As you can guess, Lisp is a very editor friendly language.
Because of this fact, an experienced Emacs user realizes
nearly all of the benefits of structure based editing
without suffering from its restrictions.
--- John D. Ramsdell

The various Lisp dialects share the same flaw in their
syntax. They lack a simple property I call human
friendliness. A human friendly language has the property
that syntactic constructs are different enough from one
another that a simple visual inspection is all that is
needed to locate the beginning of an expression when one
is at the end of an expression.
As you can guess, Lisp is a very human unfriendly
language. Because of this fact, an experienced Lisp user
realizes that it is virtually impossible to write Lisp
programs of any size without substantial mechanical
assistance.
--- Andrew Koenig

You're better off writing code that doesn't need folding
to be read.

> 10. Code clips/completion

Just say no.

> 11. Bookmarks

Make a file with things like

/sys/src/cmd/acme/scrl.c
/sys/src/cmd/acme/scrl.c:100
/sys/src/cmd/acme/scrl.c:/^mousethread

and open it.

> 12. Display file diff with locked parallel windows

Personally, I'm happy with running diff -n and
right-clicking the headers to display a particular
section in context. This is actually better than the
locked windows because at any point you can go
do something else and then come back to it.

> 13. Customize the contextual display of commands in the tag line

Just say no.

> 14. Customize the color scheme

Just say no.

> 15. Change fonts

As Erik pointed out, there is a Font command that applies
to the whole window. Changing fonts inside the text
would break the text model.

> 16. HTML tag matching

Easy external program.

> 17. Display (in status bar?) the Unicode ID of glyph at cursor

As Erik pointed out, you can always cut and paste a character
and feed it to the "unicode" program. You don't even need
Erik's > command. Just type the word unicode (or "unicode -n")
in a tag somewhere, highlight the letter you want,
and then 2-1 click unicode.

> 18. Display right-to-left text

This is essentially left as an exercise to the interested user.
There are a lot of difficult issues here, and none of the
developers use right-to-left text.

> Also, regarding Acme's use as a file browser:
>
> 19. Open new directories in the same window,
> so that you don't get a desktop full of windows
> as you drill down through a directory tree.

Easy external program, but why not just type
the whole path to the directory you want, perhaps
with help from ^F?

Russ


Pietro Gagliardi

unread,
Aug 19, 2008, 4:26:40 PM8/19/08
to
On Aug 19, 2008, at 11:52 AM, Wendell xe wrote:

> 01. Toggle on/off line wrapping
> 02. Toggle on/off EOL character display
> 03. Display line numbers
> 04. Display ruler
> 05. Rectangluar block selection
> 06. Search and replace with confirmation at each item
> 07. Automatic insertion of spaces for tabs
> 08. Syntax highlighting of code
> 09. Code folding
> 10. Code clips/completion
> 11. Bookmarks
> 12. Display file diff with locked parallel windows
> 13. Customize the contextual display of commands in the tag line
> 14. Customize the color scheme

Acme is not an IDE. It is a text editor. If you want these facilities,
implement them yourself. That's what the source is provided for.

Some of your ideas can be implemented as external programs.

3. awk '{ print NR, $0 }' file
7. sed 's/ / /g' file > file2 && mv file2 file
12. This is harder. I suggest a program that works like so:
% pdiff a.c b.c
#include <u.h>
#include <libc.h>

int a; char a;

void
main(void) q(void)
{
...
What I suggest is to see how idiff(1) works. idiff merges two files
by allowing you to select which difference to use. The source is /sys/
src/cmd/idiff.c.


Steve Simon

unread,
Aug 19, 2008, 5:03:24 PM8/19/08
to
> For me, that's a crucial thing. Keeps my code in check purely through
> the text of it.

If I understand what you are saying I find this is really interesting.
I many of the prople I work with use syntax highlighting editors and I
often find their code difficult to read (I use sam).

In the way that the labs used to keep (I believe) an old alpha system to keep
the code "honest" (64bit and endian clean), I print out my code from
time to time to make sure its readable, to keep it honest.

perhaps its my age.

-Steve

Lyndon Nerenberg

unread,
Aug 19, 2008, 5:28:11 PM8/19/08
to
> 11. Bookmarks

Typically handled by 'guide' files. I.e. a file, open in an acme window,
full of B3-able search strings. E.g.:

foo.c:/^main

Also useful with B2-able command strings:

grep -n 'where_is_this_function_called_from\(' *.c
slay program | rc

--lyndon

Don't force it, use a bigger hammer.

Iruata Souza

unread,
Aug 19, 2008, 5:29:41 PM8/19/08
to
On Tue, Aug 19, 2008 at 5:22 PM, Pietro Gagliardi <piet...@mac.com> wrote:
> 7. sed 's/ / /g' file > file2 && mv file2 file

rest in peace file2.

iru

Eris Discordia

unread,
Aug 19, 2008, 6:11:49 PM8/19/08
to
Just stay away from Acme if you aren't stuck with Plan 9. None of the
features you need or want are supported in Acme out-of-the-box. Not in any
sane, meaningful way. And if you tell the 9people you need them or want
them they'll either tell you it isn't "worth" it, or it isn't "meant" to be
done that way, or go "do it yourself." They don't understand some people
use computers for different reasons than wasting their time "for"
computers, and in ways far different from their way.

That's the gist of responses you've received before this one. I've gone
through these 9ish episodes twice. Plan 9 and the related software just
isn't for someone who wants to Get Their Job Done (tm). It's a "research"
platform for those who want to "tell" other people what they should do and
how they should do it and why any other way would be "sacrilege." No wonder
it has remained as minuscule and insignificant--9people tell you it's
"nimble," don't believe them--as it is after like 24 years of "development."

In any case, Acme is "not" comparable to vi or emacs. Themselves far
inferior to Microsoft Visual Studio, from a practical standpoint. You're
coding on Windows, go for VS .NET Express Edition, free as the air you
breathe but not free as the thoughts you think. You're coding on some
UNIX-like, go for vi or emacs, a matter of taste--I like vi better. You're
"coding" on Plan 9--makes me feel sorry for you--well, Acme is the "best"
thing you can expect. Inbreeding is bound to bring out the worst of
recessive traits; savor them :-P

Finally, if you're going to stay with the 9madness I wish you very good
luck. You're going to need it. Really.

--On Tuesday, August 19, 2008 8:52 AM -0700 Wendell xe
<wend...@yahoo.com> wrote:

> Seeking an alternative to vi and emacs, I've been giving Acme a try
> (acme-sac, actually). After reading the articles and man pages and
> playing with it for a few days, I'll admit I don't see how Acme could be
> even remotely competitive with vim/emacs for editing code.
>

> Searching the 9fans archive, I found admonitions that you have to learn
> Acme's very different operating paradigm, but no specific advice. So I'm
> posting here a list of editor features I miss in Acme. For each item,

> what is the Acme way of approaching it?
>

> I hope that the replys in this thread will serve as a reference for
> others trying to learn Acme.
>

> 01. Toggle on/off line wrapping
> 02. Toggle on/off EOL character display
> 03. Display line numbers
> 04. Display ruler
> 05. Rectangluar block selection
> 06. Search and replace with confirmation at each item
> 07. Automatic insertion of spaces for tabs
> 08. Syntax highlighting of code
> 09. Code folding
> 10. Code clips/completion
> 11. Bookmarks
> 12. Display file diff with locked parallel windows
> 13. Customize the contextual display of commands in the tag line
> 14. Customize the color scheme

> 15. Change fonts
> 16. HTML tag matching

> 17. Display (in status bar?) the Unicode ID of glyph at cursor

> 18. Display right-to-left text

Francisco J Ballesteros

unread,
Aug 19, 2008, 6:16:37 PM8/19/08
to
I admit we all use plan 9 just to justify ourselves to read and write
threads like the one this post might trigger on 9fans.
For everything else, we use DOS, which is windows simplified, along with edlin.

andrey mirtchovski

unread,
Aug 19, 2008, 6:17:19 PM8/19/08
to
Ms. Discordia, if you don't like it here why do you stay?

Steve Simon

unread,
Aug 19, 2008, 6:28:55 PM8/19/08
to
> Plan 9 and the related software just
> isn't for someone who wants to Get Their Job Done (tm).

Sorry, I have to bite.

Its because I want to "Get my job done"™ that I use plan9.

-Steve

erik quanstrom

unread,
Aug 19, 2008, 6:49:56 PM8/19/08
to
> It's a "research"
> platform for those who want to "tell" other people what they should do and
> how they should do it and why any other way would be "sacrilege."

thanks for setting me straight. for some reason, i thought my company had shipped
several thousand units based on plan 9. i don't know what would have
given me that idea.

> No wonder
> it has remained as minuscule and insignificant--9people tell you it's
> "nimble," don't believe them--as it is after like 24 years of "development."

also, could you send me the new subtraction table we're supposed
to be using.

[Pike90] R. Pike, D. Presotto, K. Thompson, H. Trickey,
``Plan 9 from Bell Labs'',
.I
UKUUG Proc. of the Summer 1990 Conf. ,
London, England,
1990.

- erik


Federico G. Benavento

unread,
Aug 19, 2008, 6:49:41 PM8/19/08
to
relax

--
Federico G. Benavento

Pietro Gagliardi

unread,
Aug 19, 2008, 6:50:11 PM8/19/08
to
On Aug 19, 2008, at 6:00 PM, Eris Discordia wrote:

> That's the gist of responses you've received before this one. I've
> gone through these 9ish episodes twice. Plan 9 and the related
> software just isn't for someone who wants to Get Their Job Done
> (tm). It's a "research" platform for those who want to "tell" other
> people what they should do and how they should do it and why any
> other way would be "sacrilege." No wonder it has remained as
> minuscule and insignificant--9people tell you it's "nimble," don't
> believe them--as it is after like 24 years of "development."

Wrong on so many levels. Plan 9 lets you Get The Job Done(TM), but in
a completely different way from *your* approach. Plan 9 obeys the UNIX
way: tools that make jobs simpler. This is augmented by 33 libraries
that provide common utilities in a transparent way. "Everything is a
UTF-8 text file or a mountable filesystem, even devices and severs"
encourages transparency of modules: you can copy a file from a Gopher
network to a mobile phone or without running a million commands. If
you are not like that, leave.


Pietro Gagliardi

unread,
Aug 19, 2008, 6:50:27 PM8/19/08
to
Sorry, I forgot to finish my comments:

Wrong on so many levels. Plan 9 lets you Get The Job Done(TM), but in
a completely different way from *your* approach. Plan 9 obeys the UNIX
way: tools that make jobs simpler. This is augmented by 33 libraries
that provide common utilities in a transparent way. "Everything is a
UTF-8 text file or a mountable filesystem, even devices and severs"
encourages transparency of modules: you can copy a file from a Gopher

network in Tokyo to a mobile phone from Mexico or have the filesystem
report how much free space is left without running a million commands
or typing a thousand lines of code. If you are not like that, leave.

Eris Discordia

unread,
Aug 19, 2008, 7:23:56 PM8/19/08
to
> Ms. Discordia, if you don't like it here why do you stay?

"Just lurking," I overheard the "hackers" say.

--On Tuesday, August 19, 2008 4:12 PM -0600 andrey mirtchovski

Eris Discordia

unread,
Aug 19, 2008, 7:37:33 PM8/19/08
to
No, you justify your salary, dear Sir. I honestly respect you for having
written the nemo book--you're nemo after all. That, however, won't change
my stance on Plan 9 and the 9people. You have nothing else but
"researching" OS's and "submitting" papers. That "justifies" your 9life.
Others, like me, have some "petty" work to do. Like knowing which character
on which line they're editing or controlling how long their lines of text
get, _without_ resorting to acrobatics.

--On Wednesday, August 20, 2008 12:14 AM +0200 Francisco J Ballesteros

Jonathan Cast

unread,
Aug 19, 2008, 7:41:52 PM8/19/08
to
On Wed, 2008-08-20 at 00:27 +0100, Eris Discordia wrote:
> No, you justify your salary, dear Sir. I honestly respect you for having
> written the nemo book--you're nemo after all. That, however, won't change
> my stance on Plan 9 and the 9people. You have nothing else but
> "researching" OS's and "submitting" papers. That "justifies" your 9life.
> Others, like me, have some "petty" work to do.

Evidently not... (Or you'd be doing it now).

> Like knowing which character
> on which line they're editing or controlling how long their lines of text
> get, _without_ resorting to acrobatics.

jcc

Eris Discordia

unread,
Aug 19, 2008, 8:01:10 PM8/19/08
to
> Wrong on so many levels.

Go read the responses 9people gave the original poster. You'll see why it's
_right_ on so many levels.

> Plan 9 obeys the UNIX way: tools that make jobs simpler.

A UNIX better than UNIX? I thought that was just the thing 9people claimed
to be past. Didn't I hear someone saying, "Plan 9 is not UNIX?" Ahem...
GNU's Not UNIX, too, nah?

> "Everything is a UTF-8 [...]"

Do me a favor. Fire up your beloved upas, use mail, and relay one email
through upas/smtpd to smtp.gmail.com:587 with the words "שָׁלוֹם
עֲלֵיכֶם" (Hebrew, Shalom aleichem) or "سلام علیکم"
(Arabic, Salam-on alaikom) to my address. Let's see if "the mail goes
through."

> "Everything is a UTF-8 text file or a mountable filesystem, even devices
> and severs" encourages transparency of modules: you can copy a file from
> a Gopher network in Tokyo to a mobile phone from Mexico or have the
> filesystem report how much free space is left without running a million
> commands or typing a thousand lines of code.

The path from Gopher to your PC--or it was a Mac that you had?--was paved
years ago on UNIX. Then the path from Tokyo to Mexico was built on UNIX,
and today it _runs_ on UNIX. Now, the real problem begins when you want to
get your cell phone to talk 9P-over-IP.

Do you have a 9P client for your cell phone? You "wrote" it already? Does
it run on Java? Or Symbian? Or Vendor X's proprietary embedded OS? Did you
do it on Plan 9? Or did you snatch an SDK written for some other livelier
OS?

Go fool someone else with your empty rhetoric, buddy.

> If you are not like that, leave.

No, I _am_ not like that. I also _don't_ like that. And I've left. The post
was not for you to chew on, it was for the benefit of the thread's
originator.


--On Tuesday, August 19, 2008 6:25 PM -0400 Pietro Gagliardi

Eris Discordia

unread,
Aug 19, 2008, 8:19:32 PM8/19/08
to
> Its because I want to "Get my job done"™ that I use plan9.

Bite if you please. Hook, line, and sinker ;-)

What's your job?

1. Maintaining a Plan 9 system?
2. Programming a Plan 9 system?
3. Researching a Plan 9 system?
4. Or you got some job other than jobs created _around_ Plan 9 and you use
Plan 9?

(1) through (3) mean Plan 9 is your "job." You feed off of it. Dealing with
its quirks is your business. Well, that's your lot. Others are probably
luckier.

If your "job" is not 1-3 and you have a "computer job" tell me who has
allowed you to use a research platform in production environment? Are you
at Rangboom or Coraid, or implementing one of the _few_ applications Plan 9
has found in the "Real World?" Are you a freelancer? What sort of customers
do you have?

What exactly do you Get Done (tm) on Plan 9? I mean, aren't there easier
ways to do it? If yes, staying on Plan 9 is simply "fanity"--a la vanity--
and "fanity" is beyond reason; my reason, at least. If no, how come your
job's so specific that can't be done on much more widely used systems?
Probably it's just 1-3.

--On Tuesday, August 19, 2008 11:26 PM +0100 Steve Simon
<st...@quintile.net> wrote:

>> Plan 9 and the related software just
>> isn't for someone who wants to Get Their Job Done (tm).
>

David Leimbach

unread,
Aug 19, 2008, 8:30:30 PM8/19/08
to
We barely knew you? 

Pietro Gagliardi

unread,
Aug 19, 2008, 8:33:20 PM8/19/08
to
On Aug 19, 2008, at 7:51 PM, Eris Discordia wrote:
>> Plan 9 obeys the UNIX way: tools that make jobs simpler.
>
> A UNIX better than UNIX? I thought that was just the thing 9people
> claimed to be past. Didn't I hear someone saying, "Plan 9 is not
> UNIX?" Ahem... GNU's Not UNIX, too, nah?

No, that's not what I said. I said that Plan 9 obeys the UNIX
philosophy, not that it was UNIX. GNU obeys this philosophy (up to the
point of where to draw the lines on the size of tools). And to some
extent, Windows (Windows Movie Maker doesn't call up another computer
now, does it?)

>> "Everything is a UTF-8 [...]"
>
> Do me a favor. Fire up your beloved upas, use mail, and relay one
> email through upas/smtpd to smtp.gmail.com:587 with the words
> "שָׁלוֹם עֲלֵיכֶם" (Hebrew, Shalom aleichem) or
> "سلام علیکم" (Arabic, Salam-on alaikom) to my address. Let's
> see if "the mail goes through."
>

Mac, and I use OS X Mail (so I can get my hands on IMAP's folder
system). How about the fact that Simon was able to give you a
trademark symbol? Do yourself a favor: YOU test it. Look in /lib/
keyboard for some characters and send them here. If they come back as
sent, you've proven my point. Otherwise, you found a bug.

>> "Everything is a UTF-8 text file or a mountable filesystem, even
>> devices
>> and severs" encourages transparency of modules: you can copy a file
>> from
>> a Gopher network in Tokyo to a mobile phone from Mexico or have the
>> filesystem report how much free space is left without running a
>> million
>> commands or typing a thousand lines of code.
>
> The path from Gopher to your PC--or it was a Mac that you had?--was
> paved years ago on UNIX. Then the path from Tokyo to Mexico was
> built on UNIX, and today it _runs_ on UNIX. Now, the real problem
> begins when you want to get your cell phone to talk 9P-over-IP.
>
> Do you have a 9P client for your cell phone? You "wrote" it already?
> Does it run on Java? Or Symbian? Or Vendor X's proprietary embedded
> OS? Did you do it on Plan 9? Or did you snatch an SDK written for
> some other livelier OS?
>
> Go fool someone else with your empty rhetoric, buddy.
>

My rhetoric is not empty. I am not saying go ahead and write that 9P.
I'm saying the jobs are trivial, only three lines of rc:

gopherfs -m/n/gopher tokyo.ac.jp # Demonstration; don't try this
motorola -m/n/cell -M 'RAZR V3' 555 555 5555
cp /n/gopher/a/b/r.tokyo.jpg /n/cell/pictures/r.tokyo.jpg

Write that in sockets. Since that is what you use, don't you?

As for filesystem usage,

echo fsys all df | con -l /srv/fscons

Go look up the source for GNU df, and tell me if it's that simple.

>> If you are not like that, leave.
>
> No, I _am_ not like that. I also _don't_ like that. And I've left.
> The post was not for you to chew on, it was for the benefit of the
> thread's originator.
>

Good riddance. But you're missing a wonderful opportunity. Just open
your eyes.

On Aug 19, 2008, at 8:10 PM, Eris Discordia wrote:

> What exactly do you Get Done (tm) on Plan 9? I mean, aren't there
> easier ways to do it? If yes, staying on Plan 9 is simply "fanity"--
> a la vanity-- and "fanity" is beyond reason; my reason, at least. If
> no, how come your job's so specific that can't be done on much more
> widely used systems? Probably it's just 1-3.

- Programming in userland: mainly compiler design, along with a few
other projects.
- Document typesetting (I love troff). That's not on your list, is it?
- Goofing off: lots of free games

The point of this all?

Plan 9 is not JUST a research system. It is a complete operating
system. It has great tools for making greater tools, or for just
increasing (or decreasing) your productivity. If you're too blunt to
care, fuck off. You've done that to us already, on many occasions.


Eris Discordia

unread,
Aug 19, 2008, 8:40:31 PM8/19/08
to
I'm cool.

--On Tuesday, August 19, 2008 7:46 PM -0300 "Federico G. Benavento"
<bena...@gmail.com> wrote:

> relax
>
> --
> Federico G. Benavento
>

Eris Discordia

unread,
Aug 19, 2008, 8:30:55 PM8/19/08
to Fans of the OS Plan 9 from Bell Labs
> thanks for setting me straight. for some reason, i thought my company
> had shipped several thousand units based on plan 9. i don't know what
> would have given me that idea.

Somebody would make a bad choice anyway. Microsoft shipped "thousands" of
copies of Microsoft Bob before they learnt about their mistake. Let's see
if your company, founded 2000, survives its Coraid Bob. And I hear your
primary source of sustenance is an AoE driver for _Linux_. You're leeching
another OS's user base and boasting doing Plan 9? Where would you be
without "Linux Support for EtherDrive (R) Storage?"
(http://support.coraid.com/support/linux/)

> also, could you send me the new subtraction table we're supposed
> to be using.
>
> [Pike90] R. Pike, D. Presotto, K. Thompson, H. Trickey,
> ``Plan 9 from Bell Labs'',
> .I
> UKUUG Proc. of the Summer 1990 Conf. ,
> London, England,
> 1990.

Yes. According to Wikipedia:

"It was developed as the research successor to Unix by the Computing
Sciences Research Center at Bell Labs between the mid-1980s and 2002."

Mid-1980s ~ 1985
Current date (here) = August 20, 2008

2008 - 1985 + 1 = 24. Update your table.

Apparently, Plan 9 was being developed some years before the paper. You
know, you gotta do something with the free time on your hand. Create an OS,
for example. And pull a paper out of it after some years.

By the way, what exactly happened to Plan 9 on 2002? Was it "dismantled?"
Or did they shut the "furnace" down?

--On Tuesday, August 19, 2008 6:34 PM -0400 erik quanstrom
<quan...@quanstro.net> wrote:

>> It's a "research"
>> platform for those who want to "tell" other people what they should do
>> and how they should do it and why any other way would be "sacrilege."
>

> thanks for setting me straight. for some reason, i thought my company
> had shipped several thousand units based on plan 9. i don't know what
> would have given me that idea.
>

>> No wonder
>> it has remained as minuscule and insignificant--9people tell you it's
>> "nimble," don't believe them--as it is after like 24 years of
>> "development."
>

Eris Discordia

unread,
Aug 19, 2008, 9:04:12 PM8/19/08
to
> Evidently not... (Or you'd be doing it now).

Petty work is _petty_, you see. They give you some breaks during which you
come to desolate mailing lists and upload enlightening orations. I know,
it's a pretty miserable life--my life.

--On Tuesday, August 19, 2008 4:36 PM -0700 Jonathan Cast

Eris Discordia

unread,
Aug 19, 2008, 9:04:27 PM8/19/08
to
Yes, try that. Sam has an "edge" over vi by being a desperate half-clone of
ed.

Is it sam that attaches a file named "winmail.dat" to your emails?!

--On Tuesday, August 19, 2008 4:03 PM -0700 Benjamin Huntsman
<BHun...@mail2.cu-portland.edu> wrote:

> You might give Sam a try. I'm still working my way up to Acme too, but
> Sam has an edge over vi for me... ...Might be nice if there was an
> option to open a document in a default window though, but if it were a
> big enough concern, I've got the source and could make the change... :)
>
>
> -Ben

Eris Discordia

unread,
Aug 19, 2008, 9:49:47 PM8/19/08
to
> No, that's not what I said. I said that Plan 9 obeys the UNIX philosophy,
> not that it was UNIX. GNU obeys this philosophy (up to the point of where
> to draw the lines on the size of tools). And to some extent, Windows
> (Windows Movie Maker doesn't call up another computer now, does it?)

I guess "the UNIX philosophy"--whatever that vague phrase is supposed to
mean--contains "the X philosophy." The core dictum goes: "mechanism, not
policy." That is, they give you the "femur," you determine its use. Russ
Cox knows this better; he's the one at the MIT. "The Plan 9 philosophy"
goes as far as telling you to "not ask for a ruler" in your text editor
(ruler in vi := a pair of numbers; column, row).

> Mac, and I use OS X Mail (so I can get my hands on IMAP's folder system).
> How about the fact that Simon was able to give you a trademark symbol? Do

> yourself a favor: YOU test it. Look in /lib/keyboard for some characters


> and send them here. If they come back as sent, you've proven my point.
> Otherwise, you found a bug.

Plan 9 is not _my_ pet OS. 9people, and you who are too young to be a
9person, are taking pride in "UTF-8." That's been the gesture for a over a
decade. Now, it's old, it's insignificant, and Plan 9 doesn't even deliver.
Anyway, _you_ made a claim. You have to prove it. I don't even run Plan 9
anymore. Gave it up.

Steve Simon's trademark character, I presume, was generated by
[Alt]+0153--you call [Alt] an "Option" key, right? Well below 255, it's
just extended/8-bit ASCII. Not right-to-left, not even out of ISO 8859. You
could generate that character even on MS-DOS.

Though, his email's header says the charset if UTF-8. No big deal.

> gopherfs -m/n/gopher tokyo.ac.jp # Demonstration; don't try this
> motorola -m/n/cell -M 'RAZR V3' 555 555 5555
> cp /n/gopher/a/b/r.tokyo.jpg /n/cell/pictures/r.tokyo.jpg

Zing! Who wrote the fs behind /n/cell? You got Morotola to write it for you?

$ curl gopher://tokyo.ac.jp/a/b/r.tokyo.jpg
$ ifconfig cellnetif num "555 555 5555"
$ mount -t motofs /dev/cellnetif /mnt/cell
$ cp ./r.tokyo.jpg /mnt/cell/

(You gotta use an archaic version of curl. Gopher support was removed when
mammoths roamed the Earth)

Of course, motofs and cellnetif are imaginary, just like your "motorola."
The problem is the same on UNIX and Plan 9, but on UNIX it is much more
likely that you find someone who solved it before. And it is much less
likely that someone tells you it isn't "the way to do it."

Incidentally, someone I know has recently bought a Motorola A1200 that runs
a nice tiny Linux.

> Write that in sockets. Since that is what you use, don't you?

Write that in Plan 9 system calls. That is what _you_ use, don't you?

The fs's are only abstraction layers. You could implement them on _any_
system. Given you were dour enough to do it. Writing a particular fs is a
problem. Plan 9 doesn't make it any more trivial. Oh, don't tell me it's
got 9P. 9P could be any text-based protocol. What's the difference between
9P-over-IP and HTTP? Or SOAP? Or XML-WS?

> Good riddance. But you're missing a wonderful opportunity. Just open your
> eyes.

"Thank you."

--On Tuesday, August 19, 2008 8:30 PM -0400 Pietro Gagliardi
<piet...@mac.com> wrote:

> On Aug 19, 2008, at 7:51 PM, Eris Discordia wrote:
>>> Plan 9 obeys the UNIX way: tools that make jobs simpler.
>>
>> A UNIX better than UNIX? I thought that was just the thing 9people
>> claimed to be past. Didn't I hear someone saying, "Plan 9 is not
>> UNIX?" Ahem... GNU's Not UNIX, too, nah?
>
> No, that's not what I said. I said that Plan 9 obeys the UNIX philosophy,
> not that it was UNIX. GNU obeys this philosophy (up to the point of where
> to draw the lines on the size of tools). And to some extent, Windows
> (Windows Movie Maker doesn't call up another computer now, does it?)
>
>>> "Everything is a UTF-8 [...]"
>>
>> Do me a favor. Fire up your beloved upas, use mail, and relay one
>> email through upas/smtpd to smtp.gmail.com:587 with the words
>> "שָׁלוֹם עֲלֵיכֶם" (Hebrew, Shalom aleichem) or
>> "سلام علیکم" (Arabic, Salam-on alaikom) to my address. Let's
>> see if "the mail goes through."
>>
>
> Mac, and I use OS X Mail (so I can get my hands on IMAP's folder system).
> How about the fact that Simon was able to give you a trademark symbol? Do

> yourself a favor: YOU test it. Look in /lib/keyboard for some characters

Eris Discordia

unread,
Aug 19, 2008, 9:52:14 PM8/19/08
to
> take it easy on the porn and get some real sex, eris. you're way too
> angry.

Sir, yessir! The Marines don't do Japanese, sir!

--On Tuesday, August 19, 2008 10:31 PM -0300 Iruata Souza
<iru....@gmail.com> wrote:

> On Tue, Aug 19, 2008 at 8:51 PM, Eris Discordia
> <eris.di...@gmail.com> wrote:
>>> Wrong on so many levels.
>>
>> Go read the responses 9people gave the original poster. You'll see why
>> it's _right_ on so many levels.
>>

>>> Plan 9 obeys the UNIX way: tools that make jobs simpler.
>>
>> A UNIX better than UNIX? I thought that was just the thing 9people
>> claimed to be past. Didn't I hear someone saying, "Plan 9 is not UNIX?"
>> Ahem... GNU's Not UNIX, too, nah?
>>

>>> "Everything is a UTF-8 [...]"
>>
>> Do me a favor. Fire up your beloved upas, use mail, and relay one email
>> through upas/smtpd to smtp.gmail.com:587 with the words "שָׁלוֹם
>> עֲלֵיכֶם" (Hebrew, Shalom aleichem) or "سلام علیکم"
>> (Arabic, Salam-on alaikom) to my address. Let's see if "the mail goes
>> through."
>>

>>> "Everything is a UTF-8 text file or a mountable filesystem, even devices
>>> and severs" encourages transparency of modules: you can copy a file from
>>> a Gopher network in Tokyo to a mobile phone from Mexico or have the
>>> filesystem report how much free space is left without running a million
>>> commands or typing a thousand lines of code.
>>
>> The path from Gopher to your PC--or it was a Mac that you had?--was paved
>> years ago on UNIX. Then the path from Tokyo to Mexico was built on UNIX,
>> and today it _runs_ on UNIX. Now, the real problem begins when you want
>> to get your cell phone to talk 9P-over-IP.
>>
>> Do you have a 9P client for your cell phone? You "wrote" it already?
>> Does it run on Java? Or Symbian? Or Vendor X's proprietary embedded OS?
>> Did you do it on Plan 9? Or did you snatch an SDK written for some other
>> livelier OS?
>>
>> Go fool someone else with your empty rhetoric, buddy.
>>

>>> If you are not like that, leave.
>>
>> No, I _am_ not like that. I also _don't_ like that. And I've left. The
>> post was not for you to chew on, it was for the benefit of the thread's
>> originator.
>

> take it easy on the porn and get some real sex, eris. you're way too
> angry.
>
> iru

Pietro Gagliardi

unread,
Aug 19, 2008, 10:04:58 PM8/19/08
to
I have an idea, Eris. Why don't you fuck off and actually USE Plan 9
for once?


Pietro Gagliardi

unread,
Aug 19, 2008, 10:10:40 PM8/19/08
to
On Aug 19, 2008, at 9:39 PM, Eris Discordia wrote:

>> No, that's not what I said. I said that Plan 9 obeys the UNIX
>> philosophy,
>> not that it was UNIX. GNU obeys this philosophy (up to the point of
>> where
>> to draw the lines on the size of tools). And to some extent, Windows
>> (Windows Movie Maker doesn't call up another computer now, does it?)
>
> I guess "the UNIX philosophy"--whatever that vague phrase is
> supposed to mean--contains "the X philosophy." The core dictum goes:
> "mechanism, not policy." That is, they give you the "femur," you
> determine its use. Russ Cox knows this better; he's the one at the
> MIT. "The Plan 9 philosophy" goes as far as telling you to "not ask
> for a ruler" in your text editor (ruler in vi := a pair of numbers;
> column, row).

No, that's not the UNIX philosophy. That's the X/Linux/GNU philosophy.
Go read "Program Design in the UNIX Environment" by Kernighan and Pike
to see what I mean.

>
>
>> Mac, and I use OS X Mail (so I can get my hands on IMAP's folder
>> system).
>> How about the fact that Simon was able to give you a trademark
>> symbol? Do
>> yourself a favor: YOU test it. Look in /lib/keyboard for some
>> characters
>> and send them here. If they come back as sent, you've proven my
>> point.
>> Otherwise, you found a bug.
>
> Plan 9 is not _my_ pet OS. 9people, and you who are too young to be
> a 9person, are taking pride in "UTF-8." That's been the gesture for
> a over a decade. Now, it's old, it's insignificant, and Plan 9
> doesn't even deliver. Anyway, _you_ made a claim. You have to prove
> it. I don't even run Plan 9 anymore. Gave it up.
>
> Steve Simon's trademark character, I presume, was generated by [Alt]
> +0153--you call [Alt] an "Option" key, right? Well below 255, it's
> just extended/8-bit ASCII. Not right-to-left, not even out of ISO
> 8859. You could generate that character even on MS-DOS.
>
> Though, his email's header says the charset if UTF-8. No big deal.

In Plan 9, it's Alt t m, as three individual keystrokes. See
keyboard(6) to find out what your system would see as Alt. You don't
need to keep the Alt held down. Now send yourself an email with Alt f
a (the for all character) and Alt * P (uppercase pi)

>
>
>> gopherfs -m/n/gopher tokyo.ac.jp # Demonstration; don't try this
>> motorola -m/n/cell -M 'RAZR V3' 555 555 5555
>> cp /n/gopher/a/b/r.tokyo.jpg /n/cell/pictures/r.tokyo.jpg
>
> Zing! Who wrote the fs behind /n/cell? You got Morotola to write it
> for you?
>
> $ curl gopher://tokyo.ac.jp/a/b/r.tokyo.jpg
> $ ifconfig cellnetif num "555 555 5555"
> $ mount -t motofs /dev/cellnetif /mnt/cell
> $ cp ./r.tokyo.jpg /mnt/cell/
>
> (You gotta use an archaic version of curl. Gopher support was
> removed when mammoths roamed the Earth)
>
> Of course, motofs and cellnetif are imaginary, just like your
> "motorola." The problem is the same on UNIX and Plan 9, but on UNIX
> it is much more likely that you find someone who solved it before.
> And it is much less likely that someone tells you it isn't "the way
> to do it."
>
> Incidentally, someone I know has recently bought a Motorola A1200
> that runs a nice tiny Linux.

Impressive. Someone learned something from us after all. (1985 -- when
did curl come out?)

>
>
>> Write that in sockets. Since that is what you use, don't you?
>
> Write that in Plan 9 system calls. That is what _you_ use, don't you?
>

It would be about 75% shorter. And you can't just use the system
calls. libc is built around subroutines. In all, Rob Pike got
connected to an IP address in 2 lines of code compared to ~20 for
sockets. ("The Good, The Bad, and The Ugly")

>> Good riddance. But you're missing a wonderful opportunity. Just
>> open your
>> eyes.
>
> "Thank you."

No comment.


a...@9srv.net

unread,
Aug 19, 2008, 10:08:36 PM8/19/08
to 9f...@9fans.net
// Others, like me, have some "petty" work to do. Like knowing which
// character on which line they're editing or controlling how long their
// lines of text get, _without_ resorting to acrobatics.

Wait, your *job* is knowing where editor cursors are and how long
lines are? Wow, that really sucks. No wonder you're so angry.


Iruata Souza

unread,
Aug 19, 2008, 10:30:56 PM8/19/08
to
eris, I agree, thanks.

iru

a...@9srv.net

unread,
Aug 19, 2008, 10:32:07 PM8/19/08
to
// Bite if you please. Hook, line, and sinker ;-)

Oh, I'm waiting for a phone call before bed. What the hell.

My job has nothing to do with your 1-3. I agree with Steve exactly: I
use Plan 9 because it allows me to get my job done easier. My job
includes some programming, some document writing, lots of
reading. I've never been employed to count columns or fold lines. I
use Acme (even when not on Plan 9) because, at least for me, the
interface encourages good mental habits that help me produce
quality stuff.

I find the applications and interfaces in Plan 9 to be far more
consistent and convenient than in other systems. That's true both
for programming interfaces and user interfaces. This means I can
let the system do its job and get out of my way without having to
think about it as much as I do elsewhere.

You're also engaging in all sorts of poor logic in the "No True
Scotsman" family in order to try and exclude folks like Coraid
who're really excellent counter-examples to your claims: they
use Plan 9 not for (the benefit of) Plan 9, but because it allows them
to build products (for other people who likely have no idea Plan 9
is involved) easier.

If Acme (or Plan 9 generally) don't fit your style well, that's fine. If
the interfaces don't have the same beneficial effects for you as they
do for me, that's fine (academically, I might speculate on why).
Feel free not to use it. But to imply that people who are actually
using the system productively are either delusional or just don't
exist is highly insulting.

Anthony


Skip Tavakkolian

unread,
Aug 19, 2008, 11:15:00 PM8/19/08
to
> Just stay away from Acme if you aren't stuck with Plan 9.

should be "Just stay away from Acme if you aren't lucky enough to be
stuck with Plan 9".


Skip Tavakkolian

unread,
Aug 19, 2008, 11:32:56 PM8/19/08
to
> No, you justify your salary, dear Sir. I honestly respect you for having
> written the nemo book--you're nemo after all. That, however, won't change
> my stance on Plan 9 and the 9people.

as i suspected, you're here for therapy.

> You have nothing else but "researching" OS's and "submitting" papers.
> That "justifies" your 9life.

i can see you're bitter.

> Others, like me, have some "petty" work to do. Like knowing which character
> on which line they're editing or controlling how long their lines of text
> get, _without_ resorting to acrobatics.

and how does it make you feel when you know others are performing acrobatics?


andrey mirtchovski

unread,
Aug 19, 2008, 11:33:11 PM8/19/08
to
>> Ms. Discordia, if you don't like it here why do you stay?
>
> therapy?

here is the scary.devil.monastery of old systems programmers, after all. :)

Bruce Ellis

unread,
Aug 19, 2008, 11:34:14 PM8/19/08
to
When in doubt say something's shitty and try somother OS. You'll be back.

Others have tried and failed with your strategy.

brucee

Skip Tavakkolian

unread,
Aug 19, 2008, 11:34:49 PM8/19/08
to

ge...@plan9.bell-labs.com

unread,
Aug 19, 2008, 11:37:17 PM8/19/08
to
Don't believe everything you read on Wikipedia.


Pietro Gagliardi

unread,
Aug 19, 2008, 11:46:15 PM8/19/08
to
Geoff! Why not let Eris read your paper on Why Plan 9 Matters?


Bruce Ellis

unread,
Aug 19, 2008, 11:51:56 PM8/19/08
to
Pietro why don't you shut up? You annoy my dog.

brucee

Pietro Gagliardi

unread,
Aug 19, 2008, 11:56:22 PM8/19/08
to
Just a few other bits of relevance to the original topic:

On Aug 19, 2008, at 11:52 AM, Wendell xe wrote:
> 07. Automatic insertion of spaces for tabs

style(6) says not to convert tabs to spaces.

> 11. Bookmarks
If you know what text the bookmark will point to, make a comment on
the line above it:
/* C comment */
.\" troff comment
# rc/awk comment
Set the comment to the text of the bookmark. Then, search for the text
of the bookmark with the appropriate comment delimiters. Easy enough.

> 16. HTML tag matching
An awk program can do this. The idea is to interpret tags as they come
in the form of a stack:
code stack
<html> html
<head> head
html
<title> title
head
html
</b> title error: closing wrong tag
You can also check to see if tags make sense or bad tags are nested.
For example, don't see <body><body></body></body> as normal, nor
<title><b></b></title>.


Bruce Ellis

unread,
Aug 19, 2008, 11:59:11 PM8/19/08
to
We've seen that, and go to band practice. Tell us all about. Just
keep up the therapy and the medication.

brucee

sqweek

unread,
Aug 20, 2008, 1:06:14 AM8/20/08
to
On Wed, Aug 20, 2008 at 9:39 AM, Eris Discordia
<eris.di...@gmail.com> wrote:
> Steve Simon's trademark character, I presume, was generated by [Alt]+0153

Wow. Does memorising codepoints fall under your job description aswell?

> $ curl gopher://tokyo.ac.jp/a/b/r.tokyo.jpg
> $ ifconfig cellnetif num "555 555 5555"

ifconfig: only root can do that

> $ mount -t motofs /dev/cellnetif /mnt/cell

mount: only root can do that

> $ cp ./r.tokyo.jpg /mnt/cell/

cp: /mnt/cell: permission denied
-sqweek

Eris Discordia

unread,
Aug 20, 2008, 3:15:11 AM8/20/08
to
Been there, done that.

--On Tuesday, August 19, 2008 10:00 PM -0400 Pietro Gagliardi

bb

unread,
Aug 20, 2008, 3:37:11 AM8/20/08
to
Eris Discordia schrieb:
"Unspeakable horrors from outer space paralyze the living and resurrect
the dead"

Isn`t that the manifesto of Plan 9?

BB

Steve Simon

unread,
Aug 20, 2008, 4:03:54 AM8/20/08
to
> 1. Maintaining a Plan 9 system?
> 2. Programming a Plan 9 system?
> 3. Researching a Plan 9 system?
> 4. Or you got some job other than jobs created _around_ Plan 9 and you use
> Plan 9?

None of the above, I write embedded code, my employer has a clear enough vision
to allow me to use whatever OS I like, provided I get the job in hand done,
which I clearly do.

I'am afraid I am not willing to discuss the details of my job with you,
however I find writing code using plan9 and the plan9 environment makes my
life much easier and allows me to get my job done; present chatter excepted.

>Do me a favor. Fire up your beloved upas, use mail, and relay one email
> through upas/smtpd to smtp.gmail.com:587 with the words "שָׁלוֹם
> עֲלֵיכֶם" (Hebrew, Shalom aleichem) or "سلام علیکم"
> (Arabic, Salam-on alaikom) to my address.

I'am not sure which test you wanted to perform, but your email arrived
here OK (Via plan9's smtpd and upas/fs), the Hebrew appears intact though
I don't speak the language so I cannot tell if it is correct. I have quoted
it back to you to see if it passes the return path OK.

I would love to discuss more, but I have work to do (using plan9, but not
on plan9).

-Steve

Steve Simon

unread,
Aug 20, 2008, 4:13:34 AM8/20/08
to
> Steve Simon's trademark character, I presume, was generated by
> [Alt]+0153--you call [Alt] an "Option" key, right?

nope, Alt,T,M

> Well below 255, it's
> just extended/8-bit ASCII. Not right-to-left, not even out of ISO 8859. You
> could generate that character even on MS-DOS.

I don't get this, ™ is the unicode character 2122, not ASCII. I agree it could be
generated on a MS-DOS pretty much any byte sequence could be, but I doubt even
DOS 6.22 had unicode support, so you would have to translate it to a code page
reprisentation and load the correct fonts.

-Steve

Eris Discordia

unread,
Aug 20, 2008, 4:34:51 AM8/20/08
to
"Thank you."

--On Tuesday, August 19, 2008 11:13 PM -0300 Iruata Souza
<iru....@gmail.com> wrote:

> eris, I agree, thanks.
>
> iru
>

Eris Discordia

unread,
Aug 20, 2008, 4:51:42 AM8/20/08
to
Enlighten me, then. Revealing a date of commencement won't comprise a
breach of non-disclosure, would it?

--On Tuesday, August 19, 2008 11:34 PM -0400 ge...@plan9.bell-labs.com
wrote:

Eris Discordia

unread,
Aug 20, 2008, 4:06:05 AM8/20/08
to Fans of the OS Plan 9 from Bell Labs
Did your language training involve being taught the difference between a
work/task and a job/profession?

Eris Discordia

unread,
Aug 20, 2008, 4:31:22 AM8/20/08
to Fans of the OS Plan 9 from Bell Labs
> therapy?

_Intense_ therapy.

--On Tuesday, August 19, 2008 8:12 PM -0700 Skip Tavakkolian

Eris Discordia

unread,
Aug 20, 2008, 4:41:20 AM8/20/08
to Fans of the OS Plan 9 from Bell Labs
> as i suspected, you're here for therapy.

_Intense_ therapy.

> i can see you're bitter.

Not very much. The "researching" and "submitting" and hoyvin' mayvin' is
going to be my bane, too. In a different field. Namely, differential
geometry. More specifically, Finsler geometry. To be exact, finding of
model spaces with constant positive flag curvature. Satisfied?

> and how does it make you feel when you know others are performing
> acrobatics?

Sorry... for them. When you can Get A Job Done (tm) with a finger stroke
you shouldn't be moving an arm. That's squandering.

--On Tuesday, August 19, 2008 8:26 PM -0700 Skip Tavakkolian

Eris Discordia

unread,
Aug 20, 2008, 4:33:14 AM8/20/08
to Fans of the OS Plan 9 from Bell Labs
> should be "Just stay away from Acme if you aren't lucky enough to be
> stuck with Plan 9".

Could be. Only _luck_ could make you that miserable; reason does a better
job. Also, you could be a little funnier.

--On Tuesday, August 19, 2008 8:11 PM -0700 Skip Tavakkolian

Eris Discordia

unread,
Aug 20, 2008, 4:04:10 AM8/20/08
to Fans of the OS Plan 9 from Bell Labs
> No, that's not the UNIX philosophy. That's the X/Linux/GNU philosophy. Go
> read "Program Design in the UNIX Environment" by Kernighan and Pike to
> see what I mean.

Get educated. Don't you even know where X came from?

Just a funny idea: have you noticed that the "Kernighan, Pike, Ritchie,
Thomspon" quartet always lacks two legs? Am I right on this one? There is
K&R, K&P, and P&T. Have yet to see P&R, is there one?

> In Plan 9, it's Alt t m, as three individual keystrokes. See keyboard(6)
> to find out what your system would see as Alt. You don't need to keep
> the Alt held down. Now send yourself an email with Alt f a (the for all
> character) and Alt * P (uppercase pi)

How about going back to four buckey bits, hacker? For your information, Pi
is within ISO 8859, 8859-7 to be precise. Now you do one thing: enter a
daleth, put one rafe above it--i.e. "דֿ"--, and tell me the result.

I do Windows. When I need to type in another language--and I often need
that for three languages--I press [Alt]+[Shift] and I get the keyboard
layout for that language. The right scan codes go to the right characters
codes which in turn go to the right glyphs for every major alphabet/script
on Earth, including right-to-left scripts.

When I need a Unicode character out of the ordinary (like this one, "㊪")
I press [Alt] and hold it, press [+] on numeric keypad once, then type in
the hexadecimal code for that character. "Any" two-byte Unicode character.
I learn the code out of Character Map from which I can get the character
even more easily.

http://www.fileformat.info/tip/microsoft/enter_unicode.htm

> Impressive. Someone learned something from us after all. (1985 -- when
> did curl come out?)

"Us?" What is 1985? Your year of birth or Plan 9's or what?

cURL's author didn't need to learn from "you"--whoever your "you"
denotes--to do a simple job.

Here's its history: http://curl.haxx.se/docs/history.html.

It began in 1997. Gopher support was removed soon after because Gopher is a
dead (or dying?)protocol.

> It would be about 75% shorter. And you can't just use the system calls.
> libc is built around subroutines. In all, Rob Pike got connected to an IP
> address in 2 lines of code compared to ~20 for sockets. ("The Good, The
> Bad, and The Ugly")

When and where did Rob Pike do it? Didn't he incidentally leverage two (or
more) additional abstraction layers over the network stack and the socket
abstraction to achieve that?

I can "get connected to an IP address"--overlooking your glaring ignorance
about the fact that on IP (Internet Protocol) machines "connect" to
_endpoints_ not "IP addresses"--in a one liner on Microsoft .NET framework.
Nevertheless, that doesn't make .NET framework my platform of choice for
programming. Boast it when you can _do_ it. Whatever I tell you I _can_ do,
I _can_ do. Whatever I _can't_ do, I keep to myself.

> No comment.

"Thank you, again."

--On Tuesday, August 19, 2008 10:08 PM -0400 Pietro Gagliardi
<piet...@mac.com> wrote:

> On Aug 19, 2008, at 9:39 PM, Eris Discordia wrote:
>
>>> No, that's not what I said. I said that Plan 9 obeys the UNIX
>>> philosophy,
>>> not that it was UNIX. GNU obeys this philosophy (up to the point of
>>> where
>>> to draw the lines on the size of tools). And to some extent, Windows
>>> (Windows Movie Maker doesn't call up another computer now, does it?)
>>
>> I guess "the UNIX philosophy"--whatever that vague phrase is
>> supposed to mean--contains "the X philosophy." The core dictum goes:
>> "mechanism, not policy." That is, they give you the "femur," you
>> determine its use. Russ Cox knows this better; he's the one at the
>> MIT. "The Plan 9 philosophy" goes as far as telling you to "not ask
>> for a ruler" in your text editor (ruler in vi := a pair of numbers;
>> column, row).
>
> No, that's not the UNIX philosophy. That's the X/Linux/GNU philosophy. Go
> read "Program Design in the UNIX Environment" by Kernighan and Pike to
> see what I mean.
>
>>
>>
>>> Mac, and I use OS X Mail (so I can get my hands on IMAP's folder
>>> system).

>>> How about the fact that Simon was able to give you a trademark
>>> symbol? Do


>>> yourself a favor: YOU test it. Look in /lib/keyboard for some
>>> characters
>>> and send them here. If they come back as sent, you've proven my
>>> point.
>>> Otherwise, you found a bug.
>>
>> Plan 9 is not _my_ pet OS. 9people, and you who are too young to be
>> a 9person, are taking pride in "UTF-8." That's been the gesture for
>> a over a decade. Now, it's old, it's insignificant, and Plan 9
>> doesn't even deliver. Anyway, _you_ made a claim. You have to prove
>> it. I don't even run Plan 9 anymore. Gave it up.
>>

>> Steve Simon's trademark character, I presume, was generated by [Alt]

>> +0153--you call [Alt] an "Option" key, right? Well below 255, it's


>> just extended/8-bit ASCII. Not right-to-left, not even out of ISO
>> 8859. You could generate that character even on MS-DOS.
>>

>> Though, his email's header says the charset if UTF-8. No big deal.
>
> In Plan 9, it's Alt t m, as three individual keystrokes. See keyboard(6)
> to find out what your system would see as Alt. You don't need to keep
> the Alt held down. Now send yourself an email with Alt f a (the for all
> character) and Alt * P (uppercase pi)
>
>>
>>
>>> gopherfs -m/n/gopher tokyo.ac.jp # Demonstration; don't try this
>>> motorola -m/n/cell -M 'RAZR V3' 555 555 5555
>>> cp /n/gopher/a/b/r.tokyo.jpg /n/cell/pictures/r.tokyo.jpg
>>
>> Zing! Who wrote the fs behind /n/cell? You got Morotola to write it
>> for you?
>>

>> $ curl gopher://tokyo.ac.jp/a/b/r.tokyo.jpg
>> $ ifconfig cellnetif num "555 555 5555"

>> $ mount -t motofs /dev/cellnetif /mnt/cell

Eris Discordia

unread,
Aug 20, 2008, 4:29:54 AM8/20/08
to Fans of the OS Plan 9 from Bell Labs
> Oh, I'm waiting for a phone call before bed. What the hell.

Sleep tight. Every night.

> My job includes some programming, some document writing, lots of reading.

Programming _for_ Plan 9? Document writing _for_ Plan 9? Reading _about_
Plan 9?

I'm, of course, benignly assuming you create "usable" programs and
documents. And read "useful" things. Couldn't Windows do the job? Or
FreeBSD? Or what-have-you Linux? And better, easier?

> I've never been employed to count columns or fold lines.

Neither have I. You _still_ haven't figured out the difference between a
work/task and a job/profession?

> interface encourages good mental habits that help me produce
> quality stuff.

Could your "quality" by any chance be _quantified_?

> I find the applications and interfaces in Plan 9 to be far more
> consistent and convenient than in other systems. That's true both
> for programming interfaces and user interfaces. This means I can
> let the system do its job and get out of my way without having to
> think about it as much as I do elsewhere.

Rationale? Examples? Comparison? Why would anyone else care how _you_ find
it? Tell me how _I_ can do it. Tell _them_ how they can do it.

> do for me, that's fine (academically, I might speculate on why).

Academically, speculate on _what_ exactly Plan 9 does for you. Also, share
your speculations.

> using the system productively are either delusional or just don't
> exist is highly insulting.

I don't remember having called anyone "delusional" or "non-existent."

The key here is that every new person who comes to 9fans and asks a few
questions about very mundane things available elsewhere gets pathologically
flamed about why "those darned things" shouldn't exist and how Plan 9 is so
great by "not having them" and that they should go "do it themselves" if
it's out of the 9people's narrow scopes/niches/specialization. _That's_
insulting, especially from a group who claim to offer--yes, when it's up
for grabs and web sites say cool things about it it's an offer--a
"complete" OS.

Why not put one these flames at a place visible from
http://plan9.bell-labs.com/plan9/?

Just look at the sort of "solutions" this thread's originator has received.
They've been told to use awk for matching HTML tags. Or to type "Edit ="
and then do the acrobatics whenever they need to know their position in
code--oh, and no "columns."

Eris Discordia

unread,
Aug 20, 2008, 5:12:57 AM8/20/08
to
> style(6) says not to convert tabs to spaces.

I see. People on Plan 9 are "told" which characters they "should" or
"shouldn't" use in their text. Great!

> An awk program can do this. The idea is to interpret tags as they come in
> the form of a stack:
> code stack
> <html> html
> <head> head
> html
> <title> title
> head
> html
> </b> title error: closing wrong tag
> You can also check to see if tags make sense or bad tags are nested. For
> example, don't see <body><body></body></body> as normal, nor
> <title><b></b></title>.

That stack has been implemented in vim. There're nearly 500 different
syntax matching and highlighting schemes for vim, and there's a simple
language for writing your own schemes. Why not use vi?

--On Tuesday, August 19, 2008 11:54 PM -0400 Pietro Gagliardi

Eris Discordia

unread,
Aug 20, 2008, 5:12:41 AM8/20/08
to
> None of the above, I write embedded code, my employer has a clear enough
> vision to allow me to use whatever OS I like, provided I get the job in
> hand done, which I clearly do.

You have a _very_ flexible employer there.

> I'am afraid I am not willing to discuss the details of my job with you,
> however I find writing code using plan9 and the plan9 environment makes my

> life much easier and allows me to get my job done; present chatter
> excepted.

You needn't discuss anything, except how Plan 9 makes you life easier than
FreeBSD would. You could even drop that. Even responding to my first post
was an act of volition, I reckon.

> I'am not sure which test you wanted to perform, but your email arrived
> here OK (Via plan9's smtpd and upas/fs), the Hebrew appears intact though
> I don't speak the language so I cannot tell if it is correct. I have
> quoted it back to you to see if it passes the return path OK.

It seems fine here. Both Hebrew and Arabic. I presume the Plan 9 smtpd is
running at quintile.net and not even bothering to identify itself as "ESMTP
(something)" because after quintile.net the path goes through Exim and then
Google's machinery.

Now, could you have input that text? Relaying mail as it is isn't really a
feat, you know. That's the _minimum_ expected from an MTA.

> I would love to discuss more, but I have work to do (using plan9, but not
> on plan9).

Reading your postings is always a pleasure. Do me the favor more often :-)

--On Wednesday, August 20, 2008 9:01 AM +0100 Steve Simon

matt

unread,
Aug 20, 2008, 5:26:01 AM8/20/08
to

>
> That stack has been implemented in vim. There're nearly 500 different
> syntax matching and highlighting schemes for vim, and there's a simple
> language for writing your own schemes. Why not use vi?
To paraphrase Tesla :

If Mr. Edison thought a bit more, he wouldn't have to sweat so much.

Eris Discordia

unread,
Aug 20, 2008, 5:26:42 AM8/20/08
to
> Wow. Does memorising codepoints fall under your job description aswell?

No. I looked it up in Microsoft Windows' Character Map. Saw it was below
255. Knew UTF-8 corresponds to ASCII in lower character codes (not sure
7-bit or 8-bit). Figured it could as well be 8-bit ASCII.

> ifconfig: only root can do that

> mount: only root can do that

Funny, but then not funny.

What's the Plan 9 way of solving that? Trusting the user at the terminal?
What if the "terminal" is your desktop PC? It isn't diskless and it
certainly isn't meant to be a "simple terminal" in a network of a gazillion
machines. Oh, I see, you run the equivalent of _four_ interconnected
machines (cpu, terminal, some fs, and auth) to achieve that. How very
clever. And how's that supposed to be any more secure than authenticating
with Kerberos? Or, in case you're at home, a proper access policy?

> cp: /mnt/cell: permission denied

Why "permission denied?" What keeps a wheel from giving a user permissions
to /mnt/cell? You know, we live in a brave new world. ACLs were invented
long ago.

--On Wednesday, August 20, 2008 1:02 PM +0800 sqweek <sqw...@gmail.com>
wrote:

Eris Discordia

unread,
Aug 20, 2008, 5:44:13 AM8/20/08
to
> I don't get this, ™ is the unicode character 2122, not ASCII. I agree
> it could be generated on a MS-DOS pretty much any byte sequence could
> be, but I doubt even DOS 6.22 had unicode support, so you would have to
> translate it to a code page reprisentation and load the correct fonts.

You're right. It's U+2122. Nonetheless, it's also extended ASCII 153, and
many DOS programs easily used that to display a ™. I guess that was the
"default" code page.

MS-DOS never had Unicode support. Neither did any Windows version up to
3.1, NT 3.5, and 95. NT 4 introduced it into the Microsoft sphere in 1996.
In 5-6 years--from 1996 to 2001--Windows surpassed Plan 9 in Unicode
handling, in all practical aspects.

W3C HTML 4.x (and most of previous versions, I guess) and XHTML 1.1 also
support it as &#153, so it's pretty "standard." You can validate any
otherwise valid XHTML document containing it against

http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd,

and get a pass.

--On Wednesday, August 20, 2008 9:10 AM +0100 Steve Simon
<st...@quintile.net> wrote:

>> Steve Simon's trademark character, I presume, was generated by

>> [Alt]+0153--you call [Alt] an "Option" key, right?
>
> nope, Alt,T,M


>
>> Well below 255, it's
>> just extended/8-bit ASCII. Not right-to-left, not even out of ISO 8859.
>> You could generate that character even on MS-DOS.
>

Sander van Dijk

unread,
Aug 20, 2008, 5:47:32 AM8/20/08
to
On 8/20/08, Eris Discordia <eris.di...@gmail.com> wrote:
>
> [...] Figured it could as well be 8-bit ASCII.

Which one?

sqweek

unread,
Aug 20, 2008, 5:55:40 AM8/20/08
to
On Wed, Aug 20, 2008 at 5:15 PM, Eris Discordia
<eris.di...@gmail.com> wrote:
>> Wow. Does memorising codepoints fall under your job description aswell?
>
> No. I looked it up in Microsoft Windows' Character Map. Saw it was below
> 255. Knew UTF-8 corresponds to ASCII in lower character codes (not sure
> 7-bit or 8-bit). Figured it could as well be 8-bit ASCII.

The ascii that is 8 bits is not the true ascii.

>> ifconfig: only root can do that
>> mount: only root can do that
>
> Funny, but then not funny.
>
> What's the Plan 9 way of solving that? Trusting the user at the terminal?

No. Private namespaces.

>> cp: /mnt/cell: permission denied
>
> Why "permission denied?"

Sorry, that should have been "no such file or directory". You need a mkdir.
-sqweek

Eris Discordia

unread,
Aug 20, 2008, 5:54:03 AM8/20/08
to
> If Mr. Edison thought a bit more, he wouldn't have to sweat so much.

But it was Tesla who died in poverty, I remember. And it's his spectre
that's attracting the "Tesla coil" conspiracy theories. Not to mention the
horrendous amount of baseless claims around his inventions and discoveries.
Edison, or Edison's "fans," seem to have been much less controversial and
much more upright. Much more productive, too. Tesla worked for both Thomas
Edison and George Westinghouse. Why did _he_ die a pauper?

--On Wednesday, August 20, 2008 10:21 AM +0100 matt

matt

unread,
Aug 20, 2008, 6:14:48 AM8/20/08
to

>
> What's the Plan 9 way of solving that? Trusting the user at the terminal?

yes, no other things required, you fail (as per usual)

Robert William Fuller

unread,
Aug 20, 2008, 7:58:41 AM8/20/08
to
Eris Discordia wrote:
> MS-DOS never had Unicode support. Neither did any Windows version up to
> 3.1, NT 3.5, and 95. NT 4 introduced it into the Microsoft sphere in
> 1996. In 5-6 years--from 1996 to 2001--Windows surpassed Plan 9 in
> Unicode handling, in all practical aspects.

I'm pretty far from being either a Plan 9, or much less, a Windows
apologist. However, this is just wrong. NT was Unicode from the
beginning, even at the kernel level. Ask any poor sod who had to work
on the NT kernel back then.

Bruce Ellis

unread,
Aug 20, 2008, 8:30:53 AM8/20/08
to
twenty years ago i was asked by a journalist to similarly explain why
i was using UNIX.

i ended up saying "UNIX says screw you, i agree". it was one of the
few random comments he didn't print.

no 9fan needs to ask. they just get the job done because they know
that what they are doing is much more sensible in 9-land than in some
kids spinning brain.

brucee

Eris Discordia

unread,
Aug 20, 2008, 8:34:23 AM8/20/08
to
> However, this is just wrong. NT was Unicode from the beginning, even
> at the kernel level.

You're right. My fault. MSDN says NT was Unicode from the beginning.

--On Wednesday, August 20, 2008 7:56 AM -0400 Robert William Fuller

Eris Discordia

unread,
Aug 20, 2008, 8:45:54 AM8/20/08
to
Read the rest of the paragraph you're responding to. Or "stop feeding the
troll" as the big bosses advised you.

--On Wednesday, August 20, 2008 11:12 AM +0100 matt

Eris Discordia

unread,
Aug 20, 2008, 9:07:25 AM8/20/08
to
> The ascii that is 8 bits is not the true ascii.

I answered that one.

> No. Private namespaces.

And how does that solve the problem of whom to trust with mounting? Or with
configuring a network interface? If someone has access to, say, eth0 then
they have access to eth0. No amount of private namespaces keeps them from
reading everything that goes through eth0, including other users'
unencrypted traffic.

Plan 9's model says if you have physical access to a terminal there is no
way to secure _that_ terminal against your mischief. Therefore, it totally
trusts you _that_ terminal. However, your home computer doesn't run only a
terminal. To be usable, it has to run at least a cpu and an auth, in
addition to a term. Now, where is the difference between running
authentication on the same machine as the terminal and the traditional UNIX
way of keeping authentication/authorization databases on each machine? Or
from Kerberos' distributed authentication model?

> Sorry, that should have been "no such file or directory". You need a
> mkdir.

The directory could've been there beforehand. In any case, your deflection
has nothing to do with the fact that Pietro Gagliardi's demand for "a few
commands" to accomplish a certain task has been supplied with an adequate
UNIX answer.

He's under the false impression that abstraction actually _does_ things,
and that because Plan 9 has an everything-is-a-file model it is any more
trivial to access a cell phone over its proprietary communication protocol
over the cellular network. An impression perpetuated by the 9people.

--On Wednesday, August 20, 2008 5:53 PM +0800 sqweek <sqw...@gmail.com>
wrote:

> On Wed, Aug 20, 2008 at 5:15 PM, Eris Discordia


> <eris.di...@gmail.com> wrote:
>>> Wow. Does memorising codepoints fall under your job description aswell?
>>
>> No. I looked it up in Microsoft Windows' Character Map. Saw it was below
>> 255. Knew UTF-8 corresponds to ASCII in lower character codes (not sure
>> 7-bit or 8-bit). Figured it could as well be 8-bit ASCII.
>
> The ascii that is 8 bits is not the true ascii.
>
>>> ifconfig: only root can do that
>>> mount: only root can do that
>>
>> Funny, but then not funny.
>>

>> What's the Plan 9 way of solving that? Trusting the user at the terminal?
>

Eris Discordia

unread,
Aug 20, 2008, 9:12:26 AM8/20/08
to
Code page 1252, ANSI Latin I. Presumably the one most widely used.

--On Wednesday, August 20, 2008 11:44 AM +0200 Sander van Dijk
<a.h.v...@gmail.com> wrote:

> On 8/20/08, Eris Discordia <eris.di...@gmail.com> wrote:
>>

>> [...] Figured it could as well be 8-bit ASCII.
>
> Which one?
>

Sander van Dijk

unread,
Aug 20, 2008, 9:22:01 AM8/20/08
to Fans of the OS Plan 9 from Bell Labs
On 8/20/08, Eris Discordia <eris.di...@gmail.com> wrote:
> Code page 1252, ANSI Latin I. Presumably the one most widely used.

Thanks. It was intended as a rhetorical question though.

Gr. Sander.

Iruata Souza

unread,
Aug 20, 2008, 12:28:05 PM8/20/08
to
On 8/20/08, Eris Discordia <eris.di...@gmail.com> wrote:
> ACLs were invented long ago.

yes, I like clean and simple solutions too.

iru

sqweek

unread,
Aug 20, 2008, 2:10:55 PM8/20/08
to
On Wed, Aug 20, 2008 at 8:56 PM, Eris Discordia
<eris.di...@gmail.com> wrote:
>> No. Private namespaces.
>
> And how does that solve the problem of whom to trust with mounting?

You don't care who mounts what where, because the rest of the system
doesn't notice the namespace change. But it sounds like what you're
really talking about is who to trust with device access, so lets roll
with that.

> Or with configuring a network interface?

As Pietro demonstrated, no interface configuration is necessary here.

> If someone has access to, say, eth0 then
> they have access to eth0. No amount of private namespaces keeps them from
> reading everything that goes through eth0, including other users'
> unencrypted traffic.

Certainly. If someone has access to, say, the physical machine, then
they have the ability to boot whatever operating system they wish,
potentially modified to their liking and do whatever they want with
the hardware. Plan 9 respects that. Not trusting the hostowner is a
waste of effort.

> Plan 9's model says if you have physical access to a terminal there is no
> way to secure _that_ terminal against your mischief. Therefore, it totally
> trusts you _that_ terminal. However, your home computer doesn't run only a
> terminal. To be usable, it has to run at least a cpu and an auth, in
> addition to a term.

Uh, what now? You either have an interesting definition of home
computer or some fucked up ideas about plan 9. You only need a cpu
server if you want to let other machines run processes on your
machine. You only need an auth server if you want to serve resources
to a remote machine.

> Now, where is the difference between running
> authentication on the same machine as the terminal and the traditional UNIX
> way of keeping authentication/authorization databases on each machine?

"each machine?" I thought we were talking about my "home computer"???
If you have a home network, you have ONE auth server.

>> Sorry, that should have been "no such file or directory". You need a
>> mkdir.
>
> The directory could've been there beforehand.

Well allow me to present a more concise set of commands:


(the file was there beforehand :D)

> In any case, your deflection
> has nothing to do with the fact that Pietro Gagliardi's demand for "a few
> commands" to accomplish a certain task has been supplied with an adequate
> UNIX answer.
>
> He's under the false impression that abstraction actually _does_ things, and
> that because Plan 9 has an everything-is-a-file model it is any more trivial
> to access a cell phone over its proprietary communication protocol over the
> cellular network. An impression perpetuated by the 9people.

Sure, at the end of the day you're still pushing the same packets
over the same network. However, there is one thing abstraction does:
it defines an interface. Sure, each file server has its own
incantation, that's beside the point. In 9p, the abstraction is a file
tree, and the interface is
auth/attach/open/read/write/clunk/walk/remove/stat.
The nice part about the interface is it is simple and consistent.
Once you know what each of those messages mean, you are set - there
aren't really any sharp corners to watch out for. I mean you could
argue HTTP is simpler because it just has GET/PUT/DELETE/HEAD, but you
have to deal with rfc822 formatted messages and different transfer
encodings and auth mechanisms and all sorts of options coming out your
ass.
Mind you, a lot of the time you only care about files and
open/read/write/clunk are all you need. Case in point, awk or rc in
plan 9 have zero networking code, yet it is entirely possible to have
them communicate over tcp or whatever protocols are supported in /net
since they can open/read/write. In fact, there are no syscalls for
network operations - everything is done via /net. Thanks to private
namespaces, you can transparently replace /net with some other crazy
[compatible] filesystem, which might load balance over multiple
connections or somesuch. Network transparency means you can use /net
from a different machine and everything just works - hang around some
less technical folk sometime and tell me NAT doesn't deserve to die.
Even with resources like http://portforward.com available, port
forwarding is an impassable obstacle for many people.
I'd like to take a moment to note your unix example used the same abstraction.
You said elsewhere that plan 9's filesystems could be implemented on
any system, which is true [to an extent]. But it's apparent than no
others have the taste to do it as elegantly as plan 9 - it's all MORE
APPS (netcat), MORE FEATURES (tcp code in gawk/bash), MOOORRREE CODE.

Eris, if you've further issues to raise, we should take this off-list.
-sqweek

erik quanstrom

unread,
Aug 20, 2008, 3:02:52 PM8/20/08
to
> You only need a cpu
> server if you want to let other machines run processes on your
> machine. You only need an auth server if you want to serve resources
> to a remote machine.

i don't think this is accurate.

You only need a cpu server if you want to let /multiple users/ run


processes on your machine. You only need an auth server if you

want to /authenticate/.

you don't need multiple machines to authenticate. (you can authenticate
to a fs running on the local machine. you can authenticate via imap
locally.) you don't need multiple users to need a cpu server. you need
a cpu server to run services such as smtp or cron.

- erik


sqweek

unread,
Aug 20, 2008, 3:49:49 PM8/20/08
to

Ah, right. Thanks for clarifying Erik, sorry about the swearing Eris.
Makes a lot more sense now, though I still don't see the need to run
auth for a standalone terminal. cpu serv for cron, maybe.
-sqweek

Eris Discordia

unread,
Aug 20, 2008, 5:59:07 PM8/20/08
to
Thank you, sqweek. The second golden Golden Apple with καλλιστι on
it is totally yours. The first one went to Russ Cox.

> You don't care who mounts what where, because the rest of the system
> doesn't notice the namespace change.

So essentially there shouldn't be a problem with mounting on a single
"public" namespace as long as there is one user on the system. mount
restriction in UNIX systems was put in place because multiple users exist
some of whom may be malicious. Virtualization and jailing will relax that
requirement.

> As Pietro demonstrated, no interface configuration is necessary here.

Only because the concept is hidden in Plan 9, though I don't know how.
_Someone_ or _something_ has to decide whether to route your packets
through, say, a ppp interface or an eth interface--when both interfaces are
present--and to do that according to configuration. That won't happen on
its own.

When P. G. suggested an imaginary "motorola" file server he never said how
the file server is supposed to access the cellular network. If it's going
to happen by tunnelling through another protocol, e.g. IP, then the
question remains of _which_ interface to choose from. And if it's going to
happen over some special protocol then it must occupy a place on the
network stack over some _configured_ network interface.

On a different note, what purpose did his "-M 'RAZR V3' 555 555 5555"
switches serve? Don't they qualify as interface configuration?

> Certainly. If someone has access to, say, the physical machine, then
> they have the ability to boot whatever operating system they wish,
> potentially modified to their liking and do whatever they want with
> the hardware.

This result comes from the "disposable" machine paradigm, in which the
machine you work at need not be in any way _significant_ to you. It doesn't
quite match the "home computer" scheme of things. If someone manages to
boot your home/portable personal computer they are set for collecting all
you've stored on it. In that respect, I don't see how the "disposable"
machine paradigm can be applicable. Your personal machine is not disposable.

It seems the security ascribed to disposable machines comes from that "user
data" is stored on a different, presumably safer, machine in, for example,
some sort of data warehouse at a data center. This isn't a new
idea--actually, it's _very_ old--and it's not what happens in home (or
personal) computing.

> Plan 9 respects that. Not trusting the hostowner is a waste of effort.

Not with reliable biometric authentication, but that's out of scope here.

> Uh, what now? You either have an interesting definition of home

> computer or some fucked up ideas about plan 9. You only need a cpu


> server if you want to let other machines run processes on your
> machine. You only need an auth server if you want to serve resources
> to a remote machine.

Neither statement is true. On a home computer you certainly need a term.
You'll need a cpu for a number of tasks. And you'll need auth if there's
going to be more than one user on the system, or if you need a safe way of
authenticating yourself to your computer. A single glenda account doesn't
quite cut it. If you're going to access your storage you'll need some
fs('s), too.

The bottom line is: term is _certainly_ not enough for doing all the tasks
a *BSD does, and requiring a home computer to do all these tasks is far
from inconceivable. One *BSD system is almost functionally equivalent to a
combination of term, cpu, auth, and some fs('s).

> "each machine?" I thought we were talking about my "home computer"???
> If you have a home network, you have ONE auth server.

No. The point is if you have _one_ home machine and _multiple_ users you'll
have to store authentication information on that same machine. It is no
more a "disposable terminal," its security becomes as important as the
security of a heavily used auth server. The "disposable" machine paradigm
fails as miserably as the the traditional UNIX paradigm: one machine, many
users.

Now, your home computer may be a true single user machine but you store
_some_ authentication information on it anyway; those of yours, namely.
Such machine is in that respect as vulnerable as a UNIX machine. It has to
be _physically_ guarded. It's no more a "disposable" machine.

> incantation, that's beside the point. In 9p, the abstraction is a file
> tree, and the interface is
auth/attach/open/read/write/clunk/walk/remove/stat.

ioctl and VFS are suspiciously similar even though they serve less generic
functions.

> argue HTTP is simpler because it just has GET/PUT/DELETE/HEAD, but you
> have to deal with rfc822 formatted messages and different transfer
> encodings and auth mechanisms and all sorts of options coming out your
> ass.

This is classic. Complication is a sign of maturation. Plan 9 has evaded
that by not maturing, by avoiding diversification. Before you get angry I
must say that's my "personal" opinion. Nothing I'm going to "force" unto
you. Nothing I _can_ force unto you.

> network operations - everything is done via /net. Thanks to private
> namespaces, you can transparently replace /net with some other crazy
> [compatible] filesystem, which might load balance over multiple

How does that differ from presenting of a network interface by a block
device on UNIX? And why should avoiding system calls be considered an
advantage? Your VFS layer could do anything expected from /net provided
that file system abstraction for the resources represented under /net is
viable in the first place.

> implemented on any system, which is true [to an extent]. But it's
> apparent than no others have the taste to do it as elegantly as plan 9 -

It's not a matter of taste. There are situations, many situations actually,
where the file system abstraction is plainly naive. Sticking with it for
every application verges on being an "ideology."

The VFS approach is by no means inferior to Plan 9's everything-is-a-file,
but on UNIX systems it is limited to resources that can be meaningfully
represented as file systems. Representing a relational database as a file
system is meaningless. The better representation is something along the
lines of the System::Data::DataGrid class on Microsoft .NET framework.

> Eris, if you've further issues to raise, we should take this off-list.

No more "issues." I simply rest my case here.

--On Thursday, August 21, 2008 2:08 AM +0800 sqweek <sqw...@gmail.com>
wrote:

> computer or some fucked up ideas about plan 9. You only need a cpu


> server if you want to let other machines run processes on your
> machine. You only need an auth server if you want to serve resources
> to a remote machine.
>

Pietro Gagliardi

unread,
Aug 20, 2008, 6:44:38 PM8/20/08
to
I'm sorry, but this needs a comment.

On Aug 20, 2008, at 5:46 PM, Eris Discordia wrote:

>> As Pietro demonstrated, no interface configuration is necessary here.
>
> Only because the concept is hidden in Plan 9, though I don't know
> how. _Someone_ or _something_ has to decide whether to route your
> packets through, say, a ppp interface or an eth interface--when both
> interfaces are present--and to do that according to configuration.
> That won't happen on its own.

The program does so. What happens is the program sets up a 9P server
that runs in the background as a background process. It takes care of
everything. The user never needs to actually say "my cell phone is
interfacing off a proprietary network" because the program will take
care of that. ftpfs, for instance, doesn't ask the user for port
number, ASCII/Binary mode, etc. More elaborate FTP programs do, and I
don't know why.

> When P. G. suggested an imaginary "motorola" file server he never
> said how the file server is supposed to access the cellular network.
> If it's going to happen by tunnelling through another protocol, e.g.
> IP, then the question remains of _which_ interface to choose from.
> And if it's going to happen over some special protocol then it must
> occupy a place on the network stack over some _configured_ network
> interface.

Like I just said, the program does all of that. Take a look at srv,
which can connect to both local and remote servers.

> On a different note, what purpose did his "-M 'RAZR V3' 555 555
> 5555" switches serve? Don't they qualify as interface configuration?


No. -M 'RAZR V3' simply says the model of the phone. It does not say
over what protocol, serial number, or connection type. And 555 555
5555 is a phone number that is required for obvious reasons.


Geoffrey Avila

unread,
Aug 20, 2008, 7:17:36 PM8/20/08
to

Not (currently) a Plan 9 user, but I gotta chime in:

> It seems the security ascribed to disposable machines comes from that "user
> data" is stored on a different, presumably safer, machine in, for example,
> some sort of data warehouse at a data center. This isn't a new
> idea--actually, it's _very_ old--and it's not what happens in home (or
> personal) computing.

You're right; it isn't. Is that good or bad? What about in an office
environment? Same answer there?

>> Plan 9 respects that. Not trusting the hostowner is a waste of effort.
>
> Not with reliable biometric authentication, but that's out of scope here.
>

Way, way out of scope. Kinda like a fusion-powered terminal.

>
> Now, your home computer may be a true single user machine but you store
> _some_ authentication information on it anyway; those of yours, namely. Such
> machine is in that respect as vulnerable as a UNIX machine. It has to be
> _physically_ guarded. It's no more a "disposable" machine.

This is the argument I had for using Sunrays in public places at work.
Single user, and if they were ganked from the lobby one night, the theives
would only have a middling LCD monitor instead of a windows system with
cached credentials.

>
> This is classic. Complication is a sign of maturation.

...or incipient schizophrenia.

> by not maturing, by avoiding diversification. Before you get angry I must say
> that's my "personal" opinion. Nothing I'm going to "force" unto you. Nothing
> I _can_ force unto you.


Would that I could force you into not using double-quotes for emphasis!

-GBA


Eris Discordia

unread,
Aug 20, 2008, 7:58:52 PM8/20/08
to
I was going to give it a rest. Really. But I couldn't overcome my bad
habits. They outnumber me ten to one ;-)

> You're right; it isn't. Is that good or bad? What about in an office
> environment? Same answer there?

Plan 9's aptitude for becoming easily distributed--that is, becoming
decentralized--gives rise to a centralized system when it comes to
security, because safekeeping of one auth server is much easier than
keeping track of numerous authentications/authorization databases spread
across the network.

It's good. For a _large_ organization, it's good. For the same reasons
time-sharing systems were good for university campuses. Centralization
lowers overhead--in costs, time, security, and general maintenance hassles.
Problem is, sometimes the center and the periphery are the _same_, e.g. in
home computing. And for the same reasons a time-sharing system would be bad
for home computing, an innately distributed system is also bad for it.
Needless to say, home computing doesn't mean casual or insignificant
computing. The term only denotes the individual--to contrast with
organizational--quality of the computation involved.

Decentralization in small scale either overburdens the user with complexity
or leaves them at the mercy of a _centralized_ application provider; in
safekeeping of credentials, for example. That's Microsoft's dream world of
"software as a service." Strangely, Plan 9--if it ever gets to enjoy a
large user base--demonstrates the horrors of that dream.

> Way, way out of scope. Kinda like a fusion-powered terminal.

Not like that. Biometrics is becoming dirt cheap these days.

> ...or incipient schizophrenia.

Huh?

> Would that I could force you into not using double-quotes for emphasis!

I used to use them for emphasis. Then I tried _underscores_ and reserved
double quotes for "sarcasm" and "invented/unfamiliar terms."


--On Wednesday, August 20, 2008 4:15 PM -0700 Geoffrey Avila

Dan Cross

unread,
Aug 20, 2008, 8:05:58 PM8/20/08
to
On Tue, Aug 19, 2008 at 9:43 PM, Eris Discordia
<eris.di...@gmail.com> wrote:
>> take it easy on the porn and get some real sex, eris. you're way too
>> angry.
>
> Sir, yessir! The Marines don't do Japanese, sir!

Clearly you've never been to Iwakuni.

erik quanstrom

unread,
Aug 21, 2008, 6:53:58 AM8/21/08
to
> So essentially there shouldn't be a problem with mounting on a single
> "public" namespace

namespaces are not public in the sense that they are visible to all
processes.

> as long as there is one user on the system.

since this started out as a discussion of terminals, i should point out
that terminals by definition have a single user at a time.

> This is classic. Complication is a sign of maturation. Plan 9 has evaded
> that by not maturing, by avoiding diversification. Before you get angry I
> must say that's my "personal" opinion. Nothing I'm going to "force" unto
> you. Nothing I _can_ force unto you.

equally one could say complication is a sign that one's vision was lacking;
a sign that one's system lacks generality.

if you call the opposite of complication immaturity, i'll be proud
to have an operating system that suffers from it.

> How does that differ from presenting of a network interface by a block
> device on UNIX? And why should avoiding system calls be considered an
> advantage? Your VFS layer could do anything expected from /net provided
> that file system abstraction for the resources represented under /net is
> viable in the first place.

i'm not sure what passes for unix these days, but linux at least
does not present network interfaces as block devices. there is no
/dev/eth0.

> The VFS approach is by no means inferior to Plan 9's everything-is-a-file,

what do you mean by this? the VFS is a kernel interface along the general
lines of plan 9's devtab. everything-is-a-file[server] is a general principle.


> but on UNIX systems it is limited to resources that can be meaningfully
> represented as file systems.

so why is the network hidden in side channels in adjunct namespaces?

- erik


erik quanstrom

unread,
Aug 21, 2008, 7:13:32 AM8/21/08
to
> A plan9 terminal can run programs, and can have a local storage file
> system, with multiple users.

i think this is misleading. while the fs running on the terminal can have
multiple users, it is not true that you can have multiple users using
the cpu resources of a terminal concurrently.

you can have all that and auth if you run a single machine with a cpu
kernel with the downside that if you use the console you must be eve.

since it's easy to get small, cheep, low-power machines, i run a
traditional terminal with a seperate auth and fs.

- erik


jo...@csplan9.rit.edu

unread,
Aug 21, 2008, 9:29:51 AM8/21/08
to

David Leimbach

unread,
Aug 21, 2008, 9:38:00 AM8/21/08
to
You can even run 9vx as a totally reasonable terminal now... On a system that needs not be dedicated to Plan 9, and still have your CPU/FS/AUTH elsewhere.  (Thanks Russ!)

I'm a big fan of this approach, if people find it difficult to justify a whole machine as a Plan 9 terminal.

I think Inferno is somewhat usable for this purpose even too right?  I've just never managed to get it going (or admittedly spent much time trying).

Dave
 

- erik



Eris Discordia

unread,
Aug 21, 2008, 12:53:09 PM8/21/08
to
> Virtualization and jailing are hacks to work around the inherent

Virtualization is much more than that. It has a future and the future's
here. It also has a rather glorious past in IBM VM/CMS.

> restriction ('only root can become another user', hence su/sudo, only
> root can open certain ports, etc.) which Plan 9 cleanly does away
> with.

By assuming _anyone_ at a terminal is root, while sometimes the "terminal"
is not a terminal at all. What happens when your home computer is
bootstrapped? Is there a thing glenda can't do? I mean, if someone other
than you turns your home computer on is it OK for them to be entitled to
the same privileges that you normally are? Assuming there's method of
stopping them from disconnecting the hard disk inside and/or from peeking
into the data on it (there are practical solutions for both of these
problems).

> A plan9 terminal can run programs, and can have a local storage file

> system, with multiple users. As for authentication, in such use case
> unix auth is little more than a farce of security theater which could
> easily be implemented in plan9 (and I think some people has) if you
> wanted to keep your three year old child from accessing your account
> but is futile for much else.

A "terminal" per se should be dumb. How come it can run programs? It seems
a Plan 9 term isn't exactly a terminal, not a dumb one for sure. If it can
run a program, any program, who's going to control what the program
accesses, especially when there are _multiple_ users some of whom may not
be exactly trustable and there's a local store of sensitive information?

Basically, a terminal should not hold _any_ information on its users. Where
does the security of not keeping authentication information on a so-called
terminal go when you _keep_ it on the "terminal?" But with multiple users
you're going to need authentication. Right?

My impression: the UNIX authentication "farce" happened because UNIX began
as a replacement to a time-sharing system for more or less physically
secure computers but then was downsized to an OS--many OS's, in fact--also
usable on personal computers, e.g. 386BSD. Personal computers aren't as
physically secure as the proverbial "big computer in the basement," hence
the need for role-based security which was, incidentally, introduced in
386BSD. However, as long as the physical security problem persists the
"farce" goes on. Nothing wrong with UNIX. The twist is in the placement and
role of personal computers which can be flaky vessels for sensitive
information.

Plan 9 doesn't solve that problem for the most common form of computer,
i.e. the _home_ computer. Not even for the so-called "workstation." It
solves the problem only for the corporate/university/organization "access
point," if you know what I mean. Even then that isn't a _new_ solution--it
was there when the original time-sharing systems were in operation. Of
course, the Plan 9 solution costs--any solution does--and for the home
computer these costs aren't followed by gains.

The real problem: "standalone" terminal, also known as the home computer

The real solution: physical security for anything that may carry sensitive
information. Physical security must include software security against
physical threats as well, e.g. encryption.

As a side note, Rob Pike has been quoted--I take no responsibility for
authenticity--saying, "a smart terminal is not a smart ass terminal, but
rather a terminal you can educate."

That's the root of the problem: underestimation of home computers. A home
computer is a smart terminal as well as a smart ass terminal and there's
nothing you can do about it.

> Try to do ioctl over the network.

I think I said ioctl serves a less generic function.

> Here is a reason: Because Plan 9 has no network-related syscalls, and
> applications contain no networking code (even when they are still
> network transparent thanks to 9P), when ipv6 was added to plan9, no
> [...]

UNIX can accommodate this approach any minute now, figuratively speaking.
It has the infrastructure. Current networking traditions in UNIX aren't
inherent, they're circumstantial. Remember, the file system abstraction
began in UNIX--or even before UNIX?

> I don't think any unix systems allows a single application (or
> namespace) to access *multiple* network stacks concurrently... and
> remote network stacks? don't think so either.

So, what exactly is happening when the same process is sending HTTP
requests to a server on the local 802.3 network, a second server on the
Internet accessible through my dial-up connection, and a third server on a
802.11 network? Aren't there _three_ network stacks beneath (or over? the
PPP, the Ethernet, the WiFi interfaces? To my meager knowledge, these are
distinct at least up to network layer, i.e. physical-to-host, medium access
(if present), and data link layers are different.

> namespace) to access *multiple* network stacks concurrently... and
> remote network stacks? don't think so either.

Accessing another computer's network stack is possible through RPC. Though
the actual requirements for that feat are way beyond my scope.

> Ah, interesting example, isn't it sad that every database system on
> unix (or windows) needs to include its own networking code, its own
> authentication, etc.?

Please take a look at a simple application using System::Data::DataGrid.
Networking is completely transparent to the DataGrid class. It's been
abstracted like in Plan 9, though not in a technically identical way. In
fact, .NET framework has a whole range of abstractions for various purposes.

--On Thursday, August 21, 2008 9:42 AM +0200 Uriel <uri...@gmail.com>
wrote:

> On Wed, Aug 20, 2008 at 11:46 PM, Eris Discordia
> <eris.di...@gmail.com> wrote:
>> Thank you, sqweek. The second golden Golden Apple with καλλιστι
>> on it is totally yours. The first one went to Russ Cox.
>>
>>> You don't care who mounts what where, because the rest of the system
>>> doesn't notice the namespace change.
>>

>> So essentially there shouldn't be a problem with mounting on a single

>> "public" namespace as long as there is one user on the system. mount
>> restriction in UNIX systems was put in place because multiple users exist
>> some of whom may be malicious. Virtualization and jailing will relax that
>> requirement.
>

> Mount restrictions on unix are needed (among other reasons) because of
> a broken security model (ie., suid).
>
> Virtualization and jailing are hacks to work around the inherent
> limitation that in unix resources can not be easily
> abstracted/isolated and are plagued by the 'only root can do X'
> restriction ('only root can become another user', hence su/sudo, only
> root can open certain ports, etc.) which Plan 9 cleanly does away
> with.
>
> Linux could do many things plan9 can do, if it got rid of all suid
> programs (by perhaps using the cap device implementation for the linux
> kernel, if that is ever accepted in mainline linux), but until then...


>
>>> Uh, what now? You either have an interesting definition of home
>>> computer or some fucked up ideas about plan 9. You only need a cpu
>>> server if you want to let other machines run processes on your
>>> machine. You only need an auth server if you want to serve resources
>>> to a remote machine.
>>
>> Neither statement is true. On a home computer you certainly need a term.
>> You'll need a cpu for a number of tasks. And you'll need auth if there's
>> going to be more than one user on the system, or if you need a safe way
>> of authenticating yourself to your computer. A single glenda account
>> doesn't quite cut it. If you're going to access your storage you'll need
>> some fs('s), too.
>>
>> The bottom line is: term is _certainly_ not enough for doing all the
>> tasks a *BSD does, and requiring a home computer to do all these tasks
>> is far from inconceivable. One *BSD system is almost functionally
>> equivalent to a combination of term, cpu, auth, and some fs('s).
>

> A plan9 terminal can run programs, and can have a local storage file

> system, with multiple users. As for authentication, in such use case
> unix auth is little more than a farce of security theater which could
> easily be implemented in plan9 (and I think some people has) if you
> wanted to keep your three year old child from accessing your account
> but is futile for much else.


>
>>> incantation, that's beside the point. In 9p, the abstraction is a file
>>> tree, and the interface is
>>
>> auth/attach/open/read/write/clunk/walk/remove/stat.
>>
>> ioctl and VFS are suspiciously similar even though they serve less
>> generic functions.
>

> Try to do ioctl over the network.


>
>>> network operations - everything is done via /net. Thanks to private
>>> namespaces, you can transparently replace /net with some other crazy
>>> [compatible] filesystem, which might load balance over multiple
>>

>> How does that differ from presenting of a network interface by a block
>> device on UNIX? And why should avoiding system calls be considered an
>> advantage? Your VFS layer could do anything expected from /net provided
>> that file system abstraction for the resources represented under /net is
>> viable in the first place.
>

> Here is a reason: Because Plan 9 has no network-related syscalls, and
> applications contain no networking code (even when they are still
> network transparent thanks to 9P), when ipv6 was added to plan9, no
> changes were required to either any syscalls or any applications. On
> the other hand on unix they are still to this day adding ipv6 support
> to certain apps (and every app that needs to access remote resources
> needs its own networking code that is aware of each protocol it wants
> to support, etc).
>
> When ipv6 needs to be replaced, the pain in the unix software
> ecosystem will be even greater, while in plan9 it will be virtually
> painless.
>
> There are also the benefits of allowing different applications
> (namespaces) use different network stacks without requiring full
> virtualization of the whole OS (the few unix systems that have been
> able to implement this functionality have done so after many years of
> painful efforts and the result is incredibly clunky and complex), and
> I don't think any unix systems allows a single application (or
> namespace) to access *multiple* network stacks concurrently... and
> remote network stacks? don't think so either.


>
>>
>>> implemented on any system, which is true [to an extent]. But it's
>>> apparent than no others have the taste to do it as elegantly as plan 9 -
>>
>> It's not a matter of taste. There are situations, many situations
>> actually, where the file system abstraction is plainly naive. Sticking
>> with it for every application verges on being an "ideology."
>>

>> The VFS approach is by no means inferior to Plan 9's

>> everything-is-a-file, but on UNIX systems it is limited to resources


>> that can be meaningfully represented as file systems. Representing a
>> relational database as a file system is meaningless. The better
>> representation is something along the lines of the
>> System::Data::DataGrid class on Microsoft .NET framework.
>

> Ah, interesting example, isn't it sad that every database system on
> unix (or windows) needs to include its own networking code, its own
> authentication, etc.?
>
> Peace
>
> uriel

Eris Discordia

unread,
Aug 21, 2008, 1:12:27 PM8/21/08
to
A correction:

Mea culpa. UNIX systems apparently force processes to share a single
network stack, but that can be changed:

http://www.tel.fer.hr/zec/papers/zec-03.pdf

A paper on virtualizing network stacks in FreeBSD kernel, 2003 USENIX.

ron minnich

unread,
Aug 21, 2008, 1:14:34 PM8/21/08
to
On Thu, Aug 21, 2008 at 9:39 AM, Eris Discordia
<eris.di...@gmail.com> wrote:

> Basically, a terminal should not hold _any_ information on its users. Where
> does the security of not keeping authentication information on a so-called
> terminal go when you _keep_ it on the "terminal?" But with multiple users
> you're going to need authentication. Right?

Eris, this is getting a little boring. Are you really this ignorant of
what's going on? I don't mind ignorance
per se but you keep wasting people's time as they try to explain CS
101 to you. Maybe you could start a blog and we could
all ignore it -- it's much easier that way.

>
> My impression: the UNIX authentication "farce" happened because UNIX began
> as a replacement to a time-sharing system for more or less physically secure
> computers but then was downsized to an OS--many OS's, in fact--also usable
> on personal computers, e.g. 386BSD.

Your impression? Well, that's one way to go at it.. Of course, there
is the option of acquiring knowledge. It is more work however.

If this is your picture of what happened then you need to go back and
do some reading.

You leave the "impression", to me anyway, that you read a lot but I
can not tell that you actually do much of anything. And, to top it
off, you exist only as an imaginary wikipedia entry.

List manager: can we *please* just boot this guy until he comes back
as a real person? It's getting old.

ron

ron minnich

unread,
Aug 21, 2008, 1:18:46 PM8/21/08
to
On Thu, Aug 21, 2008 at 9:59 AM, Eris Discordia
<eris.di...@gmail.com> wrote:
> A correction:
>
> Mea culpa. UNIX systems apparently force processes to share a single network
> stack,

gee how about that? Isn't it nice to acquire knowledge and *then* post?

> but that can be changed:
>
> http://www.tel.fer.hr/zec/papers/zec-03.pdf
>
> A paper on virtualizing network stacks in FreeBSD kernel, 2003 USENIX.

Similar work is being done in Linux. I talked to the guy who is doing
it a year ago. Want to know what inspired it? Which OS? Wanna guess?

And, they are putting other "namespaces" into Linux. Wonder where they
got that idea and name? I know. Do you?

yeeesh.

ron

Eris Discordia

unread,
Aug 21, 2008, 1:30:01 PM8/21/08
to
> namespaces are not public in the sense that they are visible to all
> processes.

I was trying to compare UNIX to Plan 9. Apparently, UNIX processes share a
single "public" namespace which therefore has to be protected by access
privileges.

> since this started out as a discussion of terminals, i should point out
> that terminals by definition have a single user at a time.

What about the so-called "standalone" terminals (~ home computers)? My
intention was to equate a single user UNIX to a Plan 9 standalone terminal.
It's the same difference, I suppose.

> i'm not sure what passes for unix these days, but linux at least
> does not present network interfaces as block devices. there is no
> /dev/eth0.

The point is this can be done even if it hasn't been done. In case of
FreeBSD, the network interfaces are represented under /dev/net. A sample
installation shows this:

crw------- 1 root wheel 0, 29 Aug 21 18:02 de0
crw------- 1 root wheel 0, 70 Aug 21 18:02 lo0
crw------- 1 root wheel 0, 35 Aug 21 18:02 plip0

Does it mean network interfaces are presented as _character_ devices?

Doing "cat foo >de0" gives "Operation not supported by device."

> what do you mean by this? the VFS is a kernel interface along the general
> lines of plan 9's devtab. everything-is-a-file[server] is a general
> principle.

I mean VFS is an abstraction layer that presents a file system. What it
represents as a file system is rather arbitrary.

>> but on UNIX systems it is limited to resources that can be meaningfully
>> represented as file systems.
>

> so why is the network hidden in side channels in adjunct namespaces?

I don't understand this one.

--On Thursday, August 21, 2008 6:36 AM -0400 erik quanstrom
<quan...@quanstro.net> wrote:

>> So essentially there shouldn't be a problem with mounting on a single
>> "public" namespace
>

> namespaces are not public in the sense that they are visible to all
> processes.
>

>> as long as there is one user on the system.
>

> since this started out as a discussion of terminals, i should point out
> that terminals by definition have a single user at a time.
>
>> This is classic. Complication is a sign of maturation. Plan 9 has evaded
>> that by not maturing, by avoiding diversification. Before you get angry
>> I must say that's my "personal" opinion. Nothing I'm going to "force"
>> unto you. Nothing I _can_ force unto you.
>
> equally one could say complication is a sign that one's vision was
> lacking; a sign that one's system lacks generality.
>
> if you call the opposite of complication immaturity, i'll be proud
> to have an operating system that suffers from it.
>

>> How does that differ from presenting of a network interface by a block
>> device on UNIX? And why should avoiding system calls be considered an
>> advantage? Your VFS layer could do anything expected from /net provided
>> that file system abstraction for the resources represented under /net is
>> viable in the first place.
>

> i'm not sure what passes for unix these days, but linux at least
> does not present network interfaces as block devices. there is no
> /dev/eth0.
>

>> The VFS approach is by no means inferior to Plan 9's
>> everything-is-a-file,
>

> what do you mean by this? the VFS is a kernel interface along the general
> lines of plan 9's devtab. everything-is-a-file[server] is a general
> principle.
>
>

>> but on UNIX systems it is limited to resources that can be meaningfully
>> represented as file systems.
>

Eris Discordia

unread,
Aug 21, 2008, 1:45:51 PM8/21/08
to
Skipping general offenses...

> List manager: can we *please* just boot this guy until he comes back
> as a real person? It's getting old.

Is it _that_ annoying to you? I could just keep silent if it is so, no
"booting" required. Though I have to say I don't understand how a handful
of emails to a mailing list someone happens to read can irritate them to
such extent. In passing, instead of a threat you could have simply let the
first response be. Were it really a piece of useless text, it would rot on
its own.

--On Thursday, August 21, 2008 10:11 AM -0700 ron minnich
<rmin...@gmail.com> wrote:

hiro

unread,
Aug 21, 2008, 2:36:09 PM8/21/08
to
> List manager: can we *please* just boot this guy until he comes back
> as a real person? It's getting old.

Why don't you just ignore eris or the whole thread? I don't get all the fuss.

ron minnich

unread,
Aug 21, 2008, 4:43:27 PM8/21/08
to
On Thu, Aug 21, 2008 at 10:36 AM, Eris Discordia
<eris.di...@gmail.com> wrote:

> Is it _that_ annoying to you? I could just keep silent if it is so, no
> "booting" required.


goodness, it's not annoying. It's just a waste of breath, bandwidth,
and bytes. Why not go do some reading and stop wasting all three?

ron

Eris Discordia

unread,
Aug 21, 2008, 6:21:18 PM8/21/08
to
> goodness, it's not annoying. It's just a waste of breath, bandwidth,
> and bytes. Why not go do some reading and stop wasting all three?

Breath I should rather save. Bandwidth I pay for. Bytes I push down the
pipe. I admit it also costs 9fans.net a very very tiny amount. Anyway, you
won't get any more of this. End of transmission. ␄

--On Thursday, August 21, 2008 1:39 PM -0700 ron minnich

Federico G. Benavento

unread,
Aug 21, 2008, 11:01:39 PM8/21/08
to
relax

--
Federico G. Benavento

Andrew Simmons

unread,
Aug 22, 2008, 2:17:35 AM8/22/08
to
>Anyway, you won't get any more of this. End of transmission. ␄
>
Hurrah!

hiro

unread,
Aug 22, 2008, 5:44:56 AM8/22/08
to
Now if only we others would stop sending any more mails...
It is loading more messages.
0 new messages