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

[9fans] Getting started in Plan9 - help

343 views
Skip to first unread message

Roshan James

unread,
Jan 20, 2002, 3:15:13 PM1/20/02
to
Getting started in Plan9
-------------------------   
Its been a little over a week since i got my Plan9 working and
I still seem to be in tourist mode.Lots of questions and
a few suggestions:
(I promise I have tried to answer these for myself before
before I am ask them)
 
It would be great if we have a school boy style step-by-step
getting-off-the-ground tour of plan9, maybe somewhere in the
wiki. I would be glad to do this, if i knew enough.
 
Graphics
-----------
- I am working with an S3 Trio 64v2 card, the install floppy
gave me 800*600 res,but after installation i am on 640*480 and
i cant seem to be able to change it
aux/vga -l 800x600x8
gives me
'Warning (BUG) : redefinition of aperture does not change
s3screen segment.'
in a black background in the sentre of the screen and an error
message that reads
'aux/vga: vgactlw: <size 800x600x8 m8>: vga already configured'
in the console window. it is a low end card but I believe that
I did have a higher res through the boot disk so it should be
possible here too. how can i change to a higher res ?
 
- If plan9 is booted through xosl in 640*480 res,plan9 graphics
display ends up corrupt. the bootloader does switch to text mode
before the OS is booted. anyother resolution or a text mode boot
loader does not seem to have a problem.
The right quarter of the screen (approx) seems to be a duplicate
of the band of the screen display between in the left part. (bad
description i know). Anyway to fix this ?
 

Acessibility
-------------
- How can I read a couple of html docs in Plan9 ?
- Is there a place where the uses of directories the std file system
heirarchy is discussed, esp /n ?
- /n/c: exists, how can i access the extended partitions ?
- How can i access the floppy a: ? /n/a: exists but shows no files.
- How can i access the extended windows partitions ?
- Problem with accessing C: File operations to /n/c: causes a problem
'%mkdir /n/c:/testdir'
'mkdir: cant create /n/c:/testdir: write to hungup channel'
also a black background error message comes (is there a generic name
for these messages ?)
'dossrv 45: suicide: sys: trap fault read addr=0xb pc=0x00004757'
help ?
 
Shell
------
- How can I find/search for a file in Plan9 ? the usual find /|grep xxx
does not exist here, what is the equivalent ?
- Why doesnt/Can rc have autocomplete and filename completion as in
bash ? This has become so neccessary.
 
Keys
-----
- Why cant the left/right arrow keys+home+end keys move the cursor,
it is really difficult to edit something by placing the cursor there
with the mouse.
- Unless is it part of a grander plan (no pun intended), can we move
the process interrupt key from Del to something else and have the
conventional functionality of del back ?
 
General
-------
- Is the option of plan9 default boot in bootsetup (during install)
safe for other OSes that exist on the system ?
- Why arent there more applications and more developers interested
in developing for plan9 ?
 
Russ, I think it would kill you to keep answering all the newbie
questions. Russ, Imel, Thanks for all the help you have been. I
think the Plan9 faq needs updation with some of the more generic
questions here. This is a lesson that could learned from the Win32's,
if you want the OS to grow, you have to get people comfortable with
it very fast. I think we can make that happen.
Rosh.
 
-------------------------------------------------------------------------------------
One Ring to rule them all, One Ring to find them,
One Ring to bring them all and in the darkness bind them.
(Lord of the Rings)

Matt H

unread,
Jan 20, 2002, 4:10:29 PM1/20/02
to
Hi,

here's my set of slightly flippant answers

> - How can I read a couple of html docs in Plan9 ?

install inferno and use the netscape 3 hybrid Charon
I bet you can't wait :)

Web browsing it's plan9's end user pitfall.
No browser, not even text only (unless you count downloading & stripping the html tags text only)

> - How can I find/search for a file in Plan9 ? the usual find /|grep xxx
> does not exist here, what is the equivalent ?

du I think is your best bet

it's better still to learn where everything is :)

luckily there aren't 5 different directories where programs hide (well there can be but...)
all the executables show themselves in /bin which is a union of the directories where executables live if you see what I mean. There's aren't that many, have a look through them all, you'll remember easily enough.

> - Why doesnt/Can rc have autocomplete and filename completion as in
> bash ? This has become so neccessary.

yes, well, you see plan9 is more mouse driven. eventually you'll probably end up with Acme as much your "shell" as anything, and you'll find auto complete is unneccessary.
But you're right, it is a nice feature of the bash shell but then there are soooo many goddam directories on a Linux/FreeBSD box and auto complete is Bash's way of trying to alleviate the pain. If you miss it too much I'm sure you could just write a shell script to monitor /dev/cons for tabs, and echo the stuff into /dev/cons.
Personally, I do prefer having the screen as free form is plan9's is. The shell is more than the commands you can type, it's where you can type them.

> - Why cant the left/right arrow keys+home+end keys move the cursor,
> it is really difficult to edit something by placing the cursor there
> with the mouse.

That's what I said and I still get the urge to say it out loud. They told me I'd get used to it and you know what, I haven't. I'd even settle for Ctrl-J. But when I'm sat at a different terminal I still end up saying "I wish I was using Acme".

> - Unless is it part of a grander plan (no pun intended), can we move
> the process interrupt key from Del to something else and have the
> conventional functionality of del back ?

It depends who's conventions.

> - Why arent there more applications and more developers interested
> in developing for plan9 ?

file name completion

> This is a lesson that could learned from the Win32's,
> if you want the OS to grow, you have to get people comfortable with

> it very fast. I think we can make that.
After ten years of Windows I'm not sure people are comfortable with it.
It's clunky, crashes without explanation, brittle to end user fiddling, repeatedly exposes remote root exploits, is expensive, closed source. I need not go on.

> One Ring to rule them all, One Ring to find them,
> One Ring to bring them all and in the darkness bind them.
> (Lord of the Rings)

Arntcha sick of those mobiles phones yet?

Matt

William S.

unread,
Jan 20, 2002, 4:14:11 PM1/20/02
to
I can answer this one:

step one: (at the prompt type) a:
step two: cd /n/a:

Bill
Amsterdam, NL

On Mon, Jan 21, 2002 at 01:32:35AM +0530, Roshan James wrote:
<<snip>>


>
> - How can i access the floppy a: ? /n/a: exists but shows no files.

<<snip>>

rob pike

unread,
Jan 20, 2002, 4:24:18 PM1/20/02
to
> - Is there a place where the uses of directories the std file system
> heirarchy is discussed, esp /n ?

namespace(4). i admit that the distinction between /n and /mnt is
blurred. the original intent was /n was remote machines, while /mnt
was local services. a: etc. should probably have been in /mnt.
ditto the blurring for /lib and /sys/lib. /lib was supposed to be
a library: dictionaries, etc, while /sys/lib was supposed to be supporting
stuff like troff macros. but we have what we have. see namespace(4).

-rob

Message has been deleted

Scott Schwartz

unread,
Jan 20, 2002, 5:11:08 PM1/20/02
to
| yes, well, you see plan9 is more mouse driven. eventually you'll
| probably end up with Acme as much your "shell" as anything, and you'll
| find auto complete is unneccessary.

I think that input prediction, if done well, is a beautiful feature, and
one that would fit very well with acme, or maybe as a kind of plumbing. I
used to use a unix thing called "rk"; a markov chain style thing that
continuously prompted you with a line or two of predicted input. You
used the arrow keys or tab or ctrl-m to accept the next char/word/line
of the prediction. It was uncannily good. A lot of command line stuff is
very repetative, and anyone who's seen Rob's fake usenet postings can
see how good this kind of thing is for email. One of these days I'll
get around to hacking it into acme, maybe.

| > - Unless is it part of a grander plan (no pun intended), can we move
| > the process interrupt key from Del to something else and have the
| > conventional functionality of del back ?

Especially since PC keyboards have an actual "break" key to use.

c...@cejchan.gli.cas.cz

unread,
Jan 21, 2002, 1:53:42 AM1/21/02
to
Rosh,

you can find some stupid scripts, including "find", at
http://cejchan.gli.cas.cz/plan9

Cheers,
--pac


Boyd Roberts

