[9fans] 9fans archive engine

2011-07-15 Thread rbnsw-plan9
 Is the software which powers 9fans web archive publicly available?

Which one? :-) I prefer the mailman archive available only to list members 
since it allows the messages to be sorted by subject/author/date/thread and of 
course, the source for mailman is available. I'm note sure why there are two 
archives, other than no one may have taught mailman how to generate an 
additional public version of the archive with added address obfuscation. In any 
case, the added obfuscation is currently undermined since the Usenet relay 
seems to be currently active outbound and there may be other public relays as 
well.




[9fans] GNU/Linux/Plan 9 disto

2011-07-11 Thread rbnsw-plan9
Not to rain on anyone's summer of code project but I think producing a Linux 
distro that runs on top of Plan 9 would be more beneficial to the Plan 9's 
future than a Plan 9 userspace on top of Glendix, though nowhere as interesting.

I've no problem with a kernel that could run both Plan 9 and Linux binaries but 
if your goal is that Plan 9 binaries run unchanged on such a system then you 
will require some sort of device mapping layer, say a FUSE file system that 
makes Linux devices look like their Plan 9 counterparts - the chief problem 
being mapping between Linux ioctls and the Plan 9 ctl file protocols.

While you could do that, I have my doubts as to how complete this would be and 
whether it would be maintained. Moreover, it doesn't do anything to cause Linux 
and Plan 9 to converge. Since it is difficult to make ioctl work over the 
network unless source and destination have the same binary architecture Linux 
needs to be encouraged to change to be closer to the Plan 9 device  model, or 
at least to a portable ioctl model. Providing a mapping layer just entrenches 
the problem with Linux and moves Linux no closer to a solution.

Unfortunately, even though there are clustering solutions available which even 
address process migration Linux people seems quite happy to address remote 
device access with ad hoc solutions. 

I see a GNU/Linux/Plan 9 distro as making Plan 9 more appealing to the greater 
public and to aid its domination. Screw fixing Linux to be more Plan 9 like, 
lets assume Plan 9 has won and the rest is a mere implementation detail. 
Perhaps some of users attracted buy such a disto will be encouraged to add Plan 
9 support for their devices or modify Linux libraries to access Plan 9 natively 
rather than via Linux emulation. Nothing should be removed, where Plan 9 does 
something in a perfectly acceptable and sensibly complete way it should be the 
only mechanism provided (in the long term at least) and the Linux code reliant 
on the missing mechanism ported to work natively with Plan 9 - unless it is 
much less work to emulate whatever is missing. To take code using ioctl as an 
example, the code should be refactored so that both a Plan 9 and Linux 
libraries with a portable interface are produced, and the modified Linux source 
and libraries submitted to the current
 maintainers. However, standard C wchar_t based programs probably should be 
left alone rather the modified to use the Plan 9 string processing model.

Now just for the hell of it, let imagine a world where clustering solutions are 
built on a Plan 9 base. I'd certainly like something where my local processes 
migrate from my lower powered laptop including the Window manager migrate to a 
more powerful CPU when it becomes available and back again when my laptop 
becomes disconnected,

Now, if I ever can decide on a Linux distribution and ever get Plan 9 to boot, 
I will see what I can do...




Re: [9fans] RFS alternatives (Was: Living with Plan 9)

2011-06-30 Thread rbnsw-plan9


--- On Tue, 28/6/11, erik quanstrom quans...@quanstro.net wrote:

 Speaking of device numbers, I was surprised that Plan 9 has a similar
 notion.  However, they are only useful with kernel resident device
 numbers.  Does Plan 9 have some other mechanism that allow one to
 identify the class of device/file server it belongs to?
 
 In most cases, a name is good enough, but sometimes its not.
 
 no.  most stereotypical drivers are written in the
 miniport style.  (please excuse the reference.) where one
 bag of generic code provides the interface, so one interacts with all
 ethernet, serial or storage devices in the same way.

