00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:10  * ircretaryjoined
00:00:17  * wolfeidauquit (Remote host closed the connection)
00:06:16  * wolfeidaujoined
00:09:06  * sh1mmerjoined
00:12:16  * AvianFluquit (Read error: Connection reset by peer)
00:12:34  * WalrusPonyjoined
00:12:53  * AvianFlujoined
00:13:57  * SexyBunnyquit (Ping timeout: 245 seconds)
00:16:51  * WalrusPonyquit (Ping timeout: 246 seconds)
00:17:12  * c4miloquit (Remote host closed the connection)
00:20:25  * AlexisMocha_quit (Read error: Connection reset by peer)
00:23:44  * rmgquit (Remote host closed the connection)
00:24:24  * sh1mmerquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
00:30:50  * sandr8joined
00:31:08  * mikealquit (Quit: Leaving.)
00:32:18  * sh1mmerjoined
00:35:22  * sandr8quit (Ping timeout: 260 seconds)
00:37:14  * Ralithquit (Ping timeout: 260 seconds)
00:37:22  * yunongquit (Ping timeout: 245 seconds)
00:39:20  * inolenquit (Quit: Leaving.)
00:41:18  * sh1mmerquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
00:43:55  * sh1mmerjoined
00:44:11  * EhevuTovquit (Quit: This computer has gone to sleep)
00:45:43  * sh1mmerquit (Client Quit)
00:47:18  * sh1mmerjoined
00:47:49  * a_lequit (Remote host closed the connection)
00:52:30  * quijotejoined
00:53:50  * dap_quit (Quit: Leaving.)
00:54:15  * rmgjoined
00:56:47  * abraxasjoined
00:57:08  * quijotequit (Ping timeout: 255 seconds)
01:00:37  * guybrushquit (Excess Flood)
01:00:41  * rmgquit (Ping timeout: 244 seconds)
01:01:11  * guybrushjoined
01:02:27  * Ralithjoined
01:07:01  * kazuponjoined
01:07:19  * inolenjoined
01:08:28  * cjihrigjoined
01:09:20  * a_lejoined
01:09:49  * sh1mmerquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
01:12:43  * WalrusPonyjoined
01:13:28  * c4milojoined
01:17:22  * kazuponquit (Ping timeout: 240 seconds)
01:21:08  * yunongjoined
01:22:00  * sh1mmerjoined
01:22:04  * LeftWing__changed nick to LeftWing
01:22:52  * kazuponjoined
01:23:20  * sh1mmerquit (Client Quit)
01:25:31  * sh1mmerjoined
01:26:42  * a_lequit (Ping timeout: 260 seconds)
01:29:50  * a_lejoined
01:29:54  * sh1mmerquit (Client Quit)
01:30:54  * sh1mmerjoined
01:36:05  * sh1mmerquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
01:42:08  * sh1mmerjoined
01:43:56  * c4miloquit (Remote host closed the connection)
01:47:03  * a_lequit (Ping timeout: 240 seconds)
01:49:37  * kazuponquit (Remote host closed the connection)
01:51:04  * kazuponjoined
01:51:56  * rosskquit (Remote host closed the connection)
01:53:09  * EhevuTovjoined
01:53:34  * quijotejoined
01:57:05  * yunongquit (Remote host closed the connection)
01:57:39  * yunongjoined
01:57:58  * quijotequit (Ping timeout: 260 seconds)
01:58:29  * jgiquit (Quit: jgi)
02:01:47  * abraxasquit (Remote host closed the connection)
02:02:01  * yunongquit (Ping timeout: 260 seconds)
02:04:47  * abraxasjoined
02:06:50  * sh1mmerquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
02:12:19  * dshaw_quit (Quit: Leaving.)
02:19:59  * yunongjoined
02:22:49  * rosskjoined
02:23:32  * dshaw_joined
02:25:12  * yunongquit (Remote host closed the connection)
02:25:49  * yunongjoined
02:30:29  * yunongquit (Ping timeout: 260 seconds)
02:32:09  * sandr8joined
02:33:53  * brsonquit (Ping timeout: 255 seconds)
02:36:30  * sandr8quit (Ping timeout: 246 seconds)
02:37:14  * rosskquit (Ping timeout: 250 seconds)
02:41:44  * Left_Turnquit (Remote host closed the connection)
02:46:01  * dshaw_quit (Quit: Leaving.)
02:48:41  * a_lejoined
02:50:12  * a_lequit (Remote host closed the connection)
02:50:39  * a_lejoined
02:54:07  * quijotejoined
02:54:37  * thlorenzquit (Remote host closed the connection)
02:54:56  * thlorenzjoined
02:58:37  * quijotequit (Ping timeout: 245 seconds)
03:01:45  * saapasquit (Ping timeout: 272 seconds)
03:03:32  * toothrotquit (Ping timeout: 245 seconds)
03:04:54  * c4milojoined
03:06:44  * thlorenzquit (Remote host closed the connection)
03:08:40  * wolfeidauquit (Ping timeout: 260 seconds)
03:09:36  * c4miloquit (Ping timeout: 260 seconds)
03:10:05  * abraxasquit (Remote host closed the connection)
03:12:06  * saapasjoined
03:12:29  * abraxasjoined
03:17:34  * wolfeidaujoined
03:29:47  * wolfeidauquit (Ping timeout: 245 seconds)
03:32:35  * swajrquit (Remote host closed the connection)
03:36:09  * wolfeidaujoined
03:36:36  * swajjoined
03:53:27  * kazuponquit (Remote host closed the connection)
03:54:47  * quijotejoined
03:59:06  * quijotequit (Ping timeout: 246 seconds)
03:59:10  * yunongjoined
04:01:15  * cjihrigquit (Quit: Leaving.)
04:02:58  * wolfeidauquit (Ping timeout: 264 seconds)
04:04:00  * wolfeidaujoined
04:18:45  * wolfeidauquit (Ping timeout: 260 seconds)
04:19:57  * mikealjoined
04:20:36  * c4milojoined
04:21:00  * wolfeidaujoined
04:22:46  * wolfeidauquit (Read error: No route to host)
04:23:23  * wolfeidaujoined
04:24:01  * kazuponjoined
04:25:46  * c4miloquit (Ping timeout: 264 seconds)
04:26:28  * abraxasquit (Remote host closed the connection)
04:28:10  * mikealquit (Quit: Leaving.)
04:28:51  * kazuponquit (Ping timeout: 246 seconds)
04:31:57  * abraxasjoined
04:33:59  * kazuponjoined
04:34:10  * rosskjoined
04:37:10  * abraxasquit (Ping timeout: 264 seconds)
04:38:44  * rosskquit (Ping timeout: 260 seconds)
04:39:14  * rosskjoined
04:46:35  * a_lequit (Remote host closed the connection)
04:47:16  * a_lejoined
04:49:19  * yunongquit (Remote host closed the connection)
04:49:36  * inolenquit (Quit: Leaving.)
04:49:55  * yunongjoined
04:50:50  * indexzerojoined
04:54:03  * yunongquit (Ping timeout: 246 seconds)
04:55:32  * quijotejoined
04:56:07  * AvianFluquit (Quit: Leaving)
05:00:17  * quijotequit (Ping timeout: 260 seconds)
05:04:15  * AvianFlujoined
05:04:44  * inolenjoined
05:06:40  * AvianFluquit (Client Quit)
05:07:44  * AvianFlujoined
05:09:24  * nickleeflyjoined
05:11:54  * AvianFluquit (Client Quit)
05:21:52  * AvianFlujoined
05:23:03  * AvianFluquit (Client Quit)
05:23:23  * mikealjoined
05:27:23  * yunongjoined
05:31:35  * a_lequit (Remote host closed the connection)
05:39:15  * inolenquit (Quit: Leaving.)
05:40:36  * sandr8joined
05:46:04  * yunongquit (Remote host closed the connection)
05:46:38  * yunongjoined
05:50:45  * yunongquit (Ping timeout: 246 seconds)
05:54:58  * yunongjoined
05:55:19  * yunongquit (Remote host closed the connection)
05:55:25  * bajtosjoined
05:55:53  * yunongjoined
05:56:20  * quijotejoined
06:00:34  * yunongquit (Ping timeout: 264 seconds)
06:01:09  * quijotequit (Ping timeout: 264 seconds)
06:04:45  * rosskquit (Remote host closed the connection)
06:08:48  * c4milojoined
06:13:34  * c4miloquit (Ping timeout: 250 seconds)
06:21:13  * Soarez|afkchanged nick to Soarez
06:21:49  * Soarezchanged nick to Soarez|afk
06:32:01  * rendarjoined
06:44:57  <MI6>joyent/libuv: Bert Belder issue-1426 * 6941cab : windows: fix buffer leak after failed udp send - http://git.io/eUWinQ
06:51:02  * abraxasjoined
06:55:59  * yunongjoined
06:57:05  * quijotejoined
06:57:56  * yunong_joined
06:58:49  * wolfeidauquit (Remote host closed the connection)
07:01:04  * yunongquit (Ping timeout: 260 seconds)
07:01:46  * quijotequit (Ping timeout: 260 seconds)
07:02:15  * yunong_quit (Ping timeout: 240 seconds)
07:05:19  * Soarez|afkchanged nick to Soarez
07:09:52  * EhevuTovquit (Quit: This computer has gone to sleep)
07:13:53  * quijotejoined
07:20:53  * EhevuTovjoined
07:25:00  * daviddiasjoined
07:32:56  * EhevuTovquit (Quit: This computer has gone to sleep)
07:37:38  * EhevuTovjoined
07:42:09  * bajtosquit (Quit: bajtos)
07:57:17  * c4milojoined
07:58:46  * yunongjoined
08:00:27  * Soarezchanged nick to Soarez|afk
08:01:58  * c4miloquit (Ping timeout: 260 seconds)
08:03:03  * yunongquit (Ping timeout: 240 seconds)
08:03:38  * bajtosjoined
08:20:57  * stagasjoined
08:21:26  * wolfeidaujoined
08:29:36  * EhevuTovquit (Quit: This computer has gone to sleep)
08:31:15  * EhevuTovjoined
08:35:37  * quijotequit (Ping timeout: 245 seconds)
08:47:51  * bajtosquit (Quit: bajtos)
08:49:17  * EhevuTovquit (Quit: This computer has gone to sleep)
08:49:46  * Soarez|afkchanged nick to Soarez
08:50:44  * wolfeidauquit (Remote host closed the connection)
08:52:30  * EhevuTovjoined
08:56:02  * yunongjoined
08:57:45  * yunongquit (Read error: Connection reset by peer)
08:57:56  * yunongjoined
08:58:52  * bajtosjoined
09:02:15  * yunongquit (Ping timeout: 240 seconds)
09:06:42  * indexzeroquit (Quit: indexzero)
09:10:24  * Soarezchanged nick to Soarez|afk
09:15:55  * quijotejoined
09:19:22  * stagasquit (Ping timeout: 245 seconds)
09:20:07  * EhevuTovquit (Quit: This computer has gone to sleep)
09:26:02  * Left_Turnjoined
09:28:02  * Soarez|afkchanged nick to Soarez
09:39:51  * nickleeflyquit (Quit: Connection closed for inactivity)
09:40:53  * Soarezchanged nick to Soarez|afk
09:45:34  * c4milojoined
09:46:09  * abraxasquit (Remote host closed the connection)
09:46:59  * bajtosquit (Quit: bajtos)
09:47:30  * stagasjoined
09:50:23  * c4miloquit (Ping timeout: 255 seconds)
09:52:23  * abraxasjoined
09:57:10  * Soarez|afkchanged nick to Soarez
09:57:57  * yunongjoined
10:02:36  * yunongquit (Ping timeout: 260 seconds)
10:05:52  * Left_Turnquit (Ping timeout: 260 seconds)
10:11:15  * stagasquit (Quit: Bye)
10:21:21  * quijotequit (Ping timeout: 260 seconds)
10:27:46  * bajtosjoined
10:48:58  * quijotejoined
10:53:28  * seishunjoined
10:53:42  * quijotequit (Ping timeout: 260 seconds)
10:56:34  * yunongjoined
10:58:08  * abraxasquit (Remote host closed the connection)
10:58:52  * quijotejoined
11:00:57  * abraxasjoined
11:01:02  * yunongquit (Ping timeout: 245 seconds)
11:09:06  * kazuponquit (Remote host closed the connection)
11:11:15  * abraxasquit (Remote host closed the connection)
11:22:38  * quijotequit (Ping timeout: 260 seconds)
11:25:42  * toothrotjoined
11:26:00  * Soarezchanged nick to Soarez|afk
11:33:45  * c4milojoined
11:37:34  * daviddiasquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
11:38:02  * c4miloquit (Ping timeout: 250 seconds)
11:38:15  * Left_Turnjoined
11:43:16  * abraxasjoined
11:47:52  * abraxasquit (Ping timeout: 240 seconds)
11:56:46  * yunongjoined
12:01:20  * yunongquit (Ping timeout: 255 seconds)
12:10:13  * bajtosquit (Quit: bajtos)
12:10:49  * bajtosjoined
12:20:30  * quijotejoined
12:24:51  * quijotequit (Ping timeout: 246 seconds)
12:35:22  * Left_Turnquit (Ping timeout: 264 seconds)
12:42:05  * Left_Turnjoined
12:49:16  * cjihrigjoined
12:56:33  * yunongjoined
12:56:42  * AvianFlujoined
13:01:15  * yunongquit (Ping timeout: 240 seconds)
13:01:30  * bajtosquit (Quit: bajtos)
13:01:53  * bajtosjoined
13:01:56  * bajtosquit (Client Quit)
13:08:43  * inolenjoined
13:09:33  * Soarez|afkchanged nick to Soarez
13:09:46  * _3rdEdenchanged nick to `3rdEden
13:12:41  * cjihrigquit (Quit: Leaving.)
13:21:06  * quijotejoined
13:22:00  * c4milojoined
13:26:04  * quijotequit (Ping timeout: 260 seconds)
13:26:48  * c4miloquit (Ping timeout: 250 seconds)
13:28:19  * daviddiasjoined
13:35:47  <kkaefer>can I mark a uv_async_t as "weak", meaning that the loop will terminate even with the uv_async_t still attached?
13:36:54  * thlorenzjoined
13:44:18  * abraxasjoined
13:44:58  * cjihrigjoined
13:46:12  * cjihrigquit (Client Quit)
13:48:55  * quijotejoined
13:49:01  * abraxasquit (Ping timeout: 260 seconds)
13:50:35  <kkaefer>I guess the bigger question is: can I build something like uv_queue_work() without accessing libuv internals?
13:50:46  <kkaefer>it seems like the wq_* stuff is treated specially by libuv
13:51:15  * seishunquit (Ping timeout: 240 seconds)
13:53:30  * AvianFluquit (Quit: Leaving)
13:53:33  * quijotequit (Ping timeout: 240 seconds)
13:56:34  * yunongjoined
14:01:02  * yunongquit (Ping timeout: 245 seconds)
14:02:15  <kkaefer>also, it looks like uv_queue_work is thread safe, no?
14:08:26  * AvianFlujoined
14:09:12  * kazuponjoined
14:15:36  * thlorenzquit (Remote host closed the connection)
14:16:55  * cjihrigjoined
14:22:46  * mikealquit (Quit: Leaving.)
14:24:00  * cjihrigquit (Ping timeout: 250 seconds)
14:25:15  * mikealjoined
14:31:24  * thlorenzjoined
14:31:34  * seishunjoined
14:34:06  * seishunquit (Read error: Connection reset by peer)
14:34:07  * cjihrigjoined
14:34:43  * seishunjoined
14:36:12  * thlorenzquit (Remote host closed the connection)
14:37:16  * thlorenzjoined
14:40:30  * prettyrobotsjoined
14:41:15  * prettyrobotschanged nick to Guest60036
14:45:02  * quijotejoined
14:48:52  * inolenquit (Quit: Leaving.)
14:54:03  * thlorenzquit (Remote host closed the connection)
14:55:13  * thlorenzjoined
14:56:38  * yunongjoined
15:01:41  * mikealquit (Quit: Leaving.)
15:01:46  * yunongquit (Ping timeout: 264 seconds)
15:04:03  * inolenjoined
15:05:07  * bajtosjoined
15:06:33  * kazuponquit (Ping timeout: 246 seconds)
15:07:18  * kazuponjoined
15:08:36  * yunongjoined
15:09:38  * a_lejoined
15:10:23  * c4milojoined
15:11:27  * AvianFluquit (Ping timeout: 246 seconds)
15:12:20  * brsonjoined
15:12:50  * rmgjoined
15:14:21  * quijotequit (Read error: Connection reset by peer)
15:14:32  * quijote_joined
15:14:47  * c4miloquit (Ping timeout: 245 seconds)
15:16:06  * sinclair-workquit (Remote host closed the connection)
15:17:15  * rmgquit (Ping timeout: 240 seconds)
15:18:50  <saghul>kkaefer: uv_async and uv_queue_work are not related
15:18:58  <saghul>what are you trying to achieve?
15:19:26  <kkaefer>@saghul uv_queue_work uses an async handle internal to trigger the after callbacks
15:19:29  <saghul>you can uv_unref the async handle, that way it won't keep the loop alive if it's the last handle
15:19:34  <saghul>kkaefer: I know
15:19:56  <kkaefer>is unrefing the recommended practice?
15:20:25  <saghul>it's bot bad, the loop will exit earlier, and you can run it again later on
15:20:51  <kkaefer>(uv_loop seems to unref the async handle for the work queue internally as well)
15:20:57  <kkaefer>(upon uv_loop initialization)
15:21:19  <saghul>yes, otherwise the loop would never end
15:21:20  * KiNgMaRquit (Ping timeout: 260 seconds)
15:21:38  <saghul>it does the same with the child watcher signal handle
15:23:26  * KiNgMaRjoined
15:28:20  * KiNgMaRquit (Ping timeout: 260 seconds)
15:30:56  * KiNgMaRjoined
15:34:49  * lanceballchanged nick to lance|afk
15:35:46  * nickleeflyjoined
15:36:16  * KiNgMaRquit (Ping timeout: 260 seconds)
15:36:20  * AvianFlujoined
15:37:21  * c4milojoined
15:44:51  * mikealjoined
15:45:09  * abraxasjoined
15:47:57  * KiNgMaRjoined
15:49:48  * abraxasquit (Ping timeout: 250 seconds)
15:52:44  * kazuponquit (Remote host closed the connection)
15:54:54  * jgijoined
15:57:40  * yunongquit (Read error: Connection reset by peer)
15:58:00  * yunongjoined
15:58:00  * kazuponjoined
16:00:00  * rosskjoined
16:02:51  * yunongquit (Remote host closed the connection)
16:03:28  * yunongjoined
16:06:57  * quijote_quit (Ping timeout: 245 seconds)
16:07:58  * yunongquit (Ping timeout: 244 seconds)
16:12:21  * rosskquit (Remote host closed the connection)
16:16:35  * Soarezchanged nick to Soarez|afk
16:16:39  <a_le>what incremental json parser (in C/C++) would you suggest me hook up to my on_read callback?
16:16:46  <a_le>i-json ?
16:23:26  * yunongjoined
16:25:02  * rosskjoined
16:27:57  * rosskquit (Remote host closed the connection)
16:28:12  * Ralithquit (Ping timeout: 245 seconds)
16:28:17  * rmgjoined
16:37:02  * kazuponquit (Remote host closed the connection)
16:38:53  * yunongquit (Remote host closed the connection)
16:38:56  * yunongjoined
16:39:56  <trevnorr1s>morning
16:42:21  * mikealquit (Quit: Leaving.)
16:43:07  * yunongquit (Ping timeout: 245 seconds)
16:44:25  * rosskjoined
16:44:25  * rosskquit (Remote host closed the connection)
16:48:50  * kazuponjoined
16:49:40  * dshaw_joined
16:50:16  * bajtosquit (Quit: bajtos)
16:51:21  * bajtosjoined
16:56:11  * thlorenzquit (Remote host closed the connection)
16:59:07  * lance|afkchanged nick to lanceball
17:02:08  <creationix>a_le: I use http://lloyd.github.io/yajl/ for luvit
17:05:12  * quijotejoined
17:05:40  * stagasjoined
17:07:10  <a_le>creationix: benchmarks around the internet are not very favorable towards yajil
17:07:37  <creationix>this is true, we’ve had some speed issues with it
17:08:18  <a_le>do you know of any alternatives with equally good APIs?
17:10:10  * quijotequit (Ping timeout: 264 seconds)
17:10:11  * Soarez|afkchanged nick to Soarez
17:12:29  <creationix>a_le: nope, sorry
17:12:39  <a_le>i see
17:12:44  <a_le>thanks anyways
17:14:02  * Ralithjoined
17:14:28  <trevnorr1s>wtf http2
17:14:32  * trevnorr1schanged nick to trevnorris
17:14:47  <trevnorris>indutny: so... you going to implement http2 when it becomes standard? :P
17:14:54  <indutny>perhaps
17:15:00  <creationix>I might do it in pure js for fun
17:15:18  <trevnorris>this spec is a massive CF. wtf were they thinking
17:15:32  <rendar>trevnorris: why?
17:15:55  <trevnorris>rendar: it's a more messed up tcp spec over tcp. why the hell would you do that?
17:16:12  <trevnorris>why the hell do I need weighted dependency graphs to deliver my content?
17:16:17  <indutny>trevnorris: mind reviewing https://github.com/joyent/node/pull/8275 ?
17:16:20  <indutny>creationix: use tls.js ;)
17:16:31  <indutny>trevnorris: it is quite simple, actually
17:16:34  <indutny>trevnorris: just lots of details
17:16:37  <indutny>trevnorris: to be definite
17:16:41  <indutny>trevnorris: (HTTP2)
17:17:02  <creationix>indutny: I’ve used forge a few times
17:17:10  <indutny>forge?
17:17:12  <rendar>trevnorris: i see
17:17:24  <indutny>aah
17:17:31  <creationix>indutny: https://github.com/digitalbazaar/forge
17:17:39  <indutny>omg
17:17:43  <indutny>they have tls implementation
17:17:59  <indutny>why I am developing tls.js then
17:18:04  <creationix>I haven’t actually used their tls implementation, but I’ve used their RSA primitives a lot for P2P stuff
17:18:16  <trevnorris>indutny: it's not the details, it's the _why_ of it all. why do I need "frame" prioritization? why do I need to ack a frame, when that frame has already been ack'd by tcp in the packet?
17:18:36  <indutny>trevnorris: what ACK are we talking about?
17:18:39  <indutny>trevnorris: SYN_REPLY?
17:18:57  <trevnorris>indutny: http://http2.github.io/http2-spec/index.html#rfc.section.6.5
17:18:59  <rendar>trevnorris: maybe because the html page content has greater priority than image content, so you can prioritize those stuff like that
17:19:13  <indutny>trevnorris: well
17:19:16  <indutny>this is not just TCP ACK
17:19:28  <indutny>trevnorris: it means that other side has agreed with settings
17:19:29  <indutny>but yeah
17:19:33  <indutny>it is quite complex
17:20:12  <indutny>creationix: man, where have you been :)
17:20:18  <indutny>creationix: I have almost finished my own tls module
17:20:39  <rendar>indutny: 100% js?
17:20:40  <trevnorris>rendar: this is all theoretical. bandwidth is almost never the actual issue. if content is properly ordered in the html then it will be properly received.
17:20:49  <indutny>rendar: well, not cryptography
17:20:52  <creationix>indutny: you’ve seen pako too right (zlib in js)?
17:20:52  <rendar>trevnorris: yeah, i agree
17:20:59  <indutny>creationix: yeah, I seen pako
17:21:15  <rendar>indutny: i see
17:21:23  <creationix>I love using pako in js-git
17:21:30  <indutny>rendar: you could use another crypto provider
17:21:36  <indutny>rendar: but you will need to write one
17:21:39  <indutny>anyway
17:21:40  <creationix>I don’t really like how forge is packaged though, it’s hard for me to consume
17:21:50  <indutny>heh
17:21:54  <indutny>tls.js is easy to use
17:22:02  <creationix>I started writing my own crypto, aex, md5, sha1, sha256 were all easy, took a few days total to implement them all
17:22:04  <rendar>indutny: well, yeah, i guess your tls.js uses openssl for default crypto privder right?
17:22:09  <rendar>provider*
17:22:10  <creationix>but then RSA kicked my tail
17:22:12  <indutny>yes
17:22:16  <indutny>creationix: RSA is easy
17:22:18  <indutny>doing it secure
17:22:20  <indutny>is hard
17:22:25  <creationix>well and that
17:22:33  <creationix>stupid timing attacks
17:23:53  * kazuponquit (Remote host closed the connection)
17:24:49  * rjequit (Read error: Connection reset by peer)
17:25:12  * sblomquit (Read error: Connection reset by peer)
17:27:04  * rjejoined
17:27:06  <indutny>creationix: yeah
17:27:49  * indexzerojoined
17:31:56  * mikealjoined
17:40:33  * bradleymeckjoined
17:41:05  * rosskjoined
17:42:32  * quijotejoined
17:43:29  * yunongjoined
17:44:28  * thlorenzjoined
17:46:01  * abraxasjoined
17:47:21  * quijotequit (Ping timeout: 264 seconds)
17:47:32  * yunongquit (Remote host closed the connection)
17:47:47  * yunongjoined
17:49:24  * sh1mmerjoined
17:50:54  * abraxasquit (Ping timeout: 260 seconds)
17:53:07  <trevnorris>indutny: done reviewing.
18:12:18  * Soarezchanged nick to Soarez|afk
18:13:56  * cjihrigquit (Quit: Leaving.)
18:18:24  * creationixquit (Quit: ZNC - http://znc.in)
18:21:03  * sblomjoined
18:22:32  * creationixjoined
18:23:13  * petka_joined
18:26:52  * rendarquit (Ping timeout: 240 seconds)
18:27:17  * sblomquit (Ping timeout: 245 seconds)
18:27:36  * sblomjoined
18:29:04  <indutny>trevnorris: thanks
18:29:16  <trevnorris>np
18:32:45  * rendarjoined
18:32:54  * trevnorrisquit (Quit: quit all you want)
18:33:59  * cjihrigjoined
18:34:22  * trevnorrisjoined
18:34:54  * AvianFluquit (Ping timeout: 250 seconds)
18:41:21  * txdvquit (Read error: Connection reset by peer)
18:42:00  * txdvjoined
18:43:17  * quijotejoined
18:43:43  * c4miloquit (Remote host closed the connection)
18:43:47  * dap_joined
18:46:01  * c4milojoined
18:47:41  * quijotequit (Ping timeout: 260 seconds)
18:50:23  * cjbquit (Ping timeout: 264 seconds)
18:50:47  * indexzeroquit (Quit: indexzero)
18:53:26  <indutny>trevnorris: all addressed, I think
18:53:32  <indutny>trevnorris: please take a look
18:57:08  * c4miloquit (Remote host closed the connection)
18:58:38  * c4milojoined
18:59:52  * nickleeflyquit (Quit: Connection closed for inactivity)
19:00:05  * indexzerojoined
19:04:45  * bajtosquit (Quit: bajtos)
19:13:22  * AvianFlujoined
19:16:45  * stagasquit (Ping timeout: 240 seconds)
19:24:00  * stagasjoined
19:25:16  * stagasquit (Client Quit)
19:29:13  * sh1mmerquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
19:31:12  <trevnorris>indutny: back. looking now.
19:31:17  <indutny>coolio
19:31:17  <indutny>thanks
19:31:36  * indutnygoes to play Diablo for a bit
19:33:08  * dshaw_quit (Quit: Leaving.)
19:38:25  * daviddiasquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
19:43:54  * sh1mmerjoined
19:44:02  * quijotejoined
19:46:39  * sh1mmerquit (Client Quit)
19:46:54  * abraxasjoined
19:47:07  * mikealquit (Quit: Leaving.)
19:48:33  * quijotequit (Ping timeout: 240 seconds)
19:49:08  <indutny>trevnorris: I decided to keep ASSERT_IS_BUFFER
19:49:19  <indutny>it is just more explicit this way
19:49:24  <trevnorris>indutny: cool. see my comment about .As<Object>() ?
19:49:29  <indutny>not yet
19:49:33  <trevnorris>ok
19:50:06  <indutny>where is it?
19:50:10  <indutny>aah
19:51:02  <indutny>fixed
19:51:03  <indutny>thanks
19:51:08  <trevnorris>coolio. almost done
19:51:34  * abraxasquit (Ping timeout: 264 seconds)
19:51:41  * indexzeroquit (Quit: indexzero)
19:53:27  <trevnorris>indutny: just one last comment.
19:56:25  * indexzerojoined
19:57:47  <trevnorris>indutny: just that final comment, also already LGTM'd it.
19:58:05  <trevnorris>indutny: nice work. don't know how you make sense of the OpenSSL API.
20:05:22  * sh1mmerjoined
20:08:40  * mikealjoined
20:10:23  * EhevuTovjoined
20:20:21  <a_le>creationix: so the most efficient implementation seems to be rapidjson, and it has also a callback driven API... but it's not interruptible... I wrote to the author and he believes that for it to be interruptible it would have to maintain all state internally. I believe he's very mistaken on that and only the state for what is not yet completely parsed should be maintained...
20:21:31  <creationix>a_le: do you just want a json tokenizer that emits events like “{“, string, number?
20:21:56  <creationix>or do you want it to build the data structure internally and give you some dom style structure?
20:22:12  <a_le>creationix: a tokenizer would be ideal
20:22:26  <a_le>i'm still looking at a few, like picojson and ultrajson...
20:22:36  <creationix>are you using a scripting langauge too?
20:22:45  <a_le>nope
20:22:49  <a_le>C/C++
20:22:57  <a_le>i can mix those two easily
20:23:18  <creationix>if I knew C better, I would write one, how hard can it be
20:24:50  <a_le>i am almost tempted to, but who tells me that an off-the-shelf one wouldn't perform better?
20:25:01  <a_le>plus I would have to deal with character encodings and I hate those :D
20:25:09  <indutny>trevnorris: thank you!
20:25:09  <creationix>I would only support utf-8
20:25:26  <a_le>i also will need a json generator
20:25:39  <a_le>my knowledge stopped at ASCII :)
20:25:40  <creationix>generator is the easier half I think
20:25:54  <a_le>i guess UTF-8 is very similar to ascii though
20:26:02  <creationix>UTF-8 isn’t bad
20:26:13  <creationix>no harder than variable-length integer encodings
20:26:30  <creationix>except for maybe the surrogate pairs
20:26:45  <a_le>what are those?
20:27:09  <a_le>creationix: I am actually tempted to do some surgery on rapidjson instead
20:27:17  <a_le>it's better than rewriting one from scratch
20:27:25  <MI6>joyent/node: Fedor Indutny v0.12 * 6e453fa : crypto: introduce ECDH - http://git.io/rkIEXQ
20:27:34  <creationix>well, there are a lot of performance assumptions you can make when it’s not interruptable
20:27:45  <creationix>I wonder why yajl is so slow
20:28:38  <a_le>i wonder that too
20:28:40  <creationix>it claims to be fast
20:28:58  <a_le>and I wonder how comes all benchmarks around cannot either run libjson or yajl
20:29:09  <a_le>i would like to see them one against the other one
20:29:20  <a_le>also: i would like to see rapidjson compared to libjson
20:33:49  <a_le>meh I have a wasp by my desk :D
20:33:51  <bradleymeck>a_le: https://github.com/kgabis/parson ? thats what indutny likes
20:34:00  <indutny>oh
20:34:05  <indutny>it is actually quite retarded
20:34:06  <indutny>and slow
20:34:14  <indutny>the only good thing about it is a simple API
20:34:16  <bradleymeck>thats the only one I have seen you use XD
20:34:25  <indutny>yeah :)
20:34:27  <a_le>indutny: yajl ?
20:36:59  <a_le>oh parson
20:37:10  <MI6>joyent/node: Shigeki Ohtsu v0.12 * f6877f3 : tls: add DHE-RSA-AES128-SHA256 to the def ciphers (+1 more commits) - http://git.io/KXpnlA
20:39:21  <a_le>creationix: rapidjson is reading the string one char at a time... excepted when it uses SSE 4.2 or SSE 2 to leap over several whitespaces
20:39:36  <a_le>I could have my own abstraction over multiple buffers and make it work
20:39:50  <a_le>adding one buffer at a time
20:40:16  <creationix>true
20:40:24  <trevnorris>indutny: awesome. nice job.
20:40:51  <a_le>creationix: the only problem is that it is in-place destructive
20:41:11  <a_le>so i don't know how it will behave when the buffer is "fragmented"
20:41:13  <creationix>is yajl really too slow for you?
20:41:51  <a_le>i can't tell yet, but I know we'll have to handle JSON documents of several 100's MB's
20:42:28  * lanceballchanged nick to lance|afk
20:42:32  <a_le>like entire subtrees of a MIB
20:42:52  <creationix>from yajl: “On my mac pro (2.66 ghz) it takes 1s to verify a 60meg json file”
20:42:58  <creationix>is 60megs/second too slow for you?
20:43:43  <a_le>i'd prefer if it were snappier
20:44:47  * AvianFluquit (Ping timeout: 245 seconds)
20:44:49  * quijotejoined
20:46:47  * jgiquit (Quit: jgi)
20:47:42  * c4miloquit (Remote host closed the connection)
20:49:14  * quijotequit (Ping timeout: 250 seconds)
20:53:58  * wolfeidaujoined
20:55:22  * sh1mmerquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
20:56:43  * AvianFlujoined
20:59:29  * sh1mmerjoined
21:01:15  <creationix>in libuv is there a way to know if a uv_stream_t has an fd yet?
21:01:39  <creationix>this is for calling uv_spawn and I need to know if I should use UV_INHERIT_STREAM or UV_CREATE_PIPE
21:04:16  <creationix>the fd appears to be somewhere inside UV_STREAM_PRIVATE_FIELDS which I shouldn’t depend on
21:07:20  * yunong_joined
21:07:30  <a_le>creationix: from http://lloyd.io/whats-new-in-yajl-two/ it's more like 260+ MB/s
21:07:46  <creationix>that’s more like it
21:08:09  * wolfeidauquit (Remote host closed the connection)
21:08:59  * yunong_quit (Remote host closed the connection)
21:09:33  * yunong_joined
21:11:00  * yunongquit (Ping timeout: 250 seconds)
21:15:44  * mikealquit (Quit: Leaving.)
21:21:23  <trevnorris>indutny: you still around?
21:21:30  <indutny>yeah
21:23:12  * jgijoined
21:23:42  <trevnorris>indutny: whoop. nm. had a question about chunked encoding, but just found the answer.
21:26:37  <creationix>trevnorris, indutny: would either of you happen to know about my question above? Or am I misunderstanding the uv_spawn API?
21:27:02  <indutny>creationix: hm... you should know it yourself :)
21:27:09  <indutny>creationix: you are the creator of that stream
21:27:11  <indutny>anyway
21:27:18  <indutny>this is something that I was bumping my head on
21:27:25  <indutny>saghul: we need some API for this
21:27:29  <creationix>I want to be able to accept any uv_stream_t subclass (pipes, files, tcp sockets, etc) and UV_INHERIT_STREAM if possible or UV_CREATE_PIPE if it’s a fresh uv_pipe_t
21:27:31  <indutny>getting uv_file or something out of stream
21:28:16  <creationix>the uv_stream_t instances are handed to me by my users
21:28:20  <creationix>so I don’t know what they are
21:28:50  * indexzeroquit (Quit: indexzero)
21:29:58  <creationix>there is the internal uv__stream_fd function that might be helpful
21:33:36  * indexzerojoined
21:34:13  * indexzeroquit (Client Quit)
21:35:19  <creationix>hmm, actually uv_fileno might work
21:38:15  * yunongjoined
21:39:02  * mikealjoined
21:39:05  * indexzerojoined
21:40:02  * yunong_quit (Ping timeout: 250 seconds)
21:40:43  <creationix>saghul: looks like you just added uv_fileno recently. So I assume that’s not an option in libuv 0.10.x?
21:41:16  * mikealquit (Client Quit)
21:43:21  * thlorenzquit (Remote host closed the connection)
21:45:35  * quijotejoined
21:47:48  * thlorenzjoined
21:47:53  * abraxasjoined
21:49:35  * thlorenzquit (Remote host closed the connection)
21:50:06  * quijotequit (Ping timeout: 246 seconds)
21:52:04  * abraxasquit (Ping timeout: 250 seconds)
21:57:05  * bradleymeckquit (Quit: bradleymeck)
21:57:38  * mikealjoined
21:57:50  * indexzeroquit (Quit: indexzero)
21:59:35  * janjongboomjoined
22:04:09  * janjongboomquit (Ping timeout: 260 seconds)
22:08:53  * janjongboomjoined
22:09:36  * Soarez|afkchanged nick to Soarez
22:09:51  * sh1mmerquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
22:15:49  * sh1mmerjoined
22:16:45  * EhevuTovquit (Ping timeout: 260 seconds)
22:19:59  * EhevuTovjoined
22:21:00  * cjihrigquit (Quit: Leaving.)
22:22:31  * Soarezchanged nick to Soarez|afk
22:23:43  * cjihrigjoined
22:27:54  <trevnorris>creationix: look at uv_handle_t.type. it's an uv_handle_type. it's a read-only attribute.
22:28:31  <creationix>that’s what I did for now, but can’t pipes have fd already?
22:28:41  <creationix>for now I’m just assuming they meant for me to create a pipe if they pass in a pipe
22:29:09  <creationix>let me push my code so I can show...
22:30:40  * bradleymeckjoined
22:35:22  <creationix>trevnorris: here is me using .type for somewhat intellegent flag guessing https://github.com/luvit/luv/blob/spawnification/src/luv_functions.c#L1365-L1376
22:37:43  <trevnorris>creationix: so, i'm assuming your luvit would make the assumption that if a stream is passed that already has an fd then the spawned process should use that fd?
22:38:03  <creationix>correct
22:38:16  <creationix>but if they pass in a fresh pipe with no fd, spawn should create a pipe
22:39:18  * wolfeidaujoined
22:39:50  <trevnorris>this is going to make me look like a n00b, but "fd"'s don't exist on windows. so there must be something else that can be checked.
22:40:09  <creationix>can you inherit a stream on windows?
22:41:10  <creationix>in node’s docs it just says “Note that the stream must have an underlying descriptor”
22:41:47  <trevnorris>i'm pretty sure IOCP allows passing a file handle from one process to another.
22:41:52  * rendarquit
22:42:28  * sh1mmerquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
22:42:33  <trevnorris>ah, wait. from msdn:
22:42:35  <trevnorris>"An I/O completion port is associated with the process that created it and is not sharable between processes. However, a single handle is sharable between threads in the same process."
22:45:13  <trevnorris>saghul: ping
22:45:21  * sh1mmerjoined
22:46:08  <trevnorris>so saghul in 8d11aac made it so both windows and linux use the same thread pool. so I think that means a file handle is no longer associated with an I/O completion port.
22:46:27  <creationix>looks like windows has a builtin “DuplicateHandle”
22:46:31  * quijotejoined
22:48:26  <creationix>yeah, it duplicates the handle which I guess is the windows version of the fd https://github.com/joyent/libuv/blob/06c60e9662fea752d77237857bbf2c9ea5889a00/src/win/process-stdio.c#L427
22:49:23  <trevnorris>nm. libuv still uses CreateIoCompletionPort().
22:50:33  <trevnorris>ok. so you have to duplicate the handle that isn't tied to the IOCP.
22:50:52  * quijotequit (Ping timeout: 240 seconds)
22:53:49  <creationix>I’m still using v0.10.x. It looks like a lot changed in the unstable series
22:53:57  <trevnorris>yeah, it has
22:54:02  <creationix>I’m excited and scared to update when 0.12 finally lands
22:54:05  <trevnorris>heh
22:54:19  <trevnorris>well, the return values have completely changed.
22:54:38  <creationix>trevnorris: any idea when that will actually be? It seems to have been almost done for a year.
22:54:39  <trevnorris>there's no more global error, instead each function returns it's own error code.
22:54:51  <trevnorris>you'll have to ask indutny or saghul.
22:56:41  <creationix>dinner time, ttyl
22:56:47  <trevnorris>see ya
22:57:02  * creationixis glad to get paid to work on luvit now :)
22:57:23  * mcavagejoined
22:59:41  * cjihrigquit (Quit: Leaving.)
23:00:08  * avalanche123joined
23:01:55  * sh1mmerquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
23:04:16  * AvianFluquit (Ping timeout: 260 seconds)
23:15:41  * sh1mmerjoined
23:19:28  * thlorenzjoined
23:20:25  * thlorenzquit (Remote host closed the connection)
23:27:26  * Soarez|afkchanged nick to Soarez
23:29:07  * sh1mmerquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
23:30:08  * Soarezchanged nick to Soarez|afk
23:30:25  * cjihrigjoined
23:37:57  * cjihrigquit (Ping timeout: 260 seconds)
23:47:07  * quijotejoined
23:48:41  * abraxasjoined
23:51:34  * Ralithquit (Ping timeout: 264 seconds)
23:51:52  * quijotequit (Ping timeout: 260 seconds)
23:53:03  * abraxasquit (Ping timeout: 240 seconds)
23:53:41  * brsonquit (Quit: leaving)
23:55:14  * mcavagequit (Remote host closed the connection)
23:57:24  * janjongboomquit (Ping timeout: 250 seconds)
23:58:25  * AvianFlujoined
23:59:35  * janjongboomjoined
23:59:35  * cjihrigjoined