00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:10  * ircretaryjoined
00:00:19  <isaacs>trevnorris: and, for every one after the second, in fact.
00:00:53  <isaacs>set iter=10 and you'll see it doubles up, failing on the second error handler call to data event +5
00:00:56  <isaacs>#5
00:03:31  <trevnorris>isaacs: so strange. but why just on windows?
00:04:12  <trevnorris>isaacs: wtf. also, check this: http://jenkins.nodejs.org/job/node-review/DESTCPU=x64,label=windows/103/tapTestReport/test.tap-12/
00:04:31  <trevnorris>isaacs: last line, that's from the child on data event. but that's being triggered _after_ the process on exit callback
00:04:45  * loladirojoined
00:05:26  <isaacs>trevnorris: or the data was written, but not flushed yet, or something
00:05:27  * octetcloudquit (Ping timeout: 268 seconds)
00:05:39  <trevnorris>isaacs: wait, scratch that. yeah. it's just not flushed.
00:06:03  <trevnorris>isaacs: but that doesn't make sense. I'm checking if the string printed to the screen is in the return string from the child.
00:06:19  <trevnorris>isaacs: as the bottom there you can see that it's there, but for some reason the assertion is failing.
00:07:26  <trevnorris>man. wtf is going on. well, time to figure out how to setup a windows vm.
00:11:22  <MI6>joyent/node: Trevor Norris 011-isfinal * fe4fbc2 : doc: add docs for AsyncListeners (+1 more commits) - http://git.io/GZLdpQ
00:12:11  * abraxasjoined
00:13:03  <trevnorris>isaacs: alright, want to see what this last batch of tests say, but since this isn't a bug in my code after this finishes mind if I merge anyways?
00:13:40  <tjfontaine>not like anyone is using master+windows right now :) [not that I necessarily advocate breaking it further]
00:14:08  <trevnorris>tjfontaine: hah, well i'm of the opinion that this is just exposing problems that already exist.
00:14:49  <tjfontaine>I have not enough data to argue one way or another on that, other than to know that windows is hella busted
00:14:57  <isaacs>trevnorris: yeah, it's calling the error handler twce, as far as i can gather.
00:14:59  <isaacs>but not every time
00:15:11  <isaacs>trevnorris: o_O?
00:15:15  <isaacs>i don't get it
00:15:37  * dap_quit (Quit: Leaving.)
00:15:42  <trevnorris>isaacs: yeah, right? debugging a race condition of asynchronous error handling is sort of kicking me in the nads.
00:15:51  * indexzerojoined
00:16:30  * abraxasquit (Ping timeout: 246 seconds)
00:17:05  <trevnorris>isaacs: maybe try loading this into the test, and run require('./longstack').start() and see if you can get it to fail again.
00:17:09  <trevnorris>isaacs: https://gist.github.com/trevnorris/7209654
00:18:21  <trevnorris>though that's going to give you a crap ton of output. pretty much every stack trace for every error handled.
00:18:31  <trevnorris>so, maybe we need to create a minimized test case for this :P
00:18:41  * mcavagequit (Remote host closed the connection)
00:19:17  * mcavagejoined
00:20:02  <trevnorris>isaacs: also, if you grab the latest it'll have test/simple/test-asynclistener-error-net.js, which technically does the same thing except it just listens for everything from the beginning.
00:23:30  * loladiroquit (Quit: loladiro)
00:24:11  * mcavagequit (Ping timeout: 272 seconds)
00:29:45  * amartensquit (Quit: Leaving.)
00:31:21  * piscisaureus_quit (Ping timeout: 268 seconds)
00:31:59  <MI6>node-review: #104 UNSTABLE osx-x64 (1/672) smartos-x64 (7/672) centos-x64 (1/672) windows-x64 (26/672) windows-ia32 (27/672) centos-ia32 (3/672) smartos-ia32 (7/672) http://jenkins.nodejs.org/job/node-review/104/
00:32:27  * zz_karupanerurachanged nick to karupanerura
00:32:38  <trevnorris>tjfontaine: so, this shouldn't be failing: http://jenkins.nodejs.org/job/node-review/DESTCPU=x64,label=windows/104/tapTestReport/test.tap-12/
00:33:06  <trevnorris>tjfontaine: see the child ondata message at the top. that's what the assertion checks for
00:33:21  <trevnorris>but for some reason it's failing.
00:34:15  <trevnorris>isaacs: ok. i'm of the opinion to merge this. it's exposing existing bugs in core or the like.
00:34:33  <isaacs>trevnorris: fair enoguh. land at will :)
00:34:44  <tjfontaine>heh
00:34:51  <trevnorris>isaacs: thanks.
00:35:01  <tjfontaine>dun dun dun
00:35:07  * mikealquit (Quit: Leaving.)
00:35:31  <trevnorris>isaacs: also, the above test. i'm doing an indexOf() check for the string that's being printed to the screen. I know it's there because I used _rawDebug, but indexOf is still returning -1 on windows.
00:35:55  <trevnorris>no idea how that could be failing being that I'm visually seeing the stupid string before checking it.
00:36:55  <MI6>joyent/node: Trevor Norris master * fe4fbc2 : doc: add docs for AsyncListeners (+8 more commits) - http://git.io/Z6pCiA
00:37:04  <isaacs>trevnorris: \o/
00:37:19  <tjfontaine>and on the 7th day, the lord rested
00:37:25  <trevnorris>whoot!!! thanks everyone
00:37:33  <trevnorris>heh, seriously. now, I have a party to get to. :)
00:37:34  <tjfontaine>thank you trevor, take a day off :P
00:37:44  * indexzeroquit (Quit: indexzero)
00:37:55  <trevnorris>and thanks isaacs, tjfontaine, groundwater_, othiym23 for helping me debug this sucker. been fun :P
00:38:27  <isaacs>trevnorris: have fun!
00:38:40  <trevnorris>isaacs: thanks :)
00:38:42  * trevnorris&
00:38:43  <LOUDBOT>WHAT DOES YOUR BOSS SMOKE AT WORK?
00:40:59  * paulfryzeljoined
00:41:06  <othiym23>sweeeeeeeeeeeeeet
00:41:10  <othiym23>\m/
00:41:20  <othiym23>congratulations for getting that landed, trevnorris
00:41:28  <othiym23>and thanks for doing it in the first place!
00:55:27  <MI6>nodejs-master-windows: #451 UNSTABLE windows-x64 (28/672) windows-ia32 (25/672) http://jenkins.nodejs.org/job/nodejs-master-windows/451/
00:56:30  <MI6>nodejs-master: #663 UNSTABLE smartos-ia32 (8/672) smartos-x64 (12/672) http://jenkins.nodejs.org/job/nodejs-master/663/
01:00:29  * amartensjoined
01:00:34  * dshaw_joined
01:02:52  * piscisaureus_joined
01:13:26  <robonerd>i'm looking for the equivalent of sqlite, for network. so sqlite is essentially a portable abstraction over fopen(). what lib is the portable abstraction over socket() stuff? is libuv that lib?
01:13:42  * inolenquit (Quit: Leaving.)
01:17:55  * dshaw_quit (Ping timeout: 272 seconds)
01:19:26  * dshaw_joined
01:21:54  * AvianFlujoined
01:24:14  * dshaw_quit (Ping timeout: 264 seconds)
01:29:53  * mcavagejoined
01:32:29  <robonerd>what does libuv name stand for?
01:34:52  * mcavagequit (Ping timeout: 268 seconds)
01:37:17  * abraxasjoined
01:54:09  * abraxasquit (Remote host closed the connection)
01:54:27  * abraxasjoined
02:02:51  * mikealjoined
02:07:21  * TooTallNatequit (Quit: Computer has gone to sleep.)
02:09:26  * inolenjoined
02:16:45  * kazuponjoined
02:20:17  * dshaw_joined
02:23:01  * kazuponquit (Remote host closed the connection)
02:23:28  * kazuponjoined
02:24:07  * dshaw_quit (Read error: Operation timed out)
02:28:31  * kazuponquit (Ping timeout: 268 seconds)
02:29:07  * AvianFluquit (Remote host closed the connection)
02:29:38  * AvianFlujoined
02:35:41  * loladirojoined
02:37:39  * mikealquit (Quit: Leaving.)
02:38:40  * mikealjoined
02:40:28  * mikealquit (Client Quit)
02:44:03  * mikealjoined
02:59:43  * brsonquit (Ping timeout: 245 seconds)
02:59:47  * mikealquit (Quit: Leaving.)
03:01:35  * mikealjoined
03:01:46  * brsonjoined
03:04:36  * defunctzombie_zzchanged nick to defunctzombie
03:21:15  * dshaw_joined
03:21:54  * brsonquit (Quit: leaving)
03:24:30  * mikealquit (Quit: Leaving.)
03:25:51  * dshaw_quit (Ping timeout: 272 seconds)
03:35:58  <groundwater_>trevnorris: hoorrayyyy!
03:36:00  <groundwater_>well done sir
03:36:46  * mikealjoined
03:38:20  * jcrugzzjoined
04:00:01  * kazuponjoined
04:00:04  * kazuponquit (Remote host closed the connection)
04:00:10  * kazuponjoined
04:03:21  * kazuponquit (Read error: Connection reset by peer)
04:03:41  * kazuponjoined
04:10:01  * wolfeida_joined
04:10:28  * jcrugzz_joined
04:12:44  * jcrugzzquit (Ping timeout: 268 seconds)
04:17:58  * kazuponquit (Remote host closed the connection)
04:18:27  * kazuponjoined
04:22:11  * kazuponquit (Read error: Connection reset by peer)
04:22:13  * dshaw_joined
04:22:14  * kazupon_joined
04:26:27  * abraxasquit (Remote host closed the connection)
04:26:40  * dshaw_quit (Ping timeout: 260 seconds)
04:29:47  * abraxasjoined
04:30:15  * jcrugzz_changed nick to jcrugzz
04:33:10  * kazupon_quit (Remote host closed the connection)
04:33:36  * kazuponjoined
04:37:57  * kazuponquit (Ping timeout: 246 seconds)
04:39:33  * wwicksquit (Ping timeout: 252 seconds)
04:40:52  * wwicksjoined
04:45:38  * kazuponjoined
04:49:22  * paulfryzelquit (Remote host closed the connection)
04:50:48  * bradleymeckjoined
05:01:20  * abraxasquit (Remote host closed the connection)
05:05:06  * avalanche123joined
05:05:19  * avalanche123quit (Client Quit)
05:17:12  * wolfeida_quit (Remote host closed the connection)
05:17:39  * wolfeida_joined
05:17:57  * kazuponquit (Remote host closed the connection)
05:18:16  * kazuponjoined
05:22:05  * wolfeida_quit (Ping timeout: 245 seconds)
05:22:41  * dshaw_joined
05:22:56  * bradleymeckquit (Quit: bradleymeck)
05:26:57  * dshaw_quit (Ping timeout: 246 seconds)
05:37:23  * wolfeida_joined
05:42:42  * wwicksquit (Quit: wwicks)
05:44:41  * loladiroquit (Quit: loladiro)
05:50:39  * paulfryzeljoined
05:54:58  * abraxasjoined
05:55:43  * paulfryzelquit (Ping timeout: 268 seconds)
05:56:37  * defunctzombiechanged nick to defunctzombie_zz
06:01:49  * amartensquit (Quit: Leaving.)
06:03:17  * wolfeida_quit (Remote host closed the connection)
06:03:43  * wolfeida_joined
06:07:55  * wolfeida_quit (Ping timeout: 245 seconds)
06:23:21  * dshaw_joined
06:28:24  * dshaw_quit (Ping timeout: 268 seconds)
06:40:51  <MI6>nodejs-v0.10-windows: #299 UNSTABLE windows-ia32 (9/603) windows-x64 (11/603) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/299/
06:42:15  * paulfryzeljoined
06:46:36  * paulfryzelquit (Ping timeout: 252 seconds)
07:05:46  * AvianFluquit (Remote host closed the connection)
07:06:16  * AvianFlujoined
07:10:33  * AvianFluquit (Ping timeout: 246 seconds)
07:18:16  * abraxasquit (Remote host closed the connection)
07:23:59  * dshaw_joined
07:29:03  * dshaw_quit (Ping timeout: 272 seconds)
07:31:07  * amartensjoined
07:35:33  * amartensquit (Ping timeout: 252 seconds)
07:42:59  * paulfryzeljoined
07:48:03  * paulfryzelquit (Ping timeout: 272 seconds)
07:51:49  * hzjoined
07:53:11  * rendarjoined
08:04:06  * paddybyersquit (Quit: paddybyers)
08:05:18  * abraxasjoined
08:07:12  * paddybyersjoined
08:25:17  * Kakera_joined
08:32:00  * amartensjoined
08:32:03  * bajtosjoined
08:36:41  * amartensquit (Ping timeout: 265 seconds)
08:36:45  <piscisaureus_>ircretary: tell bnoordhuis Ping me when you are online
08:36:46  <ircretary>piscisaureus_: I'll be sure to tell bnoordhuis
08:43:48  * paulfryzeljoined
08:48:27  * paulfryzelquit (Ping timeout: 260 seconds)
08:50:58  * LeftWing__joined
08:53:47  * tjfontai1ejoined
08:54:06  <mmalecki>piscisaureus_: hey! beer tonight?
08:58:22  * bnoordhuisjoined
08:58:34  * niskaquit (*.net *.split)
08:58:35  * LeftWingquit (*.net *.split)
08:58:35  * tjfontainequit (*.net *.split)
08:58:35  * nsmquit (*.net *.split)
08:58:35  * othiym23quit (*.net *.split)
08:58:44  * niskajoined
09:00:10  * nsmjoined
09:06:35  * othiym23joined
09:16:49  * inolenquit (Quit: Leaving.)
09:25:30  * dshaw_joined
09:26:19  * jcrugzzquit (Ping timeout: 272 seconds)
09:28:08  * inolenjoined
09:28:39  * bajtosquit (Quit: bajtos)
09:30:39  * dshaw_quit (Ping timeout: 272 seconds)
09:33:26  <piscisaureus_>hey bnoordhuis
09:33:42  <piscisaureus_>mmalecki: maybe. are you in 020 now?
09:34:04  * amartensjoined
09:34:10  <piscisaureus_>mmalecki: btw where are you living?
09:35:01  <mmalecki>piscisaureus_: Spuistraat. yeah, I'm in 020 now
09:35:15  <piscisaureus_>mmalecki: spuistraat? hah, that's not too far :)
09:35:25  <mmalecki>piscisaureus_: leaving on 2nd (tomorrow) for 10 days, then actually moving here
09:35:29  <mmalecki>piscisaureus_: yeah
09:35:37  <mmalecki>piscisaureus_: bnoordhuis wanted to meet in Utrecht
09:35:44  <piscisaureus_>meh.
09:36:28  <mmalecki>heh
09:36:35  <mmalecki>what time works for you today piscisaureus_?
09:36:53  <mmalecki>I can see Utrecht being better if there are more bars there :)
09:37:00  <piscisaureus_>mmalecki: not sure yet, but probably anything after 5
09:38:56  <mmalecki>that's great
09:38:57  * amartensquit (Ping timeout: 268 seconds)
09:39:07  <piscisaureus_>mmalecki: hah, lol
09:39:12  <piscisaureus_>mmalecki: say hi from me to Ramon
09:39:17  <piscisaureus_>mmalecki: I think I went to college with him
09:40:49  * inolenquit (Quit: Leaving.)
09:41:28  <mmalecki>piscisaureus_: he says 'hi' too :)
09:44:33  * paulfryzeljoined
09:45:49  * paulfryzelquit (Read error: No route to host)
09:46:11  * paulfryzeljoined
09:48:13  <piscisaureus_>mmalecki: where's your office btw? also @ spuistraat?
09:51:14  * paulfryzelquit (Ping timeout: 264 seconds)
09:51:36  <mmalecki>isaacs: i't on the corner of Elandsgracht and Marnixstraat
09:51:39  <mmalecki>er
09:51:41  <mmalecki>piscisaureus_: ^
09:51:48  <mmalecki>isaacs: sorry, mis-tab :)
09:52:17  <piscisaureus_>mmalecki: ok - let's meet up tonight
09:52:40  <piscisaureus_>mmalecki: I'll ping you later, have to talk shop with bennetje first
09:52:51  <mmalecki>piscisaureus_: sure
09:52:53  * jcrugzzjoined
09:53:02  <mmalecki>piscisaureus_: you have my phone number in case I'm not here?
09:53:34  <piscisaureus_>mmalecki: xxx 8098 ?
09:53:43  <mmalecki>piscisaureus_: correct
09:53:59  <piscisaureus_>mmalecki: you have mine too?
09:54:36  <mmalecki>piscisaureus_: yeah, ...1064?
09:54:55  <piscisaureus_>mmalecki: correct. great! can't go wrong :)
09:55:35  <mmalecki>awesome, see you tonight then :)
09:56:33  * kazuponquit (Remote host closed the connection)
09:57:01  * kazuponjoined
09:57:59  * Kakera_quit (Ping timeout: 272 seconds)
09:59:37  * hzquit (Disconnected by services)
09:59:41  * hzjoined
10:01:21  * jcrugzzquit (Ping timeout: 246 seconds)
10:01:47  * kazuponquit (Ping timeout: 260 seconds)
10:02:50  <bnoordhuis>piscisaureus_: ping
10:04:13  <piscisaureus_>bnoordhuis: pong
10:04:28  <piscisaureus_>bnoordhuis: skype? telefoon?
10:05:00  <bnoordhuis>piscisaureus_: i have to switch machines for a working skype so phone?
10:05:09  <piscisaureus_>bnoordhuis: sure. landline?
10:05:18  <piscisaureus_>bnoordhuis: or do you have a cell that I can call?
10:05:31  <bnoordhuis>yeah, but it's upstairs somewhere
10:05:36  <bnoordhuis>landline is easier
10:05:42  <bnoordhuis>then i don't even hav to get up from the couch
10:05:53  <piscisaureus_>bnoordhuis: ok, sec. My phone is actually booting...
10:06:01  * bajtosjoined
10:07:51  <mmalecki>http://xkcd.com/1254/
10:22:41  * bnoordhuisquit (Ping timeout: 272 seconds)
10:22:53  * wolfeida_joined
10:23:45  * bnoordhuisjoined
10:26:09  * dshaw_joined
10:27:35  * wolfeida_quit (Client Quit)
10:28:51  * wolfeida_joined
10:30:38  * dshaw_quit (Ping timeout: 240 seconds)
10:35:12  * amartensjoined
10:39:50  * amartensquit (Ping timeout: 264 seconds)
10:46:57  * paulfryzeljoined
10:49:48  * bnoordhuisquit (Ping timeout: 260 seconds)
10:49:51  <MI6>nodejs-v0.10: #1575 UNSTABLE smartos-x64 (6/603) smartos-ia32 (5/603) http://jenkins.nodejs.org/job/nodejs-v0.10/1575/
10:51:49  * paulfryzelquit (Ping timeout: 272 seconds)
11:11:35  * bajtosquit (Quit: bajtos)
11:11:57  * kazuponjoined
11:12:13  * mraleph1joined
11:12:47  * mralephquit (Read error: Connection reset by peer)
11:26:56  * dshaw_joined
11:27:46  * bnoordhuisjoined
11:31:43  * dshaw_quit (Ping timeout: 272 seconds)
11:33:40  * karupanerurachanged nick to zz_karupanerura
11:34:47  * abraxasquit (Remote host closed the connection)
11:36:13  * amartensjoined
11:40:41  * amartensquit (Ping timeout: 261 seconds)
11:47:57  * paulfryzeljoined
11:52:14  * paulfryzelquit (Ping timeout: 240 seconds)
11:55:17  * kazuponquit (Remote host closed the connection)
12:27:42  * dshaw_joined
12:28:16  * Kakera_joined
12:32:33  * dshaw_quit (Ping timeout: 265 seconds)
12:34:52  * kevinswiberjoined
12:38:51  * bnoordhuisquit (Ping timeout: 272 seconds)
12:39:25  * bajtosjoined
12:43:30  * bajtosquit (Client Quit)
12:48:31  * paulfryzeljoined
12:49:16  <piscisaureus_>http://www.techempower.com/benchmarks/#section=data-r7&hw=i7&test=plaintext
12:49:19  <piscisaureus_>^-- work to do
12:50:12  * bajtosjoined
12:51:21  <piscisaureus_>no cluster benchmarks though...
12:52:44  <piscisaureus_>oh wait cluster is on
12:53:41  * paulfryzelquit (Ping timeout: 272 seconds)
13:02:39  * bnoordhuisjoined
13:06:48  * kazuponjoined
13:11:03  * loladirojoined
13:11:03  * kazuponquit (Ping timeout: 246 seconds)
13:16:48  * bajtosquit (Quit: bajtos)
13:22:15  * jcrugzzjoined
13:27:16  * bajtosjoined
13:27:39  * jcrugzzquit (Ping timeout: 265 seconds)
13:28:34  * dshaw_joined
13:32:56  * dshaw_quit (Ping timeout: 240 seconds)
13:35:27  * abraxasjoined
13:40:14  * abraxasquit (Ping timeout: 240 seconds)
13:45:59  * bnoordhuisquit (Ping timeout: 272 seconds)
13:47:42  * paulfryzeljoined
13:49:03  * bnoordhuisjoined
13:49:14  <bnoordhuis>mmalecki: utrecht tonight, right?
14:08:45  * defunctzombie_zzchanged nick to defunctzombie
14:11:14  * loladiroquit (Quit: loladiro)
14:15:41  * pachetjoined
14:23:29  <mmalecki>bnoordhuis: yes, is piscisaureus_ coming?
14:23:37  <bnoordhuis>mmalecki: yep
14:24:00  <mmalecki>bnoordhuis: great. you wanna grab a dinner?
14:24:22  <bnoordhuis>mmalecki: yeah, i guess we can do that. what time did you have in mind?
14:24:29  * bajtosquit (Quit: bajtos)
14:24:44  <mmalecki>bnoordhuis: let me check trains
14:24:55  <bnoordhuis>piscisaureus_: ^
14:25:16  <mmalecki>bnoordhuis: Utrecht Centraal?
14:25:22  <bnoordhuis>mmalecki: yep
14:25:39  <piscisaureus_>bnoordhuis: what time do you have in mind?
14:25:54  <bnoordhuis>piscisaureus_: we were busy deciding on that. you get a vote :)
14:26:07  <mmalecki>does the 18:53 train work for you piscisaureus_?
14:26:12  <piscisaureus_>ssure
14:26:29  <mmalecki>we'd be there at 19:20 bnoordhuis
14:26:37  <bnoordhuis>okay, duly noted
14:26:43  <bnoordhuis>i'll be there around the same time
14:26:48  <bnoordhuis>bert's got my number
14:27:05  <mmalecki>we should meet somewhere before piscisaureus_, I have no idea how to use trains in .nl
14:27:23  <bnoordhuis>mmalecki: they have these doors that you use to get into
14:27:25  <piscisaureus_>mmalecki: sure. Do you have an ov chipkaart yet?
14:27:36  <bnoordhuis>once you're at your destination, you use those same doors to get off
14:27:42  <bnoordhuis>it's easy, really
14:27:43  <piscisaureus_>mmalecki: do you know how to make it to the station?
14:28:02  <mmalecki>piscisaureus_: yes
14:28:28  <mmalecki>17 goes from front of the office to Centraal
14:28:51  <piscisaureus_>mmalecki: if you have an ov chipkaart make sure there's some money on it. You can use it on the train too
14:29:16  <mmalecki>piscisaureus_: I don't have one. where do I get it?
14:29:19  * dshaw_joined
14:29:32  <piscisaureus_>mmalecki: how do you ride trams then?
14:29:39  * kenperkinsquit (Quit: Computer has gone to sleep.)
14:29:44  <mmalecki>piscisaureus_: I buy hourly tickets
14:29:53  <mmalecki>piscisaureus_: well, I only took a tram once
14:30:00  <piscisaureus_>mmalecki: ah :)
14:30:06  <piscisaureus_>mmalecki: we can buy paper tickets for you too
14:30:17  <piscisaureus_>mmalecki: I think the most convenient place to get one is at the station actually
14:30:46  <mmalecki>that'd work. if I can get the OV Chipkaart there that'd be great too
14:31:00  * kenperkinsjoined
14:32:17  <piscisaureus_>mmalecki: ok. Let's meet at 19:40 at CS. I'll wait for you outside near where tram 17 stops
14:32:42  <mmalecki>piscisaureus_: you mean 18:40?
14:32:48  <piscisaureus_>mmalecki: ah - yes
14:32:58  <mmalecki>piscisaureus_: unless you prefer to go later
14:33:11  <piscisaureus_>mmalecki: nono this is ok
14:33:50  * dshaw_quit (Ping timeout: 264 seconds)
14:34:08  <mmalecki>piscisaureus_: okay, 18:40 in front of 17 tram stop then :-)
14:34:25  <piscisaureus_>mmalecki: yup. and you have my number :)
14:34:51  <mmalecki>piscisaureus_: correct, see ya!
14:35:10  * AvianFlujoined
14:43:57  <bnoordhuis>$ out/Release/node benchmark/http/simple.js type=bytes length=4 c=10
14:43:57  <bnoordhuis>http/simple.js type=bytes length=4 chunks=0 c=10: 15734
14:43:57  <bnoordhuis>http/simple.js type=bytes length=4 chunks=1 c=10: 15687
14:43:58  <bnoordhuis>http/simple.js type=bytes length=4 chunks=4 c=10: 200.15
14:44:00  <bnoordhuis>^ what the...?
14:46:08  <MI6>joyent/node: Ben Noordhuis master * df35371 : benchmark: add http chunked encoding benchmarks - http://git.io/aIa7SA
14:50:28  * inolenjoined
14:51:30  * bajtosjoined
14:51:33  * bajtosquit (Client Quit)
14:51:36  * bnoordhu1sjoined
14:51:40  <bnoordhuis>inolen: are you involved with emscripten?
14:53:01  <inolen>bnoordhuis: i was committing a lot over the summer before starting a new job
14:53:24  <bnoordhuis>okay, nice
14:53:45  * AvianFluquit (Remote host closed the connection)
14:53:48  <inolen>whats up? I saw your pr the other day and wondered what you were doing
14:54:06  <bnoordhuis>oh, nothing special. just trying out some things
14:54:14  * AvianFlujoined
14:54:26  <bnoordhuis>i was curious if compiling http_parser to js would help avoid the js->c++->js overhead
14:54:55  <bnoordhuis>didn't really get around to actually doing meaningful benchmarks though :)
14:55:21  <inolen>ah. emscripten is a bit difficult to use for module work with its internal heap
14:56:03  * bnoordhu1squit (Ping timeout: 246 seconds)
14:57:35  <inolen>it'd probably involve just as much data marshaling to work I'd imagine
14:57:48  * mcavagejoined
14:59:05  * AvianFluquit (Ping timeout: 272 seconds)
14:59:26  <bnoordhuis>yes, probably. i didn't really get that to that part yet :)
14:59:37  <MI6>nodejs-master: #664 UNSTABLE osx-x64 (1/672) smartos-ia32 (5/672) smartos-x64 (8/672) http://jenkins.nodejs.org/job/nodejs-master/664/
14:59:52  <bnoordhuis>i guess we could mitigate marshalling overhead by creating buffers from the typed array that backs emscripten's heap
15:03:21  * jmar777joined
15:05:20  <MI6>nodejs-master-windows: #452 UNSTABLE windows-x64 (26/672) windows-ia32 (24/672) http://jenkins.nodejs.org/job/nodejs-master-windows/452/
15:12:23  <bnoordhuis>24047 95.5% 95.7% syscall <- ai
15:12:59  <bnoordhuis>i hypothesize that node's not feeding libuv data quickly enough
15:13:24  <indutny>hey people
15:13:28  <bnoordhuis>hey fedor
15:13:29  <indutny>how are you?
15:13:39  <bnoordhuis>all of us or me in particular?
15:13:50  <indutny>well, all of you including yourself
15:13:51  <indutny>:P
15:13:57  <bnoordhuis>i think we average out
15:14:05  <bnoordhuis>so not great but not bad either
15:14:10  <bnoordhuis>how about you, fedor?
15:14:20  <indutny>oh, just finished tons of paperwork
15:14:27  * bradleymeckjoined
15:14:29  <indutny>receiving money is damn hard in russia
15:14:50  <indutny>I need to prove that I'm not doing laundering
15:14:51  <bnoordhuis>i heard it depends on whether you're good friends with mr. putin
15:14:56  <indutny>nah
15:15:06  <indutny>good friends already have enough money :P
15:15:10  <bnoordhuis>hah
15:15:25  <indutny>and yeah
15:15:39  <indutny>one of my friends told me that I can use their bank
15:15:44  <indutny>to receive money without paying taxes
15:15:48  <indutny>I declined immediately
15:16:03  <indutny>who knows what they'll ask me after that
15:17:20  <bnoordhuis>right. slippery slope
15:18:13  <bnoordhuis>if you're going to avoid taxes, better make sure you don't have accomplices
15:18:30  <bnoordhuis>or bury the bodies afterwards, whatever works best
15:19:11  <indutny>haha
15:19:19  <indutny>I don't want to avoid them
15:19:26  <indutny>but its really hard to pay them
15:19:34  <indutny>because they'll ask me how and where I've received money
15:19:40  <indutny>I'll need to give them a lot of papers
15:19:46  <indutny>and prove that I've really received that money
15:20:27  <MI6>nodejs-master: #665 UNSTABLE smartos-ia32 (7/672) smartos-x64 (7/672) linux-ia32 (1/672) http://jenkins.nodejs.org/job/nodejs-master/665/
15:21:40  <indutny>ok, time to write some tests
15:22:00  <indutny>lets start with fsevents error reporting
15:28:05  * loladirojoined
15:29:55  <bnoordhuis>loladiro: ping
15:30:04  * dshaw_joined
15:30:07  <loladiro>bnoordhuis: pong
15:30:32  <bnoordhuis>loladiro: question: you guys currently are on a fork of libuv, right?
15:30:36  <loladiro>yes
15:30:59  <bnoordhuis>why and what would it take to move you over to an upstream release? :)
15:32:58  <loladiro>We essentially maintain https://github.com/joyent/libuv/pull/451 on top of upstream
15:33:15  <piscisaureus_>the part where I failed
15:34:12  * dshaw_quit (Ping timeout: 246 seconds)
15:34:23  <bnoordhuis>not the only part, if your ex is anything to go by
15:34:48  <bnoordhuis>loladiro: what does it do and what would it take to get upstreamed?
15:35:02  * octetcloudjoined
15:35:12  <bnoordhuis>i want to bring back balance to the force and get everyone on a non-forked version of libuv
15:35:25  <piscisaureus_>good
15:35:42  <piscisaureus_>bnoordhuis: #451 are sensible but very ugly apis
15:35:55  <piscisaureus_>bnoordhuis: namely uv_pipe_link and uv_pipe_close_sync
15:36:17  <piscisaureus_>bnoordhuis: what they want is spawn two processes and tie one's stdin to the other's stdout
15:36:26  <bnoordhuis>uv_pipe_link makes something like the windows equiv of a socketpair?
15:36:40  <piscisaureus_>bnoordhuis: ... and there's no way to di it in libuv
15:36:44  <piscisaureus_>bnoordhuis: no.
15:36:51  * abraxasjoined
15:36:57  <piscisaureus_>bnoordhuis: it establishes a link between two pipe ends
15:37:20  <loladiro>bnoordhuis: We would very much like to upstream everything
15:37:32  <bnoordhuis>piscisaureus_: what's problematic about that?
15:37:58  <piscisaureus_>bnoordhuis: well in libuv how would you do 'ls | rev`
15:38:15  <loladiro>Other that that PR, I mentioned, there's a couple minor changes such as https://github.com/JuliaLang/libuv/blob/julia-uv0.10.13/include/uv.h#L1457-L1460
15:38:25  <piscisaureus_>bnoordhuis: or do you mean, what's problematic about the api?
15:38:32  <bnoordhuis>piscisaureus_: yes and yes
15:38:54  <bnoordhuis>i can think of a few ways to implement automatic pipe, er, piping
15:39:26  <piscisaureus_>bnoordhuis: well so what they do is not do any piping at all in libuv
15:39:51  <bnoordhuis>loladiro: no conceptual objections to UV_PROCESS_RESET_SIGPIPE from me (maybe implementation-wise, haven't looked at that yet)
15:40:14  <piscisaureus_>bnoordhuis: but uv_pipe_link is okay, but uv_pipe_close_sync not so much...
15:40:29  <bnoordhuis>because... hard to implement on windows?
15:40:39  <isaacs>bnoordhuis, piscisaureus_: We wanted automatic piping for that stdio:['pipe','&2','pipe'] idea in node, too, right?
15:40:42  <piscisaureus_>bnoordhuis: no. just because ugly :)
15:40:43  <isaacs>or is this unrelated?
15:40:57  <piscisaureus_>isaacs: yes but that's different
15:41:00  <isaacs>(i guess, this is passing one process's stdio to another, not tying the two stdios together)
15:41:03  <isaacs>right
15:41:09  * isaacsstill pre-coffee, just jumping in :)
15:41:31  <piscisaureus_>bnoordhuis: but honestly I couldn't come up with a better API idea despite several attempts
15:41:31  * abraxasquit (Ping timeout: 272 seconds)
15:41:39  <piscisaureus_>bnoordhuis: so for all I care we just land loladiro's patch
15:41:54  <loladiro>We, do both (Tying stdios together and piping)
15:42:22  * dshaw_joined
15:42:42  <bnoordhuis>for the record, uv_pipe_close_sync() does what it says, right? close the pipe *now*?
15:42:55  <piscisaureus_>yes
15:42:57  <piscisaureus_>no callback
15:43:00  <bnoordhuis>okay
15:43:01  <piscisaureus_>only works sometimes
15:43:07  <piscisaureus_>not when the pipe is active
15:43:28  <bnoordhuis>right... so it fails some of the time?
15:43:45  <piscisaureus_>it fails when the pipe is active
15:43:52  <piscisaureus_>read write connect accept
15:44:01  <piscisaureus_>shutdown
15:44:16  <bnoordhuis>loladiro: what's the motivation/rationale for that function?
15:45:06  * jcrugzzjoined
15:45:08  * mikealquit (Quit: Leaving.)
15:45:12  <loladiro>Passing a pipe end to a process. Basically what we do is, uv_pipe_link with two uv_pipe_t*'s, pass one to uv_spawn which we then close_sync and use the other one for reading/writing
15:45:50  <loladiro>This is what piscisaureus_ and I came up with way back when. Originally we had packed everything into spawn itself
15:46:24  <bnoordhuis>okay
15:46:35  <bnoordhuis>guess i need some time to digest that :)
15:46:40  * dshaw_quit (Ping timeout: 240 seconds)
15:46:48  <bnoordhuis>i'm meeting up with piscisaureus_ tonight, i'll talk it through with him
15:47:10  <bnoordhuis>it doesn't seem objectionable to me though i don't quite see why you need a separate close function for that
15:47:13  <piscisaureus_>bnoordhuis: just think about how to run `ls | tee` using the libuv api
15:47:20  <trevnorris>morning
15:47:27  <piscisaureus_>bnoordhuis: so between ls's stdout and tee's stdin there is a pipe
15:47:30  <bnoordhuis>if you had a 'take ownership of this pipe' flag, that would also work, right?
15:48:02  <trevnorris>piscisaureus_: so, now that 6011 has landed, I've started on the other two requirements you had.
15:48:06  <piscisaureus_>bnoordhuis: or some other solution
15:48:13  <piscisaureus_>trevnorris: woop woop!
15:48:17  <trevnorris>:)
15:48:53  <piscisaureus_>trevnorris: isFinal is the most important!
15:49:11  <trevnorris>piscisaureus_: ok.
15:49:22  <loladiro>bnoordhuis: Yes, a "take ownership to this pipe" flag that is essentially equivalent to doing close_sync afterwards would work as long as uv_pipe_link is still there.
15:49:32  <piscisaureus_>trevnorris: oh well unless with the other one you mean shuffle AsyncWrap and WeakObject
15:49:57  <piscisaureus_>trevnorris: but the callback return value not super so much although it'd still be nice
15:49:57  <bnoordhuis>loladiro: noted. let me get back on this after i've chatted with bert :)
15:50:21  <loladiro>I'll be on IRC so feel free to ping me at any time
15:50:27  <trevnorris>piscisaureus_: I have another solution for that. also, your help identifying what methods don't require MakeCallback are much appreciated.
15:51:11  <bnoordhuis>loladiro: cool, will do
15:51:47  * AvianFlujoined
15:52:31  <piscisaureus_>ok I'm putting my perfume on
15:52:39  <trevnorris>piscisaureus_: also, if you have a plan how to make some classes have deterministic ends, that would be appreciated.
15:53:20  <piscisaureus_>trevnorris: yeah let me think about that. I think that's only for FSEventWrap and ZCTx right?
15:53:43  <trevnorris>piscisaureus_: that's what you had mentioned. though I haven't taken a look into it yet.
15:56:25  <piscisaureus_>trevnorris: according to isaacs, ZCtx should already have a deterministic end. Let me try to find it
15:56:28  * mikealjoined
15:57:00  <piscisaureus_>trevnorris: as for FSEventWrap, I'm not completely sure but I think it has something to do with the user being able to .stop() and .start() a watcher
15:57:36  <trevnorris>piscisaureus_: yeah. I noticed that while scanning the source.
15:57:36  <piscisaureus_>trevnorris: we could treat a .start() as a 'listener' event and a .stop() as an empty final callback
15:57:39  <piscisaureus_>or something
15:58:16  <piscisaureus_>trevnorris: It'll be possible to work around that
15:58:32  <trevnorris>sounds good
15:59:02  <trevnorris>right now i'm trying to remember how to configure nvidia to autodetect multiple monitors :P
16:03:02  * jcrugzzquit (Read error: Connection reset by peer)
16:05:58  <piscisaureus_>trevnorris: use the russian method http://www.youtube.com/watch?v=OIh78GiTqrE
16:06:14  * piscisaureus_rolls eyes in a mraleph kind of way
16:10:54  * jmar777quit (Remote host closed the connection)
16:11:31  * jmar777joined
16:13:37  * jxsquit (Quit: bye)
16:13:44  * dap_joined
16:15:51  * jmar777quit (Ping timeout: 245 seconds)
16:16:11  <indutny>bnoordhuis: FSEvents are really fucked
16:18:13  <indutny>piscisaureus_: this works
16:18:22  <indutny>piscisaureus_: you can't even imagine how often it works
16:18:49  * LeftWing__changed nick to LeftWing
16:22:58  <indutny>piscisaureus_: http://std3.ru/d0/8b/1382523260-d08ba31abf2703bb89f7c513ebe30d5f.png
16:27:09  * bajtosjoined
16:27:53  * kazuponjoined
16:30:21  * st_lukejoined
16:32:22  <indutny>bnoordhuis: yt?
16:32:29  <bnoordhuis>indutny: ih
16:32:42  <indutny>bnoordhuis: may I ask you to take a look at https://github.com/joyent/libuv/pull/980/files
16:32:48  <bnoordhuis>you may
16:32:48  <indutny>bnoordhuis: I've written sane test for fsevents
16:32:52  <indutny>bnoordhuis: please do
16:32:57  <bnoordhuis>okay :)
16:33:10  <indutny>bnoordhuis: that's not about error reporting yet
16:33:24  <indutny>bnoordhuis: I'll open PR for a bit later
16:33:39  <bnoordhuis>indutny: to be sure, you tested this deeply, right? looked it over for bugs, style issues, etc?
16:34:20  <indutny>bnoordhuis: I think so
16:34:21  <indutny>:)
16:34:30  <indutny>bnoordhuis: well, there could be some style improvements
16:34:32  <indutny>one sec
16:34:35  <bnoordhuis>okay. if not, there's the 24 hour review window
16:34:59  <bnoordhuis>which, because it's friday, is probably more going to be like 96 hours
16:35:19  <indutny>one sec
16:36:57  * mikealquit (Quit: Leaving.)
16:37:15  * kenperkinsquit (Quit: Computer has gone to sleep.)
16:37:54  <indutny>bnoordhuis: hm.. is UV_MODIFY ever called from non-fsevents backend?
16:38:04  <indutny>err
16:38:05  <indutny>UV_CHANGE
16:38:16  <indutny>seems like yes
16:38:26  <bnoordhuis>yes :)
16:38:28  * kenperkinsjoined
16:39:06  <rendar>indutny, non-fsevent backend? you mean kqueue?
16:39:12  <indutny>inotify
16:39:14  <indutny>and others
16:39:17  <rendar>oh i see
16:42:24  * tjfontai1echanged nick to tjfontaine
16:42:28  * tjfontainequit (Changing host)
16:42:28  * tjfontainejoined
16:43:07  <indutny>bnoordhuis: one more minute, please :P
16:44:28  * jmar777joined
16:47:35  <indutny>bnoordhuis: ok, I'm done
16:47:52  <indutny>it seems that FSEvents is really borked at sending correct events :P
16:48:02  <indutny>bnoordhuis: it seems that it sets file status
16:48:09  <indutny>and resets it once a 30 seconds or so
16:48:11  <indutny>so
16:48:21  <indutny>if file was created, changed and removed in 30 sec
16:48:25  <indutny>and then created again
16:48:32  <indutny>you'll receive all events together
16:48:38  <indutny>even if they were happening every 2 seconds
16:48:56  <indutny>bnoordhuis: so, I better not rely on UV_CHANGE event
16:48:58  <indutny>in test
16:49:07  <bnoordhuis>ah. sounds complicated
16:49:19  <indutny>yyyyyyes
16:49:30  <bnoordhuis>you realize it's friday, right? i've already turned off all higher-level brain functions
16:49:48  <bnoordhuis>this is basically the lizard brain in me replying
16:49:54  <bnoordhuis>maybe the early proto-mammal
16:49:58  * loladiroquit (Quit: loladiro)
16:51:09  <indutny>bnoordhuis: anyway
16:51:14  <indutny>bnoordhuis: what do you think about PR?
16:51:24  <indutny>defer flag will make more realtime
16:51:35  <indutny>and most importantly make tests work properly :P
16:52:33  <bnoordhuis>looking
16:53:46  * inolenquit (Quit: Leaving.)
16:54:57  * amartensjoined
17:00:39  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
17:06:25  * TooTallNatejoined
17:07:21  * piscisaureus_joined
17:07:25  <indutny>bnoordhuis: btw
17:07:28  <piscisaureus_>bnoordhuis: 19:15 ok
17:07:28  <indutny>always wanted to ask you
17:07:29  <piscisaureus_>?
17:07:34  <indutny>is Pieter Noordhuis your relative?
17:07:34  <piscisaureus_>will you...
17:08:32  * bradleymeckquit (Quit: bradleymeck)
17:08:41  <rendar>oh that redis developer?
17:08:43  <bnoordhuis>piscisaureus_: yeah, i can make that work
17:09:06  <mmalecki>piscisaureus_: I'm leaving office in ~10 minutes
17:09:10  <bnoordhuis>indutny: not related to the best of my knowledge. he looks a bit like me though so maybe a distant branch of the noordhuis clan
17:09:25  <bnoordhuis>indutny: i'm the better looking one though
17:09:42  <indutny>no doubts
17:09:46  <indutny>though, I don't care much
17:10:09  * dshaw_joined
17:10:13  <bnoordhuis>you say that now
17:10:56  <indutny>yahoo invited me to join them
17:11:04  <indutny>seems like they finally learned to use email
17:11:10  <mmalecki>run Fedor, run!
17:11:15  <indutny>because they were spamming only my linkedin account before
17:11:17  <indutny>mmalecki: why?
17:11:26  <indutny>voxer is cool, yahoo is big and ... strange?
17:11:26  <mmalecki>seriously tho, congrats :)
17:11:45  <indutny>mmalecki: you know, I might have been working in google
17:11:49  <indutny>now
17:11:59  <indutny>but I don't think it is the way I want it to be
17:12:36  <indutny>bnoordhuis: what do you think about https://gist.github.com/indutny/062b7d111a961b902af8
17:12:40  <indutny>bnoordhuis: this is for node v0.8
17:12:59  <bnoordhuis>indutny: 'invited' means offered you a job?
17:13:05  <indutny>bnoordhuis: yes
17:13:08  <piscisaureus_>Pieter always denies it
17:13:13  <indutny>piscisaureus_: haha
17:13:13  <bnoordhuis>right. congrats
17:13:27  <indutny>erm, I'm not going there
17:13:44  <bnoordhuis>that was a 'congrats that they offered you a job' :)
17:13:47  <indutny>ah
17:13:49  <indutny>ok :P
17:13:53  <bnoordhuis>i'm not sure what yahoo is like
17:14:03  <bnoordhuis>the few ex-yahoos i know are not wildly positive
17:14:18  <bnoordhuis>but neither are they 100% unbiased, i don't think
17:14:52  <piscisaureus_>libev encountered nearly fatal error
17:14:59  <piscisaureus_>"nearly fatal" ?
17:15:13  <bnoordhuis>is that like "almost pregnant"?
17:15:19  <rendar>aahah
17:15:25  <rendar>unbeliveable
17:15:36  <rendar>that schmorp guy is the funniest
17:15:50  <indutny>piscisaureus_: yes it is
17:15:56  <bnoordhuis>rendar: are you saying a german has a sense of humor?
17:16:10  <indutny>oh
17:16:13  <indutny>I've a quiz for you
17:16:29  <bnoordhuis>"what's the thinnest and smallest book in the world?"
17:16:32  <indutny>Austrian painter who was drive to suicide by Stalin
17:16:33  <rendar>bnoordhuis, ahah
17:16:34  <bnoordhuis>i know the answer to that one
17:16:37  <indutny>6 letters
17:16:45  <bnoordhuis>"three centuries of collected german jokes"
17:16:47  <indutny>s/drive/driven/
17:17:25  * loladirojoined
17:17:50  <indutny>bnoordhuis: are you done with fsevents?
17:17:54  <bnoordhuis>nothing like a little german bashing to start the weekend :)
17:18:05  * AvianFluquit (Remote host closed the connection)
17:18:07  <bnoordhuis>i kid though, i love the germans; they make great cars
17:18:19  <indutny>yeah
17:18:22  <indutny>I've volkswagen
17:18:22  <piscisaureus_>the list of nationalities that, according to bnoordhuis, have a natural sense of humor
17:18:34  <indutny>piscisaureus_: the most funniest list in the world
17:19:02  <bnoordhuis>good answer, bertje :)
17:19:16  <piscisaureus_>bnoordhuis: 7:15
17:19:29  <bnoordhuis>the britons have their moments, i'll admit to that
17:19:47  <bnoordhuis>and the americans... at least they try
17:19:53  <indutny>nah
17:19:58  <indutny>I can't admit it
17:20:21  <bnoordhuis>yeah, but you're russian. no offense, but you don't get a vote when it comes to deciding what's humor and what's not
17:20:28  <indutny>oh, really
17:20:32  <piscisaureus_>http://www.youtube.com/watch?v=Gb97e1ZGx-g
17:20:36  <indutny>you don't even understand a word in russian :P
17:20:45  <bnoordhuis>haha, that's true
17:20:48  <indutny>how can you know if its less humours than others
17:20:52  <indutny>its just a translation failure
17:20:54  <bnoordhuis>but that clip you linked me to a few days ago...
17:20:56  * kazuponquit (Remote host closed the connection)
17:21:06  <bnoordhuis>it was a special moment
17:21:13  <indutny>bnoordhuis: well, that was really awful
17:21:22  <indutny>bnoordhuis: its just the only clip with subtitles
17:21:23  * kazuponjoined
17:21:37  <bnoordhuis>there were subtitles? i don't think i saw any
17:21:45  <rendar>i think spanish and italians have an innate sense of irony and humor
17:21:58  <indutny>I like spanish humour
17:22:11  <bnoordhuis>i don't know that many italian but the spanish are usually pretty funny
17:22:23  <indutny>here comes russian joke
17:22:27  <indutny>I'll try to translate it
17:22:28  <piscisaureus_>rendar is subjective
17:22:30  <indutny>as best as I can
17:22:31  <rendar>also because, you need much irony to live togheter with Berlusconi
17:22:34  <indutny>are you listening?
17:22:48  <bnoordhuis>i'm on the edge of my chair, that much suspense
17:23:03  <indutny>Russian, German and French are on the inhabited island
17:23:24  <indutny>they're encountering cannibal tribe
17:23:36  <indutny>and the leader of the tribe tells them
17:24:17  <indutny>Each of you must complete three tasks, or otherwise will be eaten
17:24:33  <indutny>1. Drink a bucket of Cactus vodka
17:24:41  <indutny>2. Kill the dragon in the cave
17:24:55  <indutny>3. Lay with the leader's princess
17:25:11  <indutny>Frenchman drunk a bucket of vodka
17:25:18  <indutny>and fallen dead immediately
17:25:23  <indutny>German drunk a vodka
17:25:28  <indutny>staggered a bit
17:25:33  <indutny>then came into the cave
17:25:42  <indutny>and after some screams and noise
17:25:47  <indutny>his bones were thrown outside
17:25:51  * kazuponquit (Ping timeout: 245 seconds)
17:25:55  <indutny>Russian drunk vodka
17:26:00  * AvianFlujoined
17:26:00  <indutny>run into the cave
17:26:04  <indutny>and after some screams and noise
17:26:06  <indutny>came out side and asked
17:26:08  <indutny>so
17:26:13  <bnoordhuis>i can see where this is going from a mile away :)
17:26:14  <indutny>where is the leader's princess that I should kill
17:26:20  <bnoordhuis>exactly :)
17:26:23  <rendar>hahahaahahah
17:26:41  <bnoordhuis>nice joke, fedor. i laughed :)
17:26:48  <indutny>thanks
17:26:54  <indutny>hope my translation wasn't that awful
17:27:04  <rendar>it was good, nice joke :)
17:27:19  <bnoordhuis>nah, translation wasn't an issue. i think that's a pretty universal joke
17:27:50  <bnoordhuis>guess i have to run if i want to catch that train
17:27:58  <bnoordhuis>i'll look at your PR tonight or tomorrow, fedor
17:28:00  <indutny>ok, see ya later
17:28:02  <indutny>thanks
17:28:04  <bnoordhuis>cheers
17:28:22  * bnoordhuisquit (Remote host closed the connection)
17:28:59  * inolenjoined
17:32:32  * piscisaureus_quit (Ping timeout: 248 seconds)
17:32:33  * kazuponjoined
17:37:36  * abraxasjoined
17:39:54  * TooTallNatequit (Quit: Computer has gone to sleep.)
17:41:57  * abraxasquit (Ping timeout: 246 seconds)
17:49:06  * st_lukequit
17:49:18  * st_lukejoined
17:54:10  * brsonjoined
18:00:49  * TooTallNatejoined
18:05:09  * defunctzombiechanged nick to defunctzombie_zz
18:08:35  * st_lukequit (Read error: Connection reset by peer)
18:08:57  <trevnorris>i freakin hate nvidia and linux!
18:08:57  * st_lukejoined
18:09:08  <trevnorris>acutally, that's LOUDBOT worthy.
18:09:16  <trevnorris>I HATE NVIDIA AND LINUX!
18:09:16  <LOUDBOT>THE ONLY WAY TO WIN IS NOT TO PLAY
18:09:21  <trevnorris>so true
18:13:10  * mikealjoined
18:17:33  * loladiroquit (Quit: loladiro)
18:20:52  * sblomjoined
18:30:16  * nrajlichjoined
18:32:06  * TooTallNatequit (Ping timeout: 245 seconds)
18:32:32  * loladirojoined
18:34:08  * nrajlichquit (Read error: Operation timed out)
18:36:10  <groundwater_>http://xkcd.com/601/
18:39:14  * bradleymeckjoined
18:59:02  * defunctzombie_zzchanged nick to defunctzombie
19:01:32  * kazupon_joined
19:01:43  * kazuponquit (Write error: Broken pipe)
19:06:01  * kazupon_quit (Ping timeout: 245 seconds)
19:08:10  <indutny>hahaha
19:08:39  * TooTallNatejoined
19:14:23  <MI6>nodejs-master-windows: #453 UNSTABLE windows-x64 (30/672) windows-ia32 (29/672) http://jenkins.nodejs.org/job/nodejs-master-windows/453/
19:16:53  * kevinswiberquit (Remote host closed the connection)
19:17:29  * kevinswiberjoined
19:20:18  <trevnorris>well, now that I've spent half the day screwing with my nvidia display settings. maybe i'll actually get some work done. cursed nvidia.
19:21:19  <indutny>:)
19:21:23  <indutny>its a rabbit hole
19:21:31  <indutny>that's why I've windows 8 in bootcamp
19:21:51  * kevinswiberquit (Ping timeout: 245 seconds)
19:21:52  <indutny>graphics is insanely fast there
19:21:53  <trevnorris>yeah. well, I had it working perfectly until I upgraded :P
19:21:59  <indutny>ahahah
19:22:08  <indutny>trevnorris: have you ever used laptop with hybrid graphics?
19:22:12  <indutny>that's what I call pain
19:23:07  <trevnorris>heh, yeah. usually I just work from the terminal anyways. but getting the computer to freakin recognize a new monitor when I plug it in. is it really that hard?
19:26:38  <trevnorris>isaacs: yeah. it's all landed. now I'm working on bert's two requests.
19:27:36  * indexzerojoined
19:29:34  <indutny>trevnorris: I guess it depends
19:29:50  <indutny>trevnorris: I figured it out by getting macbook pro
19:29:58  <trevnorris>haha
19:30:37  * TooTallNatequit (Quit: Computer has gone to sleep.)
19:37:16  * indexzeroquit (Quit: indexzero)
19:38:31  * abraxasjoined
19:42:47  * abraxasquit (Ping timeout: 240 seconds)
19:46:24  * loladiroquit (Quit: loladiro)
19:51:08  * bajtosquit (Quit: bajtos)
19:55:03  * kevinswiberjoined
20:02:08  * kazuponjoined
20:05:46  <trevnorris>groundwater_: ping
20:05:52  <groundwater_>trevnorris: pong
20:06:03  <trevnorris>groundwater_: do you do any node dev on windows?
20:06:17  <groundwater_>not at the moment, but i want to better support windows
20:06:34  <trevnorris>ok. just trying to fine a way to quickly iterate over this: http://jenkins.nodejs.org/view/node/job/nodejs-master-windows/lastCompletedBuild/DESTCPU=ia32,label=windows/tapTestReport/test.tap-12/
20:07:03  <trevnorris>you'll see the "child ondata message", and the string. then the assertion just below it fails to see if the string is there.
20:07:38  <trevnorris>maybe this is a v8 bug on windows, I don't know, but it's really annoying.
20:09:05  <trevnorris>groundwater_: though, need to thank you. those additional tests you wrote up help us find a bug in node.
20:09:30  <groundwater_>no problem at all
20:09:58  <groundwater_>writing those really helped me understand async-listener
20:10:17  <groundwater_>trevnorris: what bug did you find?
20:10:50  <groundwater_>oh god test-asynclistener-error-throw-in-error.js is such a funky test
20:10:53  <trevnorris>groundwater_: calling back immediates were in a while loop w/o a try/finally block that would properly handle the queue.
20:12:19  <trevnorris>groundwater_: and I added on additional assertion, which it to make sure that process._rawDebug will reach the child even when it throws. so you can be sure to get any stateful data back to the parent before it closes.
20:12:46  <trevnorris>and as you can see from the message, it does. but or some reason indexOf() isn't finding the string that I just printed to the screen.
20:12:51  <trevnorris>don't get it.
20:13:03  <groundwater_>let me digest your changes
20:13:13  <MI6>libuv-master: #317 ABORTED smartos (2/195) http://jenkins.nodejs.org/job/libuv-master/317/
20:15:35  <groundwater_>trevnorris: this only fails on windows?
20:15:41  <trevnorris>groundwater_: yup
20:16:04  <groundwater_>i'm actually setting up VMWare today, but i won't be able to run this for a while
20:16:04  <trevnorris>and it's failing the last on. on 82.
20:16:11  <trevnorris>eh, no worries.
20:16:35  <groundwater_>i thought we bypass process.exit on an in-error throw?
20:16:38  <trevnorris>have better stuff to do than wonder why windows is being whiny.
20:16:43  <groundwater_>but i guess not, if it's passing on other platforms
20:17:01  * kevinswiberquit (Remote host closed the connection)
20:17:19  <trevnorris>yeah. process on exit will (mostly) always run. so you can gather any remaining stats about your system before it dies.
20:17:36  * kevinswiberjoined
20:17:37  <trevnorris>so you can check the exit code and if > 0 then you know something went wrong.
20:18:45  <groundwater_>how urgent is this? i can take a look this weekend
20:19:01  * kevinswi_joined
20:19:01  * kevinswiberquit (Read error: Connection reset by peer)
20:19:03  <groundwater_>i'm hacking on manta right now!
20:19:09  <groundwater_>@tjfontaine^
20:19:13  <trevnorris>groundwater_: if you want. it's just something we'll probably need fixed before 0.12 release. so not really urgent at all
20:19:27  <tjfontaine>dun dun dun
20:20:03  <trevnorris>tjfontaine: has isaacs give you the introduction to the azure dudes? or do we need to smack him around a little? ;P
20:21:02  <tjfontaine>trevnorris: he could probably use a reminder :)
20:21:20  <trevnorris>wait. wtf. tjfontaine so check this: http://jenkins.nodejs.org/view/node/job/nodejs-master-windows/lastCompletedBuild/DESTCPU=ia32,label=windows/tapTestReport/test.tap-12/, but it should be getting 3 "received data from child" events.
20:21:44  <trevnorris>but why only one?
20:21:59  <tjfontaine>I don't really know what you're talking about
20:22:08  <tjfontaine>I mean
20:22:21  <tjfontaine>what does the test do?
20:22:29  <groundwater_>we're talking about the async-listener test, it throws an error IN the error handler
20:22:39  <tjfontaine>on purpose?
20:22:46  <groundwater_>yes
20:22:58  <groundwater_>so the test has to spawn a child process and check how it dies
20:22:59  <trevnorris>tjfontaine: basically, it spawns a child process and checks the return code to make sure it failed.
20:23:19  <groundwater_>if it dies from say, uncaughtException running, it returns an error code that should fail the test
20:23:33  <groundwater_>jank++
20:23:48  <trevnorris>tjfontaine: but on the child's process on exit event it uses _rawDebug to make sure the parent can receive data before the process closes. That's that "child on data" line is about.
20:24:34  <trevnorris>tjfontaine: so, I print out the line to make sure it's getting it. as you can see, it does. then I do an indexOf() on the string to see if > -1. but that fails.
20:24:49  <tjfontaine>oh
20:25:24  <tjfontaine>I bet this is the normal windows stdout/err flushing issue
20:25:27  <tjfontaine>or related
20:25:31  <tjfontaine>even though it is _rawDebug
20:25:52  <tjfontaine>trevnorris: so why would the indexOf fail here?
20:25:58  <indutny>heya
20:26:02  <indutny>do you need any help?
20:26:15  <trevnorris>tjfontaine: only if the string doesn't contain the message that's printed to the screen above
20:26:36  <trevnorris>but that message comes from the string that I've recieved from the child.
20:26:50  <trevnorris>so i have no idea how it'd be possible for it not to be there.
20:29:02  <trevnorris>indutny: yeah, can you just solve all my problems?
20:29:02  <tjfontaine>trevnorris: lemme log in and run this stuff locally
20:29:09  <indutny>trevnorris: done
20:29:14  <trevnorris>tjfontaine: that'd be awesome.
20:29:16  <indutny>trevnorris: you should feel better now
20:29:22  <trevnorris>indutny: thanks :) already do.
20:30:08  <trevnorris>indutny: actually, you can help keep ben from killing me for some code i'm about to write. :P
20:30:29  <indutny>oh
20:30:36  <indutny>well, you can send it to me first
20:30:38  <indutny>if you wish
20:30:42  <trevnorris>heh, thanks :)
20:32:31  <tjfontaine>G:\jenkins\workspace\nodejs-master-windows\1d92f228>Release\node.exe test/simple
20:32:31  <tjfontaine>/test-asynclistener-error-throw-in-error
20:32:31  <tjfontaine>received data from child
20:32:31  <tjfontaine>received data from child
20:32:31  <tjfontaine>child process exiting
20:32:34  <tjfontaine>child ondata message: WRITTEN ON EXIT
20:32:36  <tjfontaine>assert.js:98
20:32:39  <tjfontaine> throw new assert.AssertionError({
20:32:41  <tjfontaine> ^
20:32:44  <tjfontaine>AssertionError: -1 != -1
20:32:46  <tjfontaine> at process.<anonymous> (G:\jenkins\workspace\nodejs-master-windows\1d92f228\
20:32:49  <tjfontaine>test\simple\test-asynclistener-error-throw-in-error.js:82:12)
20:32:51  <tjfontaine> at process.EventEmitter.emit (events.js:120:20)
20:33:02  <trevnorris>tjfontaine: yeah. but that WRITTEN ON EXIT is what it's checking for.
20:33:21  <trevnorris>tjfontaine: can you jump into the test and remove the \n at the end of that string?
20:33:27  <trevnorris>it's at the top.
20:33:31  <trevnorris>wait. no
20:33:40  <trevnorris>it uses that as the delimiter.
20:33:52  <tjfontaine>the issue is that's not what I see in jenkins output
20:33:57  <tjfontaine>which means the output was truncated
20:34:14  <tjfontaine>which is the "normal" pattern for the fact that they're not synchronous on windows
20:34:55  <trevnorris>i'm not getting how this is all possible. i mean. how is it logging the value to the screen before checking it, just to not find it.
20:35:11  <tjfontaine>because the process dies before it has finished writing the output
20:35:18  <tjfontaine>and therefore there's nothing for node to read
20:35:30  * jmar777quit (Remote host closed the connection)
20:35:31  * kazuponquit (Ping timeout: 260 seconds)
20:36:06  * jmar777joined
20:36:21  <trevnorris>but you see the line printed to the console. so that means it'd have to be truncating exactly the last character.
20:36:37  <tjfontaine>trevnorris: https://github.com/joyent/node/issues/3584
20:37:07  <isaacs>tjfontaine, trevnorris: you're debugging the thing we saw yesterday?
20:37:19  <trevnorris>isaacs: one of them
20:37:20  <tjfontaine>ya, it's the normal stdio stuff
20:37:22  <tjfontaine>imo
20:37:50  <trevnorris>tjfontaine: so process._rawDebug is exposed to the same issue, even though it uses fflush() ?
20:38:00  <tjfontaine>can be yes
20:38:11  <trevnorris>well, then. screw you windows :P
20:38:25  <isaacs>you know, i've been thinking...
20:38:33  <isaacs>why isn't console.error = process._rawDebug?
20:38:38  <isaacs>i mean, srsly
20:38:42  <trevnorris>hey, I totally agree :)
20:38:46  <isaacs>it's not as if we can pause it or anything
20:39:09  <groundwater_>wasn't that the behavior at one point?
20:39:10  <tjfontaine>the question is if you want a flush on every, but I'm not necessarily against it
20:39:13  <groundwater_>or was that just a myth
20:39:38  <isaacs>i guess you could conceivably get into weird stuff where process.stderr.write('foo');console.error('bar') goes in the wrong order or something?
20:39:50  <isaacs>but no, right? because it's a sync stream anyway
20:39:58  <trevnorris>i think for "error" it makes sense to flush. basically you're saying that crap happened and it's priority that it gets written out.
20:40:11  * jmar777quit (Ping timeout: 245 seconds)
20:40:28  <tjfontaine>oh dude, ya
20:40:30  <tjfontaine>you can't have \n here
20:40:42  <trevnorris>tjfontaine: why's that?
20:40:46  <tjfontaine>why do you need the \n?
20:40:56  <trevnorris>i was using it as a delimiter.
20:41:12  <tjfontaine>for indexOf though?
20:41:15  <tjfontaine>why does that matter?
20:41:48  <trevnorris>hell if I know. i'd spent 3 straight days debugging that crap and for some reason it seemed like a good solution :P
20:42:08  <trevnorris>the indexOf() check is to make sure the string fully arrived to the parent before the child died
20:42:36  <tjfontaine>sure, in this case, we can assume that regardless of the line ending, right?
20:42:44  <trevnorris>see, technically you should be getting a bunch of crap from the child. that message and the error/stack trace of the error.
20:42:59  <tjfontaine>technically in the real world?
20:43:00  <trevnorris>and I wanted to make sure the message was the first thing received.
20:43:12  <tjfontaine>then regex on start of line?
20:43:52  <tjfontaine>/^WRITTEN IN CHILD/
20:43:52  <LOUDBOT>ACHIEVEMENT UNLOCKED: TECHNICALLY CORRECT
20:44:02  <tjfontaine>er, technically incorrect :)
20:44:14  * sblomquit (Ping timeout: 240 seconds)
20:44:33  <trevnorris>ok. so the reasons are scattered. kept running into a new issue and so kept logging stuff out. added the '/n' so I could break up the lines and parse the output.
20:44:44  <trevnorris>*new issues
20:44:56  <trevnorris>so there's really no good reason for it.
20:45:13  <trevnorris>the first data back from the server should be that message. so you could just check that the beginning of the string contains that message.
20:45:20  <groundwater_>perhaps this should be split into multiple tests, this test is only designed to make sure the child dies in the right way
20:45:32  <groundwater_>it sounds like we may be testing other behaviors
20:45:56  <groundwater_>i.e. exit with code 7, and don't call uncaughtException
20:46:06  <trevnorris>groundwater_: well, sort of. I wanted to make sure the process on exit callbacks were being properly executed in case of error in error failure.
20:46:17  <trevnorris>and the only way I could think to do that was sending a string back to the parent.
20:46:33  <groundwater_>okay, good point
20:47:19  <groundwater_>i thought we didn't call process.exit for some reason
20:47:28  <trevnorris>tjfontaine: so. I guess the test could be assert.equal(childStr.substr(0, checkStr.length), checkStr);
20:47:42  <tjfontaine>I prefer regex, but yes that could work
20:48:21  <trevnorris>tjfontaine: didn't opt for that because wanted to use a variable, and didn't want to use a new RegExp
20:48:32  <trevnorris>but honestly at this point I don't care.
20:48:50  <tjfontaine>assert.equal(childStr.test(/^WRITTEN ON EXIT/), true)
20:49:00  <trevnorris>groundwater_: we do, as your last chance to gather information about the process.
20:49:26  <trevnorris>tjfontaine: you have that the wrong way around. /^WRITTEN ON EXIT/.test(childStr)
20:49:32  <groundwater_>trevnorris: no prob. i don't want to open that can of worms again :)
20:49:36  <tjfontaine>whatever, there are two ways
20:49:49  <tjfontaine>I odn't really care, regexps are more expressive than substr imo
20:50:49  <trevnorris>they are. but a single check isn't going to do much. but I see your point. ok. i'll change the test in my next patch to do it that way
20:51:08  <tjfontaine>okey dokey :)
20:56:10  * TooTallNatejoined
20:58:04  * c4milojoined
21:01:18  * st_lukequit (Remote host closed the connection)
21:03:03  <indutny>isaacs: porting cork/uncork to v0.8 for voxer :)
21:03:15  <indutny>isaacs: never thought that I'd do it
21:03:51  <isaacs>indutny: you should port voxer to v0.10 instead ;P
21:03:54  <indutny>hahaha
21:03:57  <isaacs>indutny: but fine, makes sense, i guess
21:04:03  <indutny>we'll think about it when the v0.12 will be out
21:04:04  <isaacs>indutny: we can't land it upstream, obviously
21:04:09  <indutny>isaacs: I know
21:06:06  <trevnorris>seriously can't believe I accidently wiped out my doxygen file for v8.
21:06:47  <trevnorris>oh yes! I had it in a gist.
21:10:22  * bradleymeckquit (Quit: bradleymeck)
21:12:01  * kevinswi_quit (Remote host closed the connection)
21:15:51  * kevinswiberjoined
21:16:02  * kevinswiberquit (Remote host closed the connection)
21:16:34  * kevinswiberjoined
21:18:10  * jmar777joined
21:18:12  * c4miloquit (Remote host closed the connection)
21:18:47  * c4milojoined
21:20:38  * kevinswiberquit (Ping timeout: 240 seconds)
21:22:10  * paddybyersquit (Quit: paddybyers)
21:23:02  * c4miloquit (Ping timeout: 240 seconds)
21:26:43  * c4milojoined
21:32:06  * kazuponjoined
21:33:10  * dshaw_quit (Quit: Leaving.)
21:36:51  * kazuponquit (Ping timeout: 245 seconds)
21:37:15  <isaacs>how do we make compilation faster on windows?
21:37:19  <isaacs>this is terrible.
21:37:35  <isaacs>it spends SO much time in linking. how do people survive with this bsd?
21:37:37  <isaacs>*bs
21:38:13  <trevnorris>isaacs: at my previous work we had nerf guns :P
21:38:59  * dshaw_joined
21:46:34  <trevnorris>tjfontaine: since no one else has committed, think I'll go back and force put to correct that bad commit message :P
21:47:29  * paddybyersjoined
21:47:52  <indutny>isaacs: just fix a linker
21:48:00  <indutny>isaacs: should be easy, right?
21:48:46  * jmar777quit (Remote host closed the connection)
21:57:07  <trevnorris>heh, so Dispose() is deprecated. man their api changes fast.
21:59:00  * kevinswiberjoined
22:01:58  * kazuponjoined
22:03:05  <tjfontaine>trevnorris: ... don't be eivl :)
22:03:24  * kevinswiberquit (Remote host closed the connection)
22:03:46  <tjfontaine>isaacs: the problem is heavily templated C++ code
22:03:57  * kevinswiberjoined
22:03:59  <tjfontaine>isaacs: but the people who do this have much larger memory machines
22:04:07  <tjfontaine>isaacs: so remember that azure request?
22:04:23  <isaacs>tjfontaine: oh, right.
22:04:29  <isaacs>on sec, i'll email intro you to gblock
22:05:38  <isaacs>tjfontaine: anything in particular that you want me to mention to get the conversation started?
22:08:14  * kevinswiberquit (Ping timeout: 240 seconds)
22:08:23  <tjfontaine>gblock isn't at ms anymore?
22:12:32  * AvianFluquit (Remote host closed the connection)
22:13:58  * bradleymeckjoined
22:14:45  <othiym23>wait what?
22:15:02  <othiym23>gblock's been on Azure Mobile Services this whole time, I think
22:15:37  <isaacs>othiym23: yeah, but whatevers, he knows people
22:17:30  <isaacs>oh, well, he's not at msft any more, i guess.
22:17:33  <isaacs>email bouncy :)
22:17:59  <othiym23>oh weird
22:18:06  <tjfontaine>I mean, I knew glenn from nodeconf :)
22:18:41  <othiym23>if you guys need another MS contact New Relic has the hookup
22:33:30  <tjfontaine>ok replied, so hopefully soon trevnorris, hopefully soon :)
22:33:39  <tjfontaine>othiym23: good to know :)
22:33:43  <trevnorris>tjfontaine++
22:33:55  <trevnorris>dude, have a nuts idea. we'll see where it goes :P
22:34:07  <tjfontaine>what is your idea?
22:34:51  <trevnorris>to implement the "done" callback on async listeners in a mostly elegant way. but it may take some hackery. so, maybe not so elegant
22:35:14  <tjfontaine>I'm -1 on the is_final MakeCallback thing, I think
22:35:19  <tjfontaine>so I hope it's better than that :)
22:35:27  * kazuponquit (Ping timeout: 272 seconds)
22:35:31  <trevnorris>yeah. i'm not implementing that
22:35:38  <tjfontaine>trevnorris++
22:35:42  <trevnorris>sorry bert, but no way i'm going there.
22:36:18  <isaacs>i didn't think it was so so terrible.
22:36:32  <isaacs>but callbacksObj.done = fn is much preferrable
22:36:48  <trevnorris>yeah. and that's going to be the api.
22:36:57  <tjfontaine>I woudl maybe accept an enum of callback types that are useful beyond a single case :)
22:37:33  * bradleymeckquit (Quit: bradleymeck)
22:37:52  <tjfontaine>is_final feels very hackish though, at least a hint field lets me do some other interesting bitwise work to indicate my workload among things
22:38:02  * pachetquit (Quit: leaving)
22:39:20  <trevnorris>6011 was about trying to get a clean implementation that's easy to follow. (as easy as async error handling can be I guess), but there are still a lot of optimizations that can be done.
22:43:39  <trevnorris>and I want to keep that clean implementation in place. especially since this underpins the entirety of our asynchronous callback system.
22:47:24  * hzquit
22:48:14  * bnoordhuisjoined
23:02:59  * kevinswiberjoined
23:08:56  * c4miloquit (Remote host closed the connection)
23:09:50  <indutny>bnoordhuis: and you're back
23:09:59  <indutny>bnoordhuis: have you seen tons of PRs I sent to you? :)
23:12:37  * kevinswiberquit (Remote host closed the connection)
23:13:12  * kevinswiberjoined
23:16:43  * rendarquit (Quit: Leaving)
23:17:52  * kevinswiberquit (Ping timeout: 256 seconds)
23:18:35  <trevnorris>isaacs, indutny: first implementation of "done" callbacks: https://github.com/joyent/node/pull/6450
23:18:48  <trevnorris>(don't show bnoordhuis, I know he won't approve ;)
23:19:04  <isaacs>trevnorris: kewl. will look at this when i return from my quest to the land of FedEx and UPS. Or monday, which will also technically be "after". ;)
23:19:08  * isaacs&
23:19:08  <LOUDBOT>LIFTOFF OF OUR SPACE SHUTTLE COUNTDOWN
23:19:17  <trevnorris>heh, coolio.
23:19:52  * dshaw_quit (Quit: Leaving.)
23:20:09  * defunctzombiechanged nick to defunctzombie_zz
23:20:10  * dshaw_joined
23:20:42  <bnoordhuis>indutny: don't think so. i don't have that much new email actually, somewhat to my surprise
23:20:56  <tjfontaine>trevnorris: just land the test fix for windows
23:21:06  <trevnorris>tjfontaine: right now?
23:21:15  <tjfontaine>ya, why not?
23:21:21  <trevnorris>tjfontaine: ok. first I'm going to update 6011-isfinal w/ it to make sure it actually fixes it.
23:21:33  <trevnorris>plus there's one other failure that I don't understand at all.
23:22:00  <tjfontaine>removing the \n can fix the test simply, the rest is you worrying that it is absolutely the first message ...
23:22:30  <trevnorris>tjfontaine: ok. so don't worry about also fixing the other failure for now?
23:22:51  <tjfontaine>ya, no reason to float a patch that you know eventually will need to be landed
23:23:04  <trevnorris>ok
23:23:11  * AvianFlujoined
23:23:31  * AvianFlu_joined
23:23:42  <trevnorris>tjfontaine: if you hop in and run that test manually to make sure it passes i'll do it right now. otherwise I'm going to ask jenkins to double check.
23:23:52  <tjfontaine>ok
23:23:54  <trevnorris>i'd hate to have a "test: really fix this test this time, I promise"
23:24:09  * AvianFlu_quit (Remote host closed the connection)
23:24:09  <tjfontaine>seriously, more commits are not a problem. but I will do so
23:24:54  <trevnorris>bnoordhuis: also, i'd like your opinion on this implementation. i like it because it seems the least invasive, but you're the oracle of c++ knowledge :) https://github.com/joyent/node/pull/6450
23:25:19  <trevnorris>bnoordhuis: wtf. you're already looking at it?
23:25:39  <tjfontaine>if you're going to be filling out the async flags it's good to start doing this in word notation, since you're starting to do more bitwise operations
23:26:06  <trevnorris>word notation?
23:26:51  <tjfontaine>0x00000001, or 1 << 0; 1 << 2; ... so on and so forth, so it's easy to identify where things overlap
23:27:02  * Kakera_quit (Ping timeout: 240 seconds)
23:27:05  <trevnorris>tjfontaine: ah, I see. ok that makes sense.
23:27:31  <tjfontaine>there's probably other flag examples in the source to follow
23:27:33  * AvianFluquit (Ping timeout: 240 seconds)
23:29:30  <tjfontaine>G:\jenkins\workspace\nodejs-master-windows\1d92f228>Release\node.exe test/simple
23:29:30  <tjfontaine>/test-asynclistener-error-throw-in-error.js
23:29:30  <tjfontaine>received data from child
23:29:30  <tjfontaine>received data from child
23:29:32  <tjfontaine>child process exiting
23:29:35  <tjfontaine>child ondata message: WRITTEN ON EXIT
23:29:40  <tjfontaine>ok
23:29:48  <trevnorris>tjfontaine: awesome, thanks :)
23:29:56  <trevnorris>i'll land it momentarily
23:31:57  * kazuponjoined
23:36:41  * kazuponquit (Ping timeout: 245 seconds)
23:37:01  <MI6>joyent/node: Trevor Norris master * d2a6002 : test: fix async listener test for windows - http://git.io/OWF4yQ
23:39:10  <tjfontaine>ONE FEWER FAILING WINDOWS TEST :)
23:39:10  <LOUDBOT>BEER? CHECK. SPLIFF? CHECK. ALRIGHT, START THE CLOCK, WE'RE WORKING FROM HOME.
23:39:18  <tjfontaine>hah
23:40:27  * octetcloudquit (Ping timeout: 267 seconds)
23:40:45  <trevnorris>bnoordhuis: honestly my biggest concern would've been my call to done_callback_ in the destructor.
23:41:22  <trevnorris>bnoordhuis: it's not the best for debugging because the object has already been destroyed, but it's definitely the least invasive way I could see to implement it.
23:41:40  * bnoordhuisquit (Ping timeout: 260 seconds)
23:41:50  <trevnorris>and.. there he goes.
23:41:59  <trevnorris>othiym23, groundwater_: https://github.com/joyent/node/pull/6450
23:42:28  <trevnorris>othiym23, groundwater_: first implementation of the "done" callbacks.
23:42:54  <groundwater_>ahh nice, how'd you do it?
23:43:09  <trevnorris>groundwater_: with a little bit of magic ;)
23:43:23  <groundwater_>i see the word template
23:43:47  <groundwater_>i'm scared
23:43:47  <trevnorris>groundwater_: actually, I just attach the done to a persistent on the class. it's incomplete. meaning right now you can't remove a done callback that's been added.
23:44:12  <trevnorris>template?
23:44:35  <groundwater_>i was just joking that c++ templates are scary
23:44:36  <trevnorris>i'm going to write up some tests and start doing some testing.
23:45:13  <trevnorris>ah, heh. yeah. when you start creating template from templates, then you know something went wrong :)
23:45:14  <groundwater_>does done get called only once for a continuation chain?
23:45:28  <groundwater_>what if i spawn multiple async calls from the same tick
23:46:04  <trevnorris>groundwater_: it'll call all the "done" callbacks for as many as you've setup
23:46:16  <trevnorris>and pass in the stored value
23:46:23  <trevnorris>for that specific instance.
23:46:44  <groundwater_>is the documentation somewhere? i'm not 100% clear on the API yet
23:46:50  <groundwater_>i kinda understand the idea
23:46:56  * c4milojoined
23:46:58  <groundwater_>i'm relating it to what i tried before
23:47:02  <trevnorris>groundwater_: treat it exactly like a before/after callback.
23:47:21  <trevnorris>except it'll only be called once, and only when something is about to be destructed.
23:47:31  * dshaw_quit (Quit: Leaving.)
23:47:54  <trevnorris>right now timers are out of the picture since they are JS object that have non-deterministic end points.
23:48:09  <trevnorris>but at least you'll be notified for TimerWrap class.
23:48:39  <groundwater_>so do i pass 'done' in as another property in the async listener?
23:48:40  * paulfryzelquit
23:48:51  <trevnorris>yeah, right there with before/after/error
23:49:18  <groundwater_>okay i'm gonna try this out, because it may speed up the long-stack tracer i was working on
23:49:50  <trevnorris>heh, don't get your hopes up. i'm about to do some benchmarking, but pretty sure the done callbacks are pretty costly.
23:50:21  <groundwater_>so i think the naive long-stack basically causes a 2x overhead
23:50:32  <groundwater_>maybe we can get it to log(x) heh
23:51:04  <trevnorris>groundwater_: the performance hit is with needing to use Error.captureStackTrace.
23:51:08  <trevnorris>it's painfully slow.
23:53:43  <groundwater_>so, i was calling captureStackTrace on re-used objects
23:53:48  <groundwater_>to see if that would improve anything
23:54:23  * c4miloquit (Remote host closed the connection)
23:56:19  <MI6>nodejs-master-windows: #454 UNSTABLE windows-x64 (26/672) windows-ia32 (27/672) http://jenkins.nodejs.org/job/nodejs-master-windows/454/
23:59:22  <MI6>nodejs-master: #666 UNSTABLE smartos-ia32 (8/672) smartos-x64 (10/672) linux-ia32 (1/672) http://jenkins.nodejs.org/job/nodejs-master/666/