00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:03:59  * qmxchanged nick to qmx|away
00:13:44  * paddybyersquit (Ping timeout: 272 seconds)
00:33:38  * abraxas_joined
00:39:18  * toothrchanged nick to toothrot
00:41:11  * qmx|awaychanged nick to qmx
00:43:34  * c4milojoined
00:44:59  * piscisaureus_joined
00:59:43  * loladiroquit (Quit: loladiro)
01:01:15  * mikealjoined
01:02:39  * qmxchanged nick to qmx|away
01:02:53  <piscisaureus_>hello goodbye
01:08:54  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
01:26:25  * mmaleckichanged nick to mmalecki[zzz]
01:49:49  * stagasquit (Ping timeout: 240 seconds)
01:57:40  * karupaneruraquit (Excess Flood)
02:00:52  * karupanerurajoined
02:14:53  * loladirojoined
02:15:22  * loladiroquit (Client Quit)
02:27:28  * c4miloquit (Remote host closed the connection)
02:29:39  * loladirojoined
02:37:34  * brsonquit (Ping timeout: 265 seconds)
02:46:11  * c4milojoined
02:47:34  * c4miloquit (Remote host closed the connection)
02:53:36  * c4milojoined
02:53:54  * pooyajoined
03:08:22  * c4miloquit (Remote host closed the connection)
03:16:51  <MI6>joyent/node: Ben Noordhuis master * fa3bfc3 : test: put tty in blocking mode after test Tests can leave the tty in non (+1 more commits) - http://git.io/HwpLSA
03:21:24  * bnoordhuisquit (Ping timeout: 248 seconds)
03:32:09  * c4milojoined
03:44:03  * c4miloquit (Remote host closed the connection)
03:56:32  * c4milojoined
03:59:39  * joshthecoderquit (Quit: Leaving...)
04:14:03  * c4miloquit (Remote host closed the connection)
04:16:58  * karupaneruraquit (Excess Flood)
04:17:23  * karupanerurajoined
04:17:45  * c4milojoined
04:19:05  * c4miloquit (Remote host closed the connection)
04:31:36  * wolfeidauquit (Read error: Connection reset by peer)
04:32:02  * wolfeidaujoined
04:42:29  * pooyaquit (Quit: pooya)
04:45:32  * pooyajoined
04:48:29  * c4milojoined
04:49:53  * c4miloquit (Remote host closed the connection)
04:56:55  * c4milojoined
05:00:46  * joshthecoderjoined
05:11:09  * c4miloquit (Remote host closed the connection)
05:21:49  * c4milojoined
05:23:21  * kristatejoined
05:23:51  * c4miloquit (Remote host closed the connection)
05:36:05  * c4milojoined
05:36:18  * loladiroquit (Quit: loladiro)
05:49:30  * indexzerojoined
05:53:35  * c4miloquit (Remote host closed the connection)
05:57:07  * wolfeidauquit (Remote host closed the connection)
06:11:54  * loladirojoined
06:15:15  * bradleymeckjoined
06:23:05  * joshthecoderquit (Quit: Leaving...)
06:37:30  * indexzeroquit (Quit: indexzero)
07:29:26  * rendarjoined
07:36:21  * `3E|ENOAVAILBLEjoined
07:37:25  * `3E|ENOAVAILBLEchanged nick to `3rdEden
07:39:04  * loladiroquit (Quit: loladiro)
07:40:57  * AvianFluquit (Remote host closed the connection)
07:46:19  * loladirojoined
07:52:06  * loladiroquit (Quit: loladiro)
08:19:33  * mikealquit (Quit: Leaving.)
08:27:44  * mikealjoined
08:39:49  * paddybyersjoined
08:41:17  * pooyaquit (Quit: pooya)
08:42:21  * karupaneruraquit (Excess Flood)
08:43:52  * karupanerurajoined
08:44:48  * hzjoined
08:51:10  * kristatequit (Ping timeout: 272 seconds)
09:03:10  * paddybyersquit (Read error: Connection reset by peer)
09:03:15  * paddybyers_joined
09:05:11  * karupaneruraquit (Excess Flood)
09:06:22  * karupanerurajoined
09:15:19  <indutny>morning
09:37:14  * bradleymeckquit (Quit: bradleymeck)
09:46:53  * kristatejoined
09:58:24  * mmalecki[zzz]changed nick to mmalecki
10:17:48  * kristatequit (Ping timeout: 240 seconds)
10:21:48  * stagasjoined
10:26:44  * stagasquit (Ping timeout: 255 seconds)
10:35:21  * kristatejoined
10:37:33  * Chip_Zeroquit (Changing host)
10:37:33  * Chip_Zerojoined
10:55:56  * kristatequit (Ping timeout: 272 seconds)
11:00:36  * stagasjoined
12:06:55  * qmx|awaychanged nick to qmx
12:18:52  * qmxchanged nick to qmx|coffee
12:21:01  * sgallaghjoined
12:35:32  * `3rdEdenquit (Ping timeout: 248 seconds)
12:39:29  * qmx|coffeechanged nick to qmx
12:43:24  * `3rdEdenjoined
12:54:00  * bentkusjoined
13:04:19  * loladirojoined
13:07:07  * loladiroquit (Client Quit)
13:11:41  <isaacs>indutny: hey
13:11:59  <isaacs>indutny: all the magic properties should be on this._readableState or this._writableState
13:12:08  <isaacs>indutny: ie, not on the object themselves
13:14:39  <einaros>so, silly question time; how do I circumvent the self signed DEPTH_ZERO_SELF_SIGNED_CERT error with https client in newer node versions?
13:15:20  <einaros>I am guessing rejectUnauthorized
13:15:59  <mmalecki>einaros: yeah
13:16:05  <mmalecki>rejectUnauthorized: false
13:16:58  <einaros>as is usually the case I found the line in the docs the second after asking :)
13:19:29  <mmalecki>yeah, except docs are a bit wrong in here
13:19:32  <mmalecki>imma do a PR now
13:21:40  <mmalecki>actually, no, master docs are fine
13:31:41  <indutny>isaacs: hey
13:31:56  <indutny>isaacs: so why are they in instance properties?
13:32:00  <indutny>isaacs: this.buffer
13:32:08  <indutny>also
13:32:26  <indutny>can we somehow make compatibility mode fully identical to previous streams version?
13:32:37  <indutny>I've some streams with ._read method
13:32:40  <indutny>and some with .read
13:32:50  <indutny>however they should work as they're old streams
13:35:05  <isaacs>indutny: this.buffer should'nt be a thing
13:35:15  <indutny>em
13:35:21  <isaacs>indutny: where do you see that getting set?
13:35:34  <indutny>isaacs: https://github.com/joyent/node/blob/master/lib/_stream_readable.js#L51
13:35:40  <indutny>aaah
13:35:42  <indutny>it's state
13:35:50  <isaacs>indutny: https://github.com/joyent/node/blob/master/lib/_stream_readable.js#L31
13:35:51  <isaacs>yeah
13:35:56  <indutny>ok, that explains why my code is working :)
13:35:58  <isaacs>it's faster to make the state objects a class
13:36:02  <isaacs>rather than a {}
13:36:05  <indutny>yes, I understand
13:36:08  <indutny>singleton vs class
13:36:08  <indutny>ok
13:36:21  <indutny>I need to think a little bit about how to make spdy work with streams2
13:36:23  <isaacs>as for read/_read... not much to be done there.
13:36:36  <isaacs>also, there's a lot of ugliness in the http/net interaction right now
13:36:41  <isaacs>i'm not very happy with it
13:37:07  <isaacs>basically, we just throw the tcp socket into old mode
13:37:13  <isaacs>since the parser is doing stuff with the chunks anyway
13:37:24  <isaacs>but that means that interacting with the req.connection is not ideal.
13:37:35  <isaacs>you can't do req.connection.read() and have it do what you expect.
13:37:40  <isaacs>and there's no way to get OUT of old mode
13:38:25  <indutny>yeah, I understand
13:38:34  <indutny>I'll try to port spdy to streams2
13:38:37  <indutny>and see if I've any ideas
13:45:55  <isaacs>mmalecki: hm, removing that stream.resume() triggers a bunch of EventEmitter leak warnings on test-messages
13:46:06  <isaacs>test/message/stdin_error.js
13:46:17  <isaacs>er, test/message/stdin_messages.js
13:46:23  * piscisaureus_joined
13:47:23  * piscisaureus_quit (Read error: Connection reset by peer)
13:47:49  * stagas_joined
13:49:53  * stagasquit (Ping timeout: 265 seconds)
13:49:59  * stagas_changed nick to stagas
13:50:51  * sgallagh1joined
13:53:15  * sgallaghquit (Ping timeout: 276 seconds)
13:54:26  * sgallagh1changed nick to sgallagh
14:03:40  * bradleymeckjoined
14:04:57  * bradleymeckquit (Client Quit)
14:05:36  * stagasquit (Ping timeout: 276 seconds)
14:06:52  * philips_quit (Excess Flood)
14:08:36  <isaacs>mmalecki: nvm, figured it out
14:08:42  <isaacs>we weren't removing drain listeners
14:09:37  * philips_joined
14:29:10  * loladirojoined
14:31:16  * bnoordhuisjoined
14:44:15  <MI6>joyent/libuv: Ben Noordhuis master * cb3c448 : unix: fix GNU-ism introduced in edd1007 Don't use features.h, it's only - http://git.io/KNiUbA
14:48:12  * indutny-mjoined
14:48:13  * indutny-mquit (Remote host closed the connection)
14:48:31  * indutny-mjoined
14:48:43  <indutny-m>Hoya again
14:49:03  <indutny-m>So what's on plan to the 0.10 release?
14:49:43  <indutny-m>isaacs: ^
14:50:01  * bradleymeckjoined
14:50:07  <isaacs>bnoordhuis: oh, you are here
14:50:21  <bnoordhuis>isaacs: i am
14:50:34  <isaacs>so, this child proc stdio stream thing...
14:50:34  <indutny-m>bnoordhuis: Hi
14:50:48  <isaacs>i understand what's going on, but input on the ideal fix would be good. we have a choice.
14:50:55  <bnoordhuis>indutny-m: m stands for mobile?
14:51:01  <indutny-m>No
14:51:08  * bradleymeckquit (Client Quit)
14:51:21  <isaacs>the situation is this: the child proc exits, but we don't emit 'close' until all the streams are closed. but we dont' know that the stream has closed until we read all its bytes and hit the EOF.
14:51:21  * c4milojoined
14:51:36  <indutny-m>"Here come funny joke about m"
14:51:59  <indutny-m>bnoordhuis: Ok, I admit it -yes
14:52:12  <isaacs>choice 1: keep track of which stdio streams are actually read from, and if one of them is not touched, and the exit event happens, then call stream.resume() to dump it out
14:52:38  <isaacs>choice 2: some sort of configurable buffering of stdio streams, which may or may not get all the way to EOF.
14:52:55  <bnoordhuis>both don't sound very elegant
14:53:05  <isaacs>choice 3: leave it as it is, and the user must call read() on the stdio streams to ever get to 'close'
14:53:16  * travis-cijoined
14:53:16  <travis-ci>[travis-ci] joyent/libuv#1006 (master - cb3c448 : Ben Noordhuis): The build passed.
14:53:16  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/f24335d4984b...cb3c448d8f3e
14:53:16  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/4002263
14:53:16  * travis-cipart
14:53:26  <indutny-m>Can we get notification when process with specific pid dies
14:53:30  <isaacs>i think that choice 3 is too confusing
14:53:32  <bnoordhuis>and break all applications that pipe() child process output?
14:53:42  <isaacs>bnoordhuis: nono, pipe() is already fixed.
14:53:52  <isaacs>bnoordhuis: ie, the original bug. mmalecki's patch fixes that.
14:54:11  <isaacs>(i also had to clean up Readable.pipe() a bit, but it's minor stuff)
14:54:19  <indutny-m>mmalecki: Btw. What about dtrace tests?
14:54:36  <indutny-m>mmalecki: Have you got a chance to look into it?
14:54:53  <isaacs>bnoordhuis: the problem is that this will fail: spawn('ls', {cwd:'does not exist'}).on('close', thisNeverHappens)
14:55:07  <isaacs>bnoordhuis: because close won't emit until the stdio's all EOF
14:55:59  <isaacs>streams2 imposes the semantic change that data is not ignored by default.
14:56:11  <isaacs>i think this is a net win, but this is the kind of edge case that comes along with that
14:56:16  <bnoordhuis>isaacs: how come no EOF is registered? i'm pretty sure libuv picks up that the file descriptors are closed
14:56:45  <isaacs>bnoordhuis: so, another option would be that: don't wait for EOF to emit 'close' on sockets
14:56:59  <isaacs>right now, there's no handling of that in js
14:57:15  <isaacs>we only emit 'close' when we call destroy()
14:57:42  <isaacs>and we only call destroy() when we know we're done with it
14:57:56  <bnoordhuis>regarding options, i don't know. i don't understand streams2 that well yet
14:58:08  <isaacs>bnoordhuis: socket._handle.onclose = function() {} would be glorious
14:58:28  <isaacs>i think that's the ideal fix
15:00:08  * bradleymeckjoined
15:05:58  <MI6>joyent/node: Ben Noordhuis master * 879efb3 : test: fix simple/test-http-client-timeout-with-data The test was failing - http://git.io/_f1X3A
15:07:16  * indutny-mquit (Quit: Colloquy for iPhone - http://colloquy.mobi)
15:08:34  <isaacs>bnoordhuis: so, i see a close_cb in libuv, but i don't see where we ever set it
15:08:45  <bnoordhuis>isaacs: in uv_close
15:08:47  <isaacs>bnoordhuis: read_cb and alloc_cb is only set by calling uv_read
15:09:36  <isaacs>oic
15:10:10  <isaacs>but... right. so, when *i* close the fd, i can set teh callback for when it's closed.
15:10:18  <isaacs>but in this case, i'm not the one closing it
15:10:51  <isaacs>if i (the parent) get to the point where i call destroy() on the child's stdio stream, then there's no problem.
15:13:07  <isaacs>bnoordhuis: so, that's why it needs to get to EOF, unless there's a way for the parent to find out that the child's stdio has closed
15:13:38  * piscisaureus_joined
15:13:42  <isaacs>but, if we do that before EOF, and user is listening with a 'data' event, then that's not going to work so well.
15:13:52  <isaacs>because that changes 'close' to mean really 'exit', and not 'close'
15:14:01  <piscisaureus_>bentkus: what is the name of your c# project ?
15:14:20  <tjfontaine>libuvsharp
15:14:26  <tjfontaine>https://github.com/txdv/LibuvSharp
15:14:56  * stagasjoined
15:16:22  * indutny-mjoined
15:16:27  <bentkus>piscisaureus_: LibuvSharp
15:16:51  <bentkus>why do you ask
15:23:27  <piscisaureus_>bentkus: someone was asking for it and I didn't remember
15:23:32  * indutny-m_joined
15:23:57  <bentkus>the wiki page on github contains a comprehensive list of bindings for libuv
15:23:59  <bentkus>including my project
15:24:06  * piscisaureus_changed nick to piscisaureus
15:24:13  <piscisaureus>bentkus: I was lazy okay :-)
15:24:34  <bentkus>you forgot
15:25:01  <piscisaureus>bentkus: forgot == not remembering :-)
15:26:05  * indutny-m_quit (Client Quit)
15:26:42  <bentkus>I always put projects there if I see that they use libuv
15:26:52  <bentkus>FOR THE SAKE OF THE COLLECTIVE
15:27:03  <bentkus>but you ... you just forget
15:27:23  <bentkus>did you also forget the dual stack pr?
15:27:30  * indutny-mquit (Ping timeout: 276 seconds)
15:29:01  <bentkus>why didn't CAPSLOCKBOT react
15:29:12  <bentkus>obviously I have written in CAPSLOCK
15:31:58  * AvianFlujoined
15:32:18  * warzjoined
15:32:19  * warzquit (Changing host)
15:32:19  * warzjoined
15:43:06  <isaacs>bentkus: CAPSLOCKBOT !== loudbot
15:43:12  <isaacs>bentkus: not sure why loudbot is gone
15:51:03  <bnoordhuis>piscisaureus banned him, i think
15:51:16  <piscisaureus>I kicked hi only
15:52:37  <bentkus>wtf
15:52:42  <bentkus>the third best about this channel
15:52:46  <bentkus>and you kicked it
15:57:34  <MI6>joyent/node: isaacs created branch child-stdio-flush - http://git.io/hFCD2w
15:57:41  <isaacs>mmalecki, bnoordhuis, piscisaureus: review? ^
16:01:11  * kristatejoined
16:01:31  * jmar777joined
16:02:17  * qmxchanged nick to qmx|lunch
16:06:01  <bnoordhuis>isaacs: lgtm, i guess. but as i mentioned earlier, i don't pretend to understand streams2 :)
16:11:09  <bentkus>whats the difference between streams2 and streams
16:11:34  <indutny>ok, back
16:15:46  * `3rdEdenchanged nick to `3E|ENOTAVAILAbl
16:15:50  * `3E|ENOTAVAILAblchanged nick to `3E|ENOTAVAILABL
16:15:54  <isaacs>bnoordhuis: there's not *that* much to understand
16:16:03  <isaacs>bnoordhuis: _read() puts stuff in a buffer. read() takes it back out
16:16:59  * bentkusquit (Quit: Lost terminal)
16:19:54  <MI6>joyent/node: Dean McNamee master * 8adebb9 : node: move symbol caching to Load() - http://git.io/TZ2bTw
16:23:59  <bnoordhuis>isaacs: is that pipe() thing supposed to be fixed in master?
16:24:09  <isaacs>bnoordhuis: no
16:24:14  <isaacs>it's fixed in that branch
16:25:14  <isaacs>i'm still kind of iffy on automatically dumping stdio data if you haven't read from it
16:25:19  <isaacs>but the alternative seems worse
16:28:06  * loladiroquit (Quit: loladiro)
16:37:27  <isaacs>meh. it's easy to change i guess. landing it on master
16:37:40  <MI6>joyent/node: isaacs master * df3563a : child_process: Pull through untouched stdio streams Otherwise child proc (+2 more commits) - http://git.io/wuTxMQ
16:40:22  <MI6>joyent/node: bnoordhuis created branch isolate-ify - http://git.io/omuLVg
16:40:27  <bnoordhuis>^ review anyone?
16:41:46  <isaacs>hm. you know, it would be pretty rad to be able to vm.runInNewIsolate()
16:43:09  <isaacs>bnoordhuis: what happens when someone does Undefined() without passing node_isolate?
16:43:37  <bnoordhuis>isaacs: nothing. v8 looks up the isolate itself
16:43:48  <isaacs>ok. so, the same as it would do today
16:43:53  <bnoordhuis>yes
16:43:54  * c4miloquit (Remote host closed the connection)
16:44:54  <isaacs>kewl
16:45:00  <isaacs>why does debugger_running and dispatch_debug_messages_async get moved?
16:45:05  * c4milojoined
16:45:23  <bnoordhuis>isaacs: because it should be defined at the top, not halfway through the file
16:45:25  <piscisaureus>bnoordhuis: looks harmless to me :-)
16:45:34  <isaacs>k, that's what i thought
16:45:36  <isaacs>go for it
16:45:40  <bnoordhuis>cool
16:46:03  <MI6>joyent/node: Ben Noordhuis master * 7788a6b : src: pass node_isolate to Undefined() (+6 more commits) - http://git.io/f-xW1A
16:48:54  <piscisaureus>bnoordhuis: btw - does that mean that soon we can have node isolates as well, or is that still way off?
16:49:22  <bnoordhuis>piscisaureus: that would require that all of node.js core is thread safe
16:49:24  <bnoordhuis>so no :)
16:49:29  <piscisaureus>ah yeah
16:49:50  <isaacs>if we do isolates, it seems like it'd be easier to do at the vm.runInBlah() type of thing rather than as a make-believe child proc
16:50:02  <piscisaureus>yeah
16:50:06  <piscisaureus>agreed
16:50:12  <bnoordhuis>i think that's what threads-a-gogo does
16:50:13  <rendar>piscisaureus: what about GetAddrInfoEx for async name resover?
16:50:30  <isaacs>there's a pretty common use case where you want to run some script, but limit its time so that while(1); doens't burn you
16:50:37  <piscisaureus>the problem is that that tagg offers it's own apis for reading files etc
16:50:38  <bnoordhuis>which i may have broken with these recent commits :)
16:50:55  <bnoordhuis>but probably not
16:50:57  <isaacs>bnoordhuis: you may have broken tagg?
16:51:00  <piscisaureus>these isolates should either be like web workers (e.g. no APIs) or have the real node apis
16:51:18  <isaacs>i like the web worker approach better
16:51:19  <piscisaureus>bnoordhuis: did you not break other compiled addons?
16:51:35  <bnoordhuis>piscisaureus: no, it's all internal api
16:51:56  <piscisaureus>rendar: that only works on server'12 and windows8+
16:52:00  * paddybyers_quit (Ping timeout: 276 seconds)
16:52:02  <bnoordhuis>if people use that, they deserve what's coming to them
16:52:04  <piscisaureus>rendar: no plans. But I take patches
16:52:26  <isaacs>if threads are just web worker thingies, then they can be used for computation just fine
16:52:31  <rendar>piscisaureus: cool! GetAddrInfoEx should do exactly what c-ares does, right?
16:52:39  <piscisaureus>rendar: no -
16:52:44  <piscisaureus>rendar: it should do what uv_getaddrinfo does
16:52:45  <rendar>hmm, ok
16:52:45  <isaacs>if they're full node things, then we need to make all the node core stuff thread-safe, which is hard.
16:52:52  <piscisaureus>agreed
16:53:02  <rendar>piscisaureus: oh i see, so it just call getaadrinfo in another thread?
16:53:06  <piscisaureus>isaacs: the time limit for runInContext is also fine with me
16:53:12  * mikealquit (Quit: Leaving.)
16:53:35  <bnoordhuis>piscisaureus: i think that PR depended on some changes in upstream v8?
16:53:38  <piscisaureus>rendar: right now, that's how uv_getaddrinfo works. But using GetAddrInfoEx to implement that without threads would be fine with me
16:53:45  <bnoordhuis>or am i misremembering that?
16:53:46  <piscisaureus>bnoordhuis: yes, ResumeExecution I think
16:53:49  <bnoordhuis>right
16:53:59  <piscisaureus>bnoordhuis: apaprocki built that. Did it not land yet?
16:54:05  <bnoordhuis>not in v8
16:54:09  <piscisaureus>ah. it should
16:54:17  <piscisaureus>after that i'd be cool with it
16:54:23  <piscisaureus>now I also want coroutines in js :-)
16:54:41  <piscisaureus>all the stuff that nobody digs :-)
16:54:48  <bnoordhuis>node-fibers
16:54:53  <piscisaureus>yeah
16:55:00  <piscisaureus>but the api is not great
16:55:04  <bnoordhuis>i did a makecontext/setcontext experiment a while ago
16:55:05  <piscisaureus>plus every fiber is a fill stack
16:55:11  <piscisaureus>so you can't really do a million of them
16:55:12  <isaacs>piscisaureus: --harmony_continuations
16:55:13  <kohai>piscisaureus has 3 beers
16:55:13  <bnoordhuis>yes, exactly
16:55:21  <bnoordhuis>switching is also dog slow, comparatively
16:55:28  <isaacs>piscisaureus: YOU LOSE A BEER FOR EVEN WANTING THAT!
16:55:31  <isaacs>;)
16:55:39  <piscisaureus>isaacs: no. <3 coroutines
16:55:46  * qmx|lunchchanged nick to qmx
16:55:49  <piscisaureus>isaacs: or maybe build streamline into node :-0
16:55:52  <piscisaureus>isaacs: :-p
16:55:58  <piscisaureus>except for the _ api ugliness
16:56:10  <piscisaureus>isaacs: so everyone who isn't node incrowd likes node but hates all the callbacks
16:56:21  <piscisaureus>and I sort of agree :-)
16:57:07  <piscisaureus>hmm this coworking space is closing
16:57:14  <piscisaureus>I am going to bike home again
16:57:20  <bnoordhuis>the alternative is carrying around all your state on the stack or in a continuation though
16:57:27  <bnoordhuis>less than optimalo
16:57:30  <bnoordhuis>-o
16:57:36  <piscisaureus>split stacks :-)
16:57:39  <piscisaureus>bb in 30 minutes or s
16:57:50  <bnoordhuis>i guess i'll get dinner
16:57:50  <bnoordhuis>biab
16:58:39  * philips_quit (Excess Flood)
16:59:30  * pooyajoined
16:59:30  * loladirojoined
16:59:45  <isaacs>piscisaureus: everyone who isn't a node user hates callbacks. everyone who is a node user, but isn't node incrowd doesn't give a shit, i think.
17:00:09  <isaacs>piscisaureus: people who actually build real things with node mostly don't care, from what i've been able to gather.
17:01:58  * bradleymeckquit (Read error: Connection reset by peer)
17:02:23  * bradleymeckjoined
17:02:27  * piscisaureusquit (Ping timeout: 248 seconds)
17:04:40  * bradleymeckquit (Client Quit)
17:07:37  * philips_joined
17:15:49  * c4miloquit (Remote host closed the connection)
17:16:38  * c4milojoined
17:18:50  * dapjoined
17:21:48  * TooTallNatejoined
17:22:14  * mikealjoined
17:23:38  <isaacs>indutny: https://code.google.com/p/v8/issues/detail?id=2468 https://github.com/joyent/node/issues/4489 <-- is this settled now?
17:29:31  * lohkeyjoined
17:29:36  * piscisaureus_joined
17:29:50  <piscisaureus_>ircretary: notes
17:30:55  <TooTallNate>"One node.js bug I came across while debugging this: ObjectWrap::WeakCallback is missing a HandleScope, otherwise npm quickly terminates with an assertion when a debug version is used. I am not sure if this is the nicest place, but at least it worked for me."
17:31:01  <TooTallNate>^ from that V8 thread
17:33:56  <indutny>isaacs: yes
17:34:15  <indutny>isaacs: however, v8 team has recommended us to follow this branch closely
17:34:21  <indutny>as they're going to backport some fixes soon
17:34:26  <isaacs>indutny: ok
17:35:51  <isaacs>wow, the new v8 version shortened the performance gap between streams1 and streams2
17:36:06  <TooTallNate>is nobody else worried about the missing HandleScope?
17:36:07  <isaacs>it's not just that it's faster, either. i backported it to my streams1 branch
17:36:17  <isaacs>TooTallNate: that does sound worrisome
17:36:59  <isaacs>TooTallNate: wait... no that's there
17:37:09  <isaacs> static void WeakCallback (v8::Persistent<v8::Value> value, void *data) {
17:37:09  <isaacs> v8::HandleScope scope;
17:37:16  * pooyaquit (Quit: pooya)
17:37:52  * `3E|ENOTAVAILABLchanged nick to `3rdEden
17:38:07  <TooTallNate>isaacs: oh yes, must have just been added, haha
17:38:21  <TooTallNate>before i pulled just now it wasnt there
17:39:21  <isaacs>hooray! the system works! :)
17:40:17  <TooTallNate>good 'ol Fedor :)
17:40:18  <TooTallNate>https://github.com/joyent/node/commit/97056c064fd45e17471c682d1cbcdd925dc0c84e
17:40:25  <TooTallNate>one step ahead of me
17:41:27  * Raltquit (Remote host closed the connection)
17:41:41  * paddybyersjoined
17:42:30  * kristatequit (Remote host closed the connection)
17:42:57  * kristatejoined
17:44:56  * joshthecoderjoined
17:45:19  * TheJHjoined
17:47:45  <isaacs>indutny: looks like the dtrace stuff broke on this update
17:47:47  * kristatequit (Ping timeout: 248 seconds)
17:47:49  <isaacs>dtrace: failed to compile script src/v8ustack.d: line 435: failed to resolve V8DBG_CLASS_SEQASCIISTRING__CHARS__CHAR: Unknown variable name
17:50:51  * lohkeyquit (Quit: lohkey)
17:58:57  <isaacs>this is so strange. that token doesn't appear anywhere.
17:59:04  <isaacs>except in v8abbr.h
18:00:21  <tjfontaine>TooTallNate: bnoordhuis was worried that the handlescope points to an issue somewhere else
18:17:28  * pooyajoined
18:18:45  <isaacs>So, the issue is that SeqAsciiString is gone now
18:19:17  <TooTallNate>tjfontaine: interesting… i'd like to hear more
18:19:26  * qmxchanged nick to qmx|away
18:23:54  <piscisaureus_>is it not called V8DBG_SEQLATIN1STRING ?
18:24:05  <piscisaureus_>v8 was going to replace ascii strings by latin-1 strins
18:24:09  <piscisaureus_>*strings
18:24:24  <piscisaureus_>so that sucks for our WriteWrap optimizations but it is great for fast binary encoding
18:25:03  * jmar777quit (Remote host closed the connection)
18:25:35  * jmar777joined
18:26:06  <isaacs>latin-1? srsly?
18:26:09  <isaacs>that's... weird.
18:26:24  <piscisaureus_>well, it makes sebse
18:26:37  <piscisaureus_>so in ascii string only characters 0-127 are valid
18:26:46  <piscisaureus_>latin-1 is the first 256 code points of utf8
18:26:54  <isaacs>hm. looks like it got renamed to SeqOneByteString
18:27:04  <piscisaureus_>er, *unicode
18:27:07  <piscisaureus_>ah yeah
18:27:09  <piscisaureus_>that is latin-1
18:27:35  <isaacs>kewl
18:28:10  * Raltjoined
18:28:56  <isaacs>ah, renaming the const makes it work
18:28:57  <isaacs>awesome
18:30:24  * jmar777quit (Ping timeout: 260 seconds)
18:30:48  <MI6>joyent/node: isaacs master * 3b715ed : dtrace: SeqAsciiString was renamed to SeqOneByteString in v8 - http://git.io/kOTBqQ
18:39:19  * joshthecoderquit (Quit: Leaving...)
18:41:34  <indutny>isaacs: see my patch
18:41:56  <isaacs>indutny: oh, which patch?
18:42:08  <indutny>isaacs: https://github.com/joyent/node/pull/4507
18:42:26  <indutny>you can pull fix for seqonebytestring from it
18:43:55  <isaacs>indutny: yeah, that's what i ended up doing, but didn't realize you'd already done it
18:44:17  <isaacs>indutny: btw, i think the style changes are good, but i agree that they ought to be in a separate commit
18:45:00  <indutny>isaacs: kk, I'll separate them
18:45:08  <indutny>isaacs: anyway, tests are required too
18:45:16  <isaacs>yeah
18:48:34  <isaacs>indutny: well, the tests that we have already are failing
18:48:46  <isaacs>[root@828cbda3-e3d6-4744-86bf-8ad6733dcf15 /home/isaacs/node]# ./node test/pummel/test-dtrace-jsstack.js
18:48:49  <isaacs>assert.js:102
18:48:51  <isaacs> throw new assert.AssertionError({
18:48:54  <isaacs> ^
18:48:56  <isaacs>AssertionError: unexpected frame where stalloogle was expected
18:48:59  <isaacs> at ChildProcess.<anonymous> (/home/isaacs/node/test/pummel/test-dtrace-jsstack.js:98:12)
18:49:02  <isaacs> at ChildProcess.EventEmitter.emit (events.js:97:17)
18:49:03  <indutny>oh
18:49:05  <isaacs> at Process.ChildProcess._handle.onexit (child_process.js:696:12)
18:49:07  <isaacs> at process._makeCallback (node.js:299:20)
18:49:11  <indutny>I didn't know that we have tests
18:49:22  <isaacs>yeah, they're in test-pummel, if you'er root
18:49:29  <isaacs>and on smartos
18:50:43  <indutny>ok, I'll try running them
18:50:50  <indutny>are they broken on master?
18:51:01  <isaacs>indutny: yeah, but test/pummel/test-dtrace-jsstack.js works with your patch
18:51:09  <indutny>oh, cool :)
18:51:24  <isaacs>indutny: the postmortem tests are broken
18:51:32  <isaacs>but that could be because i don't have the right v8.so installed
18:51:36  <indutny>on both branches?
18:54:44  <isaacs>indutny: yeah
18:54:57  <isaacs>indutny: it does this: mdb.stdin.write('::load v8.so\n');
18:55:13  <isaacs>indutny: so it's probably loading the one from /usr/local/whatever instead of the one tha'ts built for this version of node
18:55:25  <piscisaureus_>hello folks
18:55:34  <isaacs>piscisaureus_: hola
18:55:44  <indutny>yeah
18:55:45  <indutny>piscisaureus_: vodka
18:55:59  <piscisaureus_>Is there anything that I need to do in particular? I have not been observing #libuv so much ...
18:55:59  <piscisaureus_>FYI I am working on making spawn(*.bat) work
18:56:27  <piscisaureus_>hey isaacs, how was your holiday btw?
18:57:18  <isaacs>piscisaureus_: it was pretty awesome
18:57:39  <isaacs>piscisaureus_: i didn't quite get over my cold though, so it was kinda half-sick a lot of the time
18:57:56  <piscisaureus_>hmm, that sucks, even more so on vacation I would say
18:58:05  <isaacs>it was not so bad.
18:58:22  <piscisaureus_>isaacs: so you are super energetic again now?
18:58:29  <isaacs>nah, still recovering, actually
18:58:37  <isaacs>yesterday i was all feverish and uncomfortable.
18:59:15  <isaacs>indutny: i think your ustack helper patch lgtm, if you split out the whitespace.
18:59:25  <isaacs>indutny: it does fix stuff
18:59:28  <indutny>isaacs: doing it now
19:00:01  <isaacs>indutny: you know, you can just reset --hard to HEAD^, and then curl the ?w=1 version of the github patch url
19:00:04  <isaacs>pipe to am
19:00:15  <isaacs>it's like a whitespace filter
19:00:24  <isaacs>or git show <commit> -b | git apply
19:01:17  <indutny>isaacs: I did it in a simplier way
19:01:20  <indutny>isaacs: git rebase ftw
19:01:24  <isaacs>oh, or that
19:01:32  <indutny>isaacs: force pushed https://github.com/joyent/node/pull/4507
19:01:48  <indutny>oops
19:01:52  <isaacs>indutny: the git rebase HEAD^ -i, edit, git reset HEAD^, git add -p way?
19:02:03  <indutny>yes
19:02:14  <indutny>it's pretty cool :)
19:03:19  <indutny>isaacs: I've squashed that commit in
19:03:22  <indutny>it was a mistake
19:03:25  <isaacs>haha
19:03:26  <isaacs>i know
19:03:31  <indutny>PR should be updated now
19:03:34  <isaacs>kewl
19:03:44  <isaacs>lgtm
19:03:53  <isaacs>and it's rad to get x64 support for jsstack and postmortem
19:04:06  * qmx|awaychanged nick to qmx
19:04:16  <indutny>kewl
19:04:27  <indutny>well, I did nothing about postmortem
19:04:33  <indutny>or is ustack helper working here too?
19:04:34  <isaacs>right, that might stillb e broken, i guess
19:04:35  * jmar777joined
19:04:41  <isaacs>but i think it uses the same ustack helper
19:04:46  <isaacs>i don't actually know how it works
19:05:00  <indutny>isaacs: btw
19:05:08  <indutny>isaacs: I wonder why your big drone is so slow :)
19:05:19  <indutny>isaacs: I can't get more than 1200 rps on tlsnappy on it
19:05:27  <isaacs>wow
19:05:30  <isaacs>using keepalive?
19:05:35  <indutny>isaacs: while ben can do > 3000 rps on his home pc
19:05:42  <indutny>isaacs: of course no, I'm testing handshakes
19:05:46  <isaacs>oh, right
19:06:35  <isaacs>yeah, that seems wierd
19:06:57  <indutny>indeed
19:07:10  <indutny>I suspect some cpu weirdness
19:08:32  <MI6>joyent/node: Fedor Indutny master * f9afb3f : dtrace: x64 ustack helper (+1 more commits) - http://git.io/DgFlqQ
19:08:42  <indutny>ok, pushed
19:08:50  <indutny>seems to be working fine for me on your smartos drone
19:09:43  * bradleymeckjoined
19:10:45  * bnoordhuisquit (Ping timeout: 276 seconds)
19:11:35  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
19:12:26  <indutny>isaacs: it'd be really cool if you/joyent will help me with that performance issue :)
19:12:37  <indutny>isaacs: I've tried spawning fresh 12 core ubuntu drone
19:12:44  <indutny>but it seems to have the same issues
19:13:00  <indutny>so, I suspect, only dedicated hardware could handle bigger loads
19:13:09  <indutny>(for unknown reason)
19:13:17  <isaacs>indutny: "working fine" = dtrace stuff or tlsnappy?
19:13:34  <indutny>dtrace
19:13:43  <isaacs>indutny: i'd expect an ubuntu vm would be a bit slower because of kvm
19:13:56  <isaacs>indutny: but a large smartos drone should be just like bare metal
19:13:58  <indutny>actually, it was pretty the same
19:14:12  <isaacs>indutny: are you sure you're not getting hit by some kind of arbitrary limit?
19:14:23  <isaacs>indutny: and that it's actually performance?
19:14:23  * stagasquit (Read error: Connection reset by peer)
19:15:13  * stagasjoined
19:15:44  * jmar777quit (Remote host closed the connection)
19:17:14  * loladiroquit (Quit: loladiro)
19:20:39  * stagas_joined
19:21:51  * brsonjoined
19:21:59  * stagasquit (Ping timeout: 255 seconds)
19:22:02  * stagas_changed nick to stagas
19:24:27  * bradleymeck_joined
19:25:55  * bradleymeckquit (Ping timeout: 248 seconds)
19:25:55  * bradleymeck_changed nick to bradleymeck
19:26:33  <tjfontaine>interesting node use case https://github.com/jackyz/pobi/tree/dev
19:30:03  * jmar777joined
19:30:04  * `3rdEdenquit (Remote host closed the connection)
19:32:22  <CoverSlide>Fan-Qiang?
19:32:39  <CoverSlide>He is english not good
19:34:30  <CoverSlide>Of course, The Party, The Country and The G.F.W. must be first
19:34:55  * Raltquit (Remote host closed the connection)
19:39:17  * stagas_joined
19:41:33  * stagas__joined
19:41:34  * stagasquit (Ping timeout: 240 seconds)
19:41:38  * stagas__changed nick to stagas
19:43:48  * stagas__joined
19:44:38  * stagas_quit (Ping timeout: 255 seconds)
19:46:11  * stagasquit (Ping timeout: 248 seconds)
19:47:15  * stagasjoined
19:49:54  * stagas__quit (Ping timeout: 240 seconds)
19:50:45  * stagas_joined
19:51:28  * stagas_quit (Client Quit)
19:52:03  * stagasquit (Ping timeout: 248 seconds)
19:52:26  * loladirojoined
20:07:39  * bradleymeck_joined
20:08:59  * bradleymeckquit (Ping timeout: 260 seconds)
20:09:00  * bradleymeck_changed nick to bradleymeck
20:18:17  * stagasjoined
20:22:22  <MI6>joyent/node: isaacs master * ec0446a : dtrace: Make D style more D-ish - http://git.io/RcJX1Q
20:24:06  <isaacs>sorry, force-pushing a fix to node.gyp in there.
20:24:08  <MI6>joyent/node: isaacs master * 38df9d5 : dtrace: Make D style more D-ish - http://git.io/wIxOgg
20:24:16  <isaacs>stray indent flub
20:30:00  * c4miloquit (Remote host closed the connection)
20:30:29  * joshthecoderjoined
20:31:11  * c4milojoined
20:31:51  <isaacs>ok, really done now.
20:31:57  <MI6>joyent/node: isaacs master * 321b8ee : dtrace: More style Continuation lines should be indented with 4 spaces, - http://git.io/VK07Lg
20:32:41  * c4miloquit (Remote host closed the connection)
20:33:07  * c4milojoined
20:34:15  * Raltjoined
20:38:09  * c4miloquit (Ping timeout: 260 seconds)
20:41:01  * `3rdEdenjoined
20:42:11  * hzquit
20:44:52  * sgallaghquit (Read error: Connection reset by peer)
20:48:03  * sgallaghjoined
20:51:44  * jmar777quit (Remote host closed the connection)
20:52:19  * jmar777joined
20:57:18  * c4milojoined
20:57:21  * jmar777quit (Ping timeout: 276 seconds)
20:58:09  * c4miloquit (Remote host closed the connection)
20:59:02  * c4milojoined
21:17:17  * bentkusjoined
21:17:24  <bentkus>is there a stable release of libuv?
21:19:35  <bentkus>with uv_run2?
21:19:46  <bentkus>are tagged releases considered to be stable?
21:21:07  <isaacs>bentkus: tagged 0.N releases are stable where N%2==0
21:21:36  <isaacs>bentkus: the tags like `node-v0.8.16` are the version that was included with that corresponding version of node
21:22:42  <bentkus>Mkeey
21:23:38  * bradleymeckquit (Quit: bradleymeck)
21:24:08  <isaacs>bentkus: bug piscisaureus_ about doing actual tagged X.Y.Z version releases
21:24:26  <piscisaureus_>before 0.10 mkay
21:24:47  <piscisaureus_>I'll bump it. The release tooling sits here in a branch, I just was too lazy to finish it
21:24:56  <piscisaureus_>so indeed bug me about it. I prefer that over dualstack :-)
21:25:17  <bentkus>you are talking about semversioning?
21:26:25  <bentkus>what we need for libuv is a tutorial on how to distribute incomming connections on more event loops
21:26:36  <bentkus>If I Have 4 cores I want 4 cores to process
21:27:01  <mmalecki>bentkus: well, write one :)
21:28:39  <bentkus>I DONT KNOW HOW
21:28:44  * Raltquit (Remote host closed the connection)
21:29:53  <bentkus>:~(
21:29:59  <bentkus>that is why 'we need it'
21:30:02  <bentkus>because I need it
21:30:20  <bentkus>are there any load distribution modules for node?
21:32:33  * warzquit
21:32:33  * kuebkjoined
21:34:33  <piscisaureus_>cluster, you mean?
21:37:10  <bentkus>ill look into that
21:37:11  <bentkus>what that thing does
21:39:21  <kuebk>hi
21:39:24  <bentkus>but it is a worker/master system
21:39:28  <bentkus>kuebk: hello
21:39:32  <kuebk>can anyone link me to header archive
21:39:35  <kuebk>which npm downloads
21:39:45  <kuebk>before building any c/c++ addon?
21:40:49  <bentkus>hm, i personally don't understand what you want
21:40:50  <tjfontaine>kuebk: it downloads the release tarball
21:41:06  <kuebk>k
21:41:34  <kuebk>thx
21:49:26  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
22:22:29  * wolfeidaujoined
22:23:58  * sgallaghquit (Remote host closed the connection)
22:27:32  * TheJHquit (Ping timeout: 248 seconds)
22:30:25  * c4miloquit (Remote host closed the connection)
22:30:51  * c4milojoined
22:35:24  * c4miloquit (Ping timeout: 260 seconds)
22:41:53  * qmxchanged nick to qmx|away
22:47:38  * lohkeyjoined
23:11:44  * kuebkquit (Ping timeout: 255 seconds)
23:14:58  * isaacschanged nick to __proto__
23:19:45  * c4milojoined
23:24:42  * c4milo_joined
23:25:56  * c4miloquit (Ping timeout: 248 seconds)
23:28:06  * `3rdEdenquit (Remote host closed the connection)
23:35:29  * rendarquit
23:52:25  * c4milo_quit (Remote host closed the connection)
23:56:21  * bradleymeckjoined
23:57:57  * kuebkjoined
23:59:28  * stagas_joined