>Consequently, sharing the device across the network can be accomplished by mounting the corresponding directory tree to the target machine.
Does this mean Plan 9 natively supports sharing any device managed by the kernel over a network connection?
>Consequently, sharing the device across the network can be accomplished by mounting the corresponding directory tree to the target machine.
Does this mean Plan 9 natively supports sharing any device managed by the kernel over a network connection?
I've never really understood why 'import /proc' is better than 'cpu acid'. Yeah, there's cases where the remote host won't have acid installed.
More interesting, I think, would be stuff like getting /net in a VM from the host OS [surely 9vx or inferno's /net could be separated out], getting /dev/sd* from a 9P server that knows QCOW, etc.
Not mattering whether it's in the kernel or userspace, without using $LD_*, is also far more interesting that not mattering whether it's local or remote.
This, along with hardware support, is why I don't run Plan 9 as my only OS. Porting a modern browser to Plan 9 would be incredibly painful, and I believe the codebase of Chromium or Firefox is larger than Plan 9 itself these days!
> vim
Someone actually ported vim, and it's pretty easy to install from contrib.
> symlinks
These are a deliberate omission; the ability to rearrange the filesystem with bind doesn't correspond exactly to symlinks since it's done as a property of the current namespace rather than stored in the filesystem, but with the idioms that are built around bind, I've never missed symlinks at all.
Sorry for going into defensive-weenie mode and attacking your positive post!
No worries. One of the reasons for my post is to learn more about what's available on current Plan 9. Besides, I don't mind having my misconceptions corrected, as long as it's done politely. Thanks for taking time to do that.
Plan 9 has acme and sam. There's also a vim port, but give Rob Pike's editors a chance. The relation between Unix and Plan 9 is the same as the relation between vim and sam.
> shell history
There's terminal (not shell) history, check out the " and "" scripts. Again, things are different in Plan 9. There's no point in doing the same stuff again. The Plan 9 mechanism is an emergent property of its design (it doesn't require special code in shells), and it's scriptable (again, see " and "").
> symlinks
This makes no sense, Plan 9 have private namespaces which can do many things, including everything symlinks do.
> decent browser
The browser is probably the biggest gripe for more people. You can run a semi-recent Opera in linuxemu. I believe it wouldn't be too hard to update linuxemu so you could run a recent firefox or chromium, however nobody did the work so far. Personally, when I use Plan 9, I use it to do things I can't do in Unix, so I don't spend any effort that would enable me to do things I do in Unix. For browsing I use a mac.
From what I can read on wikipedia, both acme and sam are mouse-centered. This is a major philosophical change compared to vim, while my understanding is that Plan 9 is a pure expression of the ideas underlying Unix ("Unix without the hacks").
> There's terminal (not shell) history, check out the " and "" scripts. Again, things are different in Plan 9. There's no point in doing the same stuff again. The Plan 9 mechanism is an emergent property of its design (it doesn't require special code in shells), and it's scriptable (again, see " and "").
I'm afraid " and "" have both defeated my google-fu. Would you mind enlightening me about them?
> This makes no sense, Plan 9 have private namespaces which can do many things, including everything symlinks do.
I see. From what I read, that's certainly a much more powerful and cleaner abstraction than symlinks.
> The browser is probably the biggest gripe for more people. You can run a semi-recent Opera in linuxemu. I believe it wouldn't be too hard to update linuxemu so you could run a recent firefox or chromium, however nobody did the work so far. Personally, when I use Plan 9, I use it to do things I can't do in Unix, so I don't spend any effort that would enable me to do things I do in Unix. For browsing I use a mac.
This sounds reasonable. Anyway, given the limited hardware support, I suppose a VM is the way to go.
" and "" are two small scripts that allow running and searching through previous commands. Here is the manual: http://swtch.com/plan9port/man/man1/wintext.html
if you want to keep it run
tail -f /dev/text >> /home/shell_history
in your login
The shell doesn't have fancy nonsense because fancy nonsense doesn't belong in the shell it belongs in your user environment.
Personally in 15 years of using plan9 I have never ever once wished for shell history.
We have no need for command history. Mostly because we use better tools such as Sam and Acme to run arbitrary shell commands.
I shall repeat, like I end up doing on most plan9 threads, I have never had the need for command history in 15 years of using plan9. Ten years of that was full time software development and system administration in plan9.
Not using an OS because it doesn't have a shell like Bash is short sighted. These kind of arguments are why most of us don't even turn up to threads about plan9. It's the same 3 things over and over. No command history, doesn't have Linux programs, doesn't have a native HTML4 compliant web browser
Just now, I was repeatedly running curl in order to test an API, occasionally tweaking URL parameters here and there. Would you really open a text editor, type your curl line inside, and execute the result?
I'm not trying to be antagonistic, but I just have a hard time fathoming the idea of a shell without history.
As for using text editors. Yes, in Plan 9 this is actually feasible and it's a widely used idiom. What makes it so much easier is that I can just middle-click or middle-swipe on anything inside the editor, and it would execute. So yeah, I can just type commands and edit them. When I B2 on them they will run.
Please see this excellent introduction to acme by Russ Cox: http://research.swtch.com/acme
Or rather I'd merely be right clicking on a URL and my environment would already know I wanted to retrieve that URL as text. If I was in Acme it would open that text in a new window, if in the shell it would just print it on stdout (if that's what I had set up).
When I say the environment knows, actually a program called "the plumber" does text matching on the strings it is sent and executes commands based upon the pattern. I could arrange for different commands to execute based upon the URL.
If I knew I was going to experiment I would be keeping a record.
As Tesla said in response to Edison's now famous "1% inspiration, 99% perspiration" remark
"If you thought a bit more, you wouldn't have to sweat so much."
(both were in a live radio debate, curiously only Edison's has entered the lexicon)
For example, someone enquiring about using arrow for history navigation gets an immediate response about how bash is an abimination and a rant about no-one having written a new shell in 20 years and what not.
Meanwhile, skipping entirely any discussion about how plan 9 does things better. 4ad mentioned " but failed to explain how one navgates /down/ the history. It also entirely ignores the fact that users have voted and arrows have won. They are used to navigate in text. Navigate between email messages. Practically every where keyboard-based navigation is used, arrow leys have proved both accessible, simple to understand and fast to use for the level-1 needs (next, previous, ...). Are your rants enlightening? no. They merely impress that plan 9 is not a community I'd like to join.
Stop arguing for faster horses just because cars don't run on oats and hay.
I used plan9 as my primary desktop for about 10 years. As I would always respond, a Formula 1 car doesn't have an ashtray.