Conversation with #inferno at Mon Mar 15 18:08:48 2010 on powerman-asdf@irc.freenode.net (irc) (19:32:59) mkn [~7aae6dc7@gateway/web/freenode/x-gyzyypxusikxejoh] entered the room. (19:52:00) eno left the room (quit: Ping timeout: 252 seconds). (19:53:35) eno [~eno@nslu2-linux/eno] entered the room. (20:15:55) wrtp left the room (quit: Quit: wrtp). (20:20:52) wrtp [~rog@78.148.233.118] entered the room. (21:18:47) muzgo [~muzgo@jagat.xored.org] entered the room. (21:19:05) muzgo: is there a way to compile inferno over linux without the x11 stuff? (21:19:26) muzgo: a trivial way (21:21:59) mkn: muzgo: http://code.google.com/p/inferno-bin/wiki/EmuMinusGConfig may be of use to you (21:26:48) muzgo: mkn: oh thank you (21:26:52) muzgo: will try it (21:28:27) mkn: http://www.vitanuova.com/inferno/man/10/conf.html describes the emu conf format. (21:29:59) muzgo: it seems close to Plan 9 kernel conf format (21:30:20) muzgo: well, seems the same format (21:30:26) muzgo: thanks, mkn (21:33:41) vsrinivas: there's emu-g in the tree iirc for just that (21:33:55) muzgo: yes, compiling with emu-g (21:33:58) muzgo: thanks everyone (21:36:33) mkn: vsrinivas: i noticed your commit in inferno-npe: __EXTENSIONS__ in Solaris os.c (21:36:52) mkn: were you able to run emu in Solaris/sparc? (21:37:01) mkn: i recently tried, but emu segfaults on startup. (21:37:18) mkn: solaris 10 on sparc, Sun C (21:37:23) vsrinivas: yes, i run it on s5.11 / sparc a lot... don't enable the jit... (21:37:28) vsrinivas: i used gcc to build (21:38:11) mkn: you mean emu -c0? (21:38:37) mkn: iirc, it crashed either way (but i don't have access to the server now). (21:39:16) vsrinivas: -c0; yea... (21:39:29) mkn: i was wondering whether os.c needed a rehaul to match other systems. (21:39:45) vsrinivas: hmm, iono. it'd be interesting to see where the failure is. (21:40:07) vsrinivas: its tragic that os.c is so duplicated.. (all of emu//N is, really) (21:40:45) mkn: unfortunately, i don't have the stack trace. (21:41:09) vsrinivas: (fwiw, hg.forkgnu.org is the sun machine in question); i'll give it a poke (21:41:15) vsrinivas: this was with inferno-os or -npe? (21:41:44) mkn: inferno-os (21:42:00) vsrinivas: okay. i've not tried -os, but it should work... (21:42:06) mkn: it segfaulted at line 329 of os.c (21:42:09) bvalek2 [~bela@unaffiliated/bvalek2] entered the room. (21:42:15) mkn: getpwid (21:42:23) mkn: getpwuid (21:42:47) mkn: the server used NIS (or something, shared with Windows network) for authentication. (21:42:55) mkn: probably that is the issue. (21:43:45) mkn: but thanks for the confirmation, i'll try again when i get access to the server. (21:44:08) vsrinivas: okay, np. good luck (21:44:15) mkn: thanks :) (21:44:23) muzgo: installed inferno here, thank you all (21:46:08) mkn: muzgo: great! i have found caerwyn's inferno-bin to be useful when different configurations are required. (21:47:02) vsrinivas: and -npe is pretty cool, give it a try (21:48:34) mkn: vsrinivas: sure :) does it include bits of octopus also? (21:48:54) mkn: (i am planning to integrate atleast the op part of octopus with acme-sac sometime) (21:49:30) mkn: my current dev. environment is painful, with high latency (21:49:35) vsrinivas: got it. (21:50:03) vsrinivas: op is fairly solid for lowering latency; i have a tiny interposer that just lazily sends Tclunk messages, it helps a lot too :D (21:50:14) vsrinivas: and doesn't require all of op. (21:51:07) mkn: interesting. link? (or is part of -npe?) (21:51:18) mkn: s/is /is it/ (21:51:23) vsrinivas: no link; was suggested at iwp9, (21:51:29) vsrinivas: i'll commit it to npe tonight. (21:51:47) mkn: thanks, i'll check it out. (21:51:54) vsrinivas: (observation - just sending TClunks lazily was as good as nwf's and my styx caching work) (21:52:39) muzgo: vsrinivas: you'll commit the proposed stuff at iwp9? (21:52:54) vsrinivas: just the lazy tclunk; the rest is too experimental. (21:53:02) muzgo: i missed your talk while preparing mine, sorry about that (21:53:10) muzgo: but read the paper in the plane (21:53:47) vsrinivas: haha, np; one thing we noticed late in our work was that if we just sent TClunk lazily, we saved a ton of RPCs and got roughly the same benefit as the whole read/stat cache. (21:54:06) muzgo: haha, was that planned? (21:54:12) vsrinivas: no. it was just an observation./ (21:54:37) vsrinivas: (again, with both lazy tclunk adn the read/stat cache, at 200ms, we're half as fast as sshfs, so there's still a ton to gain...) (21:54:44) muzgo: i mean, you starting thinking about sending Tclunks or it came out of a mistake or something (21:55:06) vsrinivas: nah, it was just a thought when we observed TClunk cannot fail. (21:55:41) vsrinivas: 9p defines it as not being able to fail. (21:56:05) vsrinivas: (either RError, with the fid invalidated, or RClunk, with the fid invalidated). so why do we need to wait for the answer? :D (21:58:06) bvalek2 left the room (quit: Quit: I've seen things you people wouldn't believe). (21:58:54) Fish [~Fish@AVelizy-152-1-58-144.w82-120.abo.wanadoo.fr] entered the room. (21:59:30) less1 left the room (quit: Ping timeout: 248 seconds). (21:59:47) less1 [~pravin@32.97.110.64] entered the room. (22:00:10) muzgo: i understand (22:07:02) mkn: vsrinivas: the styxcache paper has numbers comparing jccfs with cfs. (22:07:09) mkn: do you have similar comparison against op? (22:07:32) vsrinivas: i didn't get op running; on the inferno tree that i had at the time, i couldn't get op to build. (22:08:44) mkn: ah, fine. iirc, the first release of octopus had a lot of steps required for installation. (22:09:17) vsrinivas: nah. i've used op in the past, just that i got some build failures for o/oxport when i tried... (22:10:00) mkn: oh, okay. (22:11:46) vsrinivas: in a similar (but not the same) environment, iirc op outdid us, but i don't remember by how much. (22:12:20) vsrinivas: the oxport / ofs code was a lot better written than jccfs too; it was my first limbo program and it showed. (22:12:51) rapidfx left the room (quit: Quit: Leaving.). (22:13:39) mkn: :) i'll try both options once i get inferno running on solaris. (22:13:48) vsrinivas: hah okay. (22:13:51) mkn: my client is acme-sac running on windows. (22:14:17) mkn: only today i mailed nemo asking whether a standalone oxport (independent of inferno) exists (22:14:40) mkn: something like the unix u9fs program. so that i can bypass the inferno installation completely (22:18:01) vsrinivas: not really. but inferno can be packed kinda nicely to make this look like a unix progrma (22:18:05) vsrinivas: *program, perhaps. (22:19:41) mkn: i was hoping something u9fs-like could be made out of ophone - a java op server (22:19:50) mkn: (listed at the end of http://lsub.org/ls/octopus.html) (22:20:22) vsrinivas: interesting? (22:20:51) mkn: should be possible, let's see :-) (22:28:28) ericvh [~ericvh@32.97.110.63] entered the room. (22:31:54) mkn left the room (quit: Ping timeout: 252 seconds). (22:32:22) mkn [~7aae6dc7@gateway/web/freenode/x-krdxgjpyghaqghvm] entered the room. (22:38:11) mkn left the room. (22:42:44) mennis left the room (quit: Quit: mennis). (22:55:29) adelfino [~username@201-212-160-19.net.prima.net.ar] entered the room. (23:20:26) mennis [~mennis@adsl-065-012-170-146.sip.asm.bellsouth.net] entered the room. (23:23:38) muzgo left the room. (23:46:43) Fish left the room (quit: Remote host closed the connection). (00:02:13) ericvh left the room. (00:25:17) less1 left the room (quit: Quit: Leaving.). (00:46:33) less1 [~pravin@cpe-66-68-151-36.austin.res.rr.com] entered the room. (01:06:52) Asaph left the room. (01:09:41) jmpnz [~mennis@adsl-065-012-170-146.sip.asm.bellsouth.net] entered the room. (01:09:58) jmpnz left the room (quit: Client Quit). (01:42:34) ericvh [~ericvh@2002:467b:802c:0:223:6cff:fe93:c616] entered the room. (01:43:11) ericvh left the room. (01:46:03) less1 left the room (quit: Quit: Leaving.). (02:16:39) mennis left the room (quit: Quit: mennis). (02:30:35) mennis [~mennis@adsl-065-012-170-146.sip.asm.bellsouth.net] entered the room. (02:55:11) adelfino left the room (quit: Quit: Leaving). (03:05:21) maht [~maht__@85.189.31.174.proweb.managedbroadband.co.uk] entered the room. (04:20:49) anth_x [~a@adsl-99-25-148-5.dsl.bcvloh.sbcglobal.net] entered the room. (04:21:54) anth: powerman-asdf: what i mean with the binds is this: (04:24:04) anth: if package fizzypop provides dis file fiz, i imagine you'd want to be able to call it as 'fiz'. (04:25:26) anth: i don't know how much more than binding over /dis you'd need. (04:29:00) anth: if you want .m files in /module, for example, bind's probably the way to go. basically what to do instead of $PATH and such. (04:30:41) anth: i don't think it makes sense to do the same for library implementations, since you might always want modules to be able to find themselves. (05:01:55) anth: also, i still don't think data belongs in /appl. just because it exists doesn't mean it's right. (05:28:53) less1 [~pravin@cpe-66-68-151-36.austin.res.rr.com] entered the room. (05:45:28) anth: i actually think inferno's namespace is a mess generally. they improved it some for 3e, but it looks like they basically collapesed /sys and /sys/src into /. (05:46:22) vsrinivas: how would you change it? (05:49:17) anth: i think plan9's is very good. not 100%, but very good. i'd model that. (05:49:49) anth: restore /sys/src, move lib.+ in there, /appl in there. (05:50:25) vsrinivas: hmm. sys/src should get os/ or emu/? (05:50:51) anth: i think both, yes. it's a parallel to /sys/src/9. (05:50:59) vsrinivas: also, something i'm pretty sad about is how much duplication there is in os/* and emu/* (05:52:28) anth: i'd get a bit radical and move all the architecture-dependent stuff (/Hp, /Irix, &c) into /sys too. (06:19:09) maht left the room (quit: Ping timeout: 240 seconds). (06:53:44) less1 left the room (quit: Quit: Leaving.). (07:08:06) maht [~maht__@85.189.31.174.proweb.managedbroadband.co.uk] entered the room. (07:18:19) mkn [~7aae6dc7@gateway/web/freenode/x-qtomgbuathgjlavk] entered the room. (07:19:27) rapidfx [~host666@vl-cen-ce1.avtlg.ru] entered the room. (07:25:49) eno left the room (quit: Ping timeout: 276 seconds). (07:26:54) eno [~eno@nslu2-linux/eno] entered the room. (07:44:33) robot12 [~robot12@robot12.kgts.ru] entered the room. (07:47:17) robot12 left the room (quit: Read error: Connection reset by peer). (07:48:13) robot12 [~robot12@robot12.kgts.ru] entered the room. (08:02:10) robot12 left the room (quit: Ping timeout: 248 seconds). (08:03:03) robot12 [~robot12@robot12.kgts.ru] entered the room. (08:27:59) eno left the room (quit: Read error: Connection reset by peer). (08:33:00) eno [~eno@nslu2-linux/eno] entered the room. (10:06:00) mkn left the room (quit: Ping timeout: 252 seconds). (10:17:08) bvalek2 [~c11a2f4b@gateway/web/freenode/x-wnobjczopdetrfnk] entered the room. (10:18:05) robot12 left the room (quit: Read error: Connection reset by peer). (11:06:37) mkn [~7aae6dc7@gateway/web/freenode/x-vwbyxvgwmzhonteh] entered the room. (11:14:52) robot12 [~robot12@szhilkin.broker.freenet6.net] entered the room. (11:17:45) robot12 left the room (quit: Client Quit). (11:18:12) robot12 [~robot12@szhilkin.broker.freenet6.net] entered the room. (11:59:21) powerman: anth: to call it 'fiz' instead of '/opt/someone/fizzypop/dis/fiz' you can use bind, or define sh-function, or use any other ways to do it (11:59:49) powerman: this doesn't make /opt idea useless and redundant (12:01:25) powerman: while you'd call 'fiz' in any way you like, the 'fiz' itself know it always can find it files and modules in '/opt/someone/fizzypop/', and every other application which use 'fiz' also know it always can be found in '/opt/someone/fizzypop/' (12:02:55) powerman: if this turns out to be a question of making name of application shorter to make it more ease to run it manually in shell, I tend to prefer sh-functions as way to go (12:04:25) powerman: actually, all packages in /opt/ may provide such 'recommended' short names in form of sh-functions in some predefined file, so you'll be able to load all these definitions at once in your ~/profile from, say, /opt/*/*/lib/profile (12:15:51) mkn_ [~7aae6dc7@gateway/web/freenode/x-mguldmekgyvsjijo] entered the room. (12:17:16) mkn left the room (quit: Ping timeout: 252 seconds). (13:28:46) mkn_ left the room (quit: Ping timeout: 252 seconds). (13:31:56) smtms [~sometimes@client-33-134.speedy-net.bg] entered the room. (14:20:15) wrtp_ [~rog@78.148.233.118] entered the room. (14:21:36) wrtp left the room (quit: Read error: Operation timed out). (14:25:01) wrtp_ left the room (quit: Ping timeout: 264 seconds). (15:26:39) vsrinivas left the room (quit: Ping timeout: 240 seconds). (16:20:38) wrtp [~rog@78.148.233.118] entered the room. (16:39:54) bvalek2 left the room (quit: Quit: Page closed). (17:06:16) less1 [~pravin@32.97.110.63] entered the room. (17:09:06) anth: powerman-asdf: yes, what you've described certainly works. (17:09:36) anth: all i'm saying is that *in addition* i think it'd be good for inferno /opt packages to provide a lib/namespace with suggested/optional binds. (17:09:45) anth: site admins or users could then include those if they like. (17:10:13) powerman: anth: yeah, of course (17:10:13) anth: but yes, fiz and any package which depends on it explicitly should look in /opt/fizzypop. (17:10:42) powerman: also it may be either ./lib/namespace or ./lib/sh/profile (17:11:23) anth: finally, i dislike the extra level in the namespace for /opt/org/package. that isn't my understanding of how unix ones tend to work, and i don't think it adds anything. (17:11:39) anth: people who were concerned about collision can put the org name in the package name. (17:12:13) anth: Sun used to do that. they'd have /opt/SUNWwhatever (SUNW being their stock symbol). (17:13:56) anth: i have two pending packages i've been considering this for: one's a utilities package, one's a webserver called minerva. (17:14:24) anth: i'll likely use /opt/minerva, since there's low risk of collision, and /opt/S1utils since "utils" is likely to collide (17:14:34) anth: (S1 being shorthand for my company name, Strand 1) (17:15:00) powerman: /opt/org/ isn't a requirement, it just a recommendation as far as I understand, so it's ok for you to use whatever you want (17:16:22) powerman: for me it's just better to know that's my dir, and I can create anything there (including non-packages, maybe some shared mkfiles by all packages, etc.) without thinking about others (17:19:34) anth: i guess. i like the fact that unix /opt packages have a predictable structure. (17:19:58) anth: e.g. i can always look for binaries in /opt/*/s?bin (17:46:23) rapidfx left the room (quit: Quit: Leaving.). (18:14:00) bvalek2 [~bela@unaffiliated/bvalek2] entered the room. (18:56:37) wrtp left the room (quit: Quit: wrtp). (19:18:11) powerman: what you think about this sort of implementation for installing opt-packages: (19:18:25) powerman: implement new file server, named "opt" (19:18:51) powerman: on start it will create file2chan at /chan/opt and prepare to read instructions (19:19:25) powerman: instructions will be in format of single text line with two paths: "from to", like: (19:19:32) powerman: /opt/powerman/retrymount/dis/retrymount.dis /dis/retrymount.dis (19:20:53) powerman: when "opt" got request to install file into /dis/ directory for the first time, it will bind '#soptdis' to /dis/ (if request will be "/opt/powerman/retrymount/man/2/retrymount /man/2/retrymount" it will bind '#soptman2' to /man/2/) (19:21:29) powerman: (if '#soptdis' already was bind to /dis/ it will not repeat this bind, of course) (19:21:46) powerman: next it will make file2chan at /dis/retrymount.dis (19:22:04) powerman: and next it will `bind /opt/powerman/retrymount/dis/retrymount.dis /dis/retrymount.dis` (19:23:27) powerman: that's all. this way user (even without write permissions to /dis/) can install any files from packages in /opt/ he need available at any places, like man pages in standard /man/2/, etc. (19:23:49) powerman: and user will be responsible to choose different names in case some packages in /opt/ will conflict (19:26:19) powerman-asdf left the room (quit: Ping timeout: 245 seconds). (19:26:19) The account has disconnected and you are no longer in this chat. You will be automatically rejoined in the chat when the account reconnects.