Ok, then I misunderstand what the stat man page means by Type identifies the 
server type,  and dev says which of a group of servers of the same type is the 
one responsible for this file  Code that relies on testing the server type is 
bad style anyway, its better if the server can supply a bunch of predicates so 
a client can test what operations a server supporta, a client should not 
mistake one type of device for another one. After all, an ethernet doesn't 
provide the same level of persistence a storage device does!
 
 And speaking of opaqueness, while Plan 9 might use portable data
 representations, some interfaces are perhaps unnecessarily opaque in a
 different way.  Consider the uart ctl file with its encoded string of
 device attributes.
 
 what kind of abstract manipulation of serial devices could
 you imagine would be useful?

I wasn't motivated about manipulating serial devices per se, I was thinking 
about reflective interfaces and programs that use metadata to learn about the 
behaviour of interfaces and provide user friendly UIs.
Having separate files for each attributes makes that a little easier. A 
separate hierarchy mirroring that of the ctl directory might return the 
allowable values/syntax for attributes/operations.

Serial devices are not that interesting for abstract manipulation but for the 
sake of the argument: we can classify the comms devices into virtual circuit 
based and datagram based. The VC based into permanent and switched VC (PVC and 
SVC). And we can classify VCs into byte oriented (stream) and record oriented. 
We probably should have QOS attributes too, A serial line can be considered a 
byte oriented PVC with indeterminate or perhaps configurable QOS. If we include 
serial lines as a type of PVC, we better know if PVCs are 8 bit clean - 
alternatively perhaps only 8 bit clean devices can be PVCs. There's nothing 
here about manipulation really, PVCs don't have much scope for that, but stay 
tuned, so far this is more about attributes that allow clients to select the 
comms medium they're interested in. Speaking of which, some optional attributes 
that make the implicit local and remote addresses/identifier explicit as well 
as the implied upper level protocol
 are useful too. Most of these are read only attributes too, but some will be 
read-write so they can have their values set by administrators.

So what can be manipulated? Flow control is something common to many virtual 
circuits including serial lines. Uart allow input and output queue lengths to 
be set which I assume affect flow control/blocking. TCP has windows which 
provide the same affect, *nixes allows them to be indirectly controlled by 
setting the send and receive buffer sizes via setsockopt or configured system 
wide, but Plan 9 doesn't seem to offer this facility.

However, if one adds a modem to a serial line or the end of any PVC for that 
matter we can treat it like a SVC, in much the same way we treat TCP. Apart 
from QOS the only real difference is that the number of SVCs has a much lower 
limit than TCP.
 
 Oh, and it would be better if the uart device was consistent with the
 files in net with their separate data and ctl files, if one is going
 to rely on conventions they should be consistent.  Despite the other
 faults of ioctl there's no doubt where the control interface of a
 device is.
 
 but it does.  there's eia0status, eia0ctl and eia0 (the data file).
 ; ls '#t'
 '#t/eia0'
 '#t/eia0ctl'
 '#t/eia0status'
 '#t/eia1'
 '#t/eia1ctl'
 '#t/eia1status'
 

Sorry, I meant structured like the files in net. So, the uart could instead by 
structured as:

eia/
0/
   ctl
   data
   status
1/
   ctl
   data
   status

there could also be clone entry directly under eia if we wished to have an 
allocation scheme if the various serial lines are equivalent, e.g. attached to 
modems and of course a stats interface too.

Regards,

Andrew
 - erik




Re: [9fans] RFS alternatives (Was: Living with Plan 9)

2011-06-27 Thread rbnsw-plan9

--- On Wed, 22/6/11, David Lukes davelu...@mac.com wrote:
...
 I'm no RFS guru, thank deity, but I did RTFC once and F
 was apposite.
It took me a little time to figure out RTFC wasn't a remote file system ;-)
 
 ioctl was handled by having the client know exactly what
 each ioctl looked like, i.e. it only worked for known
 cases.
...

Thanks for pointing out the folly in my thinking. I was hoping for a 
user/administrators view of RFS but the under the hood perspective is welcome. 
I'd forgotten that the variable(!) trailing parameters of the ioctl are opaque 
at the system call level, i.e. their layouts are only known to the application 
program and device drivers.

So the best that can be done in a generic manner is to send ioctls only between 
systems with identical binary representations (possibly remapping major/minor 
device numbers).

