00:00:02  * ircretaryquit (Remote host closed the connection)
00:00:11  * ircretaryjoined
00:00:41  <isaacs>thanks guys
00:01:12  * jmar777joined
00:01:13  <trevnorris>isaacs: good change from nOrig to state.length.
00:02:34  <isaacs>yeah, more appropriate that way
00:03:47  <isaacs>ok, battery gonna die. bbiab.
00:03:51  <trevnorris>trying to keep a mental map of data flow giving me a headache. I don't know how you got thought this.
00:03:54  <trevnorris>see ya
00:04:47  <MI6>joyent/node: isaacs master * 20a3c5d : streams2: Do not allow hwm < lwm There was previously an assert() in the - http://git.io/qgHUPQ
00:04:54  <isaacs>trevnorris: a lot of headaches, that's how :)
00:04:59  <trevnorris>lol
00:05:01  <isaacs>trevnorris: 3 years of fixing stream bugs, too.
00:05:03  <isaacs>that helped.
00:05:16  <trevnorris>heh, so a lot of prior experience.
00:05:36  <isaacs>trevnorris: yeah. writing fstream and node-tar made me realize that our stream abstraction is pretty bad.
00:05:43  <isaacs>i think streams2 is better. we'll see.
00:05:47  <isaacs>hopefully :)
00:05:55  <isaacs>ok, 1% now. heading home.
00:05:56  <trevnorris>the concept is definitely better.
00:05:59  * isaacs&
00:09:42  * indutny&
00:14:37  * warzjoined
00:27:07  * AvianFluquit (Remote host closed the connection)
00:29:35  * wolfeidauquit (Read error: Connection reset by peer)
00:29:49  * wolfeidaujoined
00:41:21  * roxluquit (Quit: Changing server)
00:45:45  * karupaneruraquit (Excess Flood)
00:47:36  * karupanerurajoined
00:48:56  * qmx|afkchanged nick to qmx
00:52:23  * stagasjoined
01:00:02  * jmar777quit (Remote host closed the connection)
01:00:35  * jmar777joined
01:01:49  * stagas_joined
01:02:32  * loladiro_joined
01:04:18  * stagasquit (*.net *.split)
01:04:19  * loladiroquit (*.net *.split)
01:04:19  * loladiro_changed nick to loladiro
01:04:30  * stagas_changed nick to stagas
01:05:07  * jmar777quit (Ping timeout: 248 seconds)
01:10:11  * EhevuTovjoined
01:12:06  * isaacsfg
01:13:40  <CoverSlide>Ctrl+Z; kill %1
01:18:10  * dapquit (Quit: Leaving.)
01:18:26  <isaacs>heh
01:20:52  * AvianFlujoined
01:23:06  * stagasquit (Ping timeout: 240 seconds)
01:25:04  * trevnorrisquit (Quit: Leaving)
01:29:33  <MI6>joyent/node: Fedor Indutny master * b4b750b : tls: follow RFC6125 more stricly * Allow wildcards only in left-most par - http://git.io/8vfwxQ
01:30:31  * abraxasjoined
01:46:22  * pooyaquit (Quit: pooya)
02:01:44  * jmar777joined
02:01:52  * jmar777quit (Remote host closed the connection)
02:02:27  * jmar777joined
02:06:44  * jmar777quit (Ping timeout: 260 seconds)
02:18:51  * jmar777joined
02:39:03  * jmar777quit (Remote host closed the connection)
02:39:37  * jmar777joined
02:43:47  * jmar777quit (Ping timeout: 248 seconds)
02:48:53  * TooTallNatequit (Quit: Computer has gone to sleep.)
03:11:48  * qmxchanged nick to qmx|away
03:41:59  * trevnorrisjoined
03:56:58  * pooyajoined
04:03:08  * kazuponjoined
04:03:22  * kazuponquit (Remote host closed the connection)
04:03:39  * kazuponjoined
04:12:37  * loladiroquit (Quit: loladiro)
04:41:11  * brson_joined
04:50:48  * EhevuTovquit (Quit: This computer has gone to sleep)
04:56:41  * pooyaquit (Quit: pooya)
04:57:08  * warzquit
05:30:24  * pooyajoined
05:56:33  * wolfeidauquit (Read error: Connection reset by peer)
05:56:51  * wolfeidaujoined
05:57:10  * kristatejoined
05:59:26  * wolfeidauquit (Remote host closed the connection)
06:08:01  * trevnorrisquit (Quit: Leaving)
06:33:04  * c4milojoined
06:33:26  * paddybyersjoined
06:37:05  * c4miloquit (Ping timeout: 240 seconds)
06:54:51  * piscisaureus_joined
07:06:56  * kazuponquit (Ping timeout: 255 seconds)
07:09:40  * piscisaureus_quit (Ping timeout: 248 seconds)
07:22:05  * rendarjoined
07:24:24  * pooyaquit (Quit: pooya)
07:31:10  * pooyajoined
07:37:54  * kazuponjoined
07:38:28  * `3rdEdenjoined
07:38:39  * pooyaquit (Quit: pooya)
07:47:51  * kazuponquit (Remote host closed the connection)
07:48:38  * bnoordhuisjoined
07:53:26  * kazuponjoined
07:55:34  * paddybyersquit (Ping timeout: 260 seconds)
08:10:04  * AvianFluquit (Remote host closed the connection)
08:31:38  * Raltquit (Read error: Connection reset by peer)
08:31:40  * pooyajoined
08:32:47  <bnoordhuis>github y u so slow?
08:33:14  <indutny>hello
08:33:42  * paddybyersjoined
08:35:24  <MI6>joyent/node: Chris Dent v0.8 * 6b4a935 : install: add simplejson fallback Make tools/install.py work with python - http://git.io/EYAWfw
08:39:54  * brson_quit (Ping timeout: 276 seconds)
09:06:15  <indutny>oooh
09:06:20  <indutny>stupid assertions
09:06:25  <indutny>and GC
09:06:54  <indutny>ah, nvm
09:06:58  <indutny>found the source of the issue
09:19:05  * stagasjoined
09:25:48  * pooyaquit (Quit: pooya)
09:26:13  * indexzerojoined
09:26:29  * Raltjoined
09:32:21  * stagasquit (Quit: ChatZilla 0.9.89-rdmsoft [XULRunner 1.9.0.17/2009122204])
09:36:03  * kristatequit (Remote host closed the connection)
09:43:35  <indutny>bnoordhuis: hello, yt?
09:43:40  <bnoordhuis>indutny: yep
09:43:47  <indutny>can you please take another look at
09:44:00  <indutny>oh
09:44:04  <indutny>for some reason I can't paste it
09:44:05  <indutny>one sec
09:44:14  <indutny>https://github.com/joyent/node/pull/4595
09:44:27  <indutny>I've added comments and fixed some things
09:45:02  <bnoordhuis>sure, i'll look at it in a sec
09:45:19  <indutny>thank you
09:59:38  <indutny>for some reason, it triggers assertion send_fd > 0
09:59:41  <indutny>>= 0
09:59:46  <indutny>on osx
09:59:48  <indutny>but not on ubuntu
10:00:05  <indutny>doing distclean build, just to be sure
10:03:14  * c4milojoined
10:04:55  <indutny>hm... can't reproduce it anymore
10:07:05  <indutny>bnoordhuis: what do you think about creating persistent handle for object here https://github.com/joyent/node/blob/master/src/stream_wrap.cc#L409 ?
10:07:19  <indutny>it seems to be much more safer than doing the same thing in js
10:07:38  * c4miloquit (Ping timeout: 245 seconds)
10:08:23  * stagasjoined
10:08:52  <bnoordhuis>indutny: why do you think it should be persistent?
10:09:04  <indutny>because of this https://github.com/joyent/libuv/blob/master/src/unix/stream.c#L722
10:09:24  <indutny>if GC will collect handle - this libuv function will use it after free
10:09:30  <bnoordhuis>btw, it's already persistent
10:09:31  <indutny>btw, this might be fixed in libuv
10:09:42  <bnoordhuis>because send_stream_obj->InternalFieldCount() > 0
10:09:51  <indutny>well, it's persistent
10:09:54  <indutny>but not much :)
10:10:08  <indutny>I mean that it should be ->Ref() ed
10:10:12  <indutny>before calling uv_write2
10:10:19  <indutny>and Unref() ed if after_write
10:10:31  <indutny>or, just store fd in uv_write2 instead of storing full handle
10:11:00  <indutny>which is the most correct solution
10:11:07  <indutny>(it seems to be, for me)
10:11:53  * kristatejoined
10:12:06  <indutny>bnoordhuis: agree?
10:12:15  <bnoordhuis>let me think about it
10:12:19  <indutny>ok
10:12:28  <bnoordhuis>first, i'm going to finish this thing i'm working on
10:12:40  <indutny>ah, no way it will work
10:12:47  <indutny>not your thing, but storing fd
10:12:51  <indutny>if uv_close is called on handle
10:12:54  <indutny>and it should be called anyway
10:12:56  <indutny>fd will be closed
10:13:08  <indutny>and I think that's what's really happening in my case
10:13:38  <indutny>ah no
10:13:54  <indutny>HandleWrap isn't calling uv_close() in destructor
10:14:42  <indutny>bnoordhuis: ok, let me know when you'll be free again
10:15:05  * kazuponquit (Remote host closed the connection)
10:15:07  <bnoordhuis>will do
10:19:06  <indutny>oh, I know why it is happening
10:28:51  * qmx|awaychanged nick to qmx
10:36:11  <indutny>or not
10:36:14  <indutny>hm...
10:36:22  <indutny>I suppose my freelist hack doesn't work for some reason
10:36:25  <indutny>but can't proove it
10:38:24  <indutny>hm... no
10:38:33  <indutny>I can prove that it isn't affiliated with this :)
10:38:58  <indutny>s/prove/proove
10:41:15  * indexzeroquit (Quit: indexzero)
10:50:55  * abraxasquit (Remote host closed the connection)
10:51:28  * abraxasjoined
10:53:40  <tdb2>In http.request.write(), if the connection is stalled (e.g. very slow to open), does write() buffer into memory ?
10:55:59  * abraxasquit (Ping timeout: 255 seconds)
11:03:30  <indutny>whoa
11:03:31  <indutny>fixed
11:03:38  <indutny>that wasn't really my fault
11:03:47  <indutny>it was always doing it
11:03:54  <indutny>closing handle right after sending it
11:06:28  * rvaggquit (Quit: ta ta)
12:05:08  * kristatequit (Ping timeout: 245 seconds)
12:11:15  * kazuponjoined
12:11:52  * piscisaureus_joined
12:11:55  * piscisaureus_quit (Client Quit)
12:12:28  * kazuponquit (Remote host closed the connection)
12:14:39  <indutny>bnoordhuis: btw, what are you working on?
12:20:33  <indutny>tdb2: late, but yets
13:08:41  * saghulquit (Quit: Bye!)
13:09:02  * saghuljoined
13:27:31  * stagas_joined
13:30:06  * stagasquit (Ping timeout: 276 seconds)
13:30:11  * stagas_changed nick to stagas
13:30:32  * c4milojoined
13:34:43  * c4miloquit (Ping timeout: 245 seconds)
13:35:32  <indutny>bnoordhuis: are you aware of this?
13:35:33  <indutny>+ # On FreeBSD 5.0, chroot and setgroups are not declared if _XOPEN_SOURCE
13:35:33  <indutny>+ # is define. Reported by M. Recht.
13:41:50  * qmxchanged nick to qmx|away
13:46:44  * mmaleckichanged nick to mmalecki[high]
13:58:02  * jmar777joined
13:58:24  * c4milojoined
14:14:32  <indutny>ok
14:14:35  <indutny>ttyl
14:14:40  <indutny>lazy man
14:21:19  * rjechanged nick to rje`sickday
14:33:53  <bnoordhuis>back
14:34:23  <bnoordhuis>my neighbour across the street died of a heart attack this morning
14:35:53  <bnoordhuis>there were two police cars and an ambulance within minutes but it was already too late :(
14:36:16  <bnoordhuis>indutny: freebsd 5 is very, very old
14:38:35  * EhevuTovjoined
14:54:24  * AvianFlujoined
15:05:42  * EhevuTovquit (Quit: This computer has gone to sleep)
15:06:05  * kristatejoined
15:06:25  * EhevuTovjoined
15:08:14  <tjfontaine>bnoordhuis: are you a serial killer? didn't another neighbor die recently?
15:08:26  <bnoordhuis>tjfontaine: yes, but she'd been sick for a long time
15:08:30  <tjfontaine>ah
15:24:54  * jmar777quit (Remote host closed the connection)
15:25:30  * jmar777joined
15:30:21  * jmar777quit (Ping timeout: 276 seconds)
15:40:19  * philips_quit (Excess Flood)
15:40:32  * CAPSLOCKBOTjoined
15:40:32  * LOUDBOTjoined
15:45:22  * LOUDBOTquit (Remote host closed the connection)
15:45:22  * CAPSLOCKBOTquit (Remote host closed the connection)
15:45:34  * CAPSLOCKBOTjoined
15:45:34  * LOUDBOTjoined
15:49:15  * philips_joined
16:08:44  * indexzerojoined
16:15:03  * `3rdEdenchanged nick to `3E|FOODING
16:15:34  * jmar777joined
16:21:28  * dapjoined
16:22:02  <bnoordhuis>indutny: ping
16:23:05  * pooyajoined
16:36:41  <mmalecki[high]>bnoordhuis: ping
16:36:45  <mmalecki[high]>uhm
16:36:48  * mmalecki[high]changed nick to mmalecki
16:36:48  <bnoordhuis>...
16:36:55  <mmalecki>bnoordhuis: beers on Friday?
16:37:04  <bnoordhuis>mmalecki: sure, if bertje is in
16:37:05  <mmalecki>or like, whenever you're in AMS?
16:37:16  <mmalecki>okay cool
16:37:28  <bnoordhuis>mmalecki: who are you with atm?
16:37:35  <mmalecki>bnoordhuis: Karol, my friend
16:37:46  <mmalecki>bnoordhuis: or like, you mean SO?
16:37:46  <bnoordhuis>karol, very polish name
16:38:00  <bnoordhuis>no, i meant in 020
16:38:13  <bnoordhuis>err, who are you with in amsterdam, that is
16:38:27  <mmalecki>yeah, Karol
16:38:33  <mmalecki>he codes JS too :)
16:38:57  * TheJHjoined
16:39:21  <bnoordhuis>mmalecki: what do you think of 020?
16:39:34  <bnoordhuis>you've been there before of course
16:40:06  <mmalecki>bnoordhuis: it's a very nice city. I love the architecture, food and the overwhelming smell of weed
16:40:17  <bnoordhuis>ah, tourists...
16:40:51  <bnoordhuis>no mention of the culture, the centuries of history, nooo
16:41:31  <mmalecki>bnoordhuis: I haven't seen many centuries of history around
16:41:47  <mmalecki>I have, however, ate food, seen architecture and smoked weed :)
16:42:11  <bnoordhuis>mmalecki: ah, look closely. just about every building in the city center is older than the USA
16:42:16  <bnoordhuis>most by a wide margin
16:42:56  <bnoordhuis>^ that's my favorite way to piss off americans
16:43:07  <isaacs>bnoordhuis: anywhere in europe that wasn't bombed in a World War is older than the USA
16:43:15  <bnoordhuis>"oh, you're from the USA? that's nice. you know i live in a building that's older than your country?"
16:43:22  <bnoordhuis>isaacs: yes, very true
16:43:36  <bnoordhuis>i had a tough time when i lived in rotterdam
16:43:46  <bnoordhuis>because that city was razed to the ground by the nazis
16:43:58  <bnoordhuis>"you know i live in... eh, never mind"
16:43:59  <isaacs>bnoordhuis: you see, though, newer buildings are better.
16:44:02  <mmalecki>isaacs: that's true
16:44:07  <isaacs>they have like electricity and plumbing and stuff.
16:44:15  <bnoordhuis>highly overrated
16:44:30  <isaacs>you're so primal.
16:44:41  <isaacs>living in a cave that's older than any country...
16:45:11  <bnoordhuis>my cave will still be there after civilization collapses
16:45:12  <isaacs>i live in california. *I'M* older than my apartment building.
16:45:27  <bnoordhuis>haha
16:45:50  * isaacsaway dentist
16:46:10  <isaacs>bnoordhuis: does this explanation do justice to your views? https://github.com/joyent/node/issues/4583#issuecomment-12276249
16:46:15  <mmalecki>bnoordhuis: I'm here, btw https://www.airbnb.com/rooms/428693
16:46:47  * isaacsok, bbiab
16:46:55  <bnoordhuis>isaacs: yes
16:47:17  <bnoordhuis>mmalecki: oh, nice. atjehstraat, i know where that is
16:47:28  <mmalecki>bnoordhuis: :)
16:47:51  <mmalecki>bnoordhuis: if you want to hang out here, feel invited :)
16:48:21  <bnoordhuis>mmalecki: yeah, i'll drop by. maybe thursday but friday otherwise
16:52:00  * trepanjoined
16:58:05  <mmalecki>bnoordhuis: okay, word. let me know when and I'll book some fancy restaurant
16:58:11  * pooyaquit (Quit: pooya)
17:03:48  * brsonquit (Ping timeout: 264 seconds)
17:05:09  * brsonjoined
17:17:08  * EhevuTov_joined
17:17:44  * pooyajoined
17:17:58  <mmalecki>bnoordhuis: hey, what's the deal with terminals rejecting all my cards?
17:18:37  <mmalecki>bnoordhuis: do you have some different standards here?
17:20:30  * EhevuTovquit (Ping timeout: 256 seconds)
17:34:15  * philips_quit (Excess Flood)
17:34:38  * trevnorrisjoined
17:39:42  * c4miloquit (Remote host closed the connection)
17:40:22  * stagasquit (Ping timeout: 246 seconds)
17:41:00  * pooyaquit (Quit: pooya)
17:43:32  * c4milojoined
17:44:51  * jmar777quit (Remote host closed the connection)
17:46:46  <indutny>bnoordhuis: pong
17:46:49  * qmx|awaychanged nick to qmx
17:47:13  <indutny>bnoordhuis: this happens to me on freebsd 9
17:47:17  <indutny>in virtualbox
17:47:19  <indutny>I can't build node
17:47:58  <indutny>bnoordhuis: yt?
17:48:07  <indutny>btw, what do you think about my patch?
17:49:15  * philips_joined
17:50:02  * philips_quit (Excess Flood)
17:52:47  <indutny>anyone?
17:52:58  <trevnorris>indutny: what's you latest patch?
17:53:18  <indutny>trevnorris: https://github.com/joyent/node/pull/4595
17:53:25  <indutny>I've updated it
17:53:27  <indutny>and fixed
17:55:07  * `3E|FOODINGchanged nick to `3E|LURKING
17:56:43  * hzjoined
17:58:10  * c4miloquit (Remote host closed the connection)
17:58:15  * philips_joined
17:59:46  <trevnorris>indutny: small thing: "// This two arrays" -> "// These two arrays"
17:59:54  <indutny>ah, ok
17:59:58  <indutny>thank you
18:00:56  <indutny>fixed
18:08:58  * `3E|LURKINGquit (Remote host closed the connection)
18:09:25  * TooTallNatejoined
18:10:10  * pooyajoined
18:10:28  <trevnorris>indutny: whoa. so you keep track of all gaps in the list so you can backfill the sparse array?
18:13:40  <indutny>yes
18:13:52  <indutny>it's well known indian technique
18:14:07  <trevnorris>heh
18:14:55  <trevnorris>sheesh, someone was grammatically challenged while writing their comments. ("This object keep track of the socket there are sended")
18:15:59  <indutny>that wasn't me
18:16:44  <trevnorris>lol. yeah I know.
18:24:33  * EhevuTov_quit (Quit: This computer has gone to sleep)
18:26:09  * `3rdEdenjoined
18:28:51  * kristatequit (Remote host closed the connection)
18:29:19  * kristatejoined
18:30:45  <trevnorris>indutny: so far your changes are looking good, but child_process is confusing the crap out of me.
18:30:54  <indutny>oh, not only you
18:31:07  <indutny>but it's much clearer for me now
18:31:21  <trevnorris>for example: the documentation states that all arguments to execFile are required, but the arguments are still being parsed in the function...
18:34:11  * kristatequit (Ping timeout: 248 seconds)
18:35:50  <trevnorris>indutny: sorry hope this doesn't make me look like an ass: commit msg nit: "all sockets that was sent" -> "all sockets that were sent", "This commit is introducing" -> "This commit introduces", "and track it's status" -> "and track its status", "status. Thi performs" -> "status. This performs", " both of this options" -> "both of these options"
18:39:11  * brsonquit (Ping timeout: 260 seconds)
18:39:51  * brsonjoined
18:45:03  * c4milojoined
18:51:08  * loladirojoined
18:54:17  <trevnorris>indutny: thanks for the getConnections method. was trying to implement that for v0.8 but never quite figured it out.
18:54:52  <hij1nx>isaacs: ping
18:54:58  <isaacs>pong
18:55:03  <hij1nx>w00t
18:55:07  <hij1nx>isaacs: skype?
18:55:42  <isaacs>so, i'm supposed to have a meeting with emily right now
18:55:44  <isaacs>but she's not oline
18:55:49  <indutny>skype?!!?!
18:55:53  <hij1nx>lol
18:55:54  <isaacs>so sure.
18:55:57  <isaacs>why not
18:56:00  <hij1nx>k
18:56:03  <isaacs>indutny: sorry, off topic
18:56:11  <indutny>what?
18:56:12  <isaacs>i mean...
18:56:19  <isaacs>hij1nx: Please stick to the topic of the channel. thanks.
18:56:27  * isaacs/kick isaacs hij1nx
18:56:29  <hij1nx>isaacs: ah, yes. sorry.
18:56:36  <isaacs>;)
18:56:43  <indutny>:)
18:56:47  <indutny>isaacs: review patch
18:56:47  <hij1nx>:D
18:56:49  <indutny>then skype
18:57:01  <indutny>https://github.com/joyent/node/pull/4595
18:57:15  <hij1nx>indutny: <cracks the whip>
19:02:12  * EhevuTovjoined
19:13:00  * lohkeyjoined
19:13:33  * jmar777joined
19:17:45  * EhevuTovquit (Quit: This computer has gone to sleep)
19:19:23  * loladiroquit (Quit: loladiro)
19:21:40  * EhevuTovjoined
19:23:00  * TheJHquit (Ping timeout: 264 seconds)
19:24:10  * loladirojoined
19:30:28  * EhevuTovquit (Quit: This computer has gone to sleep)
19:32:50  * EhevuTovjoined
19:35:55  <trevnorris>isaacs: fyi, but in v0.8 where negative values passed as offset to buffers get past current assert checks. will fix that in my v0.9 buffer performance patches.
19:52:02  <isaacs>trevnorris: ew.
19:52:40  <isaacs>indutny: i need to eat before i can adequately review anything.
19:52:48  <isaacs>indutny: i'll take a look in an hour or so.
19:54:14  * jmar777quit (Ping timeout: 260 seconds)
19:55:26  * jmar777joined
19:55:46  * jmar777quit (Remote host closed the connection)
19:56:12  * jmar777joined
19:59:40  * TheJHjoined
20:03:38  * jmar777quit (Ping timeout: 255 seconds)
20:08:12  <bnoordhuis>back
20:08:16  <bnoordhuis>indutny: around?
20:16:04  * TheJHquit (Ping timeout: 240 seconds)
20:25:21  <trevnorris>bnoordhuis: any tips for GH-4504? deanm is pretty insistent I use his bswap libraray.
20:25:54  <bnoordhuis>trevnorris: i was going to ask you two to work it out between yourselfs and then send a single PR :)
20:26:15  <trevnorris>bnoordhuis: lol.
20:27:29  <trevnorris>bnoordhuis: fwiw, beyond the benchmarks I've listed, I can't use his typed array methods because it doesn't have the ability to noAssert. (which would be a change in api)
20:27:32  <tjfontaine>not sure why deanm isn't on irc
20:27:47  * hzquit
20:28:32  <trevnorris>tjfontaine: is he ever? i've been wanting to chat him here instead of the massive conversation we have going on gh.
20:28:46  <tjfontaine>indeed, maybe he just hasn't been properly invited :)
20:30:21  * roxlujoined
20:30:49  <roxlu>hi, a while ago there were some talks about a non-blocking run loop, I was wondering what the state of that feature is?
20:31:29  <tjfontaine>see uv_run2
20:31:34  <roxlu>nice! ok
20:37:55  * TheJHjoined
20:38:06  <bnoordhuis>roxlu: we're renaming uv_run2 to uv_run before v0.10
20:38:21  <bnoordhuis>as a fyi
20:39:25  <trevnorris>bnoordhuis: since I have almost no ability to detect sarcasm, were you serious?
20:39:36  <bnoordhuis>trevnorris: i never jest
20:39:43  <tjfontaine>heh
20:41:37  <trevnorris>i have another patch ready after that one is applied. figured didn't want to add anything else to that one since it's taken 2 weeks to get where it is now.
20:41:56  <trevnorris>(fixes a couple small bugs in v0.8)
20:42:36  <bnoordhuis>Command: out/Release/node /home/bnoordhuis/src/nodejs/master/test/simple/test-buffer.js
20:42:38  <bnoordhuis>--- CRASHED ---
20:42:39  <LOUDBOT>I'D RATHER GO TO ROOM THRITEEN-B AND WATCH THE WOMEN SORT IT OUT LIKE LESBIANS
20:42:40  <bnoordhuis>^ wut?
20:42:46  <bnoordhuis>ah, LOUDBOT is back
20:43:14  <trevnorris>bnoordhuis: is that from my patch?
20:43:26  <bnoordhuis>trevnorris: no, that's on the master branch
20:43:34  <bnoordhuis>i think bert's commit from yesterday broke something
20:44:19  <trevnorris>you running on windows?
20:45:09  <bnoordhuis>trevnorris: no, but see commit e501ce4
20:45:53  <trevnorris>bnoordhuis: yeah. looking at it now. my tests have been running fine, or would have been bitching about it. ;-)
20:46:07  <trevnorris>can you tell me what line it crashed on?
20:46:43  <bnoordhuis>v8::internal::CopyChars<char, char> (dest=0x0, src=0x38cfbbb09d68 "\301A\220\244n\002", chars=0) <- bad
20:47:06  <bnoordhuis>smells like the object got gc'd
20:48:03  <bnoordhuis>ah, i know what's happening
20:48:08  <indutny>bnoordhuis: yes
20:48:09  <indutny>I'm here
20:48:12  <indutny>isaacs: thanks
20:48:17  <indutny>isaacs: you should eat more
20:48:22  <bnoordhuis>Buffer(0) creates a zero-length buffer with buffer->data_ == NULL
20:48:38  <bnoordhuis>indutny: i've a v8 gc question, maybe you know
20:49:05  <indutny>shoot
20:49:14  <bnoordhuis>when it moves objects around in the young space, how does it deal with backlinks in the old space?
20:50:03  <bnoordhuis>^ this is not in anyway important or related to something i'm working on
20:50:12  <bnoordhuis>so don't go digging through the sources for me :)
20:50:12  <indutny>erm
20:50:15  <indutny>one sec
20:50:35  <trevnorris>too late. ask a question like that and it's more than a programmer can handle.
20:51:23  * brsonquit (Remote host closed the connection)
20:51:28  <bnoordhuis>yep, off he goes
20:54:04  <trevnorris>bnoordhuis: btw, small bug in buffers where negative offsets make it past assert checks. have that fixed in my next patch.
20:55:42  * EhevuTovquit (Ping timeout: 276 seconds)
20:55:57  <indutny>bnoordhuis: why should it deal with it?
20:56:53  * EhevuTovjoined
20:56:55  <pquerna>https://hacks.mozilla.org/2013/01/building-a-node-js-server-that-wont-melt-a-node-js-holiday-season-part-5/
20:56:55  <bnoordhuis>indutny: well, i don't think dangling pointer are generally acceptable
20:57:00  <pquerna>event loop lag
20:57:03  <indutny>why dangling?
20:57:06  <indutny>pquerna: yes, funny
20:57:21  * pquernawants that as a toggle to turn on in libuv core, a metric of how long running everything took
20:57:30  <bnoordhuis>indutny: say foo lives in the old space and foo.bar points to object bar in the new space
20:57:44  <indutny>what's old and new space
20:57:46  <bnoordhuis>indutny: when bar gets moved, foo.bar is no longer a valid pointer
20:57:52  <indutny>spaces with different tenures?
20:57:55  <bnoordhuis>yes
20:58:00  <indutny>when bar is moved
20:58:04  <indutny>foo.bar is changed
20:58:26  <bnoordhuis>but how does v8 know that foo has a pointer to bar?
20:58:38  <bnoordhuis>the answer is not 'magic fairy dust'
20:59:12  <bnoordhuis>i grepped the source for traces of fairy dust, found none
20:59:58  <bnoordhuis>indutny: to get even more tangential, what kind of gc does candor have?
21:00:23  <indutny>the same one
21:00:25  <indutny>almost
21:00:31  <indutny>with the exception
21:00:35  <indutny>that I don't have incremental marking
21:01:14  <indutny>GC is aware of all references in heap
21:01:18  <indutny>this is how it works
21:01:24  <indutny>because it's marking objects
21:01:29  <indutny>black/grey/white, you know?
21:01:37  <indutny>so, when knowing all references
21:01:43  <indutny>relocating objects is pretty simple
21:01:51  <indutny>look at candor's gc
21:02:10  <indutny>https://github.com/indutny/candor/blob/master/src/gc.cc
21:02:12  <indutny>350 LoC
21:02:15  <bnoordhuis>i gather candor's gc is not generational?
21:02:25  <indutny>generational
21:02:34  <indutny>not incremental
21:02:37  <indutny>but generational moving GC
21:02:38  <mmalecki>bnoordhuis: do you guys have a different credit card standard or what?
21:02:45  <trevnorris>bnoordhuis: so is this partially a race condition? since the test doesn't fail for me.
21:02:57  <bnoordhuis>mmalecki: um, i don't know. what's the issue?
21:03:03  <bnoordhuis>trevnorris: are you on a mac?
21:03:08  <trevnorris>bnoordhuis: linux
21:03:16  <mmalecki>bnoordhuis: I'm not able to use any of my cards
21:03:22  <mmalecki>(in most places)
21:03:47  <bnoordhuis>trevnorris: latest master?
21:04:37  <trevnorris>bnoordhuis: yep. have run that test around 100 times the last 24 hours to check my buffer patches.
21:04:38  <bnoordhuis>mmalecki: the machines are a little more sensitive here, most have anti-fraud measures but they sometimes reject valid cards
21:04:50  <bnoordhuis>had that happen with mine a while ago because it was a little damaged
21:05:11  <indutny>bnoordhuis: so is it clearer now?
21:06:06  <bnoordhuis>trevnorris: odd. it's definitely reproducible here and i can see what the bug is (Buffer::Replace sets data_=NULL when length_==0)
21:06:18  <mmalecki>bnoordhuis: no, I mean, I don't even get to the point of entering my pin code. terminal says it can't handle this kind of a card
21:06:33  <bnoordhuis>indutny: i guess so. i'm probably caught in a stop-and-copy mindset
21:07:01  <bnoordhuis>mmalecki: never had that issue. last time i was in poland, my card just worked
21:07:10  <indutny>bnoordhuis: well, there're write/read barriers
21:07:17  <indutny>but they're not for the case you're describing
21:07:31  <indutny>they're used in incremental marking
21:07:32  <trevnorris>bnoordhuis: give me a few and I'll trace it to see if it does the same. (sure it does, but wonder why it acts differently)
21:07:38  * loladiroquit (Quit: loladiro)
21:07:56  <bnoordhuis>trevnorris: oh, don't bother, it's easy to fix. i'll work up a patch
21:08:03  <trevnorris>ok cool
21:08:25  <indutny>bnoordhuis: ok, lets look at the patch's tests
21:09:24  <bnoordhuis>-var zeroBuffer = new SlowBuffer(0);
21:09:24  <bnoordhuis>+var zeroBuffer = new SlowBuffer(1);
21:09:27  <bnoordhuis>^ trevnorris
21:09:56  <bnoordhuis>kind of a cheap hack but it works because now it actually allocates memory
21:10:06  <trevnorris>ah, ok
21:11:40  <bnoordhuis>i wonder if i should update all buffer functions to check for length_ == 0...
21:12:14  <indutny>bnoordhuis: there's one cool book about Garbage Collection
21:12:25  <indutny>http://www.amazon.com/The-Garbage-Collection-Handbook-Management/dp/1420082795/ref=sr_1_1?ie=UTF8&qid=1358284341&sr=8-1&keywords=garbage+collection
21:12:29  <indutny>in case if you're interested in details
21:12:49  <indutny>if you'll hang out in moscow - you can read mine
21:13:01  <bnoordhuis>hah. i'll hop on a plane right away!
21:16:36  <indutny>this book is worth it
21:16:42  <indutny>no jokes
21:17:42  <trevnorris>son of a b... spent hours figuring out how to use specialized template functions just to realize the bottleneck was actually in some easily fixable js.
21:18:10  <indutny>haha
21:20:27  * stephankquit (Quit: *Poof!*)
21:22:51  <mmalecki>bnoordhuis: jeez guys
21:22:59  <mmalecki>how's that you aren't stoned like all the time
21:23:14  <bnoordhuis>mmalecki: it's called 'self control'
21:27:17  <mmalecki>bnoordhuis: never heard of it, is it new?
21:27:32  * stephankjoined
21:27:41  <bnoordhuis>mmalecki: it's what you learn when you join the marine corps
21:27:48  <bnoordhuis>that and how to do 100 pushups
21:28:22  * loladirojoined
21:28:24  * loladiroquit (Client Quit)
21:28:58  <tjfontaine>bnoordhuis: fwiw canonical address would be freenode.net :)
21:29:18  <bnoordhuis>tjfontaine: am i posting freenode.org all the time?
21:29:51  <tjfontaine>dunnno, but you just did to deanm
21:50:13  * rendarquit
21:51:26  * loladirojoined
21:56:45  * brsonjoined
22:12:51  * `3rdEdenquit (Quit: BRB, sleep)
22:22:45  <trevnorris>bnoordhuis: dude, i'm getting worn out on this one patch. i mean, how much do I have to outline of why I did what I did? https://github.com/joyent/node/pull/4504#issuecomment-12292852
22:33:34  * paddybyersquit (Ping timeout: 240 seconds)
22:34:02  <isaacs>trevnorris: reading that pr comment thread is literally putting me to sleep
22:34:07  * wolfeidaujoined
22:34:25  <trevnorris>isaacs: lol, yeah. i think I've spent more time in the comments than on the code.
22:34:35  <isaacs>trevnorris: maybe i'm misreading this, but it seems a bit like overoptimizing at this point
22:35:20  <isaacs>what do you think the best approach is? just merge this as it stands now?
22:35:39  <trevnorris>isaacs: yeah. I'm game for using what deanm has, but it's failing a buffer test.
22:35:51  <isaacs>well... that's no good
22:36:11  <trevnorris>and the perf advantage is a crazy edge case that users shouldn't be using anyways.
22:37:07  <trevnorris>as it stands right now, all write methods are ~3x's faster than they were.
22:37:25  <trevnorris>and have more aggressive checks.
22:38:04  <trevnorris>even included my own micro sync/async benchmark lib with complete suit to make sure that was the case.
22:40:22  <bnoordhuis>http://code.google.com/p/v8/issues/detail?id=2493 <- turns out it's nominally a v8 bug
22:40:50  <trevnorris>really? hm.
22:41:46  * c4miloquit (Remote host closed the connection)
22:42:40  <trevnorris>bnoordhuis: what made you think to look at the v8 side?
22:42:57  <bnoordhuis>trevnorris: because other Write* functions don't segfault when buffer==NULL
22:43:19  <trevnorris>ah, the give away.
22:44:51  <trevnorris>bnoordhuis: well if/until it becomes a bug fix in 3.15, you just going to use Buffer(1)?
22:45:05  <trevnorris>also, still don't understand why that's not happening in linux.
22:45:10  <bnoordhuis>trevnorris: no, i'll land the v8 patch and a regression test
22:46:05  <bnoordhuis>recompiling, recompiling...
22:47:54  <MI6>joyent/node: Ben Noordhuis master * 9668df8 : v8: work around String::WriteAscii segfault See http://code.google.com/p - http://git.io/xQQ5bw
22:50:15  <bnoordhuis>trevnorris: you work at mozilla, don't you?
22:50:22  <trevnorris>bnoordhuis: yup
22:50:27  <bnoordhuis>what's your job?
22:50:33  <bnoordhuis>rather, what do you work on?
22:51:27  <bnoordhuis>indutny: you may be right about that lifecycle issue in stream_wrap.cc
22:51:29  <trevnorris>part of the metrics team. do data visualization dashboards
22:51:55  <trevnorris>and any other off shoot web things that don't fit the fold of tool they are using.
22:52:06  <trevnorris> /tool/tools
22:52:37  * lohkeyquit (Read error: Connection reset by peer)
22:52:38  * lohkey_joined
22:52:38  * lohkey_changed nick to lohkey
22:53:00  <bnoordhuis>trevnorris: okay. is it interesting work?
22:53:04  * paddybyersjoined
22:53:42  <indutny>bnoordhuis: : you think so?
22:53:52  <trevnorris>bnoordhuis: yeah it's fun. and since i'm basically on call between projects I have time to work on node.
22:54:17  <bnoordhuis>indutny: yes. it probably works now by accident because other things keep references to the stream
22:54:20  <bnoordhuis>but it's very brittle
22:54:26  <indutny>yes
22:54:35  <bnoordhuis>trevnorris: ah, that's nice :)
22:55:09  <bnoordhuis>indutny: i guess it'll keep on working on unix because we simply copy out the fd
22:55:21  <indutny>we copy it late
22:55:28  * jmar777joined
22:55:34  <indutny>not in the same tick
22:56:42  <bnoordhuis>indutny: no, same tick. still, brittle
22:56:47  <indutny>hm...
22:56:47  <indutny>ok
22:56:48  <indutny>brb
22:56:50  <bnoordhuis>and the req maintains a pointer to the stream
22:56:53  <bnoordhuis>nothing good can come of that
22:57:28  <bnoordhuis>i'm not going to fix that tonight though, it's late. i'll open an issue
23:00:26  * bradleymeckjoined
23:02:12  <MI6>joyent/libuv: Ben Noordhuis master * 768b524 : unix: make stream.c more DRY - http://git.io/dQ_Vtw
23:03:10  * loladiroquit (Quit: loladiro)
23:04:32  * travis-cijoined
23:04:32  <travis-ci>[travis-ci] joyent/libuv#1020 (master - 768b524 : Ben Noordhuis): The build is still failing.
23:04:32  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/c931e317465b...768b5246398c
23:04:32  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/4175401
23:04:32  * travis-cipart
23:04:55  <bnoordhuis>grr, travis
23:05:14  * loladirojoined
23:05:16  <indutny>heh
23:06:19  * stagasjoined
23:06:55  <MI6>joyent/libuv: bnoordhuis created branch travis-fixes - http://git.io/cV1TAQ
23:09:04  <bnoordhuis>still failing :/
23:09:11  * travis-cijoined
23:09:11  <travis-ci>[travis-ci] joyent/libuv#1021 (travis-fixes - 63386d0 : Ben Noordhuis): The build failed.
23:09:11  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/commit/63386d0c513a
23:09:11  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/4175557
23:09:11  * travis-cipart
23:10:09  * stagasquit (Read error: Connection reset by peer)
23:11:43  <bnoordhuis>i guess the bug is in the test though; it assumes that a write will eventually fail because the socket is backed up
23:11:57  <bnoordhuis>if a machine is suitably fast (or possibly suitably slow) that won't happen
23:12:11  <indutny>heh
23:12:15  <indutny>it's kind of stupid test
23:13:24  <indutny>ok, time to sleept
23:13:25  <indutny>ttyl
23:14:11  <bnoordhuis>sleep tight, fedor
23:14:13  <MI6>joyent/libuv: Ben Noordhuis travis-fixes * ae2180c : debug travis test failure - http://git.io/UdXLGQ
23:14:22  * stagasjoined
23:15:37  <bnoordhuis>i have to admit that travis's real-time test view - when it works - is pretty slick
23:15:54  <bnoordhuis>too bad the test is still failing :/
23:16:37  * travis-cijoined
23:16:37  <travis-ci>[travis-ci] joyent/libuv#1022 (travis-fixes - ae2180c : Ben Noordhuis): The build is still failing.
23:16:37  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/63386d0c513a...ae2180cb6a1f
23:16:37  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/4175703
23:16:37  * travis-cipart
23:17:00  * TheJHquit (Ping timeout: 264 seconds)
23:18:51  <MI6>joyent/libuv: Ben Noordhuis travis-fixes * 86021e9 : debug travis test failure - http://git.io/QEC6qQ
23:21:17  * travis-cijoined
23:21:18  <travis-ci>[travis-ci] joyent/libuv#1023 (travis-fixes - 86021e9 : Ben Noordhuis): The build is still failing.
23:21:18  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/ae2180cb6a1f...86021e9fc703
23:21:18  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/4175790
23:21:18  * travis-cipart
23:21:49  * loladiroquit (Quit: loladiro)
23:22:41  <trevnorris>bnoordhuis: that looks like a blast...
23:22:52  <bnoordhuis>don't get me started :/
23:23:37  <isaacs>bnoordhuis: i've sort of lost the faith with travis
23:23:49  <isaacs>bnoordhuis: it's good for little module type programs, but for bigger things, i'ts just too flaky
23:23:53  * loladirojoined
23:24:00  <bnoordhuis>isaacs: it is but until we have something better...
23:24:06  <isaacs>bnoordhuis: sure
23:24:23  <isaacs>bnoordhuis: so, speaking of having something better... did you get any further on v0.8 crushing master's performance?
23:24:33  <tjfontaine>I turned my jenkins off for now, because it wasn't running on personal hardware, but it will resume shortly
23:24:35  <bnoordhuis>no. it's on my todo list
23:25:13  <isaacs>ok. well.. if we're going to get v0.10 out this month, it's gotta get done asap.
23:25:13  <bnoordhuis>i should say "not yet but it's on my todo list"
23:25:51  * isaacsapparently has the cold that will not sop
23:25:52  <isaacs>*stop
23:26:06  <isaacs>i think it's gone and then i'm dripping and sneezing the next day
23:27:01  <trevnorris>isaacs: I'm creating a set of benchmarks to be applied after my PR is pulled. should help identify exactly where the problems are coming from.
23:27:24  <isaacs>awesome
23:27:27  <isaacs>which PR?
23:28:54  <trevnorris>isaacs: GH-4504. you'll see i've included several for Buffers and DataViews.
23:29:12  <trevnorris>plan on doing that across the board.
23:29:58  <isaacs>ah, i see.
23:30:15  <trevnorris>isaacs: the need is for the new `_bench_timer.js` that makes it easy to generate more reliable async tests.
23:32:07  <MI6>joyent/libuv: Ben Noordhuis master * 4cbd5c7 : test: remove bad tcp_write_error test It makes the assumption that if yo - http://git.io/BolJhg
23:32:21  <isaacs>trevnorris: it'd be nice to have a consistent output for our benchmarks.
23:32:46  <isaacs>trevnorris: of course, some of them are kind of tricky (like http.sh/http_flamegraph.sh)
23:33:39  <trevnorris>isaacs: eh, I'll figure it out. ;-)
23:34:05  <bnoordhuis>okay, off to bed. sleep tight, people
23:34:33  * travis-cijoined
23:34:33  <travis-ci>[travis-ci] joyent/libuv#1024 (master - 4cbd5c7 : Ben Noordhuis): The build has errored.
23:34:33  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/768b5246398c...4cbd5c7b3209
23:34:33  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/4176080
23:34:33  * travis-cipart
23:34:43  <trevnorris>bnoordhuis: heh, awesome way to end the day.
23:38:36  * bnoordhuisquit (Ping timeout: 264 seconds)
23:41:08  <indutny>I wonder where is Mikael
23:41:28  <indutny>Oops
23:41:32  <indutny>Mikeal
23:41:43  <indutny>Anyway
23:41:59  <indutny>isaacs: Have you seen him recently?
23:50:23  * bradleymeckquit (Quit: bradleymeck)
23:53:03  * paddybyersquit (Ping timeout: 245 seconds)
23:55:20  <TooTallNate>indutny: are you on an iDevice?
23:55:33  <TooTallNate>indutny: your capitalization is suggestive
23:56:15  <isaacs>indutny: not very recently
23:56:24  <isaacs>indutny: i'm going to see him thursday