[00:00] mscdex: hmm [00:00] hsuh has joined the channel [00:04] nym: node is written in C++, right? [00:04] _ry: nym: mostly [00:04] nym: _ry: what else did you throw in there? [00:04] _ry: js [00:05] nym: i figured [00:05] mjr_: Seems like it is more and more JS as time goes by. [00:06] nym: thanks for the hummingbird vid btw _ry [00:06] nym: really impressive [00:07] nym: _ry: in your Y! talk on the 5th you showed figures between node, nginx, thin, etc for requests per second - do you have any comparisons to other event based systems like Twisted? [00:08] nym: i love js so i'm more likely to write in node than twisted, but i'm curious how those two stack up currently [00:08] _ry: nym: yeah - i've got some numbers around here... [00:09] _ry: nym: oh see my jsconf slides - http://nodejs.org/jsconf2010.pdf [00:09] nym: i'm new to event based server side programming [00:11] tmpvar: node is so fast :) [00:11] tmpvar: _ry: but not fast enough [00:12] tmpvar: heh heh [00:12] _ry: no, got some work to do [00:12] nym: _ry: thanks for the slides [00:14] tmpvar: _ry, would you say that code reuse is just a side effect of your work? (ive heard you mention that it was not your intention at all) [00:14] Tim_Smart has joined the channel [00:14] isaacs: when we can reuse code between web browsers, let's start talking about reusing code between the browser and server. [00:14] isaacs: that being said, at least it's closer than doing php and js [00:14] chilts: _ry: are you happy to accept slight typo corrections for your slides? [00:15] tmpvar: isaacs, ha, i hear that [00:15] _ry: chilts: those slides were already shown - so there isn't much point :) [00:15] isaacs: tmpvar: that being said, yo'ure doing some exciting stuff. [00:15] _ry: tmpvar: side effect, yes [00:15] chilts: heh, ok :) [00:16] tmpvar: isaacs, thanks! [00:16] chilts: hope it went well ... am enjoying flicking through the slides anyway [00:16] _ry: tmpvar: i use javascript because it didn't already have i/o and because the VM choice was very good [00:16] tmpvar: _ry, makes sense to me :) [00:16] _ry: i just wanted a way to jail users in an evented environment and it was the only appropriate language [00:17] _ry: luckly it's also the language everyone knows :) [00:17] _ry: and also runs on web browsers [00:17] tmpvar: yep yep, it definitely fits the bill [00:17] chilts: I think it's a great idea ... I only really started playing around last week and I now have a queue system which does a lot of the Amazon AWS SQS :) [00:17] chilts: thanks _ry :) [00:18] Tim_Smart: And it turns out the fact you can share code, is one of the biggest hooks on your Node.js fishing line [00:18] chilts: I wanna make it distributed though [00:18] _ry: it turns out the be the perfect alignment of nice features [00:20] Tim_Smart: Interesting coffeescript feature being worked on http://github.com/jashkenas/coffee-script/issues#issue/350 [00:21] Tim_Smart: Not sure if it will be approved for master or not though [00:21] creationix has joined the channel [00:22] _ry: node+ncurses, i'm convinced, will coincide with the second coming of christ [00:22] softdrink has joined the channel [00:22] tmpvar: lol [00:22] tmpvar: node+cairo will blow the doors off of hell [00:22] chilts: I'd love to have an ncurses interface :) [00:22] _ry: seriously - ncurses is the most awesome thing ever [00:22] _ry: it's also completel untouchable without an event loop [00:22] tmpvar: nice [00:23] chilts: makes perfect sense :) [00:23] tmpvar: it fits, cairo does not [00:23] _ry: node already has all the networking goodness [00:23] tmpvar: why not desktop applications though? :P [00:23] _ry: so we'll see a whole bunch of neat terminal apps written in js [00:23] Tim_Smart: terminal apps are ftw [00:24] tmpvar: fine fine, ill keep quiet until i actually do something [00:24] Tim_Smart: rtorrent uses ncurses, and it is about the best torrent client evar [00:25] mscdex: blargh. well, node-ncurses compiles but complains of an undefined symbol during runtime [00:26] dacc: so is async vs cooperative threading less effective when callbacks are long-running? (much like when something stalls your event loop in a gui program) [00:26] mscdex: the same class I'm using works just fine in a simple non-node test program though :\ [00:26] dacc: seems like lots of web apps are IO bottlenecked, for which something like node is perfect w/o needing threads at all [00:27] _ry: nearly all servers are i/o bottlenecked on node [00:27] _ry: cpus are really fast [00:28] dacc: .. but i'm doing a concurrent client where some longer processing needs to happen between requests. i want concurrency, but i'm not sure if an evented model will work [00:28] _ry: dacc: what sort of processing? [00:28] dacc: event driven seems perfect because i hate managing threads, but then i'm blocked [00:29] dacc: basically it's a job processor [00:29] _ry: what kind of jobs? [00:29] dacc: poll jobs from beanstalk and process them in parallel [00:29] dacc: graph algorithms mostly [00:29] dacc: so in-memory stuff -- not to heavy weight [00:30] dacc: heck i may not even need concurrency due to cpu speed as you said [00:30] _ry: run multiple nodes [00:30] Tim_Smart: dacc: How about delegate to a a seperate node process [00:30] Tim_Smart: as _ry said [00:30] dacc: ok, yeah [00:31] dacc: so just spin up several processes and let them reserve on the queue [00:31] _ry: two processes aren't any slower than 2 threads [00:31] Tim_Smart: Well only two processes really [00:31] dacc: *nod* [00:31] Tim_Smart: As long as the main process's event loop doesn't get clocked [00:31] Tim_Smart: *blocked [00:31] dacc: actually yeah, i was thinking of decoupling like that [00:32] dacc: have a separate process that just does the blocking client calls and caches to a database [00:32] dacc: then messages back to a process that does the heavy in-memory stuff [00:32] _ry: right [00:32] _ry: classic parallel programming :) [00:32] pkrumins: hey guys, anyone knows if you can unpack a split() in separate vars in ecma5? [00:32] _ry: ipc [00:33] pkrumins: like var a, b = "foo bar".split(' ') [00:33] dacc: i could spawn an arbitrary number of those as they can exclusively reserve jobs on the beanstalk queue [00:33] pkrumins: can't find the right syntax for that [00:33] Tim_Smart: pkrumins: Not yet [00:33] pkrumins: roger [00:33] Tim_Smart: de-structuring is coming [00:33] dacc: _ry: funny how things come back around =) down with threads! [00:34] dacc: hmm, now just need a javascript graph library =P [00:34] _ry: yeah - decouple the server from the computation engine - then it works [00:34] _ry: in the same way you decouple nginx from rails [00:35] Tim_Smart: dacc: Remember you can code in C++ if you want, so you can use a C / C++ graphing library [00:35] Tim_Smart: Or make bindings for us needy people to use :p [00:35] dacc: Tim_Smart: ah ok, boost maybe. i fear cpp, though [00:35] mscdex: raphael has graphing hehe [00:36] dacc: mscdex: yeah been wanting to play with it. i'm talking about discrete math graphs, though -- minimum spanning tree, etc. [00:36] mscdex: yeah ;-) [00:36] dacc: Tim_Smart: maybe a good opportunity to learn, though [00:37] dacc: the other option is to write my graph stuff in java using jung and then talk to that [00:37] tmpvar: yuuuuuuck [00:37] Tim_Smart: dacc: Yeah, I didn't know any C++ when I approached Node.js. I now know enough to get by.... just [00:37] tmpvar: heh, now you are a danger to us all [00:38] dacc: hehe [00:38] Tim_Smart: You can only mention Java in this channel with script appended [00:38] dacc: Tim_Smart: i hear QT is a good way to learn cpp because they use a "sane" subset [00:38] dacc: hehe [00:38] dacc: why don't we just call it ecmascript? [00:38] Tim_Smart: dacc: I'll check it out sometime :) [00:38] Tim_Smart: dacc: Because we would get weird looks [00:39] dacc: heh, roger [00:41] _ry: mscdex: let me know if i can help you at all [00:41] _ry: mscdex: like, i said, i'm dieing to start writing ncurses apps :) [00:41] inimino: ncurses is going to be great [00:41] mscdex: i'm gonna try a couple more things here to get this to work first [00:41] mscdex: ACTION shakes a fist at C++ [00:45] dacc: many ruby is a "big" language [00:45] dacc: syntactically [00:47] mscdex: _ry: if you are in a debugging mood feel free to give your hand at it, it's up on github now [00:47] _ry: mscdex: the trick is to do less in c++ and more in js [00:47] mscdex: yes, but this has to do with stuff that can't be done in js [00:47] mscdex: :/ [00:47] _ry: what's ncursesp? [00:48] mscdex: that's the underlying ncurses panel [00:50] joshowens has joined the channel [00:51] mscdex: it's not finding an inherited method during runtime for some reason [00:52] mscdex: i think so anyway, but the same class works in a small test program [00:55] jedschmidt has joined the channel [00:56] mscdex: i wonder if it's the way the wscript is linking it or something. is there a way to see what the line it's using to compile the binding? [00:58] joshowens: mnutt: you around? [00:59] _ry: mscdex: waf -b build [00:59] _ry: er [00:59] _ry: waf -v [00:59] mnutt: joshowens: hi [00:59] joshowens: mnutt: check pm [01:00] JimBastard has joined the channel [01:00] JimBastard: hey jan____ , did ya get that thing i sent ya? :-D [01:01] pjb3 has joined the channel [01:02] mscdex: hmm, any way to get -v with node-waf? [01:03] JimBastard: i cant wait to parse the nodejs logs and recreate the JimBastard markov chain [01:03] JimBastard: mmmm [01:04] _ry: mscdex: node-waf -v build [01:04] JimBastard: the trick is to throw in a verse or two of levinicus [01:04] drudge: is there anyway to cancel the close in the timout event of net.server ? [01:04] mscdex: ok, i just saw that... i had to clear out my build directory first [01:04] mscdex: heh [01:05] mscdex: yeah, the g++ lines don't look right [01:06] enherit has left the channel [01:08] dacc: is there a tutorial on writing nodejs cpp bindings? saw a dead link to one somewhere [01:11] mikeal: mjr_: would you want to carpool down to this thing if they do it earlier? [01:12] mjr_: oh yes [01:12] mjr_: Wading through traffic to the south bay is a giant lose. [01:13] mjr_: I took my motorcycle to the Yahoo thing last week, which roughly halved my travel time, but it was 45 minutes of lane splitting, which gets a little tiring. [01:13] dacc: hah, nice [01:17] mjr_: Speaking of which, time to do battle with the bay bridge. [01:21] steadicat has joined the channel [01:21] joshbuddy has joined the channel [01:21] robrighter has joined the channel [01:22] ditesh|cassini has joined the channel [01:23] jpld has joined the channel [01:24] _ry: UID PID PPID C SZ RSS PSR STIME TTY TIME CMD [01:24] _ry: ryan 10275 4001 0 11129 7832 2 00:46 pts/2 00:00:05 ../node/node server.js [01:24] _ry: chat seems to be running nicely these days [01:25] joshowens: _ry: how long has that been running? [01:25] JimBastard: yo _ry i wanna show you my chat stat, whats the ps arguments for that? [01:25] _ry: not so long - 2 days or so [01:25] JimBastard: im a nuub [01:26] _ry: ps -wwFCnode [01:26] JimBastard: root 1359 1358 0 158516 27388 0 May02 ? 00:07:05 node ./broodmother/carapace.js /apps/chat/ node-chat/demo/chat.js 127.0.0.1 8029 [01:26] siculars has joined the channel [01:27] _ry: JimBastard: what version of node is that? [01:27] JimBastard: 17767 1 0 161510 31016 0 May06 ? 00:11:45 node server.js <=== thats the broodmother [01:27] JimBastard: v0.1.93-40-g3674563 [01:27] batasrki has joined the channel [01:28] mrjjwright has joined the channel [01:28] JimBastard: root 1712 1711 0 157815 7868 0 May02 ? 00:00:00 node ./broodmother/carapace.js /apps/marak/ node.js---hello-world-web-server/index.js 127.0.0.1 8010 [01:28] _ry: JimBastard: 3ac6deefa8112a285fb578875c0aa8eb741e1e23 made an important change [01:28] creationix has joined the channel [01:28] JimBastard: word [01:28] _ry: it'll fix your memory problems [01:28] JimBastard: ill update [01:28] JimBastard: i just get nervous [01:29] JimBastard: going 0-day [01:29] JimBastard: >.< [01:29] tmpvar: what sort of pirate are you [01:29] JimBastard: one who doesnt go down with the ship, because the ship never goes down [01:29] tmpvar: ziiing [01:30] JimBastard: >.< [01:30] JimBastard: its all about the uptime [01:30] JimBastard: the drones can have higher uptime then the broodmother [01:31] JimBastard: you see the chat app has been running 4 days longer then the load balancer [01:31] JimBastard: :-) [01:40] javarants has joined the channel [01:40] javarants has left the channel [01:43] creationix has joined the channel [01:44] joshr has joined the channel [01:57] stevendavie has joined the channel [01:58] chewbranca has joined the channel [01:59] bpot has joined the channel [02:06] joshr has left the channel [02:06] isaacs_ has joined the channel [02:10] mjijackson has joined the channel [02:18] Phazm has joined the channel [02:20] dandean has joined the channel [02:20] Phazm: howdy all -- So I'm in pretty dire need of a string -> dom parser for node that doesn't require conforming to valid xml specs -- I just need to load up the response from an http client in node, and find elements by class, id, etc within (xpath would be fine, it doesn't have to be css selector style) -- anyone know of any tools that would allow me to accomplish that? [02:21] _ry: Phazm: http://github.com/tautologistics/node-htmlparser [02:22] Phazm: maybe it's my inexperience, but I haven't been able to figure out how to work with the response that module sends in any usable fasion [02:23] _ry: i haven't used it [02:23] _ry: there is also... (searching) [02:23] alex-desktop_ has joined the channel [02:23] Phazm: _ry: There's an example of the response in the readme, printed on that page you linked [02:24] _ry: http://github.com/aredridel/html5 [02:26] Tim_Smart: Would parsing HTML in Javascript be a good idea, when we already have C / C++ parsing libraries available? [02:28] _ry: yes, it would be a good idea :) [02:28] Phazm: Tim_Smart: I don't necessarily care if I use nodejs naively or not -- if I could run an 'exec' command on an external resource that responded with some way to effectively use the returned DOM, that would be perfectly fine. Right now, I'm using regex on the response, and too much can go wrong there [02:29] pavelz has joined the channel [02:30] quirkey has joined the channel [02:32] alexiskander has joined the channel [02:32] PyroPete1 has joined the channel [02:35] mscdex: hmm, so far so good on the addon.... but i'm having a bit of a problem trying to manage the allocated class instance [02:35] _ry: mscdex: why? [02:35] _ry: how so? [02:38] mscdex: hrm, disregard that.. i think i found a way around it hehe [02:40] mscdex: yay, my hello world works again :-D [02:42] JimBastard: yo Phazm [02:42] JimBastard: you know of jsdom? [02:42] dacc has joined the channel [02:42] JimBastard: it has jquery support now [02:42] JimBastard: http://jsdom.org [02:42] Phazm: JimBastard: I do, but I was under the impression that it only worked for outputting, not for input translation [02:42] JimBastard: tmpvar [02:43] JimBastard: ahh hes gone [02:43] JimBastard: what you mean input translation [02:43] JimBastard: its a javascript dom [02:43] _ry: Phazm: afaik you can also hook it up to that parser [02:44] JimBastard: tmpvar has been working pretty hard on jsdom, gonna have a good talk at nyc.js this week [02:46] Phazm: I want to take this: var someHTML="

