00:05:31  <CIA-114>node: Philip Tellis v0.6 * r5166758 / lib/querystring.js :
00:05:32  <CIA-114>node: Make QueryString.parse run faster
00:05:32  <CIA-114>node: Use decodeURIComponent when appropriate, and only fall back to
00:05:32  <CIA-114>node: querystring.decode if it throws, or if the character is a '+'.
00:05:32  <CIA-114>node: Fix #2248 - http://git.io/SVX_JA
00:06:57  * piscisaureus_joined
00:13:54  * travis-cijoined
00:13:55  <travis-ci>[travis-ci] joyent/node#355 (v0.6 - 5166758 : Philip Tellis): The build passed.
00:13:55  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/3deceaf...5166758
00:13:55  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/612546
00:13:55  * travis-cipart
00:24:03  * sh1mmerquit (Quit: sh1mmer)
00:26:49  <TooTallNate>isaacs: nice thread on the mailing list :)
00:26:57  <TooTallNate>hopefully we can make some progress there
00:30:52  * `3rdEdenquit (Quit: Linkinus - http://linkinus.com)
00:50:08  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
00:55:47  <dap>isaacs: you there?
00:59:47  <isaacs>hi
01:00:27  <dap>FYI, I'm picking up #2667
01:00:38  <isaacs>oh, cool
01:00:39  <dap>I don't seem to have perms to mark it as such though.
01:00:56  <dap>(which is fine; just wanted to let you know)
01:01:30  <isaacs>weird
01:01:44  <isaacs>i can't assign it to you. is davepacheco your github name?
01:01:51  <dap>yeah
01:02:08  <dap>do I need to be a committer to own an issue?
01:02:12  <isaacs>maybe...
01:02:19  <isaacs>but elijah and some other random joyent people are in the list
01:02:31  <isaacs>maybe you have to be either a committer or in the joyent org or something
01:02:44  <dap>I'm in the joyent org.
01:02:47  <isaacs>meh. you're a dtrace dude. i was gonna try to convince you to do it anyway :)
01:02:54  <dap>yeah, it's my bug.
01:02:57  <isaacs>kewl
01:02:59  <isaacs>enjoy :)
01:03:06  <dap>it's a nightmare.
01:20:27  * isaacsquit (Remote host closed the connection)
01:21:06  * isaacsjoined
01:26:18  * isaacsquit (Ping timeout: 252 seconds)
01:27:26  * isaacsjoined
01:30:41  <TooTallNate>isaacs: ping
01:30:49  <isaacs>hi
01:30:55  * isaacsonly half here
01:31:12  <TooTallNate>hey, was curious why npm sets the background color to black?
01:31:13  <TooTallNate>http://cl.ly/1w2q0k433d2Y3N2s1z3M
01:31:31  <TooTallNate>should probably be transparent
01:32:13  <isaacs>it should only do that for its own things
01:32:26  <isaacs>TooTallNate: because otherwise you can't see those items if the background is white
01:32:32  <TooTallNate>ya, it's just for the logging
01:32:33  <TooTallNate>ohhh ok
01:32:37  <TooTallNate>that's a good reason :)
01:32:38  <isaacs>your "black" isn't very black :)
01:32:47  <TooTallNate>hahah, true
01:32:55  <TooTallNate>i actually noticed first in Travis-CI
01:33:20  <TooTallNate>you might chuckle at this convo: https://github.com/travis-ci/travis-ci/issues/386
01:36:16  * lwillequit (Quit: Leaving...)
01:36:27  * orlandovftwquit (Ping timeout: 240 seconds)
01:39:41  <isaacs>heh
01:39:53  <isaacs>there's no way to detect what the current background is
01:40:05  <isaacs>so any time you use a non-default foreground, you should also set the background reasonably
01:40:15  <isaacs>usually, anyway, if it's white or black especially
01:40:54  <TooTallNate>ya makes sense. you don't have it for green and some other colors though so I thought i'd ask :)
01:55:27  * isaacsquit (Remote host closed the connection)
01:56:06  * isaacsjoined
01:59:59  * skabbesquit (Quit: skabbes)
02:00:26  * isaacsquit (Ping timeout: 240 seconds)
02:02:07  * mikealquit (Quit: Leaving.)
02:09:48  <benvie>I made a little .bat that turns the npm cli into a simple repl on windows
02:09:54  <benvie>seems usefil
02:09:55  <benvie>useful
02:10:09  <benvie>since there's no other interface to it
02:10:51  * TooTallNatequit (Quit: Linkinus - http://linkinus.com)
02:23:01  * dapquit (Quit: Leaving.)
02:32:11  * mikealjoined
02:38:48  * pieternquit (Quit: pietern)
02:47:19  * paddybyersquit (Ping timeout: 272 seconds)
02:51:32  * paddybyersjoined
02:51:51  * brsonquit (Quit: leaving)
03:22:47  * dshaw_1quit (Quit: Leaving.)
03:24:25  * lwillejoined
03:26:10  * lwillequit (Read error: Operation timed out)
03:29:19  * AvianFluquit (Quit: Leaving)
04:31:33  * indutny_sleepingchanged nick to indutny
04:32:05  * mikealquit (Quit: Leaving.)
04:43:10  * orlandovftwjoined
05:01:19  * AvianFlujoined
05:18:54  * perezdquit (Quit: perezd)
05:19:25  * perezdjoined
05:37:55  * dshaw_joined
05:50:11  * logicalparadoxquit (Quit: Peace, I'm out.)
05:50:36  * logicalparadoxjoined
05:51:06  * sh1mmerjoined
06:38:18  * perezdquit (Quit: perezd)
06:58:20  * mikealjoined
07:01:00  * paddybyersquit (Quit: paddybyers)
07:01:42  * paddybyersjoined
07:04:47  * mralephjoined
07:08:38  * paddybyersquit (Quit: paddybyers)
07:34:41  * paddybyersjoined
07:34:46  * luxigoquit (Ping timeout: 276 seconds)
07:35:46  * luxigojoined
07:52:40  * sh1mmerquit (Quit: sh1mmer)
08:05:12  * mralephquit (Quit: Leaving.)
08:45:07  * logicalparadoxquit (Quit: Peace, I'm out.)
08:57:04  * logicalp_joined
09:02:43  * paddybyers_joined
09:04:46  * paddybyersquit (Ping timeout: 240 seconds)
09:04:47  * paddybyers_changed nick to paddybyers
09:07:56  * mikealquit (Quit: Leaving.)
09:09:03  * logicalp_quit (Quit: Peace, I'm out.)
09:30:53  * dshaw_quit (Quit: Leaving.)
09:42:56  * lwillejoined
10:08:57  * lwillequit (Quit: Linkinus - http://linkinus.com)
10:10:08  * lwillejoined
10:19:56  * orlandovftwquit (Ping timeout: 240 seconds)
10:21:49  * orlandovftwjoined
10:51:32  * orlandovftwquit (Ping timeout: 244 seconds)
11:24:25  * sj26quit (Excess Flood)
11:28:11  * sj26joined
13:23:58  * piscisaureus_joined
13:28:45  * AndreasMadsenjoined
14:36:08  * bnoordhuisjoined
14:42:27  <piscisaureus_>http://www.fileformat.info/info/unicode/char/1f4a9/index.htm
15:10:58  <bnoordhuis>hah, awesome
15:25:25  <bnoordhuis>ircretary: ask dap if #2667 is something that needs fixing and if so, if he's working on it
15:25:26  <ircretary>bnoordhuis: I'm not sure what to do with that command. Ask for help in PM.
15:25:42  <bnoordhuis>ircretary: tell dap is #2667 something that needs fixing and if so, are you working on it
15:25:42  <ircretary>bnoordhuis: I'll be sure to tell dap
15:29:31  * AndreasMadsenquit (Remote host closed the connection)
15:31:09  * AndreasMadsenjoined
15:32:00  <piscisaureus_>igorzi: bnoordhuis: review -> https://gist.github.com/1724004 ?
15:32:26  <bnoordhuis>piscisaureus_: have you reviewed my patches yet?
15:32:33  <piscisaureus_>bnoordhuis: doing it now
15:34:58  <piscisaureus_>bnoordhuis: 9b7809a9b4a13ca547de6e650bb966ca6e46e8fb lgtm
15:39:51  <piscisaureus_>bnoordhuis: ca77de29eb838aca57f31bce68822f5249921dcc -> why are you not returning when max_length == 0?
15:40:06  <piscisaureus_>bnoordhuis: but it looks like that doesn't hurt so lgtm
15:42:33  <tjfontaine>piscisaureus_: does FILE_FLAG_BACKUP_SEMANTICS override if something already has the handle in exclusive?
15:43:25  <piscisaureus_>tjfontaine: the flag is ignored if we cannot obtain backup semantics. I added the flag only to be able to open directories
15:44:06  <piscisaureus_>tjfontaine: the ntapi version (NtCreateFile) has seperate flags for opening directories and backup semantics but I try to not use ntapi
15:44:12  <piscisaureus_>(when I can avoid it)
15:45:00  <bnoordhuis>piscisaureus_: re max_length == 0: actually that was a bug (that i should mention in the commit log), it failed to update _charsWritten
15:46:12  * AndreasMadsenquit (Remote host closed the connection)
15:46:13  <bnoordhuis>piscisaureus_: https://gist.github.com/1724004 lgtm, i think
15:46:25  <piscisaureus_>bnoordhuis: on unix, what does require('fs').statSync("") do
15:46:26  <piscisaureus_>?
15:46:39  <bnoordhuis>piscisaureus_: fail with ENOENT
15:46:43  <bnoordhuis>piscisaureus_: https://github.com/joyent/node/issues/2670
15:47:25  <bnoordhuis>^ #2670 seems tangentially related
15:47:26  <piscisaureus_>bnoordhuis: 2670 can be fixed but not in 0.6.10
15:47:38  <bnoordhuis>oh okay, just pointing it out
15:48:06  <piscisaureus_>bnoordhuis: yeah I know there's an issue. but you should be aware that the windows concept similar to inos are 64-bit
15:48:16  <piscisaureus_>so we may have to turn that part of the stat struct to string
15:48:26  <piscisaureus_>s/struct/object/
15:49:03  <bnoordhuis>piscisaureus_: we (the unix side) could convert the native struct stat to e.g. uv_stat_t
15:49:18  <piscisaureus_>bnoordhuis: yeah we would definitely need uv_stat_t
15:49:50  <piscisaureus_>bnoordhuis: because windows crt does not suport ino's and defines ino_t as char
15:50:12  <piscisaureus_>bnoordhuis: I am talking about the stats object in javascript. it has to be 64-bit safe
15:50:28  <bnoordhuis>piscisaureus_: right
16:04:24  <piscisaureus_>bnoordhuis: I have to admit that paths like \\unc\share still don't completely work
16:04:37  <piscisaureus_>bnoordhuis: but I guess nobody will notice. we can fix it one day
16:04:54  <CIA-114>libuv: Bert Belder v0.6 * r267e75d / (src/win/fs.c test/test-fs.c): Windows: better stat implementation - http://git.io/RPHsEg
16:04:54  <bnoordhuis>piscisaureus_: just wait for the first bug report to come in ;)
16:05:10  <bnoordhuis>piscisaureus_: https://github.com/joyent/node/pull/2669/files#r410663 <- is that something we want?
16:05:24  <bnoordhuis>i lean towards 'no' but then again...
16:06:20  <bnoordhuis>in a nutshell: it tries to determine if a ENOENT after e.g. a rename() is caused by oldname or newname
16:06:32  * travis-cijoined
16:06:32  <travis-ci>[travis-ci] joyent/libuv#75 (v0.6 - 267e75d : Bert Belder): The build is still failing.
16:06:32  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/495853e...267e75d
16:06:32  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/615763
16:06:32  * travis-cipart
16:06:49  <piscisaureus_>bnoordhuis: that makes sense. But I don't want racy stuff in there
16:07:26  <bnoordhuis>piscisaureus_: that's the problem right there - there is no way to do a non-race-y check
16:07:39  <piscisaureus_>bnoordhuis: I think on windows there is :-)
16:07:49  <bnoordhuis>piscisaureus_: yeah? how?
16:08:00  <piscisaureus_>bnoordhuis: the error code is different
16:08:15  <piscisaureus_>bnoordhuis: not if you use crt btw
16:08:46  <bnoordhuis>piscisaureus_: okay... i'm afraid it doesn't work that way on unices
16:09:10  <piscisaureus_>bnoordhuis: I will think about it. There's a company meeting now so I am kind of occupied
16:09:19  <bnoordhuis>oh sure, don't let me keep you
16:09:19  <piscisaureus_>just trying to get the exists bug fixed in the meantime
16:09:33  <bnoordhuis>wait, is that the company meeting i should be giving a presentation at?
16:09:51  <piscisaureus_>bnoordhuis: yes
16:10:03  <benvie>haha
16:11:30  <bnoordhuis>piscisaureus_: damn, didn't know it was today
16:11:45  <bnoordhuis>ergo, i haven't made any slides either...
16:11:50  <piscisaureus_>bnoordhuis: you should read your company email
16:12:01  <bnoordhuis>yeah, i see now that ruben emailed me
16:12:02  <piscisaureus_>bnoordhuis: maybe you are not on the mailing list.
16:12:22  <bnoordhuis>but i'm so backlogged on my email that i hadn't read it yet
16:12:46  <bnoordhuis>i was still working through last night's github issues...
16:14:41  <CIA-114>node: Bert Belder reviewme * ra661830 / lib/path.js : Run path.exists paths through _makeLong - http://git.io/Vk2E8A
16:14:41  <CIA-114>node: Bert Belder reviewme * re5ea6ad / lib/path.js : _makeLong shouldn't turn the empty string into \\?\C:\ - http://git.io/jNU37A
16:14:54  <piscisaureus_>bnoordhuis: can you review those too?
16:15:02  <bnoordhuis>piscisaureus_: yes, will do
16:15:29  <piscisaureus_>bnoordhuis: if that lands together with a libuv upgrade we've fixed most of the known path problems I think
16:20:56  <piscisaureus_>igorzi: yt?
16:22:24  * bnoordhuisis rediscovering pearl jam's binaural album
16:22:45  <bnoordhuis>piscisaureus_: why path = "" + path?
16:22:53  <bnoordhuis>is it possible for path to be a non-string?
16:23:09  <piscisaureus_>bnoordhuis: well maybe it should throw
16:23:26  <piscisaureus_>bnoordhuis: but if you put e.g. true in there then the result of path.resolve is kind of unknown
16:23:27  * travis-cijoined
16:23:27  <travis-ci>[travis-ci] joyent/node#356 (reviewme - e5ea6ad : Bert Belder): The build passed.
16:23:27  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/a661830^...e5ea6ad
16:23:27  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/615829
16:23:27  * travis-cipart
16:23:32  <piscisaureus_>and that's what makelong uses
16:23:33  <bnoordhuis>piscisaureus_: yeah... one issue that we need to deal with in the future is filenames as buffers
16:24:00  <bnoordhuis>piscisaureus_: but lgtm
16:25:02  <piscisaureus_>bnoordhuis: yeah well, not on windows probably
16:25:38  <bnoordhuis>piscisaureus_: no? does ucs-2 cover the full range of characters that are valid in a filename?
16:26:11  <piscisaureus_>bnoordhuis: yes, on windows filenames *are* ucs2 actually
16:26:49  <bnoordhuis>piscisaureus_: well, good for windows :)
16:27:03  <bnoordhuis>on unices, the situation is different of course
16:27:13  <bnoordhuis>but i don't have to explain that to you
16:27:46  * perezdjoined
16:30:10  * perezdquit (Read error: Connection reset by peer)
16:31:11  * isaacsjoined
16:31:36  * perezdjoined
16:36:26  * AvianFluquit (Ping timeout: 248 seconds)
16:37:41  <piscisaureus_>bnoordhuis: one issue is that in libuv we convert those ucs2 names into utf8
16:38:12  <piscisaureus_>bnoordhuis: if there are incomplete surrogate pairs in the filename it breaks
16:38:15  <bnoordhuis>piscisaureus_: 'we' is 'windows'?
16:38:19  <piscisaureus_>eys
16:38:23  <piscisaureus_>libuv on windows
16:38:26  <bnoordhuis>right
16:38:42  <piscisaureus_>bnoordhuis: so you reviewed _makeLong and path.exists?
16:38:52  <bnoordhuis>piscisaureus_: scroll up :)
16:39:06  <piscisaureus_>bnoordhuis: both were ok?
16:39:14  <bnoordhuis>as far as i can tell
16:39:35  <CIA-114>node: Bert Belder v0.6 * ra661830 / lib/path.js : Run path.exists paths through _makeLong - http://git.io/Vk2E8A
16:39:36  <CIA-114>node: Bert Belder v0.6 * re5ea6ad / lib/path.js : _makeLong shouldn't turn the empty string into \\?\C:\ - http://git.io/jNU37A
16:39:39  <bnoordhuis>but you know your windows confuses and frightens me
16:40:45  * sh1mmerjoined
16:42:39  <CIA-114>node: Bert Belder v0.6 * r67cd054 / (5 files in 4 dirs): uv: upgrade to 267e75d - http://git.io/9JM5oA
16:43:24  <bnoordhuis>indutny: ping
16:45:11  <bnoordhuis>piscisaureus_: re https://github.com/joyent/node/pull/2669/files#r410663 - do we agree that it's not a good change?
16:45:45  <piscisaureus_>bnoordhuis: yes
16:45:56  <bnoordhuis>piscisaureus_: cool, i'll close the PR
16:45:58  <piscisaureus_>bnoordhuis: we could however display both paths in the error message - that would already help a lot I think
16:46:31  <bnoordhuis>piscisaureus_: that seems like a reasonable compromise
16:48:08  * travis-cijoined
16:48:08  <travis-ci>[travis-ci] joyent/node#357 (v0.6 - e5ea6ad : Bert Belder): The build passed.
16:48:08  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/5166758...e5ea6ad
16:48:08  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/615974
16:48:08  * travis-cipart
16:49:05  <indutny>bnoordhuis: pong
16:49:12  <bnoordhuis>indutny: hey
16:49:14  <indutny>hi
16:49:21  <bnoordhuis>what's your position on isolates?
16:49:31  <indutny>I prefer to be neutral about that
16:49:40  <indutny>and that's a provacative question :)
16:49:59  <bnoordhuis>oh, you haven't seen me in true provocative mode yet :)
16:50:05  <indutny>hahaha
16:50:09  <indutny>I hope
16:50:12  <bnoordhuis>but neutral is cool
16:50:35  <bnoordhuis>for yandex's particular use case, we can whip up something that uses shared memory and inter-process mutexes
16:50:54  <bnoordhuis>i say 'we' but that's up to joyent, of course
16:51:02  * travis-cijoined
16:51:02  <travis-ci>[travis-ci] joyent/node#358 (v0.6 - 67cd054 : Bert Belder): The build passed.
16:51:02  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/e5ea6ad...67cd054
16:51:02  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/616005
16:51:02  * travis-cipart
16:51:42  <indutny>bnoordhuis: I understand your position, but I think that conversation should go directly to Yandex
16:51:54  <indutny>and I may participate here
16:51:58  <bnoordhuis>indutny: oh sure
16:52:08  <bnoordhuis>but you know i don't work at joyent anymore, right?
16:52:16  <indutny>bnoordhuis: I'm going to tell isaacs this thing too
16:52:18  <indutny>bnoordhuis: nope :)
16:52:28  <bnoordhuis>indutny: hah well, you do now :)
16:52:33  <indutny>bnoordhuis: where are you working now?
16:52:36  <bnoordhuis>i'm bert's boss now
16:52:44  <indutny>piscisaureus_: so sorry about that
16:52:45  <indutny>:D
16:52:47  <bnoordhuis>haha
16:52:48  <benvie>full time job
16:52:48  <indutny>bnoordhuis: no offense
16:53:02  <indutny>boss of the boss
16:53:45  <bnoordhuis>indutny: no offense taken
16:54:45  <piscisaureus_>I used to live next to a mental institution
16:55:07  <piscisaureus_>there were these guys who thought they were napoleon
16:55:11  <piscisaureus_>so annoying
16:55:17  <piscisaureus_>anyway
16:55:44  <piscisaureus_>now imagine some guy who not only pretends he can code, but also thinks he is your boss
16:56:11  <piscisaureus_>i quit
16:57:52  * piscisaureus__joined
16:57:58  <piscisaureus__>ircretary: tell isaacs The exists bug has been fixed. Ben reviewed it, but you might want Igor to take another look
16:58:17  * piscisaureus_quit (Read error: Connection reset by peer)
17:00:33  * pieternjoined
17:01:21  * piscisaureus__quit (Client Quit)
17:02:09  <bnoordhuis>i know bert's next job will be stand-up comedian!
17:06:16  <isaacs>good mrning
17:06:42  * mralephjoined
17:07:31  <indutny>morning
17:08:29  <bnoordhuis>sup isaacs
17:09:00  <isaacs>we need to pull out isolates.
17:09:18  <bnoordhuis>you make me a happy person
17:09:34  <bnoordhuis>i'll happily do it
17:09:37  <isaacs>let's figure out the least hazardous way to do that. there are a ton of changes all over the code base to support them, and i'd prefer not to end up with less stability for even having tried it.
17:09:52  <isaacs>also, please let me deliver this news to yandex and joyent and other interested parties.
17:10:14  <isaacs>it was a good idea to investigate, but it's been investigated, and it turns out it's not a good idea.
17:10:27  <bnoordhuis>isaacs: scroll up a bit, we can still produce something that should fit yandex's use case
17:10:32  <bnoordhuis>i say 'we' again...
17:10:49  <isaacs>bnoordhuis: yeah, indutny and I and ryan have talked about that with them in the past..
17:11:49  <isaacs>i'm not even sure that shared memory is really going to make a huge difference in their case.
17:12:00  <bnoordhuis>it'd be just as fast as isolates
17:12:10  * stephankjoined
17:12:13  <isaacs>they had a vision of sharing actual JavaScript objects between isolates, which is simply not possible.
17:12:22  <isaacs>(that's what makes them "isolates", they're isolated)
17:12:25  <bnoordhuis>oh that - no, that's not going to work
17:12:43  <bnoordhuis>i think that's been pointed out to yandex several times
17:12:51  <isaacs>so indutny did come up with some workarounds, but those can work just fine with regular IPC.
17:12:59  <isaacs>in fact, they can get the API they want today in 0.6.9, probably
17:13:08  <bnoordhuis>yep
17:13:20  <paddybyers>so .. what's the issue with isolates?
17:13:34  <bnoordhuis>paddybyers: clutters the code base, decreases the stability
17:13:48  <isaacs>bnoordhuis: i think you've got more rant in you on this subject...
17:13:48  <paddybyers>ok
17:14:24  <bnoordhuis>paddybyers: i wittily summarized it in "Process isolation is good, threads are hard, let's go shopping."
17:14:34  <bnoordhuis>i should write a book full of one-liners sometime
17:14:37  * dshaw_joined
17:14:43  <isaacs>ok, please no blog posts or whatever. this is a little bit political, but i wanted you guys to know where we're at,not that this is a surprise.
17:15:19  <paddybyers>gtg but I'd be interested to know more, not urgent now though
17:16:13  <bnoordhuis>isaacs: happy you agree and i don't envy you
17:16:31  * AndreasMadsenjoined
17:17:33  <isaacs>bnoordhuis: yeah, it's been becoming increasingly obvious, unfortunately
17:17:39  <isaacs>or fortunately, i dunno :)
17:17:46  <isaacs>makes it a pretty easy call
17:20:09  <bnoordhuis>isaacs: let me know if you need moral support, i'll be happy to dial in
17:20:52  <isaacs>:D
17:21:08  <indutny>:D
17:21:11  <indutny>bnoordhuis: call me
17:21:13  <indutny>I need
17:22:00  <bnoordhuis>indutny: sure. tell me about your childhood
17:22:19  <indutny>bnoordhuis: not sure that you want to know about it :D
17:22:24  <bnoordhuis>no, but seriously, i don't mind weighing in on a conference call
17:22:55  <bnoordhuis>i kind of blame myself for not pushing back harder earlier on
17:23:05  <bnoordhuis>i thought it'd be a good way to clean up the code base...
17:24:16  * orlandovftwjoined
17:31:12  * dapjoined
17:34:30  <bnoordhuis>ircretary: you suck
17:34:30  <ircretary>bnoordhuis: I'm not sure what to do with that command. Ask for help in PM.
17:35:10  <bnoordhuis>dap: is #2667 something that needs fixing (presumably yes). if so, are you working on it?
17:35:26  <dap>yep
17:35:43  <bnoordhuis>so i can just lay back and wait for the pull request?
17:36:17  <dap>yep. it's not really high prio, in that I don't think anyone is hitting the bug.
17:37:23  <isaacs>bnoordhuis: is there a project manager type at Cloud9 who tracks deliverables that you and bert work on?
17:37:28  <bnoordhuis>i suspect you're right, haven't received other bug reports about it
17:37:35  <isaacs>like claudio at msft, or merline at joyent
17:37:40  <bnoordhuis>isaacs: uhm, i don't think so
17:37:44  <isaacs>k, thanks.
17:42:08  * bnoordhu1sjoined
17:43:50  * bnoordhu1squit (Client Quit)
17:48:14  <bnoordhuis>anyone seeing test-debugger-repl, test-debugger-repl-utf8 and test-debugger-client timeout with v0.6?
17:51:31  <isaacs>bnoordhuis: yes, i do see that about half to 2/3s of the time
17:51:53  <bnoordhuis>isaacs: okay, thanks. good to know it's not just me
17:52:12  <isaacs>i suspect that the test is racy, but i haven't dug into it
17:52:19  <bnoordhuis>yeah, me neither
17:52:26  <isaacs>it always passes when i run it manually. same with the fs.chmod test for some reason.
17:52:36  <isaacs>when run with python, it fails, but when run with bash, it passes.
17:52:37  <isaacs>very frustrating
17:52:45  <bnoordhuis>oh, test-fs-chmod fails for you?
17:52:58  <bnoordhuis>it always passes on my linux machine
17:54:03  * sh1mmerquit (Quit: sh1mmer)
17:55:01  * sh1mmerjoined
17:56:05  * dshaw_quit (Quit: Leaving.)
17:56:32  * AndreasMadsenquit (Remote host closed the connection)
18:02:41  <isaacs>bnoordhuis: msft call?
18:03:29  <bnoordhuis>isaacs: right, dialing in
18:03:42  <bnoordhuis>let me turn off aqua with 'barbie girl'
18:06:03  <bnoordhuis>isaacs: are we doing a skype call or is it dial-in?
18:16:07  <isaacs>skype
18:16:12  <CIA-114>node: Ben Noordhuis v0.6 * rf101f7c / (src/node_buffer.cc test/simple/test-buffer.js): (log message trimmed)
18:16:12  <CIA-114>node: buffers: honor length argument in base64 decoder
18:16:12  <CIA-114>node: Honor the length argument in `buf.write(s, 0, buf.length, 'base64')`. Before
18:16:12  <CIA-114>node: this commit, the length argument was ignored. The decoder would keep writing
18:16:12  <CIA-114>node: until it hit the end of the buffer. Since most buffers in Node are slices of
18:16:12  <CIA-114>node: a parent buffer (the slab), this bug would overwrite the content of adjacent
18:16:13  <CIA-114>node: buffers.
18:16:13  <CIA-114>node: Ben Noordhuis v0.6 * r7e40c7d / (2 files in 2 dirs):
18:16:14  <CIA-114>node: buffers: fix intermittent out of bounds error
18:16:14  <CIA-114>node: The base64 decoder would intermittently throw an out-of-bounds exception when
18:16:15  <CIA-114>node: the buffer in `buf.write('', 'base64')` was a zero-sized buffer located at the
18:16:15  <CIA-114>node: end of the slab.
18:16:16  <CIA-114>node: Fixes #2657. - http://git.io/gycgSg
18:16:29  <isaacs>bnoordhuis: what's your skype name?
18:16:36  <bnoordhuis>isaacs: bennoordhuis
18:16:42  <bnoordhuis>unimaginative, i know
18:17:24  <bnoordhuis>isaacs: can you add me?
18:18:05  <isaacs>bnoordhuis: added
18:18:18  <bnoordhuis>isaacs: is the call still ongoing?
18:18:24  <isaacs>yeah
18:18:26  <isaacs>says you'er offline
18:18:34  <bnoordhuis>oh, let me log in again
18:19:01  <bnoordhuis>isaacs: skype says you're online
18:19:07  <isaacs>?
18:19:18  <bnoordhuis>isaacs: can you add me to the call?
18:20:55  * orlandovftwquit (Ping timeout: 248 seconds)
18:21:12  <isaacs>bnoordhuis: you're already added to the call
18:21:15  * isaacshate skype so hard
18:21:18  <bnoordhuis>haha
18:21:32  <bnoordhuis>let me try to call you
18:23:07  * TooTallNatejoined
18:24:16  * travis-cijoined
18:24:17  <travis-ci>[travis-ci] joyent/node#359 (v0.6 - 7e40c7d : Ben Noordhuis): The build passed.
18:24:17  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/67cd054...7e40c7d
18:24:17  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/616472
18:24:17  * travis-cipart
18:34:24  * AndreasMadsenjoined
18:45:19  * mikealjoined
18:48:16  <bnoordhuis>dinner time!
18:53:10  * AndreasMadsenquit (Read error: Connection reset by peer)
18:53:44  * AndreasMadsenjoined
19:06:24  <mraleph>dap: I think I am going to land your change today.
19:06:36  <dap>mraleph: great news!
19:06:44  <mraleph>dap: I'll just do some local tests to ensure that it works :-)
19:06:50  <dap>of course.
19:07:57  <mraleph>dap: I wonder if you can upload one last small change: add Joyent to the AUTHORS file :-)
19:08:39  * felixgejoined
19:08:39  * felixgequit (Changing host)
19:08:39  * felixgejoined
19:10:03  <dap>mraleph: sure, I can do that. when would you need it by?
19:10:21  <dap>in the midst of debugging something else right now, but it shouldn't take long. it's just running a bunch of scripts I'm not that familiar with :)
19:10:29  * orlandovftwjoined
19:10:47  * perezdquit (Ping timeout: 240 seconds)
19:11:03  <mraleph>dap: np, I'll do it myself then before landing. debugging is sacred :-)
19:11:13  <dap>oh, that'd be great.
19:15:55  * perezdjoined
19:21:56  <sh1mmer>dap: what's the patch?
19:22:13  <dap>sh1mmer: http://codereview.chromium.org/8803024/
19:22:31  <sh1mmer>oh man, that's awesome
19:22:33  <dap>used to support http://dtrace.org/blogs/dap/2012/01/13/playing-with-nodev8-postmortem-debugging/
19:22:34  <indutny>dap++
19:22:35  <kohai>dap has 1 beer
19:23:09  <sh1mmer>mraleph: I was using my crappy c++ skills to try and dump the heap using the streamwriter api a while back
19:23:12  <sh1mmer>but I kept getting stuck
19:23:21  <sh1mmer>if I have some time to work on it this weekend would you be able to help me?
19:24:15  <mraleph>I'll be around so you can poke me.
19:24:46  <sh1mmer>thanks :)
19:26:00  <indutny>sh1mmer: what do you need for a heap dumps?
19:26:27  <sh1mmer>there is a heap dump api already in V8
19:26:36  <sh1mmer>I want to be able to write the heap to disk on exit
19:26:43  <sh1mmer>it should be possible as a module
19:26:59  <sh1mmer>but I'm pretty terrible at c++ and I couldn't figure out why I was getting segfaults
19:27:23  <sh1mmer>it uses an api called streamwriter or something that didn't seem to be well documented
19:27:23  <indutny>sh1mmer: ah, post-mortem... ok
19:27:41  <sh1mmer>indutny: or even just profiling
19:27:53  <sh1mmer>I think it would be interesting to be able to look at snapshots of the heap
19:28:36  <indutny>who knows
19:28:39  <indutny>oh, mraleph knows
19:28:40  <indutny>:D
19:28:51  * dshaw_joined
19:28:58  <sh1mmer>heh
19:29:10  <mjr_>Hey guys, seeing a new and exciting uncatchable error sometimes: Uncaught exception: Error: accept Unknown system errno 103 at errnoException (net.js:640:11) at TCP.onconnection (net.js:825:24)
19:29:32  <mjr_>My Linux headers say this is: errno.h:#define ECONNABORTED 103 /* Software caused connection abort */
19:29:51  <indutny>ircretary: tell bnoordhuis about ncaught exception: Error: accept Unknown system errno 103 at errnoException (net.js:640:11) at TCP.onconnection (net.js:825:24)
19:29:52  <ircretary>indutny: I'll be sure to tell bnoordhuis
19:30:01  <indutny>heh, never used it before :D
19:30:17  <mraleph>sh1mmer: I always though that node-inspector can take heap snapshots.
19:30:42  <sh1mmer>mraleph: I thought that was just the current frame
19:30:51  <sh1mmer>rather than what heap dump down
19:30:52  <sh1mmer>does
19:32:00  <mraleph>sh1mmer: I mean there are heap snapshots in Chrome DevTools, and node-inspector is basically uses DevTools sources so I expected it to talk to V8 through the same interface that DevTools use.
19:32:05  <indutny>emerson leg i pomer
19:32:09  <mraleph>that is taking full heap snapshot
19:32:26  <sh1mmer>mraleph: hm, ok
19:32:41  <sh1mmer>mraleph: how would that work though? I mean the heap in node could be like 2gb
19:32:51  <sh1mmer>or more with the new GC
19:32:59  <sh1mmer>my plan was to dump to disk
19:33:12  <mraleph>yeah, I don't think DevTools scale to such heap sizes.
19:33:29  <mraleph>it just serializes it to JSON or something similar.
19:34:04  <mraleph>and snapshot I think is bigger than heap itself :-)
19:34:38  <mjr_>Large heaps are indeed a problem with the current format.
19:34:42  * mikealquit (Quit: Leaving.)
19:36:20  <sh1mmer>doing something like the tick-processor would be a good approach
19:36:28  <sh1mmer>dump it in a tight format and then unpack wherever
19:36:31  <sh1mmer>whereever
19:57:54  <mraleph>dap: so I am trying to play with you patch, but if I build d8, I do not see any v8dbg_* symbols in it for some reason. it's in libv8_base.a but not in any of the executables. very wierd.
19:58:39  <dap>mraleph: ah, yes. in order to propagate them to the executables, you probably need to use the '-z allinclude' linker flag (or some flag like that — let me look it up)
19:58:58  <dap>for static libraries, the linker only includes symbols that you've actually referenced.
19:59:00  <dap>by default.
19:59:19  <dap>it's "-z allextract", at least with the Sun linker.
19:59:58  <mraleph>this is seriously dark magic :-)
20:00:03  <dap>haha.
20:00:13  <dap>I'm all for a better solution :)
20:00:43  <dap>DTrace does a similar thing using an extra ELF section, but that doesn't work with static libraries either. :-/
20:01:40  <mjr_>dap: will these stack helpers ever work on OSX?
20:03:33  <mraleph>ok I agree it kinda makes sense... linker links :-) and obviously discards everything that looks like it is not required.
20:03:57  <dap>mjr_: all I know is: http://mail.opensolaris.org/pipermail/dtrace-discuss/2009-April/007558.html and http://mail.opensolaris.org/pipermail/dtrace-discuss/2011-March/009088.html
20:04:33  <mjr_>sad face
20:08:07  * pieternquit (Quit: pietern)
20:14:17  * AvianFlujoined
20:19:43  <mraleph>dap: congratulations https://code.google.com/p/v8/source/detail?r=10596
20:23:26  * isaacsquit (Remote host closed the connection)
20:35:38  * `3rdEdenjoined
20:44:50  * mralephquit (Quit: Leaving)
21:00:13  <dap>mraleph: great! and thanks for all your help!
21:00:17  <dap>oops, he's gone.
21:05:01  * pieternjoined
21:13:44  * AndreasMadsenquit (Remote host closed the connection)
21:16:08  * isaacsjoined
21:22:33  * mralephjoined
21:24:09  * mikealjoined
21:55:38  * mikealquit (Quit: Leaving.)
22:07:27  * pieternquit (Quit: pietern)
22:31:29  <TooTallNate>isaacs: is there anything special i need to do to make node-which work in windows?
22:32:05  <TooTallNate>1) the async version seems to be failing the "isExe()" check
22:32:19  <TooTallNate>2) the sync version never considers the pathext, so it always fails
22:32:35  * brsonjoined
22:34:15  <isaacs>TooTallNate: i guess... fix those bugs?
22:34:21  <isaacs>TooTallNate: :)
22:34:30  <TooTallNate>yes my master :)
22:34:40  <TooTallNate>how is isExe supposed to work?
22:34:43  <TooTallNate>on windows at least?
22:34:52  <TooTallNate>(seems to work fine on OS X)
22:34:55  * pieternjoined
22:34:55  <isaacs>i dunno... what happens when you stat an executable? what's the mode that you get?
22:35:00  <isaacs>on unix, you can check the x bit
22:35:13  <isaacs>ie, the 0111
22:35:18  <TooTallNate>good question... any windows experts?
22:35:30  <isaacs>piscisaureus, igorzi: ^
22:36:43  <isaacs>TooTallNate: also, are you seriously interested in making node-gyp not painful to use? because if so, i think i might love you.
22:37:13  <TooTallNate>isaacs: i'm your man :) assuming i can find time
22:37:20  <TooTallNate>around work and the book...
22:37:39  <TooTallNate>i tend to spend time on what i have fun with though, so node-gyp might take some priorities ;)
22:39:04  * isaacschanged nick to isaacs_away
22:42:05  <isaacs_away>osx: [02:00|% 100|+ 324|- 5]: Done
22:42:09  <isaacs_away>not shabby.
22:42:37  <bnoordhuis>are we doing a release tonight? tomorrow?
22:43:09  <isaacs_away>linux: [00:53|% 100|+ 325|- 4]: Done
22:43:10  <isaacs_away>tonight
22:43:12  <isaacs_away>0.6.10
22:43:27  <isaacs_away>not much in it, really
22:43:30  <isaacs_away>few bug fixes.
22:43:36  <TooTallNate>isaacs_away: will the npm git-bash stuff make it in?
22:43:38  <TooTallNate>the shims
22:43:44  <isaacs_away>important ones, though
22:43:53  <TooTallNate>(might already be in 0.6.9, havent tried)
22:44:09  <isaacs_away>TooTallNate: no, i don't think so.
22:44:18  * isaacs_awaysigh, 0.6.11 i guess...
22:44:31  <TooTallNate>ok
22:44:31  <isaacs_away>i don't really want to touch the msi builder... that's scary stuff.
22:44:36  <isaacs_away>lemme take a look
22:46:55  <isaacs_away>oh, actually this doesn't look so bad.
22:48:23  <isaacs_away>igorzi: you around?
22:48:30  <igorzi>isaacs TooTallNate: there's really no easy way to know if a file is executable
22:48:36  <igorzi>isaacs_away: yep
22:48:44  <isaacs_away>igorzi: what goes into adding a file to the msi? where do those guids come from?
22:48:57  <isaacs_away>ie, in /tools/msvs/msi/product.wxs
22:49:07  <igorzi>isaacs_away: is there a patch?
22:49:38  <isaacs_away>igorzi: i need to add deps/npm/bin/npm as well as deps/npm/bin/npm.cmd
22:49:42  * isaacs_awayquit (Read error: Connection reset by peer)
22:49:56  * isaacs_awayjoined
22:50:52  <igorzi>isaacs_away: are those new files under deps/npm? we have a step on vcbuild.bat that adds everything under deps/npm to the msi
22:51:20  <benvie>guessing process.PATHEXT doesn't qualify as evidence enough of whether something is executable?
22:51:48  <igorzi>isaacs_away: https://github.com/joyent/node/blob/v0.6/vcbuild.bat#L101
22:52:13  <benvie>it does indicate what extensions will be treated as executables when run at least I think
22:52:27  <isaacs_away>igorzi: right, but it then later copies deps/npm/bin/npm.cmd into the PATH
22:52:35  <isaacs_away>igorzi: and i need it to copy deps/npm/bin/npm as well
22:52:46  <isaacs_away>igorzi: that's the shell script for msysgit bash
22:53:13  <igorzi>benvie: it might a good start, but it still doesn't tell you if it *really* is executable.. you need to peek inside the file
22:53:19  <benvie>yeah
22:55:34  <igorzi>isaacs_away: ok, got it.. you just need to add another Component entry.. just generate a new guid
22:55:42  <isaacs_away>k
22:56:05  * stephankquit (Quit: *Poof!*)
22:57:56  <isaacs_away>igorzi: review? https://gist.github.com/1726313
23:02:02  <igorzi>isaacs_away: one sec
23:02:08  <isaacs_away>k
23:03:12  <igorzi>isaacs_away: lgtm
23:03:19  <isaacs_away>kewl
23:03:39  * mralephquit (Ping timeout: 244 seconds)
23:03:48  <CIA-114>node: isaacs v0.6 * r30fd2f7 / tools/msvs/msi/product.wxs : Add npm msysgit bash shim to msi installer - http://git.io/eBHQTw
23:03:56  <isaacs_away>TooTallNate: ^
23:03:58  <isaacs_away>thanks for the reminder
23:04:15  <TooTallNate>sweet man!
23:05:27  * elijah-mbpquit (Remote host closed the connection)
23:08:12  <TooTallNate>isaacs_away: https://github.com/TooTallNate/node-which/pull/1
23:09:41  <TooTallNate>isaacs_away: where does npm use node-which anyways? would have been broken on windows :p
23:09:56  <isaacs_away>oh, i don't think it bothers to on windows
23:10:59  <TooTallNate>oh ok, haha
23:11:38  * travis-cijoined
23:11:39  <travis-ci>[travis-ci] joyent/node#360 (v0.6 - 30fd2f7 : isaacs): The build passed.
23:11:39  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/7e40c7d...30fd2f7
23:11:39  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/617891
23:11:39  * travis-cipart
23:12:06  * piscisaureus_joined
23:16:30  * creationixpart ("Ex-Chat")
23:17:04  <piscisaureus_>isaacs_away: TooTallNate: there is no x bit on windows. The CRT checks if the extension of the file is .exe and says and if so stat() says the X is set. But libuv/node doesn't.
23:17:54  <TooTallNate>piscisaureus_: ok thanks, my "always return true" solution works then
23:20:53  <piscisaureus_>isaacs_away: is there anything I should take away from the remainder of the conference call with claudio?
23:21:01  <piscisaureus_>Unfortunately I missed half of it
23:21:45  <isaacs_away>piscisaureus_: right.
23:21:59  <isaacs_away>piscisaureus_: isolates are out.
23:22:22  <isaacs_away>piscisaureus_: i need to convince you to work on domains again.
23:22:22  <piscisaureus_>isaacs_away: you got thumbs up from yandex
23:22:26  <piscisaureus_>or whoever you need to convince?
23:22:59  <isaacs_away>piscisaureus_: no, still kind of waiting to see if they scream about it.
23:23:02  <isaacs_away>but it's the right call.
23:23:07  <piscisaureus_>isaacs_away: you mean, you still want it in for 0.8?
23:23:11  <isaacs_away>tha'ts ultimately all that matters.
23:23:15  <isaacs_away>no, i mean, i'ts out for 0.8.
23:23:18  <isaacs_away>we need to kill it.
23:23:30  <isaacs_away>(wait, isolates or domains?)
23:23:41  <piscisaureus_>oh - i was referring to domains
23:23:49  <isaacs_away>oh, yes
23:23:58  <isaacs_away>we should get *something* towards domains in 0.8.
23:24:05  <isaacs_away>it doesn't have to be the prettiest api ever.
23:24:17  <isaacs_away>but that's something that there are actually a lot of people in the community shouting for.
23:24:42  <isaacs_away>no one cares about isolates enough to justify the overhead they involve.
23:24:46  <piscisaureus_>isaacs_away: okay.
23:24:51  <piscisaureus_>good that domains are out :-)
23:24:59  <isaacs_away>nono, domains are in
23:25:01  <isaacs_away>isolates are out
23:25:17  * isaacs_awayso confused.
23:25:38  <piscisaureus_>isaacs_away: okay
23:25:51  <piscisaureus_>isaacs_away: we should do isolates eventually, in 1.6 :-)
23:25:55  <isaacs_away>hahha
23:26:00  <isaacs_away>4 months = forever
23:26:13  <isaacs_away>forever = never
23:26:34  <piscisaureus_>isaacs_away: but we have to go slowly and figure out how to do that without causing so much overhead
23:26:46  <isaacs_away>yes, sure.
23:26:46  <piscisaureus_>which, indeed, will take forever ;-)
23:26:59  <isaacs_away>it was an informative exploration.
23:27:05  <isaacs_away>the information we got was that it's a bad ide.
23:27:08  <isaacs_away>*idea
23:27:18  <isaacs_away>if that wasn't a possibility, they it wouldn't have been an honest exploration.
23:27:50  * AvianFluquit (Quit: Leaving)
23:28:35  * AvianFlujoined
23:30:20  <igorzi>piscisaureus_ isaacs_away: for domains.. wouldn't the simplest thing to do be to introduce something like domains.createNew(), currentDomain.setObject(key, value) and currentDomain.getObject(key) and that's it?
23:30:54  <isaacs_away>igorzi: hm. well, the idea is that you want each io/callback to be associated with a domain.
23:31:11  <isaacs_away>what people are screaming for is a way to get long stack traces, really
23:31:22  <isaacs_away>some IO callback throws, you want to know what the hell you were doing
23:31:44  <igorzi>isaacs_away: right, that's what domains.createNew() will do.. after that you put http request object into the domain (using currentDomain.setObject)
23:31:53  <isaacs_away>oh, i see
23:32:03  <isaacs_away>so the EE is associated with a domain
23:32:09  <igorzi>isaacs_away: and after that if something throws you can always just do currentDomain.getObject
23:32:35  <isaacs_away>sure.
23:32:46  * piscisaureus_quit (Ping timeout: 240 seconds)
23:40:33  * piscisaureus_joined
23:44:44  <isaacs_away>this git alias is nice:
23:44:46  <isaacs_away> ll = log --graph --pretty=format:'%Cred%h%d%Creset %s %C(yellow)(%an)%Creset'
23:45:12  <isaacs_away>should call it "cl" for "changelog"
23:46:26  * elijah-mbpjoined
23:53:31  * paddybyersquit (Quit: paddybyers)
23:54:24  <isaacs_away>piscisaureus_, bnoordhuis, igorzi: https://gist.github.com/6b77033afc5ea2a32596 <-- review changelog?
23:55:26  <bnoordhuis>isaacs_away: lgtm
23:55:34  <isaacs_away>just removed Small test-dgram-multicast-multi-process fixes
23:55:49  * felixgequit (Quit: felixge)
23:57:31  <igorzi>isaacs_away: lgtm
23:57:39  <isaacs_away>thanks
23:58:32  <piscisaureus_>isaacs_away: I also fixed the path.exists bug in windows
23:58:54  <isaacs_away>+* windows: Fix path.exists regression (Bert Belder)
23:58:59  <isaacs_away>piscisaureus_: ^
23:59:16  <isaacs_away>refresh the page, i just messed up the copy/paste into gist :)
23:59:43  <piscisaureus_>isaacs_away: I'm not really proud of it (caused the regression myself), but people have been complaining about it