unread,
Jan 21, 2002, 5:34:31 AM1/21/02
to
Matt H wrote:
> > - Why doesnt/Can rc have autocomplete and filename completion as in
> > bash ? This has become so neccessary.
> yes, well, you see plan9 is more mouse driven. eventually you'll probably end up with Acme as much your "shell" as anything, and you'll find auto complete is unneccessary.
> But you're right, it is a nice feature of the bash shell but then there are soooo many goddam directories on a Linux/FreeBSD box and auto complete is Bash's way of trying to alleviate the pain. If you miss it too much I'm sure you could just write a shell script to monitor /dev/cons for tabs, and echo the stuff into /dev/cons.
> Personally, I do prefer having the screen as free form is plan9's is. The shell is more than the commands you can type, it's where you can type them.

I remember the major flamewar over whether Byron's unix implementation of rc
should do this; I was in the 'no way' camp. The result was that you could
conditionally compile in that readline trash. You could probably pick it out
and stick into Plan 9's rc if you wanted to, but Plan 9 is not unix. It has
much better ways to do things.

I guess another way to do it is to use pipefile. One of the Kenji's (iirc)
did this for japanese input -- now there's a problem for you.

As for Latin-1: "Fco. J. Ballesteros" <ne...@plan9.escet.urjc.es> has volunteered
to clean up what I did late last year (I'm too busy). If anyone wants it I'll
send it on or put it on a web page somewhere. I think the only problem is the
caps-lock/ctrl key swap.

John Murdie

unread,
Jan 21, 2002, 5:56:42 AM1/21/02
to
> - Why doesnt/Can rc have autocomplete and filename completion as in
> bash ? This has become so neccessary.

If you put the command history editor in the shell, then you can only
use it in the shell; if you use another shell from time to time, then
you have to learn to use that shell's (different) history mechanism.
It's far better to use a single, general, command history mechanism
provided by your terminal emulator or Acme (which is so more than a
terminal emulator). There is a slight loss from the shell and the
command history editor being separated, I know.

Incidentally, I hate command completion predictors; they remember my
typing mistakes days, weeks or months later, either hesitating to show
me the full, correct, command because of my previous mistake or, worse,
confidently complete my command with the mistake!
--

John A. Murdie
Experimental Officer (Software)
Department of Computer Science
University of York
England

Russ Cox

unread,
Jan 21, 2002, 2:02:58 PM1/21/02
to
> If you put the command history editor in the shell, then you can only
> use it in the shell; if you use another shell from time to time, then

Not if you put it in a library and link the library
against every single program that could ever possibly
want to read input!

David Gordon Hogan

unread,
Jan 21, 2002, 2:48:35 PM1/21/02
to

Standard practice in the GNU world. But is it _good_ practice?

I had a lot of ``fun'' getting gdb to run on Plan 9 because of this...

Mike Haertel

unread,
Jan 21, 2002, 3:04:34 PM1/21/02
to

Or better yet, put it in rio. Then every program gets the
feature, and nobody has to remember to use the funny library.

Plus, libraries have some troubles of their own..

* If static libraries, then you have to relink everything
every time you change the library.

* If dynamic linked libraries, you have taken the first step
on the slippery slope to the land of gratuitious complexity,
where even a simple "hello, world" C program can execute
100000 instructions before it actually prints anything.
(No, I'm not kidding.) For some reason, people seem to think
adding features in dynamic libraries is "free".

Only problem with putting it in rio is that you don't have
quite enough information there. To do intelligent history
and completion, you really want to know a few things like
what program you're doing it for, what their current directory
is, what their environment variables are, and so on.

James A. Robinson

unread,
Jan 21, 2002, 3:11:42 PM1/21/02
to
> Only problem with putting it in rio is that you don't have
> quite enough information there. To do intelligent history
> and completion, you really want to know a few things like
> what program you're doing it for, what their current directory
> is, what their environment variables are, and so on.

Why wouldn't it be a history server which sits inbetween
the keyboard and the rio process? Records everything sent
in, intercepts whatever you use for commands in order to
print bits of a log back to rio?

Jim

Russ Cox

unread,
Jan 21, 2002, 3:27:34 PM1/21/02
to
First of all, I was kidding about readline.

> * If dynamic linked libraries, you have taken the first step
> on the slippery slope to the land of gratuitious complexity,
> where even a simple "hello, world" C program can execute
> 100000 instructions before it actually prints anything.
> (No, I'm not kidding.) For some reason, people seem to think
> adding features in dynamic libraries is "free".

If I'm running rio on Plan 9, draw a new window, and run
hello world, how many instructions execute before I see
"hello world" on my screen? Lots and lots, just not many
in the hello world process. The kernel has to redirect
the write into rio, rio does some lookups to figure out
which window gets the output, libdraw has to walk around
in the font caches, possibly loading the missing letters,
(which is more kernel calls, context switches to kfs,
and execution of the various code in devsd), finally
preparing a "draw string" request for /dev/draw. Then the
kernel is back. For simplicity let's assume that the window
is in front of all the others, so memlayer isn't involved. Now we
clear the background, either with memset or by making
calls to an accelerated vga routine with some busy waits
(still faster than memset, though). Then we use
per-character calls to memimagedraw to blacken the appropriate
pixels. And finally we see "hello world" (assuming that we
have direct access to video memory; if not, we've been drawing
in a soft screen and still need to flush the changed portion
out to video memory).

You're still right, of course; dynamic libraries are a
slippery slope for lots of reasons. My point is that the
overhead of dynamic libraries is not necessarily worse than
the overhead of other system services like the kernel and
the various Plan 9 file servers, just in a different place.
It takes far more than 100,000 instructions to get "hello world"
onto my screen either way. How you count depends on what
you care to include.

Russ

Matt H

unread,
Jan 21, 2002, 3:34:47 PM1/21/02
to
On Mon, 21 Jan 2002 14:42:04 -0500
"David Gordon Hogan" <dh...@plan9.bell-labs.com> wrote:

> Standard practice in the GNU world. But is it _good_ practice?

_hopefully_ Russ was being sarcastic

> I had a lot of ``fun'' getting gdb to run on Plan 9 because of this...

There is a lot to be said for a common way of getting text from the kb.

Especially when it removes the burden from application programmers from having to deal with user input in their interactive cli applications.

Of course a better way is to remove the interactive part and just expose the interface

So many times I've typed ls and hit return in MySQL console to get a list of tables instead of "show tables"
Every time I say to myself "if this was plan9 ls would work, and work better" because I could use the usual tools on the output

in fact yesterday I did a LOT of mysql processing using the shell and piping the output into awk & sed to make new queries, something you just can't do in the mysql console

The downside is that I have to pass the username & password on the command line too so it starts to get a bit unwieldy :

mysql -r -B -e "select pages.idx, pages.title, pages2.idx as idx2, pages2.title as title2 from pages left join pages as pages2 on pages.section=pages2.idx where pages2.title like'Car%';" -u USER --password='XXXPASSWORDXXXX' content | sed 's/+//' | awk 'BEGIN {FS="\t"} {printf "mysql -r -B -e \"select body from pageblock where pagesidx=%s ; \" -u USER --password='XXXPASSWORDXXXX' content | tr -d \"\\r\" | sed \"s/^body//\" > \"%s.txt\"\n",
$1, $2}'

I've taken Boyd's advice from ages ago that SQL is mostly pointless and I'm moving my tables into the file system and guess what, the code in my CGI is actually shrinking!

I'm losing some type checking and conforming to legal filenames gets in the way sometimes but on the whole I'm satisfied.

I'm hoping to eventually move the whole app across to plan9 and I'm interested in the fact that by using /n/dump I can backtrack to old data, see where the most activity is and stuff like that.

M

pres...@closedmind.org

unread,
Jan 21, 2002, 3:40:44 PM1/21/02
to
To me, dynamic libraries are like clowns. In both
cases, I was fightened by one at an impressionable
age and have loathed them ever since (Bozo tripped
on his microphone and fell on be when I was 3, Multics
got me at college).

It's a hard fear to overcome. Putting something into
a dynamic library instead of into a server or the kernel
is oven more efficient. However, by its very nature,
the interface is less constrained. As a result, the
visibility of changes and the amount of ratcheting due
to new applications dragging in new, and often incompatible,
versions of the libraries is higher than changes in
the other 2 places. It's too tempting to add a few
more parameters here and there and to make internal
details externally visible.

I can't really say that they're evil, only that I'ld
prefer not to use them.

Russ Cox

unread,
Jan 21, 2002, 3:45:37 PM1/21/02
to
I think it might be neat to build a small number
of little programs that parse and reemit sql queries.
Thus you could use normal shell pipelines to do database
queries but since you're passing _queries_ and not _output_
through the pipes, you still reap the benefits of
query optimization. Just like the old /acme/edit scripts.

I don't remember enough of the SQL syntax to
reparse your query into an exact shell pipeline, but
the idea is you could do something like

sql/grep 'Car%' pages.title | sql/join section pages.idx |
sql/p

Sql/p would behave like the acme p, actually executing
the query to produce output.

Of course, if there isn't much data, moving it into
the file system might be an even better solution.

Russ

Mike Haertel

unread,
Jan 21, 2002, 3:51:33 PM1/21/02
to
>> where even a simple "hello, world" C program can execute
>> 100000 instructions before it actually prints anything.
>
>If I'm running rio on Plan 9, draw a new window, and run
>hello world, how many instructions execute before I see
>"hello world" on my screen? Lots and lots, just not many
>in the hello world process. The kernel has to redirect
>the write into rio, rio does some lookups to figure out
>which window gets the output, [...]

>
>It takes far more than 100,000 instructions to get "hello world"
>onto my screen either way. How you count depends on what
>you care to include.

Under an operating system that will remain nameless, the 100K figure
came from using a debugger to count only instructions in the process
context of the "hello, world" program itself. It didn't count
kernel mode instructions executed, or window system operations in
other processes, or any of the plethora of things you mentioned.
Had I counted those it of course would have been much higher.

Writing to a file or pipe is much cheaper and there the 100K
instructions start to stick out like a sore thumb.

The reason I bitch and whine about the 100K instructions (or lots
more than 100K in some operating systems) is because process startup
overhead is one of the main limiting factors to the performance of
shell scripts, mkfiles, and the like. That in turn makes people
give up on the "tools" approach too soon and too often.

Matt H

unread,
Jan 21, 2002, 4:22:40 PM1/21/02
to
On Mon, 21 Jan 2002 15:39:45 -0500
"Russ Cox" <r...@plan9.bell-labs.com> wrote:
> Sql/p

I've begun fiddling with something like that. I began a postgres client, I
was going to return the table as a fixed width sparse matrix in one file
with a file server and also present the same data as a directory tree.

I'm using the current website project as a way to find out the issues of
filesystem storage to make sure I'm not totally barking up the wrong tree

Can't seem to get the time to work on my actual idea.

M

ano...@cosym.net

unread,
Jan 21, 2002, 5:21:35 PM1/21/02
to
// ...i cant seem to be able to change it...

in my experience (always?), aux/vga is unable to change the
resolution of a display once it's first been brought up. to get
your display to boot in a different resolution, change the
definition of vgasize in plan9.ini (which generally lives in a
FAT partition or on a floppy; more on that in a minute).

Acessibility:

Plan 9 does not include a web browser or other html
interpreter; look to Vita Nuova's freely-available Inferno
distribution, which includes Charon.

man dossrv(4) for a description of the a:, c:, and 9fat:
scripts which will facilitate, respectivly, access to a floppy
drive, your primary FAT partition, and your plan9 FAT
partition, where configuration information like plan9.ini
is commonly stored.

for example, to edit my plan9.ini, i do this:
9fat:
acme -c1 /n/9fat/plan9.ini
unmount /n/9fat

Shell:

to find a file named "myfile" in /usr/anothy, i do:
`{du -a /usr/anothy | awk '{print $2}'} | grep myfile
this sort of construction works well for all manner of
tools (although i have on occasion missed find's easy
methods of finding files based on greater/less-than
comparisons). also try
grep some_string `{du -a /usr/anothy | awk '{print $2}'}
for finding "some_string" in a set of files.

rc has no command completion or history. the design
rational is essentially that this functionality properly
belongs in the windowing system, not the shell, so that
the solution becomes general: it can be applied to every
program that looks for input. while not having history
(and to a lesser extent command completion) took me a
bit of getting used to comming from unix, i do not miss
it, and now strongly prefer the Plan 9 way of giving me
such things.

Keys:

plan 9 terminals are much more mouse-driven than
unix terminals. the current UI basically mandates that
you become comfortable using the mouse alot. the end
result is a much more efficient system - the mouse is
much better at many tasks than moving things around
with a keyboard, even when it doesn't feel like it (there
was a good report on this linked here earlier, but i failed
to make a note of it; anyone?). this is not always true
(folks with various disabilities or motor imparment
being the primary counter-example), but is true the
overwhelming majority of the time, and the system is
designed with that in mind.

the interupt functionality could be moved off del, and
onto something else, like the pause/break key. but
keyboards vary widely, and a replacement would have
to be well-chosen. on most smaller keyboards (like on
laptops), del is a key, while pause/break is often a
pseudo-key.

also, as noted earlier, it's not at all clear what the
"conventional" functionality of del is. on most of my
Unix systems, it produces ^? - far less useful than the
interupt function.

General:

i'm not sure what you're asking WRT plan9 default
boot being "safe" for other OSes. the bootloader plan
9 will install is not a multi-booter - it only finds the
first partition marked "active" (or can there only ever
be one?) and runs that. it will not, however, touch
any data living on other partitions.

there has been wide speculation on why Plan 9 has
not gained greater support than it has. ideas on
this topic vary widely. my own theory is something
along the lines of plan 9 is just too much: it requires
people to understand (or be willing to learn) many
new concepts all at once to really "get it". others
believe it has something to do with licensing terms,
or the attitude of people on 9fans and comp.os.plan9.
there's also the old chicken-and-egg problem: users
aren't interested because of the comparitave lack of
apps, and app developers arn't interested because of
the lack of users. but that's all just speculation.
ã‚¢

erik quanstrom

unread,
Jan 21, 2002, 5:36:36 PM1/21/02
to
along this line, it would be especially cool if the database
engine could export into the filesystem pointers to working
sets, closures, etc. this would allow one to write the
functional equivalent of a stored procedure without any
specific language support in the dtaabase. the place i
always thought this idea fell apart was the other reason
that stored procedures were invented -- so stuff could run
inside the server without the data or the command making a
round trip between client and server. believe me, when you're
walking a million records, it makes a big difference.

the problem is that unless you're really after performance
with insanely-large datasets, a sql-based database just isn't
worth the pain of dealing with that which does not play nicely
with others.

Andrew Simmons

unread,
Jan 21, 2002, 6:34:35 PM1/21/02
to
>- Why arent there more applications and more developers interested
>in developing for plan9
>

In my case, apart from having to meet deadlines in the Windows world, and
being too cheap to buy a three-button mouse, what rather put me off
seriously pursuing Plan 9 for actual use is a comment some one, I think Mr
Presotto, made a while back to the effect that Plan 9 is a research system,
and that its developers are not very interested in backward compatibility
and only mildly in a large user community. While a perfectly valid goal, I
would have thought it unlikely to attract many people into developing for
Plan 9. As it is, I follow this list and browse the documentation in order
to gain enlightenment and in the hope of gleaning useful ideas for my daily
work.

Quinn Dunkan

unread,
Jan 21, 2002, 6:45:32 PM1/21/02
to

> I think it might be neat to build a small number
> of little programs that parse and reemit sql queries.
> Thus you could use normal shell pipelines to do database
> queries but since you're passing _queries_ and not _output_
> through the pipes, you still reap the benefits of
> query optimization. Just like the old /acme/edit scripts.

It's not SQL, but:

http://www.linux.it/~carlos/nosql/

d...@plan9.bell-labs.com

unread,
Jan 21, 2002, 10:00:35 PM1/21/02
to
Murdie observed,

> If you put the command history editor in the shell, then you can only
> use it in the shell; if you use another shell from time to time, then

> you have to learn to use that shell's (different) history mechanism.
> It's far better to use a single, general, command history mechanism
> provided by your terminal emulator or Acme (which is so more than a
> terminal emulator). There is a slight loss from the shell and the
> command history editor being separated, I know.

True enough; that said, I retain considerable fondness for
the history mechanism of later research Unix systems. It
was adapted from earlier U of Toronto versions, I believe,
revived by Rob, and later put away again.

The shell appended each executed command (not in a script)
to a $HISTORY file.

The '=' command (not builtin) searched backwards in the
file for a last matching pattern, and reissued it.
E.g.

=

redoes the previous command.

= ls

finds the last shell command beginning with ls.
Text substitution could be accomplished with further
arguments.

The == variant allowed interactive editing.

Dennis

oka...@granite.cias.osakafu-u.ac.jp

unread,
Jan 22, 2002, 1:51:40 AM1/22/02
to
>I follow this list and browse the documentation in order
>to gain enlightenment and in the hope of gleaning useful ideas for my daily
>work.

By such an attitude, I believe you won't see the problem (if any) the designers
may be facing now, which must be the hottest topic, but then, you'll see only
the past of them. :-)

