[00:00] tmpvar: JimBastard, you planning on a repeat js-hax-party-thinger? [00:00] JimBastard: sure why not [00:00] JimBastard: maybe before jsconf [00:01] tmpvar: cool [00:01] tmpvar: well im off for now, peace [00:03] isaacs: kriskowal: it's just coming straight out of couch [00:03] kriskowal: ah, neat [00:06] devinus: http://github.com/antirez/linenoise [00:06] devinus: Node.js wrapper [00:06] devinus: now [00:07] devinus: someone should throw up a quick intro to writing node wrappers [00:07] devinus: ACTION sigh [00:07] devinus: i guess i could [00:09] konobi: _ry: getting a new deploymetn of smart done using the new node agents... looking good so far [00:10] konobi: =0) [00:16] javarants1 has joined the channel [00:16] ditesh|titan has joined the channel [00:19] steadicat has joined the channel [00:22] steadicat has joined the channel [00:28] mikeal1 has joined the channel [00:36] devinus has joined the channel [00:38] devinus has joined the channel [00:39] devinus has joined the channel [00:42] devinus has joined the channel [00:53] kriskowal has joined the channel [00:54] steadicat has joined the channel [01:02] mikeal1 has joined the channel [01:06] thedeftone has joined the channel [01:07] thedeftone has left the channel [01:07] thedeftone has joined the channel [01:08] thedeftone has left the channel [01:20] devinus has joined the channel [01:21] devinus has joined the channel [01:28] dgathright has joined the channel [01:31] aho has joined the channel [01:31] isaacs has joined the channel [01:34] derferman has joined the channel [01:49] tisba_ has joined the channel [01:53] RayMorgan_ has joined the channel [02:09] tilgovi has joined the channel [02:09] markwubben has joined the channel [02:16] pjb3 has joined the channel [02:21] JimBastard: anyone wanna take a look at this node app im working on? http://hook.io/ [02:21] JimBastard: its all open-sourced [02:21] JimBastard: http://github.com/Marak/hook.io/ [02:23] mattly: JimBastard: heh, sounds like an idea i had had a while ago [02:24] JimBastard: o? [02:26] isaacs: oh, lame sauce. nginx doesn't do http1.1 to its backend proxied servers, even fastcgi [02:26] JimBastard: im looking for contributors to help with hook protocols [02:26] JimBastard: hook protocols are CommonJS modules with optional method "start" that fires on init [02:26] JimBastard: its in the docs [02:27] JimBastard: its like yahoo pipes on crack [02:27] deanlandolt: JimBastard: aka yahoo crack pipes...hehe [02:27] JimBastard: yahoo crack pipes [02:27] JimBastard: ;-) [02:27] deanlandolt: just saw that in the README...nice [02:27] JimBastard: the backend code is pretty solid, thanks to Tim_Smart [02:28] JimBastard: working towards the first stable release [02:28] devinus has joined the channel [02:29] deanlandolt: looks pretty awesome [02:29] JimBastard: too much FAIL in my current tests http://hook.io/test.html [02:29] JimBastard: thanks man [02:29] JimBastard: watch the project, it should keep moving [02:33] JimBastard: that should be new my catch phrase, watch my project or ill force you to. http://i.imgur.com/Gf5Rk.png [02:34] bpot has joined the channel [03:03] idoru has joined the channel [03:20] Yuffster has joined the channel [03:49] RayMorgan has joined the channel [04:07] devinus has joined the channel [04:19] arlolra has joined the channel [04:24] PyroPete1 has joined the channel [04:33] mikeal1 has joined the channel [04:42] steadicat has joined the channel [04:55] isaacs has joined the channel [04:56] mikeal1: isaacs: is there any traction right now on JSGI/eJSGI? [04:56] isaacs: mikeal: haven't really been giving it much thought [04:56] isaacs: been busy with npm and whatnot [04:57] mikeal1: net2 seems to bring a lot of node in line with the streams api [04:59] Tim_Smart: isaacs: You got mail :p I thought of a possible solution for sandboxing [04:59] isaacs: mikeal: yep [04:59] isaacs: so ejsgi is maybe not even necessary [05:00] isaacs: Tim_Smart: won't work [05:00] isaacs: Tim_Smart: you'd need proxy objects, which v8 doesn't have [05:00] mikeal1: i see the jsgi was removed from the specifications section on the commonjs website [05:00] isaacs: mikeal: orly? [05:00] mikeal1: yeah, i think because it's in such a state of flux [05:01] isaacs: hahah [05:01] isaacs: we broke it [05:01] mikeal1: i think it was a little hasty to begin with [05:02] mikeal1: whenever i learn a new technology i think i have some great idea that is like a thing I used in another language/platform [05:02] mikeal1: and then after a few months of using the new platform i realize that it was a bad idea [05:02] isaacs: well, async io isn't really the norm [05:02] mikeal1: this stuff is so new that everyone needs to spend some more time with it [05:02] mikeal1: it should be [05:03] isaacs: i mean, you can forgive tlrobinson for not being _ry [05:03] mikeal1: i wouldn't be surprised if the other js platforms start to move in that direction [05:03] isaacs: almost everyone has made that mistakes [05:03] mikeal1: i don't think it was bad for Narwhal to do it [05:03] mikeal1: i think it's a bad practice to think everything that goes in to Narwhal should be a standard [05:03] isaacs: right, but just a bad idea in retrospect [05:04] mikeal1: you read the packages spec yet? [05:05] isaacs: this thing? http://wiki.commonjs.org/wiki/Packages/1.0 [05:05] isaacs: yeah, i'm all over that page [05:06] kriskowal: my ears are burning [05:06] mikeal1: stop listening to happy hardcore :) [05:06] mikeal1: that's the best way to make your ears burn [05:06] kriskowal: i knew earcandles were a bad idea [05:20] Yuffster has joined the channel [05:20] shreeve has joined the channel [05:21] shreeve: what is the current status of hot code loading? i'd like to develop a server side web app (using express) and be able to have code auto-reload if I change it [05:21] shreeve: i've seen several comments, but wasn't sure what the official approach is to handling this [05:22] tiglionabbit has joined the channel [05:22] tiglionabbit: hi [05:23] micheil has joined the channel [05:26] mikeal1 has joined the channel [05:32] tiglionabbit: my xhrs aren't working. Do I have to serve the static html files they're in for this to work? [05:32] Tim_Smart: tiglionabbit: xhrs? [05:32] tiglionabbit: ajax [05:33] Tim_Smart: Right, how is the content being served? [05:33] tiglionabbit: actually, perhaps I am confused [05:34] Tim_Smart: If you are serving everything through the same instance (on the same omain), it all should be fine [05:34] Tim_Smart: *domain [05:34] tiglionabbit: same instance hm [05:35] tiglionabbit: what are the security restrictions on xhr? I tried doing this: $.get('http://127.0.0.1:8000/', function(response){console.debug(response)}) but I'm just getting empty responses, even though if I run curl I get some text back [05:36] tiglionabbit: same behavior when I view the file with file:// as when I run my OS's default webserver and view it that way [05:38] tiglionabbit: even if I put in my ip address instead of localhost, I still get a response in curl but a blank response in firefox [05:39] tiglionabbit: so where is the problem? In my browser's security, or in node.js not responding properly? [05:42] tiglionabbit: I don't see why it should be different in the browser than it is in curl... [05:42] Tim_Smart: Probably something to do with the response headers [05:42] javarants1 has left the channel [05:46] dnolen has joined the channel [05:51] tiglionabbit: http://friendpaste.com/2HXf0yZCiMeUdlAkCMeHeL [05:52] tiglionabbit: hm, the only difference is in three extra headers the xhr puts on there [05:53] tiglionabbit: is it failing because the origin doesn't have a port :8000 on it? [05:54] Tim_Smart: Does the web page have :8000 on it> [05:54] Tim_Smart: ? [05:55] tiglionabbit: the page is served on port 80, but node is running on port 8000 [05:55] Tim_Smart: Yeah that is your problem [05:55] tiglionabbit: why should that be a problem? [05:56] Tim_Smart: cross-domain violation, and it is trying to get the access-control policy [05:56] tiglionabbit: so? [05:57] ditesh|cassini has joined the channel [05:57] tiglionabbit: hm, is it the responsibility of the server to shoot down cross domain violations? And the responsibility of the browser to mark them with their origin? [05:57] Tim_Smart: You need to either set-up access-control on the node instance (which isn't fully cross-browser yet), or re-route the request from port 80 to 8000 from nginx [05:58] Tim_Smart: or equivilant [05:59] Tim_Smart: tiglionabbit: Old browsers deny the request straight up, modern browsers check the access-control policy first, before performing the actual request [06:01] tiglionabbit: interesting [06:01] tiglionabbit: btw, what is this security measure there to prevent? [06:03] ditesh|cassini has joined the channel [06:03] dnolen has joined the channel [06:10] mattly: hm, how do you define the access control policy? I hadn't heard of that [06:13] Tim_Smart: tiglionabbit: Different ports can host completely different websites, so it prevent cross-site scripting I guess [06:14] Tim_Smart: https://developer.mozilla.org/En/HTTP_access_control [06:15] tiglionabbit: well I guess this leads into my next question [06:16] tiglionabbit: what library do you guys use for serving static files while you develop your apps? [06:16] Tim_Smart: Check the module list on the node wiki [06:17] Tim_Smart: There is a few their. I usually reverse proxy with nginx [06:17] Tim_Smart: s/their/there/ [06:19] mjr_: If you want to serve cross-domain response to modern XHRs, usually you just need to respond to an Origin header in the request with an Access-Control-Allow-Origin header in the response. [06:20] mjr_: But XHRs are really temperamental and difficult to debug. [06:24] tiglionabbit: mjr_: ok, I included that header, but the responses are still blank. hum [06:25] mjr_: does the error handler fire on the XHR? [06:27] tiglionabbit: mjr_: I don't know. I'm just looking at firebug and the response tab is totally blank [06:27] mjr_: yeah, probably triggering an error then. [06:27] mjr_: It is super annoying that XHRs don't expose any sort of descriptive message on error. [06:31] tiglionabbit: it's pretty much full of blanks and zeroes [06:34] mjr__ has joined the channel [06:37] mjr__: I haven't done a lot of testing with cross-domain XHRs in Firefox. I have with Safari and Chrome, and it is pretty much the same story. [06:40] Tim_Smart: tiglionabbit: Set the Access-Control-Allow-Origin header to '*' [06:41] dgathright has joined the channel [06:41] tiglionabbit: yeah I did that, but node still returns a blank [06:45] Tim_Smart: tiglionabbit: Node isn't returning the blank, Firefox is :p [06:45] tiglionabbit: hm [06:45] tiglionabbit: how do I add headers to a request in curl? [06:46] Tim_Smart: You don't need to, the browser reads the response headers [06:46] Tim_Smart: they are set on the server [06:46] Tim_Smart: (node in this case) [06:47] tiglionabbit: no no I mean, how do I test this in curl? [06:47] mjr__: You'd think that * would be the right answer for this, but sometimes they want the exact same value returned as the Origin. [06:47] tiglionabbit: I tried the exact domain too but it didn't work [06:48] mjr__: With curl you'd send an Origin header for wherever the HTML page is loaded from. [06:49] tiglionabbit: I just mean how do I specify them on the commandline? Like this? curl -H "Origin: foo" ? [06:51] tiglionabbit: man, I am doing this right but it's not working =[ [06:52] Tim_Smart: tiglionabbit: You probably don't want to use access-control anyway, as it isn't cross-browser [06:53] tiglionabbit: well, what static file serving library would you recommend for node? [06:59] Tim_Smart: did you look at the module list? I haven't used a node.js static file serving library [07:00] Tim_Smart: I think I mention that earlier [07:00] Tim_Smart: *mentioned [07:00] tiglionabbit: yeah [07:02] pjb3_ has joined the channel [07:19] sh1mmer has joined the channel [07:26] QuietKnight has joined the channel [07:26] blakemizerany has joined the channel [07:50] kjeldahl has joined the channel [07:58] christkv has joined the channel [08:00] tisba has joined the channel [08:01] isaacs has joined the channel [08:05] tiglionabbit has joined the channel [08:08] kjeldahl has joined the channel [08:19] Tim_Smart: _ry: ping? Hopefully you are sleeping, if not I got a question about the net bindings [08:24] markwubben_ has joined the channel [08:38] Gruni has joined the channel [08:50] hellp has joined the channel [08:57] unomi has joined the channel [08:58] dgathright has joined the channel [09:02] hellp has joined the channel [09:16] juvenn has joined the channel [09:50] gwoo has joined the channel [09:51] MattJ has joined the channel [09:58] juvenn has joined the channel [09:58] juvenn has left the channel [10:03] ditesh|cassini has joined the channel [10:03] Tim_Smart_ has joined the channel [10:06] maushu has joined the channel [10:13] neynenmo has joined the channel [10:24] tisba_ has joined the channel [10:26] sztanpet has joined the channel [10:28] maushu: _ry: Will we ever have access to v8 contexts? It would be useful on some cases. [10:43] ithinkihaveacat has joined the channel [11:00] pjb3 has joined the channel [11:01] hassox has joined the channel [11:18] sztanphet has joined the channel [11:20] maushu: Could anyone explain to me the process.compile function? [11:27] tav has joined the channel [11:45] sztanpet has joined the channel [11:57] alex-desktop has joined the channel [11:58] juvenn has joined the channel [11:58] juvenn has left the channel [12:03] tlrobinson has joined the channel [12:06] javajunky has joined the channel [12:09] CIA-77: node: 03Ryan Dahl 07master * r765f0cd 10/ src/node_child_process.cc : Fix ChildProcess::Kill - http://bit.ly/9R6lus [12:17] sztanpet has joined the channel [12:21] keeto has joined the channel [12:22] sztanphet has joined the channel [12:22] keeto has joined the channel [12:23] pmuellr has joined the channel [12:24] binary42 has joined the channel [12:33] ithinkihaveacat has joined the channel [12:44] JAAulde has joined the channel [12:48] piranha has joined the channel [12:50] davidsklar has joined the channel [12:53] lifo has joined the channel [12:58] sztanpet has joined the channel [13:01] voodootikigod: morning [13:03] tav: morn [13:15] jherdman has joined the channel [13:16] rtl has joined the channel [13:26] teemow has joined the channel [13:27] gf3 has joined the channel [13:31] confounds has joined the channel [13:43] maritz has joined the channel [13:49] sztanpet has joined the channel [13:51] arlolra has joined the channel [13:59] gf3 has joined the channel [13:59] juvenn has joined the channel [13:59] juvenn has left the channel [14:00] paul_ has joined the channel [14:03] maushu has joined the channel [14:04] sztanphet has joined the channel [14:04] mrmrm has joined the channel [14:04] mrmrm: what exactly changed in 0.1.33 with regards to the tcp lib? trying to use redis-client but it can't seem to make a new tcp.Connection() [14:04] rtl has joined the channel [14:05] maushu: mrmrm: That I know off, nothing. [14:05] maushu: Are you using the git version? [14:06] mrmrm: no normal 0.1.33 [14:06] maushu: Hmmm. Tcp should work normally. [14:07] mrmrm: if I make install 0.1.32 it works, but when I make install 0.1.32 i get a CALL_NON_FUNCTION_AS_CONSTRUCTOR (native) error [14:08] mrmrm: erm 0.1.33 2nd time [14:08] maushu: Weird. [14:09] maushu: Let me verify. [14:12] pmuellr_ has joined the channel [14:13] maushu: Compiling 0.1.33, this might take a while. :3 [14:14] mrmrm: heh [14:14] maushu: I didn't have the lastest version of node here. [14:16] cedricv has joined the channel [14:17] maushu: ...it failed. WAT. [14:17] sztanpet has joined the channel [14:19] maushu: Forgot scons. [14:19] kloeri_ has joined the channel [14:20] rtl_ has joined the channel [14:20] Atmoz has joined the channel [14:20] jherdman: quick question... there's a server people have mentioned in here used to proxy back to Node that isn't Nginx or Apache. does anyone recall what it is? [14:21] jherdman: ah. nm. Varnish. [14:22] maushu: Real men use node.js as a proxy for node.js [14:22] ssteinerX has joined the channel [14:23] onar_ has joined the channel [14:24] markwubben_ has joined the channel [14:24] alex-desktop has joined the channel [14:24] softdrink has joined the channel [14:27] mrmrm: maushu: it's about this line btw: http://github.com/fictorial/redis-node-client/blob/master/redisclient.js#L55 [14:27] QuietKnight has joined the channel [14:28] mrmrm: perhaps because of the process.? [14:28] jackyyll has joined the channel [14:28] Yuffster has joined the channel [14:29] brainproxy_ has joined the channel [14:29] dnolen has joined the channel [14:32] maushu: ACTION facepalms. [14:32] maushu: Yes, try removing the process. [14:33] maushu: Actually. I think that code needs to be rewritten. Oh troublesome. [14:33] maushu: Maybe someone forked it and fixed it. [14:34] mrmrm: yeah then I get the CALL_NON_FUNCTIOn... error [14:34] mrmrm: it's only fixed for a dev version of node (tcp -> net) [14:34] mrmrm: using a Stream [14:34] maushu: True. [14:35] maushu: mrmrm: Go here and search for tcp.createConnection. [14:35] maushu: That is what is needed. [14:35] aryounce has joined the channel [14:35] mrmrm: ill do that, but why did the process. work in 0.1.32? [14:37] maushu: Probably backwards compatibility. [14:37] mrmrm: is that to basically work around the fact that no exports.Connection was set in tcp? [14:37] mrmrm: ok [14:37] binary42 has joined the channel [14:37] maushu: I didn't know node-redis-client was that bad. [14:38] maushu: That reminds me, I should check if my forks are compatible too. xD [14:39] mrmrm: hehe :) [14:39] mikeal1: the redis protocol is super simple [14:39] mrmrm: that's the most annoying node-thing so far, every time node updates I have to hope everybody updates their projects :p [14:39] maushu: True, but why reinvent the wheel? [14:40] mrmrm: yeah but a small lib is nice to have [14:40] mikeal1: it would take like an hour to write a new client [14:41] mikeal1: and then you'd have an API you like [14:41] gwoo has joined the channel [14:42] mikeal1: it's a little too early to be standardizing on the modules that exist when the node community is so young [14:44] maushu: Standards make the world go aroooooound! [14:44] mrmrm: k got the redisclient working again, tnx for the help [15:05] nsm has joined the channel [15:06] nsm has left the channel [15:07] nikhil_ has joined the channel [15:07] alexiskander has joined the channel [15:08] maushu: Note to self: Having a date before the date from the files to build can and will make "make" bonkers. [15:41] jlilly has joined the channel [15:49] r11t has joined the channel [15:51] jlilly has joined the channel [15:51] jlilly has joined the channel [15:57] RayMorgan has joined the channel [15:57] tisba has joined the channel [15:59] juvenn has joined the channel [16:00] juvenn has left the channel [16:06] jherdman has left the channel [16:08] jherdman has joined the channel [16:10] krumpet has joined the channel [16:10] carsonm has joined the channel [16:11] bpot has joined the channel [16:13] BRMatt has joined the channel [16:14] dnolen has joined the channel [16:14] joshbuddy has joined the channel [16:14] stepheneb has joined the channel [16:16] chakrit has joined the channel [16:17] r11t_ has joined the channel [16:18] voodootikigod_ has joined the channel [16:19] r11t has joined the channel [16:21] yatiohi has joined the channel [16:22] nrstott has joined the channel [16:28] aguynamedben has joined the channel [16:38] rtl has joined the channel [16:39] trochala has joined the channel [16:44] nefD has joined the channel [16:46] nefD: whee! mysql modules! :D [16:47] gwoo: orly? [16:48] codeswing has joined the channel [16:48] nefD: according to the modules list on github, at least [16:48] nefD: ACTION has been a bit out of the nodejs loop for a few weeks [16:49] gwoo: oh, yeah i'm not sure how complete the support is [16:49] gwoo: did you try it? [16:50] nefD: not yet [16:51] nefD: getting ready to, now that I have a vps up on linode again [16:51] nsm has left the channel [16:54] indiefan has joined the channel [16:55] aguynamedben has joined the channel [16:55] mfeiri has joined the channel [16:56] steadicat has joined the channel [16:57] mjr_ has joined the channel [16:57] indiefan_ has joined the channel [17:08] aryounce has joined the channel [17:10] technoweenie has joined the channel [17:10] sh1m has joined the channel [17:11] paul_ has joined the channel [17:13] mfeiri_ has joined the channel [17:17] silentrob has joined the channel [17:17] dnolen has joined the channel [17:18] brainproxy has joined the channel [17:23] unomi has joined the channel [17:28] rnewson has joined the channel [17:34] cloudhead has joined the channel [17:36] adovenmuehle has joined the channel [17:39] sh1mmer has joined the channel [17:40] mikeal has joined the channel [17:41] codeswing has joined the channel [17:41] tlrobinson has joined the channel [17:41] mikeal: i'm impressed the crockbot is still up, it's just running on my iMac [17:41] crockbot: "Harmony" was declared after Crockford indian leg wrestled the ECMAScript standards group into submission. @brianleroux [17:44] jherdman has joined the channel [17:44] indiefan has joined the channel [17:45] blakemizerany has joined the channel [17:46] maushu: mikeal: iMacs are like cockroaches. They survive everything. [17:49] pdelgallego has joined the channel [17:49] kjeldahl has joined the channel [17:51] maushu: Anyone knows how to use http server's setSecure? I want to serve https. [17:51] binary42 has joined the channel [17:52] mikeal: when net2 merged it broke [17:52] mikeal: i don't know if it's fixed yet [17:52] maushu: I know, I'm using the stable version. [17:53] maushu: I think _ry is thinking in using OpenSSL for the next version. So it's not a "easy fix". [17:55] tlrobinson has joined the channel [18:00] maushu: Wait, where the heck is setSecure. [18:00] juvenn has joined the channel [18:00] maushu: Don't tell me it was removed in 0.1.33 ;_; [18:00] juvenn has left the channel [18:03] qFox has joined the channel [18:05] isaacs has joined the channel [18:06] isaacs: maushu: use require("http_old") to do ssl for now [18:09] thedeftone has joined the channel [18:09] inimino: hm... [18:09] inimino: maybe we should make a 0.2-compatible section of the modules page around when 0.2 is released [18:10] inimino: initially empty and people can move their own modules into it as they update them [18:10] maushu: isaacs: Even on the stable version? [18:10] inimino: then after a while we can delete the legacy section [18:10] isaacs: node has a stable versin!? [18:10] maushu: Yes, the download one. [18:10] maushu: :p [18:11] maushu: I thought the merge was *after* 0.1.33 [18:11] inimino: yes, it was [18:11] maushu: So... what happened to setSecure. [18:11] isaacs: the download still is a 0.1.x, right? [18:11] isaacs: it's not stable yet. [18:11] maushu: *shh* [18:11] inimino: I don't know, the SSL support should be the same, if you compiled with it [18:11] maushu: Huh. [18:11] maushu: Oops? [18:11] maushu: Do I need to compile with it? [18:12] inimino: you need to have the dependencies installed anyway [18:12] maushu: But the setSecure function doesn't exist. [18:12] maushu: I checked. [18:13] inimino: I haven't used SSL though, so I don't know the API [18:13] inimino: but I'm pretty sure people are using it [18:13] maushu: configure doesn't mention any ssl library. [18:13] inimino: I think it's gnutls [18:14] maushu: Oh right. [18:14] maushu: Missed that one. [18:14] maushu: Yeah, I don't have it. [18:14] maushu: Didn't know node removed the function if it didn't had the libraries. [18:14] QuietKnight has joined the channel [18:15] TheEnd2012 has joined the channel [18:16] paul_ has joined the channel [18:16] Aduros has joined the channel [18:21] piranha has joined the channel [18:22] thedeftone has left the channel [18:33] paul_ has joined the channel [18:43] joshbuddy has joined the channel [18:43] Connorhd: RayMorgan: are you around? [18:43] rednul_ has joined the channel [18:50] dgathright has joined the channel [18:51] _ry: howdie [18:51] gwoo: hi _ry [18:51] pedrobelo has joined the channel [18:54] teemow has joined the channel [18:56] dandean has joined the channel [18:59] rtomayko has joined the channel [18:59] javajunky has joined the channel [19:05] aho has joined the channel [19:13] thedeftone has joined the channel [19:13] thedeftone has left the channel [19:13] gwoo has joined the channel [19:24] pmuellr has joined the channel [19:28] kriskowal has joined the channel [19:29] joshbuddy has joined the channel [19:30] creationix has joined the channel [19:32] drostie has joined the channel [19:35] philippbosch has joined the channel [19:36] hellp has joined the channel [19:40] creationix: neat remote IPs are now resolved to ::1 [19:40] creationix: in my http server running latest node [19:40] creationix: does this mean we can now bind to IPV6 addresses? [19:41] creationix: found it in req.socket.remoteAddress [19:44] Tim_Smart has joined the channel [19:49] RayMorgan: Connorhd: hey [19:51] malte has joined the channel [19:52] maushu has joined the channel [19:56] Connorhd: RayMorgan: I've been playing with Mu (I think its awesome), I was wondering if you'd considered allowing values to be given in some kind of asynchronous way [19:56] Connorhd: I've been playing with promises to do it, not got anything fully working yet though [19:57] Connorhd: an example of when you might want this is if you were querying a db, why should you have to receive all the results before starting to generate the output, when you could insert each row into the template as they are sent from the database [19:57] RayMorgan: that is definitely possible, could adopt how asyncEJS does this [19:59] philippbosch has joined the channel [20:01] RayMorgan: would require a slight change in the generated code, basically to push things to a scheduler instead of directly to the render stream [20:04] Connorhd: I think it would allow pause and resume to actually pause the generation too, rather than just the output [20:06] charlesjolley has joined the channel [20:07] RayMorgan: yeah, I had a branch with pausable generation, but it made things a bit more complex and slowed it down a decent amount [20:08] RayMorgan: but it could probably be done better, hopefully without too much performance impact [20:09] tlrobinson has joined the channel [20:09] sh1mmer has joined the channel [20:19] maushu: The configure script is not finding gnutls. ;_; [20:21] Connorhd: RayMorgan: well, I don't know if theres any real need to pause synchronous generation, but for asynchronous stuff it makes sense, and probably won't add overhead above supporting async to start with [20:21] shreeve has joined the channel [20:22] shreeve: what is the current status of hot code reloading? [20:24] Tim_Smart has joined the channel [20:29] aryounce has joined the channel [20:32] BRMatt has joined the channel [20:40] kjeldahl: hrmf, require('kiwi') stopped working after node upgrade. cannot find module. any ideas? [20:43] shreeve: yeah, i'm having some grief with kiwi too [20:44] shreeve: particularly with permissions and paths... am I supposed to install everything as root -- or as my user??? [20:44] kjeldahl: For simple modules and stuff, as a user I guess. To upgrade node it prompts me for a password (sudo style I guess), since it wants to stuff it in /usr/local/bin. [20:46] tlrobinson_ has joined the channel [20:48] dnolen has joined the channel [20:49] mikeal: i'm happily using npm :) [20:53] kjeldahl: node install-npm.js => cannot find module "child_process" at loadModule (node.js:574:15). [20:53] mikeal: you using node master? [20:54] mikeal: if not then you'll want to use the previous version of npm [20:54] kjeldahl: kiwi updated to node 0.1.33 [20:54] kjeldahl: Is that "master" enought? [20:54] mikeal: i don't think so [20:55] mikeal: that's like a whole 3 days old [20:55] mikeal: :) [20:55] kjeldahl: Ok, will try to install node from master, then npm and see if I have more luck. Thanks. [20:55] mikeal: np [20:59] kjeldahl: And what's the easy way to install express, haml, sass etc using npm? [21:00] mikeal: depends [21:01] mikeal: if you're working on those dependencies in git then you should do the git checkout ; cd package ; npm link . [21:01] kjeldahl: Ah, see it now. Need to download tgz [21:01] mikeal: npm activate package version [21:01] maushu: Kind of funny that by coincidence my vps host is called linode, my website is called graphnode and I'm working with node.js [21:01] shreeve: mikeal: so, npm is easier to use than kiwi? [21:02] kjeldahl: "Easier". It can't do "kiwi update" ... ;-) [21:02] mikeal: i don't really know how to answer that [21:02] shreeve: maushu: i think you may wanna check your lymph nodes too [21:02] mikeal: it will do update [21:02] mikeal: but we're putting together a package registry [21:02] maushu: shreeve, they are fine, thank you very much. [21:02] shreeve: haha [21:02] shreeve: :-) [21:02] RayMorgan_ has joined the channel [21:02] mikeal: to make that all smoother [21:02] shreeve: mikeal: i'm just trying to figure out how to get the various pieces running [21:03] maushu: Why is node.js called node.js anyway? [21:03] mikeal: cause it's in javascript [21:03] mikeal: ACTION hides [21:03] shreeve: seems like node is easy to install, but tying the packages in gets a little weird -- paths, permissions, etc. don't seem to quite work [21:03] mikeal: chown -R user /usr/local [21:03] mikeal: that helps :) [21:04] shreeve: mikeal: you serious? [21:04] mikeal: yeah, that makes everything easier with homebrew too [21:05] mikeal: the reason package installation is a bit of a climb is that it's still actively being worked on [21:05] shreeve: mikeal: do you know the current status of hot code loading in node? [21:05] mikeal: there isn't a good way to do that if you want to keep the process alive forever [21:05] mikeal: the multi process stuff is starting to land [21:05] shreeve: ok, but how about just in development mode? [21:06] mikeal: and once there is ready then you'll just restart the process [21:06] kjeldahl: Cloned express, cd express, npm install . - doesn't work. Docs say "tarball OR path". Path has package.json ... [21:06] javajunky: re kiwi, the master has just changed from supporting system wide packages in /usr/local/node_libraries to only supporting user-wide libraries in ~/.node_libraries, we're just catching up with figuring out how to do stuff [21:06] mikeal: oh that is easy, you just write some of your own watchFile code and user require.uncached or whatever [21:06] javajunky: package management appears to be contentious in the node.js world some people appear to think it bad/evil etc . … but some don't :) [21:07] mikeal: s/user/sue [21:07] mikeal: er use [21:07] shreeve: javajunky: you working on the kiwi team? [21:07] mikeal: i think it's great, but we need like a dozen of them if we hope to get a really great one some day [21:07] mikeal: and we all should be supporting the CommonJS package standard [21:08] javajunky: git clone git://github.com/visionmedia/kiwi.git as of an hour or so ago I think should work with TIP [21:08] javajunky: shreeve: no, but I am maintaining the JS port of the kiwi client [21:08] javajunky: mikeal: no one disputes that, kiwi supports package.json ;) [21:08] shreeve: javajunky: excellent... [21:08] mikeal: if i remember correctly from the thread there were still some package.json hold outs [21:08] shreeve: javajunky: you're talking about TIP of node.js, right? [21:08] deanlandolt: javajunky: not that long ago you could say modules themselves were pretty contentious, though that seems to have quieted [21:09] mikeal: but, the commonjs packages spec is more than just having package.json [21:09] javajunky: shreeve: yeah , but I'm just checking in parallel [21:09] mikeal: it specifies that semver be used and some other stuff [21:09] kjeldahl: Yes, pulling kiwi and reinstalling made things work again. Thanks. [21:09] javajunky: mikeal: I'm not well placed to comment on specifics :) [21:09] mikeal: deanlandolt: that was because the code for modules was getting really ugly, i think the refactor isaacs is doing should make things nicer [21:09] kjeldahl: To my defence, I did try "kiwi install kiwi" before which didn't work.. ;-) [21:10] mikeal: and get them out of the main node.js file [21:10] kjeldahl: (didn't MAKE it work I should say) [21:10] shreeve: javajunky: i get this: "install: cannot create regular file `/home/shreeve/.node_libraries/kiwi.js': No such file or directory" [21:10] javajunky: um, bear with me. [21:10] shreeve: javajunky: seems like the "make install" outta figure that out... [21:10] shreeve: ok [21:11] javajunky: great why has my network hung [21:11] deanlandolt: mikeal: perhaps, but there was some (well, largely elliotcable) arguing against any kind of module system [21:12] mikeal: yeah i saw that [21:12] mikeal: the thing is, node needs to have *some* opinions [21:12] shreeve: javajunky: would "kiwi install kiwi" be a bad idea then, since it would not be using the "new" version I just checked out? [21:12] javajunky: I struggle to get my head around it, I really do, the argument ' packages can cause problems' …is true, but they solve a damn-sight more than they can cause ;) [21:12] mikeal: leaving the slate so blank there there is no standardization would lead to a lot of compatibility pain [21:12] deanlandolt: mikeal: btw good arguments on parring back the packages spec a bit -- smaller the better...or, well, the more we can agree on the better -- but that means /all/ the package managers [21:13] javajunky: shreeve: sudo make install in the kiwi folder works for me TM [21:13] mikeal: yeah, i just want to be as easy as possible for developers to package their code up properly [21:13] kjeldahl: Tried my simple express app, failed on "HTTPParser.onMessageComplete (http:110:23)". Guess we're inbetween stable versions right now... [21:13] mikeal: and the portion of the spec that is required seemed a little large [21:13] javajunky: nope, all fixed kjeldahl, git pull from visionmedia's repo [21:13] javajunky: he accepted my patches a few hours back [21:14] mikeal: i'm more concerned with my comments on Modules 1.1 [21:14] kjeldahl: javajunky: Even if I've already updated with kiwi? [21:14] mikeal: especially concerning the main attribute, because I have a feeling some people want to try and specify that only commonjs compatible modules can use require [21:15] javajunky: ah ;) err yeah we've agreed pretty much to try to only push versions that work against node tags .. ;0 ..so you can have that version working against node 0.1.33 or go from source :) [21:15] javajunky: (not ideal, but we're rock'n'hard place :( ) [21:15] deanlandolt: mikeal: i'd be surprised if that were a motivation [21:15] kjeldahl: It's not entirely clear to me yet what installing from kiwi does compared to installing directly from git directories. I'm somewhat worried mixing methods will mess up modules, but if that's the only way... [21:16] mikeal: well, it makes things easier if you're thinking strictly in SSJS terms [21:16] javajunky: kjedahl: nothing really, it just sticks the contents of that folder on node's 'library path' … obviously it can do a little more than that as it can enforce version dependencies and such [21:17] stepheneb has joined the channel [21:17] deanlandolt: mikeal: i think it's just that couch is the first use case of that kind...a creative use of require! [21:18] javajunky: It really depends on how much pain you want to suffer against how up to date you are … if you want to play it safe then work against the most recent tag of node.js, and the kiwi packaged versions will just work, otherwise its pot luck as to whether a horribly breaking change has just been introduced..in your particular case its the 'net2 merge' that happened on Saturday [21:18] kjeldahl: javajunky: Ok so what takes precedence then, /usr/local/include/node or ~/.kiwi? That's what I'm worried about.. [21:18] mikeal: it's not hard to imagine another tho [21:18] mikeal: imagine that tomorrow we had require() in the browser [21:18] mikeal: main would NOT be a CommonJS module :) [21:18] deanlandolt: heh :D [21:19] mikeal: i think we're actually releasing CouchDB 0.11 today [21:19] javajunky: /usr/local/node_libraries is no longer used as I understand it (as of 0.1.33) ..they're 'compiled' into node now..I think… only ~/.node_libraries is used , which 'kiwi.js' gets put into, … kiwi.js itself knows about ~/.kiwi/seeds/foo/version/... … which is where it sticks the files [21:19] deanlandolt: i saw the email...congrats! [21:19] mikeal: i'll believe it when it happens [21:20] mikeal: i like wasn't paying attention and assumed that somebody finished releasing it [21:20] javajunky: I'm not sure what kiwi does about /usr/local/node as thats the node headers stuff isn't it ? [21:20] deanlandolt: heh...yeah, i remember a vote like a week or two ago [21:20] mikeal: and then on the podcast on Friday i was like "we released" and everyone was like "we did?" [21:21] deanlandolt: i guess since this is a feature freeze release everyone wants to get their features in [21:21] isaacs has joined the channel [21:22] kjeldahl: javajunky: I just ran "node --vars" and noticed it. Wasn't aware of ~/node_libraries until now. [21:23] arlolra has joined the channel [21:23] javajunky: kjeldahl: in my ideal world we wouldn't need to be aware of it, package management should just work *sigh* :) [21:29] kjeldahl: Seems installing express via git doesn't work. It just stuffs express in /usr/local/bin/express. Does nothing to install modules. I guess using kiwi is _the_ method for express. Until somebody gives me a clue at least. [21:32] RayMorgan has joined the channel [21:36] kjeldahl: Ok, manually stuffing the latest express version from git into ~/.kiwi/current/seeds/express/0.8.0 made it work again. [21:38] kjeldahl: What I do not get yet is how node knows it should look into the ~/.kiwi directory for modules. Anybody? [21:38] javajunky: yeah, that'll probably work just fine ;) [21:38] javajunky: it doesn't [21:38] javajunky: kiwi.js does when you do require('kiwi').seed('express') [21:39] javajunky: have a look at ~/.node-libraries/kiwi.js [21:39] kjeldahl: Ah, then I get it. Everything starts with that directory. Thanks! [21:41] javajunky: yeah, also whilst I'm confident in using kiwi, there are alternatives out there that may be worth experimenting with (npm springs to mind) [21:43] kjeldahl: Downloading modules one-by-one, then running npm in each dir, works fine for a couple of modules. Not so for many modules. But with a repo and autodownload, it should be fine. [21:53] Connorhd_ has joined the channel [22:04] micheil_mbp has joined the channel [22:15] JimBastard has joined the channel [22:16] JimBastard: damn you jQuery [22:22] erichocean has joined the channel [22:23] creationix: JimBastard: which version of node-dirty are you using [22:23] creationix: I'm looking to using it for something [22:24] Tim_Smart: creationix: I think we decided against it for 0.1 [22:24] creationix: fair enough [22:24] creationix: btw, can you git clone a certain tag all in one line [22:25] creationix: I'm thinking of forking all the repos needed in my tutorial and then tagging the versions I used [22:25] rictic has joined the channel [22:26] al3x__ has joined the channel [22:26] al3x__: hi all! is anyone aware of a lib for RESTy URL routing with support for URI parameters? [22:27] creationix: aren't parameters against RESTy ideas ;) [22:28] creationix: al3x__: seriously, what do you have in mind? [22:28] jspiros has joined the channel [22:28] creationix: my node-router has undocumented support for resources, but no parameter support [22:29] erichocean has left the channel [22:29] shreeve: regarding hot code loading... which repo is the current 'leading contender'... would like to experiment with that [22:30] JimBastard: creationix: we are storing in memory until v2 of dirty is ready [22:30] JimBastard: v1 wont work [22:30] JimBastard: and v2 isnt finished [22:31] creationix: hmm, I see, maybe I'll fork v2 and get it ready enough for my tutorial [22:31] shreeve: JimBastard: are you referring to hot code loading? ie - your keeping code in memory? [22:32] JimBastard: no, data [22:32] JimBastard: node-dirty [22:32] shreeve: ok [22:32] JimBastard: i keep my code in github [22:32] JimBastard: remembering it all might get hard [22:32] creationix: shreeve: sorry, we were talking about something else, I'm not sure what's the latest of hot-reloading [22:33] creationix: I think felixge was working on that too, but I don't see him onlint right now [22:34] rtl has joined the channel [22:35] gwoo: felixge is without internet for a week [22:35] gwoo: he actually took a vacation [22:36] JimBastard: i sent him a message on github [22:36] JimBastard: something along the lines of i was gonna kidnap his children if he didnt finish node dirty [22:37] chakrit1 has joined the channel [22:40] al3x__: creationix: /seg_1/{param} ({param} gets passed to the function). and no, parameters aren't against REST in any ways [22:44] unomi has joined the channel [22:44] kriskowal_ has joined the channel [22:46] javajunky: al3x__: express supports 'routes' of that form , if thats any help [22:46] creationix: al3x__: as does node-router and most of the routing frameworks [22:46] al3x__: javajunky: express? link [22:46] javajunky: indeed ;) [22:46] javajunky: expressjs.com [22:46] creationix: that's right, it's got it's own site now [22:48] creationix: mine is still a regular gethub since there isn't much to it http://github.com/creationix/node-router [22:48] creationix: javajunky: are you on the express team too or just use it a lot? [22:48] javajunky: creationix: still keep meaning to get around to take a looksi [22:49] creationix: well, I'm writing a howtonode article about node-router that should help [22:49] creationix: it's painfully undocumented [22:51] javajunky: interestingly I'm listed as a contributer on the aforementioned page, but I'm not really part of the 'team'.. I was interested in working with node.js to develop some stuff, and didn't want to add yet-another-framework to the mix, so chose the one with the most activity I could see, to contribute to ;) .. had bombardier (I forget what its called exactly right now) been further along I would possibly have attached to that instead ;) … express seems to pre [22:52] javajunky: oh and persvr also interests me. [22:53] al3x__: thanks javajunky, creationix [22:53] al3x__: those will probably get me started [22:55] rektide: these unit tests are hella node.js minor revisions aside [22:56] rektide: *behind [22:56] softdrink: Is the multipart.Stream 'body' event going to be changed to 'data'? [22:59] mfeiri has joined the channel [23:00] rektide: al3x__: i havent really library'ized it all, but i have a commons-chain implementation [23:00] rektide: and a 20 line router on top fo that [23:00] rektide: http://cgit.voodoowarez.com/pipe-layer/ [23:01] rektide: here's the runtime for how i use it all: http://cgit.voodoowarez.com/pipe-layer/tree/src/main/nodejs/runtime.js [23:02] rektide: it involves absolutely 0 original effort, i assure you, and thats a reasonably good thing [23:02] gf3 has joined the channel [23:02] rektide: btw, welcome to #node.js [23:04] javajunky: creationix: any plans for :else in haml-js (iirc there was a rewrite branch hanging around an age ago so i've not really considered forking/fixing again ?) [23:04] al3x__: rektide: the examples do not seem to use URI parameters [23:04] al3x__: that's a must for me [23:04] rektide: Delay filter uses uri parameters [23:05] rektide: sorry no [23:05] rektide: delay uses search parameters [23:05] rektide: RegexRouter is what i'd use to do that [23:06] creationix: javajunky: It would be easy to add as soon as I figure what javascript to generate [23:06] javajunky: what I raelly mean is, is there any point we sending patches whilst there's a rewrite branch hanging about ? :) [23:06] creationix: hmm, maybe not, plugins work on a block basis, else introduces a new block and is dependent on the previous block being an if block [23:06] creationix: oh, it's stable now, let me check my branches real quick [23:07] creationix: yeah, the rewrite branch is dead, I'll remove it as soon as I can figure it out [23:08] gf3 has joined the channel [23:08] javajunky: ah okey doke, I'll take another look then, last time I was trying to sort out whitespace endings (< and > ) .. but backed it all out when I saw your branch in the works [23:09] javajunky: An example of where I'd like to use conditionals is the 3rd comment here http://github.com/ciaranj/express/commit/e93f3f7f591f6bca977d5159d98ab315cbe04de6#comments … where I'd like to conditionally apply css classes… I could however be doing something crazy wrong [23:11] MattJ has joined the channel [23:11] dnolen has joined the channel [23:12] stepheneb has joined the channel [23:14] rektide: al3x__: i should capture the RegexRouter's pattern matches in the context object [23:16] javajunky: night all. [23:21] aryounce has joined the channel [23:23] magcius has joined the channel [23:23] magcius: arrgh... I'm getting EAFNOSUPPORT errors when trying to create a server. [23:24] alexiskander has joined the channel [23:25] bronson has joined the channel [23:25] mjr_: some kind of ipv6 thing? [23:26] magcius: Maybe. [23:26] magcius: I did a strace and it showed this [23:26] rektide: al3x__: i've pushed a new version that captures the RegexRouter's regex grouping. Now, you could match, say, "^/seq/(\d+)" or "^/seq/(\d+)/*" and route that to a handler for Sequences [23:26] magcius: socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) [23:26] magcius: socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = -1 EAFNOSUPPORT (Address family not supported by protocol) [23:28] rektide: it still doesnt really understand what url parameters are though [23:28] rektide: eventually i intend to write a router specficially for handling Gregorio's URI templates [23:28] mjr_: magcius: for ipv6 sockets, surely you need a different protocol argument, right? [23:29] magcius: mjr_: what do you mean? Why is it trying to create an IPv6 socket here? [23:29] mjr_: Oh, I dunno. I thought that's what you were trying to do. [23:30] magcius: No... this is just what node decided to do :P [23:30] magcius: this is just server.listen(8000); [23:32] al3x__: rektide: I'll take a look [23:33] rektide: just commons-chain, dont waste too much time on this absolutely meager effort [23:33] rektide: going to jsconf, perhcnace? [23:34] magcius: Well... hilight me if you know what's wrong or how to fix it :P [23:40] isaacs has joined the channel [23:42] JimBastard_ has joined the channel [23:42] _ry: magcius: hmm [23:42] _ry: magcius: what os? [23:42] magcius: _ry: Arch Linux [23:43] magcius: _ry: I also had to patch your wscript [23:43] magcius: _ry: for some reason your version of scons didn't work, I had to change it to mine [23:49] devinus has joined the channel [23:49] devinus: ACTION is really fucking tired of people telling me that my benchmarks are off because the bottleneck is the db. [23:57] joshbuddy has joined the channel [23:58] devinus: i want to go to jsconf :[