00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:10  * ircretaryjoined
00:01:03  * kazuponjoined
00:01:56  * bengljoined
00:04:48  * mikealjoined
00:05:52  * kazuponquit (Ping timeout: 240 seconds)
00:06:59  * Orbordejoined
00:08:38  * kazuponjoined
00:10:16  * mikealquit (Quit: Leaving.)
00:13:04  * kazuponquit (Ping timeout: 250 seconds)
00:20:32  * seishunquit (Ping timeout: 250 seconds)
00:26:48  * rmgjoined
00:31:27  * rmgquit (Remote host closed the connection)
00:31:33  * zz_karupachanged nick to karupa
00:38:37  * quijotejoined
00:38:37  * mikealjoined
00:40:42  * wavdedjoined
00:43:07  * quijotequit (Ping timeout: 245 seconds)
01:03:29  * mikealquit (Quit: Leaving.)
01:04:52  * wavdedquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
01:05:10  * Orbordequit (Ping timeout: 250 seconds)
01:07:14  * mikealjoined
01:15:31  * euoia_joined
01:24:08  * Orbordejoined
01:24:52  * mikealquit (Quit: Leaving.)
01:39:38  * quijotejoined
01:44:22  * quijotequit (Ping timeout: 264 seconds)
01:45:01  * kazuponjoined
01:46:22  * petka_quit (Quit: Connection closed for inactivity)
01:47:34  * mikealjoined
01:53:37  * mikealquit (Quit: Leaving.)
01:59:26  * euoia_quit (Ping timeout: 260 seconds)
02:00:56  * sh1mmer_quit (Quit: sh1mmer_)
02:00:56  * sh1mmerquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
02:09:01  * mikealjoined
02:18:12  * Left_Turnquit (Remote host closed the connection)
02:22:02  * wolfeidauquit (Remote host closed the connection)
02:32:29  * mikealquit (Quit: Leaving.)
02:35:43  * a_lejoined
02:38:46  * euoia_joined
02:40:10  * quijotejoined
02:41:42  * Orbordequit (Ping timeout: 272 seconds)
02:45:01  * quijotequit (Ping timeout: 260 seconds)
03:09:51  * mikealjoined
03:16:11  * mikealquit (Quit: Leaving.)
03:22:58  * euoia_quit (Ping timeout: 260 seconds)
03:25:52  * guybrushquit (Excess Flood)
03:26:30  * guybrushjoined
03:27:06  * mikealjoined
03:34:37  * mikealquit (Quit: Leaving.)
03:39:32  * mikealjoined
03:41:12  * quijotejoined
03:42:39  * sh1mmerjoined
03:42:47  * sh1mmer_joined
03:43:45  * c4miloquit (Remote host closed the connection)
03:45:34  * quijotequit (Ping timeout: 255 seconds)
03:54:56  * mikealquit (Quit: Leaving.)
03:57:03  * mikealjoined
04:00:32  * kazuponquit (Remote host closed the connection)
04:01:01  * kazuponjoined
04:05:26  * kazuponquit (Ping timeout: 260 seconds)
04:07:32  * mikealquit (Quit: Leaving.)
04:40:18  * sh1mmer_quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
04:40:18  * sh1mmerquit (Quit: sh1mmer)
04:41:44  * quijotejoined
04:42:56  * mikealjoined
04:43:59  * cjihrigjoined
04:44:22  * mikealquit (Client Quit)
04:46:17  * quijotequit (Ping timeout: 244 seconds)
04:51:25  * kazuponjoined
04:52:23  * mikealjoined
05:01:40  * mikealquit (Quit: Leaving.)
05:07:14  * avalanche123joined
05:08:06  * c4milojoined
05:12:57  * c4miloquit (Ping timeout: 260 seconds)
05:16:49  * rendarjoined
05:21:35  * avalanche123quit (Remote host closed the connection)
05:22:02  * avalanche123joined
05:26:49  * ryancolejoined
05:27:00  * avalanche123quit (Ping timeout: 272 seconds)
05:31:24  * avalanche123joined
05:42:27  * quijotejoined
05:46:52  * quijotequit (Ping timeout: 245 seconds)
05:46:56  * ryancolequit
05:56:00  * avalanche123quit (Remote host closed the connection)
05:56:28  * avalanche123joined
06:00:33  * avalanche123quit (Ping timeout: 240 seconds)
06:01:43  * TooTallNatejoined
06:11:08  * mikealjoined
06:13:15  * cjihrigpart
06:13:27  * cjihrigjoined
06:15:57  * bajtosjoined
06:23:49  * wolfeidaujoined
06:34:58  * cjihrigquit (Quit: Leaving.)
06:43:22  * quijotejoined
06:47:52  * quijotequit (Ping timeout: 240 seconds)
06:50:03  * TooTallNatequit (Quit: Computer has gone to sleep.)
06:56:26  * c4milojoined
07:00:42  * c4miloquit (Ping timeout: 245 seconds)
07:05:37  * rmgjoined
07:10:19  * rmgquit (Ping timeout: 255 seconds)
07:24:54  * sh1mmerjoined
07:25:00  * sh1mmer_joined
07:44:00  * quijotejoined
07:44:55  * dignifiedquirejoined
07:46:43  * daviddiasjoined
07:48:26  * quijotequit (Ping timeout: 255 seconds)
07:55:25  * bajtosquit (Quit: bajtos)
07:56:34  * quijotejoined
07:57:35  * bajtosjoined
08:05:28  <MI6>joyent/libuv: Saúl Ibarra Corretgé master * b53aeb4 : windows: replace use of inet_addr with uv_inet_pton - http://git.io/rKmHBw
08:30:14  * janjongboomjoined
08:37:53  * Left_Turnjoined
08:39:13  * Soarez|afkchanged nick to Soarez
08:40:10  * Ralithjoined
08:44:38  * c4milojoined
08:49:08  * c4miloquit (Ping timeout: 240 seconds)
08:49:55  * daviddiasquit (Quit: Textual IRC Client: www.textualapp.com)
08:50:16  * daviddiasjoined
08:51:53  * inolenquit (Quit: Leaving.)
09:20:19  * Soarezchanged nick to Soarez|afk
09:28:10  * quijotequit (Ping timeout: 250 seconds)
09:30:50  * Left_Turnquit (Ping timeout: 272 seconds)
09:36:06  * petka_joined
09:37:05  <indutny>heya
09:37:07  <indutny>morning
09:37:13  <mmalecki>morning Fedor
09:37:36  <indutny>morning mmalecki
09:37:37  <indutny>how are you?
09:39:40  <mmalecki>good, good. waiting for my new laptop to be delivered \o/. you?
09:40:26  <indutny>haha
09:40:29  <indutny>great too
09:40:35  <indutny>waiting for a new mbp, actually :)
09:41:04  <mmalecki>oh, haha, sweet! which model did you get?
09:41:43  * sh1mmer_quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
09:41:43  * sh1mmerquit (Quit: sh1mmer)
09:42:38  <indutny>hm...
09:42:40  <indutny>some i7 beast
09:42:46  <indutny>with retina
09:50:39  * daviddiasquit (Ping timeout: 272 seconds)
09:51:48  <saghul>boys need toys!
09:53:44  * kazuponquit (Remote host closed the connection)
09:54:11  * kazuponjoined
09:57:36  * quijotejoined
09:57:37  * Ralithquit (Ping timeout: 272 seconds)
09:58:32  * kazuponquit (Ping timeout: 245 seconds)
09:59:25  * Soarez|afkchanged nick to Soarez
10:15:33  * bajtosquit (Quit: bajtos)
10:22:22  * quijotequit (Ping timeout: 240 seconds)
10:28:35  * einaros_joined
10:30:35  * einaros_quit (Client Quit)
10:32:58  * c4milojoined
10:37:30  * Left_Turnjoined
10:37:33  * c4miloquit (Ping timeout: 240 seconds)
10:56:33  * quijotejoined
11:01:02  * quijotequit (Ping timeout: 245 seconds)
11:16:41  * seishunjoined
11:32:18  * Soarezchanged nick to Soarez|afk
11:45:24  * dignifiedquirequit (Quit: dignifiedquire)
11:57:29  * quijotejoined
12:01:40  * quijotequit (Ping timeout: 250 seconds)
12:08:03  * euoia_joined
12:08:18  * c4milojoined
12:10:53  * seishunquit (Read error: Connection reset by peer)
12:11:27  * seishunjoined
12:19:31  * AlexisMocha_joined
12:19:33  * AlexisMochaquit (Ping timeout: 240 seconds)
12:23:16  * bajtosjoined
12:40:35  <MI6>joyent/node: Alexis Campailla orangemocha-Dns * 2e370d7 : Testing Dns fixes - http://git.io/d7pSyQ
12:45:16  * piscisaureusjoined
12:45:50  * wavdedjoined
12:54:10  * euoia_quit (Ping timeout: 260 seconds)
12:58:04  * quijotejoined
13:00:31  * Soarez|afkchanged nick to Soarez
13:02:46  * quijotequit (Ping timeout: 250 seconds)
13:03:21  * sinclair|work_joined
13:05:42  * sinclair|workquit (Ping timeout: 245 seconds)
13:05:55  * sinclair|work_changed nick to sinclair|work
13:08:27  * guybrushquit (Excess Flood)
13:09:28  * guybrushjoined
13:25:44  * AlexisMocha_quit (Read error: Connection reset by peer)
13:29:33  * bradleymeckjoined
13:34:43  <bradleymeck>chrome devtools team are suggesting we fork their debugger agent out of chrome which I think I agree with since it already has hooks to most of the new things we want. We would have to scrub the heck out of it though so it doesn't depend on bink::
13:35:35  <bradleymeck>got bnoordhuis on the email thread since he is doing C++ stuff for the debugger I heard
13:39:39  <MI6>joyent/node: Fedor Indutny v0.8 * 396b9de : deps: throw StackOverflow in JSON.parse - http://git.io/7EnLPw
13:42:37  * Soarezchanged nick to Soarez|afk
13:51:09  * Soarez|afkchanged nick to Soarez
13:52:35  * euoia_joined
13:58:45  * quijotejoined
13:59:58  * euoia_quit (Ping timeout: 260 seconds)
14:03:20  * quijotequit (Ping timeout: 250 seconds)
14:07:23  * wavdedquit (Quit: Textual IRC Client: www.textualapp.com)
14:08:22  * piscisaureusquit (Ping timeout: 255 seconds)
14:12:18  * dignifiedquirejoined
14:13:03  * kenperkinsjoined
14:17:34  * quijotejoined
14:19:57  * cjihrigjoined
14:20:30  <MI6>joyent/node: Alexis Campailla v0.12 * 93f3b64 : windows: fix memory leak in WinapiErrnoException - http://git.io/qis9-g
14:30:02  <MI6>joyent/node: Alexis Campailla orangemocha-Dns * d2078f9 : Testing Dns fixes - http://git.io/A32ccQ
14:37:56  * AlexisMochajoined
14:38:22  * Orbordejoined
14:46:46  * a_lequit (Remote host closed the connection)
14:55:36  * piscisaureusjoined
14:57:02  * kenperkinsquit (Remote host closed the connection)
14:57:34  * cjihrigquit (Quit: Leaving.)
14:58:46  * quijotequit (Ping timeout: 264 seconds)
15:09:04  * quijotejoined
15:13:42  * quijotequit (Ping timeout: 260 seconds)
15:17:14  * quijotejoined
15:24:41  * piscisaureus_joined
15:25:39  * piscisaureusquit (Ping timeout: 255 seconds)
15:27:52  * cjihrigjoined
15:31:14  * c4miloquit (Remote host closed the connection)
15:31:23  * sinclair|workquit (Quit: ChatZilla 0.9.90.1 [Firefox 31.0/20140716183446])
15:31:48  * c4milojoined
15:35:47  * c4milo_joined
15:35:49  * cjihrigquit (Ping timeout: 272 seconds)
15:35:56  * c4miloquit (Ping timeout: 240 seconds)
15:37:45  * c4milo_quit (Read error: Connection reset by peer)
15:38:11  * c4milojoined
15:42:52  * c4miloquit (Ping timeout: 240 seconds)
15:46:57  * quijotequit (Ping timeout: 245 seconds)
15:51:08  * TooTallNatejoined
15:52:18  * quijotejoined
16:01:33  * bajtosquit (Quit: bajtos)
16:03:31  * rmgjoined
16:04:58  * jgijoined
16:07:45  * quijotequit (Ping timeout: 246 seconds)
16:11:07  * a_lejoined
16:14:31  * TooTallNatequit (Quit: Computer has gone to sleep.)
16:17:15  <mmalecki>this is interesting: http://millc.org/
16:17:56  <tjfontaine>heh
16:25:56  * mikealquit (Quit: Leaving.)
16:26:57  <saghul>looks nice
16:27:17  * rmgquit (Remote host closed the connection)
16:27:50  * rmgjoined
16:32:18  * cjihrigjoined
16:32:19  * mikealjoined
16:32:22  * rmgquit (Ping timeout: 245 seconds)
16:32:34  * inolenjoined
16:33:01  * bajtosjoined
16:34:11  * quijotejoined
16:35:41  * cjihrig1joined
16:36:06  * cjihrigquit (Read error: Connection reset by peer)
16:38:46  * quijotequit (Ping timeout: 244 seconds)
16:41:34  * wavdedjoined
16:42:24  * AvianFlu_joined
16:44:16  * bradleymeckquit (Quit: bradleymeck)
16:45:16  * AvianFluquit (Disconnected by services)
16:45:19  * AvianFlu_changed nick to AvianFlu
16:45:35  <MI6>joyent/libuv: Andrius Bentkus master * 875814a : unix: replace some asserts with returning errors - http://git.io/znWMoA
16:47:46  * Soarezchanged nick to Soarez|afk
16:49:25  * dignifiedquirequit (Quit: dignifiedquire)
16:51:58  * dap_joined
16:52:55  * wavdedquit (Quit: Textual IRC Client: www.textualapp.com)
16:54:38  * wavdedjoined
16:54:47  * piscisaureus__joined
16:55:26  * piscisaureus_quit (Ping timeout: 272 seconds)
17:00:14  * tumdedumquit (Ping timeout: 250 seconds)
17:00:44  * piscisaureus___joined
17:01:07  * tumdedumjoined
17:01:38  * rmgjoined
17:03:32  * piscisaureus__quit (Ping timeout: 240 seconds)
17:03:50  * rendarquit (Ping timeout: 260 seconds)
17:04:34  * dignifiedquirejoined
17:05:32  * piscisaureus___quit (Ping timeout: 240 seconds)
17:06:44  * AvianFluquit (Ping timeout: 240 seconds)
17:06:58  * rendarjoined
17:07:08  * wavdedquit (Ping timeout: 240 seconds)
17:08:15  * wavdedjoined
17:08:45  * wavdedquit (Client Quit)
17:09:01  * wavdedjoined
17:09:53  * mikealquit (Quit: Leaving.)
17:10:06  * piscisaureusjoined
17:10:10  * avalanche123joined
17:17:34  * mikealjoined
17:20:55  * quijotejoined
17:26:28  * c4milojoined
17:26:42  * c4miloquit (Remote host closed the connection)
17:26:58  * c4milojoined
17:27:23  * brsonjoined
17:29:31  * cjihrig1quit (Quit: Leaving.)
17:32:02  * bradleymeckjoined
17:33:26  * TooTallNatejoined
17:45:00  * rosskjoined
17:46:22  * petka_quit (Quit: Connection closed for inactivity)
17:49:39  * wolfeidauquit (Read error: Permission denied)
17:49:44  * janjongboomquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:50:37  * wolfeidaujoined
17:50:45  <tjfontaine>blah automake for osx
18:00:52  <MI6>joyent/node: seishun v0.12 * 42bda05 : crypto: add RSA encryption - http://git.io/3QTczQ
18:01:39  * piscisaureus____joined
18:04:37  * piscisaureusquit (Ping timeout: 255 seconds)
18:07:03  * janjongboomjoined
18:09:13  * quijotequit (Read error: Connection reset by peer)
18:09:39  * quijotejoined
18:20:30  * dignifiedquirequit (Quit: dignifiedquire)
18:20:53  * dignifiedquirejoined
18:24:47  * yunongjoined
18:27:34  * dignifiedquirequit (Quit: dignifiedquire)
18:30:57  * quijotequit (Ping timeout: 260 seconds)
18:31:44  * dshaw_joined
18:34:05  * dignifiedquirejoined
18:38:20  * kenperkinsjoined
18:47:18  * sh1mmer_joined
18:52:21  * piscisaureus____quit (Quit: ~ Trillian Astra - www.trillian.im ~)
18:53:47  * TooTallNatequit (Quit: Computer has gone to sleep.)
18:57:44  * dignifiedquirequit (Quit: dignifiedquire)
19:14:44  * quijotejoined
19:15:36  * mikealquit (Quit: Leaving.)
19:19:14  * quijotequit (Ping timeout: 250 seconds)
19:19:52  * quijotejoined
19:29:00  * bradleymeckquit (Quit: bradleymeck)
19:29:48  * nickleeflyquit (Quit: Connection closed for inactivity)
19:32:47  * dignifiedquirejoined
19:35:23  * avalanche123quit (Remote host closed the connection)
19:36:29  * avalanche123joined
19:36:29  * avalanche123quit (Remote host closed the connection)
19:36:45  * avalanche123joined
19:41:30  * bajtosquit (Quit: bajtos)
19:41:34  * jgiquit (Quit: jgi)
19:41:59  * bradleymeckjoined
19:42:07  * bradleymeckquit (Client Quit)
19:53:27  * TooTallNatejoined
19:55:34  * quijotequit (Ping timeout: 260 seconds)
20:11:08  * wavdedquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
20:12:13  * jgijoined
20:13:54  * wavdedjoined
20:21:50  * quijotejoined
20:23:17  * nickleeflyjoined
20:26:05  * dshaw_quit (Read error: Connection reset by peer)
20:26:07  * quijotequit (Ping timeout: 245 seconds)
20:27:33  * dshaw_joined
20:31:03  <trevnorris>afternoon
20:31:18  <tjfontaine>hola, I did some reviewing, I just want to look more closely at it
20:32:38  <trevnorris>k
20:32:50  <trevnorris>have a few other pr's that I need to review myself.
20:38:28  <chrisdickinson>could someone peer at https://github.com/joyent/node/pull/8114 ? it's the error docs PR.
20:39:19  <tjfontaine>chrisdickinson: is there a particular reason you targetted master first instead of v0.10?
20:39:33  <chrisdickinson>standardization of `errnoException`
20:39:54  <chrisdickinson>(wanted to get notes on whether anyone sees anything obvious that wouldn't apply to v0.10 due to that)
20:39:55  <tjfontaine>it may be applicable in most other ways though
20:40:26  <tjfontaine>chrisdickinson: iow I think it looks great and want it now :)
20:40:32  <chrisdickinson>I can re-submit against v0.10 if there's nothing that sticks out
20:40:48  <chrisdickinson>haha, rad :)
20:40:49  <tjfontaine>I need to do an actual review of it, but what I saw before I had liked
20:43:34  <tjfontaine>chrisdickinson: don't worry about a new one, so long as the diff applies it ain't no biggie for us to retarget
20:43:47  <tjfontaine>[though I wish github let me do it automagically, demerit github]
20:44:48  * inolenquit (Quit: Leaving.)
20:46:11  * petka_joined
20:47:41  * a_lequit (Remote host closed the connection)
20:50:16  * a_lejoined
20:51:48  * seishunquit (Read error: Connection reset by peer)
20:52:51  * seishunjoined
21:01:17  * mikealjoined
21:04:03  * sh1mmer_quit (Ping timeout: 240 seconds)
21:05:31  * wavdedquit (Quit: Textual IRC Client: www.textualapp.com)
21:06:41  * sh1mmerjoined
21:06:49  * wavdedjoined
21:11:56  * sh1mmerquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
21:16:34  * dshaw_quit (Quit: Leaving.)
21:22:38  * quijotejoined
21:22:52  * sh1mmerjoined
21:26:57  * quijotequit (Ping timeout: 245 seconds)
21:27:43  * sh1mmerquit (Client Quit)
21:28:17  * mikealquit (Quit: Leaving.)
21:30:24  * sh1mmerjoined
21:35:47  * dshaw_joined
21:40:23  * Ralithjoined
21:41:08  * sh1mmerquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
21:42:01  <trevnorris>what the hell. why did it take me so long to see that enum AsyncWrap::ProviderType aren't flags?
21:42:25  <trevnorris>it'd never be the case to have an AsyncWrap instance with more than one provider. wtf was I thinking?
21:45:53  * mikealjoined
21:45:56  * Ralithquit (Ping timeout: 240 seconds)
21:50:20  * dignifiedquirequit (Quit: dignifiedquire)
21:52:22  * sh1mmerjoined
21:56:22  * kellabytequit (Quit: Connection closed for inactivity)
21:57:36  * wavdedquit (Quit: Textual IRC Client: www.textualapp.com)
21:59:56  * SquirrelCZECHquit (Remote host closed the connection)
22:05:40  * SquirrelCZECHjoined
22:08:18  <trevnorris>tjfontaine: ping
22:09:26  <tjfontaine>pong
22:10:25  <trevnorris>tjfontaine: sorry, give me a minute. need to figure out some C++ macro syntax first.
22:10:40  <trevnorris>damn macro expansions
22:19:15  * avalanche123quit (Remote host closed the connection)
22:23:16  * quijotejoined
22:23:53  <trevnorris>tjfontaine: ok, on the side. I see that your src/async_listener.cc makes the fatal error handler optional. that must've been why you added the commit to check if it's undefined.
22:25:44  * avalanche123joined
22:27:50  * quijotequit (Ping timeout: 250 seconds)
22:39:47  * nickleeflyquit (Quit: Connection closed for inactivity)
22:40:52  * rendarquit
22:42:20  <chrisdickinson>dear #libuv: I'm poking at the thought of adding a pipelineError event to streams that would allow users to prevent the default unpiping behavior + handle all stream errors at a single handler. thoughts on this? https://gist.github.com/chrisdickinson/16abfa7c7b7ecb40d24d
22:42:45  * janjongboomquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:43:29  <chrisdickinson>one weirdness: if any child stream "handles" the error, it handles the error for all branches of the pipeline. after a bit of soul-searching I'm kind of leaning towards that being the "correct" behavior.
22:45:14  <trevnorris>chrisdickinson: I like the ascii diagrams :)
22:46:12  <chrisdickinson>thanks :)
22:46:22  <trevnorris>chrisdickinson: please, for the love. this is a streams API flaw that needs to be evangelized as completely evil: https://gist.github.com/chrisdickinson/16abfa7c7b7ecb40d24d#file-example-js-L31
22:46:29  <trevnorris>the cb should never be called immediately.
22:47:14  <tjfontaine>I'm not convinced of that, transforms are ok to be called inline there, imesho
22:47:26  <tjfontaine>the bug I would argue is with hwm > 0
22:47:31  <chrisdickinson>trevnorris: if so, that's probably something we should take care of inside of the streams implementation (by making cb always async)
22:48:12  <tjfontaine>dap_, LeftWing: https://gist.github.com/chrisdickinson/16abfa7c7b7ecb40d24d <-- when you have some bw to think about this
22:48:32  <trevnorris>tjfontaine: w/ uv_try_write it's possible for write to always return true, and for large write write operations the cb() will always return true and cause a JS Fatal Allocation Error
22:49:08  <trevnorris>there are open issues on this problem.
22:49:11  <tjfontaine>trevnorris: it's different for transform streams, for this sort of operation there's not particularly a good reason to defer every iteration
22:49:15  <tjfontaine>trevnorris: considering object mode
22:50:25  <nathan7>I still have a todo item for bothering you about null-safe object streams
22:50:28  <nathan7>did I ever get to that?
22:50:31  <trevnorris>tjfontaine: i'm trying to keep the guideline simple. so we don't have to explain stupid implementation detail like what I had to do w/ nextTickQueue so it wouldn't overflow
22:50:37  <tjfontaine>nathan7: you did get me one
22:50:39  <chrisdickinson>trevnorris: is there a massive perf hit if we change `doWrite`'s state.onwrite to always `process.nextTick` if called on same tick?
22:50:47  <tjfontaine>nathan7: chrisdickinson and I talked about that as well
22:51:00  <chrisdickinson>(i.e., https://github.com/joyent/node/blob/master/lib/_stream_writable.js#L262-L265)
22:51:01  <tjfontaine>chrisdickinson: we never suggest nextTick :)
22:51:09  <tjfontaine>it should be excised from the external documentation
22:51:20  <trevnorris>chrisdickinson: that does nothing. nextTick() effectively is on the same "phase" of the event loop. so there still won't be a chance to cleanup resources.
22:51:23  <nathan7>tjfontaine: lovely
22:51:30  * nathan7moves Trello card over to 'completed'
22:51:39  <tjfontaine>nathan7: essentially adding in a sentinel for EOF
22:52:02  <trevnorris>chrisdickinson: you'd have to setImmediate it. like in the case of an error: setImmediate(cb, new Error('hello from loudify()'));
22:52:08  <nathan7>tjfontaine: this would involve some kind of { objectMode: 'new' } or something though, right?
22:52:19  <nathan7>tjfontaine: or a .pushValue, perhaps
22:52:32  <nathan7>tjfontaine: still reserving .push(null) for EOF
22:52:40  <chrisdickinson>trevnorris: ah. and that would probably be pretty unfortunate on the inside of the streams machinery, huh.
22:52:47  <tjfontaine>nathan7: first iteration would be { nullSafe: false } and (support === null || EOF)
22:53:01  <trevnorris>chrisdickinson: technically, for the fastest implementation, you'd keep an internal counter for how many times the cb() had been called synchronously, then after that runs out, you'd setImmediate() the following call so it has a cycle to clean up.
22:53:07  <tjfontaine>nathan7: s/support/value/ but you get the idea
22:53:16  <tjfontaine>nathan7: essentially a smooth transition
22:53:20  <chrisdickinson>trevnorris: yeah, ran into that with js-git stuff
22:53:24  <nathan7>tjfontaine: adding a singleton bothers me
22:53:56  <trevnorris>chrisdickinson: I did the same for process.nextTick(): https://github.com/joyent/node/blob/master/src/node.js#L351-L352
22:54:08  <chrisdickinson>trying to balance speed with "don't give users a massive footgun with a little label that reads 'do not point at feet'"
22:54:26  <trevnorris>chrisdickinson: I chose an arbitrary value (1e4) and force the cleanup of nextTickQueue callbacks to prevent v8 from running out of memory.
22:54:33  <trevnorris>yeah, exactly.
22:54:55  <chrisdickinson>yep, i think i did that somewhere in git-inflate-pack for a while
22:55:00  <trevnorris>we could technically do that internally, and then wrap the cb in a setImmediate() wrapper after N iterations.
22:55:06  <tjfontaine>the best way to do that is we replace the external implementation of nextTick to be setImmediate
22:55:09  <tjfontaine>frankly
22:55:19  <tjfontaine>leave the internal implementation for us
22:55:37  <chrisdickinson>nathan7: how so? node core is about the only place you could add a singleton value (i.e., `streams.EOF = new Object`) and make assurances that it will remain a singleton
22:55:53  <trevnorris>tjfontaine: eh, I have a hard time disagreeing w/ that. it would also allow users to pass arguments to nexTick(), which has been a requested feature.
22:56:21  <tjfontaine>indeed, though that is dangerous if you want code that works in a backwards compatible way, but not that difficult to message
22:57:16  <trevnorris>yeah. wonder if we could create a patch and run a bunch of very common module tests w/ it and see if anything breaks.
22:57:18  <trevnorris>rvagg: ping
22:57:40  <nathan7>chrisdickinson: sentinels in generals irk me
22:58:05  <nathan7>tjfontaine: { nullSafe: false } and .pushEnd(), perhaps?
22:58:14  <nathan7>tjfontaine: that gets rid of the gnarly sentinel
22:58:34  <trevnorris>tjfontaine: oh, btw, github has been annoying the hell out of me. I type @tj in a node issue and the first name that appears is tjholowaychuk
22:58:56  <nathan7>then type @tjf, you lazy bastard q=
22:59:20  <trevnorris>nathan7: bite me. :P
22:59:28  * nathan7chews on trevnorris
22:59:29  <trevnorris>it's more about the principle of the thing.
22:59:37  * trevnorrisruns away in terror
22:59:56  <nathan7>tjfontaine doesn't quite have the emo kid aesthetic down, no
23:00:25  <trevnorris>yeah, and it prevents me from punching him in the face when we see each other.
23:00:54  <trevnorris>that emo, lip-ring selfie makes me rageful every time I see it
23:01:04  <chrisdickinson>nathan7: that's not too bad, i suppose, though it does grow the api surface area
23:01:24  <nathan7>chrisdickinson: that's an acceptable tradeoff for having sensible type rules
23:02:13  <chrisdickinson>.push is already polymorphic
23:02:26  <chrisdickinson>*especially* in the objectMode case
23:02:29  <nathan7>well, yes, for objectMode
23:02:37  <nathan7>and strings and shit
23:02:44  <chrisdickinson>so if there's an objectMode stream anyplace in your program ...
23:02:58  <chrisdickinson>(not to mention `.read()` vs `.read(N)`)
23:03:03  <nathan7>sure
23:03:07  <nathan7>but this is an actual footgun
23:03:23  <chrisdickinson>the sentinel?
23:03:24  <nathan7>I can't safely implement, say, an object deserialisation stream
23:03:31  <chrisdickinson>or the lack of nulls?
23:03:42  <chrisdickinson>(because I totally agree that the lack of nulls needs to get fixed)
23:03:55  <nathan7>ah, yes, .read()'s null is a bit of a bummer too
23:05:30  <trevnorris>tjfontaine: so, any idea if it's possible to do macro expansion on a comma?
23:06:38  <tjfontaine>hmm?
23:07:37  <chrisdickinson>trevnorris: to clarify re: https://gist.github.com/chrisdickinson/16abfa7c7b7ecb40d24d#file-example-js-L31 -- would your suggestion be, for this example, to replace with `setImmediate(cb)`?
23:08:28  <chrisdickinson>also: any feels on `readableStream.push` outside of a `._read`?
23:08:36  <trevnorris>chrisdickinson: eh, don't worry about it. it's an issue not even related to the topic of your post.
23:08:43  <trevnorris>it's something that needs to be addressed elsewhere.
23:09:02  <chrisdickinson>ah, cool
23:09:11  <trevnorris>tjfontaine: e.g. #define M(P, Q) \ P ## value ## Q
23:09:17  <trevnorris>tjfontaine: and I want Q to be a comma
23:10:38  * Ralithjoined
23:12:50  <tjfontaine>uh, I don't think so
23:13:02  <tjfontaine>as in it could be if you're treating everything as a literal
23:13:07  <tjfontaine>but not if you're trying to parse arguments
23:13:29  <tjfontaine>that is if you were trying to concatenate strings
23:13:51  <trevnorris>tjfontaine: here: https://gist.github.com/trevnorris/088fb586cf3d044c8a31
23:14:19  <trevnorris>tjfontaine: I'm trying to do that thing where in src/async_listener.cc I can assign each of those as an object property.
23:14:41  <trevnorris>tjfontaine: but I can't end each one with a comma, so I was thinking adding a ## Postfix
23:14:54  <trevnorris>but can't get a freaking comma in there
23:15:11  <tjfontaine>nah, just do it twice, really it's not that bad to just maintain the lists
23:15:39  <tjfontaine>ideally we're only using things like macros where its' absolutely necessary, using them for metaprogramming makes it harder to actually debug when we come back
23:16:05  <tjfontaine>just image that most people dislike that usage of macros in the same way we dislike array comprehensions
23:16:17  <trevnorris>hahaha. ok
23:16:51  <trevnorris>i'll just keep the two lists close together so it's easy to see that new items need to be added in both places.
23:17:02  <tjfontaine>that's fine
23:17:41  <tjfontaine>or add an assert, where you have a _MAX enum and then check that Object.keys(foo).length matches
23:17:50  <tjfontaine>or something
23:17:52  <trevnorris>you were right, in that after a user added PROVIDER_GETNAMEINFOREQWRAP, suddenly all my types were screwed up. b/c it wasn't obvious that the JS needed to be updated as well.
23:18:10  <trevnorris>ah, good idea.
23:19:43  <trevnorris>tjfontaine: ok, this all stems from #8090 where ben wanted to add a unique id by setting an object property. of course I object, and instead added this: https://github.com/trevnorris/node/commit/1716fce
23:20:19  <tjfontaine>:q
23:20:22  <tjfontaine>er ww
23:20:31  <trevnorris>then I figured, it would be a lot easier to add something like handle.asyncProviderType() that's controlled in a similar way on the c++ side
23:20:40  <trevnorris>instead of having to maintain multiple lists of all this crap.
23:20:59  <trevnorris>tjfontaine: um, don't know what that expression is meant to convey
23:21:07  <tjfontaine>ok, well for now just ignore that part, that's more about bikeshedding what's necessary post 0.12 anyway, imo
23:21:13  <trevnorris>ok
23:21:16  <tjfontaine>trevnorris: :q is me trying to quit vim, and ww means wrong window
23:21:22  <trevnorris>haha
23:22:25  <tjfontaine>trevnorris: let's focus on getting your pr reviewed and in and finishing up the last few bits so we can do 0.12, most of the people doing tracing have what they have working and are open to working through something but no one is chomping at the bit just yet to try something new
23:22:32  * a_lequit (Remote host closed the connection)
23:23:08  * a_lejoined
23:24:00  * wavdedjoined
23:24:04  * quijotejoined
23:24:37  <trevnorris>okie dokie
23:25:13  <trevnorris>just want to export the provider types via process.binding(). otherwise it's going to be a lot less helpful.
23:25:23  <tjfontaine>off of the async_listener module?
23:27:32  * a_lequit (Ping timeout: 250 seconds)
23:28:32  * quijotequit (Ping timeout: 245 seconds)
23:28:47  <trevnorris>tjfontaine: it's something you told me shouldn't been done. right no in the JS we have to manually maintain a list of providers to match that in AsyncWrap::ProviderTypes.
23:29:12  <trevnorris>and, you warned it was a bad idea. and you were right.
23:29:16  <tjfontaine>right, yes I don't want that to happen, I was asking where logically you were putting it
23:29:38  <tjfontaine>that is to say, who is exposing it, the process.binding("async_listener") module?
23:29:42  * Ralithquit (Ping timeout: 250 seconds)
23:30:12  <trevnorris>yeah. it would be process.binding('async_listener').Provider(s?)
23:30:32  <tjfontaine>I would say plural
23:30:35  <trevnorris>ok.
23:30:54  <trevnorris>and that way not have to worry about changes to core.
23:31:37  * Soarez|afkchanged nick to Soarez
23:40:50  * c4miloquit (Remote host closed the connection)
23:41:49  * a_lejoined
23:45:39  * wolfeidauquit (Remote host closed the connection)
23:48:12  * Soarezchanged nick to Soarez|afk
23:49:24  * c4milojoined
23:49:51  * wavdedquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
23:50:31  * Soarez|afkchanged nick to Soarez
23:58:55  <trevnorris>tjfontaine: have a problem w/ this: https://gist.github.com/trevnorris/d50fd0e1fe7628bff770
23:59:09  <trevnorris>it's just so we can see the name of the function
23:59:23  <trevnorris>I don't like just seeing
23:59:23  <trevnorris>> [Function]