00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:09  * ircretaryjoined
00:02:08  * kazuponjoined
00:07:47  * icarotquit (Remote host closed the connection)
00:08:19  * sblomquit (Ping timeout: 264 seconds)
00:08:57  * bnoordhuisjoined
00:13:25  * bnoordhuisquit (Ping timeout: 246 seconds)
00:19:58  * dominictarrquit (Quit: dominictarr)
00:20:42  * philipsquit (Excess Flood)
00:21:10  * philipsjoined
00:24:14  * loladiro_joined
00:25:27  * papertigersjoined
00:26:22  * loladiroquit (Ping timeout: 276 seconds)
00:26:22  * loladiro_changed nick to loladiro
00:27:23  * HenryRquit (Ping timeout: 255 seconds)
00:30:54  * c4miloquit (Remote host closed the connection)
00:30:55  * papertigersquit (Read error: Connection reset by peer)
00:31:15  * papertigersjoined
00:32:00  * loladiroquit (Quit: loladiro)
00:39:33  * papertigers_joined
00:39:55  * papertigersquit (Read error: Connection reset by peer)
00:39:56  * papertigers_changed nick to papertigers
01:03:22  * papertigersquit (Quit: papertigers)
01:08:52  * dapquit (Quit: Leaving.)
01:10:08  * sblomjoined
01:10:45  * papertigersjoined
01:11:44  * AvianFluquit (Remote host closed the connection)
01:27:04  * papertigersquit (Quit: papertigers)
01:36:40  * abraxasjoined
01:50:05  * TooTallNatequit (Quit: Computer has gone to sleep.)
02:13:16  * loladirojoined
02:20:17  * wmiljoined
02:24:50  * loladiroquit (Quit: loladiro)
02:26:36  * defunctzombie_zzchanged nick to defunctzombie
02:27:26  * loladirojoined
02:51:00  * brsonquit (Quit: leaving)
03:07:41  * TooTallNatejoined
03:16:40  <creationix>howcome when I build node from git, generators don't seem to be enabled anymore?
03:16:53  * sblomquit (Ping timeout: 248 seconds)
03:17:41  <creationix>process.verions says I have 3.19.13
03:17:55  <creationix>and node --v8-options lists --harmony-generators
03:19:34  <creationix>hmm, it works if I explicitly use --harmony_generators, but not the shorter --harmony
03:19:51  * amartensjoined
03:50:39  * TooTallNatequit (Quit: Computer has gone to sleep.)
03:57:09  * TooTallNatejoined
04:27:15  * timoxleyquit (Quit: Computer has gone to sleep.)
04:28:44  * wmilquit (Remote host closed the connection)
04:36:13  * timoxleyjoined
04:50:20  * loladiroquit (Quit: loladiro)
04:51:27  * wmiljoined
04:52:57  * defunctzombiechanged nick to defunctzombie_zz
05:06:01  * creationixquit (Ping timeout: 240 seconds)
05:06:23  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
05:33:35  * timoxleyquit (Quit: Computer has gone to sleep.)
05:39:00  * timoxleyjoined
06:25:52  * rendarjoined
06:34:12  * `3rdEdenjoined
06:41:31  * mmaleckichanged nick to mmalecki[zzz]
07:07:41  * amartensquit (Quit: Leaving.)
07:09:10  * linus_joined
07:29:48  * Damn3dquit (Ping timeout: 260 seconds)
07:31:14  * csaohjoined
07:31:33  * Damn3djoined
07:44:03  * bajtosjoined
07:45:25  * bajtosquit (Client Quit)
07:45:50  * bajtosjoined
07:46:17  * bajtosquit (Client Quit)
07:46:40  * hzjoined
07:46:42  * bajtosjoined
08:08:00  * amartensjoined
08:12:21  * amartensquit (Ping timeout: 240 seconds)
08:23:16  * trevnorris&
08:23:17  <LOUDBOT>SHOULD HAVE GONE TO COLLEGE, ASSHOLES
08:24:22  <indutny>ircretary: notes
08:26:31  * hzquit
08:30:44  * hzjoined
08:53:42  * wmilquit (Remote host closed the connection)
09:03:24  * wmiljoined
09:08:17  * amartensjoined
09:12:22  * amartensquit (Ping timeout: 240 seconds)
09:14:18  * wmilquit (Remote host closed the connection)
09:22:08  * lichopart (".)(.")
09:31:02  * csaohquit (Remote host closed the connection)
09:31:12  * dominictarrjoined
09:35:28  * csaohjoined
09:38:47  * abraxasquit (Remote host closed the connection)
09:49:35  * mralephjoined
09:49:35  * mraleph1quit (Read error: Connection reset by peer)
09:56:10  <indutny>hi everyone
09:56:18  <indutny>isaacs: yt?
10:04:54  * bnoordhuisjoined
10:08:11  * creationixjoined
10:08:15  * kazuponquit (Remote host closed the connection)
10:08:39  * amartensjoined
10:09:52  * bajtosquit (Quit: bajtos)
10:13:19  * amartensquit (Ping timeout: 276 seconds)
10:33:17  * ingmar5quit (Ping timeout: 245 seconds)
10:33:21  * rjequit (Ping timeout: 240 seconds)
10:33:42  * ikquit (Ping timeout: 264 seconds)
10:33:45  * hzquit (Ping timeout: 240 seconds)
10:34:11  * ikjoined
10:37:51  * KiNgMaRjoined
10:37:53  * abraxasjoined
10:39:24  * rjejoined
10:53:10  * dominictarrquit (Quit: dominictarr)
11:06:06  * hzjoined
11:07:37  * timoxleyquit (Quit: Computer has gone to sleep.)
11:08:43  * kazuponjoined
11:08:57  * amartensjoined
11:11:04  * kazuponquit (Read error: Connection reset by peer)
11:11:22  * kazuponjoined
11:13:46  * amartensquit (Ping timeout: 276 seconds)
11:17:40  * csaohquit (Quit: csaoh)
11:18:53  * hzquit
11:19:58  * dominictarrjoined
11:21:16  * csaohjoined
11:26:07  * dominictarrquit (Quit: dominictarr)
11:30:31  * kazuponquit (Remote host closed the connection)
11:34:08  * piscisaureus_joined
11:39:07  * bnoordhuisquit (Ping timeout: 276 seconds)
11:41:37  * hzjoined
11:43:30  * loladirojoined
11:45:41  * dominictarrjoined
11:58:14  * timoxleyjoined
11:59:38  * abraxasquit (Remote host closed the connection)
12:09:17  * amartensjoined
12:13:57  * amartensquit (Ping timeout: 248 seconds)
12:41:20  * kazuponjoined
12:45:11  * bnoordhuisjoined
12:46:42  * kazuponquit (Ping timeout: 252 seconds)
12:49:29  * bnoordhuisquit (Ping timeout: 240 seconds)
13:09:36  * amartensjoined
13:14:12  * amartensquit (Ping timeout: 260 seconds)
13:15:39  * dominictarrquit (Quit: dominictarr)
13:28:17  * papertigersjoined
13:30:54  * loladiroquit (Quit: loladiro)
13:41:23  * loladirojoined
13:45:37  * loladiroquit (Ping timeout: 248 seconds)
14:00:15  * pachetjoined
14:00:58  * bajtosjoined
14:02:23  * bnoordhuisjoined
14:09:55  * amartensjoined
14:10:50  * bajtosquit (Quit: bajtos)
14:12:56  * bajtosjoined
14:14:29  * amartensquit (Ping timeout: 248 seconds)
14:17:11  <bnoordhuis>bajtos: ping
14:17:19  <bajtos>bnoordhuis: pong
14:17:41  <bnoordhuis>you seen my v8 back-port commit?
14:18:07  <bajtos>you mean your v8-backport-setvariablevalue branch?
14:18:15  <bajtos>I'm just fetching sources and rebuilding
14:18:40  <bnoordhuis>that's the one
14:18:50  <bajtos>thank you for preparing the backport
14:19:38  <bajtos>BTW there is another problem with debugging that may be related to how node handles javascript exceptions.
14:20:18  <bajtos>When you tell V8 debugger to break on uncaught exceptions, it does not work for node processes (program does not stop and crashes on unhandled exception instead)
14:21:00  * dominictarrjoined
14:21:28  <bajtos>I confess that I did not look into node and/or V8 sources yet
14:21:48  <bajtos>just wondering if you perhaps already have some knowledge about this issue
14:24:29  <bnoordhuis>hm, no. can't think of anything that would be causing that
14:35:16  <bajtos>ok, the patch works in the sense that you can set variables now
14:35:39  <bajtos>but it seems that it introduced a regression where some breakpoints are not correctly set
14:35:53  <bnoordhuis>ah
14:36:08  <bnoordhuis>your mission, if you choose to accept it, is to figure out why that is
14:37:10  * c4milojoined
14:37:32  <bajtos>is it possible that I did not rebuild correctly? is `make clean && make` enough?
14:40:19  <bnoordhuis>bajtos: maybe run configure again
14:43:26  * stagasjoined
14:44:35  * defunctzombie_zzchanged nick to defunctzombie
14:49:27  * c4miloquit (Remote host closed the connection)
14:51:38  <bnoordhuis>os x... when i run top to check on cpu usage, it's top that uses the most
14:55:18  <indutny>:)
14:57:36  * c4milojoined
15:01:26  * mcavagejoined
15:01:57  * kevinswiberjoined
15:08:34  <bajtos>bnoordhuis: there is apparently something wrong with my build. the problems occurs when I compile branch v0.10.10-release myself, but the official v0.10.10 package works fine
15:09:01  * loladirojoined
15:09:44  <bajtos>bnoordhuis: hang-on, official v0.10.10 actually seems to have the same problem. hmm
15:10:18  * amartensjoined
15:10:18  * loladiroquit (Read error: Connection reset by peer)
15:10:54  * kazuponjoined
15:11:07  * kevinswiberquit (Remote host closed the connection)
15:11:14  <bajtos>bnoordhuis: there must be something wrong with my environment
15:11:30  * Damn3dquit (Quit: cu)
15:11:52  * kevinswiberjoined
15:12:10  * kevinswiberquit (Remote host closed the connection)
15:12:24  * loladirojoined
15:12:31  * bnoordhuisquit (Ping timeout: 264 seconds)
15:13:33  * kevinswiberjoined
15:14:33  * amartensquit (Ping timeout: 241 seconds)
15:15:50  * kevinswiberquit (Remote host closed the connection)
15:21:37  * kevinswiberjoined
15:25:19  * stagasquit (Ping timeout: 260 seconds)
15:27:04  * loladiroquit (Quit: loladiro)
15:29:05  * bajtosquit (Quit: bajtos)
15:37:56  * HenryRjoined
15:38:23  * pachetquit (Ping timeout: 260 seconds)
15:39:18  * groundwaterjoined
15:41:39  * pachetjoined
15:43:40  <piscisaureus_>ircretary: tell bnoordhuis I agree with false sense of security and all that. But node has always ignored invalid signals. You can safely watch SIGKILL on windows because it's an invalid signal. Or, on linux, process.on('SIGBOOP'). So maybe we should just continue the trend and pretend SIGKILL/SIGSTOP are invalid.
15:43:40  <ircretary>piscisaureus_: I'll be sure to tell bnoordhuis
16:05:48  <isaacs>indutny: pong
16:05:53  <indutny>pang
16:10:34  * amartensjoined
16:13:02  * `3rdEdenquit (Remote host closed the connection)
16:14:52  * amartensquit (Ping timeout: 246 seconds)
16:16:24  * loladirojoined
16:16:35  <indutny>isaacs: so… basically
16:16:41  <indutny>I need a way to make stream corked
16:16:46  <indutny>but without uncork at .end() call
16:16:52  <indutny>that's very important for tls_wrap
16:16:53  <isaacs>indutny: that's weird.
16:16:54  <isaacs>why?
16:17:05  * sblomjoined
16:17:12  <isaacs>indutny: once you end(), you're not going to keep writing more, after all
16:17:14  <indutny>because I'm "wrapping" stream after 'connect' event and the stream is released to user before it
16:17:17  <isaacs>indutny: what's the value of staying corked?
16:17:34  <indutny>well...
16:18:01  <indutny>because if authorization will fail
16:18:04  * dapjoined
16:18:09  <indutny>sensitive data will be sent to server
16:18:20  <indutny>like tls.connect().end('my secret password')
16:18:26  <indutny>but auth fails
16:18:32  <indutny>well
16:18:37  <indutny>its handled in js right now
16:18:39  * bnoordhuisjoined
16:18:44  <indutny>it might be a better idea to handle it in C++
16:19:25  <indutny>isaacs: what do you think?
16:20:33  <isaacs>hmm...
16:20:54  <isaacs>what about how we wait for connect events in net.Socket.write?
16:21:39  <isaacs>TLSSocket.prototype._write = function(chunk, encoding, callback) { if (this.connecting) return this.once('connect', ...) }
16:21:54  <isaacs>that's effectively a "cork", but without the additional machinery
16:22:59  * loladiroquit (Quit: loladiro)
16:23:48  <indutny>well
16:23:49  * bnoordhuisquit (Ping timeout: 276 seconds)
16:23:50  <indutny>we already do it
16:23:52  <indutny>aaah
16:23:56  <indutny>well
16:23:59  <indutny>I see your point
16:24:06  * bajtosjoined
16:29:31  * timoxleyquit (Quit: Computer has gone to sleep.)
16:30:18  * timoxleyjoined
16:33:08  <trevnorris>morning
16:33:46  * qardjoined
16:34:23  <trevnorris>argh. ben come back!
16:36:38  <trevnorris>isaacs: all but utf8 is faster, but people might see some strange performance behavior w/ the new string_bytes changes. e.g.
16:37:08  <trevnorris>isaacs: creating a buffer from a large string (i.e. > 1MB) that was created from a Buffer is 3x's faster.
16:37:44  <trevnorris>on the js side it looks the same, but since it's an external after have been in a Buffer all you need is a memcpy.
16:38:05  <isaacs>trevnorris: that sounds pretty good, actually
16:38:20  <isaacs>trevnorris: we just have to be careful not to modify that memory while the user has a ref tothe string
16:38:32  <isaacs>mutable spooky action at a distance magic!
16:39:07  <trevnorris>heh. might be. but for saftey i'm creating a new char* for all external strings. so stuff like that doesn't happen.
16:39:44  <trevnorris>we'd have to actively manipulate the underlying data, which isn't too trivial and we have no reason to do it.
16:40:03  <trevnorris>though i'm sure someone could come up w/ a reason to use mutable strings. :)
16:49:31  * kazuponquit (Remote host closed the connection)
16:52:53  * bajtosquit (Ping timeout: 240 seconds)
16:53:32  * bajtosjoined
16:54:33  <trevnorris>isaacs: gotta hand it to you. if you hadn't consolidated to StringBytes it would've been way more difficult to implement those external strings.
17:02:56  <isaacs>ircretary: tell bnoordhuis Please lmk when libuv v0.10 is ready for crusty old linuxes. Probably gonna do the release tomorrow
17:02:56  <ircretary>isaacs: I'll be sure to tell bnoordhuis
17:03:42  * csaohquit (Quit: csaoh)
17:05:06  * c4miloquit (Remote host closed the connection)
17:08:04  * kevinswiberquit (Remote host closed the connection)
17:11:02  <tjfontaine>yawn
17:11:31  * c4milojoined
17:11:55  * mmalecki[zzz]changed nick to mmalecki
17:13:18  <indutny>morning
17:13:32  <tjfontaine>how goes the tls battle?
17:14:13  * amartensjoined
17:14:35  * AvianFlujoined
17:24:24  * kevinswiberjoined
17:24:55  * TooTallNatejoined
17:27:04  * jmar777joined
17:27:23  * dominictarrquit (Quit: dominictarr)
17:31:32  * hzquit
17:35:19  * mikealjoined
17:41:52  * bnoordhuisjoined
17:42:26  * timoxleyquit (Quit: Computer has gone to sleep.)
17:47:02  * mcavagequit (Remote host closed the connection)
17:52:46  * loladirojoined
17:54:28  <tjfontaine>bnoordhuis: if U take time U will seen all things
17:55:37  <bnoordhuis>yeah... sometimes i wonder if the bar for node isn't a little too low
17:55:54  * HenryRquit (Ping timeout: 264 seconds)
17:56:04  <tjfontaine>btw https://github.com/joyent/node/pull/5661/files?w=1
17:56:31  <trevnorris>bnoordhuis: all suggestions in 5641 done. just the typedefs you mention overflow 80 chars. leave those, or split the lines?
17:57:03  <bnoordhuis>trevnorris: i just commented on that :)
17:57:22  <trevnorris>lol. ok. :)
17:58:16  <bnoordhuis>tjfontaine: is that a request for review?
17:58:38  <trevnorris>bnoordhuis: to prevent another comment, what's you style preference. spit on the comma in the <..., ...>?
17:58:44  <trevnorris>tjfontaine: i'm giving that a look over.
17:58:58  <bajtos>bnoordhuis: what's the plan for the V8 setVariableValue patch?
17:59:10  <bnoordhuis>trevnorris: *shrug* it's all suboptimal :-/
17:59:14  <tjfontaine>bnoordhuis: yes please :)
17:59:15  <tjfontaine>trevnorris: thanks
17:59:27  <bnoordhuis>bajtos: check your email :)
17:59:33  <tjfontaine>I just did a quick forcepush that removes some left over code
17:59:58  <bnoordhuis>bajtos: but to spare you the pain of starting your mail client: https://github.com/joyent/node/pull/5676
17:59:59  * kazuponjoined
17:59:59  <MI6>joyent/node: isaacs v0.10 * 49d9ad9 : npm: Upgrade to 1.2.30 - http://git.io/ETd4CA
18:00:22  * HenryRjoined
18:00:46  <bajtos>bnoordhuis: oh, I see :) thanks
18:00:49  <MI6>joyent/node: isaacs v0.8 * a0837fd : npm: Upgrade to 1.2.30 - http://git.io/k4UcAg
18:01:07  <isaacs>bnoordhuis: what's the eta on the crusty linux libuv pollhup fix/hack?
18:01:33  <bnoordhuis>isaacs: it works. running tests now
18:01:44  <isaacs>sweet :)
18:02:14  <bnoordhuis>i'm kind of bummed i can't distill a good test case out of it but oh well
18:04:45  <isaacs>trevnorris: yeah, consolidating stuff into StringBytes was some much needed janitorial work. the life of a software maintainer is not glamorous
18:05:07  * kazuponquit (Ping timeout: 246 seconds)
18:05:16  <trevnorris>isaacs: hey, made things faster. that's glamorous enough for me. :)
18:09:53  * bajtosquit (Ping timeout: 240 seconds)
18:09:54  <tjfontaine>trevnorris: are you looking at this with ?w=1 because most of this is just a reshuffle
18:10:11  <trevnorris>tjfontaine: ok. i'll make sure i'm on the correct commit. thanks. :)
18:10:23  <trevnorris>tjfontaine: oh, and I removed a comment (read the code out of context)
18:10:39  <tjfontaine>nod
18:11:51  <trevnorris>tjfontaine: since github doesn't allow you to comment on the /files page (PITA) i'm looking at b432b4b1. think that's the latest.
18:12:46  <tjfontaine>ya that's the latest commit
18:13:09  <tjfontaine>it's a same that ?w=1 disables commenting as well
18:13:43  <isaacs>trevnorris: post it here: https://github.com/isaacs/github/issues
18:13:57  <trevnorris>heh, roger that
18:14:02  <tjfontaine>well I can tell you why they won't let that happen
18:14:09  <tjfontaine>because comments have to be attached to a specific commit object
18:14:13  * bajtosjoined
18:14:30  <isaacs>tjfontaine: they could be auto-attached to the commit that changed that line
18:14:33  <tjfontaine>same reason why you can't comment on arbitrary files in the repo
18:14:40  <isaacs>tjfontaine: git blame tells you which commit it should go to
18:14:44  <tjfontaine>isaacs: sure
18:16:29  <MI6>nodejs-v0.10: #238 UNSTABLE smartos-x64 (5/590) smartos-ia32 (1/590) linux-x64 (1/590) linux-ia32 (1/590) http://jenkins.nodejs.org/job/nodejs-v0.10/238/
18:18:07  <tjfontaine>trevnorris: you delete comments faster than they arrive in my email
18:18:43  <trevnorris>tjfontaine: lol. yeah. i suffer from, don't see it until I send it complex. ;)
18:20:30  * mikealquit (Quit: Leaving.)
18:21:01  <tjfontaine>trevnorris: you know you're commenting on things I didn't write?
18:21:36  <trevnorris>tjfontaine: really? i'm only commenting on the green lines in the comparison.
18:21:59  <trevnorris>tjfontaine: must have been some code shuffle that git couldn't track well.
18:22:18  <tjfontaine>there is some duplication of those methods that could be arguably mucked with
18:22:44  <tjfontaine>but wanted to make sure you're using the right splitPath based on what you're calling
18:23:02  * stagasjoined
18:23:11  <tjfontaine>but that makeLong was from the bottom of the other file
18:23:41  <tjfontaine>then dirname/basename/extname are duplication of logic
18:24:00  <trevnorris>ah ok. well bugger.
18:24:25  <trevnorris>for simplicity sake i'll just treat everything git tells me as new as your change, and just ignore anything you didn't actually touch. :)
18:24:55  <tjfontaine>hehe I mean it's certainly true that dirname/basename/extname could probably be handled better
18:25:06  <tjfontaine>copy/pasta is generally never the right thing
18:25:20  <trevnorris>bnoordhuis: changes in as requested. you wanna give a last look, or good to go?
18:25:56  <trevnorris>isaacs: is there an unwritten style rule in js that all conditionals must use {}, even if one line?
18:26:10  <trevnorris>(for core that is)
18:26:15  <MI6>nodejs-v0.10-windows: #67 UNSTABLE windows-ia32 (7/590) windows-x64 (8/590) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/67/
18:26:21  <tjfontaine>linter doesn't complain at least :)
18:26:27  <trevnorris>cool :)
18:26:40  <tjfontaine>I forgot to check that, glad you mentioned it :)
18:27:16  * mcavagejoined
18:29:12  * brsonjoined
18:30:00  * sblomquit
18:30:55  * defunctzombiechanged nick to defunctzombie_zz
18:33:45  <trevnorris>tjfontaine: honestly had no idea handling paths could be so difficult. can't believe how much code this takes.
18:34:30  <tjfontaine>heh
18:34:40  <tjfontaine>ya, and it's pretty fragile at times
18:35:27  <trevnorris>well. i'm glad this isn't one of those hot paths that i'd actually care about optimizing.
18:35:35  <tjfontaine>it may be one day
18:35:40  <bnoordhuis>trevnorris: sec, working on something
18:35:47  <tjfontaine>but there are plenty of other things that are worse for now
18:35:53  * hzjoined
18:36:03  <trevnorris>bnoordhuis: no worries. you're probably working on several things. :)
18:36:15  <trevnorris>tjfontaine: ooooh, that thought makes me shutter.
18:36:57  <trevnorris>s/shutter/shudder
18:36:58  <trevnorris>:P
18:37:11  <tjfontaine>heh, you may want to shutter code to make it faster though :P
18:37:15  * papertigersquit (Quit: papertigers)
18:39:51  <MI6>nodejs-v0.8: #47 UNSTABLE linux-x64 (1/472) osx-x64 (1/472) linux-ia32 (1/472) smartos-ia32 (1/472) smartos-x64 (1/472) osx-ia32 (1/472) http://jenkins.nodejs.org/job/nodejs-v0.8/47/
18:48:43  * bajtosquit (Quit: bajtos)
18:52:15  <trevnorris>tjfontaine: sorry dude. as strict as ben is w/ his cc. i am w/ my js. :)
18:53:49  <tjfontaine>just not sure i want to mix those changes with a reorganization
18:54:36  <trevnorris>yeah. well if you're duping code then i'd consider it necessary to simplify. i mean, there are several of the (almost) exact same filter functions.
18:54:46  <trevnorris>imho just leads to confusing bugs down the road.
18:55:12  <tjfontaine>I've not pushed the dedupe portion only two of them really needed done
18:55:20  <trevnorris>ok
18:55:25  <tjfontaine>because there is a specialization required for basename on windows
18:57:25  <isaacs>trevnorris: There si no "must use {} for one-line conditionals" rule
18:57:43  <isaacs>trevnorris: i do prefer to always drop to the next line and indent, though
18:57:48  <isaacs>trevnorris: but that's not strictly enforced, either
18:57:51  <trevnorris>coolio. for some reason thought that popped up on irc. just wanted to double check.
18:58:02  <isaacs>trevnorris: `make jslint` is the authority. that must always pass
18:58:03  <trevnorris>isaacs: same here. don't like conditional and statement on the same line.
18:58:25  <isaacs>trevnorris: `condition || doThing();` is 100% forbidden, though
18:58:33  <isaacs>trevnorris: except as an assignment
18:58:42  <isaacs>trevnorris: var thing = value || otherValue;
18:59:33  <trevnorris>isaacs: with you there. though i'm usually more type strict so I like the ternaries myself.
18:59:57  <isaacs>yeah, ternaries are nice
19:00:07  <tjfontaine>meh
19:00:17  <tjfontaine>so long as they're not abused
19:00:30  <trevnorris>mainly because: val = undefined; (val + '') == 'undefined'
19:00:41  <tjfontaine>only one ternary in a ternary please
19:00:49  <trevnorris>yeah. that too
19:03:02  * st_lukejoined
19:03:15  * HenryRquit (Ping timeout: 260 seconds)
19:03:58  * HenryRjoined
19:04:23  <trevnorris>funny though. I was *way* against if (arg == null) checks, until v8 �ber optimized for them
19:06:18  <trevnorris>tjfontaine: excuse the flood of emails, but think that's everything I really care about.
19:06:28  <tjfontaine>mk
19:06:38  <trevnorris>but, of course, leave what doesn't actually apply
19:07:38  <tjfontaine>bnoordhuis: btw you can push to any branch and it (should) go through CI as well
19:08:02  <tjfontaine>I am not too fussed either way, PRs are easy as well
19:08:13  <tjfontaine>and come with a bit more history about them
19:10:44  <bnoordhuis>tjfontaine: you mean at joyent/libuv or joyent/node? do i need to have 'review' or 'jenkins' in the branch name?
19:13:00  <bnoordhuis>also, does it run node integration tests now?
19:14:51  <MI6>joyent/libuv: Ben Noordhuis v0.10 * 12210fe : unix: fix busy loop, write if POLLERR or POLLHUP (+1 more commits) - http://git.io/pt6T0w
19:17:34  <MI6>libuv-v0.10: #94 UNSTABLE smartos (2/186) windows (4/187) http://jenkins.nodejs.org/job/libuv-v0.10/94/
19:18:45  <isaacs>bnoordhuis ++
19:22:15  <MI6>libuv-v0.10-gyp: #57 UNSTABLE windows-ia32 (3/187) windows-x64 (4/187) smartos-x64 (2/186) smartos-ia32 (2/186) linux-ia32 (2/186) http://jenkins.nodejs.org/job/libuv-v0.10-gyp/57/
19:33:13  <MI6>libuv-node-integration: #105 UNSTABLE smartos-x64 (3/590) smartos-ia32 (1/590) http://jenkins.nodejs.org/job/libuv-node-integration/105/
19:37:57  <trevnorris>freakin a. swear github deploys gui changes at least once a week.
19:39:32  <isaacs>bnoordhuis: i like the explanation in that libuv commit
19:39:47  <isaacs>bnoordhuis: very helpful to point people to :)
19:48:51  <Domenic_>bnoordhuis is the master of commit messages.
19:49:03  <tjfontaine>bnoordhuis: both joyent/{libuv,node} and no any name will work
19:52:13  * hzquit
19:53:23  <bnoordhuis>tjfontaine: nice
19:54:00  <tjfontaine>if it doesn't work, please let me know :)
19:54:19  * c4miloquit (Remote host closed the connection)
19:54:42  <bnoordhuis>tjfontaine: btw, you're the key master right? as in, you can add a pubkey to libuv.org
19:55:09  * piscisaureus_quit (Ping timeout: 252 seconds)
19:55:47  <tjfontaine>I can probably do that yes
19:56:12  <tjfontaine>I'm lagging like crazy on freenode
19:56:39  * hzjoined
19:56:51  <bnoordhuis>yeah, freenode seems to be having trouble again
19:56:59  <bnoordhuis>i noticed it in #node.js, crazy delays
19:57:59  <bnoordhuis>tjfontaine: https://gist.github.com/bnoordhuis/b59c7c102d579d864a82 <- can you add this one?
19:58:27  <bnoordhuis>i hope the nsa isn't monitoring our logs, they'd probably crack it in 10 seconds flat
19:59:00  <tjfontaine>bnoordhuis: please try now
19:59:23  <bnoordhuis>tjfontaine: it's asking for a password
19:59:27  <bnoordhuis>and 'hunter2' doesn't work
19:59:38  <bnoordhuis>neither does 'swordfish'
19:59:50  * mcavagequit (Remote host closed the connection)
20:00:03  <tjfontaine>moment
20:00:29  <bnoordhuis>are 37.153.98.70 and 26:c4:58:68:8d:53:34:b6:3f:fd:c4:20:cc:25:46:cf the right address/fingerprint?
20:00:40  * mcavagejoined
20:01:51  <tjfontaine>ssh-keygen -l -f /var/ssh/ssh_host_rsa_key.pub
20:01:51  <tjfontaine>2048 26:c4:58:68:8d:53:34:b6:3f:fd:c4:20:cc:25:46:cf /var/ssh/ssh_host_rsa_key.pub
20:02:04  <bnoordhuis>okay, nice
20:02:20  <bnoordhuis>still asking for a password though
20:02:38  <tjfontaine>odd, it should have replicated
20:02:52  <bnoordhuis>as what user should i log in?
20:03:18  <bnoordhuis>ah, root...
20:03:30  <tjfontaine>yes, sorry that wasn't clear
20:03:31  <bnoordhuis>okay, works. thanks :)
20:03:33  <tjfontaine>k
20:07:45  <MI6>joyent/libuv: bnoordhuis created tag v0.10.11 - http://git.io/mTf0ng
20:07:52  <MI6>joyent/libuv: Ben Noordhuis v0.10 * 72e440d : Now working on v0.10.12 (+1 more commits) - http://git.io/I11t0g
20:08:17  <bnoordhuis>my first libuv release <3
20:08:41  <tjfontaine>:)
20:11:45  <MI6>libuv-v0.10: #95 UNSTABLE smartos (2/186) windows (5/187) http://jenkins.nodejs.org/job/libuv-v0.10/95/
20:16:30  * TooTallNatequit (Quit: Computer has gone to sleep.)
20:18:06  <MI6>libuv-v0.10-gyp: #58 UNSTABLE osx-x64 (1/187) windows-ia32 (5/187) windows-x64 (5/187) smartos-x64 (2/186) linux-x64 (2/186) smartos-ia32 (2/186) http://jenkins.nodejs.org/job/libuv-v0.10-gyp/58/
20:18:14  * piscisaureus_joined
20:20:07  <MI6>libuv-review: #15 UNSTABLE windows-ia32 (6/187) smartos-x64 (2/186) linux-ia32 (2/186) smartos-ia32 (3/186) windows-x64 (4/187) http://jenkins.nodejs.org/job/libuv-review/15/
20:20:53  <MI6>joyent/node: Ben Noordhuis v0.10 * 4847627 : uv: upgrade to 0.10.11 - http://git.io/K0Awhg
20:21:23  * indexzerojoined
20:23:46  * st_lukequit (Remote host closed the connection)
20:29:07  * kevinswiberquit (Remote host closed the connection)
20:30:03  <MI6>libuv-node-integration: #106 UNSTABLE smartos-x64 (3/590) linux-x64 (1/590) smartos-ia32 (20/590) linux-ia32 (1/590) http://jenkins.nodejs.org/job/libuv-node-integration/106/
20:32:29  <MI6>nodejs-v0.10: #239 UNSTABLE smartos-x64 (113/590) smartos-ia32 (1/590) linux-x64 (1/590) http://jenkins.nodejs.org/job/nodejs-v0.10/239/
20:33:29  <piscisaureus_>bnoordhuis: so the busy loop was caused in the write path and not the read path?
20:33:40  <piscisaureus_>bnoordhuis: minor lol :)
20:36:56  <bnoordhuis>piscisaureus_: well no
20:37:20  <bnoordhuis>but trying to write will force the kernel to report the error
20:37:27  <bnoordhuis>whereas reading didn't
20:37:43  <piscisaureus_>bnoordhuis: so what if there is nothing to write?
20:38:06  <bnoordhuis>then the user should really close the handle
20:38:28  * jmar777quit (Remote host closed the connection)
20:38:42  <piscisaureus_>hmm yes but how will the user know :)
20:39:00  <bnoordhuis>well, it only happens when you don't close on EOF
20:39:16  <bnoordhuis>presumably you only do that when you still have something to write
20:39:44  * dominictarrjoined
20:39:53  <bnoordhuis>i'm going to enforce that eventually - but not tonight
20:40:27  <piscisaureus_>bnoordhuis: so what if the user wants to write stuff but it's not been queued yet?
20:40:54  <trevnorris>bnoordhuis: 5641 before you sleep? :)
20:41:05  <piscisaureus_>bnoordhuis: because, for example, some cgi application is still mulling over the received data?
20:41:28  * trapitojoined
20:41:45  <bnoordhuis>piscisaureus_: then he's going to hit the assert that i'm adding
20:42:12  <trapito>ahoy!
20:43:11  <bnoordhuis>trevnorris: looking
20:43:15  <bnoordhuis>hi trapito
20:43:21  * st_lukejoined
20:43:45  <trevnorris>bnoordhuis: just pushed an indentation fix. :P
20:50:36  * stagasquit (Read error: Connection reset by peer)
20:51:16  <MI6>nodejs-v0.10-windows: #68 UNSTABLE windows-ia32 (7/590) windows-x64 (8/590) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/68/
20:51:59  <piscisaureus_>bnoordhuis: noooo! you just broke tcp :(
20:52:14  * stagasjoined
20:52:19  <bnoordhuis>piscisaureus_: er?
20:52:36  <piscisaureus_>bnoordhuis: no allowing half-open connections is kind of breaking tcp right?
20:54:08  <piscisaureus_>ok back to apcs
20:54:14  <bnoordhuis>*shrug*
20:54:30  <bnoordhuis>it's not as if libuv makes guarantees here
20:54:32  * HenryRawasjoined
20:54:41  <piscisaureus_>bnoordhuis: I am not sure at this point whether you are trolling me or you are dead serious
20:54:50  <bnoordhuis>do i ever jest?
20:55:54  <trevnorris>bnoordhuis: hm. thought i'd need to manually adjust external memory, but looks like the resource visitor handles that already. going to pop those out.
20:56:15  <piscisaureus_>bnoordhuis: I hope you are trolling me ...
20:56:16  <bnoordhuis>like a wise man once said: "you call that humor? don't make me laugh"
20:56:19  * HenryRquit (Ping timeout: 264 seconds)
20:56:31  <piscisaureus_>bnoordhuis: I'm even willing to do the hack myself if you can't
20:57:14  <piscisaureus_>bnoordhuis: btw were you able to reproduce it on any linux or just these weird versions?
20:57:24  <bnoordhuis>piscisaureus_: it only happens with old kernels
20:57:28  <piscisaureus_>bnoordhuis: also if unfixable you might want to disable the POLLUP optimization
20:57:35  <bnoordhuis>2.6.32 was the newest i was able to reproduce it with
20:58:08  <bnoordhuis>also, for some reason only with centos kernels
20:58:28  <piscisaureus_>bnoordhuis: also have you tried the SO_ERROR trick?
20:59:01  <bnoordhuis>no
20:59:12  <bnoordhuis>let's circle back
20:59:26  <bnoordhuis>half-open connections still work
21:00:40  <bnoordhuis>i'm going to make libuv a little more robust in the face of unreliable kernels
21:00:46  <bnoordhuis>simplify the internal state machine a bit
21:00:54  <bnoordhuis>but in master, not in v0.10
21:01:29  <bnoordhuis>also, i have some ideas about fuzz testing libuv
21:02:43  <trevnorris>bnoordhuis: well, nm. you *do* need to manually adjust it.
21:03:00  <trevnorris>man, i've lost track how many time's i've flooded my memory/swap
21:03:23  <piscisaureus_>bnoordhuis: well that sounds great :)
21:03:38  <bnoordhuis>trevnorris: "This has improved performance substantially." <- you may want to add some numbers
21:03:49  * stagasquit (Read error: Connection reset by peer)
21:04:06  <trevnorris>bnoordhuis: there're numbers in the PR. want me to include the highlights in the commit msg?
21:04:49  <bnoordhuis>trevnorris: yes, please. also, can you add a comment to EXTERN_APEX?
21:04:59  <trevnorris>bnoordhuis: can do.
21:05:38  <HenryRawas>piscisaureus_: Have you had a chance to look at the PRs I sent?
21:06:18  * stagasjoined
21:07:57  <piscisaureus_>HenryRawas: in a call now. bbiab
21:10:33  * rendarquit
21:12:57  <bnoordhuis>trevnorris: one final comment, otherwise LGTM
21:16:02  * jmar777joined
21:18:38  * indexzeroquit (Quit: indexzero)
21:18:39  <trevnorris>bnoordhuis: thanks. don't know why I thought an empty string was treated the same as a primitive e.g. Undefined
21:18:42  * stagasquit (Ping timeout: 264 seconds)
21:19:40  <bnoordhuis>trevnorris: well, it is - it's a singleton
21:19:58  <bnoordhuis>but correctness before speed
21:20:06  <trevnorris>got it. :)
21:22:52  * c4milojoined
21:24:28  * dominictarrquit (Quit: dominictarr)
21:28:27  * AvianFluquit (Remote host closed the connection)
21:31:43  * c4miloquit (Remote host closed the connection)
21:33:21  <piscisaureus_>HenryRawas: yes I've looked at your pr.
21:33:47  <piscisaureus_>HenryRawas: so I think what we should do is implement https://gist.github.com/piscisaureus/5731532
21:34:17  <piscisaureus_>HenryRawas: on windows, it would just set the UV_STREAM_BLOCKING_WRITES flag
21:34:49  <piscisaureus_>HenryRawas: then in uv_pipe_write we switch the implementation based on that flag and the open mode of the pipe
21:37:07  <piscisaureus_>case UV_BLOCKING_PIPE | UV_STREAM_BLOCKING_WRITES: WriteFile
21:37:07  <piscisaureus_>case UV_BLOCKING_PIPE: offload to thread pool
21:37:07  <piscisaureus_>case UV_STREAM_BLOCKING_WRITES: WriteFile w/ OVERLAPPED and WaitForSingleObject
21:37:07  <piscisaureus_>case 0 /* neither */: WriteFile w/ OVERLAPPED
21:38:38  <trevnorris>bnoordhuis: fyi, here's the updated commit msg: v
21:38:39  <trevnorris>https://github.com/trevnorris/node/commit/3f580ab
21:40:10  <bnoordhuis>trevnorris: looks nice
21:40:22  <trevnorris>bnoordhuis: awesome. thanks for the help :)
21:41:23  * kazuponjoined
21:41:33  * pachetquit (Quit: leaving)
21:42:47  <bnoordhuis>trevnorris: if you land it now, i'll have one more thing for this week's "what's new in node.js"
21:43:00  <trevnorris>bnoordhuis: cool. landing it now.
21:43:21  <trevnorris>just making a slight alteration to the EXTERN_APEX working so it's less confusing.
21:45:21  <MI6>joyent/node: Trevor Norris master * e92f487 : string_bytes: write strings using new API (+3 more commits) - http://git.io/FHcdHQ
21:45:45  * indexzerojoined
21:46:31  * kazuponquit (Ping timeout: 252 seconds)
21:47:47  <tjfontaine>trevnorris: too late now really, but what's with this extra space? https://github.com/joyent/node/compare/3b0a759b6baa...e92f4879eb6c#L0R247
21:49:05  <trevnorris>tjfontaine: ah, did that when I was putting in some fprintf's and such.
21:52:52  <trevnorris>bnoordhuis: there's a funny perf gotcha. if you create a large string from a buffer, then turn that string back to a buffer it's 2-4x's faster for non-ascii strings.
21:53:07  <trevnorris>bnoordhuis: since it's already external it just has to do a memcpy
21:53:48  <trevnorris>but honestly I haven't been able to figure out when that'd be actually useful.
21:56:58  <bnoordhuis>yeah, me neither :)
21:58:45  <MI6>nodejs-master: #254 UNSTABLE smartos-ia32 (2/605) smartos-x64 (6/605) http://jenkins.nodejs.org/job/nodejs-master/254/
22:00:18  <HenryRawas>piscisaureus_: Why do WriteFile w/ OVERLAPPED and WaitForSingleObject instead of just WriteFile? If we don't do uv_poll isn't it the same?
22:01:18  <piscisaureus_>HenryRawas: ? what does UV_POLL have to do with it?
22:02:12  <piscisaureus_>HenryRawas: so - the reason is that passing an OVERLAPPED structure to WriteFile is obligatory if the file is open in overlapped mode.
22:02:14  <HenryRawas>piscisaureus_: If nothing else will run, why do WriteFile w OVERLAPPED and Wait?
22:02:37  <HenryRawas>I see
22:03:09  <trevnorris>and i will seriously buy all the maintainers one of these purple unicorns once my buffer patch gets in: http://www.amazon.com/Purple-Unicorn-Sparkle-Wish-Pets/dp/B005DVM3MY/
22:03:11  <piscisaureus_>HenryRawas: besides, if we want writes to be synchronous we should ensure that it is done before returning from uv_write
22:05:28  <HenryRawas>piscisaureus_: Do you want to add a file puh.c, or just put this API in stream.c?
22:05:37  <piscisaureus_>HenryRawas: heh
22:05:43  <piscisaureus_>HenryRawas: the api should go in uv.h
22:06:05  <piscisaureus_>HenryRawas: the implementation should go into stream.h
22:07:18  <HenryRawas>piscisaureus_: Do you mean stream-inl.h or stream.c?
22:07:38  <piscisaureus_>HenryRawas: the uv_stream_set_blocking is a public API
22:07:41  <piscisaureus_>so it should go into stream.c
22:08:37  <piscisaureus_>well one might not strictly from the other but it should be in stream.c anyway :)
22:08:53  <piscisaureus_>s/strictly/strictly follow/
22:09:16  <HenryRawas>piscisaureus_: Do I need to do anything for Linux (besides adding empty implementation)?
22:09:38  <piscisaureus_>HenryRawas: well - yes you can ship the empty implementation
22:09:53  <piscisaureus_>HenryRawas: otoh the unix implementation is very simple, namely one line.
22:10:28  <HenryRawas>piscisaureus_: Maybe, but I don't have a setup to test it.
22:11:01  <piscisaureus_>return uv__nonblock(handle->fd, !blocking);
22:11:05  <piscisaureus_>^-- unix :)
22:11:16  <piscisaureus_>oh in that case uv__stream_set_blocking should return int btw.
22:11:29  <piscisaureus_>HenryRawas: yeah, don't worry about the unix impl. I can do that.
22:11:33  <piscisaureus_>:)
22:11:37  <piscisaureus_>even I
22:13:45  * loladiro_joined
22:14:16  <piscisaureus_>cache lines are so weird
22:14:19  * mbroadstquit (Ping timeout: 264 seconds)
22:15:06  * loladiroquit (Ping timeout: 264 seconds)
22:15:06  * loladiro_changed nick to loladiro
22:16:00  * tjfontainequit (Ping timeout: 260 seconds)
22:16:47  * tjfontainejoined
22:17:11  * tjfontainechanged nick to Guest96305
22:17:25  * wmiljoined
22:17:34  * Guest96305changed nick to tjfontaine
22:17:44  * tjfontainequit (Changing host)
22:17:44  * tjfontainejoined
22:20:15  * wmilquit (Remote host closed the connection)
22:21:45  <trevnorris>isaacs: ping
22:22:01  * mbroadstjoined
22:22:07  <isaacs>pong
22:22:59  <trevnorris>isaacs: this might be userland material, but it would be hecka fast to do a "controlled callback" where the life of the object passed to the callback is only guaranteed to live for the syncronous life of the callback.
22:23:11  <trevnorris>(e.g. a Buffer or an external string)
22:23:19  <trevnorris>i mean like really really fast.
22:23:52  <isaacs>yeah, but it's also really really unsafe
22:24:07  <isaacs>whenyou pass something to a userland callback, it's not your thing any more.
22:24:39  <MI6>nodejs-master-windows: #62 UNSTABLE windows-ia32 (20/605) windows-x64 (19/605) http://jenkins.nodejs.org/job/nodejs-master-windows/62/
22:24:44  <trevnorris>yeah. they'd have to be run w/ the understanding that no outside reference can be assigned.
22:24:54  <trevnorris>and don't get me wrong. i understand this is a huge pipe dream :)
22:25:05  * trevnorrisdreams of the day
22:26:40  <trevnorris>bnoordhuis: thanks dude for the second review. you're a machine today.
22:27:17  <isaacs>trevnorris: if it was used for a strictly internal API, then fine
22:27:22  <isaacs>but that's probably hard to guarantee
22:27:51  <trevnorris>yeah. and building it out so we could toggle between the two would add way too much complexity.
22:27:57  * AvianFlujoined
22:28:42  <trevnorris>it's definitely module-able so i'll start there. :)
22:28:43  * philipsquit (Ping timeout: 264 seconds)
22:29:16  <trevnorris>bbiab
22:29:18  * trevnorris&
22:29:19  <LOUDBOT>NOW WE'RE BACK TO TURKEYS???
22:31:10  * TooTallNatejoined
22:32:31  * kevinswiberjoined
22:36:32  * philipsjoined
22:39:04  * st_lukequit (Remote host closed the connection)
22:40:24  * c4milojoined
22:42:27  * c4miloquit (Remote host closed the connection)
22:44:33  * c4milojoined
22:54:54  * mcavagequit (Remote host closed the connection)
22:56:56  <trevnorris>bnoordhuis: real quick, I had a separate commit that had the new v8 api changes. I squashed that now they were necessary. but it looks like you're already commenting on that.
22:57:06  <trevnorris>bnoordhuis: just wanted to fyi
22:57:42  * LOUDBOTquit (Ping timeout: 256 seconds)
22:58:50  * CAPSLOCKBOTquit (Ping timeout: 256 seconds)
22:59:28  <bnoordhuis>trevnorris: noted
23:00:49  * hzquit
23:01:20  * EhevuTovjoined
23:01:23  <bnoordhuis>trevnorris: i've reviewed the first 3 patches. i'm saving the other 7 for tomorrow :)
23:01:39  <bnoordhuis>okay, signing off. sleep tight everyone
23:01:45  <tjfontaine>night
23:03:07  * indexzeroquit (Quit: indexzero)
23:07:43  * bnoordhuisquit (Ping timeout: 264 seconds)
23:12:41  * indexzerojoined
23:16:29  * indexzeroquit (Client Quit)
23:38:29  * brsonquit (Ping timeout: 240 seconds)
23:46:31  * AvianFluquit (Remote host closed the connection)
23:47:58  * groundwaterquit (Quit: groundwater)
23:59:00  * brsonjoined