I believe any operating system will be tested and trained most effectively in the
real work area, that is any application software. Therefore, if we try to use Plan 9
for our own work, we and the community will face an interesting new problem
to be solved, which will promote Plan 9 further.
Don't you think so?
Or you want Plan 9 to be there as it is without more developement?

Kenji

Douglas A. Gwyn

unread,
Jan 22, 2002, 4:53:57 AM1/22/02
to
ano...@cosym.net wrote:
> also, as noted earlier, it's not at all clear what the
> "conventional" functionality of del is. on most of my
> Unix systems, it produces ^? - far less useful than the
> interupt function.

On Unix systems since around 7th Edition, one can bind any input
character to the INTR function, and the DEL character was the
default (somewhat confused by Berkeleyites who tried to change
to DEC OS conventions: ^C -> INTR, DEL -> char-erase, etc.).
^? is just a way of representing the ASCII DEL character using
printable notation; the actual character is still DEL (0x7F).

ozan s yigit

unread,
Jan 22, 2002, 4:54:12 AM1/22/02
to
schw...@bio.cse.psu.edu (Scott Schwartz) writes:

> used to use a unix thing called "rk"; a markov chain style thing that
> continuously prompted you with a line or two of predicted input.

it is "reactive keyboard" and i believe was a thesis work at university
of calgary, by Darragh under Witten. i'm sure a web search would still turn
up pointers. there is a book about it, not sure if still in print. the
interface was interesting in trying to accomodate disabled people to
interact with command interfaces by predictive completion.