Maybe if RFS had been more successful over NFS, (or Linus knew more about Plan 
9) the Unix interface would have been fixed by now. I wonder if there is any 
level of acceptance amongst *nix kernel developers that this is a problem. I 
can think of schemes to fix this without having to modify every program that 
issues an ioctl - though that would be a good idea in the long run - /merely/ 
having to modify every device driver implementing ioctls to assist in the 
remote translation. While it might seem unfeasible to modify every device 
driver in this class to support this behaviour, the kernel interfaces change 
frequently so perhaps this might indeed be possible.

Speaking of device numbers, I was surprised that Plan 9 has a similar notion. 
However, they are only useful with kernel resident device numbers. Does Plan 9 
have some other mechanism that allow one to identify the class of device/file 
server it belongs to?

In most cases, a name is good enough, but sometimes its not.

And speaking of opaqueness, while Plan 9 might use portable data 
representation, some interfaces are perhaps unnecessarily opaque in a different 
way. Consider the uart ctl file with its encoded string of device attributes. 
If each attribute used a separate file, with meaningful names, the parameters 
of the interface, although unfortunately not their range of values, would be 
available. Given that it is not, some other form of automated description is 
desirable, ideally accessible from the file system itself rather than requiring 
use of a library. While we have learned (been forced) to live with files that 
are bags of bytes, I think it would be better not to repeat this with 
interfaces too.

Oh, and it would be better if the uart device was consistent with the files in 
net with their separate data and ctl files, if one is going to rely on 
conventions they should be consistent. Despite the other faults of ioctl 
there's no doubt where the control interface of a device is.

Andrew



Re: [9fans] RFS alternatives (Was: Living with Plan 9)

2011-06-21 Thread rbnsw-plan9

--- On Tue, 21/6/11, Eric Van Hensbergen eri...@gmail.com wrote:
...
 Um, does v9fs remote Linux devices? I find it hard to
 imagine it would remote ioctls but it makes sense *nix to
 *nix.

 
 Depends on how you configure it.  There is a nodevmap
 option to the v9fs mount which will instruct it to just access 
 the remote devices directly instead of just mapping their major/minor 
 numbers to local devices.  You are correct in your imagining that we
 don't go anywhere near ioctls with a 10 foot pole.  However, many things
 just work without ioctls these days.
 
Thanks for the info, but the devices encumbered with ioctls are the tricky ones 
and even if they can be sorted out I'm sure there are some other traps out 
there. Too bad there are no RFS gurus lurking here to offer their wisdom on 
remoting devices. I have a sneaking suspicion few people would have bothered, 
since the few devices worth remoting back then were easily handled by rsh/rcmd. 
Did RFS make it beyond SVR4?
 
  That just leaves my issues with X.
 
 
 Actually, its a bit worse than that.  The physical
 network devices aren't file system accessible anymore, 
Actually, I'd blotted out of my mind all knowledges of STREAMs devices and the 
related horror of TLI programming until you reminded me.
 so you'd need to remote them as a service (via Inferno or something) or
 use the tap device and remote that and hope that it doesn't require ioctls 
 (and I think it might).
 

Oh, I'm not worried about remoting network interfaces. I'm fine with packet 
forwarding and can live with NAT for now. However, it reminds me of another 
point in Plan 9's favour that the introductory papers should be updated to be 
more explicit about - NATs are unnecessary in a pure Plan 9 deployment. 
Unfortunately, neither Plan 9 routers or decent alternatives to NAT such as 
RSIP widely available.  
 
         -eric

Andrew

P.S. There's spammers subscribed to this list. Hi there, friends of Khalifa.




[9fans] RFS alternatives (Was: Living with Plan 9)

2011-06-11 Thread rbnsw-plan9

--- On Wed, 8/6/11, I wrote in part:

 I am old enough to remember RFS the Remote File Sharing
 Protocol on SVR4 that offered access to remote devices, but
 I don't have that and I'm not aware of whether there are any
 distributed file  protocols freely available for *nix
 that do that.

Um, does v9fs remote Linux devices? I find it hard to imagine it would remote 
ioctls but it makes sense *nix to *nix.

If not, are there any other alternatives? Are there any gotchas remoting *nix 
devices?

If v9fs works in such a configuration it would eliminate most of the issues I 
have with *nix resource sharing - unless I use a platform without 9fs a 9fs 
client and servers.

That just leaves my issues with X.

Cheers,

Andrew



