[00:13] siculars has joined the channel [00:15] dnolen has joined the channel [00:19] pdelgallego has joined the channel [00:22] pdelgallego has joined the channel [00:32] derferman has joined the channel [00:32] jed has joined the channel [00:38] dnolen has joined the channel [00:45] pjb3_ has joined the channel [00:50] xueyu has joined the channel [00:51] softdrink has joined the channel [00:55] OhMeadhbh has joined the channel [01:01] ssteinerX has joined the channel [01:02] stepheneb has joined the channel [01:09] ditesh|cassini has joined the channel [01:16] steadicat has joined the channel [01:24] dnolen_ has joined the channel [01:26] dekz has joined the channel [01:39] BryanWB has joined the channel [01:47] derferman has joined the channel [01:52] stepheneb has joined the channel [01:54] dnolen_ has joined the channel [01:55] mikeal has joined the channel [01:55] jed has joined the channel [02:22] bpot has joined the channel [02:22] stepheneb has joined the channel [02:22] jed: is there a legacy reason for the mixed case of fs methods? [02:22] jed: readdir, readlink, but readFile, etc/ [02:23] jed: seems like readFile should be readfile for consistency. [02:24] inimino: readFile is what Python uses [02:25] inimino: and readdir is POSIX [02:25] inimino: so I guess we are following the hallowed conventions of PHP [02:25] jed: what is readFile in posix? [02:25] pdelgallego has joined the channel [02:25] jed: cat? [02:25] inimino: there is no readFile in POSIX [02:25] inimino: just read() and open() [02:26] jed: ah, okay. odd that readFile is the only camelCase. [02:28] inimino: Python uses the C naming conventions for C wrapper functions too [02:30] jed: i see. always an education inimino. thanks! [02:32] inimino: sure! :) [02:34] Tim_Smart: lawl http://gist.github.com/332316 [02:37] xueyu has joined the channel [02:40] xueyu: . [02:47] ditesh|cassini has joined the channel [02:49] mikeal has joined the channel [02:50] r11t has joined the channel [02:54] mattly_ has joined the channel [02:55] r11t has joined the channel [02:58] kriszyp has joined the channel [03:05] mattly has joined the channel [03:08] RayMorgan has joined the channel [03:15] [Pwner]John has joined the channel [03:15] ditesh|cassini has joined the channel [03:23] creationix has joined the channel [03:31] BryanWB has joined the channel [03:39] dnolen has joined the channel [03:42] dnolen has joined the channel [03:48] aguynamedben has joined the channel [03:48] aryounce has joined the channel [03:50] dsboulder has joined the channel [03:53] okito has joined the channel [03:59] spoob has joined the channel [04:01] dnolen has joined the channel [04:06] cleverdevil has joined the channel [04:06] cleverdevil: anyone around? I'm having a hell of a time building SSL/TLS support into node.js [04:06] cleverdevil: (on OS X... using Homebrew) [04:07] Tim_Smart: cleverdevil: Got homebrew? [04:07] Tim_Smart: wait, yes you do [04:07] cleverdevil: yeah, I originally compiled everything by hand [04:07] cleverdevil: and it failed [04:07] cleverdevil: so, I removed everything [04:07] Tim_Smart: brew install pkg-config [04:07] cleverdevil: installed Homebrew, and I get the same thing. [04:07] Tim_Smart: brew install gnutls [04:07] Tim_Smart: then compile build and isntall node [04:07] Tim_Smart: *install [04:08] cleverdevil: yeah, I figured I had something weird going on with pkgconfig [04:08] cleverdevil: if I already have pkgconfig installed for some reason, will it conflict? [04:08] cleverdevil: or is homebrew going to be smart enough to figure that out [04:08] Tim_Smart: not sure [04:08] cleverdevil: k. [04:08] cleverdevil: working on this now, and hoping for the best. [04:13] cleverdevil: excellent, that seemed to do the trick. [04:13] cleverdevil: at least, when I run the configure script manually, Node finds gnutls [04:13] cleverdevil: building now from Homebrew... [04:20] softdrink has joined the channel [04:20] cleverdevil: cool that seemed to work [04:20] cleverdevil: now instead of getting an error when attempting to establish an HTTPS connection [04:20] cleverdevil: it just doesn't work :) [04:20] cleverdevil: heh [04:21] cleverdevil: is there any example code out there for connecting to an HTTPS server using Node.JS's HTTP Client? [04:22] Tim_Smart: cleverdevil: http://nodejs.org/api.html#_tt_http_client_tt [04:22] Tim_Smart: look at setSecure [04:22] cleverdevil: yeah, I am calling it. [04:22] cleverdevil: before I was getting an error, now it gets past that [04:22] cleverdevil: but, I never get a response from the server. [04:23] cleverdevil: calling the same URI via curl works fine. [04:23] cleverdevil: var client = http.createClient(443, 's3.parature.com'); [04:23] cleverdevil: client.setSecure('X509_PEM'); [04:24] Tim_Smart: cleverdevil: Well I have never had to use it yet, so someone else should probably step in here [04:24] cleverdevil: its as if I am never getting a response. [04:28] hassox has joined the channel [04:28] cleverdevil: well, I just tried a different server, and it seems to work. [04:28] cleverdevil: so, I can send requests via HTTPS just fine [04:28] cleverdevil: but it appears that for some reason it doesn't like this particular server. [04:32] PyroPeter has joined the channel [04:32] cleverdevil: oh well, getting late, I'll do some more digging tomorrow. [04:32] cleverdevil: I might just have to spawn a curl process and capture the output... [04:33] cleverdevil: thanks for your help! [04:34] mjr_ has joined the channel [04:34] Tim_Smart: Ya know what would be awesome, getting http://doc.trolltech.com/4.4/qdomdocument.html in a node addon [04:35] steadicat has joined the channel [04:40] morgan has joined the channel [04:49] unregistered: Tim_Smart: do it :) [04:51] unregistered: Tim_Smart: why the trolltech one in particular? [04:53] dsboulder has joined the channel [05:15] isaacs: wow, you could hook a nodejs script in as a an imap authenticator from behind nginx... [05:16] isaacs: just do this, but use a nodejs server to drive it instead of a php+apache instance: http://wiki.nginx.org/NginxImapAuthenticateWithApachePhpScript [05:22] bacon has joined the channel [05:29] bentomas has joined the channel [05:29] micheil has joined the channel [05:31] dnolen_ has joined the channel [05:31] hassox has joined the channel [05:34] hassox has joined the channel [05:48] morgan has joined the channel [05:49] dekz has joined the channel [06:02] kennethkalmer has joined the channel [06:03] bentomas has joined the channel [06:16] cedricv has joined the channel [06:20] BryanWB has joined the channel [06:23] isaacs has joined the channel [06:40] sveimac_ has joined the channel [07:02] PyroPete1 has joined the channel [07:02] PyroPete1 has joined the channel [07:04] blazzy_ has joined the channel [07:06] blazzy_ has left the channel [07:09] markwubben has joined the channel [07:11] jed has joined the channel [07:14] blazzy has joined the channel [07:22] Tim_Smart has joined the channel [07:24] deanlandolt has joined the channel [07:31] BryanWB has joined the channel [07:45] spoob_ has joined the channel [07:53] dekz has joined the channel [08:03] kjeldahl has joined the channel [08:20] kjeldahl has joined the channel [08:23] xueyu has joined the channel [08:24] teemow has joined the channel [08:27] Tim_Smart: Hmm, how do you close a HTTP Client response? [08:27] Tim_Smart: the close() method was removed by the looks of it [08:35] javajunky has joined the channel [08:36] isaacs: Tim_Smart: i believe that forceClose is still there, no? [08:36] Tim_Smart: Um, I think it is ClientResponse::connection.close() [08:36] Tim_Smart: but is ain't working [08:37] Tim_Smart: *it [08:37] isaacs: oic [08:40] Tim_Smart: Hmm I think it worked this time :/ [08:45] ditesh|cassini has joined the channel [08:47] markwubben_ has joined the channel [09:02] xueyu_ has joined the channel [09:07] jed has joined the channel [09:10] felixge has joined the channel [09:10] felixge has joined the channel [09:14] unregistered has left the channel [09:31] erikvold has joined the channel [09:56] BryanWB has joined the channel [10:01] felixge has joined the channel [10:14] mikeal has joined the channel [10:18] christkv has joined the channel [10:25] BryanWB has joined the channel [10:33] pdelgallego has joined the channel [10:37] nsm has joined the channel [10:46] dekz has joined the channel [10:49] isaacs has joined the channel [10:51] ithinkihaveacat has joined the channel [10:59] Tim_Smart: Mozilla Jetpack supports CommonJS now :o [10:59] Tim_Smart: Take that Google Chrome extensions [11:02] pdelgallego has joined the channel [11:28] Tim_Smart has joined the channel [11:34] ashb: Tim_Smart: thats cos CommonJS was started by one of the guys behind Jetpack ;) [11:35] Tim_Smart: heh, nice [11:43] Tim_Smart: we should probably enforce package.json for node [11:45] ashb: define enforce? [11:52] stepheneb has joined the channel [11:53] Tim_Smart: ashb: Compulsory [11:53] ashb: how and why would you enforce it? [11:53] ashb: package.json only really matters when you distribute something [11:56] Tim_Smart: ashb: Only for libraries. I guess it would only apply to package managers actually [11:58] ashb: Tim_Smart: but yes, package managers should require a package.json [11:58] Tim_Smart: anyway, whoever is making package managers, should make sure it aligns with Jetpacks specs [11:58] Tim_Smart: for inter-operability [11:58] ashb: i'd hope jetpack alings iwth CJS [11:59] Tim_Smart: Oh, has CJS already got specs? I haven't looked abviously [11:59] Tim_Smart: *obviously [11:59] ashb: for package.json, yeah [11:59] Tim_Smart: cool cool [11:59] ashb: oh not quite the same [12:00] ashb: not incompatible tho [12:00] ashb: https://jetpack.mozillalabs.com/sdk/0.1/docs/#guide/package-spec [12:00] ashb: jetpacks ^^ [12:00] ashb: http://wiki.commonjs.org/wiki/Packages/1.0 [12:00] ashb: CJS ^^ [12:15] jed_ has joined the channel [12:25] MattJ has joined the channel [12:31] spoob has joined the channel [12:37] pmuellr has joined the channel [12:40] lifo has joined the channel [12:45] maritz has joined the channel [12:55] kriszyp has joined the channel [13:01] cedricv has joined the channel [13:11] jherdman has joined the channel [13:12] jed has joined the channel [13:21] Tim_Smart has joined the channel [13:29] sveisvei has joined the channel [13:29] sveimac has joined the channel [13:38] davidsklar has joined the channel [13:46] maritz1 has joined the channel [13:47] stepheneb has joined the channel [13:58] gf3 has joined the channel [14:06] sh1mmer has joined the channel [14:09] steadicat has joined the channel [14:13] micheil has joined the channel [14:16] Booster has joined the channel [14:16] confounds has joined the channel [14:17] siculars: hi gang. what's the difference between "return false" and "return null" ? [14:19] jed: siculars: one returns false, the other returns null. [14:21] brainproxy has joined the channel [14:21] rolfb has joined the channel [14:22] softdrink has joined the channel [14:29] creationix has joined the channel [14:30] aryounce has joined the channel [14:30] creationix: does anybody know how to ajax local files from a local file in chrome (file://...) [14:32] paul_ has joined the channel [14:34] nsm has joined the channel [14:35] aguynamedben has joined the channel [14:37] confounds: creationix: is it possible? you may just have to put them on localhost [14:39] creationix: yeah that works, I'm talking with the jquery giys now [14:42] cpojer has joined the channel [14:46] alex-desktop has joined the channel [14:49] nefD has joined the channel [14:53] tmpvar has joined the channel [14:55] BryanWB has joined the channel [15:02] steadicat has joined the channel [15:03] quirkey has joined the channel [15:07] Guest3170 has joined the channel [15:12] CIA-77: node: 03Krishna Rajendran 07master * r0d5a1fe 10/ src/node_net.cc : Use gai_strerror when tcp.Server fails to resolve its address or service. - http://bit.ly/aJB63k [15:12] CIA-77: node: 03Ryan Dahl 07master * r4ccdc50 10/ (8 files in 5 dirs): (log message trimmed) [15:12] CIA-77: node: Include lib/ directory in node executable. Compile on demand. [15:12] CIA-77: node: Instead of installing the files in /usr/lib/node/libraries and loading them [15:12] CIA-77: node: from the file system, the files are built-in to the node executable. [15:12] CIA-77: node: However, they are only compiled on demand. [15:12] CIA-77: node: The reasoning is: [15:12] CIA-77: node: 1. Allow for more complex internal javascript. In particular, [15:12] CIA-77: node: 03Ryan Dahl 07master * r1395cba 10/ src/node.js : Remove require.paths from process object - http://bit.ly/cVr90v [15:15] CIA-77: node: 03Ryan Dahl 07master * ra6f904c 10/ test/common.js : Tests should use compiled-in modules not build-dir modules - http://bit.ly/cB0MoV [15:16] brainproxy_ has joined the channel [15:17] brainproxy_ has left the channel [15:18] cpojer has joined the channel [15:20] dnolen has joined the channel [15:21] pdelgallego has joined the channel [15:24] felixge has joined the channel [15:24] felixge has joined the channel [15:25] brapse has joined the channel [15:27] brainproxy has joined the channel [15:31] ssteinerX has joined the channel [15:32] softdrink has joined the channel [15:35] r11t has joined the channel [15:37] felixge: _ry: please don't kill require.paths :( [15:38] felixge: _ry: nvm, I misread the commit. You just removed it from process :) [15:39] jed has left the channel [15:40] _ry: upgrade v8 from 2.1.3 to 2.1.4: 104 files changed, 107895 insertions(+), 1104 deletions(-) [15:41] jage has joined the channel [15:41] _ry: these guys are fucking nuts [15:41] alexiskander has joined the channel [15:44] inimino: o_O [15:45] inimino: _ry: any idea how many people are on that team? [15:45] _ry: inimino: 10-15 [15:45] inimino: ok [15:45] _ry: every release it's like this though [15:45] _ry: it's totally insane [15:45] inimino: well I guess that's reasonable, but it is pretty impressive [15:46] _ry: oh okay.. actually there is a huge data file in this release in the tests [15:47] chakrit has joined the channel [15:47] _ry: nevermind [15:47] bradb has left the channel [15:48] _ry: % git show --shortstat -- deps/v8/src [15:48] _ry: 83 files changed, 6764 insertions(+), 1091 deletions(-) [15:48] _ry: that's more reasonable [15:49] inimino: yes [15:49] mattly has joined the channel [15:51] _ry: v8's test suite is extremely impressive [15:52] dandean has joined the channel [15:52] CIA-77: node: 03Ryan Dahl 07master * rd96c526 10/ (104 files in 12 dirs): Upgrade V8 to 2.1.4 - http://bit.ly/bRdf3z [16:00] erikcorr1|away has joined the channel [16:02] whoahbot has joined the channel [16:08] okito has joined the channel [16:08] sh1mmer has joined the channel [16:09] RayMorgan has joined the channel [16:16] steadicat has joined the channel [16:27] joshbuddy has joined the channel [16:35] cloudhead has joined the channel [16:38] aguynamedben has joined the channel [16:40] tilgovi has joined the channel [16:43] sh1mmer has joined the channel [16:43] erikcorry|away has joined the channel [16:45] JAAulde has joined the channel [16:47] stepheneb has joined the channel [16:53] n8o has joined the channel [17:05] JAAulde: looks like the rebuild of my build slave fixed my environment issues [17:05] JAAulde: the failed builds are back where the're expected instead of in GIT [17:05] JAAulde: who is the other FreeBSD build slave? [17:11] kennethkalmer has joined the channel [17:19] cpojer has joined the channel [17:21] christkv has joined the channel [17:33] qFox has joined the channel [17:34] pdelgallego has joined the channel [17:35] mikeal has joined the channel [17:37] sh1mmer has joined the channel [17:44] brandon_beacher has joined the channel [17:48] codeswing has joined the channel [17:52] brainss has joined the channel [17:53] orlando has joined the channel [17:59] felixge has joined the channel [17:59] felixge has joined the channel [18:01] isaacs has joined the channel [18:03] sh1m has joined the channel [18:04] paul_ has joined the channel [18:04] mikeal has joined the channel [18:15] felixge: this is cool: http://www.adequatelygood.com/2010/3/JavaScript-Module-Pattern-In-Depth [18:17] kriszyp: isaacs: is there anyway to define dependencies for NPM such it doesn't break my package.json for tusk [18:18] kriszyp: and how are dependencies resolved? [18:18] Aduros has joined the channel [18:18] kriszyp: can I do full URLs as dependencies, or is there some catalog? [18:18] isaacs: isaacs: kriszyp probably, but i'm not sure exactly what tusk uses. [18:18] kriszyp: "dependencies": ["package-a", "package-b"], [18:18] kriszyp: is that not what commonjs packages defines? [18:18] kriszyp: I understand your desire to deviate [18:19] mikeal: there is also a version string in isaacs [18:19] kriszyp: just wondering if there is a way to support both [18:19] mikeal: you can omit it tho [18:19] isaacs: kriszyp: yeah, it's a concern. [18:19] kriszyp: oh, I can? [18:19] isaacs: i'm not entirely happy with the state of those [18:19] isaacs: in npm, that'd be "dependencies": { "package-a":"", "package-b":"" } [18:19] aryounce has joined the channel [18:19] isaacs: but supporting an array would be doable [18:19] kriszyp: right [18:20] kriszyp: or maybe it could be versionedDependencies, so I can define both and they wouldn't conflict [18:20] isaacs: sure.... [18:20] mikeal: i don't like that [18:20] kriszyp: I don't really have a strong opinion on this stuff [18:20] isaacs: i don't either (like that, have strong opinion on it) [18:20] kriszyp: just trying to figure out how to adjust my package.json for your stuff [18:20] isaacs: yeah [18:20] mikeal: maybe "required":{"dependencies":[]} [18:20] isaacs: you know what? i'm going to rejigger npm to look first for npm-package.json and use package.json as the fallback [18:20] mikeal: at some later date you may also want to require things like git [18:20] isaacs: it's ugly, but whatever. [18:20] kriszyp: oh, ok [18:20] mikeal: npm can't install it [18:20] kriszyp: that's fine with me too [18:21] mikeal: but it can tell you that you need it [18:21] kriszyp: so how does it resolve the dependencies, though? [18:21] isaacs: kriszyp: it just makes sure that it's already installed [18:21] kriszyp: oh, it does go fetch it or anything? [18:21] kriszyp: ok [18:21] isaacs: kriszyp: once i get my server working, it will [18:21] isaacs: but for now, no, it doesn't fetch from the reg [18:21] kriszyp: and then how will it work? :) [18:21] kriszyp: will I be using URIs or a catalog? [18:21] mikeal: it'll talk to a js-registry somewhere and grab the required version [18:22] isaacs: it'll look up the package name and version from the registry if you don't already have it installed [18:22] isaacs: to put stuff into the catalog, you'll use: npm publish [18:22] kriszyp: "the registry", so I'll need to make sure I get my packages registered in there? [18:22] isaacs: to tag a stable version in teh registry, you'll do: npm tag [18:22] kriszyp: oh, ok [18:22] kriszyp: cool [18:22] isaacs: kriszyp: right [18:22] isaacs: but as it's still super alpha, if you want a registry, you need to install it, and then point your /etc/hosts at it [18:23] mikeal: yeah, if you don't want to talk to the public js-regsitry you can use replication to run one locally :) [18:23] kriszyp: so you can state a dependency by URI? having dealt with tusk for a while now, I kind of wish it was all just based on URIs instead of registries, it is pain to deal with forks [18:23] isaacs: hence why i'm rebuilding my web server (also, i want to use nginx, because lighttpd is not too ligth) [18:23] mikeal: atm the dependency installation isn't a big deal for me because I keep git checkouts of all my deps anyway because I'm constantly fixing them for people when changes happen in node ;) [18:24] isaacs: kriszyp: the problem with specifying it as a uri, is that i don't know if it's already installed. [18:24] kriszyp: mikeal, right, I am not worried about package management for myself, it is about making it easy for people that want to use my packages :) [18:24] isaacs: but something like this might be a good way to go at some point: {"dependencies" : { "foo" : {"version":"1.2.3", "dist":"http//..." }} [18:24] kriszyp: anyway, thanks for the help [18:24] kriszyp: yeah [18:24] felixge has joined the channel [18:24] felixge has joined the channel [18:25] mikeal: so [18:25] kriszyp: I have a "location" property in my package.json [18:25] mikeal: is there going to be a packaging option [18:25] kriszyp: Don't know who I copied that from... [18:25] mikeal: that will tar up all of my deps along with my package [18:25] isaacs: mikeal: hm. atm, we've kinda just assumed that you'll publish teh deps to the registry [18:25] mikeal: so that I don't even have to rely on the registry if I just bloat my tarball i can send it around with all my deps [18:25] isaacs: or, someone will [18:25] isaacs: but that's an interesting idea [18:26] sh1m has joined the channel [18:26] isaacs: kinda like how node packages up v8 and whatnot [18:26] mikeal: it's something that we always wanted for Python package with windmill [18:26] kjeldahl has joined the channel [18:26] mikeal: because we've had so many dep problems [18:26] isaacs: well, you'll also kinda get that with the "link" field. [18:26] isaacs: (if you choose to use it) [18:26] isaacs: but it doesn't bundle the deps, it just requires them and then links them into the specified loc [18:27] mikeal: it would be optional, but i think it would be worth it for a lot of people, especially if you package more enduser kinds of applications [18:27] kriszyp: anyway, npm is looking cool, isaacs, good work [18:27] isaacs: thanks! [18:28] isaacs: mikeal: it would also be good for the "not quite a node package" packages [18:28] mikeal: right [18:28] isaacs: like npm install git [18:28] isaacs: not that i advocate such things [18:28] isaacs: but it's doable [18:28] isaacs: ok, i had php working on this nginx site last night, and now i'm getting all kinds of "No input file specified" [18:29] QuietKnight has left the channel [18:29] isaacs: which is like the least helpful error message ever. makes "Error 94: Object variable or with block variable not set" look like Shakespeare [18:29] mikeal: hopefully this week I can write this http load balancer i've been thinking about and not have to run nginx for anything ever again :) [18:29] tmpvar: no love for nginx? [18:30] mikeal: it's just a configuration nightmare [18:30] isaacs: oh, i'm really liking nginx for the most part [18:30] mikeal: still easier than apache tho [18:30] isaacs: it's caching and performance features are amazing. [18:30] isaacs: and since it does almost nothing, it's not terribly confusing. [18:30] mikeal: actually the cache I've already stopped using [18:30] tmpvar: haha [18:30] isaacs: but php is less than helpful in this case. [18:30] tmpvar: i see [18:30] isaacs: this is php-cgi hate you're seeing. [18:30] tmpvar: using fcgi [18:30] tmpvar: got ya [18:31] isaacs: i'm still all googly and mushy over nginx [18:31] kjeldahl: Anybody having any success with recent versions of express, the thingy requiring kiwi? Whatever I try to run I get "Error: Cannot find module 'kiwi'" (from the require('kiwi') line). [18:31] JAAulde: anyone know who is running the "FreeBSD amd64" build slave? [18:32] tmpvar: kjeldahl, sounds like you need kiwi? [18:32] pedrobelo has joined the channel [18:32] indiefan has joined the channel [18:33] kjeldahl: tmpvar: Yes, I've installed it. It is running just fine. But the programs trying to require kiwi do not however. [18:33] kjeldahl: tmpvar: Even told it to install itself... Didn't help. ;-) [18:33] mikeal: the old (current?) kiwi is bash [18:33] mikeal: i think the newer one is javascript, so if it's being required it's probably the new one [18:35] kjeldahl: It's version 0.1.0; the latest one I believe. [18:35] mikeal: i don't use it so i couldn't tell you [18:35] ashb: isaacs: use varnish for caching. its oarsome [18:36] softdrink: note: sys.inspect() on an array created from /usr/share/dict/words is a bad idea. [18:36] kjeldahl: This is supposedly how it's supposed to work: [18:36] ashb: yes i can see that [18:36] kjeldahl: var kiwi = require('kiwi'), [18:36] kjeldahl: express = kiwi.require('express'); [18:36] kjeldahl: fails at the require kiwi line [18:38] paul_ has joined the channel [18:38] isaacs: ashb: what makes it so oarsome? [18:39] ashb: isaacs: ESI mainly [18:39] ashb: and it lets the OS handle paging etc [18:39] isaacs: interesting [18:39] ashb: it just goes I WANT MEMORY [18:39] ashb: and lets the OS swap it to disc [18:39] isaacs: well, i'm mostly just using nginx for now because it proxies really easily to other services [18:40] isaacs: and uses almost no memory [18:40] ashb: not sure how nginx does itm but typically other caches are rubbish at it [18:40] ashb: ah so not caching so much [18:40] isaacs: but i'll check out varnish [18:40] ashb: the ESI feature is really cool [18:40] isaacs: well, it also has some very sophisticated caching features, but i haven't gotten there yet [18:40] ashb: it basically means you cache different parts ofthe page for different periods of time [18:41] ashb: and the cache assembles them using simple markup in your html (think sort of like the old SSI) [18:41] isaacs: interesting [18:41] mikeal: Varnish is awesome if you need it [18:41] mikeal: bu you probably don't [18:41] ashb: it means say the 'logged/sign in here' part can be uncached while the article itself is cached etc. [18:41] isaacs: oh, also, i have two wordpress sites that i almost never update, but take the bulk of my server's memory [18:41] ashb: yeah varnish is a full on proper web cache [18:41] isaacs: that's dumb [18:42] isaacs: so i plan to tell nginx to cache them pretty heavily. [18:42] mikeal: i *think* you can get nginx to use the etags and keep checking them [18:43] isaacs: is there a way to edit commit messages in gitx? [18:49] okito has joined the channel [18:50] ashb: isaacs: only for the last commit [18:50] isaacs: lame [18:50] ashb: use the command line, luke ;) [18:50] isaacs: i've been pushing to the vm with this little script that commits as ".", and then pushes it [18:50] isaacs: so it'd be nice to now go back over it and change those dots into meaningful messages while looking at the commit [18:50] isaacs: the cli is ill-suited to this tast. [18:51] isaacs: ok, lunch time [18:51] ashb: you could use git rebase -i then fireup gitx i think [18:51] ashb: a little clunky tho [18:52] ashb: tho you can get a similar view if oyu do git ci --ammend -v [18:52] ashb: the diff will then be at the bottom of the editor [18:52] ashb: (you *do* have ci aliases right? >_>) [18:54] tjholowaychuk has joined the channel [18:55] kjeldahl: Did a "kiwi install node" which got it working again. It wasn't entirely clear to me whether kiwi required it's own installation of node or not (I've been installing from git until now). [18:56] tjholowaychuk: kiwi is bash [18:56] tjholowaychuk: so right now it does not require node to run [18:56] tjholowaychuk: which is a benefit when installing node :) [18:56] tjholowaychuk: haha [18:56] whoahbot has joined the channel [18:58] kjeldahl: In perl, cpan's package manager doesn't require installing perl itself. The relationsship between kiwi ("node's package manager") and node is a bit different. Not necessarily worse, now that I know. :-) [18:58] isaacs: wait, kiwi doesn't just work with a node installed in /usr/local/bin? [18:58] kjeldahl: cpan's = the cpan [18:58] kjeldahl: isaacs: For me it did not at least. [18:59] jherdman: me too [18:59] tjholowaychuk: it should [18:59] tjholowaychuk: wait [18:59] tjholowaychuk: im confused [18:59] isaacs: yeah, it did for me last time i played wth it [18:59] tjholowaychuk: it should, but you can install node from kiwi [18:59] isaacs: that's important if you're using bleeding edge features [18:59] tjholowaychuk: node's libraries when installed via kiwi are no different than installing from source [18:59] ashb: kjeldahl: thats just cos CPAN.pm is now part of core. [19:00] kjeldahl: I had it installed before kiwi. Installed kiwi and express, and the require kiwi line failed. Then ran "kiwi install node" and it worked again. To newb to say why. [19:00] isaacs: right, kiwi just pulls in the source and does a config make install dance [19:00] isaacs: ok, gotta run [19:00] tjholowaychuk: yup, its just less annoying than finding the tarball url and doing all that stuff manually [19:01] tjholowaychuk: I will push all releases of node from now on to the kiwi server [19:01] kjeldahl: ashb: It seems it is supposed to work either way. [19:01] ashb: kiwi or cpan? [19:01] kjeldahl: kiwi [19:02] tjholowaychuk: kiwi installs node no differently than you would on your own [19:02] tjholowaychuk: same with `kiwi install kiwi` its just easier than updating via clone / make install [19:03] kjeldahl: tjholowaychuk: I know you're probably right. But what I just did was to upgrade and install node from git. Then install kiwi. Then install express using kiwi. Then apps using the "require kiwi" line just failed. Goofed around, installed kiwi itself using kiwi, and then finally node using kiwi, and it just worked again. [19:04] tjholowaychuk: hm.. very strange [19:04] tjholowaychuk: perhaps when you installed node from source it was having some issues [19:04] tjholowaychuk: edge is sketchy sometimes [19:04] tjholowaychuk: let me know if something like that happens again though [19:05] kjeldahl: Could be. It's fine at my end now. I will, thanks. [19:05] tjholowaychuk: I will be setting up an express site soon to help people out with getting started. Slicehost will hopefully sponsor that too haha [19:07] kjeldahl: Regarding express, any easy way to pass parameters from a haml template to the layout? Let's say I want to control what the html title in the layout says, based on which haml page is loaded? I know I could pass it as a param from the node app, but that would mean catching each page and setting the title or similar. [19:07] aho has joined the channel [19:09] tjholowaychuk: not 100% sure I know what your asking, but generally you should pass it in as a local [19:09] tjholowaychuk: I think the chat example does that [19:09] jherdman: it does. i was reading the code just last night [19:10] tjholowaychuk: ah yes it does [19:11] tjholowaychuk: fuck, i hate how when node throws an error related to no file / directory etc it does not output which file / dir haha [19:11] tjholowaychuk: so annoying [19:11] tjholowaychuk: RAGE [19:11] atmos: those rule :) [19:12] kjeldahl: jherdman/tjholowaychuk: It sets the title in the app (javascript code), not in a haml page. [19:12] kjeldahl: which means it needs to be done for each page in code. [19:12] jherdman: ohhh i see what you're saying now [19:13] tjholowaychuk: hm.. it should, if you have layout.haml.html with something like '%h1= title' [19:13] kjeldahl: tjholowaychuk: That's fine, but how to set title in a haml page? Possibly not the "correct" way, but would be convenient (assuming each page wants to mess with the title). [19:14] kjeldahl: set the variable title I mean. [19:14] tjholowaychuk: you want to set the layout/page title from within another view? [19:14] tjholowaychuk: if thats the case im not sure lol [19:14] kjeldahl: I figured it would be "wrong". Still wanted to ask. Thanks. [19:14] jherdman: i think creationix wrote Haml for JS. you might want to ask him [19:15] tjholowaychuk: I agree that view stuff is a little verbose right now, will work on that more once things get out of the issue queue [19:15] tjholowaychuk: yup he did [19:15] tjholowaychuk: i wrote sas [19:15] tjholowaychuk: ss [19:15] tjholowaychuk: fuck [19:15] tjholowaychuk: sass [19:17] kjeldahl: Final express question for today; are the "get" handlers handled in-order, and if so, how can a get handler tell the rest of the handlers to stop trying to match? If not handled in-order, how are the prioritized? [19:17] bpot has joined the channel [19:17] kjeldahl: the prio...=they prio... [19:18] tjholowaychuk: they are handled in order, just a simple array [19:19] tjholowaychuk: we just added pass() recently though so you can chuck the request down the stack [19:19] tjholowaychuk: its more of a flag though [19:19] tjholowaychuk: which is kinda meh but for async that is sorta how it has to be for now at least [19:20] tjholowaychuk: but to answer your question the first route path that matches, will be used. if pass() is never called and if the request is never responded to then it will just fail [19:20] kjeldahl: From testing I was under the impression that ALL matches would be processed and f*** the output, which is why I was looking for a way to "not pass". I may be wrong though. [19:21] kjeldahl: f...=f... up [19:21] kjeldahl: E.g. a default handler for "/" would also match all other specific handlers for "/intro", "/batch" .... [19:21] devinus has joined the channel [19:22] devinus: are there any plans to have WebWorker threads in Node? [19:23] gwoo: devinus: yes [19:29] tmpvar: on a similar note, i just got node-avro to build against avro-c (using a patch from #avro) ! [19:38] aguynamedben has joined the channel [19:38] ashb: tmpvar: what's avro? [19:40] ako has joined the channel [19:40] mattly has joined the channel [19:41] tmpvar: http://hadoop.apache.org/avro/ [19:41] kennethkalmer has joined the channel [19:41] ashb: wow thats a.... largely useless page [19:42] ashb: much like most OS pages [19:42] ashb: OSS [19:43] tmpvar: its a binary transport format [19:43] tmpvar: which we are going to use for WebWorkers / IPC [19:43] jherdman: tmpvar: similar to BSON? [19:44] tmpvar: similar [19:45] mattly_ has joined the channel [19:48] mattly_ has joined the channel [19:50] mattly has joined the channel [19:51] aryounce has joined the channel [19:58] BRMatt has joined the channel [20:00] derferman has joined the channel [20:07] bentomas has joined the channel [20:09] bentomas has joined the channel [20:09] felixge: tmpvar: so avro bindings will be added to node core? [20:10] tjholowaychuk: kjeldahl: nope '/' will become ^\/?$ [20:10] dnolen has joined the channel [20:10] tmpvar: felixge, not sure.. right now its aimed to be an addon [20:10] BRMatt has joined the channel [20:11] felixge: tmpvar: so who did you mean by "we are going to use for WebWorker / IPC" ? [20:11] teemow has joined the channel [20:11] RayMorgan_ has joined the channel [20:12] bridge has joined the channel [20:13] tmpvar: felixge, I may be confused, but I was under the impression that we (node users) would be using avro (soon as a module and in the future whatever Ryan decides) [20:13] felixge: tmpvar: I have no idea : ). That's why I'm asking [20:13] felixge: I don't know why JSON wouldn't work for IPC [20:14] felixge: it seems the most natural choice [20:14] tmpvar: using avro allows for communicating with hadoop/pig as well [20:14] kriszyp: yeah, doesn't worker IPC just involve passing along simple objects that were postMessage'd? [20:14] bridge: hey guys, I was wondering what the best way is to handle a SIGPIPE? I now just print a SIGPIPE but nothing else (close is still emitted for that connection afterwards right?) [20:14] tmpvar: not sure :/, I simply jumped on the chance to write some c++ haha [20:15] felixge: tmpvar: heh :) [20:15] sveisvei has joined the channel [20:15] kriszyp: and IIRC, the W3C spec only defines sending plain strings [20:15] felixge: tmpvar: well, I'm not saying it's not useful. I just wonder if it will be useful for web workers [20:15] kriszyp: I think mozilla extending with support for JSON [20:15] tmpvar: according to Ryan.. it will [20:16] felixge: I guess I really don't care [20:16] felixge: if avro is faster or uses less memory, I'd be happy to use it [20:16] kriszyp: I am not sure why I would need more than just sending JSON for my workers, curious what else I would need [20:16] tmpvar: http://groups.google.com/group/nodejs/browse_thread/thread/b32ce498c05e3dfe/cce6121dbb63bd1a?#cce6121dbb63bd1a -- brb [20:17] RayMorgan has joined the channel [20:18] kriszyp: ah, I see [20:18] kriszyp: that makes sense [20:18] kriszyp: sounds good to me [20:18] joshbuddy has joined the channel [20:19] felixge: my loud speakers are receiving that russian / polish radio station again [20:19] felixge: it's driving me crazy [20:20] felixge: maybe they are involving, and soon I'll beat SETI to :) [20:23] rektide: i rather hope Cassandra does end up using Avro [20:23] kjeldahl: tjholowaychuk: What's the new kiwi style syntax for requiering express/plugins? plugins = kiwi.require('express/plugins') doesn't seem to work. [20:24] tjholowaychuk: kjeldahl: once you require something with kiwi, its in the require paths stack. so you can just require('express/plugins') [20:24] tjholowaychuk: which does not export anything, it makes them globally available because it looks cleaner :) [20:25] tjholowaychuk: or you can use(require('express/plugins/session').Session) [20:25] tjholowaychuk: if your a module nazi [20:25] kjeldahl: Error: failed to find seed info file /home/marius/.kiwi/current/seeds/express/plugins/seed.yml [20:26] kjeldahl: tested with both plain require and kiwi.require [20:29] stepheneb has joined the channel [20:31] dnolen has joined the channel [20:31] tjholowaychuk: I added a example node-repl session to show how it works [20:31] tjholowaychuk: http://wiki.github.com/visionmedia/kiwi/getting-started [20:33] ssteinerX has joined the channel [20:34] whoahbot has joined the channel [20:34] kjeldahl: "kiwi install node-repl" doesn't work. ;-) [20:35] tjholowaychuk: no no no [20:35] tjholowaychuk: haha [20:35] tjholowaychuk: gah [20:35] tjholowaychuk: one sec [20:36] kennethk_ has joined the channel [20:38] gf3: yo tjholowaychuk [20:38] tjholowaychuk: gf3: yo! haha [20:38] tjholowaychuk: kjeldahl: here you go bud, hope this helps a bit http://gist.github.com/333290 [20:39] gf3: tjholowaychuk: curios, what do you use to deploy your express apps? [20:39] gf3: *curious [20:39] tjholowaychuk: gf3: I have none yet haha, soon though, express` site will be express [20:40] tjholowaychuk: gf3: but most likely a monit.js (or just monit) nginx setup, same old [20:40] gf3: heh [20:40] tjholowaychuk: gf3: I will write up some docs when I get there [20:40] kjeldahl: tjholowaychuk: That code gives the identical error as stated on my system. Error: failed to find seed info file /home/marius/.kiwi/current/seeds/express/plugins/seed.yml [20:41] gf3: tjholowaychuk: monit.js looks neat, capistrano is probably too heavy for what I need right now [20:41] kjeldahl: I'll clean out .kiwi and try reinstalling. [20:41] tjholowaychuk: kjeldahl: your path there does not even look right, express/plugins should not be a directory it should maybe be express/0.7.0/plugins [20:42] gf3: tjholowaychuk: so I'm thinking about just using some post-deploy hooks to auto-update the app [20:42] tjholowaychuk: kjeldahl: maybe you tried `$ kiwi install express/plugins` or something [20:42] kjeldahl: Yes, I did... [20:42] Tim_Smart has joined the channel [20:42] tjholowaychuk: gf3: yeah i dont like cap to be honest, I just use git and a couple little scripts [20:42] kjeldahl: Found a wierd file named "

