[00:01] Aria: Huh. Using a string as the buffer rather than a Buffer in the html5 parser has doubled the speed. [00:02] polotek: Aria: o_0 [00:02] Aria: That's what I said. [00:02] polotek: you mean to build up the incoming tokens? [00:03] Aria: Yeah. [00:03] ceej: man the socket.io client just as all types of issues in IE [00:03] Aria: But I /am/ doing a lot of manipulations of tiny parts -- so allocating a string in a ton of places to match a regexp, say, does hurt. [00:03] polotek: ceej: IE has all types of issues including not being able to deal with socket.io [00:04] polotek: do you just allocate a giant buffer at the beginning and use that? [00:04] polotek: or are you creating lots of smaller buffers? [00:04] mfeiri_ has joined the channel [00:04] ceej: ? [00:04] polotek: sorry [00:04] polotek: the first was for you [00:04] polotek: just being snarky [00:05] polotek: the other two were for Aria [00:05] ceej: k :) [00:05] ceej: looks like I'm going to have to go back to ape-server.org [00:07] ceej: what is chat.nodejs.org using? [00:12] technoweenie has joined the channel [00:12] ceej: hmmm it uses long polling [00:12] polotek: long polling I believe [00:12] polotek: err yeah [00:13] ceej: which socket.io has but it errors in IE lol [00:15] ceej: what's the downside to long polling? [00:16] polotek: ceej: I couldn't answer that intelligently [00:19] technoweenie: lots of open and closed connections i guess [00:19] technoweenie: vs a steady web socket stream [00:19] polotek: if keep-alive is working properly even that is minimized [00:19] technoweenie: sure [00:19] Validatorian has joined the channel [00:20] polotek: more client-side infrastructure [00:20] polotek: when to reconnect and whatnot [00:21] polotek: I can't find any way to detect a client-side connection close with node [00:25] smtlaissezfaire: ceej: the downside to long polling is that you need a ton of servers around. the async model fixes that issue, though. [00:26] saikat has joined the channel [00:26] ceej: async model? [00:26] polotek: smtlaissezfaire: thanks, that makes sense [00:26] polotek: with a threaded model, waiting on an open connection blocks [00:26] smtlaissezfaire: ceej: yeah, not blocking on IO [00:27] smtlaissezfaire: ceej: which is what node does (as well as event machine in ruby, twisted in python, etc) [00:27] polotek: so you need a ton of threads to run long polling efficiently [00:27] polotek: ACTION just got smarter [00:27] ceej: ah so long polling is fine with node.js? [00:28] polotek: ceej: certainly much improved [00:28] ceej: the long polling example with express doesn't seem to work in IE http://local.cj.nu:3000/chat [00:33] technoweenie: what web framework are you guys using? i love fab but im waiting for jeds rewrite [00:33] ceej: express [00:34] polotek: technoweenie: yeah express has the most work put into it at this point [00:34] smtlaissezfaire has joined the channel [00:34] mde: technoweenie: You can kick the tires on Geddy: http://wiki.github.com/mde/geddy/the-two-minute-geddy-app [00:34] technoweenie: yea, express doesnt impress me [00:34] polotek: it's mostly awesome, but it's constantly being updated so it has glitches sometimes [00:34] polotek: too bulky for my taste as well [00:34] Validatorian: creationix is working on a framework that he said should be ready this weekend, iirc [00:34] polotek: I've been using node-router and doing things pretty manually [00:34] technoweenie: mde: yea thats too high level for what i'm looking for [00:35] polotek: Validatorian: man I hadn't heard that [00:35] polotek: I was talking to him about it and it sounds like the one I want [00:35] mde: technoweenie: Yeah, it's frameworky, but the idea is for the parts to operate separately. [00:35] polotek: technoweenie: high level? [00:35] mde: So you can just use the model. [00:35] mde: Or the router, etc. [00:35] polotek: oh didn't see the note about geddy [00:35] mde: We're using the geddy-model code on the client side at Yammer. [00:35] Validatorian: [21:17] creationix: Validatorian: I'm working on a new framework, hopefully will come out this weekend -- http://nodejs.debuggable.com/2010-05-27.txt [00:36] polotek: Validatorian: word [00:36] technoweenie: doesnt it 'come out' when you do your first push [00:36] gingivitis has joined the channel [00:37] polotek: it's private right now I"m guessing [00:37] technoweenie: yea i know i'm not serious [00:37] RH2 has left the channel [00:38] technoweenie: man, js is ugly, haha [00:38] polotek: yeah I'm kinda slow today [00:38] polotek: technoweenie: what type of framework do you need? [00:39] polotek: what level are you looking for that is [00:39] technoweenie: basically fab :) [00:40] Validatorian: anyone know of a tutorial showing how to set up node with nginx, with node as a cache-filler (meaning, nginx will serve the files as static files, but if they don't exist, will generate them with node, and then serve as static) [00:40] Validatorian: also, isaacs, you were saying to use varnish for dynamic contact, right? [00:41] halorgium: Validatorian: still hacking on that? [00:41] technoweenie: Validatorian: http://wiki.nginx.org/NginxRubyonRailsMongrel [00:41] Validatorian: halorgium: unfortunately. That's the cost of using technology that is newish ;) [00:41] halorgium: Validatorian: ESI perhaps? [00:41] polotek: technoweenie: node-router will let you route requests [00:41] polotek: after that it's pretty raw [00:41] technoweenie: i may look at that [00:41] technoweenie: Validatorian: oh nvm thats not good, hold on [00:42] halorgium: technoweenie: is that the _original_ "howtonginxmongrel" ? ;) [00:42] technoweenie: halorgium: ezra's blog is still google result #1 [00:42] halorgium: lol [00:43] gingivitis: hey guys, does anyone know of any guides on how to do this whole async thing nicely? e.g. if i want 3 queries to run simultaneously to form a single result does it involve a horrible "OH HAI YOU DONT YET?" loop or is there a better way? [00:43] gingivitis: -dont +done [00:44] technoweenie: Validatorian: https://gist.github.com/d95c2d58692a1144b8b2 pay attention to 43-53 [00:44] technoweenie: you set your upstream above (see the noderocks area) [00:45] technoweenie: so if you go to mysite.com/foo/bar it'll look for path/to/public/foo/bar and path/to/public/foo/bar/index.html [00:45] tmpvar: has anyone seen anything like this before? http://gist.github.com/418665 [00:45] technoweenie: Validatorian: so you just have to make sure your node script writes that structure [00:46] technoweenie: it'll also automatically work for things like images/css/js. just put them in path/to/public/images/foo.jpg or whatever [00:46] polotek: gingivitis: this is a good article about the general approach. http://howtonode.org/do-it-fast [00:47] polotek: Do has been deprecated in favor of the Step library [00:47] Validatorian: I must have a fundamental misunderstanding -- how do non-dynamic assets (js, css, images, etc) tie in? [00:47] polotek: http://github.com/creationix/step [00:47] gingivitis: polotek: great, thanks :) [00:47] Validatorian: tie into node, that is [00:47] Validatorian: or do you just mean that this script makes nginx handle those as well [00:48] technoweenie: yea [00:48] technoweenie: assuming your node script returns html that has urls like that [00:48] polotek: tmpvar: fun [00:49] polotek: tmpvar no idea what this says [00:49] richcollins has joined the channel [00:49] tmpvar: yeah, im making v8 blow up lol [00:52] Aria has joined the channel [00:54] Tim_Smart has joined the channel [00:56] polotek: so when you click the stop button int he browser [00:56] polotek: the underlying socket reads 0 bytes and crlf [00:56] polotek: and it calls the onend callback if one is set [00:57] polotek: in the http wrapper [00:57] polotek: the under lying socket gets an onend callback [00:57] polotek: but all it does is flush the socket and close the http parser [00:57] polotek: doesn't send any events that you can catch [01:02] _announcer: Twitter: "Doing some sanity hacking on node.js....this server-side JS thing intrigues me"-- Matt Stine. http://twitter.com/mstine/status/15009226822 [01:02] isaacs: Validatorian: yes, if i were to do it again, i'd use varnish instead of nginx as a front-end proxy [01:03] isaacs: and just run nginx as one of the back-end servers behind varnish to serve static files. [01:03] polotek: isaacs: that sounds like a pretty awesome setup [01:03] mpoz2 has joined the channel [01:04] polotek: oh isaacs did you see my deal a second ago about http and browser stop? [01:04] isaacs: polotek: yes, sadly, it's not the one i built, and it's one fo those things that takes *at least* an afternoon of tedium to get all sorted out. [01:04] isaacs: polotek: no [01:04] polotek: don't know if you know anything about this, but you've helped out some with http.js right? [01:05] polotek: I'm sending a stream to the browser and I want to get an event if the stop button is clicked before the stream is done [01:08] mitkok has joined the channel [01:14] polotek: Got it [01:15] polotek: So when the socket reads empty data and crlf it calls the onend callback [01:15] polotek: which calls socket.end [01:15] polotek: right now there's no good way to surface that on either the req or res object [01:15] polotek: but you can access the socket directly through req.connection [01:15] polotek: and add and "end" listener there [01:16] polotek: that works as expected [01:16] polotek: or at least it works for what I"m doing [01:16] polotek: no idea if it's "as expected" [01:25] joshthecoder has joined the channel [01:26] Validatorian: isaacs: that's my plan, to use nginx for the static files and use varnish as the proxy (still not sure what that means, but not ready to tackle yet) -- but I'm confused on what I would use for the http server for the dynamic files? You advised against using nginx, but as varnish is just a proxy, I'm not sure I understand how the files will be served? [01:28] linuxsable has joined the channel [01:29] Validatorian: hopefully when I am ready to have the front-end (few weeks) someone will be using this exact config, and I can just steal their work :) [01:30] jedschmidt has joined the channel [01:32] polotek: Validatorian: vanish is a caching proxy server [01:32] polotek: so requests come in to varnish [01:33] polotek: if it has the response cached in memory, it sends it back [01:33] polotek: vary fast [01:33] polotek: if not, it'll forward the request to an upstream server [01:33] polotek: then get the response and cache it going forward [01:33] polotek: so for your static files, you have varnish foward to nginx [01:33] polotek: for your dynamic files you have it point to node [01:34] Validatorian: polotek: that makes sense, but not sure what isaacs had in mind to use as the server for the dynamic date, as, if I recall correctly, he said not to use nginx [01:34] Validatorian: maybe just node? [01:34] polotek: yeah, just node [01:34] Validatorian: scary. [01:34] polotek: yeah, [01:34] polotek: you could also keep nginx in front of node as well [01:35] polotek: but that means your dynamic requests would always go through 2 layers [01:35] polotek: varnish and nginx [01:35] polotek: to get to node [01:35] Validatorian: performance is extremely crucial, but it counts for nothing if it's not reliable :) [01:35] polotek: indeed [01:35] Validatorian: 300k request/second is awesome, but not when it only has 80% uptime ;) [01:36] polotek: 3000 req/sec you mean? [01:36] Validatorian: just throwing something out there [01:36] polotek: yeah [01:38] richcollins has joined the channel [01:46] mattly has joined the channel [01:46] JimBastard has joined the channel [01:47] SteveDekorte has joined the channel [01:48] mattly has joined the channel [01:50] smtlaissezfaire has joined the channel [01:50] [[zz]] has joined the channel [01:53] frosty has joined the channel [01:58] ezmobius has joined the channel [02:00] frostyfreeze has joined the channel [02:00] bradleymeck: does node-htmlparser degrade quickly with size? [02:04] bradleymeck: nevermind mmmmm, does node have a js profiler (even enabling v8 [02:05] bradleymeck: 's) [02:06] saikat has joined the channel [02:06] charlesjolley_ has joined the channel [02:06] stevendavie has joined the channel [02:08] polotek: bradleymeck: you can enable the v8 profiler by passing --prof --prof-auto to node [02:08] polotek: which gets passed through to v8 [02:09] polotek: I haven't used it at all though so can't give you any info [02:09] alexiskander has joined the channel [02:09] polotek: isaacs: you still around? [02:14] JimBastard: no...moar...javascript-fu lol [02:16] frostyfreeze: hmm, when I do "git submodule update --init" to install express, it just gives me the usage..... [02:16] JimBastard: ohh i think express is a php application [02:16] polotek: lol [02:17] JimBastard: but seriously, i think if you follow the instructions it will work [02:17] bradleymeck: jim you giving up on javascript-fu? [02:17] JimBastard: hell no [02:17] JimBastard: i think ive got the five disciplines set [02:17] JimBastard: im going through the API now, seeing whats missing / needs to be changed [02:17] JimBastard: http://github.com/marak/javascript-fu [02:18] JimBastard: i added the 5th (and forbidden fu) last night [02:19] JimBastard: (dont bother cloning, its not done / released) [02:19] bradleymeck: i have an older type conversion system lying around based upon mime-types that looks a lot like your stuff, but im not sure how to combine the 2 ideas lol, im in no rush to grab it til i can figure that out [02:20] JimBastard: huh mimetypes? [02:21] bradleymeck: it did something like associate types with false mimes so a dom element in browser had a false mime of "dom/element" [02:21] JimBastard: linqFu - the forbidden art of querying JSON with LINQ, liberated from...microsoft [02:21] JimBastard: interesting [02:22] bradleymeck: and would try to convert that to w/e you could get as a chain of registered mime type conversions [02:22] SvenDowideit_ has joined the channel [02:23] charlesjolley_ has joined the channel [02:23] bradleymeck: so dom/elem to string might take the innerHtml and if you had a documentFragment and could somehow convert it to a dom/elem it would find the bridge and do dom/docFrag -> dom/elem -> text/plain, was waaay to complex for speed if you had really long chains, tried to cache stuff to make it faster but still, was abandoned for now [02:24] JimBastard: yeah we have fu.getNode() [02:24] JimBastard: it looks for queryselectall [02:24] JimBastard: and then $ [02:24] JimBastard: then it fails [02:24] JimBastard: i could do a simple getElementByID or something [02:24] JimBastard: i dont care [02:25] JimBastard: not really important [02:25] bradleymeck: fu.getNode attempts to make it a dom node? [02:26] bradleymeck: or wait, it tries to grab a matching node with the arguments as the filter, i get it [02:28] xla has joined the channel [02:32] JimBastard: fu.getNode is a very minor API feature [02:32] JimBastard: its more of a connivence to wrap your existing dom selection method [02:32] JimBastard: plus you can chain it [02:32] JimBastard: hrmm, i should make all fu methods chainable by default [02:32] JimBastard: i have toChain() [02:33] polotek: +1 to chainable [02:33] JimBastard: which will monkey punch any existing function to a chain [02:33] JimBastard: but i could easily chain all fu methods by default [02:33] JimBastard: toChain would still do its thing on other non library methods if you wanted [02:33] JimBastard: the linqFu stuff will chain by default [02:33] JimBastard: awesome [02:34] JimBastard: i might be able to finalize the API tonight. dunno how long it will take to implement [02:34] bradleymeck: does toChain handle my functions that return undefined as well as that return values? [02:34] JimBastard: sup [02:34] JimBastard: undefined is a value [02:34] JimBastard: as in, you can return it [02:34] JimBastard: and test for it [02:34] JimBastard: its just a simple chain [02:34] deanlandolt: and assign to it [02:34] JimBastard: im not inventing this shit [02:34] deanlandolt: (jswtf ftw) [02:35] JimBastard: hee hee [02:35] JimBastard: deanlandolt: the unit tests for js-fu are jswtf all the way [02:35] JimBastard: we have to test and trap all those funky conditions [02:35] JimBastard: (well not the extreeeme ones) [02:35] JimBastard: but you know what im saying [02:38] JimBastard: bradleymeck: http://gist.github.com/416350 [02:38] JimBastard: thats the toChain example i think [02:38] JimBastard: confirm isnt the greatest method but you'll get the idea [02:43] linuxsable has joined the channel [02:44] devinus-ipad has joined the channel [02:44] _announcer: Twitter: "#nodejs v0.1.97 released http://groups.google.com/group/nodejs/browse_thread/thread/d4a70796fee75bd4"-- Ryan Dahl. http://twitter.com/ryah/status/15014409641 [02:44] tmpvar: dude, JimBastard that is insane [02:44] JimBastard: ? [02:44] jedschmidt has joined the channel [02:45] JimBastard: http://i46.tinypic.com/8yuayp.jpg ? [02:45] JimBastard: obviously photoshop lol [02:45] tmpvar: lol [02:46] ryah: wat? :P [02:46] pavelz: lol [02:46] JimBastard: did you not see that ryah ahahaha [02:46] devinus-ipad has joined the channel [02:48] ryah: going to do some windows hacking [02:49] polotek: wow, halorgium's tweet stream parser works way better than mine :) [02:49] polotek: ryah: don't do it, it's a holiday weekend man [02:49] aconbere: hmpf [02:53] mscdex: man... i leave for several hours and a new version of node.js is released in my absence! [02:53] tmpvar: ryah, good luck :) [02:56] CIA-76: node: 03Ryan Dahl 07master * r16818ff 10/ doc/api.markdown : Remove throttling bug notes - http://bit.ly/9RyEP3 [02:56] CIA-76: node: 03Ryan Dahl 07master * r0c1aa36 10/ (AUTHORS ChangeLog doc/api_header.html doc/index.html wscript): bump version - http://bit.ly/d9aIqm [02:59] fictorial has left the channel [03:00] fictorial has joined the channel [03:00] tmpvar: I'm not sure if glfw is going to work for node-ogl. damn. [03:00] tmpvar: its segfaulting and displaying corrupted buffers on osx [03:10] _announcer: Twitter: "@eyuzwa right now I'm playing with node.js"-- Matt Stine. http://twitter.com/mstine/status/15015820752 [03:13] polotek has joined the channel [03:17] isaacs: polotek: hey [03:17] SamuraiJack has joined the channel [03:17] polotek: yeah [03:17] isaacs: polotek: you should push libxmljs to the npm registry [03:17] polotek: yeah I know. I was hoping to get 4.0 out first [03:17] creationix has joined the channel [03:17] polotek: you gonna be around tomorrow? [03:18] isaacs: screw that. publish now, and then publish again when you get 0.4.0 out [03:18] isaacs: no, i'll be out of the country until June 7. offline, unplugged, no cell coverage. [03:18] isaacs: overdue :) [03:19] creationix: Have fun [03:19] polotek: word [03:19] creationix: I'll be out of the county too, but not unplugged [03:19] isaacs: creationix: yeah, i saw the tweet. [03:19] isaacs: what's sdc? [03:19] isaacs: *swdc [03:20] isaacs: oh, hey, that's the thing with the funky mouseover doohickey on the site. [03:20] creationix has joined the channel [03:21] mscdex: ha [03:21] mscdex: doohickey [03:21] creationix: Alright, got the bluetooth keyboard paired with the ipad [03:21] technoweenie: hey creationix: rumor has it that you're working on some web framework [03:22] creationix: technoweenie: yeah, it was supposed to open source today [03:22] polotek: creationix: then what happened? [03:22] technoweenie: oh no, dont give me an excuse! [03:22] creationix: but I'm not the github admin for extjs, si I can't switch the account to public [03:22] mscdex: then the ipad arrived :P [03:22] polotek: creationix: is it based on some of the stuff we talked about the other day? [03:22] polotek: or is this totally separate? [03:22] technoweenie: doh [03:22] creationix: polotek: yeah, but a little simpler [03:23] technoweenie: push it to your own user :) [03:23] polotek: I've changed a few of my thoughts on it as well [03:23] polotek: looking forward to seeing it [03:23] creationix: technoweenie, no then I'll get the followers, it's an extjs project since they paid me to work on it [03:23] _announcer: Twitter: "@rsnewson Looks like we got full HTTP throttling in node.js now. _attachments streaming ftw."-- Randall Leeds. http://twitter.com/tilgovi/status/15016551459 [03:23] polotek: technoweenie is looking for alternative to fab/express [03:23] creationix: I'll be using it as the backend for my two demos this week [03:23] technoweenie: cool [03:24] technoweenie: yea i'm playing around w/ node-router atm [03:24] creationix: my framework it called connect, it completely obsoletes node-router [03:24] creationix: way better and more flexible [03:24] technoweenie: cool [03:25] creationix: it has several middleware layers built in and you can stack them up like a rack up config [03:25] creationix: one for static file serving, one for gzipping output, one for 304 responses on conditional get requests... [03:26] technoweenie: cool [03:27] Validatorian: creationix: does it come with thorough documentation? :'( [03:27] polotek has joined the channel [03:27] polotek: wow [03:27] creationix: not yet, but it will [03:27] technoweenie: Validatorian: hah, what oss project does [03:27] ryah: creationix: you made it to the airport ok? [03:27] polotek: mbp totally froze [03:27] ryah: creationix: did you see us in the train? :D [03:27] creationix: ryah, yeah I'm boarding in 20 minutes [03:27] technoweenie: (in the initial version) [03:27] polotek: but it's ridiculous how fast this thing boots back up [03:27] creationix: ryah I did [03:28] creationix: heh, I'm surprized how well this ipad works for irc [03:28] Validatorian: technoweenie: first time for everything ;) [03:28] creationix: my nexus one sucks for chatting [03:28] technoweenie: what app? [03:28] technoweenie: i use linkinus on the ipad [03:29] technoweenie: if it had background apps it'd be perfect [03:29] creationix: I'm using colloquy, it seems nice enough [03:29] creationix: especially with my external keyboard [03:29] polotek: colloquy is nice on iphone os [03:29] creationix: but the ipad keyboard isn't bad either [03:29] creationix: hmm, looks like I'mm be boarding sooner than expected [03:29] creationix: time to pack up stuff [03:29] technoweenie: yea, if i could run irc/web/twitter at once on the ipad it'd be perfect [03:29] technoweenie: have a good flight [03:30] creationix: see everyone tomorrow afternoon when I have wifi again... [03:30] ceej: as soon as they release 4.0 the ipad is going to get 100x better [03:30] ryah: creationix: have fun [03:30] polotek: ryah: you guys are still working on updating http right? [03:31] ryah: polotek: ? [03:31] polotek: I was working on some streaming stuff earlier [03:31] _announcer: Twitter: "Making node.js say hello world!"-- krisread. http://twitter.com/krisread/status/15017012315 [03:31] polotek: and realized that you don't get an end or close event when the browser closes the connection [03:31] polotek: not sure if that type of stuff is still in progress [03:31] polotek: or if you want a ticket for it [03:32] ryah: polotek: req.connection does [03:32] ryah: i guess we should proxy that to the req object [03:32] polotek: yeah I figured that out after some trial and error [03:32] polotek: yeah basically [03:32] polotek: I looked at it [03:32] ryah: sure, i'll take a ticket for it [03:32] smtlaissezfaire has joined the channel [03:32] polotek: the way it's set up right now it doesn't look easy to do that proxy [03:33] polotek: socket.onend is set up before any of the request stuff is [03:34] ryah: shouldn't be too bad [03:34] ryah: i think the main thing is that there isn't a list of incoming messages anywhere [03:35] polotek: what do you mean? [03:35] ryah: incoming requests [03:35] polotek: oh, yeah [03:35] vnguyen has joined the channel [03:36] polotek: ryah: did you guys get anywhere with pump earlier? [03:36] _announcer: Twitter: "@rauchg yeah, the code base from 0.1.90 switch is getting moderately stable now. a few more weeks. #nodejs"-- Ryan Dahl. http://twitter.com/ryah/status/15017293773 [03:36] ryah: polotek: still not working [03:37] ryah: but i'll land it soon working or not [03:38] bradleymeck has joined the channel [03:38] polotek: was interested in the bytelength weirdness [03:38] polotek: okay isaacs I'll push libxmljs tonight [03:38] isaacs: polotek: awesome [03:39] isaacs: polotek: make sure ot update npm first [03:39] polotek: 4.0 still won't be done this weekend, unless a miracle happens [03:39] isaacs: polotek: hopefully this won't be an issue soon. that was a *painful* bug. [03:39] polotek: what's the proper way to specify the libxml dependency? [03:39] isaacs: polotek: have a pre-install script that does the lookup. [03:39] polotek: which bug? [03:39] isaacs: "scripts" : { "preinstall" : "./make-sure-libxml-is-there.sh" } or something [03:40] isaacs: polotek: the race condition in using buffers to communicate between http and fs. [03:40] ryah: man. i wish i could just ssh into windows... [03:40] ryah: or telnet.. [03:40] polotek: if preinstall returns error code it won't do the install? [03:40] isaacs: polotek: right [03:40] polotek: isaacs: oh you're talking about pump. didn't know you guys had tracked it down that far [03:41] isaacs: polotek: once pump lands, i'm gonna use that. for now, i'm using buffers directly, and illustrating exactly *why* you don't want to do that. [03:41] polotek: ryah: cygwin? [03:41] ryah: msys [03:41] polotek: no I mean can you run sshd through cygwin and connect to that? [03:45] stepheneb has joined the channel [03:45] polotek: npm install npm [03:45] polotek: tar error [03:45] polotek: decompression failed [03:45] polotek: isaacs^ [03:46] bradleymeck: ryah, does the v8 profiler need something to output to a log file (the --prof and --prof-auto opts on node dont seem to gen a log) [03:46] gingivitis has joined the channel [03:46] ryah: bradleymeck: it makes v8.log [03:46] ryah: polotek: i dont want to corrupt my environment with cygwin [03:46] Aria: I have to specify --logfile=v8.log on my system to get it to write the log [03:47] bradleymeck: that fixed it thanks aria [03:47] polotek: ryah: it's already windows isn't it? ;) [03:48] bradleymeck: yea, but cygwin is painful at best when ive used it [03:48] polotek: depends on what you need it for [03:48] polotek: it's less painful for me than trying to be productive with only windows tools [03:49] ryah: man, i would really love if i could have a remote msys shell i could ssh into [03:50] bradleymeck: mmm i think there was one somewhere, one sec it was odd though [03:50] ryah: it's just so painful typing in this little vmware window [03:54] alexiskander has joined the channel [03:56] bradleymeck: mmmm can only find a remote desktop think from x to win [04:00] _announcer: Twitter: "Tinkered with NodeJS for a few hours. Watched a talk deliver by @ryah about his baby. Went back and rewrote the script in 10 minutes. <3"-- Dylan Wreggelsworth. http://twitter.com/dylanrw/status/15018521591 [04:01] polotek: nice^ [04:04] ryah: checking for select... no [04:04] ryah: oh... so painful [04:05] bradleymeck: ryah -> http://www.freesshd.com/index.php?ctt=overviewr [04:14] mjr_ has left the channel [04:14] mjr_ has joined the channel [04:15] mrjjwright has joined the channel [04:16] smtlaissezfaire has joined the channel [04:26] saikat has joined the channel [04:34] stevendavie has joined the channel [04:34] inimino: paul_irish: thanks [04:49] nsm has joined the channel [04:51] JimBastard has joined the channel [04:52] JimBastard: man the bodegas where i live are soo racist, they fucking hate white people [04:52] JimBastard: or maybe just me, i havent figured it out yet [04:53] jsilver has joined the channel [05:00] polotek: JimBastard: they probably hate you and white people [05:00] JimBastard: lol [05:00] JimBastard: truth [05:01] JimBastard: i do walk in there a lot looking unshaven and confused at 3am buying redbulls and dutch masters [05:01] ceej- has joined the channel [05:01] JimBastard: usually mumbling about javascript [05:01] JimBastard: :-D [05:02] JimBastard: polotek: what libs you working on these days [05:02] polotek: same [05:02] polotek: evented-twitter (right now) [05:02] polotek: libxmljs [05:02] polotek: also want to help creationix with his new framework [05:02] JimBastard: libxml is for parsing html and xml in js right [05:02] polotek: but he won't release the damn thing [05:02] polotek: yeah [05:02] JimBastard: cool [05:03] polotek: comes with a dom too [05:03] JimBastard: what framework is tim messing with [05:03] JimBastard: web application? [05:03] polotek: it's nice, but needs some work [05:03] polotek: to fix memory issues [05:03] polotek: yeah web [05:03] JimBastard: are you using jsdom? [05:03] ceej- has joined the channel [05:03] JimBastard: cloudhead and i have been working on a web framework for a hot minute [05:03] polotek: no, libxmljs has its own dom [05:03] JimBastard: building off the work we did with biggie [05:03] polotek: with a minimal api [05:03] JimBastard: got ya [05:03] polotek: doesn't comform to w3c [05:03] polotek: yet [05:03] polotek: it's just wrapped around libxml [05:04] ceej-: what's the best way to gracefully restart your node.js server? [05:04] JimBastard: ceej-: ctrl-c ? lol [05:04] polotek: yeah we need some that aren't as monolithic as express [05:04] JimBastard: polotek: have you checked out cloudhead's stuff? [05:04] ceej-: hu? [05:04] JimBastard: our system is very very decoupled [05:04] polotek: ceej: you should look into one of the daemonizer modules [05:04] polotek: nah [05:04] JimBastard: ive been building the behavior library on the front for doing UI [05:04] polotek: where is it? [05:04] JimBastard: check out journey and resourcer [05:05] JimBastard: those are two of the big backend pieces [05:05] JimBastard: theres a bunch of stuff [05:05] polotek: ah, yeah journey is on my list of stuff to take a look at [05:05] ceej-: I remember someone posted one of those before but I forgot to save the link [05:05] JimBastard: you should go through some of the repos [05:05] JimBastard: alexis is a pretty fucking solid programmer [05:05] JimBastard: weve been talking a bit on skype [05:06] joshbuddy has joined the channel [05:07] polotek: word [05:09] JimBastard: but yeah, we are gonna do a pimp ass app [05:09] JimBastard: with all client-side rendering [05:09] JimBastard: im doing the behaviors stuff like i said [05:10] JimBastard: ajax navigation [05:10] JimBastard: all that [05:10] JimBastard: javascript-fu will help a bunch [05:10] polotek: so you're build blocks right now [05:10] JimBastard: aye [05:10] JimBastard: we mapped out the blocks a few months ago with biggie [05:10] JimBastard: revisted it and replanned [05:10] JimBastard: started building [05:12] JimBastard: nice, i got the realie guy on gchat [05:12] JimBastard: ive been yellsourcing at him [05:12] polotek: nice [05:12] polotek: what is biggie? [05:13] JimBastard: codename for framework [05:13] JimBastard: been in the making for a long time [05:13] JimBastard: started out as just a front-end app [05:13] JimBastard: maybe a year and a half ago [05:13] JimBastard: its just the idea of taking all the good components and modules and gluing them into a web framework [05:13] JimBastard: make it a stack [05:13] JimBastard: and biggie controls it all [05:14] polotek: how do you configure the stack? [05:14] ceej-: so there's no easy way right now to update your node.js server without killing it first? [05:14] JimBastard: sounds like a problem to be solved once all the pieces are built [05:14] JimBastard: yo ceej- [05:14] JimBastard: you want hot reloading? [05:14] JimBastard: so you dont have to restart node everytime you make a change? [05:15] ceej-: ye..... [05:15] JimBastard: http://github.com/isaacs/node-supervisor [05:15] JimBastard: there are solutions [05:15] JimBastard: check that one first [05:15] JimBastard: then if that dont work, read the wiki page for node [05:15] JimBastard: and the modules page [05:15] JimBastard: ?case closed ? [05:16] ceej-: hmmm no info in the read me on how to use...... [05:17] ceej-: just node supervisor.js? [05:17] ceej-: inside your app folder? [05:19] JimBastard: Simple Install Install npm, and then do this: npm install supervisor You don't even need to download or fork this repo at all. [05:19] JimBastard: ceej-: i gotta warn you im not the person to be asking those types of questions to [05:19] JimBastard: im not helpful or friendly [05:19] JimBastard: sorry [05:19] JimBastard: you read now [05:21] ceej-: lol I did read... your name :) [05:22] ceej-: thank you for pointing me to those I'm sure I'll figure it out [05:22] JimBastard: you should install npm on principle [05:22] JimBastard: will safe you some trouble [05:22] JimBastard: save you [05:22] tmpvar: ive been meaning to use it [05:22] tmpvar: time. blarg. [05:23] polotek: npm really is nice [05:23] polotek: e [05:23] mikeal has joined the channel [05:23] polotek: especially for libs you are actively changing or that get updated often [05:30] ceej-: hmmmm there's really no solid solution at the moment..... the only way would be to use a type of load balancer switching the servers [05:32] JimBastard: lol [05:32] JimBastard: ceej-: whats so bad about the repl + ctrl-c [05:32] JimBastard: what are you trying to do? [05:34] vnguyen: ceej-: i might have a snippet that will auto-reload your node app if you update the main file; is that what you're looking for? [05:35] ceej-: doh the node.js API doesn't work on the iPad [05:35] ceej-: just at the moment if I update and of the server files I have to kill the node server and restart to see the changes [05:36] vnguyen: ceej-: what os are you running on? [05:37] ceej-: dev Mac, prod ubuntu [05:37] vnguyen: ceej-: on ubuntu, you can use upstart or sysV/service to stop/start your instance [05:38] vnguyen: so that it'd be automatic [05:38] vnguyen: or is that not what you want? [05:38] vnguyen: it'd be more automatic* [05:38] ceej-: so the users wouldn't see the site as down on a restart to update the server code? [05:40] JimBastard: hotmodule swap [05:40] JimBastard: there is code out there for this [05:43] vnguyen: if you're using nginx, you could keep separate folders, run the new one on a separate port, edit nginx to forward port 80 to the new one and restart nginx; this assumes nginx restarts faster than your app though [05:43] stevendavie has joined the channel [05:44] stevendavie has joined the channel [05:52] ceej- has joined the channel [05:54] JimBastard: im thinking of starting a nyc node meetup [05:54] JimBastard: i should float that on the mailing list tommorow [06:00] smtlaissezfaire: JimBastard: That would be cool. Who would host it? [06:00] JimBastard: im sure i could find a spot in manhattan. [06:00] JimBastard: it would be about getting bodies to go [06:01] JimBastard: im thinking i want to do a 30 minute nodejs noob talk and then move into building a nodejs app [06:01] ceej- has joined the channel [06:01] JimBastard: stir up some interest [06:01] smtlaissezfaire: I'm sure eastmedia would be up for hosting it. [06:02] JimBastard: where is that at? [06:02] JimBastard: how many peeps? [06:02] smtlaissezfaire: 24th & 5th - a few blocks from the pivotal offices. [06:02] smtlaissezfaire: I'd have to talk to my bosses, but I'm guessing they would probably be cool with it. [06:03] shajith has joined the channel [06:03] smtlaissezfaire: How many peeps? [06:03] smtlaissezfaire: You mean how many could we hold? [06:04] JimBastard: yes [06:04] smtlaissezfaire: How many do you think would show up? [06:04] JimBastard: ill reach out to some people over the next few days, see what i can do [06:05] smtlaissezfaire: I think our conference room would probably be too small, but there's sort of an open area with a couch and a few chairs by the door way. [06:06] smtlaissezfaire: Post to the nyc mailing list. I'd bet we could host it at pivotal again. [06:07] mrjjwright has joined the channel [06:11] saikat has joined the channel [06:15] ditesh|cassini has joined the channel [06:15] mikeal has joined the channel [06:19] danfo has joined the channel [06:21] saikat has joined the channel [06:25] bpot has joined the channel [06:25] JimBastard: raaawwrrrrrr moooaaarrr docssss [06:25] JimBastard: http://github.com/Marak/javascript-fu [06:26] JimBastard: javascript-fu is the culmination of years of training in the archaic art of javascript. through meticulously studying the following ancient scrolls we have divined the ultimate form of javascript martial arts. [06:27] tjgillies: anyone know if socket.io works on iphone? [06:27] tjgillies: im testing it but it connections and then disconnects [06:28] tjgillies: might just be me though [06:28] smtlaissezfaire has joined the channel [06:28] tjgillies: s/connections/connects/ [06:28] saikat has joined the channel [06:28] JimBastard: not sure tjgillies [06:33] saikat has joined the channel [06:39] smtlaissezfaire_ has joined the channel [06:43] micheil: tjgillies: see my reply on the mailing list [06:47] fizx has joined the channel [06:47] tjgillies: micheil: yeah that wasn't the problem [06:48] tjgillies: guillermo solved it for me [06:48] tjgillies: ooh just saw you wrote a new response [06:48] micheil: okay [06:48] micheil: tjgillies: yeah, If i had the money, I'd add a 100$ bounty to have websockets native to phonegap. [06:51] tjgillies: ooo phonegap looks cool [06:51] tjgillies: never really looked at it before [06:56] micheil: yeah, phonegap is awesome [06:56] micheil: the guys at Uxebu use it a lot (that's how I got introduced to it) [07:11] danfo: anyone familiar with mongoose? I can't for the life of me work out how to deal with no record found [07:18] saikat` has joined the channel [07:25] _announcer: Twitter: "@hussainweb Nice to know that you liked it. For next meetup, I am planning to talk about either node.js or about using PHP in nginx. #blrphp"-- Sudar. http://twitter.com/sudarmuthu/status/15027235217 [07:27] tjgillies: is port required on http.createclient? [07:27] polotek: tjgillies: I believe so [07:31] stagas has joined the channel [07:42] ako has joined the channel [07:43] stagas has joined the channel [07:44] stagas has joined the channel [07:44] hassox has joined the channel [07:45] softdrink has joined the channel [07:46] polotek has left the channel [07:55] mattly has joined the channel [07:55] aconbere has joined the channel [08:02] felixge has joined the channel [08:02] felixge has joined the channel [08:03] b_erb has joined the channel [08:04] soko has joined the channel [08:17] hassox has joined the channel [08:25] admc has joined the channel [08:31] _announcer: Twitter: "Node.js on Windows using Portable Ubuntu Linux http://bit.ly/9hCjHO"-- George Stagas. http://twitter.com/stagas/status/15029536309 [08:41] mitkok has joined the channel [08:42] _announcer: Twitter: "The good news is node.js is *fast*. The bad news I can't generate tests in PHP fast enough to max it out. hehe #nodejs"-- Benson Wong. http://twitter.com/mostlygeek/status/15029897936 [08:47] unom1 has joined the channel [08:52] _announcer: Twitter: "@zerigo I don't "need" it, yet curious what you have in mind... A blog post, perhaps? Webapp = ruby or node.js -- any libs for me? :)"-- Orlin M Bozhinov. http://twitter.com/orlin/status/15030229724 [08:55] Nohryb has joined the channel [08:57] unom1 has joined the channel [09:07] ewdafa has joined the channel [09:10] DracoBlue has joined the channel [09:11] _announcer: Twitter: "Node.js is a good thing, unfortunately Windows is not a bird on the play, it seems to install Linux a ~ ~" [zh-CN]-- Yuhang Ge. http://twitter.com/abeyuhang/status/15030870233 [09:15] Validatorian has joined the channel [09:17] unom1 has joined the channel [09:19] markwubben has joined the channel [09:27] _announcer: Twitter: "Then I write out my slides for tomorrow in # # webmontag ulm node.js about #" [de]-- Benjamin Erb. http://twitter.com/b_erb/status/15031387798 [09:41] _announcer: Twitter: "Loading bar loading bar ... RT @ abeyuhang: Node.js is a good thing, unfortunately not a bird to play on Windows, Linux appears to install a ~ ~" [zh-CN]-- Xinyang Ge. http://twitter.com/aegiryy/status/15031887456 [09:47] rnewson has joined the channel [09:51] derbumi has joined the channel [09:51] Gruni has joined the channel [09:53] ewdafa has joined the channel [09:54] markwubben_ has joined the channel [09:55] unom1 has joined the channel [09:57] _announcer: Twitter: "Yes, in the case with Python dependency resolution is much better than in node.js. .." [ru]-- myfreeweb. http://twitter.com/myfreeweb/status/15032392028 [10:05] derbumi has joined the channel [10:05] SvenDowideit_ has joined the channel [10:08] statim has joined the channel [10:08] unom1 has joined the channel [10:12] _cheerios has joined the channel [10:12] _announcer: Twitter: "@ Myfreeweb Can you explain in a nutshell, what so steep that node.js, that everyone is talking about him?" [ru]-- Alek$. http://twitter.com/Nevkontakte/status/15032920513 [10:14] dridge has joined the channel [10:16] mpoz2 has joined the channel [10:16] _announcer: Twitter: "Very good presentation to understand "Node.js" by @ryah - the creator http://bit.ly/cPPu1S"-- maxgrinev. http://twitter.com/maxgrinev/status/15033073370 [10:17] _announcer: Twitter: "#python #distutils VS #setuptools is nothing compared with #nodejs #kiwi VS #npm. first ones work with single format, second ones..."-- myfreeweb. http://twitter.com/myfreeweb_en/status/15033080074 [10:22] statim has left the channel [10:22] unom1 has joined the channel [10:27] Neil has joined the channel [10:27] sid3k has joined the channel [10:29] _announcer: Twitter: "Looking #nodejs video. Very interesting! http://www.yuiblog.com/blog/2010/05/20/video-dahl/"-- Raphael. http://twitter.com/raphinou/status/15033486692 [10:29] sid3k: hi all. I'm working with 0.1.97 on archlinux and suddenly nodejs start to not start my websocket example application [10:29] sid3k: simply, it doesn't server my server. no error messages, no warnings.. [10:31] micheil: hmm [10:31] micheil: sid3k: are you using a websocket library? [10:31] sid3k: nope [10:32] micheil: okay [10:32] micheil: do you not get any interaction with the client, or does the server not start? [10:33] micheil: like, does node exit as soon as you start it or? [10:33] tjgillies: how do you inspect an object? puts objectname is giving me an unexpected identifier error [10:34] sid3k: micheil: here is the code I'm trying: http://gist.github.com/418942 [10:34] sid3k: micheil: I don't think so [10:34] micheil: okay.. [10:35] pdelgallego has joined the channel [10:35] _announcer: Twitter: "Thinking real-time web apps trully opens up your mind - #nodejs #node.js http://bit.ly/9i4bXE"-- George Stagas. http://twitter.com/stagas/status/15033705869 [10:35] sid3k: I'm planning to use nodejs in my next project, the example not working was working yesterday [10:35] sid3k: it's weird, I've compiled from source code nodejs also [10:36] micheil: sid3k: let me check [10:36] sid3k: all right [10:36] micheil: because the websocket protocol has changed, and browsers are updating [10:36] ewdafa has joined the channel [10:36] sid3k: really? poor us! [10:36] micheil: sid3k: okay, first up: use http.js, not net. [10:37] sid3k: all right [10:37] micheil: http.js has had code added to allow upgrade events to be properly upgraded [10:37] micheil: secondly, implementing a websocket server is becoming fairly complicated. [10:37] micheil: I know that Chromium currently uses one of the later specs for websockets, yet a previous stable version of chrome was using draft75 [10:38] danfo has joined the channel [10:38] micheil: to date, only mscdex's sockets.io fork is the only node websocket server to supply draft76+ handshaking [10:38] mscdex: tjgillies: sys.inspect [10:38] micheil: I'm also working on getting it into my own websocket-server [10:39] sid3k: what about the weird problem? [10:39] mscdex: tjgillies: that error sounds like something more serious though [10:39] micheil: sid3k: I'm not sure [10:40] sid3k: does node put any log messages on the system? [10:40] micheil: let me pull the latest version of node.. I'm a bit out of date because I'm working on a new module. [10:40] micheil: sid3k: no, unless you tell it to log something to stdout [10:40] micheil: or stderr [10:40] mscdex: sid3k: you're not sending the sec-websocket-key1 and -key2 headers [10:41] mscdex: er wait nevermind [10:41] kodisha has joined the channel [10:41] mscdex: yeah you should use the http module [10:41] mscdex: and listen for the upgrade event [10:41] sid3k: mscdex: I copied the request/response code from wikipedia [10:42] micheil: generally there's a misconception that websocket servers are easy to implement; this is pretty much 100% false. [10:42] mscdex: true, it's a bit tricky -- especially with this new draft :\ [10:42] micheil: it'll also be dropping due to the sub-type your sending, the address, and a whole bunch of other stuff [10:43] sid3k: micheil: is it because of the cross browser things? [10:43] micheil: mscdex: I'm just praying that they don't go ahead with that ssl type one. [10:43] micheil: sid3k: no, it's because of the protocol. [10:43] mscdex: heh [10:43] mscdex: micheil: i guess that makes us a draft dodger? ;-) [10:44] _announcer: Twitter: "Please, help me break the misconception that WebSocket Servers are easy to implement: Because they're NOT! #nodejs #websockets"-- Micheil Smith. http://twitter.com/miksago/status/15034001972 [10:44] micheil: mscdex: something like that [10:44] micheil: mscdex: I'm wondering if we should combine efforts on a websocket server. [10:44] micheil: so, sockets.io just requires a websocket server that can easily be used standalone. [10:45] micheil: mscdex: but first, I've gotta have dinner. made an awesome desert too. :D [10:45] mscdex: hehe nice [10:45] sid3k: I was planning to code a game which is working on chromium and android's webview widget. I guess it's not a good idea [10:46] mscdex: i'm not sure what all android's browser supports really [10:46] sid3k: it probably doesn't support [10:46] mscdex: and i only have an android 1.6 device to test with [10:50] ezmobius has joined the channel [10:51] derbumi has joined the channel [10:55] SvenDowi- has joined the channel [11:02] rnewson has joined the channel [11:02] rnewson has joined the channel [11:02] rnewson_ has joined the channel [11:02] SvenDowideit_ has joined the channel [11:03] Tim_Smart has joined the channel [11:06] plhw_ has joined the channel [11:10] Nohryb has joined the channel [11:11] qFox has joined the channel [11:12] __sebs has joined the channel [11:14] sechrist_ has joined the channel [11:20] rnewson has joined the channel [11:21] ddddd123 has joined the channel [11:26] Tim_Smart has joined the channel [11:31] _announcer: Twitter: "Node.JS v0.1.97 Version up! http://ow.ly/1RKct OpenBSD ported crossed." [ko]-- A.J. http://twitter.com/andrwj/status/15035719407 [11:33] lolninja has joined the channel [11:33] lolninja: Hello [11:34] ewdafa has joined the channel [11:34] micheil: hi [11:34] unom1 has joined the channel [11:34] lolninja: With nodejs/commonJS is it possible to have static variables within a module? [11:37] stalled has joined the channel [11:37] jbrantly1 has joined the channel [11:37] Tim_Smart: lolninja: Modules get cached, meaning the variables don't change [11:37] Tim_Smart: (between require's) [11:38] lolninja: Oh [11:38] Tim_Smart: So the context gets run once, and the exports cached, then the exports are recycled [11:39] lolninja: so if something gets exported multiple times the variables should remain intact? [11:39] Tim_Smart: Yes, unless a method gets called that modifies the exports [11:40] Connorhd has joined the channel [11:41] lolninja: ahh awesome, I see my mistake now, I was setting a variable to false on assignment, so every time it was exported it was resetting it to false. Thanks [11:41] danfo_ has joined the channel [11:42] ewdafa_ has joined the channel [11:43] rnewson: http Buffer and throttling is working nicely in 0.1.97. [11:43] Tim_Smart: ooo upgrade ime [11:43] Tim_Smart: *time [11:44] ewdafa has joined the channel [11:48] ewdafa has joined the channel [11:49] xla has joined the channel [11:49] ivan has joined the channel [11:52] _announcer: Twitter: "Socket Programming? I probably should have time to Node.JS. Socket.IO-node http://ow.ly/1RKnP" [ko]-- A.J. http://twitter.com/andrwj/status/15036529234 [11:53] unom1 has joined the channel [11:53] sechrist_ has joined the channel [11:55] delijah has joined the channel [11:55] phoenixsol has joined the channel [11:57] phoenixsol: Just wondering... is there a reason for leaving the ':' in the protocol field of a parsed URL object? Is that going to stay there? [11:57] phoenixsol: (might be an odd time to ask ;) [11:58] rnewson has joined the channel [11:58] rnewson has joined the channel [12:00] lolninja has left the channel [12:11] _announcer: Twitter: "I am running a demo of nodejs, websockets, canvas, mongodb and Hummingbird on the train at 3:45 p.m.. # Bx." [no]-- Aslak Hellesøy. http://twitter.com/aslak_hellesoy/status/15037305972 [12:18] plhw_ has joined the channel [12:18] maushu has joined the channel [12:20] mscdex: phoenixsol: i'm not sure why it would be, maybe it's a bug? [12:22] smtlaissezfaire has joined the channel [12:24] unom1 has joined the channel [12:25] _announcer: Twitter: "@ Nevkontakte node.js just cool. Well, it's fast, asynchronous, and in general, a full-fledged language from javascript done." [ru]-- myfreeweb. http://twitter.com/myfreeweb/status/15037935801 [12:34] Tim_Smart1 has joined the channel [12:34] nsm has joined the channel [12:36] maushu: ryah, announcer hasn't crashed ever since. :D [12:38] markwubben_ has joined the channel [12:39] bradleymeck has joined the channel [12:39] _announcer: Twitter: "@ Andrwj If the serialize module is smart .. Ha ha'm nioldeut nodejs based template engine .. Ha ha, like apachd tiles" [ko]-- KyoungTaek Koo 구경택. http://twitter.com/boxersb/status/15038615036 [12:46] phoenixsol: mscdex: it's formatted that way in the docs example, so I don't think so. [12:47] phoenixsol: not a big deal, I just thought it was odd. [12:47] phoenixsol: (it's probably me that's odd, or just under-educated ;) [12:48] mAritz has joined the channel [12:52] nsm has joined the channel [12:54] SvenDowideit has joined the channel [13:07] derbumi has joined the channel [13:15] mikeal has joined the channel [13:16] _announcer: Twitter: "Want: #nodejs utility libraries for strings, dates, arrays, objects and classes. Problem: What should go in, what shouldn't?"-- Felix Geisendörfer. http://twitter.com/felixge/status/15040403183 [13:17] felixge: mikeal: yt? did you guys figure out the pump? [13:17] mikeal: yeah, the bug was in readFileSync [13:33] mscdex: felixge: re: utility libraries, isn't that what JimBastard is working on? [13:37] felixge: mscdex: don't know [13:37] felixge: is he? [13:38] mscdex: felixge: i guess it depends on what specifically you're after, but here's the gh page: http://github.com/Marak/javascript-fu [13:38] sontek has joined the channel [13:40] felixge: mscdex: seems like he just glued a bunch of shit together [13:40] mscdex: lol [13:40] felixge: mscdex: date.js is not prepared to handle various string date formats [13:41] stepheneb has joined the channel [13:41] felixge: I mean, hate PHP all you want - but strtotime() ought to be one of my favorite functions in the universe :) [13:42] mscdex: there's always php.js.org ;-) [13:43] felixge: mscdex: yeah, my friend kevin runs that. But I'm not looking at code without serious unit tests these days anymore ;) [13:43] felixge: mscdex: their strtotime implementation is not a 100% port [13:43] felixge: making sense out of non-sense date strings is a black art and I think you need something as nasty as PHP to do it right [13:43] felixge: :) [13:44] felixge: my specific problem is with date strings from EXIF data, that stuff is terrible [13:44] unom1 has joined the channel [13:44] __sebs: felixge: since i am doing php one of my forst looks exactly what u asked in you last tweet [13:44] __sebs: I'd prefer string handling [13:44] felixge: __sebs: forst? [13:44] __sebs: arrays is ok [13:44] __sebs: forst = first [13:45] __sebs: objects, classes: betetr leave as is [13:45] __sebs: so if you wanna put time in smth: strings [13:46] felixge: __sebs: this is what I use for strings these days: http://gist.github.com/419026 [13:47] _announcer: Twitter: "@ Rhiokim FED haenagal I'll explain in the thread woes. Node.JS later. Addon also, if necessary, seems to be a servant and as an example." [ko]-- A.J. http://twitter.com/andrwj/status/15042108405 [13:49] felixge: wow, the twitter bot translates [13:49] felixge: :) [13:49] felixge: how cool is that? [13:50] mscdex: pretty cool if the translation makes sense ;-) [13:50] felixge: yeah, this one is tough to decipher [13:50] felixge: :D [13:50] felixge: but still better than reading the original tweet [13:50] smtlaissezfaire has joined the channel [13:50] frodenius: I'll <- hehe, needs entity translation [13:50] __sebs: http://de3.php.net/manual/en/ref.strings.php [13:50] mscdex: maybe :P [13:50] __sebs: felixge: what of this list do you need/want ? [13:50] felixge: jedschmidt is a japanese translator [13:51] felixge: now we need to turn him into a node process [13:51] mscdex: heh [13:51] felixge: __sebs: hah, that is not the list I'd be looking at [13:51] felixge: :) [13:51] felixge: at least not from an interface perspective [13:51] __sebs: lol yeah [13:52] __sebs: but from a function point of view [13:52] __sebs: i use it for ages, understand a bit of the source and i anyway put lots of time into node stuff the last and next weeks [13:52] __sebs: so whish and maybe you get something [13:53] mscdex: i had started a wishlist on the node wiki, but it's gone :( [13:53] rnewson has joined the channel [13:54] mscdex: btw -- with UUIDs, isn't there a specific format it has to be in? [13:54] mscdex: at least for version 4 when using random numbers [13:54] mscdex: ? [14:01] _announcer: Twitter: "It's terrifying and fast response :-) @ kyungw00k gamsswa,, Node.JS and WebHook, the both asynchronous web're dragging it into another world.," [ko]-- A.J. http://twitter.com/andrwj/status/15042896381 [14:03] danfo has joined the channel [14:04] _announcer: Twitter: "@node_knockout is following @railsrumble, @nodejs, and @Oprah... I wonder what that could mean? :)"-- railsrumble. http://twitter.com/railsrumble/status/15043085998 [14:11] iheartnodejs has joined the channel [14:15] xla has joined the channel [14:19] deanlandolt_home has joined the channel [14:21] kodisha has joined the channel [14:22] __sebs: ah i know what i can add, i have ltrim and rtrim somewhere on my computer [14:23] _announcer: Twitter: "Related to the presentation slides were JSConf Node.JS http://ow.ly/1RMAg # FED has posted on Saturday, I announced that I had to cut into PDF. Coming right at (but do need stars ..)" [ko]-- A.J. http://twitter.com/andrwj/status/15044210094 [14:24] smtlaissezfaire has joined the channel [14:28] stepheneb has joined the channel [14:28] ewdafa has joined the channel [14:28] ewdafa has joined the channel [14:33] mfeiri_ has joined the channel [14:34] xla has joined the channel [14:39] [[zz]] has joined the channel [14:54] vanstee has joined the channel [14:57] __sebs: hmm what is nodes license? [15:00] felixge has joined the channel [15:00] felixge has joined the channel [15:00] xla has joined the channel [15:02] bradleymeck_ has joined the channel [15:04] richcollins has joined the channel [15:10] nikhil_ has joined the channel [15:16] tjgillies: how do you load modules in node? [15:16] tjgillies: custom ones [15:16] tjgillies: like mongoose [15:17] tjgillies: Cannot find module 'mongoose/mongoose [15:17] tjgillies: i git cloned it [15:19] maushu: ./mongoose/mongoose [15:19] tjgillies: maushu: same thing [15:19] maushu: Then the file is not there. [15:19] maushu: :p [15:20] tjgillies: oh actually i lied [15:20] tjgillies: now it can't find mongodb [15:20] tjgillies: it looked similar, but its different [15:20] tjgillies: thnx [15:21] danfo has joined the channel [15:21] alexiskander has joined the channel [15:22] johanhil has joined the channel [15:22] stevendavie has joined the channel [15:26] tjgillies: whats the best directory to install modules in so its easy for them to play nice? [15:32] mau has joined the channel [15:33] mfeiri_ has joined the channel [15:34] micheil: tjgillies: use something like npm, is the best way, imho. [15:36] malte has joined the channel [15:36] nsm has joined the channel [15:38] jbrantly1: micheil: do you know of a resource that quickly explains the difficulties between draft75 and 76?? [15:38] micheil: not really [15:38] micheil: aisdes from reading the spec. [15:38] micheil: jbrantly1: in short, it now requires a handshake / something thing [15:38] riq has joined the channel [15:39] micheil: sorta like a checksum for the handshake [15:39] tjgillies: micheil: npm? [15:39] micheil: node-package-manager [15:39] micheil: by isaacs on github [15:39] jbrantly1: micheil: thanks [15:39] felixge has joined the channel [15:39] felixge has joined the channel [15:39] micheil: jbrantly1: it's fairly big as far as a security upgrade, and it [15:40] micheil: 's not really simple to implement [15:40] tjgillies: micheil: thnx [15:40] bajeczka has joined the channel [15:43] sveimac has joined the channel [15:44] vanstee: anyone have a suggestion for which node web framework to try? [15:44] jedschmidt has joined the channel [15:46] tjgillies: hrm sadly mongo isn't in npm [15:46] tjgillies: at least not that i can tell [15:47] bradleymeck_: ryah, got your raw terminal and stuff setup, but when exiting it gets kinda wonky after entering raw mode, cant figure out why [15:54] pdelgallego has joined the channel [15:58] Guest20345: vanstee, express. [16:01] rictic has joined the channel [16:05] vanstee: Guest20345, I've tried express, but I haven't been able to get it to run. [16:06] felixge has joined the channel [16:14] _announcer: Twitter: "@royalgeoffrey @illegible has either of you looked at Node.js?"-- Mike Parlee. http://twitter.com/mikeparlee/status/15050639893 [16:25] mfeiri_ has joined the channel [16:28] tmpvar has joined the channel [16:35] dgathright has joined the channel [16:35] creationix has joined the channel [16:37] bradleymeck_ has joined the channel [16:38] felixge_ has joined the channel [16:38] bradleymeck__ has joined the channel [16:44] mrjjwright has joined the channel [16:44] stevendavie has joined the channel [16:47] mikeal has joined the channel [16:53] dgathright has joined the channel [16:58] neynenmo has joined the channel [16:59] _announcer: Twitter: "Sitting on the Bookend Cafe patio, drinking coffee, hacking node.js, being serenaded by folk music #beautifuldayinboulder"-- James Sanders. http://twitter.com/sanderjd/status/15053143355 [17:03] _announcer: Twitter: "@sanderjd I am hacking CoffeeScript/node.js too on this beautiful day in Boulder."-- John Wright. http://twitter.com/mrjjwright/status/15053363134 [17:04] SamuraiJack_ has joined the channel [17:06] rnewson has joined the channel [17:14] rictic has joined the channel [17:29] bradleymeck_ has joined the channel [17:33] Yuffster has joined the channel [17:45] ineation has joined the channel [17:49] sveisvei has joined the channel [17:50] mrjjwright has joined the channel [17:52] JimBastard: felixge_: im working on date.parse() [17:53] JimBastard: js-fu should be ready soon [17:53] ineation has joined the channel [17:53] ineation has left the channel [17:54] mscdex: javascript fu! [17:55] stagas has joined the channel [18:05] Neil has joined the channel [18:06] _announcer: Twitter: "@illegible @mikeparlee @royalgeoffrey I think node.js is a cool experiment. Tornado is pretty damn hot tho."-- James Dennis. http://twitter.com/j2labs/status/15056486260 [18:11] rnewson has joined the channel [18:11] rnewson has joined the channel [18:12] stagas: anyone wants to listen to some music I've up'ed a small deep tech set today: http://snd.sc/a9YKF7 [18:12] stagas: :) [18:13] _announcer: Twitter: "Understanding node.js http://bit.ly/aBDplm << Good post"-- maxgrinev. http://twitter.com/maxgrinev/status/15056777847 [18:16] rektide: who is john wright and why dont i know about him. presumably not john wright, author of the Golden Transcendance trilogy [18:16] rektide: err, series, wasnt a trilogy [18:19] JimBastard: i for one welcome the nodejs experiment [18:19] JimBastard: i only hope one day javascript is becomes as wide spread and well known as python [18:19] JimBastard: LOL [18:19] JimBastard: sammaich time [18:28] joshbuddy has joined the channel [18:31] ryah: bradleymeck_: cool [18:41] javajunky has joined the channel [18:44] mitkok has joined the channel [18:48] JimBastard: felixge_: you still alive? [18:48] mrjjwright has joined the channel [18:49] Aria has joined the channel [18:49] stagas has joined the channel [18:50] maushu has joined the channel [18:58] bajeczka has joined the channel [18:58] malte has joined the channel [19:03] bjartek has joined the channel [19:03] felixge_ has joined the channel [19:04] vnguyen has joined the channel [19:13] mattly has joined the channel [19:14] _announcer: Twitter: "JUDGEMENT Node.mozMatchesSelector http://mzl.la/9vNXyC js # # # mozilla Judgement" [sv]-- Ionuț G. Stan. http://twitter.com/igstan/status/15059557799 [19:15] _announcer: Twitter: "@illegible I'm after the evented I/O. I'm interested in the performance difference between Node.js and other implementations."-- Mike Parlee. http://twitter.com/mikeparlee/status/15059616986 [19:15] _announcer: Twitter: "@onyxfish @eyeseast I've been loving mongodb ever since mongonyc last week. It's really fun and is a good excuse to play w/ nodejs as well."-- Jeff Larson. http://twitter.com/thejefflarson/status/15059617750 [19:19] fizx has joined the channel [19:20] sechrist__ has joined the channel [19:20] fizx has joined the channel [19:24] _announcer: Twitter: "fiddling with javascript/jquery and node.js - feels like Mater's backwards driving. Crazy flexible, but really not what I'm used to"-- Joseph Heck. http://twitter.com/heckj/status/15059993843 [19:25] b_erb has joined the channel [19:28] malte has joined the channel [19:28] _announcer: Twitter: "If we take the value from the 5px node.currentStyle.margin I can take, I feel that it's not working somehow js library. Bug crush over from past or will come up I wish IE9" [ja]-- uupaa. http://twitter.com/uupaa/status/15060195622 [19:29] _announcer: Twitter: "Learning #nodejs spec'ing w NoSpec: http://github.com/marioaquino/example-nodejs-project - Need to hook up growl for pass/fail."-- Mario Aquino. http://twitter.com/MarioAquino/status/15060197808 [19:31] maushu: ...false positive. [19:34] ezmobius has joined the channel [19:37] rnewson has joined the channel [19:37] rnewson has joined the channel [19:38] javajunky has joined the channel [19:47] shajith has joined the channel [19:48] enherit has joined the channel [19:49] mscdex: false positives must not slip through! [19:49] _announcer: Twitter: "HTML + CSS + Javascript + Node.js for my domino game. The flash. The. Quickly." [de]-- Paul Allen. http://twitter.com/xyoni/status/15061086613 [19:53] javajunky has joined the channel [19:58] bpot has joined the channel [20:08] mAritz: is there a module that provides good mail address validation? [20:08] JimBastard: mAritz: you talking about regex, or actually sending an email and seeing its status code? [20:09] mAritz: a combination of regex + mxlookup would be cool :D [20:11] TobiasFar has joined the channel [20:11] _announcer: Twitter: "looking forward at node.js and the javascript EventSource API. awesome jquery implementation http://github.com/rwldrn/jquery-hive"-- grischaandreew. http://twitter.com/grischaandreew/status/15062020288 [20:12] JimBastard: mAritz: thats kinda a tall order [20:12] JimBastard: you'd need an smtp server [20:13] aho has joined the channel [20:13] JimBastard: there is a node smtp module, and i have node_mailer which is a client [20:13] JimBastard: but like, you should just copy paste the 4k email regex [20:13] JimBastard: its everywhere [20:13] mAritz: yeah :/ [20:13] JimBastard: jquery validation plugin has it [20:13] JimBastard: i was thinking about adding validation to JS-FU like, isEmail() [20:14] JimBastard: but thats a slippery slope, there are lots of validators and custom ones [20:15] mAritz: a module with mx lookup would be awesome though. anyone up to writing it? :D [20:16] JimBastard: you dont do mx lookup [20:16] JimBastard: thats the dns module [20:16] JimBastard: if you REALLY want to check email [20:16] JimBastard: you SEND a message to the address [20:16] JimBastard: and see what happens [20:16] JimBastard: or just do the regex [20:16] JimBastard: then you use a bounce api to parse the status codes [20:17] JimBastard: now that would be something cool [20:17] mAritz: ok, so you're going to write it? :P [20:17] JimBastard: http://www.boogietools.com/Products/Linux/BounceStudioAPI/Email-Bounce-Boogie-Bounce-API-Categories.asp?sReturnURL=/Products/Linux/Default.asp [20:17] bradleymeck_ has joined the channel [20:17] JimBastard: someone short port boogie bounce to node [20:17] JimBastard: should [20:17] _announcer: Twitter: "Settling down to write part 2 of my NodeJS tutorial - see part one here: http://bit.ly/dBg5YU - any ideas/corrections always welcome"-- Rob Searles. http://twitter.com/ibrow/status/15062268502 [20:17] JimBastard: i be there are other OSS solutions for that [20:19] JimBastard: mAritz: whats your github [20:19] raz has joined the channel [20:19] mAritz: github.com/maritz :P [20:19] raz: hrm [20:19] mAritz: not much there yet :( [20:20] JimBastard: mAritz: for every one node project you release, ill release two more [20:20] raz: anyone ever use js-yaml inside the browser, without node? [20:20] JimBastard: so get it on and ill make the email-checker [20:20] JimBastard: sup raz [20:20] mAritz: got 3 so far :P [20:20] raz: nothin much, banging my head over tryin' to get js-yaml to work ;) [20:20] raz: that node js style is a bit wierd, lacking the semicolons etc [20:20] JimBastard: so you better catch up http://github.com/marak [20:20] JimBastard: you can add the semicolons [20:21] JimBastard: i'll send you some for free, ;;;;;;;;;;;;;;;;;; [20:21] JimBastard: inimino still hasnt found the ones i sent him [20:21] mAritz: JimBastard: forks don't count! :D [20:21] JimBastard: k [20:22] mAritz: still more than 0 though [20:22] mAritz: :( [20:22] mAritz: 9 [20:22] raz: it's a bit annoying that it describes itself as fast, elegant and tiny yaml parser for javascript [20:22] raz: but then will only work with node ;) [20:23] mAritz: JimBastard: what if i start all kinds of empty repositories? or repositories that just contain random foreign code? [20:24] JimBastard: k [20:24] mAritz: damnit, you should've said no! i won't do sth like that... :/ [20:28] bradleymeck_: ryah, terminal is now MIT, still need to fix the raw to canonical bug though [20:28] JimBastard: mAritz: do you mean like http://github.com/elusivehippo [20:29] raz: hrm, i'm not a big js whiz [20:29] raz: could someone assist me with making that http://github.com/visionmedia/js-yaml/blob/master/lib/yaml.js standalone? [20:29] raz: can that even be done or does it depend on some specific node magic? [20:30] JimBastard: yo raz [20:30] raz: my first attempt was to simply make declare that "exports" variable in the top and hope the rest would sort itself out [20:30] JimBastard: whats the error [20:30] raz: the error is me trying to run it in the browser ;) [20:30] raz: i sprinkled a bunch of those semicolons you gave me over it [20:30] mAritz: JimBastard: what the fuck is up with that guy? they are all the same repos just with different names, aren't they? [20:30] raz: but that's not enough it seems [20:31] JimBastard: mAritz lulz [20:31] JimBastard: ahahahaha [20:31] mAritz: i'm seriously confused now [20:31] mAritz: i mean: why? how? [20:31] raz: is there some automatic way to add the needed semicolons to make this run in a browser? [20:31] mAritz: did he write a script that just generates new repositories and puts them on github? [20:32] raz: doing that manually is getting a bit tiresome ;) [20:32] JimBastard: why is it that people always come in here asking about TJ's visionmedia projects [20:32] JimBastard: and hes never around [20:32] JimBastard: not cool [20:32] JimBastard: is it suppose to work in the browser? [20:32] raz: probably not [20:32] mAritz: because his projects tend to have bad documentation but he doesn't give a shit [20:32] JimBastard: when i write libraries i make them all dual-sided [20:32] raz: but it seems to be the only javascript yaml library around [20:32] JimBastard: you fail at like raz [20:32] JimBastard: http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=yaml.js [20:32] technoweenie: hey that's not fair, its all free oss shit and good docs take a lot of work [20:33] JimBastard: s/like/life [20:33] JimBastard: technoweenie: why dont you try releasing some open source projects then we can talk [20:33] technoweenie: yea i'll get right on that [20:33] JimBastard: AHAHAH [20:33] JimBastard: :-D [20:33] JimBastard: its easy man [20:33] raz: JimBastard: care to point me to the one that works? [20:33] JimBastard: do you have a github account yet? [20:33] raz: none of the others is in any usable state on the parser side [20:33] JimBastard: not really [20:34] technoweenie: i have a bitbucket account [20:34] JimBastard: JSON is infinitely better then YAML [20:34] JimBastard: technoweenie: you should join me on codeplex [20:34] technoweenie: follow my freshmeat page to see new releases [20:34] JimBastard: ahahaha [20:34] dks has joined the channel [20:34] technoweenie: yaml's only redeeming quality is readability [20:34] JimBastard: how are these OSS jokes working out for you? [20:35] technoweenie: but its readability goes out the window once you have non trivial data (storing weird binary data or large paragraphs [20:35] Aria: Heh, yeah. [20:35] technoweenie: and you can of course format json to look nicer [20:35] Aria: I'd much rather read JSON [20:35] technoweenie: a json string from an api is hard to read. but piping it through json_reformat makes it look nice [20:35] mAritz: elusivehippo is following one guy: http://github.com/brucespang WTF? :D [20:36] JimBastard: its vaporware imo [20:36] JimBastard: aight, back to js-fu [20:37] JimBastard: gotta love having more lines of documentation then of lines of code [20:42] unom1 has joined the channel [20:42] mAritz: JimBastard: is Faker.js for spambots or what? oO [20:42] JimBastard: naah its mostly for me to get internet props [20:43] mAritz: ??? [20:43] JimBastard: i could think of about 100 useful apps though [20:43] JimBastard: mostly bookmarklet based [20:43] JimBastard: ;-) [20:43] JimBastard: the main purpose for building it is for me to generate large collections of data [20:43] JimBastard: so i can play with JSLINQ [20:43] mAritz: :D [20:43] JimBastard: which is my javascript JSON query library based off LINQ [20:44] JimBastard: LINQ is really well thought out [20:44] JimBastard: its one of the few things MS did right [20:45] technoweenie: im really surprised how much attention faker.js got [20:45] technoweenie: its just a port of that perl lib isnt it [20:45] JimBastard: and the ruby gem [20:45] JimBastard: technoweenie: im a social media export! [20:45] JimBastard: huzaah! [20:45] technoweenie: yea, i use the shit out of the ruby gem, but i dont pimp it or anything [20:46] tmpvar has joined the channel [20:46] JimBastard: technoweenie: its all about NLP [20:46] JimBastard: the complete package [20:46] technoweenie: nlp? [20:47] JimBastard: dunno if you know about this at all, http://en.wikipedia.org/wiki/Neuro-linguistic_programming [20:47] technoweenie: no [20:47] JimBastard: if you get good at NLP you can kill it on social bookmarking sites [20:47] JimBastard: like reddit [20:47] technoweenie: clearly it's successful: http://github.com/Marak/Faker.js/network [20:48] JimBastard: :p [20:48] technoweenie: though 118 watchers is pretty good [20:48] JimBastard: take http://github.com/laktek/realie for example [20:48] JimBastard: non-functional [20:48] JimBastard: doesnt work at all [20:48] JimBastard: crashes chrome [20:48] JimBastard: and i spoke with the author for a good two hours or so [20:49] mAritz: oh come on! repos like that don't count: http://github.com/Marak/onhashchange.js [20:49] JimBastard: i gotta clean up my git for sure [20:49] JimBastard: remove some empties and add some others i have kicking around on HDs [20:49] technoweenie: http://github.com/technoweenie/mechano 4 watchers [20:50] JimBastard: at the end of the day all i really want to do is get a bunch of ideas out there and hope that some of them take off [20:50] technoweenie: yea, me too [20:50] technoweenie: but i dont get into the social media scene at all. most of my shit is unannounced [20:50] JimBastard: youve got 4 years or so though [20:50] technoweenie: i tried to do that, but it didnt increase participation any [20:51] JimBastard: some of us are still noobs [20:51] technoweenie: you're not a newb [20:51] JimBastard: the biggest thing thats been helping me with open source projects lately is communicating with other people [20:51] JimBastard: most things have been done before, you just gotta research [20:51] inimino: raz: there aren't any more semicolons needed in the browser than there are in node [20:52] Aria: So true. [20:52] inimino: raz: so if it's not working it's not that [20:52] mAritz: yeah, like what i'm doing right now: has been done, but the guy deleted the repos and google doesn't find anything anymore :( [20:53] technoweenie: oh jim have you seen http://github.com/technoweenie/node-scoped-http-client [20:53] JimBastard: aye [20:53] technoweenie: i kinda like it, but not enough to pimp it too much :) [20:53] JimBastard: ive been staying away from doing too much stuff with node web apps [20:54] JimBastard: but thats an awesome approach [20:54] technoweenie: http client, not server [20:54] JimBastard: ohh wait [20:54] JimBastard: rereading [20:55] JimBastard: sorry was confused [20:55] JimBastard: yeah, thats cool [20:55] JimBastard: syntax sugar stuff [20:55] JimBastard: right? [20:55] technoweenie: sorta, yea [20:55] technoweenie: chained calls [20:55] technoweenie: vs http://github.com/technoweenie/nori/blob/master/lib/index.js#L72-74 [20:55] tmpvar: damn, im going to have to punch someone to get an outlet in this biatch [20:56] Aria: tmpvar: travel with a three-way outlet splitter. It always helps. [20:56] tmpvar: yeah, that would require some forethought lol. [20:56] Aria: Hehe. Yep. [20:56] technoweenie: or a squid [20:56] Aria: Yeah. Squid are awesome. But bulkier than one of those cheap three-way cubes [20:57] tmpvar: oh damn, yeah [20:57] tmpvar: awesome sauce [20:58] technoweenie: portable arc reactor [20:58] tmpvar: Aria, my appologies for the weird git madness that jsdom has become. It should normalize shortly [20:59] mattly has joined the channel [20:59] Aria: No problem! I just wanna see it get good. [20:59] Aria: Good, simple to use, hard to break. [20:59] tmpvar: and fast! [20:59] tmpvar: hah. [21:00] Aria: That too. [21:01] kodisha has joined the channel [21:09] deanlandolt_home has joined the channel [21:11] dks: tmpvar: is jsdom faster than a regular xml parser ? [21:11] Aria: jsdom isn't a parser at all. [21:12] Aria: It's the object model a parser might store into [21:12] tmpvar: yep, what Aria said [21:12] dks: ok, so htmlparser is not part of it. [21:12] Aria: Nope. It can use node-htmlparser or the html5 parser to parse. (and XML parsers?) [21:12] unom1 has joined the channel [21:12] tmpvar: no, I'm still debating how to solve the parser problem without including one in jsdom [21:13] tmpvar: Aria, yeah I've used sax-js with good results [21:13] Aria: I say let someone supply one. And emit a warning if they set innerHTML without setting one [21:13] tmpvar: yeah, it'd have to be part of the init [21:13] Aria: Would it? [21:13] Aria: Could be done very late ... [21:13] tmpvar: right now it does a try / require / catch [21:13] Aria: Yeh, I saw that. [21:14] tmpvar: you can yell at Dav if you want ;) [21:14] Aria: (I'd actually just throw if the parser isn't set in, say, DOMImplementation) [21:14] Aria: (At use time) [21:14] tmpvar: that works [21:14] dks: how does jsdom compare to dom.js ? [21:14] tmpvar: what is dom.js? [21:15] Aria: env-js's dom.js? [21:15] dks: yes, but I use it in node.js [21:15] dks: it is the dom api in js. [21:16] Aria: Yeh, I use it in node.js too. (It was trivial to make it a commonJS module) [21:16] Aria: They're similar. jsdom is a bit more modular, and a bit more fragile in places (At this moment) [21:16] tmpvar: i wonder how it holds up against the w3c unit tests [21:16] Aria: But jsdom isn't being all weird about playing nice in commonjs systems [21:17] Aria: I should benchmark . . . See if my fugly testcase can be cut down in time any, see if there's hell there. [21:17] dks: aria, sorry not env-js but v8cgi project dom api. [21:18] Aria: Oh! v8cgi has one? Spiffy. [21:18] Aria: Guess I'll have to check that out [21:18] tmpvar: this guy? http://code.google.com/p/closure-library/source/browse/trunk/closure/goog/dom/dom.js?r=2 [21:19] dks: http://code.google.com/p/v8cgi/source/browse/trunk/lib/dom.js?r=682 [21:20] tmpvar: wow, there is no way that is a full dom impl [21:20] technoweenie has joined the channel [21:20] Aria: Heh, not at all. [21:20] Aria: You can't even access something with .item(n) rather than [n] [21:21] ezmobius_ has joined the channel [21:21] Aria: I mean, it's the key bits. It'd do well for a lot of uses. [21:21] _announcer: Twitter: "Why the hell half of Node.js is not documented ?!?!"-- jordanovskid. http://twitter.com/jordanovskid/status/15065057180 [21:21] Aria: But it's not THE DOM, just a DOM [21:21] dks: it is not complete. I believe it was enough to fool some std javascript libs [21:21] tmpvar: yeah [21:21] tmpvar: Aria, you know that in the spec index access is not addressed ;) [21:21] _announcer: Twitter: "@jordanovskid But it is documented? Where are you running into problems? #nodejs"-- Aria Stewart. http://twitter.com/aredridel/status/15065078462 [21:21] tmpvar: [1] vs item(1) [21:21] technoweenie: why the hell half his english not good???? [21:21] Aria: Yep. [21:21] Aria: Though I do like that env-js's DOM does let you use it. [21:21] tmpvar: good ol browsers causing pain haha [21:22] Aria: (and it not being there killed my use of jsdom at first. I had to go fix my parser.) [21:22] tmpvar: ah [21:22] tmpvar: alright, ill fix that [21:22] tmpvar: ^_^ [21:22] tmpvar: today [21:23] Aria: Spiffy. It /is/ a nicer API. I totally get why Mozilla implemented it as [n] [21:24] tmpvar: Aria, where did you get this from? http://github.com/tmpvar/jsdom/issues#issue/5 [21:24] Aria: the HTML5 spec. [21:24] tmpvar: html 5 spec im guessing? [21:24] tmpvar: k [21:24] Aria: Parser went boom on xml:lang [21:24] Aria: (html5 allows a LOT of characters -- unicode included) [21:25] tmpvar: im curious if the dom has any notion of these [21:25] tmpvar: the dom spec rather [21:25] mscdex: so you can use "<" in an attribute name? [21:25] Aria: I think the HTML5 spec is making some implicit extensions. [21:26] Aria: No, < is not allowed, mscdex. <>=/ and & are excluded. [21:26] tmpvar: that regex is going to get a bit hairy [21:26] mscdex: Aria: ah, i was just going by the list in that issue [21:31] _announcer: Twitter: "weekend playing with dogs, and #nodejs to replace my servlet stack as HTTP front-end. Result: awesome, lightweight, high concurrency."-- kschzt. http://twitter.com/kschzt/status/15065513822 [21:34] _announcer: Twitter: "@jordanovskid hey, what problems do you hit? Where should the docs be improved? #nodejs"-- Felix Geisendörfer. http://twitter.com/felixge/status/15065628330 [21:35] ezmobius has joined the channel [21:38] tmpvar: alright, folks. I'll see you on the other side [21:39] Aria: Ta.. [21:48] tav_ has joined the channel [21:51] mAritz: word for a non-empty-string validation? required seems to general (you'd expect boolean true to pass a "required" validation, right?) [21:52] JimBastard: o.O [21:52] mAritz: O.o [21:52] mAritz: (\/) (°,,°) (\/) [21:53] tav_ has joined the channel [21:54] xla has joined the channel [22:02] creationix has joined the channel [22:04] technoweenie: @( o O )@ [22:05] technoweenie: @(o..O)@ [22:05] technoweenie: man, my font makes that look ALL WRONG [22:06] softdrink has joined the channel [22:07] stevendavie has joined the channel [22:07] stevendavie has joined the channel [22:08] technoweenie: hey is anyone experienced w/ piping child processes in node [22:09] JimBastard: no [22:09] technoweenie: because i have a doozy [22:09] technoweenie: well let me try w/ the latest node [22:09] Validatorian: d[(O_o)]b [22:09] joshbuddy has joined the channel [22:11] creationix: technoweenie: whatcha doing with child processes [22:11] technoweenie: i'm trying to pipe to pygmentize. just a sec let me get a good example [22:13] Aria: mAritz: "nonempty"? [22:14] mAritz: Aria: that would be too easy, sorry. :( [22:14] Aria: Heh. [22:14] mAritz: :D [22:14] mAritz: head->table [22:14] Aria: Then md5("nonempty") ? [22:14] mAritz: ouh yes [22:14] creationix: technoweenie: I was trying that a while ago, it's really slow if you have a lot of fragments [22:15] creationix: my main problem was having too many files open because I tried to parallelize it [22:15] technoweenie: ah, the problem i was having was stdin would close before i could pipe anything to it [22:15] micheil: probably parallelize with a freelist [22:15] technoweenie: but its been a week since i looked at it and now i dont understand what its doing :) [22:16] creationix: technoweenie: strange [22:16] creationix: micheil: yeah, feeelist would help, but I just switched to using google prettify converted to a node module [22:16] creationix: in-process highlighting [22:18] technoweenie: ah cool [22:18] technoweenie: is it good? pygmentize is the shit [22:18] technoweenie: i really love ultraviolet too, but it has the burden of parsing textmate bundles [22:19] bpot has joined the channel [22:21] _announcer: Twitter: "http://paper.li/tag/nodejs # nodejs" [lv]-- kodisha. http://twitter.com/kodisha/status/15067703796 [22:21] technoweenie: creationix: do you have prettify pushed somewhere [22:23] technoweenie: creationix: hey dude, http://github.com/creationix/wheat points to the wheat branch of howtonode which is invalid :) [22:24] rnewson has joined the channel [22:33] Validatorian: is there any way to end a node process from within the script? Like some way to send SIGINT or something? [22:34] Validatorian: maybe process.exit()... [22:37] Validatorian: yup [22:40] mattly has joined the channel [22:41] creationix: technoweenie: interesting [22:41] creationix: well, prettify is used by wheat, it's either bundled or in a submodule [22:43] technoweenie: ah ok [22:48] [[zz]] has joined the channel [22:54] _announcer: Twitter: "Node.js is genuinely exciting: http://tinyurl.com/yhnxg6d"-- Delicious Over 50. http://twitter.com/readelicious/status/15069252105 [22:54] ceej: I'm porting this to node.js http://codeigniter.com/user_guide/database/index.html [22:56] chakrit has joined the channel [22:57] admc has joined the channel [22:58] technoweenie: whats the deal w/ putting a space between the paren and function name [22:59] technoweenie: function myFunc (foo) [23:01] creationix: technoweenie: should only have a space if the function is anonymous [23:01] _announcer: Twitter: "Just released a Node.js SNPP server library - http://github.com/jsanders/node-snpp - comments and/or forks very welcome!"-- James Sanders. http://twitter.com/sanderjd/status/15069584621 [23:02] technoweenie: oh i dont even do that, but that makes sense [23:02] technoweenie: http://github.com/technoweenie/node-resque gahhh spaces [23:03] softdrink has joined the channel [23:04] mrjjwright has joined the channel [23:12] saikat` has joined the channel [23:13] saikat` has joined the channel [23:16] saikat` has joined the channel [23:17] hassox has joined the channel [23:18] micheil_mbp has joined the channel [23:24] alex-desktop_ has joined the channel [23:29] hassox_ has joined the channel [23:30] mcarter has joined the channel [23:32] ewdafa has joined the channel [23:34] _announcer: Twitter: "I hereby pronounce node-xmpp feature-complete for public use (not bug-free): http://github.com/astro/node-xmpp #nodejs #xmpp"-- Astro. http://twitter.com/astro1138/status/15071195018 [23:41] cloudhead has joined the channel [23:43] cloudhead: is there some sort of data-structure in core, which has http status-code <-> name mappings? [23:44] cloudhead: like, { 200: 'OK' } [23:46] aconbere has joined the channel [23:48] vnguyen has joined the channel [23:50] technoweenie: cloudhead: http.STATUS_CODES [23:51] technoweenie: require('http').STATUS_CODES['201'] [23:51] cloudhead: technoweenie: awesome, thanks [23:51] technoweenie: yea just search teh source for a status :) [23:51] cloudhead: it's for an http console I'm working on [23:51] technoweenie: course i found a bajillion weird matches [23:51] cloudhead: http://drp.ly/16j97 [23:51] cloudhead: : > [23:52] technoweenie: cool [23:52] cloudhead: tired of curl [23:55] technoweenie: does anyone use node-resque [23:55] technoweenie: its so hard to read this [23:55] technoweenie: http://github.com/jbr/node-resque/blob/master/resque.js#L24-29 [23:55] aconbere: anyone use jspec? :P [23:56] cloudhead: hell no : ) [23:57] cloudhead: ugh, that's horrible technoweenie [23:58] aconbere: I'm in this horrible position of needing a reasonable JS testing solution in the browser (preferably self contained) [23:58] aconbere: and the options are really... terrible [23:58] Tim_Smart has joined the channel [23:58] cloudhead: aconbere: indeed [23:59] cloudhead: technoweenie: `redis.smembers (key ('queues')` that's pretty unreadable too [23:59] technoweenie: yea i'm gonna refactor htis