[9fans] new toy - gmap
New toy, a google maps client in a few lines of script - thanks to them rather than plan9. With no args it looks in /lib/sky/here and displays where you are, with some args describing a place on the planet it tries to show you the local roads. It should really have a GUI that lets you zoom and pan and select road, aerial or hybrid maps but that will wait for another day. You will need to sign up for a google maps key, though this is free and no significant demographics are required. I find it useful, YMMV /n/sources/contrib/steve/rc/gmap -Steve
Re: [9fans] new toy - gmap
A new version of gmap on will be on sources shortly, thanks to erik. > Screenshots, s’il te plaît? It just generates a gmap map or satellite image of the place you name, try http://maps.google.com to see a demo. The difference is you cannot zoom and pan the image once its loaded, on the plus side it runs natively on plan9 and it took ½ an hour to write. -Steve
Re: [9fans] new toy - gmap
Pick up the new code, it reads the key from /lib/gmapkey and gets the longditude and latitude the correct way round (as several people have told me. then try gmap -s and wave your arm out fo the window. -Steve
[9fans] way OT but shocking none the less
On March 9th SGI was delisted from NASDAQ and on April 1st it was purchased for just $25M by Rackable Systems. Google will tell you more if you want. -Steve
Re: [9fans] fossil caching venti errors
> cd /n/dump/2009 > for (i in *) { test -d $i$home/tmp || ls -d $i$home/tmp } > for (i in *) { test -f $i/mail/box/$user/mbox || ls $i/mail/box/$user/mbox } no problems here, and my server is a dual cpu PIII. I last built a kernel on the 11th of feb so if this is a very recent but I may have been too lazy to install it... -Stev e
[9fans] good CSP practice
As an uneducated programmer, used to threads, semaphores, mutexes and queues, I am embarking on a multithreaded file server. My server speaks a protocol on a network socket, and exposes a virtual file system containing both data and control files. the data file maps directly to a Channel, but the control file can take several different types of message. Should I create a Channel for each type or message or should I have a single control file and messages of the form: struct Msg { int type; char *ctrlmsg; }; and then demultiplex in my receiving thread? I know Channels and Threads are cheap but is it good practice to use them with impunity? [I remembers a lecture on the Transputer - "just think of creatinga process as being as cheap as a function call" ] -Steve
Re: [9fans] extensions of "interest"
> in the immortal words of Colin Chapman: "Complicate, then add weight". Is this sarcasm? I remember the quote as: "To add speed, add lightness" -Steve
Re: [9fans] exportfs security question
> truerand() returns (at most) 32 bits of entropy, which gets pushed into > srand() and then 32 bits of entropy are read back out... why not just use > truerand() directly? This bit I know, truerand() reads /dev/random (see cons(1)) and can only generate "a few hundred bits per second". rand is pretty good (I think) but it is predictable, by seeding it from truerand() the predictability is avoided. -Steve.
Re: [9fans] Help for home user discovering Plan 9
... > hasn't matured to that point and its age is already > past when it had a chance to mature. Methinks he doth protest too much. -Steve
Re: [9fans] vgadb woes
I thought russ posted a program that runs under X11 (on unix) and prints the video config for the current mode in vgadb form. I had a search but couldn't find it so perhaps it was wishful thinking, alternatively perhaps this wil jog somones elses memory. -Steve
Re: [9fans] security questions
I am interested in the idea of adding some kind of resource limits to plan9. If they existsed I would probably open it up to external users, however different things would worry me: CPU use Implement the Fair share scheduler User memory Working swap would do me to fix this, but sadly rlimits would probably be easier to implement. Network bandwidth Again a FSS type algorithm delaying or dropping packets could rate control the network well I think. Dialing remote ports I don't become a spam relay so some restriction must be in place, I guess this would require a minor modification to the IP stack. Fork bombs Erik's mod would help, but add a seccond threshold where after 15 secconds you kill the proc failed the most fork() calls - the danger here is a spam storm may cause listen(1) to be killed. Running out of kernel memory I don't perceive this as a problem, though this could be my lack of vision. My 2¢ worth. -Steve
Re: [9fans] security questions
My understanding is that would prevent people listening and pretending to offer services on my behalf, but would not stop them dialing SMTP ports on other machines and sending them spam. -Steve
Re: [9fans] Help for home user discovering Plan 9
> The Plan9 project started in 1980, took around 9 years to be solid > enough to be usable and that too by the internal and, or lab people > [http://plan9.bell-labs.com/sys/doc/9.html] only. I was using plan9 outside of bell labs in 1993 - not very aggressively I admit but I didn't have the skils then that I do now. It was solid and usable at the time. > Whereas, the FreeBSD > and, or Linux (though not an OS or Unix variant in a sense) came into > existence later in 1993 and 1991 respectively are more popular among any > other variants of Unix. I first remember seeing references to Linux as a reworking of the Minix project in 1988. BSD has been around forever. > IMHO, the Plan9 and, or Inferno are just failed attempts and have no > real and, or viable commercial and, or industrial use in absence of > hardware drivers and, or not the killer but some useful applications. You are, of course, entitled to your own opinion, its a shame you didn't do more research however. > Moreover, the user interface and, or window manager i.e. rio is too > technical for an average user to put in to a good use. Too "technical"? Really? > It lacks usual > buttons for minimizing (hiding), maximizing, controlling windows. You > can't even send a window to background and even if Inferno's wm has some > of these including title bars, but the meanings and, or behavior of the > same is quite different from other popular GUI systems. Here we agree -Steve Registered Plan9 User #954854834843
Re: [9fans] Help for a home user discovering Plan 9
> There's aquarela which is a CIFS server, but I'm not sure > about client. I seem to remember it being worked on at > one point, but I'm not sure if it was ever completed. cifs(1) (cifs client) is alive and well at contrib/install steve/cifs I use it every day at work, its only (known) limitation is that its DFS client can only follow intra-server links. You can work around this by mounting serves as you need them and bind(1)ing over the broken DFS link. -Steve
[9fans] Plan9 - the next 20 years
I cannot find the reference (sorry), but I read an interview with Ken (Thompson) a while ago. He was asked what he would change if he where working on plan9 now, and his reply was somthing like "I would add support for cloud computing". I admin I am not clear exactly what he meant by this. -Steve
Re: [9fans] Plan9 - the next 20 years
I assumed cloud computing means you can log into any node that you are authorised to and your data and code will migrate to you as needed. The idea being the sam -r split is not only dynamic but on demand, you may connect to the cloud from your phone just to read your email so the editor session stays attached to your home server as it has not requested many graphics events over the slow link. When I first read the London UKUUG Plan9 paper in the early nineties I was managing a HPC workstation cluster. I misunderstood the plan9 cpu(1) command and thought it, by default, connected to the least loaded cpu server available. I was sufficently inspired to write a cpu(1) command for my HP/UX cluster which did exactly that. Funny old world. -Steve
Re: [9fans] web server
> http://myserver/magic/cgi/foo check the logfile /sys/log/httpd/clf also, don't you want to do somthing more like: http://myserver/magic/cgi/foo?var1=val1?var2=val2 This is an educated guess rather tha experience talking. -Steve
Re: [9fans] Help for home user discovering Plan 9
> Let me repeat that the question is/was, "Who uses Plan9 in the Offices, > homes and, or cafes for commercial and, or industrial application". I use plan9 at home and at work as a development environment. It is my primary desktop OS, though I do VNC onto other OSs to use more complex websites (like my bank). vote +1 -Steve
Re: [9fans] Plan9 - the next 20 years
> I thought 9p had tagged requests so you could put many requests in flight > at > once, then synchronize on them when the server replied. This is exactly what fcp(1) does, which is used by replica. If you want to read a virtual file however, these often don't support seeks or implement them in unexpected ways (returning one line per read rather than a buffer full). Thus running multiple reads (on the same file) only really works for files which operate as read disks - e.g. real disks, ram disks etc. -Steve
[9fans] (no subject)
Hi, I have decided to try to cross compile to windows again, as I see it here are my options: 1) build mingw for plan9 This means getting gcc to compile under kenc - non-trivial 2) build lcc on plan9 ditto 3) build pcc for plan9 ditto (though nothing like as bad as the above) sadly pcc needs yasm or mingw-as + mingw ar and mingw ld so I don't win much. 4) write a parser to understand windows header files and generate assembly wrappers so I can use kenc. Then I just need to build a PE executable backend. 4 seems the most attractive, however I believe all windows executables are still relocatable, but this feature is rarely used by the XP/Win2k3 etc. anyone know any more. anyone know of any other (simpler) options? I guess my ultimate sanction might be mingw for Linux running under linuxemu though this feels a bit of a copout. -Steve
Re: [9fans] 9p2010
> ...integrate the > caching into a cache file system this was discussed at one of the iwp9s I believe. Ok, a thought experiment. Extend fossil so that you can attach to objects of the form fs.changes (e.g. main.changes or other.changes). Open a known file here (e.g. /update) and you will receive a message when any file in main (or other in the above example) filesystem is modified. The message should probably be a dirstat structure and a flag indicating weather the file itself has changed or only the dirstat. The client could also read from the file /score and would get a venti score for the watched filesystem every time a snap is taken. To allow the system to synchronise after a period of disconnection the client could write a venti score to /score before opening /update to indicate that it needs to catch up the changes since this score's creation. It would allow cfs to serve up local files with the knowledge that the remote server contains the same file and so cfs would feel much mor responsive. Batched 9p messages would improve the performance further, of course. You could teach the cache client to use batched 9p from the begining, and end up with somthing similar to nemo's octopus. Note, the files I am describing are those served by fossil, so, by definition they are disk files, and thus they are cacheable. This is not a solution for virtual files. I'am sure there are problems with the above, but you get the idea. -Steve
[9fans] wrarenas
Is wrarenas (write venti arenas back to disk) really really slow or have I a hardware problem. reading 10 arenas took 30secs or so, writing them into a new venti (even with a bloom filter and DMA turned on) took about 36 hours. is this expected? -Steve
Re: [9fans] (no subject)
> Give or take that all the executables fail, I have enough MINGW > binutils from the NetBSD package to convince me that MINGW can be > built and no doubt some debugging will soon take care of the stumbling > blocks. > > It is true that debugging is going to be hard without symbol > information (one more good reason to go the ELF route for my GCC > model, in my opinion) and that I need a real implementation of the > SEEK syscall before I start on the debugging, but these are > surmountable obstacles. I guess you need to keep holding thumbs. > Sorry, this went completely over my head. It sounds like you have achieved somthing impressive but I'am afraid I don't understand. -Steve
Re: [9fans] The Olde 2e 'worthies' ... ?
I think the vital piece of paper is the business reply / product registration card which has your unique license ID number on it, rather than the license text (which is here /n/sources/contrib/steve/historic/2nd-edition/LICENSE). My memory was that patches where exchanged in xor'ed with 9pc from the distribution cdrom to ensure they where obscured - an interesting example of encryption with a one time pad. -Steve
Re: [9fans] The Olde 2e 'worthies' ... ?
>> of encryption with a one time pad. > s/one time // Indeed, I stand corrected. -Steve
Re: [9fans] ssh v2, using a remote linux server
> Alternately, if you have fuse installed you could > use sshfs instead (Linux tool, not p9p tool). Another option might be sftpfs for plan9, which allows local plan9 machine to see a remote filesystem over an SSH link using the SFTP protocol. http://www.tip9ug.jp/who/fhs/sftpfs.tgz Though this relies on the existance of ssh (either the plan9 version or fgb's openssh port if you need protocol version 2). -Steve
Re: [9fans] venti question
I wrote this some time ago, not sure if this represents a large enough installation for you. http://www.quintile.net/papers/Venti-rescue.pdf -Steve
[9fans] auto reconnect for cpu servers
Is there a technique or program that can be used on a diskless cpu server to make it auto-reconnect when the file server reboots? I remember reading about the Challange file servers at the labs, in which (I believe) the cyclone driver would write reboot to /dev/reboot if the connection dropped. Is there somthing similar I could do elegantly with a tcp/ip connection? I could just do a readdir(2) of / every 10 secs and reboot if that fails but I assume somthing already exists. -Steve
[9fans] cfs
Why is cfs in the kernel and not a userlevel program? Is it historic, perhaps this was done before /boot appeared so it was not easy to add a userlevel program into the boot process. I guess there might be performance issues also, though these would be swamped by the performance improvment of plugging in CFS in the first place (IMHO). Just curious -Steve
Re: [9fans] venti question
> so I removed the isect1 line from my venti.conf and executed > > venti/buildindex -i isect1 $home/lib/venti.conf > > and got > > 1,731,717 clumps, 63,903 buckets > 2009/0513 10:35:35 read index > warning: did not find index section isect1 Are you suffering from an off by one error? you removed isect1 and then built the index on isect1 only, this sounds wrong. I would suggest you try again from scratch. Reformat your both your indexes and your bloom filter and then reinitialise your fossil using a venti.conf of: index main isect /apollo/hugo/isect0 isect /apollo/hugo/isect1 arenas /apollo/hugo/arenas0 arenas /apollo/hugo/arenas1 i.e. venti/fmtisect isect1 /dev/sdC0/isect1 venti/fmtisect isect2 /dev/sdC0/isect2 venti/fmtbloom /dev/sdC0/bloom venti/fmtindex venti.conf fossil/flfmt -v 87237...2345345 /dev/sdC0/fossil I think your problems where due to you using old isect1 which was formatted to think there was only one index whilst your venti.conf said there where two. I don't see how any of the above could damage your arenas0 however do take care and check what I have said carefully, I don't want to be responsible for you losing data. Also beware, I don't use p9p so these instructions relate to what I would do on native plan9. I don't believe there is any difference these days but I cannot be sure. Caveat Emptor. -Steve
[9fans] cfs
I think I have been silly, I confused the block cache for cfs. Sorry for the noise. -Steve
Re: [9fans] P9P on Lemote Yeeloong
I thought the ethernet chip is supported in plan9 so that might be easy. vl can generate elf files, these are targeted at sgi machines but most of the groundwork should be there for you. Failing this I am pretty sure I have a motorola S record generator somwhere, I will convert the input side to plan9 a.out if I can find it. IMHO v[cla] is the way to go. -Steve
Re: [9fans] P9P on Lemote Yeeloong
> So you are a bit out of > luck here on MIPS (unless Brzr has a MIPS64 compiler I've forgotten > about). I'am sure somone was working on a mips 64 bit port to modern sgi hardware. I haven't heard anything of this for a while but perhaps somone will remember who it was. -Steve
[9fans] creating my own bootable plan9 iso
Anyone got a script to generate a bootable plan9.iso cdrom image, the mkfiles in /sys/lib/dist seem quite labs-specific. -Steve
Re: [9fans] No Boot from installCD on IBM xserver 305
> lspci -n from IBM HS21 00:00.0 0600: 8086:25d8 (rev b1) Intel Corporation 00:02.0 0604: 8086:25f7 (rev b1) Intel Corporation 00:03.0 0604: 8086:25e3 (rev b1) Intel Corporation 00:04.0 0604: 8086:25e4 (rev b1) Intel Corporation 00:05.0 0604: 8086:25e5 (rev b1) Intel Corporation 00:06.0 0604: 8086:25e6 (rev b1) Intel Corporation 00:07.0 0604: 8086:25e7 (rev b1) Intel Corporation 00:08.0 0880: 8086:1a38 (rev b1) Intel Corporation 5000P 5000 Series Chipset DMA Engine 00:10.0 0600: 8086:25f0 (rev b1) Intel Corporation 00:10.1 0600: 8086:25f0 (rev b1) Intel Corporation 00:10.2 0600: 8086:25f0 (rev b1) Intel Corporation 00:11.0 0600: 8086:25f1 (rev b1) Intel Corporation 00:13.0 0600: 8086:25f3 (rev b1) Intel Corporation 00:15.0 0600: 8086:25f5 (rev b1) Intel Corporation 00:16.0 0600: 8086:25f6 (rev b1) Intel Corporation 00:1c.0 0604: 8086:2690 (rev 09) Intel Corporation 00:1d.0 0c03: 8086:2688 (rev 09) Intel Corporation 00:1d.1 0c03: 8086:2689 (rev 09) Intel Corporation 00:1d.2 0c03: 8086:268a (rev 09) Intel Corporation 00:1d.7 0c03: 8086:268c (rev 09) Intel Corporation 00:1e.0 0604: 8086:244e (rev d9) Intel Corporation 82801DB Hub Interface to PCI Bridge 00:1f.0 0601: 8086:2670 (rev 09) Intel Corporation 00:1f.2 0101: 8086:2680 (rev 09) Intel Corporation 01:01.0 0300: 1002:515e (rev 02) ATI Technologies Inc. Radeon ES1000 Radeon ES1000 02:00.0 0100: 1000:0056 (rev 02) LSI Logic LSISAS1064ET PCI-Express Fusion-MPT SAS 03:00.0 0604: 1166:0103 (rev c3) Broadcom / ServerWorks BCM5715 Broadcom dual gigabit, pci bridge 04:00.0 0200: 14e4:16ac (rev 12) Broadcom Corporation 05:00.0 0604: 1166:0103 (rev c3) Broadcom / ServerWorks BCM5715 Broadcom dual gigabit, pci bridge 06:00.0 0200: 14e4:16ac (rev 12) Broadcom Corporation 07:00.0 0604: 8086:3500 (rev 01) Intel Corporation 07:00.3 0604: 8086:350c (rev 01) Intel Corporation 09:00.0 0604: 8086:3510 (rev 01) Intel Corporation 09:01.0 0604: 8086:3514 (rev 01) Intel Corporation 0c:00.0 0604: 10b5:8114 (rev aa) PLX Technology Inc. 0e:00.0 0604: 10b5:8114 (rev aa) PLX Technology Inc. 0f:05.0 0100: 9005:8017 (rev 10) Adaptec Inc ASC-29320ALP Ultra320 SCSI Controller Broadcom GigE - these are a problem, as I understand it Broadcom will not supply register level programming info for their chipsets except under NDA. and as these are blades you have no chance to plug in a supported PCI NIC. ☹ -Steve
Re: [9fans] sources down?
> damn, he found out our evil plan... And we would have got away with it if it hadn't been for you pesky kids. -Steve
Re: [9fans] new usb implementation
This is great news, kudos to all involved. now, where did I put that memory stick... -Steve--- Begin Message --- I've just pushed out to sources a new USB implementation, courtesy of nemo, who debugged and repaired our old UHCI and OHCI drivers, wrote a new EHCI driver for USB 2, converted the user-mode drivers in /bin/usb and tested it all, among other things. Thank you, nemo. I've updated on sources at least /386/9*load* (though they contain no USB code), /386/9pc*, kernel sources, manual pages and a few scripts in /rc/bin. Tomorrow's CD image should incorporate all this. devusb has a new interface, so it is named #u, to distinguish it from the old one, #U. If usbd is compiled into /boot, /boot/boot will run usbd at start up, thus permitting the use of USB keyboards, mice, disks, etc. at boot time.--- End Message ---
Re: [9fans] nedmail h doesn't move dot
> Do you think it's intentional that h doesn't move dot in nedmail? The way I usually use it I would not expect h to move dot. here is a typical senario for me: I view the email realise the formatting of the text multipart is badly formatted type h to see if I have another choice type (say) 22.4|htmlfmt -a to see an alternative layout. Having said this perhaps my technique has grown from the way it works, chickens and eggs again. -Steve
Re: [9fans] nedmail h doesn't move dot
> by the way, why h and not H? yep, you are right, I was too hasty in my email. -Steve
Re: [9fans] Configuring NFS
> I'm looking into NFS because it seems that it has about the lowest > barrier to entry of all the possible file-sharing methods. Any other > suggestions would be appreciated. I use aquarela to serve cifs to windows boxen but NFS seems preferable given your clients are Linux. -Steve
Re: [9fans] Random SATA errors with SMP on a dual core machine.
Oh yes, I would suggest you use the contrib package to install Eriks sd driver, if you haven't played with it you should just need: 9fs sources /n/sources/contrib/fgb/root/rc/bin/contrib/install fgb/contrib contrib/list -v quanstro/sd contrib/install quanstro/sd contrib/install quanstro/fis you will probably need to overwrite a couple of the files you copied by hand, but this is just things like: contrib/pull -s sys/src/9/pc/sdata.c sd you don't need the quanstro/ once you have done the install. -Steve
Re: [9fans] fossil/venti falling down?
> /boot/fossil: could not write super block; waiting 10 seconds > /boot/fossil: blistAlloc: called on clean block. I have a few a day for the last 5 years on my home server, and one a week on the work machine... I always ignored them. -Steve
Re: [9fans] I have two questions
tex is availabe as an old ISO /n/sources/extra/tex.iso.bz2, this expects you to have kfs as your main filesystem - but you can fake this with a couple of binds before running replica/pull. I installed this image, recompiled it, and pushed it out as a contrib package steve/tex. I had a look at updating the package to a more curent version (this source is circa 1998) but it required too mych delving for an occasional tex user such as myself. beware, both tex packages are bigger than you might expect. -Steve
[9fans] 9p implemention using print() like formats for marshaling
I am interested in a 9p implementation which used print()-like format strings for packet marshaling. This was pre-9p2k and I even have a vague memory that it was a student project, mentored by Rob, though I may have made that up. I found this code on the net a long time ago but I ahve lost the link; does this description ring any bells with anyone? -Steve
Re: [9fans] data analysis on plan9
contrib/list [-v] [[user]/package] -v is verbose user and package restrict the output to that user on that users package only. see contrib(1) -Steve
Re: [9fans] plan 9 interface color ergonomy
> ...a colour space diagram showing the range a monitor... More info than you wanted here: http://www.poynton.com/Poynton-color.html -Steve
Re: [9fans] preprocessing C code
> I'm APE-porting some programs densely peppered wioth #-directives. I have this too, try: contrib/install steve/unifdef -Steve
Re: [9fans] Why does Acme only show text?
> Eric and myself, and I think maybe Ron, are using acme and acme-sac to > interact with a BlueGene/P system. Not as glamorous, but an alternative senario - I use sam and rio to write embedded and windows code. I edit the code with sam, but I do my best not to ever access the seperate rio snarf buffer. I keep the commands or scripts I need to test the code in rio's snarf, when I am ready to try things I just click the rio window and Button 2 to execute send. -Steve
Re: [9fans] multiport serial
I have used an isa card with the 4th edition, so I know they work, however I haven't tried for quite a few years - it might have bitrotted. [Beware whistfull ramblings] Twas an Adaptec 1542, I even upgraded its firmware once, with a UV lightbox and an EPROM programmer... -Steve
Re: [9fans] dcp - a deep copy script, better than dircp
> ...c-stoff/t-stoff powered rocket... I watched OU programs as a child too :-) I suggest you consider why you are moving directories about, I have just got out of the habit. If I get a tar or a zip which contains dome data I need I just mount it with fs/tarfs or fs/zipfs and look inside. If I want just a few files I cp them to $home, if I want most of it then I extract the image to the destination where it is needed. Basicially I put a bit more thought up-front as to where I want to put stuff and then put it there. If you want dircp as a backup mechnism then can I suggest either fossil and venti, or, mk9660(8). mk9660 creates a dump-like heirarchy in a single ISO image, mergeing multiple dumps into the single ISO, stripping dumplicate files as it goes; kudos to wkj I believe. -Steve
Re: [9fans] Does "as little software as possible" include a modern browser?
> Evernote, for example, would be easier to > render to the user and mount as a filesystem than Google maps. You are right, google maps is much more a simple transaction based system, I cannot see how it would fit usefully into a file system hierarchy. It does not require a web browser however. assuming you have signed up and put your key in /lib/gmapkey you can see exactly where I am at with: /n/sources/contrib/steve/rc/gmap -s eastleigh road, havant [credit to erik for the much needed polishing of this tool] -Steve
Re: [9fans] plan9port behind corporate firewall with no DNS or port access
There are several places which have readonly versions of sources available via http, alternatively there is a socks client or even htfilefs, the former uses the SOCKS protocol to tunnel through the firewall. htfilefs mounts a remote ISO image (like the plan9 nightly build iso) over an http connection and expands it as a hierarchy. You could probably write some tunneling software to run on your home machine and work machine using http in between, but your corperate IT department might not see the funny side of such practices... -Steve
Re: [9fans] a few more misc. questions if you don't mind
For interest I have a single cpu/file/auth server at home which I connect to with drawterm or a native terminal depending on which laptop I am on. At work I have a cpu/file/auth server which is also my terminal. This is definitely sub-optimal, combining the terminal with the others means your host owner must be yourself rather than the usual bootes and I end up support two different auth databases (home and work) but it can be done. Running plan9 on current hardware was becomming hard as PC technology has been changing quite a bit of late, but this situation has been improving in recent months thats to the hard work of a few stallwart 9fans. -Steve
Re: [9fans] Using Acme as an external Editor
For what its worth, when I started using CVS on plan9 I trained myself to add a -m 'text' after every cvs ci command. I also added a -e false (where false is non-existant) to my $home/lib/cvsrc so I can still omit the -m and commit stuff with no log message... [pauses while the mutters in the back row abate] if there is nothing useful to say. -Steve
Re: [9fans] how to fix: 'arena arenas00 creation time after last write time'
> * set up venti manually after the install, and after I've set the timezone Sorry if I'am being a pedant, but its not the timezone - that is an offset that effects how dates and times are printed, plan9 like Unix always uses UTC for all time/date stamps. The problem is the time in the RTC chip was wrong. there is a recuring problem that Windows sets the RTC to localtime whereas Unix expects it to be UTC. There is an option to timesync to inform it if you want to continue using localtime on your RTC (because you want to dual boot with windows). -Steve
Re: [9fans] how to fix: 'arena arenas00 creation time after last write time'
> My standalone terminal is always doing the index, the problem seemed > to have just suddenly showed up for no reason - the system hasn't crashed, > I'm not doing anything 'weird', and I always run fshalt before shutting > down. And this persists across fresh installs. Not sure what you mean by "doing the index". When you install you will have an empty venti and a full fossil. on the next reboot the whole of fossil will be dumped to venti. This first dump can take a long time (some hours). After this dumps only take (typicially) a few secconds as only changed blocks are written. Is it possible that you did not let this intiial dump finish when you first rebooted your machine. In that case each time you reboot it will be trying to continue this dump (not sure if it starts again from the begining or just from where it left off). Perhaps this could be the "doing the index"? if so, try just leaving it rattling overnight and then fshalt the next morning and it may come back happy the next day. Beware: shutting down during a dump is a bit unfriendly even if you did an fshalt, it may be worth running a "venti check" check on fossil - see fossilcons(8) - this is another very slow process I'am afraid. -Steve
Re: [9fans] nvram
no it doesn't, I had this a few days ago, moving disks about so nvram couldn't be found. I could still boot the system but I had to enter the nvram info from the keyboard, it did then try to write the data back which (of course) fails - perhaps it was this write to a dead disk that caused the boot process to die. -Steve
Re: [9fans] off topic: manual sets
also, do you know about: http://plan9.bell-labs.com/7thEdMan/ -Steve
Re: [9fans] off topic: manual sets
appologies, I managed to junk half my email, I meant to add: v1 0-03-061742-1 v2 0-03-061743-X I have had success buying some older Unix box from both abebooks.com and alibris.com. -Steve
Re: [9fans] detecting drawterm
Drawterm connects with service=cpu In the cpu clause I do this: if (! test -e /mnt/term/mnt/wsys) { # dt2k # cpu call from drawterm if (test -e /mnt/term/dev/secstore){ auth/factotum -n cat /mnt/term/dev/secstore | read -m > /mnt/factotum/ctl echo > /mnt/term/dev/secstore } if not {# old drawterm auth/factotum } webfs plumber webcookies upas/fs exec rio -s -i startup } note the secstore device created by drawterm which I push into my new factotum and then clean out (just in case). -Steve
Re: [9fans] Parallels Vesa driver question
> Also, are the old sources available online somewhere so I can do this > kind of diff in the future on my own? you can use history(1) and yesterday(1) against sources. 9fs sources history -D sourcesdump /n/sources/plan9/sys/src/9/pc/vgavesa.c -Steve
Re: [9fans] iso experiment
Ok, Your iso image boots OK, however the kernel still doesn't see PATA. The iso boots off PATA, 9load finds and reads plan9.ini, it fails to find the kernel (because it is looking on sdD0), if I type the kernel path in by hand then it loads the kernel as you would expect. I tried your bootdev device but that didn't seem to work I'am afriad. Sorry to be the bringer of unexciting tidings. as an aside, I am just trying a hack to kbd.c to reset numloc and speed up the keyboard repeat speed at powerup as I have a nice small keyboard but it always powers up with numloc enabled on plan9 and I cannot turn it off (teh numlock key has no effect). -Steve
Re: [9fans] iso experiment
Ok, I'al try my keyboard mod and I borrowed a DVDROM drive from work, just to see if that works any better. -Steve
Re: [9fans] iso experiment
Appologies for the noise everyone.
Re: [9fans] ceph
> Well, with Linux, at least you have a benefit of a gazillions of FS > clients being available either natively or via FUSE. Do you have a link to a site which lists interesting FUSE filesystems, I am definitely not trying to troll, I am always intrigued by others ideas of how to reprisent data/APIs as fs. Sadly the Fuse fs I have seen have mostly been disappointing.There are a few I which would be handy on plan9 (gmail, ipod, svn) but most seem less useful. -Steve
[9fans] refer
I have packaged up Forsyth's port of refer as a contrib package with a kindly donated bin2ref program and a mkfile to pull down the plan9 bibliobraphy referenced on 9fans a while back. Might be of use to those writing papers for iw9p. -Steve
[9fans] Intel atom motherboard - success at last
I have had loads of problems trying to build a new machine, Erik has helpd way beyond the call of duty, and finally I have a working machine. The problems where: realteck rtl8169 GigE - erik's driver works a treat An intermitant PSU - RMA'ed to supplier SATA - Eriks new sd driver works nicely A PATA DVDRW which devata ignores. So, all sorted but now I need an IDE (parallel) DVDRW drive which does work. I was going to just buy a Plexstor drive as being the reliable name but they seem to be silly money. anyone any suggestions? -Steve
Re: [9fans] a few Q's regarding cpu/auth server
I cannot imageine the senario where random people will have access to the cpu/auth/file server's consoles. It just doesn't happen if you are serious about security. However if you want to protect your console against your friends I wrote a script to do it /n/sources/contrib/steve/rc/conslock you may also want to look at screenlock(1) Incidentially I may use this at home to protect my servers console against my 2 year old who rather likes keyboards, though this is a different type of security. -Steve
Re: [9fans] installation Q
I suspect you could change your BIOS to run SATA in Legacy mode and you will find your drives will now appear as /dev/sdC0 and /dev/sdD0 though I cannot promise anything. It is preferable to run SATA in native mode, and you could change back after installation though your fossil config, venti config, and plan9.ini would all need to be updated to reflect this change. I am currently installain onto a machine with drives in /dev/sdE0... but I am net booting the box from an old server and copying the disks from my old server. I am trying to say an install can be done but the install scripts may not be clever enough to cope. -Steve
Re: [9fans] a few Q's regarding cpu/auth server
> ...by the curmudgeonly 9fans... For those who follow British comedy: Father Jack, my alter ego! Others may find this enlightening http://www.youtube.com/watch?v=kHiDhERvJ4I -Steve
Re: [9fans] the old floppy set
As Anthony says it is very very old, but I might be fun if you had the time on your hands. The 2nd edition books/cdrom are nolonger available but you might find a set seccond hand (abebooks.com etc). The floppys are here: /n/sources/contrib/steve/historic/2nd-edition/pcdist/ I found a complete mirror of the old 2nd edition site and I think uriel has copied it to cat-v.org. You will need 16Mb to install and 8Mb to run a terminal though It will work at 640x480x1 resolution. The 4th edition should run on a 486, though you will need (say) 128Mb of ram - much more if you want to recompile gs(1). -Steve
Re: [9fans] machine key, secstore key, hostowner password
The machine key _is_ the hostowners password, DES encrypted with the hostowner's name, the details are in the code. the secstore key is just that, it us useful for storing account details that the hostowner may need - for example I keep my sources account in hostowner's secstore so I can cpu -u bootes to become hostowner and then do a pull. I have to type in the hostowner's secstore key about once a year - though it is read from the nvram un onlock the hostowners secstore on every boot of my cpu/auth/file server. I use the hostowner's key once a week or so to cpu in to do a pull or if I need access to the server's /dev/kmesg or devices. -Steve
Re: [9fans] machine key, secstore key, hostowner password
the hostowner is the owner of the machine, but they are also a user on plan9 so they need an entry on the auth database. the passwords in the auth database and the nvram must match or you will not be able to cpu or 9fs to this box, authentication will not work. -Steve
Re: [9fans] a few Q's regarding cpu/auth server
This will create a n append only file, not a directory. The usual way to initialised cron for a user is auth/cron -c (similarly for mail type mail -c) when you have first logged in as that user. if you run /sys/lib/newuser when you first login (i.e. the very first time, do this only once) then these commands are run for you (cat /sys/lib/newuser for more info). -Steve
Re: [9fans] audio standards -- too many to choose from
Here is how I think it would work - please correct me if I am wrong. the status file gives a list for the supported features and the current state of each. If particular hardware does not support mu-law then no state is displayed for it and the application layer can decide to emulate a mu-law table or report the problem to the user and give up. I do think that thought needs to be given to how a combined audio and video player would be inplemented - ensuring correct lipsink at a minimum. also, might I suggest that the application level tools live in aud/xxx or audio/xxx - I think it is a shame that the image manipulation tools are not in img/xxx -Steve
Re: [9fans] audio standards -- too many to choose from
Ok, My memory from about 1982... first there was phillips who used 2 high speed, high linearity 14bit DACs in their CD players using 4 times oversampling - as they had no apropriate 16bit converters at the time; which gives near 16bit resolution. sony however developed a laser trimmed 16bit converter but due to the high price they time ivison multiplexed a single converter between left and right channels. This required very steep, very high Q reconstruction filters which had significantly non-linear phase shifts in the audio band. people where surprised how much nicer the phillips sounded nicer than the sony solution. The nasties caused by filters in the sony design have resulted in much of the that "digital sounds nasty" folklaw. as time went past people realised that riunning at 256 times oversampling means you can have a 1 bit converter (i.e. PWM) and get near perfect linearity without the need for laser trimming. I beleive the push for very high sample rates at 16 or 24 bits is because it further simplifies the reconstruction filters and they can be made cleaner and even less likely to introduce audiable artifacts. just my opinion and not that of my employer. -Steve
Re: [9fans] Plan 9 hg with private repositories
re: /etc/ssh/sshd_config on unix to support sshv1 see: http://plan9.bell-labs.com/wiki/plan9/Connecting_to_other_OSes/index.html -Steve
[9fans] copying a venti
I am trying to copy my venti from an old server to a new one, currently I am using somthing along the lines of: venti/rdarenas > /tmp/arena; venti/wrarenas /tmp/arena Which is progressing, admittedly very slowly. I had this problem before and Russ suggested that perhaps my bloom filter was non operational. Is there anything more to setting up a bloom filter on a venti beyond adding a "bloom /dev/sdC0/bloom" to the venti config and formatting the partion with venti/fmtbloom before starting venti for the first time? Also, I have since discoverd the venti/copy command which looks to be exactly what I should be using, but how do I generate a score to copy the whole venti tree? Thanks, -Steve
Re: [9fans] nemo book
> Does anyone here know if it's possible to obtain printed > copies of nemo's book if you live in the United States? I'am intrigued, you have a weblink to where I could buy a printed copy (in europe)? I thought sites like lulu only allowed the author to offer the document for publication, not that you can chose an arbitary PDF and ask for it to be printed and bound - unless nemo has done this and I missed the link? I would also be interested a printed and bound copy of the 3rd edition kernel source and commentry... -Steve
Re: [9fans] make slides in plan 9
How to make slides in plan 9 rsc has an example /n/sources/rsc/talk/* I have used the usenix-era troff foils macros quite often recently. /n/sources/contrib/steve/foils.tgz TeX is available seperately - created a contrib package for it or there is an iso (which has bitrotted a little but is still usable). Beware: downloading it will take a long time (hours). % contrib/list -v steve/tex steve/tex: Description: TeX, metafont, metapost fonts etc, circa 1998 This TeX package was built in the labs in 2000. I have recompiled it and packaged it as a contrib, however TeX is under continual development and the package could be updated to current release. I don't use TeX so I have no idea if this is a good idea or not and it would require effort I would rather put elsewhere. Steve Simon Dec 2007 Contents: 109.13Mb in 7309 files Modified: Fri Jun 19 06:57:06 GMT 2009 Depends: -Steve
Re: [9fans] drawterm hangups
I am using ppc drawterm under osx quite a bit and have never seen this problem. Not sure if that helps or not... -Steve
[9fans] lspci for windows (sort of)
I recently came across this, a tool which can dump some PCI bus info from windows. This may be of use to people trying to put plan9 on systems that are already installed with windows. perhaps this is old news and evryone knows about it, but I didn't. http://support.microsoft.com/kb/311272 example of usage: acroncompile1% devcon find pci\* PCI\VEN_10DE&DEV_0165&SUBSYS_029D10DE&REV_A1\4&14DB2FCF&0&0008: NVIDIA Quadro NVS 285 PCI\VEN_14E4&DEV_167B&SUBSYS_280C103C&REV_02\4&27454EAD&0&00E5: Broadcom NetXtreme Gigabit Ethernet PCI\VEN_8086&DEV_244E&SUBSYS_&REV_E1\3&B1BFB68&0&F0 : Intel(R) 82801 PCI Bridge - 244E PCI\VEN_8086&DEV_277C&SUBSYS_&REV_00\3&B1BFB68&0&00 : PCI standard host CPU bridge PCI\VEN_8086&DEV_277D&SUBSYS_&REV_00\3&B1BFB68&0&08 : PCI standard PCI-to-PCI bridge PCI\VEN_8086&DEV_27B8&SUBSYS_&REV_01\3&B1BFB68&0&F8 : Intel(R) 82801GB LPC Interface Controller - 27B8 PCI\VEN_8086&DEV_27C0&SUBSYS_280C103C&REV_01\3&B1BFB68&0&FA : Intel(R) 82801GB Serial ATA Storage Controllers - 27C0 PCI\VEN_8086&DEV_27C8&SUBSYS_280C103C&REV_01\3&B1BFB68&0&E8 : Intel(R) 82801GB USB Universal Host Controller - 27C8 PCI\VEN_8086&DEV_27C9&SUBSYS_280C103C&REV_01\3&B1BFB68&0&E9 : Intel(R) 82801GB USB Universal Host Controller - 27C9 PCI\VEN_8086&DEV_27CA&SUBSYS_280C103C&REV_01\3&B1BFB68&0&EA : Intel(R) 82801GB USB Universal Host Controller - 27CA PCI\VEN_8086&DEV_27CB&SUBSYS_280C103C&REV_01\3&B1BFB68&0&EB : Intel(R) 82801GB USB Universal Host Controller - 27CB PCI\VEN_8086&DEV_27CC&SUBSYS_280C103C&REV_01\3&B1BFB68&0&EF : Intel(R) 82801GB USB2 Enhanced Host Controller - 27CC PCI\VEN_8086&DEV_27D0&SUBSYS_&REV_01\3&B1BFB68&0&E0 : Intel(R) 82801GB PCI Express Root Port - 27D0 PCI\VEN_8086&DEV_27D8&SUBSYS_280C103C&REV_01\3&B1BFB68&0&D8 : Microsoft UAA Bus Driver for High Definition Audio PCI\VEN_8086&DEV_27DF&SUBSYS_280C103C&REV_01\3&B1BFB68&0&F9 : Intel(R) 82801GB Ultra ATA Storage Controllers - 27DF PCI\VEN_8086&DEV_27E0&SUBSYS_&REV_01\3&B1BFB68&0&E4 : Intel(R) 82801GB PCI Express Root Port - 27E0 PCI\VEN_8086&DEV_27E2&SUBSYS_&REV_01\3&B1BFB68&0&E5 : Intel(R) 82801GB PCI Express Root Port - 27E2 -Steve
Re: [9fans] ndb/dns as a slave
I assume your master DNS is served from bind, then you can use the zonefresh program in my contrib to build an ndb compatible ndb file for your local dns to serve. -Steve
Re: [9fans] ugly eqn/troff result
> Really nobody uses 'eqn' these days?... I use it occasionally, I just don't know how to help you with your problem. -Steve
Re: [9fans] new 9atom.iso
9fat is also a pain in that the 9load file must be created with, and retain its append only file, which has a special meaning to 9fat telling it to create the file in sequential blocks. This could (and has) caused problems if you access the 9fat partition from os's other than plan9. The only times I have had to change plan9.ini from somthing else than the booted system (because I have broken the boot process) I booted the plan9 live cdrom. I would be happy if 9load and 9fat disappeared and it was replaced with a plan9 bootstrap kernel and (say) an rc(1) script. -Steve
Re: [9fans] dformat
> Anybody have a copy of dformat online? http://www.troff.org/source.html -Steve
Re: [9fans] The CW font with Lucidasans
I usually add these to my document .FP lucidasans .de EX .SM .CW .DS .. .de EE .DE .R .LG .. And then use .EX and .EE around code examples (concept lifted from the man macros). This is from memory, its probably more pedantic/verbose than necessary, but it works. -Steve
Re: [9fans] Interested in improving networking in Plan 9
> it > seems so straightforward to just send formatted sql or > pl/sql to the engine and get normally formatted output. I did somthing like this for mysql to access our corperate telephone database. I took the inferno odbcfs as an example: http://www.vitanuova.com/inferno/man/10/odbc.html if interested see the steve/mysqlfs contrib package -Steve
Re: [9fans] problems when hwaccel off or in inferno
> So is it so that anybody using vesa should see it... I use the vesa driver occasionally on my Atom motherboard (Intel 940?) and have had no such "droppings", so the problem isn't universal. -Steve
[9fans] disabling swap
I have just hit a fossil deadlock. the symptom is simple enough, fossil wedged, stats continued to be updated and I could run whatis in a rio window but any attempt to access the local fossil caused the command to hang. I was trying to mirror sources when it happened so I had a lot of processes all writing to fossil at the same time - well, perhaps a dozen. If anyone is interested I have put my 9pccpuf and a phone camera image of ^t^t^p of the hang in http://www.quintile.net/doorstep/deadlock.jpg and http://www.quintile.net/doorstep/9pccpuf. If anyone extracts info from this I would like to learn how they do it. I made a feeble attempt to diagnose the problem myself (below) and it looks as though it was trying to swap, however, though I do have a /dev/sdXX/swap I believe I have disabled the one place where swap is enabled (/cfg/$sysname/cpurc). having said this I think /dev/mem is indicating that I _do_ have swap enabled. either way I should not have been swapping as I have masses of free RAM. -Steve (confused) cpu% acid /386/9pccpuf /386/9pccpuf:386 plan 9 boot image /sys/lib/acid/port /sys/lib/acid/386 acid: src(0xf01d3968) /sys/src/9/port/fault.c:231 226k = kmap(new); 227kaddr = (char*)VA(k); 228 229if(loadrec == 0) { /* This is demand load */ 230c = s->image->c; >231while(waserror()) { 232if(strcmp(up->errstr, Eintr) == 0) 233continue; 234kunmap(k); 235putpage(new); 236faulterror("sys: demand load I/O error", c, 0); acid: src(0xf01d730f) /sys/src/9/port/proc.c:576 571/* Only reliable way to see if we are Running */ 572if(p->mach == 0) { 573p->newtlb = 1; 574ok = 1; 575} >576unlock(runq); 577spllo(); 578 579return ok; 580} 581 acid: cpu% cpu% cat /dev/swap 2134908928 memory 4096 pagesize 27037 kernel 112466/494181 user 0/16 swap 4588640/71348716 kernel malloc 0/16777216 kernel draw cpu% grep swap /cfg/$sysname/cpurc # swap is broken # swap `{ls /dev/fs/swap /dev/sd*/swap >[2] /dev/null | sed 1q}
Re: [9fans] "Blocks" in C
> what happened with either of the recently-reported > fossil lockup problems, for instance? As I now have two servers at home (old and new) I have been trying to provoke the old one into locking up so I can take a snap of its fossil. sadly the old server has been irriatingly reliable and the only lockup I have had so far was on the new machine (typical!). If anyone has any thoughts/hints/guesses on how to provoke the fossil lockup I would be very interested to hear. I have tried mirroring sources which used to be a rich source of lockups but it seems to work now. I am going to try sending this machine fake emails I have a feeling that that can annoy fossil, and also speed up the rate of taking temporary snaps which others have reported as being a source of problems. -Steve
Re: [9fans] Netbooting from Qemu
I would have thought a small USB stick would be the way to go, My latest motherboard even had one USB port inside the case for just this kind of thing. -Steve
Re: [9fans] bluetooth
Fantastic work Richard, I too will be very interested in playing with this once you are ready. The only one thought - probably not mentioned as it is so obvious, it would be neat if the plumber and thus auth/fgui could be pressed into service for entering the pairing PIN. -Steve
Re: [9fans] mishandling empty lists - let's fix it
> Does anyone agree with me that it needs fixing? sorry, I don't agree that it is broken so I don't thing it need fixing. It does occasionally annoy me that tr(1) will not take a file as an argument but again, changing that would have implications too wide to make it worthwhile; I try to think of it as OS patina. -Steve
Re: [9fans] /sys/src/9/ip/ip.h
> perhaps the elimination of all traces of IL is a little too thorough? I see no real harm in IL but, just a suggestion, you could do a pull -s, and then use diff3 (in my contrib) to do a merge between ip.h.orig, yesterday(1)'s version and the newly pulled code. having said this I still have it on my To-do list to add a -m (merge) option to replica to do just this; one day. -Steve
Re: [9fans] replica under 9vx
> I don't see this explaining a > mkdir with mode of 0 however. Does the file/dir actually have a mode of zero on the source machine? Plan9 can happily create an object with mode zero but a posix emulation of wstat() must do the rename()/chmod()/chown()/chgrp() etc in a fixed order which is bound to make some combinations mutually exclusive. -Steve
Re: [9fans] /sys/include/ip.h 5c(1)
> the marvell sheevaplug > works well does that imply that there is a working port? -Steve
Re: [9fans] /sys/include/ip.h 5c(1)
I once worked for a telco who's exchanges where connected to their billing machines via a pair of IBM PS2 MCA machines, they also had one spare machine. I was there in about 1997 and everyone very worried what might happen if they lost more than one of these machines. The last I heard the large, complex, fault tolerant Unix system that they built to replace them still didn't work well enough to be relied on. -Steve
Re: [9fans] dup(3)
> @{builtin cd $1 && tar cf /fd/1 .} | @{builtin cd $2 && tar xTf /fd/0} the /fd/1 and /fd/0 fererences ensure that dircp will work with ape's tar which doesn't read/write stdin/stdout by default like plan9's does. -Steve
Re: [9fans] resample(1) 1 and fancy graphics tools 0
If anyone does fancy working on gif(1) it has a bug I have been meaning to look at for ages. The problem relates to reproducing optimised animated gif files. Gif(1) assumes each image in an animation should be rendered on a black background, however optimised animations, those which contain only the interframe differences WRT the reference (first) frame do not conform to this model. An example makes things clear - appologies for the poor quality of the joke. http://www.quintile.net/doorstep/broken-animated-image.gif -Steve