Discussion:
[9fans] Using the Acme Editor
(too old to reply)
Wendell xe
2008-08-19 15:57:45 UTC
Permalink
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
2008-08-19 16:05:04 UTC
Permalink
Post by Wendell xe
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
2008-08-19 16:22:36 UTC
Permalink
Post by Wendell xe
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.
Post by Wendell xe
16. HTML tag matching
this could be a useful addition. it's an easy fix.
Post by Wendell xe
15. Change fonts
B2 "Font $fontname". B2 means select with the
middle button. for example,
Font /lib/font/bit/cyberbit/mod14.font
Post by Wendell xe
17. Display (in status bar?) the Unicode ID of glyph at cursor
B2 ">unicode -n `{cat}"
Post by Wendell xe
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
Lyndon Nerenberg
2008-08-19 21:28:11 UTC
Permalink
Post by Wendell xe
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.
Robert Raschke
2008-08-19 16:34:23 UTC
Permalink
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
Steve Simon
2008-08-19 21:03:24 UTC
Permalink
Post by Robert Raschke
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
Ramon de Vera
2008-08-19 17:53:44 UTC
Permalink
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)...
Post by Wendell xe
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.
Post by Wendell xe
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.
Post by Wendell xe
02. Toggle on/off EOL character display
Edit ,x/\n/ c/<EOL>\n/
Undo

:-)
Post by Wendell xe
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.
Post by Wendell xe
04. Display ruler
No such thing in acme.
Post by Wendell xe
05. Rectangluar block selection
No such thing in acme.
Post by Wendell xe
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
Post by Wendell xe
07. Automatic insertion of spaces for tabs
No automatic tab-to-space replacements. Naturally you can do it
from an Edit command.
Post by Wendell xe
08. Syntax highlighting of code
No such thing in acme.
Post by Wendell xe
09. Code folding
No such thing built-in to acme.
Post by Wendell xe
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.
Post by Wendell xe
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'.
Post by Wendell xe
12. Display file diff with locked parallel windows
Acme doesn't have a built-in 'diff mode'
Post by Wendell xe
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.
Post by Wendell xe
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.
:-)
Post by Wendell xe
15. Change fonts
The Font command does this as well as the command line parameters
to Acme, please see manual.
Post by Wendell xe
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
Post by Wendell xe
17. Display (in status bar?) the Unicode ID of glyph at cursor
Eric already answered that.
Post by Wendell xe
18. Display right-to-left text
Eric already answered that.
Post by Wendell xe
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
2008-08-19 18:01:27 UTC
Permalink
Post by Wendell xe
what is the Acme way of approaching it?
01. Toggle on/off line wrapping
02. Toggle on/off EOL character display
Write shorter lines.
Post by Wendell xe
03. Display line numbers
You can go to a specific line with :n and
find out the current line with Edit =
Post by Wendell xe
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.
Post by Wendell xe
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.
Post by Wendell xe
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.
Post by Wendell xe
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.
Post by Wendell xe
08. Syntax highlighting of code
Just say no.
Post by Wendell xe
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.
Post by Wendell xe
10. Code clips/completion
Just say no.
Post by Wendell xe
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.
Post by Wendell xe
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.
Post by Wendell xe
13. Customize the contextual display of commands in the tag line
Just say no.
Post by Wendell xe
14. Customize the color scheme
Just say no.
Post by Wendell xe
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.
Post by Wendell xe
16. HTML tag matching
Easy external program.
Post by Wendell xe
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.
Post by Wendell xe
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.
Post by Wendell xe
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
2008-08-19 20:26:40 UTC
Permalink
Post by Wendell xe
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.
Iruata Souza
2008-08-19 21:29:41 UTC
Permalink
7. sed 's/ / /g' file > file2 && mv file2 file
rest in peace file2.