bar

"; and access it like this (or similar): var dom = stringToDOM(someHTML); sys.puts(dom.getElementById('foo').getElementsByClassName('span').innerHTML); // outputs bar [02:48] JimBastard: Phazm: give it a week or so and there will be uber examples [02:48] JimBastard: http://github.com/tmpvar/unobtrusive.jsdom.org/blob/master/server/run.js [02:48] JimBastard: if you got chops [02:48] JimBastard: its in there [02:48] JimBastard: exactly what you want [02:49] JimBastard: ...notice the commit date... [02:50] Tim_Smart: Anyone here used djangode? [02:51] Phazm: JimBastard: Taking a look, thank you :) [02:54] siculars has joined the channel [02:56] industrial has joined the channel [02:59] josh` has joined the channel [03:06] dgathright has joined the channel [03:07] industrial has joined the channel [03:08] CIA-74 has joined the channel [03:09] mnutt has joined the channel [03:22] gbot2 has joined the channel [03:28] jedschmidt has joined the channel [03:35] brapse_ has joined the channel [03:38] jasonw22 has joined the channel [03:39] mikeal1 has joined the channel [03:39] mjr_ has joined the channel [03:43] mscdex: well, looks like basic functionality is working so far. the only thing i have to do now is get colors working [03:43] mscdex: :-D [03:43] creationix has joined the channel [03:44] mnutt has joined the channel [03:46] mscdex: is it even possible to pass in an unsigned long int as an argument in V8? [03:48] mscdex: nvm [03:50] PyroPete1 has joined the channel [03:55] mjijackson has joined the channel [03:59] towski has joined the channel [04:03] spoob has joined the channel [04:04] WALoeIII has joined the channel [04:05] dgathright has joined the channel [04:10] bpot has joined the channel [04:11] bpot has joined the channel [04:13] Tim_Smart1 has joined the channel [04:14] isaacs has joined the channel [04:27] captain_morgan has joined the channel [04:28] isaacs has joined the channel [04:30] joshr: so [04:30] liucougar has joined the channel [04:30] joshr: i'm trying to put together a build/test system for my project [04:30] joshr: using the node setup as a guide [04:31] Phazm: oh btw, I found out what was blocking in my script -- it was http.createClient -- I fixed it by creating another instance, now it runs smootly [04:33] joshr: oh wait, nevermind, figure it out [04:35] dandean has joined the channel [04:43] Tim_Smart1 has left the channel [04:44] Tim_Smart has joined the channel [04:53] mikeal1 has joined the channel [04:55] stevendavie has joined the channel [05:01] mikeal1 has joined the channel [05:04] mnutt has joined the channel [05:05] screen-x has joined the channel [05:06] creationix has joined the channel [05:08] mjr_: mscdex: so, _ry's prediction of the second coming may be at hand then? [05:09] mscdex: heh [05:10] mscdex: still fixing some bugs that I just noticed ;-) [05:14] siculars has joined the channel [05:17] creationix has joined the channel [05:21] sudoer has joined the channel [05:25] spoob has left the channel [05:34] mrjjwright has joined the channel [05:50] jedschmidt has joined the channel [05:54] neytema has joined the channel [05:58] mape: JimBastard: Do you know if there are efforts into making the htmlparser work better in "real life scenarios"? [05:59] mape: Seems to break as soon as I point it to a real(crappy) website [06:01] mape: Phazm: You got it working? I have a working codesnippet for using fetched sites in jQuery if you are interested [06:03] Phazm: mape: No, I was waiting to harass tmpvar when he joined -- I would love that snippet! :) [06:04] mape: Phazm: http://gist.github.com/396970 if you put that into the jsdom/examples/jquery/ dir and run it you should get the headlines text [06:05] mape: But like i stated earlier I've been having problems using that on sites that have poor html quality [06:05] mape: But works as advertised on proper ones (in this case the nodejs api docs) [06:05] Phazm: does it bomb altogether, or doesn't have the element, or what? [06:06] mape: Silent exit [06:06] Phazm: ah, alright [06:06] mape: Only output is node.js:176:9 [06:06] Phazm: is this an issue that can be fixed, or is it as designed? [06:06] mape: So I assume there is somekinda miss match which borks it [06:06] mape: in node-htmlparser [06:07] mape: Not sure if the "new" htmlparser is better, but that one seems to have changed its API [06:07] mape: And the one used in jsdom is a forked version that isn't updated anymore(?) [06:07] mape: So not as easy as using the original fork [06:09] Phazm: ah, alright [06:09] Phazm: well thank you very much, mape [06:11] mape: Let me know if you add any improvements :) [06:12] SamuraiJack has joined the channel [06:22] mnutt has joined the channel [06:31] sveimac has joined the channel [06:34] micheil: mape / Phazm is that from an event emitter? [06:35] mape: micheil: I wouldn't really know [06:35] micheil: okay [06:35] ec: god damn [06:35] ec: http://github.com/mnutt/hummingbird is awesome [06:35] ec: coolest thing I’ve seen built on Node.js yet! [06:35] micheil: it is, [06:35] mnutt: thanks! [06:35] ec: mnutt: ohai [06:35] micheil: ec: I think Dropular.net may take place as coolest [06:36] micheil: mnutt: I was going to tab you, went nmutt though :p [06:36] ec: micheil: can you get me an invite? [06:36] ec: micheil: :3 [06:36] micheil: mnutt: so, what were the plans re websockets? [06:36] micheil: ;p [06:36] micheil: ec: nup [06:36] ec: pff [06:37] mape: mnutt: iPad version in the works? ;) [06:37] mnutt: I'm going to look into switching implementations, just haven't gotten to it yet [06:37] micheil: mnutt: okay [06:37] mape: When the iPad gets websocket support in v4 [06:37] micheil: let me know if you need a hand at all :) [06:37] mnutt: micheil: thanks [06:38] micheil: mnutt: btw, I'm miksago on github [06:38] mnutt: yeah, waiting on websockets support for the ipad [06:38] mape: mnutt: Mind if I ab test it a little? (100 pageloads a go) [06:38] mnutt: cool, I think I messaged you back but it was from my iphone so I wasn't sure if it went through or not [06:38] juvenn has joined the channel [06:39] mnutt: mape: you mean on demo.hummingbirdstats.com? [06:39] mape: mnutt: Btw in relations to that, where does it get the data from? Logs or ajaxcalls on client pageload? [06:39] mape: Yeah [06:40] mnutt: sure, that's fine [06:41] mnutt: just not for long periods of time, ideally [06:41] mape: So it is through logs? [06:41] mnutt: though a tracking pixel [06:41] mscdex: finally! :> [06:41] mape: Ah k, hmm the ab doesn't seem to fly through the requests [06:41] mscdex: i gots me the start of a basic irc channel interface in ncurses :P [06:41] mnutt: so you could hit http://demo.hummingbirdstats.com/tracking.gif [06:42] mape: Ah nice, so the tracking.gif is just a nodescript in disguise logging calls? [06:43] mape: Does it fetch header data as well so you can track what OS/browser and whatnot? [06:44] mnutt: it doesn't right now but I plan on it [06:44] mape: mnutt: Really great work :) Smooth as ever, this is what real time statistics should be like [06:44] mape: Looked at getclicky? [06:44] mnutt: I haven't [06:45] mape: http://getclicky.com/ [06:45] mape: Like google analytics but more realtime [06:45] mnutt: I've also heard about something called ChartBeats [06:45] mape: Yeah same concept different approach [06:45] mscdex: that site doesn't exist? [06:45] mscdex: :S [06:45] mape: it does here? [06:45] mnutt: oh, that's cool [06:45] mscdex: hum [06:46] mape: mnutt: I would suggest you signup for their free "premium" service and check their spy feature [06:46] mape: It is like the dig spy but you get the list of "actions" which is pretty much the title of the page, and it shows lang os and browser [06:47] mape: http://gyazo.com/4df9e5b703c7f646fccaae3fe9363d3f.png [06:47] mscdex: oops hehe it's blocked in my /etc/hosts :> [06:47] mape: Also does a handy geoip on each new client and maps them to a map [06:48] mape: mnutt: http://maps.cloudmade.com/ [06:48] mnutt: btw, check it out now for what heavy load looks like [06:48] mape: Could add something like that (allows you to style the map so it would fit in nicely with the current clean look) [06:49] hassox_ has joined the channel [06:50] mnutt: wow, that's really neat [06:50] mape: mnutt: Small thing (throwing ideas here) perhaps "blink" the 0-50 sidelines into white and then back to the origin color so the user realice the scale changed [06:50] mape: mnutt: http://pantamycketmera.net/ something like that [06:50] mnutt: that's a great idea [06:51] mape: but the water would be darker grey like your bg [06:51] mape: But just clean and neat [06:52] mnutt: oh open street maps, cool [06:52] mape: Yeah [06:52] mape: The api might not be as complete as gmaps but still good enough for these kinds of things [06:52] mape: plotting points [06:53] mape: But then you would need a geoip db to call [06:53] mape: Though that might be a handy thing to write in node as well ;) [06:53] mnutt: yeah, async geoip would be pretty easy I think [06:53] mape: Jup just a dblookup and return with jsonp [06:54] mnutt: I think with the db small enough to fit into ram, I might be able to just geolocate ips as they come in [06:54] mape: Against what? [06:55] mnutt: I think maxmind distributes a free geolocation database [06:55] mape: Ah yeah, but still a db lookup [06:55] mnutt: yeah [06:56] mnutt: "The C Client API can support up to 1,000,000 queries per second on a 1.7 GHz machine when using the memory cached mode." [06:56] mape: Good enough ;) [06:57] mnutt: that's only on the country level [06:57] mnutt: on the city level, a mere 50k/sec :) [06:57] mape: Still seems like more then enough [06:58] mnutt: yeah, I look forward to trying it [06:58] mnutt: thanks for the pointer to CloudMade, I had been looking for something like that [06:58] mnutt: I gotta go to bed, it's 3am here [06:58] mape: Hehe nn [06:58] mnutt: thanks for all the great ideas [06:58] mnutt: later [07:00] mape: np, later [07:03] tmpvar has joined the channel [07:07] mattly has joined the channel [07:28] mscdex: yay, single-user chatroom is working -- complete with backspace capability :-D [07:28] mscdex: \o/ [07:32] jedschmidt has joined the channel [07:32] ineation has joined the channel [07:32] juvenn has left the channel [07:34] micheil: mscdex: single user chatroom? with what? [07:35] teemow has joined the channel [07:35] mscdex: node-ncurses [07:35] TomY has joined the channel [07:40] freshtonic has joined the channel [07:41] _ry: mscdex: \o/ [07:41] brianmario has joined the channel [07:46] felixge has joined the channel [07:46] felixge has joined the channel [07:50] SvenDowideit_ has joined the channel [07:51] mape has joined the channel [07:53] SvenDowideit has joined the channel [07:59] N` has joined the channel [07:59] _ry: mscdex: it should be possible to make a readline like interface with ncurses [08:00] cedricv has joined the channel [08:05] mscdex: yeah [08:07] _ry: i imagine that can be done with just a bit of js? [08:07] _ry: for a history or whatever? [08:07] mscdex: yeah, probably [08:08] mscdex: right now, there's just two events: one for each keypress and one for an entire line (determined by newline) [08:08] mscdex: so, you could easily just store each line in an array [08:09] Tim_Smart1 has joined the channel [08:09] chilts: I suspect that there is already a nice re-usable IRC client for Node? [08:09] chilts: ACTION can't quite find one at the moment [08:09] chilts: any links would be awesome :) [08:10] mscdex: chilts: hehe, soon there shall be a console-based one ;-) [08:10] chilts: http://github.com/fwg/nodejs.irc/ [08:10] chilts: mscdex: yeah, looking forward to that :) [08:10] chilts: ACTION likes ncurses (as I said earlier) :D [08:10] tisba has joined the channel [08:10] mscdex: really all the lonelychat example needs is networking functionality plugged in [08:10] chilts: also http://github.com/gf3/IRC-js [08:11] mscdex: there's still work to be done with forms and menus and stuff, but almost all basic core ncurses stuff is implemented [08:11] chilts: mscdex: what I'm gonna do is have a 'push' server which puts things onto channels you register with it [08:11] chilts: it'll be cool :) [08:11] chilts: just like a bot I guess [08:12] chilts: but it'll have other endpoints too [08:12] _ry: mscdex: very cool [08:12] mscdex: chilts: have you seen faye? [08:12] chilts: no yet [08:12] chilts: not yet [08:13] mscdex: it's a publish/subscribe system for node.js [08:13] chilts: reading this now http://thechangelog.com/post/424250178/faye-pub-sub-for-rack-nodejs [08:14] mscdex: the faye server itself can also push messages out onto channels [08:15] chilts: cool, I might have that at the backend, I wanna REST/JSON frontend to put the messages on there [08:15] chilts: ahah, there is an example of that in the README [08:17] mscdex: it'd be nice if faye had the kind of transport support that socket.io has though [08:18] mscdex: anyhow, i've done enough ncursing for one day. [08:18] mscdex: night [08:20] kjeldahl has joined the channel [08:22] felixge has joined the channel [08:22] felixge has joined the channel [08:29] javajunky has joined the channel [08:31] Wombert has joined the channel [08:33] freshtonic_ has joined the channel [08:33] xla has joined the channel [08:39] Phazm: fs.mkdir(path, mode, callback) <-- I can't find anything in the docs that explain 'mode' [08:42] Tim_Smart1 has left the channel [08:49] pdelgallego has joined the channel [08:56] industrial has left the channel [09:02] tbassetto has joined the channel [09:08] javajunky: phazm, as in chmod. [09:08] Phazm: ah. thank you [09:10] felixge_ has joined the channel [09:10] felixge_ has joined the channel [09:12] jedschmidt has joined the channel [09:13] ditesh|cassini has joined the channel [09:42] tisba_ has joined the channel [09:53] stalled has joined the channel [09:56] _Fuxx has joined the channel [10:00] dgathright has joined the channel [10:06] Isha__ has joined the channel [10:07] jfd has joined the channel [10:09] MattJ has joined the channel [10:14] maushu has joined the channel [10:14] tisba has joined the channel [10:33] ryan[WIN] has joined the channel [10:42] mape has joined the channel [10:44] markwubben has joined the channel [10:46] felixge has joined the channel [10:52] hassox has joined the channel [11:17] botanicus has joined the channel [11:25] olegp has joined the channel [11:30] olegp_ has joined the channel [11:41] Tim_Smart has joined the channel [11:43] stepheneb has joined the channel [12:02] jfd has joined the channel [12:22] ineation has joined the channel [12:23] kriszyp has joined the channel [12:25] Tim_Smart has left the channel [12:30] mjijackson has joined the channel [12:32] hellp has joined the channel [12:38] TomY has joined the channel [12:40] thoolihan has joined the channel [12:45] kjeldahl has joined the channel [12:52] mythz has joined the channel [13:11] felixge has joined the channel [13:11] felixge has joined the channel [13:12] quirkey has joined the channel [13:15] derbumi has joined the channel [13:16] joshr: noders [13:18] davidsklar has joined the channel [13:19] robrighter has joined the channel [13:22] ineation has joined the channel [13:23] jherdman has joined the channel [13:24] batasrki has joined the channel [13:35] WALoeIII has joined the channel [13:36] pjb3 has joined the channel [13:41] mythz has left the channel [13:43] fictorial: chilts: mscdex: also sounds a lot like NodeRed [13:47] DracoBlue has joined the channel [13:49] botanicus has joined the channel [13:50] DracoBlue has joined the channel [14:01] gf3 has joined the channel [14:02] stepheneb has joined the channel [14:06] botanicu_ has joined the channel [14:11] ceej has joined the channel [14:14] pgriess has joined the channel [14:14] quirkey has joined the channel [14:14] quirkey has joined the channel [14:21] bweaver has joined the channel [14:21] botanicus has joined the channel [14:24] Yuffster has joined the channel [14:26] mrjjwright has joined the channel [14:32] bpot has joined the channel [14:49] kevwil has joined the channel [14:49] tmpvar has joined the channel [14:50] paul__ has joined the channel [14:50] aryounce has joined the channel [14:52] joshbuddy has joined the channel [14:55] tmpvar: morning [14:56] nefD: 'lo [15:03] ditesh|cassini has joined the channel [15:04] mnutt has joined the channel [15:08] stepheneb has joined the channel [15:16] stevendavie has joined the channel [15:22] steadicat has joined the channel [15:29] sveimac has joined the channel [15:33] dgathright has joined the channel [15:36] sudoer has joined the channel [15:41] JimBastard has joined the channel [15:41] JimBastard: its a javascript party and your mom is invited [15:41] JimBastard: she wanted some closure so i gave her a callback [15:43] micheil: anyone gotten the ncurses lib working? [15:46] JimBastard: its out? [15:46] JimBastard: i heard that guy was working on it a few days ago [15:46] micheil: yeah [15:46] micheil: I think so [15:46] JimBastard: link? [15:47] micheil: http://github.com/mscdex/node-ncurses [15:47] steadicat has joined the channel [15:48] JimBastard: yeah i dunno micheil [15:49] JimBastard: i tend to stay away from custom node compiling [15:49] JimBastard: but ncurses scares me a bit, seems kick ass for menus and installers....seems hectic for anything else [15:49] JimBastard: i know someone is gonna go too far and build a whole app in there [15:50] micheil: yeah [15:50] micheil: which would be pretty awesome to see (the end app), but maybe not the code [15:53] micheil: now then.. why did I install couchdb? [15:53] joshr: hi [15:55] mscdex has joined the channel [15:56] WALoeIII has joined the channel [16:00] micheil: hi joshr [16:00] micheil: mscdex: the man himself. does ncurses compile? [16:00] mscdex: yep, and the two examples work [16:01] micheil: okay, I can't compile it on os x 10.6 [16:01] mscdex: hmm. errors? [16:02] micheil: http://gist.github.com/397476 [16:02] micheil: lots. [16:02] mscdex: ah [16:02] joshr: it wants ../ncurses.cc [16:02] mscdex: do you have ncurses++ installed? [16:03] mscdex: i assumed it came with ncurses, but maybe not [16:03] joshr: oh nevermind, i see [16:03] micheil: nup [16:04] micheil: mscdex: where would I find ncurses++, it didn't come with brew install ncursesw [16:07] micheil: okay, trying to build with flag: --without-cxx [16:07] mscdex: to be honest i'm not familiar with osx, but if nothing else i guess you'd have to build and install it from scratch [16:08] micheil: hmm.. [16:08] micheil: that's what home brew does [16:08] micheil: so, yeah, I've added in that flag and am build now [16:08] micheil: http://invisible-island.net/ncurses/ncurses.faq.html#config_cplus [16:10] _ry: mornign [16:11] mscdex: ok [16:11] joshr: hiya [16:11] mscdex: yo _ry [16:11] _ry: mscdex, micheil: do you people sleep? [16:12] mscdex: heh [16:12] JimBastard: lol [16:12] micheil: _ry: no [16:12] micheil: _ry: actually, a little [16:12] mscdex: i did [16:12] mape: alternating sleep [16:12] micheil: mscdex: how to hack your brain perhaps? [16:13] JimBastard: sleep is for dead people [16:14] batasrki: also, for old fogies [16:14] _ry: the performance thread on the mailing list is annoying :) [16:15] _ry: i hate how people jump to the conclusion that node isn't taking advantages of the extra cores [16:16] batasrki: _ry, node is the slowest thing EVER [16:16] JimBastard: there seems to be some recurring questions on the mailing list regarding performance and not knowing how to use apache ab [16:16] _ry: in that sort of setup he has - it should be pushing data way faster than apache+fastcgi [16:16] JimBastard: perhaps a faq for perf would be in order? [16:16] _ry: yeah maybe [16:17] _ry: - Does node scale to multiple core: yes [16:17] _ry: - Is it faster than my current setup: yes [16:17] _ry: - How can you be so sure: I measured [16:17] JimBastard: why is there a two second delay inbetween requests? [16:17] JimBastard: thats my favorite [16:17] _ry: yeah [16:17] _ry: gr :) [16:19] mape: perhaps change hello world to "hello world, 2 seconds later"? [16:19] mape: :P [16:20] qFox has joined the channel [16:20] _ry: mape: yeah that's a good idea [16:20] dgathright has joined the channel [16:20] mape: Bah I never get to be funny [16:22] micheil: cute: if (arguments.length < 3) { [16:23] micheil: _ry: Array.prototype.slice.call(arguments, 1); could that be made quicker? [16:23] micheil: or is it purely due to v8's poor handling of functions with extra args? [16:24] micheil: _ry: also, some refactoring could be done in events.js [16:24] micheil: eg, multiple listeners doesn't switch slow / fast case [16:25] _ry: micheil: the extra function call to Array.slice would be too much overhead [16:25] _ry: not to mention creating a new object [16:25] micheil: yeah, good point [16:25] _ry: micheil: in a 'hello world' bench - that function is being called like many many thousands of times per second [16:25] micheil: unless you factorise that out, as it's common [16:26] micheil: var args = [].slice.call(arguments, 1) outside of the if/else for type of event [16:26] stevendavie has joined the channel [16:27] micheil: then you could just do in the for loop: if(useFastCase){ ... apply(fixed args)} else { ...} [16:27] micheil: var useFastCase = arguments.lenght < 3 [16:27] TomY has joined the channel [16:28] micheil: _ry: why this._events[type].slice(0) ? [16:28] micheil: surely that would do nothing. [16:29] _ry: micheil: hmm [16:30] _ry: good question [16:30] micheil: one sec. [16:30] micheil: just trying something [16:30] mrjjwright has joined the channel [16:30] _ry: that seems like an error to me [16:31] _ry: oh - i think we want a copy of the array [16:31] micheil: why? [16:31] micheil: we're not locally mutating it [16:31] micheil: there's no need for another copy. [16:31] _ry: so that if people do addListener or removeListener while the event is emitting [16:31] micheil: ah [16:32] micheil: hm.. [16:32] _ry: there's a test for that somehwere [16:32] _ry: test/simple/test-events.js or something [16:32] micheil: making' [16:32] fizx has joined the channel [16:33] joshr: wrt the 2 second delay in the sample ... [16:33] joshr: i don't consider myself a complete dumbass, at least not all the time [16:33] joshr: and the first time i ran that i too was like wtf is taking so long [16:41] fizx has joined the channel [16:42] micheil has joined the channel [16:46] felixge has joined the channel [16:46] felixge has joined the channel [16:54] micheil: _ry: with that hitch stuff, why not just change the listener? [16:54] micheil: so, if(scope && listener) listener = function(return listener.apply(scope, arguments); ) [16:59] cloudhead has joined the channel [17:02] jfd has joined the channel [17:08] captain_morgan has joined the channel [17:08] micheil: _ry: this might make it faster, I'm not sure: http://gist.github.com/397552 [17:11] V1 has joined the channel [17:12] micheil: _ry: and a rough implementation of scoped listeners: http://gist.github.com/397560 [17:12] isaacs has joined the channel [17:13] mjr_ has joined the channel [17:18] bill_ has joined the channel [17:21] micheil: _ry: any ideas on max concurrent clients node can handle with long running http requests? [17:21] micheil: (eg, http upgrade) [17:22] _ry: micheil: idle - thousands [17:23] micheil: when the sockets keep open? [17:23] _ry: tens of thousands, probably [17:23] nefD: hrm- how do i obtain POST values fram an http.ServerRequest object? [17:23] micheil: I mean, what's with nlimit, how's that come into play? [17:25] mjr_: nefD: listen for "data" events, and then concatenate them together to form the body. [17:25] nefD: mjr_: Ah! Thanks muchly [17:26] siculars has joined the channel [17:26] micheil: bbl, G'night. [17:27] mertimor has joined the channel [17:28] hellp has joined the channel [17:29] siculars_ has joined the channel [17:29] charlesjolley has joined the channel [17:31] pointlessjon has joined the channel [17:33] noonat has joined the channel [17:38] saikat has joined the channel [17:39] enherit has joined the channel [17:40] tilgovi has joined the channel [17:44] siculars__ has joined the channel [17:45] felixge: micheil: on the old networking code you could probably handle 5k long polling connections (avg response time would go > 1000ms after that when flushing responses out to all listeners, might be much better now with buffers) [17:45] micheil: ok [17:45] felixge: micheil: in terms of just "holding" connections, I got up to 56k at one point [17:46] felixge: micheil: but performance would have been unacceptable for most scenarios at this concurrency level ;) [17:47] batasrki has joined the channel [17:50] dgathright has joined the channel [17:50] towski has joined the channel [17:55] saikat has joined the channel [17:56] micheil: ok [17:57] micheil: yeah, I'm wanting to try and get 10k clients connected each being able to send / recv [17:58] micheil: felixge: as a fallback though, I have an idea to boost number of clients that can talk to each other [17:58] felixge: micheil: I see no problem with 10k clients [17:58] felixge: (unless there are some bugs) [17:58] micheil: by using distributed node instances each acting as a gateway to another instance [17:58] felixge: :) [17:58] micheil: how would you test it though? [17:58] micheil: being it's websockets [17:59] micheil: actually, no, benchmark just the upgrade header. [17:59] micheil: yeah? [18:00] micheil: because I doubt you could use ab to test [18:01] mjr_: You need to write another set of node programs to test it. [18:01] mjr_: And of course, another set of programs to the test that. [18:02] sveisvei has joined the channel [18:04] saikat has joined the channel [18:04] bradleymeck has joined the channel [18:04] bradleymeck has left the channel [18:07] JimBastard: so i propose we start calling Mustache templates, MAML, as in Mustache Application Markup Language [18:08] JimBastard: thats HTML + Mustache [18:08] JimBastard: in the spirit of XAML and MXML [18:08] tmpvar: mxml? FAIL [18:08] JimBastard: indeed [18:08] JimBastard: hence maml [18:08] mikeal: i just use a .mustache extension :) [18:08] JimBastard: well its confusing [18:09] JimBastard: ambigious [18:09] JimBastard: are you talking about the library or the markup [18:09] JimBastard: when you say "mustache" [18:09] JimBastard: .mustache, okay thats the markup [18:09] JimBastard: but in conversation [18:09] JimBastard: you know [18:10] tmpvar: mammal [18:10] JimBastard: lol yeah [18:10] JimBastard: ACTION has a yellow belt in coming up with cool open source names [18:10] joshr has joined the channel [18:12] kriskowal has joined the channel [18:14] _ry: does anyone know what created this output: http://praxx.is/post/486034949/comet-with-bayeux-node-js-vs-jetty-and-cometd [18:15] _ry: super cool that it makes that histogram [18:15] mattly has joined the channel [18:15] _ry: and i've experienced similar large variance perf profiles from node [18:15] _ry: got to figure out what's wrong there [18:16] _ry: s/perf/latency/ [18:16] bill_: did u run the perf test from a different machine? [18:20] _ry: yes [18:21] _ry: i wonder if i need to start injecting more information to the libev scheduler [18:21] felixge: _ry: should '__C99FEATURES__' fix that signbit issue on solaris? [18:21] _ry: start increasing the priority of long running sockets [18:22] _ry: felixge: no, but the fixes after that should [18:22] felixge: _ry: I think it's the jetty load test tool [18:22] _ry: felixge: it should be working now - is it? [18:22] felixge: _ry: I'm working on a stress test lib that would create the same output [18:22] felixge: _ry: let me test! [18:24] mscdex has joined the channel [18:24] fernmicro has joined the channel [18:25] _ry: yeah very cool [18:25] _ry: ^-- cometd load tool [18:26] _ry: i think node probably needs a smarter scheduler [18:26] _ry: and we probably need to turn off nagel [18:26] kjeldahl_ has joined the channel [18:26] felixge: _ry: what's nagel? [18:27] _ry: felixge: NODELAY [18:27] _ry: http://en.wikipedia.org/wiki/Nagle's_algorithm [18:28] _ry: having it on hasn't effected anything because in all my benchmarks i close the socket after sending "hello world" [18:28] _ry: wish flushes the buffer immediately [18:28] mikeal: _ry, mjr_: this is easier than email [18:28] _ry: but in a comet thing i can imagine that fucking latency [18:28] felixge: _ry: that would make sense [18:28] mikeal: we can hang at Mozilla tomorrow if we need to [18:29] mikeal: I can drive, i'd just like to leave Oakland before 3pm [18:29] atmos: did ext's offices fall through ? [18:29] mikeal: mjr_: what time do you need to be home? [18:29] atmos: oh, /me shuts up :) [18:29] mikeal: atmos: they are available in the evening, but i don't want to drive down there during rush hour [18:29] atmos: mikeal: yeah i'm gonna wait until 7 or so to leave the city [18:29] mikeal: it's still pretty bad around then [18:29] _ry: atmos: can you get off early? [18:30] atmos: _ry: prolly ? [18:30] mjr_: mikeal: I can be home whenever. I'd like to be home in the 10 - 11PM range though. [18:30] _ry: i wouldn't mind going down at 3 [18:30] mjr_: I could see going down at 3. [18:30] _ry: atmos: you should just come down with us - whenever that is :) [18:31] batasrki has joined the channel [18:31] atmos: by train? i was thinkig of driving [18:31] mikeal: yeah, my car is a Prius so it's 4 comfortably and 5 extra comfortably :) [18:31] mikeal: right now it's just me, mjr an _ry [18:31] atmos: i told technoweenie and a coworker or two that they could ride down in my car [18:31] mjr_: My car is a giant crew cab pickup which handily seats 4 or 5 full sized adults. [18:32] technoweenie has joined the channel [18:32] felixge: _ry: still getting the signbit build failure [18:32] atmos: so i'll just make sure 3 works for them [18:32] _ry: felixge: did you get me an ssh account? [18:32] kjeldahl_: Any node-router users on who are also getting res.statusCode "undefined" on some requests after the server have been running for a while, and/or have a theory why? [18:33] mikeal: where are we getting dinner? [18:33] _ry: felixge: i sent you my key at some point [18:33] mikeal: does Palo Alto have good food? [18:33] mjr_: mikeal: PA has some reasonable options. [18:34] steadicat has joined the channel [18:35] JimBastard: kjeldahl_: you can always ask creationix [18:35] JimBastard: ahh hes not online today [18:35] aconran: I think PA has some pretty good food options. We could always move the meetup a bit earlier, I agree 8 is a bit late [18:35] aconran: we have some clients coming in and out up until 5p though [18:35] aconran: Would something like 6 work better for everyone? [18:36] _ry: anyway - im free whenever is best for others - i would like to get a bit of work done before going down [18:36] _ry: bbl [18:36] aconran: cya _ry [18:37] kjeldahl_: JimBastard: Thanks, I will. [18:37] JimBastard: open up a github issue [18:37] mikeal: aconran: people will need to eat around 6 :) [18:37] JimBastard: he'll respond for sure [18:37] mikeal: we should do a meetup for dinner and than just head to ext after that [18:38] mikeal: then [18:38] mjr_: Yeah, that's what I was thinking. Plan on getting there at 6PM, and we'll leave whenver we have to leave in order to do that. [18:39] N` has joined the channel [18:39] aconran: mikeal, perfect idea, eat around 6 then head over to the office [18:39] mikeal: cool [18:40] aconran: People can meet here (Ext office) and then we can head off to whereever to eat, popular vote wins [18:41] saikat has joined the channel [18:43] broofa has joined the channel [18:44] javajunky has joined the channel [18:48] TobiasFar has joined the channel [18:49] tbassetto has joined the channel [18:49] mikeal has joined the channel [18:51] felixge: hey, does anybody in here care about parsing / submitting form data? [18:51] felixge: I could need some folks to talk API ideas :) [18:52] tmpvar: I do! [18:52] felixge: tmpvar: so the idea is to create 1 library that can help with parsing incoming forms as well as creating outgoing ones [18:53] felixge: I only care about incoming forms for step 1 [18:53] nefD: heh, i was just asking about form data earlier [18:53] felixge: I'm thinking about calling the lib itself "formidable" [18:53] tmpvar: felixge, sounds about right [18:53] tmpvar: hah, i like [18:53] felixge: if it stays nice & light weight, there is some chance of ryan considering it for the core [18:53] felixge: let me show you what I have in mind [18:54] tmpvar: really? that seems doubful to me.. we dont even have a url parser do we? [18:54] tmpvar: in core that is [18:54] V1: Why not just call it forms? [18:54] felixge: tmpvar: we have a url parser? [18:55] JimBastard: why do you need a form parsing lib? [18:55] joshbuddy_ has joined the channel [18:55] felixge: https://gist.github.com/89b7a6585c8893cf724d [18:55] JimBastard: i thought i was already doing that [18:55] felixge: JimBastard: we all need to deal with POST requests, no? [18:55] felixge: JimBastard: you're parsing my forms for me? :) [18:55] JimBastard: i thought it was like a 3 liner [18:55] tmpvar: for json, sure [18:55] JimBastard: using multipart? [18:56] felixge: JimBastard: I want to support both multipart as well as url-encoded [18:56] JimBastard: i know i got simple form posts working well a few months ago and it was pretty trivial [18:56] JimBastard: got ya [18:56] tmpvar: felixge, looks small [18:56] felixge: ideally I would get both to be streaming, but I'm ok with buffering url-encoded forms before parsing them [18:56] tmpvar: which is good :) [18:57] felixge: tmpvar: the problem I have is that I may want to discard certain elements of the stream early on [18:57] felixge: tmpvar: so when the 'part' event fires, I may wish to discard a certain part [18:58] tmpvar: ha, i see the problem hrm [18:58] felixge: mostly I'm thinking people might want to handle the incoming file stream themselves, rather than having the file written to a tmp location [18:58] tmpvar: need coffee, brb [18:58] felixge: one idea I had was to say part.discard(), but ryan didn't seem to like that idea too much [18:59] felixge: so I'm wondering if this level of fine-graining should be handled on the same API level [19:09] temp01 has joined the channel [19:14] saikat has joined the channel [19:15] mattly has joined the channel [19:18] joshbuddy has joined the channel [19:19] joshbuddy has joined the channel [19:20] mrjjwright has joined the channel [19:22] joshbuddy_ has joined the channel [19:27] stepheneb has joined the channel [19:32] mertimor has joined the channel [19:33] kriskowal_ has joined the channel [19:49] derbumi_ has joined the channel [19:50] markwubben has joined the channel [19:51] bmizerany has joined the channel [19:53] saikat has joined the channel [19:53] javajunky has joined the channel [19:58] aho has joined the channel [20:04] maushu has joined the channel [20:05] fictorial has joined the channel [20:09] xla has joined the channel [20:13] caolanm has joined the channel [20:14] caolanm: so, anyone seen an 'illegal access' error emitted by a http.Client ? [20:14] caolanm: can't figure out what's causing it! [20:16] joshbuddy has joined the channel [20:17] mjijackson has joined the channel [20:18] felixge_ has joined the channel [20:18] felixge_ has joined the channel [20:19] qFox has joined the channel [20:21] caolanm: seems to be something to do with JSON.parse :\ [20:21] V1 has left the channel [20:22] ewdafa has joined the channel [20:24] caolanm: oh... I'm a fool :) [20:25] caolanm: an error in a response listener was causing it [20:25] caolanm: still, a misleading error message I think [20:26] softdrink has joined the channel [20:28] captain_morgan has joined the channel [20:28] pedrobelo has joined the channel [20:29] derbumi has joined the channel [20:30] technoweenie has joined the channel [20:32] pedrobelo: hey guys, does anyone have experience with binary data? I'm having trouble to process a compressed request. tried using a buffer with binary encoding but still nothing [20:35] mjr_: pedrobelo: have a paste link with the code? [20:35] pedrobelo: I'll extract that part since the whole thing is big. just wondering if there's anything simple I'm missing [20:37] rdrake has joined the channel [20:41] mertimor has joined the channel [20:43] kriskowal has joined the channel [20:45] bweaver has joined the channel [20:47] felixge has joined the channel [20:58] stephenlb has joined the channel [20:59] dacc has joined the channel [21:04] JimBastard: where is my cheeseburger [21:05] JimBastard: disregard, cheeseburger was outside [21:05] JimBastard: all is well [21:05] blowery: canihaz? [21:06] JimBastard: http://www.seamlessweb.com/ [21:08] sudoer has joined the channel [21:09] dacc: time to play "in what revision did i introduce the regression bug" [21:10] dacc: =( [21:17] bradleymeck has joined the channel [21:21] devinus has joined the channel [21:23] aryounce has joined the channel [21:26] atmos: dacc: git bisect [21:28] dacc: wow cool [21:31] rolfb has joined the channel [21:31] mape: hey! no cheating [21:33] devinus: _ry: https://gist.github.com/44b54f792d514bb75ea4 [21:34] javajunky has joined the channel [21:37] robrighter_ has joined the channel [22:02] maushu has joined the channel [22:02] maushu: Why wasn't I informed of the Script class? :| [22:02] maushu: Heck, when was it implemented. [22:05] whoahbot has joined the channel [22:09] maushu: It gives me this error when I try to do something with "this" in a new context: TypeError: Cannot convert object to primitive value at String.STRING_ADD_LEFT (native) [22:11] maushu: "To prevent accidental global variable leakage, Script.runInNewContext is quite useful, but safely running untrusted code requires a separate process." Good to know someone finally added that hint in the docs. [22:20] hassox has joined the channel [22:21] tk has joined the channel [22:29] gf3 has joined the channel [22:30] siculars has joined the channel [22:36] micheil: _ry: does the parser do similar for http.Client as it does http.Server for upgrade events? [22:47] joshbuddy has joined the channel [22:48] mattly has joined the channel [22:49] micheil: actually answer is YES! [22:49] micheil: :D [22:50] rolfb has joined the channel [22:51] quirkey has joined the channel [22:52] mrjjwright has joined the channel [22:56] kriskowal_ has joined the channel [22:59] gwoo has joined the channel [23:00] rictic has joined the channel [23:00] mattly: cloudhead: man you've been busy on vows lately [23:01] cloudhead: mattly: no kidding lol [23:01] cloudhead: I pushed tons of changes [23:01] maushu: Someone getting married? [23:01] maushu: Kekekekeke [23:01] cloudhead: hehe [23:01] cloudhead: mattly: it's much more flexible now, and I added a continuous integration component [23:02] cloudhead: but that's still a little unstable [23:03] maushu: I've been trying to hide function sources from a sandbox. No luck at all. Now I'm trying to override Function.toString [23:05] admc has joined the channel [23:07] mattly: oh neat [23:13] mnutt has joined the channel [23:15] jedschmidt has joined the channel [23:16] Tim_Smart has joined the channel [23:17] tekky has joined the channel [23:24] paul_ has joined the channel [23:28] charlesjolley has joined the channel [23:31] darkf has joined the channel [23:33] stepheneb has joined the channel [23:47] tmpvar has joined the channel [23:51] aconran: Just sent out an invite clarifying details for the meetup tomorrow night; if anyone needs directions etc feel free to ping me. [23:52] tmpvar: belt parkway -> jfk -> lax -> ? :P [23:52] aconran: heh, I think you could do EWR -> SFO [23:52] aconran: bit faster ;) [23:53] tmpvar: what do i know haha [23:53] chilts: WGT -> AUK -> SFO -> ? [23:53] chilts: or maybe via Hawaii [23:53] chilts: :) [23:53] tmpvar: damn, thats a long flight heh [23:54] chilts: yeah, prolly wouldn't make it :) [23:54] captain_morgan: Hmmm, temping.. Hacking Node is going to be the focus? [23:54] captain_morgan: I missed the beginning fo the conversation on here [23:54] tmpvar: convo is also on the mailing list [23:55] captain_morgan: also, tmpvar & _ry, nice talks last week [23:57] tmpvar: thanks! [23:57] captain_morgan: Really happy with the progress of jsom [23:57] captain_morgan: well, JS parsers in general [23:59] tmpvar: jsdom aint no parser! [23:59] tmpvar: hehe, you can use one of the many parsers though.. to build out the dom structure