[00:00] mau has joined the channel [00:00] joshthecoder: JAAulde: I mainly use OSX and Linux and avoid windows as much as possible :) [00:01] JAAulde: joshthecoder: i see. so what is keeping you from sharpening up on node? It's a snap to get it installed on OSX and/or Linux [00:01] joshthecoder: JAAulde: oh I have it setup just fine, just need to sit down when I get free time and play with it more [00:01] JAAulde: heroku might take a little messing with to get sharp--you should set up a regular account with them ASAP and start installing the gems locally and playing with it [00:01] ajpiano has joined the channel [00:02] tmpvar has joined the channel [00:02] JAAulde: you'll need that anyway to get beta node access [00:02] joshthecoder: I know a bit of ruby [00:02] JAAulde: cool. i stepped into heroku totally fresh [00:02] JAAulde: still felling it out at times [00:02] JAAulde: *feeling* [00:02] eggsby: ~betanode~ [00:03] JAAulde: ^^ ? [00:03] eggsby: I wish I knew more languages than just python [00:03] eggsby: :*( [00:03] JAAulde: saldy my day job keeps me occupied with PHP, and I have 4 kids so I don't get much evening time to play [00:03] JAAulde: *sadly* [00:03] eggsby: ew php [00:04] joshthecoder: yeah for work I'm stuck in c++ land most of the time [00:04] JAAulde: ew indeed [00:04] eggsby: I hope php slowly gets phased out [00:04] JAAulde: but it's paying the bills [00:05] JAAulde: i am working on a PHP project that has existed in some form since 1998 [00:05] _announcer: Twitter: "node.js hosting is in beta with @heroku, and hosted couchdb is in beta for both cloudant and couch.io. #api #recommendationengine" -- Daniel Haran. http://twitter.com/chebuctonian/status/16887439498 [00:05] JAAulde: so some of it is ANCIENT and dumb [00:10] _announcer: Twitter: "With all the js and mongodb node.js what is pleasant?" [ja] -- Hidenari Nozaki. http://twitter.com/ghiden_jp/status/16887749590 [00:10] eggsby: node.js hosting eh [00:11] eggsby: I installed node.js on my hosting plan, such a breeze [00:11] riottaba has joined the channel [00:11] sztanpet has joined the channel [00:12] tmpvar has joined the channel [00:12] mklappst1hl has joined the channel [00:15] Ori_P has joined the channel [00:16] chrischris has joined the channel [00:16] JimBastard_ has joined the channel [00:17] kodisha: eggsby: yup, it's great it doesn't have external dependencies [00:17] eggsby: 8) [00:23] robrighter has joined the channel [00:23] isaacs: mjr_: you're judging, too? [00:23] isaacs: neato [00:25] JimBastard_: so for my next project im going to port windows 7 to node. i just got this source dump from my friend at microsoft. should work in node.js and the browser later tonight. just gotta clean up the docs and post to reddit / hn [00:26] isaacs: hahahahahah [00:26] isaacs: a [00:26] JimBastard_: what? [00:26] JimBastard_: there is no lic file [00:26] JimBastard_: that means is OSS [00:26] _announcer: Twitter: "@puls I've never coded server-side JS, and certainly never with Node.JS, but I'd be happy to come pair... at, say, Blue Bottle :)" -- James A Rosen. http://twitter.com/jamesarosen/status/16888718739 [00:27] isaacs: JimBastard: are you and JimBastard_ one in the same? Or is someone doing the old "imma make funna somebody by usin their name" [00:27] JimBastard_: like microsoft would ever care about this code. its sooo terrible. the os is like 10 million lines [00:27] JimBastard_: isaacs: i think thats the default freenode / webirc action [00:27] JimBastard_: if you have a dupe name [00:27] JimBastard_: append a _ [00:27] isaacs: ah, kewl [00:27] JimBastard_: also, there is a bit of a ident problem on freenode [00:27] JimBastard_: its pretty easy to impersonate anyone [00:27] JimBastard_: but lets not get into that today [00:27] JimBastard__: SRsly [00:28] isaacs: yeah [00:28] isaacs: see [00:28] isaacs: what now [00:28] isaacs_: hey, you're not supposed tobe able to do that, since I've registered it [00:28] isaacs: ACTION is the bastard [00:28] isaacs: yeah you wish isaacs_ [00:28] isaacs: ACTION is unstoppable [00:28] ryah: visnup: i think any version should be allowed - api won't be changing much between now and then. [00:28] isaacs: help help Jimbastard took me over [00:28] isaacs: haaallppp [00:29] isaacs: im slowllyy turning intooooo aa troooolll [00:29] isaacs: this is why irc is funny [00:29] eggsby has left the channel [00:30] Aria: As long as you're not turning into a JimBastard, isaacs, you're fine. [00:30] isaacs: lol [00:30] isaacs_: that's weird. i'm *logged in* as isaacs [00:30] isaacs: see its working already [00:30] isaacs_: but that's not my nick [00:30] isaacs: i am jimbastard Aria [00:30] isaacs: do a whois [00:30] isaacs: im on webchat [00:30] Aria: Well then. [00:30] isaacs: real isaacs is not [00:30] JAAulde: i was just pleasantly surprised to see FreeBSD comes with a couchdb port [00:31] Aria: Spoink. [00:31] isaacs: its VERY easy to impersontate people, freenode is borked [00:31] isaacs_: ah, i didn't set enforce on [00:31] isaacs: [20:33] -NickServ- You have 30 seconds to identify to your nickname before it is changed. [00:31] isaacs_: i see [00:31] isaacs_: there ya go [00:31] isaacs: i can just toggle though [00:31] isaacs: sup [00:31] Guest34239: ohh pwnt [00:31] Aria: Sboom. [00:31] Guest34239: :p [00:31] joshthecoder: lol [00:32] JimBastard__: maybe they fixed it, i use to be able to toggle back and forth [00:32] JimBastard__: maybe you need new connection [00:32] JimBastard__: i think thats it [00:32] isaacs_: irc is funny [00:32] JimBastard__: ive used that trick to do epic things before [00:32] JimBastard__: if you ninja in with the right PM you can get server creds from people [00:34] JimBastard__: i think im going to concentrate and try and get work done for a while [00:34] JimBastard__: data-behaviors aint gonna finish itself [00:34] isaacs_: oh, i see. [00:34] isaacs_: what i wanted was /msg NickServ ghost [00:34] isaacs_: that would've booted JimBastard to guest32321314523 or whatever, and set my nick at the same time. but by setting enforce, it locked the nick for a while. [00:35] visnup: ryah: with joyent, it can be totally up to them. with heroku it'll be locked down I expect. probably yet another reason for contestants to favor joyent if they need a specific version. [00:36] findyourownpath has joined the channel [00:37] ryah: visnup: let's discuss offline at some point [00:37] ryah: but i think we'll need to push defining that until the last moment [00:38] _announcer: Twitter: "@rwaldron has node.js now :)" -- Scott Fitchet. http://twitter.com/figital/status/16889408463 [00:38] visnup: haha, sounds good [00:38] gerad: ryah: yeah, that should be cool, nobody can start writing code until day of anyway! [00:38] gerad: ryah: to ensure against cheating, you should totally change the api the day before [00:38] visnup: people have expressed interest in axe sharpening though [00:38] tilgovi has joined the channel [00:39] creationix: ryah: you said to make the hello-world example simpler, how about this? http://github.com/extjs/Connect/blob/closure/examples/hello-world/app.js [00:40] keeto has joined the channel [00:40] Tim_Smart: creationix: Where is the hello-world? [00:41] creationix: sorry, just updated it [00:41] gerad: creationix: yeah, took me a sec to figure out it was an echo server [00:41] ryah: can someone review a patch for me - it's kind of a big one and i would like to get a second eye on it [00:41] ryah: creationix: --^ ? [00:41] creationix: http://github.com/extjs/Connect/blob/closure/examples/hello-world/app.js [00:41] ryah: creationix: http://gist.github.com/450802 [00:42] creationix: ryah: I can try, but I've got to finish the connect refactor today [00:42] creationix: ryah: cool api change btw [00:42] ryah: creationix: i don't get your hello world... [00:42] ryah: creationix: where's the hello world? [00:43] creationix: ryah: are you seeing the new version, I commited a couple of minutes ago [00:43] Tim_Smart: Hello world in biggie :D http://gist.github.com/450804 [00:43] creationix: Tim_Smart: it's like biggie is connect's cousin [00:43] ryah: creationix: oh, okay [00:43] ryah: creationix: looks good [00:44] Tim_Smart: creationix: Yup, I like it that way though [00:44] Tim_Smart: connect has more attention though, I don't like attention [00:44] creationix: Tim_Smart: though I just realized that simpleBody is part of the connect system [00:44] creationix: so middleware that depends on that won't work in biggie [00:44] Tim_Smart: Yeah I was thinking about that [00:45] creationix: I could make the status code optional in simpleBody so it works the same [00:45] creationix: not sure what to call it [00:45] creationix: I don't like simpleBody or sendBody [00:45] Tim_Smart: writeBody maybe [00:45] creationix: Tim_Smart: even worse [00:45] Tim_Smart: yeah [00:45] creationix: it needs to convey that it's the entire response [00:45] creationix: head and all [00:46] Tim_Smart: response.send? [00:46] creationix: too close to response.write? [00:46] creationix: maybe [00:46] creationix: ryah: help me name the function and I'll review your patch ;) [00:48] ryah: creationix: simpleBody sounds fine [00:48] ryah: body() ? [00:49] Tim_Smart: Hmm I use response.body for something else atm [00:49] visnup: loseWeightNowBody [00:50] sztanpet has joined the channel [00:50] creationix: ryah: I think I like body or simpleBody [00:50] Tim_Smart: creationix: My current methods are listed under usage: http://github.com/biggie/biggie-router/blob/master/README.md [00:54] freshtonic has joined the channel [00:57] visnup: now rod stewart is in my head [00:58] visnup: with all this talk of liking bodies [01:02] steadicat has joined the channel [01:03] richcollins has joined the channel [01:04] ryah: is there a redis meetup today? [01:04] mklappstuhl has joined the channel [01:05] bpot has joined the channel [01:06] LOLWUT__ has joined the channel [01:10] JAAulde: is 'global' to node what 'window' is to browser js? [01:10] JAAulde: I tried referencing global.require but it bombed, so it made me wonder [01:11] Tim_Smart: JAAulde: global is the top namespace, which has 'Array', 'Object' etc attached to it [01:12] Tim_Smart: require is passed to the module as a function argument [01:14] Tim_Smart: ryah: Changing sys.puts to console.log is pretty massive. Is there anything else attached to console? [01:14] JAAulde: Tim_Smart: Hmm, ok. So I often LINT my code with only the top level namespace listed as 'predefined' and pass that into an immediately executing anon function [01:14] JAAulde: inside that function i localize things: var parseInt = global.parseInt; [01:15] Tim_Smart: global affects every single module [01:15] Tim_Smart: don't use it [01:15] JAAulde: I won't be writing to it [01:15] Tim_Smart: unless you really really have to [01:15] JAAulde: I am reading from it to localize [01:15] JAAulde: do I need to add require to my list of predefined vars in the LINT? [01:16] Tim_Smart: You don't need to localize thing from global [01:16] Tim_Smart: *things [01:16] hsuh has joined the channel [01:16] JAAulde: Tim_Smart: I understand I don't need to, it's a habbit of mine...localize almost everything I use more than once to avoid scope traversal [01:17] Tim_Smart: Right, well module, require, exports, __dirname and __filename aren't attached to global [01:17] JAAulde: Ah, ok. Good to know :) [01:18] Tim_Smart: JAAulde: http://github.com/ry/node/blob/master/lib/module.js#L375 [01:18] Tim_Smart: Take a look there [01:18] JAAulde: Is there a simple explanation somewhere (or even a graphic--I'm a little thick) that explains the object model and how a script is executed--for example, showing what "module" is and how things are passed to it? [01:19] JAAulde: looking at the link now... [01:19] Tim_Smart: JAAulde: and http://github.com/ry/node/blob/master/src/node.js#L3 [01:19] JAAulde: Tim_Smart: is the content param the contents of the script file which node is currently executing? [01:20] Tim_Smart: content is the Common JS module code, yes [01:20] JAAulde: ok [01:20] JAAulde: this is so far above the level from which I suually operate [01:20] JAAulde: *usually* [01:21] LOLWUT__: when using the streaming tcp type server in nodejs how would I find the remote address of the client on an event such as connected [01:21] LOLWUT__: ? [01:22] creationix has joined the channel [01:22] gerad has joined the channel [01:23] Tim_Smart: LOLWUT__: http://github.com/ry/node/blob/master/src/node.js#L3 [01:23] creationix: back, out internet went out [01:23] Tim_Smart: Sorry, http://github.com/ry/node/blob/master/lib/net.js#L1073 [01:23] Tim_Smart: creationix: >.< [01:23] Tim_Smart: Did you get my link? [01:24] creationix: Tim_Smart: yeah, the biggie readme [01:24] Tim_Smart: So what do you propose for the method names? [01:24] creationix: with connect I don't want a lot of helpers. So far I have just the one [01:24] creationix: but it needs to give control over the status code and the mime type [01:24] creationix: as well as auto-detect the body [01:25] creationix: Tim_Smart: http://github.com/extjs/Connect/blob/master/lib/connect/response.js#L26 [01:26] LOLWUT__: Tim_Smart, can't make heads or tails of that :/ [01:26] Tim_Smart: LOLWUT__: remoteAddress gets set just before 'connection' is emitted [01:27] LOLWUT__: so, server.remoteAddress? I could have sworn I tried that. [01:27] Tim_Smart: The stream gets emitted as the first argument of the 'connection' listener [01:27] _announcer: Twitter: "@figital so I hear you like node.js, maybe we can use it for the simple backend of that clickr proj" -- Nick Cammarata. http://twitter.com/nicklovescode/status/16892471441 [01:27] Tim_Smart: stream had remoteAddress attached [01:28] Tim_Smart: *has [01:28] LOLWUT__: ah, I see [01:28] creationix: Tim_Smart: I think I'll call mine sendBody [01:28] Tim_Smart: creationix: OK. I'll leave mine as is then. [01:29] creationix: Tim_Smart: I do override the mime type as the third argument sometimes though [01:29] creationix: like for cache.manifest [01:29] creationix: I think it defaults to html for text though [01:29] creationix: where text = strings and buffers [01:29] Tim_Smart: Oh right, the 3rd argument is extra headers in my implementation [01:29] ditesh|cassini has joined the channel [01:29] creationix: maybe I should just to extra headers [01:30] bmizerany: alright. I have a feeling I don't understand v8 inside nodes reactor. I'm getting this error (https://gist.github.com/gists/09bb1a5e46f054a34b09/edit) when running `node server.js` and a `echo | nc localhost 6379` [01:30] LOLWUT__: Tim_Smart, thanks a bunch :) [01:30] bmizerany: but the tests run fine [01:30] JimBastard has joined the channel [01:31] bmizerany: http://github.com/bmizerany/borg/blob/broken/test/proto_test.js [01:31] JimBastard: can anyone tell me the "best" way to figure out if you are inside node [01:31] Tim_Smart: bmizerany: Page doesn't exist :/ [01:31] JimBastard: like, fool proof always works [01:31] JimBastard: i'd like to have if(isNode()) [01:31] JimBastard: i know a few ways [01:31] JimBastard: but i hate them all [01:31] bmizerany: Tim_Smart: https://gist.github.com/gists/09bb1a5e46f054a34b09 [01:31] bmizerany: sorry. it had the /edit on it [01:32] JimBastard: how many node specific objects do i have to check for lol? [01:32] JimBastard: what if they are all globals on the browser window >><< [01:32] JimBastard: where is the sanity! [01:33] Tim_Smart: JimBastard: process.argv[0] or something? [01:33] JimBastard: what if thats defined? [01:33] JimBastard: you see where im going with this? [01:33] JimBastard: where do the turtles stop? [01:33] Tim_Smart: JimBastard: They don't [01:33] JimBastard: i think im gonna make isNode and have it check everything [01:33] JimBastard: and stop of the first fail [01:34] JimBastard: should be a nice piece for nodejsjs [01:34] Tim_Smart: most people check for module.exports [01:34] JimBastard: already doing that [01:34] JimBastard: what if exports is defined [01:35] JimBastard: http://github.com/Marak/asciimo/blob/768cafbe25f4fc6b1acb6a1dc8ed7fccefe7dcde/lib/asciimo.js#L83 [01:35] JimBastard: got the dual sided .js file there. switches between FS module and jQuery AJAX [01:36] Tim_Smart: Check for module and module.exports [01:36] bmizerany: no one has any ideas on https://gist.github.com/09bb1a5e46f054a34b09 with http://github.com/bmizerany/borg/blob/broken/server.js ? [01:37] creationix has joined the channel [01:37] bmizerany: I'm setting the method here: http://github.com/bmizerany/borg/blob/broken/src/proto.rl#L145 [01:39] Tim_Smart: bmizerany: Not related (I think), but always scope.Close() returned values in the C++ api [01:39] jarsen has joined the channel [01:40] piratepenguin has joined the channel [01:41] _announcer: Twitter: "Super nice site for an async BDD tool for #nodejs http://bit.ly/aAThBC" -- kamal. http://twitter.com/kamal/status/16893344704 [01:43] creationix: somebody hit up howtonode.org:3000 [01:43] bmizerany: Tim_Smart: I'm not sure if that is releated. The problem here is that `parse` is an `unknown command`. what does that mean? [01:44] Tim_Smart: bmizerany: Not sure. Might have to ask ryah about that one [01:44] Tim_Smart: creationix: Yeah it works [01:44] JimBastard: bmizerany: looking [01:44] creationix: Tim_Smart: are you getting bad lag [01:44] bmizerany: JimBastard: thx [01:44] creationix: Tim_Smart: open it in two browsers [01:44] Tim_Smart: creationix: ok [01:46] Tim_Smart: creationix: Yeah it's a bit 'jerky' [01:46] keyvan has joined the channel [01:46] creationix: it's way jerky for me [01:46] creationix: like 1s+ [01:46] creationix: but I think my local internet connection is bad [01:46] Tim_Smart: I think it is using long polling [01:46] richcollins has joined the channel [01:46] creationix: it is [01:46] creationix: but locally it's very smooth [01:47] JimBastard: yeah bmizerany , sorry cant help. reading that code scares me a bit as i have no idea whats it doing [01:47] JimBastard: it has a cool name and tagline though, so i gotta assume its awesome [01:47] Tim_Smart: Heh, when you are getting 0.3ms response times locally, it will be [01:47] creationix: Tim_Smart: thanks, btw is InSPire Net Ltd considered a good ISP over there [01:47] Tim_Smart: creationix: I'm rural, so I only get 1mps [01:48] creationix: ahh, makes sense [01:48] creationix: Tim_Smart: not that you can see the server code, but it's running on the new closure branch [01:48] creationix: the node part seems super fast [01:48] creationix: just the long poll itself is crap over internet [01:48] creationix: I should add websockets to the demo some time [01:48] Tim_Smart: Yeah, I tried to get space-tweet working [01:49] bmizerany: JimBastard: it's just parsing the redis protocol now. that's all. [01:49] Tim_Smart: The router logic was crap, so a plugged in biggie [01:49] bmizerany: JimBastard: thx anyway. [01:49] bmizerany: peace guys [01:49] JimBastard: rgr [01:49] bmizerany: off to the redis meetup to meet Salvatore! [01:49] Tim_Smart: creationix: But I think the canvas code is buggy or something [01:50] creationix: Tim_Smart: canvas? [01:50] Tim_Smart: http://github.com/jacobthornton/space-tweet [01:51] ChrisPartridge has joined the channel [01:51] creationix: oh, on space tweet, that sucks [01:51] creationix: space-tweet is a cool idea [01:52] Tim_Smart: But yeah, before: http://github.com/jacobthornton/space-tweet/blob/master/space-tweet/server.js after: http://gist.github.com/450858 [01:53] creationix: nice :) [01:53] Tim_Smart: I'm sure connect would work just as well :) [01:53] Tim_Smart: Definately got more modules to choose from haha [01:57] creationix: :) [01:58] creationix: ryah: I'm still going over the patch, I haven't forgotten [01:58] creationix: the api.markdown file has a lot of changes! [02:00] creationix: I love how the actual code change is only 4 new lines and 4 lines removed, but the documentation change is huge [02:01] creationix: ryah: how about a console.dir that's like the old sys.p ? [02:02] SteveDekorte has joined the channel [02:03] cfq has joined the channel [02:03] Tim_Smart: wow http://www.youtube.com/watch?v=kwI77SBNues&NR=1 [02:03] cfq has joined the channel [02:04] cloudhead has joined the channel [02:04] creationix: ryah: line 1179 in your gist doesn't look related to the api change [02:04] creationix: is it? [02:05] Tim_Smart: creationix: I don't see anything wrong with 1179? it is just a @@ line [02:05] creationix: ryah: also 1619 [02:06] creationix: Tim_Smart: http://gist.github.com/450802 [02:06] Tim_Smart: Yeah thats the one I'm looking at [02:06] creationix: ahh, I've got the first version [02:07] creationix: hmm, I wonder why the new version isn't highlighted [02:07] ajpiano has joined the channel [02:08] Tim_Smart: Too large for their Javascript highlighter or something [02:08] creationix: Tim_Smart: this is the version I was looking at https://gist.github.com/450802/7311cceaa9e23e53f2de6c30f125dc5b0beb683d [02:09] SteveDekorte has joined the channel [02:10] cfq has joined the channel [02:10] keeto has joined the channel [02:10] callen has joined the channel [02:10] temp01 has joined the channel [02:10] mqt has joined the channel [02:10] eyzn has joined the channel [02:10] Pilate has joined the channel [02:11] ncb000gt has joined the channel [02:11] creationix: ryah: ok, done with the first version, there were a few places there newlines got added to files, but that should be fine [02:11] creationix: the only strange part was the stack trace that got stars in it [02:11] mikeal has joined the channel [02:11] creationix: now I'm looking at the second version of the patch to see what's new [02:13] ajpiano has joined the channel [02:13] robrighter has joined the channel [02:14] creationix: looks good [02:18] stevestmartin has joined the channel [02:18] SteveDekorte has joined the channel [02:19] saikat has joined the channel [02:19] bmizerany has joined the channel [02:20] _announcer: Twitter: "RingoJS vs NodeJS http://bit.ly/cECGIn #design #JavaScript" -- Jessyka. http://twitter.com/yummymashup/status/16895741812 [02:20] keyvan has joined the channel [02:22] jsilver has joined the channel [02:26] bmizerany: oh jesus. the error was my protocol throwing an error. wow. I need a break from this. haha [02:28] Tim_Smart: This guy is trolling tbh http://www.gmosx.com/blog/agVnbW9zeHIPCxIHQXJ0aWNsZRjh2gEM/ringojs-vs-nodejs [02:31] _announcer: Twitter: "Cronjobs in #NodeJS - http://is.gd/d1lHn - Based on @padolsey 's cron.js." -- Nick Campbell. http://twitter.com/ncb000gt/status/16896439409 [02:36] siculars has joined the channel [02:43] jsilver: Trolling on a Mac: instant fail [02:44] jsilver: NodeJS happened: An async only JavaScript platform, powered by V8, not really interested in CommonJS conformance <-- obvious troll [02:46] liucougar has joined the channel [02:47] _announcer: Twitter: "RingoJS vs NodeJS - http://su.pr/2vyfcI" [lv] -- Richard Laksana. http://twitter.com/rlaksana/status/16897459170 [02:50] SamuraiJack has joined the channel [02:56] jsilver: dude [02:56] jsilver: F that [02:57] jsilver: nobody wants yr fing java [02:57] jsilver: lolz [02:57] jsilver: no want [02:57] jsilver: do not want [02:58] ncb000gt: lol, hannes is a bright guy [02:58] ncb000gt: and so are many of the committers to the ringo project [02:59] ncb000gt: not to mention that java is hardly slow these days [02:59] _announcer: Twitter: "Like www.ringojs.org run on a JVM and webapp module nodejs fully equipped and also to try not impressed." [th] -- Virasak Dungsrikaew. http://twitter.com/virasak/status/16898226579 [03:03] creationix: deanlandolt_home: typo fail ;) [03:03] creationix: var a = p[; a instanceof Array [03:03] deanlandolt_home: creationix: what would one of my emails be w/o a typo :-/ [03:03] creationix: :) [03:04] creationix: don't worry, I think the email is still more helpful than confusing [03:04] creationix: just took me a second to realize it was a typo and not some crazy repl hack [03:05] jsilver: my problem with java is not that it's slow [03:05] deanlandolt_home: heh...yeah, i should have been extra careful considering i was actually suggesting a repl hack [03:05] jsilver: it's that i f*cking hate it [03:06] CIA-76: node: 03Ryan Dahl 07master * r7b119f8 10/ lib/net.js : Fix error message - http://bit.ly/aQTT1E [03:06] ryah: creationix: thanks [03:06] CIA-76: node: 03Ryan Dahl 07master * r4c21aa7 10/ AUTHORS : Fix name in AUTHORS file - http://bit.ly/c4aM19 [03:06] jsilver: if i could tie java up and light it on fire [03:06] jsilver: i would [03:06] CIA-76: node: 03Ryan Dahl 07master * rba792ea 10/ (92 files in 12 dirs): [03:06] CIA-76: node: :%s/sys.puts/console.log/g [03:06] CIA-76: node: and there was much rejoicing - http://bit.ly/9zoHQN [03:06] creationix: ryah: :D [03:06] jsilver: if i could shoot java in the head [03:06] jsilver: i would [03:06] joshbuddy has joined the channel [03:07] deanlandolt_home: jsilver: do you feel as strongly about the jvm? [03:07] ncb000gt: jsilver: That j stands for Java doesn't it? Admit it. We wont think any less of you. I promise... ;D [03:07] ryah: ACTION is at the redis meetup with mikael [03:07] Tim_Smart: It should be node.ecma [03:07] softdrink has joined the channel [03:07] Tim_Smart: But that sounds silly [03:07] ncb000gt: lol [03:07] ncb000gt: doesn't have the same ring [03:08] deanlandolt_home: node.es [03:08] jsilver: no [03:08] jsilver: the J stands for Jonathan [03:08] jsilver: :) [03:08] creationix: esperanto [03:08] jsilver: i hate java yes [03:08] jsilver: do not want ! [03:09] Tim_Smart: node.es could work [03:09] creationix: I first paid programming job was writing swing apps [03:09] creationix: I was a very dark time [03:09] Tim_Smart: My first paid job was serving takeaways [03:09] creationix: (and for only $7/hour) [03:09] jsilver: OMG LOL [03:09] jsilver: BRB IRL [03:09] mtodd has joined the channel [03:09] creationix: well, my first paid job was washing dishes in a commercial kitchen 12 hours a day for $70/week [03:10] ncb000gt: creationix: yea, that's more like my first job [03:10] creationix: heh, now I write node code 12 hours a day [03:10] creationix: but I make a fair bit more than $70/week [03:10] ncb000gt: <-- jealous [03:11] jsilver: well [03:11] jsilver: money is cool [03:11] ncb000gt: creationix: if you'd like to go back to that 70/week i can take the excess off your hands [03:11] jsilver: but I prefer girls/weed [03:11] jsilver: :) [03:11] Tim_Smart: ok. offv topic [03:11] creationix: ncb000gt: well, now I've got bills to pay [03:11] Tim_Smart: *off topic [03:11] creationix: it's about the same in the end [03:11] jsilver: alcohol [03:11] jsilver: sry [03:11] ncb000gt: creationix: 100/week? [03:11] jsilver: LOL ^ [03:12] creationix: well, I've got to head home, I've been here about 12 hours today [03:12] ncb000gt: later [03:12] ncb000gt: think i'm gonna call it an early night too, have to run in the AM. later. [03:13] gerad has joined the channel [03:14] JAAulde has joined the channel [03:14] jsilver: brb gonna go get some coffee and then try hacking some node !! [03:14] jsilver: later guys [03:14] jakehow has joined the channel [03:16] derferman has joined the channel [03:17] _announcer: Twitter: "Refactoring all of my old node-router web apps to use Connect instead. #nodejs" -- Rob Righter. http://twitter.com/robrighter/status/16899369461 [03:18] tlrobinson_ has joined the channel [03:20] JAAulde: no one seems to be awake in #couchdb [03:21] JAAulde: anyone here awake who works with it? [03:23] daqing has joined the channel [03:23] temp01 has joined the channel [03:28] steadicat has joined the channel [03:31] _announcer: Twitter: "node-cron is now in # above sea level - you-can pull it down with: asl # install cron nodejs" [pl] -- Nick Campbell. http://twitter.com/ncb000gt/status/16900245946 [03:34] mtodd has joined the channel [03:39] daqing has left the channel [03:40] CIA-76: node: 03Ryan Dahl 07master * r2c0d91b 10/ (72 files in 9 dirs): Upgrade V8 to 2.2.19 - http://bit.ly/a9FINy [03:41] mattly has joined the channel [03:42] sanderjd has joined the channel [03:47] Tim_Smart: ryah: Does sys.puts now emit a warning? [03:47] SvenDowideit has joined the channel [03:48] chrischris has joined the channel [03:48] ryah: Tim_Smart: no [03:48] ryah: Tim_Smart: we'll very slowly get rid of it [03:48] Tim_Smart: OK cool. [03:48] ryah: i'll wait like, 4 weeks before putting up a warning [03:49] Tim_Smart: Brilliant. So whats left on the plate before 0.2? [03:50] ryah: not much [03:51] sanderjd has left the channel [03:51] marshall_law_ has joined the channel [03:56] stephenjudkins has joined the channel [03:56] bradleymeck has joined the channel [03:57] JAAulde has left the channel [03:57] _utility has joined the channel [04:04] Tim_Smart: ryah: We would be looking at this for hot loading, right? http://github.com/ry/node/blob/master/deps/v8/src/liveedit.h#L96-101 [04:05] _announcer: Twitter: "Which would be more practical: option to attach JS to a single node when editing node, or select JS to attach as a Context reaction? #drupal" -- Brock Boland. http://twitter.com/Brock/status/16902325076 [04:05] ryah: Tim_Smart: it's there [04:05] ryah: debuggers just need to use it [04:06] Tim_Smart: ryah: Oh right. What about using it for deploying apps? [04:07] ryah: i think that should work [04:09] bradleymeck: mmm anyone got an example of node-oauth w/ twitter lying about [04:09] stevendavie has joined the channel [04:11] stephenjudkins has joined the channel [04:11] CIA-76: node: 03Ryan Dahl 07master * r8825c74 10/ (3 files): Upgrade http-parser - http://bit.ly/boTMFo [04:18] _announcer: Twitter: ""Rails Rumble" for node.js http://nodeknockout.com/" -- Takaaki. http://twitter.com/takaakikato/status/16903133254 [04:20] sudoer has joined the channel [04:21] visnup has joined the channel [04:22] _announcer: Twitter: "Finally got Mongoose working. Now enjoying mongoDB with Node.js and ExpressJS. Full of awesomeness! #geek #nerd" -- Xavier Damman. http://twitter.com/xdamman/status/16903341075 [04:24] sudoer has joined the channel [04:26] cataska has joined the channel [04:27] unomi has joined the channel [04:33] ChrisPartridge: ryah: http://github.com/ry/node/commit/8825c74e7aea20f24bc2f6c165cb3ce3d5011b77#L2L1482 nice const name [04:36] bradleymeck: no one got node-oauth working on twitter? [04:36] Tim_Smart: bradleymeck: I think I have. It was a while ago though [04:37] bradleymeck: getting an access token is returning undefined for my app [04:38] Aria has joined the channel [04:43] twomashi has left the channel [04:46] saikat has joined the channel [04:46] admc has joined the channel [04:47] _announcer: Twitter: "Write your whole stack in JavaScript with Node.JS: submitted by gst [link] [comment] [04:50] Wandrewvious has joined the channel [04:58] bradleymeck: !get test [04:58] _utility: undefined [04:58] bradleymeck: !leave #node.js [05:00] _utility has left the channel [05:00] _utility has joined the channel [05:11] _announcer: Twitter: "Report on # nodejs at # margincon will not, whether it makes sense to go ... From our who is going?" [ru] -- neskreba. http://twitter.com/neskreba/status/16906023640 [05:14] mjr_: Wow, sys.puts -> console.log [05:15] mape: what? [05:15] mjr_: Does node have a "console" in the same way that web browsers do? [05:15] mjr_: mape: http://github.com/ry/node/commit/ba792ea2020f38ebf84925e740b42823b739d0d3#diff-5 [05:16] chrischris has joined the channel [05:16] mape: neat [05:16] mjr_: I guess that's one less thing for people to re-learn when coming from the browser world. [05:16] mape: So when do I get console.time and console.profile? :D [05:16] mjr_: and console.dir, etc. [05:16] mape: yeah [05:17] mjr_: And how come when I console.log(obj) I can't click on the disclosure triangle and expand it. [05:17] mape: or well, isn't console.log sys.puts(sys.inspect()) ? [05:17] mape: hehe [05:17] _announcer: Twitter: "@ Neskreba I just go, but # node.js like to be." [ru] -- uglock. http://twitter.com/uglock/status/16906363741 [05:18] mjr_: Well, I hope that it is less confusing in the long run rather than more. [05:19] mjr_: I can imagine also using console.warn, console.error, etc. as part of a logging system, but I'm not sure they really mean the same things they do in the browser. [05:19] _announcer: Twitter: "@ Neskreba Search for heshtegu # margincon, a tweeter was just about # nodejs" [ru] -- uglock. http://twitter.com/uglock/status/16906474271 [05:20] chrischris_ has joined the channel [05:22] chrischris has joined the channel [05:25] _announcer: Twitter: "Anybody interested in this? http://nodeknockout.com/ 48 hr hackathon, upto 4 people but you must use node.js. Aug 28-29." -- Matt Colyer. http://twitter.com/mcolyer/status/16906771513 [05:40] mostlygeek has joined the channel [05:42] cloudhead has joined the channel [05:43] Tim_Smart: Hmm weird. Whenever I start couchdb, beam.smp goes crazy [05:45] _announcer: Twitter: "Everything you need to know about Node.js (thanks @3n): http://bit.ly/aeSe9A" -- Dave Fayram. http://twitter.com/KirinDave/status/16907780642 [05:46] linuxsable has joined the channel [05:47] _announcer: Twitter: "[Js Popular Information] RingoJS vs NodeJS http://bit.ly/aDwIBD # javascript" [ja] -- jsMagazine. http://twitter.com/jsMagazine/status/16907857829 [05:48] Wandrewvious has joined the channel [05:51] rictic has joined the channel [05:52] JimBastard has joined the channel [05:53] JimBastard: does anyone want to solve deceptively easy problem? [05:53] JimBastard: http://github.com/Marak/isNode.js/blob/master/isNode.js [05:53] JimBastard: pretend you had a dual-sided library, and the browser page you are loading it on is purposely trying to mimic node [05:58] mape: Yeah? I probly wouldn't notice it if it was good? [05:59] JimBastard: you talking to me mape? [05:59] mape: Are YOU talking to me? [05:59] JimBastard: hey, im trying to CODE here [05:59] JimBastard: :-D [05:59] _announcer: Twitter: "A list of projects focused on mitigating the pain of sync processes in #nodejs' async environment /from @freshtonic #js #ssjs #dev #code" -- Spot. http://twitter.com/spotnyk/status/16908430358 [05:59] JimBastard: ACTION does the al pachino voice [05:59] mape: Well what is with all the pretending then? [06:00] JimBastard: yeah, i need a really good way to figure out if im in node [06:00] JimBastard: something that can do a quick check, but then do a long check if needed [06:00] _announcer: Twitter: "Oops. Link: http://gist.github.com/449532 from fresh tonic @ # # js nodejs ssjs # # # dev code" [de] -- Spot. http://twitter.com/spotnyk/status/16908475241 [06:00] mape: just node vs browser or node vs other serverside? [06:00] mape: And the window stuff, is that really good? If you try to run jsdom they emulate the window object no? [06:00] JimBastard: mape: hrmmm, probably both...but for today its node vs. browser [06:00] JimBastard: exactly [06:01] JimBastard: but it should be okay...kinda [06:01] JimBastard: the first problem to solve imho [06:01] JimBastard: is , isNode() [06:01] visnup has joined the channel [06:01] mape: Check for process? [06:01] JimBastard: if you are coding in a dual-sided env, you need a really solid way to know where you are at [06:02] mape: An array containing the command line arguments. The first element will be 'node', the second element will be the name of the JavaScript file. The next elements will be any additional command line arguments. [06:02] JimBastard: mape: okay. so what if there is a global variable called process [06:02] mape: So what If I happen to have a global variable and the first element happen to be 'node'? :) [06:02] mape: Then it is probly a none issue? [06:03] JimBastard: ill update the codzorz for now [06:03] JimBastard: i was thinking process too [06:03] JimBastard: well iterate on that... [06:10] Tim_Smart: JimBastard: How about checking if you are in the browser, rather than in node [06:10] JimBastard: hrmmm [06:10] JimBastard: what would the benefit of that be? [06:10] Tim_Smart: People in node don't usually emulate a browser [06:11] JimBastard: i think thats gonna change a bit [06:11] JimBastard: its a tough call [06:11] sh1mmer has joined the channel [06:11] JimBastard: for what im doing, it makes more sense for me to test isNode [06:11] JimBastard: but both ways make sense [06:11] JimBastard: heeeeeey sh1mmer [06:11] JimBastard: javascript party [06:12] JimBastard: :-D [06:14] mscdex: when isn't there a javascript party? [06:15] mape: mjr_: At BP, they have other stuff to think about [06:15] derferman has joined the channel [06:15] mape: * mscdex ^ [06:15] mscdex: eh? [06:15] Tim_Smart: BP are crying over spilt milk [06:15] Tim_Smart: oil rather [06:16] mscdex: so when is GeorgeJS, PaulJS, or JohnJS going to be released? [06:16] Tim_Smart: TimES [06:16] Tim_Smart: EcmaScript man. EcmaScript. Geez. [06:19] mattly has joined the channel [06:19] mscdex: life is a 24/7 javascript party [06:21] manveru: what's the nicest way to test an httpServer app? [06:21] mscdex: connect to it? [06:21] manveru: from within the same process? [06:21] mscdex: :-) [06:22] Tim_Smart: manveru: I'm using vows with biggie-router http://github.com/biggie/biggie-router/tree/master/test/ [06:22] mscdex: you could [06:22] mscdex: depends on how fancy you want to get really [06:22] manveru: Tim_Smart: thanks :) [06:23] manveru: mscdex: well, i'm trying to test async stuff, not sure how hard that is yet [06:24] manveru: but if possible i'd like to avoid finding out :) [06:24] Tim_Smart: manveru: I test async stuff too :) [06:24] zomgbie has joined the channel [06:24] mscdex: asink! [06:24] mscdex: a sink [06:25] mikeal has joined the channel [06:25] mscdex: who doesn't like a sink? :-P [06:27] Tim_Smart: mde: Can I steal your db adapters from geddy? [06:27] Tim_Smart: Even better, would be a repository dedicated to db adapters with unified api's [06:28] Tim_Smart: So people don't go around re-inventing the wheel all the time [06:28] mscdex: i had started on something like that [06:28] mscdex: but gave up [06:28] Tim_Smart: typical. [06:29] mscdex: it was part of a "cakephp for js" framework i was writing [06:29] mscdex: while on vacation [06:29] Tim_Smart: All these people doing "xxxx for js" [06:29] mscdex: but then i was told it was a bad idea so i stopped [06:30] Tim_Smart: Ohk. I'm slowly working on a framework [06:30] everton has joined the channel [06:30] manveru: ACTION is working on rack for node [06:30] Tim_Smart: manveru: What about connect? [06:30] manveru: what's that? [06:31] Tim_Smart: or biggie router? [06:31] mscdex: i even emulated the php-style output for views like having tags where you could do loops and stuff to do output in addition to search and replace stuff [06:31] Tim_Smart: http://github.com/extjs/Connect http://howtonode.org/connect-it [06:31] mscdex: heh [06:33] manveru: heh [06:33] manveru: my API looks almost exactly like connect... [06:34] manveru: though i use coffeescript classes for middlewares [06:34] manveru: makes it easier to configure [06:35] manveru: well, i'll go with that then, thanks [06:35] Tim_Smart: Ah ok. I use coffeescript all the time for my apps. I don't use it much for libraries [06:35] Tim_Smart: manveru: There is also http://github.com/biggie/biggie-router [06:35] Tim_Smart: Which I'm developing, probably won't work as well with coffee though [06:36] sixtus42 has joined the channel [06:36] manveru: does it have regex routes? [06:36] Tim_Smart: Yup [06:37] Tim_Smart: I didn't explain it in the readme, but it suffixes group matches on the arguments [06:38] sh1mmer has joined the channel [06:38] manveru: i've been thinking of putting the request/response/next stuff into a single object [06:39] Tim_Smart: I have thought about it, and didn't really like it [06:40] Tim_Smart: As you can't name the arguments etc [06:40] manveru: ? [06:40] slaskis has joined the channel [06:40] Tim_Smart: e.g. I can call request 'req' and response 'res' if I wanted [06:41] manveru: if you need them all you could do something like [req, res, nex]: action.splat() [06:41] manveru: usually you don't [06:42] manveru: i'm not sure if js allows you to define your own []/==/=== and the like [06:42] mape: http://pic.thefarm.se/mape/20100624083748/ [06:42] manveru: Tim_Smart: how about MVC? [06:43] mape: Woops [06:43] unomi: http://www.mozilla.org/js/language/js20-2000-07/libraries/operator-overloading.html [06:44] manveru: unomi: thanks [06:44] mape: Hmm is V8 planning on adding noSuchMethod? [06:44] unomi: manveru: basically it says 'not yet' [06:44] manveru: unomi: oh, that's not in v8? [06:44] admc has joined the channel [06:44] manveru: but that doc is from 2000... [06:45] unomi: css3 is from 2000 ;) [06:45] unomi: http://spreadsheets.google.com/pub?key=pFIHldY_CkszsFxMkQOReAQ&gid=2 [06:46] unomi: they seemed unanimous on that operator overloading should be 'next time' [06:46] manveru: what a shame [06:47] SteveDekorte has joined the channel [06:47] Tim_Smart: manveru: Well biggie-router is a router only. I'm next working on the orm [06:47] manveru: Tim_Smart: ok, i'll give it a try [06:48] manveru: don't need much right now, just some simple mustache templates and static file serving [06:48] Tim_Smart: biggie router has built in static file serving [06:48] Tim_Smart: and gzip [06:48] derferman has joined the channel [06:48] Tim_Smart: let me know if you need help with it [06:49] mscdex: can't emulate noSuchMethod right now though? [06:49] mscdex: *you [06:49] mscdex: er wait nevermind that was getters and setters i think [06:49] manveru: Tim_Smart: i'd send 403 if the path contains '..' [06:50] manveru: you just swallow it? [06:51] mscdex: om nom nom! [06:51] keyvan has joined the channel [06:52] Tim_Smart: manveru: Yeah I just turn into one . [06:56] manveru: hmm [06:57] manveru: how do install npm as non-root? [06:57] Tim_Smart: You on OSX? [06:57] _announcer: Twitter: "@tubelite JS is a phenomenal backend language. node.js is a promising start. imo js will take on python/ruby ANY DAY but for its quirks" -- Dhananjay Nene. http://twitter.com/d7yn/status/16911038986 [06:57] manveru: no [06:57] Tim_Smart: Ubuntu? [06:57] manveru: archlinux [06:58] Tim_Smart: ok, you will need to have a bin folder that you own in your path [06:58] manveru: got that [06:58] manveru: but the cli.js is not talkative about the parameters it takes [06:59] nofxx has joined the channel [06:59] Tim_Smart: ok in ~/.npmrc , set binroot = /home/.../bin [06:59] manveru: ok [06:59] Tim_Smart: then try again, and don't worry about the error about installing the docs [07:00] manveru: nice, thanks [07:01] nofxx: Anyone playing with faye? I'm trying a client.publish and it goes kinda well, except I got the string as an ascii int's array [07:01] nofxx: [102, 111, 111] instead of "foo" [07:02] manveru: Tim_Smart: runs fine :) [07:02] manveru: biggie-router, i mean [07:02] Tim_Smart: Cool [07:03] mrd` has left the channel [07:06] mscdex: nofxx: sounds like it's using sys.inspect somewhere maybe [07:06] mscdex: just a guess [07:06] Tim_Smart: mscdex: sys.inspect doesn't convert to int arrays [07:08] manveru: Tim_Smart: is there some way to stream files directly? [07:08] Tim_Smart: manveru: The static library does stream files [07:08] manveru: ok, nm then :) [07:09] Tim_Smart: manveru: http://github.com/biggie/biggie-router/blob/master/lib/biggie-router/modules/static.js#L52 [07:09] Tim_Smart: It uses a pump, and if you are gzipping it also, it will pump to gzip, which will pump to socket [07:10] manveru: so all you need now is lots of middlewares? [07:10] Tim_Smart: manveru: Me and creationix are working to make the API for connect and biggie the same [07:10] Tim_Smart: (for modules) [07:10] Tim_Smart: connect already has quite a few modules at this stage [07:10] manveru: alright :) [07:11] manveru: i'm late, i guess [07:11] _announcer: Twitter: "I just had a "WOW!!" movement. For those of you who are interested, it involved JavaScript and node.js :)" -- Sudar. http://twitter.com/sudarmuthu/status/16911639477 [07:11] nofxx: should be missing something, gonna read lil more, thanks [07:11] mikeal has joined the channel [07:12] manveru: Tim_Smart: you got a usage example for static? [07:12] Tim_Smart: Sure. I'll chuck one on gist now [07:13] virtuo has joined the channel [07:13] b_erb has joined the channel [07:14] _announcer: Twitter: "@ Margincon as without expressive Semenov and such topics as fertile node.js. Sad: (" [ru] -- Edward Tsech. http://twitter.com/edtsech/status/16911769771 [07:14] mscdex: Tim_Smart: it did when i have done that in the past [07:15] manveru: Tim_Smart: i think i got it [07:16] manveru: Tim_Smart: http://gist.github.com/451105 [07:16] Tim_Smart: manveru: You can update biggie if you want (npm install biggie-router) [07:16] Tim_Smart: I just fixed a silly bug in static [07:17] Tim_Smart: manveru: Yeah that look good [07:17] Tim_Smart: looks* [07:17] manveru: alright [07:18] Tim_Smart: manveru: This will gzip js and css files http://gist.github.com/451107 [07:19] manveru: do you need to match the start of the string? [07:19] mscdex: oh, maybe it was when inspecting a Buffer then [07:19] manveru: /\.(css|js)$/ should work [07:19] Tim_Smart: manveru: You don't want to gzip images and things [07:19] Tim_Smart: manveru: Yeah it would :) [07:20] manveru: sorry, nitpicking ^^; [07:20] Tim_Smart: Unless a querystring was append to the url [07:20] Tim_Smart: Then none of them would match :p [07:20] manveru: oh? [07:21] Tim_Smart: Actually, it would [07:21] manveru: i thought node split the query string from the path somewhere [07:21] Tim_Smart: no, it wouldn't haha [07:21] Tim_Smart: it doesn't get split [07:21] manveru: hmm [07:22] Tim_Smart: I suppose I could patch that [07:22] manveru: url templates would be cool [07:22] Tim_Smart: Open a ticket :) [07:23] manveru: heh [07:23] manveru: http://code.google.com/p/uri-templates/ [07:24] manveru: seems like the javascript implementation is gone [07:27] mattly has joined the channel [07:30] manveru: Tim_Smart: done [07:34] markwubben has joined the channel [07:38] BennyBorn has joined the channel [07:38] BennyBorn: hi everyone [07:39] BennyBorn: anyone knows how to do file downloads in node? [07:40] Tim_Smart: BennyBorn: You can use the http client [07:40] BennyBorn: what about proxy support think this cant be done by http client right? [07:41] ph^ has joined the channel [07:41] Tim_Smart: Not sure to be honest [07:41] BennyBorn: k but thanks for the moment [07:43] ollym has joined the channel [07:44] teemow has joined the channel [07:46] Ori_P has joined the channel [07:50] unomi has joined the channel [07:55] teemow has joined the channel [07:56] ph^_ has joined the channel [07:56] javajunky has joined the channel [07:57] mklappstuhl has joined the channel [08:02] javajunky: does anyone know if I can *UN*publish from npm .. .somehow my package is screwed and it won't let me re-publish it :( [08:02] BennyBorn has left the channel [08:04] tav_ has joined the channel [08:05] mAritz has joined the channel [08:06] ph^ has joined the channel [08:06] _announcer: Twitter: "So anyway, toys aside :) This _is_ SSJS. +1 for App Engine, http://www.gmosx.com/blog/agVnbW9zeHIPCxIHQXJ0aWNsZRjh2gEM/ringojs-vs-nodejs" -- psvensson. http://twitter.com/psvensson/status/16913959318 [08:11] nuba has joined the channel [08:12] keyvan has joined the channel [08:12] markwubben has joined the channel [08:19] mape: Yeah read about it before [08:19] mape: know isaacs has talked about it, backlog some? [08:20] Tim_Smart: javajunky: npm unpublish package_name version [08:20] javajunky: ty [08:21] mitkok has joined the channel [08:22] tisba has joined the channel [08:23] keeto has joined the channel [08:26] jetienne has joined the channel [08:27] markwubben_ has joined the channel [08:29] xla has joined the channel [08:30] mostlygeek has joined the channel [08:30] Tim_Smart: mde: ping [08:35] caolanm has joined the channel [08:43] jedschmidt has joined the channel [08:48] keyvan has joined the channel [08:51] sztanpet has joined the channel [08:56] stephenjudkins has joined the channel [09:01] kjeldahl has joined the channel [09:02] saikat has joined the channel [09:03] zomgbie has joined the channel [09:03] mitkok has joined the channel [09:05] teemow has joined the channel [09:07] tlrobinson_ has joined the channel [09:12] maushu has joined the channel [09:13] maushu: _utility?! [09:13] maushu: A CHALLENGE APPEARS! [09:16] maushu: Dammit, maybe I should hurry up and implement this. [09:17] caolanm: ? [09:19] _announcer: Twitter: "an interesting node.js. Let's go back a bit while playing." [ja] -- KUROKI Ippei. http://twitter.com/pantherhead/status/16916868160 [09:21] mAritz: i suspect maushu to be on serious drugs. how else would he have thought it would be a good idea to have a twitterbot in here? [09:21] dahankzter: someone complained when it was off :D [09:22] caolanm: ACTION likes the twitterbot [09:23] mAritz: oO [09:26] jos3000 has joined the channel [09:26] findyourownpath has joined the channel [09:31] mape: Gah why can't MS just update IE 6/7/8 to user IE9 when it comes out if there is a meta tag that states the page is designed to do so [09:32] maushu: mAritz: ryah wanted it, I think. [09:32] maushu: And someone did complain it was off. [09:32] maushu: I think it was mape. [09:32] mAritz: mape isn't sane either, so that doesn't count. look at him still having hopes for ie9... :P [09:33] mape: I complained it was off? I have ignore on it :P [09:33] maushu: Ok, it was someone with m* in their name. [09:33] mAritz: not me! [09:33] maushu: mscdex, I think. [09:33] mape: only 17 people to choose from [09:33] mAritz: i'd ignore it too, if it wasnt' for the occasional laugh from japanese twittertexts :P [09:34] mAritz: ACTION is away eating [09:34] mape: mAritz: Well it isn't like it would be an issue, as long as they keep IE6 shitty and the IE9 stuff only worked when adding a meta [09:34] mape: Wouldn't break 10year old intranetstuff from banks [09:41] _announcer: Twitter: "@RussB @mbuckbee And we are very happy running our Adserver with Node.js in live production environment #adcloud" -- Oliver Thylmann. http://twitter.com/othylmann/status/16917739851 [09:43] keyvan has joined the channel [09:48] _announcer: Twitter: "I want the task to which you want to would node.js or any Lisp. time to teach something new, but just read the documentation was not serious." [ru] -- gearheart. http://twitter.com/gearheart/status/16918028770 [09:56] _announcer: Twitter: "@marksimpkins looks really interesting... wanting to play with this and the AppEngine ChannelAPI / node.js or other Comet like thing..." -- Chris Thorpe. http://twitter.com/jaggeree/status/16918352328 [09:59] freshtonic has joined the channel [10:00] jedschmidt has joined the channel [10:03] jetienne has joined the channel [10:05] sztanpet has joined the channel [10:05] mAritz: mape: i was referring to the total lack of awesomness in ie9 that quite honestly is pretty disturbing. :( [10:06] dwww has joined the channel [10:12] mitkok has joined the channel [10:13] hellp has joined the channel [10:16] dabreaka has joined the channel [10:30] jedschmidt has joined the channel [10:34] BennyBorn has joined the channel [10:34] mAritz: okay, apparently ie9 has been improved pretty majorly in the last weeks. so disregard my previous statement. [10:35] BennyBorn: its me again got a little debugging problem. how can i print an objects content? [10:35] BennyBorn: a simple sys.print only says thats an object [10:35] BennyBorn: need something similar to php's print_r() [10:37] mikekelly has joined the channel [10:38] mikekelly: anyone here interested in helping me build a node framework that shoots for something in between rails + sinatra ? :) [10:40] fermion has joined the channel [10:41] caolanm: BennyBorn: sys.puts(sys.inspect(obj)) [10:41] caolanm: used to be sys.p(obj) as a short-hand, but I think that's being removed soon [10:42] caolanm: mikekelly: express is sinatra-inspired I think [10:42] caolanm: oh you said 'build' [10:43] caolanm: no :P [10:45] BennyBorn: @caolanm thanx... was there any notice that sys.p will be removed? because i really like that shortcut - saves time ;) [10:45] caolanm: I think if you try it now you'll get a message printed out saying its about to be removed, don't know much more than that [10:46] caolanm: I quite like it too personally [10:46] BennyBorn: ah ok thanx that helped me very much [10:46] caolanm: its a common thing to do when debugging [10:46] mikekelly: caolanm: yeah express is ok, I guess :) [10:46] caolanm: mikekelly: :) [10:46] caolanm: I've not used it myself [10:46] caolanm: but it looks cool [10:47] mikekelly: it's based on sinatra, it's cool for getting something up really fast but it doesn't do enough imo [10:48] caolanm: much better to contribute to the project or create modules that extend it rather than starting from scratch [10:49] caolanm: but hey, if you want to build a framework from scratch I can understand that ;) [10:49] mikekelly: well I sort of disagree on principal [10:49] caolanm: oh really? [10:50] Tim_Smart: mikekelly: Looked at geddy? [10:51] mikekelly: woops, no. :) [10:51] mikekelly: looking now ;D [10:57] Tim_Smart has joined the channel [10:59] keyvan has joined the channel [11:00] mikekelly: Tim_Smart: good shout, looks pretty interesting/railsy :-) [11:01] dahankzter: express+mongo covers most needs i would say [11:01] mikekelly: the problem with something like express is that it's not a particularly good DSL [11:02] dahankzter: DSL and in domain language? [11:02] dahankzter: s/and/as/ [11:02] mikekelly: right [11:03] dahankzter: ye you have to wrap it up your self so something railsy on top would maybe be nice [11:03] mikekelly: I think there's a really good argument for doing that (provided you only constrain what's absolutely necessary) given the uniform nature of the web [11:03] dahankzter: still i think ruby has the edge as far as dsls go [11:04] mikekelly: sure, it's cute :) [11:05] dahankzter: its the one thing that is really its edge, to easily create internal dsls really fast [11:05] dahankzter: the rest is just well standard stuff, knock, knock [11:06] mikekelly: fwiw, this is the sort of API/DSL I'm looking for: http://gist.github.com/451295 [11:14] BennyBorn has left the channel [11:17] keyvan has joined the channel [11:18] dahankzter: Resource thinking (and how to easily create them) is really valuable [11:18] ChrisPartridge has joined the channel [11:18] pkrumins: test [11:19] dahankzter: I can't really tell if someone has made anything like this for node but adding to express should be possible, at least worth trying [11:23] Gruni has joined the channel [11:31] jedschmidt has joined the channel [11:32] sztanpet has joined the channel [11:37] sztanphet has joined the channel [11:41] ewdafa has joined the channel [11:46] dabreaka has joined the channel [11:53] _announcer: Twitter: "it looks to me the biggest challenge in #nodejs is error handling and understanding when request event of http.server emits." -- Hsiu. http://twitter.com/normanzb/status/16923538509 [11:58] Paul_Wells has joined the channel [12:02] Paul_Wells has joined the channel [12:07] Paul_Wells has joined the channel [12:17] _announcer: Twitter: "The key principle to software community success (aka why Node.JS is great) http://bit.ly/a3bAET" -- Jakub Nesetril. http://twitter.com/jakubnesetril/status/16924819079 [12:18] jashkenas has joined the channel [12:19] jherdman has joined the channel [12:20] Paul_Wells has joined the channel [12:21] jherdman has joined the channel [12:28] lorewarden has joined the channel [12:30] jetienne has joined the channel [12:30] dwww has joined the channel [12:30] mitkok has joined the channel [12:32] _announcer: Twitter: "Great article about node.js and how it works. It sounds really good but I would'nt use it. http://is.gd/d1YPx" -- Captain Obvious. http://twitter.com/ObviousCaptain/status/16925647606 [12:34] dgathright has joined the channel [12:38] mklappstuhl has joined the channel [12:41] gf3 has joined the channel [12:43] JAAulde has joined the channel [12:45] mape: http://jsconf.blip.tv/the (fab) talk is out :) [12:48] kriszyp has joined the channel [12:48] slaskis_ has joined the channel [12:49] ajpiano has joined the channel [12:51] mw has joined the channel [12:52] _announcer: Twitter: "Write your whole stack in JavaScript with Node.JS http://ff.im/mDj2t" -- antest. http://twitter.com/antest/status/16926768360 [12:53] davidsklar has joined the channel [12:56] chrischris has joined the channel [12:56] jetienne has joined the channel [12:59] _announcer: Twitter: "pdf.js - create basic pdf files in the browser and node.js: http://bit.ly/bhugG6" -- Shatheeswaran. http://twitter.com/Evercome/status/16927199405 [12:59] lorewarden has left the channel [13:01] andrewhampton has joined the channel [13:10] _announcer: Twitter: "I want to do a cool real-time project with node.js. Thinking analytics like chartbeat." -- Dan DeFelippi. http://twitter.com/ExpertDan/status/16927899580 [13:11] _announcer: Twitter: "via Del.icio.us : pdf.js - create basic pdf files in the browser and node.js: http://bit.ly/bhugG6 #social #networking" -- Karen Kinnaman. http://twitter.com/KarenKinnaman/status/16927997761 [13:11] _announcer: Twitter: "#delicious_hotlist pdf.js - create basic pdf files in the browser and node.js http://bit.ly/9zMLV2" -- redes sociales web. http://twitter.com/redesocialesweb/status/16927997950 [13:15] tmpvar has joined the channel [13:17] TheEnd2012 has joined the channel [13:18] mtodd has joined the channel [13:18] mtodd has joined the channel [13:20] bradleymeck: so I managed to get an oauth pin for node-oauth, anyone know how to set it in my OAuth object? [13:25] findyourownpath has joined the channel [13:27] mape: hmm nodeknockout, wasen't the max amount of teams 200+ [13:27] mape: *-+? [13:28] bradleymeck: no idea mape [13:29] bradleymeck: oh and btw you can impl nosuch method on object using node-overload [13:29] sanderjd has joined the channel [13:30] mape: Wonder what kinda stuff will come out of nodeknockout [13:30] mape: how much is useful and how many are just neat little things [13:30] bradleymeck: i know what im making [13:30] mjr_: Either way, everybody wins. [13:30] mape: For sure [13:31] mape: should just bundle the best ones, have a nodeexamples.com and let em sit [13:31] mape: So people can get a taste [13:31] mjr_: How do we make sure that people don't just take an already started project that hasn't yet been on github and use it for nn? [13:32] mape: That is a hard one, I would imagine some people "prepare" [13:32] bradleymeck: id just ask github if they could do a code search as sponsers [13:32] bradleymeck: im making libs to help when the time comes, but that helps us all so meh [13:32] mape: Perhaps with designs for their site or whatnot [13:32] mjr_: right, but I know that I have several already started projects in a private svn repo, before I discovered git and github. [13:33] mape: Well, I don't really se an issue if people have unfinished projects and they release it as the node fest [13:33] mape: As long as the prizes arent macbooks or whatnot [13:33] bradleymeck: maybe automate a push/pull every8hrs aprox? [13:33] mape: Probly better if there were no prices so it was just for fun [13:33] andrewhampton has left the channel [13:33] mjr_: yeah, I guess the point is to get people excited about node, not so much to "win". [13:33] mape: Yeah, get neat stuff out [13:34] bradleymeck: maushu, what are you implementing, im working on _utility, might be able to merge our stuff [13:34] mape: Was also thinking about how much one should use finished stuff [13:35] tmpvar: morning [13:35] mape: If I need to do websockets, are people going to whine if I use something finished? Or is a mashup equally neat if the idea is good? [13:35] javajunky: bradleymeck: sounds like you're having fun with oauth there [13:35] bradleymeck: oauth is terrible for non browser it seems [13:35] mape: hehe [13:35] javajunky: have you read through their docs on the workflow [13:35] bradleymeck: i have been [13:36] mape: javajunky: nodeknockout? [13:36] bradleymeck: for 3 hrs [13:36] mape: oh, oauth? [13:36] javajunky: I have to admit I wrote node-oauth with browser based in mind, but I'm sure someone else has got the pin stuff working previously [13:36] bradleymeck: seems i have to change the access url to have an additional param [13:37] bradleymeck: testing that now... /crosses fingers [13:37] ithinkihaveacat has joined the channel [13:37] javajunky: the api should support passing of arbritary + additional parameters, as one of the optionals, but i may have screwed it up [13:38] visnup has joined the channel [13:38] ithinkihaveacat: does nodejs have 64-bit support? i thought it did but nodejs.org says V8 only supports IA-32 and ARM [13:39] bradleymeck: it doesnt use the 64bit asm but yes i would call running on a 64bit machine support [13:40] ithinkihaveacat: bradleymeck: so there's essentially no limit on the amount of memory it can use? [13:40] dummytester has joined the channel [13:40] bradleymeck: im not sure i understand that question [13:40] javajunky: bradleymeck: http://groups.google.com/group/twitter-development-talk/browse_thread/thread/c3a43500531dd28f/58bc979f424ef3f6 [13:41] javajunky: bradleymeck: Steps 1 + 2 definitely work ok. [13:41] bradleymeck: yea, got those working fine [13:41] javajunky: I wonder if I've not exposed oauth_verifier [13:42] javajunky: yeah, oops [13:42] javajunky: getOAuthAccessToken should take an optional oauth_verifier [13:42] bradleymeck: aaaah [13:42] ithinkihaveacat: bradleymeck: so the nodejs process can be bigger than 4GB? (i'm not really sure what the implications of not being 64bit asm are--what would 64bit asm do?) [13:43] bradleymeck: depends on operating system and extended memory address support ithinkihaveacat [13:43] javajunky: bradleymeck: sorry about that, Feel free to fork (if you can provide a an example for the readme that would probably help others, I can't fix it directly right now, but busy :( ) [13:43] bradleymeck: s'fine know what to fix now w/ that doc <3 U [13:44] javajunky: np, sorry I screwed you :( [13:46] _announcer: Twitter: "[The] [from andreww] serverjs.org - RingoJS vs NodeJS: http://url4.eu/4xzSa" [es] -- sldfjd ldajds. http://twitter.com/sldfjd/status/16930252709 [13:47] mitkok has joined the channel [13:48] tmpvar: bleh [13:49] tmpvar: I am _done_ with java [13:49] bradleymeck: but but, i want to send buffers to streams to readers to scanners! [13:50] bradleymeck: and i want it to be painful for any end user to execute my program w/o CS101 [13:50] stagas has joined the channel [13:51] tmpvar: it's all just so frustrating [13:51] zaach has joined the channel [13:51] mape: tmpvar: But it is so enterprisey [13:52] tmpvar: yeah, i guess thats how you make the real money [13:52] tmpvar: without getting anything done [13:52] tmpvar: blah. [13:53] bradleymeck: with out new java6.0 we have updated our api to use new nomenclature and become more mysterious in what it actually does, now you can do just what you do w/ javascript with java.scripting in JAVA! And its got books so you know its good [13:54] tmpvar: books and training sessions [13:55] caolanm: this might be a dumb question, but when js is turned off and someone visits a url like /#path/and/page_state, is there any way to preserve that state? [13:55] caolanm: it commonly used for history support and to allow the sending of urls to a specific view in an ajaxy app [13:56] bradleymeck: well yes if they enter that as the request rather than get sent their by a link in the page [13:56] caolanm: yeah, thats what I was hoping, but the browser doesn't seem to be sending it in the request [13:56] caolanm: :\ [13:56] tmpvar: #... isnt sent in the request [13:56] bradleymeck: #!is for ajax but #is for anchor [13:57] caolanm: tmpvar: right [13:57] bradleymeck: you can send it, most browsers dont though [13:57] tmpvar: right, its not standard [13:57] caolanm: so, is there any way around that? [13:57] JAAulde has left the channel [13:57] bradleymeck: might be stuck using ?state [13:57] femto has joined the channel [13:58] caolanm: sites like facebook seem to mix the two to provide a fallback for non js while adding finer-grained support using the hash [13:59] bradleymeck: there are some odd things you could do with sessions i guess if you want to keep all that user data lying about but then again query params are more accepted for page loading initial state than hashes are [14:00] caolanm: but you can't use query params to store js state right? [14:00] bradleymeck: no, would cause a refresh [14:01] bradleymeck: you could track where a user is w/ sessions but thats server side storage [14:01] jashkenas: caolanm: what particular bit of state are we talking about here? [14:02] bradleymeck: could store em in cookies but then thats only 1 state per browser :/ [14:03] markwubben has joined the channel [14:03] caolanm: jashkenas: for example, which view in a web app [14:04] caolanm: allowing you to do client side templating etc [14:04] caolanm: I suppose the only real answer is to just not support non-js browsers? [14:04] jashkenas: but you have to mimic the navigation on the server-side as well for browsers with ajax turned off? [14:04] jashkenas: yeah, that's the most pleasant answer. [14:04] caolanm: that's the idea [14:04] jashkenas: ugh [14:05] kodisha has joined the channel [14:05] bradleymeck: unless you want to sent the initial page render from the server side id agree just dont support non-js [14:05] bradleymeck: s/sent/send/ [14:06] jbrantly1 has joined the channel [14:07] JimBastard has joined the channel [14:08] caolanm: anyone know some recent research into the number of users that have js turned off? ;) [14:08] bradleymeck: we got a blocking readline lib out somewhere, or something where i can hold the readline waiting on a request w/ callback (too many data listeners) [14:09] bradleymeck: few enough that companies barely care? [14:09] jashkenas: caolanm: even sites like youtube don't work with JS off. [14:09] jherdman has joined the channel [14:10] JimBastard: caolanm: yeah there are numbers for all of this [14:11] JimBastard: caolanm: im pretty sure NOSCRIPT is < 5% [14:11] JimBastard: obviously its different for every site though [14:11] jashkenas: you can't believe the numbers for things like that .... different for every site. spiders throw it off ... [14:11] JimBastard: i would think more people reading hacker news would have NOSCRIPT installed then people reading perezhilton [14:11] jashkenas: spiders pretending to be firefox or ie. [14:11] jashkenas: etc. [14:11] JimBastard: aye [14:11] caolanm: heh [14:12] caolanm: yeah, depends on your target audience of course [14:12] caolanm: just tried youtube, turns out jashkenas is right ;) [14:12] jashkenas: caolanm: just do it. now that IE9 is going to have Array#indexOf, javascript is the future ;) [14:12] caolanm: haha [14:14] mklappstuhl has joined the channel [14:17] creationix has joined the channel [14:18] pgriess has joined the channel [14:19] stagas_ has joined the channel [14:20] bradleymeck: sweet jesus got it working [14:20] mape: jesus uses node? [14:20] javajunky: bradleymeck: cool, did the verifier help ? [14:20] bradleymeck: yub [14:20] bradleymeck: now gotta make it not hacky [14:21] mape: http://techcrunch.com/2010/06/23/sencha-html5-funding-sequoia [14:21] mape: Sequoia Capital Leads $14 Million Round For Sencha�s HTML5 Frameworks [14:22] mape: guess creationix is in for the long haul :P [14:22] javajunky: bradleymeck: I really am sorry about that, please patch it , its dead easy, just make the getaccesstoken take an optional verifier argument (which you then check to see if its a function, if it isn't a function then you set it, otherwise you set the value of the callback parameter to be it ) … I miss promises *sigh* [14:23] mcz has joined the channel [14:23] bradleymeck: yea, just going to make a wrapper for some other evil stuff like expiration of verifier [14:23] mcz: hi everyone [14:23] bradleymeck: this weekend should have all that [14:23] jashkenas has left the channel [14:25] creationix: mape: :) [14:26] mape: creationix: so nodejs full time now? :) [14:26] creationix: yep [14:26] mape: neat [14:26] creationix: we'll probably announce connect on the sencha side once it's beta stable [14:26] creationix: it's still alpha at the moment [14:27] mape: guess locking the api is the first move [14:27] creationix: yep [14:28] creationix: and I think I got it, but I've got to rewrite EVERYTHING now [14:28] creationix: about halfway done with the rewrite [14:28] mape: hehe [14:28] creationix: then I'll make a real app or two on it to test it out [14:28] creationix: my goal is to be done by end of next week [14:29] caolanm: I really want to build something with connect soon... need. more. time. [14:29] mape: I guess I'll try it out but converting the assets thing, which seems easy enough [14:30] creationix: mape: yeah, should be easy enough [14:30] creationix: just use the closure branch [14:31] creationix: it's mostly converted, but all the docs and tests are still on the old api [14:31] Stephen has joined the channel [14:31] mape: who needs tests or docs.. hehe [14:31] creationix: caolanm: I understand the whole need more time thing [14:31] creationix: I worked 12 hours yesterday and felt like I got nothing done [14:31] creationix: just so much to do [14:32] caolanm: hey, at least you're working with node full time ;) [14:32] BennyBorn has joined the channel [14:33] _utility has joined the channel [14:33] BennyBorn: Does someone know how to do a unix-crypt() in node? [14:33] Stephen: How are works towards an Asynchronous MySQL driver coming along? [14:33] bradleymeck: !tweet now even easier to respond to twitter ... next stack overflow [14:33] blowery: anyone working on a campfire clone in node? [14:34] bradleymeck: !twitter hehe bothering _announcer on #node.js [14:34] mape: not working? [14:35] bradleymeck: mmm? [14:35] bradleymeck: how odd, seems to have cut off my tweet, [14:35] JimBastard: Stephen: check the modules page on the wiki [14:37] softdrink has joined the channel [14:37] _utility has joined the channel [14:37] mape: !twitter åäöÅÄÖ\n\\N\t汉\字-\r [14:37] bradleymeck: ok fixed that [14:37] bradleymeck: mape you dont have voice [14:38] bradleymeck: !grant mape voice [14:38] mape: Aww [14:38] _announcer: Twitter: "@pragma_tech Have you been using all this node.js stuff at work or are you doing a pet project?" -- LeeHester. http://twitter.com/LeeHester/status/16933749060 [14:38] mape: !twitter åäöÅÄÖ\n\\N\t汉\字-\r [14:38] bradleymeck: use tweet [14:38] bradleymeck: should combine those... on diff privileges... [14:38] mape: hehe "Twitter is over capacity." [14:39] mape: !tweet åäöÅÄÖ\n\\N\t汉\字-\r [14:39] mape: Fancy [14:39] JimBastard: bradleymeck: you got him working? [14:39] mcz: how do i store float values in a Buffer()? could anyone help a bit? [14:40] JimBastard: can we repsond to twitters from the anncoucer yet? [14:40] bradleymeck: yea, waiting on announcer to confirm, but https://twitter.com/nodejsbot is showing right [14:40] bradleymeck: yub, use !tweet msg (your name is appended to end so be short and sweet) [14:40] maushu: Announcer decided that nodejsbot is a bot and its ignoring you. [14:40] JimBastard: !tweet do i haz +v ? [14:40] mape: jup seems to work [14:41] bradleymeck: !grant jimbastard voice [14:41] JimBastard: !tweet do i haz +v ? [14:41] mape: bradleymeck: voice is persistant? And perhaps use @name instead of -- name? [14:41] mape: (people should really use the same nick on irc/twitter) [14:41] bradleymeck: can do that later, workies [14:41] mape: jup [14:41] JimBastard: mape: i dont use twitter :-D [14:41] kevwil has joined the channel [14:41] mape: sure you do, when asking for forgivness after stealing code! [14:42] mape: but now, beers [14:42] caolanm: \o/ [14:42] sechrist has joined the channel [14:42] JimBastard: mape i didnt ask any for fogiveness about anything [14:42] caolanm: stupid timezone, I'm still at work [14:42] JimBastard: fuck that patorjk guy [14:42] JimBastard: if i was a younger bastard id take down his wordpress 2.9.2 [14:42] sechrist_ has joined the channel [14:42] JimBastard: i actually do have better things to do [14:43] bradleymeck: mmm seems my grant is case sensitive, are irc names sensitive? [14:43] JimBastard: bradleymeck: no? [14:43] caolanm: don't think so [14:43] sechrist_: in soviet russia -- sensitive case you [14:43] caolanm: might depend on the server [14:43] JimBastard: sechrist_: dont be insensitive case [14:43] creationix has joined the channel [14:43] mape: bradleymeck: perhaps like " via @twattername" [14:43] sechrist_: speaking of which [14:43] sechrist_: I pick up my iphone 4 in like 30 mins [14:44] sechrist_: I'm scared it'll have a fucked up screen or the antenna problem [14:44] bradleymeck: !grant ryah voice [14:44] bradleymeck: !grant JimBastard voice [14:44] JimBastard: bradleymeck: you wanna try to voice me again? [14:44] JimBastard: thanks [14:44] mape: sechrist_: leftie? [14:44] JimBastard: !tweet i promise to only use this for good and to halp people [14:44] sechrist_: i'm a right handed guy yeah [14:44] caolanm: why would you grant JimBastard voice?? ;) [14:44] JimBastard: brb meeting [14:44] sechrist_: the solution is apparently to get a bumper case or anything separating skin from metal [14:44] mape: then you re good [14:44] sechrist_: I totally expected this [14:44] caolanm: that's just asking for a lawsuit [14:45] sechrist_: as soon as my lord and savior said that that was the antenna system [14:45] sechrist_: I went oh shit [14:45] sechrist_: that's gonna suck [14:45] mape: never get rev1 of apple stuff [14:46] blowery: but this is rev 4 :) [14:47] mape: rev 1 of version 4 [14:47] tmpvar: iphone 0.4.1 [14:49] sechrist_: it'll be fine [14:49] Yuffster has joined the channel [14:49] sechrist_: yellow band phones are getting replaced but I'm concerned i'll have to wait awhile due to lack of shipment [14:49] _announcer: Twitter: "As node.JS starts really picking up steam, whatever happened to Jaxer? How about Steve Yegge's Rhino on Rails? :)" -- jamescarr. http://twitter.com/jamescarr/status/16934555584 [14:50] sechrist_: http://www.youtube.com/watch?v=K7-OBoDFeDY oh that's painful [14:52] _announcer: Twitter: "Something I once went out sharply against the Node.js after he saw how much has been written under her # nodejs" [ru] -- Alexey Gromov. http://twitter.com/phpinfo/status/16934755860 [14:52] sechrist_: the iphone 3G is having the antenna problem [14:52] sechrist_: which is crazy [14:53] TomY has joined the channel [14:54] joshbuddy has joined the channel [14:55] JimBastard: caolanm: i wouldnt fuck with the nodejsbot, ive been wanting to get this shit working for a while now [14:55] JimBastard: its really annoying to see people ask questions about node on twitter and not be able to easily answer them [14:55] JimBastard: i refuse to use twitter.com [14:55] JimBastard: or any of these fucking decks [14:55] JimBastard: ill answer questions though from IRC, thats way easier [14:56] caolanm: have to agree, this is a cool idea [14:56] _announcer: Twitter: "I really dig the colored ./configure of node.js, or is that just everywhere and did I just accidentally setup my tty correctly? :)" -- Sander van de Graaf. http://twitter.com/svdgraaf/status/16935042970 [14:58] caolanm: can has voice? ...I love teh newbs [14:58] JimBastard: !tweet @svdgraaf if you like colors in your nodejs console check out http://github.com/marak/colors.js [14:58] JimBastard: i hope that works [14:58] caolanm: yep, I see it [14:58] JimBastard: maushu: can we get the twitter handle to show up from _accouncer, i had to go open that link and copy and paste [14:59] b_erb has joined the channel [14:59] steadicat has joined the channel [14:59] JimBastard: bradleymeck: what happens if we get over 140 chars? is it gonna truncate it? if so can we have it stop hammer time and throw and error message in IRC? [15:00] KungFuHamster: wootoff btw http://www.woot.com [15:00] mitkok has joined the channel [15:01] bradleymeck_ has joined the channel [15:04] [[zz]] has joined the channel [15:06] sechrist_: WOOTOOOOFFFF?@??@@? [15:06] sechrist_: but that's a stupid item [15:07] Stephen has left the channel [15:11] bradleymeck_: did announcer ever ping off that tweet? [15:12] mAritz: is there a way to purchase from woot from europe? (some kind of proxy service maybe?) [15:13] maushu: JimBastard: wut. [15:13] maushu: Ah, I see. [15:14] bradleymeck_: !tweet testing again for announcer node.js nodejs #node.js [15:14] mcz has left the channel [15:15] maushu: JimBastard: wait, isn't the link in the url already? [15:15] bradleymeck1 has joined the channel [15:15] maushu: I mean, the twitter handle. [15:17] stalled has joined the channel [15:18] derferman has joined the channel [15:21] jedschmidt has joined the channel [15:23] JimBastard: maushu: lol fail [15:23] stevendavie has joined the channel [15:24] JimBastard: maushu: what the triggers accouncer looks for? [15:24] JimBastard: "node.js" ? nodejs #nodejs ? [15:25] softdrink: omgnodejs [15:25] softdrink: nodejsponies [15:25] softdrink: ¬¬ [15:26] micheil has joined the channel [15:26] maushu: JimBastard: pretty much. [15:26] micheil: ryah: signed'ed [15:27] JimBastard: !tweet little known fact, if you mention #node.js #nodejs node.js in your tweet, the node irc room sees it...and can answer you [15:27] maushu: It also does ultra mega secret verifications to see if you are a bot. [15:27] maushu: Which nodejsbot is. [15:27] JimBastard: so it wont repost answers then? [15:27] creationix has joined the channel [15:27] maushu: It should. It just will not post stuff from nodejsbot. [15:28] sanderjd has joined the channel [15:29] mscdex: #nodejsninja [15:29] softdrink: a "nodeja" if you will? [15:29] mscdex: i won't [15:29] mscdex: :-D [15:29] mscdex: nodeja = japanese node [15:30] bradleymeck: could it be cause im using oauth on it? [15:31] bradleymeck: from an application to tweet [15:31] kevwil_ has joined the channel [15:31] teemow has joined the channel [15:35] chadj has joined the channel [15:37] maushu: bradleymeck: Hmm? [15:37] maushu: The bot detecting thing? [15:38] ryah: micheil: thanks [15:38] micheil: no worries [15:39] mscdex: domo arigato mr. _announcer [15:39] mscdex: :-D [15:39] bradleymeck: ya [15:40] micheil: ryah: did I have an iou out to you for patches? [15:41] ryah: micheil: hm [15:41] ryah: micheil: probably :) [15:41] ryah: but i'm blanking right now [15:41] micheil: okay, well, they'll be atleast 2 weeks away [15:41] micheil: I'm currently involved in a theatre production, which has 100% of my time [15:42] ryah: micheil: are you acting? [15:42] micheil: nup [15:42] creationix: ryah: did you still want a patch to make stream.pause buffer internally [15:42] creationix: so events don't leak [15:42] micheil: audio / visuals team [15:42] ryah: creationix: http.IncomingMessage only [15:42] ryah: creationix: sure [15:43] creationix: ryah: not all streams? [15:43] ryah: http messages are the only ones that don't follow it [15:43] chadj: Is it recommended to run a node.js webapp behind a reverse proxy? [15:43] creationix: really? [15:43] creationix: chadj: I know it's done a lot with nginx [15:47] chadj: creationix: Ok that makes sense. Nginx also is non blocking ..... [15:47] maushu: chadj: It gives more protection and load balancing out of the box. You sacrifice streaming though. [15:47] maushu: Every connection is buffered. [15:47] chadj: maushu: Buffered where? In Nginx ? [15:48] maushu: Yes. [15:48] maushu: Both response and request are buffered. [15:48] chadj: Hmm, even in the case of file uploads? [15:48] maushu: Specially in the case of file uploads. [15:49] chadj: Not that this is the forum for this question but I'm curious now. Does it spool the upload out to disk then? [15:49] maushu: Memory. [15:49] cloudhead has joined the channel [15:49] chadj: Well that doesn't make sense. You couldn't do large file uploads or downloads then .... [15:50] mscdex: i use haproxy without any problems? [15:51] jedschmidt: mape: thanks for the heads up, man that's hard to watch... [15:51] chadj: mscdex: Is haproxy a blocking server? [15:51] CIA-76: node: 03Ryan Dahl 07master * r0499618 10/ doc/api.markdown : Edit binary encoding docs - [15:52] ryah: chadj: what would that matter? [15:52] ryah: ut it's an event loop [15:52] ph^ has joined the channel [15:53] ryah: (or rather, what does that mean?) [15:53] chadj: ryah: Well don't you loose the scalability benefits of non-blocking io when Node.js is hidden behind a threaded rev proxy? [15:54] mscdex: haproxy is event-driven [15:55] _announcer: Twitter: "Writing a memcached client in node.js is proving to be much easier than anticipated." -- Kyle Slattery. http://twitter.com/kyleslattery/status/16939634060 [15:56] ryah: chadj: haproxy is good software, you don't have to look inside :) [15:57] creationix: from what I hear, haproxy scales the best as a pure reverse proxy [15:57] creationix: but I haven't personally tested it [15:57] mscdex: yeah, it's easy to setup load balancing [15:57] creationix: I just use nginx for vhost and reverse proxy to node apps [15:57] chadj: ryah: Oh I don't doubt that. I'm talking theoretical here. The better example would be rev proxy'ing to Node.js from Apache + mpm_worker [15:58] mscdex: don't do that lol [15:58] kevwil has joined the channel [15:58] chadj: :) [15:58] ryah: i can't gt into google groups to moderate messages :/ [15:59] ryah: oh works on safari [16:00] ryah: also- over 1600 users in the group [16:00] bradleymeck: there is a redirect loop error [16:01] bpot has joined the channel [16:04] mostlygeek has joined the channel [16:04] kersny has joined the channel [16:04] _announcer: Twitter: "Really want to try writing some server-side app using just node.js. But what to build..." -- Steve Streza. http://twitter.com/SteveStreza/status/16940437912 [16:06] bradleymeck: well guess its for the best _utility doesnt ping off _announcer im sure someone would try to figure out how to loop em [16:06] pandark_ has joined the channel [16:06] fermion has joined the channel [16:06] ryah: _announcer: @SteveStreza a web irc client [16:06] markwubben has joined the channel [16:06] ryah: (does that work?) [16:06] pandark_ has left the channel [16:07] bradleymeck: mmm? [16:07] bradleymeck: what are you trying to do? [16:07] JimBastard: ryah: naaah, you gotta !tweet [16:07] JimBastard: you do, !tweet foo foo foo @user [16:08] ryah: !tweet @SteveStreza a web irc client [16:08] JimBastard: ACTION really hopes that didnt rigger the bot [16:08] bradleymeck: dont know if ryah has voicce, think so [16:08] ryah: http://twitter.com/nodejsbot/status/16940685846 [16:09] JimBastard: !tweet @SteveStreza a web irc client, this is a nice start http://github.com/scottgonzalez/node-chat/ [16:09] JimBastard: !tweet @SteveStreza there is an online demo here, http://chat.nodejitsu.com/ . just needs the irc proxy part setup! [16:10] bradleymeck: i know ryah has grant -- !grant/revoke username (voice [!tweet] | irc [!leave,!join]) [16:11] bradleymeck: need to implement a !question/answer later to hold a faq w/ search [16:11] JimBastard: i think this new command line twitter is gonna be really bad ass [16:11] jakehow has joined the channel [16:11] JimBastard: thanks a lot bradleymeck , you rock [16:12] bradleymeck: gotta work on stackoverflow and google groups next for it [16:12] JimBastard: 10-4 [16:13] ryah: What methods does 'console' have in the web browser? [16:13] sr: creationix, yo [16:13] ryah: console.log(string) [16:13] ryah: what else? [16:13] bradleymeck: log, warn, error, group [16:13] bradleymeck: trace [16:13] softdrink: dir [16:13] bradleymeck: groupCollapsed (firebug only) [16:13] ryah: what do those do? [16:13] bradleymeck: group/groupEnd makes a foldable bit [16:14] bradleymeck: trace is a stacktrace [16:14] bradleymeck: warn/error are just diff levels of logging [16:14] softdrink: http://getfirebug.com/wiki/index.php/Console_API [16:14] ryah: thanks [16:14] ryah: ok so console.log can have format strings... [16:15] bradleymeck: ya [16:16] JimBastard: ryah: console.dir [16:16] JimBastard: thats the money shot [16:17] _announcer: Twitter: "Node.js Knockout is over 50% full in under a week! Only 99 spots left! Register soon at http://nodeknockout.com/ #nodejs" -- node knockout. http://twitter.com/node_knockout/status/16941381867 [16:17] JimBastard: also ryah , if you are doing any browser dev you should use debug instead of console [16:17] JimBastard: http://github.com/cowboy/javascript-debug/ [16:17] JimBastard: its gonna be safer [16:17] mjr_: console.dir could be like sys.p [16:18] JimBastard: mjr_: as part of the nodejsjs project ive already got sys aliased to debug / console [16:18] JimBastard: sys => console [16:18] JimBastard: fs => ajax [16:18] JimBastard: :p [16:19] mjr_: I think sys.puts is not right, but I'm not sure that console.log is right either. [16:19] mjr_: Since the different severity levels mean different things in a web browser, they probably should in ndoe as well. [16:20] mjr_: In a browser, the "console" is a special thing that doesn't even always exist. [16:20] creationix: well, in node we have stdout and stderr with different meanings [16:20] creationix: and stderr is sync [16:20] tilgovi has joined the channel [16:20] mjr_: I think it should be stdout.puts() or whatever. [16:21] mjr_: If what you want is, "send this string to stdout" [16:21] creationix: mjr_: there is already stdout.write [16:21] creationix: or is that a private api? [16:21] joshbuddy_ has joined the channel [16:21] mjr_: I dunno. Is stdout global by default? [16:22] skampler: process.stdout [16:22] maushu: Do we get a theme on nodeknockout or it's free for all? [16:22] mjr_: Anyway, I think console.log should generally do what browser types think it should, so that's good. [16:23] mjr_: But console is different than stdout, and I think we shouldn't treat them as if they were the same. [16:23] ryah: yeah, i mean, i figure people can access the raw stream if they want [16:23] ryah: console will just be a friendly top layer [16:24] mjr_: Do you imagine .warn() and .error() and .info() as well? [16:24] ryah: better than randomly having sys.puts() (which i never indended to have, actually) [16:24] ryah: intended [16:24] mjr_: I agree that sys.puts() is wrong. [16:24] ryah: mjr_: yah [16:24] ryah: i don't want to add a "puts" method to streams in general [16:24] ryah: like "write this plus a new line" [16:25] mjr_: yeah, that seems odd [16:25] ryah: plus people would need to do: process.stdout.puts('hi') [16:25] mjr_: I like stdout.write("something\n"); [16:25] ryah: which is a lot to type [16:27] phiggins has joined the channel [16:27] kodisha_ has joined the channel [16:27] mjr_: Well, console.log is better than sys.puts for sure. I just don't like that console sort of magically equals stdout. [16:28] sudoer has joined the channel [16:30] ryah: mjr_: well, it doesn't stdout is the raw stream interface [16:30] ryah: console is just a global variable that make it easy to use [16:31] ryah: s/doesn't/doesn't./ [16:31] ly- has joined the channel [16:32] mjr_: What will console.warn do differently, write to stderr I guess? [16:33] felixge has joined the channel [16:33] felixge has joined the channel [16:34] felixge: ryah: how does this work? http://github.com/ry/node/commit/ba792ea2020f38ebf84925e740b42823b739d0d3 [16:34] felixge: ryah: seems like a '.' inside a variable is not legal in JS [16:34] ryah: felixge: ? [16:34] ryah: what in particular [16:34] felixge: oh wait, the line number was not in there [16:34] felixge: hmpf [16:35] felixge: ryah: http://github.com/ry/node/commit/ba792ea2020f38ebf84925e740b42823b739d0d3#L0R6 [16:36] ryah: oh that's broke [16:36] jedschmidt_ has joined the channel [16:36] micheil: need to do: console.log = [16:37] micheil: no var [16:37] mjr_: var console = require("sys").console; [16:37] CIA-76: node: 03Ryan Dahl 07master * r444b335 10/ benchmark/http_simple.js : Remove switch-replace residue - http://bit.ly/b8tPVq [16:40] WALoeIII has joined the channel [16:42] philhawksworth has joined the channel [16:43] javajunky: ryah: looks like someone on the list is offerring cpu time for a windows/cygwin build, what does one need to do in order to integrate with 'buildbot' (pointing me at a wiki page is an entirely cool response ;) ) [16:44] ryah: javajunky: you need help from me or arlo to get setup [16:44] skampler: under which conditions will the object returned by fs.createWriteStream not have a write property? [16:44] marshall_law has joined the channel [16:44] ryah: javajunky: can we do it next week? would be great, i just don't have time right now [16:44] javajunky: at one point do we ask for help , i.e. what do I need to come to you with [16:45] javajunky: ah, I'll check with the chap who's offerring the server time, perhaps we can just get it building for now. [16:45] _announcer: Twitter: "Mongoose is a Javascript MongoDB for me, plays with Node.js. Nice http://bit.ly/9CCNVd nodejs # # # javascript # mongodb mongoose" [ga] -- Ryan Peterson. http://twitter.com/RyanPeterson/status/16943400225 [16:50] ryah: node_pcap is a trending repo [16:52] ewdafa has joined the channel [16:52] JimBastard: so funny story, i let this internet friend http://github.com/fernmicro/ crash on my couch for a couple of weeks. he just started his new job and has now has an apartment 2 blocks away from me [16:52] JimBastard: ahaha internet friends ftw [16:52] JimBastard: <3 nyc [16:53] creationix: http://www.youtube.com/watch?v=Ru5fBDTnjQA&feature=youtu.be [16:53] creationix: pretty much the line is my whole walk from home to work [16:53] JimBastard: thats soo funny creationix [16:54] JimBastard: what type of idiot would wait in line for that [16:54] JimBastard: i mean [16:54] JimBastard: seriously [16:54] Aria has joined the channel [16:54] JimBastard: i could understand like concert tickets, or even like a new gaming console [16:54] JimBastard: but a fucking phone?!?1 [16:54] creationix: yeah, dunno [16:54] creationix: made for a fun walk to work [16:54] jedschmidt_ has joined the channel [16:54] JimBastard: hee hee [16:55] dgathright has joined the channel [16:56] bradleymeck: !grant creationix voice [16:56] creationix: voice? [16:56] JimBastard: yeah now you can respond to twitter [16:56] JimBastard: from the acouncer [16:57] JimBastard: just !tweet blah blah foo @user [16:57] creationix: interesting [16:57] JimBastard: it would be nice to get actual IRC +v [16:57] gerad: mjr_: nice work "node_pcap is a trending repo" - ryah [16:57] mjr_: wow, neat [16:58] mjr_: I need to finish up my next set of fancy features [16:58] JimBastard: grats [16:58] JimBastard: holding down the frontpage of github is a time honored nodejs developer tradition [16:59] JimBastard: you gotta try to break my record , two trending repos and one featured :-D [16:59] JimBastard: (at the same time) [16:59] kodisha has joined the channel [16:59] mjr_: simply not possible [17:00] mjr_: I'll leave that to you [17:00] JimBastard: the trick is to steal all your code from vb6 programmers from 1999 [17:00] JimBastard: works for me [17:01] mjr_: I'll look into that. [17:02] mjr_: ryah: I just noticed that buffer.copy doesn't quite copy from sourceStart to sourceEnd [17:02] mjr_: It copies sourceEnd - sourceStart bytes. [17:03] aglemann has joined the channel [17:03] mjr_: Even the example I wrote for the docs shows this, but I never noticed it until now. [17:04] mjr_: Perhaps it would be better if instead of sourceEnd the parameter was length. [17:07] bradleymeck: anyone know of a DCC client (at least near complete) for irc w/ open source that is legible? [17:10] ryah: mjr_: oh [17:10] JimBastard: yo bradleymeck http://github.com/InfinitiesLoop/StackUnderflow.js [17:10] ryah: mjr_: no, we should keep it how it's defined [17:10] JimBastard: (not DCC, but something else) [17:11] bradleymeck: mmm, nice, might have to get forms working in Witch to use it though [17:11] ryah: mjr_: want to patch me, or should i do it? [17:12] bradleymeck: !set todo http://github.com/InfinitiesLoop/StackUnderflow.js [17:12] JimBastard: !set todo give jimbastard candy [17:12] JimBastard: ? [17:12] tjholowaychuk has joined the channel [17:12] bradleymeck: !get todo [17:12] _utility: give jimbastard candy [17:12] JimBastard: lol fail [17:13] bradleymeck: !lock todo http://github.com/InfinitiesLoop/StackUnderflow.js [17:13] mjr_: ryah: changing that API at this point seems unnecessarily disruptive, but we should probably change the docs to reflect what it actually does. [17:13] JimBastard: i definitely use to add candy to my parents shopping list hoping they wouldnt notice [17:13] mklappstuhl has joined the channel [17:14] bradleymeck: any other sites we need to be able to respond to easily? [17:15] ryah: mjr_: can't we just fix the implementation to match the docs? [17:15] mjr_: oh, sure [17:15] mjr_: That'd be best long term. Does anybody use buffer.copy? [17:15] ryah: probably not [17:15] bradleymeck: i havent really seen it used yet [17:16] ryah: i use it somewhere, but i forget where [17:16] creationix: I use it all the time, but not the last paremeter [17:16] kodisha has joined the channel [17:16] texodus has joined the channel [17:17] creationix: either way, I don't mind updating code [17:17] ryah: buffer.copy is based on binary/f commonjs [17:17] ryah: so it's not just random parameters [17:17] ryah: (that is, kriskowal and i agreed on it) [17:18] mjr_: Oh, OK. Well, I'll update and send you a patch. [17:18] chadj has left the channel [17:18] ryah: mjr_: sweet. and a test case? [17:18] mjr_: Sure [17:18] mjr_: I'm running into it with my HTTP pcap decoder. [17:18] mjr_: copying buffers around, etc. [17:21] jarsen has joined the channel [17:22] softdrink has joined the channel [17:23] mostlygeek has joined the channel [17:24] qFox has joined the channel [17:26] phiggins has joined the channel [17:27] indexzero has joined the channel [17:27] JimBastard: indexzero in the house [17:27] JimBastard: javascript party [17:27] indexzero: word [17:27] indexzero: you piss off the world again today Marak? [17:27] JimBastard: dude [17:27] indexzero: jk [17:27] JimBastard: why you gotta blow up my government on the irc [17:28] JimBastard: CHARLIE [17:28] indexzero: wooo [17:28] JimBastard: whats up, you working on nodejitsu today? [17:29] indexzero: yeah, I haven't heard from cloudhead in days, dunno what's up with that tonight [17:29] indexzero: really wanted to get some work done on resourcer [17:29] JimBastard: hes probaly travelling [17:29] indexzero: yeah [17:30] JimBastard: you got any specific issues you running into with node today or are you j ust idling [17:36] sh1mmer has joined the channel [17:37] kodisha has joined the channel [17:38] zlajo has joined the channel [17:39] coja has joined the channel [17:41] mjr_: ryah: what should buffer.copy do if source and dest are the same? Seems like that should work to move byte ranges around in the same buffer. [17:42] mjr_: Just use memmove() instead of memcpy()? [17:42] liucougar has joined the channel [17:43] javajunky has joined the channel [17:44] _announcer: Twitter: "@zippy1981 Pretty much a toolkit for Node.js, I don't like any mapping at all but that's because I put everything in MonboDB anyway :-)" -- Mitch Pirtle. http://twitter.com/mitchitized/status/16947309967 [17:50] ryah: mjr_: i guess [17:51] ryah: i would be fine with it throwing too [17:51] mjr_: how to detect that source and dest are the same? [17:51] phiggins has joined the channel [17:51] mjr_: with the objectwrap business, can you just compare Source and Dest? [17:51] ryah: src_buffer->handle_ == dst_buffer->handle_ [17:51] mjr_: er, source and dest [17:51] mjr_: ok [17:52] ryah: er [17:52] mjr_: so do you want it to throw or use memmove? [17:52] mape: ryah: Are you involved in nodeknockout? [17:52] ryah: src_buffer->handle_->StrictEqual(dst_buffer->handle_) [17:52] ryah: mape: yes [17:53] mjr_: my preference would be to use memmove [17:53] mape: Do you know what kind of prices there will be? Ie expensive ones that could nudge people into cheating or just little things so it stays "for the fun"? [17:53] ryah: StrictEquals [17:53] ryah: mape: "fun" [17:53] ryah: ipads [17:53] ryah: etc [17:53] mape: Great :) [17:53] mjr_: mape: gerad is in the channel. He's the guy. [17:54] gerad: mape: we're going to do our best to prevent cheating [17:54] gerad: mape: likely with some cool published data viz to help [17:54] mape: Isn't the easiest way to prevent cheating making incentives low to cheat? [17:55] gerad: mape: that definitely helps [17:55] gerad: mape: hopefully there aren't many issues, it hasn't been a problem for rails rumble in the past [17:56] gerad: mape: and our prizes will likely be about the same quality [17:56] mape: ok [17:58] dgathright has joined the channel [17:59] mertimor has joined the channel [17:59] markwubben has joined the channel [18:00] maushu has joined the channel [18:00] teemow has joined the channel [18:01] mjr_: mape: so are you on a team for nn? [18:01] mape: I haven't signed up yet, not sure if I'm going solo or with a friend [18:01] dabreaka_ has joined the channel [18:02] mape: Guess he'll have to decide sooner rather then later if things keep filling up [18:02] dabreaka__ has joined the channel [18:03] TomY has joined the channel [18:03] mape: mjr_: You already got your team setup? [18:04] mjr_: I can't commit to that kind of time intensity with my startup and kids. I am going to help out as a judge though. [18:05] mape: k [18:05] mjr_: I'm excited to see what this will do for the node community though. [18:06] mjr_: Should be a gigantic win. [18:06] JimBastard: i got the ill team [18:06] JimBastard: my team is pretty unfair imo, im pretty sure we arent going to try and seriously compete [18:06] JimBastard: just have a little fun [18:07] JimBastard: errrr [18:07] JimBastard: and NOT seriously compete [18:07] JimBastard: badd engrish [18:07] mjr_: JimBastard: your team should probably do several projects, some small, like colors.js, and some very large, like a replacement for TextMate.app. [18:07] JimBastard: mjr_: we got a plan.... :-) [18:08] mape: mjr_: One can do multiple? [18:08] mjr_: oh shit, I dunno. I was just joking. [18:08] mikeal has joined the channel [18:08] mjr_: Mostly I was hoping that someday someone will write a replacement for TextMate in node. [18:09] mape: Bespin? [18:09] JimBastard: mjr_: bespin? [18:09] JimBastard: yeah [18:09] JimBastard: or cider? [18:09] JimBastard: you mean web based [18:09] JimBastard: or do you mean console base [18:09] mjr_: I want a client app like TextMate, but one that uses JavaScript for extensions. [18:10] mjr_: Because TM2 is never going to be done. [18:10] mape: Man Allan seems to be a mess, can't be easy [18:10] JimBastard: mjr_: bespin [18:10] JimBastard: and cider [18:10] hober: Hmm. It'd be nice to do something like Rope, but s/python/nodejs/. Then you could extend vi & emacs from JS. [18:10] JimBastard: http://github.com/tmpvar/cider [18:10] hober: (google 'ropemacs' if you're unfamiliar) [18:11] JimBastard: tmpvar: is there anyone still working on that? [18:11] gerad: mape: it's super easy to change your team around post registration [18:11] gerad: mape: so you don't really have to wait for your friend to commit [18:11] mape: Ah neat [18:13] JimBastard: how is it i can never fucking find the ycombinator meetup group for nyc [18:13] JimBastard: ughhh [18:13] mape: There we go [18:13] JimBastard: gerad: never got anything from you btw, not sure if you were intending to email me or not [18:13] javajunky: oooo cider how did I miss you. [18:14] gerad: gerad: yeah, it's on my list, sorry [18:14] JimBastard: its cool, just let me know what i can do to help [18:14] gerad: hahaha [18:14] gerad: talking to myself in irc, congrats [18:14] gerad: :-) [18:14] JimBastard: i can defintely mobilize a few people [18:14] gerad: yeah, I'll def get you an email soon [18:14] JimBastard: also i got a back up space already set if you need one [18:15] JimBastard: but its in BK [18:15] joshbuddy has joined the channel [18:15] gerad: burger king? [18:15] JimBastard: lulz no AlphaOneLabs [18:15] JimBastard: but based on what my contact over there says, we should try to find a better spot [18:15] JimBastard: its kinda small [18:15] jxson has joined the channel [18:15] JimBastard: we can discuss over email for sho [18:16] gerad: yeah, will drop you a note soon, promise [18:16] gerad: thanks for waiting for me... [18:16] gerad: this event means lots of communication [18:16] gerad: and emails to send / reply to [18:16] gerad: not exactly my forte [18:16] gerad: :-) [18:16] mape: http://i.imgur.com/0tCJO.jpg [18:16] mape: hehe [18:17] mape: The amish roller blade as well [18:17] JimBastard: mape: is that legit lol [18:17] JimBastard: wont the lord of the barn get mad them or something [18:18] JimBastard: thats the one great thing about the internet, you can make fun of the amish as much as you want in impunity [18:18] mape: Doubt the amish "pose for the lulz" [18:18] JimBastard: with impunity* [18:18] JimBastard: thats the one great thing about the internet, you can make fun of the amish as much as you want with impunity. #bastardfacts [18:20] gerad: is that really internet specific? [18:20] JimBastard: i suppose they would just turn the other cheek anyway [18:20] maushu: mape, of course they do. [18:20] javajunky: man I want a decent Git client for mac osx [18:21] mape: javajunky: linus laughs at you! [18:21] javajunky: mape: he's welcome to join the back of the very large number of people already doing that to me ;) [18:22] mape: hehe [18:22] javajunky: I'm not as smart as linus, I like guis ;) [18:22] geojeff_ has joined the channel [18:22] javajunky: diff with + / - hurts my tiny brain cell(s)? [18:24] maushu: I would like hat ymck music is used in the tweet space youtube video. [18:24] mikecampo has joined the channel [18:25] dgathright has joined the channel [18:29] bradleymeck: gitx? [18:32] geojeff has joined the channel [18:37] javajunky: bradleymeck: yeah, I've tried it, along wit gitx and gitnub, nothing feels right, so I always end up back at bash ;) [18:38] kevwil has joined the channel [18:40] mjr_: Once I enabled the git bash tab completions, I was a lot happier with git. [18:40] sechrist_: i has iphone 4 [18:40] sechrist: it's amazing [18:40] sechrist has joined the channel [18:40] mape: Does it smell like Steve? [18:41] sechrist: of course.. There's iPheromones with a Steve configuration [18:41] sechrist: I'm so high on AppleAid right now [18:41] sechrist: but nah the screen is incredible [18:41] mape: the sweeeeeet scent of Mr Jobs [18:41] sechrist: I can't see pixels with my naked eye [18:41] sechrist: That's an accomplishment [18:41] _announcer: Twitter: "node.js http://ow.ly/17S8lO" -- Javascript News. http://twitter.com/del_javascript/status/16951087308 [18:42] creationix: I finally got 2.2 on my nexus [18:42] sechrist: froyoo [18:42] sechrist: The nexus is cool [18:42] creationix: and I didn't have to wait in a line for 7 hours [18:42] sechrist: wait in line? [18:42] creationix: the apple store is right by my office [18:42] sechrist: I preordered. Walked into AT&T store. 5 minutes later I had my phone. [18:42] sechrist: Apple stores = fail [18:42] creationix: the line comes all the way to our parking lot [18:42] sechrist: creationix: what city are you in? [18:43] mjr_: There's really no comparison of the feel of iOS to that of Android. [18:43] sechrist: I heard the palo alto and cupertino stores are FUUUUCKEd [18:43] creationix: palo alto [18:43] sechrist: mjr_: I agree. [18:43] _announcer: Twitter: "TrimJunction, Node.js, more and more VM speedups coming ... that's it, I've gotta start doing some server Javascript!" -- Sandy Walsh. http://twitter.com/TheSandyWalsh/status/16951179797 [18:43] mjr_: I hope somebody mounts a serious challenge to Apple, but they've really nailed the subtle bit of user experience that are important. [18:43] sr: tjholowaychuk, yo [18:43] sechrist: Luckily I still live in Texas. Nobody uses Yelp, Foursquare, and not many people have iPhones. [18:43] tjholowaychuk: sr: whats up [18:43] mape: Only thing I need on iOs is decent handling of notifications [18:43] mjr_: Android is close, but still clunky and awkward. The scrolling doesn't feel natural, and everything just looks a bit like it was designed by a programmer. [18:43] sechrist: When I move to The Valley that all changes though [18:43] bradleymeck: texas is nice that way [18:43] sechrist: mjr_: apple has UI h4x [18:44] bradleymeck: <3 the warmth here [18:44] JimBastard: !tweet @TheSandyWalsh do it! nodejs is amazing! [18:44] sechrist: bradleymeck: where are you in Tejas? [18:44] mostlygeek has joined the channel [18:44] bradleymeck: austin [18:44] sechrist: jealous [18:44] sechrist: << houston [18:44] sechrist: There's no tech scene here [18:44] sechrist: Meetups? haha no [18:45] mape: sechrist: The food is good though? [18:45] gf3: no [18:45] sechrist: uh [18:45] bradleymeck: ummm brenham? (love me some icecream) [18:45] sechrist: barbeque yeah [18:45] gf3: damn [18:45] gf3: I had a 50/50 chance [18:45] sechrist: can you buy bluebell in silicon valley? [18:45] sechrist: if not [18:45] mde: I moved to SF from Houston a year ago. I miss Tex-Mex. [18:45] sechrist: fuck that place [18:45] mde: Yeah, and Bluebell. :) [18:45] sechrist: there's no texmex? [18:46] bradleymeck: its got fruit [18:46] sr: tjholowaychuk, http://github.com/sr/Connect/compare/master...redirect -- not sure you guys want to do that kind of thing sugar [18:46] sechrist: dude I lived in mountain view for awhile -- I should have eaten more local food [18:46] mde: There's SF-style "Mexican" food. [18:46] sr: tjholowaychuk, also, are you working on a http basic filter? [18:46] sechrist: in n out was about all I got of cali food [18:46] sechrist: we have CPKs here.. but the Stanford Mall was pretty cool [18:46] mde: It's okay, but it's not fajitas and 'ritas. [18:46] sechrist: Texas doesn't have open malls [18:46] bradleymeck: houston doesnt [18:46] sechrist: austin does? [18:47] sechrist: fucking austin [18:47] tjholowaychuk: sr: I have that :) the "redirect" middleware [18:47] sechrist: how do you get 2 letter irc names? [18:47] bradleymeck: domain, arboreteum, sunset valley, the one in the bonies (hillcountry galleria?) [18:47] z: omg [18:47] mde: sechrist: You're moving out here, yeah? [18:47] sechrist: yeah to SF eventually [18:47] sechrist: no real time-frame. Looking for roomies and stuff. [18:47] sr: tjholowaychuk, right this is to be used in a handler. like create_thing(); res.redirect("/"); [18:48] mde: Ah, okay, right. You'll enjoy it, of course. :) [18:48] sechrist: oh yeah -- i've lived out there briefly [18:48] sechrist: mountain view was cool [18:48] tjholowaychuk: sr: it doesnt really need to be middleware, but it adds referrer / referer support [18:48] mde: Expensive as fuck, but once you get past that it's good. [18:48] sechrist: yep [18:48] tjholowaychuk: sr: as redirect('back') [18:49] sechrist: which is why I'm looking to room with people [18:49] sechrist: preferably all startup guys [18:49] sechrist: since that's why I'd move out there [18:49] mde: Right on, makes sense. I have a family here, a lot harder than someplace like Houston. [18:49] mape: what do you pay for an ok apartment somewhere close to central sf? [18:49] mde: But totally worth it overall. [18:50] sr: tjholowaychuk, ooh i see. so just require("connect/filters/redirect") and i am good to go? [18:50] bmizerany has joined the channel [18:50] sechrist: I mean Houston isn't bad. I'm not even in Houston -- i'm in the burbs [18:50] sechrist: and it's fantastic [18:50] mde: I don't know, I'm renting a house in Pacifica. [18:50] sechrist: it's just not a startup city [18:50] maushu: Startup city? [18:50] sechrist: also no investors [18:50] maushu: You don't need one! [18:50] tjholowaychuk: sr: with the current api, use { filter: 'redirect' } [18:50] mde: I grew up between Houston and Galveston, lived in Pearland. It's not a bad place. [18:50] sechrist: maushu: nah [18:50] maushu: YOU HAVE TEH INTERTUBES! [18:51] sechrist: you gotta be where the angels are [18:51] mde: But nothing in the way of real tech. [18:51] tjholowaychuk: sr: man connect or view http://extjs.github.com/Connect for docs on 0.0.5 [18:51] sechrist: we've already proved that [18:51] sechrist: my cofounders are in SF [18:51] sr: tjholowaychuk, oh i see. nice. man js is pretty cool :P [18:51] tjholowaychuk: :d [18:51] tjholowaychuk: :D [18:51] sechrist: so the antenna problem with the iphone 4 [18:52] sechrist: is ridiculous [18:52] sechrist: HOW CAN THAT PASS QA [18:52] sechrist: DO THEY NOT HAVE HANDS [18:52] _announcer: Twitter: "http://tinyurl.com/3y9alnh [18:52] sechrist: hax [18:52] bradleymeck: mmm should we give _utility browsing (through pms prolly)? thinking it would be handy if I add a record/playback actions [18:52] sechrist: JimBastard: quit hacking _announcer [18:53] sudoer has joined the channel [18:53] bradleymeck: _announcer failed on something... didnt strip the newline? [18:53] mape: replace(/\n/g,' ') [18:54] visnup has joined the channel [18:54] tjholowaychuk has joined the channel [18:55] derferman has joined the channel [18:55] JimBastard: what sechrist ? [18:56] sechrist: 13:52 _announcer: Twitter: "http://tinyurl.com/3y9alnh [18:57] _announcer: Twitter: "@gozali Nodejs is decent for me hehe." -- Didiet. http://twitter.com/lynxluna/status/16952272820 [18:58] sr: tjholowaychuk, nice, just saw the new syntax in the clojure branch. +1 for naming a middleware a middleware also [18:58] tjholowaychuk: sr: haha :D [18:58] sr: tjholowaychuk, also, i like how you guys are breaking the api like crazy already ;-P [18:58] tjholowaychuk: yea... this is the most i have ever broken anything [18:58] tjholowaychuk: lol [18:59] tjholowaychuk: wish we did this a lot sooner [18:59] _announcer: Twitter: "@ ChrisLove jquery for breadth. Node.js for geeks." [af] -- douglasp. http://twitter.com/douglasp/status/16952455653 [19:00] sr: tjholowaychuk, it makes more sense imo... from a rubyist perspective at least [19:01] tjholowaychuk: sr: i just did not like how configuration based it was, wanted something more natural [19:01] tjholowaychuk: and something dynamic opposed to just an array of objects [19:01] sr: yeah this def. read better. it's like "oh ok i have these things stacked up" [19:02] JimBastard: !tweet @douglasp why not use both and have a dual-sided library :-) check out http://github.com/marak/asciimo for an example [19:02] sr: lol. you guys got pr and everything [19:02] sr: :P [19:02] JimBastard: hey sr [19:02] JimBastard: :-D [19:03] JimBastard: i wont stop until everyone i know is using node [19:03] JimBastard: or at least knows abou tit [19:03] mape: bradleymeck: Was voice on the bot persistant? [19:03] bradleymeck: its on til i turn it off [19:03] JimBastard: ACTION swears he'll be nice [19:04] mape: Ah k, perhaps cache them to file, just setInterval -> JSON.stringify(users) and fetch on boot [19:04] JimBastard: i think we might want to use the built in IRC +v [19:04] JimBastard: maybe not? [19:04] mape: Yeah, since no one has voice? :P [19:04] JimBastard: we'd have to get opers [19:04] bradleymeck: when i get chance ill make a nice frontend you can go and abuse jimbastard for admin stuff, i like +v but yea... [19:05] mape: Nah ! @ + is just silly in irc-channels [19:05] JimBastard: bradleymeck: i think having your own auth system is a smarter play [19:05] bradleymeck: also need to figure out a !record-start, !record-end interface for this bad boy to automate stuff for later [19:05] mape: for for channels where people have things to prove/moderate crazy people [19:05] JimBastard: it would probaly be safer then IRC auth [19:05] _announcer: Twitter: "Nice demo from @angryamoeba on Squeenote, his #websocket presentation engine in #NodeJS + HTML5 pages: http://github.com/danski/squeenote" -- Async. http://twitter.com/asyncjs/status/16953004737 [19:05] bradleymeck: for voice, meh, other stuff im keeping [19:07] mape: Crazy how node knockout has 104 teams right now [19:07] visnup: whoo hoo! [19:07] mape: Wonder how many actually make something [19:07] mikecampo: what is node knockout? [19:07] bradleymeck: army of 1 [19:07] mape: http://nodeknockout.com/ [19:08] javajunky: wish I had time + ideas to do a nodeknockout ;{ [19:08] mape: javajunky: Damit! I've already said they need a idea pool page on there [19:08] mape: "Stuff I would want" that just searches twitter [19:08] bradleymeck: javajunky you can join up w/ some team, im a team of 1 lol [19:09] mape: gerad: Is that a decent enough idea? [19:09] gerad: mape: totally agree with the need [19:09] javajunky: bradleymeck: yeah I guess my issue is time more than anything, just maxxed out on everything at the mo :( [19:09] gerad: mape: not sure what the best solution is [19:10] mape: Just use yahoooooo pies and search for #nodeknockoutidea - I want unicorns and popcorn through serverside JS. [19:10] mape: *pipes [19:10] creationix: mmm yahoo pies [19:10] mape: but pies would be nice also, perhaps not for this though [19:10] gerad: mape: hmm.. and retweet, or keep it as another page on the site? [19:10] visnup: out of 200 registered teams, 160ish entered something last year for rails rumble [19:10] mape: Then you show the twitterhandle, time, image and text stripped on a separate page on the site [19:11] mape: Know a ton of people that don't have the time/idea or they have the time/don't know what to do [19:11] mape: Spent a long time last night just to come up with something decent to do [19:12] gerad: mape: again, agree with the need. :-) any interest in building it? we can add you to the repo [19:12] gerad: mape: it's node.js, backend is mongo [19:12] mape: Btw idea I had but not doing is folding@home kinda deal by having people open a page to do computation and then send it back to the main server.. [19:13] mape: gerad: Sure, it could be straight frontend 20lines of jquery kinda deal.. [19:13] gerad: mape: yeah, just trying to make time for stuff [19:13] mape: Had a couple of beers now though so that would have to be tomorrow [19:14] gerad: mape: no worries, no hurry, visnu would probably tweak anything you did visually [19:14] gerad: to set expectations [19:14] gerad: :-) [19:14] gerad: what's your github account [19:14] mape: Hehe k [19:14] mape: mape [19:14] gerad: cool [19:15] mape: But so yeah the distributed calc thingy.. Has that already been done? (except for testswarm) [19:15] gerad: I had a friend talk about it a long time ago [19:15] gerad: but javascript wasn't interestingly fast until recently [19:15] mape: Like a botnet but opt in by going to a page where you can send code to be eval'd and returned [19:15] gerad: you could in theory use it instead of advertising [19:15] mape: It is still crazy slow compared to like GPUs doing folding [19:15] gerad: to make $$ for your traffic'd stie [19:16] gerad: the real problem is that most computation problems aren't "embarassingly" parallel [19:16] mape: Or if I wanted to bruteforce my lost password that happens to be a md5 [19:16] gerad: like that [19:16] mau has joined the channel [19:16] oleg_ has joined the channel [19:16] mape: Hmm yeah [19:17] gerad: i/o is an issue [19:17] mape: I was looking for a nice api for folding@home but doesn't seem like they want to play the simple game [19:17] _announcer: Twitter: "@padolsey you can compile less files in the server side using node.js. But I contend that if you're going to do that you should use sass :)" -- Chris Eppstein. http://twitter.com/chriseppstein/status/16953808360 [19:17] gerad: too [19:17] mape: Probly for a good reason [19:17] gerad: added you to the repository [19:17] mape: gerad: For stuff like bruteforcing stuff? [19:17] mape: :) [19:17] mape: Is the repo private? [19:17] gerad: mape: it'll probably be less of one as more data moves to the web [19:17] gerad: nno [19:18] gerad: no, you could just fork and send a pull request [19:18] dgathright has joined the channel [19:18] gerad: but no reason to [19:18] gerad: now that you're on the repo [19:18] Scriptor has joined the channel [19:18] stalled has joined the channel [19:18] keeto has joined the channel [19:18] mape: Guess that is prefferable, I'm no good at git some easier to just keep on my corner of shame so I don't mess stuff up [19:18] gerad: mape: basically, it's ultimately likely a good idea, but the infrastructure isn't entirely there [19:19] mape: Well people have 48h to solve that.. ;) [19:19] gerad: mape: also, it's not necessarily a good node knockout idea, because the idea isn't immediately obvious and people can't play with it easily [19:19] mape: Well if you want to win prices, I want to create cool stuff :) [19:19] gerad: nice:-) [19:20] Scriptor: hey everyone, I'm looking through the source for node's path library. Is the join function's purpose mainly to be able to take a variable number of strings, join them, and provide normalize with just one string? [19:20] kersny has joined the channel [19:21] Scriptor: the source is at http://github.com/ry/node/blob/master/lib/path.js [19:21] jsilver has joined the channel [19:22] JimBastard: Scriptor: do you mean https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Objects/Array/Join ? [19:22] JimBastard: it looks like its just wrapping that [19:22] Scriptor: JimBastard: nope, path.join [19:22] JimBastard: exports.join = function () { return exports.normalize(Array.prototype.join.call(arguments, "/")); }; [19:23] JimBastard: Array.prototype.join.call(arguments, "/") [19:24] mattly has joined the channel [19:24] zomgbie has joined the channel [19:26] _announcer: Twitter: "Why is node.js so awesome? Sometimes I really wonder what makes great software projects become great. The talented people mostly I guess.." -- Soeren Roerden. http://twitter.com/soeren_roerden/status/16954500001 [19:26] javajunky: anyone know any nice date formatters (10 mins ago, yesterday etc. etc. ) of the top of their head, (from memory datejs is the opposite of what I'd like) [19:26] _announcer: Twitter: "http://dev.af83.com/ajax/one-ring-rule-them-all-one-ring-find-them-one-ring-bring-them-all-and-darkness-bind-them/2010/0 nuff said #nodejs" -- Ori A Pekelman. http://twitter.com/OriPekelman/status/16954527566 [19:27] JimBastard: javajunky: i just know datejs, but i have a project we are working on that is trying to solve this....if you cant find anything.... [19:27] javajunky: JimBastard: I guess you know what I mean, like is it fuzzy date in rails, I forget. [19:27] JimBastard: i do [19:27] mde: javajunky: Just Google for "relative date" [19:28] mde: I wrote one one time, but I don't remember where the code is. But they're all pretty similar. [19:28] JimBastard: javajunky: the project im talking about is : http://github.com/Marak/javascript-fu [19:28] JimBastard: we have inflectors already [19:28] bweaver has joined the channel [19:28] JimBastard: and ordinals [19:28] lobridge has joined the channel [19:28] JimBastard: let me know if you find a good solution [19:28] javajunky: mde: yeah thanks, I *could* write my own , but I'd like to re-use :) .. [19:28] javajunky: JimBastard: thanks I'll take a look [19:29] JimBastard: for sho. if you have to write your own id be very happy to help you out [19:29] JimBastard: and try to get it as part of the dateTimeFu [19:29] JimBastard: if not just integrate it [19:29] mjr_: ryah: I just spent way too much time on the buffer.copy changes, but I think I got it all working and covered by a test. http://github.com/mranney/node/commit/0ab552d4653fc9c3c031ecf8622ce7251f95f6f4 [19:30] gerad: javajunky: john resig wrote one a while back [19:30] gerad: javajunky: prettyDate [19:30] JimBastard: gerad: is that the same thing we are talking about? [19:30] _announcer: Twitter: "Who are interested http://nodejs.org/ some blank รึ coding contest -> http://nodeknockout.com/ # nodejs." [th] -- jittiang. http://twitter.com/Jittiang/status/16954763355 [19:30] javajunky: gerad: thanks looks like the fella [19:31] gerad: not sure [19:31] gerad: http://github.com/gerad/nodejs-knockout/blob/master/public/javascripts/pretty_date.js [19:31] javajunky: lolz, that is some simple code [19:31] bweaver: Hi, I'm using node-tokyocabinet for a project. It has a sync interface and async interface (libeio). Does anyone have advice about whether libeio adds overhead to things like HDB.get() and if it's better just to use the sync interface? [19:31] javajunky: http://ejohn.org/files/pretty.js [19:31] gerad: is my hacked up version I'm using for the relative dates on the node knockout site [19:31] gerad: which handles past and future [19:32] Scriptor has left the channel [19:35] bradleymeck: bweaver, could your app be doing things besides sitting around while its doing HDB.get()? [19:35] bradleymeck: if so, async is prolly better overall since io will be async generally [19:35] bweaver: bradleymeck: It's a web app, so it could be serving other requests I suppose. [19:36] bweaver: OK, thanks. [19:44] stagas has joined the channel [19:48] hellp has joined the channel [19:51] joshbuddy has joined the channel [19:55] javajunky: wow I've really screwed this code up 'require is undefined' ;) [19:56] JimBastard: javajunky: thats what you get when you try to run node code in the browser [20:00] visnup has joined the channel [20:00] javajunky: JimBastard: ;) Not sure what it was, but a restart of the node process seems to have sorted it ;) (no browsers involved here) [20:01] JimBastard: hee hee yeah i figured [20:01] JimBastard: im doing a bunch of dual-sided stuff [20:01] JimBastard: i think im gonna do a bloggings soon [20:01] JimBastard: post about the 8 or so dual sided libs i got going [20:01] JimBastard: i was just joshin ya [20:01] javajunky: yeah I've got some too, mainly shared constants and the like [20:02] JimBastard: well [20:02] JimBastard: for the stuff im doing, im actually creating bundles [20:02] JimBastard: so there is only one file [20:02] JimBastard: and it works in both [20:02] JimBastard: but obviously that wont scale for larger projects [20:02] JimBastard: you need async loading to replace require() [20:02] JimBastard: im working on it though [20:03] JimBastard: i did a quick 30 minute brain dump a couple of weeks ago http://nodejsjs.org/demo [20:03] JimBastard: gonna revisit that soon i think [20:03] quirkey has joined the channel [20:04] saikat has joined the channel [20:04] bradleymeck: http.server from browser? interesting [20:04] JimBastard: bradleymeck: the idea is, everywhere in node you see a service [20:04] JimBastard: you generate the client for the browser [20:05] JimBastard: so http.createServer could become jQuery.AJAX [20:05] saikat: in node, is it possible to force a reload of a file when doing a require? [20:05] JimBastard: FS module could become AJAX [20:05] JimBastard: saikat: there is a module cache in play [20:05] JimBastard: you can fuck with it for sure [20:05] JimBastard: im just not 100% on how [20:05] JimBastard: unload or uncache or something [20:05] JimBastard: i think.... [20:06] saikat: interesting - yeah i was just trying to think of ways to do live code editing of my node server [20:06] saikat: without restarting the server [20:06] saikat: it seems like the kind of thing javascript would be well-suited to do [20:06] JimBastard: saikat: well there is hot loading of modules too [20:06] JimBastard: honestly though, unless you have a real specific reason you should probaly just adjust your workflow to not involve hot reloading if possible [20:07] JimBastard: i know its a pita to restart the server.... [20:07] saikat: yeah if it's too hard i won't do it, just wondering if others already do [20:07] _announcer: Twitter: "@kevinwatters That's awesome! I hadn't heard of that and I love node.js!" -- Cheston Lee. http://twitter.com/Cheston/status/16957250736 [20:07] _announcer: Twitter: "@caolan looking at your node.js forms.. looks like great stuff + clear documentation! I would definitely use if i was doing a node project!" -- Tom Moor. http://twitter.com/tommoor/status/16957252657 [20:07] JimBastard: yeah a few are [20:07] saikat: it's just kind of annoying to restart a server [20:07] saikat: that deals with persistent connections [20:07] JimBastard: yeah for sure [20:07] JimBastard: google a bit there is articles on this [20:07] JimBastard: albiet maybe dated [20:08] saikat: do people have techniques to gracefully restart node or is my best option to just capture the SIGINT signal or whatever [20:08] saikat: and do my cleanup myself [20:08] saikat: before restart? [20:09] JimBastard: i usually ctrl-c [20:09] JimBastard: lol [20:09] JimBastard: or kill the pID [20:09] JimBastard: i very rarely have to take down our node prod server [20:09] saikat: yeah but i mean - if i want to, for example, make sure my program finishes processing its queue of events before shutting down [20:10] JimBastard: yeah [20:10] saikat: how do you do code updates? [20:10] saikat: on your node prod server without restarting it? [20:10] JimBastard: saikat: i do a git pull for broodmother [20:10] JimBastard: then i kill the pID and turn her back on, takes < 1 s of downtime [20:10] JimBastard: could make a upstart script [20:10] JimBastard: just lazy [20:10] JimBastard: (i do the update with the app still up) [20:10] JimBastard: and like [20:10] JimBastard: for us [20:10] JimBastard: all our drones dont go down [20:11] saikat: right - but i mean when i kill the pid, i would need to do some cleanup before i die [20:11] JimBastard: just broodmother itself [20:11] JimBastard: yeah [20:11] JimBastard: so like you can capture the signal [20:11] JimBastard: im not sure if its gonna wait everytime [20:11] JimBastard: but i think it will [20:11] JimBastard: i got code for that i think, maybe [20:11] admc has joined the channel [20:12] saikat: broodmother isn't open source is it? [20:12] JimBastard: process.addListener("SIGINT", function(){ application.end();}); [20:12] saikat: i just found it on github but i only see the README [20:12] JimBastard: saikat: we havent released yet [20:13] mape: Where did gerad go :S [20:13] JimBastard: its powering www.nodejitsu.com [20:13] saikat: oh cool [20:13] JimBastard: we will release as soon as we can [20:13] JimBastard: its something i feel really strongly about releasing "right" [20:13] JimBastard: in both having it stable and usable, and having our business protected [20:13] saikat: right [20:13] saikat: well thanks JimBastard [20:13] JimBastard: its not just a bullshit project , like most of the stuff i released this month [20:14] JimBastard: yeah, sorry i couldnt help me [20:14] JimBastard: errr [20:14] JimBastard: lol [20:14] JimBastard: frued [20:14] JimBastard: sorry i couldnt help MORE [20:14] JimBastard: >><< [20:14] saikat: eh i'll figure something out [20:14] visnup: I'm guessing gerad went to lunch [20:14] JimBastard: i would create a API call saikat [20:14] JimBastard: a rest route [20:14] saikat: i think hot code swapping is one of the few things i miss a lot from my lisp server days [20:14] JimBastard: that did restart [20:14] JimBastard: so you could hit your method first [20:14] JimBastard: your method would do clean up [20:14] visnup: mape: what did you need? [20:14] JimBastard: and then shut down afterwards [20:15] mape: visnup: nothing, wanted to give [20:15] saikat: right [20:15] saikat: and i'd probably just need code on the client [20:15] saikat: that tries to re-establish socket connections [20:15] saikat: when the server goes down [20:15] JimBastard: you could also create two apps [20:15] saikat: with some exponential backoff [20:15] JimBastard: one that is a hypervisor [20:15] JimBastard: thats pretty much what BM does [20:15] saikat: hypervisor means basically like a load balancer? [20:15] visnup has left the channel [20:15] JimBastard: ehhh [20:15] saikat: or rather, something on the frontend handling the actual connectoins [20:15] visnup has joined the channel [20:15] saikat: and shuttling off the work to other node processes? [20:15] JimBastard: im bad with terminolgy [20:15] saikat: something like that? [20:16] visnup: mape: give? [20:16] JimBastard: something that would be in charge of just running and restarting your app [20:16] saikat: oh i see [20:16] JimBastard: broodmother uses carapaces [20:16] mape: visnup: http://mape.me/nodeknockout/ [20:16] JimBastard: so BM wraps any node app in a carapace [20:16] visnup: oooh [20:16] JimBastard: which allows BM to control it uniformly [20:16] JimBastard: i gotta do a bunch of stuff to make that work [20:16] JimBastard: mostly monkey punching the shit out of http [20:17] visnup: mape: nice, we'll try to get this in later today [20:17] mape: visnup: the idea was to have a #nodeknockoutidea - I want a distrobuted crunchmachine alas folding@home [20:17] mape: Neat :) [20:18] mape: properly spelled... [20:18] visnup: should we worry about the yahoo pipe ever? [20:18] mape: Hmm well, if you could cache it serverside that is probly better, faster and more secure [20:20] saikat: JimBastard: also - nodules seems to support module hot-reloading [20:20] saikat: in case you were interested to know =) [20:20] _announcer: Twitter: "Today # nodejs discovered it and started to build your own proxy to NEN - absolutely great! :)" [de] -- Benny Born. http://twitter.com/BennyBorn/status/16958368811 [20:20] JimBastard: yeah i got a problem with nodules saikat [20:21] JimBastard: !tweet @BennyBorn :-) GO GO NODEJS AMAZING [20:21] saikat: JimBastard: what problem? [20:21] JimBastard: the problem with nodules is the name [20:21] JimBastard: do you know what a "nodule" is ? [20:22] kriszyp: heh, you don't like my naming, eh, JimBastard? :) [20:22] saikat: yes =) [20:22] JimBastard: kriszyp: terrible name [20:22] JimBastard: you dont name software after cancerous growths [20:22] JimBastard: sorry... [20:22] saikat: well [20:22] saikat: he could be referring to the geological definition =) [20:22] JimBastard: i dont mean any offense kriszyp [20:23] kriszyp: heh, no offense taken :) [20:23] saikat: kriszyp: is there any caveat i should be aware of if trying to do module hot-reloading with nodules? [20:23] JimBastard: kriszyp: do you know about NLP at all? [20:23] JimBastard: http://en.wikipedia.org/wiki/Neuro-linguistic_programming [20:23] saikat: i realize it's a hard problem, after reading a thread about it on the mailing list [20:23] JimBastard: you should think about the emotional response the word "nodule" could invoke in someone [20:23] kriszyp: saikat: the documentation should give an explanation of how to control what parts get reloaded [20:24] JimBastard: you dont want to brand things based on words that have negative connotations [20:24] whoahbot has joined the channel [20:24] Guest9206: JimBastard, Natural Language Processing? [20:25] JimBastard: no [20:25] JimBastard: read the link noob Guest9206 [20:25] Guest9206: I'm not a noob. [20:25] JimBastard: your irc handle says otherwise [20:25] maushu: Suprise. [20:25] JimBastard: there you go [20:25] JimBastard: so yeah noob [20:25] JimBastard: learn to read [20:26] maushu: No, thats lazyness. [20:26] JimBastard: http://en.wikipedia.org/wiki/Neuro-linguistic_programming [20:26] JimBastard: :-D [20:26] JimBastard: it says it in the link [20:26] endtwist has joined the channel [20:26] maushu: Too lazy to click the link. [20:26] JimBastard: pretty much its like the force [20:26] maushu: http://opennlp.sourceforge.net/ [20:26] JimBastard: you just say the right words and people do stuff [20:26] pkrumins: hey jimbo [20:26] endtwist: Is there a known bug with SSL over HTTP && serving files over 10kb? [20:26] JimBastard: sup pkrumins [20:26] pkrumins: did everything cool down jim? [20:26] JimBastard: lol [20:27] JimBastard: pkrumins: that whole thing was just lulzy, like most internet drama it died after a day or two [20:27] JimBastard: im 100% legal since monday [20:27] JimBastard: that guy was a joke [20:27] JimBastard: of epic proportions [20:27] pkrumins: roger. [20:28] JimBastard: im glad i have the power to summon old aol 3.5 punter developers from oblivion [20:28] JimBastard: thats like an internet wizard lvl 11 spell [20:28] pkrumins: haha. [20:28] JimBastard: the whole thing derailed me for a couple of days though [20:28] JimBastard: im trying to release 300 OSS projects [20:28] JimBastard: everyday counts [20:28] bradleymeck: email from irc would be a bit much, no? [20:28] pkrumins: 300? [20:29] JimBastard: yeah [20:29] pkrumins: how is that possible [20:29] pkrumins: is it a goal of yours or you have done 300 projects? [20:29] JimBastard: im gonna start releasing some press stuff when i get a bit more [20:29] JimBastard: pkrumins: its my goal [20:29] pkrumins: ah, i see. [20:29] pkrumins: doable. [20:29] pkrumins: probably 2 years. [20:29] JimBastard: ive got over 300 original instrumental tracks [20:29] BennyBorn has joined the channel [20:29] JimBastard: i also have www.jimbastard.com [20:29] pkrumins: get jimbo.com [20:29] creationix: JimBastard wished to die of maintenance [20:30] JimBastard: lots of internet videos [20:30] JimBastard: creationix: this is why i built kohai [20:30] JimBastard: im going to automate as much as i can [20:30] zomgbie has joined the channel [20:30] JimBastard: across the whole process [20:30] pkrumins: jimbo has it all figured out [20:30] pkrumins: i hope it's ok i call you jimbo [20:30] pkrumins: i like that. [20:30] JimBastard: you can call me lt. dan for all i care [20:30] JimBastard: ACTION but i do got legs [20:30] pkrumins: alright :) [20:30] JimBastard: did i twitter bennyborn? [20:31] BennyBorn: yes you did [20:31] JimBastard: hiya! [20:31] JimBastard: WELCOME TO THE COLLECTIVE [20:31] JimBastard: you have been assimilated [20:31] BennyBorn: not yet - still need to register my nick :-P [20:31] BennyBorn: but one thing is for sure - nodejs totally impressed me [20:31] JimBastard: aye [20:32] bradleymeck: still upset _announcer ignores _utility [20:32] maushu: kekekeke [20:33] bradleymeck: ill make my own tweetstreaming w/ blackjack and hookers... you know what forget the tweetstreaming [20:33] JimBastard: BennyBorn: stick around for a while [20:33] JimBastard: let me know if you have any questions [20:33] JimBastard: im kinda a noob with node but i have pretty good knowledge of the ecosystem [20:33] BennyBorn: I will in a few minutes maybe you can help me [20:33] maushu: I wouldn't _announcer ignore _utility [20:33] ChrisPartridge has joined the channel [20:34] JimBastard: im the guy to ask if X has been built yet [20:34] JimBastard: and where to find it [20:34] maushu: I mean, tweets come from here. [20:34] JimBastard: bradleymeck: we are gonna get soo many people in here from your bot [20:35] bradleymeck: just like to make things easier [20:35] BennyBorn: @Jim as you've seen in my tweet I'm currently building a proxy server - for sure with authentication ;) [20:35] BennyBorn: I've planned to built in some authentication methods and I wanna start with authentication via htpasswd or /etc/shadow [20:35] JimBastard: BennyBorn: so there are like 5 proxy servers already built [20:36] BennyBorn: the thing is these passwords are crypted with the Unix crypt() functions [20:36] JimBastard: i think pkrumins has the most full featured one? [20:36] JimBastard: mikeal has one too [20:36] BennyBorn: jep already seen some [20:36] BennyBorn: but i think its a nice project to get started with node [20:36] JimBastard: sure [20:36] jarsen has joined the channel [20:36] JimBastard: i built one too for the same reason [20:36] JimBastard: :-D [20:36] BennyBorn: :-D [20:36] mikeal: i have one what? [20:37] JimBastard: but as for the auth, i have no idea [20:37] JimBastard: i think you had some proxy code mikeal [20:37] mikeal: oh yeah [20:37] JimBastard: it was one of the mich's [20:37] mikeal: i have one repo that is just there as an example [20:37] JimBastard: but yeah BennyBorn , you lost me on auth [20:37] JimBastard: sorry [20:37] BennyBorn: but afaik none of those procxies got an authentication system [20:37] mikeal: and then i have a few other proxies that actually do stuff [20:37] creationix: Where to tweets come out from _announcer [20:37] mikeal: but they are all pre-pump [20:37] mikeal: so they need to get updated to be simpler and use pump [20:38] BennyBorn: anyone got an idea of how to validate crypt()'ed passwords? [20:38] bradleymeck: check against a db?? [20:38] BennyBorn: that will be one method [20:38] BennyBorn: but the first one should be able to authenticate system / htpasswd users [20:39] BennyBorn: because those are the most common authentication methods ;) [20:39] visnup has joined the channel [20:40] JimBastard: BennyBorn: i would be surprised if no one has built this yet [20:40] JimBastard: but if they havent perhaps that would make a good module? [20:40] JimBastard: just auth against htpasswd [20:40] JimBastard: i think more research needs to be done [20:40] BennyBorn: jep would be great [20:41] BennyBorn: i guess it could be done by the crypto module.. somehow... [20:41] visnup: sorry, just switched from dsl to cable [20:45] _announcer: Twitter: "[broke] http://bit.ly/cqWrxn Davide Callegari - About to use the filesystem loader to load templates for nodejs" -- Davide Callegari. http://twitter.com/brokenseal/status/16960248975 [20:47] _announcer: Twitter: "Ok I definitely have to try node.js http://nodejs.org and less.js http://bit.ly/9ukf1r It's f... Javascript time!" -- Mario Volke. http://twitter.com/webholics/status/16960409790 [20:49] JimBastard: !tweet @webholics i would highly suggest checking out the rest of cloudhead's stuff, he has some amazing node libraries [20:50] JimBastard: !tweet @brokenseal if you run into any problems just join #node.js on freenode. tons of people that will help you! [20:50] JimBastard: ACTION pwnts twitter [20:52] admc_ has joined the channel [20:53] bradleymeck: lol [20:53] bradleymeck: the channel is always watching [20:54] JimBastard: i want people thinking nodejs is the internet [20:54] JimBastard: and is always on [20:54] JimBastard: :-D [20:54] BennyBorn: google is the internet!!! ;) [20:54] BennyBorn: ok google is v8 and v8 is node so... okay node is internet ^ [20:54] JimBastard: bradleymeck: do you have a dedicated server or are you running from local? [20:54] bradleymeck: !tweet requests for new features on _utility for irc? [20:54] JimBastard: i can donate some hosting if you need [20:55] bradleymeck: its on local til production quality then off to heroku prolly [20:55] JimBastard: 10-4 [20:55] _announcer: Twitter: "The amount of additional modules already available for node.js is simply amazing http://bit.ly/9KL2bd" -- Mario Volke. http://twitter.com/webholics/status/16960887015 [20:55] JimBastard: if you run into any issues i got you [21:00] ollym has joined the channel [21:04] bradleymeck: would be fun if we could have utility route emails it recieves to here, but dont see an imap/pop3 module about [21:04] BennyBorn: well IMAP is easy to implement [21:05] JimBastard: bradleymeck: i think SO is way more important [21:05] BennyBorn: but if you really wanna pass mails here to irc i suggest you got a veeery good spamfilter ;) [21:05] bradleymeck: yea its at top, just listing ideas [21:05] JimBastard: i think email is a bit much [21:05] JimBastard: we do have the mailing list [21:05] bradleymeck: mailing list is getting a feed after SO [21:05] javajunky has joined the channel [21:05] JimBastard: and most people have email alerts set up [21:05] BennyBorn: what do you mean by SO? [21:06] oleg_ has joined the channel [21:06] JimBastard: stackoverflow [21:06] BennyBorn: ah k [21:06] bradleymeck: those feeds will be a lil harder to get it to spam the channel w/ since ill give summaries [21:08] bradleymeck: is announcer's SO feed off? [21:09] gerad has joined the channel [21:11] stagas: hm in an interval of 0 is it faster to introduce a new var or have a var in global scope? [21:11] ollym: how do i get a module to extend the event emitter class? [21:11] creationix has joined the channel [21:11] ollym: and im using class.js [21:12] ollym: i've tried: exports.MyClass = new Class({ ... }).import(require("events").EventEmitter.prototype); [21:12] ollym: and i guess all the methods are imported, but when i emit an event, none of the listeners are called [21:13] ollym: am i doing something wrong? [21:13] BennyBorn has left the channel [21:14] BennyBorn has joined the channel [21:14] mde: ollym: Why not just use plain ol' prototypal? [21:15] JimBastard: mde its a new day for programmers [21:15] JimBastard: welcome to JS [21:15] JimBastard: :-D [21:15] ollym: mde, why not? [21:15] mde: JimBastard: I've been programming JS for about 10 years now. [21:15] JimBastard: mde ..... i meant ollym [21:15] mde: Haha [21:15] mde: Ah, okay. :) [21:15] BennyBorn has left the channel [21:15] maushu: I've been for 40 years! [21:15] JimBastard: anyone who starts off asking about OO JS and class.js stuff is probaly not a native JS dev [21:15] JimBastard: its just what i've noticed [21:16] ollym: ok, well [21:16] JimBastard: not saying a bad dev or anything, just not use to JS [21:16] ollym: before you judge me [21:16] BennyBorn has joined the channel [21:16] mde: ollym: Yeah, we still have some guys here who insist on using fake-classical. [21:16] ollym: can you perhaps answer the question? [21:16] mikeal: whenever i type "prototype" i ask myself if I just did something wrong [21:16] mde: True, it's not terrible. [21:16] BennyBorn has left the channel [21:16] mde: Just not terribly JavaScripty. [21:16] mikeal: maybe this should really just use a closure [21:16] mikeal: and be simple [21:16] JimBastard: ollym: sorry, i dont know the exact answer [21:16] JimBastard: but its pretty easy [21:16] mde: ollym: I don't know class.js personally, I wish I could help you. [21:16] mikeal: who wrote it? [21:17] JimBastard: and ollym , no judgements being made here [21:17] mikeal: that's not Resig's thing that he regrets writing is it? [21:17] JimBastard: :-) [21:17] mde: I just meant that if you do it the simple, prototypal-inheritance way, it's not a black box, so it's easy to fix problems. [21:17] ollym: http://github.com/visionmedia/class.js/ [21:17] mde: Right, no judgements here. [21:17] JimBastard: TJ!!!!!!!!! [21:17] JimBastard: yarg [21:18] mde: mikeal: Yeah, we've had this discussion. Inheritance isn't always the answer. [21:18] mikeal: mde: i actually find that just using a closure and keeping a few things private is really really really nice [21:18] mde: But sometimes it actually is. :) [21:18] mikeal: oh definitely [21:18] JimBastard: functional javascript makes way more sense to me then OO JS [21:18] mikeal: also, if you're creating the object a million times [21:18] mde: Yeah, dude. That's what namespace objects should be. [21:18] mikeal: it's way more efficient to make it an object [21:19] mikeal: using a big object with a prototype is also way more typing [21:19] ollym: ok, how would i do the same thing using prototypes? [21:19] mikeal: lots of var self = this; and blah.prototype.blah = function () [21:19] mikeal: ollym, try this [21:19] sveisvei has joined the channel [21:19] bmizerany has joined the channel [21:20] mikeal: function creatMyThing () { var x = {"test":"test"} ; var y = 'asdf'; x.f = function () {return y}; return x; } [21:20] mde: ollym: Here's are a couple of different ways to do code reuse just with plain, simple JS: http://gist.github.com/439523 [21:21] mikeal: you lost me at "mixin" :P [21:21] brianmario has joined the channel [21:21] mde: Dude, mixins are great. It's just copying props from one object to another. [21:21] mikeal: for some reason, i just never need thi [21:21] mikeal: er this [21:21] mde: I just call it that because it's similar to what people understnad. :) [21:22] mikeal: i haven't really used a lot of OO stuff since Python [21:22] ollym: OOP is amazing [21:22] ollym: simplifies code [21:22] mikeal: especially with all this callback stuff [21:22] ollym: or should do [21:22] mikeal: it's a serious pain in the ass to use inheritance of any kind to keep around state when callbacks are involved [21:22] mde: They're not like opposites. :) [21:22] mikeal: closures are *way* easier [21:23] JimBastard: +3 [21:23] mde: They're both just different, complementary tools. [21:23] mikeal: ollym: in almost all cases a closure is less code to keep state than OO [21:23] mde: mikeal: The scoping thing, yeah. [21:23] mde: It's a pain in the ass. [21:23] mde: But OO can also be nice for stuff like biz logic. [21:24] creationix has joined the channel [21:25] joshbuddy has joined the channel [21:25] joshbuddy has joined the channel [21:25] mde: ollym: I hope you can understand the stuff in the gist. [21:25] ollym: lol [21:25] ollym: turns out what i was doing was right [21:25] ollym: its just my event was being emitted [21:25] mde: I know it sucks when you ask a quesstion, and people just tell you you're doing it wrong, without answering. [21:25] ollym: before the callback was declared [21:25] maushu: JimBastard, what database are you using for nodejitsu? [21:26] ollym: lol np [21:26] mde: Ah, okay. :) [21:26] mikeal: i used to write javascript just pretending that it was Python with CameCase and lots of curly brackets [21:26] mde: I'd really encourage you to look at the native-JS way to do stuff though. [21:26] mikeal: and it works [21:26] mikeal: but it's not good [21:26] mde: Rather than using pretend-classical. [21:27] mde: Just because then you're going with the grain. [21:27] mde: And you really can do a lot more. [21:27] mikeal: i've come a long way mde, check this out http://github.com/mikeal/IDBCouch/blob/master/couch.js#L164 [21:27] mde: Right, ecactly. [21:27] mde: Let JS be JS. :) [21:27] mikeal: also, don't use inheritance to solve all your problems :) [21:27] mde: Right, but don't overreact and throw it out of the toolkit either. :) [21:28] mikeal: this one is crazy [21:28] mikeal: http://github.com/mikeal/IDBCouch/blob/master/couch.js#L313 [21:28] mde: "inheritance" != "classical inheritance" [21:28] mikeal: recursive callback incrementer [21:28] ryah: mjr_: your patch is breaking some tests [21:29] mde: mikeal: Ah, you're explicitly returning the obj. [21:29] mde: Right on. [21:29] mde: I prefer using "this" where I can, but that works too. [21:29] markwubben_ has joined the channel [21:30] mde: Also, even though the "new" keyword is weird, it's still a nice flag that you're creating instances of stuff. [21:30] mikeal: i'm still error prone using this [21:31] mikeal: i'll forget to use self and us this in a callback and breaks stuff [21:31] mde: You're used to passing that shit around like in Python land. :) [21:31] mikeal: you rarely use callbacks in Python [21:31] mikeal: function execution overhead is absurb [21:32] Tim_Smart has joined the channel [21:33] JimBastard: maushu: couchdb for our internals [21:33] JimBastard: maushu: but we support whatever you want [21:33] maushu: Couchdb? Doesn't that use java? xD [21:34] maushu: Oh wait, erland. [21:34] mikeal: hahaha [21:34] JimBastard: yeah we are using the JVM hardcore [21:34] mde: Heheh [21:34] mikeal: the opposite of Java [21:34] maushu: There is a database that uses java. [21:34] mikeal: maushu: if you're a CouchDB user you never touch erlang, it's all HTTP and javascript [21:34] mde: maushu: A bunch of the NoSQL stores use Java, yeah. [21:34] mikeal: neo4j? [21:35] mikeal: actually, Java is surprisingly sparse in the non-relational space [21:35] mde: Cassandra is Java. [21:35] mikeal: neo4j, cassandra, and hbase [21:35] Tim_Smart: mde: Interested? http://github.com/biggie/nodapters [21:36] mikeal: that's not many, considering there are hundreds of non-relational databases now [21:36] mikeal: with a new one every week [21:36] mjr_: ryah: OK, I'll try it against the full test suite later. [21:36] maushu: They are spawning like bunnies! [21:36] mde: Tim_Smart: Hell, yeah. [21:36] mjr_: This sentence is a non-relational database. [21:36] mde: I would love to use as much of that as I can. [21:36] sr: creationix, man, the multitouch demo is amazing [21:37] mikeal: creationix: http://github.com/ry/node/issues/issue/189 [21:37] Tim_Smart: mde: It would be nice to abstract adapters into one repo, so people don't have to duplicate work [21:37] creationix: sr: wait till I add websockets and multipart long-poll [21:37] mikeal: i added a request for the indexOf feature we talked about after a discussion with Ryan yesterday [21:37] mde: Sorting out what is the low-level DB API, and what sits on top of that, is probably a big discussion. [21:37] mjr_: mikeal: yeah, Buffer.indexOf would be great. I just wrote a version of that myself. [21:38] mikeal: Tim_Smart: are you just trying to write adapters for relational databases? [21:38] mikeal: mjr_: check out the feature request [21:38] mtodd has joined the channel [21:38] mde: Tim_Smart: Yes, it's annoying to have to scrape around figuruing out who's what thing to use. [21:38] mikeal: there is an extra options for "lead" [21:38] linuxsable has joined the channel [21:38] creationix: mikeal: looks good [21:38] mikeal: which is pretty useful [21:38] Tim_Smart: mikeal: Trying to write adapters that you can plug into frameworks and things [21:38] mikeal: but just for relational? [21:38] Tim_Smart: And then swap out databases at will [21:38] kriszyp: Tim_Smart: that's the approach we are using in perstore [21:38] Tim_Smart: mikeal: nosql and sql [21:39] kriszyp: we are following the HTML5 Indexed DB API [21:39] mikeal: i don't think that's going to work all that well [21:39] mde: I see nothing wrong with a common core that works both NoSQL and SQL, and then have DB- and implementation-specific extensions. [21:39] mikeal: you're going to end up picking a subset of funcitonality [21:39] creationix: mde: that was the goal of node-persistence [21:39] mikeal: and it'll be inefficient in each one [21:39] creationix: then I quickly realized it was too early in node for such efforts [21:39] mikeal: ok [21:39] mikeal: the first problem you have is saying NoSQL and SQL [21:39] mde: Developers don't want to work in raw SQL or raw mapreduce anyhow. [21:40] kriszyp: the advantage of using the IndexedDB API is then you have a standards-based API, and it is compatible with future browsers [21:40] mde: creationix: Maybe we could reuse some of that code. [21:40] mikeal: that's not a good classfication of databases if you're aiming to write a generic abstraction [21:40] mde: mikeal: I was thinking in today's world people may want to pick the persistence engine on a per-model basis. [21:40] kriszyp: and mikeal, you'd certainly never want to limit yourself to the intersection of the noSQL functionality [21:40] kriszyp: but that doesn't mean the intersection isn't useful [21:40] mikeal: oh hell no [21:40] mde: So like, stick users in a SQL store, stick message in a NoSQL store. [21:40] mikeal: so [21:40] mikeal: what you're going to end up with is ZODB [21:41] mikeal: it'll be an object persistence layer on top of a generic storage type with an indexing abstraction [21:41] Tim_Smart: mikeal: A more generic abstraction would be something we would look at [21:41] mikeal: and the indexing won't be efficient on any system unless you optimize it yourself by hand [21:41] mikeal: but you *still* can't support a huge selection of databases [21:41] creationix: yep, been there, tried that, only works well all the time for simple cases [21:41] mde: mikeal: Yeah, it's kind of a crazy idea, but sounds like a fun problem to work on. :) [21:41] kriszyp: Tim_Smart: what do you think about using the HTML5 db API? [21:42] mikeal: you could get all the SQL databases and CouchDB to work [21:42] ryah: it's great that node's test suite actually works [21:42] mikeal: but making Redis work with any kind of usefullness won't happen [21:42] ryah: e.g. in the case of mjr's recent patch [21:42] Tim_Smart: kriszyp: HTML5 isn't very well supported in the real world [21:42] kriszyp: (specifically the object store API, that's the interesting part) [21:42] ryah: ACTION is happy [21:42] mde: Even with ORMs sometimes you have to drop into raw SQL. [21:42] mde: This is no different from that. [21:42] kriszyp: yeah, HTML5 looks like kind of dead-end doesn't it ;) [21:42] isaacs has joined the channel [21:42] kriszyp: not much interest in it or anything [21:43] mikeal: mde: you're missing the point I'm trying to make completely [21:43] creationix: ryah: yeah, and tjholowaychuk writes tests for me on connect, it's great [21:43] kriszyp: [21:43] mscdex: heh, the sarcasm tag! [21:43] mikeal: yeah, in an ORM you sometimes have to use SQL, but only for really hard cases [21:43] mikeal: if you support this large variation list then you'll have to drop in to SQL for any non-trivial case [21:43] mde: mikeal: I'd say 'moderately hard cases,' but mileage varies. [21:43] creationix: mikeal: I'm interested in your opinion of the node-persistence abstraction level [21:43] mscdex: there ought to be a sarcasm tag in html5! [21:43] JimBastard: why are you happy today ryah ? besides from just being awesome ? [21:44] mde: Picking the right abstraction level is hard, yeah. [21:44] mikeal: i think you can do this across all key-value stores, or against all SQL databases, but not both if you want to make the non-trivial cases work [21:44] mikeal: what you have now, and i've looked at it [21:44] mde: mikeal: That's why I think the mixed strategy works well. [21:44] mikeal: is an object persistence database [21:44] ryah: ACTION met a true hacker today [21:45] JimBastard: stallman? [21:45] JimBastard: lol [21:45] isaacs: ryah: oh? [21:45] mde: mikeal: The SQL side is basically a toy right now. [21:45] mikeal: which is fine if that is what you want [21:45] sr: creationix, nice :) [21:45] mikeal: you know what, turning an RDBMS in to a hybrid key/value store is a common way to try and scale it [21:45] mde: Just so you can get something to work without installing something exotic. [21:45] mikeal: so it's not necessarily a bad thing [21:45] mscdex: maybe you could emulate tabls in nosql by using a key as the table name and the fields and values in a json object assigned to that key [21:45] mscdex: :P [21:45] kriszyp: you've actually been coding against the HTML5 DB API, right mikeal? [21:45] mscdex: *tables [21:45] mde: mikeal: Yes, that's what we do here. :) [21:46] mikeal: but you need to recognize that you're either going to drop most indexing or only index things trivially [21:46] isaacs: weren't we gonna meet up in santa clara at some point? did that already happen? [21:46] mikeal: kriszyp: yup [21:46] isaacs: ACTION has been in the startup cave [21:46] creationix: isaacs: me too [21:46] creationix: when is the meetup [21:46] Tim_Smart: mikeal: I think the best way to approach it maybe, is to have a few api methods that behave the same, and then branch off in different directions when needed [21:46] creationix: ? [21:46] mikeal: i've been getting builds from Ben Turner and Shawn Wilsher as they implement IndexedDatabase [21:46] mde: ryah: Who did you meet? [21:46] isaacs: creationix: right now! come here! [21:46] isaacs: creationix: jk, i don't know [21:46] mde: Tim_Smart: That's my thoughts, exactly. [21:46] creationix: well, "right now" I'm waiting for the delivery truck to bring my firniture and scooter [21:46] isaacs: oh, sweet [21:46] Tim_Smart: scooter ftw [21:47] kriszyp: Tim_Smart: yeah, that's exactly what I do. There is a base API, but of course you extend for additional functionality, so you don't limit yourself [21:47] creationix: I love my scooter, it's a beast [21:47] mscdex: lol [21:47] mikeal: you know what [21:47] kriszyp: mikeal, are you those publicly available? [21:47] mikeal: this is all just a bad idea [21:47] mikeal: kriszyp: they are on the internet :) [21:47] creationix: and with node-persistence, there is a common api, but then sql based things have special methods [21:47] mikeal: you want a link? [21:47] kriszyp: sure [21:48] mikeal: they aren't like a secret [21:48] mikeal: it's just not in mozilla-central so i get a build whenever they do one on the try server [21:48] kriszyp: just part of firefox src? [21:48] Tim_Smart: creationix: If you could start again, would you approach it differently? [21:48] mikeal: i should actually put a link to the latest build in my README [21:48] mikeal: http://ftp.mozilla.org/pub/mozilla.org/firefox/tryserver-builds/sdwilsh@shawnwilsher.com-44f33414d557/ [21:49] mjr_: The Web SQL thing strikes me as a lot like JavaScript itself: hastily jammed into some implementations because some people that make a browser wanted it in there. [21:49] creationix: Tim_Smart: not much, there is no "good" way to intersect all persistence stores [21:49] creationix: they work different because they solve different problems [21:49] creationix: what's the point of having a unified api for things that aren't for the same problem [21:49] Tim_Smart: Maybe we should just encourage nosql databases in frameworks [21:49] mde: At the end of the day, normal end-user devs just want a DSL for fetching their data. [21:50] creationix: I mean, unify where is makes sense, but be different where it makes sense too [21:50] mikeal: kriszyp: i just put that link in the readme as well [21:50] mde: They don't give a shit about SQL or query languages or whatever. [21:50] creationix: mde: and that part is easy to do for simple single-table searches [21:50] kriszyp: thanks, mikeal [21:50] mde: creationix: Right, it's only the same for a few simple cases. [21:50] mikeal: WebSQL is pretty much dead [21:50] mde: But "fetch by id" is a pretty common pattern, everywhere. [21:50] mikeal: the spec is stalled indefinitely and Firefox and IE both stated they won't be implementing it [21:51] Tim_Smart: Can ActiveRecord etc. plug into noswl db's right now? [21:51] Tim_Smart: *nosql [21:51] mikeal: Tim_Smart: kind of, not really [21:51] mikeal: there are connectors for CouchDB and MongoDB [21:51] creationix: ActiveModel can right? [21:51] mikeal: but they are both kinda half assed [21:51] Tim_Smart: Right. I think I might move my attention off sql for my framework [21:52] endtwist has left the channel [21:52] mikeal: you know what, this is all kinda stupid [21:52] mikeal: all these abstractions [21:52] mikeal: we can't do this anymore [21:52] creationix: Tim_Smart: http://en.oreilly.com/rails2010/public/schedule/detail/14144 [21:52] mikeal: we can't just store stuff in our favorite API regardless of the data or usecase [21:52] Tim_Smart: mikeal: What are you proposing? [21:52] mde: mikeal: Right, but there is some overlap. [21:52] mikeal: that just doesn't work anymore, and all these new databases are built for specific use cases [21:53] mikeal: SQL databases all more or less compete for the same use case, so this worked [21:53] mde: fetch by id, and fetch by model-type. [21:53] mikeal: but something that works well in CouchDB won't work well in Redis and vicaversa [21:53] mikeal: and you're never going to know your use case if you live in this abstraction [21:53] creationix: ACTION goes back to writing my own version of an in-memory nosql store [21:54] mikeal: having a really good API that is framework integrated for Redis would be really great [21:54] mikeal: and it should look nothing like an API for CoucHDB [21:54] mikeal: or for SQL [21:54] Tim_Smart: mikeal: So you saying get the dev should hook the models to the database themselves? [21:54] mikeal: creationix: I'm working on an ondisc db called "stoopid" [21:54] mikeal: i'm calling it that because it's so fuckin cliche to be writing another damn database [21:55] mikeal: Tim_Smart: forget models [21:55] mikeal: fuck models [21:55] visnup: mape: to expand on the twitter ideafornodeknockout page, I'm thinking of adding an input box that would contribute an idea and disclaim it will just tweet for you [21:55] mikeal: models are a good abstraction for an ORM [21:55] mjr_: ACTION fucks models [21:55] mikeal: a Redis API should look nothing like a model [21:55] mape: visnup: Jup, just a post to a get url on twitter? [21:55] mikeal: a Redis API should basically allow you to work on globals the way your code normall would [21:56] mikeal: but just store them in Redis so they are shared between processes [21:56] mjr_: I must leave this rousing debate to go drive across Michigan. [21:56] Tim_Smart: mikeal: Well, I'm planning to make s [21:56] visnup: mape: something like that [21:56] Tim_Smart: err enter fail [21:56] visnup: and a vote up is a retweet [21:56] sechrist: JavaScript/AJAX/Ruby/Rails [21:56] sechrist: apparently all of those are the same thing [21:56] sechrist: according to apple [21:56] mikeal: a CouchDB api should just store objects, anything in your code that can be converted to JSON you should just pass it [21:56] mikeal: no need for models [21:56] Tim_Smart: mikeal: Well, I'm planning to make models also work in the browser. So you need some sort of way of representing the data [21:56] sechrist: dat couchdb [21:57] mikeal: you can write a validation API functionally that takes any JSONable object [21:57] mikeal: you don't need a model API for that [21:57] sechrist: mikeal: I can do anything in mapreduce functions that spidermonkey supports right? [21:57] mape: visnup: Sounds like a good idea, as long as it is on twitter and gets the spread it should be fine. [21:57] mikeal: what you need in the browser is the validations [21:57] mikeal: you don't need models for that [21:57] mikeal: sechrist: yes….. but don't [21:57] joshbuddy_ has joined the channel [21:57] sechrist: everything should be cachable mirite [21:57] mikeal: you should use the subset of javascript that is available everywhere [21:57] sechrist: oh that's what I meant [21:58] sechrist: I meant normal javascript [21:58] sechrist: not just conditionals based on docs [21:58] mikeal: because eventually i'm going to make that view server vm independent [21:58] Tim_Smart: mikeal: Right, well I'm off now. I'll think about it. [21:58] mikeal: you can literally do anything, yes [21:58] sechrist: couch-v8 [21:58] mikeal: expect IO :) [21:58] mikeal: except IO [21:58] mikeal: do not expect IO :) [21:58] devinus has joined the channel [21:58] sechrist: WHY NOT [21:58] mikeal: sechrist: yes, eventually we will have v8 bindings [21:59] mikeal: we want to reduce our dependencies so that mobile ports are easier [21:59] sechrist: I want to run SQL queries to my MSSQL 2005 database inside the mapreduce [21:59] mikeal: and v8 is already on Android so it's an obvious win [21:59] mikeal: nope [21:59] mikeal: the view server can only block on processing [21:59] sechrist: :D [21:59] devinus: ryah: is there a javascript equivalent to ev_loop(EV_DEFAULT_UC_ 0) and ev_unloop(EV_DEFAULT_ EVUNLOOP_ONE) ? [22:06] mostlygeek has joined the channel [22:08] rnewson has joined the channel [22:11] oleg_ has joined the channel [22:11] ollym has joined the channel [22:12] _announcer: Twitter: "@jasonkarns @stevenharman the rhino runner is currenty broken for env.js. If you need that use the node.js headless runner." -- Scott Walker. http://twitter.com/pragma_tech/status/16965200297 [22:13] bradleymeck: we have a headless runner? [22:16] _announcer: Twitter: "So what will Google do with node.js ?" -- Andreas Kalsch. http://twitter.com/kalsch/status/16965417904 [22:18] brainproxy has joined the channel [22:19] _announcer: Twitter: "thx to @rentzsch I have a sudden obsession with node.js" -- Alex Rosenberg. http://twitter.com/alexr/status/16965555343 [22:19] _announcer: Twitter: "Connect is about the awesomest thing I've seen for Nodejs. http://bit.ly/a5RhB3" -- Dusko Jordanovski. http://twitter.com/jordanovskid/status/16965599007 [22:21] rnewson has left the channel [22:22] mjijackson has joined the channel [22:22] bradleymeck: !tweet @kalsch hopefully get it on app engine [22:23] isaacs: bradleymeck: does that actually work? [22:23] bradleymeck: !grant isaacs voice [22:23] isaacs: !tweet my favorite person is @izs [22:23] javajunky has joined the channel [22:23] bradleymeck: viola [22:23] isaacs: which twitter account is it? [22:24] indiefan has joined the channel [22:24] bradleymeck: nodejsbot [22:24] isaacs: oh, ok, that's kind of super extremely handy [22:24] isaacs: i always head over to tweetie to respond to tweets i see in here [22:25] isaacs: hahaha, the nodejsbot's name is "Bradley Meck" [22:25] bradleymeck: :) [22:25] isaacs: so it looks in my mentions like you're paying me a compliment [22:25] isaacs: you should change the name to be something like "irc://freenode.net#node.js" [22:26] bradleymeck: cant fit the irc:// but done [22:26] isaacs: neat [22:27] isaacs: should be node.js not just node [22:27] isaacs: #node is just me and chanserv [22:27] gerad: twitter strips out the .js from the name [22:27] isaacs: oh, crazy [22:27] gerad: i tried to make our twitter name Node.js / Knockout like 5 times [22:27] isaacs: maybe it could be just "node irc bot" or something, then [22:27] gerad: before i figured that one out [22:29] dgathright has joined the channel [22:30] bradleymeck: freenode node-dot-js is the standard for now since it seems pretty universally accepted through the like 5 squats i have for the bot [22:31] ryah: does anyone know why dtruss isn't working with node on mac? [22:32] bradleymeck: you got it sudo'd? [22:32] ryah: yeah [22:33] ryah: seems to exit strangely [22:33] ryah: it was working at some point [22:33] ryah: i went to use it yesterday and got fail [22:34] siculars has joined the channel [22:34] jsilver has joined the channel [22:36] _announcer: Twitter: "There's a (fab) app for that... http://jsconf.blip.tv/file/3745736/? #nodejs #fab #js" -- Jason Staten. http://twitter.com/statenjason/status/16966525312 [22:40] joshbuddy has joined the channel [22:40] joshbuddy has joined the channel [22:42] indexzero has joined the channel [22:42] maushu: Error: EMFILE, Too many open files [22:42] maushu: oh lol [22:42] jsilver has joined the channel [22:42] bradleymeck: O-o [22:43] maushu: Maybe I should close the connection after every client instead of leaving it open. xD [22:46] maushu: Error: EADDRNOTAVAIL, Cannot assign requested address [22:46] maushu: Hmm, no idea about this one. [22:47] ollym: lol [22:47] maushu: ryah, any idea why that would show up? [22:48] ollym: any idea why websockets persist even after a page refresh? [22:48] maushu: I was laying siege on my node http server. [22:49] mcarter has joined the channel [22:50] maushu: Using uncaughtException now. [22:51] maushu: Yeah, the server keeps running. [22:51] ollym: maushu, was that to me? [22:51] maushu: Huh, no? [22:55] maushu: ollym, maybe it has something to do with keep-alive. [22:56] bradleymeck: connection: close! [22:57] maushu: warning: socket: 1513126768 select timed out: Connection timed out [22:57] maushu: Hmmm. [22:57] bradleymeck: im off for a futurama party, if you break _utility its your fault [22:57] bradleymeck has left the channel [22:57] maushu: ACTION pokes _utility with a stick. [22:58] maushu: DEVIL SPAWN! [22:58] grahamalot has joined the channel [22:59] hassox has joined the channel [23:00] joshbuddy has joined the channel [23:00] joshbuddy has joined the channel [23:01] micheil has joined the channel [23:04] ollym: nothing to do with keepalive [23:04] ollym: i cant work it out [23:06] mostlygeek has joined the channel [23:12] sanderjd has left the channel [23:14] gf3 has joined the channel [23:17] mjijackson has joined the channel [23:19] Tim_Smart has joined the channel [23:28] Tim_Smart: creationix: http://github.com/biggie/biggie-router/blob/master/lib/biggie-router/modules/static.js#L52 [23:28] Tim_Smart: You might want to switch to streaming files. [23:28] Tim_Smart: (In your static module) [23:30] [[zz]] has joined the channel [23:30] bmizerany: so what's the consensus on foo.addListener('error', function(e) { ... }) vs. foo = new Foo(function(e, bar) {...}) ? What is the idiom/rule for which to use when? [23:30] jedschmidt has joined the channel [23:30] Tim_Smart: bmizerany: Use function callbacks when you have a simple error / success return [23:31] Tim_Smart: Use events when you emit at different stages [23:31] micheil: hmm.. [23:31] micheil: ACTION takes note [23:31] bmizerany: Tim_Smart: noted. thx. [23:32] Tim_Smart: bmizerany: Nothing wrong however, with accepting a function callback for the most common event, like http.createServer [23:32] bmizerany: Tim_Smart: I guess modeling my customer "server" API after the http lib would be a good start, eh? [23:33] bmizerany: Tim_Smart: right. that is what I was thinking [23:35] _announcer: Twitter: "@bensonk I just happened to come across a random commit of yours on github! :) I'm starting some Node.js stuff." -- Chris Oliver. http://twitter.com/excid3/status/16970001711 [23:36] maushu: Hmmm, I wonder if I should create a session for every user... [23:41] everton has joined the channel [23:42] joshbuddy has joined the channel [23:42] joshbuddy has joined the channel [23:43] tlrobinson_ has joined the channel [23:50] mostlygeek has joined the channel [23:55] fictorial has joined the channel [23:59] JimBastard has joined the channel