iru
David Leimbach
2008-08-20 00:30:30 UTC
Permalink
Post by Iruata Souza
7. sed 's/ / /g' file > file2 && mv file2 file
rest in peace file2.
iru
We barely knew you?
Eris Discordia
2008-08-19 22:11:49 UTC
Permalink
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
Post by Wendell xe
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
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.
Francisco J Ballesteros
2008-08-19 22:16:37 UTC
Permalink
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.


On Wed, Aug 20, 2008 at 12:00 AM, Eris Discordia
Post by Eris Discordia
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.
Post by Wendell xe
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
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.
Steve Simon
2008-08-19 22:28:55 UTC
Permalink
Post by Eris Discordia
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
Eris Discordia
2008-08-19 23:37:33 UTC
Permalink
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
Post by Francisco J Ballesteros
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.
Jonathan Cast
2008-08-19 23:41:52 UTC
Permalink
Post by Eris Discordia
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).
Post by Eris Discordia
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
2008-08-20 01:04:12 UTC
Permalink
Post by Jonathan Cast
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
Post by Jonathan Cast
Post by Eris Discordia
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).
Post by Eris Discordia
Like knowing which character
on which line they're editing or controlling how long their lines of
text get, _without_ resorting to acrobatics.
jcc
Skip Tavakkolian
2008-08-20 03:32:56 UTC
Permalink
Post by Eris Discordia
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.
Post by Eris Discordia
You have nothing else but "researching" OS's and "submitting" papers.
That "justifies" your 9life.
i can see you're bitter.
Post by Eris Discordia
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?
Bruce Ellis
2008-08-20 03:34:14 UTC
Permalink
When in doubt say something's shitty and try somother OS. You'll be back.

Others have tried and failed with your strategy.

brucee
Post by Skip Tavakkolian
Post by Eris Discordia
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.
Post by Eris Discordia
You have nothing else but "researching" OS's and "submitting" papers.
That "justifies" your 9life.
i can see you're bitter.
Post by Eris Discordia
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?
Eris Discordia
2008-08-20 08:41:20 UTC
Permalink
Post by Skip Tavakkolian
as i suspected, you're here for therapy.
_Intense_ therapy.
Post by Skip Tavakkolian
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?
Post by Skip Tavakkolian
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
Post by Skip Tavakkolian
Post by Eris Discordia
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.
Post by Eris Discordia
You have nothing else but "researching" OS's and "submitting" papers.
That "justifies" your 9life.
i can see you're bitter.
Post by Eris Discordia
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
2008-08-19 22:17:19 UTC
Permalink
Ms. Discordia, if you don't like it here why do you stay?
Eris Discordia
2008-08-19 23:23:56 UTC
Permalink
Post by andrey mirtchovski
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
Post by andrey mirtchovski
Ms. Discordia, if you don't like it here why do you stay?
Skip Tavakkolian
2008-08-20 03:34:49 UTC
Permalink
Post by andrey mirtchovski
Ms. Discordia, if you don't like it here why do you stay?
therapy?
Eris Discordia
2008-08-20 08:31:22 UTC
Permalink
therapy?
_Intense_ therapy.

--On Tuesday, August 19, 2008 8:12 PM -0700 Skip Tavakkolian
Post by andrey mirtchovski
Ms. Discordia, if you don't like it here why do you stay?
therapy?
erik quanstrom
2008-08-19 22:49:56 UTC
Permalink
Post by Eris Discordia
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.
Post by Eris Discordia
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
Pietro Gagliardi
2008-08-19 22:50:11 UTC
Permalink
Post by Eris Discordia
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
2008-08-19 22:50:27 UTC
Permalink
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.
Post by Pietro Gagliardi
Post by Eris Discordia
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.
Skip Tavakkolian
2008-08-20 03:15:00 UTC
Permalink
Post by Eris Discordia
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".
Federico G. Benavento
2008-08-19 22:49:41 UTC
Permalink
relax
--
Federico G. Benavento
Eris Discordia
2008-08-20 00:40:31 UTC
Permalink
I'm cool.

