Re: [9fans] Boot option to disable multiprocessor mode?
On Fri, Mar 21, 2008 at 3:47 AM, Brad Frank [EMAIL PROTECTED] wrote: Is it possible to modify the live cd isos to list an option that would allow booting with the *nomp=1 option set? The live cd _does_ boot with *nomp=1. -sqweek
[9fans] i/o error reading large sata disk
I went to set up a file server the other day - installed w/ fossil+venti and the install went fine but after booting up it wasn't long before venti started spamming i/o errors. Now I'm using second hand disks, so I figure the one I installed to might be stuffed and boot to the livecd to verify. I partition the disk in half and dd from one partition to the other, and sure enough it gets an io error on record 16777212 (w/ 8192 blocksize). 16777212 is awful close to 2^24, but I can't make any sense of why that would be a limit. If you take the 8192 into account you're around byte 2^37 which makes even less sense, so I shrug it off as a bad disk and test the second disk... which gets a read error in the exact same spot. So, now I'm suspicious ;) I can reproduce it quickly with: term% cat /dev/sdE0/ctl inquiry ST3300831AS config 0C5A capabilities 2F00 dma 00550020 dmactl rwm 16 rwmctl 0 lba48always off geometry 586072368 512 16383 16 63 part data 0 586072368 part plan9 63 293025600 part plan9.1 293041665 586067265 term% dd -if /dev/sdE0/plan9 -of /dev/sdE0/plan9.1 -bs 8192 -iseek 16777211 read: i/o error 1+0 records in 1+0 records out Using blocks of 512 bytes I can narrow it down to the 268435393th block on the plan9 partition, which is the block that starts at byte 2^37 (in terms of absolute disk position). I can access blocks before and after it fine, it's just this one... sector? Same story with the second disk. The SATA controller details from pci -v: 3.5.0:disk 01.80.00 1095/3114 10 0:bc01 16 1:b401 16 2:b001 16 3:ac01 16 4:a801 16 5:feafec00 1024 Silicon Image, Inc. Sil 3114 SATALink/SATARaid Controller Anyone think they know what's going on? -sqweek
Re: [9fans] i/o error reading large sata disk
On Sun, Apr 6, 2008 at 11:58 AM, erik quanstrom [EMAIL PROTECTED] wrote: (a) setting lba48always on ; echo llba48always on/dev/sd??/ctl if this doesn't work, then i'm wrong. Thanks erik, that does the trick. Didn't get around to trying the patch yet, I'll be in touch. -sqweek
Re: [9fans] i/o error reading large sata disk
Yes, just got to it last night. Sorry about the delay, got interrupted last week with a notice from my real estate and had to reassess my finances. Anyway, it seems to work - using the patched kernel I can successfully read the block I was having trouble with without turning lba48always on. I am seeing freezes... first boot it froze during termrc, second was fine, third boot it froze as I tried to run kbmap... well, it didn't freeze - stats kept on running happily, letting me know about the 1000 syscalls per second (which I'm seeing consistently every boot) and faces kept on updating the time. I could move the mouse, but not interact with rio at all. ^T^Tp still worked, but I forget the rest of those debugging shortcuts and it was past my bedtime so I just left it running, but it was in the same state when I woke up this morning. Rebooted with ^T^Tr and it came up fine. I'm not sure if this is related to the patch or just some other incompatibility... still, it's progress compared to my last two install attempts, in which venti choked on the second boot with a whole lot of I/O errors. -sqweek PS. Any idea why your reply showed up here in an anonymous attachment instead of the email body, erik? On Sat, Apr 12, 2008 at 7:40 PM, erik quanstrom [EMAIL PROTECTED] wrote: get a chance to test this yet? - erik -- Forwarded message -- From: sqweek [EMAIL PROTECTED] To: Fans of the OS Plan 9 from Bell Labs 9fans@9fans.net Date: Mon, 7 Apr 2008 00:19:00 +0800 Subject: Re: [9fans] i/o error reading large sata disk On Sun, Apr 6, 2008 at 11:58 AM, erik quanstrom [EMAIL PROTECTED] wrote: (a) setting lba48always on ; echo llba48always on/dev/sd??/ctl if this doesn't work, then i'm wrong. Thanks erik, that does the trick. Didn't get around to trying the patch yet, I'll be in touch. -sqweek
Re: [9fans] usbohci in pccpuf
On Tue, Jun 10, 2008 at 11:25 PM, Uriel [EMAIL PROTECTED] wrote: [top-posting fixed] On Tue, Jun 10, 2008 at 5:15 PM, [EMAIL PROTECTED] wrote: On Tue, Jun 10, 2008 at 10:17:20AM -0400, erik quanstrom wrote: you also need to start usb/usbd and usb/kb, at least. yes, but if you need the keyboard to enter stuff during boot time, like the authid, or the path to the filesystem, then it's not possible because I think those choices happen before the point where those commands can be issued, right? Pretty sure you're right. This situation looks to me like one that could be avoided by replacing 9load with a proper kernel - otherwise we'd have to teach 9load about usb, no? There is no support for usb keyboards. Well, nemo implemented it some billions of years ago, and the code is bittrotting somewhere in sources (which incidentally is down, as usual). I understand your frustration uriel, but if you read carefully you'll notice erik's message here makes a reference to usb/kb. Which suggests to me that usb keyboards have some support nowadays. Some things change for the better :) -sqweek
Re: [9fans] I/O load crashes Qemu
On Fri, Jun 13, 2008 at 12:00 PM, Venkatesh Srinivas [EMAIL PROTECTED] wrote: I've tried with both qcow2 and raw; raw takes longer to get to a crash, but still reliably crashes. Strangely, connecting to qemu with gdb before Plan 9 starts reduces the crash rate a lot, but it might just be because the world is noticeably slower... Does it actually crash or just hang? Maybe you just need to wait for the I/O to drop before it will accept connections again? -sqweek
Re: [9fans] Porting plan9 assembler/compiler on Linux
On Mon, Jun 16, 2008 at 4:45 PM, [EMAIL PROTECTED] wrote: Hi, I am plan 9 fan, this is my first post with this google account. :) Like the title says, where should i look into first? There was some work done on that for the gsoc last year. See http://gsoc.cat-v.org/projects/kencc/ and http://gsoc.cat-v.org/hg/kenc . I believe it works, but haven't used it personally. -sqweek
Re: [9fans] USB keyboard/mouse
On Tue, Jun 17, 2008 at 9:12 AM, ron minnich [EMAIL PROTECTED] wrote: On Mon, Jun 16, 2008 at 4:27 PM, erik quanstrom [EMAIL PROTECTED] wrote: [how to get usb mouse/keyboard working?] either (a) compile a kernel without usb support and use that, or (b) add usb/usbd and usb/kb to your startup scripts in termrc or cpurc. There are some bios'es in which there is a third option: enable USB emulation in the bios for PS/2 kb and mouse. Ugly, but it works. BIOSes have a tendency to disable that emulation when the OS starts playing with USB itself, which I'd wager is why erik suggested compiling a kernel without USB. -sqweek
Re: [9fans] P9p's mount(1) on linux
On Thu, Jun 19, 2008 at 11:53 PM, Eric Van Hensbergen [EMAIL PROTECTED] wrote: Whatever function deals with passing the options to the mount system call needs the modification. The few changes that are there may be fixed by me doing a better job and supporting old names for options, but it won't help for the kernels already in circulation. I've just updated to 2.6.25 which means I finally had to fix 9mount to work with the = 2.6.24 mount options. Dealt with backwards compatibility by simply adding both the pre AND post 2.6.24 mount options (which was suggested by uriel or jyujin on IRC awhile back). So, mounting works, but v9fs's option string appears to be screwed, which I was relying on for 9umount (to prevent unmounting things mounted by other users). Which is not the best plan, but I'm not sure how else to do it... Basically it will probably be best to structure it as a mount helper and ship it in its own package. I'm not sure how mount helpers work... would you have to be root to use it that way? -sqweek
Re: [9fans] P9p's mount(1) on linux
On Thu, Jun 19, 2008 at 11:10 PM, Russ Cox [EMAIL PROTECTED] wrote: I wrote a new user-level file server a month ago, something I hadn't done in years, and I did it on Linux, using lib9p backed by 9pfuse. It was an entirely pleasant experience. Speaking of 9pfuse - I've just pulled and the version distributed with p9p is still not going to work on linux/x86_64. I posted a patch for this[1], though 9fans.net doesn't appear to archive attachments - see http://sqweek.dnsdojo.org/tmp/9pfuse.LARGEFILE.diff Also, I've sent you a couple of emails off-list recently about a bug in 9p(1). I can't think of anything I might have done to offend you, so I'm assuming they've been marked as spam or otherwise waylaid - should I just post the patch to 9fans? If you did get the patch and have just been thinking about it, then my apologies for being impatient. That scenario just seems increasingly unlikely :) [1] http://9fans.net/archive/2008/03/530 -sqweek
Re: [9fans] P9p's mount(1) on linux
On Fri, Jun 20, 2008 at 6:59 AM, Russ Cox [EMAIL PROTECTED] wrote: Also, I've sent you a couple of emails off-list recently about a bug in 9p(1). I can't think of anything I might have done to offend you, so I'm assuming they've been marked as spam or otherwise waylaid - should I just post the patch to 9fans? If you did get the patch and have just been thinking about it, then my apologies for being impatient. That scenario just seems increasingly unlikely :) Done. The patch you sent had to do with Unix signals, so I had been putting off having to think about it. Hah, fair enough! Thanks, but I shouldn't have rushed you - the modified patch doesn't work. writen() never returns anything less than 0. I don't really follow its purpose either - at first I thought it was there to account for an interrupted syscall, but the implementation differs from what I would expect for that. -sqweek
Re: [9fans] P9p's mount(1) on linux
On Fri, Jun 20, 2008 at 6:04 AM, Eric Van Hensbergen [EMAIL PROTECTED] wrote: It'd be nice to have something which supported the virtio transport It would be nice if 9mount and/or 9bind could do an unshare to create a new namespace, Some support for the loose cache would be nice, and I don't see any way of setting larger (or smaller) msize. Options reflecting Lucho's access option should also be incorporated to give users some flexibility there. rename the executable to match the mount helper format (mount.9p) and install it in /sbin. I need to familiarise myself with these options and the mount helper framework before I can sensibly support them. Is there any relevant documentation I should be aware of aside from /usr/src/linux/Documentation/filesystems/9p.txt? Won't happen immediately though, this weekend is free TF2 weekend and wine 1.0 was just released :) -sqweek
Re: [9fans] 9vx
On Fri, Jun 27, 2008 at 10:12 PM, erik quanstrom [EMAIL PROTECTED] wrote: there's not access to the network device per ce, but the network works fine for me. this is what i needed to do to connect to plan 9 networks 1. edit /lib/ndb/auth and /lib/ndb/local as appropriate. 2. rm /net/cs; ndb/cs 3. auth/factotum 4. cpu -h $host Same recipe works here. But I've no idea why the rm /net/cs is necessary - can anyone put me out of my misery? -sqweek
[9fans] 9pfuse SETXATTR misunderstanding
Apparently GNU mv is fond of extended attributes, and keeps breaking 9pfuse when I try to move a file between directories. This is the culprit: src/cmd/9pfuse/fuse.c:175:case FUSE_SETXATTR: src/cmd/9pfuse/fuse.c:176:/* struct and two strings */ In fact, SETXATTR comes with one string (the name of the attribute), and one blob of arbitrary data (the length of which is given in the fuse_setxattr_in struct). So: src/cmd/9pfuse/fuse.c:179:|| ((char*)m-tx)[m-hdr-len-1] != 0 the last byte of a well-formed message is not guaranteed to be NUL, and this check is not sensible. Suggested fix (which works locally): --- fuse.c 7 Nov 2007 22:31:22 - 1.11 +++ fuse.c 4 Jul 2008 04:57:15 - @@ -173,10 +173,9 @@ goto bad; break; case FUSE_SETXATTR: - /* struct and two strings */ + /* struct, one string and one binary blob */ if(m-hdr-len = sizeof(struct fuse_setxattr_in) - || ((char*)m-tx)[m-hdr-len-1] != 0 - || memchr((uchar*)m-tx+sizeof(struct fuse_setxattr_in), 0, m-hdr-len-sizeof(struct fuse_setxattr_in)-1) == 0) + || ((char*)m-tx)[m-hdr-len-1-((struct fuse_setxattr_in*)m-tx)-size] != 0) goto bad; break; Dropped the memchr as it is clearly satisfied by the previous condition. -sqweek
Re: [9fans] lguest fixed
On Fri, Jul 4, 2008 at 1:07 AM, ron minnich [EMAIL PROTECTED] wrote: OK, could some of you with the loopback 9vx device time something for me? I assume you mean plain #Zplan9 here instead of fossil/venti. mk clean is 3 minutes on 9vx, 20 seconds on lguest. 0.00u 0.00s 14.61r mk clean mk 'CONF=pccpuf' is 7 minutes on 9vx, 2:40 on lguest 0.00u 0.00s 83.09r mk CONF=pccpuf Athlon XP 2500+, Linux 2.6.25, 9vx 0.11. time mk clean time within 9vx matches wall clock time, so I expect the pccpuf does too, but I'm going to go to bed instead of trying it again. :P -sqweek
Re: [9fans] 9vx on OpenBSD-4.3
On Sat, Jul 5, 2008 at 9:38 AM, Iruata Souza [EMAIL PROTECTED] wrote: sorry for not reporting until now. I´m not at home and have no access to my tree right now, but I can already run 9vx. console says the kernel is getting 0M of memory. that is surely because of my hacks. Don't think so. Here on linux I get: 256M memory: 0M kernel data, 256M user, 256M swap (and everything works). -sqweek
Re: [9fans] 8 cores
On Wed, Jul 16, 2008 at 1:12 PM, Benjamin Huntsman [EMAIL PROTECTED] wrote: That being said, while huge scalability is certainly research-worthy, does anyone actually run anything on Plan 9 that needs or would otherwise benefit from 8+ CPUs and more than a few GB's of RAM? The Blue gene HPC folks come to mind. Furthermore, does anyone out there run Plan 9 on non-x86 hardware anymore? Some people would like to, but to my knowledge fourth edition hasn't been ported to any other platforms. I've heard rumors of a near complete x86_64 port, and there's occasional interest in sparc and ppc ports. -sqweek
Re: [9fans] sad commentary
On Wed, Jul 2, 2008 at 8:35 PM, erik quanstrom [EMAIL PROTECTED] wrote: Also, public 9grids. Though judging by gdiaz's experiences with sirviente, there's a bit of work to be done in that area - I get the impression things are fairly unstable once the machine gets under memory pressure. -sqweek i think this is an artifact of setting up heavily-used systems combining venti, fossil, auth and cpu server. ... sure crashing is antisocial. the alternative is to add very large amounts of code to the kernel. Back when this was first posted I wanted to protest the point that a large kernel modification is necessary, since I figured you can do a good enough job with just an interface to tell the kernel not to kill the important server processes. Obviously I decided to let it lie, but I just discovered this can be done without modifying the kernel at all when I happened across an interesting line in termrc: /rc/bin/termrc:dontkill '^(ipconfig|factotum|mntgen|fossil|cs|dns|listen|reboot)$' The default cpurc doesn't use dontkill, but I suspect it could be a big help for all-in-one servers. Figured I'd point it out as it seems easy to miss. ... plus everyone can use a good scare every now and then, and what better way than to resurrect sad commentry? -sqweek :D
Re: [9fans] sad commentary
On Tue, Jul 22, 2008 at 11:50 PM, Charles Forsyth [EMAIL PROTECTED] wrote: no adding very large amounts of code... maybe fix the swap... or even remove it alltogether. assuming it doesn't work now, the paging code used to work, at least in the sense of survive --i used 8l to link kernels on a 4mbyte 386sx16 -- so i imagine it's just a matter of repairing it, if it indeed is responsible. unfortunately it's hard to tell because doesn't work is a little vague. I'm still happy to do any testing here. Have a P100 with 24mb ram that I can reliably bring down with man -p or as I found out yesterday, cd /sys/man; mk indices. Symptoms of the swap issue were the drawterm session locking up... can't remember what was on the console. -sqweek
Re: [9fans] Plan9 install CDROM seems only want to install from fd0
On Mon, Aug 4, 2008 at 4:46 PM, Christian Kellermann [EMAIL PROTECTED] wrote: * RyanMcCoskrie [EMAIL PROTECTED] [080804 10:41]: I have tried to install plan9 to a spare hard disk today but when I select options to from the install cd's boot menu it says that the device it is meant to boot from is invalid. Is your hard disk detected? If yes this is a common blunder of the install script you can solve easily. Most likely it does not find the CDROM where it expects it to be, that is as the secondary master. In plan9 this is sdD0... You can enter different devices than that. To be specific, sdD0!cdboot!9pccd.gz for booting the livecd, sdD0!cdboot!9pcflop.gz for installing. sdD0 is secondary master, sdC0 primary master, sdD1 secondary slave. Assuming you manage to find a kernel using one of these, for the livecd portion you'll have to make a similar substitution later on in the boot process when it is looking for the root filesystem - something like local!#S/sdD0/data. As for easily solved, I'm not so sure. I've been able to boot the livecd with the cd drive not on secondary master, but as soon as the install script starts running it locks up. -sqweek
[9fans] Bizarre freeze
Ran into an interesting one setting up my cpu server. The following reliably freezes the box: # echo dma on /dev/sdC0/ctl # 9fat: Leaves the console totally unresponsive, no ^T^Tp, no ^P. rc -x on 9fat: gives rfork e as the final command. sdC0 is a cdrom. I can turn dma on for my sata disks (sdE0/sdF0) no problem. -sqweek
Re: [9fans] Using the Acme Editor
On Wed, Aug 20, 2008 at 9:39 AM, Eris Discordia [EMAIL PROTECTED] wrote: Steve Simon's trademark character, I presume, was generated by [Alt]+0153 Wow. Does memorising codepoints fall under your job description aswell? $ curl gopher://tokyo.ac.jp/a/b/r.tokyo.jpg $ ifconfig cellnetif num 555 555 ifconfig: only root can do that $ mount -t motofs /dev/cellnetif /mnt/cell mount: only root can do that $ cp ./r.tokyo.jpg /mnt/cell/ cp: /mnt/cell: permission denied -sqweek
Re: [9fans] Using the Acme Editor
On Wed, Aug 20, 2008 at 5:15 PM, Eris Discordia [EMAIL PROTECTED] wrote: Wow. Does memorising codepoints fall under your job description aswell? No. I looked it up in Microsoft Windows' Character Map. Saw it was below 255. Knew UTF-8 corresponds to ASCII in lower character codes (not sure 7-bit or 8-bit). Figured it could as well be 8-bit ASCII. The ascii that is 8 bits is not the true ascii. ifconfig: only root can do that mount: only root can do that Funny, but then not funny. What's the Plan 9 way of solving that? Trusting the user at the terminal? No. Private namespaces. cp: /mnt/cell: permission denied Why permission denied? Sorry, that should have been no such file or directory. You need a mkdir. -sqweek
Re: [9fans] Acme without Flamage
On Wed, Aug 20, 2008 at 11:12 PM, Wendell xe [EMAIL PROTECTED] wrote: My nutshell evaluation of Acme is that it is for systems-level coding in C on modest-sized projects. It seems very well designed for that purpose but quickly becomes awkward as you move away. It is definitely not suited to working with Java or Lisp, I used to feel much the same. Then I went back to coding java at work, fired up eclipse and was like ... where's my chording? :( :(. I had to whip up a plumbing rule so I could button 3 stack traces, but after that it was pretty comfortable. I keep switching between them now, generally using eclipse for browsing existing code or when using a lot of interfaces that I'm not familiar with (function completion = lazy way out), and acme when I want to view files side by side (eclipse's window management can bite me) or when eclipse annoys me too much with its highlights and tooltips and ctrl-w closing the window and automatic paren balancing and popups and underlines and FUCK OFF I KNOW THE FUNCTION NEEDS TO RETURN A BOOLEAN I'M HALFWAY THROUGH DEFINING IT GIVE ME A CHANCE JEEZE. ...which is somewhat often. or navigating large directories. Hm, why is acme particularly bad at this? I know I sigh every time I open my home directory in p9p acme because it's full to the brim with .foo .bar .qux .etc, the trick is just to know what you're looking for and type it in instead of trying to find it. Finally, I'm kind of surprised at the lack of interest in controlling fonts. My usual coding font is 12 pt. Dina or Terminus. But if my eyes are really tired, I might switch to 16 pt. Monaco. On the other hand, I sometimes use 8 pt. ProFont to better get an overview. I would think even Plan 9 hackers would appreciate being able to quickly shift around like that. That surprises me, to be honest. Most people I know find a font they like and stick with it. -sqweek
Re: [9fans] Using the Acme Editor
On Thu, Aug 21, 2008 at 2:58 AM, erik quanstrom [EMAIL PROTECTED] wrote: You only need a cpu server if you want to let other machines run processes on your machine. You only need an auth server if you want to serve resources to a remote machine. i don't think this is accurate. You only need a cpu server if you want to let /multiple users/ run processes on your machine. You only need an auth server if you want to /authenticate/. you don't need multiple machines to authenticate. (you can authenticate to a fs running on the local machine. you can authenticate via imap locally.) you don't need multiple users to need a cpu server. you need a cpu server to run services such as smtp or cron. Ah, right. Thanks for clarifying Erik, sorry about the swearing Eris. Makes a lot more sense now, though I still don't see the need to run auth for a standalone terminal. cpu serv for cron, maybe. -sqweek
Re: [9fans] Export local plumber to remote unix host?
On Wed, Aug 27, 2008 at 4:02 PM, Jon Dugan [EMAIL PROTECTED] wrote: What I'd like to be able to do is export at least my plumber over the ssh connection to the remote host so I can display the attachments locally. This seems to be the opposite of what import(1) does. I guess what I want is cpu(1) for plan9port... or at least a limited version of it. Any suggestions? (Unfortunately the Unix boxes and Word documents aren't going away any time soon for me...) You have two problems here: 1) Accessing plan 9's plumber from unix 2) Accessing unix files (attachments) from plan 9 1 isn't too difficult, a listen1 with exportfs -r /mnt/plumb combined with an ssh port forward (-L or -R, can't remember which applies here) will give you access to the plumber via p9p's 9p (probably in combination with srv -a for authentication). 2 is a little more problematic. It's easy enough to run u9fs over ssh (see srvssh), but the caveat is when you plumb an attachment like say /home/jon/mail/foo.doc the plumber running on plan 9 is going to go /home? wtf is that?. As long as you can devise a convention to get around that you should be good to go. Of course, seems like it might be a bit simpler to run acme Mail. -sqweek
Re: [9fans] Export local plumber to remote unix host?
On Wed, Aug 27, 2008 at 11:57 PM, sqweek [EMAIL PROTECTED] wrote: On Wed, Aug 27, 2008 at 4:02 PM, Jon Dugan [EMAIL PROTECTED] wrote: What I'd like to be able to do is export at least my plumber over the ssh connection to the remote host so I can display the attachments locally. You have two problems here: 1) Accessing plan 9's plumber from unix 2) Accessing unix files (attachments) from plan 9 Whoops, I missed the note about terminals being unix, and thought they were plan 9 terminals (funny assumption to make in 9fans, I know). You'll have to take that as imagine if you were running plan 9, then you could just do this ;) I thought Enrico did some work on serving across the network from p9p, but I don't see anything in hg about it. That will probably be your main sticking point, problem 2 doesn't change much. -sqweek
Re: [9fans] Vacfs/9pfuse problems?
On Tue, Sep 9, 2008 at 9:49 PM, Venkatesh Srinivas [EMAIL PROTECTED] wrote: I've been having some trouble with vacfs and 9pfuse. If I Control-C any I/O operations, though, vacfs just 'goes away', Linux complains about the transport endpoint being disconnected. Also, running 'find' causes problems - after processing a small number of directories, find stops finding new files and returns 'permission denied' for directories, I see the same 9pfuse behaviour mounting ircfs or u9fs at work. If I interrupt some I/O, I lose the mount. Haven't seen the find problem, 9pfuse -D might be instructive there. -sqweek
Re: [9fans] 9p over high-latency
On Fri, Sep 12, 2008 at 7:47 PM, erik quanstrom [EMAIL PROTECTED] wrote: as an aside: i don't think 9p itself limits plan 9 performance over high-latency links. the limitations have more to do with the number of outstanding messages, which is 1 in the mnt driver. Hm, but what's the alternative here? Readahead seems somewhat attractive, if difficult (I worry about blocking reads and timing sensitive file systems). But there's one problem I can't resolve - how do you know what offset to Tread without consulting the previous Rread's count? Actually, I understand there has been discussion about grouping tags to allow for things like Twalk/Topen batching without waiting for Rwalk (which sounds like a great idea), maybe that would work here also... -sqweek
Re: [9fans] mounting stdin using 9pfuse
On Sat, Oct 4, 2008 at 3:18 AM, Roman V. Shaposhnik [EMAIL PROTECTED] wrote: it appears that I'm missing something fundamental in how 9pfuse (the one written by Russ) works when it is given - as an address. Seems to work here on linux after: #include error.h #include errno.h +#include unistd.h void socket012(int fd) { int i; - for (i=0; i3; i++) { + for (i=0; i2; i++) { close(i); dup2(fd, i); if (fork()) { socket012(fd[0]); - execlp(9pfuse, 9pfuse, -, /tmp/fuse, (char*)0); + execlp(9pfuse, 9pfuse, -D, -, /tmp/fuse, (char*)0); } else { socket012(fd[1]); ls -l caused a failed assertion in ramfs, but it was going. Can't justify why the diff works, but before adding -D and changing 3 - 2 I didn't have any success. Would love to look into it further but in the interest of not destroying my work schedule this week I'm going to get some damn sleep. Good luck. -sqweek
[9fans] DNS lookup problem
Hey guys, Recently I started serving dns from my cpu server, and I've just run into a problem connecting to gtalk which turns out to be caused by that. bitlbee queries _xmpp-client._tcp.gmail.com for srv records, and from linux I get: : nightingale ~; dig _xmpp-client._tcp.gmail.com srv @192.168.1.65 ;; Warning: Message parser reports malformed message packet. ; DiG 9.3.2-P2 _xmpp-client._tcp.gmail.com srv @192.168.1.65 ; (1 server found) ;; global options: printcmd ;; Got answer: ;; -HEADER- opcode: QUERY, status: NOERROR, id: 40485 ;; flags: qr aa ra; QUERY: 1, ANSWER: 5, AUTHORITY: 4, ADDITIONAL: 4 ;; QUESTION SECTION: ;_xmpp-client._tcp.gmail.com. IN SRV ;; Query time: 0 msec ;; SERVER: 192.168.1.65#53(192.168.1.65) ;; WHEN: Tue Oct 7 08:18:42 2008 ;; MSG SIZE rcvd: 372 I guess the malformed message packet is referring to the 4 authority/4 additional claim in the header followed by no actual records, but I don't really know the details of dns. It seems to work locally, though I'm not sure if it is using my router (I guess not, would expect it to use /net/dns): cpu% ndb/dnsquery _xmpp-client._tcp.gmail.com srv _xmpp-client._tcp.gmail.com srv 20 0 5222 talk1.l.google.com _xmpp-client._tcp.gmail.com srv 20 0 5222 talk2.l.google.com _xmpp-client._tcp.gmail.com srv 20 0 5222 talk3.l.google.com _xmpp-client._tcp.gmail.com srv 20 0 5222 talk4.l.google.com _xmpp-client._tcp.gmail.com srv 5 0 5222 talk.l.google.com -sqweek
Re: [9fans] plan9port lacks exportfs server
On Tue, Oct 7, 2008 at 12:24 AM, Russ Cox [EMAIL PROTECTED] wrote: Roman Shaposhnik wrote: somehow it dawned on me that plan9port lacks an application to serve a local filesystem over 9P. Is this on purpose? I pull things in as they are needed. I have not needed to serve 9P. This reminds me, I recently compiled aux/9pcon against p9p to test some connections (which was delightfully easy, only some minor rfork changes required). The result is at http://sqweek.dnsdojo.org/plan9/p9p-9pcon.c should anyone be interested. -sqweek
Re: [9fans] Any Brits going to iwp9? ...
On Wed, Aug 27, 2008 at 8:08 PM, spyros lalis [EMAIL PROTECTED] wrote: We will try to collect relevant timetable information for train and bus connections from Athens/Thessaloniki (some of this is not yet available and/or in Greek). I will send a note when done. Hi spyros, Is this information still forthcoming? Thanks for what you've posted so far. -sqweek
Re: [9fans] acme: Edit/Font/Whatever in the tag line of every window
On Wed, Oct 8, 2008 at 9:45 AM, [EMAIL PROTECTED] wrote: Edit source, specifically /sys/src/cmd/acme/wind.c^winsettag1. snip Easy. Right up until you want to pull in upstream bugfixes. -sqweek
Re: [9fans] photos of iwp9
On Thu, Nov 6, 2008 at 8:01 PM, Kernel Panic [EMAIL PROTECTED] wrote: http://plan9.bell-labs.com/sources/contrib/cinap_lenrek/photos/iwp9.2008/dscn0195.jpg I have this sudden impulse to start using abaco... -sqweek
Re: [9fans] success with 9vx from a terminal
On Thu, Oct 23, 2008 at 8:43 AM, Roman V. Shaposhnik [EMAIL PROTECTED] wrote: The only question is -- where such a note is supposed to be sent to? Can someone, please, educate me on the moral equivalent of process groups, sessions and their relationships with #c/cons ? Maybe you worked this one out already, but It depends on how they were forked. I don't think I can explain it better than rfork(2) - the bit about RFNOTEG is particularly relevant. I'm not aware of any relationship between #c/cons and notes, but I'm not really sure what magic is involved in the DEL interrupt. -sqweek
Re: [9fans] has anyone used xmonad?
On Tue, Oct 21, 2008 at 1:43 AM, andrey mirtchovski [EMAIL PROTECTED] wrote: i stumbled upon this the other day. xmonad is a tiling window manager written in haskell that looks similar to acme, although it can be completely keyboard-driven. if anyone has used it please comment on it. Perhaps more relevant is wmii, which is also a tiling window manager for X somewhat resembling acme. However as far as I'm concerned wmii has one up on xmonad since it serves a 9p interface. :) -sqweek
Re: [9fans] yes, comcast really *does* suck
On Mon, Nov 10, 2008 at 6:59 PM, jfmxl [EMAIL PROTECTED] wrote: My ISP was blocking port 25 outgoing, so I could send mail to my own mailserver. It turned out that sendmail was listening on port 587 as well, so I use that instead. I assumed my ISP was blocking outgoing port 25 to stop captured machines from spamming. Why do you think yours stopped incoming port 25? Probably just easier to block it in both directions? My ISP blocks common incoming ports (25, 80) by default, presumably because they see much more abuse than legitimate use - just think of the number of people who run mail/www servers over residential broadband vs the number of people with potentially vulnerable windows machines. Fortunately for me, my ISP also provides an easy way to turn the filtering off. -sqweek
Re: [9fans] photos of iwp9
On Mon, Nov 10, 2008 at 5:29 PM, Bruce Ellis [EMAIL PROTECTED] wrote: Another call for a photo of me giving the talk. It would significantly increase the value of the shirt! cinap just gave you one! http://plan9.bell-labs.com/sources/contrib/cinap_lenrek/photos/iwp9.2008/dscn0182.jpg If you thought the sea of links made it hard to find, now you know how visitors to chunder.com feel ;) -sqweek
Re: [9fans] Do we have a catalog of 9P servers?
On Tue, Nov 11, 2008 at 11:40 AM, Enrico Weigelt [EMAIL PROTECTED] wrote: * Robert Raschke [EMAIL PROTECTED] wrote: On Mon, Nov 10, 2008 at 6:26 AM, Enrico Weigelt [EMAIL PROTECTED] wrote: * sqweek [EMAIL PROTECTED] wrote: Everyone has write access to the plan 9 wiki. hmm, perhaps I didn't look hard enough, but I didn't see anything like an edit button etc ... ;-o Put in Acme Wiki. Just curious: does this also work w/ p9p (don't have native Plan9 running) ? What exactly do I have to type in ? Nope, it's not included with p9p. Might be in 9vx, but I haven't checked. You can still mount the wiki of course, but I couldn't tell you how to edit it without the acme interface. http://netlib.bell-labs.com/magic/man2html/4/wikifs probably can. See http://plan9.bell-labs.com/sources/plan9/rc/bin/9fs and http://plan9.bell-labs.com/sources/plan9/lib/ndb/common for the rest of the puzzle. -sqweek
Re: [9fans] Do we have a catalog of 9P servers?
On Wed, Nov 12, 2008 at 2:01 AM, Eric Van Hensbergen [EMAIL PROTECTED] wrote: On Tue, Nov 11, 2008 at 10:30 AM, Uriel [EMAIL PROTECTED] wrote: (Wasn't the disaster of adding .u to p9p a clear enough indication of how hopeless that path is?) Yes, .u was a disaster which is why the most powerful supercomputer in the world is using it for workload distribution and boot-time. It was a failure, that's why its not being integrated into commercial cluster toolkits. It was a failure, that's why its not the current defacto standard for Linux paravirtualized file systems. It was a failure, that's why there's an RDMA protocol instance developed by third-parties, and that's why its not being looked at being integrated into mainframes and why IBM is not considering funding a development team to support it. Absolute, complete, utter disaster. Completely hopeless. If corporate acceptance is the new measure of success, maybe we should be using an XML based protocol extension. -sqweek
Re: [9fans] Do we have a catalog of 9P servers?
On Wed, Nov 12, 2008 at 4:54 AM, Eric Van Hensbergen [EMAIL PROTECTED] wrote: I have two measurements of success: a) what keeps me working on Plan 9 related technologies in a paid position b) what switches people from using NFS, GPFS, or other horribly complicated solutions to something closer to Plan 9 Fair enough. Does .L still qualify as closer to Plan 9, or is it NFS by any other name? Please excuse the inflammatory phrasing - that's an honest question. I'm very ignorant about NFS and its differences from 9p, other than the number of message types. If you have a moment I'd appreciate a quick summary, but feel free to tell me to do my own homework ;) I'd hazard a guess that 9p's auth mechanism is more flexible, for starters. -sqweek
Re: [9fans] Do we have a catalog of 9P servers?
On Wed, Nov 12, 2008 at 9:32 AM, Eris Discordia [EMAIL PROTECTED] wrote: And some stuff for troll-clubbers to club me with: 1. What is 9P's edge over text-based protocol X? It has a simple mapping to basic file operations, which makes it easy to transparently use on the client side. Aside from the debugging tool aux/9pcon, I'm not sure that any plan 9 programs do explicit 9p client calls. 4. Intelligence is not something peculiar to 9fans and the creators of Plan 9. Simplicity of design is not something peculiar to 9P. It could appear out of the blue any day with the latest protocol X. Could do. However, part of the simplicity of 9p stems from its implementation in Plan 9: * 9p doesn't need to worry about the details of auth - that's the responsibility of authsrv + factotum. * 9p doesn't need to support symlinks; the kernel provides that sort of functionality through bind. * 9p doesn't care about different user id mappings because plan 9 only deals with user names (and those are verified by the auth server). It doesn't stop at 9p: * rc/bc/dc/hoc don't need to implement line editing or tab completion because the terminal (win from rio/acme) does the job. * rc/awk don't need to explicitly support tcp/ip because we have /net. * fossil doesn't need hardlinks, since venti coalesces identical data blocks. * plan 9 doesn't need to bother with NAT, since you can just import /net from your gateway. Just some examples. But you're right, simplicity of design does happen elsewhere, but it's less likely to arise elsewhere simply because other systems have a lot more crap to deal with. When you're stuck with vt100 emulators, of course every shell implements its own line editing. Of course utf8+tcp/ip support creeps into every app one by one when you don't have a ubiquitous interface to them. Much of plan 9's simplicity comes from its structure and consistency. Note that all the simplicity gains I've listed come from *removing* features. To be able to do that sort of thing it helps to have a system where each component meshes well with the other components. Everything in its right place, so to speak. Not that I'm suggesting plan 9 is 100% perfect, I'm sure there are shortcomings but it makes so much more effort than any other system I've seen as far as elegance goes. Since protocol X is supposedly new it will break nothing but if it manages to get a foothold by its designers _not_ acting up the way the average 9fan does when 9P is minimally criticized then 9P will be out the window forever. Do you have a solution to that? Does improve 9p to the point where no one will even minimally criticise it count? :) 9p certainly deserves some criticism as it stands - its sensitivity to latency means it works great on a local network, but poorly over something as wide as the internet. Though as Erik pointed out not so long ago, this is a limitation plan 9's 9p client code (and probably the client portion of every other 9p implementation), not the 9p protocol itself. The problem is it forces the server and client to synchronise on every read/write syscall, which results in terrible bandwidth utilisation. Unless we see some remarkable improvements in network technology in the near future, I'd be surprised to see 9p gain any foothold outside local networks before this problem is solved (I should really take a close look at Op). NFS or something similar that is only concerned with serving regular files could do a much better job here; 9p is at a disadvantage because it is so general. Having to support arbitrary file semantics makes it difficult to come up with any sort of safe lookahead scheme to avoid waiting for a network round trip on every read()... OTOH, I wonder what semantics are generally used... the common sorts of files are: * regular files - a persistent array of bytes, whatever you write() to a certain offset will show up again when you read() the same offset. * ctl files - write()s are not preserved, but affect the state of the file server in some arbitrary way. read()s tend to give some brief information about the state. * event files - read()s block until something interesting happens. write()s might allow bi-directional events. * clone files - a read() of this file creates a new heirachy. I'm sure I've missed something, but readahead is safe for all these constructs except event files, where if you readahead (and get data) but the client closes the file before actually read()-ing the buffered data, you really want to tell the file server to put back those events. Buggerit, I'm stumped already. :S -sqweek
Re: [9fans] Do we have a catalog of 9P servers?
On Wed, Nov 12, 2008 at 1:50 PM, erik quanstrom [EMAIL PROTECTED] wrote: protocol itself. The problem is it forces the server and client to synchronise on every read/write syscall, which results in terrible bandwidth utilisation. Unless we see some remarkable improvements in [...] I'm sure I've missed something, but readahead is safe for all these constructs except event files, where if you readahead (and get data) but the client closes the file before actually read()-ing the buffered unfortunately, client caching is problematic. the open research question is, how to make latency the domain of the file server(s) and not of the application. I don't think that is possible without the current set of syscalls/algorithms... Currently we have this (where time is measured in one-way trips across the network): 0: the client calls pread() 0: devmnt sends a Tread to the server 1: server recieves Tread 1: server sends Rread 2: client recieves Rread 2: pread() returns You can't do any better than this if the server is involved, so what saving is there to be made aside from: 0: the client calls pread() 0: devmnt notices it has the requested data cached 0: pread() returns devmnt doesn't have to be the one to choose what to cache, I suppose. You could have the file server readahead safely, at the cost of having to teach devmnt (and clients in general) to deal with unsolicited messages from file servers, and be careful about rate limiting... The only other way around the problem I can see is an alternate set of syscalls (or library calls, but either way you'd need to rewrite anything that uses read()). -sqweek
Re: [9fans] Do we have a catalog of 9P servers?
On Wed, Nov 12, 2008 at 10:23 PM, Eris Discordia [EMAIL PROTECTED] wrote: First off, thank you so much, sqweek. When someone on 9fans tries to put things in terms of basic abstract ideas instead of technical ones I really appreciate it--I actually learn something. Welcome, but don't mistake me for someone having the background and experience with plan 9 to comment with any sort of authority. It doesn't stop at 9p: * plan 9 doesn't need to bother with NAT, since you can just import /net from your gateway. I understand that if you import a gateway's /net on each computer in a rather large internal network you will be consuming a huge amount of mostly redundant resources on the gateway. My impression is that each imported instance of /net requires a persistent session to be established between the gateway and the host on the internal network. NAT in comparison is naturally transient. I'm not sure there's as much difference as you make out to be. On the one hand, you have a NAT gateway listening for tcp/ip packets, and on the other hand you have an open tcp/ip connection and a file server waiting for 9p requests. It's not as though 9p is wasting bandwidth chatting away while there's no activity, so the only cost is the tcp/ip connection to each client on the network, which shouldn't qualify as a huge amount of resources. If it does, you have the same problem with any service you want to provide to the whole network, so the techniques you use to solve it there can be applied to the gateway. So *maybe* you could get away with a weaker machine serving NAT instead of /net, but it would come at a cost (the sort of cost that are hard to recognise as costs because we're so used to them. every time i remind myself that /net removes the need for port forwarding i get shivers). With an imported /net since there's no packet rewriting implemented on the network layer (e.g. IP) and because the redirection occurs in the application layer there's no chance of capturing spoofed packets except with hacking what makes /net tick (the kernel?). What makes /net tick depends on what you export on /net. The kernel serves your basic /net, yes, but there's nothing to stop you having a userspace file server on top of that to do whatever filtering you like. Does that mean a new design from scratch is always bound to be better suited to current constraints? It very often is in my experience. But it's also very easy to leave something important out of current constraints when designing from scratch, or ignore the lessons learned by the previous iteration. Also, if you think UNIX and clones are flawed today because of their history and origins what makes you think Plan 9 doesn't suffer from diseases it contracted from its original birthplace? I can't forget the Jukebox example. UNIX seems to have coped with changing constraints by bolting more and more junk on the side... * Whoa, here comes a network, we're going to need some more syscalls! * Non-english languages? Better rig up some new codepages! As pointed out previously on this same thread, in jest though, the Linux community always finds a way to exhaust a (consistent) model's options, and then come the extensions and hacks. That, however, is not the Linux community's fault--it's the nature of an advancing science and technology that always welcomes not only new users but also new types of users and entirely novel use cases. It's a matter of approach. Linux takes what I like to call the cookie monster approach, which is MORE MORE MORE. More syscalls, more ioctls, more program flags, more layers of indirection, a constant enumeration of every use case. Rarely is there a pause to check whether several use cases can be coalesced into a single more general way of doing things, or to consider whether the feature could be better implemented elsewhere in the system. This has a tendency to disrupt conceptual integrity, which hastens the above process. These days the dearth of developers make it difficult to distinguish any daring developments on plan 9, but during the decades a different derivation has been demonstrated. *ahem* Plan 9 seems to have more of a tendency to adapt. I'm sure the adoption of utf-8 and the switch from 9p to 9p2000 aren't the only examples of system-wide changes. The early labs history is rife with stories of folk joining and trying out all sorts of new stuff. The system feels like it has a more experimental nature - things that don't work get dropped and lessons are learned from mistakes. Which is sadly somewhat rare in software. More to the point, I'm yet to see a richer set of abstractions come out of another system. Private namespaces, resources as files... they might be ancient ideas, but everyone else is still playing catch up. They might not be the ultimate ideal, but if we push them far enough we might learn something. The problem is it forces the server and client to synchronise on every read/write
Re: [9fans] Do we have a catalog of 9P servers?
On Sat, Nov 15, 2008 at 2:29 AM, Eris Discordia [EMAIL PROTECTED] wrote: I don't see how port forwarding is possible at all with an imported /net. Because your mind is set - as far as you're concerned, NAT is how things work. With /net, the concept doesn't exist. The http server just imports /net and listens on port 80. No need to touch the gateway's configuration, no need to invent new protocols for dynamic port allocations (UPNP)... And lets not forget, plan 9's approach is not specific to networking. It's a property of 9p's network transparency combined with the resources as files abstraction. Lets see how well NAT serves when you want to import the graphics device from your gateway ;) More to the point, I'm yet to see a richer set of abstractions come out of another system. As for an example of a richer set of abstractions take Microsoft .NET framework. There are so many abstractions and layers of abstraction you don't know where to begin. Well, there's a reason I used the word richer. I probably wouldn't classify a large set of useless/redundant abstractions as richer than a small set of orthogonal abstractions. This isn't a criticism of .NET mind, I've never touched the thing. -sqweek
Re: [9fans] Do we have a catalog of 9P servers?
On Sun, Nov 16, 2008 at 8:39 PM, Eris Discordia [EMAIL PROTECTED] wrote: aux/listen1 -tv tcp!*!22 /bin/aux/trampoline tcp!$linux!22 And in this case you don't have an imported /net and the fabled transparency. Obviously, a linux server is going to have a hard time importing /net (in a useful way, at least until Glendix gets there). -sqweek
Re: [9fans] failed exportfs
On Mon, Nov 17, 2008 at 9:14 AM, Noah Evans [EMAIL PROTECTED] wrote: aux/listen1 -tv tcp!*!1979 exportfs -S /srv/npesurv term% 9fs tcp! myserver!1979 post... srv tcp!myserver!1979: mount failed: EOF receiving fversion reply You need /bin/exportfs, aux/listen1 doesn't search the path. -sqweek
Re: [9fans] those funny gnu guys
On Mon, Nov 17, 2008 at 3:06 PM, Enrico Weigelt [EMAIL PROTECTED] wrote: * erik quanstrom [EMAIL PROTECTED] wrote: Hi, this is just stupifying: http://tech.slashdot.org/comments.pl?sid=1029797cid=25761431 gcc is a mess, right. But is there an usable alternative ? 8c! http://gsoc.cat-v.org/hg/kenc (Anant, did you have another port as part of Glendix, or am I getting mixed up?) -sqweek
Re: [9fans] APE and listen(2B)
On Thu, Nov 27, 2008 at 1:35 PM, [EMAIL PROTECTED] wrote: Now, (a) I'm hoping someone can compile reveal.c (pcc -o reveal -D_POSIX_SOURCES -D_BSD_EXTENSION reveal.c -lbsd) in a pristine APE environment and prove to me that it works unmodified or, (b) somebody can give me some pointers on figuring out how to make sure it works. # pcc -o reveal -D_POSIX_SOURCE -D_BSD_EXTENSION reveal.c -lbsd cpp: reveal.c:58 No newline at end of file /tmp/reveal.c:45[stdin:934] syntax error, last name: socklen_t /tmp/reveal.c:55[stdin:944] case/default outside a switch /tmp/reveal.c:58[stdin:947] syntax error, last name: 0 pcc: cpp: 8c 71799: error After removing the (socklen_t*) typecast... # pcc -o reveal -D_POSIX_SOURCE -D_BSD_EXTENSION reveal.c -lbsd # ./reveal ERRNO: 12 socket accept: Invalid argument -sqweek
[9fans] plot(1) to file?
Hey guys, I've got some data I want to put in a graph. I got graph |plot going easy enough, which gets me a nice pic on the screen, but I can't work out how to generate an image file instead. plot(1) mentions troff which convinces me that it is possible, I just can't figure out how. I'm using p9p, otherwise I could probably do something clever with /dev/screen... -sqweek
Re: [9fans] image/memimage speed
On Tue, Dec 2, 2008 at 12:24 AM, [EMAIL PROTECTED] wrote: I think the real performance issue for hardware where the frame buffer is in the PCIe shared memory apperture is that writes are write-through/coalesced on their way across the PCIe, but reads can't be, and so incur huge stalls. Hah, this sounds just like 9p's latency woes. -sqweek
Re: [9fans] 9P in C++
On Tue, Dec 16, 2008 at 12:45 AM, Rodolfo kix García k...@kix.es wrote: Hi! I am working in an c++ application on linux and I would like to use a filesystem to access to the application data. Somebody knows any 9P implementation of 9P in C++? Don't see one at http://9p.cat-v.org/implementations Of course any C implementation like libixp will work fine. -sqweek
Re: [9fans] 9P in C++
On Tue, Dec 16, 2008 at 8:34 AM, Pietro Gagliardi pietr...@mac.com wrote: On Dec 15, 2008, at 6:25 PM, Rodolfo kix Garcia wrote: gcc -L /usr/local/plan9/lib -L. -ltry -lthread demo1.C -o demo1 ## OK! I think linking lthread will give you POSIX threads and that -L appends to the list, rather than going before, so /usr/lib will be searched before plan9ports. Try explicitly setting the path of the -l argument. Does -l/usr/local/plan9/lib/libthread.so (or whatever it is) help? You can't use -l with a full path, but you can simply specify the full path of the library: gcc -o demo1 demo1.C /usr/local/plan9/lib/libthread.a Note that the order of the objects on the command-line is as usual important. -sqweek
Re: [9fans] devtrace release time
On Thu, Dec 18, 2008 at 12:52 PM, lu...@proxima.alt.za wrote: Uriel is renowned for demanding tools to be released on principle, without him having any practical need for them. I don't see why uriel having a practical need for them or not is relevant. I see the relevant question as does /anyone/ in the community have a practical need for the tool?. That's really hard to answer when the mere fact that the tool exists is not readily available to the community (how DO we know about the x86-64 kernel? I think everything I've heard about it has been via uriel). He lands up sounding like a peevish, ungrateful child who just wants more sweets even though his hands are already full. But unlike a child looking for sweets, uriel isn't complaining for his own benefit: What could he possibly need with devtrace anyway? Exactly! His desire is not to get the code for himself, but for the code to be available for anyone who does want to use/debug/develop it. Yes, uriel's manner is abrasive, and it gets old listening to him make the same complaints over and over. But it boils down to this: when uriel perceives an inhibitor to plan 9's growth and development, uriel raises his voice (because no one else will!). Maybe he's not always right, and maybe his righteous attitude makes him hard to reason with, but his heart is in the right place. -sqweek, wishing we could all just get along PS. Congrats on the release, John/Ron/Aki!
Re: [9fans] devtrace release time
On Thu, Dec 18, 2008 at 5:47 PM, lu...@proxima.alt.za wrote: Or, for that matter, evaluate the risk of releasing it prematurely? What risk? -sqweek
Re: [9fans] devtrace release time
On Fri, Dec 19, 2008 at 1:54 AM, Steve Simon st...@quintile.net wrote: I'm yet to see anyone demonstrate a disadvantage of doing so. the problems with publishing code is you have to: write the manual document the install process remove all the debug cruft that you where leaving just in case No no no, this is all release oriented stuff! Just put the code up so if someone really interested happens by they can check it out and work the details out themselves. What's the disadvantage there? field emails about how it: doesn't Work they way I expected it suicides if I press Alt-J the whole design is fucking braindamaged I'm not understanding how feedback qualifies as a disadvantage. Unless you're writing a twitch game or MMORPG, then I could understand not wanting to hear from your users. and we take prinde in our work, don't we? Of course. But it's silly to entertain the notion that code comes off our fingertips perfect and fully formed. It's software: there's bugs, there's design flaws, development is incremental. Often it can be useful long before it is perfected. whats worse is if you publish a tar and then somone fixes a load of stuff but in the meantime you are working and your code gets out of sync so you have to merge by hand. At least this represents a modicum of cooperation. Without the published tar to start from, that someone may well start from scratch and duplicate whatever effort you've already put in. Good luck a) finding and b) merging any fixes from a completely separate tree. use CVS (or whatever is trendy) I hear you say? Well you have to set that up, and if you have CVS you have to police it, what if people check in broken code. It all takes time and concerntration, which would be better spent on getting on with the code and sorting it out. Disagree. Well, you're right that it takes time. But that time is a one time cost, to set up and learn to use the VCS. Once you've made that investment there is no constant drain on your time/concentration. I'm not sure I agree that the time is better spent coding - I think if you actually sat down with a modern DVCS like mercurial or git you'd find it actually creates quite a nice environment for collaboration. No need to worry about policing anything using the pull model. It's not like version control systems have a monopoly on tools you need to invest time in before gaining productivity from them. Awk, acid, acme, spin all require a certain amount of time investment to understand how they work before the become useful tools. One of the biggest things we lack is Wifi support (IMHO) and Russ put up his incomplete Centrino driver a few years ago. How much interest has that sparked? Like I was saying, publishing code doesn't *generate* interest. It just leaves open the possibility of someone using it later. Similarly the sshv2 code, though we now have openssh so its less of a problem. Michiel was looking at this just the other week. (my OS has 64 bits and yours doesn't), What OS doesn't have 64 bits these days, aside from Plan 9? -sqweek
Re: [9fans] Changelogs Patches?
On Tue, Dec 30, 2008 at 8:54 AM, Roman Shaposhnik r...@sun.com wrote: Personally, though, I'd say that the usefulness of the dump would be greatly improved if one had an ability to do ad-hoc archival snapshots AND assigning tags, not only dates to them. Tags don't make that much sense in this context since the dump is for the whole filesystem, not a specific project. However, tagging a source tree can be done with a simple dircp. It's not as though the duplicate data costs you anything when you're backed by venti. -sqweek
Re: [9fans] RFNOMNT and/or least privilege
On Wed, Jan 7, 2009 at 3:24 PM, Dave Eckhardt davide...@cs.cmu.edu wrote: The web server infrastructure seems pretty focused on running as user none, which makes sense as far as it goes, but I don't want none to be able to read the files served by the web servers because anybody who can log in to the machine can become none. Pegasus[1] is different here, it has namespace seperation between virtual servers which run as arbitrary users. I can't really comment on other differences, as I'm not very familiar with httpd. Or pegasus, for that matter ;) I just read the intro the other day and it sounds like something you might be interested in. [1] http://plan9.aichi-u.ac.jp/pegasus/ -sqweek
Re: [9fans] pull doesn't work due to unavailable sources; travelmate 291LCi specials
On Fri, Jan 9, 2009 at 11:17 PM, Rudolf Sykora rudolf.syk...@gmail.com wrote: I tried to install plan9 on one of my computers and wanted to update it running 'pull'. However, it doesn't work, perhaps because the home pages of plan9 at Bell labs don't work. I somehow have a feeling there are problems with those pages every now and then. Is it so? Why? Yeah, I can't connect to sources at the moment. I get as far as post... and then 9fs blocks. -sqweek
Re: [9fans] plan9port openbsd 4.4
On Mon, Jan 26, 2009 at 10:34 AM, Fernan Bolando fernanbola...@mailc.net wrote: rio seems to work fine, but I have been getting a few 9serve.core dumps. I also get the following when running acme _procstart rfork_thread: Resource temporarily unavailable Abort trap and few broken pipes message. Hm, does this work? 9p -n -a sources.cs.bell-labs.com ls / I run netbsd and after recently updating p9p I get a Memory Fault trying to do this, and a couple of process hanging around. I had a quick go at debugging it but it was fairly inscrutible. I got the impression it was libthread related but haven't found time to look at it in more detail. -sqweek
Re: [9fans] p9 file server (npfs) w/ authentication
On Mon, Jan 26, 2009 at 1:13 PM, lu...@proxima.alt.za wrote: This seams to be a complete Unix file system exporting solution for accesing remote file systems from Plan 9. Does u9fs (which I have used extensively for many years :-|) actually provide proper authentication? It does p9sk1, but it consults a plain text file rather than a factotum for its key. -sqweek
Re: [9fans] Small program PlanKey (paraphrase of DOSKey)
On Wed, Jan 28, 2009 at 7:26 AM, erik quanstrom quans...@quanstro.net wrote: supposedly, using nobs for a pager and setting the term to dumb is enough. evidently, i'm doing it wrong. python tools just love spitting out goofy escapes. rm /usr/lib/python*/lib-dynload/readline.so -sqweek
Re: [9fans] Small program PlanKey (paraphrase of DOSKey)
On Wed, Jan 28, 2009 at 7:12 AM, Roman V. Shaposhnik r...@sun.com wrote: I don't believe anybody else, but engineers, spend the majority of time dealing with text. code is text. data is text. -sqweek
Re: [9fans] Pegasus 2.6 is released
On Sun, Feb 1, 2009 at 4:27 PM, John Barham jbar...@gmail.com wrote: Dynamic loading allows scripting languages to load arbitrary binary extensions at run-time. Without dynamic loading in Plan 9... You're missing the beauty of 9p. Who needs dynload() when you have mount()? -sqweek
Re: [9fans] Sources Gone?
On Tue, Feb 3, 2009 at 9:54 PM, erik quanstrom quans...@quanstro.net wrote: Yes, but the content isn't guaranteed to be from a single user. In fact, venti has no clue. Change that and it's not venti anymore. exactly. but it's important to note that it's crypto hard to guess somebody else's block. Is it? Well, to guess a specific block, obviously. I'm pretty ignorant about the structures used to store trees in venti - would it be possible to reconstruct the block containing the root of a particular tree given say, /n/dump? Presumably something along the lines of vac /n/dump/2009/0204 would suffice, but failing that you still don't need to guess exactly the block you are looking for... How long would it take to brute force a block of a tree (giving you references to lots of other blocks) from venti? -sqweek
Re: [9fans] Web interface to '/n/sources/contrib' gone??
On Tue, Feb 10, 2009 at 1:13 PM, Pietro Gagliardi pietr...@mac.com wrote: I'm trying to transfer files from my Plan 9 virtual PC to Mac OS X for printing; QEMU has no USB yet and SAMBA fails on Mac OS X Leopard. I print on systems without plan9ports, and where I have no development tools (so I can't build it). Right now I've been using my FTP server, but it disconnects me after I access the PDF file, so I need to log on and delete it. Drawterm/9vx should work also. Though it doesn't help the overloaded bell-labs http server, of course ;) -sqweek
Re: [9fans] source browsing via http is back
On Wed, Feb 11, 2009 at 7:28 AM, erik quanstrom quans...@quanstro.net wrote: what extra work would that be, that it pulls files in their entirety (IOW: cp /n/sources/... /) i would be very suprised if a single copy of sources had many shared blocks. He doesn't want a single copy though, he is hoping to mirror sourcesdump. That's 2255 almost-copies of sources. Yes, there will be changes in each snapshot, but how often does something like /extra/python.iso.bz2 change? -sqweek
Re: [9fans] 2 acmes using plan9port
On Thu, Feb 19, 2009 at 10:23 PM, roger peppe rogpe...@gmail.com wrote: On 19/02/2009, Rudolf Sykora rudolf.syk...@gmail.com wrote: what needs to be done in order to be able to run two acme programs? When I try to run it twice I get 9pserve: announce unix!/tmp/ns.ruda.:0/acme: Address already in use acme: can't post service: 9pserve failed i'd just change $NAMESPACE, as documented in intro(4). Heh, I'm doing both of the suggestions in this thread, with a wrapper script: http://sqweek.dnsdojo.org/plan9/acme -sqweek
Re: [9fans] Acme huge bar
2009/2/27 erik quanstrom quans...@quanstro.net: On Thu Feb 26 12:24:36 EST 2009, mog-li...@rldn.net wrote: its because you dont want half a line of text shown. it can only resize and have the thin bar for full increments of text. Mog i think this is still a bug. the slop should not be part of the tag it should be part of the frame and wherever it is, it should be background color, not black. - erik I kind of like black in that it makes it obvious. In p9p the slop is the background colour, but when the mouse is over it your keypresses go nowhere instead of to the frame. Of course this probably qualifies as another bug :) -sqweek
Re: [9fans] what features would you like in a shell?
2009/4/1 erik quanstrom quans...@quanstro.net: I've not run into many actual problems with rc so it's pretty near perfect : pretty near. redirection has a few rough points. dealing with a device that expects a write then a read like /net/dns is painful. i can never get the syntax right the first try. and (hopefully this isn't just my ignorance) i don't know how to open a fd to a background shell as one would in bourne. I haven't sat down and understood the finer points of rc's redirection yet, but the precedence relationships between and | certainly confuse the hell out of me, coming from bourne ;) I'd like to see a shell that, when confronted with a pipeline that looks like foo ... | ... foo, realises input and output are headed for the same file, and does whatever it needs to do to avoid clobbering the file before reading it. re not reinventing the wheel, you might want to look into the es shell. I think this is what erik alluded to earlier - I've never used it myself but I understand it is extremely programmable, to the point where you can redefine the pipe operator for example. -sqweek
Re: [9fans] GSOC: Gitfs
2009/4/2 Eric Van Hensbergen eri...@gmail.com: On Thu, Mar 26, 2009 at 4:54 PM, Federico G. Benavento benave...@gmail.com wrote: you could also use uriel's port of git to Plan 9, I think Googling fails me, where? I remember he started the port but I'm not sure he got it functional. I presume it is /n/sources/contrib/uriel/git9.tgz , whatever state it is in. -sqweek
Re: [9fans] double click selects a word
2009/4/6 erik quanstrom quans...@quanstro.net: is there any good reason for a double click (in rio, sam, acme, ...) to select a word (probably) defined by sth. like /[a-zA-Z0-9_]+/ and not sth. white-space delimited instead? acme is for programming. the existing behavior is much better for programming where strings are generally delimited by . rxvt-unicode has an option where you can have the selection grow on subsequent clicks. ie, double click selects a word, another click widens the selection to a whitespace seperated token, another click widens the selection to the whole line, then sentence/paragraph/etc/etc. I only ever used it for 5 minutes in between the feature being introduced and me working out how to turn it off, but it may be a way to get the best of both worlds, if awkwardly. -sqweek
Re: [9fans] a bit OT, programming style question
2009/4/7 Corey co...@comfortstore.net: Keyboard bindings for example; why couldn't they be handled by a program that just does keyboard bindings + line editing, and writes finalized lines to the shell. Congratulations, you've perceived the difference between shell and terminal. A lot of people stuck in modern unix fail to notice this one... which is not that surprising considering the state of modern unix terminals (9term excepted - quiet Anothy :P). -sqweek
Re: [9fans] a bit OT, programming style question
2009/4/7 Eris Discordia eris.discor...@gmail.com: Keyboard bindings for example; why couldn't they be handled by a program that just does keyboard bindings + line editing, and writes finalized lines to the shell. Like... readline(3)? No. -sqweek
Re: [9fans] Tokyo Inferno / Plan 9 Users Group
2009/4/16 hugo rivera uai...@gmail.com: BTW, maybe there is someone offering access to a plan 9 installation closer to Italy? There's http://www.9grid.it but I don't know what sort of access it provides... -sqweek
Re: [9fans] Plan9 - the next 20 years
2009/4/21 erik quanstrom quans...@coraid.com: http://moderator.appspot.com/#15/e=c9t=2d You must have JavaScript enabled in order to use this feature. cruel irony. No silver bullet, unfortunately :) Ken Thompson wrote: | HTTP is really TCP/IP - a reliable stream transport. 9P is a | filesystem protocol - a higher level protocol that can run over | any of several transfer protocols, including TCP. 9P is more | NFS-like than HTTP. | | HTTP gets it's speed mostly by being one way - download. Most | browsers will speed up loading by asking for many pages at once. | | Now for the question. 9P could probably be speeded up, for large | reads and writes, by issuing many smaller reads in parallel rather | than serially. Another try would be to allow the client of the | filesystem to issue asynchronous requests and at some point | synchronize. Because 9P is really implementing a filesystem, it | will be very hard to get any more parallelism with multiple outstanding | requests. I followed it up with a more focused question (awkwardly worded to fit within the draconian 250 character limit), but no response yet: Hi Ken, thanks for your 9p/HTTP response. I guess my real question is: can we achieve such parallelism transparently, given that most code calls read() with 4k/8k blocks. The syscall implies synchronisation... do we need new primitives? h8 chr limit -sqweek
Re: [9fans] persuade contrib/install to work
2009/5/26 Rudolf Sykora rudolf.syk...@gmail.com: How can I persuade contrib/install to use what I've already had under /n/sources? /dist/replica/contrib:7: fn servermount { 9fs sources } -sqweek
Re: [9fans] state of the mirrors
2009/6/2 Anant Narayanan an...@kix.in: On Mon, Jun 1, 2009 at 2:14 AM, Jano sor...@gmail.com wrote: mirrors. I have tried kix.in, which i know ised to be more stable than bell-labs, but my attempts to mount it via 9p have all failed. Also, % 9fs kix.in /n/sources seems to work fine for me. Are you getting a timeout? cpu% srv kix.in post... cpu% mount /srv/kix.in /n/kix.in mount: mount /n/kix.in: Hangup There is a long delay before I get Hangup. I was wondering if it was trying to communicate with some random auth server (I certainly have no authdom= entry for kix.in) but looks like it doesn't even get that far: cpu% aux/9pcon -n net!kix.in!564 Tversion 1024 9P2000 - Tversion tag 65535 msize 1024 version '9P2000' read9pmsg from server: connection refused Again, long delay before the error. -sqweek
Re: [9fans] Drawterm /mnt/term permissions issue
2009/6/5 Ethan Grammatikidis eeke...@fastmail.fm: the guest sees all user/group names as unknown/unknown, preventing writing. incorrect diagnosis. cpu% ls -ld /mnt/term/home/sqweek/tmp d-rwxrwxr-x M 68780 unknown unknown 4096 Jun 5 16:07 /mnt/term/home/sqweek/tmp cpu% touch /mnt/term/home/sqweek/tmp/lol cpu% ls -l /mnt/term/home/sqweek/tmp/lol --rw-rw-rw- M 68780 unknown unknown 0 Jun 5 16:11 /mnt/term/home/sqweek/tmp/lol -sqweek
Re: [9fans] Plan9 as an everyday OS
lies! we had ac97 working on the t23 at IWP-Bondi! -sqweek 2009/7/11 cinap_len...@gmx.de: usb audio... havnt tried it with ac97 on my t23 yet. -- cinap -- Forwarded message -- From: j...@csplan9.rit.edu To: 9f...@9fans.net Date: Fri, 10 Jul 2009 18:01:35 -0400 Subject: Re: [9fans] Plan9 as an everyday OS had no success with mplayer yet because of lacking mmx support. got ffmpeg to compile (without mmx/sse) and play on linuxemu, but it was too slow on my 1 ghz via machine. -- cinap Whare are you using for an audio device on Plan 9? The AC97 driver? Or did you buy a USB audio thing? John
Re: [9fans] v9fs question
You'll notice it still tries mount(2) after stat(2) reveals that mount.9p doesn't exist. mount(8) always looks for a helper and will call it if it exists, but it doesn't fail when no helper is present. As others have said, mount(2) doesn't do name resolution, but by my reading that should give you an Invalid argument error instead of Protocol not supported. However the only place I see EPROTONOSUPPORT looks like an impossible code path... unless you have CONFIG_9P_FS enabled in your kernel but not CONFIG_NET_9P... which also shouldn't be possible with a current kernel. What version are you running? Anyway, note that if you auth you'll need supporting software from p9p also. Factotum and srv -a, in particular, then give v9fs a -o trans=unix. Oh, and to preempt the question why 9mount is not packaged as mount.9p - mount(8) requires that you are root or your mount target is in fstab with '-o user' before calling the helper, defeating the purpose of an SUID mount.9p. -sqweek 2009/7/12 Tim Newsham news...@lava.net: On Sat, 11 Jul 2009, Eric Van Hensbergen wrote: Hmmm, that's really new behavior-- never used to fail without mount helper. Can you give the exact error message? # strace -o trace.txt mount -t 9p thenewsh.com /mnt mount: Protocol not supported Trace.txt is attached with full details. I've tried several variants, such as thenewsh.com:/path with similar results. On Jul 11, 2009, at 1:46 PM, Tim Newsham news...@lava.net wrote: The documentation in the linux kernel says you merely mount -t 9p ipaddress /mntpoint this fails on my system since /sbin/mount tries to execute /sbin/mount.9p and fails. Am I supposed to have an /sbin/mount.9p? (Anyone know which ubunutu package should have this? If not, where I might find sources? Ironic since Ubuntu came with the 9p kernel module) Or should I be using a different mount program for the purpose? The linux Documentation/filesystems/9p.txt should probably be updated with more details, either way.
Re: [9fans] Plan9 as an everyday OS
/n/sources/contrib/mason/ac97.tgz Worked out of the box, just had to drop it in place and recompile the kernel. -sqweek 2009/7/12 Uriel urie...@gmail.com: With which ac97 driver? uriel On Sat, Jul 11, 2009 at 12:13 PM, sqweeksqw...@gmail.com wrote: lies! we had ac97 working on the t23 at IWP-Bondi! -sqweek 2009/7/11 cinap_len...@gmx.de: usb audio... havnt tried it with ac97 on my t23 yet. -- cinap -- Forwarded message -- From: j...@csplan9.rit.edu To: 9f...@9fans.net Date: Fri, 10 Jul 2009 18:01:35 -0400 Subject: Re: [9fans] Plan9 as an everyday OS had no success with mplayer yet because of lacking mmx support. got ffmpeg to compile (without mmx/sse) and play on linuxemu, but it was too slow on my 1 ghz via machine. -- cinap Whare are you using for an audio device on Plan 9? The AC97 driver? Or did you buy a USB audio thing?
Re: [9fans] Plan9 as an everyday OS
I suspect the main inhibitor there is that (as I recall) it stomps all over the existing soundblaster code. These days AC97 is probably more desirable, but it would be nice to have them coexist. -sqweek 2009/7/13 Bela Valek bval...@gmail.com: Hi Everybody, This AC97 driver seems to be around for awhile already. Why don't you just include it in the distribution? I suggest to fix the problem you guys found, compile the kernel with it, and add it to the default install CD image.
Re: [9fans] v9fs question
2009/7/13 Latchesar Ionkov lu...@ionkov.net: On Mon, Jul 13, 2009 at 2:24 AM, sqweeksqw...@gmail.com wrote: Anyway, note that if you auth you'll need supporting software from p9p also. Factotum and srv -a, in particular, then give v9fs a -o trans=unix. I don't think that auth is working with v9fs at all. The auth support got dropped accidentally with some of the changes, probably when access=user|any|uid was introduced. I.e. my fault. I didn't realise v9fs ever had auth support. Here is how I've been getting an authenticated mount for years: # create mountpoint $ n=$HOME/n $ mkdir -p $n/wren # need factotum running to do the dirty work $ factotum # srv -a posts a pre-authenticated socket in the p9p ns directory # wren is my fileserver $ srv -a wren !adding key: role=client proto=p9sk1 dom=sqweek.dnsdojo.org user[sqweek]: password: $ 9mount -i 'unix!/tmp/ns.sqweek.:0/wren' $n/wren (or) $ mount -t 9p -o uname=sqweek,trans=unix,noextend,dfltuid=$(id -u),dfltgid=$(id -g) /tmp/ns.sqweek.:0/wren $n/wren # I'm not sure if uname is strictly necessary $ 9bind $n/wren/home/sqweek/mail $HOME/sqweek/mail # various other binds Jorden mentioned it's a bad idea to let anyone mount anything because everyone shares the same namespace. 9mount does have some sanity checks for that environment, it will only let you mount over a directory you have write access to (and isn't sticky) or is under your home dir. Never really been field tested though :) Adding the support we had before the access= support is probably easy, but I would like to make it better and support authentication for multiple users. Still no idea what is the correct way. :( Any suggestions are welcome. Can't help you there - I'm not sure it makes sense to try and put factotum's functionality in the linux kernel... Is there some problem with the private namespace/individual user mount approach? -sqweek
Re: [9fans] v9fs question
2009/7/13 Eric Van Hensbergen eri...@gmail.com: On Mon, Jul 13, 2009 at 3:24 AM, sqweeksqw...@gmail.com wrote: Anyway, note that if you auth you'll need supporting software from p9p also. Factotum and srv -a, in particular, then give v9fs a -o trans=unix. Any chance we can get fossil integration into 9mount directly? Most of the code is already available in some p9p code that lucho wrote called amount. It would complicate build a bit because you need libraries from p9p, but perhaps it could be conditional compilation. I'm not too fond of the idea... It's not as though amount adds any new functionality over srv+mount[1], and I hate throwing more code at a problem when equivalent code exists elsewhere. Having to introduce a link time dependency on p9p doesn't help convince me either - the current arrangement seems to provide a decent seperation of responsibility. The mount.9p symlink sounds pretty reasonable though, I'll get around to that sometime. [1] actually back when I read over amount I even concluded that it used the same trick as srv -a just with a pipe instead of unix socket! failed to notice the Tversion/Tattach subtlety. is it really worth the coupling to go back to that approach? -sqweek
Re: [9fans] Using Acme as an external Editor
2009/7/28 J.R. Mauro jrm8...@gmail.com: One caveat about E: if you're paranoid like I am and save your file many times while editing, E will not be terribly friendly until you train yourself to save only when finished. (This is not a criticism of E, it is merely a warning to people with my kind of idiosyncrasies) Heh, I do this too. Ended up writing http://sqweek.dnsdojo.org/plan9/acmeedit which also adds a Cancel option so you can end the editing session with a non-zero exit (used by some callers to abort the operation). -sqweek
Re: [9fans] nvram
2009/7/29 erik quanstrom quans...@quanstro.net: Hmm. A few years ago, I ran into a similar problem and added a variable that could be set in plan9.ini to specify where the nvram actually is. It works reasonably well difficult to maintain in a pretty active environment; one more reason for boot failure. Speaking of, I had a disk in my server die recently, and eventually it affected the nvram partition. So of course, when I booted up it couldn't read it and prompted me for the auth credentials, then tried to write back to nvram, got an i/o error and rebooted. The reboot could have been caused by some other problem shortly after (the motherboard seems to have given up on me also), but it raised the question - does an unsuccesful write to nvram halt the boot process? -sqweek
Re: [9fans] ceph
2009/7/30 Roman V Shaposhnik r...@sun.com: This is sort of off-topic, but does anybody have any experience with Ceph? http://ceph.newdream.net/ Good or bad war stories (and general thoughts) would be quite welcome. Not with ceph itself, but the description and terminology they use remind me a lot of lustre (seems like it's a userspace version) which we use at work. Does a damn fine job - as long as you get a stable version. We have run into issues trying out new versions several times... -sqweek
Re: [9fans] nvram
2009/7/31 erik quanstrom quans...@quanstro.net: Speaking of, I had a disk in my server die recently, and eventually it affected the nvram partition. So of course, when I booted up it couldn't read it and prompted me for the auth credentials, then tried to write back to nvram, got an i/o error and rebooted. The reboot could have been caused by some other problem shortly after (the motherboard seems to have given up on me also), but it raised the question - does an unsuccesful write to nvram halt the boot process? no. it happens to me all the time. (when there is no place to write nvram, as when no disk is partitioned.) OK, but you won't hit an error in that case either. I was wondering whether the i/o problem was tripping it up. -sqweek
Re: [9fans] audio standards -- too many to choose from
On 12/08/2009, Tim Newsham news...@lava.net wrote: Draw the line at what the hardware can be told to decode with a flip of a register? The driver interface can easily accomodate arbitrary encoding names (see inferno's driver for an example). One thing I haven't seen mentioned (perhaps because I misunderstand) is the added state that comes from allowing multiple formats. Actually, I think this problem exists with the current interface already - say I have a program playing music at 44kHz and then I get an email or something that I've set up to cause an aural alert, but the program that does that wants to work at 22kHz. This sort of interaction sounds bad enough to me, I don't even want to think about what it would sound like if the music was in mp3 and the alert changed the kernel format to wav. I guess this is where mixerfs and the like enter the picture, but I've come to think of the kernel as a hardware multiplexer so I'm liking the idea of having the kernel support multiple formats. Then again, I also respect the argument that the kernel is not a hardware multiplexer but a hardware abstractor - doesn't matter what's down there the kernel provides the same interface. From this point of view the simple approach is compelling, have /dev/audio exclusive write to avoid the above sort of interaction and mix in userspace (or is there still playback/recording sample rate interaction?). I think everyone agrees it doesn't make sense to have an mp3 decoder in-kernel... -sqweek
Re: [9fans] sd(3) and concurrent readers/writers?
2009/9/13 erik quanstrom quans...@quanstro.net: but i was wondering why cmp would just work. it occurred to me that i could run the dds in parallel with a command like this cmp {dd -if data -bs 64k -count 2} {dd -if ../sda1/data -bs 64k -count 2} Cmp was actually my original method, it wasn't until things started going funny that I switched to md5sum, to rule out {} as a potential problem source and get some more feedback on the blocks themselves. surprisingly, this was just as fast on my setup as the specalized program That is interesting to hear though :) -sqweek PS. not much progress on my server - having trouble getting ethernet up to connect to sources and check out your sd stuff.
Re: [9fans] operator
2009/9/17 Rudolf Sykora rudolf.syk...@gmail.com: Hello, is the operator a feature only of native plan 9? It doesn't seem to work for me in p9p... Is the right solution then, instead of program file write program file file_tmp mv file_tmp file It works fine in p9p, however it doesn't do what you want it to do. opens a file for reading and writing, on a single file descriptor (default 0 iirc). You can then duplicate that to stdout ([1=0]) so the process is reading and writing to the same file, but I'd be very surprised if that satisfies your requirements. The tmp file trick is the most reliable idiom for this task, as far as I'm aware. -sqweek
Re: [9fans] corrections to /sys/src/cmd/8l/l.h
2009/9/30 lu...@proxima.alt.za: PS: ELF output and other such issues is also on my list of things to check out, but it adds even more complexity to something that really confuses me already. http://gsoc.cat-v.org/projects/kencc/
Re: [9fans] remedial sources auth, connect, and mount in plan9port
2009/10/1 Ethan Grammatikidis eeke...@fastmail.fm: On Thu, 1 Oct 2009 04:50:40 -0500 Jason Catena jason.cat...@gmail.com wrote: $ touch this touch: cannot touch `this': Hammer Time! Fixed. $ ls -lad drwxrwxr-x 1 4294967294 4294967294 0 2009-09-30 23:11 . You have numbers for user and group names there. Un*x likes the numbers, but plan 9 wants strings. Yeah, I suspect at this point the linux kernel is denying the operation based on its idea of permissions. there's a v9fs mount option you might try... I forget what it is exactly but 9mount -i does it :) Try: 9mount -i 'unix!/tmp/ns.jdc.192.168.1.101:0/sources.cs.bell-labs.com' /n/sources -sqweek
Re: [9fans] mishandling empty lists - let's fix it
2009/10/4 Sam Watkins s...@nipl.net: I wrote: I don't see how this can be fixed in unix without breaking umpteen million shell scripts. On Sun, Oct 04, 2009 at 06:12:15AM +0200, lu...@proxima.alt.za wrote: By creating new commands with distinct new names. I thought of a better way. We can fix the commands without breaking compatibility, using `--'. `--' in unix normally excludes further options. It seems to me the obvious way to gain consistency is to do the list parsing in one place only: fn apply { cmd=$1 shift while(! test $1 = :) { cmd=($cmd $1) shift } for(i in $*) $cmd $i } # eg: apply grep foo : *.c Of course, this is likely to run you into other problems with the way some programs want to use their arguments, which is why unix/plan 9 adopt the pragmatic approach. PS. excuse the test usage, feel free to point out the ~ idioms - if I see them often enough they might stick in my memory :) PPS. i didn't actually check the semantics of for on an empty list, maybe a conditional is required -sqweek
Re: [9fans] iwp9: getting from Atlanta to Athens
I arrive at Atlanta airport at 2009-10-20 17:20. Don't have a license, intend to take the athens airport express unless someone is there to coordinate with :) -sqweek
Re: [9fans] environment variables
2009/11/24 Rudolf Sykora rudolf.syk...@gmail.com: If I have an rc script and I don't specify any rfork in it, then the namespace and the environment should be shared. snip But it does not work like that, thanks to some caching or what. How should the 'b' script, or whatever, be corrected so that it work? Rc forks a new process for every [non builtin] command it runs. To avoid such, use the . command to source the script instead of running it. Further, I am now a bit puzzled about whose property the 'current directory' is. Why isn't the directory changed to 'c' after runing either the 'a' or 'b' script? Is this always a local property of each shell? Each process has a current dir. I don't think it is ever shared between them. -sqweek