00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:01:19  <trevnorris>strange. the string length from the above is always 16384, regardless of the length.
00:01:59  * c4milojoined
00:03:03  * brsonquit (Ping timeout: 240 seconds)
00:03:47  <trevnorris>bnoordhuis: ok, you can now pass arguments for running a single test.
00:04:44  * travis-cijoined
00:04:44  <travis-ci>[travis-ci] joyent/libuv#1027 (master - 4ba03dd : Ben Noordhuis): The build has errored.
00:04:44  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/4cbd5c7b3209...4ba03ddd569b
00:04:44  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/4197552
00:04:44  * travis-cipart
00:05:08  * brsonjoined
00:05:11  <tjfontaine>the build has errored, that's an interesting failure travis
00:06:44  * AvianFlujoined
00:07:05  * paddybyersquit (Ping timeout: 255 seconds)
00:07:33  * c4miloquit (Remote host closed the connection)
00:12:33  <MI6>joyent/node: bnoordhuis created branch fix-buffer-bug - http://git.io/SyBRYg
00:12:44  <bnoordhuis>^ review
00:12:49  <bnoordhuis>plus question mark
00:12:59  <bnoordhuis>piscisaureus, trevnorris: ^
00:13:57  <piscisaureus>bnoordhuis: you're relying on undefined behavior (signed overflow)
00:13:57  <piscisaureus>:-p
00:14:00  <piscisaureus>but lgtm
00:14:10  <bnoordhuis>piscisaureus: length and offset are unsigned
00:14:11  <trevnorris>bnoordhuis: another one for you (just a side). `var buf = new Buffer(1); buf.length = 0xffffffff; buf.slice(0xffffff0, 0xffffffe);`
00:14:25  <piscisaureus>bnoordhuis: although I'd have to say, it doesn't adhere to your own style rules
00:14:34  <bnoordhuis>piscisaureus: how so?
00:14:38  <bnoordhuis>you mean the braces?
00:14:43  <piscisaureus>bnoordhuis: yup
00:14:56  <bnoordhuis>that's node core style
00:15:06  <bnoordhuis>it's libuv where i reign supreme
00:15:10  <piscisaureus>ghahaha
00:15:10  <bnoordhuis>i mean, don't use braces
00:15:35  <piscisaureus>when did we start having 2 styles? ...
00:15:37  <bnoordhuis>trevnorris: as another test case, you mean?
00:15:49  <trevnorris>bnoordhuis: no. that will cause a seg fault.
00:15:56  <bnoordhuis>trevnorris: with my patch?
00:16:10  <bnoordhuis>damnit, fedor broke one of the tls patches
00:16:13  <piscisaureus>bnoordhuis: now that you're at it, could you also make throw('oob') a little less terrible
00:16:22  <bnoordhuis>piscisaureus: yes, but not in v0.8
00:16:29  <piscisaureus>good
00:16:29  <trevnorris>let me apply it and see.
00:16:33  <bnoordhuis>i'm going to change buffer.js to throw descriptive RangeErrors
00:16:44  <piscisaureus>bnoordhuis: I'll buy you a beer some day
00:17:00  <bnoordhuis>maybe tomorrow, if the trains ride
00:17:17  <piscisaureus>o god dont get me started
00:17:21  <piscisaureus>yesterday was terrible
00:17:39  <piscisaureus>although usually they get "used" to it after a couple of days so you might get lucky
00:18:52  <trevnorris>bnoordhuis: cool, fixed. yeah, make that another test.
00:20:37  <trevnorris>the users ability to change buffer.length and buffer.parent.length has some strange consequences. will let you know if find anything else.
00:21:38  * travis-cijoined
00:21:38  <travis-ci>[travis-ci] joyent/libuv#1028 (master - e7f384f : Ben Noordhuis): The build has errored.
00:21:38  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/4ba03ddd569b...e7f384f85324
00:21:38  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/4198170
00:21:38  * travis-cipart
00:21:48  <trevnorris>bnoordhuis: ok, so going to keep Error instead of RangeError for backwards compatibility?
00:22:00  <bnoordhuis>trevnorris: in v0.8. i'm going to change that in master
00:22:05  <trevnorris>cool
00:22:35  <bnoordhuis>but not tonight, it's 1:30 am :)
00:22:37  <MI6>joyent/node: Ben Noordhuis v0.8 * 498200b : buffer: reject negative SlowBuffer offsets Reject negative offsets in Sl - http://git.io/pQCyYg
00:25:26  <trevnorris>heh, i forget about the timezone difference.
00:31:08  <trevnorris>piscisaureus: what do you think about this one: `Buffer(1).parent.writeHex('a',-0xffffffff,1);`
00:31:43  <trevnorris>just not sure why it causes a mother load of characters to display on the screen.
00:32:34  <TooTallNate>trevnorris: hahaha, you're a madman, i the best possible way
00:32:43  <TooTallNate>s/i/in
00:32:43  <piscisaureus>trevnorris: that's because the SlowBufer toString() just prints the buffer contents
00:32:51  <trevnorris>piscisaureus: ah, ok.
00:33:24  <piscisaureus>bnoordhuis: so *if* you come tomorrow, are you coming before the 6pm call or after the 7pm call?
00:33:42  <bnoordhuis>piscisaureus: probably before
00:34:00  <bnoordhuis>right, i forgot we have all those bloody conference calls
00:34:00  <trevnorris>TooTallNate: heh, thanks. I have a knack for breaking things. if it can be broken, I'll find a way. ;-)
00:34:26  <TooTallNate>is node the 7pm?
00:34:30  * karupaneruraquit (Excess Flood)
00:34:39  <bnoordhuis>TooTallNate: no, the 6pm one
00:34:55  <TooTallNate>DST strikes again
00:36:56  <trevnorris>hm, so not sure why this doesn't throw an error: `Buffer(1).parent.hexWrite('fa',-0xffffffff,1)`
00:38:08  * karupanerurajoined
00:38:56  <bnoordhuis>trevnorris: it doesn't check if start >= 0
00:39:15  <bnoordhuis>arguably a bug but not a security flaw
00:40:31  <trevnorris>bnoordhuis: heh, yeah. now I'm just screwing around.
00:41:02  <trevnorris>just figured out that it's just writing a new object property with that value.
00:44:21  <trevnorris>bnoordhuis: what about this: `var buf = Buffer(1); buf.parent.makeFastBuffer(buf.parent, buf, -0xffffffff, -0xfffffffe);`
00:44:30  * EhevuTov__joined
00:44:40  <trevnorris>sorry. typo
00:44:59  <bnoordhuis>trevnorris: try it? :)
00:45:07  <trevnorris>var buf = Buffer(1); buf.parent.constructor.makeFastBuffer(buf.parent, buf, -0xffffffff, -0xfffffffe);
00:45:16  <trevnorris>did, returned a different memory address.
00:47:29  <bnoordhuis>trevnorris: not sure what you mean. i don't see anything wrong
00:47:35  * EhevuTov_quit (Ping timeout: 252 seconds)
00:48:15  <bnoordhuis>trevnorris: oh wait, i understand your confusion
00:48:33  * EhevuTov__quit (Client Quit)
00:48:34  <bnoordhuis>trevnorris: -0xffffffff and -0xfffffffe are converted to uint32s
00:48:45  <bnoordhuis>that is, they become 1 and 2 respectively
00:49:07  <bnoordhuis>err, am i calculating that right?
00:49:13  * bnoordhuiscounts hexadecimal digits
00:49:42  <bnoordhuis>yeah, i'm reasonably sure i have that right
00:51:41  <bnoordhuis>okay, enough talk. sleep tight all
00:51:59  <trevnorris>ah, got it. thanks
00:56:23  * bnoordhuisquit (Ping timeout: 252 seconds)
00:57:26  <trevnorris>TooTallNate: think I should file bugs for things like these (e.g. ability to grab all contents in a buffer pool)?
00:57:39  <TooTallNate>trevnorris: ya definintely
00:57:46  <trevnorris>TooTallNate: ok
00:58:32  * loladiroquit (Remote host closed the connection)
00:58:46  * loladirojoined
01:00:22  <trevnorris>TooTallNate: this one is ridiculous: GH-4610
01:02:00  <piscisaureus>trevnorris: so, what's wrong with that?
01:02:27  <trevnorris>piscisaureus: I'm able to resize the buffer and grab all the contents of the buffer pool.
01:02:39  <piscisaureus>so, is that bad?
01:03:14  <CoverSlide>That's not horrible
01:03:20  <trevnorris>piscisaureus: i dunno. just figured that each buffer should be allowed to access another buffer's space.
01:03:32  <trevnorris> /should/shouldn't
01:03:50  <piscisaureus>trevnorris: I don't think there's much we can do about it, or that it is really that bad
01:05:05  <trevnorris>yeah. it's a freaky edge case. if not a problem that's cool. just reporting it.
01:17:28  * mikealquit (Quit: Leaving.)
01:19:35  * trevnorrisquit (Quit: Leaving)
01:24:36  * jmar777quit (Remote host closed the connection)
01:24:55  * brsonquit (Quit: leaving)
01:25:12  * brsonjoined
01:36:37  * pooyaquit (Quit: pooya)
01:43:15  * abraxasjoined
01:47:45  * mikealjoined
01:54:50  * lohkeyjoined
01:57:51  * c4milojoined
01:58:12  * mikealquit (Ping timeout: 244 seconds)
02:02:43  * c4miloquit (Ping timeout: 248 seconds)
02:11:56  * EhevuTovjoined
02:17:30  * lohkeyquit (Ping timeout: 276 seconds)
02:19:24  * jmar777joined
02:23:54  * mikealjoined
02:31:43  * dapquit (Quit: Leaving.)
02:34:00  * qmx|awaychanged nick to qmx
02:43:58  * qmxchanged nick to qmx|away
03:04:46  * AvianFluquit (Remote host closed the connection)
03:09:48  * piscisaureusquit (Quit: ~ Trillian Astra - www.trillian.im ~)
03:41:28  * lohkeyjoined
03:46:41  * c4milojoined
03:50:59  * c4miloquit (Ping timeout: 248 seconds)
03:54:12  * kazuponjoined
03:54:46  * lohkeyquit (Quit: lohkey)
04:07:23  * lohkeyjoined
04:20:09  * EhevuTovquit (Quit: This computer has gone to sleep)
04:21:01  * EhevuTovjoined
04:30:59  * jmar777quit (Remote host closed the connection)
04:42:27  * brsonquit (Ping timeout: 276 seconds)
04:52:45  * trevnorrisjoined
05:10:59  * brsonjoined
05:25:20  * sblomjoined
05:31:58  * philips_quit (Excess Flood)
05:40:20  * philips_joined
05:52:56  * trevnorrisquit (Ping timeout: 245 seconds)
05:54:10  * TheJHjoined
05:55:32  * philips_quit (Excess Flood)
05:58:19  * philips_joined
06:06:28  * TheJHquit (Ping timeout: 248 seconds)
06:06:41  * wolfeidauquit (Remote host closed the connection)
06:07:07  * kazuponquit (Remote host closed the connection)
06:09:06  * kazuponjoined
06:32:14  * TooTallNatequit (Quit: Computer has gone to sleep.)
06:38:49  * mikealquit (Read error: Connection reset by peer)
06:44:42  * paddybyersjoined
06:59:03  * mikealjoined
06:59:44  * mikealquit (Client Quit)
07:06:08  * loladiroquit (Quit: loladiro)
07:06:20  * mikealjoined
07:21:11  * c4milojoined
07:22:36  * toothrotquit (Ping timeout: 272 seconds)
07:25:13  * felixgejoined
07:25:14  * felixgequit (Changing host)
07:25:14  * felixgejoined
07:25:15  * c4miloquit (Ping timeout: 244 seconds)
07:30:52  * `3rdEdenjoined
07:36:08  * lohkeyquit (Quit: lohkey)
07:44:56  * loladirojoined
07:45:21  * toothrjoined
07:45:53  * EhevuTovquit (Quit: This computer has gone to sleep)
07:46:41  * rendarjoined
07:47:18  <indutny>morning
07:55:59  * sblomquit (Ping timeout: 255 seconds)
08:02:49  * brsonquit (Read error: Connection reset by peer)
08:04:33  * loladiroquit (Quit: loladiro)
08:14:15  * indexzerojoined
08:19:01  * Raltjoined
08:29:00  * indexzeroquit (Quit: indexzero)
08:57:39  * trevnorrisjoined
09:07:24  * c4milojoined
09:11:31  * c4miloquit (Ping timeout: 248 seconds)
09:27:22  * TooTallNatejoined
09:27:44  * TooTallNatequit (Client Quit)
09:50:01  * hzjoined
09:56:24  * kazuponquit (Remote host closed the connection)
10:00:44  * kazuponjoined
10:04:27  * kazuponquit (Remote host closed the connection)
10:14:31  * trevnorrisquit (Quit: Leaving)
10:39:33  * rumpquit (Quit: rump)
10:42:50  * stagasjoined
10:48:33  * wolfeidaujoined
10:52:55  * c4milojoined
10:56:13  * stagasquit (Read error: Connection reset by peer)
10:57:07  * c4miloquit (Ping timeout: 248 seconds)
11:02:22  * abraxasquit (Remote host closed the connection)
11:02:59  * abraxasjoined
11:07:02  * abraxasquit (Ping timeout: 240 seconds)
11:10:39  * kazuponjoined
11:20:19  * stagasjoined
11:34:09  * qmx|awaychanged nick to qmx
11:34:48  * bnoordhuisjoined
11:34:58  <indutny>bnoordhuis: hohoho
11:35:06  <MI6>joyent/libuv: Ben Noordhuis master * 629a59b : linux: use stdint types in structs Use the typedefs from stdint.h to avo - http://git.io/Dyehpw
11:35:09  <bnoordhuis>indutny: merry christmas!
11:35:28  <bnoordhuis>mmalecki: i probably can't make it today. still have a ton of work to do and not nearly enough time to do it in
11:35:36  <bnoordhuis>but i'll probably drop by tomorrow
11:36:05  <bnoordhuis>(somewhat contingent on an appointment tomorrow afternoon not taking too long)
11:37:24  <indutny>bnoordhuis: I still can't build node on freebsd 9 :(
11:37:25  * travis-cijoined
11:37:25  <travis-ci>[travis-ci] joyent/libuv#1029 (master - 629a59b : Ben Noordhuis): The build has errored.
11:37:25  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/e7f384f85324...629a59b35b1a
11:37:25  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/4207760
11:37:25  * travis-cipart
11:37:31  <indutny>some weird headers problems
11:37:34  <bnoordhuis>indutny: what's the issue?
11:37:37  <indutny>though, I'm on another stuff right now
11:37:46  <indutny>setgroups() not defined
11:37:50  <indutny>and some problem with cares bindings
11:37:56  <bnoordhuis>oh right, you mentioned that
11:38:19  <bnoordhuis>i'll look into it sometime
11:41:51  * qmxchanged nick to qmx|coffee
12:04:29  * qmx|coffeechanged nick to qmx
12:10:07  * kazuponquit (Remote host closed the connection)
12:23:20  <mmalecki>bnoordhuis: too bad
12:24:40  <indutny>mmalecki: are you still stoned?
12:24:55  <mmalecki>indutny: yes
12:25:00  <indutny>I see
12:25:08  <mmalecki>I mean, it's Amsterdam damn it
12:27:03  <indutny>is weed cheap here?
12:27:06  <indutny>s/here/there
12:27:09  <indutny>s/here/there/
12:30:36  <mmalecki>indutny: cheap as hell. 10 euro for 1.5 g is what I just paid
12:30:42  <mmalecki>for white widow
12:32:57  * sgallaghjoined
12:33:12  <bnoordhuis>i get angry when people revert commits and don't put in the commit log why >:(
12:33:27  <mmalecki>bnoordhuis: I revert the revert when I see that
12:33:48  <mmalecki>proved to work in most cases
12:33:49  <bnoordhuis>mmalecki: won't work in this case. i'm doing some git archeology
12:34:00  <mmalecki>proved to break production in even more cases
12:35:40  * piscisaureus_joined
12:37:45  * c4milojoined
12:38:32  <mmalecki>piscisaureus_: do you have any restaurants you want to grab dinner in?
12:38:35  <MI6>joyent/node: Ben Noordhuis v0.8 * 08ac9fe : test: add cluster 'bind twice' test This test starts two clustered HTTP - http://git.io/U3CneA
12:42:11  * c4miloquit (Ping timeout: 248 seconds)
12:43:57  <piscisaureus_>mmalecki: I don't have a particular restaurant in mind, but we'll find something :-)
12:48:45  <bnoordhuis>yay! down to 99 unread emails!
12:52:01  * jmar777joined
12:52:26  <MI6>joyent/node: Ryunosuke SATO master * 562d3f1 : doc: modify documentation style about 'Stability: 5' 'Stability: 5' is d - http://git.io/lrVWeA
12:53:58  * sgallaghquit (Ping timeout: 256 seconds)
12:54:55  * stagasquit (Ping timeout: 246 seconds)
12:57:08  <piscisaureus_>bnoordhuis: yay
12:57:17  <indutny>yoy
12:57:24  <piscisaureus_>bnoordhuis: now to bug you - did you talk to your SO about our all hands yet?
12:57:42  <bnoordhuis>piscisaureus_: yes. i think i have appointments in all four weeks of february
12:57:51  <bnoordhuis>or maybe i should say 'we'
12:58:18  * stagasjoined
12:58:50  * jmar777quit (Remote host closed the connection)
13:07:28  * stagas_joined
13:07:42  * sgallaghjoined
13:09:08  * stagasquit (Ping timeout: 248 seconds)
13:09:23  * stagas_changed nick to stagas
13:16:24  <piscisaureus_>hey mmalecki, are you in amsterdam tomorrow?
13:16:52  <mmalecki>piscisaureus_: yes
13:17:03  <mmalecki>I'm in Amsterdam up to Monday
13:17:10  <mmalecki>I leave around 11 PM
13:17:22  <mmalecki>(on Monday)
13:17:54  <mmalecki>if tomorrow works better for you, let's make it tomorrow
13:18:10  <piscisaureus_>mmalecki: it suits me better. Also Ben can't make it today but he will be here tomorrow.
13:18:29  <mmalecki>piscisaureus_: okay, so tomorrow for a dinner and beers :)
13:18:35  <piscisaureus_>yes
13:18:53  <piscisaureus_>we can meet earlier tomorrow as well because I have no meetings in the evening
13:19:06  <indutny>stupid cluster
13:19:09  <indutny>and child_process
13:19:11  <indutny>and streams2
13:19:25  <indutny>for some reason I'm getting 'end' event on socket
13:19:28  <mmalecki>piscisaureus_: wonderful
13:19:32  <indutny>which wasn't ended
13:19:43  <indutny>nor it has been timeouted
13:19:46  <piscisaureus_>cool
13:25:34  <MI6>joyent/libuv: bnoordhuis created branch issue687 - http://git.io/eYBHoQ
13:25:45  <bnoordhuis>indutny, piscisaureus_: ^ want to review that?
13:25:47  * bnoordhuisis biab
13:27:53  * travis-cijoined
13:27:53  <travis-ci>[travis-ci] joyent/libuv#1030 (issue687 - 9d4a16e : Ben Noordhuis): The build has errored.
13:27:53  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/commit/9d4a16eefe9d
13:27:53  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/4209462
13:27:53  * travis-cipart
13:48:57  <indutny>bnoordhuis: yt?
13:53:11  <roxlu>hi guys, I'm porting my code to windows and gettings tons of errors; do I need to add a #define somewhere to tell libuv I'm compiling on windows ?
13:56:51  <roxlu>I especially like this message from MSVC: cannot convert parameter 3 from 'sockaddr_in' to 'sockaddr_in'
13:58:16  <piscisaureus_>roxlu: no. But you should include uv.h :-)
13:58:23  * hzquit (Disconnected by services)
13:58:26  <piscisaureus_>roxlu: *before* you include windows.h
13:58:27  * hzjoined
13:58:29  <piscisaureus_>(if you do that)
13:58:59  <roxlu>hmm some other code might include windows.h, not my networking code
13:59:01  <roxlu>thanks
13:59:06  * roxluchecking
14:04:45  <roxlu>piscisaureus_: hmm can't really get around this.. I thought there were #defines for windows to fix this
14:05:42  <piscisaureus_>roxlu: you shouldn't need them because libuv sets that all up
14:06:03  <piscisaureus_>roxlu: do you have the code on github somewhere?
14:06:48  <roxlu>hmm not this particular code, but I'm using GLFW which probably includes windows.h
14:07:28  <roxlu>and I'm using a couple of 'base' classes for my app whichi I can't really change because I'm using them for tons of other apps too
14:07:37  <indutny>piscisaureus_: wanna give me a hand of help?
14:25:51  * c4milojoined
14:28:38  * jmar777joined
14:29:55  * c4miloquit (Ping timeout: 248 seconds)
14:51:26  <roxlu>ok slowly removing errors in MSVC :( ... now geting this: https://gist.github.com/fc0b52bb905406108123
14:51:36  <roxlu>probably the PASCAL convention ther
14:58:43  * `3rdEden_joined
14:58:44  * felixge_joined
14:58:44  * felixge_quit (Changing host)
14:58:44  * felixge_joined
15:03:26  * bnoordhu1sjoined
15:03:31  * ryah_joined
15:03:39  <indutny>bnoordhuis: hoho
15:04:06  <indutny>yt?
15:07:31  <indutny>so, I've encountered odd node.js bug
15:07:39  <indutny>I thought it was related to my send(fd) patches
15:07:45  <indutny>but it seems to be reproducible on master too
15:07:47  * bnoordhuisquit (*.net *.split)
15:07:48  * `3rdEdenquit (*.net *.split)
15:07:48  * felixgequit (*.net *.split)
15:07:48  * ryahquit (*.net *.split)
15:07:50  * felixge_changed nick to felixge
15:07:53  <indutny>ok, great
15:07:59  <indutny>best time for network split
15:08:01  <roxlu>hehe
15:08:44  <roxlu>indutny: it seems there is something peculiar in uv-win.h too, line 106
15:08:53  * stagasquit (Quit: ChatZilla 0.9.89-rdmsoft [XULRunner])
15:08:54  <roxlu>with (with MSVC)
15:08:57  <indutny>I'm not expert in this thing
15:09:02  <indutny>but node builds on windows
15:09:08  <indutny>so I guess it's your configuration options
15:09:26  <roxlu>yeah it's probably a #define I'm missing
15:09:46  <indutny>bnoordhu1s: there?
15:11:11  * hzquit
15:11:42  <indutny>great
15:14:06  * bradleymeckjoined
15:14:30  * sgallaghquit (Ping timeout: 256 seconds)
15:14:31  * sgallagh1joined
15:14:38  * `3rdEden_changed nick to `3rdEden
15:23:43  <bnoordhu1s>indutny: here
15:24:01  <bnoordhu1s>i tell you, buying a printer in a store is an exercise in frustration
15:24:14  <roxlu>:)
15:26:07  <MI6>joyent/libuv: Ben Noordhuis master * 9d4a16e : linux: add futimes() fallback The utimensat() syscall was added in 2.6.2 - http://git.io/mFBSrw
15:28:40  <bnoordhu1s>so github now puts a big "please read the contributing guide before submitting" message on new issue/new PR pages
15:28:40  <indutny>bnoordhu1s: haha
15:28:45  <bnoordhu1s>but do people read it? nooo
15:28:47  <roxlu>hmm libuv build script fails on Windows too
15:28:48  <indutny>bnoordhu1s: so
15:28:52  <indutny>bnoordhu1s: I've encountered bug
15:28:55  * bnoordhu1schanged nick to bnoordhuis
15:28:56  <indutny>it's pretty odd
15:29:03  <indutny>and I can't figure out what is causing it
15:29:12  <indutny>I thought it was related to my send patch
15:29:18  <indutny>but it's reproducible on master too
15:29:51  <indutny>https://gist.github.com/04a355abaf96457e4eb0
15:30:03  <indutny>place this in node.js folder
15:30:07  <indutny>and run ./node 2.js
15:30:09  <indutny>several time
15:30:13  <indutny>s/time/times/
15:30:23  <indutny>probably 10 or more
15:30:32  <indutny>until it'll die with assertion error (in js land)
15:30:37  <bnoordhuis>indutny: that reminds me, 45024e7 breaks simple/test-tls-check-server-identity
15:30:41  <bnoordhuis>(in v0.8)
15:30:43  <indutny>:)
15:31:15  <indutny>well
15:31:19  <indutny>lets look at this stuff first
15:31:24  <indutny>I'll promise you to look at tls stuff later
15:31:24  <piscisaureus_>isaacs: is the meeting at 4pm or 5pm (GMT)
15:31:29  <indutny>ooooh
15:31:32  <bnoordhuis>indutny: i will but i'm reverting that patch first
15:31:34  <indutny>is it thursday today?
15:31:40  <indutny>shiiiit
15:31:47  <piscisaureus_>indutny: no it's friday
15:31:51  <indutny>oh
15:31:52  <indutny>really?
15:31:54  <indutny>ok
15:31:57  <indutny>I'll be away then :)
15:32:03  <piscisaureus_>ohno
15:32:08  <piscisaureus_>then it's thursday
15:32:11  <indutny>well, I'll be away anyway
15:32:39  * travis-cijoined
15:32:39  <travis-ci>[travis-ci] joyent/libuv#1031 (master - 9d4a16e : Ben Noordhuis): The build has errored.
15:32:39  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/629a59b35b1a...9d4a16eefe9d
15:32:39  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/4211750
15:32:39  * travis-cipart
15:32:49  <indutny>I need to take my wife to the airport
15:32:52  <indutny>sorry guys
15:33:05  <indutny>bnoordhuis: so what happens in this test case
15:33:12  * sblomjoined
15:33:13  <indutny>is that socket suddenly ends
15:33:34  <indutny>bnoordhuis: child that has received socket suddenly receives EOF event from libuv
15:33:38  <indutny>and I've traced it down to kevent()
15:33:41  <indutny>and it's really happening
15:33:55  <MI6>joyent/node: Ben Noordhuis v0.8 * 30e2370 : Revert "tls: allow wildcards in common name" This reverts commit 45024e7 - http://git.io/gA0E7Q
15:34:00  <bnoordhuis>indutny: you mean it asserts in c land?
15:34:04  <indutny>nope
15:34:05  <indutny>in js land
15:34:08  <bnoordhuis>ah okay
15:34:17  <indutny>so 'end' is emitted for socket
15:34:24  <indutny>that wasn't closed nor shutdown
15:34:50  <indutny>I've tried dtrussing it, but it doesn't seem to be reproducible under dtruss
15:34:58  <bnoordhuis>indutny: okay, noted. but i'm working on other stuff today
15:34:59  <indutny>bnoordhuis: can you please try running it on linux
15:35:07  <indutny>when you'll have free time
15:35:14  <indutny>I suspect that might be some osx bug
15:35:22  <bnoordhuis>sure, but like i said, it probably won't be today
15:35:29  <roxlu>ok vcbuild.bat works with python 2.7, not with 3.x
15:35:30  <indutny>sure, np
15:35:35  <roxlu>(for libuv)
15:35:59  <bnoordhuis>roxlu: oh right, that's not mentioned in the README. i'll update it
15:36:25  <roxlu>yeah I can send a patch .. but easier if you did it
15:37:59  <roxlu>ok, I compiled libuv + tests successfully (the master version from github)
15:38:21  <roxlu>I only need to find out why I get this error message https://gist.github.com/fc0b52bb905406108123
15:39:39  <roxlu>ok, it seems that this: _WIN32_WINNT=0x0600 fixed that error
15:39:47  <roxlu>just 130 to go : )
15:40:20  <roxlu>oh no it did not fix that error :$
15:40:28  <sblom>bnoordhuis: Anything other than length that I should keep in mind on commit messages? Let's use "Add some gyp artifacts to .gitignore" as a strawman.
15:40:50  <bnoordhuis>sblom: there's a more or less common commit log template
15:41:10  <bnoordhuis>sblom: it's documented in CONTRIBUTING.md and you can see it with `git log .gitignore`
15:41:38  <piscisaureus_>http://securityblog.verizonbusiness.com/2013/01/14/case-study-pro-active-log-review-might-be-a-good-idea/ <-- hah
15:41:45  <piscisaureus_>don't look at the title, read
15:41:45  <bnoordhuis>sblom: it's essentially 'component: short description wrapped at 50 chars\n\nMulti-line description wrapped at 72 chars.\
15:42:45  <sblom>bnoordhuis: okay--thanks
15:43:53  <piscisaureus_>I'm going to assume the meeting is in 1:15
15:44:03  <piscisaureus_>have to get out of the house for a while either before or afet
15:44:05  <piscisaureus_>*after
15:46:58  <sblom>piscisaureus_: I'm fine with either :15 or 1:15.
15:47:59  <MI6>joyent/libuv: Ben Noordhuis master * 358957c : doc: update gyp build instructions - http://git.io/XXGPSQ
15:50:18  * travis-cijoined
15:50:18  <travis-ci>[travis-ci] joyent/libuv#1032 (master - 358957c : Ben Noordhuis): The build has errored.
15:50:18  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/9d4a16eefe9d...358957cdec34
15:50:18  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/4212198
15:50:18  * travis-cipart
15:51:03  <bnoordhuis>piscisaureus_: it's in 10 minutes, isn't it?
15:51:42  <piscisaureus_>bnoordhuis: dunno. Last week isaacs mentioned he wanted to move it?
15:51:56  <indutny>ooh?
15:51:59  <indutny>good news to me?
15:52:00  <bnoordhuis>oh. well, i just got the 10 minute reminder
15:52:02  <indutny>at what time/day?
15:52:08  <piscisaureus_>indutny: hour later again
15:52:08  <indutny>lets do it tomorrow?
15:52:10  <indutny>or tonight
15:52:17  <piscisaureus_>but I will stick around for 10 more minutes
15:52:30  <indutny>I really want to hear you guys
15:52:38  <indutny>but I'm going away in about 10 minutes
15:52:47  <`3rdEden>^ that sounds really stalky
15:55:06  <indutny>so, may be tomorrow?
15:55:11  <indutny>or 3-4 hours later?
15:55:57  <bnoordhuis>indutny: 3-4h from now is not an option for me
15:56:02  <indutny>oh
15:56:03  <indutny>ok
15:56:07  <bnoordhuis>neither is tomorrow, come to think of it
15:56:13  <indutny>tty another time then
15:56:25  <bnoordhuis>say hi to your gf from me
15:57:31  <isaacs>good morning
15:57:49  <isaacs>piscisaureus_: it's at 1600 GMT (ie, now)
15:58:20  * isaacswould be ok with delaying it a bit, though
15:58:50  * TooTallNatejoined
15:59:38  <bnoordhuis>sblom: skype?
15:59:59  <sblom>joining
16:00:56  <bnoordhuis>piscisaureus_: call?
16:03:32  <roxlu>hi guys why is the libuv .lib file on windows build using /MT ?
16:04:05  <roxlu>(and with /GL - whole program optimization)
16:07:49  <piscisaureus_>roxlu: well because it needs to be threadsafe
16:08:04  <roxlu>why not /MD ?
16:08:05  <piscisaureus_>roxlu: and because we want it to be fast (in release mode)
16:08:20  <piscisaureus_>well you can do that yourself if you want to
16:08:27  <piscisaureus_>but we like node to be statically linked
16:08:27  <roxlu>piscisaureus_: yeah sure, was just curious
16:08:31  <roxlu>me too :)
16:08:54  <roxlu>but the /GL will gives problems when you do a windows update
16:09:15  <piscisaureus_>huh? no!
16:11:06  <roxlu>no? recently I was compiling like 10 libs, then after compiling 5 libs windows wanted to update .. and did so
16:11:18  <roxlu>then when I compiled the other 5 libs I got lots of problems/errors
16:11:26  <roxlu>and had to recompile all w/o /GL
16:11:41  <roxlu>(I found a stackoverflow post describing this)
16:12:18  * c4milojoined
16:15:10  <bnoordhuis>sblom: https://github.com/joyent/node/issues?labels=windows&state=open <- more than enough work :)
16:15:15  <rendar>hmm, A<->B are 2 hosts just connected in tcp, A only writes in B and never reads, then B close the connection, A writes again and the write is successful, A writes again and the write returns error, software caused connection abort -- is this a normal behaviour?
16:16:10  <bnoordhuis>rendar: yes, if host B doesn't shut down the connection properly
16:16:32  <rendar>you mean with shutdown(socket);
16:16:42  <rendar>?
16:16:43  <bnoordhuis>rendar: or with close(socket)
16:17:07  <bnoordhuis>if it sends a RST, you get this kind of behavior as well, i think
16:17:15  <rendar>hmm, the strange thing is that B seems to close(socket);
16:17:35  <rendar>bnoordhuis: yeah, i guess so
16:18:25  <rendar>bnoordhuis: the only way to go it properly is to signal to the client that must close the connection, the client close the connection and goes in TIME_WAIT and the server close too, all other methods = error, imho
16:19:19  <bnoordhuis>rendar: more or less, yes. one end of the connection needs to send a FIN and the other end a ACK
16:19:26  <rendar>bnoordhuis: so uv_close(fd) is just a wrapper for close(fd); and do not call shutdown too for tcp connections
16:19:35  <bnoordhuis>rendar: that's correct
16:19:38  <rendar>i see
16:20:01  <rendar>i ask because once reading uv code i saw shutdown() somewhere
16:20:29  <bnoordhuis>rendar: that's because there is a uv_shutdown() function :)
16:25:37  * `3rdEdenquit (Quit: brb, dinner :D)
16:25:54  * dapjoined
16:26:13  * jmar777quit (Remote host closed the connection)
16:26:49  * jmar777joined
16:31:10  * jmar777quit (Ping timeout: 260 seconds)
16:31:41  <rendar>bnoordhuis: got it! thanks ;)
16:34:03  <piscisaureus_>har har
16:34:08  * bradleymeck_joined
16:34:32  <bnoordhuis>isaacs: now that we're on the subject of npm
16:34:47  <isaacs>bnoordhuis: o_O?
16:34:56  <bnoordhuis>isaacs: searchability on npmjs.org
16:35:00  <isaacs>bnoordhuis: yes
16:35:02  <isaacs>that kind of sucks
16:35:05  <bnoordhuis>yes
16:35:20  <bnoordhuis>what i like about http://search.cpan.org/ is that you have these nice categories and subcategories
16:35:22  <isaacs>fotoverite sent me a patch to use elastic search, but it's hard.
16:35:56  <isaacs>bnoordhuis: well... part of what makes that difficult is that cpan is much more structured than npm
16:36:02  * bradleymeckquit (Ping timeout: 252 seconds)
16:36:04  * bradleymeck_changed nick to bradleymeck
16:36:14  <bnoordhuis>yes, and they have a small army of volunteers that curates it, i believe
16:36:16  <isaacs>and that is a conscious choice to make npm a bit more anarchic and sprawling, which is good in many ways, but not so good in others.
16:36:56  <isaacs>it makes it much harder in cpan to have two modules that do the same thing. that seems like a benefit at first, but in the long run, you get silly things like foo::but-maintained
16:37:18  <isaacs>but it makes searching easier
16:37:36  <bnoordhuis>actually, cpan has this procedure for taking over an unmaintained module
16:37:53  <isaacs>yeah, but it's a bit more complicated than npm's
16:38:17  <bnoordhuis>is it? i've never tried
16:38:22  <isaacs>in fact, npm's procedure for taking over an unmaintained module is as simple as it gets: you ask the owner.
16:39:49  <bnoordhuis>yeah... what if he doesn't respond?
16:46:16  <tjfontaine>you cc isaacs on the initial, and if no correspondence happens he intervenes :)
16:51:15  <bnoordhuis>hah
16:51:24  <bnoordhuis>perhaps not very scalable though
16:53:06  <piscisaureus_>isaacs: I though you had some sort of bing-like arch in mind for it?
16:53:29  <isaacs>bnoordhuis: it's not been a problem yet.
16:53:35  <isaacs>bnoordhuis: that sort of thing happens pretty rarely.
16:53:52  <isaacs>piscisaureus_: yeah, i really like php.net's search.
16:54:03  <isaacs>piscisaureus_: but building something like that is not trivial.
16:59:01  * sblomquit (Ping timeout: 240 seconds)
17:18:53  <isaacs>bnoordhuis: what are your thoughts on this? https://github.com/isaacs/node/compare/ev_proto
17:19:09  <bnoordhuis>i know what that is about without clicking on it
17:19:22  <isaacs>bnoordhuis: haha
17:19:35  <isaacs>bnoordhuis: prefixing event names wiht "ev" so that the magic __proto__ name doesn't bork us
17:19:41  <bnoordhuis>yep
17:19:47  <bnoordhuis>it's alright with me
17:20:02  <isaacs>k
17:20:14  <bnoordhuis>though i'd probably just do type = 'ev' + type
17:20:21  <bnoordhuis>but whatever, it's fine
17:20:24  * TheJHjoined
17:20:27  <isaacs>well, a lot of times you need the original type name
17:20:41  <isaacs>ie, removeAllListeners(type) needs to call removeListener(type)
17:20:57  <isaacs>i can't detect any performance regression from it
17:21:45  <mmalecki>isaacs: if anyone is stupid enough to set up an event which is also a magic name, he should be allowed to shoot himself in the foot
17:22:26  <isaacs>mmalecki: that's easy to say when it's not your foot
17:22:55  <mmalecki>I mean, has that ever actually happened?
17:22:59  * rumpjoined
17:23:21  <MI6>joyent/node: isaacs master * b48e303 : events: Don't crash on events named __proto__ This prefixes all event na - http://git.io/CqSHgw
17:23:27  <isaacs>mmalecki: i dunno. someone reported it.
17:23:31  <isaacs>mmalecki: so maybe.
17:23:49  <isaacs>mmalecki: also, it would be problematic if you had an event named hasOwnProperty
17:24:02  <isaacs>mmalecki: or ee.emit('toString')
17:24:11  <mmalecki>again, the thing about shooting yourself in the foot
17:24:35  <isaacs>mmalecki: bag o' data objects should prefix their keys to avoid this.
17:24:43  <isaacs>mmalecki: it's about being resilient
17:26:43  * brsonjoined
17:44:16  <MI6>joyent/libuv: Ben Noordhuis master * 372ac34 : linux: translate futimes() fallback error codes The fallback added in 9d - http://git.io/VpBJvQ
17:47:09  * travis-cijoined
17:47:09  <travis-ci>[travis-ci] joyent/libuv#1033 (master - 372ac34 : Ben Noordhuis): The build has errored.
17:47:09  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/358957cdec34...372ac34d5f80
17:47:09  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/4214281
17:47:09  * travis-cipart
17:47:26  * sgallagh1quit (Remote host closed the connection)
17:50:02  * felixgequit (Quit: felixge)
17:53:32  * pooyajoined
17:53:44  <isaacs>review plz? https://github.com/isaacs/node/compare/stdio-readable-writable
17:54:46  * jmar777joined
17:55:16  * qmxchanged nick to qmx|lunch
17:56:12  * `3rdEdenjoined
17:56:37  * brsonquit (Read error: Operation timed out)
18:00:24  * mikealquit (Quit: Leaving.)
18:03:30  * brsonjoined
18:04:26  * bradleymeckquit (Quit: bradleymeck)
18:06:02  * loladirojoined
18:09:05  * AvianFlujoined
18:18:25  * sblomjoined
18:20:24  * qmx|lunchchanged nick to qmx
18:20:56  * paddybyersquit (Ping timeout: 256 seconds)
18:23:49  * mikealjoined
18:26:05  <isaacs>wow, 14e8f80 fixed mute-stream
18:26:08  <isaacs>not sure why that would be, though
18:27:02  <isaacs>oh, no, it's stdio-readable-writable
18:27:09  <isaacs>since Stream.pipe cares about those flags.
18:30:14  * trevnorrisjoined
18:31:41  <isaacs>bnoordhuis, TooTallNate ^?
18:42:28  <isaacs>thanks
18:43:01  <MI6>joyent/node: isaacs master * 1528de2 : stdio: Set readable/writable flags properly Set the readable/writable fl - http://git.io/9VWiJw
18:49:13  * paddybyersjoined
18:50:06  <trevnorris>i'd like to thank everyone for dealing w/ my mindless testing yesterday. get punchy when i forget the adhd meds. ;)
18:51:04  * bradleymeckjoined
18:52:55  * brsonquit (Ping timeout: 260 seconds)
18:53:26  * brsonjoined
19:02:33  * lohkeyjoined
19:03:40  * mikealquit (Quit: Leaving.)
19:03:52  * lohkeyquit (Client Quit)
19:07:58  * lohkeyjoined
19:08:33  * loladiroquit (Quit: loladiro)
19:11:32  * loladirojoined
19:22:17  * loladiroquit (Quit: loladiro)
19:25:30  * qmxquit (Read error: Operation timed out)
19:25:34  * tjfontai1ejoined
19:25:59  * kuplatup1ujoined
19:26:05  * trepan_joined
19:27:02  * jmar777quit (Remote host closed the connection)
19:27:28  <indutny>isaacs: can you please update me? :)
19:27:40  * jmar777joined
19:28:11  * tjfontainequit (Ping timeout: 245 seconds)
19:28:11  * kuplatupsuquit (Ping timeout: 245 seconds)
19:28:11  * trepanquit (Ping timeout: 245 seconds)
19:29:15  <isaacs>indutny: work proceeds towards 0.10. ben says he'll dig into benchmarks tomorrow or this weekend. bert remains distracted by other issues, but hopes to land UDP clustering and .bat-spawning next week. nate is testing streams2 and doing arm stuff. isaacs is trying to close bugs. 0.10 RC will go out once UDP-clustering lands.
19:29:31  <indutny>good good
19:29:32  <indutny>ok
19:29:34  <isaacs>indutny: please stay focused on closing bugs and making node-master faster.
19:29:39  <indutny>oook
19:29:52  <indutny>I'm going to write tests for send handle thing today
19:29:55  <isaacs>or fix tls if you like :)
19:30:01  <indutny>and fix tls again
19:30:06  <indutny>:)
19:30:09  <indutny>bnoordhuis: ^
19:30:10  <trevnorris>isaacs: mind checking out these perf tests I'm working on: https://github.com/trevnorris/node/compare/micro-perf
19:30:11  <bradleymeck>isaacs: i talks to pisc about execSync, rewritting / learning the slaballocater when i find cycles
19:30:12  <isaacs>ah, great.
19:30:33  <isaacs>indutny: fixing the send handle thing would be lovely
19:30:40  * qmxjoined
19:30:49  <isaacs>bradleymeck: great. we're not going to hold up 0.10 for that, though. i expect it'll land in 0.12
19:30:57  <bradleymeck>sure
19:31:01  <bradleymeck>just informing
19:31:03  <isaacs>bradleymeck: thanks :)
19:31:07  <isaacs>trevnorris: looking now
19:31:34  <bradleymeck>putting it as a userland testing module for 0.10 would make me feel safer anyway
19:31:59  * jmar777quit (Ping timeout: 260 seconds)
19:34:47  <trevnorris>it's a pretty massive change set, but i'm trying to get them done asap.
19:35:17  * paddybyersquit (Ping timeout: 255 seconds)
19:45:03  * EhevuTovjoined
19:48:10  * philips_quit (Excess Flood)
19:48:50  * philips_joined
19:49:16  * EhevuTov_joined
19:50:08  * EhevuTovquit (Ping timeout: 255 seconds)
19:50:52  <trevnorris>isaacs: just finished updating what was there to use the new parameterized api, so all new tests listed should work.
19:51:43  * mikealjoined
19:53:13  <trevnorris>also figured out a generic solution to the http.sh problem you mentioned. will get to that after these basics are done.
19:54:17  * dapquit (Quit: Leaving.)
19:54:39  * dapjoined
20:01:50  * mikealquit (Quit: Leaving.)
20:14:26  * loladirojoined
20:15:29  <trevnorris>isaacs: you can see a small perf regression on events/events_emit.js when the emitter has only one listener.
20:15:39  <trevnorris>on master it's about 6x's slower on my machine.
20:16:00  <trevnorris>(than against v0.8.17)
20:19:51  * mikealjoined
20:24:43  * qmxchanged nick to qmx|brb
20:25:44  * paddybyersjoined
20:38:02  * qmx|brbchanged nick to qmx
20:38:48  * cmrjoined
20:39:01  <trevnorris>and .listeners() is about 10x's slower.
20:39:50  * rjepart ("Leaving")
20:40:55  * EhevuTov_quit (Quit: This computer has gone to sleep)
20:41:42  <TooTallNate>trevnorris: probably because it does a .slice(0) now
20:41:56  <trevnorris>ah yeah. that would be it.
20:42:14  <trevnorris>.apply and .call are horrible for performance.
20:42:45  <trevnorris>and, i say that like no on else knows... =/
20:44:45  * EhevuTovjoined
20:45:46  <trevnorris>TooTallNate: i'm done with events and buffers. what would you say is one of the more "core" pieces?
20:46:14  <TooTallNate>trevnorris: those are like the 2 most fundamental classes in node i'd say
20:46:25  <TooTallNate>trevnorris: so very nice work :)
20:46:36  <trevnorris>heh, thanks.
20:48:11  <trevnorris>TooTallNate: i've seen some complaints about performance on master. know where those areas are?
20:48:49  <TooTallNate>trevnorris: mostly related to the streams2 stuff i think… like the http simple benchmark maybe? i haven't really been messing with that stuf
20:49:05  <TooTallNate> /cc isaacs
20:49:11  <trevnorris>ugh... duh. how could I forget streams.
20:50:15  * bradleymeckquit (Quit: bradleymeck)
20:50:47  * jmar777joined
20:55:40  * AvianFluquit (Remote host closed the connection)
20:55:51  * bradleymeckjoined
21:06:52  <txdv>SO GIRLS
21:06:59  <txdv>I LOVE YOU LOUDBOT
21:07:33  <tjfontai1e>TooTallNate, trevnorris: well, I believe bnoordhuis saw a general regression (regardless of streams2) between libuv and slab allocator
21:07:35  * piscisaureus_part
21:08:50  <indutny>whoa
21:08:57  <indutny>almost finished tests for socket sending
21:09:01  <indutny>this shit is hard
21:09:05  <indutny>I mean, writing tests
21:09:20  <trevnorris>tjfontai1e: is there any way to test that from the js side?
21:09:42  <trevnorris>indutny: you writing unit tests?
21:09:47  <tjfontai1e>oh damn tcp+freenode
21:09:54  <isaacs>trevnorris: we care a lot about emit() with one listener. listeners() can be slow, that's fine
21:10:11  <tjfontai1e>trevnorris: I think bnoordhuis was testing with the http bench and ab
21:10:29  * jmar777quit (Remote host closed the connection)
21:10:29  * tjfontai1echanged nick to tjfontaine
21:10:33  <trevnorris>tjfontai1e: yeah. i'm extending my api to handle those tests. will try to have them in an hour or so.
21:10:44  * tjfontainequit (Changing host)
21:10:44  * tjfontainejoined
21:11:04  <indutny>yes
21:11:06  * jmar777joined
21:11:26  <trevnorris>isaacs: ok. the latest working set is online. can be used to test.
21:11:36  <trevnorris>indutny: heh. those are a pain. you're a good man for doing it.
21:11:48  <isaacs>trevnorris: you found that emit() is slower on master with 1 listener?
21:11:48  <indutny>no, I need MOAR SLAVES
21:11:51  <isaacs>trevnorris: if so, that's a problem
21:11:57  <trevnorris>isaacs: yeah. about 6x's slower.
21:12:04  <isaacs>big problem
21:12:50  <isaacs>trevnorris: if you revert b48e303 does that help?
21:13:06  <trevnorris>let me try it out.
21:14:34  <indutny>isaacs: finally, with code, tests and blackjack https://github.com/joyent/node/pull/4595/files
21:14:52  <indutny>please review carefully
21:15:00  <indutny>I'm gone playing games
21:15:13  <indutny>ah
21:15:14  <indutny>tls stuff
21:15:49  * jmar777quit (Ping timeout: 260 seconds)
21:18:41  <trevnorris>isaacs: with that went from 6x's slower to ~30% slower.
21:18:53  <trevnorris>so big improvement, but still a little slower.
21:18:58  <isaacs>hm
21:19:09  <isaacs>i'm surprised i didn't see a regression in http_simple, then
21:19:27  <isaacs>the libuv slab allocator stuff must be eating it
21:19:44  <isaacs>er, binding slab allocator stuff
21:20:50  <trevnorris>isaacs: well, also keep in mind that it's the difference of 20000/ms vs 25000/ms
21:21:09  <trevnorris>you wouldn't see a difference like that at a higher level.
21:21:33  <isaacs>considering how much time http_simple spends in EventEmitter.emit, I'd expect to see some regression
21:22:18  <isaacs>c'est la vie.
21:22:22  <MI6>joyent/node: isaacs master * b7d76a1 : Revert "events: Don't crash on events named __proto__" Unfortunately, it - http://git.io/2h708A
21:23:35  * piscisaureus_joined
21:24:00  <piscisaureus_>sblom: so do you still need me or did you put the libuv stuff on hold
21:24:15  <piscisaureus_>bnoordhuis: are you coming to amsterdam, and if so, when should I expect you?
21:24:51  <sblom>piscisaureus_: I put it on hold.
21:25:12  <sblom>piscisaureus_: I think we can talk about it some week when we're both less busy.
21:25:27  <piscisaureus_>sblom: ok, that's alright
21:25:56  <trevnorris>isaacs: i'll find it. ;-)
21:36:58  * rendarquit
21:43:15  <indutny>isaacs: any comments about patch?
21:43:20  <bnoordhuis>piscisaureus_: yes, and around 15.30-16.00
21:43:37  <piscisaureus_>bnoordhuis: nice!
21:43:59  <piscisaureus_>020 is so lovely
21:44:04  <piscisaureus_>mmalecki will never leave again
21:45:26  <mmalecki>okay, when and where should we meet?
21:46:23  <isaacs>indutny: testing now
21:46:54  <indutny>great
21:46:56  <indutny>thank you
21:47:38  <bnoordhuis>mmalecki, piscisaureus_: don't know. somewhere in the center?
21:48:36  <piscisaureus_>mmalecki: dunno, around 5 maybe? I'm probably at my coworking space around here https://maps.google.com/maps?daddr=52.359929,4.888358&hl=en&ll=52.360309,4.888712&spn=0.005628,0.013937&sll=52.365118,4.893079&sspn=0.02251,0.055747&mra=mift&mrsp=1&sz=15&t=m&z=17
21:48:48  <piscisaureus_>mmalecki: but whereever you are or want to be :-)
21:49:11  <piscisaureus_>mmalecki: although if you are in the banana bar I won't come to join you :-p
21:49:36  <bnoordhuis>piscisaureus_ has a tab there
21:49:44  <isaacs>indutny: lgtm
21:49:54  <isaacs>indutny: bnoordhuis should +1 it also
21:50:30  <indutny>sure
21:50:33  <indutny>bnoordhuis: mind testing?
21:50:33  * wolfeidauquit (Remote host closed the connection)
21:50:39  <indutny>https://github.com/joyent/node/pull/4595/files
21:51:42  <isaacs>tests pass, though
21:51:53  <isaacs>and it looks like it's Doing The Right Thing
21:52:09  <txdv>ALARM
21:52:11  <txdv>BUILD FAILING
21:52:26  * c4miloquit (Remote host closed the connection)
21:53:38  <piscisaureus_>pretty funny that loudbot isn't it
21:53:51  <piscisaureus_>mmalecki: what are you doing tomorrow the rest of the day?
21:53:59  <piscisaureus_>$working?
21:57:41  * AvianFlujoined
22:01:02  * bradleymeckquit (Quit: bradleymeck)
22:02:16  * c4milojoined
22:04:54  * wolfeidaujoined
22:06:16  <txdv>i am confused
22:06:23  <txdv>all the prototypes in the uv.h are different
22:07:01  <indutny>isaacs: thanks
22:07:10  * EhevuTovquit (Quit: This computer has gone to sleep)
22:07:31  <txdv>tcp_bind has (struct address_in *), udp_bind has (stuct address_in *addr) and tcp_connect has (struct address_in* address)
22:07:43  <txdv>piscisaureus_ bnoordhuis which should be the default and used everywhere?
22:08:21  <txdv>well it will be struct address* now, but should I add the argument name in the uv.h file for these fields? should it contain the name addr or address?
22:15:12  * c4miloquit (Remote host closed the connection)
22:18:07  <bnoordhuis>txdv: sorry, what's the question?
22:19:17  <bnoordhuis>txdv: oh, i guess this is relevant: https://github.com/joyent/libuv/issues/684
22:19:29  <txdv>JA
22:19:37  <txdv>but I have already found an anoying problem
22:19:49  <txdv>the os functions need the size of the particular struct I guess
22:19:58  <txdv>So it has go into the prototype as well?
22:20:29  <bnoordhuis>txdv: os functions? you mean bind() and connect()?
22:20:59  <txdv>https://github.com/joyent/libuv/blob/master/src/unix/tcp.c#L135
22:21:32  <txdv>so it would have to be uv_tcP_bind(uv_tcp_t *handle, struct sockaddr* addr, size_t size)?
22:21:34  <bnoordhuis>txdv: easy to find out, inspect .sa_family
22:22:02  <txdv>addr->sa_family makes my compiler puke
22:22:37  <txdv>no it doesn't
22:23:37  <txdv>so we support only AF_INET and AF_INET6?
22:31:14  <isaacs>bnoordhuis: re naming functions
22:31:16  <trevnorris>isaacs: whoot! totally got the timer to work for incremental cases. check out http_trivial.js: https://github.com/trevnorris/node/compare/micro-perf
22:31:32  <isaacs>bnoordhuis: i much prefer functions to be named. makes for much better analytics outputs etc.
22:31:37  <bnoordhuis>txdv: that is correct
22:31:46  <isaacs>bnoordhuis: but, going thorugh and naming all the functions is a bit silly
22:31:46  <bnoordhuis>isaacs: yeah, but we don't do it anywhere else
22:31:54  <txdv>why this limitation?
22:31:58  <isaacs>bnoordhuis: i know, and it's a huge pita
22:32:00  <bnoordhuis>besides, v8 is pretty good at inferring the names
22:32:05  <txdv>what do I care, i don't use anything else ....
22:32:09  <trevnorris>and yeah. there is a clear regression there. with v0.8.17 get ~13k. with master get ~9500
22:32:14  <isaacs>bnoordhuis: V8 is ok, but the dtrace ustack helper is not as great.
22:33:36  <isaacs>trevnorris: the reason why http.sh runs multiple times is that teh first run is usually an outlier
22:34:07  <hij1nx>question: if i want to pass flags to the compiler in my gyp file, that can be an array that is peer with the 'sources' property, right?
22:34:50  <tjfontaine>{sources:[], cflags:[]} you mean?
22:34:51  <hij1nx>for instance `'cflags': [...],`
22:34:59  <hij1nx>tjfontaine: yeah
22:35:15  <tjfontaine>yes, though note not all platforms adhere to cflags (see xcode_settings)
22:35:28  <hij1nx>ah! ok that would explainit
22:35:39  <hij1nx>i have something that was working on smartos, but not macos
22:36:04  <tjfontaine>some cflags are first class settings in xcode, others go into an "extra flags" like category
22:36:21  <TooTallNate>it's bullshit
22:36:26  <trevnorris>isaacs: updated the code to use the same for loop. pushed the changes. still same results.
22:36:32  <tjfontaine>admittedly it's frustrating
22:37:03  <tjfontaine>on the plus side, it's like a builtin conditional for macos :)
22:37:30  <tjfontaine>[and for vs.net]
22:39:01  <isaacs>trevnorris: awesome.
22:42:16  * mikealquit (Quit: Leaving.)
22:43:22  <isaacs>trevnorris: how do i run your benchmarks?
22:43:57  <trevnorris>for http run `./benchmark/http/http_trivial.sh` and for the others
22:44:20  <trevnorris>run `./node benchmark/buffer/buffer_creation.js`
22:44:34  <trevnorris>in each of the js files is usage text.
22:44:35  * mikealjoined
22:44:38  <isaacs>trevnorris: also, are you running ab with -k?
22:44:51  <trevnorris>hm... nope
22:44:59  <isaacs>that makes a big difference
22:45:10  <trevnorris>i'll make the change.
22:45:50  <trevnorris>isaacs: for all the benchmarks that don't require a .sh file, there's a usage descriptor at the top of parameters you can pass to the script
22:46:02  <trevnorris>like `--run 'test0' 'test1'` to only run select tests.
22:46:06  <isaacs>i see
22:48:02  * `3rdEdenquit (Quit: Zzz, gnite folks)
22:48:04  <isaacs>trevnorris: what would be awesome is if we could run `make bench` and get some bigger-is-better numbers
22:48:16  <isaacs>trevnorris: that were somewhat reasonable
22:48:21  <isaacs>in a parseable format
22:49:08  <trevnorris>isaacs: think so. just give me the format you'd like it in and I'll work it out.
22:50:45  <isaacs>trevnorris: you can decide the format if you'd like
22:50:50  <isaacs>trevnorris: i don't think there's anything established
22:50:57  <indutny>bnoordhuis: I don't think we need to deprecate .connections
22:51:02  <indutny>its fast and easy
22:51:06  <indutny>and works in 99.99% cases
22:51:09  <isaacs>trevnorris: something like "name: someNumber" is fine
22:51:14  <indutny>sendind sockets it's quite rare case
22:51:14  <bnoordhuis>indutny: except in the cases where it doesn't
22:51:21  <indutny>yes, but it's documented
22:51:30  <indutny>and I'm pretty sure people who'll find how to send sockets
22:51:32  <bnoordhuis>according to isaacs, no one ever reads the documentation
22:51:33  <indutny>will read about it
22:51:36  <indutny>well
22:51:44  <indutny>they need to figure out how to send them
22:52:01  <isaacs>bnoordhuis: well, they don't read the documentation unless they have to
22:52:21  <indutny>I can throw error if someone will try to access 'connections' property
22:52:21  <isaacs>bnoordhuis: in this case, it's unlikely that someone just poked around in teh repl, and figured out how to send sockets to child procs
22:52:24  <indutny>when it's invalid
22:52:30  <indutny>like
22:52:32  <trevnorris>isaacs: ok. was thinking about making a version diff script where you pass two versions/hashs and it builds and runs each automatically. then wraps the data into a table.
22:52:42  <indutny>new Error('yo dawg! use .getConnections() instead of .connections')
22:52:46  <trevnorris>massively complicated I know, so probably not going to happen too soon.
22:52:47  <isaacs>trevnorris: that can be a later thing :)
22:53:07  <isaacs>trevnorris: the first step is making all our benchmarks run in some kind of organized format
22:53:12  <isaacs>trevnorris: right now, they're a total mess.
22:53:14  <bnoordhuis>indutny: maybe not an error but a deprecation warning
22:53:19  <indutny>erm
22:53:21  <indutny>not like this
22:53:34  <isaacs>indutny: i think deprecating it is fine, in this case.
22:53:35  <indutny>I mean, I can throw error if some sockets were sent w/o tracking
22:53:37  <hij1nx>indutny: bnoordhuis but with that exact message though
22:53:43  <hij1nx>"yo dog..."
22:54:02  * c4milojoined
22:54:04  <isaacs>indutny: use the util.deprecate method
22:54:07  <isaacs>indutny: in the getter
22:54:18  <hij1nx>TooTallNate: still not able to pass that flag to the comipler :/
22:54:20  <indutny>ok
22:54:48  * qmxchanged nick to qmx|away
22:54:48  * TheJHquit (Ping timeout: 252 seconds)
22:54:58  <TooTallNate>hij1nx: try something like: https://gist.github.com/1590684#comment-74821
22:55:14  <MI6>joyent/node: isaacs master * ae6f4b3 : benchmark: Add resume() in static_http_server (+1 more commits) - http://git.io/y_YMaA
22:55:17  <isaacs>indutny: no "yo dawg" message
22:55:20  <isaacs>indutny: ;)
22:55:29  <trevnorris>isaacs: sounds good. I was planning on making a folder for each api header for the set of tests. then make it easy to run a single test, or a folder and get a perf stat for each file, or everything and get a perf stat for each folder.
22:55:33  <indutny>you're so boring
22:55:36  <hij1nx>TooTallNate: WIN! :D
22:55:42  <trevnorris>(heh, might be overdoing it here =)
22:55:43  <isaacs>trevnorris: that'd be awesome.
22:55:48  <isaacs>trevnorris: don't go too crazy with it
22:56:22  <isaacs>trevnorris: the most important thing is that we can see the mean requests/second using keepalive against http_simple.js with 1 byte
22:56:32  <isaacs>trevnorris: most other benchmarks are less important than that one
22:56:41  <indutny>ok, running tests
22:57:05  <indutny>guys
22:57:08  <indutny>I want to say you
22:57:12  <indutny>I'm tired of all this stuff
22:57:16  <indutny>time to leave you
22:57:19  <indutny>and write some go scripts
22:57:29  <isaacs>indutny: noooooooooo!!!
22:57:30  <indutny>go is SCALABLE
22:57:36  <indutny>node is NONSCALABLE
22:57:36  <hij1nx>TooTallNate: ++
22:57:37  <kohai>TooTallNate has 18 beers
22:57:43  <isaacs>indutny: dude, but node pours async speed all over everything
22:57:43  <hij1nx>TooTallNate: that is the magic sauce.
22:57:47  <isaacs>indutny: we're web scale!
22:57:57  <TooTallNate>hij1nx: that's like my #1 gripe with gyp
22:57:57  <indutny>but you're not enterpsie web scale
22:58:07  <indutny>ok, that was a joke
22:58:07  <isaacs>indutny: we're embassy scale
22:58:09  <TooTallNate>hij1nx: if i put them in "cflags"… they should be fucking cflags!!!
22:58:12  <TooTallNate>even on OS X...
22:58:13  <indutny>EMBASSY SCALE?!
22:58:20  <isaacs>indutny: yeah, intergalactic scale!!
22:58:22  <indutny>LOUDBOT: EXACTLY
22:58:32  * TooTallNateruns scared
23:01:38  <indutny>bnoordhuis: isaacs: updated https://github.com/joyent/node/pull/4595
23:01:41  <indutny>tests are passing on osx
23:01:44  <indutny>oh
23:01:46  <indutny>not updated yet
23:01:48  <indutny>git hangs
23:03:04  <indutny>ok, force pushed
23:03:07  <indutny>bnoordhuis: isaacs: ^
23:03:10  <bnoordhuis>indutny: https://github.com/indutny/node/commit/f00efcc90eedccea661b28d93772e3817188b39b#commitcomment-2456267 <- but correct me if i'm wrong
23:03:48  <indutny>bnoordhuis: yes, but why?
23:04:02  <bnoordhuis>indutny: because O(1) > O(n)?
23:04:04  <indutny>in many cases nextTick won't be even called
23:04:05  <bnoordhuis>actually, it's <
23:04:11  <bnoordhuis>but you get my point
23:04:18  <indutny>and
23:04:22  <txdv>adjusting all the tests after changing the ABI is a pain
23:04:30  <indutny>sorry, I don't understand your pont
23:04:32  <txdv>that is why there is no commit attached to that issue
23:04:32  <indutny>point*
23:04:35  <indutny>what do you want me to do?
23:05:03  <bnoordhuis>indutny: maybe nothing, it's not as if it's inherently wrong
23:05:10  <indutny>ok
23:05:15  <indutny>I think it's ok now
23:05:21  <bnoordhuis>indutny: but if i read it right, you're now calling process.nextTick() * number_of_slaves times
23:05:24  <indutny>since it's calling nextTick only in edge cases
23:05:29  <indutny>oh
23:05:31  <indutny>hm...
23:05:36  <indutny>interesting point
23:05:40  <indutny>yes, you're right
23:05:55  <indutny>ok, lets call process.nextTick before callback in getConnections
23:06:04  <bnoordhuis>yep, that's what i meant
23:06:15  <bnoordhuis>otherwise lgtm
23:07:18  <indutny>ok
23:07:22  <indutny>running tests last time
23:07:27  <indutny>and pushing to master
23:08:30  <indutny>btw, have you guys seen 100000000
23:08:30  <indutny>game
23:12:11  <indutny>huh
23:12:46  <indutny>isaacs: premature committing https://github.com/joyent/node/commit/db5ee0b3decace9b5d80ee535ce53183aff02909 ?
23:13:23  <indutny>I'll revert it
23:13:25  <isaacs>wait, what?
23:13:27  <indutny>and apply new on top
23:13:29  <isaacs>i didn't notice that...
23:13:46  <isaacs>oh, i must have pulled that in by accident.
23:13:59  <indutny>haha
23:14:01  <indutny>great :)
23:14:03  <indutny>ok, np
23:14:22  <indutny>now
23:14:26  <MI6>joyent/node: Fedor Indutny master * 4488a69 : child_process: do not keep list of sent sockets Keeping list of all sock (+1 more commits) - http://git.io/TCW95g
23:14:28  <indutny>lets think about porting that to v0.8
23:14:46  <indutny>apparently deprecating connections and adding getConnections won't work properly there
23:14:58  <isaacs>indutny: no, that's new api
23:15:01  <indutny>so I suggindeed
23:15:03  <mmalecki>piscisaureus_: that location you linked works for me
23:15:04  <indutny>errr
23:15:13  <piscisaureus_>ok
23:15:17  <indutny>isaacs: I'll remove deprecation and getConnections
23:15:21  <mmalecki>5 works for me too
23:15:22  <indutny>and remove options argument
23:15:30  <mmalecki>piscisaureus_: I won't be working, nah, I'm off
23:15:30  <indutny>though it'll make mergin v0.8 pain
23:15:39  <indutny>isaacs: may be it's not worth backporting?
23:15:41  <mmalecki>AvianFlu is the poor guy doing my job now
23:15:44  <isaacs>indutny: don't backport it.
23:15:47  <isaacs>indutny: it's not worth it.
23:15:48  <indutny>yeah
23:16:02  <isaacs>indutny: you take away getConnections() and the options.track, and there's no feature left, really
23:16:07  <isaacs>indutny: and then we're changing semantics
23:16:33  <indutny>yes
23:16:42  <indutny>there're a lot of pitfalls
23:16:51  <indutny>from merge problems to semantics
23:18:51  <isaacs>yep
23:20:54  <mmalecki>piscisaureus_: bnoordhuis my coworker will be joining us if that's not a problem
23:21:13  <piscisaureus_>mmalecki: depends. Is it Willem Holleeder?
23:21:24  <bnoordhuis>mmalecki: does he know how to order beer in english or dutch?
23:21:40  <mmalecki>piscisaureus_: shh, it was supposed to be a secret
23:21:42  <mmalecki>bnoordhuis: yes
23:21:55  <bnoordhuis>okay
23:22:15  * paddybyers_joined
23:23:14  * lohkey_joined
23:23:14  * lohkey_quit (Client Quit)
23:23:40  * paddybyersquit (Ping timeout: 244 seconds)
23:23:40  * paddybyers_changed nick to paddybyers
23:24:42  <txdv>bnoordhuis: should I return a EFAULT or ENOTSUP when the sa_family is != AF_INET/AF_INET6
23:25:01  <bnoordhuis>txdv: no, EINVAL
23:25:20  <txdv>ok
23:26:03  * piscisaureus_quit (Ping timeout: 256 seconds)
23:27:48  * lohkeyquit (Ping timeout: 264 seconds)
23:30:29  * paddybyersquit (Ping timeout: 252 seconds)
23:33:31  <trevnorris>is there a tool like ab for net?
23:38:06  * brsonquit (Remote host closed the connection)
23:41:43  * brsonjoined
23:43:59  <indutny>bnoordhuis: btw
23:44:04  <indutny>have you reverted that tls thing only in master?
23:44:26  <isaacs>trevnorris: not that i know of
23:44:34  <isaacs>trevnorris: there's benchmark/net-pipe.
23:45:46  <trevnorris>isaacs: hm. yeah. throughput will be important to benchmark as well.
23:47:21  <trevnorris>isaacs: maybe it's a bit obsessive but really want to see the connection speed difference between http and net.
23:47:29  <indutny>bnoordhuis: I think I just forgot to backport b4b750b to v0.8
23:48:33  <txdv>bnoordhuis!
23:49:22  <txdv>bnoordhuis: uv_tcp_bind returns UV_EFAULT, uv_tcp_connect returns UV_EIVAL on garbage/invalid addresses
23:49:33  <txdv>I guess I should go with EIVAL?
23:52:17  <txdv>https://github.com/joyent/libuv/blob/master/test/test-tcp-connect-error.c#L60
23:52:23  <txdv>https://github.com/joyent/libuv/blob/master/test/test-tcp-bind-error.c#L131
23:56:15  * rumpquit (Quit: rump)
23:56:36  <isaacs>TooTallNate: ping
23:56:42  <isaacs>TooTallNate: https://github.com/joyent/node/pull/2443#issuecomment-11759575
23:57:34  <TooTallNate>isaacs: ya so, util.inspect() now accepts an options object
23:57:45  <TooTallNate>isaacs: but that pull is for the custom obj.inspect() function you can define
23:57:52  <isaacs>oh, o
23:57:53  <isaacs>ok
23:57:53  <TooTallNate>isaacs: i have a better version of that in the works
23:57:57  <isaacs>ok
23:57:58  <TooTallNate>isaacs: maybe you can review
23:58:00  <isaacs>sure
23:58:02  <TooTallNate>let me find it
23:58:12  <TooTallNate>iirc though there was something incomplete about it
23:58:15  <isaacs>you can force push to the same pull req, or close that one and start a new one?
23:58:20  <isaacs>TooTallNate: or we can push to post-10
23:58:28  <txdv>"The callback will be made" - is this good english?
23:59:05  <cmr>txdv, looks it to me
23:59:26  <txdv>are you gollum or what
23:59:40  <TooTallNate>isaacs: https://github.com/TooTallNate/node/commit/custom-inspect-options