--On Tuesday, August 19, 2008 7:46 PM -0300 "Federico G. Benavento"
Post by Federico G. Benavento
relax
--
Federico G. Benavento
Eris Discordia
2008-08-20 00:01:10 UTC
Permalink
Post by Pietro Gagliardi
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.
Post by Pietro Gagliardi
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?
Post by Pietro Gagliardi
"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."
Post by Pietro Gagliardi
"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.
Post by Pietro Gagliardi
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
Post by Pietro Gagliardi
Post by Eris Discordia
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
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
2008-08-20 00:33:20 UTC
Permalink
Post by Eris Discordia
Post by Pietro Gagliardi
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?)
Post by Eris Discordia
Post by Pietro Gagliardi
"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.
Post by Eris Discordia
Post by Pietro Gagliardi
"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.
Post by Eris Discordia
Post by Pietro Gagliardi
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.
Post by Eris Discordia
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.
bb
2008-08-20 07:37:11 UTC
Permalink
Post by Eris Discordia
Been there, done that.
--On Tuesday, August 19, 2008 10:00 PM -0400 Pietro Gagliardi
I have an idea, Eris. Why don't you fuck off and actually USE Plan 9 for
once?
"Unspeakable horrors from outer space paralyze the living and resurrect
the dead"

Isn`t that the manifesto of Plan 9?

BB
John Waters
2008-08-24 07:32:35 UTC
Permalink
Small correction, it is actually " ال سلام " , or "As-Salaam" (the L
in AL elides with "shams" letters). It would also be inappropriate for
you to receive such a greeting, which is a du'a reserved for muslims
only. Since you are using the name "Eris, is the name of a "deity", it
is safe to assume you are not a muslim. :) It is also "As-salaamu",
there is a "damma" or "u" vowel atop then meem in "salaam".

"marhaban" is a more appropriate greeting in this case.





On Wed, Aug 20, 2008 at 2:51 AM, Eris Discordia
Post by Eris Discordia
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 throu
Eris Discordia
2008-08-20 00:19:32 UTC
Permalink
Post by Steve Simon
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
Post by Steve Simon
Post by Eris Discordia
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
a***@9srv.net
2008-08-20 02:32:07 UTC
Permalink
// 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
Steve Simon
2008-08-20 08:03:54 UTC
Permalink
Post by Eris Discordia
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.
Post by Eris Discordia
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
Eris Discordia
2008-08-20 00:30:55 UTC
Permalink
Post by erik quanstrom
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/)
Post by erik quanstrom
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
Post by erik quanstrom
Post by Eris Discordia
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.
Post by Eris Discordia
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
g***@plan9.bell-labs.com
2008-08-20 03:37:17 UTC
Permalink
Don't believe everything you read on Wikipedia.
Pietro Gagliardi
2008-08-20 03:46:15 UTC
Permalink
Geoff! Why not let Eris read your paper on Why Plan 9 Matters?
Bruce Ellis
2008-08-20 03:51:56 UTC
Permalink
Pietro why don't you shut up? You annoy my dog.

brucee
Post by Pietro Gagliardi
Geoff! Why not let Eris read your paper on Why Plan 9 Matters?
Eris Discordia
2008-08-20 08:51:42 UTC
Permalink
Enlighten me, then. Revealing a date of commencement won't comprise a
breach of non-disclosure, would it?
Post by g***@plan9.bell-labs.com
Don't believe everything you read on Wikipedia.
Eris Discordia
2008-08-20 01:04:27 UTC
Permalink
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
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
2008-08-20 01:49:47 UTC
Permalink
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
Post by Eris Discordia
Post by Pietro Gagliardi
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?)
Post by Eris Discordia
Post by Pietro Gagliardi
"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.
Post by Eris Discordia
Post by Pietro Gagliardi
"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
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.
Post by Eris Discordia
Post by Pietro Gagliardi
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.
Post by Eris Discordia
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.
Pietro Gagliardi
2008-08-20 02:10:40 UTC
Permalink
Post by Eris Discordia
Post by Pietro Gagliardi
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
"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.
Post by Eris Discordia
Post by Pietro Gagliardi
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)
Post by Eris Discordia
Post by Pietro Gagliardi
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?)
Post by Eris Discordia
Post by Pietro Gagliardi
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")
Post by Eris Discordia
Post by Pietro Gagliardi
Good riddance. But you're missing a wonderful opportunity. Just open your
eyes.
"Thank you."
No comment.
Iruata Souza
2008-08-20 02:30:56 UTC
Permalink
eris, I agree, thanks.

iru
Eris Discordia
2008-08-20 08:34:51 UTC
Permalink
"Thank you."

--On Tuesday, August 19, 2008 11:13 PM -0300 Iruata Souza
Post by Iruata Souza
eris, I agree, thanks.
iru
sqweek
2008-08-20 05:06:14 UTC
Permalink
On Wed, Aug 20, 2008 at 9:39 AM, Eris Discordia
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
2008-08-20 09:26:42 UTC
Permalink
Post by sqweek
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.
Post by sqweek
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?
Post by sqweek
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.
Post by sqweek
On Wed, Aug 20, 2008 at 9:39 AM, Eris Discordia
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
Sander van Dijk
2008-08-20 09:47:32 UTC
Permalink
[...] Figured it could as well be 8-bit ASCII.
Which one?
sqweek
2008-08-20 09:55:40 UTC
Permalink
On Wed, Aug 20, 2008 at 5:15 PM, Eris Discordia
Post by Eris Discordia
Post by sqweek
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.
Post by Eris Discordia
Post by sqweek
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.
Post by Eris Discordia
Post by sqweek
cp: /mnt/cell: permission denied
Why "permission denied?"
Sorry, that should have been "no such file or directory". You need a mkdir.
-sqweek
Iruata Souza
2008-08-20 16:28:05 UTC
Permalink
ACLs were invented long ago.
yes, I like clean and simple solutions too.

iru
Steve Simon
2008-08-20 08:13:34 UTC
Permalink
Post by Eris Discordia
Steve Simon's trademark character, I presume, was generated by
[Alt]+0153--you call [Alt] an "Option" key, right?
nope, Alt,T,M
Post by Eris Discordia
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
matt
2008-08-20 10:14:48 UTC
Permalink
Post by Eris Discordia
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)
Bruce Ellis
2008-08-20 12:30:53 UTC
Permalink
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
Post by matt
Post by Eris Discordia
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)
Eris Discordia
2008-08-20 01:52:14 UTC
Permalink
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
On Tue, Aug 19, 2008 at 8:51 PM, Eris Discordia
Post by Eris Discordia
Post by Pietro Gagliardi
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.
Post by Pietro Gagliardi
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?
Post by Pietro Gagliardi
"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."
Post by Pietro Gagliardi
"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.
Post by Pietro Gagliardi
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
2008-08-20 02:04:58 UTC
Permalink
I have an idea, Eris. Why don't you fuck off and actually USE Plan 9
for once?
Eris Discordia
2008-08-20 07:15:11 UTC
Permalink
Been there, done that.

--On Tuesday, August 19, 2008 10:00 PM -0400 Pietro Gagliardi
I have an idea, Eris. Why don't you fuck off and actually USE Plan 9 for
once?
Dan Cross
2008-08-21 00:05:58 UTC
Permalink
On Tue, Aug 19, 2008 at 9:43 PM, Eris Discordia
Post by Eris Discordia
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.
a***@9srv.net
2008-08-20 02:08:36 UTC
Permalink
// 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.
Eris Discordia
2008-08-20 08:06:05 UTC
Permalink
Did your language training involve being taught the difference between a
work/task and a job/profession?
Post by a***@9srv.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.
andrey mirtchovski
2008-08-20 03:33:11 UTC
Permalink
Post by andrey mirtchovski
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. :)
Pietro Gagliardi
2008-08-20 03:56:22 UTC
Permalink
Post by Wendell xe
07. Automatic insertion of spaces for tabs
style(6) says not to convert tabs to spaces.
Post by Wendell xe
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.
Post by Wendell xe
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
2008-08-20 03:59:11 UTC
Permalink
We've seen that, and go to band practice. Tell us all about. Just
keep up the therapy and the medication.

brucee
Post by Pietro Gagliardi
Post by Wendell xe
07. Automatic insertion of spaces for tabs
style(6) says not to convert tabs to spaces.
Post by Wendell xe
11. Bookmarks
If you know what text the bookmark will point to, make a comment on the line
/* 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.
Post by Wendell xe
16. HTML tag matching
An awk program can do this. The idea is to interpret tags as they come in
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>.
Eris Discordia
2008-08-20 09:12:57 UTC
Permalink
Post by Pietro Gagliardi
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!
Post by Pietro Gagliardi
An awk program can do this. The idea is to interpret tags as they come in
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
Post by Pietro Gagliardi
Post by Wendell xe
07. Automatic insertion of spaces for tabs
style(6) says not to convert tabs to spaces.
Post by Wendell xe
11. Bookmarks
If you know what text the bookmark will point to, make a comment on the
/* 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.
Post by Wendell xe
16. HTML tag matching
An awk program can do this. The idea is to interpret tags as they come in
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>.
Eris Discordia
2008-08-20 08:04:10 UTC
Permalink
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
Post by Eris Discordia
Post by Pietro Gagliardi
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
"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.
Post by Eris Discordia
Post by Pietro Gagliardi
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)
Post by Eris Discordia
Post by Pietro Gagliardi
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?)
Post by Eris Discordia
Post by Pietro Gagliardi
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")
Post by Eris Discordia
Post by Pietro Gagliardi
Good riddance. But you're missing a wonderful opportunity. Just
open your
eyes.
"Thank you."
No comment.
Eris Discordia
2008-08-20 08:29:54 UTC
Permalink
Post by a***@9srv.net
Oh, I'm waiting for a phone call before bed. What the hell.
Sleep tight. Every night.
Post by a***@9srv.net
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?
Post by a***@9srv.net
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?
Post by a***@9srv.net
interface encourages good mental habits that help me produce
quality stuff.
Could your "quality" by any chance be _quantified_?
Post by a***@9srv.net
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.
Post by a***@9srv.net
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.
Post by a***@9srv.net
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."
Post by a***@9srv.net
// 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
Eris Discordia
2008-08-20 08:33:14 UTC
Permalink
Post by Skip Tavakkolian
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
Post by Skip Tavakkolian
Post by Eris Discordia
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".
Eris Discordia
2008-08-20 09:12:41 UTC
Permalink
Post by Steve Simon
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.
Post by Steve Simon
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.
Post by Steve Simon
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.
Post by Steve Simon
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
Post by Steve Simon
Post by Eris Discordia
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.
Post by Eris Discordia
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
matt
2008-08-20 09:26:01 UTC
Permalink
Post by Eris Discordia
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
2008-08-20 09:44:13 UTC
Permalink
Post by Steve Simon
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
Post by Steve Simon
Post by Eris Discordia
Steve Simon's trademark character, I presume, was generated by
[Alt]+0153--you call [Alt] an "Option" key, right?
nope, Alt,T,M
Post by Eris Discordia
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
Robert William Fuller
2008-08-20 11:58:41 UTC
Permalink
Post by Eris Discordia
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.
Eris Discordia
2008-08-20 12:34:23 UTC
Permalink
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
Post by Eris Discordia
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.
Eris Discordia
2008-08-20 09:54:03 UTC
Permalink
Post by matt
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
Post by matt
Post by Eris Discordia
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?
If Mr. Edison thought a bit more, he wouldn't have to sweat so much.
Eris Discordia
2008-08-20 12:45:54 UTC
Permalink
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
Post by matt
Post by Eris Discordia
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)
Eris Discordia
2008-08-20 13:07:25 UTC
Permalink
Post by sqweek
The ascii that is 8 bits is not the true ascii.
I answered that one.
Post by sqweek
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?
Post by sqweek
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.
Post by sqweek
On Wed, Aug 20, 2008 at 5:15 PM, Eris Discordia
Post by Eris Discordia
Post by sqweek
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.
Post by Eris Discordia
Post by sqweek
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.
Post by Eris Discordia
Post by sqweek
cp: /mnt/cell: permission denied
Why "permission denied?"
Sorry, that should have been "no such file or directory". You need a
mkdir. -sqweek
sqweek
2008-08-20 18:10:55 UTC
Permalink
On Wed, Aug 20, 2008 at 8:56 PM, Eris Discordia
Post by Eris Discordia
Post by sqweek
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.
Post by Eris Discordia
Or with configuring a network interface?
As Pietro demonstrated, no interface configuration is necessary here.
Post by Eris Discordia
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.
Post by Eris Discordia
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.
Post by Eris Discordia
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.
Post by Eris Discordia
Post by sqweek
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)
Post by Eris Discordia
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
2008-08-20 19:02:52 UTC
Permalink
Post by sqweek
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
2008-08-20 19:49:49 UTC
Permalink
Post by erik quanstrom
Post by sqweek
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.
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
2008-08-20 13:12:26 UTC
Permalink
Code page 1252, ANSI Latin I. Presumably the one most widely used.

--On Wednesday, August 20, 2008 11:44 AM +0200 Sander van Dijk
Post by Sander van Dijk
[...] Figured it could as well be 8-bit ASCII.
Which one?
Sander van Dijk
2008-08-20 13:22:01 UTC
Permalink
Post by Eris Discordia
Code page 1252, ANSI Latin I. Presumably the one most widely used.
Thanks. It was intended as a rhetorical question though.

Gr. Sander.
Post by Eris Discordia
--On Wednesday, August 20, 2008 11:44 AM +0200 Sander van Dijk
Post by Sander van Dijk
[...] Figured it could as well be 8-bit ASCII.
Which one?
Eris Discordia
2008-08-20 21:59:07 UTC
Permalink
Thank you, sqweek. The second golden Golden Apple with καλλιστι on
it is totally yours. The first one went to Russ Cox.
Post by sqweek
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.
Post by sqweek
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?
Post by sqweek
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.
Post by sqweek
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.
Post by sqweek
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).
Post by sqweek
"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.
Post by sqweek
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.
Post by sqweek
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.
Post by sqweek
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.
Post by sqweek
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.
Post by sqweek
Eris, if you've further issues to raise, we should take this off-list.
No more "issues." I simply rest my case here.
Post by sqweek
On Wed, Aug 20, 2008 at 8:56 PM, Eris Discordia
Post by Eris Discordia
Post by sqweek
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.
Post by Eris Discordia
Or with configuring a network interface?
As Pietro demonstrated, no interface configuration is necessary here.
Post by Eris Discordia
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.
Post by Eris Discordia
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.
Post by Eris Discordia
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.
Post by Eris Discordia
Post by sqweek
Sorry, that should have been "no such file or directory". You need a
mkdir.
The directory could've been there beforehand.
(the file was there beforehand :D)
Post by Eris Discordia
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
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
Pietro Gagliardi
2008-08-20 22:44:38 UTC
Permalink
I'm sorry, but this needs a comment.
Post by Eris Discordia
Post by sqweek
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.
Post by Eris Discordia
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.
Post by Eris Discordia
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
2008-08-20 23:17:36 UTC
Permalink
Post by Eris Discordia
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?
Post by Eris Discordia
Post by sqweek
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.
Post by Eris Discordia
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.
Post by Eris Discordia
This is classic. Complication is a sign of maturation.
...or incipient schizophrenia.
Post by Eris Discordia
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
erik quanstrom
2008-08-21 10:53:58 UTC
Permalink
Post by Eris Discordia
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.
Post by Eris Discordia
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.
Post by Eris Discordia
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.
Post by Eris Discordia
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.
Post by Eris Discordia
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.
Post by Eris Discordia
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
Eris Discordia
2008-08-20 23:58:52 UTC
Permalink
I was going to give it a rest. Really. But I couldn't overcome my bad
habits. They outnumber me ten to one ;-)
Post by Geoffrey Avila
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.
Post by Geoffrey Avila
Way, way out of scope. Kinda like a fusion-powered terminal.
Not like that. Biometrics is becoming dirt cheap these days.
Post by Geoffrey Avila
...or incipient schizophrenia.
Huh?
Post by Geoffrey Avila
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
Post by Geoffrey Avila
Post by Eris Discordia
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?
Post by Eris Discordia
Post by sqweek
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.
Post by Eris Discordia
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.
Post by Eris Discordia
This is classic. Complication is a sign of maturation.
...or incipient schizophrenia.
Post by Eris Discordia
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
erik quanstrom
2008-08-21 11:13:32 UTC
Permalink
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
j***@csplan9.rit.edu
2008-08-21 13:29:51 UTC
Permalink
Post by erik quanstrom
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
http://plan9.bell-labs.com/wiki/plan9/Drawterm_to_your_terminal/index.html


John
David Leimbach
2008-08-21 13:38:00 UTC
Permalink
Post by erik quanstrom
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.
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
Post by erik quanstrom
- erik
Eris Discordia
2008-08-21 16:53:09 UTC
Permalink
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 Wed, Aug 20, 2008 at 11:46 PM, Eris Discordia
Post by Eris Discordia
Thank you, sqweek. The second golden Golden Apple with καλλιστι
on it is totally yours. The first one went to Russ Cox.
Post by sqweek
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...
Post by Eris Discordia
Post by sqweek
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.
Post by Eris Discordia
Post by sqweek
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.
Post by Eris Discordia
Post by sqweek
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.
Post by Eris Discordia
Post by sqweek
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
ron minnich
2008-08-21 17:14:34 UTC
Permalink
On Thu, Aug 21, 2008 at 9:39 AM, Eris Discordia
Post by Eris Discordia
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.
Post by Eris Discordia
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
hiro
2008-08-21 18:36:09 UTC
Permalink
Post by ron minnich
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.
Eris Discordia
2008-08-21 17:12:27 UTC
Permalink
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
2008-08-21 17:18:46 UTC
Permalink
On Thu, Aug 21, 2008 at 9:59 AM, Eris Discordia
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?
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
2008-08-21 17:30:01 UTC
Permalink
Post by erik quanstrom
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.
Post by erik quanstrom
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.
Post by erik quanstrom
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."
Post by erik quanstrom
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.
Post by erik quanstrom
Post by Eris Discordia
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
Post by erik quanstrom
Post by Eris Discordia
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.
Post by Eris Discordia
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.
Post by Eris Discordia
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.
Post by Eris Discordia
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.
Post by Eris Discordia
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.
Post by Eris Discordia
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
Eris Discordia
2008-08-21 17:45:51 UTC
Permalink
Skipping general offenses...
Post by ron minnich
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
Post by ron minnich
On Thu, Aug 21, 2008 at 9:39 AM, Eris Discordia
Post by Eris Discordia
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.
Post by Eris Discordia
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
2008-08-21 20:43:27 UTC
Permalink
On Thu, Aug 21, 2008 at 10:36 AM, Eris Discordia
Post by Eris Discordia
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
2008-08-21 22:21:18 UTC
Permalink
Post by ron minnich
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
Post by ron minnich
On Thu, Aug 21, 2008 at 10:36 AM, Eris Discordia
Post by Eris Discordia
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
Andrew Simmons
2008-08-22 06:17:35 UTC
Permalink
Anyway, you won't get any more of this. End of transmiss
hiro
2008-08-22 09:44:56 UTC
Permalink
Now if only we others would stop sending any more mails...
Anyway, you won't get any more of t
Loading...