00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:05:25  * wwicks_joined
00:06:10  * wwicksquit (Ping timeout: 246 seconds)
00:06:11  * wwicks_changed nick to wwicks
00:15:46  <wolfeidau>tjfontaine: was there anything interesting in that pmap?
00:16:09  * trevnorris&
00:16:10  <LOUDBOT>BACK TO THE FUTURE. PART -1
00:19:44  * c4miloquit (Remote host closed the connection)
00:20:17  * c4milojoined
00:21:21  <tjfontaine>wolfeidau: sorry meatspace interrupt, looking now
00:22:17  <tjfontaine>wolfeidau: nothing too surprising there, 26mb of traditional heap -- most of the rest is anonymous and related to the v8 heap
00:24:44  * wwicks_joined
00:25:04  * c4miloquit (Ping timeout: 248 seconds)
00:26:12  * wwicksquit (Ping timeout: 240 seconds)
00:26:13  * wwicks_changed nick to wwicks
00:28:35  * EhevuTovquit (Quit: This computer has gone to sleep)
00:29:55  <wolfeidau>tjfontaine: all good mate just had me in suspense
00:30:14  <tjfontaine>sorry, silly interrupts
00:31:26  <tjfontaine>alright well fuck this test, I'm going to land the zlib fix I think
00:31:36  <tjfontaine>LOUDBOT: THERE IS NO HOPE
00:31:36  <LOUDBOT>tjfontaine: [TITLE CARD WITH HIGHBROW PUN]
00:31:41  <tjfontaine>excellent.
00:44:20  * AvianFlu_joined
00:45:40  * AvianFlu_quit (Remote host closed the connection)
00:46:19  * wwicks_joined
00:47:06  * wwicksquit (Ping timeout: 245 seconds)
00:47:06  * wwicks_changed nick to wwicks
00:47:42  <wolfeidau>Did a diff of the pmap https://gist.github.com/wolfeidau/6875651#comment-924323
00:47:50  <wolfeidau>Interesting where the changes are
00:48:35  <tjfontaine>but there's no difference in actual change in total memory, just movement
00:48:41  <tjfontaine>so old/new space swaps
00:54:13  * kenperkinsquit (Quit: Computer has gone to sleep.)
00:57:32  <wolfeidau>tjfontaine: ah
00:57:53  <tjfontaine>right?
00:57:59  <tjfontaine>I mean, correct me if I'm wrong :)
01:06:06  * wwicks_joined
01:07:14  * wwicksquit (Ping timeout: 240 seconds)
01:07:14  * wwicks_changed nick to wwicks
01:11:45  * dapquit (Quit: Leaving.)
01:12:43  * inolenquit (Quit: Leaving.)
01:13:32  * inolenjoined
01:13:45  * inolen1joined
01:17:50  * inolenquit (Ping timeout: 240 seconds)
01:20:01  * mikealquit (Quit: Leaving.)
01:25:42  * TooTallNatejoined
01:25:56  * wwicks_joined
01:27:26  * wwicksquit (Ping timeout: 256 seconds)
01:27:26  * wwicks_changed nick to wwicks
01:29:05  * abraxasjoined
01:30:08  * julianduquequit (Ping timeout: 240 seconds)
01:31:32  * julianduquejoined
01:37:55  * kenperkinsjoined
01:46:22  * wwicks_joined
01:47:58  * wwicksquit (Ping timeout: 268 seconds)
01:48:00  * wwicks_changed nick to wwicks
01:48:28  * julianduquequit (Ping timeout: 240 seconds)
01:58:19  * klutzy_joined
02:02:19  * superjoejoined
02:02:34  <superjoe>that ircretary thing is pretty cool
02:06:52  * wwicks_joined
02:07:08  * wwicksquit (Ping timeout: 240 seconds)
02:07:08  * wwicks_changed nick to wwicks
02:18:05  * c4milojoined
02:24:49  * c4miloquit (Remote host closed the connection)
02:25:15  * c4milojoined
02:28:18  * wwicksquit (Ping timeout: 264 seconds)
02:28:22  * wwicks_joined
02:29:52  * c4miloquit (Ping timeout: 248 seconds)
02:48:24  * wwicksjoined
02:48:46  * wwicks_quit (Ping timeout: 245 seconds)
02:54:48  * kazuponjoined
03:08:30  * wwicks_joined
03:08:48  * wwicksquit (Ping timeout: 248 seconds)
03:08:48  * wwicks_changed nick to wwicks
03:11:21  * st_lukejoined
03:12:11  * groundwaterjoined
03:13:29  * groundwaterquit (Client Quit)
03:14:05  * st_lukequit (Remote host closed the connection)
03:15:32  * groundwaterjoined
03:28:54  * wwicks_joined
03:29:26  * wwicksquit (Ping timeout: 240 seconds)
03:29:26  * wwicks_changed nick to wwicks
03:31:25  * st_lukejoined
03:31:26  * AvianFluquit (Read error: Connection reset by peer)
03:31:59  * AvianFlujoined
03:49:31  * st_lukequit (Remote host closed the connection)
03:50:06  * st_lukejoined
03:50:32  * wwicks_joined
03:50:41  * wwicksquit (Ping timeout: 268 seconds)
03:50:41  * wwicks_changed nick to wwicks
03:50:57  * defunctzombie_zzchanged nick to defunctzombie
03:54:36  * st_lukequit (Ping timeout: 245 seconds)
03:56:58  * defunctzombiechanged nick to defunctzombie_zz
03:57:54  * mikealjoined
03:59:08  * mikealquit (Client Quit)
04:00:01  * Kakera_joined
04:09:41  * TooTallNatequit (Quit: Computer has gone to sleep.)
04:09:57  * TooTallNatejoined
04:10:07  * wwicks_joined
04:11:28  * wwicksquit (Ping timeout: 240 seconds)
04:12:30  * superjoequit (Ping timeout: 245 seconds)
04:14:38  * wwicks_quit (Ping timeout: 264 seconds)
04:16:49  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
04:22:23  * kenperkinsquit (Quit: Computer has gone to sleep.)
04:31:14  * AvianFluquit (Read error: Connection reset by peer)
04:31:50  * AvianFlujoined
04:35:11  * wwicksjoined
04:45:12  * AvianFluquit (Remote host closed the connection)
04:45:56  * AvianFlujoined
04:50:40  * kenperkinsjoined
04:51:44  * st_lukejoined
04:52:20  * kenperkinsquit (Client Quit)
04:56:00  * Kakera_quit (Ping timeout: 240 seconds)
05:14:56  * st_lukequit (Remote host closed the connection)
05:17:19  * mikealjoined
05:39:18  * paddybyersjoined
06:00:32  * AvianFlu_joined
06:05:27  * Kakera_joined
06:07:50  * paddybyersquit (Quit: paddybyers)
06:08:46  * AvianFlu_quit (Ping timeout: 246 seconds)
06:09:13  * wolfeidauquit (Remote host closed the connection)
06:36:17  * rendarjoined
06:40:59  <MI6>nodejs-v0.10-windows: #246 UNSTABLE windows-ia32 (7/600) windows-x64 (7/600) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/246/
06:43:19  * wolfeidaujoined
06:45:44  * wolfeidauquit (Remote host closed the connection)
06:57:02  * octetcloudquit (Ping timeout: 240 seconds)
07:12:33  * kuplatup1ujoined
07:12:34  * mmalecki_joined
07:13:14  * swajrjoined
07:13:17  * roxlu_joined
07:13:21  * swajrquit (Changing host)
07:13:21  * swajrjoined
07:13:26  * einaros_joined
07:13:36  * bajtosjoined
07:16:05  * sindresorhus_joined
07:17:02  * bajtosquit (Client Quit)
07:17:50  * mmaleckiquit (*.net *.split)
07:17:50  * sindresorhusquit (*.net *.split)
07:17:50  * roxluquit (*.net *.split)
07:17:50  * swajquit (*.net *.split)
07:17:51  * einarosquit (*.net *.split)
07:17:51  * kuplatupsuquit (*.net *.split)
07:17:52  * sindresorhus_changed nick to sindresorhus
07:30:59  * amartensquit (Quit: Leaving.)
07:38:05  * amartensjoined
07:51:33  * bajtosjoined
07:56:43  * bajtosquit (Read error: Connection reset by peer)
07:58:13  * bajtosjoined
08:09:25  * bajtosquit (Read error: Connection reset by peer)
08:10:39  * bajtosjoined
08:12:39  * bajtosquit (Read error: Connection reset by peer)
08:24:05  * mmalecki_changed nick to mmalecki
08:27:01  * `3rdEdenchanged nick to `3E|BRB
08:28:22  * amartensquit (Quit: Leaving.)
08:35:21  * paddybyersjoined
08:35:25  * bajtosjoined
08:35:46  * wwicks_joined
08:37:20  * wwicksquit (Ping timeout: 248 seconds)
08:37:20  * wwicks_changed nick to wwicks
08:47:15  * piscisaureus_joined
08:53:02  * paddybyersquit (Quit: paddybyers)
08:59:10  * amartensjoined
09:00:54  * dominictarrjoined
09:04:00  * paddybyersjoined
09:05:46  * `3E|BRBchanged nick to `3rdEden
09:07:30  * amartensquit (Ping timeout: 245 seconds)
09:17:31  * wwicksquit (Ping timeout: 268 seconds)
09:17:46  * wwicksjoined
09:24:03  * paddybyersquit (Quit: paddybyers)
09:24:48  * bajtosquit (Ping timeout: 248 seconds)
09:27:10  * hzjoined
09:39:54  * paddybyersjoined
09:42:49  * paddybyersquit (Client Quit)
09:44:52  * bnoordhuisjoined
10:03:49  * amartensjoined
10:05:50  * hij1nxchanged nick to rvaag
10:07:55  * amartensquit (Ping timeout: 245 seconds)
10:13:29  * rvaagchanged nick to hij1nx
10:26:56  * paddybyersjoined
10:34:17  * wolfeidaujoined
10:35:04  * paddybyersquit (Quit: paddybyers)
10:40:22  * kazuponquit (Remote host closed the connection)
10:40:50  * kazuponjoined
10:41:41  * dominictarrquit (Quit: dominictarr)
10:45:42  * kazuponquit (Ping timeout: 264 seconds)
10:45:46  <MI6>nodejs-v0.10: #1520 UNSTABLE smartos-x64 (1/600) http://jenkins.nodejs.org/job/nodejs-v0.10/1520/
10:52:14  * bnoordhuisquit (Ping timeout: 240 seconds)
10:56:39  * bnoordhuisjoined
10:56:49  * bnoordhuisquit (Client Quit)
10:57:38  * kellabytequit (Remote host closed the connection)
10:58:44  * paddybyersjoined
10:58:52  * wwicks_joined
11:00:21  * wwicksquit (Ping timeout: 248 seconds)
11:00:22  * wwicks_changed nick to wwicks
11:04:07  * amartensjoined
11:05:36  * paddybyersquit (Quit: paddybyers)
11:08:38  * amartensquit (Ping timeout: 264 seconds)
11:14:09  * abraxasquit (Remote host closed the connection)
11:14:42  * abraxasjoined
11:19:02  * abraxasquit (Ping timeout: 240 seconds)
12:04:29  * amartensjoined
12:09:34  * amartensquit (Ping timeout: 268 seconds)
12:41:18  * paddybyersjoined
12:49:03  * AvianFluquit (Remote host closed the connection)
13:04:48  * amartensjoined
13:09:08  * amartensquit (Ping timeout: 240 seconds)
13:10:30  * defunctzombie_zzchanged nick to defunctzombie
13:10:51  * paddybyersquit (Quit: paddybyers)
13:20:18  * kellabytejoined
13:20:28  * kellabytequit (Changing host)
13:20:28  * kellabytejoined
13:20:28  * kellabytequit (Changing host)
13:20:28  * kellabytejoined
13:22:15  * kevinswiberjoined
13:44:14  * kevinswiberquit (Remote host closed the connection)
13:44:46  * kevinswiberjoined
13:47:17  * AvianFlujoined
13:48:19  * AvianFlu_joined
13:48:56  * kevinswiberquit (Ping timeout: 240 seconds)
13:51:36  * AvianFluquit (Ping timeout: 241 seconds)
13:52:32  * AvianFlu_changed nick to AvianFlu
13:54:37  * hzquit
13:55:46  * defunctzombiechanged nick to defunctzombie_zz
14:02:30  * paddybyersjoined
14:05:08  * amartensjoined
14:06:16  * hzjoined
14:09:36  * amartensquit (Ping timeout: 248 seconds)
14:12:39  * vptrjoined
14:18:25  * paddybyersquit (Quit: paddybyers)
14:26:16  * kenperkinsjoined
14:27:16  <MI6>joyent/libuv: Luca Bruno master * a1e159f : test: relax timing assumption of timer_again (+2 more commits) - http://git.io/Z0nFDA
14:31:01  * c4milojoined
14:32:16  <MI6>libuv-master: #274 UNSTABLE windows (3/196) smartos (2/195) http://jenkins.nodejs.org/job/libuv-master/274/
14:34:18  <MI6>libuv-master-gyp: #214 FAILURE windows-x64 (3/196) windows-ia32 (4/196) http://jenkins.nodejs.org/job/libuv-master-gyp/214/
14:38:55  * inolenjoined
14:39:00  * inolen1quit (Read error: Connection reset by peer)
14:43:25  * dominictarrjoined
14:43:32  * paddybyersjoined
14:45:49  <MI6>libuv-node-integration: #259 UNSTABLE smartos-x64 (7/644) http://jenkins.nodejs.org/job/libuv-node-integration/259/
14:51:57  * groundwaterquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
14:53:33  * bnoordhuisjoined
14:54:13  * bradleymeckjoined
15:01:35  * paddybyersquit (Quit: paddybyers)
15:05:27  * amartensjoined
15:07:09  * octetcloudjoined
15:07:18  <bnoordhuis>octetcloud: morning, sam
15:08:35  * kazuponjoined
15:10:03  * amartensquit (Ping timeout: 252 seconds)
15:17:06  <MI6>nodejs-master: #600 UNSTABLE smartos-x64 (7/644) osx-ia32 (1/644) http://jenkins.nodejs.org/job/nodejs-master/600/
15:17:42  * bajtosjoined
15:19:29  * mikealquit (Quit: Leaving.)
15:20:51  <tjfontaine>bnoordhuis: I'm going to land https://github.com/bnoordhuis/node/commit/c66e23f10e61d039840b9cde41fdb182c29d32fe
15:21:39  <bnoordhuis>tjfontaine: no reliable test case, i take it?
15:21:58  <bnoordhuis>that's the issue with gc, it's non-deterministic
15:22:43  <tjfontaine>not for lack of trying :/
15:22:45  * c4miloquit (Read error: Connection reset by peer)
15:22:46  * c4milo_joined
15:23:27  <tjfontaine>I'm not really clear how you can queue two writes in our current implementation
15:23:27  <bnoordhuis>i'm going to fork v8 and switch it to region-based memory management
15:23:44  <bnoordhuis>yeah, you can't - not in c++ land anyway
15:24:03  <bnoordhuis>i think isaacs added a hack^Wworkaround to prevent write reqs from queuing up in c++ land
15:24:08  * paddybyersjoined
15:24:20  <tjfontaine>so I'm worried that while this fixes an issue to a point, we have something more foundational that's broken
15:24:38  <tjfontaine>anyway, for now since I want to do a 0.11 release I need to push it
15:24:41  <bnoordhuis>you mean weakobject or the zlib bindings?
15:24:48  <tjfontaine>zlib bindings
15:25:01  <bnoordhuis>yeah, agreed. i'm reasonably sure there are bugs lurking in there
15:25:01  * kevinswiberjoined
15:25:25  <MI6>joyent/node: Ben Noordhuis master * 406846f : zlib: fix write request reference counting - http://git.io/6rnYrw
15:25:46  * kevinswiberquit (Remote host closed the connection)
15:25:51  <bnoordhuis>i've been thinking of rewriting it in a way that's a little more deterministic and a little less magic
15:26:07  <tjfontaine>would be preferred at some point
15:26:19  * kevinswiberjoined
15:28:52  <bnoordhuis>https://github.com/joyent/node/pull/5854 <- enabling ECDH by default, yes or no. please chime in
15:29:32  <tjfontaine>right
15:30:19  * kevinswiberquit (Ping timeout: 240 seconds)
15:31:42  <bnoordhuis>i'm somewhat sympathetic to the forward secrecy argument btw
15:31:57  <tjfontaine>aye
15:33:38  * paddybyersquit (Quit: paddybyers)
15:34:51  * mikealjoined
15:36:21  * kevinswiberjoined
15:38:48  <MI6>nodejs-master: #601 UNSTABLE smartos-ia32 (4/644) smartos-x64 (11/644) http://jenkins.nodejs.org/job/nodejs-master/601/
15:39:55  * kevinswiberquit (Read error: Connection reset by peer)
15:40:27  * kevinswiberjoined
15:45:25  * groundwaterjoined
15:48:17  * c4milo_quit (Remote host closed the connection)
15:48:49  * c4milojoined
15:52:06  * TooTallNatejoined
15:52:34  * paddybyersjoined
15:53:08  * c4miloquit (Ping timeout: 240 seconds)
15:53:27  <trevnorris>morning all
15:53:32  <tjfontaine>morning
15:54:24  * c4milojoined
15:54:38  * TooTallNatequit (Client Quit)
15:55:00  * paddybyersquit (Client Quit)
15:56:37  <trevnorris>call in 5?
15:57:15  * julianduquejoined
15:57:29  <tjfontaine>aye
15:58:04  <bnoordhuis>while i'm still sober? oh god
15:58:17  * bnoordhuischecks the fridge
15:58:19  * julianduquequit (Client Quit)
15:58:58  <trevnorris>heh
15:59:27  <isaacs>good morning heroes
15:59:28  <isaacs>https://plus.google.com/hangouts/_/3ae2aad70ac51ee7387ce3fb019274060b5a834c
15:59:31  <isaacs>call tiem
15:59:35  * octetcloudquit (Ping timeout: 268 seconds)
16:00:28  * dapjoined
16:01:20  <isaacs>bnoordhuis: call
16:01:41  <isaacs>indutny: call https://plus.google.com/hangouts/_/3ae2aad70ac51ee7387ce3fb019274060b5a834c
16:01:48  * Chip_Zeroquit (Ping timeout: 245 seconds)
16:02:57  * c4miloquit (Remote host closed the connection)
16:03:12  <MI6>nodejs-master-windows: #394 UNSTABLE windows-x64 (23/644) windows-ia32 (22/644) http://jenkins.nodejs.org/job/nodejs-master-windows/394/
16:05:47  * amartensjoined
16:07:10  * EhevuTovjoined
16:09:57  * amartensquit (Read error: Operation timed out)
16:11:24  * kazuponquit (Remote host closed the connection)
16:11:52  * kazuponjoined
16:12:13  * kazuponquit (Remote host closed the connection)
16:12:27  * groundwaterquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
16:12:46  * kazuponjoined
16:13:18  * bnoordhuisquit (Ping timeout: 252 seconds)
16:13:52  * mikealquit (Quit: Leaving.)
16:15:08  * groundwaterjoined
16:21:10  * c4milojoined
16:23:30  * c4miloquit (Remote host closed the connection)
16:25:05  * EhevuTovquit (Quit: This computer has gone to sleep)
16:26:09  * EhevuTovjoined
16:27:22  * Kakera_quit (Read error: Connection reset by peer)
16:28:12  * bnoordhuisjoined
16:29:01  <trevnorris>bnoordhuis: i checked their benchmark scripts. their flatten callback script was crap. after some fix up they were magically 3x's faster than promises. :P
16:29:10  <bnoordhuis>hah, okay
16:29:30  <bnoordhuis>piscisaureus_: btw, i was only half-joking when i said execsync's return value should be a promise
16:29:44  <bnoordhuis>it already fits the model somewhat because you're spawning a new event loop, right?
16:30:24  * Kakerajoined
16:30:44  <bnoordhuis>so there's something that, at its core, is async and runs to completion sometime in the future
16:31:18  <trevnorris>isaacs: oh, one thing I left for backwards compatibility were the ._disposed checks to return early from callbacks (e.g. timers)
16:31:41  <isaacs>bnoordhuis: but then it's not "sync" is it?
16:31:45  <isaacs>bnoordhuis: exec() would return a promise
16:31:51  <isaacs>bnoordhuis: execSync should return a value, not a promise
16:31:55  <bnoordhuis>isaacs: it's sync if you call in the promise right away
16:32:06  <isaacs>bnoordhuis: that's not how promises work
16:32:13  * hzquit
16:32:18  <isaacs>execSync(..).then(function)
16:32:25  <isaacs>the then cb might be called some time in the future
16:32:32  <bnoordhuis>ah, that
16:32:33  <isaacs>in fact, it MUST be called some time in teh future, and not in this tick
16:32:38  <trevnorris>just use generators :P
16:32:41  <bnoordhuis>depends on who you ask what a promise is
16:32:47  <trevnorris>execSync(...).next()
16:32:50  <isaacs>bnoordhuis: if you ask V8 or the A+ spec, that's what they are
16:32:52  <bnoordhuis>there's a reasonably sound and strict CS description
16:33:05  <bnoordhuis>okay, let's use a different word for it
16:33:05  <isaacs>bnoordhuis: promises in JS have a precise meaning now.
16:33:05  <bnoordhuis>future
16:33:29  <bnoordhuis>so, a future that you can either call in right away or some time in the future
16:33:51  <isaacs>bnoordhuis: promises/A+ guarantees that .then(cb) gets called after the current run-to-completion
16:34:03  <isaacs>promise.then(a); b(); // a() is always called AFTER b()
16:34:07  <isaacs>zalgo-safe.
16:34:07  <bnoordhuis>right, so let's not speak of promises anymore :)
16:34:12  <isaacs>ok :)
16:34:14  <isaacs>gladly
16:34:25  <bnoordhuis>but a future you can call in when you want
16:34:41  <isaacs>i'd love to replace EE and callbacks with generators and promises, if they were fast.
16:34:47  <isaacs>which they will be eventually
16:34:50  <isaacs>so, Node 2.0
16:34:56  <isaacs>which can be done in a backwards compatible way
16:35:07  <isaacs>if you pass a cb, use the cb. if not, return a promise
16:35:08  <trevnorris>isaacs: the tests may pass, but unfortunately that event crap is documented: http://l.me/node-trevnorris/out/doc/api/domain.html#domain_additions_to_error_objects
16:35:10  * kevinswi_joined
16:35:18  <bnoordhuis>okay, but that's still in the deep, er, future
16:35:25  <isaacs>trevnorris: 404
16:35:29  <trevnorris>wtf. that was to my localhost :P
16:35:40  <isaacs>bnoordhuis: i promise, we can defer that until the future, then
16:35:44  <bnoordhuis>hah :)
16:35:46  <trevnorris>isaacs: here we go: http://nodejs.org/api/domain.html#domain_additions_to_error_objects
16:36:26  <isaacs>trevnorris: ok, so, un-documnet it in master.
16:36:36  <trevnorris>heh, ok. if that's cool :)
16:36:40  <isaacs>Stability: 2 - Unstable
16:37:51  <bnoordhuis>piscisaureus_: is there a PR or a branch for execsync?
16:38:16  <trevnorris>othiym23: ping
16:38:17  <isaacs>trevnorris: if you can keep the API the same, so much the better, buti think the cleanup is probably worth a bit of shuffling if necessary
16:38:25  <piscisaureus_>bnoordhuis: https://github.com/joyent/node/pull/6148
16:38:42  <trevnorris>isaacs: coolio. i'll do that.
16:38:56  * kevinswiberquit (Ping timeout: 248 seconds)
16:39:07  <bnoordhuis>1,384 additions - you've got to be kidding me
16:39:38  <trevnorris>piscisaureus_: for the return stuff, we'll also have to re-write some internals. e.g. zlib attached an event emitter instance it uses to call the callbacks. even though it isn't exposed to the user.
16:39:38  <trevnorris>for whatever strange reason.
16:40:04  <trevnorris>so they're no way to get a return value out directly.
16:40:12  <piscisaureus_>right hm
16:40:23  <piscisaureus_>trevnorris: feel free to punt on it, but please leave some room in the api
16:40:48  <trevnorris>piscisaureus_: oh, it'll all there. I even have a commit with most of it in.
16:41:04  <trevnorris>(it's all there meaning, ready to be implemented)
16:41:40  <trevnorris>piscisaureus_: timers/fs/MakeCallback are trivial. it's just any api that internally uses the event emitter (e.g. zlib) that'll have to be rewritten
16:41:43  <piscisaureus_>bnoordhuis: I'm slow but that's not the only reasoit took a while
16:42:15  <piscisaureus_>trevnorris: I wonder if we could block extensions from using v8::Function::Call directly
16:42:24  * octetcloudjoined
16:42:25  <tjfontaine>ha ha ha
16:42:32  <trevnorris>heh, yeah.
16:43:22  <trevnorris>oh, btw. there's a gap in our api that doesn't allow async callbacks from c++. bnoordhuis suggested just creating a wrapper around nextTick. shouldn't take more than a minute.
16:43:41  <trevnorris>i'll create a pr for that in a min
16:44:02  <tjfontaine>you mean an api for what we use internally?
16:44:39  <trevnorris>tjfontaine: at all. we're using Function#Call directly from core in a few places where there are errors
16:44:58  <trevnorris>when the user would expect an asynchronous callback returned.
16:45:03  * julianduquejoined
16:45:15  <trevnorris>scratch that last one. doesn't make sense.
16:45:26  <trevnorris>brain doesn't function well when I need to pee. brb
16:45:39  * julianduquequit (Client Quit)
16:49:58  <trevnorris>bnoordhuis: you have any issues making the *_function in env.h to *_fn? it's makin some of my calls ghastly long
16:50:10  <bnoordhuis>trevnorris: i do
16:50:16  <trevnorris>ok
16:51:12  * bnoordhuisquit (Remote host closed the connection)
16:51:39  * st_lukejoined
16:56:04  * mcavagejoined
16:57:04  * st_lukequit (Ping timeout: 248 seconds)
16:57:58  <trevnorris>well, binding to nextTick won't work as the callbacks require passing arguments.
16:58:21  <trevnorris>tjfontaine: for reference of what I'm talking about . look at ASYNC_CALL in node_file.cc
16:58:34  <trevnorris>tjfontaine: if there's an error then it immediately calls After(req)
16:59:00  <trevnorris>but that breaks our whole, it's always synchronous or asynchronous thing.
17:00:02  * st_lukejoined
17:00:36  * amartensjoined
17:01:22  <trevnorris>isaacs: thoughts on this? we're calling the callback synchronously if there's an error in some places in core.
17:01:22  <trevnorris>none of this is urgent, just noticed it a while back.
17:04:30  * brsonjoined
17:04:54  <isaacs>trevnorris: yeah, so, cb that you pass in should never be called synchronously
17:05:09  <isaacs>trevnorris: but error handling (immediately, throw, sync, async, etc.) is pretty weird and disorganized in general in node
17:05:17  <isaacs>trevnorris: i thk there's a issue for it
17:05:23  * st_lukequit (Read error: Connection reset by peer)
17:05:31  <tjfontaine>I'm sure adam created it :)
17:05:34  <trevnorris>ah, ok.
17:05:35  <trevnorris>haha
17:05:53  <trevnorris>yeah. in node_file if the call fails then it synchronously calls the callback
17:06:04  <tjfontaine>but, the one thing to consider in general is that we only want to use this in cases where defer is necessary, otherwise ::Call is valueable because we're not throwing away the stack
17:07:27  <trevnorris>yeah. we use ::Call, in general, if the call chain is synchronous, and MakeCallback if async.
17:07:42  <trevnorris>e.g. http_parser uses Call
17:07:58  <tjfontaine>I like call, fwiw, aside from the domain considerations
17:08:18  <trevnorris>also error handling, tick state, etc.
17:08:33  <trevnorris>there's a surprising amount of crap we keep track of in MakeCallback
17:09:45  <trevnorris>tjfontaine: specifically the issue in node_file is that it synchronously calls to MakeCallback, which throws off state. since it's only expected to be called asynchronously.
17:10:35  <tjfontaine>well, I don't really think that is out of line
17:10:48  <tjfontaine>you expect it to be asynchronous, up until now it wasn't a problem :P
17:11:30  <trevnorris>hah, yeah. honestly it's not my stuff that gets thrown off. it's the nextTick queue
17:11:47  <trevnorris>since any queue from that make callback will be deferred until the next eloop
17:11:56  * kevinswi_quit (Remote host closed the connection)
17:12:08  <trevnorris>piscisaureus_: fwiw, here's the commit w/ the return stuff: http://git.io/wqs01g
17:12:31  * kevinswiberjoined
17:12:43  <trevnorris>piscisaureus_: if you can guide me on exactly what you're looking for (and how to swap out some of the internals) i'll be happy to implement it.
17:12:57  <trevnorris>piscisaureus_: honestly, I liked it because it made my life easier with unit tests.
17:13:00  <piscisaureus_>trevnorris: sure. Do you mind if I don't do that right away
17:13:07  <piscisaureus_>trevnorris: well that's good :)
17:13:18  <trevnorris>piscisaureus_: sure. it's nothing urgent.
17:13:25  <piscisaureus_>trevnorris: I just need to get a handle on the return value from callbacks.
17:13:26  <piscisaureus_>e.g.
17:13:33  <piscisaureus_>process.nextTick(function() { return 'foo
17:13:40  <piscisaureus_>'; });
17:13:48  <trevnorris>yeah. that's simple.
17:14:00  <trevnorris>nextTick, timers and fs were trivial
17:14:09  * kevinswiberquit (Read error: Connection reset by peer)
17:14:17  * kevinswiberjoined
17:19:02  * paddybyersjoined
17:20:14  * indexzerojoined
17:20:59  * AvianFluquit (Remote host closed the connection)
17:21:28  * paddybyersquit (Client Quit)
17:21:40  * lukjoined
17:23:26  * lukchanged nick to st_luke
17:25:03  * AvianFlujoined
17:35:30  * dominictarrquit (Quit: dominictarr)
17:42:03  <trevnorris>ok, using the term "domain" in aysncListener was stupid. i'm going to change that to be "storage"
17:51:21  <indutny>hey people
17:51:24  <indutny>sorry, missed the call
17:51:26  <trevnorris>sup?
17:51:27  <indutny>isaacs: heya
17:51:36  <indutny>all good, was with my wife at her birthday
17:51:37  <indutny>:)
17:52:04  <trevnorris>fun fun
17:53:02  <MI6>libuv-master: #275 UNSTABLE windows (4/196) smartos (2/195) http://jenkins.nodejs.org/job/libuv-master/275/
17:53:36  <indutny>isaacs: yt?
17:53:49  <trevnorris>think he's in another meeting
17:55:02  <tjfontaine>we've missed him in the office, so we're hijacking him :P
18:00:37  * kevinswiberquit (Remote host closed the connection)
18:01:14  * kevinswiberjoined
18:02:12  * mikealjoined
18:04:24  <trevnorris>othiym23: ping ping
18:04:38  <trevnorris>wait, did I already ping him?
18:04:45  * trevnorrisscrolls up
18:05:25  * kevinswiberquit (Ping timeout: 248 seconds)
18:06:28  <MI6>libuv-node-integration: #260 UNSTABLE linux-ia32 (1/644) smartos-x64 (7/644) http://jenkins.nodejs.org/job/libuv-node-integration/260/
18:20:03  * kazuponquit (Remote host closed the connection)
18:20:30  * kazuponjoined
18:24:48  * kazuponquit (Ping timeout: 240 seconds)
18:25:16  * kevinswiberjoined
18:29:00  * AvianFluquit (Remote host closed the connection)
18:30:15  * defunctzombie_zzchanged nick to defunctzombie
18:33:04  * AvianFlujoined
18:42:14  * bajtosquit (Quit: bajtos)
18:43:30  <trevnorris>I hate you EventEmitter, I hate you so much!
18:45:21  <MI6>nodejs-master-windows: #395 UNSTABLE windows-x64 (21/644) windows-ia32 (21/644) http://jenkins.nodejs.org/job/nodejs-master-windows/395/
18:48:43  <othiym23>trevnorris: sorry, been fixing bugs in the newrelic module
18:48:45  <othiym23>what's up?
18:54:16  <trevnorris>othiym23: adding one additional feature :) super tiny.
18:54:51  <trevnorris>you can pass a default domain, which if you do will be passed to the listener.
18:55:21  <trevnorris>so it's: process.addAsyncListener(function(domain) { }, { ... }, <my domain>);
18:56:13  <trevnorris>the reason is, you can return a new object and keep state on that individual request, but you can also change the passed domain object to keep some sort of global state
18:56:31  <trevnorris>of everything that's happening within a "region"
18:56:42  <trevnorris>oy, this is getting really meta-complex.
18:57:24  <trevnorris>i'll try to write a small example to show what I mean
18:57:58  <trevnorris>othiym23: oh, also using the work "domain" was so freakin stupid of me. it just harbors confusion. so I want to change it to "storage" or the like. have any ideas?
19:08:39  <trevnorris>othiym23: actually, screw it. I can't find a legit use case for it that can't be done just as easily with other semantics.
19:10:09  * wwicksquit (Read error: Connection reset by peer)
19:10:32  * wwicksjoined
19:11:31  * bentkusjoined
19:17:10  * bentkusquit (Quit: leaving)
19:17:21  <trevnorris>hah, yes I did!
19:20:37  * M28quit (Ping timeout: 248 seconds)
19:31:08  * kazuponjoined
19:32:52  <indutny>isaacs: ping
19:32:53  <indutny>;)
19:36:48  * kazuponquit (Ping timeout: 260 seconds)
19:38:19  * hzjoined
19:39:21  * AvianFluquit (Read error: Connection reset by peer)
19:39:50  * AvianFlujoined
19:42:22  * AvianFluquit (Remote host closed the connection)
19:43:24  * AvianFlujoined
19:48:06  <trevnorris>othiym23: ping
19:52:46  * bradleymeckquit (Quit: bradleymeck)
20:03:59  <othiym23>trevnorris: didn't you already have that in the API?
20:04:19  <othiym23>I think I added it to the polyfill, but maybe I didn't yet
20:04:42  <trevnorris>othiym23: no. I had were the context of the calling function. but that made the world explode.
20:05:12  <trevnorris>anyways, here's an example of keeping track if different sets of things: https://gist.github.com/trevnorris/6890468
20:05:24  <trevnorris>it's kinda complex, and because timers are jacked, the counters are a little off.
20:05:29  <trevnorris>i'm working on fixing that now.
20:05:57  <trevnorris>but if you just run that against my latest you'll see what I mean.
20:09:55  * bnoordhuisjoined
20:10:06  * AvianFluquit (Read error: Connection reset by peer)
20:10:17  * AvianFlujoined
20:10:51  <trevnorris>oh, this makes it a pain. i'm not getting the same number of listener calls as after calls.
20:12:53  * wwicks_joined
20:13:58  * wwicksquit (Ping timeout: 256 seconds)
20:13:58  * wwicks_changed nick to wwicks
20:14:21  * kevinswiberquit (Remote host closed the connection)
20:16:02  <MI6>joyent/node: Ben Noordhuis v0.10 * b011811 : fs: fix fs.truncate() file content zeroing bug - http://git.io/hGl4rg
20:17:28  * kevinswiberjoined
20:19:59  <bnoordhuis>close(0) = 0
20:19:59  <bnoordhuis>epoll_wait(3, {{EPOLLIN, {u32=0, u64=0}}}, 1365, -1) = 1
20:19:59  <bnoordhuis>read(0, 0x7fff11d029b0, 8) = -1 EBADF (Bad file descriptor)
20:20:05  <bnoordhuis>^ priceless, innit?
20:21:30  <trevnorris>so, that closed the fd, then attempted to read from it? (sorry, real n00b making sense of strace output)
20:22:21  <bnoordhuis>well, epoll_wait is reporting activity for a fd that's closed
20:22:35  <tjfontaine>close, notified of data ready to be read, read <die>
20:22:42  <bnoordhuis>yep
20:23:07  <trevnorris>hah, wtf.
20:23:12  <tjfontaine>kernel bug :)
20:23:23  <tjfontaine>off to the races
20:23:44  <bnoordhuis>yeah. i guess i should post it to the lkml but i really don't want to
20:23:56  <MI6>nodejs-v0.10: #1521 UNSTABLE smartos-x64 (2/601) linux-ia32 (1/601) osx-x64 (1/601) http://jenkins.nodejs.org/job/nodejs-v0.10/1521/
20:23:57  <tjfontaine>you have it reduced already?
20:24:10  <bnoordhuis>i have a simple test case, if that is what you mean
20:24:27  <tjfontaine>nod
20:24:32  <bnoordhuis>also happens when fd 1 and 2 refer to a non-tty btw
20:24:36  <tjfontaine>ah
20:24:40  <tjfontaine>interesting
20:26:39  <trevnorris>ok, so by changing it to r+ it'll just throw?
20:28:44  <bnoordhuis>trevnorris: ?
20:29:23  <trevnorris>bnoordhuis: in your patch it showed you changed from fs.open(path, 'w', ... to fs.open(path, 'r+', ...
20:29:42  <trevnorris>oy, nm.
20:29:52  <trevnorris>forgot to click the ... next to your commit message
20:29:57  <bnoordhuis>hah :)
20:30:20  <bnoordhuis>clear and eloquent, i hope?
20:30:40  <trevnorris>yeah. the first paragraph explains it well.
20:31:42  <MI6>nodejs-v0.10-windows: #247 UNSTABLE windows-ia32 (9/601) windows-x64 (9/601) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/247/
20:33:31  * indexzeroquit (Quit: indexzero)
20:35:24  <trevnorris>bnoordhuis: so, if you can bestow some enlightenment. does the linux kernel use errors as a sort of control flow?
20:35:24  <trevnorris>i mean, did an strace -d to a script and it walled me with SIGTRAP
20:35:51  <trevnorris>(and just learned about man 7 signal, was that enlightening :)
20:35:54  <bnoordhuis>trevnorris: do you mean errors or signals?
20:36:29  <bnoordhuis>SIGTRAP usually indicates a breakpoint btw
20:36:32  <trevnorris>bnoordhuis: well, the output of strace -c will shows an errors column
20:36:52  <bnoordhuis>oh, right. that's just a tally of syscalls that returned an error
20:37:04  <bnoordhuis>i ask because strace also tracks signals
20:37:09  <trevnorris>ah, ok.
20:37:19  <trevnorris>then I assume libuv handles those errors returned?
20:37:27  <bnoordhuis>yes
20:37:38  <bnoordhuis>when it doesn't, they're passed on to the libuv user
20:38:32  <trevnorris>ok cool.
20:39:04  <trevnorris>i'm just so used to js land where error usually means application crash that having strace show me a few thousand errors seemed strange.
20:39:41  <bnoordhuis>oh, they're par for the course
20:39:53  <trevnorris>ok cool. thanks :)
20:40:49  <bnoordhuis>and yes, errors sometimes function as a kind of control flow. e.g. EAGAIN = there's nothing to read right now, try again later
20:41:06  <trevnorris>ah, ok.
20:42:01  <bnoordhuis>btw, can people chime in on https://github.com/joyent/node/pull/5854 - enabling ECDH ciphers by default, yay or nay?
20:42:09  <trevnorris>guess I'm getting more interested because in some profiling it's telling me 60% of execution time is spent in syscalls.
20:42:29  <tjfontaine>bnoordhuis: I'm kinda leaning -1, but I've asked others with stronger opinions to voice their concerns
20:42:39  <bnoordhuis>tjfontaine: okay, cool
20:42:50  <bnoordhuis>trevnorris: depends on the syscall if that's reason for concern or not
20:43:06  <bnoordhuis>e.g. if node is sleeping in epoll_wait, waiting for events, that's okay
20:43:08  <tjfontaine>adding ecdh as an available cipher is pretty uncontroversial
20:43:47  <trevnorris>bnoordhuis: ah, interesting. so if v8's tick profiler tells me 60% of time was spent in syscalls, but 80% of those are epoll_wait then everything's cool.
20:43:58  <trevnorris>nice. thanks much for your knowledge :)
20:44:01  <indutny>ircretary: tell isaacs heya! would you mind considering adding spdy support for npm?
20:44:02  <ircretary>indutny: I'll be sure to tell isaacs
20:44:03  <bnoordhuis>np :)
20:44:20  <indutny>ircretary: tell isaacs if you want to discuss details - we can have a call on G+ or skype
20:44:20  <ircretary>indutny: I'll be sure to tell isaacs
20:44:51  <indutny>bnoordhuis: btw, epoll now supports proper accept() model, right?
20:44:59  <indutny>bnoordhuis: i.e. balancing requests between processes
20:45:20  <indutny>bnoordhuis: should each process listen() independently?
20:45:24  <bnoordhuis>indutny: well... yes and no. you're thinking of SO_REUSEPORT right?
20:45:28  <indutny>yeah
20:45:45  <bnoordhuis>it does a kind of fair balancing between listeners
20:47:23  <bnoordhuis>with some caveats in the sense that the distribution is based on connection parameter tuples
20:47:47  <bnoordhuis>i.e. the (remoteaddr,remoteport,localaddr,localport) tuple
20:47:59  <bnoordhuis>with a fifth parameter that i forgot
20:48:56  * indexzerojoined
20:49:30  <indutny>oook
20:50:21  * st_lukequit (Remote host closed the connection)
20:52:26  <trevnorris>bnoordhuis: if I might bounce some api insanity off you, could a class destructor run a js function?
20:53:05  <tjfontaine>presuming it's being destructed on the main thread
20:54:09  <bnoordhuis>trevnorris: in theory yes, but why would you want to?
20:54:16  <trevnorris>the use case is with AsyncWrap, to alert the user the class is about to be destructed.
20:54:23  * vptrquit (Quit: WeeChat 0.4.1)
20:54:41  <bnoordhuis>you can't legimately run the js function in the context of the object on account of it being in the process of getting destructed
20:54:48  <trevnorris>ok
20:55:06  <bnoordhuis>that is, by the time the AsyncWrap destructor runs, the child class's destructor already ran
20:55:07  <tjfontaine>well, you can call a function, but don't reuse any of the object you are notifying about :)
20:55:39  <trevnorris>what's the destructor order? child to parent, or parent to child?
20:55:48  <tjfontaine>base to parent
20:56:04  <tjfontaine>er descendent
20:56:06  <tjfontaine>anyway
20:56:11  * tjfontainegbtw
20:56:31  <trevnorris>so, since AsyncWrap has the Persistent it could make a Local of the object and return that to js, right?
20:56:37  <tjfontaine>iow, are you looking for a weak object in JS? :)
20:57:30  <trevnorris>well, mostly at this point it's exploratory.
20:57:52  <trevnorris>async listeners come at 0 cost if you don't use them, so now what cool things can I do with them :)
20:57:59  <bnoordhuis>trevnorris: for constructors, base class first, child second. for destructors, it's the other way around
20:58:34  <tjfontaine>does multiple inheritance go left/right? :)
20:58:48  <trevnorris>ok cool
20:59:12  <bnoordhuis>multiple inheritance is complicated
20:59:18  <tjfontaine>no kidding.
21:03:20  * Kakera_joined
21:04:27  * AvianFluquit (Ping timeout: 248 seconds)
21:05:48  * Kakeraquit (Ping timeout: 240 seconds)
21:07:18  * CAPSLOCKBOTquit (Ping timeout: 264 seconds)
21:07:32  * CAPSLOCKBOTjoined
21:08:40  <trevnorris>othiym23: ping
21:10:17  <othiym23>trevnorris: pong
21:10:32  <othiym23>I think I'm going to wait to fix up the polyfill until you finish mucking around with this first ;)
21:10:34  <trevnorris>othiym23: do you depend on the domain attributes set on the error object?
21:11:21  <othiym23>trevnorris: I personally do not, but others do
21:11:39  <trevnorris>bummer. so ripping those out would make some people cry
21:11:41  <othiym23>and the New Relic module (not CLS, but New Relic's thing itself) may make use of them at some point
21:11:48  <othiym23>yes
21:11:52  <trevnorris>suck it all.
21:11:59  * Kakera_quit (Ping timeout: 260 seconds)
21:18:04  <trevnorris>tjfontaine: so we upgrading to 3.21 after the next v0.11 release?
21:18:39  <MI6>joyent/libuv: Ben Noordhuis master * 556fe1a : linux: ignore fractional time in uv_uptime() - http://git.io/70Nn8Q
21:19:59  <trevnorris>bnoordhuis: i've heard mention of cleaning up streamwrap and stuff to be like weakobject. is that about accurate?
21:21:30  <bnoordhuis>trevnorris: you mean splitting into definition and implementation header files?
21:22:26  * kevinswiberquit (Remote host closed the connection)
21:22:51  <trevnorris>bnoordhuis: maybe. just thought I read something about cleanup of streamwrap, et al
21:22:59  * kevinswiberjoined
21:23:03  <MI6>libuv-master: #276 UNSTABLE windows (4/196) smartos (2/195) http://jenkins.nodejs.org/job/libuv-master/276/
21:23:07  <bnoordhuis>indutny was also planning some streamwrap cleanup
21:23:12  <trevnorris>ok.
21:24:04  <trevnorris>just have some crazy ideas for v0.13 and want to get in on that action :)
21:24:16  <MI6>libuv-master-gyp: #215 FAILURE linux-x64 (1/195) windows-x64 (3/196) windows-ia32 (4/196) http://jenkins.nodejs.org/job/libuv-master-gyp/215/
21:27:23  * kevinswiberquit (Ping timeout: 260 seconds)
21:28:56  <bnoordhuis>sad panda :( -> make: ./gyp-sun-tool: Command not found
21:32:36  <tjfontaine>I mean, it just does "git clone gyp && gyp_uv"
21:32:47  <tjfontaine>so clearly upstream gyp is broken
21:33:42  <bnoordhuis>right, it's gone in upstream
21:34:26  * piscisaureus_quit (Ping timeout: 256 seconds)
21:35:25  <bnoordhuis>ah... b8e58959f8767948aecbc3d8235927401cf3f93d
21:35:36  <bnoordhuis>Rename sun_tool.py to flock_tool.py and use that on solaris and aix.
21:35:45  <bnoordhuis>guess someone didn't `git grep` first
21:37:13  <trevnorris>bnoordhuis: i feel like a fool for asking this, but where is the implementation for uv_idle_start?
21:37:46  <indutny>bnoordhuis: oh yeah
21:38:38  <bnoordhuis>trevnorris: in src/unix/loop-watchers.c, generated by a glorious macro
21:38:57  <trevnorris>ah, ok. that's why grep couldn't find it. thanks :)
21:39:01  <tjfontaine>meta programming at its finest
21:40:06  <trevnorris>bnoordhuis: you have a comment about uv_idle_start accepting NULL idle callbacks, and wanted to see what was going on.
21:40:13  <trevnorris>my first dive into libuv
21:40:49  <MI6>libuv-node-integration: #261 UNSTABLE osx-ia32 (1/644) smartos-x64 (7/644) smartos-ia32 (7/644) http://jenkins.nodejs.org/job/libuv-node-integration/261/
21:41:33  <MI6>joyent/node: Dave Pacheco master * 2b9e3fb : mdb_v8: remove useless check (+1 more commits) - http://git.io/BbNbiQ
21:42:02  <bnoordhuis>tjfontaine: re gyp, it's not exactly clear to me how it's supposed to work now but apparently pylib/gyp/flock_tool.py becomes $PROJECT_DIR/gyp-flock-tool
21:42:13  <tjfontaine>hrm.
21:42:37  <trevnorris>bnoordhuis: mother effin. is there any code in here, or just all define's?
21:42:42  <tjfontaine>haha
21:43:12  <bnoordhuis>tjfontaine: this completely untested patch may or may not work: https://gist.github.com/bnoordhuis/21f17cab5717f3e379ea
21:43:36  <tjfontaine>I shall try and see, moment
21:43:49  <bnoordhuis>trevnorris: 'all defines'? no, no - it's one BIG define
21:44:01  <trevnorris>hahaha
21:44:15  <trevnorris>is there some compiler magic that can unroll this for me?
21:44:30  <bnoordhuis>trevnorris: gcc -E
21:44:58  <tjfontaine>heh
21:45:02  <trevnorris>ooh. cool.
21:46:42  <tjfontaine>bnoordhuis: works
21:53:59  * wwicks_joined
21:54:40  <trevnorris>man I suck at this. is there some GCC_<something>=E that I need to add before make?
21:54:51  <trevnorris>ah, got it
21:54:57  <trevnorris>yeay for google!
21:55:26  * wwicksquit (Ping timeout: 245 seconds)
21:55:26  * wwicks_changed nick to wwicks
21:55:27  * lukjoined
21:57:45  <trevnorris>google fail. bugger.
21:58:33  <bnoordhuis>trevnorris: just `gcc -E file.c -o -`?
21:59:02  <bnoordhuis>ho, that looks lovely
21:59:13  <bnoordhuis>int uv_idle_init(uv_loop_t* loop, uv_idle_t* handle) { uv__handle_init(loop, (uv_handle_t*)handle, UV_IDLE); handle->idle_cb = ((void *)0); return 0; } int uv_idle_start(uv_idle_t* handle, uv_idle_cb cb) { if (uv__is_active(handle)) return 0; if (cb == ((void *)0)) return -22; QUEUE_INSERT_HEAD(&handle->loop->idle_handles, &handle->queue); handle->idle_cb = cb; uv__handle_start(handle); return 0; } int uv_idle_stop(uv_idle_t*
21:59:32  <trevnorris>haha
22:00:23  * AvianFlujoined
22:01:25  <MI6>nodejs-master: #602 UNSTABLE osx-x64 (1/644) smartos-ia32 (7/644) smartos-x64 (11/644) http://jenkins.nodejs.org/job/nodejs-master/602/
22:03:47  <trevnorris>bnoordhuis: ah, duh. was doing it to the wrong file. :P
22:03:49  <trevnorris>thanks.
22:05:45  <MI6>nodejs-master-windows: #396 UNSTABLE windows-x64 (23/644) windows-ia32 (21/644) http://jenkins.nodejs.org/job/nodejs-master-windows/396/
22:07:25  <trevnorris>bnoordhuis: now to get it to unroll uv__handle_init :P
22:09:01  * lukchanged nick to st_luke
22:09:35  * st_lukequit (Remote host closed the connection)
22:10:01  * st_lukejoined
22:10:05  <trevnorris>bnoordhuis: so, is there a special case where if cb == NULL you can't just skip the call, instead of returning -EINVAL?
22:10:19  <bnoordhuis>trevnorris: sure, that's possible
22:10:47  <trevnorris>but i'll assume it can't happen for _every_ case. just the uv_idle case. is that correct?
22:11:43  <trevnorris>or would a: if (h->name##_cb != NULL) h->name##_cb(h, 0); be enough?
22:11:43  <bnoordhuis>trevnorris: well, the other two are uv_check and uv_prepare
22:11:58  <trevnorris>ah, ok
22:13:51  <bnoordhuis>trevnorris: yes that works
22:13:59  <bnoordhuis>now add tests :)
22:14:04  <trevnorris>ok :)
22:14:08  * rendarquit (Quit: good night)
22:14:21  <trevnorris>just didn't know if you'd require a cb for check and prepare
22:14:44  * hzquit
22:15:07  * st_lukequit (Remote host closed the connection)
22:16:02  <bnoordhuis>trevnorris: well, the way it's structured now, you can't change idle handles without changes check/prepare handles too
22:16:19  <bnoordhuis>it's kind of bogus to have a NULL check cb but whatever
22:16:34  <trevnorris>bnoordhuis: is there some sort of define magic that'll insert if name == idle?
22:16:59  <tjfontaine>isaacs: hey, make test-npm on master fails with: "Error: failed npm install packages/npm-test-peer-deps" is that a known bug?
22:17:36  <bnoordhuis>trevnorris: not really
22:18:16  <trevnorris>ok. well, for me this is more academic than anything. :)
22:18:16  <wolfeidau>tjfontaine: Uploaded those HTTPS related core files to github and added you as a collab on the repo hopefully you can see it now :)
22:18:42  <tjfontaine>wolfeidau: thanks
22:18:50  <wolfeidau>tjfontaine: Just doing a test with nodejs standard HTTPS client now
22:19:57  <wolfeidau>tjfontaine: Has all the code and cores, my initial analysis says there is some small issues with the connection pooling in request but it is a LOT more memory efficeint than nodejs as a HTTPS client
22:20:54  <wolfeidau>my trivial nodejs sample is using 152M doing one https request / second
22:21:25  * EhevuTovquit (Ping timeout: 246 seconds)
22:21:42  <wolfeidau>Going to add the gc routine now
22:22:52  <trevnorris>bnoordhuis: hah, went to add a benchmark, and realized that the current ones count in the callback. :P
22:24:29  <tjfontaine>wolfeidau: excellent, hopefully this will be enough information for me to gather something useful :)
22:24:30  * st_lukejoined
22:26:05  <wolfeidau>tjfontaine: yeah i am interested to hear what you think of the request related dumps it is my initial theory that the agent in request is doing something funny and getting screwed up
22:27:20  <tjfontaine>wolfeidau: two of our weak points (especially piror to 0.11) happen to be TLS and Agent, so I wouldn't be surprised :)
22:27:32  <wolfeidau>I had to disable the agent in node https example, not sure if this is common or recommended but i am a to far from the REST end point
22:27:51  <wolfeidau>As in round trip times + 5 limit are just plain bad for me
22:28:12  <tjfontaine>if possible could you try that test with the agent on master?
22:28:32  <tjfontaine>won't solve your round trip times
22:28:37  <wolfeidau>Yeah i will drop a couple of core files for this
22:28:55  <wolfeidau>well i am under a second away but the current agent gets all clogged up
22:29:00  <tjfontaine>nod
22:30:18  <wolfeidau>I will run up a test with master as well
22:30:25  * paddybyersjoined
22:30:27  <wolfeidau>And upload some more core files :)
22:31:24  <tjfontaine>:)
22:31:30  <tjfontaine>make sure they're named helpfully :P
22:31:33  * AvianFlu_joined
22:34:11  * mikealquit (Quit: Leaving.)
22:34:23  <wolfeidau>Yeah np
22:35:12  * AvianFlu_quit (Remote host closed the connection)
22:35:17  * EhevuTovjoined
22:36:21  <tjfontaine>isaacs: fwiw, `make test` in npm (that's included with master) also fails on peer deps, I will clone npm separately and try from there
22:37:30  <trevnorris>bnoordhuis: well, that was fun. thanks for the help. :)
22:38:09  <trevnorris>bnoordhuis: but passing an empty callback just results in a retq, so not really worth the bother.
22:40:03  <bnoordhuis>trevnorris: nah, agreed. it was a 'rainy day' kind of comment
22:41:12  <bnoordhuis>trevnorris: besides, it's possible to drop that idle and check handle altogether with a little clever rewriting of our calls to uv_run()
22:41:34  <trevnorris>really? interesting.
22:43:12  <trevnorris>i swear there used to be a make benchmark or the like.
22:43:50  <bnoordhuis>libuv or node?
22:43:54  <trevnorris>libuv
22:44:04  <bnoordhuis>libuv has out/Release/run-benchmarks
22:44:26  <bnoordhuis>unless you're using the autotools build
22:45:34  <trevnorris>yeah, did.
22:46:42  <bnoordhuis>i don't think i got around to building the benchmarks yet
22:46:53  <bnoordhuis>*having automake build
22:46:59  <trevnorris>well, I also just ran ./configure; make
22:47:53  <trevnorris>oh wait. yeah. that was created by autogen
22:49:38  <trevnorris>ok. going to redo w/ gyp
22:49:56  * mikealjoined
22:54:23  <bnoordhuis>off to bed, good night everyone
22:54:28  <trevnorris>night dude
22:55:32  * wwicks_joined
22:57:27  * wwicksquit (Ping timeout: 260 seconds)
22:57:29  * wwicks_changed nick to wwicks
22:58:09  * piscisaureus_joined
22:58:28  * bnoordhuisquit (Ping timeout: 240 seconds)
23:01:00  * dominictarrjoined
23:03:49  * defunctzombiechanged nick to defunctzombie_zz
23:04:53  <trevnorris>wtf. how do you build Release instead of Debug in libuv?
23:11:08  <tjfontaine>trevnorris: make -C out BUILDTYPE=Release
23:12:06  <trevnorris>thanks
23:12:24  <trevnorris>I was doing ./gyp_uv --build=Release
23:13:52  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
23:14:44  <trevnorris>then just make -C out
23:15:02  <tjfontaine>nod
23:16:21  <trevnorris>isaacs: how comes the mountain of email?
23:16:43  <tjfontaine>heh, I think he's in another meeting, tuesday is meetingday after all :)
23:17:06  <trevnorris>hah, forgot about that.
23:17:13  <trevnorris>great way to come back from vacation
23:17:23  <tjfontaine>ya I always feel bad for him
23:18:01  * dominictarrquit (Quit: dominictarr)
23:26:05  <trevnorris>tjfontaine: so, i'm finding that the use of the word "domain" for the storage mechanism with async listeners was really stupid of me. have another name for it?
23:26:13  <trevnorris>right now I'm just replacing it w/ "storage"
23:26:39  <tjfontaine>we should absolutely change it, I'm not sure if storage is right or not
23:26:45  <tjfontaine>things it can't be: domain or context :)
23:26:52  <trevnorris>haha, yeah.
23:27:15  <tjfontaine>ya, ok master+npm+ssl == borked.
23:27:24  <trevnorris>well, it's just a place to store _anything_. not just an object.
23:27:30  <trevnorris>ooh, that sucks.
23:27:44  <trevnorris>othiym23: you still around?
23:28:12  <tjfontaine>truncated by different amounts each time
23:29:30  <trevnorris>well, i'll assume that means we won't have another v0.11 release until it's fixed :P
23:29:41  <tjfontaine>that's correct
23:30:57  * st_lukequit (Remote host closed the connection)
23:31:20  <othiym23>trevnorris: always ;)
23:31:24  * st_lukejoined
23:31:32  <tjfontaine>persistently available
23:31:45  <trevnorris>othiym23: ok. so domain was a horrible choice. context is bad. the thing is just a generic place to store _anything_
23:31:52  <trevnorris>i mean, really, anything other than undefined.
23:31:57  <trevnorris>so, what's a good name?
23:31:58  <tjfontaine>continuation-local-storage
23:31:58  <tjfontaine>:)
23:32:06  <trevnorris>...
23:32:12  <tjfontaine>othiym23: <3
23:32:32  <trevnorris>i'll change the variable names to listener.continuation_local_storage = ...
23:32:38  <trevnorris>everyone will love me :P
23:33:01  <tjfontaine>continuationLocalStorage
23:33:04  <tjfontaine>tvym
23:33:06  <tjfontaine>*tyvm
23:33:11  * tjfontaineis waiting on a build
23:36:00  * st_lukequit (Ping timeout: 248 seconds)
23:37:16  <othiym23>"value" is a good name for a value
23:37:23  <trevnorris>oy, just realized I could probably replace the use of domains in repl with async listeners. but do I really want to put in the effort?
23:37:27  <trevnorris>othiym23: ok, value it is.
23:37:33  <othiym23>I'm with you on how horrible all our choices are, but sometimes simple is best
23:37:54  <tjfontaine>I'm just as happy to shoot the repl in the head
23:37:55  <tjfontaine>:)
23:38:03  <trevnorris>hah
23:38:09  <tjfontaine>and on that note, I'm going to have to give up for the day
23:38:21  <tjfontaine>as I become more frustrated with myself and the world
23:40:16  <trevnorris>poor tjfontaine, just remember. the world doesn't hate you.
23:40:16  <trevnorris>but it does enjoy a good laugh at your expense.
23:42:23  <trevnorris>haha. got a linkedin message subject: "Do more than Maintain Node.js"
23:42:28  <trevnorris>like, wtf.
23:44:08  <othiym23>oh, it's just beginning, dude
23:44:19  <othiym23>I have gotten the most ridiculous recruiter spam in the last six months
23:44:29  <othiym23>at least not everybody assumes I'm a rails developer anymore
23:44:32  <othiym23>or a DBA
23:55:36  * st_lukejoined
23:58:47  <MI6>libuv-master-gyp: #216 FAILURE windows-x64 (3/196) windows-ia32 (4/196) http://jenkins.nodejs.org/job/libuv-master-gyp/216/