oz
--
www.cs.yorku.ca/~oz | if you couldn't find any weirdness, maybe
york u. computer science | we'll just have to make some! -- hobbes

Boyd Roberts

unread,
Jan 22, 2002, 6:19:31 AM1/22/02
to
d...@plan9.bell-labs.com wrote:
> True enough; that said, I retain considerable fondness for
> the history mechanism of later research Unix systems. It
> was adapted from earlier U of Toronto versions, I believe,
> revived by Rob, and later put away again.

Yes, I liked it too, so much so I hacked the SysVr2 shell
to do it and got it to do 'whatis', chucked out 'type'
and added 'builtin'.

Then all I needed was =.c

http://home.fr.inter.net/boyd/code/=.c

[hmm... that code is old; K&R C]

I believe the code was re-hacked for the unix rc and
fixed a bug with smashing tabs into spaces when you
typed # [delete char] inside a tab. I could never
bring myself to break the simplicity of the editing
loop to fix that bug.

I also had access to the 8th and 9th Edition sources
to =.c and saw what contorsions it went to to fix the
bug I didn't want to fix.

I assume rob (or someone) ripped the code out of qed to
write =.c

c...@cejchan.gli.cas.cz

unread,
Jan 22, 2002, 10:30:34 AM1/22/02
to
>
> Of course, if there isn't much data, moving it into
> the file system might be an even better solution.
>
> Russ

Could anyone show me how to do such a thing? (tables + relations --> filesys)

Thanks,
--pac


Matt H

unread,
Jan 22, 2002, 10:48:39 AM1/22/02
to

man join
man awk
man sort
man bind
and some custom scripting is about as far as I've got

