Re: [9fans] Mounting 9p on an OSX host?
Hola, I wrote mac9p, it works relatively well, I know a few people use it and hat haven’t heard about crashing the kernel or something. Give it a try, that was a general warning I wrote when I first pushed the code years ago. here’s the README with a few instructions: https://code.google.com/p/mac9p/wiki/README there’s also the mount_9p(8) man page. have fun On Mar 29, 2014, at 4:29 PM, Ciprian Dorin Craciun ciprian.crac...@gmail.com wrote: Is there a quick and stable way to mount a 9p exported file-system on an OSX host? (By quick way I mean something which doesn't imply compiling; and by safe something that others can recommend as not crashing the system...) Obviously I've found the following: * https://code.google.com/p/mac9p -- however they say on the main project page use at your own risk, which makes me pause for a second before trying... * http://osxfuse.github.io/ -- however I need to find (and compile) a 9p implementation that uses this; (anyone can recommend one?) Something else? (From the archives it seems a similar question was posted back a couple of years, but even then no direct answer.) Thanks, Ciprian. — Federico G. Benavento benave...@gmail.com signature.asc Description: Message signed with OpenPGP using GPGMail
Re: [9fans] Adding a new user on 9-Front
This is why harmful.cat-v.org is so important, and it's why I don't have any interest in suffering fools on internet mailing lists. I can’t stop laughing. PS: kudos to Ruben — Federico G. Benavento benave...@gmail.com signature.asc Description: Message signed with OpenPGP using GPGMail
Re: [9fans] /dev/draw/new and /dev/draw/n/ctl
it's repl, meaning that if it's non zero the image gets replicated when used as source. a better explanation can be found in draw(2). On Wed, Jun 12, 2013 at 12:56 AM, Jeremy Jackins jeremyjack...@gmail.comwrote: from draw(3): Each client of the device connects by opening /dev/draw/new and reading 12 strings, each 11 characters wide followed by a blank: the connection number (n), the image id (q.v.) of the display image (always zero), the channel format of the image, the min.x, min.y, max.x, and max.y of the display image, and the min.x, min.y, max.x, and max.y of the clipping rectangle. After acknowledging that there are 12 strings, it only describes 11. What is the number that comes between the channel format and min.x? -- Federico G. Benavento
Re: [9fans] Fossil disk usage over 100%?
On Jun 3, 2013, at 4:50 PM, s...@9front.org wrote: Certainly. And we're back at square one. Everyone has their own story about how they lost data. which is to say that the thesis that fossil sucks is refuted. I think it rather says that everyone has a story. Someone was complaining about anecdotes, but that's what we've got. Richard mentioned fixing the snapshots bug in fossil. This is about as close as we've come to examining the technical issues. It's mostly been story/counter-story about how we all have lost files on each of these filesystems. The important takeaway here is that we have reports of people losing data on every single one of them. I had problems with fossil. Like you, I never had problems with (cw)fs. Charles had problems with fs. I don't think we've refuted any claims about relative stability or even established a scale to measure with. -sl Awesome, I'm happy to know that there's no clear data about anything and that everything can be proven wrong. Don't worry, I'm not going to bore you with my stories about how fossil/venti saved my life so many times and never lost a file, I'll just keep using it. Thanks for sharing your wisdom with the list. --- Federico G. Benavento benave...@gmail.com
Re: [9fans] APE select() and awkward Python subprocess PIPEfitting
you know that there's that I ported X11 years ago which does the 32bit if your displays supports it, how else did people manage to run opera, firefox and others on linuxemu? On Feb 26, 2013, at 12:29 PM, Jeff Sickel j...@corpus-callosum.com wrote: 1) You really don’t want to use this. It’s old and slow and only works well on 8-bit displays. --- Federico G. Benavento benave...@gmail.com
Re: [9fans] APE isinf()
On Feb 11, 2013, at 6:46 PM, Jeff Sickel j...@corpus-callosum.com wrote: So it's probably safe to just have #define isinf(x) isInf(x,0) yes, I've used that in the past. --- Federico G. Benavento benave...@gmail.com
Re: [9fans] tell if our window has been hidden
you can read from /dev/wctl and check wether the window is visible or hidden, see rio(4). On Feb 11, 2013, at 7:32 AM, Yaroslav yari...@gmail.com wrote: Can we tell somehow from eresized() that our window has been hidden or unhidden? -- - Yaroslav --- Federico G. Benavento benave...@gmail.com
Re: [9fans] trying to populate arm tree
I fixed openssl, I'll push it when sources is back up again, just remove the error from opensslconf.h. python needs a mkfile rework. Dec 6 07:52:28 ART 2012 /n/dump/2013/0128/sys/include/ape/openssl/opensslconf.h 6308 [fgb] 87,88d86 #else #error unknown objtype Jan 22 09:27:24 ART 2008 /n/dump/2012/1206/sys/include/ape/openssl/opensslconf.h 6337 [fgb] On Mon, Jan 28, 2013 at 10:46 AM, James Chapman ja...@cs.ioc.ee wrote: Hi, I would like to boot my 9pi using an fs from a 386 based cpu/auth/fossil server. I have previously installed: fgb/z fgb/bz2 fgb/openssl bichued/python stallion/mercurial and go from the development repo, and I was planning on putting kertex on there too. I tried cpuing into the server and running cpu% cd /sys/src cpu% objtype=arm mk install The build fails with a lot of cpp errors about /sys/include/ape/openssl/*.h about unknown object type. How can i exclude openssl from the build? I'm assuming I won't be able to build it. I can put up with cpuing in to run the extra stuff I have installed. I tried adding openssl to BUGGERED in /sys/src/cmd/mkfile but this didn't help. James -- Federico G. Benavento
Re: [9fans] trying to populate arm tree
z and python: Jan 19 10:46:03 ART 2012 /n/dump/2013/0128/sys/src/ape/lib/z/mkfile 603 [fgb] 39c39 CFLAGS=-c --- CFLAGS=-c -D_C99_SNPRINTF_EXTENSION diff /n/dump/2013/0128/sys/src/cmd/python/Parser/mkfile /sys/src/cmd/python/Parser/mkfile 40,41c40,41 ../Objects/obmalloc.$O\ ../Python/mysnprintf.$O\ --- obmalloc.$O\ mysnprintf.$O\ 44a45,50 obmalloc.$O: ../Objects/obmalloc.c $CC $CFLAGS $prereq mysnprintf.$O: ../Python/mysnprintf.c $CC $CFLAGS $prereq Jan 28 11:23:26 ART 2013 /sys/src/cmd/python/plan9.c 765 [fgb] 8a9,10 #elif defined(Tarm) #define FPINVAL (18) Jan 28 11:22:23 ART 2013 /sys/src/cmd/python/pyconfig.h 27800 [fgb] 11a12 #define _C99_SNPRINTF_EXTENSION On Mon, Jan 28, 2013 at 11:53 AM, Federico G. Benavento benave...@gmail.com wrote: I fixed openssl, I'll push it when sources is back up again, just remove the error from opensslconf.h. python needs a mkfile rework. Dec 6 07:52:28 ART 2012 /n/dump/2013/0128/sys/include/ape/openssl/opensslconf.h 6308 [fgb] 87,88d86 #else #error unknown objtype Jan 22 09:27:24 ART 2008 /n/dump/2012/1206/sys/include/ape/openssl/opensslconf.h 6337 [fgb] On Mon, Jan 28, 2013 at 10:46 AM, James Chapman ja...@cs.ioc.ee wrote: Hi, I would like to boot my 9pi using an fs from a 386 based cpu/auth/fossil server. I have previously installed: fgb/z fgb/bz2 fgb/openssl bichued/python stallion/mercurial and go from the development repo, and I was planning on putting kertex on there too. I tried cpuing into the server and running cpu% cd /sys/src cpu% objtype=arm mk install The build fails with a lot of cpp errors about /sys/include/ape/openssl/*.h about unknown object type. How can i exclude openssl from the build? I'm assuming I won't be able to build it. I can put up with cpuing in to run the extra stuff I have installed. I tried adding openssl to BUGGERED in /sys/src/cmd/mkfile but this didn't help. James -- Federico G. Benavento -- Federico G. Benavento
Re: [9fans] Why should I invest[tigate] plan9?
I thought it was an MVS reincarnation… On Jan 28, 2013, at 11:24 AM, Kurt H Maier kh...@intma.in wrote: On Mon, Jan 28, 2013 at 10:13:28AM +, Unknown wrote: My route here was: when my ISP said I'd have to buy W95, because Win3 wasn't good enough any more, I said screw-you and found linux and ETHO [the single fd0, full OS inet suite]. Let me start out by saying I love this message. I thought fakeposting had died, but clearly there are still some practitioners out there. Here are a few hints: - Nobody's ISP tells them what OS to run, even back in 1995. This excessive detail deprives your message of the credibility it deserves. - d...@gmail.com is not valid -- gmail requires at least six characters in the username field; you had to know someone would notice this. Next time, register a better throwaway address. Mailinator has lots of legit-sounding domains to choose from. - The message seems to have shot its whole magazine in the first engagement. Spread it out over a few more messages, so people get engaged in the discussion before they realize it's a fakepost. Don't get discouraged! This is good work, and with practice, you'll be tearing up mailing lists for years to come. Thanks, Kurt --- Federico G. Benavento benave...@gmail.com
Re: [9fans] trying to populate arm tree
what is fixed? On Jan 28, 2013, at 1:25 PM, Jacob Todd jaketodd...@gmail.com wrote: On Mon, Jan 28, 2013 at 10:32 AM, erik quanstrom quans...@quanstro.net wrote: python needs a mkfile rework. i'm afraid it's more serious than that. python is out of date, only compiles for 386, there are file i/o problems, etc, it drags along openssh/openssl, and isn't pushed upstream. jeff is working on a addressing all these issues with the latest 2.x python. it will be put on sources when its ready. - erik This is fixed in 9front, if someone wanted to pull in the fixes. --- Federico G. Benavento benave...@gmail.com
Re: [9fans] trying to populate arm tree
On Jan 28, 2013, at 5:10 PM, erik quanstrom quans...@quanstro.net wrote: On Mon Jan 28 13:27:19 EST 2013, benave...@gmail.com wrote: On Jan 28, 2013, at 3:21 PM, erik quanstrom quans...@quanstro.net wrote: or anything that's not x86. I have openssl-1.0.1c it builds on arm too... (have you tested it?) it was built for the first time a couple of hours ago :) --- Federico G. Benavento benave...@gmail.com
Re: [9fans] these are release of 9front?
I don't think erik was suggesting a rewrite, just improving it… btw, in case anyone cares, I'm with richard on this. On Jan 8, 2013, at 5:54 PM, Matthew Veety mve...@gmail.com wrote: the current usb stack can't do some things it needs to be able to do. it's particularly terrible at dealing with devices with scheduling requirements. and it doesn't handle xhci. - erik Well can't we just fix the problems with the current one? Most of the work is already done. I don't see why we can't just use that. --- Federico G. Benavento benave...@gmail.com
Re: [9fans] Mercurial and Plan 9
Hola Steven, thanks for getting mercurial support for Plan 9 upstream, I did the APE port of python (based on the native one) years ago because nothing worked with the native one, I wanted to get X running then it needed openssl or some socket api that wasn't implemented in the Plan 9 emulation of it (written in python as charles mentions), because native python didn't have sockets and things like non-blocking IO provided by APE's select. basically you're left out with the Language but without significant parts of the runtime when you use a native port. thanks again On Jan 4, 2013, at 8:10 PM, Steven Stallion sstall...@gmail.com wrote: Hi Jeff, Mercurial has been taken care of! I more or less track the latest stable (stallion/mercurial). The existing Python port is sufficient for Mercurial, though having a native Python port would be great. I've added Plan 9 support upstream in the Mercurial repository, so future builds are very simple. In fact, it's even documented: http://mercurial.selenic.com/wiki/Plan9FromBellLabs Cheers, Steve On Fri, Jan 4, 2013 at 1:56 PM, Jeff Sickel j...@corpus-callosum.com wrote: Has anyone completed an APE lib sec yet? I'm starting to roll an ape build of libsec in as it's needed for a new Python 2.7.3+ port of Python. I'd gladly take someone else's mkfile rework to save some time. Libsec is needed to implement a new _hashlib module, one that doesn't require OpenSSL among others. The new Python releasebuild will be pushed out once I clean up a few more details like getting new builds of Mercurial working. --- Federico G. Benavento benave...@gmail.com
Re: [9fans] go forth and ulong no more!
On Nov 22, 2012, at 6:38 AM, Charles Forsyth charles.fors...@gmail.com wrote: I wonder if there's an assumption that usize is a novelty. It has been in u.h for at least 5 years. yes, there was such assumption on my behalf. I haven't seen it before erik posted the man page, now after some grep'ing I see it's being used in the near ports. --- Federico G. Benavento benave...@gmail.com
Re: [9fans] go forth and ulong no more!
hola, usize, really? any reason not use this opportunity to join the world and use inttypes.h or stdint.h format? On Nov 20, 2012, at 6:49 PM, erik quanstrom quans...@quanstro.net wrote: i've written a little man page /n/sources/contrib/quanstro/types http://iwp9.org/magic/man2html/2/types describing a progression of the plan 9 type system that works outside the 32-bit-only world we've been living in since 1992. nix uses this type system. - erik --- Federico G. Benavento benave...@gmail.com
Re: [9fans] /ape/libcrypto.a ??none??: /386/lib/ape/libssl.a first
pushed a change hours ago, do a pull On Thu, Jan 19, 2012 at 4:03 PM, John Floren j...@jfloren.net wrote: On Thu, Jan 19, 2012 at 2:32 AM, ROuNIN rounin.urash...@googlemail.com wrote: Hello! I still get the following: pcc -o 8.out app_rand.8 apps.8 asn1pars.8 ca.8 ciphers.8 crl.8 crl2p7.8 dgst.8 dh.8 dhparam.8 dsa.8 dsaparam.8 ec.8 ecparam.8 enc.8 engine.8 errstr.8 gendh.8 gendsa.8 genrsa.8 nseq.8 ocsp.8 openssl.8 passwd.8 pkcs12.8 pkcs7.8 pkcs8.8 prime.8 rand.8 req.8 rsa.8 rsautl.8 s_cb.8 s_client.8 s_server.8 s_socket.8 s_time.8 sess_id.8 smime.8 speed.8 spkac.8 verify.8 version.8 x509.8 /386/lib/ape/libssl.a /386/ lib/ape/libcrypto.a ar vu /386/lib/ape/libregexp.a regcomp.8 regerror.8 regexec.8 regsub.8 regaux.8 rregexec.8 rregsub.8 ar vu /386/lib/ape/libutf.a rune.8 runestrcat.8 runestrchr.8 runestrcmp.8 runestrcpy.8 runestrdup.8 runestrlen.8 runestrecpy.8 runestrncat.8 runestrncmp.8 runestrncpy.8 runestrrchr.8 runestrstr.8 runetype.8 utfecpy.8 utflen.8 utfnlen.8 utfrrune.8 utfrune.8 utfutf.8 ar vu /386/lib/ape/libv.a getpass.8 tty.8 rand.8 nrand.8 getfields.8 min.8 max.8 error.8 nap.8 pcc -c /sys/src/cmd/gs/zlib/gzio.c /sys/src/cmd/gs/zlib/gzio.c:181[stdin:1575] function args not checked: fdopen /sys/src/cmd/gs/zlib/gzio.c:627[stdin:1995] incompatible types: INT and VOID for op AS pcc: cpp: 8c 9278: error mk: pcc -c /sys/src/cmd/gs/zlib/gzio.c : exit status=rc 9275: pcc 9277: cpp: 8c 9278: error mk: for (i in ... : exit status=rc 5839: rc 9272: mk 9274: error mk: cd lib mk all : exit status=rc 5831: mk 5834: error mk: mk lib.all mk ... : exit status=rc 5828: mk 5830: error mk: date for (i ... : exit status=rc 5075: rc 5825: mk 5827: error term% What do I need to do? Sorry, I may need an extra detailed explanation on what to do. ROuNIN I just saw this yesterday. Basically, vsnprintf may return an int or nothing depending on your library (in APE, it depends on whether or not you've defined _C99_SPRINTF_EXTENSION). By default, APE is going to give you a vsnprintf that returns void, but the code expects it to return int. You can get around this by adding -DHAS_vsnprintf_void to the CFLAGS variable in /sys/src/ape/lib/z/mkfile. John -- Federico G. Benavento
Re: [9fans] Supported_PC_hardware list
the intels of the day 915/945/etc have worked well for me the resolution you get is the one that the device supports in vesa mode On Nov 22, 2011, at 4:56 PM, Alexander Kapshuk wrote: On 11/22/2011 03:56 PM, erik quanstrom wrote: On Tue Nov 22 08:30:20 EST 2011, alexander.kaps...@gmail.com wrote: i was wondering if the Supported_PC_hardware list found here: http://plan9.bell-labs.com/wiki/plan9/Supported_PC_hardware/index.html, was fairly up-to-date? i am particularly interested in the VGA section thanks. the vga section is modest. i rarely see vga failures. i'm also using cinap's real mode emulation to make vesa more robust. - erik thanks to everyone for your input.
Re: [9fans] 9vx instability
On Nov 21, 2011, at 9:14 AM, Anton wrote: What are the problems with trying to boot it natively? As you correctly suggested, my wireless card isn't supported and connecting laptop through the Ethernet cable to my router located in another room is somewhat inconvenient. Also, I'm not sure if my video card (GMA 950 as listed in specs or 945GME as lspci says) works right (uhm, should I try realemu?) Of course, I'll be glad if I'm wrong with this incompatibilities. the graphics card works, I used to have it a 1280x800x32 in a compaq pressario Have you tried Erik Quanstro's 9atom kernel? Nope. I'll give it a try. Actually, I've seen 9atom page, but I didn't find any difference in hardware support viable for my notebook. And I didn't understand much on other differences at this moment. it's not about the hardware support list, it's about the hardware listed actually working so, yes 9atom
Re: [9fans] access p9 sources from linux
http://plan9.bell-labs.com/sources/extra/plan9.tar.bz2 built daily On Nov 11, 2011, at 11:58 AM, Rudolf Sykora wrote: Is there a simple way to get a local copy of some of sources' subtree?
Re: [9fans] thanks iwp9 organizers
yeah, thanks to the hosts who made all happen, specially nemo, enrique and gorka On Mon, Oct 24, 2011 at 12:10 PM, erik quanstrom quans...@labs.coraid.com wrote: On Mon Oct 24 11:09:49 EDT 2011, n...@lsub.org wrote: I don't understand. You were also organizing it :) i did very little and you did a lot. and without gorka's help we wouldn't even have been lost. ;-) - erik -- Federico G. Benavento
Re: [9fans] hg on plan 9
erik, it the fs that doesn't support ' ' in file names... On Sep 15, 2011, at 12:58 AM, erik quanstrom wrote: looks like spaces in file names are a problem, at least on my system. minooka; hg clone https://code.google.com/p/nix-os/ destination directory: nix-os requesting all changes adding changesets adding manifests adding file changes transaction abort! rollback completed abort: Bad file number: /n/other/quanstro/nix-os/.hg/store/data/lib/font/bit/anonpro/_anonymous _pro.ttf.i - erik
Re: [9fans] Mousing is faster than typing but users do not believe it
On Fri, Jun 17, 2011 at 4:23 PM, Guilherme Lino guih.l...@gmail.com wrote: On Fri, Jun 17, 2011 at 1:31 PM, simon softnet ph.soft...@gmail.com wrote: Some people's contribution to this discussion is really null and irritating.. They go like Pfff Apple did this for the customers! oh yeah, and by the way, the keyboard is faster in general Well, at least apple has indeed made the effort to publish a research! Attracting customers or not, this doesn't mean apple's research is necessarily false. What do you base your arguments on? if thats your contribute then your null and irritating you just need to read the post and links on this post to understand, that this is a non sense. once upon the time i also liked to be with one hand on my lap and the other playing with mouse, but i took the time to learn something different like KEEP YOUR DAM HANDS ON THE KEYBOARD!, and thats what I'm defending. i still have a windows for gaming but my daily routine is on a terminal (started with vim, and then arch linux, dwm, urxvt, zsh, vimperator) which all i took the time to learn and configure. I'm with just almost with 8 months of this unix, vim, linux, command line , plain text, shortcuts thing and every day i learn something new, a new shortcut that will make me even faster, and I'm not going back :D and thats i subscribed this malign list, cause i want to go deeper. dude, you're a gamer of course you like cool ninja keyboard shortcuts, I most of us just want to edit some text and maybe compile it later. I particularly don't have the time to learn of those cool shortcuts that will make my life easier after I learn them. I'll choose notepad.exe over emacs any day, just because I don't have to remember a random combination of keys just to save a damn file. (I'm actually joining money together to buy a iMac xD so forget the HATER!! part) now if you ONLY excuse for an argument is talking to me about a research made more than 20 years ago with AppleLink editor and MS-DOS word processor, making some absurd affirmations like taking two seconds to chose a shortcut (WTF?) (who were the tested subjects? togs mother?) , requested by a company who is desperate to sell computers with a mouse. (ooohh but it was a $50 million RD) then go no further, the mouse is for you if you are a person who use the PC to go to the facebook or make a school paper work, then the mouse is for you! seriously, i don't recommend that to my girlfriend, or to my friend who like to edit movies or use blender, now if you are in any informatics related business keyboard is the way (i even do all my UML diagrams in text mode with plantUML, you should check it out, its much more easy to concentrate on the problem rather than the diagram appearance) quote from there: Command-Key Illusion. Since users do experience the illusion that keyboarding is faster, there is market pressure to supply them with shortcuts.—even when using shortcuts will actually slow them down. What I generally recommend is supplying as many shortcuts as demanded by the market—the real market, not the programmer in the cubicle next to you. clearly makes no sense, the market (majority of the users that usually buy computers) don't even care about shortcuts, 70%(guessing here) computer users don't care about shortcuts, maybe 30% don't know whats that, my girlfriend don't.. ok.. maybe CTRL-c CTRL-V (but CTRL-x is totally obscure to her) i should read: As the market don't care about shortcuts, we give you the mouse, so you can adapt and learn and start to use easily. so we can sell more computers(note: not fast or efficiency) i used Fences on windows with a ton of shortcuts on my desktop, still not fast or productive my Firefox browser only have 1 bar, the status bar (vimperator extension with the config (:set gui=none)), and i bet my browsing is faster than yours every time i want to go back, bookmark, go down up.., open a address, do a search, i just need to press one or two key, no need to be always traveling with the mouse up there people are lazy, thats why they prefer the mouse, but if you spend some time learning to use command line, vim, emacs, and configuring shortcuts everywhere, you wont be able to leave without them. I'm not saying mouses sucks and should die! of course i use the mouse to for daily tasks which i find more practical(like selecting text), now is the mouse faster than the keyboard in a general daily routine? you cant do nothing with the mouse! therefore not faster... mouse is the devils way to keep you from productivity! (just used the mouse to copy a paragraph the rest was all keyboard) (to long, did not read? xD) (sorry for my English, I'm from Portugal) cheers -- Guilherme Lino -- Federico G. Benavento
Re: [9fans] nupas contrib needs rebuilding
contrib/pull does On Jun 2, 2011, at 1:40 PM, Yaroslav wrote: contrib(1) should have a way to pass -s to replica/pull --- Federico G. Benavento
Re: [9fans] contrib(1) WAS: Re: wiki...
I'm still alive, do you have a patch? On Sun, Apr 24, 2011 at 5:52 PM, smi...@zenzebra.mv.com wrote: erik quanstrom quans...@quanstro.net writes: should probably be replaced with something like: cat $cfg.part ! ... /bin/contrib/pull $name if(~ -$status -) mv $cfg.part $cfg if not { echo install failed [1=2] rm $cfg.part exit 'oh, crap' } why don't you email the author directly? Because I have no idea who the maintainer is or how to contact them. (I was hoping they would see my post.) All I know is that the author is fgb on sources. $ finger f...@sources.cs.bell-labs.com [sources.cs.bell-labs.com] finger: connect: Connection refused -- +---+ |E-Mail: smi...@zenzebra.mv.com PGP key ID: BC549F8B| |Fingerprint: 9329 DB4A 30F5 6EDA D2BA 3489 DAB7 555A BC54 9F8B| +---+ -- Federico G. Benavento
Re: [9fans] recent plan9.iso on hosted kvm/qemu
years ago I needed to set some variables at boot time so I could get Plan 9 running. http://9fans.net/archive/2005/12/70 On Mon, Mar 7, 2011 at 1:24 PM, erik quanstrom quans...@labs.coraid.com wrote: Also, I really need to thank fgb as he gave me a little tip on irc about his modified 9load that allows you to pass new plan9.ini variables at boot. I got disconnected before I could acknowledge. I haven't tried it yet, but it could be useful. not quite sure what you mean by this, but 9load-e820 allows a var=val at any prompt. - erik -- Federico G. Benavento
Re: [9fans] git port
btw, a few days ago I got git working with git:// urls, the Makefile builds everything, the mkfile just the git binary which has all the the stuff embedded a la busybox I did the port, it's nowhere near of being clean, I use it inside a vt window becuase it uses \r as eol. you'll need fgb/openssl and gmake from andrey's contrib if you're going to use the Makefile, otherwise my mkfile just builds the git binary. I'll put a tar on sources later. On Sat, Mar 5, 2011 at 2:49 PM, Lyndon Nerenberg (VE6BBM/VE7TFX) lyn...@orthanc.ca wrote: Someone in the past few days alluded to a git port. I'll be buggered if I can find the message in the list archives. Does this exist? Where? -- Federico G. Benavento
Re: [9fans] Modern development language for Plan 9, WAS: Re: RESOLVED: recoving important header file rudely
afaik, templates might be inlined, static or shared... depending on the compiler and the flags. for gcc see: http://gcc.gnu.org/onlinedocs/gcc/Template-Instantiation.html On Fri, Feb 18, 2011 at 4:35 PM, David Leimbach leim...@gmail.com wrote: Sent from my iPhone On Feb 18, 2011, at 11:15 AM, Bakul Shah bakul+pl...@bitblocks.com wrote: On Fri, 18 Feb 2011 10:46:51 PST Rob Pike robp...@gmail.com wrote: The more you optimize, the better the odds you slow your program down. Optimization adds instructions and often data, in one of the paradoxes of engineering. In time, then, what you gain by optimizing increases cache pressure and slows the whole thing down. You need a feedback loop. Uncontrolled anything is a recipe for disaster. Optimizations need to be `judicious' but that requires experience, profiling and understanding but the trend seems to be away from that. On a slightly different tangent, 9p is simple but it doesn't handle latency very well. To make efficient use of long fat pipes you need more complex mechanisms -- there is no getting around that fact. rsync hg in spite of their complexity beat the pants off replica. Their cache behavior is not very relevant here. Similarly file readahead is usually a win. C++ inlines a lot because microbenchmarks improve, but inline every modest function in a big program and you make the binary much bigger and blow the i-cache. That's a compiler fault. Surely modern compilers need to be cache aware? ideally a smart compiler treats `inline' as a hint at most, just like `register'. Well how does template expansion affect all of this? I've heard in conversations that C++ is pretty register hungry which makes me think lots of inlining happens behind the scenes. Then again that's an implementation detail, except maybe for templates. -- Federico G. Benavento
Re: [9fans] Modern development language for Plan 9, WAS: Re: RESOLVED: recoving important header file rudely
I don't know if f2c meets your needs, but it has always worked. On Thu, Feb 3, 2011 at 9:07 AM, EBo e...@sandien.com wrote: On Thu, 3 Feb 2011 10:38:30 +, C H Forsyth wrote: it's not just the FORTRAN but supporting libraries, sometimes large ones, including ones in C++, are often required as well. i'd concluded that cross-compilation was currently the only effective route. i hadn't investigated whether something like linuxemu could be used (or extended easily enough) to allow cross-compilation within the plan 9 environment. i have found a few exceptions written in plain, reasonably portable C, good for my purposes, but not characteristic of scientific applications in general. Agreed, and then there is the Netlib Java numerical analysis code -- That one gave be indigestion... One of the biggest problems is that no one wants rewrite linpack, blas, etc., not that it has been polished within an inch of the developers lives. As for FORTRAN, I thought about looking into the old f2c, and see how that worked for getting some FORTRAN compiled in Plan 9 as a demonstration. I'll think about linuxemu in this context. EBo -- -- Federico G. Benavento
Re: [9fans] RESOLVED: recoving important header file rudely
term% mkdir trashdir cd trashdir mkdir x term% touch `{i=0; while (test $i -lt 128) { echo -n abcdefghijklmnop; i=`{echo $i+1|hoc} } } term% cp abc* abc* x # watch the cp executable suicide # now, make SURE there's nothing in this rio window that you want to keep... term% rm abc* # watch the rio window go bye bye! I'm not someone to complain without also offering solutions, though. I'm in the process of writing some C macros that might help clean up the source code, ensure intended bounary conditions, improve some interfaces, etc. I already have some working code, but it's still very experimental. I don't see how C macros would improve rc's globbing code, which thinks that there won't be files with names that long. -- Federico G. Benavento
Re: [9fans] RESOLVED: recoving important header file rudely
: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop rm: abc*: 'abc*' file does not exist lotte% On Tue, Feb 1, 2011 at 5:37 AM, Akshat Kumar aku...@mail.nanosouffle.net wrote: Somehow a particular problem with a particular application has degenerated into a rather unfair generalization of the whole system: Reading about Plan 9, I was quite excited to install it. I was quite excited when I first booted and ran it, too. But I distinctly felt my heart sink a little the first time it hung. Since then, I've browsed some of the OS source code and, having done that, I came to understand why the system was so buggy. The core applications appear to be written in a style of C programming reminiscent of the dawn of UNIX. While the operating system architecture is BEAUTIFULLY designed (with the exception, perhaps of that fossil/conf gotcha!), the C code used to implement it doesn't seem to take advantage of any of the programming paradigms that have emerged in the intervening 30 years... It would help the conversation if you described what these new paradigms are. For instance, Plan 9 does not have any code that's built upon any sort of functional programming language. But again, that's not necessary. What practices has everyone here missed, which would turn Plan 9 code into gold? The argument seems a bit pretentious. Getting Plan 9 code to crash is almost too easy: term% mkdir trashdir cd trashdir mkdir x term% touch `{i=0; while (test $i -lt 128) { echo -n abcdefghijklmnop; i=`{echo $i+1|hoc} } } term% cp abc* abc* x # watch the cp executable suicide # now, make SURE there's nothing in this rio window that you want to keep... term% rm abc* # watch the rio window go bye bye! Sorry, this does not crash any Plan 9 code on my system. How much data globbing should handle is a matter of practicality. When rc dies, the rio window closes. ak -- Federico G. Benavento
Re: [9fans] HELP: recoving important header file rudely clobbered by mk
Two means, one end: don't lose that .h file! I'm still waiting to see that crazy mkfile... -- Federico G. Benavento
Re: [9fans] RESOLVED: recoving important header file rudely
I know the cp suicide is a problem in cp, because I designed the test case to exercise a buffer overflow I found at /sys/src/cmd/cp.c:77,93 void copy(char *from, char *to, int todir) { Dir *dirb, dirt; char name[256]; int fdf, fdt, mode; if(todir){ char *s, *elem; elem=s=from; while(*s++) if(s[-1]=='/') elem=s; sprint(name, %s/%s, to, elem); to=name; } The bug in rc's globbing was just a fun bonus I discovered while trying to clean up after the cp test. :) I take it was trivial to find that overflow, come on the code is so simple that you just see and get it the first time, which makes easier to find/fix bugs, iterators and the other crap you mentioned would had obfuscated it. now you found a related bug in rc, if I ever get to write code as beautiful as rc that will be a day to remember. Plan 9 is not bug-free, but they easier to find and fix, think about that. -- Federico G. Benavento
Re: [9fans] HELP: recoving important header file rudely clobbered by mk
have you checked the wiki? http://www.plan9.bell-labs.com/wiki/plan9/Documentation/ there are tons of articles on Using this or that, a recommended readings section and even a UNIX to Plan 9 command translation. there's also: http://www.quanstro.net/newbie-guide.pdf On Tue, Feb 1, 2011 at 3:22 AM, smi...@zenzebra.mv.com wrote: John Floren j...@jfloren.net writes: I've continually meant to write some sort of beginners-level summary of the system including things like Fossil and Venti, but the magnitude of the task is daunting. I may try to do a more clear description of how the filesystems work together in the near future. I've been writing a guide to Plan 9 for UNIX users, hilighting the differences between Plan 9 and UNIX needed to get UNIX users up to speed on Plan 9. I shudder to think how much work it would take to write a guide for complete newbies (without a UNIX background). A description how the filesystems interact would be awesome! As far as system administration goes, this appears to be one of the areas in which the difference P9 and UNIX is most confusing. -- +---+ |E-Mail: smi...@zenzebra.mv.com PGP key ID: BC549F8B| |Fingerprint: 9329 DB4A 30F5 6EDA D2BA 3489 DAB7 555A BC54 9F8B| +---+ -- Federico G. Benavento
Re: [9fans] HELP: recoving important header file rudely clobbered by mk
8l $LDFLAGS -o important.h important.h.8 I'm interested in seeing this mkfile which causes mk misbehavior -- Federico G. Benavento
Re: [9fans] `mk` (from Plan9 ports) efficiency related issue
Your email also doesn't explain why you cannot generate a normal mk file. I'm afraid I don't understand the question. What do you mean by generating a normal mk file? A) Do you mean why am I using a generator that writes the `mk` script instead of writing the `mk` script myself by hand? The answer to this is complexity: writing `mk` is Ok when you have a simple application to build, but as the application grows larger so does the make script. (And using meta rules is not always possible.) B) Why isn't the output script a normal `mk` script? Actually is a very simple script (no meta-rules, no shell expansion, etc.). It's just big. :) a normal mkfile does have meta-rules and if you have so many targets wouldn't it make sense to have more mkfiles? -- Federico G. Benavento
Re: [9fans] sound, graphics, tuner
http://plan9.bell-labs.com/sources/contrib/mason/ac97.tgz aki's driver + a sys version added, the original used to be at 9grid.net On Mon, Jan 17, 2011 at 11:52 AM, Jacob Todd jaketodd...@gmail.com wrote: http://www.cs.cmu.edu/~412/history/2006F/ac97 There's no source there, but you could probably find an email address at http://www.cs.cmu.edu/~412 for someone who does have the source. It could be on sources, though, I haven't checked. On Jan 17, 2011 8:36 AM, Pavel Klinkovsky pavel.klinkov...@gmail.com wrote: There exist two different AC97 drivers; look at the port of Doom to plan9 for pointers to one of them. I have my IBM Think Pad with AC'97 running Plan9. The AC'97 driver supports only output mode. Any link to some different driver supporting also input mode? Pavel -- Federico G. Benavento
Re: [9fans] `mk` (from Plan9 ports) efficiency related issue
when you have a clean mkfile, doing mk clean; mk install is faster than all the dependency checking you'd want to do, specially is the project is a big bloat take X11 for instance how long does it take to build it? On Mon, Jan 17, 2011 at 2:31 PM, Ciprian Dorin Craciun ciprian.crac...@gmail.com wrote: On Mon, Jan 17, 2011 at 17:53, Robert Raschke rtrli...@googlemail.com wrote: On Mon, Jan 17, 2011 at 3:33 PM, Ciprian Dorin Craciun ciprian.crac...@gmail.com wrote: On Mon, Jan 17, 2011 at 17:00, Robert Raschke rtrli...@googlemail.com wrote: Your email also doesn't explain why you cannot generate a normal mk file. I'm afraid I don't understand the question. What do you mean by generating a normal mk file? A) Do you mean why am I using a generator that writes the `mk` script instead of writing the `mk` script myself by hand? The answer to this is complexity: writing `mk` is Ok when you have a simple application to build, but as the application grows larger so does the make script. (And using meta rules is not always possible.) B) Why isn't the output script a normal `mk` script? Actually is a very simple script (no meta-rules, no shell expansion, etc.). It's just big. :) Sorry, I meant an idiomatic mk file, in the sense as they are used within the Plan 9 distribution. Have a look at Plan 9 Mkfiles (http://www.cs.bell-labs.com/sys/doc/mkfiles.html) and Maintaining Files on Plan 9 with Mk (http://www.cs.bell-labs.com/sys/doc/mk.html), if you haven't already done so. I think by listing all your dependencies one by one, step by step, you are bypassing a lot of the strengths of a make system. I would expect your generator to produce a mk include file with the meta rules plus the mk file itself which lists file dependencies in a concise manner. Robby On Mon, Jan 17, 2011 at 17:51, Federico G. Benavento benave...@gmail.com wrote: a normal mkfile does have meta-rules and if you have so many targets wouldn't it make sense to have more mkfiles? -- Federico G. Benavento I'll respond to both Robert and Federico in the same email, as their observations an suggestions are on the same topic. So for starters I've read both mentioned papers Plan9 Mkfiles and Maintaining Files on Plan9 with Mk, and I have the following observations: * the second paper Maintaining Files on ... is more a general guide that describes the semantic and syntax of `mk` files; * the first paper Plan9 Mkfiles focuses entirely and exclusively on writing `mk` files for building Plan9 native applications; that is it describes the general rules on how to write short and simple `mk` files that take advantage on the existing Plan9 build infrastructure; * as a consequence both of them seem to suggest writing small `mk` scripts that individually build each application or library; * unfortunately what they don't deal with is inter-dependencies between multiple projects or libraries each with it's own `mk` script; * thus if looking into the `plan9port` source code, inside the `src/mkfile` I see the following snippet (and I count about 50 other similar instances): libs-%:V: for i in $LIBDIRS do (cd $i; echo cd `pwd`';' mk $MKFLAGS $stem; mk $MKFLAGS $stem) done But after reading the paper Recursive Make Considered Harmful, I see that this approach poses at least the following problems: * when developing and updating a single library, there is no way in which I can instruct `mk` to rebuild all dependent applications -- unless I know about them and enumerate them one by one; as a consequence -- unless I know very well the real dependency graph -- `mk` doesn't help me at all and I have to `mk clean all`; * second, there is a performance bottleneck as now libraries can't be built in parallel; (this is fine if a library is quite big, but if I have libraries with a number of files on par with the number of processors I have wasted time;) * third, it's almost impossible to make a dependency between one library to another; the dependency is encoded in their order in the variables like `LIBDIRS`; I hope that these observations answer the first question of why don't I just create a number of separate files one for each project or library. (The cited paper is at http://aegis.sourceforge.net/auug97.pdf .) For the second question about why no meta-rules, the answer is somehow trickier, thus I'll give a few problems which arise when using meta-rules: * not all files of the same type are built by using the same rule; (for example for some files I want to enable debugging, for others not); thus I don't see how a meta-rule would solve this problem; (unless I create separate `mk` files or I resort to filename tags -- for example I would call `*.debug.c` all C files that I want to be debugged, and `*.release.c` for those I don't); * second, each file has a unique
Re: [9fans] `mk` (from Plan9 ports) efficiency related issue
about debug, release CONF=debug DEBUG=`{if(~ $CONF release) echo -DNDEBUG} CFLAGS=$CFLAGS $DEBUG if you want debug you run mk 'CONF=debug' wouldn't something like that help? or have 2 files mkdebug and mkrelease so you include them from the other mkfiles as you see fit On Mon, Jan 17, 2011 at 2:46 PM, Federico G. Benavento benave...@gmail.com wrote: when you have a clean mkfile, doing mk clean; mk install is faster than all the dependency checking you'd want to do, specially is the project is a big bloat take X11 for instance how long does it take to build it? On Mon, Jan 17, 2011 at 2:31 PM, Ciprian Dorin Craciun ciprian.crac...@gmail.com wrote: On Mon, Jan 17, 2011 at 17:53, Robert Raschke rtrli...@googlemail.com wrote: On Mon, Jan 17, 2011 at 3:33 PM, Ciprian Dorin Craciun ciprian.crac...@gmail.com wrote: On Mon, Jan 17, 2011 at 17:00, Robert Raschke rtrli...@googlemail.com wrote: Your email also doesn't explain why you cannot generate a normal mk file. I'm afraid I don't understand the question. What do you mean by generating a normal mk file? A) Do you mean why am I using a generator that writes the `mk` script instead of writing the `mk` script myself by hand? The answer to this is complexity: writing `mk` is Ok when you have a simple application to build, but as the application grows larger so does the make script. (And using meta rules is not always possible.) B) Why isn't the output script a normal `mk` script? Actually is a very simple script (no meta-rules, no shell expansion, etc.). It's just big. :) Sorry, I meant an idiomatic mk file, in the sense as they are used within the Plan 9 distribution. Have a look at Plan 9 Mkfiles (http://www.cs.bell-labs.com/sys/doc/mkfiles.html) and Maintaining Files on Plan 9 with Mk (http://www.cs.bell-labs.com/sys/doc/mk.html), if you haven't already done so. I think by listing all your dependencies one by one, step by step, you are bypassing a lot of the strengths of a make system. I would expect your generator to produce a mk include file with the meta rules plus the mk file itself which lists file dependencies in a concise manner. Robby On Mon, Jan 17, 2011 at 17:51, Federico G. Benavento benave...@gmail.com wrote: a normal mkfile does have meta-rules and if you have so many targets wouldn't it make sense to have more mkfiles? -- Federico G. Benavento I'll respond to both Robert and Federico in the same email, as their observations an suggestions are on the same topic. So for starters I've read both mentioned papers Plan9 Mkfiles and Maintaining Files on Plan9 with Mk, and I have the following observations: * the second paper Maintaining Files on ... is more a general guide that describes the semantic and syntax of `mk` files; * the first paper Plan9 Mkfiles focuses entirely and exclusively on writing `mk` files for building Plan9 native applications; that is it describes the general rules on how to write short and simple `mk` files that take advantage on the existing Plan9 build infrastructure; * as a consequence both of them seem to suggest writing small `mk` scripts that individually build each application or library; * unfortunately what they don't deal with is inter-dependencies between multiple projects or libraries each with it's own `mk` script; * thus if looking into the `plan9port` source code, inside the `src/mkfile` I see the following snippet (and I count about 50 other similar instances): libs-%:V: for i in $LIBDIRS do (cd $i; echo cd `pwd`';' mk $MKFLAGS $stem; mk $MKFLAGS $stem) done But after reading the paper Recursive Make Considered Harmful, I see that this approach poses at least the following problems: * when developing and updating a single library, there is no way in which I can instruct `mk` to rebuild all dependent applications -- unless I know about them and enumerate them one by one; as a consequence -- unless I know very well the real dependency graph -- `mk` doesn't help me at all and I have to `mk clean all`; * second, there is a performance bottleneck as now libraries can't be built in parallel; (this is fine if a library is quite big, but if I have libraries with a number of files on par with the number of processors I have wasted time;) * third, it's almost impossible to make a dependency between one library to another; the dependency is encoded in their order in the variables like `LIBDIRS`; I hope that these observations answer the first question of why don't I just create a number of separate files one for each project or library. (The cited paper is at http://aegis.sourceforge.net/auug97.pdf .) For the second question about why no meta-rules, the answer is somehow trickier, thus I'll give a few problems which arise when using meta-rules: * not all files of the same type are built by using the same rule
Re: [9fans] Plan9 topology
The Fossil partition being the partition where Plan9 will be running. Venti should then be on another partition? Plan 9 partitions are (in the standard installation) subdivided, 9fat - for the kernel fossil - ... swap - ... plus arenas and isect if you chose to install venti but come on. when the talking takes more time than the doing, it's time act. -- Federico G. Benavento
Re: [9fans] Plan9 topology
yes, I dual booted Plan 9 and windows for years, it worked great, just boot the cdroom and follow the instructions, choose the empty space or partition from the installer, etc. you'll end up with a standalone terminal, no need for a cpu server in the beginning, later you could just rebuild the kernel and turn it into a cpu server. if the other OS is linux and uses grub, it'll need an entry for Plan 9 similar to the windows entries, (chainload or something) if it's windows, it's a bit more hacking booting Plan 9 from vista's loader but totally doable ah, and make sure your nic is supported. On Thu, Jan 13, 2011 at 5:08 PM, Duke Normandin dukeofp...@ml1.net wrote: On Thu, 13 Jan 2011, Skip Tavakkolian wrote: On Thu, Jan 13, 2011 at 11:31 AM, Duke Normandin dukeofp...@ml1.net wrote: On Thu, 13 Jan 2011, Skip Tavakkolian wrote: if the intent is to get a full understanding of what an operational Plan 9 environment is like, using VMware or Qemu to create VM's for various roles (auth/cpu, fs, term) connected by a virtual network is an excellent option. I've successfully used this setup for experimenting/testing and for demos. Sounds like _a lot_ of fooling around! I've set up numerous *nix LANs before, but don't have one at the moment. How much memory would a machine need to set up all those VMs? depending on the host os, 1g is sufficient. i've never needed to use more than 256M for plan9 vm's. The box that I'd be using has a total of 1G RAM. If I do this, it would be on top of Xubuntu 10.10. But the VM thing doesn't really appeal to me. I could run a headless box as a Plan9 auth/cpu, fs server. Then, if I want to this Plan9 server, is there a minimum Plan9 install that I could put on the spare partition that I have? Kinda like what I had for a long time: a 486DX running FreeBSD as a mailserver; another running as a webserver; another couple running primary and slave nameservers; and one dual-homed FreeBSD box routing and doing firewall/natd. Had a couple of Linux and FreeBSD workstations hung on this LAN. Those 486DX _never_ hiccuped! (Thank you UPS!!!) The above sounds like a job for Plan9 :) But my point is - is that I don't need to set up a LAN to enjoy Linux or FreeBSD. Can I use Plan9 standalone in a dedicated partition? -- Duke -- Federico G. Benavento
Re: [9fans] Noob says Hi ..
I've trashed my partition table more than once in the past years TeskDisk always saved my ass, I just booted a linux live cd, download the static binary and fixed my partition table... http://www.cgsecurity.org/wiki/TestDisk On Thu, Jan 13, 2011 at 12:33 PM, Duke Normandin dukeofp...@ml1.net wrote: On Thu, 13 Jan 2011, erik quanstrom wrote: When I start the install process from the Live CD, I'll probably be asked to choose a partition where I want Plan9 to live, right? I'll choose one; it'll warn me that the partition is already in use, do I want to overwrite it? I'll reply, yes, and BOOM the partition is committed to Plan9. The rest of my partitions are left alone! - right? Much obliged. nice in theory. in practice, make backups. I was waiting for that one to pop up. :) If it's _that_ unpredictable, I think that I'll install it on a spare box. FWIW, 8 mos ago, I installed XP on Part1; Linux on 2 (with the swap on an extended partition); PcBSD on 3; and Native Oberon on 4. used Gnome `gparted' to resize and move partitions, with XP still in Part.1 Zero problems! No OS install tried to mess with another partition. So, are you being overly cautious here, or is there a real danger that Plan9 has a run-away? -- Duke -- Federico G. Benavento
Re: [9fans] ape/socket again non-blocking command succeeds but still blocks
fcntl() didn't fail, it has to do with listen()'s implementation which creates a pipe, dups and forks... but the new fd doesn't have O_NONBLOCK set. check /sys/src/ape/lib/bsd/listen.c and yes it's an incompatibility On Tue, Jan 11, 2011 at 5:18 AM, Fernan Bolando fernanbola...@mailc.net wrote: On Tue, Jan 11, 2011 at 4:06 PM, Fernan Bolando fernanbola...@mailc.net wrote: On Tue, Jan 11, 2011 at 3:45 PM, Federico G. Benavento benave...@gmail.com wrote: it's not fcnlt's fault, ape replaces your sockfd with a pipe when you do listen(), you could call fcntl again after the listen() call... all this is usually combined with select() which in turns does more magic behind the scenes and this behavior isn't exposed. I understand, I am now using select() when compiled under plan9/ape, it looks like it's working now. I originally found select() when I was googling this problem, but I wasn't sure if adding select() will hide an incompatibility issue between plan9/ape and some standard. thanks for your help. On a second thought shouldn't fnctl raise an error that it was not able to set non-block? -- Federico G. Benavento
Re: [9fans] Need help on installing Google Go for The Plan 9 Operating system
run: % 9fs sources % /n/sources/contrib/fgb/root/rc/bin/contrib/install fgb/contrib % contrib/install -f bichued/python % contrib/install -f fgb/hg that should work On Mon, Jan 10, 2011 at 7:01 AM, ROuNIN rounin.urash...@googlemail.com wrote: Hello all, I just posted this golang-nuts. I would like someone to advise on what needs to be done to install Google Go on The Plan 9 Operating System. Can Federico G. Benavento [FGB] please help? I've searched for ages on the net but can't find any info. So far have the following (with the aid of) http://plan9.bell-labs.com/wiki/plan9/Sources_repository/index.html mount to 9fs sources: 9fs sources ls /n/sources So you can see the contrib/ directory: contrib/ - Contrib directories for contributed code Then at: http://plan9.bell-labs.com/wiki/plan9/Contrib_index/index.html Then I get stuck at being able to obtain Mercurial from FGB's contrib area: hg: Mercurial 1.0.2 Many thanks, ROuNIN -- Federico G. Benavento
Re: [9fans] ape/socket again non-blocking command succeeds but still blocks
isn't this the intended behavior? lotte% 8.out 777 NON BLOCK Succeeded Here is the message: hola from a different window: lotte% telnet tcp!localhost!777 connected to tcp!localhost!777 on /net/tcp/20 hola I got your messagelotte% On Mon, Jan 10, 2011 at 10:31 PM, Fernan Bolando fernanbola...@mailc.net wrote: Hi all I am testing the non-block socket of ape/plan9 the code below seems to succeed in making a non-block sockets on unix, but not in plan9/ape it still blocks with no error from fcntl. Is this intended? /* A simple server in the internet domain using TCP The port number is passed as an argument */ #include stdio.h #include sys/types.h #include sys/socket.h #include netinet/in.h #include fcntl.h void error(char *msg) { perror(msg); exit(1); } int main(int argc, char *argv[]) { int sockfd, newsockfd, portno, clilen; char buffer[256]; struct sockaddr_in serv_addr, cli_addr; int n, sta, fl; if (argc 2) { fprintf(stderr,ERROR, no port provided\n); exit(1); } sockfd = socket(AF_INET, SOCK_STREAM, 0); if (sockfd 0) error(ERROR opening socket); printf(NON BLOCK Succeeded\n); bzero((char *) serv_addr, sizeof(serv_addr)); portno = atoi(argv[1]); serv_addr.sin_family = AF_INET; serv_addr.sin_addr.s_addr = INADDR_ANY; serv_addr.sin_port = htons(portno); if (bind(sockfd, (struct sockaddr *) serv_addr, sizeof(serv_addr)) 0) error(ERROR on binding); fl = fcntl (sockfd, F_GETFL,0); sta = fcntl (sockfd, F_SETFL, fl | O_NONBLOCK); /* set nonblock */ if (sta == -1) { printf( NON_BLOCK FAILED\n); return 1; } listen(sockfd,5); clilen = sizeof(cli_addr); newsockfd = accept(sockfd, (struct sockaddr *) cli_addr, clilen); if (newsockfd 0) error(ERROR on accept); bzero(buffer,256); n = read(newsockfd,buffer,255); if (n 0) error(ERROR reading from socket); printf(Here is the message: %s\n,buffer); n = write(newsockfd,I got your message,18); if (n 0) error(ERROR writing to socket); return 0; } -- Federico G. Benavento
Re: [9fans] ape/socket again non-blocking command succeeds but still blocks
it's not fcnlt's fault, ape replaces your sockfd with a pipe when you do listen(), you could call fcntl again after the listen() call... all this is usually combined with select() which in turns does more magic behind the scenes and this behavior isn't exposed. On Tue, Jan 11, 2011 at 3:53 AM, Fernan Bolando fernanbola...@mailc.net wrote: I need to apologize, my sample code made things more confusing. In unix the code I posted would have raised an error because newsockfs=accept()...would not block and just pass through. The idea is you can loop through accept() and multiplex multiple inputs. but in plan9/ape it works just as how you shown regardless of the fcntl non-block command. so I will not be able to loop through several sockets because it would block. On Tue, Jan 11, 2011 at 2:11 PM, Federico G. Benavento benave...@gmail.com wrote: isn't this the intended behavior? lotte% 8.out 777 NON BLOCK Succeeded Here is the message: hola from a different window: lotte% telnet tcp!localhost!777 connected to tcp!localhost!777 on /net/tcp/20 hola I got your messagelotte% On Mon, Jan 10, 2011 at 10:31 PM, Fernan Bolando fernanbola...@mailc.net wrote: Hi all I am testing the non-block socket of ape/plan9 the code below seems to succeed in making a non-block sockets on unix, but not in plan9/ape it still blocks with no error from fcntl. Is this intended? /* A simple server in the internet domain using TCP The port number is passed as an argument */ #include stdio.h #include sys/types.h #include sys/socket.h #include netinet/in.h #include fcntl.h void error(char *msg) { perror(msg); exit(1); } int main(int argc, char *argv[]) { int sockfd, newsockfd, portno, clilen; char buffer[256]; struct sockaddr_in serv_addr, cli_addr; int n, sta, fl; if (argc 2) { fprintf(stderr,ERROR, no port provided\n); exit(1); } sockfd = socket(AF_INET, SOCK_STREAM, 0); if (sockfd 0) error(ERROR opening socket); printf(NON BLOCK Succeeded\n); bzero((char *) serv_addr, sizeof(serv_addr)); portno = atoi(argv[1]); serv_addr.sin_family = AF_INET; serv_addr.sin_addr.s_addr = INADDR_ANY; serv_addr.sin_port = htons(portno); if (bind(sockfd, (struct sockaddr *) serv_addr, sizeof(serv_addr)) 0) error(ERROR on binding); fl = fcntl (sockfd, F_GETFL,0); sta = fcntl (sockfd, F_SETFL, fl | O_NONBLOCK); /* set nonblock */ if (sta == -1) { printf( NON_BLOCK FAILED\n); return 1; } listen(sockfd,5); clilen = sizeof(cli_addr); newsockfd = accept(sockfd, (struct sockaddr *) cli_addr, clilen); if (newsockfd 0) error(ERROR on accept); bzero(buffer,256); n = read(newsockfd,buffer,255); if (n 0) error(ERROR reading from socket); printf(Here is the message: %s\n,buffer); n = write(newsockfd,I got your message,18); if (n 0) error(ERROR writing to socket); return 0; } -- Federico G. Benavento -- Federico G. Benavento
Re: [9fans] How would you go about implementing this in Plan9?
what about a pipe? juke spawns /bin/games/mp3dec, page, png(1), jpg(1), etc there's even an avidec somewhere intended to be used that way, if I'm not mistaken. On Fri, Dec 10, 2010 at 6:34 AM, Eugene Gorodinsky e.gorodin...@gmail.com wrote: Suppose you're writing an app such as a multiprotocol instant messenger or a mediaplayer that supports multiple container formats and codecs. It's a good idea for your app to have a plug-in functionality, so that plugins could be developed independently and functionality added to the program without the need to recompile the whole thing. On a system that supports dynamic linking this is trivial. On Plan9 I'm not sure how to go about this. Having separate processes interacting with the main one seems somewhat wrong to me (slower, more overhead etc). Perhaps it's better to implement a limited form of dynamic linking, so that modules compiled to load dynamically could be loaded by the application that wants to load them whenever it needs. What do you think? -- Federico G. Benavento
Re: [9fans] How would you go about implementing this in Plan9?
On Fri, Dec 10, 2010 at 5:01 PM, Eugene Gorodinsky e.gorodin...@gmail.com wrote: There's a lot more reasons for using one tab = one process approach. For chrome it really is a bargain. But for a non-browsing application it might not be so. so the UI doesn't hang because webkit is single threaded, so you just fork()/exec() a binary and communicate via a named pipe? in any case, like chrome, which uses some sort of shared bitmap for a media player the player could create and image and share it via nameimage(), then the decoder program would just call namedimage() to get that one and draw to it... hell it could draw directly to the display with image id 0 if you want it, so really for the im client a pipe is more than enough -- Federico G. Benavento
Re: [9fans] Plan9 development
isn't this redundant with cpp(1)'s __FUNCTION__? if __FUNCTION__ isn't standard, then we should change it to __func__ in cpp and that's it On Thu, Nov 18, 2010 at 2:30 AM, Joel C. Salomon joelcsalo...@gmail.com wrote: On 11/14/2010 04:44 PM, Charles Forsyth wrote: the list of unimplemented items in /sys/src/cmd/cc/c99* is: snip i can think of something else that's not been noticed, but what other things have you found? Why is __func__ listed as “unwanted”? I’ve found it useful for some logging functions. --Joel -- Federico G. Benavento
Re: [9fans] Plan9 development
my bad, I thought cpp(1) implemented __FUNCTION__... On Thu, Nov 18, 2010 at 11:06 PM, Joel C. Salomon joelcsalo...@gmail.com wrote: On 11/18/2010 05:50 PM, Federico G. Benavento wrote: On Thu, Nov 18, 2010 at 2:30 AM, Joel C. Salomon joelcsalo...@gmail.com wrote: Why is __func__ listed as “unwanted”? I’ve found it useful for some logging functions. isn't this redundant with cpp(1)'s __FUNCTION__? if __FUNCTION__ isn't standard, then we should change it to __func__ in cpp and that's it Um, how can the preprocessor know what function it’s in middle of? (That’s why, unlike the preprocessor symbols __FILE__ __LINE__, C99’s __func__ is an identifier.) --Joel -- Federico G. Benavento
Re: [9fans] contrib/install fgb/X11?
also it shouldn't take that long... if you have the latest contrib tools what happens it's this: it first fcp's an iso.bz2 to your /tmp and runs replica from there. of course that iso.bz2 is 22 MB, but that's not contrib's fault On Mon, Nov 15, 2010 at 8:33 PM, Federico G. Benavento benave...@gmail.com wrote: the easiest way to reinstall is % contrib/install -f usr/pkg On Mon, Nov 15, 2010 at 6:52 PM, David Leimbach leim...@gmail.com wrote: On Mon, Nov 15, 2010 at 1:50 PM, Yaroslav yari...@gmail.com wrote: error: copying /386/bin/X11/equis: '/n/dist/386/bin' does not exist error: copying /386/bin/X11/twm: '/n/dist/386/bin' does not exist error: copying /386/bin/X11/xclock: '/n/dist/386/bin' does not exist error: copying /386/bin/X11/xev: '/n/dist/386/bin' does not exist error: copying /386/bin/X11/xset: '/n/dist/386/bin' does not exist Do you run stats(1) while doing the pull? Does it shows any anomalities, especially memory consuption? - Yaroslav I've not looked at memory consumption, but load and such look pretty normal. I'm running with 512MB RAM at the moment in the VM. Dave -- Federico G. Benavento -- Federico G. Benavento
Re: [9fans] contrib/install fgb/X11?
the easiest way to reinstall is % contrib/install -f usr/pkg On Mon, Nov 15, 2010 at 6:52 PM, David Leimbach leim...@gmail.com wrote: On Mon, Nov 15, 2010 at 1:50 PM, Yaroslav yari...@gmail.com wrote: error: copying /386/bin/X11/equis: '/n/dist/386/bin' does not exist error: copying /386/bin/X11/twm: '/n/dist/386/bin' does not exist error: copying /386/bin/X11/xclock: '/n/dist/386/bin' does not exist error: copying /386/bin/X11/xev: '/n/dist/386/bin' does not exist error: copying /386/bin/X11/xset: '/n/dist/386/bin' does not exist Do you run stats(1) while doing the pull? Does it shows any anomalities, especially memory consuption? - Yaroslav I've not looked at memory consumption, but load and such look pretty normal. I'm running with 512MB RAM at the moment in the VM. Dave -- Federico G. Benavento
Re: [9fans] contrib/install fgb/X11?
nope, the log is the problem, but anyways, ignore those errors, the installation worked just fine. I'll try to remove them, so it doesn't confuse anyone On Mon, Nov 15, 2010 at 8:56 PM, David Leimbach leim...@gmail.com wrote: On Mon, Nov 15, 2010 at 3:45 PM, David Leimbach leim...@gmail.com wrote: On Mon, Nov 15, 2010 at 3:42 PM, David Leimbach leim...@gmail.com wrote: On Mon, Nov 15, 2010 at 3:37 PM, Federico G. Benavento benave...@gmail.com wrote: also it shouldn't take that long... if you have the latest contrib tools what happens it's this: it first fcp's an iso.bz2 to your /tmp and runs replica from there. of course that iso.bz2 is 22 MB, but that's not contrib's fault I installed the contrib tools today, so those are pretty new. I wonder if my tmp is big enough... I've got 512MB of ram but I don't know the size of my tmp off the top of my head. I'll have to look at it later. Dave I should just try again with ramfs -u I suppose (unlimited... pheer!) That did not help at all. Could the ISO be messed up? error: copying /sys/src/ape/X11/lib/dmx/man/DMXChangeScreensAttributes.: '/n/dist/sys/src/ape/X11/lib/dmx/man/DMXChangeScreensAttributes.' does not exist Dave Dave On Mon, Nov 15, 2010 at 8:33 PM, Federico G. Benavento benave...@gmail.com wrote: the easiest way to reinstall is % contrib/install -f usr/pkg On Mon, Nov 15, 2010 at 6:52 PM, David Leimbach leim...@gmail.com wrote: On Mon, Nov 15, 2010 at 1:50 PM, Yaroslav yari...@gmail.com wrote: error: copying /386/bin/X11/equis: '/n/dist/386/bin' does not exist error: copying /386/bin/X11/twm: '/n/dist/386/bin' does not exist error: copying /386/bin/X11/xclock: '/n/dist/386/bin' does not exist error: copying /386/bin/X11/xev: '/n/dist/386/bin' does not exist error: copying /386/bin/X11/xset: '/n/dist/386/bin' does not exist Do you run stats(1) while doing the pull? Does it shows any anomalities, especially memory consuption? - Yaroslav I've not looked at memory consumption, but load and such look pretty normal. I'm running with 512MB RAM at the moment in the VM. Dave -- Federico G. Benavento -- Federico G. Benavento -- Federico G. Benavento
Re: [9fans] contrib/install fgb/X11?
btw, there are no lbuns for firefox and such, but it works, opera does too On Tue, Nov 16, 2010 at 1:57 AM, Federico G. Benavento benave...@gmail.com wrote: ok, dillo is a linux binary, right? and it looks like is looking for a unix socket, but equis has APE sockets! so for dillo try tcp DISPLAY=127.0.0.1:0 On Tue, Nov 16, 2010 at 1:47 AM, David Leimbach leim...@gmail.com wrote: On Mon, Nov 15, 2010 at 4:59 PM, ron minnich rminn...@gmail.com wrote: On Mon, Nov 15, 2010 at 3:37 PM, Federico G. Benavento benave...@gmail.com wrote: also it shouldn't take that long... if you have the latest contrib tools what happens it's this: it first fcp's an iso.bz2 to your /tmp and runs replica from there. neat. That's a good step. 9pm won't use replica but at the same time this looks like a great idea. ron Ah ok, well it does in fact appear to be working. Took me a minute to realize I needed to set my DISPLAY to :0. I have an old shell bundle of linuxemu dillo, but that does *not* work. Xclock does. cpu% ./dillo [624803] syscall 191/ugetrlimit not implemented [624803] syscall 149/sysctl not implemented Gdk-WARNING **: locale not supported by Xlib, locale set to C Gdk-WARNING **: can not set locale modifiers [624803] syscall 209/newgetresuid not implemented _X11TransSocketOpen: socket() failed for local _X11TransSocketOpenCOTSClient: Unable to open socket for local _X11TransOpen: transport open failed for local/virtualbunny:0 Gtk-WARNING **: cannot open display: :0 cpu% Dave -- Federico G. Benavento -- Federico G. Benavento
Re: [9fans] another type of static linking: send all the shared libraries with the program!
cinap did years ago for linux emu http://9hal.ath.cx/usr/cinap_lenrek/lbun/mklbun which packages linuxemu, the linux exec you want and the required libs all in an rc bundle that you can execute as a regular program in: http://9hal.ath.cx/magic/webls?dir=/usr/cinap_lenrek/lbun you have lbuns for svn, bash and others that just work on Plan 9 On Sat, Nov 13, 2010 at 4:21 AM, ron minnich rminn...@gmail.com wrote: I can't help it, this one struck me as quite funny, after all the shared library discussions we've had on this list. A Stanford researcher, Philip Guo, has developed a tool called CDE to automatically package up a Linux program and all its dependencies (including system-level libraries, fonts, etc!) so that it can be run out of the box on another Linux machine without a lot of complicated work setting up libraries and program versions or dealing with dependency version hell. OK, so this is better than static linking how? Oh yeah you get the fonts. And all the incompatible programs across distros. So they've made the whole shared library mess so incredibly complex that you now have to bundle a program's shared libraries with the program! Un-bee-lievable. The standard rule is, when you're in a hole, stop digging; that seems not to apply in software nowadays. ron -- Federico G. Benavento
Re: [9fans] pcc limitation?
the syntax (){} is for structures, like (Point){0, 0} or something, so you don't need the braces there, just the cast .writearr = (const unsigned char*)JEDEC_WREN, On Sat, Nov 6, 2010 at 9:56 PM, Carl-Daniel Hailfinger c-d.hailfinger.devel.2...@gmx.net wrote: Hi, any idea why the code below causes an error message from pcc? I'm trying to port flashrom to Plan 9, but I've been fighting the compiler for the last few hours. /usr/glenda/flashrom/test3.c:20[stdin:45] constructor must be a structure /usr/glenda/flashrom/test3.c:25[stdin:50] constructor must be a structure Regards, Carl-Daniel #include stddef.h #define JEDEC_WREN 0x06 #define JEDEC_WREN_OUTSIZE 0x01 #define JEDEC_CE_C7 0xc7 #define JEDEC_CE_C7_OUTSIZE 0x01 struct spi_command { unsigned int writecnt; unsigned int readcnt; const unsigned char *writearr; unsigned char *readarr; }; void spi_chip_erase_c7(void) { struct spi_command cmds[] = { { .writecnt = JEDEC_WREN_OUTSIZE, .writearr = (const unsigned char[]){ JEDEC_WREN }, .readcnt = 0, .readarr = NULL, }, { .writecnt = JEDEC_CE_C7_OUTSIZE, .writearr = (const unsigned char[]){ JEDEC_CE_C7 }, .readcnt = 0, .readarr = NULL, }, { .writecnt = 0, .writearr = NULL, .readcnt = 0, .readarr = NULL, }}; } -- Federico G. Benavento
Re: [9fans] Python
byte-compiling /sys/lib/python/lib/python2.5/site-packages/django/template/defaultfilters.py to defaultfilters.pyc python 3092326: suicide: sys: fp: numeric overflow fppc=0x7cb86 status=0xf8a8 pc=0x0007cb8a in /sys/src/cmd/python/plan9.c main() try changing setfcr(getfcr()~FPINVAL); to setfcr(getfcr()~(FPINVAL|FPOVFL)); -- Federico G. Benavento
Re: [9fans] how to print a program
steve has a fold program which he used combined with pr to generate http://plan9.bell-labs.com/sources/contrib/steve/doc/kernel-june2k-a4.ps /n/sources/contrib/steve/rc/kernel.print /n/sources/contrib/steve/fold.tbz On Wed, Sep 8, 2010 at 8:45 AM, roger peppe rogpe...@gmail.com wrote: i've always used an ancient version of a2ps for this, ported to plan 9 by fors...@terzerima.net. this does almost everything i want (in particular two-column landscape mode) with the exception that it doesn't grok utf-8. i'm sure charles will send you a copy if you wish. the current gnu version is likely to be a little harder to port :-) On 7 September 2010 22:00, Rudolf Sykora rudolf.syk...@gmail.com wrote: Hello, I want to 'print' the 'page' program, i.e. put /sys/src/cmd/page/* on paper. I want different files start on new pages, with the header of every page being the file name and the page. For this the command a=`{ls} pr $a | lp -dstdout toprint.ps is almost ok. That 'almost' is in the fact that long lines get truncated, which is highly undesirable. fmt -j could help, but it also replaces spaces and tabs by a single space, again bad. (btw. why fmt afile doesn't work?) So how? Can anybody help? (I mean, is there a one-liner?) Thank you! Ruda -- Federico G. Benavento
Re: [9fans] how to lock cpu console
you right, I thought conslock was rob's lock program http://plan9.bell-labs.com/sources/patch/sorry/robs-bits/ On Wed, Sep 1, 2010 at 12:11 PM, erik quanstrom quans...@quanstro.net wrote: On Wed Sep 1 00:23:45 EDT 2010, benave...@gmail.com wrote: now there's also screenlock(8) http://plan9.bell-labs.com/magic/man2html/8/screenlock similar to conslock, but authenticates against the auth server not similar. it depends on rio. - erik -- Federico G. Benavento
Re: [9fans] how to lock cpu console
On Wed, Sep 1, 2010 at 2:22 PM, erik quanstrom quans...@quanstro.net wrote: On Wed Sep 1 12:58:54 EDT 2010, benave...@gmail.com wrote: you right, I thought conslock was rob's lock program http://plan9.bell-labs.com/sources/patch/sorry/robs-bits/ i hate doing this, but that depends on rio, too. the open of /dev/screen - error() - exits(fatal error); - erik exactly -- Federico G. Benavento
Re: [9fans] how to lock cpu console
now there's also screenlock(8) http://plan9.bell-labs.com/magic/man2html/8/screenlock similar to conslock, but authenticates against the auth server On Tue, Aug 31, 2010 at 5:45 PM, Skip Tavakkolian 9...@9netics.com wrote: see: /n/sources/contrib/steve/rc/conslock if you have more than one cpu, change this line: pwd=$home/lib/conslock.hash to pwd=$home/lib/conslock.^$sysname^.hash -- Federico G. Benavento
Re: [9fans] python read problem
ok, con(1) does more than just dial, read and write, it might also do rlogin... does a C version of your script behave as expected? what about dd -bs 1 -if /dev/eai0 ? as for new lines there's also a rU mode... On Thu, Aug 26, 2010 at 9:18 PM, Michaelian Ennis men...@corvus.net wrote: I've noticed some behaviors I can't explain with python and plan9. I am using contrib/installed bichued/python. Trying to read from a serial port I would suspect I would have to use f.read() if I want to be able to catch a specific string where there is no newline. For instance: When my firewall is finished booting it end with this output: Type help or '?' for a list of available commands. firewall firewall being the command prompt. I would expect to see the same from: import sys f = open(/dev/eia0,r) while (True): sys.stdout.write(f.read(1)) Yet this only yields: Type help or '?' for a list of available commands. Which makes me think it is still looking for a newline. Cons exhibits the expected behavior with the same appliance. That is the prompt is included. ian -- Federico G. Benavento
Re: [9fans] regexp metacharacter difficulty inside grap
this is probably related to the fact that grap(1) is an APE program, and sh actually execs sh, not rc... On Tue, Aug 10, 2010 at 2:23 AM, Jeff Sickel j...@corpus-callosum.com wrote: I've been trying to figure out this little one for a while now and figure I could use a refresher course in regexp. There are quite a few files that I'm trying to copy through grap that would be really easy if I could take a line like: # (Yo 4.9534) and turn it into a value for x,y graphing. Unfortunately, I'm completely blanking out on how to get that pesky ')' stripped out. I try the following: if $2 == (Yo then { print sprintf(Yo was %f, yo) yo = sh { echo $3 | sed 's/\)#//' } print sprintf(Yo is %f, yo) } but that just gives me: cpu% eval `{doctype t.g} | lp -dstdout t.ps Yo was 8.579000 rc: line 2: token ')': syntax error grap: syntax error???: No such file or directory near 20100809_pscheck_XX.d:8 context is yo = sh { echo 4.9534)# | sed 's/\)#//' } I'm not quite sure why grap converts $3 into 4.9534)#, so I try brute force: cpu% echo '4.9534)#' | sed 's/\)#//' 4.9534 Does anyone have any hints on what might I be doing wrong in my grap source? -jas -- Federico G. Benavento
Re: [9fans] Auth-ed mount of sources from 9?
; 9fs -m sources works for me On Mon, Aug 2, 2010 at 11:48 AM, Devon H. O'Dell devon.od...@gmail.com wrote: Take a look at 9fs. It's just a wrapper script, but per default passes a flag to not auth (so that anybody can mount sources without needing to read manpages, I guess). --dho 2010/8/2 Venkatesh Srinivas m...@endeavour.zapto.org: Hi, How do you mount sources auth-ed from 9? I must confess I've never done this with 9 by itself, I've always used Inferno's mount -9 (even on plan9)... -- vs -- Federico G. Benavento
Re: [9fans] writing to ctl using fprint and write
sorry, but I didn't get the point On Thu, Jul 29, 2010 at 12:11 PM, David Leimbach leim...@gmail.com wrote: On Thu, Jul 29, 2010 at 8:04 AM, erik quanstrom quans...@quanstro.net wrote: Thanks Erik, Sape, and Skip. That was such a STUPID error, and I thank you all for the extra eyes. I think it is time for a break and a bowl of tea... relax. not stupid, subtle. it takes vigilance to keep sizeof, nelem, strlen, and the number of characters straight. - erik And you *can* use sizeof on arrays :-). Well at least in ANSI/ISO C. Haven't tried this on plan 9. :-) On my mac I get 6 and 8. #include stdio.h char blah [] = Hello; char * blah2 = There; int main () { printf(sizeof blah: %ld\n, sizeof(blah)); printf(sizeof blah2: %ld\n, sizeof(blah2)); } -- Federico G. Benavento
Re: [9fans] webfs and Numerical result out of range...
is webkit using read9p() and friends instead of regular reads? On Thu, Jul 22, 2010 at 10:59 AM, EBo e...@sandien.com wrote: I'm getting lots of Numerical result out of range when running webfs and webget in plan9port. It appears to fail on the the first write to /mnt/web/ctl. If I run webfs with -s Whpd -m /mnt/web and run webget, /mnt/web/0/body contains /mnt/web/0/body: Numerical result out of range (and /mnt/web/ was mounted automatically with 9pfuse - /mnt/web/) If I run webfs without -m (and mtpt=nil) and use mount -t 9p `namespace`/Whpd /mnt/web/ -o trans=unix,uname=$USER /mnt/web/0/body then contains /mnt/web/0/body: Unknown error 526 I'm fresh out of ideas at this point. Suggestions? Thanks, EBo -- -- Federico G. Benavento
Re: [9fans] webfs and Numerical result out of range...
I meant webget On Fri, Jul 23, 2010 at 8:56 AM, Federico G. Benavento benave...@gmail.com wrote: is webkit using read9p() and friends instead of regular reads? On Thu, Jul 22, 2010 at 10:59 AM, EBo e...@sandien.com wrote: I'm getting lots of Numerical result out of range when running webfs and webget in plan9port. It appears to fail on the the first write to /mnt/web/ctl. If I run webfs with -s Whpd -m /mnt/web and run webget, /mnt/web/0/body contains /mnt/web/0/body: Numerical result out of range (and /mnt/web/ was mounted automatically with 9pfuse - /mnt/web/) If I run webfs without -m (and mtpt=nil) and use mount -t 9p `namespace`/Whpd /mnt/web/ -o trans=unix,uname=$USER /mnt/web/0/body then contains /mnt/web/0/body: Unknown error 526 I'm fresh out of ideas at this point. Suggestions? Thanks, EBo -- -- Federico G. Benavento -- Federico G. Benavento
Re: [9fans] webfs and Numerical result out of range...
webget On Fri, Jul 23, 2010 at 9:04 AM, EBo e...@sandien.com wrote: is webkit using read9p() and friends instead of regular reads? regular reads. Nothing in webfs is using read9p. Should I change some or all of them for testing? -- Federico G. Benavento
Re: [9fans] webfs and Numerical result out of range...
ok, it looks like the functions are called fsopen(), fsread(), etc in plan9port, as I tried to implied regular open, read, etc won't work On Fri, Jul 23, 2010 at 9:16 AM, Federico G. Benavento benave...@gmail.com wrote: webget On Fri, Jul 23, 2010 at 9:04 AM, EBo e...@sandien.com wrote: is webkit using read9p() and friends instead of regular reads? regular reads. Nothing in webfs is using read9p. Should I change some or all of them for testing? -- Federico G. Benavento -- Federico G. Benavento
Re: [9fans] p9pow10?
as it's #defined... look for the source of pow10()... http://plan9.bell-labs.com/sources/plan9/sys/src/libc/port/pow10.c most likely is #defined so it doesn't clash with linux's pow10(3) On Thu, Jul 22, 2010 at 3:59 AM, EBo e...@sandien.com wrote: libc.h redefines pow10 to be p9pow10. I cannot find the source for p9pow10 in plan9port, 9vx nor sysfromiso. Does anyone know what's up with that? -- Federico G. Benavento
Re: [9fans] plan9port version of pool?
http://plan9.bell-labs.com/sources/contrib/fgb/plan9port/webfs.tgz ported some time ago by kris maglione On Thu, Jul 22, 2010 at 5:06 AM, EBo e...@sandien.com wrote: Has anyone ported a version of pool to plan9port? I apparently got webfs working minus the cookies, and would like to see what it can do with them too. -- Federico G. Benavento
Re: [9fans] a very silly program
what about just using pipefile(1) and a filter like accupoint(1) does On Fri, Jun 4, 2010 at 12:34 PM, ron minnich rminn...@gmail.com wrote: http://bitbucket.org/rminnich/plan9tools/src/tip/catmouse.c I sort of wanted to learn what it would take to interpose a program between /dev/mouse and something else. Now I've learned and this clunker is the result. It's sort of amusing. to test, get thee to a window and: 8.catmouse rio obviously the map() function could use some improvement :-) ron -- Federico G. Benavento
Re: [9fans] Plan 9 hg with private repositories
I gave you the work around 2 months ago... the python code is broken, their default doesn't default... echo 'getpass = default_getpass' /sys/lib/python/getpass.py Ow, that hurt, did it not? Basically, it found getpass, did not find termios, then went looking for some MS VC runtime. Yuck. The code (getpass.py): # Bind the name getpass to the appropriate function try: import termios # it's possible there is an incompatible termios from the # McMillan Installer, make sure we have a UNIX-compatible termios termios.tcgetattr, termios.tcsetattr except (ImportError, AttributeError): try: import msvcrt except ImportError: try: from EasyDialogs import AskPassword except ImportError: getpass = default_getpass else: getpass = AskPassword else: getpass = win_getpass else: getpass = unix_getpass Wow, that hurt too. So, it's trying to get a password, as it is an https import, so it pulls in getpass, which pulls in termios, and it's failing, and the only reasonable thing to do when you can't find a unix package is to try to use an MS VC runtime package and, when that fails, bail out with one of the worst error messages one can imagine. Wow, GRRoss. Anyway, that is why you get that utterly useless error message: because you're not unix. It just tells you that the error is that you are not windows. Clear? ron -- Federico G. Benavento
Re: [9fans] nupas update
just a comment, the python port includes some hg bits because of my lazyness the thing is that hg isn't just python, it has some c modules that had to be built in in python, so python needs to be recompiled to support hg... so I went the easy way, python already comes with the hg c code. On Mon, May 17, 2010 at 1:09 AM, ron minnich rminn...@gmail.com wrote: On Sun, May 16, 2010 at 6:35 PM, Akshat Kumar aku...@mail.nanosouffle.net wrote: Is `rbind' a recursive bind, that takes care of binding at all depths? Because that's what you'd need in order for the binds to work. And then you shouldn't have any problems. Yes, aki wrote it and yes, I thought it should solve the problems. It did not seem to work. I'll get you a copy. Oh wait look here. http://9grid.net/magic/webls?dir=/aki/src/cmd i sure do miss aki. Can you try the rbind thing and see if I got something wrong? Would be *very* nice to leave the files in the .iso and just bind things. If I can come up with a general set of commands to revert a given package à la history(1)/yesterday(1), I would put a set of those commands in /installed/$i when the package is installed. Then you just pass it to rc and you're golden. I don't think that's good enough. It's fine for standalone packages. But consider hg. It depends on 3 or 4 things. Should you track that stuff too, and not remove python is hg is installed? If python creates 'x', and hg creates 'x', should you remove x if you remove HG? and so on ... This is what makes tracking packages so ugly. It gets ugly fast. I would just as soon mount the .iso's and do binds. ron -- Federico G. Benavento
Re: [9fans] package system for Plan 9: alpha!
to the reader (or me in a bit): don't download iso when the package is installed! -- but it's so fast I have not bothered. I'm able to install packages now without worrying about whether I will be ready to disconnect my laptop and go home before the install is done! Next step, if this system is found to be useful, is to adapt fgb's gui program. ron -- Federico G. Benavento
Re: [9fans] LOCK XADD for i386 incref/decref
sorry, but why in the compiler and not as a library function like in libthread? http://plan9.bell-labs.com/sources/plan9/sys/src/libthread/xinc386.s On Wed, Apr 28, 2010 at 4:16 PM, Venkatesh Srinivas m...@endeavour.zapto.org wrote: Hi, A few months ago, I added a patch to inferno-npe to use LOCK XADD instead of the current lock/add/unlock sequence for incref and decref: (http://code.google.com/p/inferno-npe/source/detail?r=b83540e1e77e62a19cbd21d2eb54d43d338716a5 and http://code.google.com/p/inferno-npe/source/detail?r=82f13e6755218ecb7dec0f1392b2eb8bfe0bb2c7). On a 2.66 GHz Core 2 Duo, we noticed a full 14% reduction in runtime (9.6s vs 11.2s) of the thread-ring test. Similar performance gains were noticed on a Core i7 machine, but I no longer have the numbers handy. Perhaps this change is interesting for Plan 9... -- vs -- Federico G. Benavento
Re: [9fans] LOCK XADD for i386 incref/decref
sorry for the noise, I should rest a bit after this On Wed, Apr 28, 2010 at 11:39 PM, Federico G. Benavento benave...@gmail.com wrote: sorry, but why in the compiler and not as a library function like in libthread? http://plan9.bell-labs.com/sources/plan9/sys/src/libthread/xinc386.s On Wed, Apr 28, 2010 at 4:16 PM, Venkatesh Srinivas m...@endeavour.zapto.org wrote: Hi, A few months ago, I added a patch to inferno-npe to use LOCK XADD instead of the current lock/add/unlock sequence for incref and decref: (http://code.google.com/p/inferno-npe/source/detail?r=b83540e1e77e62a19cbd21d2eb54d43d338716a5 and http://code.google.com/p/inferno-npe/source/detail?r=82f13e6755218ecb7dec0f1392b2eb8bfe0bb2c7). On a 2.66 GHz Core 2 Duo, we noticed a full 14% reduction in runtime (9.6s vs 11.2s) of the thread-ring test. Similar performance gains were noticed on a Core i7 machine, but I no longer have the numbers handy. Perhaps this change is interesting for Plan 9... -- vs -- Federico G. Benavento -- Federico G. Benavento
Re: [9fans] A simple experiment
looks like you got it going fetching http://plan9.bell-labs.com/sources/extra/plan9.tar.bz2 would improve your dowload speed as it only contains the source On Tue, Apr 27, 2010 at 2:38 PM, ron minnich rminn...@gmail.com wrote: I had interest in being able to see plan 9 source at bitbucket.org. Part of the driver was my continuing inability to get replica to work well at home, and part just a need to tinker :-) So, I created an empty repo at bitbucket.org, http://bitbucket.org/rminnich/sysfromiso/overview and then did the usual hg clone -e '/bin/openssh/ssh -2' ssh://h...@bitbucket.org/rminnich/sysfromiso At this point on Plan 9 I have a directory, sysfromiso, that is empty save for a .hg Now on linux or other systems, you copy a bunch of directories in there, hg add them, and away you go. Plan 9 is more interesting: hget http://plan9.bell-labs.com/plan9/download/plan9.iso.bz2/tmp/iso.bz2 rc -c 'cd /tmp; bunzip2 iso.bz2' 9660srv -f /tmp/iso iso mount /srv/iso /n/iso now I've got the sources over there in /n/iso. What's next? Simple: cd sysfromiso bind -a /n/iso . And then add some trees: hg add sys/src then hg commit hg push -e '/bin/openssh/ssh -2' And I've got a starting point. What's interesting is that the directory always looks empty until I do the bind: term% ls sysfromiso sysfromiso/.hg term% So the script to continue updating the repo is pretty simple: #!/bin/rc hget http://plan9.bell-labs.com/plan9/download/plan9.iso.bz2/tmp/iso.bz2 rc -c 'cd /tmp; bunzip2 iso.bz2' 9660srv -f /tmp/iso iso mount /srv/iso /n/iso ape/psh cd sysfromiso bind -b /n/iso . x=`date` hg commit -m $x hg push -e '/bin/openssh/ssh -2' (note I need ape/psh when I use ssh for pushes -- quoting rules issue) This can be run from cron -- once you get through the ssh issues I mentioned in the earlier note. Result is an hg repo on bitbucket.org that I can get to from anywhere, and I can watch as Geoff continues to beat on the kw port :-) More importantly, it's going to be easier for me to bisect and find problems when I build from kernel source, which is very handy in my case. The web interface of bitbucket gives me a pretty reasonable way to compare different revs. I'm offering this note in the event others want to use this interface and repo. ron -- Federico G. Benavento
Re: [9fans] Rounding off by one
check getfcr(2) http://plan9.bell-labs.com/magic/man2html?man=getfcrsect=2 it's in lib9.h for ape -- Federico G. Benavento
Re: [9fans] Mars Needs Women (was Re: TeX: hurrah!)
scheme ocaml haskell lua limbo linda pforth python tcl 4th bprolog p2c (pascal 2 c) f2c (fortran 2 c) extra/perl which could be easily updated -- Federico G. Benavento
Re: [9fans] Mars Needs Women (was Re: TeX: hurrah!)
too long for me to read, could you summarize in 3 lines? On Fri, Apr 16, 2010 at 8:58 PM, Corey co...@bitworthy.net wrote: The following is not a troll. (the subject is for the sake of humor only) On Friday 16 April 2010 11:10:28 Patrick Kelly wrote: Have you look at what Plan 9 has done? I would hardly go to say we are reactive. Every other system has reacted to what Plan 9 has done, not the other way around. However, what Plan 9 has done... occurred many years ago. But what has it done _lately_? (that's an honest question, not a troll) In the mean time, that horrible, over-complex, fugly bloated mess that - according to 9fans apparently - represents the vast majority of software (and developers) in the world... is in fact... _hugely_ prolific, and under constant development and experimentation: generating untold riches in wealth in a great number of industries and constantly increasing user and developer productivity via a rich plethora of options in programming languages, conceptual models, applications, and higher-level abstractions. Messy, with high levels of noise-to-signal - certainly... but absolutely, astoundingly productive and in constant motion. While the radically simple, perfectly sound Plan 9 continues to focus primarily at being an IDE and file server... for C programmers... of an obscure/alien dialect... because POSIX sucks, and UNIX sucks, and all Standards suck, and all other languages besides C (and rc) suck, and OOP sucks, and amateurs suck, and higher level abstractions suck, and gui buttons and widgets suck, and keyboard shortcuts suck, and the web sucks, and larger scale community-driven collaboration sucks... etc. etc. ad infinitum. Clean, certainly... but in near/relative stasis as well. When less is more degenerates into nothing is better than something (and get out of my yard!)... indicates (to me) that the community involved could possibly bring in some outside air. (I'm referring to the abstract community - not each individual, who I'm sure all get plenty of fresh air). It would be great if 9fans wasn't simply a place where people congregate partially as means to get their grognard on in full effect mode - or alternately, if there was a place for 9fans where they could speculate productively on greenfield ideas regarding experimental new directions that alternative Plan 9 _based_ operating systems might be well suited towards. But here on 9fans, even the basic process of community meta-cognition ends in that all too familiar flame drizzle. To be honest, it's a shame that Plan 9 appears, for whatever reasons, to be firmly entrenched within the context of a particular school of C systems programming. It seems clear that Plan 9's core model has got a helluvalot more to offer than rio + acme + kencc and friends... but if Glenda doesn't get the chance to produce further offspring, that theory will never be fully realized. So as to not merely complain, I'll venture some obvious ideas: Perhaps a new mailing list - to act as a lightening rod for non-canon Plan 9 ideas, discussion and projects. Perhaps a linguistic convention to help mitigate the dichotomy (and perpetual conflict) that occurs between two camps of thought regarding the official standard Plan 9 distribution. The conflict seems to arise due to differring ideas of just what 'Plan 9' is... there appears to be an unnecessary friction between keeping Plan 9 mostly as it _is_, and making Plan 9 something _different_ than it currently is. In other words, there's a battle between Plan 9 same and Plan 9 different - as though There Can Only Be One. But if Plan 9 different was called, say, Plan X instead of Plan 9... then perhaps the Plan 9 same folks wouldn't feel that Plan 9 proper was in constant jeopardy of becoming polluted/diluted. The Plan 9ers have successfully prevented the Plan Xers from encroaching, but it's the Plan Xers who are going to find new and interesting expressions of a Plan 9 based operating system, however in order to bootstrap, the Plan Xers need the experience and insights of the Plan 9ers... yet there's an antagonistic conundrum that prevents the two perspectives from peering. Is any of this even worth discussing? Or is this just another example of talk, talk, talk from yet another troll who has no intention of actually doing something productive? Kind regards -- Federico G. Benavento
Re: [9fans] APE: a further note.
-T with in APE for lunix code doesn't cut it without hand editing tons of it, there's always a function prototype missing or even conflicting... hand depending on the size of the project it can be unmanageable... On Thu, Apr 15, 2010 at 3:30 PM, erik quanstrom quans...@quanstro.net wrote: gcc(1) is very verbose (well: I always set -Wall). ken-cc is---surprise---more laconic; but when he was saying: no! he was right, for things that were going silently under NetBSD. compile with -FVTw. -T causes type signatures to be emitted. the linker won't link mismatched type signatures. i've found this to be very useful. - erik -- Federico G. Benavento
Re: [9fans] Recommended emulators/VMs for P9 install
vmware, the rest just suck, qemu and virtual box being the slowest On Thu, Apr 15, 2010 at 2:11 PM, Joel C. Salomon joelcsalo...@gmail.com wrote: My computer died, so I'm in the market for a new one. I figure I'd like to get back into hacking on Plan 9 so I plan to install it beneath a VM in whatever machine I buy. I'm even considering Windows 7 Pro with Virtual PC, but I think I'd prefer Xen or one of the Linux-based things (VirtualBox, etc.). Ease of installation is important, as is the ability to run a somewhat normal (Windows or Linux) host OS. Are there any recommendations? —Joel -- Federico G. Benavento
Re: [9fans] APE notes
check: http://plan9.bell-labs.com/sources/plan9/sys/src/ape/cmd/README ln? come on! for quick stuff when running configure some big crap that needs it fn ln { cp $1 $2 } or even better fn ln { aux/stub $2; bind $1 $2 } for egrep and fgrep I get by with: aux/stub /bin/fgrep; bind /bin/grep /bin/fgrep I once ran a cross a weird cat so I had to: lotte% cat /rc/bin/ape/cat #!/bin/rc rfork e files=() for(i) { if (~ $i -) files=($files /fd/0) if not files=($files $i) } exec /$cputype/bin/cat $files and when everything fails: lotte% cat /bin/bison #!/bin/rc exec linuxemu.rc /tmp/mroot /usr/bin/bison $* On Tue, Apr 13, 2010 at 3:52 PM, tlaro...@polynum.com wrote: Hello, These notes about APE could be of some use to others. Context : I'm verifying that my compilation framework, made for POSIX, is able to work for Plan9 too (for TeX and al.: everything works on Unix, so time to verify the whole thing on Plan9). Note: this is not a plea to add more. ape/psh is not supposed, IMO, to end in profile... - some utilities are included in POSIX.2, but are not in Plan9, including under APE : find(1), id(1), expr(1) --- of course ln(1)---. These are just the ones I stumbled upon since they were used in my scripts. I have find a way, so you may find one to do differently. Note: expr(1) is typically a thing I do _not_ use, since I always feel uncomfortable with it; but I guess I wanted to optimize and avoid forking a | sed ... - that just highlights indeed that an interpreter must have regexp handling natively à la rc(1) ~. - grep -q (with -s) is in SUS.v3, but Plan9 has only traditionnal grep -s. To not be eaten by a system that has -q and not -s, I ended with grep ... /dev/null 21. - sed(1) does not support single character duplication : \{m,n\}---I have unrolled the patterns, since .+ is not supported by POSIX sed(1) (..* does the thing in this case for example). - I have been hit by aux/getflags I think that doesn't like too many arguments (typically a sed(1) with a bunch of -e s/.../.../g). I have simply put the rules in a temporary file, and used sed -f. -- Thierry Laronde tlaronde +AT+ polynum +dot+ com http://www.kergis.com/ Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C -- Federico G. Benavento
Re: [9fans] bootiso.s fixed
didn't russ write a 8086 assembler? On Thu, Apr 8, 2010 at 3:17 PM, erik quanstrom quans...@quanstro.net wrote: Never :-) I still like the current approach because it works but at the same time discourages people from using it :-) i'm sorry, but that's fairly silly. should we also get rid of the assembler because we want to discourage its use? and clearly we have successfully minimized the amount of asm while having an assembler,. the amount of 16 bit code that currently exists would easily justify the effort in writing a proper assembler. and consider, interfacing with undi and other annoying tasks would be a heck of a lot easier with a proper 4a. - erik -- Federico G. Benavento
Re: [9fans] P9P for Windows?
don't know about pthreads, but there's a windows Plan 9 port effort going one http://ib.wmipf.de/pf9/ with set of working tools including sam On Tue, Apr 6, 2010 at 6:07 PM, Georg Lehner jorge-pl...@magma.com.ni wrote: Hello! has porting Plan9 from User Space to MS-Windows (and Windows CE) with the help of pthreads-win32 [1] already be considered? Would the drawing routines of drawterm for Windows complement for the GUI-side of things? Opinions? Other approaches? Effort estimates? I will be able to throw some time at work on creating either a posix layer or alternatively port Plan9's libc and rc to Windows CE in the next half year. Regards, Georg Lehner [1] http://sourceware.org/pthreads-win32/ -- Federico G. Benavento
Re: [9fans] Man pages for add-ons
I don't know how this search tangent come into play, but in Plan 9 I don't search for files as I already do know where they are. I just search for stuff inside those files which is trivial as, like I said, I already know where the files are. I certainly don't like the gnu crap of having a directory per application, in my opinion, it just complicates things. I don't use any lunix, so correct me if I got this wrong, the /opt thing it's just a lie, yes, you have the package in /opt, but you also have a wrapper script to launch that app in a known location like /usr/bin I think it all comes down to simplicity, you install the app, you run the app, it looks like some of you would like to add complexity just because you think it's the right thing to do. another concern I have is where are you going to put 3rd party drivers a new location is going to be created, probably a directory per 3rd party driver, when all this ends? On Sun, Mar 28, 2010 at 4:06 PM, Ethan Grammatikidis eeke...@fastmail.fm wrote: On 27 Mar 2010, at 16:54, erik quanstrom wrote: I'm thinking over the idea that we're bumping up against the practical limits of hierarchal file systems as a means for organising stuff, but I've no idea what else might work. Google's approach is not to bother sorting things out. Use searches to find data you want. You can still do some sorting in things like gmail, but you don't need to. what google uses for its search tables or custom applications might not be that interesting in the context of a general purpose operating system. Yeah... I'm using OS X and I'm not impressed with its Spotlight filesystem search, yet. It's just too general. -- Simplicity does not precede complexity, but follows it. -- Alan Perlis -- Federico G. Benavento
Re: [9fans] Man pages for add-ons
I guess there would be less resistance if contrib (by a more appopriate name, I think fgb concurs here) was part of the base distribution. not really, if contrib was part of the distribution the guys at the labs would get the mails I get about contrib support. they way I see it, Plan 9, the official distribution is a research operating system, not an end user product, in an ideal world some guys would step out and say, hey let's make a end user Plan 9 distribution and maintain it, give support to the users, get a pkg system going with what the user wants, and all the other things that end user products offer, this is what I tried to imply in the previous posts... this requires effort, one that I'm not going to make nor ask anyone either. -- Federico G. Benavento
Re: [9fans] Man pages for add-ons
; grep $pattern /dist/replica/client/*.db On Sat, Mar 27, 2010 at 1:46 PM, Tim Newsham news...@lava.net wrote: enough. We say we deal with it with namespaces, but the bindings on a freshly-installed Plan 9 box already make a much longer list than any $PATH I can imagine! but you don't have a LD_LIBRARY_PATH, a MANPTH, or any number of other search paths. Or symlinks. What is the total length of all of your paths plus symlinks? Also, is the size of the namespace list an issue? I'm thinking over the idea that we're bumping up against the practical limits of hierarchal file systems as a means for organising stuff, but I've no idea what else might work. Google's approach is not to bother sorting things out. Use searches to find data you want. You can still do some sorting in things like gmail, but you don't need to. Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com -- Federico G. Benavento
Re: [9fans] Man pages for add-ons
On Sat, Mar 27, 2010 at 1:54 PM, erik quanstrom quans...@quanstro.net wrote: Also, is the size of the namespace list an issue? how does history(1) work in the face of a complicated namespace? we get buy now because the rules are pretty simple. if you want to find how the modifications to /386/lib/libc.a, you know where that is. if you bind 100 packages on top of /386/lib, it becomes necessary to deconstruct namespaces continually. the abstraction of namespace starts to break down. this also breaks plumbing while debugging with acid unless quirky namespace is global, but then if it's global why do you need the binds! -- Federico G. Benavento
Re: [9fans] Semaphores for libc Lock?
http://plan9.bell-labs.com/magic/man2html/2/semacquire On Sat, Mar 27, 2010 at 9:40 PM, Venkatesh Srinivas m...@acm.jhu.edu wrote: Hi, In Russ Cox's and Sape Mullender's 2008 IWP9 paper on semaphores in Plan 9, they suggest that semaphore (semacquire/semrelease)-based locks in libc were better than the current spinning ones; they note that the locks would be replaced in the distribution soon. Is that still in the cards? -- vs -- Federico G. Benavento
Re: [9fans] native install
if the ethernet address is broken you can try to see if the nic is still usable by setting promiscuous mode on... I had the a problem years ago with andrey's sis900 driver (the one in the distribution didn't work with my nic), when I changed from a terminal to a 9pcf kernel it stopped working! somehow it wasn't getting the eaddr right, after some debugging I noticed that the distribution driver worked, but only when snoopy was running... I'm a network ignorant and I was even more ignorant then, so I didn't notice that snoopy reported 0xFFF or something for address and it worked because snoopy turns promiscuous mode on. so I checked the lunixes driver and found out how to write the ether address correctly to the device and got it working, but ironically a day later geoff pushed his version of the driver for kenfs which was a merge of andrey's and charles' driver... -- Federico G. Benavento
Re: [9fans] Man pages for add-ons
I think it also needs to be noticed that base system in lunixes implies a huge a mount of stuff On Fri, Mar 26, 2010 at 2:59 AM, Anthony Sorace a...@9srv.net wrote: Unix has two camps for approaching this problem /usr/local and /opt. While they're almost never followed well on modern unix systems, the idea is basically a global local overlay vs. a per-package overlay. The /usr/local approach takes all packages not part of the base system and creates a local root, a global mirror of (roughly) the root file system. Those poor souls don't have bind to work with, so everything ends up knowing to look in /bin and /usr/local/bin, /etc and /usr/local/etc, and so on. Packages from multiple sources are all intermixed in one /usr/local, so you've basically got the base system vs. everything else. EBo's /sys_aps is basically a recreation of /usr/local. The /opt model creates per-package trees under /opt, for example /opt/SomePackage. Within, it gets a similar looking overlay, but specific to that package. It's then up to the user or site admin to determine which packages get installed. Based on a similar (but much shorter) conversation on inferno-list, a few of us are trying out this model for third-party packages within Inferno. The Plan 9 approach today is either install everything in / (/386/bin, /sys/include, c) or in your personal home dir and bind as needed. The later is irritating on multi-user systems, and the former can make maintenance a lot harder. Replica's -c and -s help, but it still requires more vigilance from the admin than it seems like it ought to. Personally, I've always preferred the /opt model, as it makes it easier to tell at a glance what's installed and to work with components individually. The (non-)overlay can get unwieldy on Unix, but our namespaces make that much easier for us. It also give both admins and users package-level control over what gets included. Like I said, I and a few others have started playing with this in Inferno. If it works reasonably there, I intend to try something similar in Plan 9. Anyone likes to beat me to it, I'd love to hear about your results. -- Federico G. Benavento
Re: [9fans] Man pages for add-ons
other thing that deserves noticing is that there are 2 kind of needs for packages, some people want to develop or like knowing what's going on, so replica works for us as we get to see what files were modified and when. contrib(1) was written with this kind of user in mind, try to convince erik to drop replica and you'll hear the justifications :) on the other hand you people that don't care about the source and just want to run their apps, for those a package system that with only runtime stuff makes more sense. on lunixes you have binary packages and then you use svn/hg/whatever to get the source and get synced. to me this is the real question, not where do we put the binaries, the latter is just a convention and taste related, while the first is an actual problem for some. -- Federico G. Benavento
Re: [9fans] float overflow
garbage in, garbage out lotte% echo 1.75e308+1.75e308 | hoc hoc 730809: suicide: sys: fp: numeric overflow fppc=0x3004 status=0xb988 pc=0x3a75 lotte% if you want to keep feeding garbage to your program disable the exceptions see getfcr(2) or http://plan9.bell-labs.com/magic/man2html/2/getfcr setfcr(getfcr()~(FPINVAL)); feel free to turn division by 0 trap too On Fri, Mar 26, 2010 at 8:58 AM, hugo rivera uai...@gmail.com wrote: Hello, float operations are causing me some headaches on plan 9 (9vx). I have a program that crashes badly when I feed it with near-the-top doubles ~1.1e308. This causes an overflow in a function that needs to square this values and acid points the line where the first call to pow(2) occurs when I debug it. The problem is that this doesn't happen at all when the program is compiled with gcc (9c) on linux. Obviously my results aren't useful, but I get '+Inf' on my output and the program doesn't crash. I thought of using isInf(2) to avoid Infs in my operations, but this would make the code really ugly and probably slow. I've seen that hoc also suffers from this. On 9vx % echo 1.75e308+1.75e308 | hoc hoc 851: suicide: sys: trap: 19 (reserved) pc=0x3a75 but on linux echo 1.75e308+1.75e308 | hoc +Inf is there something I can do to remedy this situation? maybe this doesn't happen on a native plan 9 installation, but I don't have access to any. Saludos, -- Hugo -- Federico G. Benavento
Re: [9fans] Man pages for add-ons
one of the reasons I wrote contrib was that I got tired of explaining people how the whole process of how to install a program. ; 9ffs sources ; fcp /n/sources/contrib/dude/thing.tgz /tmp ; cd /tmp ; gunzip thing.tgz | tar x ; cd thing ; mk install simple right? but when you've spent tons of 15 minutes parcels you start getting tired and you write some code. so the bind magic might work great for those who know how to get it going, but random newbie won't get it that fast. so ; contrib/install dude/thing seemed reasonable, it has the -r to choose a different root. lotte% wc -l /rc/bin/contrib/* 19 /rc/bin/contrib/cat 122 /rc/bin/contrib/create 97 /rc/bin/contrib/install 105 /rc/bin/contrib/list 35 /rc/bin/contrib/local 132 /rc/bin/contrib/pull 83 /rc/bin/contrib/push 41 /rc/bin/contrib/remove 634 total lotte% wc -l /sys/src/cmd/contrib/*.c 455 /sys/src/cmd/contrib/gui.c lotte% the real solution is that you want to have a centralized repository with just binary packages and easy to use set of tools to use it. but then that requires some effort and I don't see any solution in the near future. one can easily say, hey, use namespaces!, but you get someone to reply hey, write your own driver! in the end everything is easy for those who know how to do it. -- Federico G. Benavento
Re: [9fans] VIA Rhine II support?
the drivers are in /sys/src/9/pc, ethervt6102.c and ethervt6105m.c check the device ID on those to see if they match yours, if they don't it might be an easy fix or a hard fix... On Wed, Mar 24, 2010 at 6:50 AM, EBo e...@sandien.com wrote: Searching the net reveled that Stephan got his VIA Rhine II ethernet working a couple of years ago. Where can I find the patch or drivers? EBo -- -- Federico G. Benavento
Re: [9fans] native install
1 MSI G31TM-P21 /Q8200/500GB cpu/everything server (the full specs are somewhere in the list) + a constant drawterm running on win laptop -- Federico G. Benavento
Re: [9fans] Plan 9 in GSoC 2010!
congrats! On Thu, Mar 18, 2010 at 4:00 PM, erik quanstrom quans...@quanstro.net wrote: awsome! - erik -- Federico G. Benavento
Re: [9fans] 9vx on MacOS X: problem with contrib
there is a bug with wstats somewhere, I think ron got around this on linux. On Tue, Mar 16, 2010 at 3:13 PM, Semka Novikov m...@sdfgh153.ru wrote: Hi there, i'm newbie in Plan 9 so may be this is common mistake (but i still can't google it). I have Intel mac with 10.6 OSX and 9vx from official site. Also I have plan9.tar.bz from this thread: http://www.mail-archive.com/9fans@9fans.net/msg02125.html. Plan9 user is glenda, OSX user is semka, but if i touch test; ls -l test it have semka as owner. Every time I trying to install contrib it falls with Permission denied errors. There is log: term% /n/sources/contrib/fgb/root/rc/bin/contrib/install fgb/contrib ... error: copying /386/bin/contrib/cat: '/386/bin/contrib/cat' Permission denied error: copying /386/bin/contrib/create: '/386/bin/contrib/create' Permission denied error: copying /386/bin/contrib/gui: '/386/bin/contrib/gui' Permission denied error: copying /386/bin/contrib/install: '/386/bin/contrib/install' Permission denied error: copying /386/bin/contrib/list: '/386/bin/contrib/list' Permission denied error: copying /386/bin/contrib/local: '/386/bin/contrib/local' Permission denied ... And so on, I can send full contrib-install log if needed. Sorry for, may be, too noob question (: -- take care of the brain -- Federico G. Benavento