00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:05:35  * kazuponquit (Remote host closed the connection)
00:07:19  * syskkquit (Quit: syskk)
00:10:09  * AvianFluquit (Remote host closed the connection)
00:18:35  * qardquit (Quit: Leaving.)
00:43:32  * AvianFlujoined
00:54:52  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
01:02:56  * c4milojoined
01:03:15  * mraleph1quit (Ping timeout: 260 seconds)
01:06:16  * kazuponjoined
01:06:42  * TooTallNatequit (Quit: Computer has gone to sleep.)
01:13:35  * kazuponquit (Ping timeout: 256 seconds)
01:14:45  * AvianFluquit (Remote host closed the connection)
01:24:21  * TooTallNatejoined
01:36:12  * TooTallNatequit (Read error: Connection reset by peer)
01:39:40  * kazuponjoined
01:41:26  * TooTallNatejoined
01:45:19  * kazuponquit (Ping timeout: 256 seconds)
01:46:27  * mralephjoined
02:04:20  * amartensjoined
02:13:32  * TooTallNatequit (Quit: Computer has gone to sleep.)
02:15:26  * kazuponjoined
02:18:43  * cjdjoined
02:20:17  * c4miloquit (Remote host closed the connection)
02:36:12  * timoxleyquit (Quit: Computer has gone to sleep.)
02:38:41  * AvianFlujoined
02:41:37  * MI6quit (Ping timeout: 248 seconds)
02:41:48  * MI6joined
02:48:42  * kazuponquit (Remote host closed the connection)
02:49:30  * TooTallNatejoined
03:01:33  * timoxleyjoined
03:13:07  * benoitcquit (Excess Flood)
03:14:57  * brsonjoined
03:15:27  * benoitcjoined
03:21:39  * c4milojoined
03:22:21  * defunctzombie_zzchanged nick to defunctzombie
03:25:35  * c4miloquit (Remote host closed the connection)
03:51:39  * AvianFluquit
03:51:51  * AvianFlujoined
03:53:02  * AvianFluquit (Client Quit)
03:53:30  * timoxleyquit (Quit: Computer has gone to sleep.)
03:54:07  * AvianFlujoined
03:55:45  * kazuponjoined
04:00:20  * amartensquit (Read error: Connection reset by peer)
04:01:51  * timoxleyjoined
04:12:21  * stephankquit (Ping timeout: 248 seconds)
04:18:52  * stephankjoined
04:29:40  * st_lukejoined
04:35:26  * hueniversequit (Read error: Connection reset by peer)
04:35:35  * hueniversejoined
04:38:09  * normanmjoined
04:46:20  * st_lukequit (Remote host closed the connection)
04:50:14  * amartensjoined
04:55:28  * icarotjoined
05:01:38  * AvianFluquit (Remote host closed the connection)
05:01:42  * kazuponquit (Remote host closed the connection)
05:03:43  * kazuponjoined
05:14:19  * groundwaterquit (Quit: groundwater)
05:14:24  * amartensquit (Quit: Leaving.)
05:20:19  * brsonquit (Quit: leaving)
05:20:52  * st_lukejoined
05:53:36  * mikealquit (Quit: Leaving.)
06:01:01  * syskkjoined
06:01:01  * syskkquit (Changing host)
06:01:01  * syskkjoined
06:08:06  * kazuponquit (Read error: Connection reset by peer)
06:08:28  * kazuponjoined
06:10:26  * mikealjoined
06:26:34  * amartensjoined
06:28:34  * paddybyersjoined
06:34:16  * rendarjoined
06:37:09  * normanmquit (Quit: Computer has gone to sleep.)
06:42:48  * wolfeidauquit (Remote host closed the connection)
06:44:22  * amartensquit (Quit: Leaving.)
06:45:18  * wolfeidaujoined
06:46:11  * wolfeidauquit (Remote host closed the connection)
06:52:41  * csaohjoined
06:56:18  * csaohquit (Client Quit)
06:57:10  * `3rdEdenjoined
07:00:46  * loladirojoined
07:01:56  * bajtosjoined
07:10:26  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
07:17:55  * stagasjoined
07:26:45  * kuebkjoined
07:30:50  * hueniversequit (Quit: Leaving.)
07:33:40  * dominictarrjoined
07:33:45  * csaohjoined
07:56:37  * mraleph1joined
07:57:09  * mralephquit (Read error: Connection reset by peer)
08:01:01  * icarotquit (Ping timeout: 256 seconds)
08:02:09  * paddybyersquit (Ping timeout: 256 seconds)
08:04:32  * kellabytequit (Remote host closed the connection)
08:23:16  * loladiroquit (Quit: loladiro)
08:28:03  * kazuponquit (Remote host closed the connection)
08:28:25  * hzjoined
08:38:04  * normanmjoined
08:51:54  * kazuponjoined
09:04:04  * paddybyersjoined
09:50:19  * kazuponquit (Read error: Connection reset by peer)
09:50:32  * kazuponjoined
09:52:39  * csaohquit (Quit: csaoh)
09:57:29  * stagasquit (Read error: Connection reset by peer)
10:08:42  * loladirojoined
10:15:02  * `3rdEdenchanged nick to `3E|BRB
10:17:11  * bajtosquit (Quit: bajtos)
10:31:14  * `3E|BRBchanged nick to `3rdEde
10:31:17  * `3rdEdechanged nick to `3rdEden
10:43:17  * loladiroquit (Quit: loladiro)
10:47:47  * icarotjoined
10:48:36  * csaohjoined
10:52:13  * bajtosjoined
10:56:40  * kazuponquit (Remote host closed the connection)
11:13:43  * icarotquit (Remote host closed the connection)
11:39:57  * wolfeidaujoined
11:40:02  * benoitcquit (Excess Flood)
11:41:30  * benoitcjoined
12:06:31  * paddybyersquit (Ping timeout: 264 seconds)
12:41:04  * bajtosquit (Quit: bajtos)
12:46:20  * kazuponjoined
12:59:10  * piscisaureus_joined
13:00:27  <kuebk>hello
13:00:51  <kuebk>question regarding building node from source
13:01:34  <kuebk>if I pass --debug --gdb to configure shouldn't it set -O0?
13:11:52  * kellabytejoined
13:11:54  * timoxleyquit (Quit: Computer has gone to sleep.)
13:13:18  * kevinswiberjoined
13:28:06  * pachetjoined
13:28:39  <piscisaureus_>kuebk: the ordinary one or the libuv makefile?
13:28:51  <piscisaureus_>oh wait - nvm it's node
13:36:22  <kuebk>yea it's node
13:38:07  <piscisaureus_>yeah --debug should do it
13:38:26  <kuebk>but (at least for me) it doesn't
13:39:56  <piscisaureus_>kuebk: I think if you build with --debug it builds both
13:40:48  <piscisaureus_>kuebk: https://github.com/joyent/node/blob/9c7078cea2b719defbb6519d10a14ab15e733822/Makefile#L17-L18
13:51:44  <kuebk>yea right
13:51:56  <kuebk>make install copies only node
13:51:58  <kuebk>not node_g
13:52:11  * udpjoined
13:55:19  * kevinswiberquit (Remote host closed the connection)
14:04:42  * bajtosjoined
14:06:48  * defunctzombiechanged nick to defunctzombie_zz
14:14:10  * pachet_joined
14:16:38  * kazupon_joined
14:17:28  * pachetquit (Write error: Connection reset by peer)
14:17:37  * syskk_joined
14:18:03  * syskkquit (Ping timeout: 249 seconds)
14:18:05  * Benvie_quit (Ping timeout: 249 seconds)
14:18:07  * kazuponquit (Write error: Connection reset by peer)
14:18:08  * syskk_changed nick to syskk
14:18:10  * Benvie_joined
14:19:02  * c4milojoined
14:21:03  * timoxleyjoined
14:25:34  * pachet_changed nick to pachet
14:25:39  * pachetquit (Changing host)
14:25:39  * pachetjoined
14:32:09  * mikealquit (Quit: Leaving.)
14:32:39  * kazupon_quit (Remote host closed the connection)
14:46:39  * groundwaterjoined
15:06:00  * bnoordhuisjoined
15:06:32  <bnoordhuis>no status call today?
15:11:07  * kuebkquit (Quit: Leaving.)
15:12:58  <isaacs>Call in 50 minutes or so
15:13:03  * isaacscommuting
15:13:05  * isaacs&
15:13:07  <LOUDBOT>ARE YOU REFERRING TO YOUR OWN USAGE OF AN SSH SPLOIT TRINITY
15:14:07  * timoxleyquit (Quit: Computer has gone to sleep.)
15:22:01  * AvianFlujoined
15:27:09  * kevinswiberjoined
15:43:07  * kazuponjoined
15:47:06  * bajtosquit (Quit: bajtos)
15:48:19  * kazuponquit (Ping timeout: 252 seconds)
15:50:13  * piscisaureus_quit (Ping timeout: 256 seconds)
15:59:01  * hudgfactorjoined
15:59:52  <isaacs>trevnorris: skype
16:00:57  <isaacs>ircretary: tell piscisaureus to sign into skype if it's not too late when he gets back online
16:00:57  <ircretary>isaacs: I'll be sure to tell piscisaureus
16:01:31  * piscisaureus_joined
16:02:38  * defunctzombie_zzchanged nick to defunctzombie
16:04:02  * dapjoined
16:08:12  * Raynosquit (Remote host closed the connection)
16:08:15  * Domenic_quit (Remote host closed the connection)
16:12:27  * brsonjoined
16:28:15  * bajtosjoined
16:38:19  * wavdedjoined
16:38:37  * inolenquit (Quit: Leaving.)
16:40:25  <MI6>joyent/node: isaacs master * ba048e7 : Merge remote-tracking branch 'ry/v0.10' (+20 more commits) - http://git.io/7fWJhA
16:44:34  * jez0990_changed nick to jez0990
16:51:43  <bnoordhuis>dinner, biab
16:52:08  <MI6>nodejs-master: #235 UNSTABLE smartos-x64 (6/603) smartos-ia32 (2/603) linux-x64 (1/603) osx-ia32 (1/603) http://jenkins.nodejs.org/job/nodejs-master/235/
16:55:17  * mikealjoined
16:56:13  * wavdedquit (Quit: Nighty night)
16:56:14  * bnoordhuisquit (Ping timeout: 256 seconds)
16:56:35  * mikeal1joined
16:56:54  * mikealquit (Read error: Connection reset by peer)
16:57:35  * `3rdEdenquit (Remote host closed the connection)
16:57:39  * hzquit (Ping timeout: 256 seconds)
16:57:47  <indutny>isaacs: ok, I tried really hard
16:57:48  <indutny>https://github.com/joyent/node/pull/5567
16:57:55  <indutny>I can't see any other way of handling it
16:58:05  <indutny>piscisaureus_: please review too
16:58:35  * qardjoined
16:58:41  <isaacs>indutny: well, i'd *expect* a bit of a throughput regression with this change.
16:58:50  <isaacs>indutny: because we were cheating before.
16:58:55  <indutny>obviously
16:58:57  <isaacs>ie, lying about how much had been put through
16:59:14  <indutny>so I tried to make it to wait as less as possible
16:59:24  <indutny>but its still 5-10% slower
16:59:29  <indutny>mostly 5
16:59:53  * amartensjoined
17:02:02  <MI6>nodejs-master-windows: #44 UNSTABLE windows-x64 (17/603) windows-ia32 (14/603) http://jenkins.nodejs.org/job/nodejs-master-windows/44/
17:02:34  * sblomjoined
17:03:18  <sblom>Sorry I missed today's call. The long weekend did it. I've gone from useless to useless and flaky. I've got a dozen alarms set to remind me about next week. Seriously sorry. :(
17:03:38  * csaohquit (Quit: csaoh)
17:04:08  <tjfontaine>heh
17:04:22  <indutny>np
17:04:32  <indutny>we was mostly sending funny skype smiles to each other
17:04:40  <indutny>and discussing my weird russian humor
17:04:56  <tjfontaine>and also various violence threats in the api
17:04:59  <indutny>yeah
17:06:16  * paddybyersjoined
17:08:08  * wavdedjoined
17:18:27  <isaacs>indutny: this line: https://github.com/indutny/node/commit/0c30765321097c878ae115c1f54772f2a79eaa0a#L0R366
17:18:39  <isaacs>indutny: how often will that get hit?
17:19:02  <indutny>when clients writes > highwatermark data
17:19:04  <isaacs>indutny: if it's frequent, it'd be better to just do .on() rather than .once(), and set a flag to say whether or not to do it.
17:19:12  <indutny>ah
17:19:14  <indutny>I got it
17:19:16  <isaacs>indutny: .once() is slos
17:19:19  <isaacs>*slow
17:19:34  <indutny>sure, I can do it
17:20:14  <isaacs>indutny: that *might* be a good chunk of your 5%
17:21:11  <indutny>I don't really think so
17:21:12  <indutny>but
17:21:14  <indutny>who knows
17:21:18  <isaacs>indutny: also, why is this on nextTick? https://github.com/indutny/node/commit/0c30765321097c878ae115c1f54772f2a79eaa0a#L0R470
17:21:26  <indutny>ah
17:21:29  <indutny>it could be setImmediate
17:21:41  <isaacs>why not just emit right now?
17:21:53  <indutny>well...
17:22:00  <indutny>I can try doing this too
17:22:01  <isaacs>if it's justa matter of calling the _write() cb, then the Writable machinery takes care of that.
17:22:08  <indutny>basically, I didn't want to reorder stuff much in ._write
17:22:13  <isaacs>ok
17:22:49  <isaacs>it should probably the sslOutEnd handler in the ctor, and hten have a flag to check or something to see whether or not it has work to do, and just emit right away
17:22:58  * inolenjoined
17:24:23  <isaacs>indutny: that'll save a lot of JS steps
17:25:54  * loladirojoined
17:29:51  * AvianFluquit (Remote host closed the connection)
17:33:08  * TooTallNatejoined
17:38:29  * paddybyersquit (Ping timeout: 252 seconds)
17:38:30  <indutny>isaacs: hm...
17:38:41  <indutny>isaacs: I don't think its going to work without nextTick
17:39:23  <indutny>oh
17:39:24  <indutny>nvm
17:39:28  * Raynosjoined
17:40:08  <indutny>force pushed
17:40:09  <indutny>isaacs: ^
17:41:45  <indutny>ok, time for hotline miami
17:41:46  <indutny>:)
17:44:08  <hudgfactor>Does anyone have any advice for how to go about restoring support for poll(2) as an event mechanism in libuv? I know poll was dropped when libev was removed. Sadly, my target OS doesn't really have another option, so my Node port is stuck on the 0.8 branch. Just looking for some examples or wikis or really anything to guide me as I'm not the most seasoned systems programmer.
17:47:36  <tjfontaine>trevnorris: nice of him to ignore your help on force pushing to open yet another one :)
17:47:58  <isaacs>indutny: pulling and reviewing in action now
17:48:09  <trevnorris>tjfontaine: seriously?
17:48:15  <tjfontaine>indeed
17:48:37  <tjfontaine>hudgfactor: you'll want to talk to bnoordhuis when he's around
17:48:55  * leonvvjoined
17:49:29  <tjfontaine>hudgfactor: generally this is the right place to do that, but you can also use https://groups.google.com/forum/?fromgroups#!forum/libuv
17:51:26  * paddybyersjoined
17:51:58  <isaacs>indutny: i think something is broken... https://gist.github.com/isaacs/5664656
17:51:59  <hudgfactor>Okay, cool, thanks.
17:52:15  <indutny>huuuuh?
17:52:15  <indutny>wtf
17:52:25  <indutny>oh gosh
17:52:30  <indutny>replace once with on in .init
17:52:45  <isaacs>hahah, yeah, that'll do it :)
17:53:44  <indutny>so, does it look better now?
17:55:24  <isaacs>indutny: much better :) https://gist.github.com/isaacs/5664680
17:55:35  <indutny>ok
17:55:38  <isaacs>making test now
17:56:29  <isaacs>indutny: so, most of the regression is gone.
17:56:33  * hzjoined
17:56:34  * hzquit (Changing host)
17:56:34  * hzjoined
17:56:34  <isaacs>indutny: not quite all, but most of it.
17:56:42  <indutny>well, you can't really tell
17:56:44  <indutny>it fluctuates a lot
17:56:47  <isaacs>indutny: it's < the jitter
17:56:48  <isaacs>yeah
17:56:59  <isaacs>i'll run it again if all the tests pass, with NODE_BENCH_RUNS=10 or something
17:57:05  <isaacs>that reduces the jitter a little bit
17:57:26  <isaacs>hrm, this is odd...
17:57:28  <isaacs>=== release test-http-byteswritten ===
17:57:28  <isaacs>Path: simple/test-http-byteswritten
17:57:28  <isaacs>ok
17:57:28  <isaacs>Assertion failed: (!uv__io_active(&stream->io_watcher, UV__POLLOUT) || !ngx_queue_empty(&stream->write_completed_queue) || !ngx_queue_empty(&stream->write_queue) || stream->shutdown_req != NULL || stream->connect_req != NULL), function uv_read_stop, file ../deps/uv/src/unix/stream.c, line 1319.
17:57:33  <isaacs>Command: out/Release/node /Users/isaacs/dev/js/node-v0.10/test/simple/test-http-byteswritten.js
17:57:39  <isaacs>i don't see how that's related to your patch, though
17:57:50  <trevnorris>oh son of a bitch. how did the compiler not kill me for defining these two:
17:57:58  <trevnorris>v8::Local<v8::Object> New(size_t length);
17:57:58  <indutny>that's uv update
17:57:59  <trevnorris>v8::Local<v8::Object> New(v8::Handle<v8::String> string);
17:58:05  <indutny>isaacs: update uv to v0.10
17:58:07  <indutny>from github
17:58:23  * sblomquit (Ping timeout: 252 seconds)
17:58:31  <isaacs>right.
17:58:40  <isaacs>indutny: this looks suspicious, though:
17:58:42  <isaacs>=== release test-https-drain ===
17:58:42  <isaacs>Path: simple/test-https-drain
17:58:42  <isaacs>DEBUG: paused
17:58:42  <isaacs>DEBUG: sent: 1048577
17:58:44  <isaacs>DEBUG: resumed
17:58:47  <isaacs>_stream_writable.js:270
17:58:49  <isaacs> cb();
17:58:52  <isaacs> ^
17:58:54  <isaacs>TypeError: object is not a function
17:58:57  <isaacs> at afterWrite (_stream_writable.js:270:3)
17:58:59  <isaacs> at _stream_writable.js:259:9
17:59:02  <isaacs> at process._tickCallback (node.js:415:13)
17:59:04  <isaacs>Command: out/Release/node /Users/isaacs/dev/js/node-v0.10/test/simple/test-https-drain.js
17:59:08  * sblomjoined
17:59:54  <indutny>oh gosh
17:59:56  <indutny>that's null
18:00:14  <trevnorris>tjfontaine: how would you handle, existing api of "v8::Local<v8::Object> New(v8::Handle<v8::String> string);", but want to add "v8::Local<v8::Object> New(size_t length);"
18:00:42  * hzquit (Client Quit)
18:00:42  <trevnorris>tjfontaine: for some reason the compiler never complained to me about this, but now trying to compile a module it won't let me.
18:01:44  <trevnorris>tjfontaine: wait. oh um. nm. i'm a moron.
18:01:52  <tjfontaine>you sure it was an Object and not an Array with a length?
18:02:16  <trevnorris>yeah. I was using ToUint32() instead of Uint32Value(). :-/
18:02:33  * bnoordhuisjoined
18:03:03  * roxluquit (Ping timeout: 245 seconds)
18:03:35  <isaacs>indutny: yeah, this is weird...
18:03:57  <indutny>isaacs: odd, but it works for me
18:04:03  <isaacs>indutny: oh, it's happening because of your _writePending function
18:04:09  <isaacs> this._pending = null;
18:04:09  <isaacs> this._pendingEncoding = '';
18:04:09  <isaacs> this._pendingCallback = null;
18:04:09  <isaacs> this._write(data, encoding, cb);
18:04:34  <indutny>well, that's expected
18:04:43  <isaacs>er, no, nvm
18:04:45  <indutny>it happens because cb is called twice
18:04:45  <tjfontaine>trevnorris: this is going to be a problem if they don't provide an overload for this that a module was using
18:05:01  <indutny>isaacs: can't reproduce it...
18:05:11  <indutny>./node test/simple/test-https-drain.js
18:05:12  <indutny>right?
18:05:24  <trevnorris>tjfontaine: how do you mean? talking about Local?
18:05:43  <indutny>I have run it 30 times
18:05:48  <indutny>but everytime it works...
18:06:12  <tjfontaine>trevnorris: I mean if there's only New(Handle<>) but no New(int) that someone is needing, you have an existing module that is breaking? code?
18:06:28  <indutny>I wonder what jenkins would say about it
18:07:11  * bnoordhuisquit (Ping timeout: 252 seconds)
18:07:38  <trevnorris>tjfontaine: oh, this was completely my fault. the compiler suggestion clang gave threw me off of what the actual problem was
18:07:49  <tjfontaine>trevnorris: ah ok
18:07:51  <trevnorris>(e.g. passing Handle<Uint32> instead of uint32_t)
18:08:01  * loladiroquit (Quit: loladiro)
18:08:04  <tjfontaine>oh yes, that's decidely not what you wanted :)
18:08:11  <tjfontaine>*decidedly
18:08:37  <isaacs>indutny: oh, naughty! yo'ure calling _write()
18:08:43  <isaacs>indutny: that's not really recommended.
18:08:51  <indutny>wut?
18:08:57  <isaacs>indutny: you might already be in the middle of a _write() call
18:09:00  <indutny>aaah
18:09:02  * kevinswiberquit (Remote host closed the connection)
18:09:05  <indutny>I see what you mean
18:09:14  <indutny>well
18:09:16  <indutny>I can't really be
18:09:20  * udp_joined
18:09:23  * paddybyersquit (Ping timeout: 252 seconds)
18:09:25  <indutny>because I haven't called previous callback
18:10:09  * bnoordhuisjoined
18:10:46  * udpquit (Ping timeout: 252 seconds)
18:10:46  * udp_changed nick to udp
18:11:10  <isaacs>indutny: oh, no, tha'ts not it
18:11:14  <isaacs>indutny: yeah, you do have to nextTick that thing
18:11:22  <isaacs>indutny: otherwise you end up calling onwrite when we're still in onwrite
18:11:25  <isaacs>indutny: which is very bad.
18:11:36  <indutny>em?
18:11:41  * hzjoined
18:11:52  <indutny>ah
18:12:00  <indutny>no
18:12:03  <indutny>I don't get it :)
18:12:24  * icarotjoined
18:14:21  * wavdedquit (Quit: Nighty night)
18:14:53  * wavdedjoined
18:15:28  * st_lukequit (Remote host closed the connection)
18:16:40  <isaacs>hm, no, i think i was wrong
18:16:57  <isaacs>i'm trying to figure out why we're getting a non-function cb function in the WritableState.onwrite method
18:17:27  * bajtosquit (Quit: bajtos)
18:18:11  * TooTallNatequit (Ping timeout: 252 seconds)
18:18:43  * pachetquit (Quit: leaving)
18:19:05  * paddybyersjoined
18:20:25  * TooTallNatejoined
18:25:24  <isaacs>indutny: ohhh... i see.
18:25:28  <isaacs>indutny: this fixes it:
18:25:30  <isaacs> this._opposite.on('sslOutEnd', function() {
18:25:30  <isaacs> if (self._sslOutCb) {
18:25:30  <isaacs> var cb = self._sslOutCb;
18:25:30  <isaacs> self._sslOutCb = null;
18:25:32  <isaacs> cb(null);
18:25:34  <isaacs> }
18:25:37  <isaacs> });
18:25:40  <isaacs>indutny: need to set to null *before* calling it
18:25:49  <indutny>aaaah
18:25:51  <indutny>oh gosh
18:25:53  * paddybyersquit (Ping timeout: 252 seconds)
18:25:58  <indutny>isaacs +1
18:26:17  <isaacs>indutny: i'm not entirely sure why that is...
18:26:23  <indutny>well
18:26:28  <isaacs>indutny: but i think it's this:
18:26:30  <indutny>it could get there
18:26:31  <indutny>recursively
18:26:44  <isaacs>you call sslOutCb(), so then that triggers a read(), which in turn triggers a write() which then triggers a onwrite
18:26:51  * `3rdEdenjoined
18:26:56  <isaacs>but this onwrite is called without the previous one finishing, so you end up with a null cb
18:27:09  <isaacs>tls is so fun
18:27:17  <isaacs>indutny: does that make sense to you?
18:27:21  <indutny>yes
18:27:23  <isaacs>indutny: or do you think i'm misreading this?
18:27:27  <indutny>well
18:27:33  <indutny>its worse :)
18:27:37  <isaacs>orly?
18:27:38  <indutny>ah well
18:27:39  <indutny>no
18:27:41  <indutny>you got it right
18:27:47  <isaacs>ok
18:27:49  <indutny>yep, its all in circles
18:27:50  <indutny>:)
18:27:51  <isaacs>the fix is simple, at least :)
18:27:53  <indutny>whatever
18:27:54  <indutny>force pushed
18:27:57  <indutny>thank you
18:28:03  * Domenic_joined
18:28:04  <isaacs>but took like a dozen asserts scattered around to find it :)
18:29:17  <isaacs>ok, that test passes now. making test again
18:29:45  * TooTallNatequit (Read error: Connection reset by peer)
18:30:15  * loladirojoined
18:30:46  * TooTallNatejoined
18:30:56  * wavdedquit (Quit: Nighty night)
18:31:59  * leonvvquit (Remote host closed the connection)
18:32:04  * defunctzombiechanged nick to defunctzombie_zz
18:33:24  * udpquit (Quit: udp)
18:35:35  * TooTallNatequit (Ping timeout: 260 seconds)
18:36:42  * wavdedjoined
18:36:51  * loladiro_joined
18:37:09  <isaacs>great, only failure is libuv stuff
18:37:34  <isaacs>indutny: running benchmark again to make sure nothing changed, then i'll push
18:37:41  <indutny>great
18:38:49  <isaacs>it seems like if we could do the openssl TLS work in separate threads, it'd be much better.
18:38:57  <isaacs>i see two CPU's maxed out while running becnhmarks.
18:38:59  * loladiroquit (Ping timeout: 252 seconds)
18:38:59  * loladiro_changed nick to loladiro
18:39:02  <isaacs>but two just sitting there doing nothing.
18:39:23  <indutny>the problem is
18:39:38  * pachetjoined
18:39:47  <indutny>that you can spread to thread only different connections
18:39:55  <indutny>i.e. you must always work with specific connection from one thread
18:40:10  <indutny>otherwise openssl gets fucked up
18:40:13  <indutny>and misbehaves
18:40:43  <isaacs>well.. that's shitty.
18:40:54  <isaacs>indutny: what if we have an openssl thread and a main thread
18:40:59  <isaacs>so javascript isn't blocked.
18:41:05  <isaacs>ie, just one dedicated one.
18:41:10  <indutny>well
18:41:15  <isaacs>not AS good, i guess.
18:41:18  <indutny>its as complex as having multiple threads
18:41:18  <indutny>:)
18:41:19  <isaacs>if you have lots of connections
18:41:24  <indutny>haha
18:41:30  <indutny>no difference at all
18:41:35  <indutny>in complexity
18:41:37  <isaacs>no, because you only have one openssl thread, instead of hving to pick the right thread.
18:41:44  <indutny>ah, well
18:41:50  <indutny>you still need to have messaging with this thread
18:41:54  <indutny>and it implies picking it
18:41:56  <isaacs>yeah, i guess.
18:42:02  <indutny>sort of
18:42:13  <isaacs>wasn't tlsnappy supposed to do something like this?
18:42:25  <indutny>its doing it indeed
18:42:54  * syskkquit (Quit: syskk)
18:44:38  <trevnorris>isn't it redundant to have "assert(!current_buffer);" and "if (current_buffer)"?
18:44:55  <trevnorris>wait. nm.
18:45:25  <trevnorris>wait, yeah. "if (current_buffer) throw"
18:45:32  <trevnorris>but the assert would always fail first, right?
18:46:46  <tjfontaine>unless someone monkey patched out asserts
18:47:00  <trevnorris>ugh. do we care about that?
18:47:08  * tjfontaineshrugs
18:47:15  <trevnorris>eh, whatever
18:47:52  <isaacs>k, i'm landing, looks ok: https://gist.github.com/isaacs/5665118
18:47:57  * udpjoined
18:48:23  <MI6>joyent/node: Fedor Indutny v0.10 * 4f14221 : tls: invoke write cb only after opposite read end (+1 more commits) - http://git.io/lCINew
18:48:55  * kevinswiberjoined
18:49:04  <indutny>yikes :)
18:49:14  <indutny>thanks
18:53:08  * kevinswiberquit (Remote host closed the connection)
18:55:08  <bnoordhuis>trevnorris: risers and gentoo people do
18:55:24  <tjfontaine>*ricers
18:55:24  <bnoordhuis>there's a big overlap between the two groups
18:55:31  <bnoordhuis>what tj said
18:55:39  * bajtosjoined
18:55:50  <tjfontaine>funroll-loops.info
18:55:51  <bnoordhuis>risers care about other things, i don't know what
18:56:04  <tjfontaine>how high they can get I suppose
18:56:20  <bnoordhuis>or fluffy souffles
18:56:33  <tjfontaine>people obsessed with yeast
18:57:15  <isaacs>indutny: thanks
18:58:03  <tjfontaine>bnoordhuis: hudgfactor was asking earlier about guidance on doing a poll based backend for libuv, since his target platform lacks saner interfaces
18:58:29  <trevnorris>bnoordhuis: hm. interesting. ok
18:59:59  <hudgfactor>Thanks tjfontaine. Yeah, it's QNX, if that means anything to anyone. It has a QNX-specific polling mechanism as well, but at least at this point, for my purposes, getting poll to work again would be fine.
19:00:17  * udpquit (Quit: udp)
19:00:38  <MI6>nodejs-v0.10: #215 UNSTABLE osx-ia32 (2/588) osx-x64 (2/588) linux-x64 (1/588) linux-ia32 (2/588) smartos-ia32 (3/588) smartos-x64 (4/588) http://jenkins.nodejs.org/job/nodejs-v0.10/215/
19:01:06  * sblomquit (Ping timeout: 252 seconds)
19:03:03  * Benviequit
19:03:03  <bnoordhuis>hudgfactor: sure, i'd take a pull request
19:03:36  <tjfontaine>he needs a bit more guidance on how you'd like to see it done, I think
19:03:54  <tjfontaine>he intimated he was new to the systems world
19:03:58  <hudgfactor>bnoordhuis: :) Yeah, I am kinda out of my element.
19:04:01  <bnoordhuis>ah, okay
19:04:31  <bnoordhuis>it should be pretty straightforward; you only need to implement uv__platform_loop_{init,delete} and uv__io_poll
19:04:44  <bnoordhuis>the first two can probably be no-ops
19:04:54  * Benviejoined
19:05:19  <hudgfactor>I've poked around for a while but could really benefit from an example, if there is anything close. I've of course looked at Linux and kqueue versions.
19:06:05  * defunctzombie_zzchanged nick to defunctzombie
19:06:10  * kevinswiberjoined
19:06:40  <bnoordhuis>hudgfactor: okay, so uv__io_poll() gets called with new watchers in loop->watcher_queue
19:07:02  <bnoordhuis>the epoll and kqueue backends just pop off watchers until the queue is empty (and add them to the epoll/kqueue set)
19:07:25  <bnoordhuis>but for regular poll you probably want to leave them in the queue
19:07:55  <isaacs>bnoordhuis: anything to land in libuv?
19:07:58  <isaacs>bnoordhuis: gonna do a release.
19:08:02  <isaacs>get these assertions fixed.
19:08:07  <bnoordhuis>no, i'm good
19:08:09  <isaacs>kewl
19:09:25  <MI6>joyent/libuv: isaacs created tag v0.10.9 - http://git.io/uom-wg
19:09:27  <MI6>joyent/libuv: isaacs v0.10 * 21c12b8 : Now working on v0.10.10 (+1 more commits) - http://git.io/L3Ubmw
19:09:29  * bajtosquit (Quit: bajtos)
19:09:33  <MI6>nodejs-v0.10-windows: #44 UNSTABLE windows-x64 (8/588) windows-ia32 (8/588) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/44/
19:11:53  <MI6>libuv-v0.10: #78 UNSTABLE smartos (3/186) windows (3/187) http://jenkins.nodejs.org/job/libuv-v0.10/78/
19:12:23  <tjfontaine>err what? http://jenkins.nodejs.org//job/libuv-v0.10/78/label=smartos//tapTestReport/test.tap-119/
19:12:47  <tjfontaine>bnoordhuis: I've never seen poll duplex fail before, how does that happen?
19:13:54  <bnoordhuis>ah... curious
19:14:16  <bnoordhuis>hard to say what it is without more info though
19:15:14  <bnoordhuis>does that smartos instance store the core dump on SIGABRT?
19:15:32  <tjfontaine>dunno, I'll have to look
19:15:36  <bnoordhuis>if yes, i'd be curious to know what value errno has
19:15:56  <tjfontaine>nod
19:16:51  <MI6>libuv-v0.10-gyp: #42 UNSTABLE windows-x64 (5/187) linux-ia32 (1/186) windows-ia32 (4/187) smartos-x64 (2/186) smartos-ia32 (2/186) http://jenkins.nodejs.org/job/libuv-v0.10-gyp/42/
19:17:04  <MI6>joyent/node: isaacs v0.10 * f523f70 : uv: Upgrade to v0.10.9 - http://git.io/90nduw
19:17:20  <hudgfactor>bnoordhuis: Okay, thanks, what you've said has made some sense of what I was looking at. I'll give it a shot.
19:19:07  <tjfontaine>bnoordhuis: there is a core there but I don't think it does pid patterns, so it overwrote it :/
19:19:13  <tjfontaine>brb lunch
19:20:29  * wavdedquit (Ping timeout: 265 seconds)
19:23:45  * hudgfactorquit (Ping timeout: 248 seconds)
19:25:57  <trevnorris>bnoordhuis: first, the flow is old, but basic logic is the same. in http://git.io/UPdPjQ the loop copies from the existing set data, so it runs O(log(n)) instead of O(n)
19:26:28  <trevnorris>new logic is here: https://github.com/trevnorris/node/commit/4a5b678
19:26:38  <trevnorris>though I am working at hoisting more logic out of the while()
19:28:34  <bnoordhuis>trevnorris: are you moving out the if?
19:29:16  <bnoordhuis>a memcpy() is pretty fast on modern computers but non-constant branches in an inner loop aren't
19:29:27  <trevnorris>bnoordhuis: i did move the while out of the if. so the simplest cases will run then return.
19:29:57  <trevnorris>now i'm trying to move the if out of the while()
19:30:00  <bnoordhuis>oh, i see what you mean
19:31:38  <MI6>nodejs-v0.10: #216 UNSTABLE linux-x64 (1/588) smartos-ia32 (1/588) smartos-x64 (65/588) http://jenkins.nodejs.org/job/nodejs-v0.10/216/
19:31:45  * icarotquit (Ping timeout: 248 seconds)
19:32:01  <MI6>libuv-node-integration: #73 UNSTABLE smartos-ia32 (53/588) osx-ia32 (1/588) smartos-x64 (4/588) linux-x64 (1/588) osx-x64 (1/588) http://jenkins.nodejs.org/job/libuv-node-integration/73/
19:37:26  <MI6>nodejs-v0.10-windows: #45 UNSTABLE windows-x64 (8/588) windows-ia32 (7/588) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/45/
19:38:47  <trevnorris>bnoordhuis: ah, better. thanks for pointing that out: https://github.com/trevnorris/node/commit/62cc132
19:40:20  <bnoordhuis>isaacs: are you pushing/merging things right now?
19:42:07  <bnoordhuis>i'm guessing that's a no
19:42:19  <MI6>joyent/node: Daniel G. Taylor v0.10 * 299b8b3 : https: Add `secureProtocol` docs (+1 more commits) - http://git.io/qIR1KA
19:43:19  <bnoordhuis>aw, there's a typo in the last one
19:44:01  <MI6>joyent/node: Daniel G. Taylor v0.10 * 675e858 : https: Add `secureProtocol` docs - http://git.io/4mC74w
19:44:34  * `3rdEdenquit (Remote host closed the connection)
19:45:50  <trevnorris>bnoordhuis: thoughts on: https://github.com/trevnorris/node/commit/c522f8a
19:46:28  <trevnorris>bnoordhuis: that requires some changes sitting in another branch, so wouldn't work on master.
19:47:40  <bnoordhuis>trevnorris: how/where would you use that?
19:52:07  * wavdedjoined
19:54:53  <trevnorris>bnoordhuis: first thought was a more direct pipe path. instead of creating a buffer just to immediately write it out.
19:55:54  <MI6>nodejs-v0.10: #217 UNSTABLE osx-ia32 (1/588) smartos-ia32 (1/588) smartos-x64 (3/588) http://jenkins.nodejs.org/job/nodejs-v0.10/217/
19:57:07  <trevnorris>bnoordhuis: also http headers are just pissing me off right now. they tent to be small, but cause a lot of buffer instantiation drag.
19:58:05  <trevnorris>and since we don't hand the headers in a Buffer to the user, we could siphon those off quickly then pass the body on regularly
19:59:01  * inolenpart
19:59:07  <trevnorris>basically headers create many small buffers, just to hit js, just to hit http_parser back in cc, then to be forgotten.
20:00:32  <bnoordhuis>trevnorris: hm. they create strings, right? not buffers iirc
20:01:02  <bnoordhuis>it works like this: net reads a buffer, passes that to http_parser, which then turns header fields/values into strings
20:01:20  <bnoordhuis>there is some room for improvement there btw
20:01:35  <trevnorris>stream_wrap immediately turns everything into a Buffer.
20:01:42  * normanmquit (Quit: Computer has gone to sleep.)
20:01:59  <bnoordhuis>you're talking about incoming http requests, right?
20:02:13  <trevnorris>incoming anything. OnReadCommon turns all data into a Buffer
20:02:18  <MI6>nodejs-v0.10-windows: #46 UNSTABLE windows-x64 (8/588) windows-ia32 (7/588) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/46/
20:03:29  <bnoordhuis>trevnorris: yeah. maybe i'm not following. what's so bad about that?
20:04:13  <trevnorris>bnoordhuis: Buffer instantiation is not cheap. especially for small things like the http headers.
20:04:42  <trevnorris>has to do w/ the discussion about AdjustExternalAllocatedMemory in the stand up
20:04:52  <trevnorris>also just the whole persistent/makeweak thing
20:05:15  <bnoordhuis>yes... but you need to store the data somewhere anyway
20:05:22  <bnoordhuis>and js land can only deal with buffers
20:06:03  <trevnorris>only sometimes. for example if I use setEncoding then we could create a String from it immediately instead of Buffer -> String
20:06:44  <bnoordhuis>oh, like that. sure
20:06:54  <bnoordhuis>that's what i mean by 'some room for improvement' :)
20:07:06  <trevnorris>:)
20:07:39  <bnoordhuis>there's more though
20:07:43  <trevnorris>just figured this would be an easy and generic way to allow for the improvement w/o changing the existing internals a lot
20:09:25  <trevnorris>what's that?
20:12:17  <bnoordhuis>oh, for example, we always turn headers into strings
20:12:27  <bnoordhuis>but most probably won't be used at all
20:12:51  <bnoordhuis>it might be possible to win some by only storing the indexes and stringifying on demand
20:13:00  <trevnorris>ooh. i like that
20:13:51  * dap1joined
20:13:51  * dapquit (Read error: Connection reset by peer)
20:13:55  <bnoordhuis>something else i tried was turning the most common headers (and values) into Persistent<String> handles
20:14:10  <bnoordhuis>making them atoms, effectively
20:14:24  <bnoordhuis>turned out to be something of a wash though
20:14:51  <trevnorris>the two most expensive operations w/ headers is turning the char* to a Buffer, and using ->Set() on the return object.
20:15:03  <trevnorris>the latter is definitely the biggest hit
20:15:11  <bnoordhuis>which Set() is that?
20:15:28  <trevnorris>in cc. e.g. New::Object()->Set(...)
20:15:38  <bnoordhuis>yeah, but which one?
20:16:04  <trevnorris>might be missing something, but any one of them. node_http_parser is full of them.
20:16:41  <bnoordhuis>ah. i thought you were talking about something in particular
20:16:59  <trevnorris>oh no. sorry. the method itself is freakin slow
20:17:41  <trevnorris>bnoordhuis: check my commit msg here: https://github.com/trevnorris/talks/commit/4a00479
20:18:19  <bnoordhuis>right
20:19:46  * indexzerojoined
20:21:20  <MI6>nodejs-v0.10-windows: #47 UNSTABLE windows-x64 (8/588) windows-ia32 (7/588) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/47/
20:22:37  <trevnorris>bnoordhuis: the other case I considered was for an internal metrics manager here, where data from several sources comes in is quickly analyzed then sent out based on contents.
20:23:15  <trevnorris>bnoordhuis: to maximize throughput I wanted to do this in cc w/o creating the buffer, but use js to easly set the source/dest configuration stuff.
20:24:14  <bnoordhuis>trevnorris: you mean from one socket to another, or ?
20:25:48  <trevnorris>bnoordhuis: it receives data from different sources over the network. all data is sent w/ a header using msgpack. that header explains what the data is.
20:26:07  <trevnorris>based on the header, the server will route the data to different databases, etc.
20:26:47  <isaacs>trevnorris: thoughts on bnoordhuis's code cleanup potpourri buffer changes?
20:27:17  <tjfontaine>the writefloat stuff that exists is kinda scary to look at
20:27:29  <trevnorris>isaacs: giving one last look
20:27:46  <isaacs>bnoordhuis: most of this looks fine.
20:27:59  <isaacs>I understand why we have C++ casts instead, but C style casts look so much nicer to me
20:29:14  <bnoordhuis>yeah, but they're like reinterpret_casts, only even looser
20:29:41  <bnoordhuis>c++ casts are more verbose but they catch certain categories of bugs
20:30:53  * wavdedquit (Quit: Nighty night)
20:34:01  <trevnorris>bnoordhuis: i'm not getting the use of the union stuff
20:35:04  <trevnorris>e.g. union NoAlias
20:35:52  <bnoordhuis>trevnorris: it's because pointer aliasing is something compilers are free to ignore
20:35:58  <bnoordhuis>meaning free to ignore bad code
20:36:18  <bnoordhuis>unless you tell them explicitly, which is what NoAlias does
20:37:21  <bnoordhuis>s/ignore/generate/
20:37:38  <bnoordhuis>man, i keep mixing up words tonight
20:39:34  <trevnorris>bnoordhuis: ok. this is a bit over my head. e.g. you're returning na.val, but i don't see that ever being set.
20:45:07  <bnoordhuis>trevnorris: there's the thing :)
20:45:21  <bnoordhuis>the compiler is allowed to assume that no two pointers ever alias each other
20:45:40  <bnoordhuis>(unless one of them is a pointer to char, char* is allowed to alias everything)
20:46:06  <bnoordhuis>the reason the standard allows that, is that it makes it a lot easier for compilers to generate great code
20:46:34  <bnoordhuis>the downside is, if the pointers do alias, it's quite possible that the compiler generates code that is flat out wrong
20:46:57  <bnoordhuis>hence you need to be explicit about pointer aliasing, hence the union
20:47:39  <bnoordhuis>it tells the compiler 'this is a bit of memory that we'll read/write as type X _and_ type Y'
20:48:37  <MI6>libuv-v0.10: #79 UNSTABLE smartos (2/186) windows (3/187) http://jenkins.nodejs.org/job/libuv-v0.10/79/
20:48:39  <trevnorris>oh duh yeah. mentally swapped "union" for "struct". makes sense. :)
20:51:09  * wavdedjoined
20:51:09  <trevnorris>bnoordhuis: based on how you did a19a1a09 did I do ec420006 incorrectly?
20:51:21  <trevnorris>i mean. i don't take into account any endianness.
20:52:15  * AvianFlujoined
20:52:18  <trevnorris>isaacs: lgtm
20:52:58  <isaacs>trevnorris: thanks.
20:53:07  <isaacs>bnoordhuis: i'll get back to reviewing it once i'm done with this legalese.
20:53:13  <trevnorris>bnoordhuis: that is some crazy ass knowledge you have stored up in that head of yours.
20:54:52  <bnoordhuis>haha. thanks, i guess :)
20:55:28  <tjfontaine>bnoordhuis: your mind is a vast treasure trove of inconsequential trivia
20:55:29  <tjfontaine>:P
20:56:24  <bnoordhuis>that's true. i always win at that board game, trivial pursuit
20:56:42  <tjfontaine>someone has to
20:57:30  <trevnorris>bnoordhuis: ok. i get the union in Read..., but what is going on w/ "union NoAlias na = { val };"?
20:57:44  <bnoordhuis>on a completely unrelated note, i hate recruiters: "They are looking for 1-2 year experienced BS and MS Computer Science graduates (exceptionally talented individuals still in school will be considered) with very good general coding skills, who may not necessarily know Ruby or Rails yet, but would jump at a chance to learn."
20:58:01  <trevnorris>lol
20:58:33  <trevnorris>bnoordhuis: wait. nm
20:58:48  <bnoordhuis>trevnorris: it assigns val to the first declared field (also called val)
20:58:49  <trevnorris>didn't see the "T val =" before that.
20:58:55  <trevnorris>yeah :)
21:00:49  <isaacs>bnoordhuis: yeah, i just got one about a company eager to find people who are excited to solve hard problems in Ruby on Rails.
21:01:44  <bnoordhuis>there's plenty of hard problems to solve in rails, i'll give 'em that
21:01:57  <tjfontaine>heh
21:02:21  <tjfontaine>https://gist.github.com/tjfontaine/5666086 blah
21:02:42  <bnoordhuis>EINTR? interesting
21:02:59  <bnoordhuis>probably a signal at an inopportune time
21:03:28  <bnoordhuis>that was from test-poll.c, right?
21:04:10  <MI6>libuv-node-integration: #74 UNSTABLE smartos-ia32 (1/588) osx-ia32 (1/588) smartos-x64 (2/588) linux-x64 (1/588) osx-x64 (1/588) http://jenkins.nodejs.org/job/libuv-node-integration/74/
21:05:00  <tjfontaine>bnoordhuis: well, it's difficult to really tell, as there are two cores that are in this state, does run-tests try and kill the child at anypoint? it seems like this was something tried to kill the process while it was dumping core
21:05:57  <bnoordhuis>tjfontaine: oh, that could be
21:06:25  <bnoordhuis>and yes, the runner kills processes after some time
21:06:51  <tjfontaine>right so I'm not sure if itw as the timeout that tripped it, or the process_terminate call
21:07:46  <bnoordhuis>well, whatever it was, it's because test-poll.c doesn't handle EINTR graciously
21:08:45  <bnoordhuis>it calls recv() and send() in a couple of places without checking for EINTR
21:08:58  <bnoordhuis>because it tries to be compatible with windows
21:14:04  * indexzeroquit (Quit: indexzero)
21:18:39  * dscapejoined
21:21:38  * kevinswiberquit (Remote host closed the connection)
21:22:12  * kevinswiberjoined
21:23:10  * rendarquit
21:26:55  * kevinswiberquit (Ping timeout: 264 seconds)
21:27:46  * kevinswiberjoined
21:37:39  * c4miloquit (Remote host closed the connection)
21:40:43  * wavdedquit (Quit: Hasta la pasta)
21:44:33  <isaacs>bnoordhuis: https://github.com/bnoordhuis/node/commit/acc1dcd251f772ffe938e95375b6f0f15cabeda5#L0R413
21:44:39  <isaacs>bnoordhuis: when would sizeof(T) ever be < 0?
21:44:58  <isaacs>bnoordhuis: what kind of magical type is this that takes a negative number of bytes to store in memory? ;)
21:47:19  <piscisaureus_>indutny: so you were working on ICs for native code right?
21:47:37  <indutny>piscisaureus_: not exactly, but yes
21:47:42  <indutny>it wasn't really inline
21:47:43  <cjd>looks to me like an integer overflow check
21:47:49  <indutny>and I wasn't reusing their existing code
21:47:53  <piscisaureus_>indutny: I was thinking about this
21:48:33  <piscisaureus_>v8:PropertySetter<"foo"> foo_setter;
21:48:59  <piscisaureus_>obj->Set(foo_setter, newval)
21:49:36  <indutny>have you seen my codereview?
21:49:41  <piscisaureus_>No. Link
21:49:42  <indutny>https://codereview.chromium.org/14425011
21:49:43  * kevinswiberquit (Remote host closed the connection)
21:49:58  <MI6>joyent/libuv: Ben Noordhuis v0.10 * dfff2e9 : include: document uv_update_time() and uv_now() - http://git.io/_miW0A
21:50:15  * kevinswiberjoined
21:50:23  <bnoordhuis>isaacs: it's to guard against integer overflow
21:51:04  <bnoordhuis>isaacs: say offset is 0xfffffffe and sizeof(T) is 2, then adding those two would overflow and result in 1
21:51:20  <bnoordhuis>and pass the check when it shouldn't
21:51:32  <isaacs>oh, hahaha
21:51:33  <isaacs>right
21:51:42  <isaacs>that makes sense.
21:51:49  <tjfontaine>+ * Don't make assumptions about the starting point, you will only get
21:51:50  <tjfontaine>+ * disappointed.
21:52:11  <MI6>libuv-v0.10: #80 UNSTABLE smartos (2/186) windows (4/187) http://jenkins.nodejs.org/job/libuv-v0.10/80/
21:52:18  <bnoordhuis>nice touch, right? :)
21:52:23  <tjfontaine>I loved it.
21:54:53  * kevinswiberquit (Ping timeout: 252 seconds)
21:54:58  <piscisaureus_>indutny: lgtm
21:55:02  <indutny>hahaha
21:55:03  <indutny>:)
21:55:21  * defunctzombiechanged nick to defunctzombie_zz
21:55:29  <indutny>well, its just a proof-of-concept
21:55:33  <indutny>and crashing in some cases
21:55:35  <indutny>but
21:55:43  <indutny>it seems that there're no real performance benefit for node...
21:55:46  <indutny>trevnorris: ^ right ?
21:56:18  <piscisaureus_>indutny: it's good that danno is looking at it though
21:56:22  <trevnorris>one sec. catching up
21:56:39  <indutny>piscisaureus_: I'm not really sure that he's looking :)
21:56:44  <indutny>it was 1 month ago
21:56:50  <indutny>and still I haven't heard any news
21:57:00  <MI6>libuv-v0.10-gyp: #43 UNSTABLE windows-x64 (4/187) linux-ia32 (1/186) windows-ia32 (4/187) smartos-x64 (2/186) smartos-ia32 (2/186) http://jenkins.nodejs.org/job/libuv-v0.10-gyp/43/
21:57:13  <isaacs>bnoordhuis: potpourri lgtm
21:57:17  <isaacs>bnoordhuis: wanna land it, or shall i?
21:57:21  * sblomjoined
21:57:46  <piscisaureus_>maybe should sort of have sort of a regular chat with the v8 team
21:58:58  <trevnorris>indutny: well, my 20 minute hack together didn't provide any benefits
21:59:03  <trevnorris>but wouldn't take that as conclusive :)
21:59:38  <tjfontaine>trevnorris: did you do a benchmark for passing {foo: undefined, bar: undefined} to cc and then ->Set(foo, ...) ->Set(bar, ...)?
22:00:19  <trevnorris>tjfontaine: iirc pre-setting object properties doesn't affect how long it takes in cc
22:00:40  <indutny>piscisaureus_: organize it
22:00:44  <indutny>lets pay them money
22:00:44  <indutny>:)
22:04:40  <trevnorris>tjfontaine: I should update my benchmark to include all ->Set*(). all of them are slow.
22:04:48  <trevnorris>tjfontaine: i filed a bug about this, but no response yet: http://code.google.com/p/v8/issues/detail?id=2696
22:05:27  <tjfontaine>trevnorris: right I wasn't sure if you had done that permutation
22:06:02  <trevnorris>i've tested them all. just don't have test cases for them all.
22:06:16  * defunctzombie_zzchanged nick to defunctzombie
22:07:40  <MI6>libuv-node-integration: #75 UNSTABLE smartos-ia32 (1/588) osx-ia32 (1/588) smartos-x64 (2/588) linux-ia32 (1/588) osx-x64 (1/588) http://jenkins.nodejs.org/job/libuv-node-integration/75/
22:08:42  <trevnorris>tjfontaine: funny enough, it's ~20% slower to SetHiddenValue, then to just Set.
22:10:07  * defunctzombiechanged nick to defunctzombie_zz
22:15:30  <tjfontaine>nice
22:22:35  * defunctzombie_zzchanged nick to defunctzombie
22:22:49  <bnoordhuis>trevnorris: i think SetHiddenValue() allocates a separate map
22:22:51  <bnoordhuis>at least, iirc
22:23:00  <trevnorris>ah, that would explain it
22:25:45  * AvianFluquit (Remote host closed the connection)
22:49:37  * pachetquit (Ping timeout: 248 seconds)
22:57:28  * mikeal1quit (Quit: Leaving.)
22:57:51  <piscisaureus_>So the official verdict is
22:57:55  <piscisaureus_>Outlook 2013 is shit
22:58:14  <tjfontaine>is that the last straw for windows for you?
22:58:15  <bnoordhuis>noooooooooooooo
22:58:19  <tjfontaine>can we rip that out? :P
22:58:24  <bnoordhuis>whatever will we do?!
22:58:33  <tjfontaine>mutt? pine?
22:58:46  * mikealjoined
22:59:03  <bnoordhuis>don't force me to use software written by freeloading hippies
22:59:15  <bnoordhuis>probably communists to boot
22:59:23  <bnoordhuis>COMMUNISTS!
22:59:24  <tjfontaine>damn reds...
23:00:08  <bnoordhuis>isaacs: there's a buglet in tools/osx-codesign.sh, it gives a syntax error when SIGN is not set in the env
23:00:19  <tjfontaine>indeed
23:00:23  <bnoordhuis>tools/osx-codesign.sh: line 6: [: -eq: unary operator expected
23:00:29  <tjfontaine>make NIGHTLY=someprefix SIGN=1
23:00:39  <tjfontaine>is actually the opposite fo what you think :)
23:02:15  <isaacs>huh. ok.
23:02:21  <isaacs>it should probably just not sign if SIGN isn't set
23:02:38  <tjfontaine>er step
23:02:43  <tjfontaine>i always forget that
23:09:22  * timoxleyjoined
23:09:55  * loladiroquit (Ping timeout: 276 seconds)
23:10:09  * icarotjoined
23:15:04  * mraleph1quit (Read error: Connection reset by peer)
23:15:06  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
23:15:14  * dominictarrquit (Read error: Connection reset by peer)
23:15:16  * mralephjoined
23:15:27  * mikealquit (Quit: Leaving.)
23:15:34  * dominictarrjoined
23:33:48  <trevnorris>giving my first node.js talk next week. hope I don't offend anyone. :)
23:35:34  * piscisaureus_joined
23:35:58  * piscisaureus_quit (Client Quit)
23:45:45  <MI6>joyent/libuv: Ben Noordhuis v0.10 * b93cf8b : linux: don't ignore OOM errors in uv_cpu_info() (+2 more commits) - http://git.io/5t3S4Q
23:47:52  * groundwaterquit (Quit: groundwater)
23:47:52  <MI6>libuv-v0.10: #81 UNSTABLE smartos (2/186) windows (4/187) http://jenkins.nodejs.org/job/libuv-v0.10/81/
23:52:35  <MI6>libuv-v0.10-gyp: #44 UNSTABLE windows-x64 (4/187) linux-ia32 (2/186) windows-ia32 (4/187) smartos-x64 (2/186) smartos-ia32 (2/186) http://jenkins.nodejs.org/job/libuv-v0.10-gyp/44/
23:53:19  * sblomquit (Read error: Operation timed out)