00:00:06  <TooTallNate>unless i just don't get C++ syntax at all :p
00:03:55  * paddybyers_joined
00:05:16  * paddybyersquit (Ping timeout: 268 seconds)
00:05:16  * paddybyers_changed nick to paddybyers
00:06:55  <piscisaureus_>TooTallNate: It looks like it's pointing to the wrong linge
00:06:57  <piscisaureus_>*line
00:07:19  <piscisaureus_>TooTallNate: if you look closely, you'll see that there is a declaration and a (separate) definition for Persistent::New
00:07:49  <piscisaureus_>looks like a bug to me :-)
00:09:31  * loladirojoined
00:10:36  <piscisaureus_>TooTallNate: I can "fix" it by removing the "inline" keyword from Persistent<New>. It then builds and links correctly
00:10:43  <piscisaureus_>but it doesn't feel right :-)
00:13:52  <TooTallNate>hhmmmm
00:15:31  * wavdedquit (Remote host closed the connection)
00:17:15  <piscisaureus_>sblom: you happen to have friends within the compiler team as well ? :-)
00:19:40  * loladiroquit (Ping timeout: 244 seconds)
00:20:05  <sblom>piscisaureus_: I know a vc++ test engineer
00:21:07  <sblom>he can probably route feedback/requests
00:22:03  * c4milojoined
00:23:35  <piscisaureus_>i suppose we have to create an easy-to-digest test case for him?
00:23:39  * benoitcquit (Excess Flood)
00:23:55  <sblom>piscisaureus_: for best results, I'd say yes
00:23:59  <TooTallNate>piscisaureus_: you're thinking compiler bug?
00:24:11  <TooTallNate> / preprocessor
00:24:18  <sblom>The way it usually goes if not is "resolved can't repro"
00:24:57  * hzjoined
00:25:13  <piscisaureus_>yeah
00:25:39  <piscisaureus_>TooTallNate: moving the "inline" statement from the declaration to the definition also solves it
00:28:04  <piscisaureus_>TooTallNate: http://www.parashift.com/c++-faq-lite/where-to-put-inline-keyword.html
00:28:23  <piscisaureus_>TooTallNate: it doesn't say what v8 does is wrong. just that it isn't recommended
00:30:27  * benoitcjoined
00:32:36  * loladirojoined
00:33:04  <TooTallNate>piscisaureus_: ya i see. should we sent a patch upstream?
00:36:53  <TooTallNate>looks like there's a lot of places "inline" could be added...
00:39:26  * bradleymeckchanged nick to bradleymeck-OMNO
00:40:50  * loladiroquit (Ping timeout: 255 seconds)
00:42:03  <piscisaureus_>TooTallNate: it looks like this is the only place where it goes wrong...
00:42:10  <piscisaureus_>TooTallNate: I am still digging
00:42:13  * paddybyersquit (Ping timeout: 255 seconds)
00:42:20  <piscisaureus_>but actually getting very tired, going to bed soon
00:42:27  <piscisaureus_>I'll leave VS2012 open for tomorrow
00:43:39  * loladirojoined
00:44:57  <isaacs>https://gist.github.com/4021630
00:45:01  <isaacs>\o/
00:45:40  <TooTallNate>isaacs++
00:45:40  <kohai>isaacs has 27 beers
00:45:42  <isaacs>now to remove a few hundred lines of debug logging and scaffolding and move onto making the http tests work.
00:45:45  <TooTallNate>isaacs: good job man!
00:46:12  <TooTallNate>isaacs: i was wondering though, any reason we're not incrementally converting the streams to the new API in master?
00:46:27  <TooTallNate>i.e. why streams2 branch?
00:46:37  <isaacs>TooTallNate: <shrug>
00:46:38  <isaacs>i dunno
00:46:45  <isaacs>i guess we could move zlib and crypto over.
00:46:54  <TooTallNate>isaacs: i had though so we can compare before and after
00:46:56  <isaacs>the current streams2 is passing all tests.
00:46:59  <isaacs>but yeah
00:47:00  <TooTallNate>benchmarks and whatnot
00:47:20  <isaacs>it's kinda nice.
00:49:23  * loladiroquit (Quit: loladiro)
00:51:16  <piscisaureus_>TooTallNate: if i strip totally unrelated code from v8.h it starts to work
00:51:17  <piscisaureus_>MEH
00:51:20  * piscisaureus_goes to bed
00:51:26  <TooTallNate>lol
00:51:27  <TooTallNate>wat
00:51:38  <TooTallNate>here's what i have so far https://gist.github.com/4021657, seems to work
00:51:46  <TooTallNate>but ya piscisaureus_, get rest, we'll figure it out later
00:52:34  <piscisaureus_>TooTallNate: I suppose that's alright. We can float that in node. Or you can send it upstream and tell the googlers that vs2012 farts and this makes it stop.
00:55:21  <isaacs>oh, wait, i was cheating
00:55:26  <isaacs>there's still one failing test. boo.
01:01:51  <piscisaureus_>k guys
01:01:54  <piscisaureus_>it was nice to know you
01:04:04  <isaacs>piscisaureus_: g'nite. don't let v8 win.
01:04:46  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
01:05:04  * ericktjoined
01:12:46  * c4miloquit (Remote host closed the connection)
01:16:23  <isaacs>ok, 93 tests failing.
01:16:27  <isaacs>down from 158 yesterday.
01:16:47  <isaacs>i think most of those just need a socket.resume() somewhere
01:18:34  * loladirojoined
01:19:28  * mcavagequit (Remote host closed the connection)
01:20:39  * AvianFluquit (Remote host closed the connection)
01:22:36  * loladiroquit (Client Quit)
01:26:30  * TheJHquit (Ping timeout: 264 seconds)
01:27:01  * peterrsquit (Ping timeout: 246 seconds)
01:30:11  * bnoordhuisquit (Ping timeout: 260 seconds)
01:33:02  * loladirojoined
01:33:25  <MI6>joyent/node: isaacs created branch streams2-net - http://git.io/ltQ0Yg
01:34:21  * loladiroquit (Client Quit)
01:36:59  * loladirojoined
01:44:30  * c4milojoined
01:56:21  * loladiroquit (Quit: loladiro)
01:56:32  * wavdedjoined
01:57:07  * hzquit
02:09:39  * yunongquit (Quit: Leaving.)
02:10:51  * loladirojoined
02:20:49  * loladiroquit (Quit: loladiro)
02:38:22  * TooTallNatequit (Quit: Computer has gone to sleep.)
02:38:34  * loladirojoined
03:24:13  * benoitcquit (Excess Flood)
03:25:30  * benoitcjoined
03:25:38  * lohkeyjoined
03:28:03  * loladiroquit (Quit: loladiro)
03:33:52  * benoitcquit (Excess Flood)
03:34:57  * loladirojoined
03:38:01  * benoitcjoined
03:57:14  * AvianFlujoined
04:00:05  * brsonquit (Quit: leaving)
04:09:46  * mcavagejoined
04:19:31  * ericktquit (Quit: erickt)
04:19:59  * jmar777joined
04:26:56  * c4milo_joined
04:29:10  * TooTallNatejoined
04:30:05  * TooTallNatequit (Client Quit)
04:31:17  * c4milo_quit (Ping timeout: 244 seconds)
04:44:27  * kristatejoined
04:51:04  * c4miloquit (Remote host closed the connection)
04:53:47  * kazuponjoined
04:56:21  * lohkeyquit (Quit: lohkey)
05:05:31  * mcavagequit (Remote host closed the connection)
05:09:54  * c4milojoined
05:15:13  * jmar777quit (Remote host closed the connection)
05:15:47  * jmar777joined
05:19:05  * c4miloquit (Remote host closed the connection)
05:19:45  * jmar777_joined
05:19:54  * jmar777quit (Ping timeout: 240 seconds)
05:32:04  * lohkeyjoined
05:32:45  * AvianFluquit (Remote host closed the connection)
05:42:20  * sblomquit (Ping timeout: 252 seconds)
05:43:01  * lohkeyquit (Quit: lohkey)
05:58:14  * mcavagejoined
05:59:40  * lohkeyjoined
05:59:51  * lohkeyquit (Client Quit)
06:03:14  * bradleymeck-OMNOquit (Quit: bradleymeck-OMNO)
06:20:43  * bradleymeckjoined
06:25:52  * paddybyersjoined
06:33:21  * kazupon_joined
06:34:29  * kazuponquit (Read error: Connection reset by peer)
06:38:01  * rendarjoined
06:38:54  * jmar777_quit (Remote host closed the connection)
06:39:29  * jmar777joined
06:43:34  * jmar777quit (Ping timeout: 240 seconds)
06:50:49  * stagasjoined
07:21:49  * joshthecoderquit (Quit: Leaving...)
07:22:26  * ArmyOfBrucequit (Excess Flood)
07:22:56  * ArmyOfBrucejoined
07:47:47  * `3rdEdenjoined
08:06:16  * paddybyersquit (Ping timeout: 268 seconds)
08:28:45  * janjongboomjoined
08:34:38  * janjongboomquit (Ping timeout: 268 seconds)
08:35:20  * ArmyOfBrucequit (Excess Flood)
08:35:50  * ArmyOfBrucejoined
08:40:09  * stagasquit (Ping timeout: 276 seconds)
08:57:52  * sergimjoined
09:03:55  * janjongboomjoined
09:14:36  * kristatequit (Ping timeout: 276 seconds)
09:23:00  * loladiroquit (Ping timeout: 248 seconds)
09:35:46  * loladirojoined
09:47:00  * c4milojoined
09:47:44  * fjakobsjoined
09:48:04  <fjakobs>hi, ben or bert here?
09:48:15  <sergim>I already checked :P
09:48:45  <sergim>indutny: are you available?
09:48:54  <indutny>sergim: hi
09:48:58  <indutny>oaahaha
09:49:12  <indutny>sorry, I was just walking around
09:49:14  <indutny>and for got about time
09:51:21  * c4miloquit (Ping timeout: 252 seconds)
10:03:52  * kazupon_quit (Remote host closed the connection)
10:06:23  * kazuponjoined
10:06:29  * mmaleckichanged nick to mmalecki[high]
10:06:47  * mmalecki[high]changed nick to mmalecki[flying]
10:06:50  * abraxasquit (Remote host closed the connection)
10:16:49  * kazuponquit (Remote host closed the connection)
10:35:39  * hzjoined
10:46:21  * janjongboom_joined
10:46:23  * janjongboomquit (Ping timeout: 244 seconds)
10:46:24  * janjongboom_changed nick to janjongboom
10:51:08  * janjongboomquit (Client Quit)
10:54:07  * ArmyOfBrucequit (Excess Flood)
10:54:38  * ArmyOfBrucejoined
11:01:44  * loladiroquit (Quit: loladiro)
11:08:27  * `3rdEdenquit (Remote host closed the connection)
11:29:18  * paddybyersjoined
11:29:19  * bradleymeckquit (Quit: bradleymeck)
11:32:15  * c4milojoined
11:32:17  * bradleymeckjoined
11:36:30  * c4miloquit (Ping timeout: 244 seconds)
11:42:04  * fjakobsquit (Quit: fjakobs)
11:44:05  * _rheora_joined
11:47:04  * janjongboomjoined
12:05:22  * fjakobsjoined
12:11:39  * piscisaureus_joined
12:11:41  * stagasjoined
12:16:21  * kazuponjoined
12:39:43  * kazuponquit (Remote host closed the connection)
12:42:18  * ericktjoined
12:48:47  * kazuponjoined
12:54:10  * ericktquit (Quit: erickt)
12:58:21  * stagasquit (Ping timeout: 245 seconds)
12:59:52  * ArmyOfBrucequit (Excess Flood)
13:00:20  * ArmyOfBrucejoined
13:03:12  * ericktjoined
13:07:11  <Ralt>who is the awesome wm user here already?
13:09:15  <Ralt>bnoordhuis iirc. Oh well, since he's not there, no need to show him nwm.
13:11:38  * sgallaghjoined
13:16:45  * c4milojoined
13:21:06  * c4miloquit (Ping timeout: 264 seconds)
13:26:43  * ericktquit (Quit: erickt)
13:34:58  * bradleymeckquit (Quit: bradleymeck)
13:40:31  * kkaeferjoined
13:45:59  * dapjoined
13:48:09  * _rheora_quit (Ping timeout: 256 seconds)
13:49:52  <indutny>hoya
14:09:11  * _rheora_joined
14:15:20  <kkaefer>quick check whether libuv is suitable for my problem:
14:15:31  <kkaefer>I have 32 bit only libs, but my app is 64 bit
14:15:47  <kkaefer>so I want to create an external service and communicate with it using libuv's IPC
14:15:54  <kkaefer>does that make sense?
14:18:16  <kkaefer>and does libuv have some sort of message passing infrastructure? or do I have to parse the byte stream myself?
14:21:01  * sergimquit (Quit: Textual IRC Client: http://www.textualapp.com/)
14:22:03  * piscisaureus_quit (Ping timeout: 260 seconds)
14:22:22  * c4milojoined
14:27:48  * Raltquit (Remote host closed the connection)
14:36:47  * piscisaureus_joined
14:39:09  * joshthecoderjoined
14:41:19  * bradleymeckjoined
14:42:30  * Raltjoined
14:48:42  * _rheora_quit (Ping timeout: 244 seconds)
14:48:59  * `3rdEdenjoined
14:51:19  <indutny>kkaefer: you'll need to parse everything
14:53:31  * peterrsjoined
14:55:25  * Raltquit (Remote host closed the connection)
14:59:16  * ArmyOfBrucequit (Excess Flood)
14:59:22  * loladirojoined
14:59:46  * ArmyOfBrucejoined
15:00:29  * bnoordhuisjoined
15:00:42  <bnoordhuis>fjakobs: looking for me?
15:00:52  <piscisaureus_>bnoordhuis: lekker op tijd ben
15:01:01  <fjakobs>no more :)
15:01:04  <bnoordhuis>piscisaureus_: i lead a busy life
15:01:10  <fjakobs>fedora stepped in already
15:01:11  <piscisaureus_>bnoordhuis: btw - why does faio use faio_mod / faio_del / faio_add
15:01:24  <bnoordhuis>piscisaureus_: why not?
15:01:45  <piscisaureus_>bnoordhuis: I never really understood why epoll does it that way. I would think that just faio_mod should be fine
15:02:13  <piscisaureus_>if you want to remove, just remove all the events
15:02:13  <bnoordhuis>piscisaureus_: it's not just epoll
15:02:49  <bnoordhuis>but i'll probably apply some cleverness to avoid epoll_ctl(EPOLL_CTL_DEL) if at all possible
15:03:07  <piscisaureus_>I'm using faio now for runjs
15:03:15  <bnoordhuis>ah, right
15:03:20  <piscisaureus_>because the stupid macos doesn't have an atomic pselect
15:03:31  <piscisaureus_>It still pisses me off. It's been 24 hours now
15:03:59  <bnoordhuis>piscisaureus_: yeah, awesome isn't it? it's a libc function on os x
15:04:12  <piscisaureus_>I mean what the fuck were they thinking
15:04:47  <piscisaureus_>"pselect is there just because sigprocmask + select is too verbose" ??
15:04:48  <bnoordhuis>piscisaureus_: well, they probably copied it verbatim from freebsd
15:05:03  * Soarezpart ("Saindo")
15:05:06  * c4milo_joined
15:05:07  * _rheora_joined
15:05:14  <piscisaureus_>ok, I will direct my anger at fbsd then
15:06:36  <bnoordhuis>maybe at the open group, the spec doesn't straight out say that pselect() should be atomic
15:07:58  <indutny>piscisaureus_: go patch it
15:08:07  <piscisaureus_>well, you can't really
15:08:11  <piscisaureus_>I'd have to patch the kernel
15:08:23  <piscisaureus_>it's not possible to do this shit in a library function
15:08:34  <indutny>yes
15:08:40  <indutny>but you can send patches upstream
15:10:31  * ArmyOfBrucequit (Excess Flood)
15:10:59  * ArmyOfBrucejoined
15:11:39  <piscisaureus_>If I ever write an OS I'll make it possible to do these things in libraries
15:11:52  * loladiroquit (Quit: loladiro)
15:14:20  <indutny>bnoordhuis: do you know how GCM works?
15:14:29  <indutny>I need some help, but apparently there're no v8 guys around
15:14:30  <indutny>...
15:15:04  <bnoordhuis>indutny: what gcm? the block cipher mode?
15:15:08  <indutny>nono
15:15:11  <indutny>global code motion
15:15:12  <indutny>sorry
15:15:22  <indutny>I've implemented it
15:15:27  <indutny>but I think it does less than it can...
15:15:28  <bnoordhuis>oh, right. that makes more sense in the context of v8 :)
15:15:50  <sgallagh>bnoordhuis: Hey, I wanted to check up with you. A couple weeks ago you mentioned having a patch in the works for making libuv a shared library (and stripping out libev). Any word on that?
15:16:00  <bnoordhuis>sgallagh: still working on it
15:16:22  <sgallagh>Anything I can do to help?
15:16:34  <ArmyOfBruce>GCM is also the name of the low-level PS3 graphics libraries.
15:16:45  * fjakobsquit (Quit: fjakobs)
15:17:39  <bnoordhuis>sgallagh: well, the reason it depends on libev removal is that the linker complains about missing libev symbols when compiling with -shared
15:17:49  <bnoordhuis>sgallagh: if you somehow manage to fix that, i'll be happy to land the patch
15:18:21  <bnoordhuis>i didn't spend too much time investigating that on account of libev being removed eventually anyway
15:18:40  <sgallagh>bnoordhuis: Sure, can you point me at a branch and I'll have a look?
15:20:07  <indutny>ArmyOfBruce: I'm really glad that you've mentioned it
15:20:12  <indutny>I think it's abbr for a lot of names :)
15:20:51  <ArmyOfBruce>indutny: well, I scanned scrollback and my first thought, was WTF does PS3 graphics have to do with v8? :)
15:20:53  <bnoordhuis>sgallagh: the issue was (and is) with the master branch. here is a commit from my rm-ev branch that adds .so support: https://github.com/bnoordhuis/libuv/commit/3044f38
15:21:07  <sgallagh>bnoordhuis: Thanks! I'll see what I can do
15:21:38  <bnoordhuis>sgallagh: it only works with the gyp build right now, not the Makefile / config-unix.mk build
15:22:01  <sgallagh>hmm, that's also a bit problematic, but one thing at a time :)
15:22:31  <sgallagh>(Our official buildsystem disallows building from network resources because it's not reproducable)
15:22:45  * stagasjoined
15:23:17  <bnoordhuis>sgallagh: network resources?
15:23:20  <tjfontaine>how does that relate to gyp?
15:23:49  <sgallagh>bnoordhuis: Our build-system can't access the network at all (to download packages etc.)
15:24:19  <bnoordhuis>sgallagh: you can't install gyp, you mean? yes, that would be problematic :)
15:24:46  <bnoordhuis>sgallagh: but if you manage to fix it locally for the gyp build, the change should be trivial to apply to the Makefile
15:24:49  <sgallagh>Well, we'd have to build a gyp package first and modify your code to consume it from elsewhere :)
15:25:11  * sgallaghnods
15:25:15  <sgallagh>Like I said, "one thing at a time"
15:25:15  <bnoordhuis>i wager it's a matter of making some libev symbols publicly visible
15:25:22  <bnoordhuis>indeed :)
15:25:53  <sgallagh>bnoordhuis: You suspect you're using some non-public symbols? That's not a good thing :(
15:26:10  <sgallagh>non-public symbols have no ABI guarantee and code break between releases without notice
15:26:28  <bnoordhuis>sgallagh: the bundled libev is quite heavily modified from upstream
15:27:09  <sgallagh>ahh, that's actually good news :)
15:27:45  <sgallagh>It means I can probably get the Fedora Packaging Committee to accept a bundling exception for it (until you remove it) because it'll qualify as a fork
15:27:54  <bnoordhuis>ah, right. :)
15:28:10  * c4milo_quit (Remote host closed the connection)
15:28:38  * sergimjoined
15:28:40  <sgallagh>bnoordhuis: One question (because they'll ask me): is there a reason your modifications haven't gone upstream?
15:28:49  <sgallagh>Have they been proposed and rejected?
15:29:04  <bnoordhuis>sgallagh: the libev guy and me don't get along so well
15:29:21  <bnoordhuis>but it started when he rejected some sunos fixes for bogus reasons
15:29:44  <bnoordhuis>that's when i kind of lost faith in getting changes upstream
15:29:50  * sgallaghnods
15:29:58  <sgallagh>Good enough for me, though
15:31:16  <piscisaureus_>bnoordhuis: nonblocking mode -> would you recommend fcntl or ioctl ?
15:31:27  <piscisaureus_>bnoordhuis: I don't remember which was the good one ...
15:31:34  <bnoordhuis>piscisaureus_: ioctl, saves a syscall
15:32:05  <bnoordhuis>piscisaureus_: because with fcntl it's fcntl(fd, F_SETFL, O_NONBLOCK | fcntl(fd, F_GETFL))
15:32:21  <piscisaureus_>bnoordhuis: well I also need to set CLOEXEC
15:32:22  <bnoordhuis>piscisaureus_: while ioctl is int on = 1; ioctl(fd, FIONBIO, &on)
15:32:38  <bnoordhuis>piscisaureus_: with close-on-exec it's probably a wash
15:32:38  <piscisaureus_>and I think FIOCLEX is not very portable
15:32:55  <bnoordhuis>piscisaureus_: in theory you need to call fcntl twice to set FD_CLOEXEC
15:33:08  <bnoordhuis>but since that's the only F_SETFD flag no one ever bothers
15:33:34  <bnoordhuis>and just does fcntl(fd, F_SETFD, FD_CLOEXEC)
15:34:24  <piscisaureus_>I wonder why they didn't just add a "mask" flag
15:34:33  <bnoordhuis>piscisaureus_: FIOCLEX is reasonably portable, all the major unices support it except sunos
15:34:50  <piscisaureus_>maybe you should send a patch to linux to support fcntl4 :-)
15:35:12  <bnoordhuis>FIOCLEX on sunos, depending on the version, either doesn't work or it's hellishly slow
15:35:22  <piscisaureus_>ah
15:35:27  <piscisaureus_>I don't care about sunos atm
15:36:54  * stagasquit (Ping timeout: 260 seconds)
15:41:28  <bnoordhuis>indutny: as a fyi, simple/test-debugger-client sometimes hangs for me as well
15:42:06  * peterrsquit (Ping timeout: 240 seconds)
15:43:15  <bnoordhuis>piscisaureus_: question about uv_poll, is it legal on windows to create two uv_poll_t handles that refer to the same HANDLE?
15:43:32  <piscisaureus_>bnoordhuis: I never tried, but I think not
15:43:45  <piscisaureus_>bnoordhuis: I am pretty sure not, actually :-)
15:43:50  <indutny>bnoordhuis: hehe
15:43:51  <bnoordhuis>it'd be good to formalize that behavior
15:44:00  <piscisaureus_>bnoordhuis: it is documented in uv.h afaik
15:44:25  * c4milo_joined
15:44:34  <bnoordhuis>piscisaureus_: oh right, "It is not okay to have multiple active uv_poll watchers for the same socket."
15:44:47  <piscisaureus_>bnoordhuis: even if you create a duplicate I think it doesn't work
15:45:11  <bnoordhuis>if it's documented, it's good enough for me
15:45:35  <bnoordhuis>indutny: even simple/test-debugger-repl-utf8 still occasionally fails :/
15:49:30  <piscisaureus_>https://github.com/snoj/node/commit/122717409fbe6321811bd496d7a5fbee7607cc57 <-- lgtm, land it in master?
15:49:37  * c4miloquit (Remote host closed the connection)
15:49:46  <MI6>joyent/node: Joshua Erickson master * fb6377e : net: More accurate IP address validation and IPv6 dotted notation. * Add - http://git.io/kRaaMA
15:49:52  <piscisaureus_>er
15:50:07  <piscisaureus_>bnoordhuis: were you just doing that or does MI6 now have magic powers?
15:50:20  * c4milojoined
15:50:44  <piscisaureus_>kinda creepy if you ask me
15:50:48  <bnoordhuis>piscisaureus_: it's become sentient
15:51:00  <bnoordhuis>piscisaureus_: and insists on being addressed as "skynet"
15:52:03  * c4milo_quit (Remote host closed the connection)
15:53:26  * joshthecoderquit (Quit: Leaving...)
15:53:28  * mcavagequit (Remote host closed the connection)
15:57:10  * jmar777joined
15:57:52  <piscisaureus_>I don't like that faio uses callbacks
15:59:36  <piscisaureus_>bnoordhuis: sorry for bothering you so much - is MSG_DONTWAIT portable?
16:00:19  <bnoordhuis>piscisaureus_: no. i think recent versions of freebsd implement it but that's about it
16:00:29  <piscisaureus_>hmm
16:02:23  * _rheora_quit (Ping timeout: 260 seconds)
16:02:53  <bnoordhuis>piscisaureus_: apparently os x and sunos support it as well
16:03:10  <piscisaureus_>oooh
16:03:26  <bnoordhuis>don't know since what os x version it's supported though
16:04:59  * loladirojoined
16:12:47  * Raltjoined
16:13:47  * AvianFlujoined
16:14:09  * _rheora_joined
16:14:44  * ArmyOfBrucequit (Excess Flood)
16:15:11  * ArmyOfBrucejoined
16:23:51  <piscisaureus_>bnoordhuis: another unix question -
16:23:51  <piscisaureus_>if a child process exited, but the parent didn't reap it yet, are it's children already reparented? Or does that happen only after the parent reaped it?
16:24:46  * peterrsjoined
16:32:51  * loladiroquit (Quit: loladiro)
16:35:44  * loladirojoined
16:36:02  * loladiroquit (Client Quit)
16:36:35  * `3rdEdenquit (Remote host closed the connection)
16:40:14  * _rheora_quit (Ping timeout: 240 seconds)
16:40:17  * ArmyOfBrucequit (Excess Flood)
16:40:44  * ArmyOfBrucejoined
16:42:47  * joshthecoderjoined
16:45:55  * jmar777quit (Remote host closed the connection)
16:46:28  * jmar777joined
16:50:39  * jmar777quit (Ping timeout: 246 seconds)
16:51:34  <indutny>the murder
16:53:39  * _rheora_joined
16:57:52  * bradleymeckquit (Quit: bradleymeck)
17:05:45  * brsonjoined
17:07:11  * _rheora_quit (Quit: Quitte)
17:15:53  * yunongjoined
17:26:59  * hzquit
17:32:53  * sblomjoined
17:39:22  * TheJHjoined
17:45:32  * kazuponquit (Remote host closed the connection)
17:46:33  * mikealquit (Quit: Leaving.)
17:47:07  * mikealjoined
17:47:14  * mikealquit (Client Quit)
17:47:32  * mikealjoined
17:49:30  * kazuponjoined
17:49:43  * brsonquit (Ping timeout: 252 seconds)
17:50:40  * brsonjoined
17:58:08  * AvianFluquit (Remote host closed the connection)
18:03:06  * AvianFlujoined
18:07:11  * kazuponquit (Remote host closed the connection)
18:10:17  * AvianFluquit (Remote host closed the connection)
18:12:29  * dapquit (Quit: Leaving.)
18:17:13  <isaacs>piscisaureus_: have you gotten a chance to take a look at the streams2 branch?
18:17:44  * `3rdEdenjoined
18:17:48  <Ralt>bnoordhuis since you're an awesome wm user, I thought nwm might interest you :) https://github.com/mixu/nwm
18:30:18  * TooTallNatejoined
18:30:19  <bnoordhuis>piscisaureus_: you mean the grandchild processes? they're immediately reparented to init, i think
18:30:29  <bnoordhuis>Ralt: yeah, i know of nwm - i even ran it a couple of times :)
18:31:54  * sergimquit (Quit: Computer has gone to sleep.)
18:40:29  * loladirojoined
18:45:11  <Ralt>bnoordhuis: ahh, is it good?
18:45:36  * janjongboomquit (Quit: janjongboom)
18:45:37  <Ralt>I didn't try it yet, since it's v0.0.1, I don't want to risk anything on my work pc
18:48:11  * bradleymeckjoined
18:50:20  <bnoordhuis>Ralt: yes, it works. it's not really full featured but it works well enough
18:50:24  * loladiro_joined
18:50:47  <bnoordhuis>if you want to try it out, you can run it in zephyr
18:52:43  * loladiroquit (Ping timeout: 260 seconds)
18:52:43  * loladiro_changed nick to loladiro
18:56:19  * sergimjoined
19:05:17  * tomshredsjoined
19:06:11  <bnoordhuis>piscisaureus_: idea time. replace alloc_cb/read_cb with a read_cb that calls a uv_read(handle, buf) function?
19:06:50  <piscisaureus_>bnoordhuis: that would work but only if we can guarantee that the buffer will always be alloc'ed last minue
19:06:58  <piscisaureus_>bnoordhuis: which is not always the case...
19:06:59  * jmar777joined
19:07:11  <bnoordhuis>piscisaureus_: when/where/why would that be the case?
19:07:16  <bnoordhuis>that windows of yours?
19:07:19  <piscisaureus_>bnoordhuis: yep
19:07:25  <bnoordhuis>and when?
19:07:28  <piscisaureus_>bnoordhuis: as it stands, it happens for tty handles only
19:07:43  <bnoordhuis>okay. is there a reason for that?
19:08:04  <piscisaureus_>bnoordhuis: yes. because it runs in the thread pool.
19:08:13  <piscisaureus_>bnoordhuis: into a preallocated buffer
19:08:19  <bnoordhuis>ah, hm
19:08:43  <bnoordhuis>well, that kind of kills it
19:08:51  <piscisaureus_>bnoordhuis: the same would be true for tcp if we ever moved to re-enable the optimization for nonzero reads again.
19:09:58  <piscisaureus_>bnoordhuis: I agree that this api would be much nicer
19:10:12  <piscisaureus_>and isaacs would love it too :-)
19:10:20  <bnoordhuis>yes. but alas
19:16:08  * sergimquit (Quit: Textual IRC Client: http://www.textualapp.com/)
19:18:26  * kazuponjoined
19:19:12  <piscisaureus_>can faio_del conceivably fail?
19:19:13  * perezdjoined
19:21:16  <bnoordhuis>piscisaureus_: yes, e.g. close(fd); faio_del(fd); will return -1
19:21:29  <piscisaureus_>ah
19:21:34  <piscisaureus_>and if I don't :-)
19:21:51  <bnoordhuis>or if you call it twice, the second call will fail because the fd's already been disarmed
19:22:02  <piscisaureus_>bnoordhuis: how does faio_del know that the fd was closed?
19:22:12  <bnoordhuis>piscisaureus_: magic. also, the kernel tells it
19:22:12  <piscisaureus_>bnoordhuis: or does epoll_ctl_del just return EBADF ?
19:22:13  <peterrs>hm.. i'm getting an assertion error on line 1077 in src/win/pipe.c when i'm using a synchronous pipe.. is there any reason for this?
19:22:21  <bnoordhuis>piscisaureus_: yes, EBADF or ENOENT
19:22:43  <bnoordhuis>peterrs: depends on what you're doing
19:22:52  <peterrs>bnoordhuis: ipc
19:22:53  * kazuponquit (Ping timeout: 246 seconds)
19:22:59  <bnoordhuis>peterrs: test case?
19:23:33  <piscisaureus_>peters: looks like you are writing to a pipe that isn't connected
19:23:47  <piscisaureus_>also, a synchronous pipe?
19:23:58  <peterrs>correct
19:25:41  * mmalecki[flying]changed nick to mmalecki
19:28:49  <peterrs>bnoordhuis: i'll try to investigate further, and if not i'll provide a test case.
19:29:05  <bnoordhuis>peterrs: okay, excellent
19:33:23  <indutny>bnoordhuis: proud about this - http://codestre.am/ade43fb2574620cd6af286cff
19:34:31  * loladiroquit (Quit: loladiro)
19:36:36  <bnoordhuis>indutny: very nice, well done :)
19:37:02  <TooTallNate>indutny: very cool!
19:37:22  <indutny>thanks :)
19:37:29  <indutny>24sec for building ;)
19:40:11  * mmaleckichanged nick to mmalecki[food]
19:45:04  * nsmjoined
20:02:43  * peterrsquit (Ping timeout: 260 seconds)
20:11:49  * mikealquit (Quit: Leaving.)
20:28:39  * mikealjoined
20:30:00  <txdv>yo yo yo b boys
20:30:05  <einaros>can the scripts section in package.json somehow reference the executing node.js binary path yet?
20:37:42  <txdv>indutny: candor looks like and feels like node.js
20:37:57  <indutny>txdv: candor is language, candor.io - yep
20:38:08  <indutny>txdv: but language is close to js
20:38:18  <txdv>candor looks like and feels like js and candor.io looks and feels like node.js
20:38:28  <indutny>yes :)
20:38:45  <txdv>what are the language differences?
20:39:47  * lohkeyjoined
20:40:11  <indutny>txdv: type coercion, no `function` keyword, no exceptions
20:40:20  <indutny>txdv: 62bit numbers on x64 platform
20:40:33  <txdv>that is odd
20:40:36  <indutny>txdv: thin boundary between C+ and language
20:40:38  <indutny>why?
20:40:44  <indutny>they're tagged and unboxed
20:40:44  <txdv>why not 64?
20:40:48  <indutny>well, they're signed
20:40:52  <indutny>63 bits left
20:40:56  <indutny>and they're tagged
20:40:58  <indutny>62 bits left
20:41:04  <txdv>what does tagged mean?
20:41:08  <indutny>much better than v8's 30bit
20:41:18  <indutny>it means that all numbers are shifted left by one bit
20:41:26  <indutny>to distinguish them from pointers in GC
20:42:59  <indutny>txdv: that's how it works, in many VMs
20:43:59  * TooTallNatequit (Quit: Computer has gone to sleep.)
20:44:20  <bnoordhuis>indutny: are candor numbers 62 or 63 bits?
20:44:33  <indutny>bnoordhuis: depending on what you're trying to store
20:44:47  <indutny>bnoordhuis: you're right, better say 63 bits
20:44:54  <indutny>only one bit is really reserved by VM
20:45:01  <bnoordhuis>okay, cool
20:45:40  <indutny>yeah, that's pretty cool
20:45:45  <indutny>especially for offsets in files
20:47:30  * kkaeferquit (Ping timeout: 276 seconds)
20:47:46  * kkaeferjoined
20:47:47  * kkaeferquit (Changing host)
20:47:47  * kkaeferjoined
20:48:13  * TooTallNatejoined
20:48:14  <bnoordhuis>and storing ffi pointers
20:48:24  <bnoordhuis>damn it, i want that in js
20:48:24  <indutny>right
20:48:28  <indutny>no way
20:48:31  <indutny>use candor :)
20:48:44  <indutny>meanwhile
20:48:51  <indutny>can you ask me on a stupid C question?
20:48:55  <txdv>store ffi pointers?
20:48:57  <bnoordhuis>ask or answer?
20:49:02  <indutny>answer
20:49:09  <bnoordhuis>probably. shoot
20:49:14  <indutny>bnoordhuis: https://github.com/indutny/candor/blob/master/src/heap.h#L520
20:49:22  <indutny>bnoordhuis: on ia32, when I open gdb
20:49:30  <indutny>bnoordhuis: and `p HArray::kDenseLengthMax`
20:49:30  <bnoordhuis>txdv: yes. it's easy with 32 bits pointers but try 64 bits pointers
20:49:34  <indutny>bnoordhuis: I will see -128
20:49:53  <txdv>that sucks
20:50:05  <bnoordhuis>indutny: debug or release build?
20:50:08  <indutny>debug
20:50:24  <bnoordhuis>hm, it's a static const
20:50:47  <indutny>nvm
20:50:49  <indutny>gdb bug
20:50:50  * mmalecki[food]changed nick to mmalecki
20:50:52  <bnoordhuis>it probably has no real presentation in the binary, just in the dwarf section
20:50:59  <bnoordhuis>or mach-o debug section
20:50:59  <indutny>indeed
20:51:23  <bnoordhuis>does `p &HArray::kDenseLengthMax` work? i'm guessing no
20:52:07  * hzjoined
20:52:35  <indutny>surely not
20:52:39  <indutny>this is not allowed by language
20:52:43  <indutny>it's a const
20:53:12  <bnoordhuis>actually, you *can* take the address of a const, you're just not allowed to dereference it
20:53:26  <bnoordhuis>err, that is, write to it, reading it is okay
20:53:41  <bnoordhuis>and in that case the compiler will create an actual entry in the rodata section
20:53:58  <bnoordhuis>but... don't do that :)
20:54:34  * TooTallNatequit (Ping timeout: 240 seconds)
20:55:12  <indutny>oh
20:55:22  * peterrsjoined
20:56:08  <bnoordhuis>indutny: if it's a const inside a class the compiler will protect you somewhat though
20:56:17  <bnoordhuis>because you need to define it outside the class definition
20:56:41  <bnoordhuis>s/define/declare/
20:57:39  * TooTallNatejoined
21:02:34  * loladirojoined
21:04:17  * loladiroquit (Client Quit)
21:10:45  <sgallagh>bnoordhuis: I've been looking at the shared object linking issue today. I haven't come up with a solution yet, but it should be noted that you're not actually compiling in the libev stuff at the moment. However just adding it statically in isn't working right, so something else is going on there.
21:10:52  <sgallagh>I'm going to keep working on it tomorrow.
21:11:22  <bnoordhuis>sgallagh: not compiling in libev? i'm not following
21:11:23  <sgallagh>We don't want to make the functions public, though. Otherwise that could cause problems if someone links against libuv and libev in the same program
21:11:39  <tjfontaine>those people are masochists
21:11:56  <sgallagh>bnoordhuis: Running a gyp build of libuv as a shared object doesn't compile any part of libev right now
21:11:59  <sgallagh>It's not listed in the sources
21:12:22  <sgallagh>tjfontaine: Suppose they dlopen() two different libraries, one that was built with libuv, another with libev for example.
21:12:38  <sgallagh>I'm not saying it's likely, merely that it will break (and not in an easy to identify way) if they do
21:12:40  <tjfontaine>sgallagh: I can suppose all night, that doesn't change my opinion of them :)
21:13:07  <bnoordhuis>sgallagh: line 124 in uv.gyp? that's ev.c right there
21:13:43  <bnoordhuis>unless you've been working with my rm-ev branch, of course
21:13:56  <sgallagh>bnoordhuis: I've been working from the commit you linked me to
21:14:03  <sgallagh>b5362aedc57bab0bd6ae33971430d6288edace02
21:14:12  * loladirojoined
21:14:18  <bnoordhuis>sgallagh: ah... maybe i should've told you that was from my rm-ev branch
21:14:42  <bnoordhuis>if you did a `git checkout b5362ae`, well, there's indeed no libev being compiled in
21:14:51  <bnoordhuis>on account of libev having been removed
21:15:18  <bnoordhuis>i shouldn't have assumed that you'd `git cherry-pick` it
21:16:34  <sgallagh>bnoordhuis: Ok... I'll try cherry-picking it on the master then
21:16:57  <sgallagh>bnoordhuis: The implication I'd gotten before was that this was the head of your work on this area and that it would be easiest to work from there
21:17:20  * sgallaghsighs
21:18:17  <bnoordhuis>sgallagh: sorry, i'll try to be a little more detailed next time
21:18:26  <sgallagh>No problem. This is what I get for assuming :)
21:19:05  <txdv>bye bye ev
21:20:21  * EhevuTovjoined
21:21:21  <sgallagh>bnoordhuis: Which master branch should I be on? joyent?
21:21:32  <bnoordhuis>sgallagh: yes, joyent/node@master
21:29:21  <TooTallNate>isaacs: do you have a thought on https://github.com/joyent/node/issues/4243#issuecomment-10089955
21:29:54  <TooTallNate>isaacs: the trailing \n is useless imo, and it's not present in "terminal" mode, however our test cases check for the "\n", so it might be considered an API change
21:30:23  <TooTallNate>isaacs: the docs don't specify either way
21:35:55  <piscisaureus_>bnoordhuis: yo
21:35:59  * loladiroquit (Quit: loladiro)
21:36:08  <piscisaureus_>bnoordhuis: will faio_poll return if there are events before the timeout expires
21:36:09  <piscisaureus_>?
21:36:13  <bnoordhuis>piscisaureus_: yes
21:38:41  <sgallagh>bnoordhuis: Ahh, I think I've figured it out.
21:39:06  <sgallagh>The reason for the link problems is because you're including private headers from the public one
21:39:30  <sgallagh>So any client that does a #include <uv.h> is getting the internal headers too, which they then need to satisfy
21:39:56  <bnoordhuis>that sounds plausible
21:40:57  <sgallagh>I'm going to see if I can extract the portions of the headers that rely on ev.h out into a separate private header that's included only by the internal uv code
21:41:36  * brsonquit (Ping timeout: 240 seconds)
21:41:53  <sgallagh>bnoordhuis: I have to run for today, but I'll see about getting that together in the morning
21:42:18  <bnoordhuis>sgallagh: okay, excellent. have a good evening
21:42:50  <sgallagh>Thanks, you too
21:45:58  * sgallaghquit (Remote host closed the connection)
21:46:38  * loladirojoined
21:46:41  * `3rdEdenquit (Remote host closed the connection)
21:48:32  * brsonjoined
21:50:42  * bradleymeckquit (Quit: bradleymeck)
22:09:18  * perezdquit (Quit: perezd)
22:10:43  * perezdjoined
22:19:55  * TheJHquit (Ping timeout: 260 seconds)
22:21:04  * rendarquit
22:34:46  * ArmyOfBrucequit (Excess Flood)
22:35:16  * ArmyOfBrucejoined
22:45:24  * loladiroquit (Quit: loladiro)
22:49:10  <indutny>bnoordhuis: what are we using to send notifications to irc channel on commit?
22:49:13  * AvianFlujoined
22:49:16  <indutny>MI6 ?
22:49:38  <indutny>can I ask owner to add candor to it?
22:49:53  <txdv>to this channel?
22:50:29  <indutny>surely not
22:50:30  <indutny>to #candor
22:50:38  * loladirojoined
22:50:58  * loladiroquit (Client Quit)
22:51:03  <txdv>the source was posted here
22:51:13  <tjfontaine>indutny: no problem, you'll need to add http://cass.atxconsulting.com:8000
22:51:38  <txdv>that site is empty
22:51:39  <indutny>tjfontaine: looks like empty page to me
22:51:54  <tjfontaine>indutny: no that's what you add to webhooks on the github admin page
22:51:55  <txdv>don't troll russians
22:52:05  <indutny>ah
22:52:06  <indutny>ok
22:52:15  <indutny>how would it know where to send message?
22:52:26  <tjfontaine>I set it in the config
22:52:36  <tjfontaine>channel name is #candor?
22:52:41  <indutny>tjfontaine: yes
22:52:58  <indutny>tjfontaine: is it working now?
22:53:06  <indutny>tjfontaine: test button on github doesn't seem to do anything
22:53:17  <tjfontaine>indutny/candor or also .io?
22:53:30  <indutny>just candor
22:53:34  <indutny>oh
22:53:38  <indutny>wait, both would be good too
22:53:40  <indutny>tjfontaine: ^
22:53:42  <tjfontaine>do you want libuv as well?
22:53:46  <indutny>haha
22:53:46  <indutny>no
22:53:48  <tjfontaine>k
22:53:52  <indutny>tjfontaine: thank you
22:54:02  * MI6quit (Remote host closed the connection)
22:54:12  * MI6joined
22:54:17  <tjfontaine>indutny: hit the test button now
22:54:31  <indutny>tjfontaine: yay, it worked
22:54:33  <indutny>tjfontaine: thank you
22:54:36  <tjfontaine>you're welcome
22:55:07  * hzquit
22:56:15  * perezdquit (Quit: perezd)
22:58:40  <txdv>is it really so important to spam the channel
22:58:45  <txdv>what if I push 36 commits?
22:59:26  <tjfontaine>they get consolidated into one quick message and a (+35 commits)
23:00:40  <creationix>I'm really impressed by the node-webkit team
23:01:18  * perezdjoined
23:03:32  <txdv>chromium didn't bring node to chromium, so node brought chromium to node
23:04:25  <TooTallNate>isaacs: piscisaureus_: bnoordhuis: indutny: anyone care to review? https://github.com/TooTallNate/node/compare/joyent:v0.8...TooTallNate:fix/readline-strip-newline
23:04:44  <TooTallNate>^ also, whether it goes into master or v0.8 is questionable
23:04:52  <TooTallNate>but my vote is v0.8
23:05:50  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
23:17:42  * mikealquit (Quit: Leaving.)
23:20:49  * wavdedquit (Read error: Operation timed out)
23:21:24  * wavdedjoined
23:29:17  * mikealjoined
23:38:46  * loladirojoined
23:41:48  * loladiroquit (Client Quit)
23:44:03  <isaacs>TooTallNate: hmm...
23:44:07  <isaacs>TooTallNate: i see where you're coming from.
23:44:40  <isaacs>but it IS a behavior change... i guess it's only including the \n when it's explicitly terminal:true, but what does it emit when the input is actually a terminal, but not forced with the config?
23:45:33  <TooTallNate>isaacs: opposite, it only includes \n when terminal:false, like the "default" case most of the time
23:46:07  <isaacs>oh, ok..
23:46:29  <TooTallNate>isaacs: but i believe the repl explicitly trim()s (which i always thought wasn't quite right, but perhaps it was for this case)
23:46:31  <isaacs>{terminal:true} should behave exactly the same as using an actual termina
23:46:33  <isaacs>*terminal
23:46:38  <isaacs>hm.
23:46:55  <TooTallNate>isaacs: ya, that's already the case, terminal: true, IMO, does the correct thing
23:47:23  <TooTallNate>isaacs: we should probably just do it in master
23:47:43  <TooTallNate>there's a *slight* chance that it could change the behavior of someone's code
23:47:58  <TooTallNate>iff they're not trim()ing it already anyways
23:50:51  * loladirojoined
23:54:32  <isaacs>yeah
23:54:36  <isaacs>land in master.
23:54:47  * isaacsis reading lib/http.js
23:54:52  <isaacs>pray for me.
23:56:16  * piscisaureus_joined
23:59:13  * CoverSlideprays