Conversation with #inferno at Fri Nov 13 08:03:54 2009 on powerman-asdf@irc.freenode.net (irc) (08:04:41) powerman-asdf left the room (quit: Read error: 104 (Connection reset by peer)). (09:05:02) rapidfx [n=host666@83.239.130.107] entered the room. (11:16:44) npe [n=npe@195.207.5.2] entered the room. (11:35:42) mjl-: morning all (11:49:47) xjrn left the room (quit: Read error: 110 (Connection timed out)). (11:55:44) mjl-: npe: have you looked into converting the inferno-npe repo? (11:55:48) mjl-: i'm looking at it now (11:55:53) mjl-: http://code.google.com/p/support/wiki/ConvertingSvnToHg (11:56:04) mjl-: going to see how hard it is (11:57:39) npe: mjl-: cool. I gave you admin rights right? (11:57:54) mjl-: probably, we'll see :) (11:58:20) mjl-: btw, the svn repo requires googlecode password access. probably to prevent people from using old code? (11:58:31) mjl-: but my account has access, so its fine (11:59:28) npe: there's no guest account? Are you sure it doesn't know you're an admin so it tells you that automatically? (12:00:13) mjl-: the password request is only for svn, not hg (12:00:18) npe: weird. (12:00:36) mjl-: myeah, i don't know why it is, don't care too much :) (12:08:33) mjl-: oh, perhaps it's because i was using https instead of http? (12:08:51) npe: :) (12:08:57) npe: you playing with go much? (12:09:00) npe: I love it. (12:09:11) mjl-: nopes, doesn't run on openbsd (12:09:26) mjl-: it is good? :) (12:09:29) mjl-: anything in particular? (12:09:43) mjl-: having it generate normal OS binaries can be handy i bet :) (12:10:10) npe: the switch statement and comparative lack of verbosity compared to limbo are very nice. (12:10:30) npe: What I'd really like is to get it to compile to dis. (12:10:41) npe: it shouldn't be that hard. (12:11:07) mjl-: no, won't it be? will the interfaces map to limbo's modules/adt's? (12:11:30) npe: that's the idea. (12:11:54) mjl-: they seem more flexible in go (12:12:02) mjl-: (but i haven't looked at the details, so i shouldn't talk :P) (12:12:22) npe: neither have I. (12:12:26) mjl-: ahh, the switch statement has a list of expressions (12:12:28) mjl-: that is nice (12:12:30) npe: so don't take my word for it :) (12:12:36) mjl-: i think i've seen something like that in ruby, but with uglier syntax (12:13:04) npe: I love the using the switch state to unsnarl all the annoying nested ifs. (12:15:08) mjl-: yes, this looks good (12:15:18) mjl-: i also like the capitalisation as public/private identifier (12:15:34) npe: indeed :) (12:16:12) mjl-: not needing ()'s for if's etc also sounds good (12:18:37) npe: but they require brackets now right? (12:19:05) mjl-: for what? (12:19:10) npe: if's (12:19:25) mjl-: ah yeah (12:19:36) npe: essentially fors and ifs have been acidified (12:19:47) mjl-: heh, i tend to use limbo's declare-in-a-body (12:19:48) mjl-: like this (12:20:17) mjl-: if(...) (12:20:17) mjl-: v := 1; (12:20:17) mjl-: else (12:20:17) mjl-: v = 0 (12:20:38) mjl-: guess that won't work in go (12:20:46) npe: not sure. (12:24:40) mjl-: the svn->hg conversion is taking its time (12:24:45) mjl-: and not generating lots of local files (12:25:01) npe: doh (12:25:16) mjl-: perhaps it's just not very efficient. it does seem to use some cpu at some times (12:25:33) mjl-: it creates a local hg repo using the remote svn repo (12:25:51) mjl-: so perhaps its inefficient with requesting changes from the remote svn repo (12:28:57) mjl-: yes, tcpdump shows lots of tcp traffic... (12:29:09) mjl-: patience it is (12:49:54) mjl-: it's ridiculous how slow this is! (12:50:16) mjl-: i'm now trying svnsync to create a local copy of the svn tree (13:38:33) mjl-: hmm, conversion is done (i hope) (13:38:37) mjl-: but i cannot push (13:42:46) mjl-: ah, success now, weird (13:43:27) mjl-: npe: could you check if the current repo looks right? (13:43:30) mjl-: the hg (13:58:22) mjl-: at least it compiles :) (14:06:12) npe: mjl-: haha :) (14:06:18) npe: I will tonight. (14:06:32) mjl-: cool (14:06:37) mjl-: i'm going to see if i can do a merge with inferno-os (14:06:37) npe: at work now. (14:24:39) npe: mjl-: that would be great thanks. (14:55:14) me___ [n=venkates@c-68-55-179-48.hsd1.md.comcast.net] entered the room. (15:07:42) mjl-: did the merge, will be testing on linux & openbsd (15:08:50) me___: mjl-: what're you testing? (15:08:55) me___: also, morning world! (15:09:06) mjl-: hi me___ (15:09:11) mjl-: me___: inferno-npe tree (15:09:18) mjl-: converted it from svn to hg (15:09:25) mjl-: and pulled in changes from inferno-os (15:09:41) me___: ah, cool. what's different in the -npe tree? (15:09:54) mjl-: will be more experimental (15:10:01) mjl-: it is already, but there are few changes now (15:10:02) me___: cool, anything so far? (15:10:20) me___: also, i have a few local patches, would it be appropriate to send them that way? (15:11:04) mjl-: me___: i'm going to push the merge after some testing (15:11:18) mjl-: me___: pull it, then do a hg diff -r tip -r inferno-os (15:11:18) me___: okay, cool. what is the scope of the patches for the tree? (15:11:20) mjl-: to see the differences (15:11:26) mjl-: and if you have patches, please send them (15:11:30) mjl-: you can get commit access (15:11:34) mjl-: everything will go in basically (15:12:09) mjl-: npe will gladly put you on the list of committers (15:12:11) mjl-: i bet (15:12:11) me___: okay. i have some little ones, like removing the locks in incref/decref (use xadd on x86), importing and wrapping p9's libavl... (15:12:31) me___: some scripts for nicer native kernel building... (15:12:31) npe: mjl-: sure, can you test if you can add folks too? (15:12:41) mjl-: npe: will have a look (15:13:35) mjl-: npe: i cannot, don't have the Administer tab (15:13:38) mjl-: me___: sounds good! (15:13:42) me___: hmm, /win 3 (15:13:46) npe: me__: installers and packages for mini infernos(i.e. cpu servers, registries etc...) that allow deployment would be appreciated. (15:14:04) mjl-: i've got a few small patches, eg to get openbsd audio to a bit more usable state (15:14:25) mjl-: and i've got some experimental code to add ipv6 support (that is in the inferno-os issue list). i'm going to put that on a branch (15:14:43) me___: ah, cool. i just did a wikifs package yesterday, hopefully that'll help (15:15:15) npe: mjl-: try now. (15:15:44) mjl-: ah, better! (15:16:14) me___: npe, mjl-: what about not-finished work that'd benefit from commentary? (15:16:21) mjl-: me___: do you have a googlecode account we can put on the list of committers? (15:16:28) mjl-: me___: good question, i don't know (15:16:35) mjl-: branches could be a good candidate for that (15:16:48) me___: okay. is there some kind of mailing list for the project? (15:16:50) npe: me__: Doesn't google code support hg submit? (15:16:58) me___: (so patches can be sent there for chatter?) (15:18:09) me___: oh, another one i have locally changes an interface (specifically lock.m's semaphore becomes a real semaphore). what do you think about that kind of stuff? (15:18:53) npe: me___: try it. If we're going to go whole hog like that some sort of testing suite should be required. (15:19:05) me___: okay, oh that's a good idea (15:19:20) npe: me___: maybe we should demand tests be submitted with the code changes to insure things don't regress. (15:19:37) npe: me___: I think it might be nice to copy the go team's way of doing development. (15:20:12) npe: I have to get back to work, but feel free to get ahold of me with other questiosn. (15:20:40) me___: okay; what do they do? (15:24:46) mjl-: let me know if you find out :) (15:26:36) mjl-: time to push some changes, i bet that will take a while... (15:28:44) me___: mjl-: there's some instrumenting code i have here as well, specifically to trace emu/port/alloc.c a lot. would that be interesting (particularly if if-defed)? (15:29:07) me___: recently i was tracing that bit of inferno, found there was a ton of 8-byte and smaller allocations... (15:29:28) me___: but didn't have a chance to track those down... (15:29:39) mjl-: me___: that would probably be useful (15:29:43) mjl-: though i don't like ifdef's of course (15:30:18) me___: sure, neither do i. but i'd not want this mechanism on by default... (15:30:22) mjl-: but something like #define CKLEAK 0 in emu/port/alloc.c should work (15:30:43) mjl-: i you have compile-time "if(0 && ..." i bet the compiler removes it altoghether (15:31:00) mjl-: but still checks for valid syntax (which is where ifdefs rot away your code) (15:31:09) me___: okay; this was not for leaking, btw. two friends and i are eyeing replacing pool.c on p9, we were doing early work and testing on inferno first... (15:31:47) me___: but seems fair, will do that. right now, it keeps traces in a ring buffer, which i retrive by connecting with gdb and knowing where the buffer was... (15:32:00) me___: i suppose a better interface than that is needed too. (15:40:36) mjl-: hmmz, it starts failing again (15:40:39) mjl-: the push (15:40:50) mjl-: 500 internal server error... (15:41:09) mjl-: perhaps it's due to pushing a new root (15:48:06) mjl-: heh, i cannot push all changes at once. some googlecode issue suggests you run into some internal googlecode mercurial timeouts... (15:53:54) F1sh left the room (quit: Remote closed the connection). (15:55:16) F1sh [n=Fish@86.65.182.194] entered the room. (15:55:18) eekee left the room (quit: Remote closed the connection). (15:55:56) mjl-: heh, now it did work (15:55:58) mjl-: very strange (15:56:01) mjl-: anyway, all is pushed! (15:56:16) mjl-: i changed the ROOT in mkconfig to $HOME/inferno-npe (16:02:14) npe left the room (quit: Remote closed the connection). (16:02:44) npe [n=npe@195.207.5.2] entered the room. (16:05:18) npe left the room (quit: Client Quit). (16:05:35) npe [n=npe@195.207.5.2] entered the room.