[00:02] blakemizerany has joined the channel [00:14] emyller has joined the channel [00:18] Biscuits: Does waveto ever idle here ? [00:19] mediacoder: Biscuits: not sure.. i messaged him on github and he was pretty responsive..usually the same day he replied [00:20] Biscuits: k [00:20] Biscuits: Got a patch to add Cipher support to OpenSSL :) [00:20] Biscuits: Oh, on a different note, never worked with git before, how do I extract a patch file :p? [00:21] orlandov: Biscuits: git apply my.patch [00:22] Biscuits: err, I mean create a patch file for me to send to him, not apply an already existing patch file [00:22] orlandov: git format-patch i believe [00:22] mediacoder: http://www.kernel.org/pub/software/scm/git/docs/git-format-patch.html [00:25] mediacoder: Biscuits: what cipher tho? i asked him to add aes and he said he would soon add more ciphers [00:25] Biscuits: All that OpenSSL supports [00:26] mediacoder: ah, kool [00:26] Biscuits: or at least [00:26] Biscuits: that the encrypt command takes [00:26] Biscuits: I think [00:26] Biscuits: Want a copy ? [00:26] mediacoder: naj..im going to bed now..but still would love to watch your repo (in case the stuff doesnt make it into waveto's) [00:27] mediacoder: so a link would be grreat :-) [00:27] Biscuits: Ehm [00:27] Biscuits: I don't have a repo :p [00:27] Biscuits: I just git clone'd his, added some stuff to crypto.cc [00:27] mediacoder: ah..thaught u were also on github and forged his [00:27] Biscuits: And now I'm trying to create a patch to send to him ;) [00:27] mediacoder: *forked [00:27] mediacoder: ah, i see :-) [00:28] fictorial: weird first thought when looking at 'fab': lisp ... then I realized it is due to all the parens [00:28] fictorial: :) [00:32] jed: fictorial: yeah... just imagine the nightmare if they nested too... [00:35] inimino: hehe [00:35] inimino: do it! [00:38] JimBastard: its the final countdown [00:38] JimBastard: dooo doo doo [00:38] JimBastard: dodododododo [00:39] rektide: to what ? [00:39] inimino: JimBastard: how goes the debugger? [00:42] binary42 has joined the channel [01:27] JimBastard: okay, ive been in contract negotation for most of the afternoon / night [01:27] JimBastard: going over user stories in google docs and what not [01:28] JimBastard: about to land this node.js project i hope [01:28] JimBastard: lots of phone calls ugh [01:28] JimBastard: (hence the singing before) [01:28] Biscuits: Hmm, does the latest Node version contain https support ? [01:30] jed has joined the channel [01:30] ryah_away: Biscuits: kind of - i think it's buggy [01:30] inimino: JimBastard: congrats [01:31] JimBastard: we'll see... [01:31] JimBastard: i might be boning myself a bit since i'll have to build a CMS [01:31] JimBastard: a basic one though [01:31] inimino: not so bad [01:31] JimBastard: but i have already written a CMS in JS before [01:32] JimBastard: so its not hopeless [01:32] JimBastard: well CMS + a shit ton of real-time data [01:32] JimBastard: in a complex ajax view [01:32] JimBastard: its a prototype though, im thinking node can handle it [01:33] Biscuits: ryah: How should it be used ? [01:33] inimino: sure! [01:39] Biscuits: Hmmm [01:40] Biscuits: Can't get HTTP library to open a connection at all :S [01:46] Biscuits: oh wait [01:46] Biscuits: got the arguments in the wrong order [01:49] quirkey has joined the channel [01:55] RayMorgan has joined the channel [01:57] hassox has joined the channel [02:20] mravaux has joined the channel [02:35] mravaux_ has joined the channel [02:36] mtotheikle has joined the channel [02:45] voodootikigod: !log [02:47] soveran has joined the channel [02:51] isaacs has joined the channel [02:54] dnolen has joined the channel [03:03] n8o has joined the channel [03:04] sr has joined the channel [03:10] jed has joined the channel [03:16] isaacs: fictorial_away: so, i'm reading this PromiseChain stuff, i think there's definitely a use-case for continuations there [03:16] isaacs: (sorry it took a while to get to) [03:16] isaacs: there are aspects of my npm queue class that I like better, and aspects of yours that are better, and a LOT of overlap [03:20] mtotheikle has left the channel [03:20] isaacs: it's basically like a continuation pattern [03:21] isaacs: still, i think it'd be nice to have something more like a promisegroup that does a bunch of things all in parallel(ish) and alerts when they're ALL done. [03:21] isaacs: and to have these things together in a single project. [03:21] inimino: isaacs: got a link to your code? [03:22] isaacs: inimino: i'm talking about http://gist.github.com/246060 which is fictorial_away's, and mine is http://github.com/isaacs/npm/blob/master/src/queue.js [03:22] isaacs: i'm a little out of sync with the current state of node. [03:22] isaacs: but not too much [03:22] inimino: ok [03:22] inimino: ACTION just upgraded yesterday [03:23] Micheil_away: inimino, isaacs: moin [03:23] isaacs: moin? [03:23] inimino: I thought process.fs was going away, but it still seems to be there [03:23] isaacs: it might be going away [03:23] isaacs: i think it's supposed to be require("posix") now [03:23] inimino: http://en.wikipedia.org/wiki/Moin [03:24] Micheil: this.items[insert](items[i]); > this.items.push = "hello"; [03:24] inimino: I should probably convert to the new stuff [03:24] Micheil: breaks the code. [03:24] RayMorgan has joined the channel [03:24] inimino: Micheil: what is that from? [03:25] isaacs: inimino: thanks [03:25] Micheil: you should probably do: Array.prototype[reverse ? "unshift" : "push"].call(this.items, insert)(items[i]); [03:25] Micheil: inimino: isaacs' code [03:25] Micheil: line 19 & 20 [03:25] isaacs: Micheil: this.items is an array. if you're going to overwrite the "push" method, you're going out of your way to break it. [03:25] isaacs: and i'm ok with that. [03:25] isaacs: it'll throw an error, and that's fine, imo [03:26] Micheil: isaacs: well, it's not only that, but you should also be chacking for Object.hasOwnProperty [03:26] Micheil: being that you're using a for in loop [03:26] Micheil: hmm.. Is it possible to load up node with out node? [03:27] isaacs: again, if you're going to break Arrays, then your code is not interoperable, and my code will not interoperate with it. [03:27] Micheil: eg, direct access to the javascript engine, v8 [03:27] Micheil: isaacs: prototype.js? [03:27] isaacs: Micheil: sure, just build v8 and run it [03:27] Micheil: isaacs: can I use v8 from within node? [03:27] isaacs: Micheil: that's why i don't use prototype.js in my nodejs code [03:27] isaacs: Micheil: you can use v8 from within v8 ;) [03:27] inimino: items is not this.items there [03:27] inimino: looks ok to me [03:27] Micheil: isaacs: gotta think of how others will use your code [03:28] isaacs: Micheil: i do. and i think "if you're going to break Arrays, then you're on your own, and have fun with that." [03:28] isaacs: this queue.js is an internal bit of a standalone program that isn't designed to be included as a library [03:28] rakeshpai_ has joined the channel [03:28] Micheil: okay [03:28] inimino: is 'items' there an array? [03:28] isaacs: if you want to use it in a different context, well, the source is open. go nuts. [03:29] isaacs: inimino: actually, it coudl be, or it could be an object. [03:29] isaacs: it's intentionally flexible. [03:29] Micheil: isaacs: I'm just thinking that if you're doing queue'ing then you might want to fork off another node process, and do the work in that [03:29] inimino: ok [03:30] isaacs: Micheil: i'm not sure that it'd be much added value. the promise'd stuff is going to happen on the process queue anyhow [03:30] isaacs: process pool, i mean [03:30] isaacs: non-blockingly [03:31] Micheil: also, is there a nginx module for Node.js yet/ [03:31] isaacs: starting another parallel node process would just mean there are 2 v8s running, and that feels wasteful to me. [03:31] Micheil: ? [03:31] isaacs: ACTION .oO( Micheil is full of questions tonite! ) [03:31] Micheil: isaacs: also, I like your article on twilight ;D [03:32] Micheil: isaacs: yus, I am full of questions, primarily because I'm thinking of using Node over something like Ruby on Rails or Django [03:32] isaacs: Micheil: (re nginx) i don't think so, but you could pretty easily set up nginx as a proxy to the nodejs http server (re twilight) that was theoatmeal's genius, not mine. [03:32] isaacs: Micheil: my $0.02: node is great, but it's nowhere near as mature or populous as rails or django [03:33] Micheil: isaacs: currently I have nginx running on :8080, and Varnish running on :80 [03:33] isaacs: if you want a community of thousands who have created tons of real-world production sites already, node will not get you there right now. [03:33] isaacs: but it's headed there [03:33] Micheil: isaacs: exactly why I want to use Node ;P [03:33] isaacs: hehe [03:33] inimino: yet [03:33] inimino: quite possibly [03:34] isaacs: Micheil: if you're comfortable with a slightly less stable (for now) API that will occasionally change underneath you, and you're maybe willing to help make the sand less shifty by bearing some of that pain, in return for something really awesome that will pay dividends in the long run, imo, nodejs is exactly that. [03:35] isaacs: if you need your site live tomorrow serving production traffic, and you want to hire developers who can know it inside and out right now, node is less of a good fit for now. [04:07] Micheil: isaacs: put it this way, I'm wishing to create a full stack MVC framework on top of Node, that's part of the reason I'm working on the Session management now [04:08] isaacs: nice [04:08] isaacs: looking forward to it :) [04:08] Micheil: isaacs: sure thing [04:08] Micheil: I'm still on unstable ground as to how I should be hooking this all together [04:11] Micheil: when I do: sys.inherits(Module, process.EventEmitter); does that give Module an _events property?> [04:12] RayMorgan: isaacs: are you still working on npm? [04:13] isaacs: RayMorgan: yeah, i'm leaning towards just implementing the commonjs package pattern, but it's still a bit of a moving target, afaict [04:13] inimino: Micheil: I don't know offhand, your best bet would be to read the source [04:13] Micheil: inimino: I am [04:13] RayMorgan: isaacs: yeah, it is hard to keep up with what is going on with that [04:13] inimino: I actually don't like the fact that there's utility stuff like that in the top-level node API object [04:14] Micheil: I don't quite see why process.EventEmitter uses a .cc binding [04:14] isaacs: also, i've been busy with the dayjob, holidays, etc. [04:15] RayMorgan: yeah, same here... [04:15] isaacs: i'm comfortable with npm not being exactly like tusk, of course. [04:15] RayMorgan: finally getting back to working on some node stuff [04:15] isaacs: but approaching the commonjs spec would be nice [04:15] RayMorgan: yeah [04:16] isaacs: at least, it'd be good to be able to npm install anything that's tusk-installable [04:18] isaacs: competition is good, but competition+collaboration is better. [04:18] RayMorgan: I am still trying to figure out where the commonjs/node.js line should be drawn... [04:19] RayMorgan: (for my personal projects) [04:19] isaacs: you mean, when to use which? [04:20] RayMorgan: well like Gateway.. it is very similar to Jack/JSGI... but different [04:21] RayMorgan: not sure if I should work on it or try to bend (if possible) node.js into JSGI instead [04:21] inimino: people are talking about asynchronous JSGI [04:22] inimino: so if it's going to bend this seems like a good time [04:23] sudoer has joined the channel [04:24] RayMorgan: Is that just the response? One of the huge issues I ran into is that the input stream for Node.js is async as well, and should be streamed. [04:24] inimino: I don't know if it's both [04:24] inimino: I just saw something go by about it on the mailing list [04:24] fictorial has joined the channel [04:25] RayMorgan: ah [04:25] inimino: didn't pay too much attention [04:26] RayMorgan: I will have to poke around the mailing list. [04:27] cloudhead has joined the channel [04:30] malkomalko has joined the channel [04:37] jed has joined the channel [04:38] quirkey has joined the channel [04:42] malkomalko: *yawn* [04:54] ryah: http://github.com/ripter/node.runner/ <-- rad [04:54] jed: ryah: wow, that's awesome. [04:59] rektide: templates blarg [04:59] jed: ryah: though i get this: SyntaxError: Unexpected token ) [05:00] jed: ryah: and when i fix it, this: TypeError: Bad arguments [05:04] Micheil: ryah: that does look rad [05:04] Micheil: ryah: It'd be even better though if it was built into node ;P [05:05] Micheil: although, a project isn't necessarily one file. [05:06] rektide: gracious no, its two [05:06] rektide: or more! [05:07] ryah: jed: crap. i didn't try it [05:07] Micheil: so you really need it to watch a directory [05:08] Micheil: ryah: is there any specific reason why the executor for EventEmitter is in a c binding? [05:09] ryah: Micheil: so i can execute events from c [05:09] Micheil: ryah: but does it add any really big performance boosts? [05:10] Micheil: ACTION is trying to rewrite some of the Session code to use events and stuff like that [05:10] ryah: um. yeah. there was a reason. let me think... [05:10] ryah: you mean instead of calling out to prototype.emit() [05:10] ryah: it used to do that [05:11] inimino: ryah: I sent you an email about that header thing btw [05:12] ryah: Micheil: http://github.com/ry/node/commit/842eaf446d2fdcb33b296c67c911c32a0dabc747 [05:12] ryah: i guess it was speed [05:13] ryah: inimino: okay yeah i got it starred. look at it soon [05:13] inimino: k [05:14] PowerToExt has joined the channel [05:15] ryah: inimino: oh okay. that is a problem! [05:15] inimino: yeah [05:16] kriskowal has joined the channel [05:16] inimino: I'd have liked to submit a patch but you'll probably fix it before then :-) [05:17] ryah: we definitely need a test for this [05:17] ryah: kind of hard since the http client doesn't do keep-alive [05:17] ryah: wei'll have to use a raw tcp connection [05:19] inimino: are the tests all written in JavaScript? [05:19] ryah: inimino: yeah [05:19] ryah: inimino: can you modify test-http-server.js to test for this? [05:19] inimino: using node as client and server? [05:19] inimino: ok, sure [05:20] aguynamedben has joined the channel [05:21] sudoer has joined the channel [05:32] tlrobinson_ has joined the channel [05:35] RayMorgan: ryah: do you know of any decent documentation on how to use the debugger with V8? And is the agent currently working with Node or does it still need some work? [05:38] inimino: ryah: got a failing test, shall I send you a patch? [05:39] ryah: inimino: want to see if you can fix the bug too? it's in lib/http.js in the headerField event [05:39] ryah: RayMorgan: no. the agent is working. use --debug [05:39] inimino: ryah: alright, I'll take a look [05:40] ryah: inimino: approximately there [05:41] RayMorgan: yeah I saw that I was able to do that.. just wondering if it was fully implemented. Trying to figure out how to connect to it and actually send commands and receive back data. [05:41] inimino: k [05:43] malkomalko: anybody here work with addons yet? I'm working on a mongodb one with their newly released c drivers.. but before that I'm trying to work through the basic hello world from the api doc [05:43] malkomalko: what do you know with the .node file? [05:49] ryah: RayMorgan: check out the debugger branch on github - it's far from complete though [05:50] RayMorgan: ryah: ah, very cool [05:54] tlockney: malkomalko: any particular reason for using the mongodb C drivers? I was planning to try writing one directly in JS. [05:55] malkomalko: well, what route were you going to try via js? [05:56] inimino: ryah: seems to be fixed [05:57] malkomalko: man, how cool is virtualnes.com [05:59] tlockney: malkomalko: note sure what you mean, but my plan was to start with the simplest thing that works (i.e., all JS) and then optimize as necessary [06:00] tlockney: malkomalko: the hardest part, I think, will be serializing/deserializing to BSON [06:01] malkomalko: I mean, with the new mongo c driver, they've wrapped up the bson stuff nicely [06:03] tlockney: malkomalko: I haven't looked at it, but I imagine you'd still have "fun" crossing the c<->JS boundary with obj conversions [06:03] tlockney: malkomalko: got a link to the code? [06:03] malkomalko: http://github.com/mongodb/mongo-c-driver [06:04] crux has joined the channel [06:04] tlockney: malkomalko: nice, that does look like a simple API to work with, at least [06:05] malkomalko: yah, I'm thinking about somehow wrapping that around libev somehow to adhere to the node event loop [06:05] malkomalko: then just write some wrappers in v8 [06:06] malkomalko: my c skills are rusty, but I think that's the basic idea [06:06] inimino: ryah: got a patch for the test and the fix, I'll mail them to you [06:06] tlockney: yeah, seems like it might be worth the effort to go that route. I had only looked at the C++ driver previously and got turned off by it [06:09] malkomalko: yah that sucked [06:09] malkomalko: this c driver is very nice though, very bare bones and gives you the proper tools, and it's not on their website or anything yet [06:10] tlockney: malkomalko: yeah, that's why I was a bit surprised at first -- took me a minute to realize you didn't actually mean the C++ driver ;) [06:11] malkomalko: anyway, I have no idea what I'm suppose to do with the compiled .node file heh [06:13] tlockney: malkomalko: this might help http://nodejs.org/api.html#_modules [06:13] richtaur has joined the channel [06:15] inimino: sent :) [06:16] malkomalko: ahh, good call tlockney [06:16] inimino: ACTION is off [06:16] malkomalko: my eyes glanced over that [06:16] kriskowal has joined the channel [06:35] jed has joined the channel [06:52] sixtus42 has joined the channel [06:59] isaacs_ has joined the channel [07:02] rakeshpai has joined the channel [07:12] isaacs_ has joined the channel [07:15] Micheil: it'd be good if there was more then just a man page [07:22] tlockney: ryah: any good pointers for v8 dev docs other than just reading the source? the stuff on the project site looks kinda weak [07:22] tlockney: malkomalko went and got me interested... damn him! [07:30] curious_ has joined the channel [07:43] Micheil: tlockney: I think we should start writing up fuller documentation on the github wikipages or something [07:48] tlockney: Micheil: yeah, that would be great. In this case, I'm looking outside of node.js, though. but docs on integrating native modules would be good anyway [07:57] rtomayko has joined the channel [08:03] rektide: almost done writing .net code [08:03] rektide: sooo close to being able to write node.js code [08:17] kriskowal has joined the channel [08:28] the_undefined has joined the channel [08:51] johan-s has joined the channel [08:56] Micheil: okay, so I've progressed on the Session module [08:59] Micheil: inimino: are you about? [09:05] harryv has left the channel [10:08] sixtus42 has joined the channel [10:11] malkomalko has joined the channel [10:25] olivvv has joined the channel [10:27] hassox has joined the channel [10:40] pdelgallego has joined the channel [11:01] emyller has joined the channel [11:30] cmlenz has joined the channel [11:50] webben has joined the channel [12:41] soveran has joined the channel [13:08] shfx has joined the channel [13:39] NeX|work has joined the channel [14:11] dnolen has joined the channel [14:12] Connorhd_ has joined the channel [14:17] mdg has joined the channel [14:23] malkomalko: morning everyone [14:28] mdg: hi [14:39] PowerToExt has joined the channel [14:43] NeX|work has left the channel [14:58] sprsquish has joined the channel [15:03] kendes has joined the channel [15:17] quirkey has joined the channel [15:22] malkomalko: I wonder how crazy creating a filesystem type of database would be [15:24] cmlenz: or you could just use the filesystem ;) [15:24] mediacoder: we have something like this as nginx module (custom) for one projekt ..kinda fsdb ..rocks :-) [15:24] malkomalko: I mean yah, that's what I meant [15:25] malkomalko: just using the filesystem to store data and pull it back for the i/o node commands [15:25] malkomalko: do finds using egrep [15:25] malkomalko: heh [15:26] quirkey has joined the channel [15:28] malkomalko: going to experiment with that today I think [15:34] sprsquish has joined the channel [15:36] aguynamedben has joined the channel [15:41] n8o has joined the channel [15:42] nefariousD has joined the channel [15:45] quirkey has joined the channel [16:07] bjartek has joined the channel [16:07] sprsquish has joined the channel [16:12] fictorial: mjsunit is teh suck [16:13] binary42 has joined the channel [16:14] dnolen has joined the channel [16:15] binary42 has joined the channel [16:18] malkomalko has joined the channel [16:25] kendes has joined the channel [16:27] kendes has joined the channel [16:29] kendes has joined the channel [16:46] rektide has joined the channel [16:47] sudoer has joined the channel [16:56] saikko has joined the channel [17:00] postfuturist has joined the channel [17:04] RayMorgan has joined the channel [17:07] path[l] has joined the channel [17:10] fictorial: what are you guys using for deep object equality testing? [17:10] cmlenz: I'm getting a number of timeout errors on `make test` here on snow leopard [17:12] cmlenz: fictorial: http://github.com/felixge/node/blob/commonjs-testing/lib/assert.js#L132 ? [17:12] cmlenz: for some definition of "you guys" ;) [17:12] fictorial: s/are you guys/do *you*/ :) [17:14] fictorial: cmlenz: thanks [17:14] cmlenz: haven't used that myself, just saw it mentioned on the mailing list [17:16] shfx has joined the channel [17:36] erikg: malkomalko: contrary to popular belief, the filesystem *is* a database [17:36] malkomalko: I know erikg [17:37] malkomalko: :) [17:37] erikg: malkomalko: i know you know :P [17:37] malkomalko: I know [17:37] malkomalko: OO [17:38] erikg: i'm surprised how little press the filesystem seems to get in the nosql movement [17:38] aguynamedben has joined the channel [17:38] erikg: files are boring, ubiquitous, universally supported [17:38] Biscuits has joined the channel [17:39] malkomalko: I'm getting some pretty fun results with what I'm hacking on right now [17:39] erikg: what are you doing exactly? [17:40] malkomalko: well [17:40] malkomalko: I'm using async file read/write to create some nice wrappers/methods to allow you to use it to store/retrieve json data to be used as a "db" [17:40] malkomalko: going to wrap some find/limit/sort methods on it [17:41] malkomalko: then eventually use some type of encode/decoding to make the files smaller [17:41] erikg: write i get, but what's the process for doing a lookup? [17:42] malkomalko: working on that right now, but you'll be surprised how quickly you can return data using some regex :) [17:42] erikg: on what level are the files? whole-db level or 'database'-level or 'table'-level? [17:43] malkomalko: I've only been jotting down ideas for the last 4 hours since I had it, but I'm thinking about making each "collection" a file [17:43] erikg: malkomalko: have you tested with files larger than your available system cache? [17:44] malkomalko: I'm going to push the envelope with that erikg [17:44] malkomalko: I have some ideas for splitting into multiple files [17:44] erikg: if they are smaller and you have to read them all they will be cached on every default configuration of linux i have ever encountered [17:44] erikg: so the primary access will be slow but subsequent ones will be quite fast [17:44] malkomalko: yah [17:45] malkomalko: basically, I want to get the basic finds/crud stuff working.. counts/sorts/limits all that jazz [17:45] malkomalko: then I'm going to work on a way to smart "split" files and do benchmarks to figure out what's the best course of action [17:45] malkomalko: I woke up with the idea in my head, so I want to see what's going to be possible with this [17:46] malkomalko: you can do fast as shit read/writes to your filesystem :) [17:47] erikg: yup [17:47] erikg: the phrase i was looking for was 'page cache' [17:47] malkomalko: you have any links on that? [17:47] erikg: http://www.westnet.com/~gsmith/content/linux-pdflush.htm [17:47] malkomalko: thanks [17:48] erikg: google 'linux page cache' [17:53] malkomalko: awesome [17:53] malkomalko: that'll be a good read when I get up to the tuning stage [17:59] olivvv_ has joined the channel [18:01] malkomalko: it's fun adding a million lines to a file [18:07] bentomas has joined the channel [18:08] the_undefined has joined the channel [18:10] the_undefined: fictorial: you can use the assert.js module that karl ported [18:11] the_undefined: fictorial: http://github.com/felixge/node/blob/commonjs-testing-clean/lib/assert.js [18:11] sprsquish has joined the channel [18:11] the_undefined: fictorial: ry will probably merge it into core, but I haven't heard from him yet [18:18] isaacs has joined the channel [18:19] isaacs: ryah: who's saying that nodejs is faster than nginx? not really an apples-to-apples comparison anyhow [18:19] inimino: Micheil: ping [18:20] orlandov: how could that even be possible? [18:25] fictorial: the_undefined: yeah, perfect. thanks. [18:30] path[l] has joined the channel [18:37] malkomalko: anybody know how to append to a file using posix off the top of your head? [18:37] the_undefined: !src [18:38] erikg: malkomalko: find out which flags the 'a+' shorthand refers to [18:38] the_undefined: malkomalko: http://github.com/felixge/nodelog/blob/master/log.js [18:38] the_undefined: check the writeLog function [18:38] the_undefined: malkomalko: erikg is right so [18:39] malkomalko: thanks for the quick response [18:39] erikg: oh, i thought he wanted the flags for the posix syscalls [18:39] malkomalko: I did :) [18:40] erikg: $ strace python -c 'open("aaa", "a+")' 2>&1 | grep 'open("aaa"' [18:40] erikg: open("aaa", O_RDWR|O_CREAT|O_APPEND|O_LARGEFILE, 0666) = 3 [18:40] erikg: from http://coding.derkeiler.com/Archive/Python/comp.lang.python/2008-06/msg02683.html [18:40] malkomalko: O_APPEND [18:40] malkomalko: there we go [18:41] erikg: has anyone had any experience with the native js postgres module? [18:41] malkomalko: I just greped the source too [18:41] malkomalko: thanks erik [18:41] erikg: malkomalko: np [18:41] cmlenz has joined the channel [18:48] jarib has joined the channel [18:50] jarib has joined the channel [18:52] malkomalko: let's see what happens when I try to add 10 millions lines [19:02] voodootikigod_ has joined the channel [19:04] dnolen has joined the channel [19:05] orlandov: hrm, anyone know offhand if there's a v8 api reference? i'm getting no love from google [19:07] inimino: orlandov: I think the docs are quite lacking, probably check out the source [19:08] orlandov: this is kind of what i want but it's in japanese X_X http://yasuhito.info/v8/ [19:09] tlockney: orlandov: I was looking for that myself last night. mostly reading include/v8.h seems to be the best I found [19:09] orlandov: sad trombone [19:10] isaacs: orlandov: you can build that using scons, i forget the command exactly [19:10] orlandov: alrighty [19:10] orlandov: oh really? [19:10] isaacs: yeah, i have a copy of this lying around on my machine somewhere, but in english. looks like he just translated the strings. [19:10] tlockney: isaacs: if you can figure out the scons incantation for that, I would be eternally grateful ;) [19:10] isaacs: eternally, eh? [19:10] brandon_beacher has joined the channel [19:10] isaacs: ACTION playing with scons... [19:11] jarib has joined the channel [19:13] RayMorgan_ has joined the channel [19:16] isaacs: ACTION can't seem to find it (it was a year ago at least that I last saw it) [19:17] RayMorgan__ has joined the channel [19:21] isaacs: hmm.... it is doxygen, not scons, where the magic lives. [19:21] richtaur has joined the channel [19:22] malkomalko_ has joined the channel [19:24] the_undefined_ has joined the channel [19:25] orlandov: isaacs tlockney inimino: http://www.mail-archive.com/v8-dev@googlegroups.com/msg04738.html [19:25] isaacs: yep, just found that :) [19:25] isaacs: http://v8-users.googlegroups.com/web/Doxyfile?gda=LVhBcjoAAADjrZAE-9R2rMGPaN-Pr3trc4eJPwcNe3RJQO3_Fpk23vxomvRFNBi6i_fp1nzw-Xv97daDQaep90o7AOpSKHW0 is key [19:26] orlandov: ya just grabbed it :) [19:26] voodootikigod_ has joined the channel [19:26] inimino: ah [19:27] isaacs: fetch that file into "Doxygen" at the root of your v8 code, then run "doxygen", then open doxygen/index.html [19:27] malkomalko_: nice! [19:30] isaacs: http://gist.github.com/247469 [19:30] orlandov: it complained that i had to do a `doxygen -u` but after that it just worked [19:31] isaacs: i see [19:31] isaacs: yeah, it works even if you don't do that. but doing that makes it not complain [19:31] orlandov: ahh [19:31] isaacs: ACTION is not a doxygen expert by any means [19:32] cruxst has joined the channel [19:41] sprsquish has joined the channel [19:47] n8o_ has joined the channel [19:48] rektide: http.createServer: "The options argument is optional. The options argument accepts the same values as the options argument for tcp.Server does." [19:49] rektide: tcp docs however dont have any options described [19:55] rakeshpai has joined the channel [19:57] dnolen has joined the channel [20:13] kriskowal has joined the channel [20:19] the_undefined_: isaacs: saw you forked nodelog, what are you gonna add? :) [20:19] isaacs: the_undefined_: probably nothing, i just prefer to have the flexibility [20:19] the_undefined_: isaacs: : ) [20:20] the_undefined_: isaacs: ok, well if you do I'll happily merge. Don't have much time to work on it right now, but I'd like to fix utf8 glitches at some point [20:20] the_undefined_: :) [20:20] isaacs: the_undefined_: can't promise anything, but gtk [20:20] isaacs: i'm using this crazy python thing to log a few channels now, and i'ts a royal pita [20:20] the_undefined_: hehe [20:20] the_undefined_: yeah [20:21] isaacs: it's one of those things that's really easy to start using, but then doesn't *quite* work ever. [20:21] the_undefined_: nodelog is pretty stupid & simple [20:21] isaacs: the_undefined_: i like my code like i like my cops: stupid, small, and out of sight. [20:23] bentomas: I like code like I like my significant others: stupid, small and out of sight [20:23] JimBastard: lol [20:23] the_undefined_: bentomas: ouch [20:23] the_undefined_: I hope she's pretty, otherwise you're fucked [20:23] the_undefined_: :) [20:23] isaacs: hahaha [20:23] isaacs: i like my code pretty, too [20:23] bentomas: haha [20:24] the_undefined_: well, this is why nerds like us don't deserve the girls we get :) [20:26] isaacs: I like my code like I like my women: clever, introspective, and covered in curly braces. [20:27] isaacs: ACTION forgot "functional" [20:29] mdg: and clean [20:29] isaacs: and portable! (erm.... metaphor breaking down a little?) [20:30] bentomas: yeah, it was only with "portable" that it broke down [20:30] bentomas: :) [20:30] isaacs: and... flexible? omg, no wonder there are so few women in software, we're insufferable... [20:30] mdg: lol [20:32] nefariousD: hrm.. im scracthing my head figuring out where to go after the 'hello world' demo with node [20:33] n8o has joined the channel [20:36] isaacs: for anyone who cares and is too lazy to generate them themselves: http://izs.me/v8-docs/ [20:37] nefariousD: ooh! I was actually just wishing I had something like that handy.. thanks! [20:37] pjb3 has joined the channel [20:38] orlandov: isaacs: you the man [20:39] frodenius: isaacs: you keep them up to date? [20:39] isaacs: frodenius: i just built them a few minutes ago [20:39] frodenius: yeah i mean, will you? [20:39] isaacs: so, i guess, so far, YES! [20:39] isaacs: hehe [20:39] frodenius: hehe [20:39] isaacs: as up to date as i keep node, i guess [20:40] frodenius: k nice [20:41] nefariousD: hrm.. so im guessing (from my noobish perspective), that in order to communicate with a MySQL server from within a node process, I'd either need to have in hand a pre-built mysql api/lib, or do it through a sys.exec call? [20:42] isaacs: i suppose i could set up a cron or something to make that happen automagically [20:49] the_undefined_: isaacs: ondras did that as well ( http://bespin.cz/~ondras/html/ ), but yours is better [20:50] the_undefined_: bentomas: replied to you on github, wrote as least as much as you :D [20:50] inimino: nefariousD: you probably don't want to use system() for every query [20:50] malkomalko_: thanks isaacs [20:51] the_undefined_: nefariousD: I communicate to a long-running PHP process via stdio [20:51] the_undefined_: nefariousD: let me paste you my glorious hack [20:51] nefariousD: ahhh thats a good idea [20:52] rtomayko has joined the channel [20:53] the_undefined_: nefariousD: http://gist.github.com/247564 [20:53] the_undefined_: I can't say its pretty, but I'm pleased with the performance and you can use as many php "workers" as you like which should get your pretty good concurrency (better than using PHP itself) [20:54] nefariousD: thanks!! [20:54] nefariousD: no worries about it being pretty, I can clean it up [20:54] the_undefined_: (ignore the $retry in php's connect, I didn't implement that) [20:54] nefariousD: i'm kinda ocd about my code formatting, so I usually end up adjusting code whenever I touch it, anyway [20:55] the_undefined_: I kind of want to make a more general-purpose project out of this [20:55] the_undefined_: node-bridge [20:55] the_undefined_: that lets you use any language from within node [20:55] the_undefined_: communicating via stdio [20:55] the_undefined_: nefariousD: no problem, I"m the same [20:55] nefariousD: any db you mean, or just any scripting language? [20:55] the_undefined_: any scripting language [20:56] nefariousD: oooh [20:56] nefariousD: python would be cool [20:56] the_undefined_: yeah, I mean anything that talks stdio could be hooked in [20:57] nefariousD: dont get me wrong, i've been a php head for years (for work and for fun), but ive just recently started getting into python, and im really digging it [20:57] the_undefined_: nefariousD: same here [20:57] the_undefined_: but its ruby for me [20:57] nefariousD: *nod* [20:57] the_undefined_: didn't look at it for years to seriously until I ended up being the smartest guy in my community and given that I'm no genius thats a very sad thing [20:57] the_undefined_: :D [20:58] the_undefined_: * too [20:58] Wes-: you should try running that python-to-js compiler in a node environment [20:58] nefariousD: heh [20:58] Wes-: might be entertainig [20:58] nefariousD: thanks again for the code, this'll give me something to spend some time on :D [20:58] the_undefined_: I am a former core-contributor to cakephp [20:58] the_undefined_: np [20:58] the_undefined_: I'm using it in production, so it "should" work for what its worth [20:59] olivvv__ has joined the channel [20:59] cmlenz has joined the channel [21:00] nefariousD: the only OS project i've ever been involved with was Lucid Desktop (formally psych desktop), but that wa smostly for JS/Dojo stuff [21:00] nefariousD: ran a php/jquery based web game for a while, but ended up selling it [21:00] the_undefined_: cool [21:00] n8o has joined the channel [21:00] the_undefined_: cool [21:00] the_undefined_: made some money with it? [21:01] the_undefined_: or just change? [21:01] nefariousD: 5k [21:01] nefariousD: which was actually kind of a steal for the buyer [21:01] the_undefined_: not bad, for a fun project :) [21:01] Bbrriiaann has joined the channel [21:01] nefariousD: indeed, i was pleased as punch [21:01] the_undefined_: but it fillthy rich would rock harder [21:01] the_undefined_: I really love contributing to node.js [21:02] the_undefined_: You submit patches to the mailing list and people discuss them [21:02] mediacoder: "i ahd this project and sold it" makes it sound kooler tho :-P [21:02] the_undefined_: or ryan merges them right away if he likes them [21:02] the_undefined_: but it really feels like a collaborative effort [21:02] nefariousD: i'd love to be able to contribute, but first I have to figure out my ass from a hole in the wall with regards to the code, first :P [21:02] the_undefined_: at this point there are already 25 contributors [21:03] the_undefined_: most of them have just done 1 commit, but that's how open source should be - anybody who finds an issue he'd like to get resolved submits a patch [21:03] the_undefined_: nefariousD: the core is pretty simple as far as the JavaScript modules are concered [21:03] nefariousD: yea, def. [21:03] the_undefined_: the C++ isn't all that difficult either [21:04] the_undefined_: ryan really keeps stuff simple and doesn't loose him self in what he calls "leaky" abstraction [21:04] the_undefined_: * abstractions [21:04] mediacoder: i hope ry is ok..there hasnt been a push for like 2 days :-) [21:04] the_undefined_: mediacoder: he is on vacation, he shouldn't hang out in the mailing list right now anyway [21:04] the_undefined_: :) [21:04] the_undefined_: mediacoder: he'll be back on dec 4 I think [21:04] mediacoder: hehe, yea.just kidding [21:04] the_undefined_: :D [21:04] the_undefined_: yeah, usually he does stuff every day [21:04] nefariousD: actually- related question.. when a new release comes out, do i need to recompile the entire package (including v8), or is there a way to ONLY add in the new bits? [21:04] the_undefined_: I really really really want him to find a company that recognizes the value of node [21:05] the_undefined_: and lets him develop on it [21:05] mediacoder: YES!..im sure he will [21:05] nefariousD: for some reason, on my VPS, i get a thread error when running configure, so i actually have to config from a local (similarly built) box and copy the results befor ei can make [21:05] the_undefined_: nefariousD: if v8 has been upgraded you need to do a full make distclean & recompile, otherwise just "make && sudo make install" [21:05] nefariousD: gotcha, thanks [21:05] the_undefined_: but you can usually even get away with linking to an old v8 version, ryan doesn't seem to use any of their internal api's [21:05] the_undefined_: and the public stuff has been solid [21:06] nefariousD: suweet [21:06] the_undefined_: the only time I ran into issues was when ryan added stack traces which they introduced and they didn't work for me as I linked against an old v8 build [21:06] the_undefined_: nefariousD: that's very weird [21:07] the_undefined_: if you could post an error report to the mailing list with the exact environment you use that would rock [21:07] nefariousD: indeed. [21:07] the_undefined_: that's the only way those build issues can get fixed [21:07] nefariousD: alrighty.. I can do that tonight [21:07] the_undefined_: otherwise I recommend running ubuntu : ) [21:07] nefariousD: though honestly, I think the answer may lie in the fact that it *is* being performed on a vps, where threading may well be limited by the host [21:07] the_undefined_: good linux distro [21:07] the_undefined_: :) [21:07] nefariousD: thats what im running :D [21:08] nefariousD: locally and on my vps [21:08] the_undefined_: I doubt that configure depends on threading a VPS would limit [21:08] the_undefined_: but I don't know shit, so maybe [21:08] the_undefined_: :) [21:08] the_undefined_: hm, that's weird then [21:08] nefariousD: yea, its a bit beyond me, as well [21:08] nefariousD: i gleaned a tiny bit of (possibly unrelated) info during an extensive google-splosion [21:09] the_undefined_: post the error, smarter people have better ideas :) [21:09] nefariousD: hehe, yea [21:09] nefariousD: i wouldnt be surprised at all if it is my host, though.. they are on the 'budget' end.. called Fivebean, i believe [21:09] the_undefined_: nefariousD: btw. what do you plan to use node for? [21:09] nefariousD: I used to use Linode, which was way better [21:09] the_undefined_: use Rackspace, $10.95 / month [21:10] the_undefined_: we host debuggable.com on a $20 / month instance from them [21:10] the_undefined_: and it's insanely fast [21:10] the_undefined_: and good [21:10] nefariousD: Uhmm- I don't have anything specific in mind yet, but i've been quite interested in push or comet related technologies for some time.. I suppose my main interest is for web based apps, and more so, browser based games [21:12] the_undefined_: nefariousD: browser based games are a really good use case for node [21:12] the_undefined_: Ryan said we should implement node-zelda [21:12] the_undefined_: multiplayer [21:12] the_undefined_: that would rock [21:12] mediacoder: hehe [21:12] nefariousD: yea! ive actually been plotting out the groundwork for something like that the past few days [21:12] nefariousD: the implications for web gaming were the first thing that sprang to mind when I found node, actually [21:13] the_undefined_: yeah [21:13] Bbrriiaann has left the channel [21:13] the_undefined_: We should build node-WoW [21:13] malkomalko_: lol [21:13] orlandov: ACTION shudders [21:13] the_undefined_: and get filthy rich like blizzard [21:13] the_undefined_: :D [21:13] mediacoder: :-D [21:13] the_undefined_: those guys know how to make addictive games [21:14] the_undefined_: I still play warcraft III funmaps with my business partner during lunch break [21:14] the_undefined_: :D [21:14] nefariousD: i used to be a dota addict [21:14] nefariousD: now its league of legends :P [21:14] the_undefined_: (thats a 2002 game) [21:14] the_undefined_: we play footmen frenzy 6.5r [21:14] the_undefined_: * 6.5e [21:14] the_undefined_: :) [21:15] the_undefined_: (I keep collecting evidence that this is a stealth channel of #procrastination ) [21:15] rakeshpai has joined the channel [21:16] the_undefined_: ok, time for movie (with my significant other, little endian I call her) [21:16] the_undefined_: :D [21:16] nefariousD: hahaha [21:16] nefariousD: see ya [21:18] blakemizerany has joined the channel [21:19] RayMorgan has joined the channel [21:21] cmlenz: is anyone in here able to run `make test` on OS X without getting a half dozen of timeout errors? [21:22] the_undefined_: cmlenz: yes, for me only ssl tests fail [21:22] cmlenz: hm [21:23] cmlenz: weird [21:24] cmlenz: snow leopard? [21:30] JimBastard has joined the channel [21:31] malkomalko_: this seems like a simple question but having a hard time: with various methods, how to you access the data from the callback outside of the callback? [21:32] JimBastard: are any JSON stringify methods available to node.js [21:33] JimBastard: ohh JSON.stringify() duhh [21:33] JimBastard: >.< [21:33] voodootikigod_: no [21:33] orlandov: malkomalko_: could you store the data in the scope that surrounds your callback? [21:33] voodootikigod_: there aren't any [21:35] cmlenz: "stringify" is such a stupid name :P [21:35] cmlenz: I cringe every time I need to write that [21:35] rakeshpai has joined the channel [21:35] JimBastard: toJSON() sounds better [21:36] JimBastard: but still [21:36] isaacs: JSON.toJSON(myObj)? [21:36] voodootikigod_: JSON.toJSON(a) [21:36] malkomalko_: hmmm [21:36] voodootikigod_: JSON.encode(x) [21:36] isaacs: myObj.toJSON() would be best [21:36] voodootikigod_: JSON.decode(x) [21:36] orlandov: i like that [21:36] isaacs: should be a method on object.prototype [21:36] isaacs: and, in fact, if an object HAS a toJSON method, I believe JSON.stringify() will use it [21:36] inimino: stringify is fine [21:37] inimino: it's clear and unambiguous, what's not to like? [21:37] orlandov: what's the reverese of stringify? unstringify? ugh [21:37] inimino: parse [21:37] isaacs: orlandov: parse [21:37] binary42: decode/encode would have been better but it's too late now. [21:37] orlandov: it's a bit of painting the bikeshed but yeah [21:37] inimino: (what's the reverse of parse? unparse?) [21:38] cmlenz: yeah it's too late, shouldn't have started this, sorry :P [21:38] orlandov: point taken ;) [21:39] inimino: binary42: but encoding already has a clear meaning which has nothing to do with JSON [21:39] binary42: dump/load then? [21:39] binary42: inimino: How so though? [21:39] binary42: I don't think it's a method on any prototype. [21:39] inimino: anyway, let's not bikeshed the past [21:40] inimino: dump is more elegant than stringify? [21:40] binary42: Yes. [21:40] binary42: It's a real word for starters. [21:40] inimino: meh [21:41] binary42: Second of all, it's a common verb used in other marshalers. [21:41] binary42: I can go on but stringify sounds like someone had too much rails for breakfast. [21:41] Micheil: the json module would probably be from json.org [21:41] inimino: so is stringify [21:41] JimBastard: sup inimino [21:42] Micheil: stringify is more then likely the standard name for it.\ [21:42] JimBastard: ive got your session code tracking and what not, going to rig up the UI next [21:42] JimBastard: http://maraksquires.com:8000/ [21:42] Micheil: inimino: http://github.com/Miksago/Node.js-Sessions/tree/0.0.3 [21:42] Micheil: it works, but it has no data storing atm, and the cleanup is broken. [21:42] inimino: JimBastard: hey [21:43] inimino: Micheil: looking [21:43] JimBastard: whats up with prettyprint json [21:43] JimBastard: auto-indent json on the server [21:44] isaacs: JimBastard: can't you do that by specifying a second arg to JSON.stringify? [21:44] inimino: JSON.stringify(foo,1) // pretty-printing [21:45] hassox has joined the channel [21:45] JimBastard: naah that didnt do shit [21:47] JimBastard: is that suppose to add carriage returns and indents? [21:47] JimBastard: im talking about something like http://www.cerny-online.com/cerny.js/demos/json-pretty-printing [21:47] isaacs: JSON.stringify({foo:{"bar":1}},null,4) [21:47] isaacs: second arg is the replacer fn [21:48] isaacs: third arg is the formatter arg. [21:48] inimino: it's the th... yes [21:48] inimino: node> JSON.stringify({foo:42,bar:13},null,1) [21:48] inimino: "{\n \"foo\": 42,\n \"bar\": 13\n}" [21:48] JimBastard: yeah that did it [21:49] isaacs: (credit to ls_n, who I pinged about this) [21:49] JimBastard: thanks [21:50] inimino: you can also read the docs on json.org, or in the ES5 draft [21:50] rakeshpai has joined the channel [21:51] Micheil: inimino: so what do you think of having that SessionManager class? [21:52] inimino: Micheil: I am just reading now [21:52] inimino: Micheil: something very bad happened to your code formatting on github [21:52] Micheil: uh-oh [21:53] inimino: are you using tabs for indentation? [21:53] Micheil: should be [21:53] Micheil: ln 22? [21:53] JimBastard: nono Micheil, i think its just like that [21:53] JimBastard: :-D [21:53] mediacoder: Micheil: i was playing with your code too a bit [21:53] JimBastard: i can send you some semi-colon keys for christmas [21:53] JimBastard: i have a few extra [21:53] inimino: shouldn't be, IMO :-) [21:53] inimino: yeah, line 22 [21:53] inimino: I guess it's just there, the rest of the file looks fine [21:54] Micheil: yeah, easy to fix [21:54] JimBastard: yo inimino , do you see any problems if there are special chars in the ID, "EYGgfrwy6cJ": { "id": "EYGgfrwy6cJ", [21:54] JimBastard: what if something screwy gets generated, could it break the JSON? [21:55] [k2] has joined the channel [21:55] intellectronica has joined the channel [21:55] Micheil: well, there's never likely to be quotes generated, so, that should be fine [21:55] Micheil: it's alphanumeric [21:55] rudebwoy has joined the channel [21:55] m1631_ has joined the channel [21:55] inimino has joined the channel [21:56] Micheil: I've gotta run, bbl. [21:56] JimBastard: what if someone decided to change their session id to junk data on the client [21:56] JimBastard: wow i got lots of sessions sweet [21:56] mediacoder: JimBastard: then it shoutlnt be found in sessionstorage (hopefully its unique, and hard to guess) and regenerated [21:57] inimino: :/ [21:58] inimino: JimBastard: by the way, there's currently a bug in node.js HTTP header handling, which causes some session breakage [21:58] inimino: JimBastard: I have a patch in to Ryan which fixes it [21:59] JimBastard: makes sense [21:59] JimBastard: im playing with it a bit, have a show to goto tonight [21:59] JimBastard: ill make the sessions browsable [21:59] JimBastard: with clicky click [21:59] inimino: so if you are getting some session weirdness, that could be the cause [21:59] mediacoder: inimino: what is it? i havent come across any problems yet, iirc [21:59] JimBastard: and then plug it into node_debug [22:00] inimino: (though you should only be seeing one extra session due to that particular bug) [22:00] inimino: cool [22:00] JimBastard: ill probaly just make it standalone at first to keep it simple [22:01] inimino: mediacoder: if the Set-Cookie: header is the last header, and you get two requests on the same HTTP-keepalive TCP connection, then the second request gets an incorrect header value and ends up seeing the first session [22:01] mediacoder: ah, i see [22:01] RayMorgan_ has joined the channel [22:01] mediacoder: i always append x-awesome as last header :-D [22:02] inimino: then you're safe :P [22:03] mediacoder: hehe [22:03] rtomayko has joined the channel [22:03] inimino: you can get a case where there are two sessions on the same client, and each alternating request sees a different session [22:03] inimino: it came up in my testing but you're probably not all that likely to hit it in practice, unless you're playing around with session expiration [22:04] inimino: or restarting node a lot [22:16] path[l] has joined the channel [22:30] inimino: Micheil: I think the SessionManager is a good idea, saves having to set the options everywhere you might create a session [22:30] inimino: Micheil: I might make it optional [22:40] cmlenz: the_undefined_: any tips on how I can get http_parser to build standalone and run the tests on OS X? [22:41] cmlenz: make dies immediately [22:42] cmlenz: or ryah, if present :) [22:42] cmlenz: or anyone for that matter [22:42] inimino: cmlenz: standalone? [22:43] cmlenz: well, effectively I just want to add a test for http_parser, but I can't even get it to build outside of the main node.js build process [22:44] cmlenz: I don't know how I would otherwise run those tests [22:50] shfx has joined the channel [22:53] inimino: cmlenz: the stuff in /deps/http_parser/test.c ? [22:54] cmlenz: yeah [22:54] rektide: does v8 have __noSuchMethod__ ? [22:54] inimino: looks like a pretty short makefile [22:54] inimino: what's the error? [22:55] inimino: rektide: I don't think so [22:55] isaacs: rektide: nope. [22:55] cmlenz: can't find the header, as it's being included as a system header [22:55] isaacs: http://code.google.com/p/v8/issues/detail?id=264 [22:55] isaacs: rektide: ^ [22:56] cmlenz: I'm trying it in xcode now, but that fails with a linker error saying the _parse() function isn't defined [22:56] cmlenz: which is declared as an inline function in test.c [22:57] cmlenz: it's been a long time since I seriously hacked on C code :P [22:58] rektide: so sad. :( so very very sad. [22:58] rektide: lack of __noSuchMethod__ really really cripples JS [22:59] cmlenz: ok got it working in xcode by removing the "inline" tag [22:59] isaacs: rektide: imo, you're being just a wee bit dramatic. [23:00] isaacs: JS is not quite crippled by lacking a __noSuchMethod__ [23:00] isaacs: it prevents some useful patterns, but not ALL useful patterns [23:02] blakemizerany has joined the channel [23:03] rektide: maybe a slight bit dramatic [23:06] jed has joined the channel [23:10] blakemizerany has joined the channel [23:14] RayMorgan has joined the channel [23:14] rektide: i happen to believe in actor model rather strongly [23:15] rektide: it can be coded around, but being able to treat object slots like messages is a particularly unitary implementation [23:16] cmlenz: phew [23:16] cmlenz: ryah: http://github.com/cmlenz/node/commit/cc6ba34fbd816e2bde3a05fe0f7a966a59e09fe5 [23:18] sudocarl has joined the channel [23:25] isaacs: rektide: that's true. but there are ways to implement an actor model pattern without __noSuchMethod__ [23:25] isaacs: it's just not quite as pretty. [23:25] isaacs: but (less pretty) !== (crippled) [23:26] isaacs: ACTION fears another bout of "i like my blah like i like my blerg..." [23:28] blakemiz_ has joined the channel [23:30] blakemi__ has joined the channel [23:42] rolfb has joined the channel [23:55] isaacs_ has joined the channel