my data is such that ls /data/content/*/*.txt works for me

I'm trying to keep my data with a depth of one although I envisage being able to move to a more tree like structure to resolve inner joins and the like.

Of course, you have to consider the performance issue of losing your indexes.

Hopefully I'll be working a bit harder on it in a couple of weeks time when my current nightmare has ended !

M

c...@cejchan.gli.cas.cz

unread,
Jan 22, 2002, 11:36:33 AM1/22/02
to
Hi all there,

I would like to know your opinion(s) about how to implement a relational
database in Plan 9 (both client and server sides, if needed).
Or, if anybody of you run a rel db completely under Plan 9, I'd be happy to
know.

Good night (here), or morning elsewhwere ;--)

cheers,
--pac

Boyd Roberts

unread,
Jan 22, 2002, 11:44:33 AM1/22/02
to
c...@cejchan.gli.cas.cz wrote:
> I would like to know your opinion(s) about how to implement a relational
> database in Plan 9 (both client and server sides, if needed).

I think you really need to narrow the problem down. It's like o/s
stuff; a general purpose o/s is probably not what you want if you
need 'reponse time to an event to be such and such a time'.

Sometimes a grep and an awk will do :)

A file-system + simple tools RDB would be cool (as russ pointed
out in a previous posting).

Matt H

unread,
Jan 22, 2002, 12:28:37 PM1/22/02
to
On Tue, 22 Jan 2002 17:38:14 +0100
"Boyd Roberts" <bo...@strakt.com> wrote:

> c...@cejchan.gli.cas.cz wrote:
> > I would like to know your opinion(s) about how to implement a relational
> > database in Plan 9 (both client and server sides, if needed).

Python has an add-on called Gadfly which implements an "in memory" SQL server

There is a Python 1.5 port for plan9 somewhere

although the directory :
http://csociety-ftp.ecn.purdue.edu/pub/plan9/python

is curiously empty, but it's somewhere around

that could be a starting point if you need it *right now* !

M

Douglas A. Gwyn

unread,
Jan 22, 2002, 12:39:11 PM1/22/02
to
Boyd Roberts wrote:
> Yes, I liked it too, so much so I hacked the SysVr2 shell
> to do it and got it to do 'whatis', chucked out 'type'
> and added 'builtin'.

The BRL (now part of ARL) Bourne shell already had those,
also a $HISTORY file (called $HISTFILE to avoid conflict),
emacs-style command line editing, etc. In fact I'm still
using it; we have a single source that can be conditionally
configured to fit any known Unix platform, which vary a lot
more than one might think. It also supports csh-like job
control, and as a side effect uncovered a very bad,
pervasive race in the Irix kernel (which was soon fixed).

Quinn Dunkan

unread,
Jan 22, 2002, 12:50:30 PM1/22/02
to

> A file-system + simple tools RDB would be cool (as russ pointed
> out in a previous posting).

That's what NoSQL is. It uses perl and sh, but there is (or was) a plan9 perl
port. It's also mostly awk and the perl and sh bits could be rewritten
without too much work.

David Gordon Hogan

unread,
Jan 22, 2002, 1:34:33 PM1/22/02
to
> On Unix systems since around 7th Edition, one can bind any input
> character to the INTR function, and the DEL character was the
> default (somewhat confused by Berkeleyites who tried to change
> to DEC OS conventions: ^C -> INTR, DEL -> char-erase, etc.).
> ^? is just a way of representing the ASCII DEL character using
> printable notation; the actual character is still DEL (0x7F).

What _really_ annoys me is when I hit the BACKSPACE key on
the keyboard, while running some terminal emulator, and it
sends DELETE. This has a tendency to make me feel homicidal.

Actually, xterm is doing it to me right now. xev receives the
keystroke correctly as "keycode 64 (keysym 0xff08, BackSpace)",
then xterm says, duh, I think you want delete. Grrrr!

Of course, xterm is configurable through some resource, but
the default should be that backspace is backspace.

sk...@real.com

unread,
Jan 22, 2002, 5:53:55 PM1/22/02
to
unity, a package that could be found at AT&T Toolchest long ago, kind of
did relational data management the "unix" way. My memory is not very clear
on this, but I recall it used text files, with hash index files for fast searches, and
I think it embedded the dictionary as the first (comment) line of
each file. You could use grep and awk, etc. I used it with some large data
sets, and it worked correctly and was fast. (I just checked, Lucent SSG sells it)

It is much harder to tastefully map a table (matrix structure) to
a filesystem (a tree).

ano...@cosym.net

unread,
Jan 22, 2002, 6:09:56 PM1/22/02
to
i'm not sure if it's suitable for your needs, but i'm quite fond of
pq. there's a plan 9 distribution for it (a seperate package
available on the download page). it is based on plain text
files with delimiters, and can optionally work with indexes for
a substantial speed increase on very large data sets. even
without the indexes, it's reasonably snappy. the programs are
relatively small. a cousin of the version available for plan 9
runs (ran?) the corporate directories for Lucent and AT&T, and
a slightly more distant relative ran some public directory
service AT&T ran (can't remember the name). the protocol's
much simpler than SQL (for what _that's_ worth), and the
client doesn't need to know anything about the structure of
the tables or relations on the server.

a paper got written about it, but i'm not sure if it's available
to the non-Lucent world, or, if so, where.
ã‚¢

c...@cejchan.gli.cas.cz

unread,
Jan 23, 2002, 1:09:56 AM1/23/02
to
On Tue, Jan 22, 2002 at 06:03:33PM -0500, ano...@cosym.net wrote:
> i'm not sure if it's suitable for your needs, but i'm quite fond of
> pq. there's a plan 9 distribution for it (a seperate package
> available on the download page). it is based on plain text
[snip]

PLEASE, HELP!!! Where is pq? I can't find it on the Plan9 download page.

TIA,
--pac


Russ Cox

unread,
Jan 23, 2002, 1:16:57 AM1/23/02
to
it's on the update page between TeX and the release 2 sun sources.

sk...@real.com

unread,
Jan 23, 2002, 1:24:57 AM1/23/02
to
Look at the bottom of the "Updates" page. Find the link to "updates" page from
http://plan9.bell-labs.com/plan9dist

c...@cejchan.gli.cas.cz

unread,
Jan 23, 2002, 2:33:56 AM1/23/02
to
Thanks!!! I'll give it a try. Thanks are due also to others who contributed!
--pac

> Look at the bottom of the "Updates" page. Find the link to "updates" page from
> http://plan9.bell-labs.com/plan9dist
>
> At 07:15 AM 1/23/2002 +0100, c...@cejchan.gli.cas.cz wrote:
> >On Tue, Jan 22, 2002 at 06:03:33PM -0500, ano...@cosym.net wrote:

> >> i'm not sure if it's suitable for your needs, but i'm quite fond of
> >> pq. there's a plan 9 distribution for it (a seperate package
> >> available on the download page). it is based on plain text

William S.

unread,
Jan 23, 2002, 4:47:58 AM1/23/02
to
Try the "Updates" section and scroll down to the bottom.

Bill
Amsterdam, NL

On Wed, Jan 23, 2002 at 07:15:04AM +0100, c...@cejchan.gli.cas.cz wrote:
> On Tue, Jan 22, 2002 at 06:03:33PM -0500, ano...@cosym.net wrote:

> > i'm not sure if it's suitable for your needs, but i'm quite fond of
> > pq. there's a plan 9 distribution for it (a seperate package
> > available on the download page). it is based on plain text

Bakul Shah

unread,
Jan 23, 2002, 5:05:24 AM1/23/02
to
ozan s yigit wrote:
> it is "reactive keyboard" and i believe was a thesis work at university
> of calgary, by Darragh under Witten. i'm sure a web search would still turn
> up pointers. there is a book about it, not sure if still in print. the
> interface was interesting in trying to accomodate disabled people to
> interact with command interfaces by predictive completion.

See volume 20 issues 29..32 of comp.sources.unix (Oct '89) at
ftp://gatekeeper.dec.com/pub/usenet/comp.sources.unix/volume20/reactivekbd
The most recent version seems to be at
http://www.csoft.net/~dummy/robert/software/rk-1.6.2.tar.gz

Douglas A. Gwyn

unread,
Jan 23, 2002, 5:04:58 AM1/23/02
to
David Gordon Hogan wrote:
> What _really_ annoys me is when I hit the BACKSPACE key on
> the keyboard, while running some terminal emulator, and it
> sends DELETE.

DEC actually started making terminals like that!

> the default should be that backspace is backspace.

I agree..

Douglas A. Gwyn

unread,
Jan 23, 2002, 5:05:41 AM1/23/02
to
sk...@real.com wrote:
> unity, ...

As I recall the source code had some problems with argument testing
(essentially, dereferencing null pointers before testing), easily
fixed once you're aware. If you're going to pay for Unity you might
consider licensing the whole Unix System ToolChest; I think there
was a good price for this last time I checked. There are some gems
in there, including algorithm animation and geo-mapping utilities.

Boyd Roberts

unread,
Jan 23, 2002, 5:55:00 AM1/23/02
to
David Gordon Hogan wrote:
> What _really_ annoys me is when I hit the BACKSPACE key on
> the keyboard, while running some terminal emulator, and it
> sends DELETE. This has a tendency to make me feel homicidal.

I'm with you Captain, I can already smell the napalm burning...

I tried to fight that fight with a cordless Logitech iTouch,
X11, xterm and xmodmap and gave up in disgust at some point
last week.

The _really freaky thing_ is that when I type 8 bit chars
on my Swedish qwerty keyboard _in some windows_ I see
Cyrillic. I can read it, but it doesn't make matters
any better.

I won't even touch KDE. If I want a window [xterm] I use 'x':

x [ hostname ]

Actually I'd like to build jammers for these horrible cordless
things :)

Thomas Bushnell, BSG

unread,
Jan 23, 2002, 1:01:04 PM1/23/02
to

The ASCII standard fortunately solves this one, and you're both wrong.

The ASCII BS charactec is specifically to help the "backup and
overstrike" operation. For example, à is supposed to be rendered as

a BS `

The ASCII sequence for "ignore last character transmitted" is:

BS DEL

That is, DEL is *overstruck* on a character to delete it. Note the
nice way this works on paper tape: DEL is all-ones, so that means a
paper tape reader should ignore all-ones. It's also supposed to
ignore NUL (all-zeros); some hardware could not be relied upon to deal
so accurately with spacing, and false reads of all-zeros would happen.

Thomas

Thomas Bushnell, BSG

unread,
Jan 23, 2002, 1:01:18 PM1/23/02
to
dh...@plan9.bell-labs.com (David Gordon Hogan) writes:

> Of course, xterm is configurable through some resource, but
> the default should be that backspace is backspace.

You mean, the default is that "backspace erases a character backwards"
or "backspace sets up an overstrike"? The latter is what ASCII means
by backspace.

Or maybe you mean that the default is that "backspace should send #".

Ronald G Minnich

unread,
Jan 23, 2002, 1:26:08 PM1/23/02
to
On Wed, 23 Jan 2002, Thomas Bushnell, BSG wrote:

> The ASCII standard fortunately solves this one, and you're both wrong.

yeah but I don't care. I want the keyboard to do what I want, not ride
some standard defined when we all used KSRs for terminals. I dismantled
and threw my Teletypes out 25 years ago (although I saved some pictures --
heroic hardware, that stuff was).

ron

Scott Schwartz

unread,
Jan 23, 2002, 1:27:44 PM1/23/02
to
> The ASCII standard

I thought Plan 9 had given up on that? :-)

Russ Cox

unread,
Jan 23, 2002, 1:30:58 PM1/23/02
to
> The ASCII standard fortunately solves this one, and you're both wrong.

I'll keep that in mind the next time
I port Plan 9 to a machine that runs
off paper tape. Thanks.

> > the default should be that backspace is backspace.

Further, you completely missed the point.
dhog claimed that typing a backspace key should
send a backspace character, just like typing an
'a' sends an 'a' character; the ascii
semantics of backspace are not relevant
to that particular claim.

Russ

Boyd Roberts

unread,
Jan 23, 2002, 1:52:37 PM1/23/02
to
"Thomas Bushnell, BSG" wrote:
> The ASCII BS charactec is specifically to help the "backup and
> overstrike" operation.

Some unix tty drivers would do this. They'd overstrike with a space
and then a BS :)

Lyndon Nerenberg

unread,
Jan 23, 2002, 5:37:17 PM1/23/02
to
>>>>> "Douglas" == Douglas A Gwyn <DAG...@null.net> writes:

Douglas> If you're going
Douglas> to pay for Unity you might consider licensing the whole
Douglas> Unix System ToolChest; I think there was a good price for
Douglas> this last time I checked. There are some gems in there,
Douglas> including algorithm animation and geo-mapping utilities.

Pity, they seem to have dropped the System V rogue (and HDB) :-(

DWB is there, but can you license the Writers Workbench from anywhere
these days?

--lyndon

Thomas Bushnell, BSG

unread,
Jan 24, 2002, 4:38:07 AM1/24/02
to
rmin...@lanl.gov (Ronald G Minnich) writes:

> yeah but I don't care. I want the keyboard to do what I want, not ride
> some standard defined when we all used KSRs for terminals. I dismantled
> and threw my Teletypes out 25 years ago (although I saved some pictures --
> heroic hardware, that stuff was).

Sure, but to get the keyboard to "do what you want" doesn't say
anything about what internal coding the key sends.

I want the "big key with the arrow" to delete the previous character.
I couldn't care less whether that is internally coded with 010 or 0177.

Thomas

Thomas Bushnell, BSG

unread,
Jan 24, 2002, 4:38:20 AM1/24/02
to
r...@plan9.bell-labs.com (Russ Cox) writes:

> Further, you completely missed the point.
> dhog claimed that typing a backspace key should
> send a backspace character, just like typing an
> 'a' sends an 'a' character; the ascii
> semantics of backspace are not relevant
> to that particular claim.

I have way more keys that ASCII has codes for. How exactly should
that work? X has a good way (even Lispms had a good way).

Thomas Bushnell, BSG

unread,
Jan 24, 2002, 4:38:32 AM1/24/02
to
bo...@strakt.com (Boyd Roberts) writes:

Some overstrikes are easier than others.

There are two misunderstandings about ASCII that piss me off, that's
all.

One misunderstanding is that "ASCII doesn't represent accents", which
is totally wrong; it was deliberately constructed to allow for accents
for all/many languages that use the latin alphabet. The idea was (as
I mentioned previously) to use overstriking.

Now it turns out that the idea was not as good as just separate codes
for the accents (though that has its problems too), but it's not like
there was some American chauvinism that didn't bother to think about
other languages.

The other thing that pisses me off is people complaining that this or
that character is "the erase character" in ASCII, and complaining that
some system is using a different character. ASCII has no erase
character (just as it has no newline character), and there is no "one
true character" for erase, any more than there is one true C brace
indenting style or one true endianness.

Thomas

David Arnold

unread,
Jan 24, 2002, 8:08:40 AM1/24/02
to
-->"Thomas" == Thomas Bushnell, BSG <tb+u...@becket.net> writes:

Thomas> ASCII has no erase character (just as it has no newline
Thomas> character), and there is no "one true character" for erase,
Thomas> any more than there is one true C brace indenting style or
Thomas> one true endianness.

just to expose my ignorance, what was the intended meaning of DEL (127) ?


d

Boyd Roberts

unread,
Jan 24, 2002, 11:11:44 AM1/24/02
to
"Thomas Bushnell, BSG" wrote:
> One misunderstanding is that "ASCII doesn't represent accents", which
> is totally wrong; it was deliberately constructed to allow for accents
> for all/many languages that use the latin alphabet. The idea was (as
> I mentioned previously) to use overstriking.
>
> Now it turns out that the idea was not as good ...

s/not as good/ghastly/

Russ Cox

unread,
Jan 24, 2002, 11:36:44 AM1/24/02
to
> I have way more keys that ASCII has codes for. How exactly should
> that work? X has a good way (even Lispms had a good way).

Arbitrarily configurable does not imply good.
It does usually imply more pain for users.

Russ

Thomas Bushnell, BSG

unread,
Jan 24, 2002, 12:35:08 PM1/24/02
to
arn...@dstc.monash.edu.au (David Arnold) writes:

As I mentioned before, DEL and NUL were the two ignored characters.

To tell the receiver to erase the last received character, you would
send a BS DEL sequence; that is, you'd overstrike the last character
with a DEL character. On paper tape, that did exactly the right thing
very cleverly without any special handling; other media were supposed
to DTRT.

To delete n characters, obviously, you sound BS^n DEL^n, and certainly
not (BS DEL)^n.

There may have been additional meanings to DEL, but the only one I
know of is as part of a BS DEL sequenc.e.

Thomas

Thomas Bushnell, BSG

unread,
Jan 24, 2002, 12:34:55 PM1/24/02
to
r...@plan9.bell-labs.com (Russ Cox) writes:

Arbitrarily configurable is usually wrong. I don't mean that
everything about X is good.

Just that it has a notion of "keycode" and that's what a key sends,
rather than trying to force ASCII to do the job.

Thomas

Thomas Bushnell, BSG

unread,
Jan 24, 2002, 12:34:44 PM1/24/02
to
bo...@strakt.com (Boyd Roberts) writes:

Well, there are lots of multibyte fans out there still. But hey, it
was really the very first guess; I think they should get *some*
credit. :)

Dan Cross

unread,
Jan 24, 2002, 4:46:58 PM1/24/02
to
> To delete n characters, obviously, you sound BS^n DEL^n, and certainly
> not (BS DEL)^n.

I think you mean BS * n followed by DEL * n. You want repitition, not
exponentiation (which would be meaningless, I think). The operation in
this context is non-distributive, though.

> There may have been additional meanings to DEL, but the only one I
> know of is as part of a BS DEL sequenc.e.

Is this one of those, ``well, people are still posting about this
subject, therefore I feel no need to worry about its topicality...''
things?

Surely there are more important things to worry about, like getting
the Atari 2600 simulator working....

- Dan C.

Thomas Bushnell, BSG

unread,
Jan 25, 2002, 5:00:32 AM1/25/02
to
cr...@math.psu.edu (Dan Cross) writes:

> > To delete n characters, obviously, you sound BS^n DEL^n, and certainly
> > not (BS DEL)^n.
>
> I think you mean BS * n followed by DEL * n. You want repitition, not
> exponentiation (which would be meaningless, I think). The operation in
> this context is non-distributive, though.

In formal languages theory, "product" is usually concatenation,
"exponentiation" is repeated concatenation. (For example, one says
that a DFA can scan A^n but not A^n B^n; one says that a context free
grammar can parse A^n B^n but not A^n B^n C^n.)

Your notation would have "addition" to be concatenation, and "product"
to be repeated concatenation. That convention would work as well, but
since addition is conventionally always commutative, and product is
not, it's a more confusing convention. (As you note, it suggests a
distributive property which of course does not exist.)

In other words, we agree about substance but are just using different
notations.

> > There may have been additional meanings to DEL, but the only one I
> > know of is as part of a BS DEL sequenc.e.
>
> Is this one of those, ``well, people are still posting about this
> subject, therefore I feel no need to worry about its topicality...''
> things?

Of course. :) Plus I think it's fun.

> Surely there are more important things to worry about, like getting
> the Atari 2600 simulator working....

Well, or getting Plan 9 to boot on my laptop.

Douglas A. Gwyn

unread,
Jan 25, 2002, 5:00:54 AM1/25/02
to
"Thomas Bushnell, BSG" wrote:
> The ASCII BS charactec is specifically to help the "backup and
> overstrike" operation.

Actually it's just the backspace part of that composite operation,
which is what we said.

> That is, DEL is *overstruck* on a character to delete it. Note the
> nice way this works on paper tape: DEL is all-ones, so that means a
> paper tape reader should ignore all-ones. It's also supposed to
> ignore NUL (all-zeros); some hardware could not be relied upon to deal
> so accurately with spacing, and false reads of all-zeros would happen.

That's a bit revisionist; no paper tape punch that I know of
ever automatically reversed tape motion upon receipt of a BS
character. The overstrike-DEL-to-delete was done *manually*
when preparing tapes off line. The ignore-NUL mode was normally
used only for the *initial* mode of each tape ("file"), i.e.
to skip leader, with embedded NUL characters often used in binary
encodings.

Another cute thing: The ASR-33 didn't immediately stop the reader
when an XOFF was read, and it didn't even stop reliably after the
*next* character had already passed, unless that character was a
DEL. (Apparently when all 8 sensing fingers activated there was a
big enough dump of mechanical energy to ensure reliable stopping.)
Therefore, Honeywell's source tape convention was LF, text, CR,
XOFF, DEL (usually called RUBOUT rather than DEL). The funny
split of the LF and CR actions allowed the assembler to input a
line from the reader with echo-print on the paper, then starting
from the new (beginning-of-line) position it would print the
object code, at some point sending a TAPE-ON (DC2) to enable the
punch unit and then the binary record, which used all nonprinting,
nonmotion characters (including BEL, ding ding) then TAPE-OFF (DC4).
At which point XON (DC1) would be sent to enable the reader which
would input the next text line (starting with that echoed LF to
clear the just-completed line on the paper). A nifty way to use
the ASR-33 for a complete one-pass assembly process with object
code and full output listing. You can investigate this using
one of the Honeywell Series-16 (+ ASR-33) simulators (Sapere's or
Supnick's) and the DAP assembler (available at Sapere's site).

Ralph Corderoy

unread,
Jan 25, 2002, 5:30:18 AM1/25/02
to
Hi Matt,

> The downside is that I have to pass the username & password on the
> command line too so it starts to get a bit unwieldy :

You could put them in ~/.my.cnf.

[client]
user=xxx
password=yyy


Ralph.

Dan Cross

unread,
Jan 25, 2002, 6:02:54 PM1/25/02
to
> In formal languages theory, "product" is usually concatenation,
> "exponentiation" is repeated concatenation. (For example, one says
> that a DFA can scan A^n but not A^n B^n; one says that a context free
> grammar can parse A^n B^n but not A^n B^n C^n.)

Whoops, I should have realized that's what you were refering to. My bad.

- Dan C.

Boyd Roberts

unread,
Jan 28, 2002, 1:32:57 PM1/28/02
to
> In formal languages theory, "product" is usually concatenation,
> "exponentiation" is repeated concatenation.

Depends on your domain. In mathematics a product could be a dot
[rc's ^] or a cross product [trickier].

Douglas A. Gwyn

unread,
Jan 29, 2002, 4:31:47 AM1/29/02
to
Boyd Roberts wrote:
> Depends on your domain. In mathematics a product could be a dot
> [rc's ^] or a cross product [trickier].

There are all sorts of "products" in mathematics,
but the so-called "cross product" is one of the least qualified
to go by that name.

pau...@gsyc.escet.urjc.es

unread,
Jan 29, 2002, 5:50:57 AM1/29/02
to
Douglas A. Gwyn writes:
> There are all sorts of "products" in mathematics,
> but the so-called "cross product" is one of the least qualified
> to go by that name.

I don't think so. It is the dual of the sesquilineal projection of the
tensorial product. I couln't resist writing it. :-)

The fact that it is anticonmutative doesn't stop it being a product,
it distributes with the sum and has an absorbing element (I don't know if
it is called so in English) and has all sorts of properties which make it a
product.

--
Saludos,
Gorka

"Curiosity sKilled the cat"

Thomas Bushnell, BSG

unread,
Jan 29, 2002, 12:20:43 PM1/29/02
to
pau...@gsyc.escet.urjc.es writes:

> The fact that it is anticonmutative doesn't stop it being a product,
> it distributes with the sum and has an absorbing element (I don't know if
> it is called so in English) and has all sorts of properties which make it a
> product.

I think "absorbing element" in English is just called "zero" (if I'm
guessing right at what you mean). In whatever ring, the additive
identity is always called "zero".

Thomas

Matt H

unread,
Jan 29, 2002, 7:26:57 PM1/29/02
to

Well my plan9 box is up again (woohoo)
I fiddled for ages with ndb & termrc only to discover that my 2114x NIC
didn't like the CAT5 cable (which works fine on a dlink 530tx!)

first thing I went for is mail, hoping to post my success from there
great to see imap & pop3 have made it into upas but sadly :

%upas/fs -f/imap/tcp!192.168.1.100!143/matt
%success
%unexpected line: INFO: LOGIN, user=user, ip=[127.0.0.1]
%upas/fs: opening mailbox: error in initial handshake

I'm trying to attach to courier IMAP on FreeBSD4.4

any clues or docs I can look at

cheers
Matt

Russ Cox

unread,
Jan 29, 2002, 7:29:52 PM1/29/02
to
it sounds like /sys/src/cmd/upas/fs/imap4.c:/^imap4resp
should be ignoring lines that begin with INFO;
i'd check the imap rfc 2060 to be sure.
not a hard fix if so.

russ

Matt H

unread,
Jan 29, 2002, 7:38:53 PM1/29/02
to

ta, saves me endlessly fiddling again!
well, until i find something new to fiddle with

M

Douglas A. Gwyn

unread,
Jan 30, 2002, 4:29:18 AM1/30/02
to
pau...@gsyc.escet.urjc.es wrote:
> I don't think so. [The "cross product"] is the dual of the
> sesquilineal projection of the tensorial product. ...

As usually defined the c.p. is supposed to result in the same
type as its arguments, but e.g. the c.p. of two vectors is
*not* a vector (it's a so-called pseudo- or axial vector,
which can indeed be thought of as a *component* of the tensor
product). So while it might be a "product" it is not as nice
as the kinds of products that map from space x space into space.
The "non-conservation of parity" work that was awarded a Nobel
prize seems to actually have been confusion on this very score.

pau...@gsyc.escet.urjc.es

unread,
Jan 30, 2002, 6:18:44 AM1/30/02
to
Douglas A. Gwyn writes:
> As usually defined the c.p. is supposed to result in the same
> type as its arguments, but e.g. the c.p. of two vectors is
> *not* a vector (it's a so-called pseudo- or axial vector,

Well, as everything, depends on what you call type. Everything here
are Tensors at least. (and also vectors, because tensor spaces are
vector spaces).

Anyway I think you confusing the c.p. with the wedge product which is
it's dual in an special case. As far as I know the c.p. of two vectors
is a vector. In fact, it is the special case of aplying the dual
operator to the wedge product with N=3 and r=2, that is, the result is
also a vector in the same space, that is why it is called vector
product too.

The tensors which written as a wedge product form a tensor are called its
strict components (I think you are referring to that). Anyway, the
wedge product of a group of tensors is a tensor too. And *all* of this
operations are called products, though that is exterior algebra and maybe
the analogy has been taken a little bit too far.

Thomas Bushnell, BSG

unread,
Jan 30, 2002, 11:25:33 AM1/30/02
to
pau...@gsyc.escet.urjc.es writes:

> Well, as everything, depends on what you call type. Everything here
> are Tensors at least. (and also vectors, because tensor spaces are
> vector spaces).

Two tensors are of the same type if they have the same formal
character: that is, the same rank (and, if you are allowing covectors,
then the same rank and the same indexes "up" and "down").

> Anyway I think you confusing the c.p. with the wedge product which is
> it's dual in an special case. As far as I know the c.p. of two vectors
> is a vector.

Only in three dimensions.

Thomas Bushnell, BSG

unread,
Jan 30, 2002, 11:35:34 AM1/30/02
to
"Douglas A. Gwyn" <DAG...@null.net> writes:

> As usually defined the c.p. is supposed to result in the same
> type as its arguments, but e.g. the c.p. of two vectors is
> *not* a vector (it's a so-called pseudo- or axial vector,
> which can indeed be thought of as a *component* of the tensor
> product). So while it might be a "product" it is not as nice
> as the kinds of products that map from space x space into space.
> The "non-conservation of parity" work that was awarded a Nobel
> prize seems to actually have been confusion on this very score.

Sure enough. The cross product as tensor-product-with-volume-element
makes this even clearer; the result of the "product" is actually a
higher rank tensor than the arguments.

Andrew Simmons

unread,
Jan 30, 2002, 3:49:33 PM1/30/02
to
>The "non-conservation of parity" work that was awarded a Nobel
>prize seems to actually have been confusion on this very score.
>
Apologies to the group for wasting bandwidth, but I'd be interested if you
could provide a pointer to somewhere I could find out more about this
(amateur's interest, having done a PhD in this stuff years ago).

Thanks

George Michaelson

unread,
Jan 30, 2002, 5:52:07 PM1/30/02
to

Martin Gardiner wrote this up years ago in a Pelican. If you search on
his name at amazon for:

"The Ambidextrous Universe"


You'll find the re-issue brought up to date.

cheers
-George

You'll find the information.

cheers
-George


Andrew Simmons

unread,
Jan 30, 2002, 10:55:55 PM1/30/02
to
>Martin Gardiner wrote this up years ago in a Pelican. If you search on
>his name at amazon for:
>
> "The Ambidextrous Universe"
>
Thanks for that. I read the original a long time ago. I was actually
interested in the specific idea that the Nobel prizewinning work of Lee &
Yang was based on a confusion, and don't remember that from the book - is
there anything on this topic in the updated version?


Douglas A. Gwyn

unread,
Jan 31, 2002, 12:39:38 AM1/31/02
to
Non-conservation of parity is usually discussed under "CPT",
which should be in the index of many textbooks, predating the Web.
My assessment of the analytical error dates back to around 1967 but
has not been published. In fact I got out of physics as a profession
mainly because my attempts to publish (other) theoretical work met
with repeated opposition from reviewers who did not want to
recognize that they had been chasing chimeras. I didn't want to
be frustrated my whole career, so I moved into computing instead.

Douglas A. Gwyn

unread,
Jan 31, 2002, 1:16:40 AM1/31/02
to

Lucio De Re

unread,
Jan 31, 2002, 1:48:37 AM1/31/02
to
On Thu, Jan 31, 2002 at 12:28:13AM -0500, Douglas A. Gwyn wrote:
>
> [ ... ] I didn't want to

> be frustrated my whole career, so I moved into computing instead.

Huh?!

++L

Thomas Bushnell, BSG

unread,
Jan 31, 2002, 4:35:41 AM1/31/02
to
DAG...@null.net (Douglas A. Gwyn) writes:

> Non-conservation of parity is usually discussed under "CPT",
> which should be in the index of many textbooks, predating the Web.
> My assessment of the analytical error dates back to around 1967 but
> has not been published.

So the usual rule (as I was taught it) is that parity alone is not
conserved, but the product of parity, time, and charge is conserved.
(Perhaps I've got that slightly wrong.) Is this not actually correct?
Gardner says roughly what I said.

So are there references that back up what you are saying, that this is
not in fact the case?

Thomas Bushnell, BSG

unread,
Jan 31, 2002, 4:35:24 AM1/31/02
to
"Douglas A. Gwyn" <DAG...@null.net> writes:

> The "non-conservation of parity" work that was awarded a Nobel
> prize seems to actually have been confusion on this very score.

Um, the non-conservation of parity is part of the assymetry of certain
weak decay modes, right?

Douglas A. Gwyn

unread,
Jan 31, 2002, 4:43:15 AM1/31/02
to
Lucio De Re wrote:
> Huh?!

Drat, that was the second time I tried to reply to "sender" in
Netscape and had it go to Reply-To rather than to From (Andrew).

Douglas A. Gwyn

unread,
Jan 31, 2002, 4:43:03 AM1/31/02
to
pau...@gsyc.escet.urjc.es wrote:
> Anyway I think you confusing the c.p. with the wedge product which is
> it's dual in an special case.

No, read on...

> As far as I know the c.p. of two vectors is a vector.

No, it is not, and the fact that people treat it as one is the problem.
The *geometric object* that is the closest thing to the c.p. is a skew
tensor (practically the same as wedge product), which (only) in 3D has
Cartesian components that resemble those of a vector, *except* that
this pseudo-vector *flips* under reflection (unlike a genuine vector).
Unfortunately, physicists have been trained to express Maxwell's laws
as a relationship between a genuine vector (field) and a c.p., which
means that that expression of those laws *changes* under reflection,
something that physicists are *not* taught and which appears to have
been overlooked in the analysis of the (nonconservation of) parity
experiment.

Apologies for being off-topic, but the subject arose in this group..

Lucio De Re

unread,
Jan 31, 2002, 5:20:40 AM1/31/02
to

Well, you made it sound like computing was less frustrating than
mainline physics. Heard any good M$ jokes lately?

++L

PS: I dunno about comp.os.plan9 but 9fans is pleasantly tolerant of
off-topic discussion, I vote to keep it that way.

Boyd Roberts

unread,
Jan 31, 2002, 6:33:51 AM1/31/02
to
"Douglas A. Gwyn" wrote:
> ... I didn't want to
> be frustrated my whole career, so I moved into computing instead.

Another physics / comp sci swap. Interesting.

I think we have 3 or 4 here.

Matt H

unread,
Jan 31, 2002, 7:02:34 AM1/31/02
to

When I arrived at Uni for my Comp Sci degree they included physics modules

I dropped out after 2 of 4 yrs

M

pres...@closedmind.org

unread,
Jan 31, 2002, 10:00:47 AM1/31/02
to
Gosh, I moved into computing because I wasn't smart
enough for anything else.

Douglas A. Gwyn

unread,
Feb 1, 2002, 4:57:38 AM2/1/02
to
"Thomas Bushnell, BSG" wrote:
> So are there references that back up what you are saying, ...

What I am saying is that if parity was *not* conserved, the
theoretical analysis behind the famous experiments (on weak
decay) did not demonstrate it, due to not accounting for the
non-vectorial nature of the c.p. in the form of Maxwell's laws
used in the analysis.

I have my own reasons to think that mirror symmetry *has* to
be a fundamental property of physics and that any asymmetry
is environmentally induced.

Douglas A. Gwyn

unread,
Feb 1, 2002, 4:57:54 AM2/1/02
to comp-o...@moderators.isc.org
Lucio De Re wrote:
> Well, you made it sound like computing was less frustrating than
> mainline physics. Heard any good M$ jokes lately?

Undoubtedly *some* aspects of computing are frustrating
(how about everybody who tries to get Plan 9 working on
unsupported hardware?), but I don't find the whole
*profession* frustrating. At least not until mandatory
certification, which is something that we're threatened
with every so often.

Thomas Bushnell, BSG

unread,
Feb 1, 2002, 11:41:59 AM2/1/02
to
"Douglas A. Gwyn" <DAG...@null.net> writes:

> What I am saying is that if parity was *not* conserved, the
> theoretical analysis behind the famous experiments (on weak
> decay) did not demonstrate it, due to not accounting for the
> non-vectorial nature of the c.p. in the form of Maxwell's laws
> used in the analysis.

Gotcha. Where can I read about it?

> I have my own reasons to think that mirror symmetry *has* to
> be a fundamental property of physics and that any asymmetry
> is environmentally induced.

Sure, I think that's why the original result was so
counter-intuitive. There are profound metaphysical reasons to insist
on certain physical symmetries.

Andrew Simmons

unread,
Feb 3, 2002, 2:59:36 PM2/3/02
to
Since this topic is now in the FAQ, I presume that I'm allowed to drone on
about it a bit more. Besides, it means I can put off wrestling with CORBA
for a few minutes.

I'm confused. When I was a lad we were taught that there were two types of
vector, polar and axial which differed in their behaviour under reflection
of the co-ordinate system. The fact that the cross product of two polar
vectors is an axial vector doesn't mean that axial vectors aren't really
vectors, any more than the fact that the product of two negative integers
is a positive integer means that positive integers aren't really integers.

I'm not sure what the problem with Maxwell's equations is. The electric
field E is a polar vector, but the magnetic field B is an axial vector.
Since the curl of an axial vector is polar, and vice versa, it is perfectly
kosher to relate the curl of E to the time derivative of B, both terms
being axial vectors, and hence the equation being invariant under
reflection. Similarly with the equation involving the curl of B, where both
sides are polar.

As far as I understand Lee & Yang's analysis of the parity experiments,
which is admittedly not very far, they explained the asymmetry in the decay
of the Cobalt nucleus by mixing polar (momentum) and axial (angular
momentum) vectors in the same equation, and so unlike Maxwell's equations
theirs does change under reflection.

>I have my own reasons to think that mirror symmetry *has* to
>be a fundamental property of physics and that any asymmetry
>is environmentally induced.
>

I'm suspicious of any attempt to say what nature has to look like on a
priori grounds, but to pursue this would be majorly off-topic. Unless Mr
Kotsopoulos can be persuaded to add a new entry to the FAQ, perhaps with
the title "Can there be synthetic a priori propositions?"

The above probably indirectly addresses Boyd's musing about the
physics/computing crossover. I don't think I could possibly support a wife,
a child, and a gin habit doing this sort of stuff.

Oh well, back to CORBA. I feel SO much better having to deal with the whole
filthy mess since Reiser told us it was influenced by Plan 9.

Matt H

unread,
Feb 5, 2002, 8:20:21 PM2/5/02
to
> On Tue, 29 Jan 2002 19:23:39 -0500
> "Russ Cox" <r...@plan9.bell-labs.com> wrote:
>
> > it sounds like /sys/src/cmd/upas/fs/imap4.c:/^imap4resp
> > should be ignoring lines that begin with INFO;
> > i'd check the imap rfc 2060 to be sure.
> > not a hard fix if so.

after "fixing" that & wading through the rfc and hours of hacking I
discovered that it was because Courier was bound to 127.0.0.1 and if you
connect to an other IP on the machine you get a PREAUTH to a dummy mailbox
(user=user) so it was working fine!

Well, it still doesn't connect properly (probably because /mnt/auth is
missing on this stand alone box)

I shall finish it off in the morning (even if it means hard coding the
password just to get it working!)

M

0 new messages