00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:01:30  * dshaw_joined
00:01:30  * dshaw_quit (Client Quit)
00:01:34  * dominictarrquit (Quit: dominictarr)
00:11:02  * bnoordhuisjoined
00:12:18  * wolfeidaujoined
00:12:46  * dshaw_joined
00:12:46  * dshaw_quit (Client Quit)
00:15:53  * bnoordhuisquit (Ping timeout: 256 seconds)
00:17:06  * dshaw_joined
00:17:24  * st_lukequit (Remote host closed the connection)
00:23:11  * ecrquit (Quit: ecr)
00:26:49  * mikealquit (Quit: Leaving.)
00:28:11  * mikealjoined
00:29:21  <isaacs>trevnorris: pong
00:29:46  <isaacs>Domenic_: No, tap doesn't use domains. it uses something like domains, but pre-domains. it's a jury-rigged hacky thing that uses process.on('uncaughtException')
00:35:04  * EhevuTovquit (Quit: This computer has gone to sleep)
00:35:56  * EhevuTovjoined
00:39:51  <MI6>nodejs-v0.10: #1434 UNSTABLE smartos-x64 (2/597) osx-x64 (1/597) linux-ia32 (1/597) http://jenkins.nodejs.org/job/nodejs-v0.10/1434/
00:40:49  * EhevuTovquit (Ping timeout: 256 seconds)
00:47:34  * paulfryzeljoined
00:51:55  * paulfryzelquit (Ping timeout: 246 seconds)
00:52:05  * indexzerojoined
01:00:06  <MI6>nodejs-v0.10-windows: #162 UNSTABLE windows-ia32 (8/597) windows-x64 (8/597) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/162/
01:03:55  * kazuponjoined
01:05:13  * dapquit (Quit: Leaving.)
01:07:16  * kazuponquit (Remote host closed the connection)
01:08:54  * mikealquit (Quit: Leaving.)
01:09:05  * jmar777joined
01:11:34  * kazuponjoined
01:14:26  * M28quit (Remote host closed the connection)
01:27:42  * dshaw_quit (Quit: Leaving.)
01:37:26  * abraxasjoined
01:42:14  * toothrchanged nick to toothrot
01:43:31  * amartensquit (Quit: Leaving.)
01:44:55  * groundwaterquit (Quit: groundwater)
01:48:07  * paulfryzeljoined
01:52:30  * paulfryzelquit (Ping timeout: 245 seconds)
01:58:31  * dshaw_joined
01:59:15  * jmar777quit (Remote host closed the connection)
02:03:28  * dshaw_quit (Ping timeout: 264 seconds)
02:16:13  * mikealjoined
02:19:16  * dshaw_joined
02:21:47  * c4milojoined
02:23:39  * dshaw_quit (Ping timeout: 260 seconds)
02:38:13  * c4miloquit (Remote host closed the connection)
02:43:43  * c4milojoined
02:49:47  * dshaw_joined
03:02:05  * dshaw_quit (Quit: Leaving.)
03:06:22  * c4miloquit (Remote host closed the connection)
03:22:07  * AvianFluquit (Remote host closed the connection)
03:24:21  * AvianFlujoined
03:24:46  * EhevuTovjoined
03:40:24  * kazuponquit (Remote host closed the connection)
03:55:40  * dshaw_joined
03:57:53  * AvianFluquit (Read error: Connection reset by peer)
03:58:28  * AvianFlujoined
04:10:45  * kazuponjoined
04:20:16  * kazuponquit (Ping timeout: 264 seconds)
04:21:53  * kazuponjoined
04:22:06  * kazuponquit (Read error: Connection reset by peer)
04:22:21  * kazuponjoined
04:22:52  * kazuponquit (Remote host closed the connection)
04:23:27  * kazuponjoined
04:26:16  * kazupon_joined
04:26:21  * brsonquit (Ping timeout: 256 seconds)
04:28:23  * brsonjoined
04:29:11  * kazuponquit (Ping timeout: 256 seconds)
04:36:19  * M28joined
04:36:32  * M28quit (Remote host closed the connection)
04:42:51  * AvianFluquit (Remote host closed the connection)
05:07:43  * mikealquit (Quit: Leaving.)
05:08:14  * mikealjoined
05:09:54  * EhevuTovquit (Quit: This computer has gone to sleep)
05:10:33  * toothrotquit (Ping timeout: 256 seconds)
05:19:24  * EhevuTovjoined
05:27:23  * felixgejoined
05:27:23  * felixgequit (Changing host)
05:27:23  * felixgejoined
05:46:25  * bajtosjoined
05:55:47  * felixgequit (Quit: felixge)
05:59:42  * indexzeroquit (Quit: indexzero)
06:00:16  * brson_joined
06:00:24  * amartensjoined
06:01:33  * brsonquit (Ping timeout: 256 seconds)
06:13:55  * bajtosquit (Quit: bajtos)
06:19:30  * bajtosjoined
06:19:37  * EhevuTovquit (Quit: This computer has gone to sleep)
06:20:33  * ikquit (Ping timeout: 264 seconds)
06:20:53  * ikjoined
06:28:21  * julianduquequit (Ping timeout: 248 seconds)
06:29:21  * brson_quit (Quit: leaving)
06:30:04  * rjequit (Ping timeout: 260 seconds)
06:30:45  * dshaw_quit (Quit: Leaving.)
06:35:32  * rjejoined
06:45:05  * dshaw_joined
06:45:12  * dshaw_quit (Client Quit)
06:46:15  * Damn3dquit (Ping timeout: 245 seconds)
06:49:05  * Damn3djoined
06:54:38  <MI6>nodejs-v0.10-windows: #163 UNSTABLE windows-ia32 (8/597) windows-x64 (8/597) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/163/
07:15:34  * dominictarrjoined
07:15:52  * dshaw_joined
07:17:07  * dshaw_1joined
07:17:18  * dshaw_quit (Read error: Connection reset by peer)
07:18:36  * dshaw_joined
07:19:58  * dshaw_quit (Read error: Connection reset by peer)
07:20:05  * dshaw_2joined
07:21:31  * dshaw_joined
07:22:04  * dshaw_1quit (Ping timeout: 264 seconds)
07:23:00  * dshaw_1joined
07:23:08  * dshaw_quit (Read error: Connection reset by peer)
07:24:18  * amartensquit (Quit: Leaving.)
07:24:22  * dshaw_1quit (Read error: Connection reset by peer)
07:24:29  * dshaw_joined
07:24:39  * dshaw_2quit (Ping timeout: 260 seconds)
07:25:59  * dshaw_1joined
07:26:04  * dshaw_quit (Read error: Connection reset by peer)
07:27:22  * dshaw_1quit (Read error: Connection reset by peer)
07:27:23  * dshaw_joined
07:28:53  * dshaw_quit (Read error: Connection reset by peer)
07:28:57  * dshaw_1joined
07:30:23  * dshaw_joined
07:30:43  * dshaw_1quit (Read error: Connection reset by peer)
07:31:51  * dshaw_1joined
07:31:56  * dshaw_quit (Read error: Connection reset by peer)
07:33:20  * dshaw_joined
07:34:47  * dshaw_2joined
07:35:01  * dshaw_quit (Read error: Connection reset by peer)
07:36:09  * dshaw_2quit (Read error: Connection reset by peer)
07:36:16  * dshaw_joined
07:36:36  * dshaw_1quit (Ping timeout: 256 seconds)
07:37:44  * dshaw_1joined
07:37:47  * dominictarrquit (Quit: dominictarr)
07:39:11  * dshaw_2joined
07:39:30  * dshaw_1quit (Read error: Connection reset by peer)
07:40:41  * dshaw_1joined
07:40:42  * dshaw_2quit (Read error: Connection reset by peer)
07:40:43  * dshaw_quit (Ping timeout: 246 seconds)
07:42:09  * dshaw_joined
07:42:43  * dshaw_1quit (Read error: Connection reset by peer)
07:59:33  * dshaw_quit (Ping timeout: 248 seconds)
08:05:16  * dominictarrjoined
08:11:53  * kellabytequit (*.net *.split)
08:11:54  * CAPSLOCKBOT_quit (*.net *.split)
08:11:54  * mburnsquit (*.net *.split)
08:11:54  * LOUDBOTquit (*.net *.split)
08:12:02  * mburnsjoined
08:15:23  * kellabytejoined
08:17:04  * CAPSLOCKBOTjoined
08:20:27  * LOUDBOTjoined
08:25:21  * dshaw_joined
08:32:17  * dshaw_quit (Ping timeout: 256 seconds)
08:33:23  <MI6>joyent/node: Fedor Indutny master * a1b3273 : test: fix test failure on linux after edd2fcc - http://git.io/HitpAg
08:34:19  * defunctzombiechanged nick to defunctzombie_zz
08:38:03  * defunctzombie_zzchanged nick to defunctzombie
08:42:10  <indutny>hey people
08:42:12  <indutny>good morning
08:42:45  <MI6>nodejs-master: #455 UNSTABLE smartos-x64 (11/630) smartos-ia32 (3/630) osx-x64 (1/630) osx-ia32 (2/630) linux-ia32 (1/630) linux-x64 (1/630) http://jenkins.nodejs.org/job/nodejs-master/455/
08:47:36  * defunctzombiechanged nick to defunctzombie_zz
08:55:45  * kazupon_quit (Remote host closed the connection)
08:55:47  * rendarjoined
08:57:23  * mordy__quit (Ping timeout: 246 seconds)
08:58:26  * mordy__joined
09:06:43  <MI6>nodejs-master-windows: #251 FAILURE windows-x64 (20/630) windows-ia32 (17/630) http://jenkins.nodejs.org/job/nodejs-master-windows/251/
09:13:33  * EhevuTovjoined
09:27:16  * dshaw_joined
09:32:05  * dshaw_quit (Ping timeout: 262 seconds)
09:39:04  * bajtosquit (Quit: bajtos)
09:39:33  * piscisaureus_joined
09:57:32  * defunctzombie_zzchanged nick to defunctzombie
10:00:44  * stagasjoined
10:00:45  * stagasquit (Remote host closed the connection)
10:07:19  * defunctzombiechanged nick to defunctzombie_zz
10:11:26  * bajtosjoined
10:13:25  * stagasjoined
10:14:41  * EhevuTovquit (Quit: This computer has gone to sleep)
10:18:13  * bajtosquit (Ping timeout: 248 seconds)
10:26:53  * kazuponjoined
10:27:40  * dshaw_joined
10:32:15  * dshaw_quit (Ping timeout: 260 seconds)
10:40:34  * bnoordhuisjoined
10:45:02  <MI6>nodejs-v0.10: #1435 UNSTABLE linux-x64 (1/597) osx-ia32 (1/597) smartos-x64 (1/597) http://jenkins.nodejs.org/job/nodejs-v0.10/1435/
10:54:04  * kazuponquit (Remote host closed the connection)
11:01:16  * kazuponjoined
11:01:38  * piscisaureus_quit (Ping timeout: 246 seconds)
11:12:40  <indutny>bnoordhuis: hello
11:12:45  <indutny>how are you?
11:15:56  <bnoordhuis>indutny: sup fedor? i'm doing fine
11:16:02  <indutny>me good too
11:16:08  <indutny>basically this https://github.com/joyent/libuv/pull/894
11:16:53  <indutny>and probably few others PRs :)
11:16:57  <indutny>but who cares
11:17:12  <indutny>bnoordhuis: please let me know if you want me to describe something
11:17:15  <indutny>bnoordhuis: how it works
11:17:19  <indutny>or why it works this way
11:17:20  <indutny>:D
11:17:28  <bnoordhuis>okay. i'll take a look in a bit
11:17:43  <indutny>thank you
11:28:08  * dshaw_joined
11:30:35  * kazuponquit (Remote host closed the connection)
11:32:29  * dshaw_quit (Ping timeout: 256 seconds)
11:45:51  * piscisaureus_joined
11:47:08  * abraxasquit (Remote host closed the connection)
12:01:36  * AvianFlujoined
12:01:51  <indutny>bnoordhuis: one more to your list ;)
12:01:51  <indutny>https://github.com/joyent/node/pull/6091
12:02:18  <bnoordhuis>indutny: is that the ipv6 test fixup?
12:02:22  <indutny>no
12:02:26  <indutny>I already pushed it
12:02:29  <indutny>:)
12:02:32  <bnoordhuis>oh, you already landed that
12:02:32  <indutny>test fixup
12:02:32  <bnoordhuis>okay
12:02:34  <indutny>yep
12:02:41  <indutny>actually, I was supposed to land it as part of that commit
12:02:49  <indutny>but called git --amend with out `-a` flag
12:03:03  <indutny>my bad
12:08:19  * Damn3dquit (Ping timeout: 264 seconds)
12:08:38  <bnoordhuis>indutny: what i mean is 'might invoke' implies it also might now. 'could lead to', ditto
12:08:44  <bnoordhuis>it's a bit ambiguous
12:08:59  <indutny>well
12:09:01  <indutny>it might
12:09:06  <indutny>which happens with tls.connect
12:09:17  <indutny>if rejectUnauthorized is set
12:09:20  <bnoordhuis>`maybeInitFinished()` can emit the 'secure' event which in turn destroys the connection <- something like that
12:09:26  <indutny>ok
12:09:31  <bnoordhuis>and add why that is bad :)
12:10:05  <bnoordhuis>err, when i said 'it also might now' i obviously meant 'it also might not'
12:10:11  <indutny> // `maybeInitFinished()` can emit the 'secure' event which
12:10:11  <indutny> // in turn destroys the connection in case of authentication
12:10:12  <indutny> // failure and sets `this.pair.ssl` to `null`.
12:10:13  <bnoordhuis>(obviously, right?)
12:10:21  <indutny>does it sounds good to you?
12:10:23  <bnoordhuis>yep
12:10:30  <indutny>ok
12:10:39  <indutny>pushing fix to that PR
12:10:40  * Damn3djoined
12:10:40  <bnoordhuis>also, a test would be nice
12:11:21  <indutny>oh noes
12:11:26  <indutny>its too complicated
12:11:34  <indutny>and won't be really reliable
12:12:02  <indutny>bnoordhuis: last review of it https://github.com/indutny/node/commit/87b02ee55b6557c9a75768a183502a76d3bd891a
12:12:03  <indutny>please
12:13:14  <indutny>bnoordhuis: lgty?
12:13:33  <bnoordhuis>indutny: . In the result, following assertion was
12:13:34  <bnoordhuis>thrown:
12:13:35  <bnoordhuis>err
12:13:45  <bnoordhuis>", resulting in the following assertion"
12:13:50  <bnoordhuis>if you'll allow me a little nitpicking
12:13:53  <indutny>ok
12:13:54  <indutny>:)
12:14:10  <bnoordhuis>oh, and...
12:14:14  <bnoordhuis>(yes, i'm awful)
12:14:22  <indutny>should I write this?
12:14:28  <bnoordhuis>put each conditional on its own line
12:14:34  <indutny>oh oh
12:14:37  <bnoordhuis>but then, yes, LGTM :)
12:14:56  <indutny>ok
12:14:59  <indutny>thank you :)
12:15:31  <MI6>joyent/node: Fedor Indutny v0.10 * af6a233 : tls: fix assertion when ssl is destroyed at read - http://git.io/G-30Uw
12:15:55  <indutny>brb
12:24:14  <MI6>nodejs-v0.10: #1436 UNSTABLE osx-ia32 (1/597) smartos-x64 (1/597) http://jenkins.nodejs.org/job/nodejs-v0.10/1436/
12:28:34  * dshaw_joined
12:33:09  * dshaw_quit (Ping timeout: 248 seconds)
12:36:49  * AvianFluquit (Remote host closed the connection)
12:41:13  <MI6>nodejs-v0.10-windows: #164 UNSTABLE windows-ia32 (8/597) windows-x64 (8/597) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/164/
12:44:03  * jmar777joined
12:50:44  * pachetjoined
12:55:40  <bnoordhuis>https://news.ycombinator.com/item?id=6247849 <- haha, very recognizable
12:55:51  <indutny>bnoordhuis: back
12:55:56  <indutny>bnoordhuis: what about other PRs?
12:59:04  <piscisaureus_>bnoordhuis: can we make the result value for uv_process_t an int64_t
12:59:35  <piscisaureus_>bnoordhuis: that avoids stripping the (meaningful) high bit in case a windows process dies because of an unhandled SEH exception
13:04:17  <bnoordhuis>indutny: in a bit
13:04:22  <indutny>heh
13:04:24  <indutny>ok, thanks
13:04:31  <bnoordhuis>piscisaureus_: err, i don't know. probably
13:04:50  <bnoordhuis>what meaningful bits are we talking here?
13:08:57  <MI6>joyent/node: Ben Noordhuis v0.10 * 8d42c63 : deps: upgrade http_parser to 303c4e4 - http://git.io/hlXUGA
13:10:38  <piscisaureus_>bnoordhuis: https://github.com/joyent/libuv/blob/8531046a86afcff6c93591fb88e2a22ec2c7e0a0/src/win/process.c#L763
13:10:43  <piscisaureus_>bnoordhuis: ^-- wreaks havoc
13:11:08  <bnoordhuis>ah
13:11:13  <bnoordhuis>sorry, gotta run. biab
13:11:21  <piscisaureus_>I always dreamt of using the phrase "wreaks havoc" in a meaningul context
13:11:26  <piscisaureus_>bnoordhuis: scary innit?
13:11:37  <piscisaureus_>when your boss is around
13:11:57  <piscisaureus_>you are wearing your nice tie today aren't you Ben?
13:13:23  * toothrjoined
13:16:04  * bnoordhuisquit (Ping timeout: 264 seconds)
13:16:15  * piscisaureus_quit (Ping timeout: 245 seconds)
13:16:28  <MI6>nodejs-v0.10: #1437 UNSTABLE smartos-x64 (2/597) linux-ia32 (1/597) http://jenkins.nodejs.org/job/nodejs-v0.10/1437/
13:17:50  * kellabytequit (Changing host)
13:17:50  * kellabytejoined
13:29:02  * dshaw_joined
13:33:50  * dshaw_quit (Ping timeout: 264 seconds)
13:35:26  * piscisaureus_joined
13:35:43  <MI6>nodejs-v0.10-windows: #165 UNSTABLE windows-ia32 (8/597) windows-x64 (8/597) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/165/
13:38:41  * julianduquejoined
13:40:51  * kenperkinsjoined
13:49:56  * julianduquequit (Quit: leaving)
13:52:46  * julianduquejoined
13:54:54  * kellabytequit (Remote host closed the connection)
14:06:49  * AvianFlujoined
14:12:20  * bnoordhuisjoined
14:15:55  * julianduquequit (Quit: leaving)
14:29:24  * dshaw_joined
14:31:26  * bajtosjoined
14:34:04  * dshaw_quit (Ping timeout: 264 seconds)
14:37:04  * bnoordhuisquit (Ping timeout: 264 seconds)
15:00:39  * piscisaureus_quit (Ping timeout: 276 seconds)
15:01:51  * paulfryzeljoined
15:03:52  * leonvvjoined
15:07:58  * bnoordhuisjoined
15:16:44  * hueniversequit (Quit: Leaving.)
15:16:50  <MI6>nodejs-master: #456 UNSTABLE smartos-x64 (8/630) smartos-ia32 (3/630) osx-x64 (1/630) osx-ia32 (2/630) linux-ia32 (1/630) linux-x64 (1/630) http://jenkins.nodejs.org/job/nodejs-master/456/
15:18:06  * austojoined
15:29:53  * dshaw_joined
15:31:23  * piscisaureus_joined
15:34:40  * dshaw_quit (Ping timeout: 264 seconds)
15:39:23  <pfox__>i know this isn't #posix, but ive had a heck of a time finding docs/info on this: is there defined behavior for reading beyond eof in pwrite/pread ?
15:39:34  <pfox__>or jumping beyond EOF with the offset to pread/pwrite ?
15:40:24  <pfox__>and, yes, this is in the context of uv_fs_read|write .. trying to figure out what behavior we should define/expose and how to catch errors..
15:40:46  * mcavagejoined
15:41:13  <pfox__>btw, newrt file io in rust using libuv: https://github.com/mozilla/rust/pull/8655
15:41:22  * mcavagepart
15:42:04  <pfox__>and the "homing io" change just landed, so i have to add support for that.. if you send a handle/fd outside of the thread that created it, it has wrappers/tooling to "re-home" to the thread of its loop before doing any libuv
15:42:16  <pfox__>calls
15:45:51  * `3rdEdenchanged nick to `3E|COOKIN
15:47:21  * mikealquit (Quit: Leaving.)
15:50:50  * mikealjoined
15:52:45  <bnoordhuis>pfox__: pread() returns a zero-byte read, pwrite() grows the file
15:53:54  <bnoordhuis>regarding pread, i don't think it could return EINVAL. iirc posix only allows that when offset < 0
15:54:35  <bnoordhuis>well, possibly on overflow (if the fs doesn't support files that big) as well
15:54:59  <bnoordhuis>let me try that real quick
15:55:38  <bnoordhuis>yeah
15:56:10  <bnoordhuis>either a zero-byte read or EINVAL
15:57:04  * bradleymeckjoined
15:58:35  * bajtosquit (Quit: bajtos)
16:01:43  <pfox__>so if you pwrite to an offset well beyond eof, is the gap padded with zeros?
16:02:04  <bnoordhuis>pfox__: yes
16:02:56  <pfox__>cool. thanks.
16:03:09  <pfox__>rust's newrt has made working with libuv really nice.
16:03:54  <bnoordhuis>nice
16:07:21  * TooTallNatejoined
16:12:28  * CoverSlidequit (Ping timeout: 260 seconds)
16:15:00  * mikealquit (Quit: Leaving.)
16:18:22  <piscisaureus_>http://www.dailymotion.com/video/x8m5d0_everything-is-amazing-and-nobody-i_fun
16:18:36  <piscisaureus_>^-- therapy
16:20:36  * groundwaterjoined
16:20:53  * leonvvquit (Remote host closed the connection)
16:25:35  * bajtosjoined
16:25:49  * dapjoined
16:27:27  <piscisaureus_>dinner time. bbl
16:28:41  <indutny>bnoordhuis: ping
16:28:49  <indutny>bnoordhuis: what's better naming than walk?
16:28:54  <indutny>bnoordhuis: pull?
16:28:59  <indutny>PROCESS
16:30:03  * dshaw_joined
16:31:29  * dominictarrquit (Quit: dominictarr)
16:31:50  * piscisaureus_quit (Ping timeout: 240 seconds)
16:31:57  * bnoordhuisquit (Ping timeout: 268 seconds)
16:34:54  * dshaw_quit (Ping timeout: 276 seconds)
16:40:26  <MI6>joyent/node: isaacs master * cdf2a66 : Merge remote-tracking branch 'ry/v0.10' (+8 more commits) - http://git.io/FMglSA
16:40:39  * dshaw_joined
16:40:48  * dshaw_quit (Read error: Connection reset by peer)
16:40:50  <tjfontaine>indutny: process sounds right
16:40:52  * dshaw_1joined
16:46:14  * bnoordhuisjoined
16:46:37  * amartensjoined
16:48:45  <indutny>ok
16:48:47  <indutny>thanks
16:49:35  <MI6>nodejs-master: #457 UNSTABLE smartos-x64 (10/630) smartos-ia32 (3/630) osx-x64 (1/630) osx-ia32 (1/630) linux-ia32 (1/630) linux-x64 (1/630) http://jenkins.nodejs.org/job/nodejs-master/457/
16:50:48  <tjfontaine>btw, I am doing a v0.11 release today, followed by a v0.10 release
16:51:02  * TooTallNatequit (Quit: Computer has gone to sleep.)
16:54:40  <tjfontaine>so if there are things you want in v0.11 stop me now, otherwise you have a couple hours to get things into v0.10
16:58:43  * amartensquit (Ping timeout: 264 seconds)
16:59:40  * bnoordhuisquit (Ping timeout: 246 seconds)
16:59:41  * amartensjoined
17:05:21  <indutny>yes
17:05:25  <indutny>but it depends on ben :)
17:05:36  <indutny>fixes for v0.10
17:05:42  <indutny>and v0.11
17:06:24  * dominictarrjoined
17:06:36  * TooTallNatejoined
17:07:05  <tjfontaine>indutny: what are you interested in getting in for v0.11 today?
17:07:27  <indutny>tjfontaine: fix for FSEvents
17:07:29  <indutny>v
17:07:31  <indutny>https://github.com/joyent/libuv/pull/894
17:08:29  <tjfontaine>well, the appropriate path for that is v0.10 -> v0.11 I thoguht?
17:12:13  <indutny>well, yeah
17:12:13  <indutny>probably not blocking v0.11 itself
17:12:13  <indutny>but blocks v0.10
17:12:59  <tjfontaine>nod
17:13:39  * EhevuTovjoined
17:13:52  <MI6>nodejs-master-windows: #252 UNSTABLE windows-x64 (19/630) windows-ia32 (19/630) http://jenkins.nodejs.org/job/nodejs-master-windows/252/
17:16:07  * brsonjoined
17:20:15  <trevnorris>morning
17:20:33  <trevnorris>isaacs: nm. the solution came to me in a dream last night
17:23:38  * brsonquit (Ping timeout: 264 seconds)
17:24:26  * brsonjoined
17:25:18  * AvianFluquit (Remote host closed the connection)
17:26:55  * `3E|COOKINquit (Ping timeout: 264 seconds)
17:29:06  * AvianFlujoined
17:29:35  * amartensquit (Read error: Connection reset by peer)
17:30:22  * indexzerojoined
17:31:18  * st_lukejoined
17:31:56  * mikealjoined
17:32:13  * mikealquit (Client Quit)
17:33:03  * amartensjoined
17:33:09  * st_lukequit (Remote host closed the connection)
17:33:41  * mikealjoined
17:33:56  <isaacs>trevnorris: w00t!
17:34:09  <isaacs>trevnorris: don't dream about node, though.
17:34:17  <isaacs>trevnorris: dream about dinosaurs and rocketships and shit.
17:34:36  <trevnorris>hah
17:35:05  * bnoordhuisjoined
17:36:19  <tjfontaine>bnoordhuis: I'm about to do a libuv v0.11 release, unless you'd rather
17:36:49  <tjfontaine>how much cleaning up of the changelog is needed? I basically just removed the "now working" line
17:37:12  <indutny>haha
17:37:30  * st_lukejoined
17:37:51  * indexzeroquit (Quit: indexzero)
17:38:23  * indexzerojoined
17:39:53  <indutny>bnoordhuis: hey ho
17:39:56  <indutny>fsevents
17:40:02  <indutny>I'd like to have them in node v0.10
17:40:11  <indutny>and that path lies through your reviewal
17:40:55  * AvianFluquit (Remote host closed the connection)
17:43:28  * bradleymeckquit (Quit: bradleymeck)
17:44:24  <tjfontaine>trevnorris: trevnorr 36743 0.0 0.1 31244 20988 pts/5 S Jul 17 4:17 ./node/node --max_old_space_size=32 --max_new_space_size=32 gh-5828/test.js
17:44:27  <tjfontaine>trevnorris: :)
17:45:03  <trevnorris>tjfontaine: what the, is that still running?
17:46:27  <tjfontaine>trevnorris: yup
17:46:41  <trevnorris>thanks. i'll take care of thtat
17:47:28  <tjfontaine>it's not really clear to me why test-net-GH-5504 is failing for jenkins
17:48:53  <tjfontaine>oh
17:49:19  <tjfontaine>I know what it is
17:53:19  <MI6>libuv-master: #177 UNSTABLE smartos (9/192) windows (3/193) http://jenkins.nodejs.org/job/libuv-master/177/
17:53:57  <tjfontaine>this is in the test suite, but this isn't objectionable to anyone is it? https://github.com/tjfontaine/node/commit/41f55dc59b423b8b76e6f7971fd8f3a326a6fbad
17:57:30  * EhevuTovquit (Quit: This computer has gone to sleep)
17:57:51  * sblomjoined
17:58:04  * indexzeroquit (Quit: indexzero)
17:58:43  * sblomquit (Client Quit)
18:00:53  * `3rdEdenjoined
18:01:58  * jmar777quit (Read error: Connection reset by peer)
18:02:14  * jmar777joined
18:03:59  <MI6>joyent/node: Timothy J Fontaine master * 41f55dc : test: net-GH-5504 child env needs NODE_COMMON_PORT - http://git.io/9j6UgA
18:05:15  * philipsquit (Read error: Connection reset by peer)
18:06:01  * philipsjoined
18:06:24  * AvianFlujoined
18:06:36  <indutny>bnoordhuis: ben?
18:09:27  * jester2048joined
18:10:47  <MI6>libuv-node-integration: #160 UNSTABLE smartos-ia32 (2/630) osx-ia32 (1/630) linux-x64 (1/630) linux-ia32 (1/630) osx-x64 (1/630) smartos-x64 (11/630) http://jenkins.nodejs.org/job/libuv-node-integration/160/
18:11:10  <MI6>joyent/node: isaacs v0.10 * 8a9434c : doc: Mention python dep in downloads page - http://git.io/mtgTyQ
18:11:17  * ecrjoined
18:12:39  <MI6>joyent/libuv: Timothy J Fontaine master * abcad99 : Now working on v0.11.9 (+1 more commits) - http://git.io/GVoaDw
18:12:45  <MI6>joyent/libuv: tjfontaine created tag v0.11.8 - http://git.io/Tv2SmQ
18:14:55  * jester2048quit (Ping timeout: 246 seconds)
18:15:49  <MI6>joyent/node: Timothy J Fontaine master * a784aba : uv: Upgrade to v0.11.8 - http://git.io/aPUovg
18:16:35  <MI6>libuv-review: #37 ABORTED http://jenkins.nodejs.org/job/libuv-review/37/
18:16:41  <bnoordhuis>indutny: fedor?
18:17:48  <MI6>nodejs-master: #458 UNSTABLE smartos-x64 (13/630) smartos-ia32 (5/630) http://jenkins.nodejs.org/job/nodejs-master/458/
18:19:08  <tjfontaine>ha ha ha that buffer output sure is helpful :) http://jenkins.nodejs.org/job/nodejs-master/458/DESTCPU=ia32,label=smartos/tapTestReport/test.tap-400/
18:19:42  * st_lukequit (Remote host closed the connection)
18:20:54  * st_lukejoined
18:21:33  <MI6>nodejs-v0.10: #1438 UNSTABLE osx-ia32 (1/597) smartos-x64 (2/597) smartos-ia32 (1/597) http://jenkins.nodejs.org/job/nodejs-v0.10/1438/
18:23:42  * julianduquejoined
18:26:15  * st_lukequit (Remote host closed the connection)
18:27:10  * bajtosquit (Quit: bajtos)
18:27:21  <MI6>nodejs-master: #459 UNSTABLE smartos-x64 (8/630) smartos-ia32 (2/630) osx-x64 (1/630) http://jenkins.nodejs.org/job/nodejs-master/459/
18:29:44  <tjfontaine>isaacs: do you need to upgrade npm?
18:34:54  * st_lukejoined
18:35:28  * st_lukequit (Remote host closed the connection)
18:36:15  * ecrquit (Ping timeout: 245 seconds)
18:37:06  <MI6>nodejs-master-windows: #253 UNSTABLE windows-x64 (18/630) windows-ia32 (19/630) http://jenkins.nodejs.org/job/nodejs-master-windows/253/
18:37:58  * ecrjoined
18:38:41  * defunctzombie_zzchanged nick to defunctzombie
18:52:41  <tjfontaine>https://gist.github.com/tjfontaine/6298620 ChangeLog review please and thank you
18:53:17  * paulfryzelquit (Remote host closed the connection)
18:53:27  <bnoordhuis>reviewing
18:53:55  * paulfryzeljoined
18:54:25  <tjfontaine>once I release this we should probably upgrade to v8 3.20.17
18:56:49  <bnoordhuis>tjfontaine: maybe add "build: don't auto-destroy existing configuration"
18:57:08  <tjfontaine>oh right I meant to readd that
18:57:31  <tjfontaine>does it also mean that configure is required?
18:57:58  * paulfryzelquit (Ping timeout: 246 seconds)
18:58:00  <tjfontaine>well it at least informs you :)
18:58:39  <bnoordhuis>yep
18:58:48  <tjfontaine>I wanted to figure out how to phrase it such that people know it
18:58:51  <bnoordhuis>maybe also "http: Prefer 'binary' over 'ascii'"?
18:59:04  <tjfontaine>I wanted to find out from isaacs what that actually was
18:59:31  <bnoordhuis>string-to-buffer conversion for outgoing http headers
18:59:39  <tjfontaine>oh
18:59:53  <bnoordhuis>at least, if that's the patch that i think it is - let me check :)
19:00:08  <bnoordhuis>yeah, it is
19:00:36  <tjfontaine>is there a better phrasing for that?
19:01:55  <bnoordhuis>"http: use 8 bits, not 7 bits encoding for outgoing http headers"?
19:02:08  * st_lukejoined
19:02:08  <bnoordhuis>maybe remove "buffer: don't call ByteLength for simple encodings"? that's just an internal change
19:02:14  * st_lukequit (Remote host closed the connection)
19:03:00  <MI6>nodejs-v0.10-windows: #166 UNSTABLE windows-ia32 (8/597) windows-x64 (8/597) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/166/
19:03:31  <bnoordhuis>isaacs: "Author: Raynos <redacted@redacted>" <- can you land patches under people's real name?
19:04:11  <bnoordhuis>"net: family option in net.connect" is a good one to add, that will some people very happy
19:04:18  <tjfontaine>that was in there, right?
19:04:30  <bnoordhuis>oh indeed, sorry
19:04:35  <tjfontaine>I wanted to make sure that and EE were in there
19:04:53  <bnoordhuis>that commit log could've been worded a little more eloquently
19:05:02  <tjfontaine>well what you see is my rewording
19:05:07  <tjfontaine>brb lunch
19:05:17  <bnoordhuis>oh, i lifted that from git log
19:05:25  <bnoordhuis>the russian shines through clearly :)
19:05:42  <bnoordhuis>enjoy your lunch, tj
19:07:38  <MI6>libuv-master-gyp: #117 UNSTABLE windows-x64 (3/193) smartos-ia32 (2/192) smartos-x64 (4/192) windows-ia32 (4/193) osx-x64 (2/193) linux-x64 (3/192) http://jenkins.nodejs.org/job/libuv-master-gyp/117/
19:07:50  * EhevuTovjoined
19:08:06  * piscisaureus_joined
19:08:59  * _andrewclarksonjoined
19:10:07  <MI6>libuv-master: #178 UNSTABLE smartos (12/192) windows (3/193) http://jenkins.nodejs.org/job/libuv-master/178/
19:10:43  <trevnorris>bnoordhuis, tjfontaine: binary encoding is basically latin1, and it's 2x's faster than ascii encoding. so if you know the values are already in ascii range, then I recommend using binary.
19:11:45  <bnoordhuis>trevnorris: yeah, that's what the commit is about :)
19:12:30  <trevnorris>bnoordhuis: was responding to tj's "I wanted to find out from isaacs what that actually was"
19:13:07  <trevnorris>bnoordhuis: but there're several topics going on, so maybe I addressed the wrong one. :)
19:16:21  <_andrewclarkson>clear
19:16:42  <_andrewclarkson>Hahah wrong window lol
19:16:45  * EhevuTovquit (Quit: Leaving)
19:17:32  <_andrewclarkson>Hoes anybody know off the top of their heads if there's a way to `make install` without the headers?
19:17:45  <_andrewclarkson>maybe a config flag somewhere?
19:18:42  * rendarquit (Ping timeout: 276 seconds)
19:19:23  * EhevuTovjoined
19:24:25  <MI6>libuv-node-integration: #161 UNSTABLE smartos-ia32 (1/630) smartos-x64 (8/630) http://jenkins.nodejs.org/job/libuv-node-integration/161/
19:25:58  <indutny>bnoordhuis: ben?
19:32:46  * st_lukejoined
19:34:30  <bnoordhuis>indutny: fedor?
19:40:25  * ecrquit (Ping timeout: 245 seconds)
19:40:53  * st_lukequit (Ping timeout: 248 seconds)
19:42:08  <MI6>nodejs-master-windows: #254 UNSTABLE windows-x64 (20/630) windows-ia32 (18/630) http://jenkins.nodejs.org/job/nodejs-master-windows/254/
19:43:15  <indutny>bnoordhuis: ben?
19:44:04  <bnoordhuis>indutny: fedor?
19:44:09  <indutny>bnoordhuis: ben?
19:44:24  <bnoordhuis>indutny: fedor?
19:44:27  <indutny>looks like I finally de-evolved into a bot
19:44:36  <indutny>bnoordhuis: thanks for reviewing
19:44:40  <indutny>I'll fix all the nits
19:44:59  <bnoordhuis>oh, i'm not done yet
19:46:02  <MI6>libuv-master-gyp: #118 FAILURE windows-x64 (3/193) smartos-x64 (2/192) windows-ia32 (3/193) http://jenkins.nodejs.org/job/libuv-master-gyp/118/
19:46:34  * TooTallNatequit (Quit: Computer has gone to sleep.)
19:47:54  <MI6>libuv-master: #179 UNSTABLE smartos (10/192) windows (3/193) linux (1/192) http://jenkins.nodejs.org/job/libuv-master/179/
19:48:34  * dshaw_1quit (Quit: Leaving.)
19:53:33  * bradleymeckjoined
19:54:29  * paulfryzeljoined
19:58:52  <tjfontaine>fucking github, you're a master at distributed systems ... stderr: error: The requested URL returned error: 403 while accessing https://github.com/joyent/libuv.git/info/refs
19:59:02  * paulfryzelquit (Ping timeout: 264 seconds)
20:01:25  <MI6>libuv-node-integration: #162 UNSTABLE smartos-ia32 (2/630) smartos-x64 (8/630) http://jenkins.nodejs.org/job/libuv-node-integration/162/
20:04:48  <bnoordhuis>okay, now i'm done, i think
20:05:00  <tjfontaine>done with what? :)
20:05:23  <tjfontaine>bnoordhuis: anything else you wanted in that changelog, were you ok with my massaging of the require('events')?
20:06:33  <indutny>bnoordhuis: good
20:06:38  <indutny>bnoordhuis: pushing commit with fixes
20:06:42  <indutny>bnoordhuis: mind reviewing for the last time?
20:07:43  <indutny>bnoordhuis: here it goes https://github.com/indutny/libuv/commit/df6309a37cf8a60216194e1de683a40322b4ae09
20:08:04  <indutny>also added more error handling
20:08:16  <trevnorris>aaah. damn it. just realized domains are tightly integrated into timers.
20:08:22  <trevnorris>oy, this is getting painful.
20:08:42  <tjfontaine>tightly? in that they domain.enter()/domain.exit()?
20:08:53  <trevnorris>yeah
20:11:10  <bnoordhuis>tjfontaine: s/is EventEmitter/is now an EventEmitter/ maybe?
20:11:42  <bnoordhuis>indutny: tomorrow. my brain is suffering from review fatigue
20:11:47  <indutny>ah, ok
20:11:48  <tjfontaine>bnoordhuis: but it's not an EE in the sense that you can require('events').on() :P
20:11:49  <indutny>thank you
20:11:53  <bnoordhuis>that's a real medical condition, i'm certain
20:12:02  <indutny>bnoordhuis: does it feel ok to merge that in v0.10 too?
20:12:06  <bnoordhuis>tjfontaine: ah no, true
20:12:09  <indutny>with previous fsevents fix
20:12:22  <bnoordhuis>indutny: yeah, that seems okay to me
20:12:26  <indutny>ok, good
20:12:38  <tjfontaine>maybe it's easier to say: EventEmitter = require('events')
20:13:02  <bnoordhuis>tjfontaine: yes, nice
20:13:27  <tjfontaine>also changed it to Jake Verbaten
20:13:37  <bnoordhuis>indutny: you'll probably need to wedge it a little in order for it to apply to v0.10
20:13:50  <bnoordhuis>i moved quite a bit of code from darwin.c to fsevents.c
20:13:52  <indutny>yeah, I know
20:13:56  <indutny>that's no problem
20:13:56  <indutny>mostly
20:15:18  * TooTallNatejoined
20:15:30  <indutny>bnoordhuis: thank you
20:16:25  <bnoordhuis>np
20:21:01  <MI6>nodejs-master-windows: #255 UNSTABLE windows-x64 (19/630) windows-ia32 (16/630) http://jenkins.nodejs.org/job/nodejs-master-windows/255/
20:21:56  <MI6>joyent/node: tjfontaine created branch v0.11.6-release - http://git.io/GrxaNA
20:26:21  * st_lukejoined
20:38:13  * jmar777quit (Remote host closed the connection)
20:41:30  <trevnorris>hah, printing to console is a little difficult when you intercept all async callbacks :P
20:41:36  <indutny>haha
20:41:59  <tjfontaine>indeed :) also beware the debug printing recursion hell ;)
20:42:46  <trevnorris>yeah... well, it's almost working.
20:46:58  * perezdjoined
20:50:18  * ecrjoined
20:51:16  * dshaw_joined
20:54:11  * paulfryzeljoined
20:56:12  * piscisaureus_quit (Ping timeout: 276 seconds)
21:09:12  * isaacsfg
21:10:05  <isaacs>require('events') now returns EventEmitter, yes
21:10:22  <tjfontaine>sadly we're already past that part heh
21:10:34  <tjfontaine>but that would have been better
21:15:04  * AvianFluquit (Remote host closed the connection)
21:17:03  <isaacs>bnoordhuis: ah, missed that one. i'll bug raynos about puttins his real email address in patches.
21:19:00  <isaacs>bnoordhuis: oh, no, it has his real email address.
21:19:31  <isaacs>bnoordhuis: Raynos goes by Raynos. Like, even in real life. i don't feel comfortable requiring that he be called "Jake" in patches. but of course, whatever it says in the patch should match the changelog.
21:20:34  <isaacs>i'm not going to get all Google+ about this.
21:21:22  <Raynos>isaacs: thanks for landing the events commit!
21:21:26  <isaacs>np
21:24:00  <MI6>joyent/node: Timothy J Fontaine master * 3602d4c : Now working on 0.11.7 (+2 more commits) - http://git.io/QuZFdg
21:24:52  <isaacs>huzzah!
21:25:03  <tjfontaine>I almost have a release script as well :P
21:25:27  <isaacs>long changelog
21:25:33  <tjfontaine>too long?
21:25:35  <isaacs>we should start doing these at least weekly
21:25:37  <isaacs>nah, it's fine
21:25:39  <tjfontaine>k
21:25:42  <isaacs>just a lot of stuff in the release.
21:25:43  <tjfontaine>ya weekly can be done
21:25:48  <isaacs>i mean, yes, it's too long, but not for lack of editing
21:25:52  <trevnorris>hm. is there a way to synchronously print a message to the console?
21:25:55  <isaacs>we're doing too mcuh stuff :)
21:26:10  <isaacs>trevnorris: you mean, without going through a Writable?
21:26:37  <trevnorris>isaacs: issue is i'm capturing every async callback, but that means if I log from there it'll call it back again.
21:26:43  <trevnorris>recursion hell!!!
21:26:44  <MI6>joyent/node: Timothy J Fontaine v0.10 * 985695e : blog: v0.11.6 - http://git.io/OPJq3w
21:26:48  <MI6>joyent/node: Timothy J Fontaine v0.10.10-release * 82b789d : build: add manta and smartdc to installer - http://git.io/W4HfuA
21:26:51  <tjfontaine>oops
21:27:04  <tjfontaine>that needs fixed
21:27:07  <isaacs>!?
21:27:16  <tjfontaine>missed a "v0.10" at the end of that
21:27:21  <isaacs>i'll fix one sec
21:27:27  <tjfontaine>k thanks
21:27:39  <MI6>joyent/node: isaacs v0.10.10-release * 25e51c3 : 2013.06.04, Version 0.10.10 (Stable) - http://git.io/6RN4SQ
21:27:42  <isaacs>hooray distributed!
21:27:47  <tjfontaine>:P
21:29:19  * swajrquit (Ping timeout: 264 seconds)
21:30:09  * swajrjoined
21:30:09  * swajrquit (Changing host)
21:30:09  * swajrjoined
21:32:09  <tjfontaine>ok tweetified
21:32:37  <tjfontaine>on to stable branch release
21:35:16  <MI6>joyent/node: tjfontaine created tag v0.11.6 - http://git.io/Al9H8Q
21:36:12  <indutny>tjfontaine: ++
21:36:47  <MI6>nodejs-v0.10: #1439 UNSTABLE linux-x64 (3/597) osx-ia32 (1/597) smartos-x64 (2/597) linux-ia32 (2/597) http://jenkins.nodejs.org/job/nodejs-v0.10/1439/
21:37:28  <MI6>nodejs-master: #460 UNSTABLE smartos-x64 (8/630) smartos-ia32 (1/630) osx-x64 (3/630) osx-ia32 (4/630) linux-x64 (1/630) http://jenkins.nodejs.org/job/nodejs-master/460/
21:37:54  <tjfontaine>last chance if there's something want to get into v0.10
21:39:34  <othiym23>man, I totally feel like Tom Sawyer now
21:39:45  <othiym23>totally tricked trevnorris into doing the hard part of my stuff for me
21:39:48  <tjfontaine>heh
21:40:02  <tjfontaine>I thought you were going for more of a Rush reference
21:40:39  <othiym23>trevnorris: I think you've found all the buried land mines now -- MakeCallback, EEs, timers, and process.nextTick are the places domains touch
21:41:11  <othiym23>and yes, trying to do async things from the async listener causes things to take an express elevator to hell
21:41:21  <othiym23>I typically shove debugging information into an array and dump it periodically
21:42:03  <othiym23>or step through stuff in the Node debugger, although that sucks when you cross into C++ and the debugger just throws up its hands and says "welp"
21:42:08  * bradleymeckquit (Quit: bradleymeck)
21:42:28  <MI6>joyent/libuv: tjfontaine created tag v0.10.14 - http://git.io/HlWjsA
21:42:30  <MI6>joyent/libuv: Timothy J Fontaine v0.10 * 24a42a4 : Now working on v0.10.15 (+1 more commits) - http://git.io/_wis4Q
21:42:49  * AvianFlujoined
21:42:59  * piscisaureus_joined
21:43:07  * piscisaureus_quit (Client Quit)
21:43:54  <trevnorris>othiym23: yeah. i almost have it, but debugging those last few steps is kind of a pain.
21:44:18  <othiym23>tjfontaine: do you (or anybody here, really), have a good handle on how tough it would be to extend the debugger to single-step through C++ calls?
21:44:49  <isaacs>tjfontaine: nice block of http: lines in that changelog. love it.
21:45:02  <tjfontaine>othiym23: the node debugger to also do native source level debugging?
21:45:12  <tjfontaine>isaacs: indeed, it was a good release
21:45:27  <MI6>joyent/node: Timothy J Fontaine v0.10 * e445fbd : uv: Upgrade v0.10.14 - http://git.io/745Cmg
21:45:28  <othiym23>tjfontaine: nah, I guess I'd just learn to use mdb better if I wanted that
21:45:33  * othiym23is still sort of scared of mdb
21:45:44  <othiym23>I have poor dap-nature
21:45:51  <tjfontaine>othiym23: I learned a lot about mdb in the zfs training course I was in, there's no reason to be afraid of it
21:46:06  <tjfontaine>othiym23: it's just different paradigm from the normal source level debugging utilities you're used to
21:46:18  <othiym23>I use it just often enough to never get truly comfortable with using it and all the little weebly Node bits
21:46:33  <othiym23>I'm still pretty confident that I'm better with it than 99+% of the rest of the Node community tho
21:46:54  <MI6>libuv-review: #38 ABORTED smartos-ia32 (2/187) http://jenkins.nodejs.org/job/libuv-review/38/
21:47:21  <tjfontaine>othiym23: we're going to be doing some hack time with it at nodeconf.eu
21:47:53  <MI6>node-review: #67 ABORTED http://jenkins.nodejs.org/job/node-review/67/
21:48:53  <trevnorris>isaacs: do domains exist to help intercept errors within a context? or do they have more utility than that?
21:49:15  <othiym23>tjfontaine: well isn't that fancy!
21:49:23  <othiym23>too bad I can't go to nodeconf.eu because of work!
21:49:31  <tjfontaine>:/
21:49:44  <othiym23>gotta ship broheem
21:49:58  <tjfontaine>damn powers that be
21:50:12  <othiym23>trevnorris: they are designed to put code in a box, confine errors to that box, and let people cleanly shut down their apps
21:50:13  * dshaw_quit (Quit: Leaving.)
21:50:41  <othiym23>trevnorris: although there's a vocal minority who want to use domains to clean up and recover from errors
21:51:27  <othiym23>trevnorris: there are people who try to use domains for other things, like logging and tracing (a previous build of the New Relic agent tried to do that, but since I needed domains to keep working as designed, it got too brittle to be tenable)
21:51:31  <othiym23>but it's not a very good fit
21:51:53  <tjfontaine>https://gist.github.com/tjfontaine/6300711
21:52:02  <trevnorris>othiym23: oh, well intercepting errors simple. really over done in core right now imho. it's the intercepting of all asynchronous calls that's being a bitch.
21:52:02  <tjfontaine>isaacs: review that changelog?
21:52:13  <isaacs>looking now
21:52:34  <isaacs>tjfontaine: * http_parser: Upgrade to 303c4e4
21:52:41  <MI6>nodejs-v0.10: #1440 UNSTABLE smartos-x64 (2/597) osx-x64 (1/597) http://jenkins.nodejs.org/job/nodejs-v0.10/1440/
21:52:42  <othiym23>trevnorris: but that's the main value of making sure the error is emitted in the correct context
21:52:49  <isaacs>tjfontaine: it'd be nice if that mentioned fixing the GEM/PUN issue
21:52:54  <tjfontaine>isaacs: should that just be the actual commit log from http_parser?
21:53:04  <othiym23>the fact that the errors are made sticky across async barriers back to the place where they originated
21:53:06  <isaacs>yeah, i mean, it's only one commit.
21:53:18  <isaacs>i'd probably just say "http: blah blah blah (Ben Noordhuis)"
21:53:28  <bnoordhuis>meh, that GEM/PUN thing is such a non-issue
21:53:33  <trevnorris>othiym23: attaching a context to callbacks is simple. i'm talking about calling a callback in place of the async callback, and passing it as an argument to be run by the user.
21:53:34  <othiym23>you should say *exactly* that, tjfontaine
21:53:39  <isaacs>since http-parser doesn't really have "releases" anyway
21:53:58  <isaacs>othiym23: yeah, but then every changelog would look the same.
21:54:05  <othiym23>so?
21:54:07  <isaacs>* unix: blah blah (Ben Noordhuis)
21:54:14  <othiym23>I fail to see the problem
21:54:18  <othiym23>you forgot a 'blah'
21:54:23  <isaacs>* src: Fix blah blah on freebsd linux blah blah (Ben Noordhuis)
21:54:32  <tjfontaine>hehe
21:54:33  <othiym23>trevnorris: expand, want to make sure I understand the issue you're describing
21:54:45  <tjfontaine>sometimes v8: fix blah blah on *bsd
21:54:52  <isaacs>* timers: blah blah performance blah (Trevor Norris)
21:54:56  <tjfontaine>hehe
21:54:59  <othiym23>haha
21:55:00  <isaacs>* streams: blah blah blah (isaacs)
21:55:15  <othiym23>looks good (shipitsquirrel)
21:55:20  * inolenjoined
21:55:29  <isaacs>bnoordhuis: yeah, it's a total overblown catastrophe of social media, that bug.
21:55:40  <trevnorris>othiym23: ok, so it's super simple to say, i'm about to create some async callbacks within a given context, and any async callbacks made within that context, ad infinitum, will receive the same context.
21:55:43  <tjfontaine>anyway, we're ok with the commit log from http_parser being in the changelog?
21:56:02  <isaacs>bnoordhuis: basically, someone got annoyed that we don't support custom methods, and rather than just post a bug, or take the time to read the code, he found it hard, and stirred up hacker news instead.
21:56:20  <isaacs>tjfontaine: i'm fine with it. i mean, not in general dumping from one project into another, but in this case, it's fine.
21:56:27  <tjfontaine>nod
21:56:28  <isaacs>tjfontaine: since it's only one issue
21:56:49  <bnoordhuis>isaacs: exactly. i have opinions on what to do with people like that
21:57:01  <othiym23>trevnorris: sure, but I need something that runs on every JS [[Call]] to see if it needs to do something with a context
21:57:13  <othiym23>trevnorris: I would *love* a mechanism that didn't require the promiscuous creation of closures
21:57:31  <othiym23>I can only imagine it tremendously reducing overhead of using those kinds of thigns
21:57:41  <othiym23>but wrapping callbacks in closures is simple and reliable
21:58:07  <trevnorris>othiym23: yeah. that's the hard part. because there's no one place or way that async callbacks are called.
21:58:11  <isaacs>bnoordhuis: the "issue" he found is actually not even remotely related to extension methods anyway.
21:58:22  <isaacs>it was like a 15 line patch. in a C program, that's basically nothing.
21:58:28  <othiym23>being able to do arbitrary AOP and express arbitrary pointcuts in JS / V8 C++ would be fucking sweet, and is pretty much how the bytecode-based New Rerlic language agents work
21:58:43  <tjfontaine>AOP!
21:59:07  <isaacs>bnoordhuis: it *would* be nice to support extension methods, though.
21:59:09  <othiym23>AOP is one of the things I miss from Java, for reals
21:59:16  <othiym23>maybe that makes me a bad person
21:59:22  <trevnorris>ok, no idea what that is, but you certainly seem excited about it. :)
21:59:29  <tjfontaine>I did so many evil things with AOP and decorators :P
21:59:37  <isaacs>you can AOP in JavaScript sort of
21:59:44  <bnoordhuis>isaacs: only a tiny fraction of people care about that and most of them only because they want to run icecast servers
21:59:45  <othiym23>trevnorris: http://en.wikipedia.org/wiki/Aspect-oriented_programming
21:59:46  <isaacs>i mean, that's basically how the existing newrelic agent works in node, right?
22:00:01  * dshaw_joined
22:00:02  <bnoordhuis>isaacs: it's not that i'm against it, it's just *shrug*
22:00:02  <othiym23>monkeypatching is *not* AOP
22:00:10  <tjfontaine>well
22:00:16  <trevnorris>othiym23: found that. i'll read up on it when I have brain cells to spare. ;)
22:00:17  <isaacs>bnoordhuis: yeah, my desire for extension methods is strictly esthetic.
22:00:22  * dshaw_quit (Read error: Connection reset by peer)
22:00:29  <isaacs>bnoordhuis: it makes the parser a bit more general and "complete" in a way.
22:00:36  <othiym23>I mean I've kinda built up a little toolkit for expressing standard ways for wrapping classes of functions, but it's neither declarative nor particularly abstract
22:00:36  <isaacs>bnoordhuis: but obv, speed comes first.
22:00:38  * dshaw_joined
22:01:14  <trevnorris>tjfontaine: you'll want to kill https://github.com/joyent/node/pull/6011 from running tests
22:01:26  <othiym23>isaacs: I sorta yammered at you about that a bit at last year's NodeConf, back when I was thinking about doing AST extraction with Esprima and doing source-source tranforms
22:01:30  <isaacs>othiym23: i thought AOP started in functional-land and WAS monkey-patching at first?
22:01:33  <othiym23>that turned out to be a terrible idea for many, many reasons
22:01:44  <tjfontaine>trevnorris: ok
22:01:46  <isaacs>othiym23: i str that i strongly discouraged that approach.
22:01:55  <othiym23>isaacs: you pooped on all my parades
22:02:00  <isaacs>yeah
22:02:00  <othiym23>and accused me of "fancy-talkin;"
22:02:07  * ecr1joined
22:02:11  <isaacs>well... your parade was a toilet, and your talk was fancy.
22:02:11  <bnoordhuis>i thought AOP was something lispers had done for decades before the java people snatched it and gave it a name?
22:02:13  <isaacs>what did you expect?
22:02:25  <othiym23>:'(
22:02:27  * ecrquit (Ping timeout: 260 seconds)
22:02:34  <bnoordhuis>smalltalk people, more likely, not java
22:02:41  <othiym23>I wanted you to tell me I was being a dumbass and all I had to do was this one weird trick and all my shit would start working
22:02:44  <othiym23>that's what
22:03:07  <MI6>joyent/node: tjfontaine created branch v0.10.17-release - http://git.io/NYH9eQ
22:03:14  <MI6>nodejs-master-windows: #256 UNSTABLE windows-x64 (19/630) windows-ia32 (19/630) http://jenkins.nodejs.org/job/nodejs-master-windows/256/
22:03:20  <isaacs>function aopBefore(obj, method, fn) { obj[method] = function (orig) { return function() { fn.apply(this, arguments); return orig.apply(obj, arguments); }(obj[method]) }
22:03:28  <othiym23>bnoordhuis: MOPs come from Smalltalk and CLOS, but it was Java nerds at PARC who gave AOP its name
22:03:47  <MI6>node-review: #68 ABORTED http://jenkins.nodejs.org/job/node-review/68/
22:04:16  <othiym23>isaacs: that woudl be fine, if it worked with Node-style async
22:04:39  <othiym23>async scopes in general cause problems for AOP
22:04:58  <othiym23>which is, in a pretty direct way, what continuation-local storage is meant to address
22:06:57  <isaacs>trevnorris: i've occasionally sort of considered making console.error not use proces.stderr directly.
22:07:19  <isaacs>trevnorris: and instead, go straight to the handle
22:07:31  <trevnorris>isaacs: i like that.
22:07:35  <isaacs>trevnorris: mostly, that's really annoying when you try to do debugging of stream.Writabel
22:07:54  <isaacs>trevnorris: oh, but doesn't your asyncCallback thingie still get called then?
22:08:08  <trevnorris>isaacs: hah, yeah. been there. worse was when I was debugging process.nextTick.
22:08:10  <isaacs>because you'd be creating a writereq
22:08:26  <othiym23>there are many many times over the last year when having a way to immediately push data to a fd would have saved my bacon
22:08:30  <trevnorris>oy, yeah. if there's a callback then yes.
22:08:59  <isaacs>we need a process.__super_secret_debugger() that is a wrapper around a C++ function that does fprinf(stderr)
22:09:08  <trevnorris>awesome. I like that.
22:09:22  <othiym23>you could even make it non-enumerable to keep it from showing up in the REPL / util.inspect
22:09:36  <isaacs>bnoordhuis: does this idea offend your sensibilities? (i suspect that it might...)
22:09:52  <trevnorris>if it does, then i'm making a module for it!
22:09:59  <tjfontaine>fprintf and fflush of course
22:10:00  <bnoordhuis>isaacs: no. i have a patch i keep around that does exactly that
22:10:06  <isaacs>right, of course.
22:10:14  <isaacs>ok.
22:10:32  <isaacs>well, it's a bit ugly, but it seems like all of us have this as our dirty little secret anyway, so i'm gonna write up a patch for it.
22:10:41  <othiym23>sweet
22:11:03  <isaacs>i think console.error should probably still use the "standard" process.stderr, though
22:11:28  <trevnorris>that's fine. as long as there's a way to push crap out to the console.
22:11:56  * AvianFluquit (Remote host closed the connection)
22:12:27  * mikealquit (Quit: Leaving.)
22:25:30  <isaacs> // Note that calls to assert() are pre-processed out by JS2C for the
22:25:31  <isaacs> // normal build of node. They persist only in the node_g build.
22:25:31  <isaacs> // Similarly for debug().
22:25:35  <isaacs>that's not true any more, is it? ^
22:25:55  <trevnorris>nope
22:26:14  <trevnorris>just do a toString on any function and you'll still see the debug() in there
22:31:40  * paulfryzelquit (Remote host closed the connection)
22:32:18  * paulfryzeljoined
22:33:27  * perezdquit (Quit: perezd)
22:33:28  <MI6>nodejs-v0.10-windows: #167 UNSTABLE windows-ia32 (8/597) windows-x64 (8/597) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/167/
22:35:26  <MI6>libuv-v0.10: #107 UNSTABLE smartos (2/187) windows (4/188) http://jenkins.nodejs.org/job/libuv-v0.10/107/
22:37:02  * paulfryzelquit (Ping timeout: 256 seconds)
22:38:13  <isaacs>anyone wanna bikeshed? https://github.com/isaacs/node/compare/raw-debug
22:38:32  <isaacs>trevnorris: yeah, that's what i thought. wanted to make sure i wasn't being insane :)
22:39:13  * paulfryzeljoined
22:39:18  <MI6>libuv-v0.10-gyp: #71 UNSTABLE windows-x64 (3/188) windows-ia32 (3/188) smartos-x64 (2/187) linux-x64 (1/187) linux-ia32 (1/187) smartos-ia32 (2/187) http://jenkins.nodejs.org/job/libuv-v0.10-gyp/71/
22:40:11  <isaacs>every time i see "rawDebug", i mentally read it as "Rowdy Bug"
22:40:38  * amartensquit (Quit: Leaving.)
22:40:43  <tjfontaine>isaacs: hmm, I'd almost go for a var args style implementation with printf, where everything is explicitly ->ToString()'d in C++
22:40:44  <isaacs>and i have the image of a cartoon beetle dressed like a cowboy with a hat and a lasso
22:41:06  <isaacs>tjfontaine: it's really nice to be able to dump an object or something, though, and get familiar output
22:41:08  <tjfontaine>rawDebug(foo) or rawDebug("%s", 42)
22:41:09  * jmar777joined
22:41:19  <isaacs>tjfontaine: yeah, you can do that.
22:41:25  <isaacs>tjfontaine: because of the util.format() on it
22:41:52  <tjfontaine>mk, for "raw" I think "no more JS involved" really but
22:42:01  <tjfontaine>either way I'm fine
22:42:06  <isaacs>tjfontaine: process._rawDebug('my json is %j and the string is %s', {a: 1}, 'some string')
22:42:26  <isaacs>i guess it's not quite raw.
22:42:30  <isaacs>just lightly seared
22:42:33  <tjfontaine>hee
22:42:35  <tjfontaine>*heh
22:42:46  * paulfryzelquit (Remote host closed the connection)
22:43:18  <tjfontaine>isaacs: also, ben and I discussed briefly about limiting Buffer length in util.format
22:43:22  * paulfryzeljoined
22:44:23  <tjfontaine>at least as far as for what debuglog() uses
22:45:34  * mikealjoined
22:45:55  <isaacs>oh, that'd be nice
22:46:07  <MI6>libuv-node-integration: #163 UNSTABLE linux-x64 (1/597) smartos-x64 (3/597) http://jenkins.nodejs.org/job/libuv-node-integration/163/
22:46:10  * dshaw_quit (Ping timeout: 246 seconds)
22:48:14  * paulfryzelquit (Ping timeout: 264 seconds)
22:49:26  <isaacs>tjfontaine: so, since the vm2 issue is captured in #6088, do you have any objection to landing it?
22:49:31  <isaacs>bnoordhuis: you also ^
22:50:14  <isaacs>i'm still reading through it, but it seems mostly good to me.
22:50:17  <trevnorris>tjfontaine: it is limited. to around 1GB I think :P
22:50:24  * austoquit (Quit: Leaving)
22:50:37  <tjfontaine>isaacs: I was thinking today in the shower perhaps the better workaround is if(!uv_is_closing(async)) uv_async_send()
22:50:44  <tjfontaine>isaacs: but I need to test that
22:50:59  <tjfontaine>trevnorris: sure, limited only by the max size of the buffer :P
22:51:04  <trevnorris>heh
22:51:09  <isaacs>tjfontaine: yeah, i mean, it's a bug for sure, but not a bug in Domenic_'s pull req
22:51:18  <isaacs>tjfontaine: it affects master as well.
22:51:25  <tjfontaine>isaacs: right, 6088 shouldn't hold vm2 back, it was always there.
22:53:24  <isaacs>hmm.... this probably should, though:
22:53:25  <isaacs>> var a = {a: 1}
22:53:25  <isaacs>repl:1
22:53:25  <isaacs>(var a = {a: 1}
22:53:25  <isaacs> ^^^
22:53:28  <isaacs>undefined
22:53:53  <tjfontaine>the repl is borked?
22:56:55  <isaacs>a little bit
22:57:07  <isaacs>repl tests pass, but not using `var` in the repl
22:57:17  <isaacs>i think it's not detecting the type of error properly or something
22:57:18  <isaacs>debugging now
22:57:55  <isaacs>ahhh... so.. it's DOING the right thing, but it's printing the syntax error out to stderr incorrectly.
22:58:39  <isaacs>Domenic_: ping. it looks like there's a piece of functionality that the old vm had, that the repl depends on.
23:01:45  <trevnorris>isaacs: you still ok w/ getting rid of domain dispose()?
23:01:57  <isaacs>trevnorris: sure
23:02:10  <trevnorris>othiym23: what's the PR f or that?
23:02:14  <isaacs>trevnorris: just util.deprecate() it
23:02:48  <trevnorris>isaacs: https://github.com/joyent/node/pull/5021
23:03:26  <othiym23>isaacs: why u no love me?
23:03:40  <othiym23>I've pinged you on that PR like a kabilion times
23:03:49  <othiym23>trevnorris: sorry, was distracted
23:04:18  <isaacs>oh, yeah, i know
23:04:25  <tjfontaine>error: patch failed: lib/domain.js:24
23:04:25  <tjfontaine>error: lib/domain.js: patch does not apply
23:04:26  <tjfontaine>odd
23:04:27  <isaacs>i have a minor doc nit. i'll rebase and land that one
23:05:25  <isaacs>ok, i see... so, vm.runIn*() needs to be able to pass a boolean to say "Don't display the exception line"
23:05:52  * amartensjoined
23:13:51  <trevnorris>isaacs: do you mind a change like this: https://github.com/trevnorris/node/compare/domain-api-redo-again-sucka
23:14:17  <trevnorris>isaacs: hm, here. this is w/o the multi-context stuff: https://github.com/trevnorris/node/commit/5764104
23:15:08  <isaacs>trevnorris: that seems fine
23:15:11  <trevnorris>it's not fully working, but you get the diea.
23:15:17  <isaacs>yeah, i'm just looking at your commit
23:15:38  <trevnorris>great. thanks. that'll abstract out the way errors are handled.
23:15:43  <trevnorris>makes like much easier.
23:17:36  * AvianFlujoined
23:19:03  * leonvvjoined
23:19:05  <MI6>nodejs-v0.10-windows: #168 UNSTABLE windows-ia32 (8/597) windows-x64 (8/597) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/168/
23:21:38  <tjfontaine>xine!
23:22:33  <trevnorris>can anyone explain why unrefTimeout does a process.nextTick on itself if the callback threw?
23:23:31  <tjfontaine>to continue processing the list on the next tick, like default timers do?
23:24:29  <trevnorris>so it's making an assumption that the error might be handled, so go ahead and add itself to the queue for processing?
23:24:41  <trevnorris>because if it's not then the timers won't finish processing anyways.
23:27:48  <othiym23>trevnorris: there's some ambivalence throughout the JS side of Node as to whether errors are recoverable / handleable or not
23:28:42  <trevnorris>othiym23: i don't care whether they are. just making sure I understand what the timer is doing. looks like it assumes the error may recover, so adds itself to the nextTick queue for processing in case it did.
23:29:06  <tjfontaine>that's basically what the comment in default timers says, isn't it?
23:29:17  <othiym23>that's what my understanding is
23:29:22  <tjfontaine>at least that's how I read the comment
23:30:04  <trevnorris>oh, the comment is not in both locations that code exists.
23:30:07  <trevnorris>so I didn't see it.
23:30:48  <trevnorris>is there a quick way to check if there's an uncaughtException listener?
23:31:10  * paulfryzeljoined
23:31:33  <tjfontaine>even if there is, can you reasonably determine if it will handle the exception?
23:32:12  <trevnorris>tjfontaine: we don't have to add it back if there's no listener and no domain.
23:32:17  <trevnorris>because it'll be impossible to recover.
23:32:44  <tjfontaine>but we're only adding it to the queue if we threw?
23:33:25  <tjfontaine>if it threw and there's no handler or domain, it's going to go down, do we really care how fast that is?
23:33:31  <trevnorris>yeah. this is investigative more than possible implementation. i'm starting by abstracting the domain error handling.
23:33:38  <trevnorris>but i'm getting an edge case failure with timers.
23:33:42  <trevnorris>so i'm trying to figure out why.
23:34:03  * mikealquit (Quit: Leaving.)
23:34:38  <othiym23>trevnorris: faster than testing process._events.uncaughtException?
23:35:02  <othiym23>(yes, I do this sort of thing all the time, yes, I know it's a bad idea)
23:35:08  <trevnorris>othiym23: oh, duh. that's what I was thinking of. thanks.
23:35:29  <trevnorris>my concern is backwards compatibility. if we were starting fresh it would be a snap.
23:35:35  <trevnorris>but not so much right now.
23:35:47  <othiym23>yeah
23:35:55  * mikealjoined
23:36:07  <trevnorris>othiym23: at least, w/ this first patch (which could technically land before all the rest) you just have to change the callback on Domain#_errorHandler and all errors will be passed there.
23:36:07  <MI6>joyent/node: tjfontaine created tag v0.10.17 - http://git.io/AAWjww
23:36:18  <trevnorris>(for that domain)
23:36:34  <othiym23>having two entirely different implementations for domains, one of which depends entirely on uncaughtException for its implementation, complicated NR's error tracing code considerably
23:37:01  <othiym23>trevnorris: so is process._fatalException going to be replaced, probably?
23:37:08  <trevnorris>not by me.
23:37:36  <trevnorris>i'm uber simplifying it by asking if the domain object has an error handler. then passing it the error.
23:37:44  <trevnorris>but that's all. functionally it'll be the same.
23:37:46  <othiym23>makes sense
23:37:51  <trevnorris>othiym23: like this: https://github.com/trevnorris/node/commit/5764104
23:38:03  <trevnorris>just moving the domain error handling logic into the domain module.
23:39:02  <othiym23>the way the error handler deals with throws within it is super-bizarre right now, by the way
23:39:25  <trevnorris>it hurts that it's also tightly coupled w/ the event module.
23:39:27  <othiym23>if you have domain.on('error') and that throws, you see the original stacktrace on stderr, instead of the handler's error
23:39:37  <isaacs>ok, i have a fix for the vm2 display_error bug.
23:42:23  <trevnorris>isaacs: actually, what about something like console.flushError('msg')?
23:42:33  <trevnorris>just a thought
23:43:00  * paulfryzelquit (Remote host closed the connection)
23:43:18  <isaacs>trevnorris: what if we didn't have it tightly-coupled to EventEmitter?
23:43:23  <isaacs>trevnorris: emitting Error will throw anyway, right?
23:43:26  <isaacs>and then that'll hit the domain
23:43:29  <MI6>joyent/node: Timothy J Fontaine v0.10 * 1d27987 : blog: Post for v0.10.17 (+3 more commits) - http://git.io/A5Y00A
23:43:34  * paulfryzeljoined
23:43:35  <isaacs>so why bother hijacking 'error' events?
23:43:38  <trevnorris>isaacs: that's where I'm getting w/ the changes.
23:43:38  <isaacs>tjfontaine: \o/
23:43:48  <isaacs>trevnorris: oh, i guess there's the enter/exit on emit()
23:44:37  <trevnorris>well, if there's an active domain and something throws then it'll just call the error handler. the domain object is an instance of EE, but yeah. don't have to be tightly coupled.
23:44:45  <trevnorris>isaacs: that's on my list
23:45:10  <tjfontaine>twittified
23:45:31  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
23:47:14  * TooTallNatejoined
23:47:38  * paulfryzelquit (Ping timeout: 245 seconds)
23:48:07  <Raynos>Does anyone have any tips on easy wins to test my apps in 0.11 ?
23:48:17  <Raynos>I want to start using it but don't have the C++ chops to fix all my binary dependencies
23:48:38  <Raynos>One option is to bite the bullet and learn C++, another is bite the bullet and cull all my binary dependencies
23:48:56  <tjfontaine>you can use something like NAN and learn less about C++ but you'll still have to touch all the deps
23:50:37  <MI6>nodejs-v0.10: #1441 UNSTABLE osx-ia32 (1/597) smartos-x64 (2/597) osx-x64 (1/597) http://jenkins.nodejs.org/job/nodejs-v0.10/1441/
23:51:13  <isaacs>man. variadic arguments.
23:51:17  <isaacs>what a shitty idea THAT was.
23:51:21  <tjfontaine>heh
23:52:36  <Raynos>isaacs: what's wrong with variadic arguments?
23:52:52  <othiym23>so many things
23:52:58  <othiym23>deoptimization
23:53:07  <othiym23>complicated and confusing argument-handling logic
23:53:09  <tjfontaine>depends on what language we're talking about
23:53:22  <othiym23>tjfontaine: I'm assuming isaacs meant JS
23:53:24  <isaacs>Raynos: in particular: ## vm.runInNewContext(code, [sandbox], [filename], [timeout], [printError])
23:53:27  <isaacs>yeah, in JS
23:53:35  <Raynos>you mean optional arguments
23:53:39  <isaacs>that shit ^ is a goddamn nightmare
23:53:46  <tjfontaine>othiym23: in the clr and jvm, they're a bit saner, BOX ALL THE THINGS
23:53:50  <isaacs>yes, but it's the variadicness that maeks it crap in Js
23:54:17  <isaacs>it'd be better to have set a hard limit on all user-facing api functions at 3 args.
23:54:23  <isaacs>2 if there's no cb
23:54:31  <isaacs>if you need more than that, you need an options object
23:55:01  <Raynos>I like `(uri, opts, cb)` or `(req, res, opts, cb)`
23:55:08  <isaacs>vm.runInNewContext(code, sandbox, {filename, timeout, printError}) would be fine
23:55:08  <isaacs>or at least, less bad.
23:55:11  <Raynos>although I feel bad about the latter because its 4 arguments!
23:56:35  <isaacs>Raynos: yeah, but req/res kind of makes sense as a pair, i guess
23:56:49  <isaacs>i like methods that go (args, req, res)
23:56:54  <othiym23>and if you use function.length to figure out what a function is doing you will be taken out and shot in front of the latrine
23:56:58  <isaacs>since, if you ahve the req and res, you probably don't need a cb
23:57:01  <isaacs>but whatever.
23:57:06  <isaacs>othiym23: ++