[00:00] arlolra has joined the channel [00:00] zilch has joined the channel [00:05] vikstrous has joined the channel [00:06] zilch has joined the channel [00:07] rfay has joined the channel [00:08] newy has joined the channel [00:09] cjm has joined the channel [00:10] horbz has joined the channel [00:11] vikstrous has joined the channel [00:12] [[zz]] has joined the channel [00:13] chris6F has joined the channel [00:13] chris6F: hey [00:13] chris6F: anyone know the status of harmony proxies re: http://www.google.com/url?sa=D&q=https://twitter.com/%23!/ryah/status/102111394689855488 [00:13] socketio\test\27 has joined the channel [00:13] chris6F: https://twitter.com/%23!/ryah/status/102111394689855488 [00:19] pr2012: is SSL performance any better in .5+? [00:19] daithi44 has joined the channel [00:20] indexzero has joined the channel [00:22] webben has joined the channel [00:23] seivan has joined the channel [00:23] rchavik has joined the channel [00:23] pquerna: pr2012: can you be more specific? [00:25] pquerna: pr2012: or better yet, a test case :) [00:25] pr2012: request with https take an average of an extra 200ms in my experience [00:26] pquerna: using an rsa 4096 key? [00:26] pquerna: and is this client or server you are talking about? [00:27] eastender has joined the channel [00:27] pr2012: server, and actually its only 256 [00:27] admc has joined the channel [00:27] pquerna: i'm pretty sure you aren't using an rsa-256 key [00:28] pr2012: sry, 2048 [00:28] zilch has joined the channel [00:29] intuitivepixel has joined the channel [00:30] CIA-65: node: 03Bert Belder 07master * r9728723 10/ src/node_crypto.cc : node_crypto: interface with libuv, not libev - http://bit.ly/r79MyO [00:30] patcito_ has joined the channel [00:32] zilch has joined the channel [00:34] pen_ has joined the channel [00:35] zilch has joined the channel [00:36] anti has joined the channel [00:36] ryanallenbobcat has joined the channel [00:38] arpunk has joined the channel [00:40] AvianFlu has joined the channel [00:40] zilch has joined the channel [00:41] tristanseifert_ has joined the channel [00:43] jbrokc has joined the channel [00:43] MikhX has joined the channel [00:43] MikhX has left the channel [00:43] zilch has joined the channel [00:46] cpojer_ has joined the channel [00:46] zilch has joined the channel [00:46] vikstrous has joined the channel [00:47] cpojer_: hello. Is there an easy way with npm to list all the npm modules my project requires so I can only put that file into my project's repository and not the node_modules folder? [00:47] jimt has joined the channel [00:47] nerdfiles1 has joined the channel [00:48] nerdfiles1 has left the channel [00:49] chapel: cpojer_: package.json [00:50] cpojer_: ok so it would essentially be a package itself [00:50] cpojer_: coolio [00:50] Emmanuel` has joined the channel [00:51] neoesque has joined the channel [00:51] theCole_ has joined the channel [00:53] indexzero has joined the channel [00:56] curtischambers has joined the channel [00:56] materialdesigner has joined the channel [00:57] dshaw_ has joined the channel [00:57] zilch has joined the channel [00:57] davidbanham has joined the channel [01:01] zilch has joined the channel [01:01] ryah has joined the channel [01:01] joeytwiddle has joined the channel [01:01] joeytwiddle_ has joined the channel [01:02] cpojer_ has left the channel [01:03] joeytwiddle has joined the channel [01:05] zilch has joined the channel [01:05] nodokodo has joined the channel [01:06] vikstrous has joined the channel [01:09] jetienne_ has joined the channel [01:10] wookiehang0ver has joined the channel [01:10] [[zz]] has joined the channel [01:10] zilch has joined the channel [01:12] vikstrous has joined the channel [01:12] patrickjst has joined the channel [01:14] pen_ has joined the channel [01:15] nodokodo has joined the channel [01:15] sebastianedwards has joined the channel [01:16] soapyillusions has joined the channel [01:17] zilch has joined the channel [01:19] knowtheory has joined the channel [01:20] zilch has joined the channel [01:20] cccaldas has joined the channel [01:21] k1ttty has joined the channel [01:21] patrickjst has joined the channel [01:22] CIA-65: libuv: 03Ben Noordhuis 07master * r5020134 10/ src/uv-unix.c : uv-unix: remove unused variable 'iov' - http://bit.ly/nfvjKq [01:22] freewil has joined the channel [01:27] pizthewiz has joined the channel [01:27] Slashbunny has joined the channel [01:27] zilch has joined the channel [01:30] rfay has joined the channel [01:30] niftylettuce has joined the channel [01:32] MUILTFN has joined the channel [01:32] Ratty_ has left the channel [01:32] srid has joined the channel [01:32] srid has joined the channel [01:33] desaiu has joined the channel [01:33] brez_ has joined the channel [01:33] desaiu: I was told that I shouldn't store passwords in plain text in my source code [01:33] zilch has joined the channel [01:33] AvianFlu: if you do that and other people see your code, they'll know your passwords [01:33] materialdesigner: what kind of passwords [01:33] AvianFlu: that's the risk [01:34] desaiu: What's the processing of encrypting the the password? [01:35] AvianFlu: there's a module called bcrypt you could look at [01:35] materialdesigner: what is the password being used for? [01:35] AvianFlu: it's specifically designed for passwords if I'm not mistaken [01:35] materialdesigner: bcrypt is a hash mechanism, not an encryption scheme [01:36] mike5w3c has joined the channel [01:37] zilch has joined the channel [01:37] AnthonyBullard has joined the channel [01:38] Nuck: Ugh [01:38] Charuru has joined the channel [01:38] AnthonyBullard: hello all. [01:38] materialdesigner: desaiu: seriously. what's the password used for? that will make a difference in what is/isn't "secure" [01:39] AnthonyBullard: anyone have any dealings with the new windows binary? [01:39] Nuck: Trying to mod the connect-session middleware to where it'll work with oAuth 2 tokens or a cookie [01:39] Nuck: Is there some standard for the oAuth 2 token or do I just make my own style of token? [01:40] ecin_ has joined the channel [01:40] materialdesigner: are you creating an oauth2 implementation? or are you a client? [01:40] Nuck: server [01:40] materialdesigner: I had to deal with oauth2 in everyauth :( [01:40] Nuck: I'm building an API and I wanna provide oAuth 2 as a way for people to build on it [01:41] brez_ has joined the channel [01:41] Nuck: But I wanna use the cookie-based auth for my own system still. [01:41] zilch has joined the channel [01:42] materialdesigner has joined the channel [01:42] AnthonyBullard: Nuck: Reading over the documentation it looks like it's whatever token you need to identify the user [01:43] ryanallenbobcat has joined the channel [01:43] AnthonyBullard: Nuck: I could find nothing about a standard format, though obviously it should probably be a 16-bit alpha key or stronger [01:43] AnthonyBullard: Nuck: But that is just taking a fast read-through of the docs. Don't quote me [01:43] vikstrous has joined the channel [01:43] jakehow has joined the channel [01:44] jakehow_ has joined the channel [01:44] ringomanatee has joined the channel [01:45] ringomanatee: which order do the three.d rotations execute in? [01:45] desaiu has joined the channel [01:45] balupton has left the channel [01:45] desaiu: Sorry about that, don't have a good connection presently [01:46] Anton_ has joined the channel [01:46] AnthonyBullard: Anyhow, is there anyone that has some experience with the new Windows node binary? Even the simplest task seem like they just don't want to work. But I'm doing design work in Windows, and don't wan to have to a) boot back and forth between Win and Ubuntu or b) run Ubuntu on a VirtualBox all day long [01:47] AvianFlu: AnthonyBullard: Node.js uses UNIX versioning: odd-numbered releases are unstable [01:47] AvianFlu: windows is still in development [01:47] AvianFlu: when you see v0.6.x, that will be the stable version [01:47] zilch has joined the channel [01:48] AvianFlu: I can't give you a timeline as I don't work on core, but that's a big part of your issue [01:48] bradleymeck: and udp / C++ / npm / etc. aren't working. beware of unstable versions~ [01:48] AnthonyBullard: AvianFlu: Awesome to know. Have other devs reported issues with basic stuff like the http module? [01:48] AvianFlu: well they're bringing in functionality bit by bit through the 0.5.x series [01:48] AvianFlu: so I'd say you've probably found stuff that may not be in windows yet [01:49] AnthonyBullard: AvianFlu: Well, looks like VirtualBox it is. I really need another dedicated box to run Ubuntu on. Thanks for the info. [01:49] AvianFlu: np [01:49] AnthonyBullard: Nuck: Did that help you out? The RFC is here: http://tools.ietf.org/html/rfc5849#section-2.3 [01:50] mokane has joined the channel [01:51] JakeyChan has joined the channel [01:52] nodokodo has joined the channel [01:54] desaiu has joined the channel [01:54] desaiu: Can you update an installation of node with npm? [01:54] desaiu: And lastly, is there something like rvm generally recommended? [01:55] zilch has joined the channel [01:55] isaacs: desaiu: no, npm is not for updating node itself [01:55] isaacs: desaiu: i use nave for that, though. (or git) [01:55] isaacs: desaiu: i believe that there is a debian ppa that has node in it. check the mailing list [01:56] materialdesigner: AnthonyBullard: http://pastie.org/private/qgpbslwqrnyzzzsec2fzjg, that's basecamp's OAuth2 implementation [01:56] AvianFlu has joined the channel [01:56] desaiu: Thank you isaacs [01:57] materialdesigner: grr, I mean Nuck [01:57] isaacs: desaiu: np [01:57] zilch has joined the channel [01:58] yokoaway has joined the channel [02:01] seivan has joined the channel [02:01] zilch has joined the channel [02:01] caolanm has joined the channel [02:02] ryanallenbobcat has joined the channel [02:02] materialdesign-1 has joined the channel [02:03] eyesUnclouded has joined the channel [02:03] Nuck: materialdesign-1, AnthonyBullard: Thanks, I'll look those over, see if I can figure something out :D [02:03] tlrobinson has joined the channel [02:05] kmiyashiro has joined the channel [02:05] zilch has joined the channel [02:06] shipit has joined the channel [02:07] prettyrobots has joined the channel [02:10] prettyrobots: There was some [02:10] prettyrobots: CSS langauge that people were using here, that they preferred to LESS. [02:10] prettyrobots: What was that? [02:10] Nuck: SASS? [02:10] Nuck: I personally love LESS [02:11] prettyrobots: Yeah, I guess. [02:11] prettyrobots: Yeah, I love LESS> [02:11] prettyrobots: . [02:11] Nuck: It has the same taste as CSS [02:11] materialdesigner: I prefer LESS [02:11] prettyrobots: Nuck: But people were down on it. [02:11] Nuck: Really? [02:11] prettyrobots: Okay. Good. It's not just me. [02:11] materialdesigner: what were they down on it for? [02:11] materialdesigner: only thing it doesn't have is variable variables [02:11] Nuck: How could anyone hate on LESS >:C [02:11] nerdfiles has joined the channel [02:11] nerdfiles has left the channel [02:11] prettyrobots: Nuck: Yeah. It wasn't frameworky enough or something. [02:12] Nuck: materialdesigner: Probably syntax or some shit [02:12] prettyrobots: I believe they wanted to use Compass. [02:12] materialdesigner: lol its syntax is beautifully simplistic [02:12] materialdesigner: so much better than Sass [02:12] prettyrobots: But, I get a lot of reuse out of LESS already. [02:12] Nuck: Like I said, it tastes just like CSS [02:12] Nuck: So it feels natural [02:12] prettyrobots: And too much reuse becomes a problem in and of itself. [02:13] zilch has joined the channel [02:13] al3xnull has joined the channel [02:13] eventualbuddha has joined the channel [02:13] infynyxx has joined the channel [02:14] prettyrobots: Nuck, materialdesigner: Thanks for your thoughts. [02:15] materialdesigner: I feel if someone made a Compass for less it'd be helpful [02:17] zilch has joined the channel [02:19] zilch has joined the channel [02:19] pen_ has joined the channel [02:21] ag4ve has joined the channel [02:21] prettyrobots: materialdesigner: I created one or two parameterized mixins that does all that I'd ever need Compass to do. [02:22] prettyrobots: Also, I include blueprint.css and LESS treats it as a mixins, so it's pretty much already there, Compass. [02:22] materialdesigner: yeah, I mean, what are you going to parameterize so much? [02:22] materialdesigner: how long does it take to write a buttons mixin or a gradient mixin? [02:24] zilch has joined the channel [02:24] materialdesigner: yep [02:24] materialdesigner: I just add () to all of the html5bp mixins [02:25] cafesofie has joined the channel [02:25] Peniar has joined the channel [02:25] CIA-65: libuv: 03Bert Belder 07master * rc6c3d15 10/ (src/win/error.c src/win/tcp.c): Windows: slightly improve error reporting - http://bit.ly/qVSpKb [02:26] materialdesigner has joined the channel [02:27] zilch has joined the channel [02:27] ralphholzmann: should I be worried if my high traffic node app has an average of 80% heapUsed ? [02:27] prettyrobots_ has joined the channel [02:28] ralphholzmann: where 80% is (heapUsed / heapTotal) [02:28] prettyrobots has joined the channel [02:30] abraxas has joined the channel [02:30] bnoordhuis: ralphholzmann: no [02:31] bnoordhuis: be happy, memory that isn't used is wasted [02:31] ralphholzmann: bnoordhuis: \o/ [02:34] piscisaureus has joined the channel [02:34] zilch has joined the channel [02:35] neilk_ has joined the channel [02:36] Nuck: ruh roh is npm down? [02:36] Nuck: Getting 500'd :/ [02:37] kmiyashiro: can anyone here read japanese? [02:37] srid has joined the channel [02:37] srid has joined the channel [02:37] seb_ has joined the channel [02:37] Nuck: hmmm guess it was just a fluke [02:38] saschagehlich has joined the channel [02:38] jamescarr has joined the channel [02:38] rfay has joined the channel [02:39] bnoordhuis: kmiyashiro: yes - but i never know what it means [02:39] kmiyashiro: oh [02:40] kmiyashiro: I put something through google translate but it looks way too long to me [02:40] unlink has joined the channel [02:40] unlink has joined the channel [02:40] piscisaureus_ has joined the channel [02:40] zilch has joined the channel [02:40] AvianFlu: bnoordhuis ahahahahahahaha [02:41] jamescarr: I have a somewhat silly question [02:41] jamescarr: anyone have "migrate" like tasks for a Cakefile? [02:41] AvianFlu: there are no silly questions, only silly people who ask questions before they ask questions [02:41] jamescarr: or Jakefile? [02:41] AvianFlu: :-P [02:41] jamescarr: I want to do something like migrate:db with mongodb [02:42] mikey_p: jamescarr: https://github.com/visionmedia/node-migrate [02:43] jamescarr: fuck [02:43] Nexxy: omg language [02:43] jamescarr: TJ is beating me [02:43] mikey_p: not sure if you could add that to a package.json maybe? [02:43] mikey_p: tj FTW [02:43] Nuck: jamescarr: Is he ever not? [02:43] mikey_p: assuming that means trader joe's.... [02:43] Nuck: mikey_p: I facepalmed. [02:44] vikstrous has joined the channel [02:44] jamescarr: mikey_p, thanks, not quite what I wanted but I am watching it :) [02:44] AnthonyBullard: Virtual Box, making make the longest, most painful to watch process ever....... [02:45] jamescarr: for now I'm just going to create a Cakefile with a task to import a csv file into the database [02:45] Nuck: How does one even represent a Mongo DB as a csv? [02:45] mikey_p: i'm not up enough on what tasks in package.json can do, but you might be able to do it with npm [02:45] Nuck: mikey_p: I'd be willing to wager they can do damn near anything [02:46] Nuck: It's NPM, after all. [02:46] jamescarr: Nuck, mongoimport [02:46] Nuck: jamescarr: I thought that was .json files? [02:46] [[zz]] has joined the channel [02:46] Nuck: Or .bson? [02:46] zilch has joined the channel [02:46] jamescarr: Nuck it takes a CSV file and uses the first line as props [02:46] mikey_p: Nuck: mongoexport -d -o --csv -f [02:46] Nuck: Or is that mongodump and mongorestore? [02:46] jamescarr: optionally [02:46] aoberoi has joined the channel [02:46] indexzero has joined the channel [02:46] Nuck: ah [02:47] mikey_p: ACTION just leaves http://www.mongodb.org/display/DOCS/Import+Export+Tools right here [02:47] jamescarr: Nuck, I took the easy way though, I needed some common shit like states and what not in my db. Just imported some csv files easily found online ;) [02:47] Nuck: Can't really represent nesting through csv :P [02:47] Nuck: And I use nesting heavily [02:47] mikey_p: Nuck: try it and see what you get…i'm kinda curious [02:47] jamescarr: yeah, [02:48] mikey_p: does it just dump json into a CSV? [02:48] Nuck: mikey_p: note the [02:48] chilts: convert your data into JSON with one line per document [02:48] chilts: that should be pretty easy to do and import [02:48] Nuck: I assume it represents it as a flat structure [02:48] Nuck: No nesting [02:48] Nuck: chilts: might as well use a JSON file then :P [02:48] chilts: yep ... though that depends on how big the document is [02:49] Nuck: lol true [02:49] chilts: I've done processing with one line per doc before, so that I don't have to read in the entire file [02:49] Nuck: Or just use mongodump and mongorestore [02:49] Nuck: That's what I've used for the most part, IIRC. [02:49] Nuck: I know I'm pulling in from BSON files [02:49] JakeyChan has joined the channel [02:50] Nuck: ACTION <3 Mongo [02:50] tmpvar has joined the channel [02:50] zilch has joined the channel [02:52] Nuck: I'm actually really surprised that there are still no proper oAuth 2 servers on Node [02:54] Nuck: Well, I'll see about open-sourcing my solution :P [02:54] Nuck: The best lib I can find [02:54] Nuck: Is based on draft 10 [02:55] Nuck: Current draft is draft 20 [02:55] zilch has joined the channel [02:56] arpunk has joined the channel [02:56] mikey_p: Nuck: what if the field name contains nested data? [02:56] mikey_p: ACTION is secretly hoping for CSJ [02:56] heavysixer has joined the channel [02:56] mikey_p: comma separated JSON [02:57] kenperkins has joined the channel [02:57] mikey_p: just as a total WTF moment, not cause it'd be useful [02:57] JakeyChan_ has joined the channel [02:57] Nexxy: mscdex, ping [02:58] mscdex: Nexxy: pong [02:58] cjm has joined the channel [02:58] Nuck: mikey_p: if the field name contains nested data, I assume it won't work. [02:58] Nuck: In fact [02:58] Nexxy: what kind of sd card are you using for your pandaboard [02:58] Nuck: Is that even possible? [02:58] Nexxy: liek some kinda super high r/w speed one? [02:58] zilch has joined the channel [02:58] mikey_p: Nexxy: btw, found a spot that'd be perfect for portland node meet up: http://calagator.org/venues/202392813 [02:58] vikstrous has joined the channel [02:58] Nexxy: ohhh? [02:59] mikey_p: at least it seems like it'd be perfect [02:59] Nexxy: lol ruby for women [02:59] mscdex: Nexxy: Sandisk Ultra II 32gb class 4 [02:59] mscdex: it's one i've had for some time now [02:59] mikey_p: course I don't go to the current JS meet up anyway [02:59] Nexxy: mscdex, does it seem slow? [03:00] Nuck: God that's such a hipster name for a place. [03:00] Nuck: Collective Agency. [03:00] Nexxy: omfg [03:01] polotek has joined the channel [03:01] mscdex: Nexxy: i dunno, it's good enough for me. i don't have any higher-class cards to compare with [03:01] jamescarr: Ah portland [03:01] jamescarr: Take that train across the river from the convention center to the downtown area [03:01] Nexxy: mikey_p, do you know what their fees are? [03:01] mscdex: it says 15MB/s [03:01] polotek has joined the channel [03:01] mscdex: for read speed anyway [03:02] Nexxy: mscdex, oki thanks ;3 I was looking at some ultras as well [03:02] Nexxy: but only 8gb [03:02] piscisaureus has joined the channel [03:02] mscdex: write speed is apparently lower [03:02] mikey_p: Nexxy: i imagine next to none, i could try to talk to the folks that run some of the stump town syndicate stuff [03:02] Nuck: Any well-documented oAuth 2 servers that aren't in JS but which could be great for referencing in implementing my own Node server? [03:02] Nexxy: I don't really need a lot of space [03:02] fmeyer has joined the channel [03:02] Nuck: Preferably draft 18+? [03:02] mscdex: 640k ought to be enough for anybody [03:02] zilch has joined the channel [03:02] polotek has left the channel [03:03] chjj: http://stackoverflow.com/questions/652788/what-is-the-worst-real-world-macros-pre-processor-abuse-youve-ever-come-across [03:03] Nuck: You Portlanders should send me stumptown coffee ;D [03:03] polotek has joined the channel [03:03] chjj: funniest SO post ever^ [03:03] chjj: read the first answer [03:04] Nuck: chjj: Fuck. [03:04] zilch has joined the channel [03:04] Nuck: ACTION facepalms [03:04] chjj: "Compiler found error in code. This is punishment. [03:04] chjj: rofl [03:05] chjj: im doing that next time i get an error [03:05] Nexxy: Nuck, stumptown sold out [03:05] Nexxy: it's no longer part of Portland. [03:05] jamescarr: hmmm... how can you provide arguments to a cake task? [03:05] AvianFlu: chjj LOLOLOLOLOLOLOOL [03:05] Nuck: Nexxy: But their coffee is still delicious so IDGAF [03:06] chjj: haha [03:06] AvianFlu: oh man that was funny [03:06] AvianFlu: I also liked the one that said #define true false //happy debugging [03:06] chjj: yeah, theres some good ones in there [03:06] chjj: #define ever (;;) [03:06] chjj: for ever { [03:07] chjj: that one is awesome [03:07] bnoordhuis: chjj: have you seen libev's source? [03:07] chjj: ive glanced at it, never read it entirely though [03:07] chjj: are there macros like that? [03:07] bnoordhuis: chjj: well... the macros have a purpose, i'll give it that [03:07] newy has joined the channel [03:07] chjj: hehe [03:08] arlolra: pquerna: your bb is down :( [03:08] Nuck: chjj: #define true false //happy debugging [03:08] Nuck: Most cruel thing ever [03:08] chjj: #define if while [03:08] AvianFlu: that one pwns too [03:08] chjj: that would also break things pretty good [03:08] blissdev has joined the channel [03:08] chjj: hehe [03:09] jamescarr: option '-e', '--environment ENVIRONMENT_NAME', 'set the environment for `task:withDefaults`' [03:09] AvianFlu: oh LOL #define strncpy strcpy [03:09] JoshC1 has joined the channel [03:09] chjj: "#define retrun return because he liked to type fast" [03:10] chjj: so bad [03:10] Nuck: #define int str [03:10] Nuck: :B [03:10] mscdex: #define node.js node.js rules! [03:10] Nuck: Bury that somewhere the maintanence programmers won't find it. [03:11] adambrault has joined the channel [03:12] boehm has joined the channel [03:12] zilch has joined the channel [03:13] ryanallenbobcat has joined the channel [03:15] SubStack: curl -N 71.198.76.38:8080 [03:15] SubStack: ansi progress bars over http >:D [03:16] AvianFlu: SubStack: gangster. [03:16] chjj: wait thats a cool idea [03:16] chjj: why didnt i think of that [03:16] mscdex: SubStack: what's with exporting the constructor? [03:16] materialdesigner has joined the channel [03:17] mscdex: since a new instance is returned the moment you require() the module [03:17] devongovett has joined the channel [03:17] mscdex: :S [03:17] SubStack: no it isn't [03:17] mscdex: return new Charm() ? [03:17] SubStack: mscdex: I needed to expose that so I could check instances [03:17] SubStack: so in multimeter you can pass along your own charm object [03:17] indexzero has joined the channel [03:18] SubStack: 03:17:09 < mscdex> since a new instance is returned the moment you require() the module [03:18] SubStack: false, it's behind the main export [03:18] postwait has joined the channel [03:18] chjj: module.__defineGetter__('exports', function() { return new ctor(); }); [03:18] chjj: for the win [03:24] yokoe has joined the channel [03:24] kmiyashiro: what's that [03:25] tim_smart has joined the channel [03:25] andrewfff has joined the channel [03:26] kmiyashiro: is anyone not in europe or northern america? [03:26] chilts: NZ [03:26] chjj: why is xterm configuration so stupid [03:27] kmiyashiro: chilts: does Yelp exist in NZ? [03:27] Nuck: For some reason, Yelp keeps emailing me in French. [03:28] MUILTFN has joined the channel [03:28] Nuck: I've never been to France, and I don't even think I have a sliver of French in me. [03:28] kmiyashiro: Nuck: where do you live? [03:28] Nuck: California. [03:28] clu3 has joined the channel [03:28] chilts: no idea [03:29] edgarallanpoe has joined the channel [03:29] kmiyashiro: chilts: can you visit http://www.yepmap.com and tell me if there's a yellow notice on the top of the screen? [03:29] kmiyashiro: crap [03:29] kmiyashiro: nm [03:29] kmiyashiro: hold on [03:30] knowtheory has joined the channel [03:32] zilch has joined the channel [03:33] dexter_e has joined the channel [03:33] Bogh has joined the channel [03:34] zilch has joined the channel [03:34] ditesh|cassini has joined the channel [03:34] kmiyashiro: simplegeo removed my referrer or something [03:36] Nuck: Hey, do you guys think it's worth implementing oAuth 2.0 draft 10? [03:36] Nuck: Or should I just stick to 15+? [03:37] yokoe has joined the channel [03:37] Nuck: I mean, we're on draft 20 now.. [03:37] fyskij has joined the channel [03:37] chjj: nuck isnt it past your bedtime or something? [03:37] chjj: ;p [03:38] zilch has joined the channel [03:38] Nuck: chjj: lolwat [03:38] chjj: hehe [03:38] Nuck: Why do people feel the need to make jokes about me being 17. Seriously, I'm what, 2 months short of being 18? [03:39] chjj: haha [03:39] chjj: dont know [03:39] Nuck: But yeah, any opinions on the oAuth 2 question? [03:39] k1ttty has joined the channel [03:39] chjj: no, never used oauth, dont particularly care for it [03:39] temp01 has joined the channel [03:39] chjj: isnt there already an oauth module? [03:40] Nuck: oauth 1, yes [03:40] Nuck: oAuth 2, no. [03:40] chjj: i see [03:40] chjj: whats the difference [03:40] Nuck: And I'm building a server anyways [03:40] kmiyashiro: everyauth? [03:40] Nuck: Don't know. [03:40] kmiyashiro: thought everyauth had oauth2 [03:40] zilch has joined the channel [03:40] Spion_ has joined the channel [03:40] Nuck: kmiyashiro: That's a client for other auth routes [03:40] kmiyashiro: or at least all the popular flavors [03:40] Nuck: As in, people can login with Facebook [03:40] kmiyashiro: right [03:40] Nuck: Not what I want [03:41] Nuck: I want to be an oAuth 2 provider [03:41] kmiyashiro: oh [03:41] Nuck: yeah lol [03:41] kmiyashiro: why would you want that [03:41] Nuck: I've got an API [03:41] Nuck: And some requrie people to be logged in [03:41] kmiyashiro: ic [03:41] Nuck: But would be useful for things to build on our platform [03:41] kmiyashiro: yeah [03:41] Nuck: Like mobile apps, desktop apps, etc. [03:41] kmiyashiro: sure [03:41] kmiyashiro: go with oauth2 then [03:42] kmiyashiro: problem with oauth2 is that not many libs for it [03:42] Nuck: Yeah, but I'm not sure if I should do a side-by-side of drafts 10 and 15 [03:42] kmiyashiro: and people basically disregard the spec [03:42] Nuck: Or just do 15 and such? [03:42] Nuck: Well, there's 20 drafts to pick from [03:42] kmiyashiro: do your own flavor or copy a bigger implementation [03:42] Nuck: So it's hard to stick to the spec already, not to mention how long it is [03:43] vikstrous: random question: what's with people putting the comma in variable declarations at the beginning of new lines? [03:43] kmiyashiro: it's not that long [03:43] chjj: its e-mazing [03:43] Nuck: It's long enough that people will go tl;dr [03:43] chjj: thats why [03:43] kmiyashiro: you just need to focus on the flows [03:43] chjj: @vikstrous [03:43] kmiyashiro: just pick one [03:43] kmiyashiro: flow [03:43] chjj: vikstrous, what do you mean though? [03:43] vikstrous: like this: [03:43] chjj: does it offend you? [03:44] kmiyashiro: and before you take my advice, I've never implemented it [03:44] vikstrous: var mongoose = require('mongoose') [03:44] vikstrous: , Schema = mongoose.Schema [03:44] vikstrous: , mongooseAuth = require('mongoose-auth'); [03:44] zilch has joined the channel [03:44] bripkens has joined the channel [03:44] chjj: yeah i do that, i used to not do it [03:44] Nuck: kmiyashiro: It's not hard to implement I'd imagine, not with Express :P [03:44] chjj: until i realized i do everything that way except for commas [03:44] kmiyashiro: I've just designed an OAuth2 setup thing for API providers [03:44] chjj: for example, concatenation i do: 'str'\n+'str' [03:44] chjj: plus sign is always after the new line [03:45] vikstrous: well why not just do var on every line if you want it to be clear? [03:45] chjj: so i started being more consistent by putting commas there too [03:45] Nuck: vikstrous: Because it isn't clear? [03:45] Nuck: Well it is [03:45] chjj: eh, dont like the look, all those vars look cluttered [03:45] Nuck: But this is no less so? [03:45] temp02 has joined the channel [03:46] vikstrous: Heh, I guess it's all a matter of opinion. [03:46] csanz_ has joined the channel [03:46] Nuck: only thing I have against the comma-at-the-start is that it borks the auto-indenting logic on my text editor [03:46] chjj: i used to not like the comma-first style, but i was slowly seduced by it [03:46] Nuck: chjj: Same [03:46] vikstrous: I'm not hating on the style, I'm just wondering what the arguments for it are. [03:46] Nuck: I think it's an acquired taste. [03:46] zilch has joined the channel [03:46] kmiyashiro: yeah, I don't use pre-comma because of indents [03:46] kmiyashiro: easier to delete lines though [03:46] chjj: its more pleasing to my eye, rather than comma at the end, i dont know if theres any particular advantage, its also more consistent with my style [03:47] AvianFlu: I put my commas at the end because that's how regular english works, but there's nothing wrong with leading commas [03:47] chjj: i dont see why there has to be an advantage in order to want to use it [03:47] kmiyashiro: you can delete lines [03:47] AvianFlu: the parser and lexer certainly don't mind them [03:47] kmiyashiro: wait [03:47] kmiyashiro: actually I don't know [03:47] AvianFlu: I think it's just aesthetic preference [03:47] AvianFlu: like semicolons [03:47] kmiyashiro: yeah [03:48] kmiyashiro: and for the var thing [03:48] chjj: i also happen to think aesthetics might be my most important reason for writing anything the way i do [03:48] kmiyashiro: at least on frontend code [03:48] AvianFlu: although to be fair, there are one or two weird edge cases where you need semicolons [03:48] kmiyashiro: if you do var a, b, c, it minifies better than var a; var b; var c; [03:48] chjj: AvianFlu: not necessarily [03:48] AvianFlu: it's also technically incorrect JS to have more than one var in a function, says crockford [03:49] chjj: there are ways to avoid using semicolons completely [03:49] chjj: by using certain unary operators and whatnot [03:49] AvianFlu: right, but aren't there a couple of places where it matters? [03:49] kmiyashiro: crockford says to declare each var with a var too [03:49] chjj: crockford isnt worth listening to [03:49] chjj: on a lot fo things [03:49] Nuck: yeah [03:49] AvianFlu: I hate dropping that name, it always causes fights [03:50] zilch has joined the channel [03:50] Nuck: Crockford had some good ideas, but damnit, the man went too far [03:50] tauren: anyone have experience with pub/sub? Does it make sense to subscribe to multiple events? For instance: subscribe(["eventA","eventB","eventC"], callback) [03:50] chjj: "dont use regexes" i lol'd [03:50] AvianFlu: yeah that's silly [03:50] Nuck: "the good bits" ended up being more of a pain than "the bad bits" [03:50] tauren: I have a situation where I need to do something after all three events have happened. [03:51] Nuck: tauren: That would actually be a very cool thing [03:51] tauren: Or should I just stick with deferreds and their when() functions? [03:51] tauren: Nuck: it seems useful to me too, but I don't want to reinvent something if it already exists. [03:52] vikstrous has joined the channel [03:52] kmiyashiro: tauren: is that time based? [03:52] CIA-65: libuv: 03Bert Belder 07master * r38c2322 10/ src/win/tcp.c : Windows: ipv6 "any address" is ::0, not ::1 - http://bit.ly/mXSty9 [03:52] kmiyashiro: like, all 3 events occur within 10 min [03:53] tauren: kmiyashiro: well, in my case it would probably be within fractions of a second. like load three different json resources and do something when they are all loaded. [03:54] tauren: but it could certainly be longer i suppose... [03:54] zilch has joined the channel [03:54] kmiyashiro: hm [03:54] kmiyashiro: might want to look at async.js or something [03:54] AvianFlu: async ++ [03:54] AvianFlu: http://github.com/caolan/async [03:54] tauren: yeah, using it [03:54] tauren: but i want something on the client too [03:54] AvianFlu: that lib is dual-sided [03:55] AvianFlu: if you read the code, it contains a whole bunch of browser compatibility stuff [03:55] tauren: oh really? i'll check that out. I've been using jquery's deferreds on the client. but pub/sub seems more elegant. [03:56] AvianFlu: yeah, async ftw [03:56] tauren: what if this multi pub/sub thing was built with async. and the pub/sub was just a simple interface in front of it. [03:57] AvianFlu: tauren: you may want to look at hook.io as well - it has browser compatibility too [03:57] JakeyChan_ has joined the channel [03:57] pixel13 has joined the channel [03:58] zilch has joined the channel [03:58] tauren: AvianFlu: I've been meaning to try out hook.io. is it mature enough to use in production? [03:58] Bogh has joined the channel [03:58] AvianFlu: play with it, decide for yourself [03:59] AvianFlu: that's often a hard question to answer on a platform that's v0.4.10 [03:59] tauren: sure... [04:00] tauren: so the consensus is that there are other tools to do what i need, and I shouldn't be inventing some multi-topic pub/sub mechanism. [04:00] AvianFlu: yeah, pretty much [04:00] tauren: ok, cool. that's why I asked! ;) [04:00] AvianFlu: there are services for that, too [04:00] Nuck: AvianFlu: Hey, it's v0.5.x already :P [04:00] AvianFlu: like pubnub [04:01] zilch has joined the channel [04:01] tauren: cool, thanks! [04:01] Nuck: So, I think I'm gonna implement oAuth 2.0 on the cutting-edge. [04:01] Nuck: draft 20 [04:03] Nuck: And then we can stay cutting-edge as time goes on, an just tag whenever we implement a new draft [04:03] Nuck: Might actually start as low as 15 and work my way up [04:04] tauren: Nuck -- I posted some links to an oauth2 project on SO. Might be useful to look at it: http://stackoverflow.com/questions/6822840/is-there-a-node-oauth-server-implementation [04:04] zilch has joined the channel [04:05] JakeyChan_ has joined the channel [04:05] pixel13 has left the channel [04:07] zilch has joined the channel [04:07] bogdan_ has joined the channel [04:07] vikstrous has joined the channel [04:09] oatkiller has joined the channel [04:10] oatkiller has left the channel [04:10] Aphelion has joined the channel [04:12] vikstrous has joined the channel [04:13] kmiyashiro has joined the channel [04:13] zilch has joined the channel [04:14] KellyM has joined the channel [04:14] AvianFlu has joined the channel [04:17] gazumps has joined the channel [04:17] zilch has joined the channel [04:17] AvianFlu has joined the channel [04:19] JakeyChan_ has joined the channel [04:20] zilch has joined the channel [04:22] zilch has joined the channel [04:23] mokane_ has joined the channel [04:23] Yuffster_home has joined the channel [04:25] zilch has joined the channel [04:27] wookiehangover has joined the channel [04:28] zilch has joined the channel [04:29] ceej has joined the channel [04:29] goshakkk has joined the channel [04:30] vikstrous has joined the channel [04:31] Yuffster has joined the channel [04:33] patrickjst has joined the channel [04:36] zilch has joined the channel [04:37] SoulRaven has joined the channel [04:39] zilch has joined the channel [04:40] JakeyChan has joined the channel [04:40] vikstrous has joined the channel [04:43] zilch has joined the channel [04:45] zilch has joined the channel [04:46] random_ has joined the channel [04:47] vikstrous has joined the channel [04:48] zilch has joined the channel [04:48] dexter_e has joined the channel [04:48] teadict has joined the channel [04:49] teadict: can node be used in serious production with concurrent situations (specifaclly messaging)? [04:49] teadict: will I encounter serious problems if I embrace myself into using node for this next client? [04:49] teadict: common question if they exist.. I know [04:50] tylergillies_: is there a ||= equiv in javascript? [04:52] teadict: I know it *can* be used, I know of use cases... [04:54] zilch has joined the channel [04:54] teadict: I think the question that I really need to ask and get a answer for is if one can build, without major problems, a full concurrent web application like one would do in Ruby for instance; can the classic server languages be replaced for real? [04:55] chjj: i think so, but the "node as a side-dish philosophy seems very present unfortunately" [04:55] KingJamool has joined the channel [04:56] teadict: side-dish? [04:56] chjj: yes [04:56] chjj: a lot of people take node as a side-dish [04:56] teadict: you mean I should use it to solve the problems that node is best at solving and keep using Ruby for eaxmple for the main application parts? [04:56] chjj: have their main site written in php or something awful [04:56] teadict: I see [04:56] teadict: but... [04:56] chjj: and then use node for what they need it [04:57] zilch has joined the channel [04:57] teadict: isn't there already enough well wrtten stable tools for developing web apps? [04:57] teadict: backbone, etc [04:57] teadict: would you say it is still a risk? [04:57] chjj: i believe backbone is for the client side specifically [04:57] chjj: i think its slightly coupled with jquery isnt it? [04:57] teadict: oh sorry, I don't have them mapped yet heh [04:57] teadict: let's mark it as irrevelant [04:58] teadict: if I can create concurrent http servers.. [04:58] teadict: and do correct messaging for a COMET like app.. [04:58] teadict: and then hook up a MVC lib [04:58] chjj: i think node is well suited to handle everything for the most part [04:58] teadict: and use YUI maybe on the client side... [04:59] teadict: have you used it in real production? [04:59] teadict: YOU, not use cases [04:59] teadict: *YOU, not use cases that you know of [04:59] Emmanuel`: tylergillies_: |= [04:59] chjj: i use node for my blog, i run it naked, its not behind a reverse proxy or anything [04:59] tylergillies_: Emmanuel` <- thnx [04:59] chjj: ive never had it crash, ive never had any down time [04:59] chjj: in weeks and weeks of having it up [05:00] chjj: its more stable than people think [05:00] tylergillies_: how is v8 vm compared to java? [05:00] teadict: chjj: have you done concurrency with it? [05:00] teadict: chjj: it's my main concern [05:00] tylergillies_: concurrency would b easy [05:00] chjj: i dont think im popular enough to test something like that in production otherwise i would [05:00] tylergillies_: just spawn a new process [05:00] teadict: chjj: fair eough ) [05:00] teadict: *:) [05:01] tshpaper has joined the channel [05:01] zilch has joined the channel [05:01] teadict: tylergillies_: enlighten me [05:01] chickamade has joined the channel [05:02] tylergillies_: node foo.js [05:02] teadict: oh, you say concurrency is native in node [05:02] teadict: right [05:02] teadict: so then... [05:02] mhausenblas has joined the channel [05:02] chjj: tylergillies_: im not sure, i think you can find benchmarks somewhere, v8 can hold its own against the jvm [05:03] teadict: tylergillies_: doing messaing in a COMET-like environment would be a piece of cake? [05:03] chjj: which is good, because i imagine javascript and prototypes are a lot harder to optimize than java [05:03] davidcoallier has joined the channel [05:03] mhausenblas_ has joined the channel [05:03] teadict: good thing is teh app is not public, so there's 50 clients top [05:03] teadict: but I still need the feature [05:04] zilch has joined the channel [05:04] teadict: the part where you have to hook Express and Connect to serve the JSON and HTML is not a problem... that part, even if the tools turn out to not be super stable, I don't care.. I can live with that... [05:05] tylergillies_: i do "comet" like stuff using socket.io i mostly abstract it with pusherapp [05:05] teadict: the clietn side also is no problem of course... [05:05] tylergillies_: so i don't have to deal with code [05:05] teadict: what are those? [05:05] teadict: where do they act? [05:05] tylergillies_: http://socket.io http://pusherapp.com [05:06] mikeal has joined the channel [05:06] teadict: alright.. [05:06] teadict: I like that messages counter [05:06] teadict: it already delivered more messages since I started watching it than my future app will probable deliver in a month's time [05:07] zilch has joined the channel [05:08] admc has joined the channel [05:08] teadict: tylergillies_: mind if I ask what kind of app you built using these technolgoies? [05:09] tylergillies_: skype to web client [05:10] gazumps has joined the channel [05:11] teadict: tylergillies_: what does that do? [05:11] zzo has joined the channel [05:12] zilch has joined the channel [05:15] tylergillies_: it is a web based skype client [05:15] tylergillies_: so you type stuff in skype on one side and it appears on the web on the other [05:15] tylergillies_: and vice versa [05:16] zilch has joined the channel [05:17] ryanallenbobcat has joined the channel [05:18] zilch has joined the channel [05:20] teadict: tylergillies_: that's it, you answered my concerns [05:21] teadict: if it can be used for that easily, then fuck it, it's on [05:21] teadict: is the code on github or something? I'd LOVE to take a look at it [05:22] teadict: the whole app actually.. since I'm still learnning node O:) [05:22] tylergillies_: nope sorry [05:22] tylergillies_: its an internal tool owned by the company i work for [05:22] teadict: np ^_^ [05:22] teadict: can you describe the tools though? [05:23] teadict: did you do MVC with node and that kind of things [05:23] tylergillies_: no [05:23] tylergillies_: i usually don't do MVC with node [05:23] teadict: so what's the dynamics? [05:23] teadict: you're not serving HTML then? [05:23] tylergillies_: im serving html.... [05:23] [[zz]] has joined the channel [05:24] teadict: did you use a lib for that on the server? [05:24] tylergillies_: express [05:24] teadict: oh... [05:24] teadict: but isn't it MVC oriented? [05:25] tylergillies_: loosely [05:25] tylergillies_: theres no model or controllers [05:25] tylergillies_: theres views though [05:25] teadict: I see.. [05:25] teadict: oh, that.. where do databases fall in all these? [05:26] teadict: I can't use NoSQL [05:26] tylergillies_: Models are the scehma that make up the database [05:26] teadict: and I of course need a server database [05:26] teadict: what lib connects to MySQL? [05:26] teadict: or whatever [05:26] tylergillies_: http://search.npmjs.org [05:26] KingJamool has joined the channel [05:26] tylergillies_: you can search for node modules [05:27] tylergillies_: just type in mysql [05:27] bripkens has joined the channel [05:27] ritch has joined the channel [05:28] teadict: ah, it's no big deal [05:28] teadict: damm this is matture [05:28] teadict: screw it, I'm doing it in node [05:29] teadict: I'll invent excuses, I don't care [05:29] teadict: there's no way I'll write PHP having this available [05:29] teadict: plus PHP doesn't even do real concurrency [05:29] teadict: I can use that as excuse.. [05:29] tylergillies_: are you looking for concurrency or parallelism? [05:30] teadict: concurrency for comet [05:30] teadict: that's all [05:30] teadict: why you ask? [05:31] tylergillies_: just curious [05:31] teadict: it's about a common model of application [05:31] teadict: there's tasks distributed in various sectors of this company.. [05:31] teadict: one task completition leads to the next [05:32] teadict: in that process, messages and warnnings are handled and the following task supervisor needs to knows stuff from the previous task [05:32] teadict: in real time of course [05:32] teadict: so he can begin his/her tasks [05:32] teadict: that's basically it [05:33] teadict: a normal COMET structure will suffice, right? [05:33] teadict: tylergillies_: it's one server, 50 clients, btw [05:34] tylergillies_: yeah should be fine [05:35] teadict: great [05:35] tylergillies_: node scales really well [05:35] teadict: plus, writting the server side concurrency will be a bliss in node [05:35] teadict: I don't think it'll take 5k lines of code [05:35] teadict: it's what it was made for [05:35] SubStack: that is an awful lot of lines [05:35] tylergillies_: was just thinking that [05:36] teadict: SubStack: heh, I went too far [05:36] tylergillies_: i try to keep my code under 300 [05:36] SubStack: under 300 is a good amount [05:36] SubStack: spin off the hairy stuff into modules [05:36] tylergillies_: like mother fucking chainsaw [05:36] tylergillies_: :) [05:36] teadict: hairy? [05:36] tylergillies_: hairy == lots of code [05:36] teadict: ach so [05:37] SubStack: the difficult bits [05:37] SubStack: that make your application ugly [05:37] teadict: okey.. let's google for some code examples of COMET then.. [05:37] kmiyashiro has joined the channel [05:37] tylergillies_: the difficult bits are rather enjoyable, its the verbose bits that bother me [05:38] tylergillies_: comet is just a term [05:38] tylergillies_: its a pun on ajax [05:38] kmiyashiro has joined the channel [05:38] zilch has joined the channel [05:38] tylergillies_: because comet is essentially inverted ajax [05:39] teadict: yes, I know... but still, it's the correct word to use to describe the app model [05:39] tylergillies_: anything that utilizes "push" is comet [05:39] teadict: *structure [05:39] teadict: https://gist.github.com/291145 that's it? [05:39] teadict: that would be the core of my app? [05:39] teadict: this is going to be fun [05:40] teadict: well, make it a good lib of course.. and so on [05:40] teadict: but great [05:41] zilch has joined the channel [05:42] teadict: bbl, thanks a bunch [05:44] stephank has joined the channel [05:45] zilch has joined the channel [05:49] FireFly|n900 has joined the channel [05:49] davidcoallier has joined the channel [05:50] zilch has joined the channel [05:51] brokenjames has joined the channel [05:52] brokenjames: ::beep:: [05:53] loob2 has joined the channel [05:58] xAt has joined the channel [05:58] zilch has joined the channel [05:59] daithi44 has joined the channel [06:00] zilch has joined the channel [06:02] jamonkko has joined the channel [06:03] CStumph has joined the channel [06:03] vns has joined the channel [06:04] zilch has joined the channel [06:05] rickharrison has joined the channel [06:08] zilch has joined the channel [06:10] Libra102 has left the channel [06:10] chickamade has joined the channel [06:11] ph^ has joined the channel [06:13] jellosea has joined the channel [06:13] jellosea: variables don't seem to work properly inside a callback if they are defined outside of a callback [06:14] zilch has joined the channel [06:14] jellosea: even though they are in scope, they seem to have weird values.. not consistent [06:14] jellosea: do i have to pass variables defined outside the callback into the callback in order to get them to work properly? or is there another way? [06:18] zilch has joined the channel [06:18] socketio\test\24 has joined the channel [06:18] stephank: jellosea: Variables don't just change by themselves, and scoping works as you expect. There's probably something weird going on, but JS is JS. [06:20] simenbrekken has joined the channel [06:20] zilch has joined the channel [06:21] fmeyer has joined the channel [06:21] temp01 has joined the channel [06:22] SubStack: https://github.com/substack/node-multimeter [06:23] stephank: invisitweet! I see indexzero's retweet on that, but not your own o_O [06:23] random123: how would you control flow across multiple app.get? Like if there is more than one match, if you use async.series then it will speed ahead [06:24] stephank: Oh, I think it didn't reach because it's considered a reply [06:24] indexzero: SubStack: Very cool. Also: https://github.com/substack/node-mkdirp/issues/3 [06:24] SubStack: stephank: yeah there I deleted and retweeted [06:25] zilch has joined the channel [06:25] stephank: wee, there it is :) [06:25] SubStack: indexzero: I'm not sure what to do with that [06:25] SubStack: it's not a pull request >_< [06:25] SubStack: nor is it even a .patch file [06:25] indexzero: SubStack: so many forks [06:26] SubStack: oh I guess it is? [06:26] indexzero: SubStack: yes, it's a patch [06:26] SubStack: beh I hate patches [06:26] indexzero: SubStack: I'm not a fan of applying them myself, but I have started to get so many forks ... need to limit them to projects I contribute to regularly [06:27] SubStack: I'll get to it [06:27] stephank: just delete forks that have been merged? [06:28] indexzero: stephank: How does github handle re-forking tho? [06:28] mikeal has joined the channel [06:28] stephank: Your commits will live, I guess it won't show your branches in the network graph. [06:29] stephank: Oh, I wouldn't know what'd happen with the 'forked from' [06:29] mikedeboer has joined the channel [06:29] stephank: :B [06:29] shapeshed has joined the channel [06:30] mike5w3c has joined the channel [06:32] gkmngrgn has joined the channel [06:33] zilch has joined the channel [06:34] JoshC1 has joined the channel [06:36] zilch has joined the channel [06:38] zomgbie has joined the channel [06:39] zilch has joined the channel [06:39] jellosea has joined the channel [06:40] parshap has joined the channel [06:41] tom has joined the channel [06:41] zilch has joined the channel [06:41] tom: hi [06:42] tom: i just made something with node.js [06:42] tom: wanna see? [06:42] tom: it's a search engine, i call it "i am the internet, ask me anything". http://itiama.tk/ [06:44] zilch has joined the channel [06:46] tom has left the channel [06:47] zilch has joined the channel [06:47] jellosea: doesn't seem to wokr [06:50] SamuraiJack has joined the channel [06:50] jamonkko has joined the channel [06:51] zilch has joined the channel [06:52] `3rdEden has joined the channel [06:56] zilch has joined the channel [06:57] margle has joined the channel [06:58] groom has joined the channel [07:00] ttpva has joined the channel [07:01] shripad has joined the channel [07:01] zilch has joined the channel [07:01] shripad has joined the channel [07:03] fangel has joined the channel [07:05] ccare has joined the channel [07:05] saikat has joined the channel [07:05] mraleph has joined the channel [07:06] zilch has joined the channel [07:06] andree has joined the channel [07:07] topaxi has joined the channel [07:08] [[zz]] has joined the channel [07:08] TomY has joined the channel [07:11] kixxauth has joined the channel [07:11] temp02 has joined the channel [07:11] zilch has joined the channel [07:12] vdemedes has joined the channel [07:12] vdemedes: hi all [07:12] vdemedes: help me create a name for Rails-like Node.js framework [07:12] margle: vdemedes: YARLF [07:13] vdemedes: margle: ? [07:13] margle: vdemedes: "yet-another-rails-like-framework" [07:13] margle: vdemedes: :P [07:13] vdemedes: heh, nice [07:14] vdemedes: margle: I thought about "Sambucca" :-D [07:14] margle: vdemedes: nice, where you from? [07:15] vdemedes: margle: Ukraine [07:15] vdemedes: Framework is written in Coffee Script [07:15] vdemedes: (it is not ready yet) [07:15] zilch has joined the channel [07:16] vdemedes: I've already implemented auto coffee script compiling(controllers, models, helpers, etc), routing, configs, controllers [07:17] vdemedes: and I've got one very nice feature: once you edited and saved (for example) controller, framework compiles it and replaces current version of the file with the new one [07:17] brokenjames: so much code [07:17] vdemedes: brokenjames: sarcasm? [07:17] vdemedes: brokenjames: if yes, I had to start with something [07:17] brokenjames: no not at all [07:17] vdemedes: brokenjames: connect really helps me [07:18] pizthewiz has joined the channel [07:18] vdemedes: its middleware rocks [07:18] zilch has joined the channel [07:18] ronnieboy has joined the channel [07:18] brokenjames: I think node frameworks are a bit odd [07:19] margle: agreed [07:19] vdemedes: brokenjames: why? because they are sinatra-like? [07:19] vdemedes: single-file apps? [07:19] mike5w3c has joined the channel [07:20] jbpros has joined the channel [07:20] arpunk has joined the channel [07:21] brokenjames: I just have an odd view on what you do with Node [07:21] vdemedes: http://pastie.org/2374133 [07:21] vdemedes: here is how routes declaration works in my framework [07:21] vdemedes: brokenjames: you can do with Node.js everything you did with other frameworks [07:21] hellp has joined the channel [07:22] brokenjames: that is very true [07:22] brokenjames: I am not sure what a node framework would do better [07:23] vdemedes: brokenjames: the result is 10x faster apps [07:23] vdemedes: brokenjames: also, the huge benefit is that you can use JS at both server and client sides [07:23] margle: brokenjames, vdemedes: alot of the framework are "X-like" [07:24] vdemedes: margle: you mean "Express-like"? [07:24] margle: would like to see something that's a departure from the norms [07:24] vdemedes: or what [07:24] zilch has joined the channel [07:24] vdemedes: margle: so, you think creating Rails-like framework for Node.js has no sense/advantage/benefit? [07:25] brokenjames: I would never say that [07:25] margle: vdemedes: I certainly think it has merits, but it just feels wrong. [07:25] brokenjames: you would gain everything you learned from writing it [07:25] vdemedes: why? [07:25] vdemedes: I think that's what Node.js misses [07:25] vdemedes: full-packaged framework with powerful tools [07:26] [[zz]] has joined the channel [07:26] margle: vdemedes: perhaps, because you get something that's rails like, but not full featured. [07:26] margle: vdemedes: and you're thinking... "this is like rails but without all the glue." [07:26] SubStack: frameworks are bad [07:26] SubStack: libraries are good [07:26] vdemedes: I saw tens of questions: "What's better: Node.js or Ruby + Rails" [07:26] brokenjames: I feel much better using Node to blur the line between computers [07:27] vdemedes: and I always answered: [07:27] vdemedes: that if you want fast, productive coding, choose Rails [07:27] margle: SubStack: but then you're writing the glue? [07:27] vdemedes: if you want amazingly fast app but with slower productivity, choose Node.js [07:27] margle: I suppose you are anyway. [07:27] SubStack: good libraries don't need much glue [07:27] brokenjames: and when you start thinking hey these 30 computers are one computer and share one memory space and have 30 sets of human input [07:27] SubStack: also glue quickly turns into more libraries [07:27] rurufufuss has joined the channel [07:28] vdemedes: With the framework I'm creating, I want to enable Node.js developers work more productively and still produce high-speed apps [07:28] zilch has joined the channel [07:28] SubStack: vdemedes: that's like saying "I want my thing to be good and I want it not to suck" [07:28] SubStack: obviously [07:28] vdemedes: SubStack: no [07:28] vdemedes: SubStack: I'm just working on something(I think) good [07:29] vdemedes: another framework is not another shit [07:30] bergie has joined the channel [07:30] fireiris has joined the channel [07:31] mike5w3c has joined the channel [07:32] zilch has joined the channel [07:33] socketio\test\11 has joined the channel [07:33] ccare has joined the channel [07:35] jamonkko has joined the channel [07:35] SubStack: vdemedes: I meant that your description didn't convey any information [07:35] vdemedes: SubStack: Of my framework? [07:35] vdemedes: I want to create Rails-like Node.js framework [07:35] SubStack: don't do that [07:36] SubStack: those already exist and they're terrible [07:36] vdemedes: why? I've already started [07:36] zilch has joined the channel [07:36] vdemedes: they're terrible, mine will be good [07:36] vdemedes: :-D [07:36] vdemedes: Geddy? [07:36] SubStack: try an approach that hasn't been tried before [07:36] SubStack: there are plenty of rails and sinatra clones, no use making more [07:36] vdemedes: on Node.js? [07:36] SubStack: yes [07:37] vdemedes: can you give a link? [07:37] vdemedes: skip Geddy [07:37] paulwe has joined the channel [07:37] vdemedes: and I don't need sinatra clones [07:37] vdemedes: I want Rails clones [07:37] SubStack: nobody has written a continuation web framework yet [07:37] SubStack: like seaside [07:37] vdemedes: I don't know what is that [07:37] SubStack: it would be worth having a few of those on npm [07:37] vdemedes: SubStack: http://www.seaside.st/? [07:38] vdemedes: SubStack: http://www.seaside.st/about/examples/counter?_k=QAQWgr60 ? [07:38] vdemedes: that's horrible [07:38] SubStack: yes [07:39] uchuff has joined the channel [07:39] vdemedes: what's so good about it? [07:39] vdemedes: There was such framework for PHP [07:39] ablomen has joined the channel [07:39] Nuck: I have a suggestion for you: learn Node. [07:39] Nuck: It has its quirks [07:39] zilch has joined the channel [07:39] Nuck: But there's really no need for Rails. [07:39] SubStack: or if you like rails you can just go use rails [07:39] SubStack: easy to do [07:39] Nuck: Very true. [07:40] Nuck: I hear it's very easy to make a rails-style app on rails. [07:40] vdemedes: Nuck: I know Node.js on pretty good level [07:40] vdemedes: Nuck: I've created web app on Node.js [07:41] Nuck: That's not really "pretty good level" that's... about average? [07:41] vdemedes: Nuck: and I love it. [07:41] Nuck: What do you want Rails for then? [07:41] vdemedes: I can't say I'm ninja [07:41] cognominal___ has joined the channel [07:41] kmiyashiro has joined the channel [07:41] vdemedes: Nuck: I don't like writing apps with those Sinatra-like framework like Express [07:42] vdemedes: SubStack: yes, I love Rails, but I want Node.js speed [07:42] industrial: I'd love MVC and an ORM for Node, yeah [07:42] vdemedes: industrial: +1 [07:42] Nuck: Fuck ORMs [07:42] Nuck: Just use MONGO. [07:42] industrial: express* [07:42] Nuck: Or COUCH [07:42] kmiyashiro has joined the channel [07:42] SubStack: fuck MVC, fuck ORM [07:42] SubStack: fuck frameworks [07:42] industrial: I use an ORM for mongo, actually [07:42] Nuck: I agree with SubStack. [07:42] industrial: (mongoose) [07:42] thalll has joined the channel [07:42] Nuck: industrial: ... [07:42] vdemedes: SubStack: You are writing apps without frameworks? [07:42] industrial: WHAT [07:43] Nuck: MONGO IS NOT RELATIONAL :| [07:43] zilch has joined the channel [07:43] vdemedes: Mongoose is awesome [07:43] Nuck: >:C WHY DO PEOPLE CALL MONGOOSE AN ORM WHEN IT IS NOT [07:43] vdemedes: and it really speeds up development [07:43] fireiris has left the channel [07:43] Nuck: vdemedes: It slows me down [07:43] vdemedes: I agree with industrial, I love Mongoose [07:43] vdemedes: Nuck: how? [07:43] Nuck: If it speeds you up, you're too slow. [07:43] industrial: so much anger this morning [07:43] SubStack: vdemedes: yes you just write programs like any other program [07:44] markwubben has joined the channel [07:44] Nuck: vdemedes: It's heavy as fuck. [07:44] industrial: blah blah opinions :\ really throw more FUD over the fence [07:44] vdemedes: Nuck: you'd better write those 10 lines with node-mongodb-native driver instead of 1 with Mongoose? [07:44] SubStack: web development with frameworks like rails is this strange outler [07:44] SubStack: you can't just have some var state = {} [07:44] Nuck: It's like carrying around a goddamn whale on my code. [07:44] vdemedes: OH MY GOD [07:44] SubStack: you've got to jump through a ton of hoops to do anything [07:44] vdemedes: SubStack: for example? And what do you mean by "var state = {}" [07:44] Nuck: vdemedes: And Mongoose defeats the entire purpose of using Mongo to begin with. [07:44] vdemedes: You can't declare variable with frameworks? [07:44] vdemedes: Nuck: no, it is just a tool [07:44] Nuck: Mongo is a giant fucking Queryable array of JSON objects [07:44] SubStack: vdemedes: in rails you can't just have some persistent state like that [07:45] zilch has joined the channel [07:45] vdemedes: Nuck: it is wrapper for "low-level" Mongo drivers like node-mongodb-native [07:45] industrial: and im queriying it STRUCTUREDly [07:45] vdemedes: Nuck: BSON, not JSON [07:45] SubStack: you've got to shoehorn your problem into the MVC mold [07:45] vdemedes: SubStack: It is my English level or I don't understand you [07:45] SubStack: whether it's appropriate or not [07:45] Nuck: vdemedes: There's no need to make the distinction outside of storage [07:45] Nuck: BSON is just more queryable [07:45] industrial: SubStack: well then the framework isnt appropriate for your problems [07:46] vdemedes: what's so bad about structuring application into controllers, models and views? [07:46] vdemedes: and have everything in "right" places? [07:46] Nuck: vdemedes: Because it squashes adaptation [07:46] vdemedes: Nuck: adaptation to what? [07:46] SubStack: vdemedes: because rails knows best where those "right" places are [07:46] SubStack: even if they aren't [07:46] vdemedes: SubStack: Yes, Rails knows best [07:47] vdemedes: and why not to follow it? [07:47] Nuck: When I code I don't want to worry about what's a model, what's a view, and what's a controller [07:47] SubStack: if you really care about putting things in the right places you should have the freedom to say "fuck you" to what rails thinks [07:47] vdemedes: and not waste time? [07:47] industrial: SubStack: its called convention over configuration [07:47] Nuck: Hell, I never studied MVC. [07:47] bripkens has joined the channel [07:47] industrial: Nuck: studying design patterns will do you good [07:47] edgarallanpoe has joined the channel [07:47] Nuck: I just follow the rule of /what looks best is best/ [07:47] SubStack: industrial: I'm aware and I don't care for it [07:47] vdemedes: SubStack: You can say "fuck you" to Rails and go with Sinatra [07:47] vdemedes: (if you are on Ruby) [07:47] SubStack: industrial: I disagree. Design patterns are a horrible hole to get sucked down. [07:47] vdemedes: Nuck: no no no mate [07:47] vdemedes: what looks best for you can look awful for someone else [07:48] Nuck: If it works, and if it's well-built, who gives a fuck if it's structured the way people like it today [07:48] vdemedes: what looks best for you is not always correct [07:48] vdemedes: oh my [07:48] zilch has joined the channel [07:48] industrial: SubStack: with express we have functions not controllers handling URL's. there's really no difference in the end wether its a class with methods or a function yielding other methods [07:48] Nuck: vdemedes: I'll tell you what I told my cofounder. jsbeautifer.org and make it however the fuck you want. [07:48] SubStack: vdemedes: there is no "correct" way to write a web app [07:48] SubStack: there are lots of ways [07:48] vdemedes: SubStack: agree [07:48] Nuck: SubStack: There's just the few ways that are named [07:48] vdemedes: and you need to pick one [07:49] Nuck: Like MVC [07:49] industrial: but im backing away from this conversation, its not all that intelligent to bicker over things like this [07:49] Nuck: My way? Follow a rule of logic. [07:49] SubStack: Nuck: yep naming things gives them undue weight in design decisions [07:49] vdemedes: Nuck: your logic can't be right always [07:49] SubStack: that is why I hate design patterns so much [07:49] Nuck: vdemedes: There is no right [07:49] Nuck: There is only what you guys call right. [07:49] vdemedes: Oh damn [07:49] jhurliman has joined the channel [07:49] vdemedes: I think I will follow industrial [07:49] Nuck: And honestly [07:49] damiano has joined the channel [07:49] SubStack: just because something has a name doesn't make it a good idea [07:49] damiano: hello [07:49] Nuck: MVC looks like shit to me [07:49] vdemedes: I'm just wasting time here [07:49] skm has joined the channel [07:50] vdemedes: see you soon [07:50] Nuck: I mean, my code loosely fits into the general concept of those three parts [07:50] damiano: I have to create an image with few letters/numbers inside (captcha) [07:50] Nuck: But I didn't really bother to arrange it that way [07:50] damiano: is there a simple library to create it ? [07:50] Nuck: damiano: Just use reCAPTCHA. [07:50] industrial: damiano: ^ [07:50] damiano: Nuck i don't link it [07:50] Ezku\: wow, what [07:50] Ezku\: 's with all the bashing :o [07:51] SubStack: Nuck: it's pretty nice if those patterns emerge on their own instead of being dictated from the outset [07:51] Nuck: It's always OCR-hard, so it's generally gonna be hard to crack [07:51] Drakonite has joined the channel [07:51] damiano: it uses google service if i'm not wrong [07:51] Nuck: SubStack: I agree. I believe in organic growth. [07:51] damiano: i would like to create an image on the fly [07:51] SubStack: and incrementalism! [07:51] Nuck: Let the program change how it's gonna change [07:51] SubStack: tiny libraries are awesome for building stuff incrementally [07:51] Nuck: Yeah [07:52] SubStack: you can test your assumptions continuously [07:52] Nuck: SubStack: We need a name for this development pattern :P [07:52] Nuck: Add some weight to it [07:52] Ezku\: node is way too immature an environment for there to already exist a good best practice for structuring ~everything, but that doesn't mean you should choose to adamantly ignore MVC as a concept [07:52] Nuck: Ezku\: It's not as young as people make it out to be :/ [07:53] zilch has joined the channel [07:53] brokenjames: hug [07:53] brokenjames: I blame flash [07:53] damiano: ?? [07:53] Nuck: It may be young in years, but as far as usage goes, it's pretty well-proven. [07:53] brokenjames: for that coding style [07:53] Nuck: brokenjames: Of what? [07:53] jamonkko has left the channel [07:54] Ezku\: Nuck: but architectures and best practices tend to take time. I know node works and believe it's pretty solid, but that's not the issue. [07:55] brokenjames: frameworks [07:55] Nuck: Ezku\: I guess that's a valid point, but I really don't see what people mean by "architectures" [07:55] Nuck: Because honestly, I don't follow much of a pattern. [07:55] Nuck: I focus less on the planning and more on the coding. [07:55] SubStack: Nuck: here are some: incrementalism, module-driven development [07:55] Ezku\: frameworks and concrete implementations of MVC are just reflections of what is considered best practice [07:55] SubStack: yeah planning is for chumps [07:56] Nuck: I plan what I'm gonna do next [07:56] SubStack: Ezku\: exactly, it's prescriptivism [07:56] Nuck: I contemplate ways to approach things [07:56] SubStack: fuck everything about prescriptivism [07:56] Nuck: But I don't think in-depth until I'm actually writing code [07:56] Nuck: I've never diagrammed [07:56] Nuck: I've never written pseudocode [07:56] hybsch has joined the channel [07:56] brokenjames: gonna grab my dictionary right quick [07:56] fly-away has joined the channel [07:57] Nuck: I generally just sit down and write code. [07:57] Ezku\: SubStack: I think I understand your viewpoint, but there's no need to be so harsh about it. Once you figure out what the best way to organize your stuff is, wouldn't you want to reuse your work? If you do, that's a framework right there. [07:57] brokenjames: hmmm [07:57] Nuck: Ezku\: That's not a framework. [07:57] SubStack: it could be a framework [07:57] SubStack: but there are better ways to achieve reuse [07:57] SubStack: namely libraries [07:57] Nuck: You're just slapping a name on something to categorize it [07:58] hybsch has left the channel [07:58] Nuck: My reuse comes from Nod'es wonderful module system [07:58] Ezku\: yeah, well, programming is in significant parts about semantics, categorization and generalization. [07:58] Nuck: require('../user-login-handler.js')(database); [07:58] Nuck: I do shit like that [07:59] vdemedes has left the channel [07:59] SubStack: Ezku\: I think deeming things "best practice" is a bad idea [07:59] Nuck: And the best part is that it works well. [07:59] Nuck: SubStack: There is no such thing as "best practice" [07:59] whitman has joined the channel [07:59] Nuck: There are just different practices. [08:00] Nuck: People feel the need to rank things, to put them in an order, even when there is no order to put them in. [08:00] chickamade has joined the channel [08:00] SubStack: every practice should have to carry its own weight [08:00] zilch has joined the channel [08:01] random123: SubStack: Why would co-routines slow Node.js or hog memory? [08:01] Nuck: I see it as a box of tools. I can build a fence using a box of nails and a hammer or a box of screws and a screwdriver. They each have their positives and negatives. [08:01] damiano: no idea? [08:01] brokenjames: I am very comfortable with stealing a locked up hammer [08:01] SubStack: random123: I have no idea. I don't use them because I don't want to incur the mental penalty of having to reason about them. [08:02] jamonkko has joined the channel [08:02] Nuck: SubStack: Oh man, I wish you could see the recursive code I wrote. [08:02] Nuck: That shit still gives me headaches to think about. [08:03] SubStack: I can handle recursion well enough, it's the stateful shit that trips me up [08:03] jamonkko has left the channel [08:03] Nuck: SubStack: I had to write a recursive function which resolved a one-to-many relationship down into a single array [08:03] ph^ has joined the channel [08:03] Nuck: But there were two relationshops per item [08:03] Nuck: Err, two sets [08:04] SubStack: gist it! [08:04] Ezku\: using a hammer for nails instead of screws is a best practice. This shit isn't that complex, really. [08:04] Nuck: Can't, corporate code ;) [08:04] SubStack: I thought it was your startup? [08:04] SubStack: you can do whatever the fuck [08:04] Nuck: Ezku\: Aye, but what if I have 12 different types of nails. Now you've got a ton of choices [08:04] Nuck: SubStack: fair enough :P [08:05] Nuck: I'll edit out the super-secret parts :P [08:06] brokenjames: ++--++-- [08:06] SubStack: Nuck: so you had to write a catamorphism then? [08:06] SubStack: a fold [08:07] SubStack: or it's called reduce in javascript [08:07] Nuck: No idea [08:07] Xano has joined the channel [08:07] jamonkko has joined the channel [08:07] SubStack: Nuck: I bet I can rewrite your code down into a single reduce :p [08:08] Nuck: Well, it seemed simple enough at first... But I had to use async database queries and callbacks to get around [08:08] mpavel has joined the channel [08:08] Nuck: https://gist.github.com/4309efe240876c0e26d3 [08:08] SubStack: oh mixing data transformation and io is pesky [08:08] Nuck: Yeah [08:08] Nuck: Still doesn't check for infinite recursion [08:09] Nuck: I wrote a quick fake-mongo-native layer [08:09] Nuck: So I could run it in a client [08:09] SubStack: neat, asynchronous dependency resolution [08:09] Nuck: essentially [08:09] SubStack: cycles you mean? [08:10] Nuck: cycles? [08:10] SubStack: those are easy to check for, just annotate the nodes [08:10] Nuck: annotate the nodes? [08:10] Nuck: Are you speaking English? [08:10] SubStack: var visited = {}; ... if (visited[node]) { ... } visited[node] = true [08:11] SubStack: standard cyclic detection tactic [08:11] Nuck: Yeah I know [08:11] Nuck: The fun is passing it down the layers [08:11] Nuck: And ensuring I don't run into issues between the two chains [08:11] Nuck: like a requires b inherits c requires a [08:12] Nuck: Suddenly, shit gets confusing. [08:12] zilch has joined the channel [08:12] Nuck: 'twas also my first experience with async.js [08:13] Nuck: So, I'd been wanting to learn how to make ebooks for a while, and I finally got a reason to learn today [08:14] Nuck: I want to read the oAuth spec as I shit, lay in bed, etc. - so I'm turning it into an epub :P [08:14] elliottcable: … okay, am I a *complete idiot*? Is this valid JavaScript syntax? `function(){}` [08:14] Ezku\: I wrote an asynchronous dependency injection container earlier this year too: https://github.com/ezku/coffee-injector [08:14] elliottcable: What is going on here!? http://ell.io/fGGn [08:14] elliottcable: it’s 4:14 and I’m pretty sure I’m high or something because this makes no sense whatsoever o_o [08:14] Ezku\: bash on if you will :> [08:14] Nuck: Ezku\: Is that CS? [08:15] Ezku\: yeah. [08:15] Nuck: ACTION stops the tab and closes it [08:15] Nuck: Sorry, I don't do CS. [08:15] elliottcable: lol @ Nuck [08:15] elliottcable: Every time I see your name, I think of “Nugs” from Dragon Age. [08:15] elliottcable: can’t help it. [08:15] Nuck: elliottcable: ... [08:15] Nuck: ACTION facepalms [08:16] Nuck: Damnit. [08:16] elliottcable: so cuuuuute! ^‿^ [08:16] Nuck: Anyways, I think the IETF needs to learn HTML. [08:16] elliottcable: anyway, srsly, somebody help me, I’m losing it [08:16] elliottcable: http://ell.io/fGGn [08:16] elliottcable: why is that a syntax error? /= [08:16] Nuck: They should start writing specs in markdown [08:16] Nuck: elliottcable: I don't know, it seems valid to me [08:16] Nuck: v8: function(){} [08:16] v8bot_: Nuck: SyntaxError: Unexpected token ( [08:16] elliottcable: uh … [08:16] Nuck: v8: var thing = function(){} [08:16] v8bot_: Nuck: undefined [08:16] Nuck: That's why [08:17] zilch has joined the channel [08:17] elliottcable: oh. [08:17] robhawkes has joined the channel [08:17] Nuck: lol [08:17] elliottcable: well then that’s not the syntax error I was experincing lol. [08:17] Nuck: Welcome to nicer error messages [08:17] elliottcable: >> var onAllText = function(cb){ function(parentNode){ }} [08:17] elliottcable: v8: var onAllText = function(cb){ function(parentNode){ }} [08:17] v8bot_: elliottcable: SyntaxError: Unexpected token ( [08:17] elliottcable: whututghffhfhgr. [08:18] Nuck: The function inside [08:18] elliottcable: ohhh [08:18] Nuck: It's unnamed [08:18] elliottcable: no return [08:18] elliottcable: FINALLY. [08:18] Nuck: And not called [08:18] elliottcable: ACTION hugs Nuck [08:18] Nuck: lol [08:18] elliottcable: Nuck: I LOVE YOU [08:18] elliottcable: :3 [08:18] __doc__ has joined the channel [08:19] andrewfff has joined the channel [08:19] damiano: guys, how to create image WITHOUT Using online service? [08:19] Nuck: damiano: Image generation? [08:19] Nuck: node-canvas? [08:19] damiano: Nuck, i have to create on the fly image [08:19] damiano: to send it to browser [08:19] damiano: png or jpeg [08:20] damiano: i have to create this small image with few letters/numbers inside (max 5-6) [08:20] Nuck: damiano: node-canvas is an implementation of the Canvas tag from HTML5. There's also imagemagick and such other hooks [08:20] Nuck: I'd suggest imagemagick for that on a captcha, I assume [08:20] Nuck: it's pretty battle-tested for distortion. [08:20] zilch has joined the channel [08:21] Nuck: I still stand by it that reCAPTCHA is a better choice, though. [08:21] damiano: https://github.com/rsms/node-imagemagick [08:21] damiano: ? [08:21] Nuck: damiano: That should work. [08:21] Nuck: Imagemagick is a powerful program. [08:21] Nuck: It's just a wrapper for that I assume [08:21] damiano: ok [08:21] damiano: i try it [08:21] mc_greeny has joined the channel [08:22] damiano: i hope i can create an email without writing it to a file [08:22] Nuck: damiano: You want to email that? [08:22] nodokodo has joined the channel [08:23] Nuck: :/ I don't suggest that, TBH. [08:23] damiano: Nuck, email ? [08:23] damiano: Nuck no no, i have to create this email and then send it to the browser [08:23] damiano: like captcha [08:23] Nuck: Ah [08:24] damiano: on the fly image [08:24] zilch has joined the channel [08:24] Nuck: What does that even have to do with emails? [08:24] damiano: ahahaha [08:24] damiano: :D [08:24] damiano: I Wrote wrong...OMG I'm crazy [08:25] damiano: no email. i don't know why i wrote "email" [08:25] damiano: :D [08:25] Nuck: late night? [08:25] damiano: "i have to create this IMAGE" [08:25] booo has joined the channel [08:25] damiano: NO, it's morning :-D 10:25 AM [08:25] damiano: ahahahahah [08:25] Nuck: lol [08:26] kulor-uk has joined the channel [08:26] dgathright has joined the channel [08:26] damiano: i think it's no possible "create an email and send it to browser" :-D [08:26] damiano: hmmm the doc is very poor :/ [08:27] Nuck: damiano: Writing your own captcha has a lot of problems. First, there's the problem of balancing readability with security. Then, there's the problem of actually distorting it accurately [08:28] Nuck: or inaccurately, as the case may be :P [08:28] damiano: Nuck, is not a problem...i'm talking about a very small website... [08:28] damiano: so i increment the security + 1 :-) [08:28] damiano: to block lamer [08:29] damiano: i don't think a program can read the text inside an image, no? [08:29] damiano: btw is not a problem for the moment [08:29] Nuck: They can [08:29] damiano: maybe i can put a formula [08:29] damiano: :D [08:29] damiano: like [08:29] Nuck: Have you never heard of OCR? [08:29] damiano: 1+1 + log(10) [08:29] damiano: :D [08:29] damiano: ahahahah [08:30] Nuck: ReCAPTCHA is gaurunteed hard-to-read simply because it's the things that their state-of-the-art OCR programs couldn't read [08:30] Nuck: damiano: Oh, I've seen FAR worse. [08:30] damiano: Nuck, maybe i can put a formula... [08:30] SamuraiJack has joined the channel [08:30] damiano: OCR doest resolve it [08:31] xerox: you could make a canvas with a word all blurred and swirled and hacked [08:31] Nuck: damiano: Honestly, if you just want to stop lightweights, anything is gonna do the job [08:31] xerox: that when you hover on it with the mouse, it unbars unswirls and unhacks a tiny part [08:31] Nuck: Most won't bother to fire up OCR or anything unless you've got something awesome. [08:31] damiano: xerox, that traslate for new node.js developer...could means? :) [08:31] Nuck: xerox: Problem is, that means you transmit the word to the client [08:32] Nuck: Though... [08:32] xerox: no just bytes [08:32] sebastianedwards has joined the channel [08:32] xerox: a buffer to fill the canvas with [08:32] sechrist has joined the channel [08:32] Nuck: If you dynamically added the text to the page after streamign through socket.io >_> [08:32] Nuck: SubStack: So whatcha think of my resolver? [08:32] damiano: hmmm [08:32] damiano: socket.io [08:32] Nuck: How much did I fuck up? [08:32] sechrist: So I want to route a url prefix in express to proxy (like a load-balancer would) in node, what are the libs I should use? [08:32] damiano: interesting [08:32] Nuck: I never even thought about doing that, TBH [08:33] Nuck: But it'd be an interesting concept [08:33] damiano: Nuck, is the formula "Concept" wrong ? [08:33] shiawuen has joined the channel [08:33] Nuck: damiano: It means thinking. [08:33] Nuck: Nobody likes to think. [08:33] damiano: OMG [08:33] damiano: really? [08:33] damiano: 5+6 [08:33] damiano: thinking? :) [08:34] damiano: maybe i can create a calculator near the captcha :D [08:34] Nuck: damiano: Don't think too hard about how stupid and/or lazy most pepople are. [08:34] damiano: Nuck, yes, you are right [08:35] damiano: but Nuck, if i load a number (text) with socket.io [08:35] kmiyashiro: just put up random pictures of kittens and ask, "which one is the ugly one?" [08:35] xerox: hahahahahah [08:35] damiano: this stream cannot be kept [08:35] xerox: the answer is always "none" [08:35] damiano: ahahah [08:35] Raynos has joined the channel [08:35] kmiyashiro: no seriously [08:36] Nuck: Somebody make a pop-culture captcha [08:36] Raynos: How do people handle doing asynchronous thing before a server starts? [08:36] markwubben has joined the channel [08:36] Nuck: Raynos: Everything is a callback. [08:36] Raynos: I.e. do some async setup of a database or some other async computation before you want the server to start [08:36] damiano: kmiyashiro, what do you think about socket.io system? (for captcha) [08:36] Raynos: Most of the boot time setup is doing in blocking require calls [08:36] kmiyashiro: umm, not sure how that would work [08:37] damiano: kmiyashiro, load the form, then send with socket.io a text (like: ABCDEF) [08:37] xerox: Raynos: I do this: bin/app with #!/usr/bin/env node as first line, in which I require('../lib/app') [08:37] damiano: that is the code of the captcha [08:37] Nuck: Raynos: I export a function, which I can then call and pass a callback. [08:37] xerox: Raynos: in that js script I do the initialization, and in the lib/app the rest [08:37] kmiyashiro: ok [08:38] kmiyashiro: but you're still sending to the client? [08:38] damiano: hmm yes [08:38] kmiyashiro: not sure if bots listen on sockets yet lol [08:38] damiano: :) [08:38] kmiyashiro: but [08:38] damiano: kmiyashiro, so...what solution do you prefer? :-D [08:38] ptlo: damiano: the fact that it's not written in the page/response body doesn't mean it can't be intercepted [08:39] blup has joined the channel [08:39] kmiyashiro: captcha is kind of a bad solution... I prefer my kitten idea [08:39] Raynos: Let's say I have a set of models that are loaded by app. And each model does some database communication before the server can start. [08:39] ptlo: damiano: in the browser (eg. js debugging), not on the wire [08:39] kmiyashiro: there are other types of image based tests [08:39] Raynos: The only method I can think of is having each model emit a ready event and listening on all of those [08:39] Raynos: It just feels like there should be a de facto standard way of handling this common problem [08:40] damiano: ptlo, so [08:40] damiano: what can i do? [08:40] kmiyashiro: http://arstechnica.com/old/content/2006/04/6554.ars [08:41] kmiyashiro: http://www.nucaptcha.com/demo [08:41] ptlo: damiano: just use recaptcha :) [08:42] ptlo: for starters, recaptcha has audio option for people with poor eyesight; unless you mean to reimplement that too, your version's going to essentially block those [08:42] damiano: recaptcha module [08:42] damiano: ? [08:43] damiano: kmiyashiro, OMG...i have see the captcha there :D [08:43] kulor-uk has joined the channel [08:45] zilch has joined the channel [08:45] damiano: guys [08:45] damiano: btw i think is better a formula [08:45] damiano: i mean [08:46] damiano: who never say "fuck off" to a captcha ? :-D [08:46] damiano: i think doing 5+6 is less problematic then to understand strange letters/numbers [08:46] damiano: no? [08:46] Nuck: Never said it to reCAPTCHA [08:46] kmiyashiro: damiano: I think bots have started solving those [08:47] Nuck: Because their captchas are usually either readable or funny. [08:47] ph^_ has joined the channel [08:47] kmiyashiro: http://www.php-help.ro/php-tutorials/math-capcha-image-against-spam/ [08:47] Bogh has joined the channel [08:47] Nuck: YAY! [08:48] Nuck: I just got about half the OAuth 2.0 Draft 20 spec converted to epub [08:48] kmiyashiro: exciting [08:48] Nuck: I'm learning epub and oauth2 in one fell sweep [08:48] kmiyashiro: why not mobi? [08:49] Nuck: huh? [08:49] damiano: http://www.php-help.ro/php-tutorials/math-capcha-image-against-spam/ funny [08:49] damiano: no? [08:49] kmiyashiro: kindle format [08:49] Nuck: kmiyashiro: I don't have a kindle [08:49] Nuck: I have an iPhone [08:49] Nuck: With iBooks [08:49] kmiyashiro: oh [08:49] kmiyashiro: if you read a lot [08:49] kmiyashiro: kindle is heaven [08:49] Nuck: I'm sure [08:50] Nuck: But this is mostly so I can read the oAuth 2 spec when I'm shitting or sitting in bed [08:50] Nuck: When I would otherwise just be doing nothing productive [08:51] Nuck: Probably gonna do some SVG diagrams for it too >_> [08:51] nodokodo has joined the channel [08:51] zilch has joined the channel [08:51] mehlah has joined the channel [08:52] Bogh has joined the channel [08:52] JakeyChan_ has joined the channel [08:53] jbrokc has joined the channel [08:53] jbrokc: anyone know a way to glob include all files in a directory in a jade file? [08:54] cl0udy has joined the channel [08:54] nodokodo has joined the channel [08:54] bzinger has joined the channel [08:56] zilch has joined the channel [08:58] saschagehlich has joined the channel [09:00] damiano: GUYS [09:00] damiano: and [09:00] damiano: a system that block the IP if it send more then X times? [09:00] damiano: :D [09:00] Nuck: damiano: You mean a throttler or rate-limiter? [09:01] zilch has joined the channel [09:01] damiano: yes [09:02] damiano: it is a bullshit [09:02] zilch has joined the channel [09:04] damiano: Nuck http://www.google.com/recaptcha/learnmore is this the recaptcha you ware talking about? [09:04] knowtheory has joined the channel [09:04] gausby has joined the channel [09:05] Nuck: damiano: Did Google buy them? >_> [09:06] Nuck: apparently [09:06] Nuck: So yes [09:07] damiano: k [09:08] damiano: google buys all [09:08] damiano: :D [09:08] zinkem has joined the channel [09:08] Bogh has joined the channel [09:10] Newky has joined the channel [09:10] zilch has joined the channel [09:11] Newky: In felix's guide on node.js style of coding, he says about extending native prototypes, is it ok to prototype other objects which are not native? [09:13] tuhoojabotti: I prototyped http response [09:13] tuhoojabotti: :u [09:13] mike5w3c has joined the channel [09:13] tuhoojabotti: I feel dirty now. [09:14] guidocalvano has joined the channel [09:15] Marak has joined the channel [09:15] zilch has joined the channel [09:15] Marak: for shits sake [09:15] Marak: what is wrong with these people [09:15] Marak: i mean seriously [09:15] Marak: who would take their time to do this, http://www.gaynode.org/ [09:15] Marak: i blame the russians [09:16] Marak: indutny: was it you? [09:16] tuhoojabotti: not found [09:16] indutny: hahaha [09:16] indutny: nono [09:16] Marak: taken down already? [09:16] Marak: thank god [09:16] indutny: http://gaynode.org/ [09:16] tuhoojabotti: Remove the www [09:16] Marak: wait no [09:16] Marak: no www record [09:16] Marak: yeah [09:16] Marak: http://gaynode.org/ [09:16] nerdfiles1 has joined the channel [09:16] Marak: i mean, wtf [09:17] tuhoojabotti: :D [09:17] tuhoojabotti: Why not [09:18] nerdfiles1 has left the channel [09:18] davidbanham has joined the channel [09:19] fangel has joined the channel [09:20] zilch has joined the channel [09:20] ph^ has joined the channel [09:20] damiano: http://gaynode.org/ [09:20] damiano: OMG [09:20] damiano: �_� [09:21] tuhoojabotti: lol you're late [09:21] jetienne has joined the channel [09:22] damiano: Yes i have seen Marak messages [09:22] damiano: :D [09:22] Marak: i saw it on twitter from russia [09:22] mikl has joined the channel [09:22] mikl has joined the channel [09:22] zilch has joined the channel [09:23] damiano: why can do a class action against joenyt [09:23] damiano: :D [09:23] damiano: *we [09:25] brokenjames: It reeks of college kids [09:25] zilch has joined the channel [09:25] damiano: omg [09:26] thalll has joined the channel [09:26] damiano: Marak are you the "men" on the right? [09:26] damiano: :D [09:26] damiano: ahahah [09:26] neoesque has joined the channel [09:27] andrewfff has joined the channel [09:27] brokenjames: I can see one of those nyu kids sitting above duane reades as we speak [09:28] damiano: unfortunatelly i cant go there [09:29] brokenjames: where? [09:29] brokenjames: russia [09:29] damiano: "We are glad to invite anyone who has contributed more than 10.000 lines of code to any node.js project." <------ i don't reach this [09:29] damiano: :D [09:31] Marak: i think i found site owner [09:31] Marak: http://juick.com/maxlapshin/1490778 [09:31] bzinger has joined the channel [09:31] Marak: go to his personal site, compare analytics engine [09:33] damiano: really the person on the right is a node.js developer? :-D [09:33] damiano: i can't belive [09:33] damiano: eheheheh [09:33] chjj: "gaynode"? :O [09:34] zilch has joined the channel [09:35] damiano: chjj, yes, did you write more then 10.000 ? :) [09:35] chjj: 10,000 lines of code for any nodejs project? i suppose so [09:35] damiano: they should invite you [09:35] damiano: :D [09:35] pen has joined the channel [09:36] chjj: does it have to be 10,000 total? im confused [09:36] damiano: i think total [09:36] chjj: like, the project in its entirety has to be at least 10k [09:36] chjj: hm [09:36] chjj: no, i dont think i have a single project that is 10k in its current state [09:37] chjj: i guess im not qualified [09:37] pen has joined the channel [09:37] damiano: :) [09:38] zomgbie has joined the channel [09:41] pen has joined the channel [09:42] jomoho has joined the channel [09:43] neoesque has joined the channel [09:44] guidocalvano has joined the channel [09:47] Bogh has joined the channel [09:47] seivan has joined the channel [09:47] jakehow_ has joined the channel [09:47] jakehow has joined the channel [09:50] andrewfff has joined the channel [09:50] Bogh has joined the channel [09:51] pen has joined the channel [09:52] zilch has joined the channel [09:55] skm has joined the channel [09:55] Country has joined the channel [09:55] zilch has joined the channel [09:56] andrewfff has joined the channel [09:56] jamonkko has joined the channel [09:57] socketio\test\78 has joined the channel [09:58] deadman87 has joined the channel [09:59] k1ttty has joined the channel [10:00] cognominal___ has joined the channel [10:02] kulor-uk has joined the channel [10:02] zilch has joined the channel [10:03] davidbanham has joined the channel [10:05] sechrist: 404's don't trigger app.error in express? [10:05] sechrist: or am I missing something [10:05] damiano: guys how cna i trim ' ' to a string ? [10:05] XenoMorph has joined the channel [10:06] bzinger has joined the channel [10:06] seivan has joined the channel [10:07] ablomen: damiano, write a trim function or use something like underscore.string [10:08] zilch has joined the channel [10:09] chjj: or use String.prototype.trim [10:10] ablomen: ah yeah i see, they finally added it \o/ [10:10] chjj: who finally added it? [10:10] i42n has joined the channel [10:11] zilch has joined the channel [10:11] ablomen: ECMA, and google/mozilla for that matter [10:11] chjj: its been implemented in v8 for a very long time [10:11] chjj: i think since its inception actually [10:12] ablomen: could be, it was not supported in other browser though [10:12] chjj: oh, i mustve mistaken this for the node.js channel [10:12] chjj: ;p [10:12] ablomen: lol [10:15] zilch has joined the channel [10:15] shapeshed has joined the channel [10:17] damiano: guys how can i set a property of an object and return the entire object directly? i mean.... var o = {a:1,b:2} ; o.c=3; o is it possible to return the entire object when i assign a new property (or modify it) [10:18] micheil has joined the channel [10:19] zilch has joined the channel [10:20] McMAGIC--Copy has joined the channel [10:20] liar has joined the channel [10:22] jbpros_ has joined the channel [10:22] zilch has joined the channel [10:23] jbrokc: anyone here use haml.js ? i'm having trouble adding sass as a filter https://gist.github.com/7732eae9ee07a87f4b6d [10:25] andrewfff has joined the channel [10:26] saschagehlich has joined the channel [10:27] zilch has joined the channel [10:27] Fabryz has joined the channel [10:30] isaqual has joined the channel [10:31] zilch has joined the channel [10:33] zilch has joined the channel [10:35] hellp has joined the channel [10:35] deadman87 has left the channel [10:35] Fabryz: heyall [10:35] damiano: hey [10:35] damiano: if i have : var t = { } [10:35] Fabryz: I've just updated my code for socket.io v0.7, but it looks like that when I stop the server the client is not disconnecting [10:35] damiano: and inside this object some function [10:35] Fabryz: what to do? [10:36] damiano: how can i return 't' object ? [10:36] kulor-uk has joined the channel [10:36] damiano: because if i use this inside a function it doenst return the "main" object [10:37] Fabryz: you mean the usual t = { var that = this; test : function() { //blabla return that? }} [10:38] damiano: yes [10:38] zilch has joined the channel [10:38] damiano: if i do return that [10:38] damiano: it will return the entire object right? [10:39] Fabryz: it should [10:39] Fabryz: does anyone else have my problem with socket.io? [10:41] damiano: i don't use socket.io yet [10:41] damiano: :( [10:41] zilch has joined the channel [10:45] damiano: Fabryz, last thing [10:45] Fabryz: yes? [10:45] damiano: is it possible to detect when a new property is created on the object ? [10:45] zilch has joined the channel [10:45] damiano: like a "listener" [10:46] Fabryz: uhm, use a simple boolean var and check it? or else prototype stuff that I still don't know [10:46] damiano: maybe getter setter ? [10:46] damiano: do know when a new values is saved? [10:47] Fabryz: yes [10:48] Fabryz: what are you building damiano? [10:48] damiano: a simple website with express [10:49] damiano: you? [10:49] Fabryz: html5 canvas multiplayer game with socket.io [10:49] zilch has joined the channel [10:50] damiano: fuck [10:50] damiano: :D [10:50] Fabryz: eh [10:50] damiano: do you have somethin gonline? [10:50] Fabryz: I'm not able to make them work in Joyent nor in Nodester hosting [10:51] Fabryz: I'd need a hand but I rarely find someone able to on these chans [10:51] damiano: do you have not a VPS? [10:51] Fabryz: at least on #nodester, I guess they're afk [10:51] damiano: you can install node there [10:51] zomgbie has joined the channel [10:52] Fabryz: no, I looked at some but I prefer to test on a free hosting service for now [10:52] Fabryz: I got invited on no.de months ago, also on nodester [10:52] Fabryz: still have to try heroku and another, but these two seemed the easy ones to quickly deploy an app [10:52] damiano: why are you not using you pc as server for your test? [10:53] zilch has joined the channel [10:53] Fabryz: the fact is that once the app starts getting complicated it gives me git errors around [10:53] Fabryz: i'm currently developing in localhost [10:53] Fabryz: it works perfectly here [10:53] Fabryz: or better, that disconnect problem with socket.io [10:57] dnjaramba has joined the channel [10:58] Yoric has joined the channel [11:00] burningdog has joined the channel [11:00] zilch has joined the channel [11:02] damiano: Fabryz, can i check if a "name" is olso a "function" ? [11:02] damiano: *also [11:02] damiano: i pass example: check('test') [11:02] damiano: the check function has to check if 'test' is a function [11:02] damiano: is it possible? [11:03] zilch has joined the channel [11:04] versicolor has joined the channel [11:05] jorenl_ has joined the channel [11:05] Fabryz: uhm [11:05] zilch has joined the channel [11:06] Fabryz: something like if (typeof test === 'function') [11:06] Fabryz: i'm not sure [11:06] jorenl_: How do I properly make my node/socket.IO app robust? Does node always crash on just one 'undefined' error? [11:06] xerox: Fabryz: exactly [11:07] xerox: you can just use == anyway [11:07] jorenl_: people could just hack my client js code, and send some random events to make my server crash :/ [11:07] xerox: typeof returns strings [11:07] damiano: ok [11:08] damiano: but wait.... check('name') [11:08] damiano: 'name' is an object...string [11:08] Fabryz: joren1_ did you have any issue on the disconnecting function with socket.io v0.7? [11:08] damiano: if i compare name == 'function' [11:08] damiano: is this i always get false [11:08] damiano: because is not check(functio(){ }); [11:09] damiano: wrong? [11:09] zilch has joined the channel [11:09] jorenl_: Fabryz: no, I haven't even used any disconnect handler yet [11:10] sechrist_ has joined the channel [11:10] Fabryz: damiano googled randomly http://www.idealog.us/2007/02/check_if_a_java.html [11:10] torsd has joined the channel [11:11] damiano: ok [11:11] damiano: perfect [11:11] damiano: thank you [11:11] Fabryz: np [11:12] patrickjst has joined the channel [11:12] cl0udy has joined the channel [11:12] eee_c has joined the channel [11:13] zilch has joined the channel [11:15] simenbrekken: anyone worked with gridfs and formidable? Struggling a bit with them buffers... [11:15] Fabryz: no [11:15] Fabryz: pushed my app to joyent, doesn't seem the sockets are working [11:15] Fabryz: i'm SO HAPPY AHEUHEUEHUEHU [11:16] simenbrekken: I had the same problem on nodester [11:16] simenbrekken: reverse proxy doesn't want to play with socket.io [11:16] zilch has joined the channel [11:16] Fabryz: I am TIRED of not having full control on a repo [11:16] Fabryz: or I mean, maybe i'm not able to use git properly [11:17] Fabryz: holy crap [11:17] Fabryz: It works. [11:17] Fabryz: IT WORKS [11:17] abraxas has joined the channel [11:18] Fabryz: HAHAHA [11:18] Fabryz: EVERYONE http://fabryz.no.de:8080/ come here [11:19] Fabryz: please someone tell me if he's able to connect there [11:19] Fabryz: or if it remains on Connecting [11:19] zilch has joined the channel [11:20] jorenl_: Fabryz: "Connecting..." [11:20] Fabryz: mh [11:20] Fabryz: browser used? [11:20] simenbrekken: connecting, chrome newest osx [11:20] jorenl_: Fabryz: newest firefox on ubuntu [11:21] Fabryz: It never worked until now, the hell if I know why [11:21] Fabryz: i'm on Chrome under Linux mint [11:21] torsd has joined the channel [11:21] Fabryz: well Firefox gave me many problems with the latest socket.io so i switched to chrome [11:22] pen has joined the channel [11:22] jorenl_: Fabryz: firefox is working fine for my socket.io app :/ On windows and ubuntu [11:23] Fabryz: v0.7 code? [11:23] Raynos has left the channel [11:23] Fabryz: It keeps disconnecting and reconnecting after some heartbeats [11:23] Fabryz: in a damn loop [11:24] farhadi has joined the channel [11:25] zilch has joined the channel [11:27] farhadi has left the channel [11:27] jorenl_: Fabryz: "Socket.IO.js build:0.7.4" [11:27] Fabryz: no idea then, I posted on github repo issues tho [11:28] fairwinds has joined the channel [11:28] Fabryz: nice, it seems to be working only for me [11:28] Fabryz: damn you new sockets [11:29] fermion has joined the channel [11:29] jorenl_: Fabryz: I've been annoyed most by the retarded room system. But I have to go now. [11:29] jorenl_: Fabryz: good luck [11:30] Fabryz: thanks [11:30] jbpros has joined the channel [11:31] zilch has joined the channel [11:38] zilch has joined the channel [11:39] jbpros_ has joined the channel [11:42] pickels has joined the channel [11:42] zilch has joined the channel [11:44] brianseeders has joined the channel [11:49] zilch has joined the channel [11:49] JakeyChan_ has joined the channel [11:51] ts__ has joined the channel [11:51] mehtryx has joined the channel [11:51] JoshC1 has joined the channel [11:52] zilch has joined the channel [11:56] scott_gonzalez has joined the channel [11:56] zilch has joined the channel [11:58] booo has joined the channel [11:58] bergie_ has joined the channel [11:59] meandi has joined the channel [12:00] zilch has joined the channel [12:01] cachemoney has joined the channel [12:02] jsulak has joined the channel [12:02] espadrine has joined the channel [12:03] zilch has joined the channel [12:03] jsulak has left the channel [12:05] JakeyChan_ has joined the channel [12:05] ttpva: Does Crudle have any problems with Heroku? It doesn't connect to the database when deployed. [12:06] Druide_ has joined the channel [12:07] Crshman has left the channel [12:08] zilch has joined the channel [12:12] meandi has joined the channel [12:13] zilch has joined the channel [12:16] materialdesigner has joined the channel [12:17] materialdesigner has joined the channel [12:18] zilch has joined the channel [12:19] infynyxx has joined the channel [12:20] eee_c1 has joined the channel [12:20] temp01 has joined the channel [12:22] zilch has joined the channel [12:23] rjack has joined the channel [12:23] StepanKuzmin has joined the channel [12:23] jtrudeau has joined the channel [12:25] zilch has joined the channel [12:27] cccaldas has joined the channel [12:27] mikl has joined the channel [12:30] JoshC1 has joined the channel [12:30] deedubs has joined the channel [12:30] mike5w3c_ has joined the channel [12:31] zilch has joined the channel [12:35] zilch has joined the channel [12:35] fumanchu182 has joined the channel [12:35] jorenl_: Fabryz: are you still there? I was wondering why you need a heartbeat [12:36] zilch has joined the channel [12:36] Renegade001 has joined the channel [12:37] temp02 has joined the channel [12:38] piscisaureus has joined the channel [12:39] colinclark has joined the channel [12:39] replore_ has joined the channel [12:39] replore has joined the channel [12:39] zilch has joined the channel [12:40] patrickgamer has joined the channel [12:41] patrickgamer has left the channel [12:41] guidocalvano has joined the channel [12:41] necrodearia has joined the channel [12:42] gtramont1na has joined the channel [12:43] zilch has joined the channel [12:44] shapeshed has joined the channel [12:44] mikl has joined the channel [12:44] mikl has joined the channel [12:45] Fabryz: i'm here jorenl_ [12:45] Fabryz: I still have to undestand their usage, found them while I updated to v0.7 [12:46] jorenl_: hmmm. Is that what's constantly filling up my console? :P [12:46] Fabryz: the fact is that past X hearbeats Firefox disconnects and reconnects the websocket connection [12:46] Fabryz: yes [12:46] Fabryz: use io.set('log level', 1); to remove them [12:46] kwk has joined the channel [12:47] kwk: Hi there! [12:47] jorenl_: Nice. I was just looking for a way to hide all that "debug - blah blah" stuff [12:47] zilch has joined the channel [12:47] Fabryz: hi kwk [12:48] Fabryz: zilch change your IRC client :p [12:48] jorenl_: I'm still wondering how I'll ever make my node app robust though. [12:48] Fabryz: you make it test to someone else [12:48] Fabryz: what are you making? [12:49] jorenl_: something about listning to music together [12:49] jorenl_: a bit like turntable.fm (but different) [12:49] kwk: I'm trying to pull a simple JSON structure from my nodejs server and parse it with http://docs.sencha.com/ext-js/4-0/#/api/Ext.Ajax . When I deliver the nodejs server output statically through an apache it works but when I just use response.end() with no HTTP header information, the Ext.Ajax.request method fails. Does anybody know how to prepare data the is sent from NodeJS so that it can be interpreted by ExtJS? [12:50] jorenl_: But I've been testing it a lot with others, the problem is that if someone decides to mess with the client JS, he can crash the server with some 'trying to set property x of undefined' error [12:50] eyesUnclouded has joined the channel [12:50] zilch has joined the channel [12:51] CrabDude has joined the channel [12:51] hlindset has joined the channel [12:51] hl7Guy has joined the channel [12:53] Fabryz: server authority, parse every incoming message on the server and make sure you can do something with it [12:53] Fabryz: assume the client can send crap to cheat [12:54] zilch has joined the channel [12:54] jorenl_: Fabryz: I know but that's just a pain, so much work [12:54] Fabryz: never tried that kwk, can't help [12:54] Fabryz: I know, but that's the only way [12:54] Fabryz: you must do it [12:54] jorenl_: or maybe try/catch? [12:54] Fabryz: ya [12:54] jorenl_: and then kick the client in the catch. might be the easiest [12:55] jorenl_: but still not scriptkidproof because not all messed with events trigger errors [12:55] AaronMT has joined the channel [12:55] febits has joined the channel [12:56] maushu has joined the channel [12:56] kwk: Fabryz: thx anyway [12:56] supjeff has joined the channel [12:56] zilch has joined the channel [12:58] matthijs has joined the channel [12:58] Wizek has joined the channel [12:58] TheJH has joined the channel [12:58] TheJH has joined the channel [12:58] mikl has joined the channel [12:58] mikl has joined the channel [12:59] zilch has joined the channel [13:00] kwk has left the channel [13:00] jbrokc has joined the channel [13:02] przemoc has joined the channel [13:02] AaronMT has joined the channel [13:02] zilch has joined the channel [13:03] mehtryx has joined the channel [13:03] bnoordhuis has joined the channel [13:04] astropirate has joined the channel [13:04] przemoc: hi, is there any good reason for using node_mailer over Nodemailer? (the first is built on top of the latter) [13:05] neilk_ has joined the channel [13:06] davidbanham: przemoc: Nodemailer didn't work for me, node_mailer has been fine. I didn't spend a great deal of time looking into either, but Nodemailer's configuration looks nicer. [13:06] zilch has joined the channel [13:08] bwinton has joined the channel [13:08] fotoflo_ has joined the channel [13:08] jsj has joined the channel [13:10] przemoc: davidbanham: interesting, haven't tried any of these yet, but I'll be going to some time in future, thus such information is useful to avoid wasting time. there is also emailjs. according to github stats not as popular as earlier mentioned ones. [13:10] navaru has joined the channel [13:10] zilch has joined the channel [13:10] sonnym has joined the channel [13:11] soapyillusions has joined the channel [13:11] fotoflo_: hmm, doing a little reading about Node. It's not a web server, but it becomes a web server in a few lines of code right? [13:11] Fabryz: yes [13:12] Fabryz: it's javascript server side, asynch, event driven, working under linux + V8 engine [13:12] Fabryz: you can write an HTTP server in few lines [13:12] fotoflo_: are there fully featured servers out there? [13:12] davidbanham: przemoc: emailjs looks good. node_mailer works fine, it just feels clunky setting up all the auth info in the send call rather than earlier in the code in a configure call. No biggie, though. [13:13] matbee has joined the channel [13:13] jetienne: fotoflo_: this is more to write servers, as in webapp, than cloning apache [13:13] fotoflo_: or is there no need for a "fully featured" servers [13:13] zilch has joined the channel [13:13] fotoflo_: ? [13:13] jetienne: fotoflo_: see it like ruby for rails [13:13] davidbanham: fotoflo_: http://expressjs.com/ is a popular framework, built on top of http://tjholowaychuk.com/post/664516126/connect-middleware-for-nodejs [13:13] shiawuen has joined the channel [13:14] jetienne: fotoflo_: it doesnt replace the front server to spread the request on all your redundant servers for example [13:14] jetienne: fotoflo_: or python for django [13:14] postwait has joined the channel [13:15] fotoflo_: python and django are server side languages [13:15] fotoflo_: is is ruby [13:15] zilch has joined the channel [13:16] fotoflo_: you usually use a web server to serve executed python [13:16] fotoflo_: django is the framework, like express, I'm guessng [13:16] Poetro has joined the channel [13:16] Poetro has joined the channel [13:16] przemoc: fotoflo_: for state of the art front web servers look at nginx or cherokee [13:17] przemoc: behind you can use whatever you want [13:17] fotoflo_: right, we use nginx at my work [13:17] fotoflo_: and java for our backend [13:17] jetienne: fotoflo_: so forward nginx to node, like you would for, say, rails + mongrel [13:18] fotoflo_: so the users request goes to nginx, it passes the request to a node.js file which interprets the request and spits back output? [13:18] ph^ has joined the channel [13:19] zilch has joined the channel [13:19] fotoflo_: (sorry I'm dense i guess) [13:22] pen has joined the channel [13:22] zilch has joined the channel [13:23] FireFly|n900 has joined the channel [13:23] arthurd has joined the channel [13:24] davidbanham: fotoflo_: Pretty much, yeah. Depending on what kind of scale you're working at, you could also just use something like Amazon ELB to distribute the load across machines. [13:24] tobeytailor has joined the channel [13:24] fotoflo_: currently no scale ;-) [13:24] fotoflo_: just about a month into learning javascript in my spare time [13:24] fotoflo_: used to know perl [13:25] fotoflo_: thinking about if i want to build a site, would rather only use one language... [13:25] rfay has joined the channel [13:26] tobeytailor has joined the channel [13:26] jamonkko has joined the channel [13:26] davidbanham: fotoflo_: I've followed a pretty similar path, recently. I've found node has fit that use case pretty well. It allows you to move pretty seamlessly between the server and the browser. [13:27] zilch has joined the channel [13:27] fotoflo_: does node have good ways of accessing a database? [13:28] jetienne: yes with sql and without [13:28] TheJH: fotoflo_, yes, for mysql and some nosql databases [13:28] przemoc: fotoflo_: https://github.com/joyent/node/wiki/modules#wiki-database [13:28] fotoflo_: thx [13:28] davidbanham: The first webapp I built with it was a user control panel for our product, that was a single-page-webapp that pulled all its data from a nodeJS API server (which incidentally also serves all the static files). The next thing I built was a more traditional website that does all it's processing serverside, throws it in a templating language and all the browser sees is static html. Very similar code on both, just in [13:28] davidbanham: different places. [13:29] davidbanham: For database drivers, https://github.com/felixge/node-mysql has been good to me. [13:29] fotoflo_: davidbanham: if you wanted to save server load you could move that stuff to the browser and then realize it was too slow and move it back trivially, right? [13:30] c4milo has joined the channel [13:30] navaru: hey, is there any more beautiful way to write this? http://jsfiddle.net/navaru/de75L/2/ ... instead of the ternary operator, something that will work with the bitwise operator? [13:30] ceej has joined the channel [13:31] davidbanham: fotoflo_: Maybe not trivially. There are a few different challenges in each location. It would certainly be easier than moving back and forth between, say, a php server and a client-side webapp. [13:31] zilch has joined the channel [13:31] hlindset has joined the channel [13:32] davidbanham: fotoflo_: When I was building the control panel, though, there were lots and lots of little wins like my password strength checking function is exactly the same on client side as it is on server side. That way my users get instant feedback without a http round trip, but I still check it serverside before it goes in the database. [13:32] fotoflo_: interesting [13:34] hkjels has joined the channel [13:34] zilch has joined the channel [13:35] unlink has joined the channel [13:35] ceej_ has joined the channel [13:35] fotoflo_: you probably get a lot deeper understanding of javascript too, running it on both sides [13:36] kriszyp has joined the channel [13:36] TheJH: navaru, https://gist.github.com/b1fbc0c51df8ae66205d [13:37] rurufufuss has joined the channel [13:37] jarek has joined the channel [13:37] jarek has joined the channel [13:38] hkjels_ has joined the channel [13:38] davidbanham: fotoflo_: Can't comment on that. I've really been learning javascript through node, so I have no real basis for comparison. [13:38] zilch has joined the channel [13:39] hkjels has joined the channel [13:39] navaru: TheJH: thanks, I am trying to write the code as clean and simple as possible, so it will be easy to follow, I want to release a project as opensource, do you think is more wise to add another function or to leave the ternary option? [13:39] ditesh|cassini has joined the channel [13:40] figital has joined the channel [13:40] hkjels_ has joined the channel [13:40] jetienne_ has joined the channel [13:40] TheJH: navaru, if you only need to do that stuff in three or four places, a function would only cause confusion, I think. but if you need it often, it could clarify the code [13:41] farhadi has joined the channel [13:42] bripkens has joined the channel [13:42] navaru: TheJH: ok, thanks :) [13:42] fotoflo_: davidbanham: great, thanks [13:42] fotoflo_: ill check it out soon [13:44] baoist has joined the channel [13:48] CIA-65: node: 03Mickaël Delahaye 07v0.4 * re8d268f 10/ doc/api/fs.markdown : [13:48] CIA-65: node: Fix docs for fs.*chown [13:48] CIA-65: node: Fix bad parameters of fs.chown[Sync], fs.fchown[Sync] and [13:48] CIA-65: node: fs.lchown[Sync] in documentation. [13:48] CIA-65: node: Fixes #1533. - http://bit.ly/qPRxpu [13:48] Charuru has joined the channel [13:48] hkjels has joined the channel [13:48] espadrine has left the channel [13:48] damiano has joined the channel [13:48] damiano: hi [13:49] ryan[WIN] has joined the channel [13:50] dguttman has joined the channel [13:51] farhadi: why v8 doesn't support Iterators? [13:51] eee_c has joined the channel [13:52] hkjels_ has joined the channel [13:53] igl has joined the channel [13:53] CrisO has joined the channel [13:55] zomgbie has joined the channel [13:57] hkjels_ has joined the channel [13:59] zilch has joined the channel [13:59] TheJH: farhadi, what's that? [13:59] TheJH: farhadi, you mean forEach and map and so on? they work... [14:00] farhadi: Iterators introduced in JavaScript1.7: https://developer.mozilla.org/en/javascript/Guide/Iterators_and_Generators [14:01] dherman has joined the channel [14:01] shipit has joined the channel [14:01] colinclark has joined the channel [14:02] TheJH: farhadi, I think I read that there's experimental generators support in v8 [14:02] zilch has joined the channel [14:02] hekkwan has joined the channel [14:02] ksheurs has joined the channel [14:03] farhadi: TheJH, So we might have them in near future. [14:03] hwinkel has joined the channel [14:03] farhadi: cool [14:04] hl7Guy: Hi all. I'm interested in node, but always coded with blocking. Any good resouces out there that can help me wrap my head around call backs/events? [14:06] seivan has joined the channel [14:06] TheJH: hl7Guy, maybe the documentation for an async helper library helps somewhat? https://github.com/caolan/async [14:06] brez_ has joined the channel [14:06] zilch has joined the channel [14:07] hl7Guy: thanks..I'll definitley check it out [14:07] TheJH: hl7Guy, aside from that, a good way would probably to just read some code written by good node coders [14:07] TheJH: hl7Guy, maybe even the javascript part of the node core [14:08] aheckmann has joined the channel [14:08] hekkwan: hl7guy - I worked through this [14:08] hekkwan: http://www.nodebeginner.org/ [14:08] jakehow has joined the channel [14:08] jakehow_ has joined the channel [14:08] hl7Guy: Awesome! Thanks everyone [14:08] eresair has joined the channel [14:10] zilch has joined the channel [14:10] dnjaramba has joined the channel [14:11] eastender has joined the channel [14:11] JJMalina has joined the channel [14:11] geetarista has joined the channel [14:11] explodes has joined the channel [14:12] devongovett has joined the channel [14:13] maushu has joined the channel [14:13] brianc has joined the channel [14:13] sivy has joined the channel [14:14] zilch has joined the channel [14:15] Epeli has joined the channel [14:15] knowtheory has joined the channel [14:16] kenperkins has joined the channel [14:17] zilch has joined the channel [14:18] ironlad has joined the channel [14:19] zilch has joined the channel [14:20] softdrink has joined the channel [14:21] bomoko has joined the channel [14:21] pjacobs has joined the channel [14:22] zilch has joined the channel [14:22] prettyrobots has joined the channel [14:23] jbrokc has joined the channel [14:23] nickbruun has joined the channel [14:24] neelp has joined the channel [14:25] smtlaissezfaire has joined the channel [14:25] hlindset has joined the channel [14:26] dob_ has joined the channel [14:26] zilch has joined the channel [14:26] guillermo has joined the channel [14:28] Yuffster has joined the channel [14:28] progme has joined the channel [14:28] baudehlo has joined the channel [14:30] igl1 has joined the channel [14:31] zilch has joined the channel [14:31] mrdoodles has joined the channel [14:31] mrdoodles: hi everyone [14:33] zilch has joined the channel [14:35] robertfw has joined the channel [14:35] zanes has joined the channel [14:36] iFire has joined the channel [14:37] goshakkk has joined the channel [14:37] kriss has joined the channel [14:37] zilch has joined the channel [14:38] RORgasm has joined the channel [14:39] bradleymeck has joined the channel [14:39] eastender has joined the channel [14:39] zilch has joined the channel [14:41] mikl has joined the channel [14:41] mikl has joined the channel [14:42] arthurd has joined the channel [14:43] tmpvar has joined the channel [14:43] `3rdEden: Does anybody here know which jslint setting i got distable so it stops bitching about ('()' invoking a constructor) [14:43] pandeiro has joined the channel [14:43] `3rdEden: missing* '()' invoking a constructor [14:44] zilch has joined the channel [14:45] newy has joined the channel [14:46] sub_pop has joined the channel [14:47] krnlyng has joined the channel [14:47] AvianFlu has joined the channel [14:47] zilch has joined the channel [14:47] dob__ has joined the channel [14:47] hybsch has joined the channel [14:48] bshumate has joined the channel [14:50] zomgbie has joined the channel [14:50] sourcode has joined the channel [14:50] jetienne_ has joined the channel [14:51] liar__ has joined the channel [14:51] zilch has joined the channel [14:52] Inck has joined the channel [14:52] shapeshed has joined the channel [14:53] nickbruun has left the channel [14:53] jbpros_ has joined the channel [14:53] damiano: guys is it not possible to do something like: function check(obj) { if(typeof obj != 'undefined') return true; } [14:53] damiano: i have seen that i can call check(something) [14:54] damiano: if this something doest exists [14:54] damiano: i would like to put this control on a function [14:54] shripad: `3rdEden, there seems to be no way to change it in jslint. see this: http://stackoverflow.com/questions/3034941/new-myclass-vs-new-myclass/3034952#3034952 [14:54] damiano: but seems is not possible [14:54] damiano: what can i do? [14:54] `3rdEden: Argh [14:54] shripad: damiano, typeof obj !== undefined [14:54] zilch has joined the channel [14:54] matomesc has joined the channel [14:54] JakeyChan has joined the channel [14:55] nickbruun has joined the channel [14:55] damiano: shripad, ?? [14:55] damiano: i want to put this check inside a function [14:56] damiano: is not possible? [14:56] igl: you are checking if it is a string with the word undefined ;) [14:56] `3rdEden: shripad I was hoping that jshint had a way to disable it :p [14:57] shripad: function check(obj) { if(typeof obj !== 'undefined') return true; } [14:57] damiano: uh ?? [14:57] shripad: `3rdEden, lol its frustrating... i think its a pretty common use case when you don't need to use parenthesis [14:58] damiano: shripad, this function doesn work [14:58] Qbix1 has joined the channel [14:58] damiano: yes i miss = [14:58] damiano: but i don't think it is the problem [14:59] clifton has joined the channel [14:59] shripad: its the missing = which makes all the difference [14:59] shripad: btw != throws a ReferenceError for me [14:59] zilch has joined the channel [14:59] shripad: oh yeah it works [14:59] damiano: no [14:59] damiano: no works [14:59] damiano: one moment [14:59] damiano: i post the result [15:00] arpunk has joined the channel [15:00] damiano: http://nopaste.info/0c516de7c8.html [15:01] shripad: ok i get it now :P [15:01] shripad: you can't do that :) [15:01] hij1nx has joined the channel [15:01] zilch has joined the channel [15:02] damiano: grrrrr [15:02] damiano: if i have 10 chjeck i have to repeat this code [15:02] damiano: uglyyyyyy [15:02] skm has joined the channel [15:03] shripad: :( [15:03] blueadept: anyone here using postgres with node? [15:03] nickbruun: blueadept, yep [15:03] nickbruun: We use it for a few things [15:03] shripad: anyone using cradle with couchbase? [15:03] blueadept: how are you interfacing with postgres? [15:04] ccare has left the channel [15:04] zilch has joined the channel [15:05] blueadept: perhaps it doesn't matter about how, i was wondering about using RETURNING in transactions [15:05] baudehlo: ACTION uses 'pg' from npm [15:05] nickbruun: blueadept: we use pg [15:05] nickbruun: connect-pg that is [15:05] baudehlo: it seems well developed. [15:05] nickbruun: baudehlo: agreed [15:05] zilch has joined the channel [15:05] nickbruun: At least that's why we chose it [15:06] EyePulp has joined the channel [15:06] blueadept: what do you think about this transaction? http://pastie.org/private/vpzfgovktyw8svmgjwc7w [15:06] blueadept: this feels messy [15:07] blueadept: the way i'm using the returning id looks like i'm writing too much [15:07] nodokodo has joined the channel [15:07] pifantastic has joined the channel [15:07] nickbruun: Hmm, I don't know [15:07] Cromulent has joined the channel [15:07] nickbruun: It's a transactional database, so you probably won't get around that [15:08] blueadept: cool. yeah it works, i was just thinking there was a shorter way of doing it [15:09] nickbruun: I doubt it [15:09] zilch has joined the channel [15:09] blueadept: oh wait you both use connect-pg that is [15:10] blueadept: i'm using https://github.com/brianc/node-postgres [15:10] thinkt4nk__ has joined the channel [15:10] nickbruun: Well, yes, that's the one :) [15:10] nickbruun: Sorry, we're not using connect-pg - my bad [15:10] nickbruun: We're using brianc's node-postgres [15:11] jakehow has joined the channel [15:11] jakehow_ has joined the channel [15:11] zilch has joined the channel [15:12] blueadept: yeah looks like the best one to use out of the whole bunch [15:12] nickbruun: Dffo does [15:12] nickbruun: Although we can have a lengthy discussion as to its adherence to the callback-based pattern, but oh wel.. [15:12] nickbruun: well* [15:12] blueadept: i was thinking about an orm, but after doing a little bit of development, i need full fledged ability to send whateever commands i need [15:12] nickbruun: You can pretty easily wrap up your own ORM for your purpose [15:13] aheckmann has joined the channel [15:13] nickbruun: Or at least abstract it into an n-tier model [15:13] arthurdebert has joined the channel [15:13] nickbruun: That way it'll be loads easier for you to manage it down the line [15:13] blueadept: yep [15:13] nickbruun: (although that is essentially a discussion about application layout that we probably shouldn't get into ;) ) [15:14] zilch has joined the channel [15:14] springmeyer has joined the channel [15:15] thinkt4nk_ has joined the channel [15:15] seivan has joined the channel [15:15] ohtogo has joined the channel [15:15] tjholowaychuk has joined the channel [15:16] jbrokc has joined the channel [15:16] blueadept: hm, i'm running into an issue here. http://pastie.org/private/vpzfgovktyw8svmgjwc7w if i break the second INSERT query that uses the returning id, it doesn't break the transaction [15:16] thinkt4nk has joined the channel [15:17] Destos has joined the channel [15:17] zilch has joined the channel [15:17] Yoric has joined the channel [15:17] blueadept: it inserts the first one, but doesn't insert the second one, instead of inserting neither [15:19] wink_ has joined the channel [15:20] nickbruun: That's because you're not explicitly cancelling the trancation? [15:20] ccare has joined the channel [15:20] baudehlo: blueadept: don't you have to use the callback here? [15:20] nickbruun: Yea, you do :) [15:21] nickbruun: Essentially, your commit should be in the callback from the second INSERT query, if it succeeds [15:21] replore has joined the channel [15:21] zanes has joined the channel [15:21] replore_ has joined the channel [15:21] blueadept: oh i see [15:21] blueadept: ha [15:21] baudehlo: i.e. client.query("BEGIN", function (err) { if (err) { … } else { client.query("INSERT…") } [15:21] baudehlo: etc [15:21] nickbruun: In the case that the callback from either query fails, you have to cancel the transaction [15:21] blueadept: so you're chaining it [15:21] baudehlo: otherwise you don't know the BEGIN has returned when you fire off the INSERT. [15:21] JAAulde has joined the channel [15:21] nickbruun: Ie. client.query("ROLLBACK"); just to be sure [15:23] cccaldas has joined the channel [15:23] JAAulde: require() is synchronous, correct? [15:24] halfhalo-work has joined the channel [15:24] ncamacho has joined the channel [15:24] zilch has joined the channel [15:24] baudehlo: correct. [15:24] JAAulde: thanks [15:24] baudehlo: unless you've already require()'d the code before. [15:24] JAAulde: ok [15:24] baudehlo: well, it's still synchronous then, but there's no filesystem access or compilation phase. It just returns whatever is cached. [15:25] isaacs has joined the channel [15:25] vikstrous has joined the channel [15:25] zemanel has joined the channel [15:26] CIA-65: node: 03Nathan Rajlich 07master * r54b409d 10/ (lib/util.js test/simple/test-console-not-call-toString.js): [15:26] CIA-65: node: util: isRegExp() should not call toString() on its argument [15:26] CIA-65: node: An overloaded toString() method may have side effects [15:26] CIA-65: node: so don't call it for a simple type check. - http://bit.ly/qGFrw1 [15:27] zilch has joined the channel [15:28] _sorensen_ has joined the channel [15:28] FiveLemon has joined the channel [15:29] torsd has joined the channel [15:30] k1ttty has joined the channel [15:31] zilch has joined the channel [15:32] defeated has joined the channel [15:32] blueadept: nickbruun: do i need a rollback call? [15:32] blueadept: i'm not making a bank database, this is just trivial ecommerce [15:33] blueadept: if the commit fails i'm fine with that [15:33] newy has joined the channel [15:34] defeated: hey folks, is there any way to explicitly clear out the require cache? I'm trying to debug an issue we're seeing in our CI loop, but I think it only happens when there's no cached modules [15:34] mrdoodles_ has joined the channel [15:34] confoocious has joined the channel [15:34] confoocious has joined the channel [15:34] defeated: so obviously it's hard to track down when I can only replicate it locally one time... [15:35] kevwil has joined the channel [15:35] zilch has joined the channel [15:37] jzacsh has joined the channel [15:37] jzacsh has joined the channel [15:38] zomgbie has joined the channel [15:38] zilch has joined the channel [15:38] vikstrous has joined the channel [15:39] nickbruun: blueadept: it's to guarantee that your transaction rolls back [15:40] nickbruun: It should roll back upon failure [15:40] tiemonster has left the channel [15:41] nickbruun: But, there's always the question as to where the failure arises [15:41] nickbruun: So, better to be sure [15:41] nickbruun: (consider driver errors etc.) [15:42] bnoordhuis: defeated: require.cache [15:42] damiano: i don't remember how to get the remoteaddress with express [15:42] damiano: grrr [15:42] defeated: bnoordhuis: I can just empty it out? [15:42] damiano: someone remember it? [15:42] micheil has joined the channel [15:42] openpercept has joined the channel [15:42] blueadept: nickbruun: so do a client.query('ROLLBACK') on if (err) ? [15:42] bnoordhuis: defeated: deleting the keys should do it yes [15:42] BillyBreen has joined the channel [15:42] defeated: bnoordhuis: great, thanks [15:43] nickbruun: blueadept: yes, to be sure [15:43] blueadept: cool, ty [15:43] nickbruun: No worries :) [15:43] orospakr has joined the channel [15:43] nickbruun: damiano: doesn't req.socket.remoteAddress work? [15:43] seivan has joined the channel [15:44] temp01 has joined the channel [15:44] damiano: ooooook [15:44] damiano: yes [15:44] hacksparrow has joined the channel [15:44] synkro has joined the channel [15:44] nickbruun: damiano: doesn't work for SSL as far as I remember... there's a workaround, but for normal HTTP you should be home free [15:45] nickbruun: blueadept: that's where writing a quick wrapper might come in happy to handle exceptions and ensure rollback etc. [15:45] damiano: nickbruun, maybe Express.js has something [15:45] nickbruun: damiano: maybe [15:45] blueadept: yeah i see. gladely most of my transactions are quite short, but i might do roll my own wrapper when i get some time. sounds like a good idea [15:46] criswell has joined the channel [15:46] tjholowaychuk: damiano no [15:47] tjholowaychuk: just do it how you would with node [15:47] damiano: tjholowaychuk, req.socket.remoteAddress always ? [15:47] [[zz]] has joined the channel [15:47] tjholowaychuk: damiano yeah, express doesn't get in the way of regular node stuff, and there's no reason to with that [15:47] damiano: ok [15:48] eyesUnclouded has joined the channel [15:48] damiano: tjholowaychuk, i neeeed you [15:48] damiano: :D [15:48] tjholowaychuk: although with tls it might still be req.socket.socket.remoteAddress [15:48] stephank has joined the channel [15:48] tjholowaychuk: (weird I know) [15:48] damiano: ok [15:48] damiano: no problem [15:48] damiano: http [15:48] damiano: req.socket.remoteAddress [15:48] shipit has joined the channel [15:48] damiano: i will use it [15:48] nickbruun: damiano: I don't know if the problem still exists in future versions, but this is the case I was talking about: http://stackoverflow.com/questions/5999379/how-to-find-out-the-remote-address-in-node-js-if-it-is-https-request [15:48] damiano: tjholowaychuk, i see can i access to variable directly on the view [15:48] damiano: nickbruun, ok, good [15:49] damiano: tjholowaychuk, i was saying... [15:49] damiano: when i do: res.render('page', {error: 'error text'}) [15:49] [[zz]] has joined the channel [15:49] damiano: i can access to error variable directly [15:50] damiano: but there is a problem for me [15:50] damiano: if i have many object [15:50] tjholowaychuk: damiano look into helpers/dynamicHelpers in the guide or examples [15:50] damiano: maybe sometime i do: res.render('page', {confirm:'text'}) [15:50] tjholowaychuk: or res.locals() etc [15:50] damiano: tjholowaychuk, yes [15:50] damiano: but wait [15:51] damiano: i created a local with [15:51] damiano: typeof obj !== 'undefined' [15:51] tjholowaychuk: let's talk in #express no need to clutter up this channel [15:51] damiano: ok [15:51] brianc: nickbruun: what about it's adherence to the callback pattern? [15:51] nickbruun: brianc: I was referring to blueadept's usage :) [15:51] nickbruun: Not your code :) [15:52] nickbruun: (might have been unclear, my apologies) [15:52] brianc: oh oh okay [15:52] brianc: no worries [15:52] Charuru has joined the channel [15:52] pizthewiz has joined the channel [15:52] nickbruun: Great job btw -- glad to see someone maintaining a proper driver :) [15:52] brianc: I was just wonderin' if there was something we needed to fix [15:53] alvaro_o has joined the channel [15:53] baudehlo: be nice to support ? style placeholders. [15:53] caolanm has joined the channel [15:53] fatjonny has joined the channel [15:53] nickbruun: Not that I've come across, but we'll be sure to contribute back if we do :) [15:53] brianc: baudehlo: yeh, but those aren't actually supported by postgres [15:54] vikstrous has joined the channel [15:54] baudehlo: yeah, but you could do query.replace('?', function () { return '$' + id++ }) [15:54] booo has joined the channel [15:54] explodes has joined the channel [15:54] hij1nx has joined the channel [15:55] brianc: baudehlo: that's true [15:55] baudehlo: (or something like that) [15:55] baudehlo: though I guess that's fragile. [15:56] baudehlo: what if you have a ? in a string. [15:56] nickbruun: And a bit of a PostgreSQL anti-pattern? [15:56] brianc: baudehlo: I feel like that might belong outside the driver since postgres doesn't actually support the '?' character. I know it's nice to have since mysql uses it, but it probably belongs in a library used to generate sql or something where that can be abstracted away [15:56] baudehlo: yeah I accept that. [15:56] kmiyashiro has joined the channel [15:56] baudehlo: I just had to go through a search/replace when porting an app from SQLite to Pg. [15:57] baudehlo: but it wasn't a big deal. [15:57] brianc: yeah those db dfferences can be a bit annoying sometimes [15:57] luke` has joined the channel [15:58] raidfive has joined the channel [15:58] baudehlo: *nod* [15:58] shapeshed has joined the channel [15:58] luke`_ has joined the channel [15:58] gazumps has joined the channel [15:58] baudehlo: I had a tiny abstraction layer though anyway so some of it was less painful than it might have been. [15:58] eee_c has joined the channel [15:58] wookiehangover has joined the channel [15:58] zilch has joined the channel [15:59] brianc: I'm working on a sql generation module [15:59] brianc: but it's kinda slow going [15:59] brianc: and only supports postgres dialect right now. :) [15:59] temp02 has joined the channel [16:00] brianc: definitely not ready for even an alpha release: https://github.com/brianc/node-sql/blob/master/test/postgres-tests.js [16:00] kenperkins has joined the channel [16:00] soapyillusions has joined the channel [16:01] jellosea has joined the channel [16:01] aoberoi has joined the channel [16:01] eventualbuddha has joined the channel [16:03] zilch has joined the channel [16:03] TheJH: using callbacks for synchronous calls feels wrong... [16:03] hlindset has joined the channel [16:03] hlindset has joined the channel [16:03] [[zz]] has joined the channel [16:03] teadict: TheJH: embrace it [16:03] soapyillusions_ has joined the channel [16:04] TheJH: teadict, you know, that function could just return that data instead of using a stupid callback [16:04] EvanCarroll: brianc: there are a lot of other binary functions in Pg [16:04] EvanCarroll: IS SIMILIAR TO and ~~* [16:04] hwinkel has joined the channel [16:05] brianc: EvanCarroll: yeah it's still in super-pre-alpha doesn't even have a readme yet state. :) [16:05] teadict: TheJH: but it's so nice to just tell it to do X when it returns [16:05] colinclark has joined the channel [16:06] seivan has joined the channel [16:06] zilch has joined the channel [16:07] jmalina has joined the channel [16:08] jtsnow has joined the channel [16:08] jakehow has joined the channel [16:08] jakehow_ has joined the channel [16:08] sbisbee_ has joined the channel [16:09] stisti has joined the channel [16:09] ditesh|cassini has joined the channel [16:09] jerrysv has joined the channel [16:10] zilch has joined the channel [16:11] maushu: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHH [16:11] maushu: ACTION 's brain exploded after reading ssh rfc. [16:11] balupton has joined the channel [16:11] bradleymeck: maushu, did you actually manage to finish? [16:11] wenhao has joined the channel [16:11] maushu: finish what? [16:11] bradleymeck: the ssh rfc [16:12] maushu: IT NEVER ENDS [16:12] bradleymeck: the auth details hurt my brain [16:12] maushu: How can someone FINISH it. [16:12] SamNZ has joined the channel [16:13] thinkt4nk has joined the channel [16:13] zilch has joined the channel [16:15] kriszyp has joined the channel [16:16] ronnieboy has joined the channel [16:16] Borgoluzzuo has joined the channel [16:16] zilch has joined the channel [16:17] dherman has joined the channel [16:17] goshakkk: hey guys [16:17] Fabryz: will zilch's IRC client EVER stay connected? half of this log is him reconnecting [16:17] goshakkk: can anyone give me idea of some app will be written in learning purposes [16:17] bradleymeck: that can be? [16:17] Fabryz: make a chat server [16:17] goshakkk: by the way of learning node, express, backbone, mongoose [16:17] maushu: 00 00 02 64 0a [16:18] goshakkk: and maybe socke.tio and redis [16:18] goshakkk: socket.io* of course [16:18] bradleymeck: goshakk make a virtual stickynote board (can move around sticky notes, save them, multiple people can use same board at same time) [16:18] Fabryz: dohohoh [16:19] Fabryz: make something realtime and multiplayer. [16:19] goshakkk: bradleymeck: it'll use socket.io right? [16:19] bradleymeck: goshakkk it would pretty much have to [16:19] zilch has joined the channel [16:19] goshakkk: urgh this seems a bit difficult... [16:19] zilch: Fabryz, I am really sorry [16:19] zilch: Thanks for the attention ... [16:19] bradleymeck: well you said a lot of things and small projects dont cover all those [16:19] goshakkk: bradleymeck: can you explain step by step creating of this thing? [16:20] baoist has joined the channel [16:20] stephank: maushu: Writing an ssh client? [16:20] zilch: I am not sure why it is been like this [16:20] Fabryz: haha [16:20] maushu: stephank, server [16:20] stephank: oh, bummer :p [16:20] goshakkk: (i wanna follow the hard way, i just need some explainations;) [16:20] Spion has joined the channel [16:20] Fabryz: 4 hours it's going on and off =) [16:20] maushu: Ok, 00 00 02 64 0a should be 4 bytes, WHY IS IT 5. [16:21] stephank: maushu: still, curious how that'll work out for you. I've had some trouble with crypto stuff that was only in node 0.5. [16:21] maushu: Hmm, there is the 0a there though. Why a newline there? Hmmm [16:21] zilch: Fabryz, what I should do ? [16:21] Fabryz: zilch, what client are you using? [16:21] wenhao has left the channel [16:21] maushu: Wait, unless that is the padding length? [16:22] maushu: Lets run this crap again. [16:22] langworthy has joined the channel [16:22] zilch has joined the channel [16:22] Fabryz: zilch, what client are you using? [16:22] stephank: the ssh lasagna :) [16:23] softdrink: sounds tasty [16:23] bradleymeck: goshakkk : 1. create an express server with routes that create a stickyboard. 2. create your html for these routes using jade 3. using backbone sync the sticky notes and display them via jquery or somesuch (with a save button) 4. make a sync backend for backbone that points to a route in express 5. make the route save the sticky notes 6. make moving them fire events via socket.io and broadcast them to all the clients, telli [16:23] bradleymeck: ng others the new position [16:23] maushu: Returns the same, doesn't mean anything since the first package is always the same... [16:23] Fabryz: number 6 will be amusing [16:24] Fabryz: btw [16:24] knowtheory has joined the channel [16:24] zilch has joined the channel [16:25] goshakkk: bradleymeck: thanks, will attempt to try to start development of this thing tomorrow [16:25] digitaltoad has joined the channel [16:25] goshakkk: now i'm surfing the for for resources on backbone, node, express, vows, socket.io, mongoose [16:25] goshakkk: surfing the web for resources* [16:25] stephank: maushu: you've seen substack's ssh server, btw? [16:26] maushu: Doesn't work. [16:26] stephank: lawl [16:26] stephank: also bummer :) [16:26] Fabryz: I was using manual rude http static file server, now I put up node-static but uhm it doesn't serve index.html [16:26] brianloveswords has joined the channel [16:27] Fabryz: I guess I can do the same with express? serving static files and routing on URL.com/blabla? [16:27] greg has joined the channel [16:27] zilch has joined the channel [16:27] jbrokc has joined the channel [16:27] tjholowaychuk: Fabryz yeah you can do that with express/connect easily [16:27] tjholowaychuk: app.use(express.static('public')) [16:27] Vertice has joined the channel [16:27] Fabryz: ok [16:28] maushu: Ok, here goes nothing. [16:28] maushu: ACTION starts counting bytes. [16:28] Fabryz: because I have the usual index.html, js/blabla.js, img/image.png ... files, but when I request something as /status in URL I need to do some other functions [16:28] fdenbow has joined the channel [16:28] Fabryz: will give a look again to express [16:29] Raynos has joined the channel [16:30] Raynos: there are a lot of file watching modules [16:30] zilch has joined the channel [16:30] Raynos: Anyone have any recommendation on something robust / non-leaking? [16:30] zilch: Fabryz, I am using xchat on ubuntu [16:30] dshaw_ has joined the channel [16:30] tjholowaychuk: watch --interval=1 make [16:30] TooTallNate has joined the channel [16:30] ttpva has joined the channel [16:31] SamNZ: Are generators in JS like blocks in Ruby? [16:31] eignerchris has joined the channel [16:31] zanes: SamNZ: Not really, no. [16:32] Fabryz: zilch saw there's a bug listed for that, tried using http://webchat.freenode.net/? [16:32] zilch has joined the channel [16:33] Fabryz: zilch tried using http://webchat.freenode.net/ ? [16:33] nibblebot has joined the channel [16:34] Fabryz: meh, have to go. See yall [16:35] patrickjst has joined the channel [16:35] zilch has joined the channel [16:35] ryanallenbobcat has joined the channel [16:36] maushu: 612 length... 612 bytes! [16:36] maushu: It checks out. yay! [16:36] mikeal has joined the channel [16:36] joshthecoder has joined the channel [16:37] goshakkk: is there any way to make express auto-compile coffeescript if it's been changed? [16:37] luke`_ has joined the channel [16:38] rickharrison has joined the channel [16:38] tjholowaychuk: goshakkk no you have to use something third-party for that [16:38] shipit: hi guys, I don't see socket.pipe() function in the API docs [16:38] tjholowaychuk: like a makefile [16:39] zilch has joined the channel [16:39] shipit: egh, nevermind, just found the Stream interface [16:39] goshakkk: tjholowaychuk: i have seen somewhere just thatFile.coffee and app.js requiring first 'coffee-script' then 'thatFile' [16:39] goshakkk: without any makefiles [16:40] TheJH: anyone here who knows whether "kesla (David Björklund)" has an IRC nick? [16:40] tjholowaychuk: goshakkk you can use require() extensions but that wont reload when they change [16:40] mundanity has joined the channel [16:40] tjholowaychuk: this is why just writing js is nice :p [16:40] nerdfiles1 has joined the channel [16:40] goshakkk: tjholowaychuk: pure js is ugly [16:41] goshakkk: for me, perfectionist, rubyist and pythonista [16:41] SamuraiJack has joined the channel [16:41] tjholowaychuk: ACTION headdesk [16:41] goshakkk: also can anybody tell me redis use cases? i've never worked with it [16:41] igl has joined the channel [16:42] zilch has joined the channel [16:43] brez_ has joined the channel [16:43] ekryski has joined the channel [16:43] JJMalina has joined the channel [16:44] liquidproof has joined the channel [16:44] bradleymeck: goshakkk use redis if you have an in memory store that needs to be very fast and can handle some loss if it gets prematurely killed [16:44] torsd has joined the channel [16:44] cccaldas has joined the channel [16:45] goshakkk: real life examples? [16:45] bradleymeck: auth tokens, session data, etc [16:45] zilch has joined the channel [16:45] goshakkk: great... [16:46] nerdfiles1 has left the channel [16:46] goshakkk: and can be jammit used with node? or is there smth like it? [16:47] bradleymeck: there are various packages around, i dont do much webwork with node so idk whats best, one just popped up on the mailing list today actually [16:47] simenbrekken has joined the channel [16:47] maushu: Need to rest a little, tired of looking at hex. [16:48] shiram has joined the channel [16:48] edude03 has joined the channel [16:48] zilch has joined the channel [16:50] brion has joined the channel [16:50] brion has joined the channel [16:50] fangel has joined the channel [16:50] Sorella has joined the channel [16:51] zilch has joined the channel [16:52] mcluskydodallas has joined the channel [16:53] newy has joined the channel [16:54] zilch has joined the channel [16:54] FireFly|n900 has joined the channel [16:54] FireFly|n900 has joined the channel [16:54] frank___ has joined the channel [16:55] dnjaramba has joined the channel [16:55] jbpros has joined the channel [16:56] shiram_: Can someone pls help me with a HTTP req problem? http://stackoverflow.com/questions/7059268/node-js-http-get-not-returning-all-data [16:56] vikstrous has joined the channel [16:56] towski has joined the channel [16:56] AvianFlu has joined the channel [16:57] pjacobs: mikeal,you around? [16:57] kenperkins: I'm totally confused by ryah's tweet [16:57] bradleymeck: shiram_ is the content-length of the http request correct [16:58] mikeal: yeah [16:58] shiram_: bradleymeck: yes [16:58] antono has joined the channel [16:59] meandi2 has joined the channel [16:59] shiram_: bradleymeck: you mean the result content length? [16:59] mpavel has left the channel [16:59] mikeal: shiram_: what server is that? [16:59] zilch has joined the channel [16:59] bradleymeck: shiram_ no the header, and also test for the 'end' event. [16:59] maushu: What the hell is a name-list. [17:00] shiram_: mikeal: I think ASP.NET [17:00] bradleymeck: kenperkins ryah is probably referring to some things like variable stripping that can occur, or tracking race conditions between events [17:01] shiram_: bradleymeck: I had an 'end', but dumbed down the code example because there is only 1 packet [17:01] kenperkins: got it [17:02] eee_c has joined the channel [17:02] bradleymeck: if the content-length header is correct and an end event occured, I would suspect either the server is sending invalid data (according to HTTP spec, most likely since curl is fubarring too), or something is going wrong with the parser [17:02] zilch has joined the channel [17:03] TheJH: shiram_, I think I found it, give me a minute to validate [17:04] enhydra has joined the channel [17:04] mikeal: shiram_: that's not guaranteed [17:04] mikeal: that there will only be one "data" event emitted [17:04] mikeal: pjacobs: what's up? [17:04] jbrokc: tjholowaychuk: hey tj, was wondering if you could help decipher why my sass filter isn't working in the following: https://gist.github.com/c00e577e2d0134796e9e [17:05] tjholowaychuk: jbrokc hmm not sure at a glance [17:05] zilch has joined the channel [17:05] TheJH: shiram_, found it :) [17:05] TheJH: shiram_, look at the stackoverflow question [17:06] jbrokc: tjholowaychuk: that's all the involved code really, so anything blocking the filter from rendering wouldn't be happening externally... [17:06] shiram_: TheJH: =D [17:06] TheJH: shiram_, you could try to replace "0d" with "0a" in order to see what wou want to see [17:07] shiram_: TheJH: thanks, I'll try quick [17:08] vikstrous has joined the channel [17:08] pjacobs: mikeal, I'm attempting to use your "request" code to make a POST, but am missing how to assign the POST arguments to the body. I don't see an example of it, nor a test. Do you mind helping me out? [17:08] DTrejo has joined the channel [17:08] mikeal: you're trying to do a form encoded post? [17:08] cognominal_ has joined the channel [17:09] pjacobs: I'm trying to complete the 3rd step of this: https://browserid.org/developers [17:09] torsd has joined the channel [17:10] hybsch has joined the channel [17:10] bradleymeck: tjholowaychuk any chance caustic can get a 'namespaced' mode so it wont conflict with jquery plugins? (i can write it up tonight, but dunno your thoughts) [17:11] tjholowaychuk: bradleymeck hmMmM yeah might not be a brutal ideal, what props are colliding? [17:11] jbrokc: tjholowaychuk: well, if you ever have time to just copy that gist down and try it locally id' really appreciate it. [17:11] tjholowaychuk: i'd like to generate .prototypes or something else as well, I still find myself wrapping some of the views and having foo.view which defeats the purpose haha [17:12] vid__ has joined the channel [17:12] bradleymeck: just have some custom plugins that are colliding, 'live' is the big one on my site [17:12] pjacobs: mikeal, I guess so. trying to make the equivalent of curl -d "assertion=&audience=mysite.com" "https://browserid.org/verify" [17:13] mikeal: pjacobs: request.post({body:require('querystring').stringify({name:value}), headers:{'content-type':'http://mimeapplication.org/x-www-form-urlencoded.htmlhttp://mimeapplication.org/x-www-form-urlencoded.htmlhttp://mimeapplication.org/x-www-form-urlencoded.htmlhttp://mimeapplication.org/x-www-form-urlencoded.html'}) [17:13] Charuru has joined the channel [17:13] mikeal: something like that [17:13] sweetd has joined the channel [17:13] pjacobs: mikeal, cool, I'll try that out. Thanks [17:13] DennisRasmussen has joined the channel [17:15] vikstrous has joined the channel [17:15] admc has joined the channel [17:16] DennisRasmussen: Building a game server and want to split my main file up into seperate files. Is using require() the only way? Would hate having to create exports for every single method :/ [17:16] DennisRasmussen: (trying to do it the oop way) [17:17] softdrink: export classes instead of methods [17:17] bradleymeck: then export a function : module.exports = myFun [17:18] TheJH: shiram_, I tried it, it works: https://gist.github.com/1147231 https://gist.github.com/1147232 [17:18] gazumps856 has joined the channel [17:19] TheJH: now I want many upvotes and an "accept answer" click :) [17:20] TheJH: maaany upvotes :( [17:20] ekryski: Anyone have any recommendation as to where to run redis? should it be on its own box or coupled with node.js or coupled with the other db servers? [17:21] jorenl_ has left the channel [17:21] shiram_: TheJH: thanks, I was just about to test almost exactly the same code after reading the Buffer docs :) [17:22] dgathright has joined the channel [17:23] shiram_: TheJH: do you know of another way to grab the \r EOL text without Buffer hackery? [17:23] langworthy has joined the channel [17:24] rfay has joined the channel [17:24] TheJH: shiram_, buf.toString().replace(/\r/g, "\n") should work, too - stupid me [17:25] zilch has joined the channel [17:25] nibblebot has joined the channel [17:25] bradleymeck: ekryski i would give it its own box in production since you may have multiple node servers (probably will eventually if it is a high load app) [17:26] jbrokc: anyone here know how to use sass.js as a filter with haml.js? i'm having some trouble https://gist.github.com/c00e577e2d0134796e9e [17:26] pjacobs: mikeal, I'm still getting [err: null res: [object Object] body: Internal Server Error]. Is there anything special to do with https? [17:26] ekryski: bradleymeck: ya we will have more than one node server. Do you think that latency over network would be an issue? [17:28] bradleymeck: ekryski no more than it would with any other db (keep it in same network / cache dns lookups if needed / etc ) [17:28] ossareh has joined the channel [17:29] zilch has joined the channel [17:29] mikeal: nop [17:29] Qbix1 has joined the channel [17:31] kixxauth has joined the channel [17:31] zilch has joined the channel [17:31] ekryski: bradleymeck: ok thx. The main point of using redis was for session/job queuing. We are using mongodb for the backend storage. [17:32] ekryski: more like a replacement for memcahed [17:32] csanz has joined the channel [17:32] ekryski: *memcached [17:34] wookiehangover has joined the channel [17:34] devongovett: unless you hate CoffeeScript, check out my new project coffeepack: an implementation of the MessagePack serialization format in pure CoffeeScript for Node.js and the browser. https://github.com/devongovett/coffeepack :P [17:34] zomgbie has joined the channel [17:35] iFire has joined the channel [17:35] dgathright has joined the channel [17:36] nairbo has joined the channel [17:36] jesusabdullah: I find "pure coffeescript" minorly amusing [17:37] jesusabdullah: Not that I have an issue with CS of course! [17:37] tjholowaychuk: that means it's cool-proof [17:38] tilgovi has joined the channel [17:38] tilgovi has joined the channel [17:38] swhit has joined the channel [17:38] astropirate: wtf Joyent? :S how is SmartOS better than linux? :S [17:38] jesusabdullah: wth is smartOS? [17:38] hekkwan has joined the channel [17:38] astropirate: joyent just launched a new OS [17:38] basicer has joined the channel [17:38] jesusabdullah: Maybe it's smarter than linux ;) [17:38] DennisRasmussen: softdrink, sorry was away a bit [17:38] astropirate: http://www.joyent.com/products/smartos/ [17:39] DennisRasmussen: softdrink, can you export an entire class and require/create new/multiple instances of it in the main file? [17:39] softdrink: ? [17:39] softdrink: oh [17:39] arthurdebert has joined the channel [17:39] softdrink: mhmm [17:39] SamuraiJack has joined the channel [17:41] DennisRasmussen: It's pretty simple without node. Write a class/object, place it in a seperate file, include it then create new instances when you need one. Just trying to figure out a way to split this object/class away from the main file in node so I can keep it structured and small [17:42] softdrink: that's what i do [17:42] DennisRasmussen: But I guess var Class = require('./obj.js'); var obj = new Class works? [17:42] DennisRasmussen: What would I have to write in the obj.js file then? module.exports = Classname; ? [17:43] zastaph has joined the channel [17:43] iFire has joined the channel [17:43] ts__ has joined the channel [17:43] DennisRasmussen: Or create a fake constructor which returns the class? [17:44] softdrink: exports.Foo = function Foo () { i'm a cool constructor }; Foo.prototype….. [17:44] tobeytailor has joined the channel [17:44] jbrokc has joined the channel [17:44] DennisRasmussen: And in the file that requires the module you write? [17:45] mjr_ has joined the channel [17:45] softdrink: var Foo = require('Foo').Foo; or something along those lines [17:45] softdrink: you're extra cool if you can work the class name into that line more than 3 times. [17:45] yumike has joined the channel [17:45] softdrink: :D [17:46] iammerrick has joined the channel [17:46] DennisRasmussen: .Foo as a fake constructor? [17:46] DennisRasmussen: Oh wait, that's from the exports I guess [17:46] softdrink: .Foo *is* the class constructor [17:47] softdrink: there's probably a better way that someone else knows [17:47] DennisRasmussen: And how would you create multiple instances of that class then? The usual way? [17:47] softdrink: yep [17:47] softdrink: var f = new Foo()... [17:47] DennisRasmussen: ye [17:47] DennisRasmussen: Well awesome [17:48] DennisRasmussen: Time to load the badass long file and split into modules [17:48] akujin has joined the channel [17:49] softdrink: http://www.commonjs.org/specs/modules/1.0/ [17:51] zilch has joined the channel [17:51] Aphelion has joined the channel [17:51] tobeytailor has joined the channel [17:55] soapyillusions has joined the channel [17:55] zilch has joined the channel [17:56] zeade has joined the channel [17:58] tomtomaso has joined the channel [17:58] m00p has joined the channel [18:01] navaru has joined the channel [18:01] zilch has joined the channel [18:02] rsterner has joined the channel [18:03] Postcomputing has joined the channel [18:04] Postcomputing: What do you guys use for parsing XML? [18:04] ale has joined the channel [18:04] mjr_: lots of coffee [18:04] gkmngrgn has joined the channel [18:04] softdrink: not xml. ;) [18:04] mjr_: And then heavy drinking at night. [18:04] gazumps856 has joined the channel [18:05] zilch has joined the channel [18:05] booo has joined the channel [18:06] ale: I am running apache on port 81, nodejs on 80 so that I can proxy any request, but when I use expressjs, how can I do so that I don't have to write my.page:82 let's say, not to write the port? http://jsfiddle.net/MQ2du/ [18:06] Postcomputing: Come on, I need to parse and generate XML quickly in node.js [18:07] tjholowaychuk: ale proxy or port forwarding etc [18:07] tjholowaychuk: oh i see you're using http-proxy [18:07] cccaldas has joined the channel [18:07] softdrink: https://github.com/joyent/node/wiki/modules#wiki-parsers-xml [18:07] jesusabdullah: Postcomputing: npm search xml will probably be helpful [18:07] tjholowaychuk: ale wouldn't you just app.listen(81) then? [18:07] TheJH: Postcomputing, isaacs sax-js or my halfstreamxml if you want something that collects entire nodes [18:07] hacksparrow: what's the best way to read the stdout of require('child_process').exec line by line? [18:07] TheJH: !@Postcomputing npm search sax-js [18:07] jhbot: Postcomputing, no results [18:08] TheJH: !@Postcomputing npm search saxjs [18:08] jhbot: Postcomputing, no results [18:08] TheJH: aww [18:08] TheJH: !@Postcomputing npm search sax [18:08] jhbot: Postcomputing, package sax: [18:08] jhbot: Postcomputing, package readabilitySAX: the readability script ported to a sax parser [18:08] TheJH: GAH [18:08] ale: tjholowaychuk: that would give me EADDRINUSE [18:08] TheJH: sorry, my dear bot, you're stupid [18:08] zilch has joined the channel [18:09] hacksparrow: so anyone? what's the best way to read the stdout of exec line by line? [18:09] CIA-65: node: 03Ben Noordhuis 07v0.4 * r5e37e10 10/ src/node.cc : [18:09] CIA-65: node: module: fix pointer reference to out-of-scope variable [18:09] CIA-65: node: Reported by Tom Hughes. - http://bit.ly/qy4QpD [18:09] TheJH: hacksparrow, if you want a stream of the output, use spawn [18:09] ale: tjholowaychuk: and that won't let me to run node server.js because of the EADDRINUSE [18:09] hacksparrow: that's a good point [18:09] tjholowaychuk: ale well you run them in different processes.. [18:09] TheJH: hacksparrow, there are multiple npm modules out there that can handle newline-delimited streams [18:10] tjholowaychuk: otherwise there's no reason to proxy [18:10] ale: tjholowaychuk: how's that? [18:10] tjholowaychuk: ale check out cluster [18:10] ale: tjholowaychuk: I am just proxying it because someone recommend it to me [18:10] isaacs has joined the channel [18:11] zilch has joined the channel [18:11] Raynos has left the channel [18:11] Postcomputing: Does saxjs or halfstreamxml use window.DOMParser? [18:11] ale: tjholowaychuk: But I'd rather prefer not to proxy it, is there any possibility? Of making express to listen on a port without making proxy? [18:11] tjholowaychuk: ale cluster(app).set('workers', 4).listen(80) etc [18:11] tjholowaychuk: http://learnboost.github.com/cluster [18:12] idefine has joined the channel [18:12] blueadept: ale: is there anything particularly bad about using a reverse proxy? [18:13] ale: tjholowaychuk: so then will I be able to delete the proxy? [18:13] jscheel has joined the channel [18:13] ale: blueadept: no, but I prefer not to, if it's possible [18:13] tjholowaychuk: ale yeah then you dont need it [18:13] ale: tjholowaychuk: but will expressjs and apache live together with cluster? [18:14] tjholowaychuk: can't apache act as the proxy to your node process/cluster? [18:14] ale: and socket.io [18:14] tjholowaychuk: i haven't used apache in 5 or 6 years [18:14] guidocalvano has joined the channel [18:14] ale: I think so, but don't know how to do it! [18:14] tjholowaychuk: google [18:14] zilch has joined the channel [18:16] patcito has joined the channel [18:16] jspiros has joined the channel [18:16] robertfw has joined the channel [18:17] zilch has joined the channel [18:17] Postcomputing: Hmm, I just rewrote one of our web services that was written in Python (used Tornado) into a node.js service and it is *so* much faster. [18:18] TheJH: Postcomputing, I think there is no DOMParser inside node [18:18] pizthewiz: native node.js extensions need a wscript file right? i'm looking at a typed array implementation for v8, but i'm thinking it has to be compiled into node itself, it can't be loaded at runtime https://github.com/deanm/v8_typed_array [18:18] Postcomputing: TheJH: Ah [18:18] technoweenie has joined the channel [18:18] heavysixer has joined the channel [18:18] amerine has joined the channel [18:18] Postcomputing: Request handling in node.js is 28ms. Before it was 330ms, and sometimes a couple seconds! [18:18] Postcomputing: WTF [18:19] davididas has joined the channel [18:19] ironlad has joined the channel [18:19] matyr has joined the channel [18:20] Postcomputing: Is the difference V8, or just that node.js is a better framework? [18:20] zeade has joined the channel [18:20] Postcomputing: s/better/lighter/ [18:20] blueadept: v8 is pretty nice [18:20] alek_br_ has joined the channel [18:21] blueadept: tj: how might i change this script if want to use an array of server variables loading through a database? https://github.com/LearnBoost/cluster/blob/master/examples/vhost.js [18:21] zilch has joined the channel [18:22] blueadept: right now i'm using forever and using command line arguments mixed with a proxy server. can the same thing be achieved with cluster? [18:22] meandi has joined the channel [18:22] Postcomputing: blueadept: 300ms to 30ms is a factor of ten though. Is v8's inline caching/machine code compiling what's making such a difference over the Tornado/CPython 2.6 implementation? [18:22] mape: isaacs: are there known issues with no.de and npm going on right now? keep getting npm ERR! error installing mime@1.2.2 Error: Failed gzip "--decompress" "--stdout" "/home/node/.npm/mime/1.2.2/package.tgz" [18:22] tjholowaychuk: blueadept not sure what you mean, just loop through the array? [18:22] tjholowaychuk: and invoke vhost()? [18:22] AvianFlu: Postcomputing: Im told python just sucks like that [18:22] AvianFlu: compared to node [18:23] tjholowaychuk: forever isnt meant for servers I dont think [18:23] davididas has joined the channel [18:23] AvianFlu: I talked to a guy once who worked for a VOIP company, python just couldn't get stuff moving fast enough to do voice calls, they had to ditch it for node [18:23] Postcomputing: AvianFlu: Because there's no Lars Bak at Python :p [18:24] zilch has joined the channel [18:24] AvianFlu: evidently not! [18:24] Postcomputing: Lars Bak seems pretty brilliant from the video I saw where he's explaining hidden classes. [18:24] wbw72 has joined the channel [18:25] ale: People, how can I hide server.js? [18:26] mape: mv server.js .server.js ? [18:26] mape: *poof* [18:26] zilch has joined the channel [18:26] ale: ? [18:26] Postcomputing: AvianFlu: What frameworks did they try? [18:27] blueadept: tj: for instance, http://pastie.org/private/cvtnni6t85fyp1x87oulnw [18:27] AvianFlu: the story I was told was that python itself has too much overhead attached to function calls for it to do stuff like voip [18:27] dannycoates has joined the channel [18:27] blueadept: how can i effect a method like the second example which doesn't work [18:27] mraleph has joined the channel [18:27] tjholowaychuk: blueadept: connect().use(fn) that's the progressive way to add the middleware [18:27] tjholowaychuk: so you can loop through [18:27] tjholowaychuk: and do .use(connect.vhost(whatever)) [18:28] blueadept: i see [18:28] jamonkko has joined the channel [18:28] bnoordhuis: AvianFlu: yes, python is hard to get performant from c / c++ land [18:29] zilch has joined the channel [18:29] Postcomputing: Whereas node.js isn't [18:30] sreeix has joined the channel [18:30] ryanallenbobcat has joined the channel [18:31] ale: tjholowaychuk: cluster is not doing anything for me, why can this be? I have this code: cluster(app).set('workers', 4).use(cluster.debug()).listen(3000); [18:31] tjholowaychuk: ale try some of the examples etc [18:31] tjholowaychuk: I cant debug remotely for you [18:32] zilch has joined the channel [18:34] bradleymeck has joined the channel [18:35] zilch has joined the channel [18:35] blueadept: tj: this is how i am currently starting up multiple instances with different configs on different ports: http://pastie.org/private/cvtnni6t85fyp1x87oulnw . would this be easier to do in cluster? [18:35] wdperson has joined the channel [18:35] jbpros has joined the channel [18:36] Generic_Dumbass has joined the channel [18:36] rhdoenges has joined the channel [18:36] tjholowaychuk: blueadept: well cluster isnt a reverse proxy, you dont need the separate ports at all [18:37] gazumps856 has joined the channel [18:37] nickbruun has joined the channel [18:37] arthurdebert has joined the channel [18:38] zilch has joined the channel [18:38] blueadept: right, i just could use vhost. but what about making sure the servers run the right schema? [18:39] blueadept: https://github.com/LearnBoost/cluster/blob/master/examples/vhost.js i see this example [18:39] mjr_: AvianFlu: that was probably me. We use node to route voice at Voxer. [18:39] Destos has joined the channel [18:39] blueadept: i guess i would loop through a bunch of createServers that would then load script.js and set the schema variable there [18:39] AvianFlu: makes sense :) [18:40] mjr_: The function call overhead in the python vm was way too high for live voice. Might have been able to mitigate that with pypy or whatever, but it seemed like it was going against the grain of python. [18:40] agnat has joined the channel [18:40] AvianFlu: wasnt there something about python function calls involving C exceptions? [18:41] zilch has joined the channel [18:41] AvianFlu: all these details are fuzzy [18:42] mjr_: AvianFlu: I'm not a python vm expert, but I believe part of why python function calls are so expensive is the way they use exceptions. [18:42] AvianFlu: yeah, I remember hearing something to that effect. [18:42] mjr_: ahh, beer [18:43] jesusabdullah: EVERYONE KNOWS that pypy is the future [18:44] Postcomputing: http://96.126.105.247:8887 -- How long does this URL take to load? [18:44] jesusabdullah: except that any not-so-pure-python packages are promblematic afaik [18:44] AvianFlu: 164ms from here [18:44] rhdoenges has joined the channel [18:44] AvianFlu: and we're buried in a busy coworking space's local network [18:45] Postcomputing: AvianFlu: That seems pretty bad for a simple node.js app :< [18:45] AvianFlu: I'd bet 90% of that is network [18:45] AvianFlu: maybe not 90, but most of it [18:45] Postcomputing: ACTION should test with a tool on the same machine [18:45] insin has joined the channel [18:45] Postcomputing: What does node.js typical achieve? [18:47] zilch has joined the channel [18:47] ossareh: Postcomputing: 257ms from SF, CA. [18:48] Postcomputing: ossareh: Hmm. Maybe Linode is having a slowdown. :/ [18:48] jesusabdullah: whoo linode [18:48] jesusabdullah: I have one [18:48] jesusabdullah: I need to run something interesting on it [18:49] jhurliman: Postcomputing, if you are using connect or express, you can use http://senchalabs.github.com/connect/middleware-responseTime.html to find out how much time was spent in your app vs. on the wire [18:50] Hamms has joined the channel [18:50] DoNaLd` has joined the channel [18:50] ale has joined the channel [18:51] bradleymeck: Postcomputing what do you mean by achieve? raw concurrent connections or time to write to kernel? [18:51] zilch has joined the channel [18:52] ale: I need help with cluster. I have this: http://pastebin.com/jywFKrKC but when I access / it does not show "id" why can this be? [18:54] topaxi has joined the channel [18:54] zilch has joined the channel [18:54] curtischambers has joined the channel [18:55] ale: Damn it! But if I enter to :8080 it shows the "id" how can I prevent the user from writing 8080? [18:56] adnam: run the server on port 80 [18:57] ale: adnam; but I have apache on there [18:57] postwait has joined the channel [18:57] gerard0 has joined the channel [18:58] monokrome: Does anyone know how I can stop jade from escaping inline scripts? IE, https://gist.github.com/1147437 [18:58] brez_ has joined the channel [18:58] ale: adnam: any idea? [18:58] tjholowaychuk: monokrome [18:58] tjholowaychuk: \ [18:58] tjholowaychuk: is the escape char for jade [18:58] zilch has joined the channel [18:58] random123 has joined the channel [18:58] tjholowaychuk: so you have to double-escape [18:58] adnam: ale: proxy apache to port 8080 [18:58] mokane has joined the channel [18:58] tjholowaychuk: monokrome just like you would with a shell script executing a node script etc [18:58] monokrome: No, it is escaping the brackets into HTML special codes [18:59] ale: adnam: what else? so when I access to :80 it'll show the "id"? [19:01] zilch has joined the channel [19:02] eyesUnclouded has joined the channel [19:02] matyr_ has joined the channel [19:03] basicer has left the channel [19:03] ale: adnam: any idea on that? [19:04] zilch has joined the channel [19:04] brianc1 has joined the channel [19:05] zpao has joined the channel [19:05] grekko has joined the channel [19:06] zilch has joined the channel [19:07] CIA-65: libuv: 03Igor Zinkovsky 07gqcsex * rdb0cc05 10/ (10 files in 2 dirs): use GetQueuedCompletionStatusEx if the OS supports it - http://bit.ly/nSVVhb [19:08] losing has joined the channel [19:08] smus has joined the channel [19:09] zilch has joined the channel [19:09] atiti has joined the channel [19:10] Wa has joined the channel [19:10] adam- has joined the channel [19:12] zilch has joined the channel [19:12] halfhalo-work_ has joined the channel [19:12] `3rdEden has joined the channel [19:12] mike5w3c has joined the channel [19:13] socketio\test\71 has joined the channel [19:14] halfhalo-work_ has joined the channel [19:15] tomtomaso has joined the channel [19:15] brez_ has joined the channel [19:15] zilch has joined the channel [19:16] grekko has joined the channel [19:18] creationix has joined the channel [19:18] Charuru has joined the channel [19:19] gazumps856 has joined the channel [19:20] zilch has joined the channel [19:20] fermion has joined the channel [19:20] ale: Is there any express.js expert? [19:20] bradleymeck: tj [19:21] arpunk: ale: probably in #express ? [19:21] aheckmann has joined the channel [19:21] farhadi has joined the channel [19:21] hlindset has joined the channel [19:22] hlindset has joined the channel [19:22] galaxywatcher has joined the channel [19:24] zilch has joined the channel [19:25] dherman has joined the channel [19:28] explodes has joined the channel [19:28] brokenjames has joined the channel [19:28] zilch has joined the channel [19:31] mykul has joined the channel [19:32] zilch has joined the channel [19:34] stagas has joined the channel [19:34] zilch has joined the channel [19:34] vaheh has joined the channel [19:35] stagas: 3 to 700 [19:38] joshatjben has joined the channel [19:39] zilch has joined the channel [19:39] materialdesigner has joined the channel [19:41] Fodi69 has joined the channel [19:41] Postcomputing: Can v8 handle an array with 750,000 members? [19:41] industrial: Try It And See(tm) [19:41] Postcomputing: I would be using it for simple key-value lookups, but it's close to a million members [19:41] AvianFlu: honestly, we'd all like to know, so I think you should try it [19:41] industrial: Postcomputing: wouldn't you rather use a key/value store for that/ [19:42] zilch has joined the channel [19:42] bradleymeck: use a key-value store instead, at around 1.4million objects the GC goes bonkers [19:42] AvianFlu: although be advised that v8 has a hard 1gb heap limit [19:42] industrial: Like MongoDB [19:42] beppu has joined the channel [19:42] Postcomputing: Hmm [19:42] industrial: Why does npm search take such a long time? It only has to search a local database :S [19:42] stagas: 700! [19:42] bradleymeck: even then, for key-value lookups hash out an identity function and use bucket hashmaps not array iteration [19:42] garrensmith has joined the channel [19:43] TheJH: industrial, it has to update it [19:43] Postcomputing: What about a key-value store that's a v8 module? [19:43] industrial: TheJH: every time? [19:43] justmoon has joined the channel [19:43] TheJH: industrial, if the local db is older than 5 minutes or so, it fetches all CHANGES (not a new copy) [19:43] monokrome: Anyone have ideas on how to prevent Jade from escaping this to HTML special characters? https://gist.github.com/1147593 [19:43] bradleymeck: postcomputing probably better than an array, but still going to have the heapsize issue as well as GC issue when taking that many objects into account [19:43] industrial: hmm, okay [19:44] Postcomputing: Okay, Postgresql or Mongodb it is [19:44] chapel: monokrome: add - in front of the line [19:44] chapel: I believe [19:44] monokrome: Nope, that would be for executing JS [19:45] chapel: no you're right [19:45] zilch has joined the channel [19:45] monokrome: I might just need to store the script in a var that way [19:45] monokrome: I was just trying to avoid doing that [19:45] Lagnus has joined the channel [19:46] garrensmith: hi all [19:46] unlink has joined the channel [19:46] unlink has joined the channel [19:47] kombucha has joined the channel [19:48] chapel: umm [19:48] chapel: you could use - var html = 'html' and then use thatin the js [19:49] kombucha: `npm search ...` doesn't find module after publishing it. why would that be? [19:49] zilch has joined the channel [19:49] zomgbie has joined the channel [19:50] TheJH: kombucha, do it again, it will work the second time [19:50] TheJH: kombucha, at least I think so [19:50] farhadi has left the channel [19:50] kombucha: TheJH: nope, doesn't find [19:50] TheJH: kombucha, what's its name? [19:51] FireFly|n900 has joined the channel [19:52] kombucha: TheJH: html-minifier [19:52] TheJH: !npm owner html-minifier [19:52] jhbot: owners: kangax [19:52] zilch has joined the channel [19:52] ag4ve has joined the channel [19:52] TheJH: kombucha, my bot knows it :) [19:53] kombucha: TheJH: weird, my npm search doesn't :) [19:53] TheJH: kombucha, my npm search does [19:53] TheJH: kombucha, try "rm ~/.npm/-/all/.cache.json", then search again [19:54] goshakkk has joined the channel [19:54] srid has joined the channel [19:54] srid has joined the channel [19:54] kombucha: TheJH: now works, thanks! [19:55] zilch has joined the channel [19:55] kombucha: TheJH: is there anything in npm that does this fetching more elegantly? [19:55] tobeytailor has joined the channel [19:55] socketio\test\16 has joined the channel [19:55] mikeal has joined the channel [19:55] hlindset has joined the channel [19:55] TheJH: kombucha, I think I don't understand your question [19:56] kombucha: TheJH: something like `npm fetch` to get latest repos? [19:56] socketio\test\05 has joined the channel [19:57] TheJH: kombucha, normally, it should just work either if the package was published more than 5 minutes ago or if you search two times [19:57] TheJH: kombucha, maybe your cached file was faulty or so [19:57] arlolra has joined the channel [19:57] kombucha: TheJH: gotcha, ok [19:57] TomY has joined the channel [20:00] edude03 has joined the channel [20:00] zilch has joined the channel [20:01] materialdesigner has joined the channel [20:03] zilch has joined the channel [20:03] matyr has joined the channel [20:05] mikeal has joined the channel [20:07] zilch has joined the channel [20:08] gazumps856 has joined the channel [20:08] ttpva_ has joined the channel [20:09] jamescarr has joined the channel [20:09] FireFly has joined the channel [20:09] adrianmg has joined the channel [20:09] jamescarr: so who is excited about node knockout? [20:10] zilch has joined the channel [20:10] soapyillusions_ has joined the channel [20:10] Postcomputing: Hmm, I can't find the docs for request.cookies =/ [20:10] dannycoates: knockout is gonna be HUGE [20:10] tjholowaychuk: Postcomputing node doesn't have that [20:10] jamescarr: a little too huge [20:10] jamescarr: Postcomputing, cookies and sessions are in the middleware [20:10] Postcomputing: tjholowaychuk: Hmm, must be confused. What's the Node equivalent? [20:11] jamescarr: like connect [20:11] tauren has joined the channel [20:11] tjholowaychuk: Postcomputing connect's cookieParser populates that [20:11] tjholowaychuk: otherwise you have to parse them yourself [20:11] jamescarr: tjholowaychuk, I might wind up using your migration module... [20:11] Postcomputing: Ah that's right, I should be looking at request.headers [20:11] Postcomputing: ACTION is building a SOAP service in node.js [20:11] neilk_ has joined the channel [20:11] jesusabdullah: SOAP, eh? [20:11] jesusabdullah: Sounds [20:12] jesusabdullah: dastardly [20:12] Postcomputing: why [20:12] jesusabdullah: They say that SOAP will steal your firstborn [20:12] zilch has joined the channel [20:12] jesusabdullah: and replace it with a troll-tending pseudo-copy [20:12] industrial: jesusabdullah: The Broken Sword. [20:13] Postcomputing: Amazon uses SOAP [20:13] industrial: ( http://en.wikipedia.org/wiki/The_Broken_Sword ) [20:14] zilch has joined the channel [20:14] jamescarr: anyone here using rabbitMQ at a large scale? [20:15] jamescarr: just asking since I know quite a few noders use rabbitMQ [20:15] Dave-Stein has joined the channel [20:15] Dave-Stein: anyone around for an odd question? [20:16] Dave-Stein: what element are events dispatched to in node? [20:16] TheJH: WOW, github now has file editing with syntax highlighting and stuff :) [20:16] jamescarr: huh? [20:16] jamescarr: Dave-Stein, can you elaborate? [20:16] guidocalvano has joined the channel [20:16] TheJH: the editor on github even has auto-indent :) [20:17] rudolfrck: I've just manually removed all traces of both node.js and npm on my macbook to start from scratch. Using early versions of both node and npm has created a mess. [20:17] tomtomaso has joined the channel [20:17] rudolfrck: I'm about to install them again, and I'm looking for the best way to install node and npm on OS X. [20:17] TheJH: automatic brace insertion, too! [20:17] TheJH: woah, that file editor is cool :) [20:17] industrial: rudolfrck: take a look at the nodejs install wiki [20:17] Dave-Stein: yeah sorry james, coworker was asking me something [20:17] industrial: wiki install page* [20:18] TheJH: and a dif preview... this is awesome [20:18] TheJH: *diff [20:18] Dave-Stein: my coworker is saying we shold dispatch events without triggering on the document [20:18] Dave-Stein: *should [20:18] Dave-Stein: in normal JS in a browser [20:18] Dave-Stein: and his answer to me is "node runs on events all the time" [20:18] rudolfrck: industrial: I'm looking there, but following that will install node.js in $HOME/local/node while npm will install itself in /usr/local/bin by default. Is that really the best way? [20:19] Dave-Stein: so i know node runs on V8 [20:19] Dave-Stein: but is there like a virtual DOM or anything of that nature? [20:19] AvianFlu: Dave-Stein: npm install jsdom [20:19] Dave-Stein: so there is in fact a dom someone can manipulate in node? [20:20] bnoordhuis: Dave-Stein: someone wrote a dom module [20:20] AvianFlu: I'm gonna guess and say the github is http://github.com/tmpvar/jsdom [20:20] TheJH: Dave-Stein, not "there is". you can create one. [20:20] bnoordhuis: but in general node has nothing to do with the dom [20:20] Dave-Stein: gotcha [20:20] Dave-Stein: yeah that's what was throwing me off [20:20] industrial: rudolfrck: well you dont HAVE to specify a prefix. [20:20] industrial: just be sure to check out a stable tag (like 0.4.10) [20:20] Dave-Stein: cause i know in regular JS events map to elements in the DOM but you don't need a DOM in node, although everything is running on events [20:21] industrial: and it will install in /usr/local [20:21] Dave-Stein: so the dom module simulates one? [20:21] bnoordhuis: Dave-Stein: yes [20:21] TheJH: Dave-Stein, correct. and node.js events don't need a DOM. [20:21] bnoordhuis: but events in node are generally incoming traffic, disk i/o, etc. [20:22] Dave-Stein: so if you want to programatically trigger an event you're not using document.createEventObject(); [20:22] newy has joined the channel [20:22] industrial: rudolfrck: just be sure to sudo make install, because you'll need those rights to place it in /usr/local [20:23] shapeshed has joined the channel [20:23] socketio\test\04 has joined the channel [20:24] CIA-65: libuv: 03Igor Zinkovsky 07master * rfc26321 10/ (10 files in 2 dirs): use GetQueuedCompletionStatusEx if the OS supports it - http://bit.ly/qIRDjz [20:24] socketio\test\88 has joined the channel [20:24] TheJH: Dave-Stein, correct. you just do someEmitter.emit(eventName, eventData) [20:24] trotter has joined the channel [20:25] TheJH: Dave-Stein, node.js events are just plain JS stuff, no magic involved. https://github.com/joyent/node/blob/master/lib/events.js [20:25] industrial: rudolfrck: helpful? [20:26] Renegade001 has joined the channel [20:26] euforic has joined the channel [20:26] Dave-Stein: thanks JH reading it now [20:26] Dave-Stein: was about to ask if you did any custom work on engine for emit :) [20:26] tristanseifert has joined the channel [20:27] jetienne has joined the channel [20:27] rudolfrck: industrial: I'll try again now and see how it'll end up. thanks. [20:29] fangel has joined the channel [20:30] newy has joined the channel [20:31] tristanseifert has joined the channel [20:32] Stythys has joined the channel [20:32] physpeters has joined the channel [20:32] caolanm has joined the channel [20:33] socketio\test\02 has joined the channel [20:33] ccare has left the channel [20:34] enhydra: I need help from someone familiar with canvas: context’s drawImage() method throws 'Image or Canvas expected', even though first argument is a valid image [20:34] ryanallenbobcat has joined the channel [20:35] tjholowaychuk: enhydra is it an Image object? [20:35] enhydra: sure! [20:35] zilch has joined the channel [20:35] enhydra: console.log(img) gives [Image:16x16 complete] [20:36] tjholowaychuk: ohh node-canvas [20:36] tjholowaychuk: hmm [20:38] hlindset has joined the channel [20:38] hlindset has joined the channel [20:39] zilch has joined the channel [20:40] ptlo: wow, node-canvas sounds exactly like something what i need! (haven't heard about it before) [20:40] Sorella has joined the channel [20:40] spcshpopr8r has joined the channel [20:41] _sorensen_: anyone having trouble making changes through github? [20:41] CIA-65: node: 03Ryan Dahl 07master * r25a5e90 10/ (Makefile-gyp common.gypi deps/v8/tools/gyp/v8-node.gyp): [20:41] CIA-65: node: Fix GYP build on OSX [20:41] CIA-65: node: Broken due to DOS line endings. [20:41] CIA-65: node: ./configure-gyp [20:41] CIA-65: node: make -f Makefile-gyp - http://bit.ly/oI9B13 [20:41] _sorensen_: just got aced ftl [20:42] socketio\test\00 has joined the channel [20:43] zilch has joined the channel [20:43] iammerrick has joined the channel [20:43] davidcoallier has joined the channel [20:44] ksheurs has left the channel [20:45] zilch has joined the channel [20:46] confoocious has joined the channel [20:46] confoocious has joined the channel [20:48] enhydra: tjholowaychuk, so do you have any idea what else can I investigate? [20:49] fubd has joined the channel [20:49] fubd has left the channel [20:49] fubd has joined the channel [20:49] soapyillusions has joined the channel [20:50] fubd: coffee script exceptions: line numbers referring to the generated code…is there a fix for this in somebody's github repo? [20:50] CIA-65: node: 03Ryan Dahl 07master * r66f7796 10/ (21 files in 6 dirs): Upgrade GYP to r995 - http://bit.ly/nFCQsi [20:50] fubd: it's a f-ing bummer [20:50] jakehow_ has joined the channel [20:50] jakehow has joined the channel [20:51] guillermo has joined the channel [20:51] zeade has joined the channel [20:52] TheJH: fubd, I don't think so... [20:52] hlindset has joined the channel [20:52] TheJH: fubd, want to do it? :D [20:52] fubd: i'm tempted to try. [20:52] kavla has joined the channel [20:53] fubd: especially given that i've seen blog noise about source mapping recently [20:53] TheJH: fubd, be warned, it will require big changes in nodes.coffee [20:53] TheJH: (I'm somewhat familiar with the CS compiler) [20:54] wangbus-work has joined the channel [20:54] joshatjben_ has joined the channel [20:55] sveimac has joined the channel [20:55] robertfw has joined the channel [20:56] geetarista has joined the channel [20:56] sveisvei has joined the channel [20:57] MUILTFN has joined the channel [20:59] mehlah has joined the channel [21:00] loob2 has joined the channel [21:01] bengrue has joined the channel [21:01] Dave-Stein has left the channel [21:04] arthurdebert has joined the channel [21:04] tylergillies_ has left the channel [21:04] EyePulp: argh… I have a valid url, but seem unable to properly use http.get to retrieve the file. I'm just essentially trying to download a binary file via node and store it locally. [21:05] zilch has joined the channel [21:05] TheJH: EyePulp, what does the URL look like? And what's the code? [21:05] kimico has joined the channel [21:06] TheJH: ryah, in case you're here, what do you think about putting "If you have questions about your code, gist it" or so in the topic? [21:07] newy has joined the channel [21:07] socketio\test\53 has joined the channel [21:07] zilch has joined the channel [21:07] neilk_ has joined the channel [21:08] tristanseifert has joined the channel [21:09] BrianTheCoder has joined the channel [21:10] zilch has joined the channel [21:11] socketio\test\10 has joined the channel [21:12] eyesUnclouded has joined the channel [21:14] EyePulp: TheJH: thanks for the response - I might have figured it out. I'll bug you if not =P [21:14] zilch has joined the channel [21:16] socketio\test\30 has joined the channel [21:16] tjholowaychuk has joined the channel [21:17] zilch has joined the channel [21:20] zilch has joined the channel [21:21] brez_ has joined the channel [21:23] thinkt4nk has joined the channel [21:23] ale: Hello, how do I send data from the client to the server? [21:23] wangbus-work: socket.io [21:24] wangbus-work: speaking of socket io. has anyone played with hook? [21:24] ale: yes, hoe? [21:24] ale: how* [21:24] wangbus-work: http://socket.io/ [21:24] wangbus-work: some examples on their site :) [21:24] metaverse has joined the channel [21:25] zilch has joined the channel [21:26] kulor-uk has joined the channel [21:27] yozgrahame has joined the channel [21:28] zilch has joined the channel [21:28] jetienne_ has joined the channel [21:29] mehlah has joined the channel [21:29] incon has joined the channel [21:30] zeade has joined the channel [21:31] zilch has joined the channel [21:32] reid has joined the channel [21:34] atmos has joined the channel [21:34] rudolfrck: After reinstalling both node.js and npm, npm freezes when I try to install anything. [21:34] rudolfrck: Anyone have any clue? [21:34] zilch has joined the channel [21:36] anti has joined the channel [21:36] tcurdt has joined the channel [21:36] CrisO has joined the channel [21:36] kriszyp has joined the channel [21:37] mikeal has joined the channel [21:38] mikl has joined the channel [21:38] mikl has joined the channel [21:38] stephank: rudolfrck: Try with --verbose? Sounds like perhaps it's timing out on something. [21:39] zilch has joined the channel [21:41] zilch has joined the channel [21:41] softdrink: anyone using brunch? [21:41] AvianFlu: only to feed myself on sundays! [21:41] AvianFlu: XD [21:41] colinclark has joined the channel [21:42] stephank: rudolfrck: fwiw, npm isn't a speed demon here either. Even when just running npm update one an already up-to-date system, it takes a good half minute requesting lots of registry stuff apparently. [21:42] parshap has joined the channel [21:42] AvianFlu: I used to have npm problems, it wound up being my local DNS [21:42] AvianFlu: now it's way speedier [21:43] rudolfrck: AvianFlu: what did you do to fix it? I have to change some stuff in /etc/resolv.conf earlier today to make it work. [21:43] Nuck has joined the channel [21:43] rudolfrck: It seems to stop at downloading packages.. [21:43] antono has joined the channel [21:43] AvianFlu: rudolfrck: my /etc/resolv.conf had 'nameserver \n nameserver 4.2.2.2 [21:44] AvianFlu: so I commented out the 192.168 crap dns server [21:44] amerine has joined the channel [21:44] AvianFlu: you can also try `npm config set loglevel info`, it won't speed it up, but the extra output certainly keeps me saner [21:44] AvianFlu: that way you know if it's hanging or if it's just working [21:44] TheJH: !@rudolfrck mem npm-hang [21:44] jhbot: rudolfrck, If npm hangs, that's probably because of https. Try re-running it with `--registry http://registry.npmjs.org/` [21:45] AvianFlu: that too [21:45] newy has joined the channel [21:45] saschagehlich has joined the channel [21:45] tobeytailor has joined the channel [21:45] TheJH: it's a bug in the new https, it tries to do http without TLS over port 443 [21:45] gazumps856 has joined the channel [21:45] TheJH: plain http [21:45] AvianFlu: that's a little bit lulz [21:46] TheJH: AvianFlu, https://github.com/joyent/node/issues/1531 [21:47] AvianFlu: sweet, there's a patch pending already [21:48] rudolfrck: jhbot: thanks! That helped! [21:48] rudolfrck: now I got an error saying something about "glob" though.. [21:48] AvianFlu: you should gist it [21:48] figital has joined the channel [21:49] CIA-65: libuv: 03Igor Zinkovsky 07master * r7cafd8b 10/ vcbuild.bat : update vcbuild.bat with correct sln file - http://bit.ly/o68TBZ [21:50] mscdex: heh, mozilla is planning on removing mentions of version numbers from firefox [21:51] chilts: that'll make it more interesting when someone reports a bug [21:51] chilts: which version?umm, I, er, dunno! [21:51] Bonuspunkt: just like chrome [21:51] chilts: Chrome has a version number, no? [21:52] rudolfrck: AvianFlu: https://gist.github.com/1147960 [21:52] chilts: 15.0.837.0 [21:52] Bonuspunkt: only if u find the about button [21:52] mscdex: chrome and chromium both have version numbers [21:52] mscdex: mozilla wants to wipe them off the about window too [21:53] mscdex: and the only indicator that matters to them is that you have the "latest" version [21:53] mscdex: :S [21:53] mck has joined the channel [21:53] AvianFlu: rudolfrck: that means glob uses a C++ addon that isn't compiling for you [21:54] AvianFlu: I can't really help besides saying "go ask whoever made glob" [21:54] AvianFlu: mscdex: LOL! [21:55] skampler has joined the channel [21:55] bnoordhuis: rudolfrck: are you trying to compile glob against node master? [21:55] bnoordhuis: probably won't work, bits of eio have changed that glob depends on [21:55] mscdex: https://bugzilla.mozilla.org/show_bug.cgi?id=678775 [21:56] cjm has joined the channel [21:56] Bonuspunkt: mscdex isnt that just trolling? [21:56] mscdex: ? [21:56] rudolfrck: bnoordhuis: I was trying to compile against 0.5.4 [21:57] bnoordhuis: rudebwoy: try 0.4.10 [21:57] bnoordhuis: eh rudolfrck [21:58] skampler has left the channel [21:59] TheJH: Bonuspunkt, seems like Asa Dotzler, author of the bug report, is community coordinator for Firefox marketing projects [21:59] TheJH: AAAAARGH! [21:59] TheJH: seems like it's not a troll attempt... [22:00] Sorella has joined the channel [22:00] TheJH: BWAHAHA, that firefox ticket is just awesome. complaint: "YOU developers may want users on the latest release for security or support but users have additional concerns, such as add-on compatibility or interactions with other software.", answer: "Jojo, you have added nothing new or of value to this bug. If you cannot be constructive in Bugzilla, you will lose your privileges of participating here." [22:01] zilch has joined the channel [22:02] eyesUnclouded has joined the channel [22:04] Bonuspunkt: marketing is always trolling [22:05] zilch has joined the channel [22:05] nadirvardar has joined the channel [22:06] 14WABYT6U has joined the channel [22:07] zilch has joined the channel [22:08] davidbanham has joined the channel [22:09] anti has joined the channel [22:10] devongovett has joined the channel [22:11] 14WABYT6U has left the channel [22:12] addisonj has joined the channel [22:12] jesswa has joined the channel [22:12] zilch has joined the channel [22:14] jesswa has joined the channel [22:14] jesswa: hey all, this might be a total n00b question - but how can I format a data object (coming from MongoDB via Mongoose) in a jade template (using express)? [22:14] jesswa: *data = date [22:14] blakmatrix has joined the channel [22:15] mehlah has joined the channel [22:15] Aphelion has joined the channel [22:15] zilch has joined the channel [22:17] hellp has joined the channel [22:17] tjholowaychuk: jesswa http://expressjs.com/guide.html#app.helpers() [22:18] tjholowaychuk: you can define global view helpers with that [22:18] eventualbuddha has joined the channel [22:18] tjholowaychuk: ps there's #express if you have other jade/connect/express etc questions [22:18] kenperkins: hmm [22:19] kenperkins: stop supporting IE, that is the million dollar question [22:19] jesswa: tjholowaychuk thanks (didn't know about the other room either :p) [22:19] zilch has joined the channel [22:20] alvaro_o has joined the channel [22:20] robertfw has joined the channel [22:20] srid has joined the channel [22:20] srid has joined the channel [22:21] spetrea: anyone here familiar with a tea called Gyokuro Asahi ? [22:21] spetrea: seems to be a japanese tea [22:21] Postcomputing: How stable is node.js in terms of uptime? [22:22] kenperkins: depends on your code [22:22] spetrea: Postcomputing: depends on your code [22:22] kenperkins: too slow [22:22] kenperkins: ;) [22:22] spetrea: kenperkins: :P [22:22] spetrea: Postcomputing: if your code breaks, the uptime is small [22:22] spetrea: Postcomputing: the question you asked is not the one you wanted to ask [22:22] FleetFox has joined the channel [22:23] zilch has joined the channel [22:23] jerrysv: postcomputing: 9 9's, but the code you're running is "while (true) { }" [22:24] aconbere has joined the channel [22:25] industrial: If I place the DOC JSON log on line 73 above the DBREC FOUND log on line 80 it's undefined, why? https://gist.github.com/d1b62f35809fc22ee75b [22:25] zilch has joined the channel [22:26] c4milo1 has joined the channel [22:27] bradleymeck has joined the channel [22:27] teadict: should I nvm install v0.4.10 or v0.5.4 ? [22:28] npmuser has joined the channel [22:28] teadict: let's go unstable, who cares [22:29] npmuser: Hi all, I get the below error while trying to install npm [22:29] npmuser: 11 [main] node 4956 fixup_mmaps_after_fork: ReadProcessMemory failed for MA P_PRIVATE address 0x7FAF0000, Win32 error 299 419 [main] node 4956 C:\cygwin\usr\local\bin\node.exe: *** fatal error - rec reate_mmaps_after_fork_failed [22:29] spetrea: teadict: I suggest 0.4.10 [22:29] npmuser: Can anyone help? [22:29] teadict: 0.5.4 failed anyway :P [22:29] spetrea: npmuser: what version ? report as bug here https://github.com/isaacs/npm/issues/new [22:30] isaacs: rudolfrck: please run the command with --loglevel verbose and gist the full output [22:30] teadict: "gzip: stdin: not in gzip format" lawl [22:30] industrial: Anyone? [22:30] spetrea: teadict: what did you try exactly ? [22:30] spetrea: teadict: for .tar.gz do tar xzvf file.tar.gz [22:30] isaacs: rudolfrck: oh, haha, seems like AvianFlu already took care of you. wasn't scrolled up to date :) [22:30] AvianFlu: ACTION wins [22:30] teadict: spetrea: I just nvm install v0.5.4... [22:30] hlindset_ has joined the channel [22:31] zilch has joined the channel [22:31] npmuser: spetrea, node v0.5.5-pre [22:31] isaacs: npmuser: npm doesn't work with windows native node.exe yet. [22:31] spetrea: teadict: nvm ? [22:31] teadict: spetrea: nevermind, nvm is compiliing 0.4.10 [22:31] cyberprophet has joined the channel [22:31] spetrea: what is nvm ? [22:31] teadict: spetrea: following this: http://www.freshblurbs.com/install-node-js-and-express-js-nginx-debian-lenny [22:31] spetrea: I know of nave and npm but nvm ?!? [22:31] teadict: node virtual manager? dunno [22:31] spetrea: *nvm* = ?!?1 [22:31] npmuser: isaacs, i use node on cygwin [22:32] industrial: isaacs: eh any idea on my simple scope problem? [22:32] npmuser: doesnt that work either? [22:32] teadict: https://github.com/creationix/nvm [22:32] spetrea: teadict: use nave [22:32] teadict: spetrea: what that? [22:32] spetrea: teadict: and use 0.4.10 as your main node version [22:32] spetrea: teadict: to avoid problems [22:32] industrial: If I place the DOC JSON log on line 73 above the DBREC FOUND log on line 80 it's undefined, why? https://gist.github.com/d1b62f35809fc22ee75b [22:33] spetrea: teadict: nave will let you install multiple versions of node on your system [22:33] spetrea: teadict: which seems to be what you want [22:33] teadict: spetrea: I don't want that... [22:33] teadict: I just want to start with node [22:33] zilch has joined the channel [22:33] teadict: what's the standard procedure? I see a lot of alternatives [22:34] npmuser: @isaacs, will npm not work on cygwin also? [22:34] teadict: I know there's no standard since everyone will try to get their way of compiling it.. [22:34] TruPpp has joined the channel [22:34] isaacs: npmuser: it sometimes does, butit's flaky [22:34] isaacs: npmuser: best bet is a linux vm, if you can't avoid running on windows. [22:34] teadict: isaacs: oh you're the dude in the git avatar [22:34] isaacs: npmuser: and not in a shared home directory [22:34] spetrea: teadict: cd ~/; wget http://nodejs.org/dist/node-v0.4.10.tar.gz ; tar xzvf node-v0.4.10.tar.gz ; cd node-v0.4.10; ./configure ; make ; sudo make install [22:34] isaacs: in the git avatar? [22:35] teadict: https://github.com/isaacs/nave [22:35] isaacs: teadict: yes, i'm isaacs :) [22:35] npmuser: thanks isaacs, i will try using a linux VM [22:35] teadict: spetrea: this nvm script seems to do all that.. [22:35] spetrea: teadict: I would use 0.4.10 but you can use what you like [22:35] spetrea: teadict: forget the nvm [22:35] teadict: it's just a automated script [22:36] teadict: node seems to be installed correctly [22:36] spetrea: isaacs: you familiar with this nvm thing ? [22:36] teadict: with taht nvm thing [22:36] teadict: isaacs: https://github.com/isaacs/nave [22:36] isaacs: spetrea: that's creationix's thing [22:36] isaacs: spetrea: i use nave [22:36] teadict: is creationix a bad guy? [22:36] isaacs: spetrea: cuz i can whip the developer when i need new features :) [22:37] isaacs: nono, creationix is a very very nice guy. [22:37] teadict: are you the good guy? [22:37] isaacs: if anything, i'm the evil one. [22:37] spetrea: teadict: no, I just haven't used his stuff so I don't know ... [22:37] teadict: are you saying there's a WAR going on? [22:37] nerdfiles has joined the channel [22:37] teadict: OMG [22:37] skampler has joined the channel [22:37] creationix: lol [22:37] spetrea: lol [22:37] nerdfiles has left the channel [22:37] teadict: jk [22:37] spetrea: creationix: please offer some support to teadict , he seems a bit confuzzled [22:37] teadict: no no [22:37] teadict: I know it's just a script that does it all [22:37] teadict: it just did.. node 0.4.10 is installed [22:37] creationix: (insert standard OOS disclaimer here...) [22:37] isaacs: creationix is a fine upstanding citizen with cute kids and a respectable job. he probably volunteers at soup kitchens and never curses. [22:37] creationix: *OSS [22:38] teadict: I ask what's wrong with that? if I was going to do it by hand :P [22:38] thinkt4nk has joined the channel [22:38] creationix: isaacs: haven't done a soup kitchen in a while, the rest of spot on [22:38] isaacs: creationix: i haven't done it in ever [22:38] binaryjohn has joined the channel [22:38] jesusabdullah: haha :D [22:38] teadict: creationix: did you create nvm and maintain or you were just playing around and you don't recommend using it? [22:39] creationix: teadict: it's supported'ish [22:39] creationix: teadict: and I use it every day as do many other people [22:39] teadict: that's enough for me then [22:39] teadict: node is installed.. moving on [22:39] creationix: I'm just not motivated to fix bugs that don't affect me or my use case [22:39] creationix: especially if they complicate the code [22:40] teadict: after I change rig two days from now, I'll get my normal VMs environment going again and I'll do it like a pro [22:40] spetrea: creationix: sorry about nvm, I didn't know anything about it [22:40] numan__ has joined the channel [22:41] teadict: now I just need to try if setting up node+socket.io+connect+express will bring me issues for this app I'll be developing for the next 6 months [22:41] teadict: (which means I'll be here a lot) [22:41] [[zz]] has joined the channel [22:41] teadict: I'll probably clean out these installations after I confirm those libs work for me [22:41] spetrea: teadict: I'm hacking on something with the same modules you're using + mongodb , mongoose [22:41] spetrea: teadict: and node-formidable [22:42] qbert has joined the channel [22:42] teadict: spetrea: whaty ou upto? [22:42] teadict: wow, ssh lag spacebar fail [22:44] qbert: SubStack, building from source, I'm getting the error , dnode.js: 1, Cant find module dnode-protocol ? I'm updating to the latest version to test IE [22:44] tim_smart has joined the channel [22:44] markwubben has joined the channel [22:45] dob_ has joined the channel [22:46] jesusabdullah: qbert: dnode requires dnode-protocol as a dependency. Did you npm install it? [22:47] jesusabdullah: qbert: ie, cd dnode; npm install . [22:47] blakmatrix: npm i -d [22:47] CIA-65: node: 03Ryan Dahl 07master * r721f265 10/ tools/gyp/pylib/gyp/generator/make.py : [22:47] CIA-65: node: Upgrade GYP to r999 [22:47] CIA-65: node: To fix osx/make build http://codereview.chromium.org/7618052 - http://bit.ly/mSMjz8 [22:47] jesusabdullah: What's -d? [22:48] jesusabdullah: also, sup blakmatrix [22:48] blakmatrix: nm [22:48] mape: isaacs: are there known issues with no.de and npm going on right now? keep getting npm ERR! error installing mime@1.2.2 Error: Failed gzip "--decompress" "--stdout" "/home/node/.npm/mime/1.2.2/package.tgz" [22:48] jesusabdullah: blakmatrix: You moved outta AK yet? [22:49] blakmatrix: just workign on my own authentication with bcrypt since mongoose-auth is to bloated [22:49] cjm has joined the channel [22:49] blakmatrix: yeah I'v been living in kirkland,WA for a few months now... [22:49] jesusabdullah: YOU're too bloated! [22:49] jesusabdullah: Word [22:49] jesusabdullah: Probably about as long as it took me to get down here :P [22:49] jesusabdullah: How's work in Kirkland? [22:50] jesusabdullah: wark wark [22:50] blakmatrix: nothing yet :P [22:50] jesusabdullah: WHAT [22:50] blakmatrix: so just learning node while unemployed [22:50] jesusabdullah: How about the wife? [22:50] ttpva has joined the channel [22:50] blakmatrix: she hasn't found anything either :S [22:50] qbert_ has joined the channel [22:50] mikeal: i lived in kirkland for a few months [22:51] mikeal: back in 2001 [22:51] atmos: anyone using nvm with the latest npm ? [22:52] srid has joined the channel [22:52] srid has joined the channel [22:52] isaacs: mape: not sure [22:52] ttpva has left the channel [22:53] qbert_: jesusabdullah, yes, it says it installed it dnode/node_modules [22:53] zilch has joined the channel [22:53] jesusabdullah: Try requiring it from that folder [22:53] jesusabdullah: it *should* "just work" [22:53] atmos: isaacs: is there a way to install npm with the install.sh script as a non-root user? [22:53] digitaltoad has joined the channel [22:53] asdf__ has joined the channel [22:54] isaacs: atmos: sure, just put node in a non-root-owned place, or add `prefix = ~/local` or something to your ~/.npmrc file first [22:54] jesusabdullah: blakmatrix: Close enough to Seattle for yobs? [22:54] teadict: hey, the channel is pretty active, I like that [22:54] isaacs: atmos: or, you can run it as root by piping to |sudo sh instead of to |sh [22:54] teadict: not like other technologies's channels [22:54] isaacs: teadict: yeah, #node.js is where it's at :) [22:54] arlolra has left the channel [22:55] eyesUnclouded has joined the channel [22:55] kaarlo has joined the channel [22:55] nail_ has joined the channel [22:55] zorzar has joined the channel [22:55] blakmatrix: yeah kirkland is like 15-25 minutes from seattle [22:55] chunhao has joined the channel [22:55] teadict: isaacs: well, yes.. node being node helps [22:55] postwait has joined the channel [22:55] zilch has joined the channel [22:58] _sorensen_: Kraddy - "Android Porn" [22:58] _sorensen_: makes for some epic programming music [22:58] blup has joined the channel [22:59] [[zz]] has joined the channel [22:59] jsj has joined the channel [22:59] teadict: creationix: mmm, I added the line to my .bashrc but nvm is no longer a valid command.. any idea? [23:00] teadict: even run the .sh again myself [23:00] reid has joined the channel [23:00] Joelio has joined the channel [23:01] zilch has joined the channel [23:01] wavephorm_ has joined the channel [23:01] aoberoi has joined the channel [23:01] teadict: mmm, I'll compile it [23:02] tristanseifert_ has joined the channel [23:03] wavephorm_: Is express still the best web framework for node? [23:03] daleharvey has joined the channel [23:03] matyr_ has joined the channel [23:03] jerrysv: i prefer bricks.js [23:03] tjholowaychuk: wavephorm_ no such thing as "best" :p [23:04] tjholowaychuk: but it's very active [23:04] tjholowaychuk: if that's what you mean [23:04] `3rdEden: it's certainly the most badass web framework for node ;) [23:04] teadict: alternative: geddy [23:04] teadict: or or giddy? [23:05] tjbot has joined the channel [23:05] wavephorm_: there's a lot more frameworks than when i last checked, dont have time to try them all [23:06] zilch has joined the channel [23:06] qbert_ has joined the channel [23:07] teadict: neat [23:07] qbert_: anyone using dnode with IE ? [23:07] teadict: lol cygwin [23:08] davidbanham has joined the channel [23:08] _sorensen_: qbert_: not sure its compatible... yet [23:08] tjholowaychuk: oOoO arlo's bench thing is cool [23:08] heavysixer has joined the channel [23:09] tjholowaychuk: even has the node colors haha [23:09] zilch has joined the channel [23:09] _sorensen_: qbert_: someone is working on it.. i think, might ask in #stackvm [23:09] qbert_: url ? [23:13] Sorella has joined the channel [23:13] zilch has joined the channel [23:14] tcurdt has joined the channel [23:15] ezmobius has joined the channel [23:18] aoberoi has joined the channel [23:18] zilch has joined the channel [23:19] teadict: how come you can't watch gists? [23:20] teadict: or is [star] the same as watching? [23:21] mehtryx has joined the channel [23:22] Nexxy: mscdex, you has a IMAP server yet? ;3 [23:22] Renegade001 has joined the channel [23:23] zilch has joined the channel [23:23] tjbot has joined the channel [23:25] teadict: isaacs: why nave when there's npm? [23:25] spcshpopr8r: please pardon me, is there an interactive shell for express apps...ala rails console? [23:25] teadict: wait, they're not the same thing... [23:25] tjholowaychuk: spcshpopr8r nope [23:26] tjholowaychuk: Express isnt bound to one db or anything so there's not really anything useful that it could do [23:26] zilch has joined the channel [23:27] CIA-65: node: 03Mikeal Rogers 07master * r584ae7b 10/ (4 files in 2 dirs): Remove http.cat. fixes #1447 - http://bit.ly/qCDhVg [23:27] mikeal: w00t [23:27] spcshpopr8r: hmm...I suppose (I'll admit I hadn't really thought it through) [23:27] teadict: how do you people organizer your files and code? [23:27] teadict: I don't want to start dumping stuff on a home or something crappy [23:28] Nexxy: organize as in structure of apps? [23:28] teadict: eys [23:28] teadict: *yes [23:28] teadict: as analogy to say, /var/www for example [23:29] mcluskydodallas has joined the channel [23:29] teadict: and whatever hungs from it [23:29] teadict: I've got /srv/www/ on my linode... is it okey if I continue to use that? [23:29] teadict: or si there a better distribution? [23:29] Nexxy: typically the file to be started is app.js or server.js [23:29] Nexxy: your modules appear in ./node_modules/ [23:30] Nexxy: put your app code in ./app/ [23:30] Fodi69 has left the channel [23:30] Postcomputing: Lars Bak loves Madonna. [23:30] Nexxy: really I don't think there is a definite standard (yet) [23:30] chjj: ! [23:30] zilch has joined the channel [23:30] chjj: does he? [23:30] Nexxy: but you can look @ how other people structure theirs to get an idea [23:30] chjj: thats probably where he gets his superpowers [23:30] chjj: to code v8 [23:30] kriszyp has joined the channel [23:30] Nexxy: which Madonna? [23:31] Nexxy: like... lucky star madonna? [23:31] jesswa has joined the channel [23:31] Nexxy: or ... ray of light madonna [23:31] Postcomputing: Nexxy: This one: http://www.madonnashots.com/mo7915.jpg [23:31] Postcomputing: I loves all of them [23:31] Nexxy: ohh ;3 [23:31] teadict: Nexxy: good enough for me, thanks [23:32] Postcomputing: Ray of Light Madonna is beautiful because she's a mom. :) [23:32] pkrumins: how do i insert an '' in the middle of text in jade? [23:32] tjbot: pkrumins feel free to ask jade/connect/ejs etc questions in #express [23:33] Nexxy: my g/f agrees with you, Postcomputing [23:33] chjj: nexxy: your grandfather has a mother fixation? [23:33] harthur has joined the channel [23:33] Nexxy: girlfriend [23:33] teadict: Nexxy: so now I have ~/local/node/bin,include,lib,share... I add app there, start working from app/app.js, then if I keep that structure in production, it's all good? [23:33] Nexxy: http://lmgtfy.com/?q=chjj+is+the+devil [23:33] thepatr1ck has joined the channel [23:33] chjj: hmm, i like my answer bettwe [23:34] zilch has joined the channel [23:34] chjj: better [23:34] Postcomputing: Nexxy: :) [23:34] Postcomputing: ACTION sleeps with Ray of Light Madonna every night (large poster) [23:34] teadict: ^.- [23:35] creationix has left the channel [23:35] Nexxy: teadict, I put app.js in the base directory [23:35] teadict: Nexxy: and every other script under app/ ? [23:35] Nexxy: ya [23:35] teadict: great [23:35] chjj: hey, i wrote a poem about coffeescript [23:35] teadict: I'll use that then [23:35] chjj: https://gist.github.com/1148119 [23:35] chjj: tell me what you guys think [23:35] Nexxy: then you can require('./app/module') [23:36] cce has joined the channel [23:36] Nexxy: chjj++ [23:36] catb0t: chjj now has 1 beer [23:36] v8bot_: Nexxy has given a beer to chjj. chjj now has 3 beers. [23:36] mjr_: chjj: so coffeescript is… bad? [23:36] teadict: lawl, I knew CoffeScript was a stupid thing to embrace but I'm glad to know the community hates it so much [23:36] chjj: its what i said it is! [23:36] teadict: Nexxy: yeah [23:36] sonnym has joined the channel [23:36] AvianFlu: "You had a problem writing JavaScript, so you introduced a compile step. Now you have two problems." [23:37] ale: Hello, how can I manage sessions between rooms?? [23:37] teadict: what's a room? [23:37] insin: And a transpiler step in your own head, if you're a fan of getting shit done - three problems [23:38] tjholowaychuk: AvianFlu haha touché [23:38] insin: And your documentation better be shit hot, or people will complain once they *have* to read your code - four problems! [23:38] zilch has joined the channel [23:38] tristanseifert has joined the channel [23:38] AvianFlu: don't worry, I follow Open Source Rule #5 - refunds available at /dev/null [23:38] yozgrahame has joined the channel [23:38] tmzt_: in BTC format [23:39] chjj: what is /dev/null, is it webscale? [23:39] chjj: ACTION needs more webscale [23:39] teadict: so .js files need to be +x'ed ? [23:39] teadict: ns/so/do/ [23:39] teadict: *s/so/do/ [23:40] AvianFlu: teadict: you either need to `node whatever.js` or you need a hashbang and a +x [23:40] teadict: I'll node them [23:40] AvianFlu: hashbang being `#!/usr/local/bin/node` or whatever [23:40] AvianFlu: at the top [23:40] teadict: yeah [23:40] ale: teadict: the rooms package of socket.io [23:40] teadict: I guess nobody does that [23:40] teadict: ale: oh [23:41] teadict: Nexxy: but wait... ~/local/node is the make install place... [23:42] teadict: Nexxy: should I keep a node installation somewhere and all the app(s) elsewhere? [23:42] teadict: *shouldn't [23:42] qbert_ has joined the channel [23:43] ale: Any idea guys on how to manage private chat sessions between users with node+socket.io? [23:43] zilch has joined the channel [23:43] fotoflo has joined the channel [23:43] Nexxy: teadict, I do [23:44] Nexxy: I have a separate user for each app [23:44] Nexxy: and keep the app in ~/www/ [23:44] [[zz]] has joined the channel [23:44] Aphelion has joined the channel [23:45] freeformz has joined the channel [23:46] zilch has joined the channel [23:46] teadict: is there a program to create a svg of the file tree from a path? that'd be useful [23:46] CrisO has joined the channel [23:47] visnup has joined the channel [23:48] patcito has joined the channel [23:48] ale: Any idea guys on how to manage private chat sessions between users with node+socket.io? [23:48] zilch has joined the channel [23:49] tmzt_: create an array keyed on sessionID [23:50] teadict: uhhhh , npm draws a treeview [23:50] teadict: AWESOME [23:50] teadict: (npm ls) [23:50] wangbus-work: erhow? [23:50] teadict: that wasn't there when I used it 2 months ago [23:50] wangbus-work: oh of the deps/ [23:50] teadict: yes [23:50] wangbus-work: word. [23:51] wangbus-work: how about svg [23:51] wangbus-work: haha [23:51] Postcomputing: ACTION wants modules in his modules. [23:51] progme has joined the channel [23:51] teadict: it should output a SVG YES [23:51] teadict: :P [23:51] zilch has joined the channel [23:51] physpeters has joined the channel [23:51] wangbus-work: hahaha [23:51] wangbus-work: for what reason [23:51] teadict: cuteness [23:52] Postcomputing: What happens If I require('yodawg') from inside yodawg? [23:52] wangbus-work: think you can only require once3 [23:52] wangbus-work: once* [23:52] eee_c has joined the channel [23:53] teadict: Postcomputing: a node meme gets built? [23:53] mjr_: Postcomputing: best thing to do is try it. I'm sure something reasonable happens. [23:54] chjj: yo dawg i heard you like modules, so we put a module in your module so you can node while you node [23:54] wangbus-work: so you can put a require in a require so you can require while you require [23:54] zilch has joined the channel [23:54] Postcomputing: :D [23:54] chjj: ;p [23:54] mjr_: well, that joke's handled. [23:55] bradleymeck has joined the channel [23:56] zeade has joined the channel [23:56] physpeters: If you're running several node.js apps, what's the common way to delegate to those apps under one server port number? [23:57] teadict: I hate configure scripts that don't explicitly say: "Everything went OK" [23:57] jvduf has joined the channel [23:57] Postcomputing: physpeters: Virtual hosting [23:58] physpeters: Postcomputing: as in apache vhosts? [23:58] mjr_: physpeters: you need yourself a reverse proxy [23:58] physpeters: what is that? [23:58] mjr_: Like this one [23:58] mjr_: https://github.com/nodejitsu/node-http-proxy [23:59] mjr_: Maintained by some very committed and enthusiastic folks. [23:59] zilch has joined the channel