00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:01:14  * brsonquit (Remote host closed the connection)
00:03:17  * loladirojoined
00:07:11  * st_lukejoined
00:41:48  * kazuponjoined
00:46:25  * kazuponquit (Ping timeout: 248 seconds)
00:51:48  * st_lukequit (Read error: Connection reset by peer)
00:57:10  * st_lukejoined
00:58:37  * st_lukequit (Remote host closed the connection)
00:59:36  * loladiro_joined
00:59:38  * brsonjoined
00:59:55  * loladiroquit (Ping timeout: 264 seconds)
00:59:55  * loladiro_changed nick to loladiro
01:02:39  * loladiro_joined
01:04:31  * loladiroquit (Ping timeout: 260 seconds)
01:04:32  * loladiro_changed nick to loladiro
01:05:17  * hzquit
01:18:48  * kazuponjoined
01:35:32  * kazuponquit (Remote host closed the connection)
01:38:20  * icarotquit (Quit: leave())
01:38:41  * icarotjoined
01:38:52  * abraxasjoined
02:06:31  * loladiro_joined
02:07:03  * loladiroquit (Ping timeout: 260 seconds)
02:07:03  * loladiro_changed nick to loladiro
02:09:22  * timoxleyjoined
02:23:19  * loladiro_joined
02:25:43  * loladiroquit (Ping timeout: 260 seconds)
02:25:44  * loladiro_changed nick to loladiro
02:35:55  * kazuponjoined
02:39:00  * st_lukejoined
02:40:41  * kazuponquit (Ping timeout: 252 seconds)
02:51:00  * brsonquit (Quit: leaving)
02:57:36  * timoxleyquit (Ping timeout: 240 seconds)
03:09:42  * loladiroquit (Ping timeout: 256 seconds)
03:23:24  * loladirojoined
03:27:44  * timoxleyjoined
03:27:59  * loladiroquit (Ping timeout: 252 seconds)
03:36:43  * kazuponjoined
03:37:19  * icarot`joined
03:41:55  * kazuponquit (Ping timeout: 264 seconds)
03:43:32  * icarotquit (Quit: leave())
03:44:13  * icarotjoined
03:53:54  * icarot`quit (Ping timeout: 256 seconds)
03:58:34  * st_lukequit (Remote host closed the connection)
04:05:00  <kellabyte>saghul: yeah, thats what I used as a starting point
04:05:32  <kellabyte>saghul: its just a demo though so not that complete
04:13:57  * timoxleyquit (Quit: Computer has gone to sleep.)
04:14:35  * AvianFluquit (Remote host closed the connection)
04:14:50  * c4miloquit (Remote host closed the connection)
04:17:35  * kazuponjoined
04:17:59  * brsonjoined
04:25:21  * timoxleyjoined
04:49:31  * brsonquit (Ping timeout: 276 seconds)
04:50:05  * kazuponquit (Remote host closed the connection)
04:50:40  * brsonjoined
04:53:25  * bajtosjoined
04:56:23  * kazuponjoined
05:03:57  * mikealjoined
05:23:26  * st_lukejoined
05:32:21  * kazuponquit (Remote host closed the connection)
05:34:04  * stagasjoined
05:36:33  * paddybyersjoined
05:44:41  * st_lukequit (Remote host closed the connection)
05:48:43  * icarotquit (Quit: leave())
05:49:21  * icarotjoined
06:19:03  * timoxleyquit (Quit: Computer has gone to sleep.)
06:42:58  * kazuponjoined
06:49:31  * trevnorrisquit (Quit: IRCRelay - http://ircrelay.com)
06:49:41  * trevnorrisjoined
06:52:04  * timoxleyjoined
06:59:44  * brsonquit (Quit: leaving)
07:08:44  * rendarjoined
07:13:26  * piscisaureus_joined
07:15:07  <piscisaureus_>morning
07:33:11  * csaohjoined
07:35:08  * hzjoined
07:53:45  * icarotquit (Quit: leave())
07:54:13  * stagasquit (Read error: Connection reset by peer)
07:54:14  * icarotjoined
08:00:37  * normanmjoined
08:21:56  <indutny>morning
08:30:52  * kazuponquit (Remote host closed the connection)
08:43:46  * hzquit (Disconnected by services)
08:43:46  * hz_joined
08:43:51  * hz_changed nick to hz
09:00:28  <trevnorris>morning
09:24:03  * `3rdEdenjoined
09:24:38  * kuebkjoined
09:31:11  * kazuponjoined
09:35:43  * kazuponquit (Ping timeout: 246 seconds)
09:39:24  * st_lukejoined
09:45:24  * timoxleyquit (Quit: Computer has gone to sleep.)
09:51:07  * normanmquit (Quit: Computer has gone to sleep.)
09:58:58  * icarotquit (Quit: leave())
09:59:19  * icarotjoined
10:09:39  <trevnorris>damn you crypto, damn you to hell!
10:10:16  <roxlu>trevnorris: where are you working on ?
10:11:09  <trevnorris>roxlu: rebasing my buffer changes to isaacs recent crypto changes, and this one crypto test keeps failing even though all the inputs are exactly the same.
10:11:50  <roxlu>trevnorris: is this related to ssl?
10:12:10  * roxluwishes for build in support for ssl with libuv :)
10:12:24  * kazuponjoined
10:12:35  <trevnorris>roxlu: it's the crypto.createVerify() test in test-crypto.js
10:12:41  <roxlu>ah ok
10:16:58  <trevnorris>indutny: you around?
10:18:05  * Benvie_quit
10:21:01  <rendar>roxlu: you mean implemented directly inside libuv, without linking to libssl? :)
10:24:06  <trevnorris>indutny: are all instances if crypto.createVerify() supposed to use the same mdctx_ member? I never see the class Verify being instantiated.
10:25:44  <roxlu>rendar: no, with linking with libssl, but a bit like how libevent (or was it libev) supports libssl
10:26:05  <trevnorris>isaacs: not sure why, but the crypto.createVerify() is failing w/ the latest buffer rebase though I've spent all weekend making sure inputs are the same across the board. I can't find a single difference. it's driving me nuts.
10:29:11  <rendar>roxlu: hmm, i see, but what is the difference basically? i'm not so fond of libevent/libev
10:30:06  <trevnorris>well, it's 3:30am. time to sleep.
10:30:47  * csaohquit (Quit: csaoh)
10:30:59  * dominictarrjoined
10:31:03  <roxlu>rendar: me neither :-), but when you want ot use ssl now, you need to interface SSL and all the mem_bio stuff. It would be nice to have a simple wrapper around this
10:31:14  <roxlu>maybe like a module to libuv which takes care of all that
10:31:31  <rendar>roxlu: oh i see, so you mean simple boilerplate code to abstract that
10:31:36  <roxlu>yes
10:31:42  <rendar>i see
10:40:02  * timoxleyjoined
10:40:46  * bajtosquit (Quit: bajtos)
11:05:14  * bajtosjoined
11:10:43  * abraxasquit (Remote host closed the connection)
11:12:40  * csaohjoined
11:23:52  * icarot`joined
11:23:55  * CAPSLOCKBOTquit (Ping timeout: 256 seconds)
11:23:55  * LOUDBOTquit (Ping timeout: 256 seconds)
11:26:43  * timoxleyquit (Quit: Computer has gone to sleep.)
11:29:12  * bnoordhuisjoined
11:29:12  * LOUDBOTjoined
11:29:13  * CAPSLOCKBOTjoined
11:31:17  * kazuponquit (Remote host closed the connection)
11:50:02  * dominictarrquit (Quit: dominictarr)
12:04:05  * icarotquit (Quit: leave())
12:04:29  * icarotjoined
12:12:06  * AvianFlujoined
12:37:30  <MI6>joyent/libuv: Ben Noordhuis v0.10 * a1cb52a : darwin: task_info() cannot fail - http://git.io/HoU2Kw
12:39:12  * st_lukequit (Remote host closed the connection)
12:39:41  <MI6>libuv-v0.10: #68 UNSTABLE smartos (2/186) windows (6/187) http://jenkins.nodejs.org/job/libuv-v0.10/68/
12:41:43  * kazuponjoined
12:44:24  <MI6>libuv-v0.10-gyp: #33 UNSTABLE smartos-x64 (2/186) windows-ia32 (4/187) linux-x64 (1/186) smartos-ia32 (2/186) windows-x64 (4/187) http://jenkins.nodejs.org/job/libuv-v0.10-gyp/33/
12:46:29  * kazuponquit (Ping timeout: 248 seconds)
12:52:58  <MI6>libuv-node-integration: #63 UNSTABLE smartos-x64 (2/584) linux-x64 (1/584) osx-x64 (1/584) linux-ia32 (1/584) osx-ia32 (1/584) http://jenkins.nodejs.org/job/libuv-node-integration/63/
13:00:10  * icarot`quit (Ping timeout: 256 seconds)
13:01:39  <indutny>hoya
13:02:07  <bnoordhuis>heya
13:02:49  <bnoordhuis>indutny: have you fixed all the bugs yet?
13:02:55  <indutny>in rust?
13:02:57  <indutny>:)
13:03:01  <bnoordhuis>no, in node/libuv
13:03:05  <indutny>haha
13:03:07  <indutny>no, not yet
13:03:07  <bnoordhuis>i've cc'd you on a couple of issues
13:03:13  <indutny>oooh
13:03:23  * indutnyis checking his inbox
13:04:06  <bnoordhuis>indutny: https://github.com/joyent/node/issues/mentioned/indutny?state=open
13:04:25  <indutny>oh, its like I'm very popular on this page
13:04:27  <indutny>nice! :)
13:04:41  <indutny>woooow https://github.com/joyent/node/issues/5463
13:04:56  <indutny>that's all out of sudden
13:06:19  * icarot`joined
13:06:40  <bnoordhuis>yeah. couldn't reproduce it myself
13:07:23  * icarot`quit (Remote host closed the connection)
13:16:30  <piscisaureus_>I wish it would stop raining
13:16:37  <piscisaureus_>where are my antidepressants?
13:16:54  <bnoordhuis>you're in amsterdam right?
13:17:06  <bnoordhuis>there's an antidepressant shop on every corner
13:19:54  <bnoordhuis>piscisaureus_: https://github.com/bnoordhuis/node/compare/issue5502 <- review? adds localAddress and localPort to tls.CleartextStream
13:19:55  <piscisaureus_>bnoordhuis: I don't know about these memory usage issues
13:20:18  <bnoordhuis>you don't know what about these memory usage issues?
13:20:21  <piscisaureus_>bnoordhuis: you always close them but I do think that node is using a lot more memory that it used to
13:20:45  <piscisaureus_>bnoordhuis: is there a setting that people can use to make the GC more eager? I mean, they also run v8 on phones.
13:21:20  <bnoordhuis>piscisaureus_: i wager that mobile v8 has much smaller new/old/etc. spaces
13:21:23  <piscisaureus_>I think every tab eventually becoming 150MB is quite constraining on these machines.
13:22:54  <bnoordhuis>fwiw, v8 3.14 and newer do use more memory
13:23:18  <bnoordhuis>but that's because it's a lot more lazy
13:23:27  <bnoordhuis>which is in general a good thing, i think
13:24:00  <bnoordhuis>because responsiveness under high loads is a lot better, i.e. trading space for time
13:26:34  * hzquit
13:28:06  * hzjoined
13:29:19  * pachetjoined
13:33:21  * hzquit
13:35:41  <piscisaureus_>bnoordhuis: 5502 lgtm
13:37:04  <bnoordhuis>merci
13:37:41  <MI6>joyent/node: Ben Noordhuis master * d820b64 : tls: add localAddress and localPort properties - http://git.io/O2wIOQ
13:43:32  * kevinswiberjoined
13:47:59  <MI6>nodejs-master: #225 UNSTABLE linux-ia32 (2/599) smartos-x64 (4/599) http://jenkins.nodejs.org/job/nodejs-master/225/
13:48:07  <bnoordhuis>piscisaureus_: so, about these memory issues - are you going to do something about it or ?
13:51:25  * hzjoined
13:53:21  <bnoordhuis>we really should start compiling the os x build with gcc 4.8
13:53:34  <bnoordhuis>the generated code is so much tighter is not even funny
13:54:07  <bnoordhuis>the .text size is only half of what the xcode toolchain generates
13:54:08  <bnoordhuis>isaacs: ^
13:57:55  <MI6>nodejs-master-windows: #35 UNSTABLE windows-x64 (13/599) windows-ia32 (14/599) http://jenkins.nodejs.org/job/nodejs-master-windows/35/
13:59:41  * c4milojoined
14:03:58  * indexzerojoined
14:09:25  * icarotquit (Quit: leave())
14:09:54  * icarotjoined
14:21:58  * normanmjoined
14:25:56  * hueniverse1quit (Quit: Leaving.)
14:26:48  * hueniversejoined
14:28:30  <bnoordhuis>hueniverse: managed to find that memory leak?
14:31:01  * hueniversequit (Ping timeout: 248 seconds)
14:46:06  * st_lukejoined
14:46:54  * mikealquit (Quit: Leaving.)
14:48:15  * hueniversejoined
14:48:27  * hz_joined
14:48:28  * hz_quit (Changing host)
14:48:28  * hz_joined
14:48:28  * hzquit (Disconnected by services)
14:48:32  * hz_changed nick to hz
14:54:12  * st_lukequit (Read error: Connection reset by peer)
14:54:16  * defunctzombie_zzchanged nick to defunctzombie
14:54:42  * hz_joined
14:54:42  * hz_quit (Changing host)
14:54:42  * hz_joined
14:54:42  * hzquit (Disconnected by services)
14:54:47  * hz_changed nick to hz
14:56:11  * st_lukejoined
14:57:30  * st_lukequit (Read error: Connection reset by peer)
14:57:36  * st_luke_joined
15:02:00  * st_luke_changed nick to st_luke
15:03:31  * normanmquit (Quit: Computer has gone to sleep.)
15:10:06  * st_lukequit (Remote host closed the connection)
15:10:39  * st_lukejoined
15:12:30  * dapjoined
15:15:51  * kuebkpart
15:16:23  * st_lukequit (Remote host closed the connection)
15:22:28  <piscisaureus_>Great turnaround time, jenkins
15:22:30  <piscisaureus_>https://github.com/joyent/libuv/pull/804
15:22:47  * mikealjoined
15:23:17  <tjfontaine>heh
15:23:47  <tjfontaine>why he chose to close it I'm not sure
15:24:21  <ral>THat's me, and I hadn't read contributing.md. I can't be bothered to deal with work and a CLA for two deletions.
15:24:46  <ral>Turnaround on jenkins was fine, I did the commit but couldn't push it until later.
15:25:00  <tjfontaine>it's just an online form you have to fill out and hit submit on
15:25:25  * pachetquit (Ping timeout: 248 seconds)
15:25:39  <ral>Well, yes, but only if you can agree to all of the statements.
15:28:18  * indexzeroquit (Ping timeout: 264 seconds)
15:28:51  * indexzerojoined
15:37:25  <isaacs>bnoordhuis: https://github.com/bnoordhuis/node/commit/issue5501 mostly lgtm, but please see the CONTRIBUTING.md file for our guidelines regarding commit messages ;P
15:39:52  * pachetjoined
15:41:52  <bnoordhuis>haha :)
15:42:04  <bnoordhuis>i was going to let you steal it; just squash it into your PR
15:42:40  <bnoordhuis>ral: no CLA == no merge. sorry, but them's the rules
15:43:25  <bnoordhuis>mostly because else you get endless debates about where to draw the line
15:43:39  <isaacs>ral: if you can't agree to the agreements, then we can't take your patch.
15:43:52  <isaacs>ral: someone else can clean-room it if they haven't seen your approach.
15:44:02  <isaacs>ral: and then if they write the exact same code, oh well, coincidence :)
15:44:17  <isaacs>ral: laws suck. i'm sorry.
15:46:47  <ral>bnoordhuis / isaacs Yeah, I should've read contributing.md first.
15:47:07  <isaacs>ral: just out of curiousity, what part of the CLA is objectionable?
15:47:26  <isaacs>ral: if it's preventing contributions for silly reasons, i can bring it up with Joyent's general counsel
15:48:16  <ral>It's not objectionable.
15:48:28  <ral>Section 2 - You are able to grant us these rights.
15:48:58  <tjfontaine>this is an employer issue then?
15:49:16  <ral>I just persuaded work to let me be a committer on an eclipse project and whilst they didn't have any problems, it took nearly a month to make its way through.
15:49:23  <ral>Well, it's not even finished yet.
15:49:42  <ral>For two line deletions... not really worth wasting everybodies time.
15:50:14  <isaacs>ral: i think you need a less bureaucratic employer.
15:50:35  <tjfontaine>heading to work, isaacs is your page up to date?
15:50:45  <isaacs>tjfontaine: yeah, i'm heading to yoga, i'll be back in a few hours.
15:50:48  <tjfontaine>ok
15:50:55  <isaacs>monday class is hte killer one.
15:51:00  <isaacs><3 this teacher so much.
15:51:03  <tjfontaine>hehe
15:51:27  <tjfontaine>alright talk to you in a few
15:51:42  <tjfontaine>(hours)
15:52:33  * dapquit (Ping timeout: 248 seconds)
15:52:35  <ral>isaacs: Nah, I think it just isn't a high priority and has bounced around a few people.
15:52:46  <isaacs>ral: i see
15:53:11  <ral>I probably could sign the CLA, but what's the point without doing it properly?
15:53:28  <isaacs>ral: where do you live? if you're in CA, you could probably just do it on your own time and equipment, and be fine.
15:53:42  <isaacs>ral: this is not legal advice, i'm not a lawyer, your mileage may vary, etc, etc
15:53:49  * dapjoined
15:54:05  <isaacs>ral: yeah, but you're right. what's the point if you don't know if it's actually ok, to say that it IS ok?
15:54:12  <ral>Right
15:54:24  <isaacs>ral: in effect, you'd be taking on the liability of ensuring that your employer is ok with this, which it sounds like they might not be.
15:55:00  <ral>I think you're looking at it the wrong way round. Isn't it more of a concern for you?
15:55:04  <isaacs>ral: the point of a cla is to make it YOUR problem, rather than Joyent's, so that if your employer (or anyone else) sues us for IP violations, we cna point at you and say "But he SAID it was ok!"
15:55:10  <ral>Fair point.
15:55:27  <isaacs>oracle might spend a lot of time and effort suing joyent, or microsoft, or yahoo, because these are companies with money.
15:55:38  <isaacs>but they won't waste any time suing 1000 individual developers
15:55:49  <isaacs>it's a risk-spreading tactic.
15:55:56  <isaacs>strength in the herd :)
15:56:03  <isaacs>basically a legal hack.
15:56:31  <isaacs>but also, a reminder for contributors to please not piss off their employers, becuase that's not nice. you really ought to either obey the rules, or find a place with rules you CAN obey, if you want to be a good oss citizen.
15:57:47  <isaacs>ral: there are actually lots of companies that encourage OSS contributions by their employees as a matter of corporate policy.
15:58:33  <isaacs>ok, i'm out for a bit. have fun. good luck with your bureaucracy, ral, hope it works out well. if not, explain in english what needs to be done and i'll take credit for it ;)
15:58:45  <ral>I make contributions to my own projects without worrying about it, but it's different with other projects.
15:58:51  <isaacs>right
15:58:55  <isaacs>personal time, etc.
15:59:03  * isaacs&
15:59:04  <LOUDBOT>AND YOU ARE NOT RESPONDING
15:59:12  <ral>Enjoy
15:59:43  * defunctzombiechanged nick to defunctzombie_zz
15:59:58  * `3rdEdenquit (Remote host closed the connection)
16:00:04  * hz_joined
16:00:05  * hz_quit (Changing host)
16:00:05  * hz_joined
16:00:05  * hzquit (Disconnected by services)
16:00:09  * hz_changed nick to hz
16:02:01  * kevinswiberquit (Remote host closed the connection)
16:02:34  * kevinswiberjoined
16:03:41  * dominictarrjoined
16:05:03  * kevinswi_joined
16:05:05  * kevinswiberquit (Read error: Connection reset by peer)
16:05:36  * benoitcquit (Excess Flood)
16:07:26  * benoitcjoined
16:08:52  * TooTallNatejoined
16:11:40  * kevinswi_quit (Remote host closed the connection)
16:12:17  * kevinswiberjoined
16:13:52  * kevinswiberquit (Read error: Connection reset by peer)
16:14:20  * kevinswiberjoined
16:14:36  * icarotquit (Quit: leave())
16:15:03  * icarotjoined
16:17:40  * dominictarrquit (Quit: dominictarr)
16:22:14  * kevinswiberquit (Remote host closed the connection)
16:23:00  * brsonjoined
16:25:03  * hueniversequit (Read error: Connection reset by peer)
16:37:10  * hueniversejoined
16:38:57  * dannycoatesjoined
16:44:11  * mikealquit (Quit: Leaving.)
16:45:14  * csaohquit (Quit: csaoh)
16:48:26  * TooTallNatequit (Quit: Computer has gone to sleep.)
17:00:27  * inolenquit (Quit: Leaving.)
17:02:18  * dapquit (Quit: Leaving.)
17:02:58  * TooTallNatejoined
17:11:10  * normanmjoined
17:14:45  * piscisaureus_&
17:14:46  <LOUDBOT>GYPSIES DON'T USE THE INTERNET UNLESS IT'S A STOLEN WIFI POINT
17:14:58  <tjfontaine>heh
17:19:19  * kevinswiberjoined
17:20:27  * mikealjoined
17:25:16  * kevinswiberquit (Remote host closed the connection)
17:25:49  * kevinswiberjoined
17:26:34  * stagasjoined
17:30:13  * kevinswiberquit (Ping timeout: 248 seconds)
17:30:25  <trevnorris>morning again
17:30:35  <tjfontaine>it's always morning somewhere
17:34:54  * kevinswiberjoined
17:35:09  <trevnorris>i could really use someone else's eyes before I flip out. crypto.Verify is kicking me in the groin.
17:36:12  <tjfontaine>what's up?
17:36:56  <trevnorris>tjfontaine: so i've rebased my buffer changes on isaacs changes. since then crypto.createVerify in test-crypto.js fails.
17:37:11  <tjfontaine>4964?
17:37:33  <trevnorris>yeah
17:37:43  <trevnorris>tjfontaine: I've tested all variables every statement along the way and so far everything looks exactly the same.
17:37:51  <trevnorris>but for some reason it always returns false.
17:38:31  <tjfontaine>on every platform?
17:38:38  <trevnorris>yeah
17:38:43  <tjfontaine>k
17:38:54  <trevnorris>tjfontaine: http://jenkins.nodejs.org/job/node-pullrequest/384/testReport/
17:39:20  <trevnorris>what I don't get is why every other test passes, except for this one.
17:39:32  <TooTallNate>Error: read Unknown system errno 50
17:39:38  <TooTallNate>^ and ideas?
17:39:40  <TooTallNate> /cc bnoordhuis
17:40:18  <tjfontaine>TooTallNate: platform?
17:41:09  <tjfontaine>on bsd'ish it looks like "Network is down"
17:45:18  <trevnorris>tjfontaine: here's the only difference I have been able to find: https://gist.github.com/trevnorris/5613885
17:45:28  <tjfontaine>trevnorris: I have two crypto test failures, is that what you have?
17:45:32  <trevnorris>tjfontaine: yeah
17:46:05  <trevnorris>tjfontaine: it's stupid small, but basically the "mdctx_ pre" is always consistently "(nil)" for both master and my branch.
17:46:17  <TooTallNate>tjfontaine: sorry, Darwin 12.3.0
17:46:36  <tjfontaine>TooTallNate: ya I would say that the ENETDOWN seems like the culrpit
17:46:36  <trevnorris>tjfontaine: and they're different. seriously the only difference I've been able to find.
17:46:52  <tjfontaine>trevnorris: ok I'm going to start stepping through
17:46:57  <TooTallNate>tjfontaine: is this something we should map in libuv or what?
17:47:08  <trevnorris>tjfontaine: thanks a lot dude.
17:47:15  * bajtosquit (Quit: bajtos)
17:48:34  <tjfontaine>TooTallNate: yes, more than likely, not sure how the different platform versions of that work
17:48:57  <TooTallNate>piscisaureus_ or bnoordhuis? ^ (paging libuv gurus)
17:49:50  * brsonquit (Ping timeout: 252 seconds)
17:50:52  * inolenjoined
17:51:45  <trevnorris>TooTallNate: do you know how Cloudup auto selects a username when I sign up for the beta?
17:52:02  <TooTallNate>trevnorris: it's from your gravatar
17:52:56  <TooTallNate>trevnorris: i.e. you type your email address in, and gravatar gives us a (good guess) at your username
17:53:02  <TooTallNate>i think just matching your github one
17:53:44  <trevnorris>TooTallNate: it's creepy. it selected a username only used for a private hostgator login I have.
17:53:52  <trevnorris>that doesn't match anything else I use
17:54:13  <TooTallNate>what's hostgator?
17:54:46  <tjfontaine>hosting company
17:56:15  <trevnorris>wait. wtf. nm, gravatar is being stupid.
17:58:53  <tjfontaine>the fun thing about this test is a small off by one error could be hitting you
17:59:15  <bnoordhuis>TooTallNate: os x? that's ENETDOWN
17:59:27  <TooTallNate>trevnorris: i've informed upper management :p
17:59:42  <bnoordhuis>not to be confused with EMANDOWN, that's when the man pages are inaccessible
17:59:51  <TooTallNate>bnoordhuis: ya we've established that at this point… but should we map it in libuv?
18:00:11  <bnoordhuis>i thought we did but maybe that's ENETUNREACH
18:00:45  <trevnorris>TooTallNate: oh, sorry. this was (sort of) my fault. I guess gravatar auto selects your username from wordpress.com, and I signed up for an account there forever ago and didn't realize I had used that username to sign up.
18:00:49  <bnoordhuis>right, ENETUNREACH but not ENETDOWN
18:00:57  <bnoordhuis>when/why do you get that?
18:01:23  <TooTallNate>trevnorris: interesting… ya we're thinking about adding a disclaimer to the side "username retreived from gravatar" maybe
18:02:02  <TooTallNate>bnoordhuis: upon a read() call? i'm not sure exactly, it comes in sometimes from our automated bug reports
18:02:09  <TooTallNate>from a user's computer
18:02:14  <trevnorris>TooTallNate: yeah. and I haven't visited gravatar for probably over a year and hadn't realized they select your username from your wordpress.com account.
18:02:17  <TooTallNate>so likely when they awake from sleep
18:02:27  <TooTallNate>trevnorris: ya that's news to me as well, kinda weird, hahah
18:02:28  <bnoordhuis>ah, that sounds plausible
18:02:45  <tjfontaine>within the window before a timeout I guess
18:05:21  * dapjoined
18:05:59  <MI6>joyent/libuv: Ben Noordhuis v0.10 * 739a5b2 : unix: add mapping for ENETDOWN - http://git.io/BriB2A
18:08:32  <trevnorris>bnoordhuis: is darwin.c used in linux-land?
18:09:01  <bnoordhuis>trevnorris: only in alternate realities. why do you ask?
18:09:21  <trevnorris>bnoordhuis: because the patch you gave me is on darwin.c, but the failure is on linux.
18:09:45  <bnoordhuis>trevnorris: ah... you mentioned os x earlier in that issue
18:10:21  <bnoordhuis>on linux, it tries to open /proc/self/stat - so yes, that can fail with EMFILE
18:10:29  * `3rdEdenjoined
18:10:45  <tjfontaine>fake files use real fds
18:10:47  <trevnorris>what's "it"?
18:10:53  <tjfontaine>memoryUsage()
18:10:57  <trevnorris>ah, ok.
18:11:12  * normanmquit (Quit: Computer has gone to sleep.)
18:11:26  <trevnorris>coolio. then problem solved. :)
18:13:15  <trevnorris>burn in hell crypto!
18:14:07  <trevnorris>bnoordhuis: no idea if this means anything, but the only difference i've been able to log is where "mdctx_ pre" is (nil): https://gist.github.com/trevnorris/5613885
18:14:19  <trevnorris>bnoordhuis: and they're consistently (nil) in that exact order.
18:17:10  <bnoordhuis>trevnorris: i think mdctx_ is uninitialized before the call to EVP_MD_CTX_init?
18:17:14  <tjfontaine>trevnorris: isn't pre just unitia...
18:17:16  <tjfontaine>damnit.
18:17:25  <bnoordhuis>:)
18:17:51  <trevnorris>yeah, but i've run the tests hundereds of times because I thought the same. is it just pure conincidence that they're always (nil) in the same order?
18:19:13  <trevnorris>basically. I've logged every variable every step of the way and haven't been able to find a single difference between buffer branch and master. but my branch returns false.
18:19:46  <trevnorris>was up till 3:30 last night trying to figure it out, so it's possible that i'm missing the obvious at this point.
18:19:56  <bnoordhuis>trevnorris: i'll bet good money that valgrind complains about uninitialized reads around that printf
18:19:56  * icarotquit (Quit: leave())
18:20:14  * icarotjoined
18:21:15  <trevnorris>bnoordhuis: yup: "Conditional jump or move depends on uninitialised value"
18:23:19  <tjfontaine>damnit I always forget --debug
18:28:17  <tjfontaine>trevnorris: so good news, and bad news
18:28:22  <trevnorris>ok
18:28:56  <tjfontaine>oh never mind, just some unitialized memory
18:29:48  <tjfontaine>thought I had it there for a moment :)
18:30:27  <trevnorris>my sanity will owe you a beer if you do find it
18:30:32  * bnoordhuisquit (Ping timeout: 256 seconds)
18:33:34  * stagas_joined
18:34:29  * mikealquit (Quit: Leaving.)
18:40:58  <tjfontaine>trevnorris: ok, the update()'s happen the same on each branch, so either the sign() or the verify() itself is where the problem is
18:43:39  <trevnorris>tjfontaine: ok thanks. i'm taking a look at Verify::VerifyFinal. it hits X509_get_pubkey, but I start to get lost entering openssl code.
18:43:53  <tjfontaine>trevnorris: if I had to take a guess I'm imagining this toBuf having a side effect
18:45:10  <trevnorris>tjfontaine: hm. the return values are exactly the same. I've verified that by printing the values from Buffer::Data() as hex. but might well have missed something.
18:47:20  <tjfontaine>ok so
18:47:32  <tjfontaine>your branch:
18:47:33  <tjfontaine>Breakpoint 5, node::crypto::Verify::VerifyFinal (this=0x10152a360, key_pem=0x101828db8 "-----BEGIN CERTIFICATE-----\nMIIDXDCCAsWgAwIBAgIJAKL0UG+mRkSPMA0GCSqGSIb3DQEBBQUAMH0xCzAJBgNV\nBAYTAlVLMRQwEgYDVQQIEwtBY2tuYWNrIEx0ZDETMBEGA1UEBxMKUmh5cyBKb25l\nczEQMA4GA1UEChMHbm9kZS5qczEdMBsGA1UECxMUVG"..., key_pem_len=1224, sig=0x101829280 "?\v?0DHo{???", siglen=129) at ../src/node_crypto.cc:2834
18:47:43  <tjfontaine>master
18:47:44  <tjfontaine>Breakpoint 3, node::crypto::Verify::VerifyFinal (this=0x102518850, key_pem=0x103000dc0 "-----BEGIN CERTIFICATE-----\nMIIDXDCCAsWgAwIBAgIJAKL0UG+mRkSPMA0GCSqGSIb3DQEBBQUAMH0xCzAJBgNV\nBAYTAlVLMRQwEgYDVQQIEwtBY2tuYWNrIEx0ZDETMBEGA1UEBxMKUmh5cyBKb25l\nczEQMA4GA1UEChMHbm9kZS5qczEdMBsGA1UECxMUVG"..., key_pem_len=1224, sig=0x103001288 "?\v?0DHo{???", siglen=128) at ../src/node_crypto.cc:2841
18:47:56  <tjfontaine>master's signature length is 128, your branches signature length is 129
18:48:00  <tjfontaine>off by one :)
18:48:52  <trevnorris>wtf...
18:49:21  <trevnorris>dude. that's litterally on my screen right now but I wasn't looking for it. wow, thanks.
18:49:43  <tjfontaine>you're welcome
19:01:24  * indexzeroquit (Quit: indexzero)
19:04:52  * mikealjoined
19:06:33  <trevnorris>tjfontaine: well this is fun. somehow StringBytes::Size is returning a size of 129 for a base64 encoded string.
19:06:57  <tjfontaine>trevnorris: and the right amount of data is being passed in?
19:07:37  <trevnorris>tjfontaine: going to double check one thing before I answer that.
19:14:11  * mikealquit (Ping timeout: 260 seconds)
19:17:20  <trevnorris>tjfontaine: dammit. it's all because of this stupid line in Buffer(): "this.length = this.write(subject, 0, encoding);"
19:18:00  <trevnorris>they both report back needing size 129, but since master creates a slice after the fact, it chops the buffer off at the return value of .write() e.g. 128.
19:18:44  * piscisaureus_quit (Read error: Connection reset by peer)
19:18:46  <trevnorris>where the new implementation didn't bother because it was handling it better.
19:19:29  <trevnorris>so the size looks like it's 128 in js, but Buffer::Length is returning a different size because it's reading the internal indexed array length.
19:21:55  * indexzerojoined
19:24:58  <trevnorris>tjfontaine: and that's because base64_decoded_size isn't properly decrementing the size when it should be detecting the "=" at the end for padding.
19:28:15  <trevnorris>fucking hell... this does _not_ return the correct value: if (end[-1] == '=') size--;
19:33:20  <trevnorris>tjfontaine: massive thanks again. no idea how long that would have taken me to find. throwing up a patch now.
19:36:02  * dannycoatesquit (Remote host closed the connection)
19:37:05  * hzquit (Ping timeout: 252 seconds)
19:39:22  * hzjoined
19:39:22  * hzquit (Changing host)
19:39:22  * hzjoined
19:41:20  * mikealjoined
19:43:31  <trevnorris>can anyone lgtm this: https://github.com/trevnorris/node/compare/joyent:v0.10...base64-length-fix
19:44:10  * indexzeroquit (Quit: indexzero)
19:45:53  * mikealquit (Ping timeout: 252 seconds)
19:50:04  * indexzerojoined
19:56:24  * dannycoatesjoined
19:56:34  * brsonjoined
20:01:23  <tjfontaine>trevnorris: glad I could help restore your sanity
20:01:45  <trevnorris>:)
20:02:02  <tjfontaine>wtf jenkins.
20:03:00  <trevnorris>as soon as I get the lgtm i'm going to pop it onto v0.10 then cherry-pick it to master.
20:03:11  <trevnorris>then my buffer branch will finally be ready!
20:06:50  <isaacs>good afternoon
20:06:59  <tjfontaine>I haven't read enough context, but that change trevnorris in general looks good to me
20:07:16  <trevnorris>isaacs: mind lgtm'ing https://github.com/trevnorris/node/compare/joyent:v0.10...base64-length-fix
20:07:42  <isaacs>looking
20:09:10  <tjfontaine>hmm
20:11:26  <isaacs>trevnorris: ack!
20:11:27  * isaacsheadslap
20:11:33  <isaacs>trevnorris: yes, lgtm, if that test passes
20:11:39  <trevnorris>it does. :)
20:15:22  <trevnorris>isaacs: hm. there's another issue: "Buffer('aaaa==', 'base64') == <Buffer 69 a6>"
20:15:49  <trevnorris>isaacs: so it'll decrement size again because of the extra "=" at the end. even though the string technically isn't correct base64
20:16:24  <trevnorris>(e.g. str.length % 4 != 0
20:16:56  <trevnorris>isaacs: so do we want to auto-pad the string for the user or just throw if the string itself is incorrect format?
20:19:25  <isaacs>trevnorris: i see.
20:19:42  <isaacs>trevnorris: so, we want to decrement the size on a trailing '=' only if it needs it, maybe?
20:20:12  <isaacs>trevnorris: this is WITH your change, yes?
20:20:39  <trevnorris>isaacs: well, first should we handle when a user doesn't pass a valid base64 string?
20:21:09  <isaacs>trevnorris: hm. actually, i don't know
20:21:20  <isaacs>trevnorris: wihtout your change, it handles 'aaaa==' correctly, or seems to
20:21:56  <trevnorris>isaacs: yes it does. because of how it steps backwards from the end w/o regard to the divisibility by 4.
20:22:16  <isaacs>right
20:24:51  <trevnorris>isaacs: so seems like we either just throw if str.length % 4 != 0, or figure out what logic we want to follow for incorrect strings (e.g. just chop them off at the end)
20:25:06  * icarotquit (Quit: leave())
20:25:28  * icarotjoined
20:26:23  <isaacs>trevnorris: well, %4==0 is not guaranteed, since not all Base64 impls pad with = at the end
20:26:26  * dsantiagoquit (Quit: Computer has gone to sleep.)
20:26:45  <trevnorris>ah ok.
20:27:11  * kevinswiberquit (Remote host closed the connection)
20:27:18  <trevnorris>isaacs: but by that logic, if there is a "=" at the end then it should be divisible by 4
20:27:42  <isaacs>trevnorris: well... not necessarily
20:27:45  * kevinswiberjoined
20:27:59  <isaacs>trevnorris: i've seen base64 impls that *always* pad, whether it's needed or not.
20:28:08  <trevnorris>oy.
20:28:33  * indexzeroquit (Quit: indexzero)
20:29:03  <isaacs>trevnorris: hmm...
20:29:51  * indexzerojoined
20:30:24  <isaacs>what if we strip off the = sign, and then treat it as an unpadded string?
20:30:25  * kevinswi_joined
20:30:39  * kevinswiberquit (Read error: Connection reset by peer)
20:30:47  <isaacs>rather than treating it agnostically, and then decrementing?
20:32:12  <trevnorris>isaacs: think I understand. let me do a quick example and throw it up.
20:35:24  * dsantiagojoined
20:35:55  <trevnorris>isaacs: ok, how's this: https://github.com/trevnorris/node/compare/joyent:v0.10...base64-length-fix
20:36:06  <isaacs>trevnorris: https://gist.github.com/isaacs/5615305
20:36:09  <isaacs>something like that ^
20:36:47  <isaacs>ah! unsafe!
20:36:51  <isaacs>'==='
20:36:54  <isaacs>surprise!
20:37:15  <isaacs>add && size >= 0
20:37:21  <trevnorris>ok.
20:38:00  <isaacs>trevnorris: though, actually, only handling 0,1,2 = chars is probably fine.
20:38:13  <isaacs>trevnorris: i'd keep the loop unrolled.
20:39:26  <trevnorris>isaacs: ok. so no need to check for more than 2 =?
20:39:48  <isaacs>trevnorris: nah
20:39:54  <trevnorris>ok
20:40:00  <isaacs>trevnorris: '==' is all that's really allowed in a valid base64 string.
20:40:09  <isaacs>trevnorris: just that some send == always at the end.
20:40:12  <isaacs>even though it's stupid.
20:40:30  <trevnorris>hm yeah. ok. think I have it. just going to run the tests.
20:40:57  <isaacs>kk
20:41:52  <trevnorris>isaacs: ok, one more time: https://gist.github.com/isaacs/5615305
20:41:56  <trevnorris>wait...
20:41:57  * mikeal1joined
20:41:59  <trevnorris>https://github.com/trevnorris/node/compare/joyent:v0.10...base64-length-fix
20:42:02  <trevnorris>heh
20:43:00  * indexzeroquit (Quit: indexzero)
20:43:09  <isaacs>trevnorris: tests both pass? lgtm.
20:45:16  * mikeal2joined
20:46:35  * mikeal1quit (Ping timeout: 260 seconds)
20:47:52  <trevnorris>isaacs: ok. this is going to v0.10. when would be the next v0.10 to master merge?
20:48:16  * stagas_quit (Ping timeout: 276 seconds)
20:48:17  <tjfontaine>I'm confused
20:48:50  <tjfontaine>line 71 and 72 aren't necessary anymore?
20:49:21  <tjfontaine>oh so for == ok
20:54:10  <MI6>joyent/node: Trevor Norris v0.10 * d5d5170 : string_bytes: strip padding from base64 strings - http://git.io/KhBMUg
20:56:16  <trevnorris>isaacs: cool if I cherry-pick that on master (so my buffer branch passes), or wait for the next merge?
20:56:28  * trevnorrisbuys tjfontaine a beer
20:56:59  <tjfontaine>trevnorris: so did you figure out why it was only being exposed by your buffer stuff?
20:58:03  <trevnorris>tjfontaine: yeah. it's because i'm creating the slice before the buffer is written based on length, while before it slices afterwards. and it uses "this.length" which is re-written after any string ".write()"
20:58:18  <tjfontaine>ah ok
20:59:06  * rendarquit
21:01:19  * stagas_joined
21:05:50  <isaacs>trevnorris: it's fine to cherry-pick, but in this case, it'd probably be better to just do a v0.10 merge.
21:05:51  <MI6>nodejs-v0.10: #199 UNSTABLE smartos-x64 (1/584) linux-ia32 (1/584) http://jenkins.nodejs.org/job/nodejs-v0.10/199/
21:06:26  <isaacs>trevnorris: just make sure, if you do that, before you land the merge: git checkout master -- deps;git checkout master -- src/node_version.cc
21:06:52  <trevnorris>isaacs: eh, not going to worry about it. no way all my buffer changes will be reviewed before the next v0.10 merge.
21:07:49  <isaacs>kewl
21:07:54  * brsonquit (Ping timeout: 264 seconds)
21:10:35  * brsonjoined
21:12:34  <MI6>nodejs-v0.10-windows: #28 UNSTABLE windows-ia32 (9/584) windows-x64 (9/584) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/28/
21:19:34  * pachetquit (Read error: Connection reset by peer)
21:21:49  * pachetjoined
21:28:05  <MI6>joyent/node: isaacs v0.10 * 3a2b503 : crypto: Clear error after DiffieHellman key errors - http://git.io/xD3YlQ
21:28:18  <trevnorris>isaacs: thanks :)
21:38:59  <MI6>nodejs-v0.10: #200 UNSTABLE linux-x64 (1/584) smartos-x64 (2/584) http://jenkins.nodejs.org/job/nodejs-v0.10/200/
21:43:38  <MI6>joyent/node: isaacs master * 0fefcc1 : Merge remote-tracking branch ry/v0.10 into master (+9 more commits) - http://git.io/cqDKJg
21:45:12  <MI6>nodejs-v0.10-windows: #29 UNSTABLE windows-ia32 (9/584) windows-x64 (9/584) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/29/
21:50:23  * mikeal2quit (Quit: Leaving.)
21:53:47  <MI6>nodejs-master: #226 UNSTABLE smartos-x64 (3/599) http://jenkins.nodejs.org/job/nodejs-master/226/
21:58:23  <trevnorris>lgtm anyone? https://github.com/trevnorris/node/compare/joyent:v0.10...issue5498
21:59:55  <tjfontaine>hrm, never realized that .write didn't have a noAssert
22:01:18  * c4miloquit (Remote host closed the connection)
22:02:52  <trevnorris>i'm surprised to just find it. especially w/ how much time i've spent in buffers.
22:04:41  <MI6>nodejs-master-windows: #36 UNSTABLE windows-x64 (12/599) windows-ia32 (10/599) http://jenkins.nodejs.org/job/nodejs-master-windows/36/
22:09:27  * mikealjoined
22:20:07  * stagas_quit (Ping timeout: 246 seconds)
22:30:11  * icarotquit (Quit: leave())
22:30:55  * icarotjoined
22:31:32  * pachetquit (Quit: leaving)
22:32:25  * jcechanged nick to zz_jce
22:37:11  <trevnorris>isaacs: right now "NODE_MODULE_VERSION is at 0x000C /* v0.12 */". so assuming that won't be incremented just for the buffer changes.
22:37:27  <trevnorris>isaacs: is the basic rule of thumb, in master expect stuff to break at any time?
22:37:46  <isaacs>trevnorris: yes
22:37:50  <trevnorris>coolio.
22:37:58  <isaacs>trevnorris: "unstable version"
22:38:00  <isaacs>:)
22:38:04  <trevnorris>heh
22:38:11  <isaacs>we're not allowed to make binary compatibility changes in a stable releae
22:38:23  <trevnorris>makes sense.
22:39:13  <tjfontaine>well, only if we padded the space to allow it :P
22:42:35  * c4milojoined
22:42:58  <trevnorris>ok. so github is telling me the buffer changes only affect 2,665 lines of code. that can be reviewed in the next 30 minutes or so, right? ;-)
22:45:02  * bnoordhuisjoined
22:46:59  <tjfontaine>welcome home bnoordhuis
22:47:09  <bnoordhuis>thank you :)
22:54:24  * kevinswi_quit (Remote host closed the connection)
22:54:34  <isaacs>hm... this keepalive client socket stuff makes almost all of our tests kind of awful.
22:54:55  <isaacs>i'm thinking maybe we set a default time limit on it or something, or require it to be opt-in
22:54:57  * kevinswiberjoined
22:55:52  <tjfontaine>because my timer stuff hasn't landed yet, or for other reasons?
22:56:20  <isaacs>tjfontaine: mostly for other reasons.
22:56:36  <tjfontaine>k
22:56:55  <tjfontaine>because I did hit an issue with my timer stuff before it can be landed
22:56:57  <isaacs>because i keep having to make changes to the server to make it behave properly.
22:57:02  <isaacs>tjfontaine: oh? what's that?
22:57:12  <tjfontaine>mostly that I did the list management wrong
22:57:39  * `3rdEdenquit (Remote host closed the connection)
22:57:51  <isaacs>oh, ok
22:58:02  <tjfontaine>it works in simple cases, but some tests were passing mostly because they are timing related and not because I had done it right
22:58:36  <tjfontaine>so I'm really glad I didn't land it on friday
22:59:13  * kevinswiberquit (Ping timeout: 248 seconds)
22:59:26  <bnoordhuis>i'll say it again, i'm not supportive of enabling client keepalive in node
22:59:48  <bnoordhuis>it's antisocial. if people want that, they can go the extra mile to enable it
23:01:15  <cjd>doesn't tcp keepalive force you to use the kernel's interval which is way longer than a typical nat's eviction time?
23:02:04  <bnoordhuis>well, what isaac is talking about is keeping http client connections open even if there are no more requests queued up
23:02:22  <cjd>oh hah nvm me then
23:03:49  <trevnorris>ok, wtf. you can't label your own PRs in github? what's with that
23:04:06  <bnoordhuis>you can't label PRs, period :)
23:04:14  <tjfontaine>you can in the api
23:04:42  <trevnorris>oh, heh
23:04:43  * paddybyersquit (Ping timeout: 260 seconds)
23:05:14  <tjfontaine>this is one of isaacs' pet peeves, you should ask him how he feels about it :P
23:09:30  <trevnorris>when I get bored i'll do that. :)
23:12:34  * abraxasjoined
23:17:19  * abraxasquit (Ping timeout: 264 seconds)
23:27:15  * stagasquit (Read error: Connection reset by peer)
23:28:43  * stagasjoined
23:30:25  <isaacs>yeah, you used to be able to label PR's, too, that's what really sucks.
23:31:13  <isaacs>bnoordhuis: i'm not sure i agree that http connection reuse is antisocial, but it should be a lot easier to do than it is now.
23:31:19  <trevnorris>seriously? that's a step backwards.
23:31:40  <isaacs>bnoordhuis: but i am becoming convinced that it should be opt-in, with something-like the current behavior as the default.
23:32:10  <isaacs>bnoordhuis: or at least, keep the socket open for no more than an extra ms or something, and have the maxSockets set at Infinity
23:35:01  * stagasquit (Read error: Connection reset by peer)
23:44:33  * mikealquit (Quit: Leaving.)
23:44:42  * hzquit
23:55:29  * neriojoined