00:15:53  <tjfontaine>is this directly from faad?
00:16:04  * mikealjoined
00:16:15  <TooTallNate>tjfontaine: you want the header file?
00:16:19  <TooTallNate>tjfontaine: yes, libfaad
00:16:41  <TooTallNate>tjfontaine: https://github.com/gypified/libfaad/blob/master/include/neaacdec.h#L163-L171
00:17:27  <tjfontaine>ah excellent, this is almost certainly a failure case I can handle :)
00:17:42  <TooTallNate>tjfontaine: anyways, just reporting :) the software is totally badass overall :)
00:17:55  <tjfontaine>I hope it works well enough to bootstrap you
00:18:00  <TooTallNate>tjfontaine: what's happening?
00:18:02  <TooTallNate>to cause the failure?
00:18:18  <tjfontaine>not really sure, but this header should have enough information to get it, so I'm just doing it wrong
00:19:01  <TooTallNate>kewl
00:20:14  <tjfontaine>every time I think about doing the c++ stuff I actually think about generating c bindings to c++ libraries, since it makes it more useful than just a static method
00:20:22  * c4miloquit (Remote host closed the connection)
00:20:24  * mikealquit (Ping timeout: 252 seconds)
00:21:24  <bnoordhuis>trevnorris: sorry, gotta run. make it a PR and i'll review it tomorrow
00:22:11  * mmalecki_changed nick to mmalecki
00:24:36  * trevnorrisquit (Ping timeout: 245 seconds)
00:25:35  * kazuponjoined
00:30:07  * kazuponquit (Ping timeout: 260 seconds)
00:32:19  * mmaleckichanged nick to mmalecki[away]
00:32:36  * inolenquit (Quit: Leaving.)
00:34:15  * bradleymeckjoined
00:40:32  * sblomquit (Ping timeout: 276 seconds)
00:42:55  <piscisaureus_>https://github.com/piscisaureus/libuv-release-tool
00:45:19  * bradleymeckquit (Quit: bradleymeck)
00:45:22  <piscisaureus_>It probably won't work for v0.11 yet, because we start at a weird version, but after that it should be all great
00:45:27  <piscisaureus_>it's usable for the v0.10 branch
00:46:42  <piscisaureus_>You can test it, just don't go past the 'final review' step :)
00:46:46  * bnoordhuisquit (Ping timeout: 256 seconds)
00:48:08  * mikealjoined
00:51:29  * piscisaureus_quit (Ping timeout: 256 seconds)
00:51:55  * bradleymeckjoined
00:53:46  * mikealquit (Ping timeout: 252 seconds)
00:59:58  * piscisaureus_joined
01:04:32  * dapquit (Quit: Leaving.)
01:04:34  * inolenjoined
01:13:03  * brsonquit (Ping timeout: 245 seconds)
01:16:21  * piscisaureus_quit (Read error: Operation timed out)
01:19:49  * piscisaureus_joined
01:21:30  * mikealjoined
01:26:02  * mikealquit (Ping timeout: 252 seconds)
01:26:10  * kazuponjoined
01:26:12  * piscisaureus_quit (Ping timeout: 276 seconds)
01:29:42  * wolfeidaujoined
01:30:47  * kazuponquit (Ping timeout: 255 seconds)
01:34:25  * brsonjoined
01:34:52  * piscisaureus_joined
01:36:40  * abraxasjoined
01:42:02  * piscisaureus_quit (Ping timeout: 255 seconds)
01:52:57  * mikealjoined
01:55:48  * qmx|awaychanged nick to qmx
01:57:11  * mikealquit (Ping timeout: 252 seconds)
01:58:38  * sgallaghquit (Remote host closed the connection)
01:59:21  * TooTallNatequit (Quit: Computer has gone to sleep.)
02:17:19  * brsonquit (Ping timeout: 246 seconds)
02:24:32  * mikealjoined
02:29:17  * mikealquit (Ping timeout: 252 seconds)
02:49:32  <tjfontaine>arg, damn the laptop at work must have finally kicked
02:57:20  * mikealjoined
03:01:43  * mikealquit (Ping timeout: 252 seconds)
03:08:36  * wolfeidauquit (Remote host closed the connection)
03:11:09  * luigyquit (Read error: Operation timed out)
03:18:42  * luigyjoined
03:22:37  * wolfeidaujoined
03:28:16  * mikealjoined
03:28:53  * luigyquit (Ping timeout: 240 seconds)
03:31:35  * trevnorrisjoined
03:32:31  * mikealquit (Ping timeout: 251 seconds)
03:39:58  * kazuponjoined
03:40:54  * indexzerojoined
03:59:39  * mikealjoined
04:04:02  * mikealquit (Ping timeout: 252 seconds)
04:29:05  * bradleymeckquit (Quit: bradleymeck)
04:29:09  * abraxasquit (Remote host closed the connection)
04:31:05  * mikealjoined
04:37:46  * mikealquit (Ping timeout: 252 seconds)
04:44:17  <tjfontaine>ircretary: tell TooTallNate ffi-generate 0.0.6 should now catch that type it missed, also over the weekend I did look into getting #define's it's doable, but non-trivial, I have to convince libclang to tokenize the macro and the decide for myself if it's numeric
04:44:17  <ircretary>tjfontaine: I'll be sure to tell tootallnate
04:45:07  * trevnorrisquit (Quit: Leaving)
05:00:18  * mikealjoined
05:21:54  * loladiroquit (Quit: loladiro)
05:28:31  * loladirojoined
05:46:20  * chrisdickinsonquit (Read error: Operation timed out)
05:48:21  * chrisdickinsonjoined
05:51:16  * abraxasjoined
06:00:30  * defunctzombiechanged nick to defunctzombie_zz
06:03:08  * mikealquit (Read error: Connection reset by peer)
06:04:06  * mikeal1joined
06:05:53  * kazupon_joined
06:09:09  * kazuponquit (Ping timeout: 245 seconds)
06:20:03  * AvianFluquit (Read error: Connection reset by peer)
06:20:39  * AvianFlujoined
06:24:48  * paddybyersquit (Read error: Connection reset by peer)
06:24:53  * paddybyers_joined
06:28:29  * rendarjoined
06:35:45  * `3rdEdenjoined
06:42:22  * wolfeidauquit (Remote host closed the connection)
06:47:04  * paddybyers_quit (Ping timeout: 245 seconds)
07:01:09  * V1joined
07:02:35  * paddybyersjoined
07:09:47  * V1quit (Ping timeout: 252 seconds)
07:13:27  * mikeal1quit (Quit: Leaving.)
07:18:41  <indutny>morning
07:32:03  * csaohjoined
07:42:17  * loladiroquit (Quit: loladiro)
07:43:46  * mikealjoined
07:52:20  * loladirojoined
07:52:55  * loladiroquit (Client Quit)
07:54:39  * mikealquit (Ping timeout: 252 seconds)
08:02:41  * indexzeroquit (Quit: indexzero)
08:21:28  * mikealjoined
08:25:49  * mikealquit (Ping timeout: 252 seconds)
08:27:20  * mikealjoined
09:24:48  * Raltquit (Ping timeout: 264 seconds)
09:24:55  * dominictarrjoined
09:25:09  * omgnodes_joined
09:25:13  * omgnodes_quit (Max SendQ exceeded)
09:26:07  * Raltjoined
09:35:34  * paddybyers_joined
09:38:46  * paddybyersquit (Ping timeout: 245 seconds)
09:38:46  * paddybyers_changed nick to paddybyers
09:55:36  * AvianFluquit (Remote host closed the connection)
10:00:34  * hzjoined
10:04:59  * csaohquit (Quit: csaoh)
10:10:02  * abraxasquit (Remote host closed the connection)
10:11:27  * felixgequit (Quit: http://www.debuggable.com/)
10:14:30  * kazupon_quit (Remote host closed the connection)
10:17:39  * dominictarrquit (Quit: dominictarr)
10:18:00  * piscisaureus_joined
10:21:04  * kazuponjoined
10:21:04  * kazuponquit (Remote host closed the connection)
10:24:21  <indutny>hoya
10:24:25  <indutny>piscisaureus_: mind reviewing patch https://github.com/joyent/node/pull/5268?
10:27:31  * AvianFlujoined
10:27:31  * AvianFluquit (Client Quit)
10:32:48  * perezdjoined
10:33:45  <piscisaureus_>indutny: lgtm, if it works (didn't run the tests)
10:33:55  <indutny>kewl
10:33:56  <indutny>thanks
10:34:07  <indutny>I'll wait for CI
10:34:08  <indutny>just to be sure
10:36:42  * trippehquit (Ping timeout: 245 seconds)
10:37:04  * mikealquit (Ping timeout: 252 seconds)
10:37:24  * mikealjoined
10:37:28  * trippehjoined
10:44:30  * bnoordhuisjoined
10:46:42  * trippehquit (Ping timeout: 245 seconds)
10:50:57  <indutny>bnoordhuis: hey ben
10:51:02  <indutny>do you have more time today?
10:51:30  <MI6>joyent/node: Fedor Indutny v0.10 * c665b8e : net: fix socket.bytesWritten Buffers support Buffer.byteLength() works o - http://git.io/zmEwxQ
10:52:31  * perezdquit (Quit: perezd)
10:54:59  * csaohjoined
11:10:04  * trippehjoined
11:14:31  <bnoordhuis>indutny: ho fedor
11:14:34  <bnoordhuis>yeah, i think so
11:14:40  <indutny>oook
11:15:10  <indutny>can you please take a look at this https://github.com/joyent/node/pull/5257
11:15:23  <indutny>ignore all test failures
11:15:36  <indutny>that's because its master and libuv is old
11:15:52  <indutny>all of them are resolved after merge and libuv update
11:24:29  <indutny>brb
11:26:35  * trippehquit (Remote host closed the connection)
11:27:05  * trippehjoined
11:30:03  * piscisaureus_quit (Ping timeout: 276 seconds)
11:33:17  * paddybyers_joined
11:35:59  * paddybyersquit (Ping timeout: 252 seconds)
11:36:00  * paddybyers_changed nick to paddybyers
11:37:44  <bnoordhuis>indutny: did you land that bio stuff in v0.10? that was not the plan
11:38:05  <bnoordhuis>you know the drill: stable branches get bug fixes, not features
11:46:34  * piscisaureus_joined
11:46:34  <bnoordhuis>indutny: want me to revert it or will you do the honors?
11:50:22  <bnoordhuis>guess i'll do it
11:54:52  <MI6>joyent/node: Ben Noordhuis v0.10 * 0d5595a : Revert "crypto: use better memory BIO implementation" This change should - http://git.io/hSCWcw
11:54:56  <bnoordhuis>indutny: ^
11:56:32  * sgallaghjoined
11:57:12  * inolen1joined
11:57:21  * inolenquit (Ping timeout: 252 seconds)
12:02:42  <MI6>joyent/libuv: Nils Maier master * db344cc : mingw-w64: don't call _set_invalid_parameter_handler Check the __MSVCRT_ - http://git.io/ZjuFzA
12:03:37  <MI6>joyent/libuv: Nils Maier v0.10 * 5676924 : mingw-w64: don't call _set_invalid_parameter_handler Check the __MSVCRT_ - http://git.io/0YQD5A
12:06:14  <piscisaureus_>I really like our CLA-checking bot
12:06:16  <piscisaureus_>tjfontaine++
12:09:04  <bnoordhuis>piscisaureus_: y u no merge?
12:09:27  <bnoordhuis>no worries, i'll fix it
12:09:27  <piscisaureus_>bnoordhuis: well, because I realized that that this commit should go into 0.10 too
12:09:35  <piscisaureus_>bnoordhuis: after I pushed
12:09:45  <bnoordhuis>that's what force-push is for
12:09:51  <piscisaureus_>bnoordhuis: I am landing more patches - if you want to "fix" it just push out the commit
12:09:57  <piscisaureus_>bnoordhuis: I'll merge later
12:10:27  * abraxasjoined
12:10:28  <bnoordhuis>i'm landing some patches as well
12:10:34  <bnoordhuis>i'll paper over this, one sec
12:12:03  <MI6>joyent/libuv: Timothy J Fontaine v0.10 * e1ffc6c : unix: dtrace probes for tick-start and tick-stop (+2 more commits) - http://git.io/mv0GhQ
12:12:43  <piscisaureus_>bnoordhuis: https://github.com/joyent/libuv/pull/705 <-- unix parts lgty ?
12:13:00  <bnoordhuis>aw, tjfontaine broke the build
12:14:26  <bnoordhuis>/Users/bnoordhuis/src/libuv/src/unix/internal.h:260:/Users/bnoordhuis/src/libuv/src/unix/internal.h10/Users/bnoordhuis/src/libuv/src/unix/internal.h::: 260260/Users/bnoordhuis/src/libuv/src/unix/internal.h:::1010260::: 10: fatal error: fatal error: fatal error: fatal error: '''uuuv'vv-u-dvdt-t-drrdtaartcacrecae.ec.he.'h. h'hf' ' i flffeiii lllneeoe t n n nofototo utfnfod oufu
12:14:31  <bnoordhuis>onnuddnd
12:14:36  <bnoordhuis>^ llvm-gcc is so fscked up
12:15:12  * abraxasquit (Ping timeout: 264 seconds)
12:17:38  <MI6>joyent/libuv: Shannen Saez v0.10 * 603915d : windows: remove double initialization in uv_tty_init (+1 more commits) - http://git.io/R7voFw
12:24:04  <MI6>joyent/libuv: Ben Noordhuis v0.10 * bad707d : gitigore: ignore auto-generated uv-dtrace.h header (+1 more commits) - http://git.io/1JEPlA
12:24:33  <bnoordhuis>awesome commit hash
12:24:47  <MI6>joyent/libuv: Ben Noordhuis master * f78bcfb : Merge remote-tracking branch 'origin/v0.10' - http://git.io/94XTTA
12:27:24  <piscisaureus_>bnoordhuis: haha
12:27:29  <piscisaureus_>bnoordhuis: already... ?
12:27:35  <piscisaureus_>bnoordhuis: moar patches coming ftw
12:33:11  <MI6>joyent/libuv: Ben Noordhuis v0.10 * 8ea49c1 : build: squelch -Wdollar-in-identifier-extension warnings The dtrace prob - http://git.io/AEQZ_w
12:39:31  * dominictarrjoined
12:47:44  * defunctzombie_zzchanged nick to defunctzombie
12:48:17  * dominictarrquit (Quit: dominictarr)
12:48:31  * defunctzombiequit (Changing host)
12:48:31  * defunctzombiejoined
12:55:28  <MI6>joyent/node: Fedor Indutny master * c985095 : crypto: move write_head in bio's Reset() method (+2 more commits) - http://git.io/-Xobng
12:56:19  <MI6>joyent/libuv: Ben Kelly master * 14aa615 : unix, win: add netmask to uv_interface_address Include the netmask when - http://git.io/S89AKA
12:57:38  * kevinswiberjoined
13:00:09  <MI6>joyent/libuv: Ben Noordhuis master * 8041c52 : unix: style fixups - http://git.io/ElUJ4Q
13:00:14  <bnoordhuis>lint :(
13:04:45  <piscisaureus_>bnoordhuis: I actually didn't completely review that netmask patch for windows :)
13:04:58  <piscisaureus_>bnoordhuis: but I'll do it now after I finish uv_cpu_info for win
13:05:06  <piscisaureus_>because it's full of wrong
13:06:35  <bnoordhuis>ah okay
13:06:42  <bnoordhuis>i can revert it if you want
13:09:41  * aledbfjoined
13:12:35  * bradleymeckjoined
13:39:50  <MI6>joyent/node: Ben Noordhuis v0.10 * cd96f0a : src: don't SetInternalField() in ObjectWrap dtor Call SetPointerInIntern - http://git.io/1TeYKw
13:43:54  <indutny>bnoordhuis: writev time?
13:51:16  <MI6>joyent/libuv: Bert Belder reviewme * eb5c107 : win: refactor uv_cpu_info Fixes a couple of error handling issues. This - http://git.io/2e4NFg
13:51:18  <MI6>joyent/libuv: Brian White v0.10 * 9021dbc : inet: snprintf returns int, not size_t (+1 more commits) - http://git.io/Kf-z4w
13:51:25  <piscisaureus_>bnoordhuis: ^-- can you review `reviewme` ?
13:51:55  <piscisaureus_>bnoordhuis: it's easy :)
13:52:05  * AvianFlujoined
13:54:29  <bnoordhuis>piscisaureus_: what in particular? there's a lot of commits in there
13:54:40  * loladirojoined
13:54:42  <piscisaureus_>bnoordhuis: the last commit on the reviewme branch
13:55:00  <bnoordhuis>'add some error code mappings'? okay
13:55:03  <piscisaureus_>bnoordhuis: https://github.com/joyent/libuv/commit/eb5c107fb330c6713de2c016aa94629622488cdf
13:55:20  <piscisaureus_>bnoordhuis: github / MI6 isn't doing it right ...
13:55:34  <bnoordhuis>ah
13:55:42  <bnoordhuis>"Fixes a couple of error handling issues." <- vague/imprecise wording
13:56:43  <piscisaureus_>bnoordhuis: sigh, so you want me to say:
13:56:43  <piscisaureus_>* Avoids freeing an uninitialized pointer, avoids returning a bogus error value ?
13:58:06  * mmalecki[away]changed nick to mmalecki
13:59:50  <bnoordhuis>piscisaureus_: yep
14:00:21  <bnoordhuis>slightly odd that RegQueryValueExW's in/out len arg is in bytes, not wchars
14:01:02  <piscisaureus_>bnoordhuis: the registry key is WCHARs. The result of a registry query is always a binary blob.
14:01:31  <bnoordhuis>ah
14:01:49  <piscisaureus_>bnoordhuis: the key doesn't have to contain a string, it could also be a DWORD (unsigned int) for example
14:01:58  <bnoordhuis>okay, noted
14:02:04  <bnoordhuis>- cpu_info->model = (char*) malloc(size + 1); <- very good :)
14:02:08  <piscisaureus_>bnoordhuis: however, *if* the key is a string, it's a WCHAR string indeed.
14:03:14  <bnoordhuis>LGTM insofar that i can't spot any obvious bugs :)
14:03:44  <MI6>joyent/libuv: Bert Belder reviewme * a0e5e82 : win: refactor uv_cpu_info Fixes a couple of error handling issues: * Do - http://git.io/AaGHFw
14:03:56  <piscisaureus_>bnoordhuis: ^-- fixed consistency, updated commit message
14:04:31  <MI6>joyent/libuv: Bert Belder reviewme * a9bce29 : win: refactor uv_cpu_info Fixes a couple of error handling issues: * Do - http://git.io/1aeSvQ
14:05:35  <MI6>joyent/libuv: Bert Belder v0.10 * a9bce29 : win: refactor uv_cpu_info Fixes a couple of error handling issues: * Do - http://git.io/z51CPA
14:14:30  <MI6>joyent/libuv: Nicholas Vavilov v0.10 * bc5fa79 : build: add support for Visual Studio 2012 Closes #722 - http://git.io/IhJt_Q
14:23:16  * dominictarrjoined
14:26:33  * loladiroquit (Quit: loladiro)
14:34:53  * wolfeidaujoined
14:45:19  <txdv>why can't i find net.js anywhere in the installpath of node.js
14:46:44  <txdv>do you embed all the default libs in the node binary?
14:50:15  <bnoordhuis>txdv: yes
14:50:26  <txdv>we need a static lib build
14:50:33  <bnoordhuis>who is 'we'?
14:50:43  <txdv>the world
14:51:42  <txdv>it is already one binary
14:51:45  <bnoordhuis>what the world needs now is love
14:52:02  <txdv>atomic war
14:52:49  * dominictarrquit (Quit: dominictarr)
14:54:05  <txdv>this would be so awesome to embed into apps
14:54:52  <bnoordhuis>you can with a bit of hacking
14:55:06  <bnoordhuis>okay, i'm off to pick up my offspring
14:59:26  * bnoordhuisquit (Ping timeout: 255 seconds)
15:01:13  * dominictarrjoined
15:03:56  * bradleymeckquit (Quit: bradleymeck)
15:17:50  * dominictarrquit (Quit: dominictarr)
15:18:41  * felixgejoined
15:18:41  * felixgequit (Changing host)
15:18:41  * felixgejoined
15:25:26  * bnoordhuisjoined
15:34:03  * bnoordhuisquit (Ping timeout: 260 seconds)
15:34:21  <isaacs>good morning
15:34:31  <isaacs>piscisaureus_: you around?
15:34:41  <piscisaureus_>isaacs: yessir
15:34:50  <isaacs>so, can i pick your brain for a second about socket pooling?
15:34:57  <isaacs>quick high-level sanity check.
15:35:16  <piscisaureus_>isaacs: do you mind to do it a little later tonight?
15:35:27  <isaacs>sure.
15:35:29  <piscisaureus_>I mean, I *can* do it now but I'll be thrown out of this building in 25 minutes
15:35:38  <piscisaureus_>and I'm trying to flush out some libuv patches
15:35:43  <isaacs>ok, kewl.
15:35:52  <isaacs>should only be about 10-15 minutes, i suspect. can do it after you relocate.
15:36:01  <piscisaureus_>isaacs: seems better
15:40:27  * `3rdEdenquit (Remote host closed the connection)
15:51:10  <MI6>joyent/libuv: Bert Belder master * 1d5c61a : windows: simplify netmask detection in uv_interface_addresses - http://git.io/g0aKdw
15:51:49  <indutny>morning sir
15:51:56  <indutny>piscisaureus_: libuv release! :)
15:52:15  <piscisaureus_>fedor: can do.
15:52:37  <piscisaureus_>you have any idea how green we are?
15:52:48  <indutny>thank you
15:52:52  <indutny>piscisaureus_: no idea
15:52:57  <indutny>do you mean power consumption
15:53:05  <indutny>I believe we're generating a lot of heat
15:53:07  <piscisaureus_>indutny: in terms of tests passing
15:53:09  <indutny>with all our builds
15:53:12  <indutny>ah well
15:53:16  <indutny>they were passing on osx
15:53:20  <indutny>not sure about other platforms
15:53:38  <MI6>joyent/libuv: Bert Belder master * db1a8b8 : Merge branch 'v0.10' (+5 more commits) - http://git.io/-YFTew
15:53:42  <piscisaureus_>indutny: still ? :)
15:53:48  <indutny>haha
15:53:55  <indutny>wait, I was testing v0.10
15:53:57  <indutny>not master
15:54:08  <indutny>running
15:54:12  <piscisaureus_>indutny: which version do you want released? Master or 0.10 ?
15:54:38  <indutny>I need the version that'll be used in node.js master
15:54:48  <piscisaureus_>[% 40|+ 75|- 2]: timer_huge_repeat
15:54:48  <piscisaureus_>`timer_huge_repeat` failed: exit code 3
15:54:48  <piscisaureus_>Output from process `timer_huge_repeat`:
15:54:48  <piscisaureus_>Assertion failed in test\test-timer.c on line 249: handle == &tiny_timer
15:54:51  <piscisaureus_>^-- wtf?
15:54:58  <indutny>platform?
15:54:59  <indutny>osx?
15:55:01  <piscisaureus_>win
15:55:10  <indutny>=> fail
15:55:39  <piscisaureus_>I can still release it
15:56:35  <indutny>cool
15:56:37  <indutny>do it, please
15:57:50  * defunctzombiechanged nick to defunctzombie_zz
16:01:43  <MI6>nodejs-v0.10: #124 FAILURE windows-x64 (6/575) windows-ia32 (5/575) http://jenkins.nodejs.org/job/nodejs-v0.10/124/
16:02:01  <tjfontaine>there's going to be some noise while I try and get a replacement osx slave
16:03:56  <MI6>libuv-v0.8: #20 FAILURE smartos (8/158) linux (6/158) http://jenkins.nodejs.org/job/libuv-v0.8/20/
16:04:19  <MI6>libuv-v0.10: #30 FAILURE smartos (14/186) linux (15/186) windows (18/187) http://jenkins.nodejs.org/job/libuv-v0.10/30/
16:04:21  <MI6>libuv-master: #70 FAILURE linux (14/187) smartos (13/187) windows (11/188) http://jenkins.nodejs.org/job/libuv-master/70/
16:04:35  <indutny>ouch
16:04:38  <indutny>who killed CI
16:04:46  <tjfontaine>the osx laptop we were using finally died
16:04:47  <indutny>tjfontaine: aha, I knew there was something wrong with it
16:04:55  <indutny>was it laptop?
16:04:57  <indutny>oh gosh
16:05:39  <tjfontaine>the hdd was pretty much on its last legs when we got it
16:08:41  <piscisaureus_>indutny: want to hack on the changelog with me? http://sync.in/zUzxSZPk3N
16:09:46  <indutny>what should I do? :)
16:09:48  <indutny>oh wait
16:10:09  <indutny>I need to wash dishes
16:10:11  <indutny>first
16:10:15  <piscisaureus_>oh
16:10:17  <piscisaureus_>nevermind then
16:10:31  <indutny>sorry!
16:10:34  <indutny>wife is asking
16:11:41  <MI6>libuv-master: #71 UNSTABLE linux (3/187) smartos (5/187) windows (8/188) osx (2/187) http://jenkins.nodejs.org/job/libuv-master/71/
16:13:02  <indutny>I've some time :)
16:13:04  <indutny>ok, lets do it
16:16:35  * bradleymeckjoined
16:19:20  <indutny>piscisaureus_: I think that's pretty much it
16:19:27  <indutny>removed all not important stuff
16:19:29  <indutny>and left comments
16:20:47  * brsonjoined
16:20:53  * piscisaureus_quit (Ping timeout: 252 seconds)
16:22:12  <tjfontaine>indutny: thin archives don't work on older binutils and places like smartos
16:22:25  <indutny>wtf is thin archive :)
16:22:32  <indutny>haha
16:22:51  <indutny>ok, its ar's feature
16:24:12  * dapjoined
16:25:50  * txdvquit (Read error: Connection reset by peer)
16:26:03  * txdvjoined
16:31:07  <MI6>joyent/libuv: mscdex v0.10 * 633d33a : cygwin: remove unused variable - http://git.io/7yRM9w
16:31:59  * bnoordhuisjoined
16:33:19  <MI6>libuv-v0.10: #31 UNSTABLE smartos (4/186) linux (2/186) osx (2/186) windows (6/187) http://jenkins.nodejs.org/job/libuv-v0.10/31/
16:33:47  * inolen1quit (Quit: Leaving.)
16:37:57  * defunctzombie_zzchanged nick to defunctzombie
16:41:19  <MI6>libuv-node-integration: #9 UNSTABLE smartos-x64 (2/575) windows-ia32 (6/575) windows-x64 (7/575) http://jenkins.nodejs.org/job/libuv-node-integration/9/
16:43:01  * piscisaureus_joined
16:48:39  * defunctzombiechanged nick to defunctzombie_zz
16:49:25  * loladirojoined
16:53:20  * dominictarrjoined
16:59:25  * kevinswiberquit (Remote host closed the connection)
17:00:31  * defunctzombie_zzchanged nick to defunctzombie
17:01:00  * kevinswiberjoined
17:01:32  * dominictarrquit (Quit: dominictarr)
17:14:08  <MI6>nodejs-v0.10: #126 UNSTABLE linux-x64 (3/575) linux-ia32 (2/575) smartos-x64 (1/575) windows-x64 (5/575) windows-ia32 (10/575) osx-ia32 (1/575) http://jenkins.nodejs.org/job/nodejs-v0.10/126/
17:14:16  <MI6>nodejs-master: #144 UNSTABLE windows-x64 (7/575) osx-x64 (1/575) linux-x64 (1/575) windows-ia32 (9/575) smartos-ia32 (3/575) smartos-x64 (2/575) linux-ia32 (2/575) http://jenkins.nodejs.org/job/nodejs-master/144/
17:17:19  * stagasjoined
17:18:36  * inolenjoined
17:22:27  * qmxchanged nick to qmx|lunch
17:22:40  * TooTallNatejoined
17:28:19  <MI6>joyent/libuv: piscisaureus created tag node-v0.11.0 - http://git.io/CW7CCg
17:33:21  * sblomjoined
17:34:23  <MI6>nodejs-v0.10: #127 UNSTABLE linux-ia32 (1/575) windows-x64 (5/575) windows-ia32 (5/575) http://jenkins.nodejs.org/job/nodejs-v0.10/127/
17:36:50  * `3rdEdenjoined
17:42:04  <MI6>libuv-node-integration: #10 ABORTED windows-ia32 (5/575) linux-x64 (1/575) http://jenkins.nodejs.org/job/libuv-node-integration/10/
17:42:09  <MI6>nodejs-master: #145 ABORTED windows-x64 (7/575) linux-x64 (1/575) windows-ia32 (8/575) smartos-ia32 (2/575) smartos-x64 (2/575) linux-ia32 (2/575) http://jenkins.nodejs.org/job/nodejs-master/145/
17:43:56  <MI6>joyent/libuv: piscisaureus created tag v0.11.1 - http://git.io/gca0TA
17:44:06  <MI6>joyent/libuv: Ben Noordhuis master * e3eefae : darwin: look up file path with F_GETPATH Look up the file path with fcnt - http://git.io/UeWvOQ
17:44:22  <piscisaureus_>bnoordhuis: can you re-land that after I force push?
17:45:53  <piscisaureus_>bnoordhuis: nevermind, i will
17:45:56  <MI6>joyent/libuv: Ben Noordhuis master * 145f7b3 : darwin: look up file path with F_GETPATH Look up the file path with fcnt (+2 more commits) - http://git.io/R6povg
17:46:13  <MI6>libuv-master: #72 UNSTABLE linux (2/187) smartos (4/187) windows (8/188) osx (1/187) http://jenkins.nodejs.org/job/libuv-master/72/
17:46:17  <piscisaureus_>indutny: libuv v0.11.1 release
17:46:18  <piscisaureus_>d
17:48:00  <piscisaureus_>also, *isaacs
17:48:03  <tjfontaine>man, jenkins gets really pissed off when slaves start to burp, cascading failures onto windows because osx shat the bed
17:48:28  * kevinswiberquit (Remote host closed the connection)
17:48:42  <MI6>libuv-master: #73 UNSTABLE linux (3/187) smartos (5/187) windows (7/188) osx (2/187) http://jenkins.nodejs.org/job/libuv-master/73/
17:53:28  <indutny>tadam
17:53:31  <indutny>great!
18:01:16  <MI6>libuv-node-integration: #11 FAILURE smartos-x64 (1/575) smartos-ia32 (1/575) windows-ia32 (8/575) osx-ia32 (1/575) osx-x64 (1/575) windows-x64 (8/575) http://jenkins.nodejs.org/job/libuv-node-integration/11/
18:01:38  * eris0xffjoined
18:01:43  <eris0xff>hi
18:01:44  <indutny>piscisaureus_: thank you
18:02:21  <eris0xff>bnoordhuis: I'm working on my threading model. My libuv server has to manage multiple client sessions so I'm trying to clarify something.
18:03:53  <eris0xff>Does libuv abstract all callback based I/O mechanisms into it's own I/O thread? If so then I might as well not do the "one client per thread" model because it's unecessary.
18:04:25  <tjfontaine>libuv fs operations are in their own thread pool
18:04:48  <eris0xff>I just need to make sure that each session has it's own distinct data area.
18:05:07  <eris0xff>(the equivalent of thread-local data)
18:05:38  <eris0xff>So that session state is maintained properly.
18:06:24  <eris0xff>ok thx tjfontaine
18:06:53  <eris0xff>tjfontaine I would assume the same goes for stream ops
18:07:11  <eris0xff>(probably by default)
18:07:37  <bnoordhuis>eris0xff: define 'stream ops'?
18:08:01  <eris0xff>sorry stream I/O callback reads/writes
18:09:20  * loladiroquit (Quit: loladiro)
18:10:05  <eris0xff>bnoordhuis: so all IO Request callbacks, regardless if they are stream or file I/O are processed through a separate thread so they never block. I don't know how else you could do this.
18:10:23  <eris0xff>(in a portable way)
18:10:26  <bnoordhuis>eris0xff: well, it depends
18:10:37  <eris0xff>:-)
18:10:38  <bnoordhuis>file operations are done inside a thread pool, that's true
18:11:11  <bnoordhuis>network i/o however is done with the likes of epoll, kqueue, port_getn, etc.
18:11:18  <eris0xff>right
18:11:30  * piscisaureus_quit (Ping timeout: 264 seconds)
18:11:32  <bnoordhuis>that is, poll for readiness inside the current thread
18:11:41  <eris0xff>process through reactor callbacks
18:11:45  <bnoordhuis>yeah
18:11:58  <eris0xff>(at least on linux, assume IOCP on Windows)
18:12:01  * loladirojoined
18:12:03  <bnoordhuis>windows uses iocp which may or may not use threads
18:12:09  <eris0xff>right
18:12:29  <eris0xff>better question, unless I do something stupid, should network callbacks ever block?
18:12:35  <bnoordhuis>no
18:12:38  <eris0xff>ok
18:12:40  <eris0xff>:-)
18:13:37  <eris0xff>so if I'm implementing a multi-session app its better to just use IO request style callbacks for file io and network io and I won't block.
18:13:54  <eris0xff>Separate threads for long running, uncooperative processes.
18:14:00  <eris0xff>(workers)
18:14:01  <bnoordhuis>yep, that's correct
18:14:23  <eris0xff>ok I'm straight. I was thinking I should allocate a one-thread per session but that's unecessary.
18:15:10  <eris0xff>the only thing that requires sep thread are things that aren't I/O requests and have long completion times
18:15:27  <eris0xff>(computing a SHA1 hash possibly or creating an SSH key)
18:15:32  <bnoordhuis>yes, indeed
18:15:38  <eris0xff>ok happy now :-)
18:16:16  <MI6>libuv-node-integration: #12 FAILURE smartos-x64 (1/575) linux-ia32 (1/575) windows-ia32 (7/575) osx-ia32 (1/575) osx-x64 (1/575) windows-x64 (8/575) http://jenkins.nodejs.org/job/libuv-node-integration/12/
18:17:21  <eris0xff>bnoordhuis: I was thinking that someone running a session that needs an SSHKEY computed deserves to wait for it, but I forgot that a session can have it's own async I/O so you might as well have workers in any case.
18:18:03  <eris0xff>have a pretty cool idea for libuv+ something that's not been done yet. more info as soon as I run the tests.
18:18:20  <eris0xff>bnoordhuis: this might actually be useful.
18:18:40  <eris0xff>bbl
18:18:42  * eris0xffquit (Quit: irc2go)
18:23:03  * bnoordhuisquit (Ping timeout: 256 seconds)
18:27:29  * kevinswiberjoined
18:29:23  * skebcioquit (Quit: No Ping reply in 180 seconds.)
18:30:20  * skebciojoined
18:33:57  * skebcioquit (Client Quit)
18:43:42  * piscisaureus_joined
18:53:26  * piscisaureus_quit (Ping timeout: 255 seconds)
18:57:32  <MI6>libuv-v0.8: #21 UNSTABLE smartos (5/158) linux (1/158) osx (1/158) http://jenkins.nodejs.org/job/libuv-v0.8/21/
19:07:24  <MI6>libuv-node-integration: #13 FAILURE smartos-x64 (1/470) smartos-ia32 (1/470) linux-ia32 (2/470) osx-ia32 (1/470) osx-x64 (1/470) linux-x64 (1/470) http://jenkins.nodejs.org/job/libuv-node-integration/13/
19:07:33  * brsonquit (Ping timeout: 240 seconds)
19:12:04  * qmx|lunchchanged nick to qmx
19:24:54  * kevinswiberquit (Remote host closed the connection)
19:25:37  * kevinswiberjoined
19:29:44  * bnoordhuisjoined
19:34:27  * bnoordhuisquit (Ping timeout: 256 seconds)
19:39:52  <Raynos>isaacs: http://nodejs.org/api/http.html#http_response_write_chunk_encoding vs http://nodejs.org/api/stream.html#stream_writable_write_chunk_encoding_callback_1
19:39:58  <Raynos>should we document that `res.write` takes a callback?
19:41:10  * brsonjoined
19:53:26  * defunctzombiechanged nick to defunctzombie_zz
19:54:23  * TooTallNatequit (Quit: Computer has gone to sleep.)
19:55:34  * defunctzombie_zzchanged nick to defunctzombie
19:57:20  * defunctzombiechanged nick to defunctzombie_zz
19:57:23  * defunctzombie_zzchanged nick to defunctzombie
19:58:47  * defunctzombiechanged nick to defunctzombie_zz
20:02:46  * kevinswiberquit (Remote host closed the connection)
20:07:49  * kevinswiberjoined
20:14:27  * TooTallNatejoined
20:15:29  * bnoordhuisjoined
20:24:58  * defunctzombie_zzchanged nick to defunctzombie
20:25:43  * kevinswiberquit (Remote host closed the connection)
20:28:26  * sblomquit (Ping timeout: 256 seconds)
20:38:10  * rendarquit
20:41:17  * kevinswiberjoined
20:49:08  * bradleymeckquit (Quit: bradleymeck)
20:49:17  * mikealquit (Ping timeout: 252 seconds)
20:49:18  * sgallaghquit (Remote host closed the connection)
20:49:49  <saghul>cc1: error: unrecognized command line option "-Wno-dollar-in-identifier-extension"
20:50:03  <saghul>this doesn't seem to work with the gcc on 10.6
20:50:07  <tjfontaine>blame bnoordhuis
20:50:11  <tjfontaine>:)
20:50:22  <saghul>gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)
20:50:27  <saghul>bnoordhuis ^
20:51:06  <bnoordhuis>odd. works for me
20:51:21  <saghul>wat OSX version?
20:51:25  <saghul>*what
20:51:30  <bnoordhuis>10.8.2
20:51:40  <bnoordhuis>same llvm-gcc version
20:52:06  <saghul>isn't the one on 10.8 using clang?
20:52:40  <bnoordhuis>i think it's still gcc
20:52:48  <bnoordhuis>$ /usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/cc1 --version
20:52:48  <bnoordhuis>GNU C version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00) (i686-apple-darwin11) compiled by GNU C version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00).
20:52:52  <bnoordhuis>GGC heuristics: --param ggc-min-expand=150 --param ggc-min-heapsize=131072
20:53:03  <tjfontaine>make CC=llvm-gcc
20:53:03  <tjfontaine>dtrace -h -xnolibs -s src/unix/uv-dtrace.d -o src/unix/uv-dtrace.h
20:53:03  <tjfontaine>llvm-gcc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -I/Users/tjfontaine/Development/libuv/include -I/Users/tjfontaine/Development/libuv/include/uv-private -I/Users/tjfontaine/Development/libuv/src -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE=1 -Isrc/unix -g -Wno-dollar-in-identifier-extension -DHAVE_DTRACE -c src/unix/async.c -o src/unix/async.o
20:53:10  <tjfontaine>cc1: error: unrecognized command line option "-Wno-dollar-in-identifier-extension"
20:53:23  <saghul>https://gist.github.com/saghul/8ac352f3232eadecae36
20:53:24  <tjfontaine>default compiler has been clang since 10.7
20:54:09  <tjfontaine>my error was on 10.8.3 btw
20:54:14  <bnoordhuis>saghul: what does `ls -l $(which gcc)` print?
20:54:27  <bnoordhuis>out of curiosity
20:54:49  <saghul>"/usr/bin/gcc -> llvm-gcc-4.2"
20:54:56  <tjfontaine>but does it use cc?
20:55:01  <saghul>but isn't "cc" using clang now?
20:55:09  <tjfontaine>yes
20:55:13  <saghul>ah
20:55:19  <bnoordhuis>ah
20:55:23  <bnoordhuis>ah indeed
20:55:35  <bnoordhuis>i blame apple
20:55:39  <saghul>oh, the joy of OSX
20:55:57  <tjfontaine>who supports 10.6 these days anyway :P
20:56:09  <saghul>Apple
20:56:12  <saghul>;-)
20:56:18  <TooTallNate>tjfontaine: ya, 10.5 is ok to not support
20:56:18  <tjfontaine>btw I'd vote for dropping the 10.5 support from node
20:56:26  <TooTallNate>Snow Leopard, a bit longer :)
20:56:26  <tjfontaine>TooTallNate: +1
20:56:36  <tjfontaine>ya
20:56:38  <saghul>It's Mac OS XP after all
20:56:45  <TooTallNate>tjfontaine: Google doesn't support Leopard for Chrome
20:56:58  <tjfontaine>TooTallNate: right which is why I would advocate moving our min as well
20:56:59  <TooTallNate>tjfontaine: in fact, the newest XCode doesn't even compile for 10.5
20:57:10  <TooTallNate>or so i'm told...
20:57:29  <tjfontaine>well it still supports the min sdk target
20:57:32  <saghul>10.8 doesn't even have the 10.6 SDK anymore IIRC
20:57:44  <tjfontaine>doesn't need them so long as ABI is right :)
21:02:31  * kevinswiberquit (Ping timeout: 245 seconds)
21:06:14  <bnoordhuis>gr, those $ signs in probe names are hardcoded in dtrace
21:07:15  <bnoordhuis>and look like it's apple who wrote that code
21:10:44  * kevinswiberjoined
21:11:54  <isaacs>hello, heroes
21:14:06  <bnoordhuis>saghul: what do `cc -dumpversion` and `cc --version` print for you?
21:14:33  <tjfontaine>haha, -dumpversion is an awesome lie
21:15:14  <saghul>bnoordhuis https://gist.github.com/saghul/8ac352f3232eadecae36
21:15:47  <bnoordhuis>okay, thanks
21:17:01  * kevinswi_joined
21:17:36  * kevinswiberquit (Ping timeout: 264 seconds)
21:22:48  <isaacs>ircretary: when piscisaureus
21:22:49  <ircretary>isaacs: piscisaureus was last seen at 2013-03-18T14:02:19.698Z, quit: Quit: ~ Trillian Astra - www.trillian.im ~ #libuv
21:22:51  <isaacs>ircretary: when piscisaureus_
21:22:51  <ircretary>isaacs: piscisaureus_ was last seen at 2013-04-10T18:43:42.613Z, joining #libuv
21:23:16  <isaacs>ircretary: you're getting slow in your old age.
21:23:16  <ircretary>isaacs: I'm not sure what to do with that command. Ask for help in PM.
21:24:11  <isaacs>i should've pushed back harder on Readable.unshift.
21:24:12  * isaacssigh
21:25:52  * kevinswiberjoined
21:26:45  * piscisaureus_joined
21:27:05  <piscisaureus_>ircretary: notes
21:27:20  * kevinswi_quit (Ping timeout: 255 seconds)
21:27:24  <piscisaureus_>, in #libuv, isaacs said: when piscisaureus
21:28:12  <piscisaureus_>isaacs: ?
21:28:27  <isaacs>piscisaureus_: hey
21:28:36  <isaacs>got a bit of time to talk about socket pooling and reconnection?
21:28:37  <piscisaureus_>isaacs: we have business to do
21:28:43  <piscisaureus_>isaacs: yes I'm all yours
21:28:47  <isaacs>huzzah!
21:28:59  <isaacs>so, basically just a sanity check-in before moving further on this.
21:29:07  <piscisaureus_>isaacs: ok
21:29:38  <isaacs>the mission is to create a good socket pooling implementation so that we can do keepalives for performance, without the insane latency bubbles as we wait for other connections to close (by auto-expanding up to some limit)
21:29:48  <isaacs>the auto-expansion is easy
21:30:01  <isaacs>the tricky bit is managing putting the sockets back in the bucket
21:30:20  <piscisaureus_>isaacs: ok
21:30:37  <isaacs>because, even with TCP keepalives enabled (which using the pool will enable automatically) you still sometimes get an RST packet returned from the first write/read attempt
21:31:05  <isaacs>also, a few people have asked for not a pool, but a single socket that will automatically reconnect, do exponential backoff, etc., and even retry failed reads and writes.
21:31:18  <isaacs>ie, "Always stay fucking connected, and don't tell me about it unless you have a real problem."
21:31:29  <isaacs>(the "fucking" is semantically relevant here.)
21:31:34  <piscisaureus_>isaacs: well - hmm
21:31:41  * trevnorrisjoined
21:31:49  <isaacs>of course, using such a thing for http directly is a bit insane.
21:31:57  <isaacs>while you're doing an http message, a RST is deadly
21:32:28  <piscisaureus_>isaacs: if you get an ECONNRESET or an ECONNABORTEN then you are never sure if you got all data that was send to you, or if all the data you wrote made it to the other end.
21:32:31  <isaacs>but, for the FIRST write of an http request, you'll get an ECONNRESET every so often when you're using a pool.
21:32:39  <isaacs>right
21:32:47  <isaacs>so we can't have them in auto-reconnect mode while they're out of the bucket.
21:32:49  <isaacs>in use
21:33:15  <isaacs>we take the socket from the bucket, and it gets 1 chance to retry a read or write, and if that fails, it's an error.
21:33:29  <piscisaureus_>isaacs: so if a http WRITE failed then you can safely retry
21:33:30  <isaacs>and once it's connected, it's not a reconnectable socket any more, until it goes back in the bucket.
21:33:34  <isaacs>right
21:33:54  <piscisaureus_>isaacs: atleast, when it is a header :)
21:33:55  <isaacs>but you generally always have a WRITE first thing with an http request.
21:34:00  <isaacs>yeah
21:34:05  <isaacs>the first write() is ok to retry
21:34:10  <isaacs>if you get an ECONNRESET
21:34:33  <isaacs>once you have a single successful write, the socket is "in use" and cannot be reconnected until its freed
21:35:06  <piscisaureus_>isaacs: yes, well, most of the time :). Of course what could happen is that your first write() contains all the headers and the final \r\n\r\n and the server started processing it already. And the HTTP method was non-idempotent like POST
21:35:40  <piscisaureus_>isaacs: in that case of course retrying might make it happen twice
21:35:41  <isaacs>so the server gets your write() and starts processing your req, and then sends an RST?
21:36:02  * `3rdEdenquit (Read error: Connection reset by peer)
21:36:15  <isaacs>that sounds kind of odd.
21:36:23  <piscisaureus_>isaacs: well - what is the server here. Maybe it's node and it crashed while processing. Normally the OS would send an RST in that case.
21:36:32  <isaacs>hm...
21:36:35  * `3rdEdenjoined
21:37:01  <piscisaureus_>isaacs: so the question is - can you be sure that that crashing node server didn't already process your request :)
21:37:09  <isaacs>i see what you're saying.
21:37:38  <piscisaureus_>isaacs: in the special case of HTTP i would say that retrying GET is completely safe
21:37:51  <isaacs>without transaction ids or some other application-level tracking mechanism, it'd be hard to avoid double-requesting.
21:37:59  <isaacs>GET, PUT, DELETE, and HEAD are idempotent
21:38:18  <isaacs>or at least, OUGHT to be.
21:38:29  <isaacs>server.on('connection', function() { EXPLODE THE WORLD })
21:38:31  <piscisaureus_>isaacs: yes. So the question is, do you want node to be a black box and do a reasonable thing>
21:38:40  <isaacs>hmmmmm..
21:38:46  <piscisaureus_>isaacs: yes, that might be a problematic implementation :)
21:39:08  <isaacs>so, you are confirming a tingle i had about this not smelling quite right.
21:39:20  <isaacs>it seems like we're basically implementing TCP keepalive at the HTTP level, on top of TCP
21:40:12  <isaacs>which is, of course, a bit silly, since TCP already has that built-in, if you use it
21:40:35  <isaacs>the retryWrite and retryRead stuff definitely feels a bit sketchy to me.
21:40:55  <isaacs>connection retries with exponential backoff actually seems pretty reasonable, though.
21:42:34  <isaacs>ok, i'm going to remove this whole "provisional" concept from the socket pool flow.
21:43:20  * piscisaureus_quit (Read error: Connection reset by peer)
21:44:10  <isaacs>tjfontaine: do you know how travis-ci interacts with github to mark pull reqs as ok/bad?
21:44:42  * piscisaureus_joined
21:44:54  <tjfontaine>isaacs: without looking too closely, I'm guessing they have a service provider/module for github
21:45:15  <piscisaureus_>tjfontaine: sounds like dependency injection :)
21:45:24  <piscisaureus_>isaacs: the question would be, how do browsers deal with this?
21:45:53  <piscisaureus_>isaacs: my guess would be that they give up on http keepalive connections quite quickly, like after 10s or so
21:46:11  <isaacs>piscisaureus_: afaict, by retrying the request or giving up.
21:46:19  <isaacs>and yes, while in-flight, they have a very low tolerance for timeouts
21:46:43  <piscisaureus_>isaacs: or they might just also retry GET and HEAD, and not use pooled sockets for other methods at all
21:46:48  <tjfontaine>isaacs: https://github.com/blog/1227-commit-status-api I'll see if I can use this same stuff for jankins
21:46:50  <MI6>joyent/libuv: Ben Noordhuis v0.10 * 0ff06b4 : build: -Wno-dollar-in-identifier-extension is clang only Add a compiler - http://git.io/CElAow
21:46:53  <bnoordhuis>saghul: ^
21:47:12  <isaacs>piscisaureus_: they definitely use 8 pooled sockets by default for all the GETs you make to a webpage.
21:47:14  <piscisaureus_>bnoordhuis: y u no merge :-p
21:47:27  <isaacs>piscisaureus_: and keep those alive for quite a long time if you have the tab open
21:47:40  <isaacs>piscisaureus_: but downloading a webpage is *always* like 90% GET
21:47:55  <bnoordhuis>piscisaureus_: in a bit
21:47:57  <piscisaureus_>isaacs: well do they also use a pooled socket for POST/PUT/DELETE etc ?
21:48:00  <isaacs>even if you POST the original, you keep the socket open to GET all the other images and CSS and crap
21:48:16  <isaacs>piscisaureus_: that's interesting. i'm not sure.
21:48:22  <piscisaureus_>bnoordhuis: no I was boomeraning your criticism this afternoon :-p
21:48:35  <saghul>bnoordhuis works, thanks!
21:48:51  <piscisaureus_>isaacs: we should probably look at the http client in chromium or firefox
21:49:41  <MI6>libuv-v0.10: #32 UNSTABLE smartos (5/186) linux (2/186) osx (2/186) windows (7/187) http://jenkins.nodejs.org/job/libuv-v0.10/32/
21:50:31  <piscisaureus_>isaacs: http://git.chromium.org/gitweb/?p=chromium/src/net.git;a=blob;f=http/http_pipelined_host_impl.cc;h=2c8238a192233b74a20c0ab136ef9eac26b39bc1;hb=HEAD and http://git.chromium.org/gitweb/?p=chromium/src/net.git;a=blob;f=http/http_pipelined_host_pool.cc;h=7b00e7eeeae643502776a447f19eecb6cb018bea;hb=HEAD
21:55:47  * loladiroquit (Quit: loladiro)
21:57:12  <piscisaureus_>isaacs: this one is interesting:
21:57:13  <piscisaureus_>http://git.chromium.org/gitweb/?p=chromium/src/net.git;a=blob;f=http/http_network_transaction.cc;h=70530157f79634fde9f8596bfda35cfa5be0d457;hb=HEAD#l1272
21:59:11  <isaacs>very interesting!
22:00:07  <piscisaureus_>https://code.google.com/p/chromium/issues/detail?id=105824
22:02:52  <isaacs>so, if the request was on a re-used keepalive connection, and they have not received the headers, then they resend....
22:04:44  <isaacs>that issue seems like you could trigger it in chrome by doing res.setHeader('connection', 'keep-alive');res.end('ok', function() { res.socket.destroy() })
22:05:01  <piscisaureus_>isaacs: also, judging by chrome's unit tests, they never ever use a keepalive connection for anything but HTTP GET
22:05:28  <MI6>libuv-node-integration: #14 UNSTABLE windows-ia32 (7/575) windows-x64 (6/575) http://jenkins.nodejs.org/job/libuv-node-integration/14/
22:05:33  <piscisaureus_>so, double negations aside, they pipeline only GET requests
22:07:50  <trevnorris>isaacs: in a couple places w/ current buffers values are coerced to uint w/o checking negative values.
22:08:09  <trevnorris>which means they end up on the (n - 2^31) side
22:08:15  <isaacs>trevnorris: those are bugs.
22:08:17  <trevnorris>do we care about adding checks for those?
22:08:18  <trevnorris>ok.
22:08:25  <trevnorris>i'll make a pr.
22:12:04  * kevinswiberquit (Remote host closed the connection)
22:15:47  * hzquit
22:27:12  * kevinswiberjoined
22:30:01  * aledbfquit (Read error: Operation timed out)
22:30:28  * kevinswiberquit (Remote host closed the connection)
22:37:33  * piscisaureus_quit (Ping timeout: 240 seconds)
22:38:31  * `3rdEdenquit (Quit: gnite dudes and dudettes)
22:51:53  * aledbfjoined
23:02:07  * luigyjoined
23:02:51  <mmalecki>bnoordhuis: isaacs I think that we should expose verifyError() from SSL over crypto, what do you guys think?
23:07:19  * stagasquit (Read error: Connection reset by peer)
23:09:38  * dominictarrjoined
23:10:05  * aledbfquit (Ping timeout: 252 seconds)
23:17:28  <isaacs>mmalecki: expose it how, exactly?
23:19:16  <mmalecki>isaacs: preferably as a function accepting a certificate and CAs, but not sure just yet
23:19:56  <mmalecki>isaacs: the problem I'm having is that I need to verify credentials but only way to do it is to create a server
23:20:01  <mmalecki>and connect to it
23:24:52  * loladirojoined
23:28:40  * loladiroquit (Client Quit)
23:34:27  <trevnorris>bnoordhuis: any tips on what to do with a "glibc detected: corrupted double-linked list" but can't reproduce in valgrind?
23:35:11  <trevnorris>ah. was able to catch the backtrace in gdb. that should do it.
23:36:51  * loladirojoined
23:38:25  * indexzerojoined
23:41:12  * dominictarrquit (Quit: dominictarr)
23:47:50  <tjfontaine>when core modules require, they're not subject to caching?
23:48:55  <mmalecki>tjfontaine: you mean NativeModule.require?
23:49:28  <mmalecki>tjfontaine: those are being cached
23:49:39  <tjfontaine>no, stuff in lib/
23:50:23  <mmalecki>they should be cached too. there was an exception involving repl tho, which I don't recall
23:51:19  <tjfontaine>haven't really looked at what I did wrong, but I did a pass at splitting up http.js, and I believe the tests are running significantly slower, so either some extra property accessors are causing the problems, or they're re-requiring things
23:52:38  <bnoordhuis>i'll just leave this here: https://github.com/bnoordhuis/ragel/tree/jscodegen
23:53:06  <mmalecki>tjfontaine: require shouldn't be *that* slow
23:53:18  <mmalecki>I mean, what does significantly mean?
23:53:58  <tjfontaine>mmalecki: I haven't timed them yet to see, but it felt pretty slow as I was watching
23:54:19  <tjfontaine>one of the things I want to add to the tap output for the tests is how long each test took
23:56:48  <tjfontaine>https://github.com/tjfontaine/node/compare/http-split depressing that it will muck up blame
23:58:25  <tjfontaine>bnoordhuis: what prompted you to add js to ragel?
23:59:26  <bnoordhuis>tjfontaine: i have this ill-defined idea of writing a http parser in c and js and see how they stack up
23:59:36  <bnoordhuis>with the scanner written in ragel
23:59:43  <tjfontaine>ah