[1:47]<SubtleGradient> in a commonjs module, does `this.exports === exports` ? [1:48]<SubtleGradient> what happens if you `var exports = {};` in a module? [1:48]<keeto> a beaver will drop from the sky. [1:49]<SubtleGradient> /kick keeto [1:49]<keeto> lol. [1:49]<keeto> sorry subtle, can't resist a line where I could include a beaver reference. :) [1:49]<SubtleGradient> i understand [1:50]<SubtleGradient> tlrobinson, being the only name I recognize other than a few others: any insight? ? [1:50]<tlrobinson> SubtleGradient: not necessarily [1:50]<tlrobinson> "this" is purposefully left undefined in the module spec [1:50]<tlrobinson> you shouldn't rely on it being anything in particular [1:51]<tlrobinson> it might be the module scope, exports object, or global [1:51]<SubtleGradient> I'm just trying to think of an elegant way to write universal javascript that will work everywhere, including as a module [1:51]<tlrobinson> var Foo = { ... } [1:51]<tlrobinson> if (typeof exports !== "undefined") exports.Foo = Foo; [1:52]<tlrobinson> usually something like that [1:52]<SubtleGradient> hmm? [1:52]<tlrobinson> or "mixin" a bunch of properties directly into exports [1:52]<SubtleGradient> I was thinking more along the lines of `(function(){ this.Foo = ?}).apply(exports)` [1:53]<SubtleGradient> and at the top I could do `this.exports = this.exports || window` [1:53]<tlrobinson> how about: var Foo = typeof "exports" === "undefined" ? {} : exports; [1:53]<tlrobinson> err [1:53]<tlrobinson> there are lots of ways [1:53]<SubtleGradient> yeah [1:54]<SubtleGradient> is there a standard commonjs way to mix all the properties/methods of a require into the current scope? [1:54]<SubtleGradient> i.e. in a closure [1:55]<tlrobinson> unfortunately no [1:55]<SubtleGradient> pity [1:55]<SubtleGradient> it should have [1:55]<tlrobinson> we talked about having "include" in addition to "require" [1:55]<SubtleGradient> what was the consensus? [1:55]<tlrobinson> i think it's hard to implement cleanly [1:56]<tlrobinson> you can do it with a "with" statement [1:56]<tlrobinson> or interpreter-specific APIs [1:56]<SubtleGradient> isn't that being phased out with >ES5? [1:57]<tlrobinson> i can't remember what the exact changes are, but yeah something is changing with "with" [1:57]<SubtleGradient> i'm going to need something like include. [1:58]<SubtleGradient> where would I go to participate in that sort of thing? [1:58]<tlrobinson> why do you *need* it? [1:58]<SubtleGradient> I'm a core MooTools developer [1:59]<SubtleGradient> I'm thinking about how best to code MooTools for the future [1:59]<tlrobinson> the mailing list would be the right place to discuss it [1:59]<SubtleGradient> ok, good deal [1:59]<tlrobinson> but first you might want to go back and look at previous discussions about it [1:59]<SubtleGradient> willdo [2:00]<SubtleGradient> what's your impression of the commonjs process sofar? [2:00]<SubtleGradient> are people open and such? [2:00]<tlrobinson> it has it's ups and downs [2:00]<tlrobinson> yes, very [2:00]<tlrobinson> sometimes i think too much so :) [2:01]<SubtleGradient> I haven't gotten involved before because I've seen alt.whatever.javascript [2:01]<SubtleGradient> and I wary of such horror [2:01]<tlrobinson> oh yeah alt.lang.javascript is awful [2:01]<tlrobinson> err alt.comp.lang.javascript [2:02]<SubtleGradient> MooTools doesn't have enough of a voice on these sorts of bodies [2:02]<tlrobinson> commonjs isn't anything like that [2:02]<tlrobinson> alt.comp.lang.javascript seems pretty irrelevant. i haven't heard of anything worthwhile going on there [2:03]<SubtleGradient> good good [2:04]<SubtleGradient> I tend to think of standards being like a force of nature [2:04]<SubtleGradient> you know half of them are going to suck, and there's nothing you can do about it [2:04]<SubtleGradient> e.g. JSON.stringify [2:04]<tlrobinson> heh [2:04]<tlrobinson> sometimes a crappy standard is better than no standard [2:04]<SubtleGradient> sure [2:04]<tlrobinson> though i'd like to think commonjs isn't crappy [2:05]<SubtleGradient> I'm liking it sofar [2:05]<SubtleGradient> ever hear of Espresso.app? [2:05]<tlrobinson> yes [2:05]<SubtleGradient> we implemented a CommonJS style require system in Spice.sugar [2:05]<SubtleGradient> so you can extend Espresso with javascript [2:05]<SubtleGradient> it uses CocoaJS [2:05]<SubtleGradient> or JSCocoa [2:05]<tlrobinson> neat [2:05]<SubtleGradient> I'm a fan [2:06]<tlrobinson> what's Spice.sugar? [2:06]<SubtleGradient> tlrobinson: http://onecrayon.com/spice/ [2:06]<tlrobinson> oh i see, Spide.sugar is this JSCocoa thing [2:07]<SubtleGradient> Espresso.app extension using JSCocoa with CommonJS style requires to extend your text editor using JavaScript [2:07]<tlrobinson> JSCocoa is pretty awesome [2:08]<SubtleGradient> I like it [2:08]<tlrobinson> at one point i had narwhal working great with it. i think building it is broken at the moment though [2:08]<SubtleGradient> I saw that. [2:08]<SubtleGradient> I follow much of what you do [2:08]<SubtleGradient> you must not have kids ;) [2:08]<tlrobinson> hah nope [2:08]<tlrobinson> nor a girlfriend :( [2:09]<SubtleGradient> my free time is very full these days :D [2:10]<SubtleGradient> we're working on a new standalone CSS Selector engine. And along with it an exhaustive framework-independant selector spec that Sizzle and Acme and everyone can collaborate on [2:10]<SubtleGradient> specs ftw [2:10]<tlrobinson> cool [2:10]<tlrobinson> i have to admit i don't deal with CSS selectors much though [2:11]<SubtleGradient> the style of progressive enhancement I use for the types of sites I develop relies quite heavily on them [2:12]<tlrobinson> yeah it's certainly a good model for that style application [2:12]<tlrobinson> not so much for something like Cappuccino [2:12]<SubtleGradient> with webapps you tend to get more control over the full stack [2:12]<SubtleGradient> no, not so much [2:12]<SubtleGradient> I'm also very interested in databinding on the client-side [2:13]<tlrobinson> a quick grep of the cappuccino source shows a total of about a dozen "getElement*" calls [2:13]<tlrobinson> (and we don't use any sort of wrapper) [2:14]<SubtleGradient> yeah, makes sense for cappuccinoi [2:15]<SubtleGradient> how does cappuccino handle databinding? [2:15]<tlrobinson> hm i wonder if there's a reason we do doc.getElementsByTagName("head")[0] instead of doc.body [2:15]<tlrobinson> err s/head/body/ [2:53]<cadorn> tlrobinson: You mentioned ^ you had Narwhal working with JSCocoa - I am interested in getting that working again [19:28]<Wes-> ondras: ping [19:39]<ondras> Wes-: yessir [19:40]<Wes-> ondras: when you use the remote debugger with v8cgi -- .... what program does it connect to? [19:41]<ondras> Wes-: actually, this v8 features starts a tcp server listening on a given port, speaking with v8 debugging protocol [19:42]<ondras> I believe that a d8 can be used as a client here, but I never tested... [19:42]<ondras> s/with // [19:42]<Wes-> ondras: right... I'm interesting in making gpsee speak this protocol, but am looking for a client first! [19:43]<ondras> let me look for a relevant thread [19:43]<ondras> Wes-: http://groups.google.com/group/v8-users/browse_thread/thread/25de833bcd3f1a77/b7140cdaa90f01a0?lnk=gst&q=protocol#b7140cdaa90f01a0 [19:44]<ondras> (the second message bears most information relevant to you) [19:45]<Wes-> ondras: Thanks! But, ah, where do I download d8? [19:46]<ondras> d8 is a part of v8 (a sample app) [19:46]<Wes-> *AH* [19:46]<Wes-> So I need to download v8, makes sense [19:47]<Wes-> OH... Hey, do you know of a ready-to-install package for win32? [19:47]<ondras> no [19:47]<ondras> I checkout and compile v8 for win32 [19:47]<ondras> afaik there are no official packages of v8 for any platform [19:48]<Wes-> Grr [19:48]<Wes-> means I need to get visual studio on here [19:49]<ondras> mingw works nice [19:49]<ondras> (but msvc as well) [19:50]<Wes-> True. d8 doesn't ship with chrome, does it? :) [19:50]<ondras> I believe it does not :) [19:51]<Wes-> Hey, how do you ship v8cgi? source-only? [19:52]<ondras> source and win32 package [19:53]<Wes-> Does win32 package have d8? :) [19:53]<ondras> no, just v8.dll [19:54]<Wes-> ah, well, it was worth a shot :) [19:54]<ondras> true :) [19:59]<ondras> wow, that canvas stuff is better than I thought :) [19:59]<ondras> http://tmp.zarovi.cz/fractal/ [20:14]<Wes-> ondras: I want to see canvas implementing something like the old fracint program from the 90s [20:14]<Wes-> *that* would be awesome [20:15]* ondras knows only xaos [20:16]<Wes-> fracint had this great trick where it would cycle the colour pallette [20:16]<ondras> ah [20:16]<Wes-> you could look at it straight and think you were taking halucinogens [20:17]<ondras> well, coloring is one of my weakest skills :) [20:17]<ondras> but I will work on it .) [20:17]<Wes-> I failed colouring in grade 1 [20:17]<Wes-> mom was *pissed* [20:17]<Wes-> (I was bored) [20:17]<ondras> :P