00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:07  * ircretaryjoined
00:00:10  * isaacs_mobilequit (Remote host closed the connection)
00:00:42  * luxigojoined
00:22:36  * brsonquit (Quit: leaving)
00:39:04  * bnoordhuisjoined
00:43:49  * bnoordhuisquit (Ping timeout: 248 seconds)
00:52:39  * kazuponjoined
00:54:45  * loladiroquit (Quit: loladiro)
00:57:26  * kazuponquit (Ping timeout: 252 seconds)
01:04:29  * loladirojoined
01:05:17  * mikealquit (Quit: Leaving.)
01:32:33  * loladiroquit (Ping timeout: 240 seconds)
01:35:34  * mikealjoined
01:44:30  * mikealquit (Ping timeout: 264 seconds)
01:53:12  * kazuponjoined
01:57:59  * kazuponquit (Ping timeout: 258 seconds)
01:58:40  * mikealjoined
02:01:00  * mikealquit (Client Quit)
02:31:13  * mikealjoined
02:53:44  * kazuponjoined
02:58:32  * kazuponquit (Ping timeout: 258 seconds)
03:00:04  <indutny>I'm in NYC!
03:00:15  <tjfontaine>welcome
03:00:45  <inolen>n1
03:03:48  <isaacs>can you guys get to github?
03:03:57  <isaacs>i'm getting dns weirdness
03:03:58  <tjfontaine>yes
03:04:15  * kazuponjoined
03:04:35  <isaacs>there it goes
03:04:37  <isaacs>restarted chrome
03:07:43  <tjfontaine>mscdex really doesn't like nodejs-jenkins :)
03:22:07  <indutny>ttyl
03:22:10  <indutny>sleep time
03:22:29  <indutny>I've almost finished tls.js parser if anyone is interested
03:22:32  <indutny>:)
03:30:33  <MI6>joyent/node: mscdex v0.10 * c4379a5 : src: fix potential memory leak on early return (+1 more commits) - http://git.io/-POKHQ
03:35:33  * defunctzombie_zzchanged nick to defunctzombie
03:39:54  * indexzerojoined
03:40:50  <kellabyte>good evening!
03:42:51  <indutny>good evening
03:49:21  * defunctzombiechanged nick to defunctzombie_zz
04:06:24  <kellabyte>how goes it?
04:10:55  <indutny>isaacs: yt?
04:11:05  <isaacs>hi
04:13:37  <indutny>so you know, right? writev :)
04:13:39  <indutny>aah
04:13:44  <indutny>ok, cork/uncork
04:13:53  * indutnystarts digging into
04:14:32  * kazuponquit (Remote host closed the connection)
04:17:49  <indutny>isaacs: so how should it work?
04:18:01  <indutny>isaacs: s.cork(); s.write(); s.write(); s.uncork()?
04:18:06  <isaacs>indutny: yeah
04:18:21  <indutny>what if uncork would be called after some time?
04:18:30  <indutny>should it still accumulate?
04:18:30  <isaacs>indutny: then that's when it does the writev
04:18:36  <indutny>ok
04:18:55  <isaacs>what do you thikn of that?
04:19:02  <indutny>not sure
04:19:12  <isaacs>you could have a stream that does a this.uncork();this.cork() every ms or so
04:19:16  <indutny>its more flexible than bulk
04:19:18  <isaacs>yeah
04:19:27  <indutny>but more dangerous :)
04:19:30  <isaacs>true
04:19:36  <isaacs>you can cork it and it'll be corked forever.
04:19:40  <indutny>yep
04:19:47  <indutny>ok , that's up to user
04:20:11  <indutny>also, I'm not sure if you've noticed it
04:20:42  <indutny>but I did following trick in my patch: if clearBuffer() function gets called and ._writev != null it'll try calling it
04:20:57  <indutny>to write all buffered stuff at once
04:22:19  <isaacs>right
04:22:25  <indutny>also, take a look at his https://github.com/indutny/tls.js
04:22:27  <indutny>s/his/this/
04:22:29  <kellabyte>what the heck is cork and uncork? :P
04:22:40  <indutny>kellabyte: mechanism to force buffering on stream
04:22:48  <isaacs>kellabyte: so, we have this stream abstraction, rght?
04:23:00  <isaacs>kellabyte: most of the time, you s.write(chunk) and we want to send it right away
04:23:12  <isaacs>kellabyte: but http has all these stupid little 2-byte chunks that we send repeatedly
04:23:27  <isaacs>kellabyte: so, you want to save up a few of those, and do one writev instead of 2 write()s
04:23:52  <kellabyte>ah
04:24:02  <kellabyte>so like a smart chunking type of thing
04:24:10  * kazuponjoined
04:24:39  <isaacs>yeah
04:24:50  <kellabyte>so this is in node.js not libuv?
04:24:55  <isaacs>kellabyte: yeah
04:25:13  <isaacs>kellabyte: we do this awful thing now, where if you do: res.writeHead(); res.end('some-body')
04:25:22  <isaacs>if the resulting size is less than some magic number, we send that all in one write()
04:25:32  <isaacs>but, it's a copy. (gross)
04:25:58  <isaacs>hence the magic number: because > 128k or so, the roundtrip gets less expensive than the copy, but like all arbitrary magic numbers, it's situationally dependent, and sometimes the wrong call.
04:26:13  <kellabyte>yeah
04:27:06  <isaacs>so, the right solution is to make it so that userland code stays the same, but the http/tcp interface is savvy enough to at least send the chunk and its chnked-encoding header bytes in the same packet
04:27:34  <isaacs>or a header and body. (not always the same packet, obv, depending on size, but the same syscall, at least)
04:27:48  <kellabyte>isaacs: I githubbed in a new project the HTTP bits that I experimented with for the DB project, its super raw and not very useful but fun to play and learn with
04:28:24  <isaacs>kellabyte: awesom3!
04:28:35  <isaacs>it looked like you were getting some impressive performance out of it
04:28:41  <kellabyte>isaacs: I really don't know what I'm doing but its fun :)
04:28:44  <isaacs>we should probably scrap this javascript stuff. holding us back :)
04:29:13  <kellabyte>I'm getting some varying results on different platforms but I'm not sure cuz in some cases its over localhost (worst results) and in other cases over LAN
04:29:45  <kellabyte>and I'm not sure if I'm compiling libuv in optimal ways or compiling anything with optimizations so still some hunting to do
04:30:20  <kellabyte>lots of new things for me so quality is all up in the air right now, new at gyp, C, libuv :P
04:30:48  <kellabyte>but super happy at how good libuv is and how easy it is to use on all platforms, great work
04:30:50  <isaacs>kellabyte: you've picked a good way to learn
04:31:04  <kellabyte>this room has been awesome and welcoming to a noob too :)
04:31:41  * brsonjoined
04:35:14  <indutny>isaacsupdated https://github.com/joyent/node/pull/5257
04:35:21  <indutny>err
04:35:24  <indutny>autocomplete fail
04:35:28  <indutny>isaacs: I've updated https://github.com/joyent/node/pull/5257
04:35:32  <indutny>please take a look at it
04:35:34  <indutny>and comment here
04:35:42  <indutny>but ignore commit messages and documentation for now
04:35:44  <indutny>I'll fix it tomorrow
04:35:48  * indutnyis sleeping now
04:35:50  <indutny>ttyl
04:36:01  <kellabyte>later indutny!
04:36:39  <isaacs>indutny: g'nite
04:37:03  * kazuponquit (Remote host closed the connection)
04:43:02  <kellabyte>isaacs: where does most of your time go into? C libuv or JS for node?
04:43:36  <isaacs>kellabyte: almost 100% into JS
04:43:46  <isaacs>kellabyte: plenty into npm and npm-www, and other random lib and stuff
04:44:38  <kellabyte>isaacs: ah cool, the C stuff doesn't need much work or you just don't do much of it and other people do?
04:45:14  <isaacs>kellabyte: mostly other people do those bits. i get my hands dirty with node's c++ bits pretty often.
04:45:24  <kellabyte>ah cool
04:45:25  <isaacs>but the libuv stuff bert and ben mostly handle.
04:45:43  <isaacs>ben and indutny and trevnorris are probably the most active in node's c++ layer
04:46:09  <kellabyte>what does the C++ layer do?
04:47:02  <isaacs>kellabyte: bindings from various things to the v8 VM
04:47:15  <isaacs>kellabyte: wrapping libuv/zlib/etc. and exposign to JS land
04:47:16  <kellabyte>ah
04:47:21  <isaacs>then we write the "real" api in JS, because it's so much nicer.
04:47:27  <kellabyte>nods
04:47:28  <isaacs>and more people can understand it, then
04:47:34  <kellabyte>makes sense
04:48:43  <kellabyte>my goals with haywire aren't to write a full http server, its more for service communication, like for DB's etc, so features will probably be super minimal
04:50:28  <kellabyte>node.js and a whole other bunch of stuff is way better suited :)
04:52:03  <kellabyte>npm is pretty cool btw
04:56:10  * kazuponjoined
05:01:22  * kazuponquit (Remote host closed the connection)
05:03:39  <isaacs>thanks :)
05:04:19  * kazuponjoined
05:06:13  * c4milo_quit (Remote host closed the connection)
05:06:59  * kazuponquit (Remote host closed the connection)
06:01:51  * perezdquit (Ping timeout: 252 seconds)
06:07:22  * kazuponjoined
06:12:07  * kazuponquit (Ping timeout: 252 seconds)
06:48:56  * mikealquit (Read error: Connection reset by peer)
06:49:21  * mikealjoined
07:06:09  * mikealquit (Read error: Connection reset by peer)
07:07:59  * kazuponjoined
07:12:31  * kazuponquit (Ping timeout: 245 seconds)
07:16:19  * rendarjoined
07:16:25  * mikealjoined
07:48:38  * brsonquit (Quit: leaving)
08:08:33  * kazuponjoined
08:13:14  * kazuponquit (Ping timeout: 258 seconds)
08:33:14  * piscisaureus_joined
08:49:16  * piscisaureus_quit (Ping timeout: 246 seconds)
08:54:57  * stagas_joined
08:56:51  * stagasquit (Ping timeout: 256 seconds)
08:56:52  * stagas_changed nick to stagas
08:57:32  * bnoordhuisjoined
09:07:13  * dominictarrjoined
09:09:05  * kazuponjoined
09:13:41  * kazuponquit (Ping timeout: 248 seconds)
09:54:12  * bnoordhuisquit (Ping timeout: 264 seconds)
10:09:38  * kazuponjoined
10:13:53  * kazuponquit (Ping timeout: 240 seconds)
10:47:05  * hzjoined
10:47:17  * c4milojoined
10:51:25  * indexzeroquit (Quit: indexzero)
11:10:13  * kazuponjoined
11:15:10  * kazuponquit (Ping timeout: 256 seconds)
11:53:10  * dominictarrquit (Quit: dominictarr)
11:55:46  * dominictarrjoined
12:10:46  * kazuponjoined
12:15:01  * kazuponquit (Ping timeout: 245 seconds)
12:43:13  * `3rdEdenjoined
13:01:19  <indutny>morning
13:03:55  * `3rdEdenquit (Remote host closed the connection)
13:04:39  * `3rdEdenjoined
13:11:22  * kazuponjoined
13:16:03  * kazuponquit (Ping timeout: 258 seconds)
13:33:17  <MI6>joyent/node: isaacs v0.10 * 4bf1d10 : crypto: LazyTransform on properties, not methods It needs to apply the T - http://git.io/1_W43Q
13:46:45  * V1joined
13:50:00  * `3rdEdenquit (Ping timeout: 264 seconds)
13:50:39  * piscisaureus_joined
13:52:39  <MI6>nodejs-v0.10: #152 UNSTABLE windows-ia32 (7/579) linux-ia32 (2/579) smartos-x64 (2/579) smartos-ia32 (2/579) windows-x64 (7/579) http://jenkins.nodejs.org/job/nodejs-v0.10/152/
13:57:18  * V1quit (Remote host closed the connection)
14:11:54  * kazuponjoined
14:16:41  * kazuponquit (Ping timeout: 255 seconds)
14:32:52  * defunctzombie_zzchanged nick to defunctzombie
15:12:27  * kazuponjoined
15:16:53  * kazuponquit (Ping timeout: 240 seconds)
15:17:42  <MI6>nodejs-v0.10: #153 UNSTABLE windows-ia32 (7/579) smartos-x64 (1/579) osx-x64 (1/579) smartos-ia32 (1/579) windows-x64 (8/579) http://jenkins.nodejs.org/job/nodejs-v0.10/153/
15:30:38  * pooyajoined
15:57:14  * kazuponjoined
15:57:34  * kazuponquit (Read error: Connection reset by peer)
15:57:52  * kazuponjoined
16:22:13  * mikealquit (Quit: Leaving.)
16:50:11  * hij1nxquit (Ping timeout: 260 seconds)
16:53:29  * hij1nxjoined
17:05:07  * defunctzombiechanged nick to defunctzombie_zz
17:05:18  * c4miloquit (Remote host closed the connection)
17:20:41  * TooTallNatejoined
17:24:12  * mikealjoined
17:42:53  * piscisaureus_quit (Ping timeout: 256 seconds)
17:44:12  * defunctzombie_zzchanged nick to defunctzombie
17:44:24  * mikealquit (Quit: Leaving.)
18:03:10  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
18:08:08  * mikealjoined
18:12:03  * mikealquit (Client Quit)
18:42:16  * mikealjoined
18:47:59  * bnoordhuisjoined
18:58:19  * c4milojoined
19:01:52  * perezdjoined
19:07:01  * benoitcquit (Excess Flood)
19:13:50  * benoitcjoined
19:30:07  * mikealquit (Quit: Leaving.)
19:59:33  * bnoordhuisquit (Ping timeout: 248 seconds)
20:00:46  * mikealjoined
20:10:18  * mikealquit (Ping timeout: 264 seconds)
20:16:33  * isaacs_mobilejoined
20:18:15  * isaacs_mobilequit (Client Quit)
20:18:39  * benoitcquit (Excess Flood)
20:26:50  * benoitcjoined
20:32:17  * kazuponquit (Remote host closed the connection)
20:32:44  * kazuponjoined
20:36:19  * pooyaquit (Quit: pooya)
20:37:11  * mikealjoined
20:37:11  * kazuponquit (Ping timeout: 252 seconds)
20:39:32  * pooyajoined
20:41:34  * mikealquit (Ping timeout: 256 seconds)
20:42:58  * pooyaquit (Client Quit)
21:00:32  * stagasquit (Read error: Connection reset by peer)
21:03:43  * rendarquit
21:05:27  * bnoordhuisjoined
21:09:07  * mikealjoined
21:09:52  * bnoordhuisquit (Ping timeout: 246 seconds)
21:13:51  * mikealquit (Ping timeout: 260 seconds)
21:28:52  * brsonjoined
21:41:05  * mikealjoined
21:43:11  * jmar777joined
21:45:29  * mikealquit (Ping timeout: 256 seconds)
21:51:48  * hzquit (Ping timeout: 264 seconds)
21:54:14  * wolfeida_changed nick to wolfeidau
21:55:45  * hzjoined
22:12:01  * mikealjoined
22:17:00  * mikealquit (Ping timeout: 264 seconds)
22:23:43  * wolfeidauquit (Remote host closed the connection)
22:33:28  * defunctzombiequit (Ping timeout: 245 seconds)
22:38:36  * hzquit (Ping timeout: 264 seconds)
22:43:25  * mikealjoined
22:48:06  * mikealquit (Ping timeout: 264 seconds)
22:49:25  * defunctzombiejoined
22:53:04  * wolfeidaujoined
23:05:14  * mikealjoined
23:10:26  * mikealquit (Quit: Leaving.)
23:57:29  * brsonquit (Remote host closed the connection)