.." which gave a clue... [20:42] kjeldahl: .. that something had gone wrong. [20:43] kjeldahl: Removing .kiwi and reinstalling. [20:43] tjholowaychuk: kjeldhal: haha yeah error handling is a bit tough with curl. just do kiwi install express, you wont have to install anything else [20:44] kjeldahl: ha ha. It installed a file named

Not in express/plugins... [20:44] tjholowaychuk: :D haha awesome [20:45] bentomas has joined the channel [20:46] mikeal has joined the channel [20:46] kjeldahl: tjholowaychuk: Thanks for the help. Cleaning up (undoing "kiwi install express/install") made things work again. [20:47] tjholowaychuk: kjeldahl: no problem, I understand its a bit of trouble right now, the error handling is not the best due to curl being a douche [20:47] tjholowaychuk: myself and another are re-writting it in JS though so things will be better in regards to that [20:47] tjholowaychuk: just makes me cry a little because bash is so elegant lol [20:49] kjeldahl: tjholowaychuk: Sounds great. Thank you for your patience. The momentum in the js world has started to gradually pull me over from the perl world where I usually reside. js on both server and client, with lots of jit technology is looking very promising. Still needs some plumbing, but this is probably a good time to start tooling up. [20:50] tjholowaychuk: kjeldahl: for sure man, everything is really mid swing right now, I have no funding for any of these projects so I do my best with the time i have [20:52] pmuellr has left the channel [20:55] tmpvar: tooling up, i like it [21:00] stepheneb has joined the channel [21:03] alexiskander has joined the channel [21:03] kjeldahl: ACTION smiles [21:06] drostie has joined the channel [21:11] bronson has joined the channel [21:13] aho has joined the channel [21:19] broofa has joined the channel [21:25] markwubben has joined the channel [21:30] joshholt has joined the channel [21:33] ako has joined the channel [21:37] whoahbot has joined the channel [21:39] sh1m has joined the channel [21:43] hassox has joined the channel [21:46] felixge has joined the channel [21:46] felixge has joined the channel [21:46] JimBastard has joined the channel [21:48] embwbam has joined the channel [21:49] embwbam: I'm trying to write an ftp client. Basic stuff works, but I don't know how to actually download a file when I issue a "RETR" command. My tcp connection isn't firing it's "data" event. What am I missing? [21:49] chakrit has joined the channel [21:50] embwbam: all I'm doing right now is sending "RETR the_file.ext" and listening for a data event. [21:53] rictic has joined the channel [21:53] brainss has joined the channel [21:59] whoahbot has joined the channel [22:00] sh1mmer has joined the channel [22:06] tilgovi has joined the channel [22:12] embwbam has left the channel [22:16] paul_ has joined the channel [22:17] unomi has joined the channel [22:26] javajunky has joined the channel [22:30] joshbuddy has joined the channel [22:32] okito has joined the channel [22:32] christkv_ has joined the channel [22:39] teemow has joined the channel [22:41] derferman has joined the channel [22:41] gf3 has joined the channel [22:46] alexiskander has joined the channel [22:46] stepheneb has joined the channel [22:54] ryandotsmith has joined the channel [22:54] CIA-77: node: 03Ryan Dahl 07master * r5d5c8cf 10/ src/node_stat_watcher.cc : Fix StatWatcher typo - http://bit.ly/98GSFt [22:54] ryandotsmith: greetings! [22:55] ryandotsmith: anyone using nerve in here ? [22:59] davidsklar has joined the channel [23:05] dekz has joined the channel [23:06] okito has joined the channel [23:06] jed has joined the channel [23:14] blazzy: ryandotsmith: i have lots of nerves. :) [23:14] blazzy: what is nerve in this context? it's not a google friendly name. [23:15] paul_ has joined the channel [23:16] _ry: is anyone going to be mad if i remove the constants from process without first deprecating them? [23:17] _ry: e.g. process.EAGAIN [23:17] _ry: i don't think people are using that [23:21] Tim_Smart: _ry: Heh, I had never heard of that one [23:33] devinus has joined the channel [23:44] ryandotsmith: blazzy: http://github.com/gjritter/nerve [23:44] ryandotsmith: i am new to node.js and i am trying to acclimate myself by building an app using pure node.js [23:45] ryandotsmith: but i am looking at app frameworks as guides / examples [23:45] CIA-77: node: 03Ryan Dahl 07net2 * r953fa3a 10/ (lib/http2.js lib/net.js src/node.cc): Move net2 bindings out of process - http://bit.ly/asZKys [23:47] sveimac has joined the channel [23:47] tmpvar has joined the channel