00:00:13  * stagas__joined
00:01:00  * stagasquit (Ping timeout: 264 seconds)
00:01:08  * stagas__changed nick to stagas
00:01:08  <mscdex>piscisaureus_: nothing unless you count my inability to get libuv to stop unref'ing my poll watcher after some inactivity
00:01:11  <mscdex>;-)
00:01:47  <piscisaureus_>mscdex: windows or unix?
00:01:59  <mscdex>i've only tested on windows so far
00:02:31  <piscisaureus_>mscdex: "stop unrefing" ?
00:02:51  * avalanche123quit (Quit: Computer has gone to sleep.)
00:02:57  <piscisaureus_>mscdex: you mean, poll watchers get unref'ed after some time?
00:03:26  * stagas_quit (Ping timeout: 246 seconds)
00:03:44  <mscdex>i have two handles in my binding: a timer for sending keepalive messages on a socket (which works fine) and a poller for watching for socket traffic
00:03:56  * stagas_joined
00:04:05  <mscdex>the poller after some initial messages gets no activity until i send some request to the other end
00:04:19  <mscdex>so if no requests are sent after some period of time, the event loop is exited
00:04:43  <mscdex>but if i make sure the poller's events are set to UV_READABLE | UV_WRITABLE instead, the loop stays alive
00:04:57  <mscdex>but that is inefficient because it's then continually calling that callback with nothing to do
00:05:04  <piscisaureus_>mscdex: instead of what?
00:05:31  * stagas__joined
00:05:31  * stagasquit (Ping timeout: 240 seconds)
00:05:35  * stagas__changed nick to stagas
00:05:38  <mscdex>huh?
00:05:40  <piscisaureus_>mscdex: after the refcount refactor handles stop keeping the loop alive when they can no longer generate events
00:05:57  <mscdex>hrm
00:05:58  <piscisaureus_>mscdex: "the poller's events are set to UV_READABLE | UV_WRITABLE instead"
00:06:02  <piscisaureus_>mscdex: instead of what
00:06:14  <piscisaureus_>mscdex: if you set the event mask to 0 the handle will no longer keep the loop alive
00:06:24  <mscdex>oh, well any mask that doesn't generate events, so in my case UV_READABLE
00:07:04  * stagasquit (Read error: Connection reset by peer)
00:07:09  <piscisaureus_>mscdex: so is that uv_poll callback made reporting an error (with status != 0) ?
00:07:23  <piscisaureus_>mscdex: if that happens the uv_poll handle stops automatically
00:07:31  * stagasjoined
00:07:31  <mscdex>no, i have an assert for that and it never trips
00:07:39  <piscisaureus_>ok
00:07:40  <piscisaureus_>hmm
00:07:56  <piscisaureus_>mscdex: it would be good to have a test case for this...
00:07:58  <mscdex>i should also add that i even tried adding another (global) timer that is basically a no-op that fires every second and even that didn't help keep the event loop alive
00:08:11  <piscisaureus_>mscdex: the uv_poll code is not used that much so it is very well possible that there are bugs in there
00:08:13  <mscdex>which i really didn't understand
00:08:23  <piscisaureus_>mscdex: huh
00:08:31  * stagas_quit (Ping timeout: 240 seconds)
00:08:44  <mscdex>the extra timer actually made the loop last a little longer, like maybe another minute, but that was it
00:08:56  <piscisaureus_>mscdex: in that case the loop should really stay alive.... are you sure it is not crashing somehow?
00:09:21  <mscdex>i'm sure. i have a debug statement inside the extra timer's callback and an assert to make sure status == 0
00:09:41  <piscisaureus_>mscdex: I mean, is it not segfaulting or something?
00:09:47  <mscdex>oh, nope
00:09:54  <piscisaureus_>mscdex: windows apps have the tendency to crash without notiec
00:10:14  <piscisaureus_>mscdex: hmm
00:10:46  <piscisaureus_>mscdex: It would be really nice to have something to try out
00:10:48  <mscdex>i dunno, like i said, if i keep the poller going by using UV_READABLE | UV_WRITABLE when there's no more network activity for the moment, things are all good
00:11:09  <mscdex>i have a repo, i haven't tested on non-windows yet though
00:11:22  <piscisaureus_>mscdex: right
00:11:45  <mscdex>https://github.com/mscdex/ssh2
00:11:50  <piscisaureus_>mscdex: normally I would disregard this issue as "probably an user error" but you have enough cred...
00:12:03  * c4miloquit (Remote host closed the connection)
00:12:06  <mscdex>i've been trying different workarounds all day today
00:12:37  <piscisaureus_>mscdex: ok, I will try that out tomorrow.
00:12:58  <piscisaureus_>mscdex: it's 2am now and I am slightly drunk :-)
00:13:44  <piscisaureus_>mscdex: so how do I reproduce? i load the binding in node, then connect to an ssh server, and then wait?
00:13:48  <mscdex>ok, right now i've got the event mask hack in there (in the poll callback), so you'll have to modify that
00:14:14  <mscdex>piscisaureus_: yeah. it seems to be same amount of time every time, but i haven't verified that for sure yet
00:14:41  <piscisaureus_>mscdex: event mask hack>
00:15:05  <mscdex>piscisaureus_: var s = new addon.Session(); s.connect({host:'127.0.0.1',port:22,username:'foo',password:'bar'}); /* then wait */
00:15:11  <piscisaureus_>mscdex: that <- https://github.com/mscdex/ssh2/blob/master/src/session.cc#L307 ?
00:15:22  <mscdex>yep
00:16:04  <piscisaureus_>mscdex: well, if the event mask is 0 then, yes, the loop gets unref'ed
00:16:28  <piscisaureus_>mscdex: but if there's other active handles then it should still not exit
00:16:32  <mscdex>right, i figured that out the other day, so what i was doing was just setting it to something non-zero that still wouldn't cause the callback to be called every tick
00:16:37  <mscdex>i.e. UV_READABLE
00:16:47  <piscisaureus_>mscdex: basically libuv will exit when the only alternative would be to "hang", e.g. no events can happen
00:18:30  <piscisaureus_>mscdex: can you share the output of "netsh winsock show catalog"
00:18:32  <piscisaureus_>?
00:18:49  * stagasquit (Ping timeout: 244 seconds)
00:19:31  * stagasjoined
00:19:58  <mscdex>piscisaureus_: https://gist.github.com/a256d4934c7f1d923f49
00:21:03  <piscisaureus_>mscdex: vmci
00:21:06  * stagasquit (Read error: Connection reset by peer)
00:21:11  <piscisaureus_>mscdex: you have something corporate...
00:21:38  <mscdex>vmware
00:22:19  <piscisaureus_>hmm
00:22:41  <piscisaureus_>mscdex: so it might be that uv_poll is running in "slow" mode for you
00:22:48  <piscisaureus_>there could be bugs in there
00:23:00  <mscdex>i have no idea there :-)
00:23:05  <Benvie>vmware has a tendency to take over your computer
00:23:16  <Benvie>it adds network adapters and all sorts of services
00:23:27  <mscdex>i was hoping there was some kind of UV_DEBUG env var thing i could set to get libuv debug output or something ;-)
00:23:45  * stagasjoined
00:23:49  <piscisaureus_>mscdex: nope
00:24:04  <piscisaureus_>mscdex: however, you can compile node and debug with msvc
00:24:12  <piscisaureus_>mscdex: compiling node is really easy
00:24:21  <Benvie>msvc is quite good for debugging
00:24:26  <mscdex>i know, but i hate using the msvc ide
00:24:52  <piscisaureus_>mscdex: ... said the guy that was using node on NT4 a year ago...
00:25:05  <mscdex>that wasn't a choice ;-)
00:26:11  <Benvie>wow hah
00:26:34  <piscisaureus_>yeah we really ruined mscdex' life
00:26:42  <piscisaureus_>node now supports xp sp3+
00:26:49  <piscisaureus_>which is already a strech
00:26:53  <mscdex>!
00:26:58  <piscisaureus_>and even cygwin dropped nt4 support
00:28:01  <Benvie>yeah
00:28:11  <mscdex>inheriting legacy software can be a horrifying experience
00:28:24  <Benvie>I was shocked when some guy was using something I made on xp
00:28:32  <Benvie>I was like wow I didn't even expect that to be possible
00:29:56  * stagas_joined
00:30:01  * stagasquit (Ping timeout: 246 seconds)
00:30:05  * stagas_changed nick to stagas
00:31:09  * avalanche123joined
00:35:42  * stagas_joined
00:37:43  * stagasquit (Ping timeout: 272 seconds)
00:38:14  * stagas_changed nick to stagas
00:39:34  * TooTallNatequit (Quit: Computer has gone to sleep.)
00:40:13  * TooTallNatejoined
00:46:41  * stagas_joined
00:48:59  <isaacs>piscisaureus_: https://github.com/joyent/libuv/pull/515 <-- any pointers for adding the windows bits?
00:49:18  <piscisaureus_>haha
00:49:19  <isaacs>piscisaureus_: i looked at how uv_fs_ftruncate was done on windows, and it's lots of stuff i don't understand.
00:49:21  * arlolrajoined
00:49:36  * stagasquit (Ping timeout: 264 seconds)
00:49:37  * stagas_changed nick to stagas
00:49:38  <piscisaureus_>isaacs: the windows bits should be implemented as open() + ftruncate()
00:49:49  <isaacs>ok, that's pretty straightforward, then, i guess
00:50:06  <isaacs>and explains why we don't have uv_fs_truncate already ;)
00:50:47  <piscisaureus_>isaacs: well, I think the cause of us not having fs_truncate is because of node :-)
00:50:59  <isaacs>orly?
00:51:08  <piscisaureus_>isaacs: padum tsjjjjj
00:51:11  <isaacs>has this truncate/ftruncate thing been around that long? i remember it being an issue in 0.6
00:51:59  <piscisaureus_>isaacs: anyway, if you like a challenge, I'll leave it up to you
00:52:13  <piscisaureus_>isaacs: I am sure you can do it, if you have a windows vm to test on
00:52:14  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
00:52:21  <isaacs>i do
00:52:45  <isaacs>i don't think i have uv set up to build there, though
00:53:00  <isaacs>but i can run node's tests, of course
00:53:10  <piscisaureus_>isaacs: well, building uv is just as easy
00:53:25  <piscisaureus_>isaacs: clone libuv and run "vcbuild test"
00:53:28  <isaacs>kewl
00:53:43  <piscisaureus_>isaacs: (or run "vcbuild nobuild" if you just want to edit in VS)
00:54:02  <isaacs>nah, i like vim :)
00:54:17  <piscisaureus_>vim
00:54:26  * piscisaureus_sighs
00:54:52  <piscisaureus_>envy, or disgust?
00:57:27  <piscisaureus_>isaacs: btw - before you start, you may want to merge v0.8 into master
00:57:35  <piscisaureus_>isaacs: a lot of stuff changed in win/fs.c
00:57:53  <isaacs>oh, ok, good idea
00:57:59  * isaacsalready started, but whatever, that's what rebase is for
01:01:24  <isaacs>piscisaureus_: is it possible to call the file and then have fs__truncate() call fs__ftruncate() with the result?
01:01:37  * isaacsdoesn't quite grok what a uv_file or _open_osfhandle is
01:05:45  <piscisaureus_>isaacs: ehm, that seems rather dumb
01:06:00  <piscisaureus_>isaacs: you may want to add fs__truncate_handle
01:06:23  <piscisaureus_>and ftruncate would call open_osfhandle and then fs__truncate_handle
01:06:30  <isaacs>k, that sounds nicer
01:06:46  <isaacs>and put the guts of fs__ftruncate into fs__truncate_handle, then?
01:06:49  <piscisaureus_>isaacs: open_osfhandle translates an fd to a windows handle
01:06:53  <piscisaureus_>isaacs: yes
01:06:55  <isaacs>k
01:06:56  <isaacs>kewl
01:07:06  * stagas_joined
01:07:39  <piscisaureus_>isaacs: similar to fs__stat_hande
01:09:27  * stagasquit (Ping timeout: 244 seconds)
01:12:33  * stagas_quit (Ping timeout: 244 seconds)
01:12:39  * stagas__joined
01:12:42  * stagas__changed nick to stagas
01:13:36  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
01:15:03  * dylangjoined
01:16:24  * arlolraquit (Quit: Linkinus - http://linkinus.com)
01:17:12  * stagasquit (Read error: No route to host)
01:19:29  * stagasjoined
01:25:16  * blackorzar_quit (Read error: Connection reset by peer)
01:25:36  * stagasquit (Ping timeout: 264 seconds)
01:26:45  * yanushquit (Ping timeout: 245 seconds)
01:28:18  * stagasjoined
01:33:13  * stagasquit (Ping timeout: 244 seconds)
01:47:07  * stagasjoined
01:56:01  * stagasquit (Ping timeout: 240 seconds)
01:59:41  * stagasjoined
02:01:11  * dylangquit (Quit: dylang)
02:01:12  * stagasquit (Read error: Connection reset by peer)
02:01:44  * stagasjoined
02:04:50  * dylangjoined
02:23:06  * EhevuTovjoined
02:24:18  * EhevuTovquit (Client Quit)
02:27:21  * brsonquit (Quit: leaving)
02:32:33  * stagas_joined
02:34:38  * stagasquit (Ping timeout: 246 seconds)
02:37:48  * stagas_quit (Ping timeout: 244 seconds)
02:39:28  * TheJHquit (Read error: Operation timed out)
02:39:43  * stagasjoined
02:41:09  * stagasquit (Read error: Connection reset by peer)
02:41:38  * stagasjoined
02:46:04  * stagasquit (Ping timeout: 244 seconds)
02:51:42  * stagasjoined
02:56:31  * stagasquit (Ping timeout: 240 seconds)
03:00:06  * stagas_joined
03:00:59  * brsonjoined
03:05:11  * brsonquit (Ping timeout: 244 seconds)
03:06:33  * stagas_quit (Ping timeout: 272 seconds)
03:06:36  * brsonjoined
03:07:54  * stagasjoined
03:16:03  * avalanche123quit (Quit: Computer has gone to sleep.)
03:16:18  * mikealquit (Quit: Leaving.)
03:18:14  * xaqquit (Remote host closed the connection)
03:19:32  * dylangquit (Quit: dylang)
03:33:01  * xaqjoined
03:43:09  * stagasquit (Read error: Connection reset by peer)
03:45:07  * stagasjoined
03:50:18  * stagasquit (Ping timeout: 250 seconds)
03:52:52  * stagas_joined
03:55:31  * stagas_changed nick to stagas
04:15:36  * stagas_joined
04:16:18  * stagasquit (Ping timeout: 250 seconds)
04:16:28  * stagas_changed nick to stagas
04:20:33  * avalanche123joined
04:20:36  * stagas_joined
04:21:04  * stagasquit (Ping timeout: 250 seconds)
04:21:16  * stagas_changed nick to stagas
04:24:31  * avalanche123quit (Ping timeout: 240 seconds)
04:41:46  * theColejoined
04:50:43  * stephankquit (Ping timeout: 260 seconds)
04:52:48  * chilts_joined
04:52:50  * chiltsquit (Ping timeout: 260 seconds)
04:52:52  * stephankjoined
05:01:09  * stagasquit (Read error: Connection reset by peer)
05:01:40  * stagasjoined
05:25:58  * devaholicjoined
05:37:52  * philips_quit (Excess Flood)
05:39:03  * philips_joined
05:42:46  * mmaleckiquit (Ping timeout: 244 seconds)
05:42:51  * xaqquit (Remote host closed the connection)
05:45:05  * xaqjoined
06:26:59  * brsonquit (Quit: leaving)
06:31:43  * xaq_joined
06:34:32  * xaqquit (Ping timeout: 250 seconds)
06:40:41  * xaq_quit (Remote host closed the connection)
06:42:33  * brsonjoined
06:44:22  * mordy___part
06:51:49  * loladirojoined
06:56:07  * TheJHjoined
07:17:43  * brsonquit (Ping timeout: 246 seconds)
07:26:10  * rendarjoined
07:28:39  * mikealjoined
07:29:58  * stagas_joined
08:11:23  * hzjoined
08:29:11  * charliesomejoined
08:43:32  * stagas_quit (Ping timeout: 246 seconds)
08:56:59  * stagas_joined
09:24:23  * chilts_changed nick to chilts
09:36:44  * stagas_quit (Ping timeout: 246 seconds)
09:40:12  * stagas_joined
10:19:41  * loladiroquit (Read error: Connection reset by peer)
10:19:46  * loladiro_joined
10:35:27  * theColequit (Quit: theCole)
10:35:32  * stagas_quit (Ping timeout: 246 seconds)
10:51:31  * mmaleckijoined
10:56:04  * stagas_joined
11:05:59  * stagas_quit (Ping timeout: 272 seconds)
11:24:40  * stagas_joined
11:29:38  * dylangjoined
11:31:53  * stagas_quit (Ping timeout: 246 seconds)
11:39:50  * stagas_joined
11:48:18  * dylangquit (Quit: dylang)
11:50:23  * dylangjoined
11:57:34  * charliesomequit (Quit: Textual IRC Client: www.textualapp.com)
11:59:11  * stagas_quit (Ping timeout: 246 seconds)
12:47:09  * stagasquit (Read error: Connection reset by peer)
12:47:40  * stagasjoined
12:52:25  * yanushjoined
12:53:10  * mscdexquit (Read error: Connection reset by peer)
12:57:53  * mscdexjoined
13:07:00  * mscdexquit (Ping timeout: 264 seconds)
13:10:23  <indutny>hey people
13:10:31  <indutny>anyone up for a mad-science experiments?
13:10:37  <indutny>osx and node 0.8.x required ;)
13:12:12  * mscdex_joined
13:13:55  * mscdex_changed nick to mscdex
13:16:19  * loladiro_quit (Quit: loladiro_)
13:37:03  <mmalecki>indutny: got your gchat, nice
13:37:17  <mmalecki>indutny: busy now tho
13:42:52  <indutny>mmalecki: np
13:51:35  * loladirojoined
13:54:45  <indutny>vock connect 875e8180edcf09113e5ab4fb3266e735e7598376
13:54:46  <indutny>mikeal: vock connect 875e8180edcf09113e5ab4fb3266e735e7598376
13:54:47  <indutny>oops
13:54:50  <indutny>tab-failure
13:54:51  <indutny>mmalecki: vock connect 875e8180edcf09113e5ab4fb3266e735e7598376
14:37:37  * piscisaureus_joined
14:37:45  <piscisaureus_>hey isaacs
14:38:52  * KiNgMaRquit (Read error: Connection reset by peer)
14:40:23  <indutny>piscisaureus_: hey man
14:40:26  <indutny>isaacs: hey
14:40:33  <piscisaureus_>indutny: hey
14:40:34  * KiNgMaRjoined
14:40:35  <indutny>conferencing should be working today :P
14:41:00  <piscisaureus_>Apparently I am a little early to catch isaacs
14:42:40  <mscdex>it's 7:40am where he's at
14:42:44  <mscdex>:-)
15:03:22  <indutny>piscisaureus_: ping :)
15:03:28  <piscisaureus_>yo indexzero
15:03:31  <piscisaureus_>to indutny
15:03:33  <piscisaureus_>sorry indexzero
15:03:41  <indutny>piscisaureus_: can I bother you for awhile?
15:03:53  <piscisaureus_>indutny: well, I dont feel like rebooting atm
15:03:55  <piscisaureus_>otherwise, sure
15:04:27  <mmalecki>indutny: I'll ping you once my hair is not on fire
15:05:30  * dylangquit (Quit: dylang)
15:11:24  * philips_quit (Excess Flood)
15:12:07  * philips_joined
15:24:02  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
15:48:43  * AvianFluquit (Ping timeout: 250 seconds)
15:51:59  * AvianFlujoined
15:59:33  * AvianFluquit (Ping timeout: 250 seconds)
16:03:14  * piscisaureus_joined
16:03:51  * AvianFlujoined
16:05:56  * piscisaureus_quit (Client Quit)
16:19:25  * AndreasMadsenjoined
16:20:01  <AndreasMadsen>isaacs: can we please skip the Array.slice debate this time?
16:23:25  <AndreasMadsen>if not please move it too https://gist.github.com/3265554
16:24:48  <mmalecki>AndreasMadsen: I find your code overly complicated - why fork at all?
16:25:04  <mmalecki>I usually just write scripts and execute them with `time`
16:25:05  <AndreasMadsen>mmalecki: was it too long to read :)
16:25:16  <AndreasMadsen>mmalecki: I explain why
16:26:17  <AndreasMadsen>mmalecki: its because I don't benchmark with v8 optimization
16:27:20  <mmalecki>well, in production your code will be running with optimization :)
16:28:04  <AndreasMadsen>mmalecki: it depends. If the function will only run once it will not be optimized https://github.com/joyent/node/pull/3676#discussion_r1307666
16:28:42  <AndreasMadsen>and thats perfectly possible in production
16:30:25  <AndreasMadsen>mmalecki: I mean even in production you will only call Server.listen once
16:32:45  * mikealquit (Quit: Leaving.)
16:33:09  * stagasquit (Read error: Connection reset by peer)
16:33:39  * stagasjoined
16:34:08  <mscdex>AndreasMadsen: why are you not using the same `arguments` for both tests?
16:34:17  <mscdex>i.e. same number of arguments
16:34:36  <AndreasMadsen>mscdex: oh fuck
16:34:48  <mscdex>:S
16:35:11  <mmalecki>ahahaha
16:36:15  <AndreasMadsen>mscdex: it didn't matter
16:36:58  <AndreasMadsen>updated
16:37:26  <AndreasMadsen>the result is actually even more significant now
16:38:06  <AvianFlu>AndreasMadsen, how many times have you run this bench?
16:38:11  <AvianFlu>have you computed a standard deviation?
16:38:20  <AvianFlu>do you know if the results count as statistically significant?
16:38:57  <AndreasMadsen>AvianFlu: standard deviation -> if you wan't to be seriouse do it your self :)
16:39:20  <AndreasMadsen>AvianFlu: It runs 100 times for each bench run
16:39:23  <AvianFlu>I'm just saying, you get different numbers every time
16:39:35  <AvianFlu>and there's going to be a certian level of noise
16:39:46  <AvianFlu>so if the difference is small, it might not actually be real
16:40:36  <AndreasMadsen>AvianFlu: right, but there is no benchmark suite for this stuff, so I did not want use the on implementing one.
16:41:05  <AndreasMadsen>AvianFlu: and I have never seen while beat slice at any point.
16:41:58  <AndreasMadsen>AvianFlu: and since I have to start a new process before each run, it takes time to just run 2 * 100 times
16:42:16  * mikealjoined
16:44:42  <AndreasMadsen>AvianFlu: I might calculate the standard deviation after food
16:44:49  * AndreasMadseneat
16:44:53  * dylangjoined
16:55:34  * dylangquit (Quit: dylang)
16:57:29  * stagasquit (Ping timeout: 272 seconds)
16:58:19  * stagasjoined
16:59:01  * indexzero_joined
17:01:09  * indexzeroquit (Ping timeout: 244 seconds)
17:01:09  * indexzero_changed nick to indexzero
17:14:50  * theColejoined
17:16:53  <AndreasMadsen>AvianFlu: done, however I'm not totally sure if I did it right, I rally make benchmarks
17:20:17  * hzquit (Ping timeout: 272 seconds)
17:49:40  * hzjoined
18:06:08  * beachdogjoined
18:10:00  * ericktquit (Quit: erickt)
18:11:49  * ericktjoined
18:18:35  * mikealquit (Ping timeout: 246 seconds)
18:29:50  * mikealjoined
18:30:45  * mikealquit (Client Quit)
18:30:56  * mikealjoined
18:31:21  * dylangjoined
18:32:14  <isaacs>AndreasMadsen: shrug
18:32:21  <isaacs>AndreasMadsen: i can just rebase it in for you :)
18:32:40  <isaacs>AndreasMadsen: it also broke some message tests, but they were overly strict anyway, so i'm fixing that
18:32:59  <AndreasMadsen>isaacs: that fine
18:33:38  <AndreasMadsen>s/that/thats
18:35:55  <isaacs>AndreasMadsen: so, i was actually wondering if you had any thoughts on something... on the npm site, i'm running a cluster of 8 servers.
18:36:19  <isaacs>AndreasMadsen: when i restart them, occasionaly the first few end up in some kind of strange state
18:36:32  <isaacs>AndreasMadsen: if I do worker.disconnect() then they never emit a "disconnect" event
18:36:57  <AndreasMadsen>isaacs: that's wired
18:37:12  <isaacs>if i do worker.process.kill(), THEN i get a disconnect, and then an exit
18:37:26  <isaacs>but it's like they're not getting the disconnect message.
18:37:39  <isaacs>i'm going to add some hooks to debug it more. i can't reproduce it at all locally
18:37:44  <AndreasMadsen>either the worker is already disconnected or the server couldn't get closed or its a bug
18:37:57  <isaacs>well, it's definitely a bug *somewhere* :)
18:38:04  <isaacs>either in npm-www or in node, or in both
18:38:09  <AndreasMadsen>isaacs: I ment in node core
18:38:12  <isaacs>maybe a whole colony of bugs :)
18:38:22  <AndreasMadsen>isaacs: try outputting process.conntected
18:38:32  * dshaw_joined
18:38:39  <AndreasMadsen>process.connected
18:39:21  <AndreasMadsen>in master `worker.process.connected` and in worker `process.connected`
18:39:47  <indutny>hm...
18:39:54  <indutny>anyone up for a vock conference test?
18:40:19  <mmalecki>indutny: yes!
18:40:25  <indutny>finally :)
18:40:28  <indutny>npm install -g vock@0.1.2
18:40:35  <mmalecki>indutny: I actually got myself some headphones too :)
18:40:46  <indutny>mmalecki: vock connect 4c3c462718c577eb0850097a7810d040a1c6aaef
18:40:54  <indutny>anyone else?
18:40:55  <indutny>isaacs: ^
18:41:31  <indutny>anyone?
18:41:32  <indutny>creationix: ?
18:41:43  <AndreasMadsen>indutny: may I try
18:41:53  <indutny>AndreasMadsen: sure
18:41:58  <indutny>AndreasMadsen: npm install -g vock@0.1.2
18:42:02  <indutny>AndreasMadsen: then, vock connect 4c3c462718c577eb0850097a7810d040a1c6aaef
18:44:33  <indutny>AndreasMadsen: ping?
18:44:34  <AndreasMadsen>oh, need to run another node version
18:44:39  <indutny>AndreasMadsen: yes
18:44:46  <indutny>AndreasMadsen: 0.8.x
18:47:05  <AndreasMadsen>indutny: got an error -> https://gist.github.com/3266634
18:47:25  <indutny>AndreasMadsen: are you using 0.9.x branch?
18:47:40  <AndreasMadsen>indutny: no 0.8.4 - pre
18:48:14  <indutny>AndreasMadsen: you need not a pre version
18:48:25  <indutny>AndreasMadsen: sorry, that's a node-gyp limitation
18:49:28  <AndreasMadsen>indutny: I haven't run a none pre version for 8 months or so
18:49:35  <indutny> AndreasMadsen heh
18:50:05  <indutny>AndreasMadsen: you can just remove `-pre` stuff from your build, or build 0.8.3 or 0.8.4
18:50:12  <indutny>or install pkg from nodejs.org site
18:50:21  <indutny>http://nodejs.org/dist/v0.8.5/node-v0.8.5.pkg
18:50:44  <AndreasMadsen>I will do git checkout upstream/v0.8.5-release
18:51:02  <indutny>AndreasMadsen: ok, we're waiting for you
18:54:08  <indutny>AndreasMadsen: how is it going?
18:54:19  <indutny>AndreasMadsen: I think I and mmalecki are quite tired of listening each other typing :D
18:54:26  <AndreasMadsen>indutny: I have compiled node, running npm install now
18:54:32  <indutny>AndreasMadsen: cool
18:54:51  <AndreasMadsen>/Users/Andreas/node/lib/node_modules/vock/node_modules/pripub/lib/pripub/api.js:34
18:54:52  <AndreasMadsen> this.pub = this.binding.getPublicKey();
18:54:52  <AndreasMadsen> ^
18:54:53  <AndreasMadsen>Private key should be loaded first
18:55:00  <indutny>AndreasMadsen: https://github.com/indutny/vock#encryption
18:55:10  <indutny>AndreasMadsen: you can either specify your SSH key's password
18:55:13  <indutny>AndreasMadsen: or use different key
18:55:13  * dshaw_1joined
18:55:18  <indutny>AndreasMadsen: VOCK_KEY_PASSWORD=pass
18:55:24  <indutny>prefix vock connect with it
18:55:54  <indutny>I can assure you that it isn't sending your key anywhere
18:56:00  <indutny>and using it only for encryption/decryption
18:56:08  <indutny>and you can check it's code if you don't trust it
18:56:31  <indutny>anyway, every untrusted application can do what it like with your key
18:56:50  <AndreasMadsen>Connecting...
18:56:50  <AndreasMadsen>Opponent appeared 87.60.69.123:53790
18:56:50  <AndreasMadsen>Opponent appeared 176.101.12.67:50779
18:56:51  <AndreasMadsen>Opponent appeared 213.156.112.84:50683
18:56:53  <AndreasMadsen>Opponent appeared 176.101.12.67:50188
18:56:55  <AndreasMadsen>Accept 2d7c307246dad105bccd987d2ecd4d0ab014a0d4? (no)
18:57:03  <indutny>AndreasMadsen: you should type "yes"
18:57:13  <indutny>AndreasMadsen: that's mmalecki's fingerprint
18:57:24  * dshaw_quit (Ping timeout: 244 seconds)
18:57:54  <AndreasMadsen>indutny: i'm connected to mmalecki I think
18:58:00  <indutny>AndreasMadsen: oh, nice
18:58:04  <indutny>mmalecki: can you hear me?
18:58:09  <indutny>mmalecki: I can heer you
18:58:35  <indutny>AndreasMadsen: can you hear anyone?
18:59:13  <AndreasMadsen>indutny: not sure
18:59:17  <indutny>oh crap
18:59:22  <indutny>ok, I think we should end this stuff
18:59:23  <indutny>mmalecki: ^
18:59:34  <AndreasMadsen>indutny: please speak your names
18:59:35  <indutny>I'll investigate later
18:59:42  <indutny>mmalecki: ^
19:00:07  <indutny>ok, ttyl
19:00:13  <indutny>mmalecki: AndreasMadsen: thank you very much
19:00:46  <mmalecki>indutny: pleasure
19:01:02  <AndreasMadsen>indutny: my pleasure, wish it could have been longer
19:03:44  * dshaw_1changed nick to dshaw
19:08:09  * AndreasMjoined
19:08:30  * AndreasMquit (Client Quit)
19:08:48  * AndreasMjoined
19:12:41  * AndreasMquit (Client Quit)
19:15:58  * jgautierjoined
19:16:18  <jgautier>when creating a nodejs C++ addon do you *have* to use libuv for IO? I have an existing C++ class thats doing IO but not with libuv which i want to turn into a C++ addon..
19:24:45  * piscisaureus_joined
19:25:04  * yanushquit (Ping timeout: 245 seconds)
19:36:39  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
19:37:19  <indutny>jgautier: so how can I help you?
19:37:37  <indutny>jgautier: I think for IO stuff - you'll better move to control to the javascript
19:37:48  <indutny>since it has already implemented all bindings
19:37:58  <indutny>though, you can use libuv's API from addon
19:38:44  <jgautier>i *think* i am having an issue with node-serialport so i found this other serial cpp class that does not have the same issue so i wanted to build it into a node C++ addon...that way i can isolate if the issue is with node-serialport or with my code.
19:39:18  <jgautier>but of course this other serial c++ class does not use libuv
19:46:35  * brsonjoined
19:48:47  * avalanche123joined
20:01:21  * avalanche123quit (Quit: Computer has gone to sleep.)
20:08:33  * beachdogquit (Read error: Connection reset by peer)
20:08:54  * beachdogjoined
20:14:30  * mikealquit (Quit: Leaving.)
20:16:38  * ggreerpart
20:18:34  * avalanche123joined
20:29:39  * hzquit (Ping timeout: 272 seconds)
20:33:27  * beachdogquit (Remote host closed the connection)
20:33:58  * hzjoined
20:38:39  * avalanche123quit (Quit: Computer has gone to sleep.)
20:39:14  * hzquit
20:40:57  * bnoordhuisjoined
20:42:04  * ericktquit (Quit: erickt)
20:42:05  * AndreasMadsenquit (Remote host closed the connection)
20:47:09  * stagasquit (Read error: Connection reset by peer)
20:47:39  * stagasjoined
20:54:14  * piscisaureus_joined
20:58:00  <CIA-134>node: Andreas Madsen master * rd138875 / (4 files in 3 dirs): net: lazy listen on handler - https://github.com/joyent/node/commit/d13887512e37a0687b50ec66fc3f917620b61bf4
20:58:01  <CIA-134>node: Andreas Madsen master * r085a098 / (4 files in 2 dirs): cluster: do not use internal server API - https://github.com/joyent/node/commit/085a09874b03a1e5401d911ef61e9451b6ea3b30
20:58:02  <CIA-134>node: Andreas Madsen master * rddb02b9 / lib/net.js : net: support Server.listen(Pipe) - https://github.com/joyent/node/commit/ddb02b978d2b577727370b36eeb828b1a522064a
20:58:02  <CIA-134>node: isaacs master * r99ad056 / (3 files): test-message: fix message output - https://github.com/joyent/node/commit/99ad0561c04a8b255f6049f494fe15cb56e0b382
21:08:23  * creationixquit (Ping timeout: 240 seconds)
21:10:02  * avalanche123joined
21:13:27  * creationixjoined
21:16:43  <piscisaureus_>tut tut
21:16:44  <piscisaureus_>+ self.emit('error', errnoException(errno, 'listen'));
21:16:56  <piscisaureus_>er
21:17:09  <piscisaureus_>941 + process.nextTick(function() {
21:17:10  <piscisaureus_> 942 + self.emit('error', errnoException(errno, 'listen'));
21:17:15  <piscisaureus_>^-- wrong
21:20:12  <piscisaureus_>actually
21:20:40  <piscisaureus_>isaacs: where is the PR for this "lazy listen" behavior?
21:21:08  <isaacs>oh, yes, that's a bug.
21:21:09  <isaacs>whoops
21:21:16  <isaacs>errnoException has to be right away
21:21:20  <piscisaureus_>isaacs: yeah
21:21:23  <isaacs>piscisaureus_: https://github.com/joyent/node/pull/3676
21:21:26  <isaacs>i'll fix it
21:21:29  <isaacs>good catch
21:21:43  <piscisaureus_>isaacs: also, I agree with the greater good of having cluster not using internal APIs
21:21:58  <isaacs>piscisaureus_: that was a bug initially, btw, not introduced here.
21:21:59  <piscisaureus_>isaacs: but this connection listener magic... I don't know ...
21:22:03  <isaacs>the code was just moved.
21:22:03  <piscisaureus_>ah
21:22:04  <piscisaureus_>ok
21:22:09  <isaacs>but it is a bug.
21:22:36  <piscisaureus_>isaacs: pause/resume for servers seems more explicit
21:23:18  <isaacs>piscisaureus_: https://gist.github.com/3267178
21:23:27  <piscisaureus_>isaacs: lgtm
21:23:47  <CIA-134>node: isaacs master * r74d076c / lib/net.js : errnoException must be done immediately - https://github.com/joyent/node/commit/74d076caf1837ddacae0f7cd5d9e6ee0b47d63d2
21:25:54  <isaacs>make-test'ing v0.8 to land the equivalent fix there as well
21:26:17  <isaacs>piscisaureus_: "pause/resume for servers seems more explicit"?
21:26:43  <isaacs>piscisaureus_: oh, you mean, rather than wait for a connection listener, just cal server.pause() and server.resume()?
21:27:00  <piscisaureus_>isaacs: https://github.com/joyent/node/pull/3676#issuecomment-7513261
21:27:08  <piscisaureus_>isaacs: events with side effects... meh
21:27:15  <piscisaureus_>^-- tl;dr version
21:27:34  <isaacs>piscisaureus_: yeah
21:27:39  <isaacs>piscisaureus_: i guess that makes sense.
21:27:49  <isaacs>maybe we should just say that listen() will fail if you don't have any connection listeners.
21:27:59  <isaacs>and you can use close() and listen() like that
21:28:23  * creationixquit (Ping timeout: 240 seconds)
21:28:27  <isaacs>i don't really know of any cases where you'd do createServer(/*no handler here*/).listen(port)
21:28:34  <isaacs>is that ever not a bug?
21:28:41  <piscisaureus_>isaacs: i've done it :-0
21:28:52  <piscisaureus_>but I attach a connection listener immediately after that
21:28:56  <isaacs>right, but did you actually WANT it to accept connections and not do anything?
21:29:11  <isaacs>i mean, if it threw and said, "Nope. Gimme something to listen with, buddy.", would that be ok?
21:29:11  <piscisaureus_>isaacs: just a matter of code organization
21:29:18  <isaacs>or emit an error on nextTick or whatever
21:29:36  <isaacs>so createServer().listen(port) // attach listener now, or else!
21:29:43  <piscisaureus_>server = createServer().listen(123);
21:29:44  <piscisaureus_>server.on('connection', function(
21:29:48  <isaacs>sure
21:29:58  <piscisaureus_>but yeah there's never much need
21:30:27  <piscisaureus_>node 0.4 used to have server pause and resume
21:30:27  <bnoordhuis>quick check, util.pump is deprecated, practically speaking, right?
21:30:33  <bnoordhuis>the docs still say it's experimental
21:30:51  <isaacs>net.Server.prototype.listen = function () { process.nextTick(function() { if (this.listeners('connection').length===0) throw 'bork' }.bind(this) }) ...
21:30:51  <piscisaureus_>it's a deprecation experiment
21:31:02  <isaacs>bnoordhuis: they say "experimental"?
21:31:05  <isaacs>that's wrong :)
21:31:10  <isaacs>deprecate that noise
21:31:17  <bnoordhuis>i will
21:32:38  <piscisaureus_>isaacs: we could do that... do you think it'd help anyone?
21:32:53  <piscisaureus_>as in, do people actually forget to add connection listeners?
21:33:01  <piscisaureus_>I doubt it :-)
21:33:19  <isaacs>piscisaureus_: AndreasMadsen did apparently?
21:33:26  <piscisaureus_>isaacs: I think Andreas added this api so the cluster module could get away with only public apis
21:33:28  * creationixjoined
21:33:48  <piscisaureus_>isaacs: because he needs a server that does not actually accept connections
21:33:59  <isaacs>hm.. true.
21:34:05  <bnoordhuis>failing tests on master. expected?
21:34:20  <piscisaureus_>isaacs: so I agree with this goal... but I don't like the event listener magic
21:34:49  <isaacs>bnoordhuis: which tests?
21:35:05  <isaacs>bnoordhuis: the pummel ones i posted bugs about?
21:35:06  <piscisaureus_>isaacs: there should just be a public api to make a server listen but not accept (just like there should be a public api to make a stream not read)
21:35:21  <bnoordhuis>isaacs: simple/test-net-lazy-listen and simple/test-net-socket-timeout
21:35:44  <isaacs>bnoordhuis: those both worked for me a minute ago. checking again now.
21:35:55  <bnoordhuis>=== release test-net-lazy-listen ===
21:35:55  <bnoordhuis>Path: simple/test-net-lazy-listen
21:35:56  <bnoordhuis>testing for standby, expect id 0
21:35:56  <bnoordhuis>/home/bnoordhuis/src/nodejs/master/test/simple/test-net-lazy-listen.js:138
21:35:56  <bnoordhuis> throw new Error('got unexpected response: ' + id +
21:35:56  <bnoordhuis> ^
21:35:58  <bnoordhuis>Error: got unexpected response: null, expected: 0
21:36:00  <bnoordhuis> at /home/bnoordhuis/src/nodejs/master/test/simple/test-net-lazy-listen.js:138:17
21:36:04  <bnoordhuis> at Socket.<anonymous> (/home/bnoordhuis/src/nodejs/master/test/simple/test-net-lazy-listen.js:174:5)
21:36:06  <bnoordhuis> at Socket.EventEmitter.emit (events.js:88:17)
21:36:08  <bnoordhuis> at Socket._destroy.destroyed (net.js:356:10)
21:36:10  <bnoordhuis> at process.startup.processNextTick.process._tickCallback (node.js:315:13)
21:36:12  <bnoordhuis> at process.startup.processMakeCallback.process._makeCallback (node.js:243:15)
21:36:14  <bnoordhuis>Command: out/Release/node /home/bnoordhuis/src/nodejs/master/test/simple/test-net-lazy-listen.js
21:36:16  <bnoordhuis>=== release test-net-socket-timeout ===
21:36:18  <bnoordhuis>Path: simple/test-net-socket-timeout
21:36:20  <bnoordhuis>events.js:66
21:36:22  <bnoordhuis> throw arguments[1]; // Unhandled 'error' event
21:36:24  <bnoordhuis> ^
21:36:26  <bnoordhuis>Error: connect ECONNREFUSED
21:36:28  <bnoordhuis> at errnoException (net.js:781:11)
21:36:30  <bnoordhuis> at Object.afterConnect [as oncomplete] (net.js:772:19)
21:36:34  <bnoordhuis> at process.startup.processMakeCallback.process._makeCallback (node.js:238:20)
21:36:36  <bnoordhuis>oh, and this one too now
21:36:36  <isaacs>bnoordhuis: yep, both work for me
21:36:38  <bnoordhuis>=== release test-cluster-disconnect ===
21:36:40  <bnoordhuis>Path: simple/test-cluster-disconnect
21:36:42  <bnoordhuis>events.js:66
21:36:44  <bnoordhuis> throw arguments[1]; // Unhandled 'error' event
21:36:46  <bnoordhuis> ^
21:36:48  <bnoordhuis>Error: connect ECONNREFUSED
21:36:50  <bnoordhuis> at errnoException (net.js:781:11)
21:36:52  <bnoordhuis> at Object.afterConnect [as oncomplete] (net.js:772:19)
21:36:54  <bnoordhuis> at process.startup.processMakeCallback.process._makeCallback (node.js:238:20)
21:36:56  <bnoordhuis>Command: out/Release/node /home/bnoordhuis/src/nodejs/master/test/simple/test-cluster-disconnect.js
21:37:02  <bnoordhuis>let me do a quick rebuild and test
21:37:09  <isaacs>[02:16|% 100|+ 454|- 0]: Done
21:37:15  <isaacs>36 files checked, no errors found.
21:38:25  <bnoordhuis>no, they keep failing
21:41:58  <CIA-134>node: Ben Noordhuis master * r624788d / Makefile : Makefile: DRY js lint - https://github.com/joyent/node/commit/624788df7e71a1868ad0b1c8f10698c6186e8083
21:42:00  <CIA-134>node: Ben Noordhuis master * r3219616 / (doc/api/util.markdown lib/util.js): util: mark util.pump() as deprecated - https://github.com/joyent/node/commit/3219616f43d4512932f85106f02fe697fdc57051
21:42:37  * creationixquit (Quit: ZNC - http://znc.in)
21:44:19  <isaacs>bnoordhuis: can you land those on v0.8 as well?
21:44:28  * creationixjoined
21:44:44  <bnoordhuis>isaacs: you want to add a .deprecate in the stable branch?
21:44:57  <bnoordhuis>i would generally advise against that :)
21:45:01  <isaacs>oh, that wasn't just a doc change
21:45:01  <isaacs>nvm
21:45:02  <mmalecki>watch out, we've got a badass over here
21:45:14  <isaacs>the makefile though, certainly
21:45:21  <bnoordhuis>sure
21:45:45  <isaacs>bnoordhuis: oh, i see why that is.
21:45:54  <isaacs>bnoordhuis: it was experimental when it wa sadded, and it was never updated.
21:46:03  <bnoordhuis>that test-net-lazy-listen is newish, isn't it?
21:46:06  <isaacs>that's not a new-style stability index marker
21:47:23  <isaacs>bnoordhuis: yeah, i think it came along with https://github.com/joyent/node/commit/d138875
21:47:40  <CIA-134>node: isaacs v0.8 * r93be4ff / (3 files): test-message: fix message output - https://github.com/joyent/node/commit/93be4ffd4b224ec10476340dcc7747ac20d4ac13
21:47:41  <CIA-134>node: isaacs v0.8 * r7bb814f / lib/net.js : errnoException must be done immediately - https://github.com/joyent/node/commit/7bb814f9db02185c7a0900f73c2bbd52247a1907
21:48:34  <CIA-134>node: isaacs v0.8 * r4ff56aa / doc/api/util.markdown : doc: util.pump is deprecated. Use Stream.pipe - https://github.com/joyent/node/commit/4ff56aa15e21372ab5d46baabea01d741d81431e
21:49:12  <bnoordhuis>okay, bisecting
21:50:32  <bnoordhuis>d13887512e37a0687b50ec66fc3f917620b61bf4 - net: lazy listen on handler
21:50:38  <bnoordhuis>make -j 8 is awesome btw
21:52:13  <CIA-134>libuv: Bert Belder master * r32da239 / (7 files in 4 dirs): Merge branch 'v0.8' (+12 more commits...) - https://github.com/joyent/libuv/commit/32da23988bd451b4e8dbf32cc17ba652824f5112
21:52:35  <isaacs>piscisaureus_: i think you make a good point about the connection listener magic. i'm not totally against on() having side effects, but it should be only as a last resort. server.pause/resume sounds nice, but i'm a bit concerned that the API is close enough to the Stream api to be confusing.
21:52:56  <isaacs>ok, i'm going to go pretend it's Sunday
21:53:06  <piscisaureus_>isaacs: haha.
21:53:19  <piscisaureus_>isaacs: it seems that these commits are up for revert anyway...
21:53:23  <isaacs>yeah
21:53:25  <isaacs>looking that way
21:53:27  <piscisaureus_>isaacs: let's discuss tomorrow then
21:53:31  <isaacs>k
21:53:50  <isaacs>feel free to start a new issue discussing the best api to do this sort of thing in a less-magical way, of course.
21:54:10  * travis-cijoined
21:54:10  <travis-ci>[travis-ci] joyent/libuv#524 (master - 32da239 : Bert Belder): The build was broken.
21:54:10  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/9f7cdb20aa29...32da23988bd4
21:54:10  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2043045
21:54:10  * travis-cipart
21:54:25  <isaacs>you've convinced me of the need, but i think it'd be good to get a quick round of bikeshedding on the API.
21:54:28  <piscisaureus_>isaacs: 0.4 did have server pause/resume
21:54:32  <isaacs>orly?
21:54:39  * isaacslearn new things every day.
21:54:49  <piscisaureus_>isaacs: yeah. We forgot to port it to 0.6, and nobody complained :-)
21:54:55  <isaacs>haha
21:54:57  <piscisaureus_>isaacs: but maybe we can put it back for this purpose :-0
21:55:00  <isaacs>ok, then forget it. there's precedent.
21:55:03  <isaacs>yeah, pause/resume then
21:55:41  <piscisaureus_>isaacs: tentatively. I am going to think about something better (maybe something that matches our new readable api)
21:55:42  <isaacs>it'll still be pretty edge-case-ish
21:55:48  * saghulquit (Quit: Bye!)
21:55:57  <piscisaureus_>(although that will be even more performance-risky)
21:56:06  <isaacs>i really don't want to have to do connection = server.accept(); if (!connection) server.once('connection', fn)
21:56:21  <piscisaureus_>agreed
21:56:34  <isaacs>it makes sense in a readable stream, because you actually are consuming the data in chunks
21:56:40  <isaacs>but a connection is just a thing, you have it or you don't
21:56:41  <piscisaureus_>yeah
21:57:02  <piscisaureus_>I also don't think libuv will stop doing the start/stop mode accepting
21:57:07  <isaacs>you're not ever going to do server.accpet(10) // give me 10 of connections, but not more!
21:57:13  <piscisaureus_>ghe
21:57:14  <piscisaureus_>sure
21:57:37  <isaacs>ok, sunshine time
21:57:40  <piscisaureus_>isaacs: :x :x let's not start on that
21:57:43  <piscisaureus_>isaacs: have fun!
22:00:45  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
22:00:59  * ericktjoined
22:02:29  * theColequit (Quit: theCole)
22:06:03  * piscisaureus_joined
22:06:19  <piscisaureus_>sudo gdisk /dev/disk0
22:09:12  * rendarquit
22:15:06  <CIA-134>node: Kyle Robinson Young v0.8 * rbc7479d / doc/api/child_process.markdown : doc: fix typos in child_process - https://github.com/joyent/node/commit/bc7479d2321f7cbfe7567195a5bcf59d92acbb90
22:17:10  * AvianFlu_joined
22:18:37  * AvianFluquit (Disconnected by services)
22:18:45  * AvianFlu_changed nick to AvianFlu
22:22:50  * AvianFluquit (Read error: Connection reset by peer)
22:28:37  * AvianFlujoined
22:46:55  * TooTallNatejoined
22:51:18  <CIA-134>node: Ben Noordhuis master * r2f7e0f2 / (lib/fs.js test/simple/test-fs-read-stream.js): fs: remove undocumented .destroy callbacks - https://github.com/joyent/node/commit/2f7e0f2da6a5c1be7ed6c79eca6c723d1b341aff
22:53:43  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
22:59:58  * piscisaureus_joined
23:05:52  * loladiroquit (Quit: loladiro)
23:17:48  * Benviequit
23:20:21  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
23:39:44  * piscisaureus_joined
23:58:10  * ericktquit (Quit: erickt)