00:08:24  * dylukes_changed nick to dylukes
01:21:13  * abraxasjoined
01:57:57  * mikealjoined
01:59:53  * Aria_joined
02:00:05  * Ariaquit (Read error: No route to host)
02:05:26  * Aria_quit (Read error: Connection reset by peer)
02:05:55  * Ariajoined
02:11:04  * isaacsjoined
02:11:49  * mikealquit (Quit: Leaving.)
02:14:14  * Ariaquit (Read error: Connection reset by peer)
02:14:39  * Ariajoined
02:27:46  * mikealjoined
02:37:04  * mikealquit (Quit: Leaving.)
02:47:31  * mikealjoined
03:22:43  * dylukesquit (Quit: Pipes are broken. Sending packets via Fedex.)
03:32:47  * mikealquit (Quit: Leaving.)
03:46:28  * mikealjoined
04:20:37  * pfox___joined
04:37:14  * pfox___quit (Ping timeout: 264 seconds)
05:32:45  <CIA-99>node: isaacs master * r93eca95 / common.gypi :
05:32:45  <CIA-99>node: Revert "build: target OSX 10.5 when building on darwin"
05:32:45  <CIA-99>node: This reverts commit b6d6a54f8057d0adad13d4bcc11eb3f443079ddc,
05:32:45  <CIA-99>node: which fixed #3072, so we'll have to figure out another way
05:32:45  <CIA-99>node: to make that work. - http://git.io/AWhRQA
05:46:56  * travis-cijoined
05:46:56  <travis-ci>[travis-ci] joyent/node#706 (master - 93eca95 : isaacs): The build is still failing.
05:46:56  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/78eb174...93eca95
05:46:56  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/1047209
05:46:56  * travis-cipart
05:47:01  * Ariaquit (Ping timeout: 248 seconds)
05:48:07  * Ariajoined
05:48:32  * isaacsquit (Remote host closed the connection)
06:21:24  * orlandovftwjoined
06:52:39  * txdvquit (Ping timeout: 245 seconds)
07:04:25  * rendarjoined
07:10:48  * avalanche123joined
07:15:43  * paddybyersjoined
07:18:56  * bnoordhuisjoined
07:23:47  * mmalecki[zzz]changed nick to mmalecki
08:11:35  * bnoordhuisquit (Ping timeout: 265 seconds)
08:20:37  * orlandovftwquit (Ping timeout: 248 seconds)
08:26:40  * Ariaquit (Read error: Connection reset by peer)
08:29:35  * Ariajoined
09:18:11  * avalanche123quit (Quit: Computer has gone to sleep.)
09:53:03  * AndreasMadsenjoined
09:56:30  * txdvjoined
09:57:39  * paddybyersquit (Quit: paddybyers)
11:16:01  * paddybyersjoined
11:26:28  * paddybyersquit (Quit: paddybyers)
11:33:13  * Ariaquit (Remote host closed the connection)
11:50:20  * abraxasquit (Remote host closed the connection)
11:50:52  * abraxasjoined
11:55:30  * abraxasquit (Ping timeout: 260 seconds)
12:05:26  * mralephjoined
12:07:29  * paddybyersjoined
12:44:01  * pfox___joined
13:22:34  * k-s[AWAY]changed nick to k-s
13:48:38  * paddybyersquit (Quit: paddybyers)
14:02:53  * josephgquit (Quit: josephg)
14:47:40  * pieternjoined
15:01:04  * isaacsjoined
15:04:19  * k-schanged nick to k-s[AWAY]
15:10:39  * TooTallNatejoined
15:18:30  * perezdquit (Quit: perezd)
15:18:45  * pieternquit (Quit: pietern)
15:37:25  * perezdjoined
15:42:36  <isaacs>Anyone around to review this? https://github.com/isaacs/node/commit/06ada03ed93d6f81caef24c6dade6e616fd843b1
15:42:47  <isaacs>Also, 0.6.15, about to push it out.
15:43:01  <mmalecki>AvianFlu: ^
15:44:40  <TooTallNate>isaacs: what's AOP stand for?
15:44:51  <isaacs>aspect oriented programming
15:45:02  <TooTallNate>ahhh
15:45:06  <TooTallNate>isaacs: lgtm
15:45:18  <isaacs>original = obj.method; obj.method = function() { do some stuff; return original.apply(obj, arguments) }
15:45:37  <TooTallNate>i've always just called it monkey-patching :p
15:45:48  <mmalecki>it's monkey-punching
15:45:56  <TooTallNate>mmalecki: that's mean :p
15:46:09  <isaacs>yeah, you shouldn't punch monkeys
15:46:26  <mmalecki>and you shouldn't monkey-patch your code!
15:46:45  <isaacs>mmalecki: AOP isn't all bad.
15:46:47  <TooTallNate>but this is JavaScript!
15:47:03  <isaacs>actually, there are special classes to do this sort of thing in Java, it's just a lot easier in JavaScript.
15:47:14  <tjfontaine>somewhere leonidas is screaming This Is JavaScript
15:47:23  <TooTallNate>haha
15:47:31  <mmalecki>I mean, sometimes you have to
15:47:41  <mmalecki>but doing it on a daily basis? meh
15:48:19  <isaacs>mmalecki: it's kind of a nice way to avoid EMFILE errors when you're opening and closing a lot of files.
15:48:40  <mmalecki>isaacs: your graceful-fs does that, right?
15:48:52  <mmalecki>isaacs: I didn't know it does monkey-punching tho
15:48:58  <mmalecki>I thought it's just a wrapper
15:50:50  <isaacs>mmalecki: yeah, it's a wrapper.
15:50:52  <isaacs>around fs.open
15:51:17  <mmalecki>ok, so does it actually patch fs.open or is it like, a decorator?
15:51:26  <mmalecki>I guess I should just check the code lol
15:51:32  * perezdquit (Read error: No route to host)
15:51:52  <isaacs>mmalecki: it used to be a separate function. but, in this case, aop is just much simpler.
15:52:02  * perezdjoined
15:56:57  <CIA-99>node: isaacs master * r06ada03 / (lib/fs.js test/simple/test-fs-write-stream-change-open.js): (log message trimmed)
15:56:57  <CIA-99>node: fs.WriteStream: Handle modifications to fs.open
15:56:57  <CIA-99>node: If the fs.open method is modified via AOP-style extension, in between
15:56:57  <CIA-99>node: the creation of an fs.WriteStream and the processing of its action
15:56:57  <CIA-99>node: queue, then the test of whether or not the method === fs.open will fail,
15:56:58  <CIA-99>node: because fs.open has been replaced.
15:56:59  <CIA-99>node: The solution is to save a reference to fs.open on the stream itself when
16:01:50  <TooTallNate>isaacs: is that one going into v0.6 as well?
16:02:17  <isaacs>TooTallNate: i guess it probably should
16:02:32  <isaacs>grr... recompiling, that means. ;)
16:02:38  <TooTallNate>haha
16:02:45  <TooTallNate>sorry :p
16:03:13  <TooTallNate>isaacs: well once we get that sweet build farm going, eh?
16:03:15  <TooTallNate>;)
16:04:05  <isaacs>testing now to make sure it didn't introduce any errors in 0.6, then i'll build and push an RC2
16:04:34  <tjfontaine>btw, what was the 10.5 "fix" breaking?
16:04:35  <mmalecki>isaacs: let travis test it :)
16:04:44  <mmalecki>just push to a feature branch
16:06:04  <TooTallNate>tjfontaine: it broke fs.watch()
16:06:24  <tjfontaine>god the file watcher stuff is such a disaster :)
16:06:28  <creationix>TooTallNate, I see node-gyp (the npm package) has a ton of dependencies, will this be part of a future node version?
16:06:34  <isaacs>mmalecki: if travis had windows and osx and smartos, i would be happy to
16:06:44  <creationix>(node-gyp, not all the dependencies)
16:06:46  <isaacs>creationix: node-gyp is built into npm already
16:06:52  <isaacs>creationix: most of the dependencies are shared with npm
16:07:02  <creationix>hmm, so the node-gyp npm package is obsolete then?
16:07:07  <isaacs>creationix: not at all.
16:07:11  <creationix>oh, it's part of npm
16:07:15  <isaacs>node-gyp is part of the npm family now :)
16:07:24  <isaacs>so it Just Works
16:07:25  <mmalecki>isaacs: fair enough
16:07:42  <TooTallNate>creationix: the npm package is useful for `npm install -g node-gyp`
16:07:43  <isaacs>[01:30|% 100|+ 343|- 0]: Done
16:07:45  <isaacs>(os x)
16:07:53  <TooTallNate>creationix: and while developing your module
16:07:54  <creationix>the reason I ask is because node-qt depends on node-gyp
16:08:06  <TooTallNate>creationix: he should take that out
16:08:13  <creationix>ok, cool
16:08:28  <TooTallNate>creationix: just because npm will handle that for you now
16:11:13  * travis-cijoined
16:11:14  <travis-ci>[travis-ci] joyent/node#707 (master - 06ada03 : isaacs): The build is still failing.
16:11:14  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/93eca95...06ada03
16:11:14  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/1050406
16:11:14  * travis-cipart
16:17:26  * dapjoined
16:18:07  <benvie>node-qt works really well
16:18:13  <benvie>just in terms of stability
16:18:22  <benvie>kind of surprised
16:18:43  <benvie>but it's awesome
16:27:16  * perezdquit (Quit: perezd)
16:27:57  * perezdjoined
16:31:35  * perezdquit (Client Quit)
16:32:47  * perezdjoined
16:33:57  * perezdquit (Remote host closed the connection)
16:38:57  * paddybyersjoined
16:44:23  <TooTallNate>isaacs: btw, i released node-gyp v0.4.0 last night; you should update
16:45:48  <isaacs>TooTallNate: you're literally killing me.
16:45:51  <isaacs>;)
16:46:00  <isaacs>worth getting into 0.6.15, or can it wait for the next release?
16:46:07  <TooTallNate>isaacs: probably not a big deal for v0.6.15
16:46:13  <isaacs>k, kewl.
16:46:22  <TooTallNate>it just adds some command-line magic, nothing npm will use
16:54:43  <isaacs>ok
16:57:23  * pieternjoined
17:02:59  * k-s[AWAY]changed nick to k-s
17:08:07  * AndreasMadsenquit (Remote host closed the connection)
17:08:37  <creationix>success! https://github.com/arturadib/node-qt/commit/6d16e6eeec2547316128505c905d9fccb3470d13
17:10:05  <TooTallNate>creationix: :p
17:14:29  * avalanche123joined
17:26:38  * mikealquit (Quit: Leaving.)
17:27:27  * avalanche123quit (Quit: Computer has gone to sleep.)
17:31:52  * perezdjoined
17:32:05  * mikealjoined
17:33:37  <perezd>hey, doing my best to get up to speed with writing code using libuv, does anyone recommend any "required reading" as I spin up?
17:35:42  <CIA-99>node: isaacs v0.6 * rc75f71d / (lib/fs.js test/simple/test-fs-write-stream-change-open.js): (log message trimmed)
17:35:43  <CIA-99>node: fs.WriteStream: Handle modifications to fs.open
17:35:43  <CIA-99>node: If the fs.open method is modified via AOP-style extension, in between
17:35:43  <CIA-99>node: the creation of an fs.WriteStream and the processing of its action
17:35:43  <CIA-99>node: queue, then the test of whether or not the method === fs.open will fail,
17:35:43  <CIA-99>node: because fs.open has been replaced.
17:35:44  <CIA-99>node: The solution is to save a reference to fs.open on the stream itself when
17:35:44  <CIA-99>node: isaacs v0.6 * rf160a45 / (ChangeLog doc/community/index.html src/node_version.h): (log message trimmed)
17:35:45  <CIA-99>node: 2012.04.09 Version 0.6.15 (stable)
17:35:45  <CIA-99>node: * Update npm to 1.1.16
17:35:46  <CIA-99>node: * Show licenses in binary installers.
17:35:46  <CIA-99>node: * unix: add uv_fs_read64, uv_fs_write64 and uv_fs_ftruncate64 (Ben Noordhuis)
17:35:47  <CIA-99>node: * add 64bit offset fs functions (Igor Zinkovsky)
17:35:47  <CIA-99>node: * windows: don't report ENOTSOCK when attempting to bind an udp handle twice (Bert Belder)
17:44:23  * travis-cijoined
17:44:24  <travis-ci>[travis-ci] joyent/node#708 (v0.6 - e8067cb : isaacs): The build was broken.
17:44:24  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/45b772d...e8067cb
17:44:24  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/1050975
17:44:24  * travis-cipart
17:44:47  <isaacs>"broken"?
17:44:54  <isaacs>when did we have a passing travis build on v0.6?
17:45:36  <isaacs>oh, right, the doc patches fixed some bugs, apparently.
18:01:19  * CoverSli1echanged nick to CoverSlide
18:05:39  * brsonjoined
18:08:20  * dshaw_joined
18:15:00  * perezdquit (Quit: perezd)
18:15:52  * avalanche123joined
18:22:26  * `3rdEdenjoined
18:28:35  * perezdjoined
18:29:32  * avalanche123quit (Quit: Computer has gone to sleep.)
18:45:16  * dylukes_joined
18:46:04  * dylukes_changed nick to dylukes
18:49:21  <TooTallNate>damn, wheres bert?
18:59:44  <creationix>perezd, the uv.h file
19:00:50  <creationix>perezd, and ryah's http webserver example https://github.com/creationix/luvmonkey/blob/master/bench/http-simple.c http://vimeo.com/24713213
19:01:11  <creationix>the github link is up to date unlike the screencast
19:01:12  * coderarityquit
19:01:18  <creationix>the libuv API has changed a little
19:04:00  * mikealquit (Quit: Leaving.)
19:05:53  * mikealjoined
19:11:32  <isaacs>TooTallNate: bnoordhuis is out, as well. Maybe it's a holiday in Netherlands or something?
19:11:47  <TooTallNate>haha
19:11:50  <indutny>:)
19:11:50  * dylukesquit (Quit: Computer has gone to sleep.)
19:11:58  <mmalecki>isaacs: it's holiday in Poland, so I guess it might be holiday in Netherlands too
19:12:02  <indutny>just wanted to ask ben about his work
19:12:16  <indutny>on ref/unref refactor
19:21:39  * arlolraquit (Quit: ZNC - http://znc.sourceforge.net)
19:22:34  <pfox___>is the behavior for libuv using uv_async_send() against a handle that's been uv_close'd ?
19:22:41  <pfox___>+specified
19:23:26  * arlolrajoined
19:25:57  * mikealquit (Quit: Leaving.)
19:31:06  * brsonquit (Ping timeout: 245 seconds)
19:33:16  * arlolraquit (Quit: Linkinus - http://linkinus.com)
19:35:12  * `3rdEdenquit (Quit: Leaving...)
19:38:01  * k-squit (Quit: leaving)
19:42:17  * mikealjoined
19:54:41  * brsonjoined
19:58:39  * hij1nxjoined
19:58:43  * avalanche123joined
20:21:12  <perezd>creationix: okay cool, been to both of those already
20:24:29  * hij1nxquit (Quit: hij1nx)
20:27:47  * hij1nxjoined
20:44:42  * xaqjoined
20:47:53  * stephankquit (Read error: Connection reset by peer)
20:49:20  * stephankjoined
20:52:48  * josephgjoined
21:01:42  * mikealquit (Quit: Leaving.)
21:04:56  * mikealjoined
21:06:57  * hij1nxquit (Quit: hij1nx)
21:08:52  * bnoordhuisjoined
21:08:59  * kohaijoined
21:12:46  <bnoordhuis>* unix: add uv_fs_read64, uv_fs_write64 and uv_fs_ftruncate64 (Ben Noordhuis) <- most undeserved mention in a changelog ever :)
21:13:37  <mmalecki>I'm watching new node compile on more than 1000 servers now, btw :)
21:13:46  <mmalecki>that's the funniest thing after a new release.
21:20:56  <bnoordhuis>mmalecki: don't you just compile it once and distribute it?
21:21:45  <mmalecki>bnoordhuis: no, we actually tried that and it caused some compatibility problems between machines
21:22:02  <mmalecki>which was really weird because these servers are kinda the same
21:22:09  <bnoordhuis>"kinda"
21:22:26  <mmalecki>yeah, this "kinda" broke it, I guess :)
21:23:06  <mmalecki>that'd be preferred, of course
21:27:32  <bnoordhuis>mmalecki: what kind of issues did you run into?
21:28:46  <mmalecki>bnoordhuis: I don't remember exactly since I wasn't the one doing this experiment, but I think it was something about glibc version
21:29:31  <bnoordhuis>mmalecki: if your machines have different versions of glibc installed, they're emphatically *not* the same :)
21:30:18  <bnoordhuis>that said, it should work if the version of glibc that node is compiled against is < than what is installed on your machines
21:32:47  <mmalecki>bnoordhuis: in production, "should" turns into "depending on a moon phase"
21:55:34  * dapquit (Quit: Leaving.)
22:08:16  * dapjoined
22:20:43  <isaacs>bnoordhuis: haha
22:21:07  <isaacs>bnoordhuis: the actual commit count was pretty small on 0.6.15, so the bar was lower.
22:34:43  * mikealquit (Quit: Leaving.)
22:39:37  * rendarquit
22:46:09  * pfox___quit (Quit: leaving)
22:49:25  * mikealjoined
22:49:41  * mikealquit (Client Quit)
23:04:40  * dapquit (Read error: Operation timed out)
23:11:28  * dapjoined
23:20:20  * mikealjoined
23:28:47  * mikealquit (Quit: Leaving.)
23:29:33  * xaqquit (Remote host closed the connection)
23:31:33  * mralephquit (Quit: Leaving.)
23:36:40  <CIA-99>node: isaacs domains-wip * rbf7fda2 / test/simple/test-domain-http-server.js : An example using domains in an HTTP server (+19 more commits...) - http://git.io/mGTMPA
23:37:08  <isaacs>bnoordhuis, piscisaureus, TooTallNate, igorzi: feedback welcome^
23:44:05  * mikealjoined
23:44:58  <ryah>isaacs: if you put a settimeout in there - will it kill the callback?
23:46:13  <ryah>isaacs: i wrote a couple of tests outlining the domains API a few months ago, have you seen that?
23:46:52  <isaacs>ryah: i have, but i think we've talked ourselves into and out of a few things since then.
23:47:22  <isaacs>ryah: but to answer your question, this will capture timeouts automatically if they're set in the context of a domain.
23:48:17  <isaacs>ryah: which tests are you referring to? i thought i'd seen it, but now i can't find it. i might be thinking of some of the preliminary stuff that piscisaureus had done.
23:49:24  <ryah>isaacs: https://github.com/joyent/node/blob/04ad06a5c2397ba9c6f56bf3b8ff7e6824fbef6d/test/simple/test-domains.js
23:49:32  <ryah>isaacs: and how's performance?
23:50:02  <isaacs>ryah: it's not ready for merging into master yet.
23:50:06  <isaacs>(re: performance)
23:50:13  <isaacs>still kind of messing around with the api and the approach.
23:50:33  <isaacs>but i'm focusing more on trying to solve the problems that people have, without introducing more.
23:50:41  <isaacs>there's no data stuff tied to a domain right now.
23:50:53  <isaacs>var d = domains.create({ hello: "world" }, function(a) {
23:51:05  <isaacs>and it's still 100% JS
23:51:17  <ryah>how can it be 100% js?
23:51:37  <ryah>hm.. how is it working?
23:51:41  * travis-cijoined
23:51:41  <travis-ci>[travis-ci] joyent/node#709 (domains-wip - bf7fda2 : isaacs): The build failed.
23:51:41  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/d956da9^...bf7fda2
23:51:41  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/1053179
23:51:41  * travis-cipart
23:51:57  <isaacs>EventEmitters and timers get added to the active domain.
23:52:18  <isaacs>when a timer dings, or an EE emits, it enters the domain, runs the cb, then exits
23:52:19  <ryah>what about fs events?
23:52:26  <isaacs>well.. that's the rub still :)
23:52:37  <isaacs>there's api for manually binding a function to a domain
23:52:41  <ryah>hm..
23:52:46  <isaacs>which sort of sucks
23:52:53  <ryah>i think it's best to change MakeCallback to enter javascript at a single point
23:53:01  <ryah>so that it can all be handled at once
23:53:31  <isaacs>yeah, i'm thinking similarly
23:53:37  <isaacs>either that or hook into the ReqWrap class
23:54:09  <isaacs>what you really want is to bind the cb to the domain as it's going to the thread pool, since that's where you want it connected to
23:54:49  <isaacs>also, automatically grabbing the error args is pretty problematic in a lot of cases.
23:55:02  <isaacs>ie, sometimes you don't bother Stating to see if something's a dir, you just readdir and if it fails, it's not a dir.
23:55:34  <isaacs>it's super handy sometimes though, and easy to do, so there's api for that as well.
23:56:14  <ryah>i hadnt intended that domains would catch non-exceptions
23:57:05  <ryah>just somehow managing the callbacks
23:57:11  <isaacs>right