[9fans] Living with Plan 9

2011-06-07 Thread rbnsw-plan9
Is there anybody out there using Plan 9 as their primary operating system for 
typical user tasks such as web browsing, word processing etc.
I'm shopping for a new operating system for my trailing edge hardware, and my 
heart and my head cannot agree on how much effort I should devote into adopting 
Plan 9. I'd like to have an easy life but I am somewhat driven to minimise the 
ugliness that I have to deal with on my systems. 

I do most of my computing on low spec laptops and occasionally want to remotely 
run apps or access files on a higher spec PC. Unfortunately, I find that remote 
X11 is mostly less than satisfactory on my home ethernet let alone on 802.11b. 
(To think people once claimed X was satisfactory on 128kbps). Perhaps 
compression or VNC might improve things. Then of course, there is remote access 
to other peripherals. Or rather the lack of it. 

I am old enough to remember RFS the Remote File Sharing Protocol on SVR4 that 
offered access to remote devices, but I don't have that and I'm not aware of 
whether there are any distributed file  protocols freely available for *nix 
that do that. Of course, there are clients and servers for most peripherals to 
allow remote access but one needs to go to some effort to set this up and hope 
that whatever software one uses can be coaxed into using the appropriate 
client...

I know Plan 9 solves these issues and more, but hardware and software support 
is lacking. I note there is a Linux user binary emulation and X11  available. 
Is it sufficient to set up a Linux environment on Plan 9 including all the 
niceties offered by Linux modern distribution? Does this completely defeat the 
purpose of using Plan9 in the first place ? If it makes sense, I'd appreciate 
some guidance in this regard. If not, some suggestions on how to best live with 
*nix ugliness would be welcome.

Thanks,

Andrew




[9fans] Can't compile kernel

2010-02-01 Thread jorge-plan9
Hello!

In parallel to the old Laptops i have installed Plan9 now on an ACP 
mini motherboard.  Did not work out, until i found the Eric Qanstroms 
9atom.iso - a Big thank you to Erik.

Why would it be that this ISO not mentioned in the installation 
instructions on the Plan9 wiki...?

Next step would have been, to compile a pccpuf kernel.  Easy enough:
  cd /sys/src/9/pc
  mk 'CONF=pccpuf'

But! instead of a kernel i get:
  ../port/flags: '../port/flags' does not exist
  ../boot/libboot.a8 doesn't exist: assuming it will be an archive
  8c -FTVw i8253.c
  mk: no recipe to make 'devcec.8' in directory sys/src/9/pc

A 'pull' updates some files, but does not change the situation.

Any tip to get me working?

Regards,

Jorge-León




[9fans] Just one piece o' help.

2010-01-11 Thread plan9
Greets all.
If I may please,
i'm a plan9 newbie. Don't know a thing about writing code or
programming, nor do I know anything about networking other than what
dhcp does for me. Thusly, i'm just a user.  I enjoy figuring out
everything I can on my own when possible, having learnt alot from so
many years of Slackware and FreeBSD.

Truthfully, I just need help understanding how to do one thing.
Installing other softwares. How do I take something (say from the
sources index on the plan9 homesite) and install it? I can't find an
equivalent to anything like pkg_add or the classic configure/make/make
install type of thing.

Thank you in advance for your help folks. Truly.
I prefer minimalism in my interface and considering (what I see) to be
the pure beauty of the plan9 interface and design, I hope I can
someday make it my everyday OS.
In short; nice to meet ya :) Hope I can become as proficient here as
alot of you are.
  --Q



Re: [9fans] 3c509b troubles

2008-08-29 Thread plan9
On Fri, Aug 29, 2008 at 12:40:29PM -0500, michael block wrote:
 
 from what i can tell by gleaning the 9fans archives, the 3c509b is
 quite a troublesome card.  i found rumors of a dos utility that would
 convince the card to change its port and irq.  i think this leaves me
 with two questions.  first, where do i find this fabled configuration
 program?  googling has proved fruitless.

Frail memory triumphs over the almighty Google at last!

3C5X9CFG.EXE can be found in this self-extracting archive:

  ftp://ftp.3com.com/pub/nic/3c509/3c509x2.exe

I think it needs 3C5X9ENG.HLP from the same archive as well.