[00:00] gerad has joined the channel [00:04] marketing has joined the channel [00:11] _announcer: Twitter: "@alexr @dsully in terms of node.js frameworks, I'm more excited about Express/Connect than Geddy - http://expressjs.com" -- James Home. http://twitter.com/jameshome/status/16972160506 [00:13] gerad has joined the channel [00:17] bmizerany has joined the channel [00:17] mape: That is crazy talk! [00:17] Tim_Smart has joined the channel [00:21] kersny has joined the channel [00:21] zaach has joined the channel [00:23] Tekerson: Anyone able to point out my mistake using EventEmitter? http://stackoverflow.com/questions/3109281/broadcast-to-waiting-connections-using-eventemitter-in-node-js [00:23] tmpvar has joined the channel [00:25] SamuraiJack has joined the channel [00:25] Tim_Smart: Tekerson: Looks fine to me [00:26] foobarfighter has joined the channel [00:26] Tekerson: It sort of works. Just not how I'd like. If you run it, the connections or listeners "queue", instead of all returning when the publish is hit :( [00:27] foobarfighter: how do i tell whether my script is being executed vs. required? [00:27] foobarfighter: is there a $0? [00:27] Tim_Smart: foobarfighter: Check whether it is the parent module [00:28] foobarfighter: Tim_Smart: is there a window or a global or something? what is the name of the parent module? [00:28] hoodow_ has joined the channel [00:28] Tim_Smart: module.parent I think [00:28] foobarfighter: ah [00:28] foobarfighter: thanks [00:28] PyroPete1 has joined the channel [00:28] drudge- has joined the channel [00:29] Tim_Smart: Tekerson: What do you mean my queue? [00:29] Tim_Smart: There will will a very small (sub-milliisecond) latency I would have thought, but nothing major [00:30] Tim_Smart: *will be [00:30] mde: Tim_Smart: Dude, sent you a msg on GitHub. Check it out when you get a chance. [00:30] Tekerson: Tim_Smart, if you open up 2 tabs/browsers pointing at /consume (they both sit and wait, good) then hit /publish the first consumer returns, the second doesn't return until you hit /publish again. [00:30] Tekerson: it's running at http://gaz.tekerson.com:8001/consume if you want to have a look what I mean. [00:30] paulwe has joined the channel [00:33] SvenDowideit_ has joined the channel [00:34] keyvan has joined the channel [00:34] rphillips_ has joined the channel [00:35] JimBastard_ has joined the channel [00:36] JimBastard_: shit its a javascript party over here [00:36] JimBastard_: we rolling deep today [00:37] rictic has joined the channel [00:38] kersny has joined the channel [00:38] indiefan has joined the channel [00:40] Tim_Smart: mde: OK read and replied. [00:42] mde: Tim_Smart: Excellent. :) [00:42] Tim_Smart: Tekerson: Hmm some weird scope issues or something might be messing with ya. [00:42] marketing has joined the channel [00:43] LOLWUT_ has joined the channel [00:43] Tekerson: Tim_Smart, yeh, figure it's something like that, but I've simplified it as much as possible (the full app is much larger) and still can't see anything. Hence looking for someone who knows more than I :) [00:45] Tim_Smart: Tekerson: Right. Try logging 'e.listeners.length' everytime you hit publish [00:46] Tim_Smart: mde: I say we have a talk sometime, throw ideas around (unless anyone else wants to join), and see what we come up with. [00:48] Tim_Smart: mde: Too many people have said mixing nosql and sql won't work, so I have to at least try now :p [00:48] mde: Tim_Smart: Right, so crazy it has to work. :) [00:48] sztanphet has joined the channel [00:49] mde: Actually, most places actually doing something real with nosql are already mixing the two. [00:49] mde: The whole point is that they are good for different things. [00:49] mde: People naturally will want to use both. [00:49] skampler has joined the channel [00:50] mde: Stick things like users or financial records in a SQL store, stats and message in a NoSQL store. [00:50] mde: And the model should let you do that. [00:50] Tim_Smart: Yeah. We just need to find a way to make a flat API that doesn't take compromise (well, maybe a little) [00:50] mde: At the end you should just have nicely typed JS business objects for your code to use. [00:50] ryan[WIN] has joined the channel [00:50] ezmobius has joined the channel [00:51] mde: I think it's okay to say "these parts of the API don't work for Redis." [00:51] mde: Or "these parts don't work for Postgres." [00:51] Tekerson: Tim_Smart, always 1.. what's possibly more interesting is the line logging the request uri doesn't output until the first publish is called. Not sure what that means though. [00:51] mjijackson has joined the channel [00:51] gf3 has joined the channel [00:51] creationix has joined the channel [00:51] sveisvei has joined the channel [00:51] tav has joined the channel [00:51] hdon has joined the channel [00:51] rockstar has joined the channel [00:51] nefD has joined the channel [00:51] bjartek has joined the channel [00:51] mde: But there's no reason you can't have a well-thought-out API for the 80%, and let devs hand-tune the rest. [00:52] [[zz]] has joined the channel [00:52] gerad: ever head the quote that "orm is the vietnam of computer science" [00:52] Tim_Smart: mde: Definitely. And with things like blogs etc. you only use a subset of that 80% [00:53] gerad: referring to the war, of course [00:53] gerad: :-) [00:53] mde: gerad: Yeah, it's a very apt metaphor. [00:53] gerad: though personally, I like active record [00:53] mde: Eventually you have to drop in to SQL for some stuff, but you shouldn't have to use it for everything. [00:54] mde: Right. [00:54] Tim_Smart: Anyone who like to gets things done, fast, usually likes ORM's [00:54] kersny has joined the channel [00:54] gerad: let me know how it goes, some stuff is better modeled relationally, and some stuff isn't [00:55] gerad: so generally, it makes sense, what you're trying to do [00:55] gerad: but it's scary :-) [00:55] Tim_Smart: Good. [00:55] Tim_Smart: rawr [00:55] mape: http://gist.github.com/452233 if you want to find out more about the node knockout contestants without going through all the pages [00:56] gerad: mape: nice! [00:57] gerad: the teams list is super lame right now [00:57] mape: Nice? I thought you would hate me for hitting the server :P [00:57] gerad: hahaha [00:57] gerad: it's node on heroku [00:57] gerad: if it goes down, I have other people to blame [00:57] mape: ah k, all good [00:57] Tim_Smart: mape start hitting my vps, and it caved in on itself [00:58] gerad: mape: thanks for helping out with the ideas project btw [00:58] mape: gerad: the least I can do :) [00:58] gerad: mape: though your demo didn't work for me:-), sounds like you and visnu are talking through some ideas [00:58] gerad: the help is definitely appreciated [00:59] mape: looks like he is taking it a step further which is great [01:01] JimBastard_: mape: that is out of date [01:01] mape: JimBastard_: what is that refering to? [01:01] JimBastard_: nodeknock [01:02] ollym: hey mde [01:02] mape: you mean the piece of code that fetches the info straight from the page? [01:02] ollym: you about? [01:02] mde: ollym: What's up? [01:02] JimBastard_: i dunno it wasnt showing everything [01:02] mape: gerad: btw what demo did you mean? the listing of teams or the twitter one? [01:02] JimBastard_: nm [01:02] ollym: released it! http://github.com/ollym/node-io [01:02] stevestmartin has joined the channel [01:03] mape: JimBastard_: if you run it in the firebug console it shouldm if you are on the adress in the top most comment [01:03] ollym: and i didnt need to know anything about prototypes after all [01:03] JimBastard_: i see [01:03] mde: ollym: Nicely done, yeah. :) [01:03] mde: You can get pretty far with crutches, dude, but eventually you won't want them. :) [01:03] ollym: haha [01:03] fowlduck has joined the channel [01:03] ollym: crutches? [01:04] mde: Classical-inheritance crutches, yeah. [01:04] JimBastard_: nice ollym [01:04] JimBastard_: keep that shit up :-D [01:04] mde: Nice docs, man. [01:04] mde: You're a hyphenator -- man after my own heart. [01:04] ollym: lol, not yet [01:04] ollym: they will be [01:04] ollym: thats like 3 minutes work [01:05] Tim_Smart1 has joined the channel [01:05] mde: This looks good, yeah. Nice work, man. [01:05] ollym: it just fustrated me that there wasnt a single websocket library that followed the specification fully [01:05] fictorial has joined the channel [01:05] ollym: so i decided to write my own [01:05] mde: Scratching your own itch, right on. [01:05] mde: That's why I started building Geddy. [01:06] ollym: and it also fustrated me that there wasnt a single server library that didnt use random number generators to generate client IDs [01:06] mde: There was no really good framework for building sophisticated apps. [01:07] mde: It's all about improving the ecosystem. [01:07] ollym: yea ive seen geddy [01:07] ollym: briefly [01:07] mde: It's still really early, but I'm looking forward to full-stack JS that's as easy for people to use as Rails. [01:07] ollym: tbh i havent yet found a web framework for node.js that i like [01:07] ollym: i dont think node.js is built for web development really [01:08] ollym: its more application development [01:08] fictorial: lol [01:08] mde: Ah, I disagree. I'm so stoked to have real non-JVM SSJS. [01:08] mape: neat, leah culver is participating in node knockout :) [01:08] mde: ollym: Just write your own Web framework; that's what everyone else does. :) [01:09] JimBastard_: can anyone see http://news.ycombinator.com/item?id=1459681 ? [01:09] mape: no [01:09] JimBastard_: loooool [01:09] JimBastard_: :-D [01:09] mape: banned again? [01:10] JimBastard_: its kinda annoying [01:10] JimBastard_: because i could proxy them to death. but like...i do actually have better things to do [01:10] JimBastard_: ugh [01:10] JimBastard_: i was gonna post http://twitter.com/nodejsbot [01:10] JimBastard_: and say [01:10] JimBastard_: The node.js irc room now responds to your questions on Twitter [01:11] JimBastard_: that would be a good post IMO [01:11] JimBastard_: too bad im banninated :-( [01:13] jedschmidt_ has joined the channel [01:16] polotek has joined the channel [01:19] _announcer: Twitter: "#reddit The node.js irc room now responds to your questions on Twitter: submitted by JimBastard [link] [co... http://bit.ly/bY3yOs #rulez" -- REDDITSPAMMOR. http://twitter.com/REDDITSPAMMOR/status/16976273894 [01:23] JimBastard_: BAM [01:23] JimBastard_: the circle is complete [01:23] JimBastard_: !twitter @REDDITSPAMMOR > . < [01:23] polotek: does the line have to start with [bang]tweet to get tweeted by nodejsbot? [01:24] mape: JimBastard_: http://inem.github.com/tequila.html [01:24] mape: you were doing something like that? [01:24] JimBastard_: ahhhh [01:24] JimBastard_: MY EYES [01:24] JimBastard_: THEY BURN [01:24] JimBastard_: okay trying again one sec [01:24] JimBastard_: i had to turn my constrast down that shit was brutal [01:25] JimBastard_: mape what was i trying to do again? [01:25] polotek: mape: I don't get it [01:25] mape: json templating? [01:25] mape: polotek: yeah, !tweet [01:25] mape: if you have voice with the bot [01:25] JimBastard_: mape: that be ruby [01:25] mape: JimBastard_: same idea, different syntax [01:26] mape: that still outputs json no? [01:26] JimBastard_: polotek: you gotta get the voice from bradleymeck1 [01:26] polotek: umm, why do I want the voice? [01:26] JimBastard_: mape: theres a billion ways to template json [01:26] JimBastard_: or template [01:26] JimBastard_: im kinda lost atm [01:26] polotek: bradleymeck1: aren't you working on the harmony:proxies clone? [01:26] JimBastard_: ummm [01:26] mape: JimBastard_: for sure, just figured you might find it interesting to get a different view at the issue [01:27] JimBastard_: is the thing down [01:27] mape: polotek: who says you do? [01:27] JimBastard_: lol [01:27] JimBastard_: i don thtink the bot is in here [01:28] kriszyp_ has joined the channel [01:28] polotek: mape: I don't like it when inanimate things talk to me without my asking [01:29] mikeal has joined the channel [01:29] polotek: hey mikeal [01:29] mikeal: hiya [01:29] polotek: mikeal: twitterstream is yours right? [01:30] mikeal: yup [01:30] polotek: was also looking at your node-utils. pretty nice stuff. [01:30] tmpvar has joined the channel [01:30] polotek: your pump functions are pretty elaborate [01:30] polotek: do they work well with http yet? [01:31] mape: polotek: who spoke to you? [01:31] polotek: mape: I have no idea what's going on. I just didn't like the idea of "getting the voice" [01:31] mape: you probly wont then [01:31] mape: and all is good in smurf land [01:32] bmizerany: in v8, if I `return ThrowException(Exception::Error(String::New("my error")))` from a native method, and in JS I have a try/catch around that invocation of it, why does the catch not catch that? [01:32] bmizerany: guess I could ask in v8. :) prob better suited for this one [01:32] JimBastard_: hey deanlandolt_home whats up with http://www.developerfusion.com/event/83829/1st-annual-javascript-olympics/ [01:33] polotek: all is definitely NOT right with the smurfs [01:33] JimBastard_: polotek: the bot is down man [01:33] polotek: http://www.cinematical.com/2010/06/16/your-first-look-at-the-new-smurfs/ [01:33] JimBastard_: polotek: it just started today and worked for the first time, its time to iterate [01:33] JimBastard_: not hate [01:34] mattly has joined the channel [01:34] polotek: JimBastard_: I got no problem with the bot. it came across my timeline and I thought it was cool [01:34] polotek: was just the talk about voice that threw me off [01:35] grantmichaels has joined the channel [01:37] Tim_Smart has joined the channel [01:39] polotek: mikeal: ping ? [01:39] mikeal: sorry [01:39] mikeal: i got distracted [01:40] polotek: figured. don't mean to be bothersome [01:40] mikeal: polotek: yes, my pump functions will work with http [01:40] polotek: what's different from when it didn't work before? was it fixed in node? [01:40] mikeal: in fact, i wrote them because the pump function I got in to node core actually wont until we get a close event on HttpResponse [01:41] mikeal: well, it'll mostly work, you just can't use the callback argument [01:41] mikeal: polotek: the stream library i have in node-utils is still untested [01:41] mikeal: i'm 99% the regular one with work, but the mulitPump needs better testing [01:41] mikeal: there are a lot of things that could go wrong [01:41] polotek: word [01:42] polotek: yeah the regular one is nice [01:42] mikeal: nothing is wrong with the pump function in node core [01:42] polotek: similar to the idea I was having on the thread a while back [01:42] polotek: but uses event emitter [01:42] mikeal: it's just that it fires the callback after a close event on the writable stream [01:42] polotek: nice [01:42] mikeal: and that won't work for http right now [01:42] mikeal: yeah [01:42] mikeal: also [01:42] polotek: what's the deal with that? [01:42] polotek: I think I brought that up at some point too [01:43] polotek: if user hits stop or closes their browser [01:43] polotek: you get nothing [01:43] mikeal: the stuff i wrote in that library sets pump.chunk and the emits the data event on the pump emitter before sending pump.chunk to the writabel stream [01:43] mikeal: so you can modify it in an event listener on the pump if you want [01:43] polotek: ah [01:43] mikeal: polotek: nah, you'd get an error event [01:44] polotek: mikeal: that's actually really cool [01:44] mikeal: hrm….. actually, the error event is on the client object not the http request [01:44] polotek: the pump.chunk thing [01:44] mikeal: we should bring that up on the list [01:44] mikeal: yeah, it's super simple but really flexible [01:44] robrighter has joined the channel [01:45] chrischris has joined the channel [01:45] polotek: haven't worked on evented-twitter in a while. but it's time again [01:45] polotek: libxmljs was driving me nuts [01:45] polotek: now that 4.0 is out, gotta take a break [01:46] mikeal: hehe, yeah [01:46] mikeal: they have some awesome streaming interfaces now [01:46] mikeal: tweetstream wraps the chirp stream and the normal streaming interface [01:46] mikeal: it's really nice, i use it all the time for random twitter scripting [01:46] polotek: by chirp stream you mean the user streams? or something else? [01:46] mikeal: i'm still add calls to the regular API as I need them [01:46] mikeal: yeah, the chirp stream is "everything i want if I am this user" [01:47] polotek: yeah, good stuff [01:47] mikeal: followed tweets, DM, RT, and @ replies [01:47] Tim_Smart has joined the channel [01:47] mikeal: i use the search api the most tho [01:48] mikeal: man, setting up this new iPhone is gonna take like a year [01:48] polotek: iphone4? [01:48] mikeal: yup [01:49] polotek: dude, I can't believe they didn't add a way to set up homescreen folders through itunes [01:49] polotek: it's a pita on the phone [01:49] mikeal: it's because iTunes is made out of shoe string and duct tape [01:49] mikeal: adding anything to it just increases the bugs [01:50] mikeal: it's literally easier for apple to invent new things that don't exist than to make iTunes not always beachball [01:50] polotek: this is true [01:52] polotek: it's odd to me when people say node's async nature makes the system harder to reason about [01:53] joshbuddy has joined the channel [01:53] polotek: that would be true, but the single-threadedness takes all of the complexity out of it [01:53] polotek: only one thing happening at time. period [01:53] mikeal: async is so much easier than thread safety [01:53] mikeal: writing code that is actually threadsafe is not easy [01:53] polotek: the only thing async means is thing A might happen after thing B unless you take steps to prevent it [01:54] polotek: mikeal: indeed [01:54] wilmoore has joined the channel [01:54] mikeal: it also means that nothing can happen while I block on processing [01:54] polotek: yeah it's probably more so that people are conflating asynchronous and concurrent [01:54] mikeal: which is huge, it means I can safely alter state [01:55] mikeal: probably [01:56] mscdex: node.js rules! [01:56] mikeal: haha [01:59] polotek: with that being said, I do have to get down on some async testing [01:59] mikeal: dude [01:59] mikeal: just do it like the node unittests [01:59] mikeal: you don't need a framework [01:59] mikeal: just use the assert module and make the file executable [01:59] mikeal: then you run it [01:59] mikeal: you get exceptions [01:59] mikeal: it's awesome, no framework or complexity necessary [01:59] mikeal: just regular old node code [02:00] polotek: mikeal: yeah that's fine. I'm working on getting started at all :) [02:00] polotek: the only thing that makes me want to use some framework (albeit a really lightweight one) [02:01] polotek: is that the structure helps me [02:01] mikeal: it can also get in the way [02:01] polotek: if left to my own devices, I'm less rigorous about it [02:01] mikeal: i mean, you can look at a node script and figure out how it runs and the ordering [02:01] polotek: true [02:01] mikeal: there isn't any odd framework ordering and encapsulation [02:01] polotek: I'm still evaluating both approaches for me personally. [02:01] mscdex: ACTION registers nodejay.es [02:03] polotek: man it feels like 3am [02:03] polotek: it was 20 hours ago that I got up to go in line at hte Apple Store [02:04] mikeal: i wish it was 10 years ago and i could get no.de [02:04] mikeal: they need to open up the .js domain name :) [02:05] polotek: mikeal: that would just make things complicated [02:05] mikeal: i just want mikeal.js [02:05] mikeal: that's all [02:05] mikeal: :) [02:06] stevestmartin has left the channel [02:07] polotek: we got screwed out of this one [02:07] polotek: http://www.nonblocking.io/ [02:08] polotek: we should ask @cramforce to donate it since he likes node [02:10] marshall_law has joined the channel [02:14] mklappstuhl has joined the channel [02:14] isaacs has joined the channel [02:15] mscdex: a .js tld is wishful thinking i'm afraid ;-) [02:16] mscdex: unless you buy up a large piece of land somewhere and declare yourself a country [02:16] mscdex: :P [02:16] mscdex: and then apply for a tld [02:16] mikeal: dude, javascript island :) [02:17] mikeal: we should find a country we can buy [02:17] mscdex: heh [02:19] mw has joined the channel [02:19] mscdex: Survivor: Javascript Island. Outcode. Outperform. Outlast. [02:20] mscdex: i'm really psyched that the next node release is 0.2 [02:20] mscdex: right? :-D [02:20] polotek: mscdex: is that right? [02:20] mscdex: lol [02:20] polotek: don't know if ry follows semver [02:21] polotek: if so could 0.1.100 [02:21] mscdex: noooooooooooooo [02:21] polotek: ;) [02:21] mscdex: ACTION shakes a fist at triple digit versions [02:21] polotek: honestly I know there are still some nagging things [02:21] markwubben has joined the channel [02:21] polotek: ryah should organize a bug squashing sprint [02:22] polotek: I'll contribute my part by staying out of the way and trying not to break anything [02:31] sigma_ has joined the channel [02:32] _announcer: Twitter: "Reading about NodeJS and redis. Both look fairly interesting" -- Kenley Capps. http://twitter.com/kenleycapps/status/16980882817 [02:32] mjijackson: How do I contribute to the docs on nodejs.org? [02:33] mjijackson: I found a typo I'd like to correct. [02:33] mscdex: summer of asynchronous code! [02:33] mscdex: mjijackson: probably send a patch to ry's email or the mailing list [02:33] tmpvar has joined the channel [02:33] mscdex: for small changes like that [02:34] creationix has joined the channel [02:34] mjijackson: mscdex: oh, i see them now. in doc. ;) [02:35] jedschmidt has joined the channel [02:39] polotek has left the channel [02:39] devinus has left the channel [02:41] bmizerany has joined the channel [02:44] indexzero has joined the channel [02:44] indexzero: yo isaacs you around? [02:44] indexzero: or / anyone know how to get npm to tell you what version of something is installed on the local system [02:44] indexzero: ? [02:44] isaacs: hey [02:44] indexzero: npm list is for remote availability [02:45] indexzero: yo [02:45] isaacs: npm ls installed [02:45] indexzero: ah [02:45] indexzero: beautiful [02:45] indexzero: couldn't find that in the man page, maybe I didn't look hard enough [02:45] creationix has joined the channel [02:45] findyourownpath has joined the channel [02:46] indexzero: yeah, it's not in the man page. Are those part of the git repo? Can I fix it? [02:47] isaacs: indexzero: npm list is for showing info about packages that are either installed or remote [02:47] isaacs: indexzero: when there were only a few remote ones, that was more clear :) [02:48] indexzero: isaacs: Ok. I just forked it, was going to update the man page if that's cool. probably help a few people [02:49] mikeal: grrr [02:49] mikeal: i have to go in to the city [02:49] mikeal: i left my card at some bar [02:49] isaacs: indexzero: sure [02:49] isaacs: indexzero: update the md file in the doc folder, and then "make doc" to build the .1 file [02:49] isaacs: (requires ronn) [02:51] liucougar has joined the channel [02:56] fowlduck has left the channel [02:57] indexzero: isaacs: haha. Thanks. I just spent 10 minutes trying to learn how to write man pages by hand until I saw that "made with ronn" at the top :-D [02:57] isaacs: hahah [02:57] isaacs: yeah [02:57] isaacs: troff is not a nice format [02:57] indexzero: yeah, for sure [02:57] indexzero: it's like office space [02:58] indexzero: wtf does `IP ."" 4` mean [03:02] isaacs: haah [03:02] mattly has joined the channel [03:04] indexzero: ok, that should do it [03:05] indexzero: pull request sent [03:05] indexzero: now to upgrade vows [03:07] isaacs: great! [03:15] Tim_Smart: Has anyone used nginx's proxy_cache module? [03:15] jedschmidt: isaacs: i installed bench, but it doesn't seem to work... then when i try uninstalling it, i get: Error: `make` failed with 2 [03:16] isaacs: jedschmidt: that's odd [03:16] jedschmidt: isaacs: make: *** No rule to make target `clean'. Stop. [03:18] isaacs: jedschmidt: ok, i just pushed a new version. first, you might want to rm -rf $(npm config get root)/.npm/bench; rm $(npm config get root)/*bench* [03:19] isaacs: jedschmidt: but it's working for me, which is od [03:22] _announcer: Twitter: "I just cant wait to start learning server side JavaScript scripting with #nodejs !" -- Martín Ciparelli. http://twitter.com/mciparelli/status/16984124849 [03:22] isaacs: indexzero: accepted [03:23] gerad has joined the channel [03:24] isaacs: whoa, there's a much newer version of ronn out there, apparently [03:25] indexzero: isaacs: that's what I installed [03:25] indexzero: just gem install ronn [03:25] isaacs: yeah [03:25] isaacs: the diff shows that i have a much earlier version [03:25] derferman has joined the channel [03:25] jarsen has joined the channel [03:26] isaacs: anyway, thanks! [03:30] _announcer: Twitter: "calmed down, and working on the cool new next release of Connect for #nodejs" -- TJ Holowaychuk. http://twitter.com/tjholowaychuk/status/16984632220 [03:31] jakehow has joined the channel [03:31] _announcer: Twitter: "Really like nowadays the face of a contest sponsored Node.js coding. More than 100 teams are entered for you! node.js knockout http://bit.ly/boYdHc" [ja] -- junya ogura. http://twitter.com/junya/status/16984695285 [03:35] henrik_ has joined the channel [03:37] _announcer: Twitter: "Love node.js! Thanks for convincing me @shazow :-)" -- Sebastien Pahl. http://twitter.com/sebp/status/16985075191 [03:37] jhelwig has joined the channel [03:39] creationix has joined the channel [03:39] mscdex: so to enter node knockout you have to have a paid account with joyent or heroku? [03:39] mscdex: :S [03:39] visnup: nope [03:40] visnup: joyent will provide instances during the competition [03:40] visnup: I'm going to annotate that joyent part now [03:40] mscdex: oh [03:40] visnup: people keep asking [03:40] visnup: and heroku of course is already free, but we'll be setting up instances for heroku too [03:41] mscdex: it is? [03:41] visnup: a lot of heroku is free, yeah [03:41] mscdex: not node.js stuff though right? [03:41] visnup: it is, but it's in invite-only beta so far [03:41] mscdex: oh [03:41] visnup: though it's pretty easy to get in on the beta [03:41] visnup: you email them :P [03:42] visnup: the joyent question arose because we're asking for joyent username? [03:42] gerad: mape: you still around? [03:42] gerad: mape: the twitter thing wasn't working [03:43] gerad: mape: the teams list thing was cool, how nice the world is when you have cross-site ajax [03:43] gerad: mape: did you turn that on in firefox or something? [03:43] jedschmidt: isaacs[away]: thanks for your help again, got it working! [03:43] mscdex: oh, i was just asking in general since it is worded like this: "contest entries _must_ be deployed to Joyent or Heroku", meaning we had to have paid hosting or something [03:44] gerad: mscdex: hmm… how would you word it? [03:44] mscdex: also, what version will joyent and heroku be running when the contest runs? latest i guess? [03:44] mscdex: head or stable? [03:44] gerad: maybe "will" be deployed to joyent and heroku [03:45] gerad: mscdex: not entirely sure [03:45] gerad: mscdex: ryah assures that there won't be many api changes [03:45] gerad: mscdex: joyent you can likely pick your version, heroku hopefully latest stable [03:46] mscdex: true, but there could performance increases or other things in head that wouldn't be in the latest stable [03:46] mscdex: *be [03:48] gerad: yeah, there's a long time to go between now and the competition, at least in terms of node's totally lifespan [03:48] tarion3 has joined the channel [03:48] gerad: so, hopefully latest stable on both, but no promises [03:52] mtodd has joined the channel [03:53] Validatorian has joined the channel [03:56] ceej has joined the channel [03:57] joshbuddy has joined the channel [04:00] jxson has joined the channel [04:02] dgathright has joined the channel [04:03] bpot has joined the channel [04:12] bpot has joined the channel [04:13] voodootikigod_ has joined the channel [04:14] cloudhead has joined the channel [04:14] charlesjolley- has joined the channel [04:15] ChrisPartridge has joined the channel [04:19] siculars has joined the channel [04:19] findyourownpath has joined the channel [04:23] jarsen has joined the channel [04:27] sechrist_ has joined the channel [04:33] mostlygeek has joined the channel [04:41] ceej: wow http://mongohq.com is really nice :) [04:41] Tekerson: Tim_Smart, RE: my consumer/publisher code earlier. It seems there isn't anything wrong with it. Looks like chrome was queueing the requests on the client side... PITA. [04:41] teemow has joined the channel [04:41] Tim_Smart: Haha [04:41] Tim_Smart: Damn browsers making assumptions [04:42] Tekerson: if you hit the same url in different tabs it waits on one before sending the next :/ [04:44] Tim_Smart: Tekerson: What about different browsers? [04:45] Tekerson: firefox works as expected, haven't tried any others. [04:46] Tekerson: IE8 is fine too. [04:46] Tekerson: That's only putting addresses in the address bar, not sure if it does the same thing if it's scripted. [04:53] isaacs: jedschmidt: no problem. [04:56] tsyd has joined the channel [05:10] findyourownpath has joined the channel [05:12] mtodd has joined the channel [05:18] creationix: ryah: you there? [05:25] mostlygeek has joined the channel [05:33] Validatorian: fictorial: you around? [05:33] fictorial: nope [05:33] Validatorian: dangit. fictorial's bot, can you relay a message? [05:35] Validatorian: Cannot read property \'length\' of null\n at Client.handlePublishedMessage_ (/home/phazm/.node_libraries/redis-node-client/lib/redis-client.js:423:42 -- stack doesn't show what I'm doing to cause this, but maybe you could add a check to see if reply.value exists? (or maybe just reply?) -- the offending line: reply.value[0].value.length == 7 && [05:35] Validatorian: I did just do an update from git, and I saw there were some changes -- maybe something broke? [05:36] tmpvar has joined the channel [05:37] Validatorian: @ fictorial [05:41] jsilver has joined the channel [05:41] jedschmidt has joined the channel [05:51] linuxsable has joined the channel [05:51] linuxsable has joined the channel [05:56] fictorial: Validatorian: check the versions of the client and redis that you are using, including the branch. there is info in the readme. note that redis doesn't allow you to use mixed pubsub/non-pubsub commands in the same client. see the examples. [05:56] Validatorian: I'm not doing anything with subs [05:57] fictorial: otherwise create an issue on GH with details. my time is nil lately (baby in the hospital, lots of running around [all is ok though]). [05:57] Validatorian: k [05:59] gerad has joined the channel [06:02] _announcer: Twitter: "[B!] Anxious http://nodeknockout.com/ node.js knockout" [ja] -- オガワ ソウイチロウ. http://twitter.com/ogawaso/status/16993089796 [06:04] fictorial: Validatorian: need the code for your issue, version of redis, which branch of redis-node-client, etc. [06:04] fictorial: later [06:05] Validatorian: I hadn't restarted redis since I updated it from git, so maybe that will solve the issue -- so far, haven't had the problem again [06:18] nsm has joined the channel [06:35] _announcer: Twitter: "@ Kurokikaze, to be honest, I was taken aback asynchrony. In principle, this arhikruto, but I have to keep turning in my head) # nodejs" [ru] -- Alexey Gromov. http://twitter.com/phpinfo/status/16994666810 [06:50] javajunky has joined the channel [06:51] _announcer: Twitter: "I'm supposed to be refactoring my #nodejs code into something simpler, but I've just been handed a beer and it aint gonna happen" -- James Sadler. http://twitter.com/freshtonic/status/16995418057 [06:54] WALoeIII has joined the channel [07:01] pavelz has joined the channel [07:07] jedschmidt has joined the channel [07:10] _announcer: Twitter: "@westoque what are your plans for nodejs knockout?" -- Ben Curren. http://twitter.com/bcurren/status/16996242133 [07:10] jakehow has joined the channel [07:12] felixge has joined the channel [07:12] felixge has joined the channel [07:22] kuya: hi - i just installed nvm - the docs say use `nvm clone` to use the latest version but that doesnt seem to be correct... [07:27] _announcer: Twitter: "Spent this morning doing some proper development on node.js - when people laugh at me I'll point out the 2k+ req/s on a single IO loop." -- Lee Packham. http://twitter.com/Joolz/status/16996965217 [07:33] mikeal has joined the channel [07:36] kodisha has joined the channel [07:38] kuya: is there a way to tell npm where to install bin links? [07:39] isaacs: kuya: npm config set binroot /path/to/bin [07:39] kuya: thanks [07:39] isaacs: kuya: or npm --binroot /path/to/bin install whatever [07:40] kuya: woot it works [07:40] kuya: ACTION taking his first packaging steps [07:40] indexzero: hey, anyone ever tried httpClient chaining? [07:41] indexzero: I'm working on a small library to do that without a ton of event spagetti [07:41] findyourownpath has joined the channel [07:41] indexzero: http://github.com/indexzero/http-agent [07:41] indexzero: but I'm not seeing my response firing, very strange [07:45] kuya: with npm - is there a way to declare a dep that isnt in its package list? im guessing not apart from bugging the author [07:49] zomgbie has joined the channel [07:49] kuya: ACTION wonders if the author of node-htmlparser is in here  [07:54] teemow has joined the channel [07:58] wilmoore has joined the channel [08:14] hassox has joined the channel [08:15] keyvan has joined the channel [08:15] ollym has joined the channel [08:18] N` has joined the channel [08:26] k3yvn has joined the channel [08:30] jedschmidt has joined the channel [08:33] SamuraiJack_ has joined the channel [08:35] caolanm has joined the channel [08:39] admc has joined the channel [08:47] felixge has joined the channel [08:47] _announcer: Twitter: "[js人気情報] Unit testing node.js apps / node.js - cjohansen.no http://bit.ly/aJJQCu #javascript" -- jsMagazine. http://twitter.com/jsMagazine/status/17000163152 [08:54] nostromo has joined the channel [08:55] nostromo: A general question around nodejs: Isn't there a race condition, a window for loosing packets, between the connection creation and the addition of callbacks? [08:56] mape: What do you mean? [08:56] shimondookdin has joined the channel [08:57] nostromo: say I get a http client request like proxy=http.createClient(port, host) [08:57] nostromo: and then I say proxy.request(...) [08:57] hassox has joined the channel [08:57] mAritz has joined the channel [08:58] nostromo: and then I add error, data, end, etc. listeners [08:58] hellp has joined the channel [08:58] caolanm: nostromo: no because it operates on a single process. unless you are adding callbacks after some other event [08:58] caolanm: the error, data, end etc event can't fire until the code that adds the callbacks have completed and it returns to the event loop [08:58] nostromo: I see [08:59] findyourownpath_ has joined the channel [08:59] caolanm: but if you were to wait for some other event before adding the callbacks it would return to the event loop and you'd have a race condition [08:59] nostromo: so the OS will take care of really opening the connection and buffering it until the main loop polls/selects again [08:59] caolanm: someone pipe up if I'm talking rubbish [08:59] caolanm: ;) [09:00] nostromo: I'm seeing some connections of the proxy "stall" [09:00] nostromo: and I'm not sure of the cause yet [09:00] nostromo: everything seems to work most of the time :) [09:01] caolanm: sorry, brb... meeting [09:01] _announcer: Twitter: "@ RainoXu Yesterday, I read, there are some in the nodejs introduced. ." [zh-CN] -- xiaojue. http://twitter.com/xiao_jue/status/17000683381 [09:02] Tim_Smart has joined the channel [09:06] BBB has joined the channel [09:08] javajunky has joined the channel [09:12] nostromo: wouldn't sys.puts (or sys.log) return to the event loop? [09:13] keyvan has joined the channel [09:17] coffeecup has joined the channel [09:18] pzich has joined the channel [09:23] piratepenguin has joined the channel [09:23] BBB has joined the channel [09:30] jetienne has joined the channel [09:32] away01 has joined the channel [09:36] caolanm: nostromo: interesting, I imagine sys.puts must be synchronous [09:36] caolanm: but I don't know [09:37] nostromo: it looks like it is not synchronous, it calls emit and the low level (I imagine async) write(fd,...) [09:37] caolanm: ok, but it doesn't provide a callback for further processing [09:37] caolanm: so it doesn't matter [09:37] nostromo: it is optional, you can put it there :) [09:37] _announcer: Twitter: "That will be interesting... RT WebWorkersCamp @lacantine http://bit.ly/dAz6ve to talk about NodeJs, NoSQL, WebWorkers" -- Mathieu Lemaire. http://twitter.com/Maz/status/17002154115 [09:38] caolanm: and if you were to bind an event handler in that callback I suppose you would have a race condition [09:39] dabreaka has joined the channel [09:39] nostromo: I meant the callback is optional in the write call [09:40] caolanm: right [09:42] pkrumins has joined the channel [09:47] jos3000 has joined the channel [09:50] _announcer: Twitter: "Let's make node.js Socket.IO and something of the game." [ja] -- KUROKI Ippei. http://twitter.com/pantherhead/status/17002642830 [09:51] _announcer: Twitter: "@ Nhoizey less.js only useful in a workflow production would go through a pseudo compilation of web resources (via node.js)." [fr] -- Jérémie Patonnier. http://twitter.com/JeremiePat/status/17002695901 [09:54] _announcer: Twitter: "@ @ Nhoizey speedyop This will be perfect when implemented in browsers, in meantime ... it's perfect for nodejs server side:)" [fr] -- Antoine Abt. http://twitter.com/brankgnol/status/17002834861 [10:01] arran has joined the channel [10:01] Tim_Smart1 has joined the channel [10:05] oonix has joined the channel [10:06] oonix: hi... is anyone able to help me with gzip compression for a web server I'm building? [10:06] oonix: I'm using a child process of gzip and attempting to pipe the stdout into the server response [10:07] romainhuet has joined the channel [10:08] paulwe: oonix: i think it's in the api [10:09] paulwe: oonix: child.stdout.addListener('data', function(data) { /*...*/}) [10:09] paulwe: oonix: can't really link to the page :/ [10:10] oonix: thanks paulwe... I'm piping it alright but the output on the browser side is garbled [10:10] paulwe: stupid question... but are the response headers set right? [10:11] keyvan has joined the channel [10:11] oonix: as far as I can see using FireBug the headers are correct.... do I need anything other than content-encoding? [10:11] paulwe: i don't think so o.O [10:13] jos3000: arg. Can't post to the Google group [10:14] jedschmidt has joined the channel [10:14] oonix: paulwe: will I need to make adjustments to the streaming data? it's currently something like gzip.stdout.addListener('data', function(chunk){ response.write(chunk); }); [10:14] oonix: paulwe: do I need to specify binary / character encodings anywhere other than HTTP headers? [10:15] paulwe: doesn't response.write accept a second argument that gives the encoding? [10:15] paulwe: yeah [10:15] paulwe: by default it's ascii [10:16] paulwe: maybe try setting it to 'binary'? [10:18] nostromo: don't use binary, it is legacy and breaks things. [10:18] nostromo: it is better to use Buffer instead of strings, for binary data [10:18] fermion has joined the channel [10:18] nostromo: for pumping you have sys.pump, which actually works quite well [10:18] nostromo: I'm using it in proxying/tunneling [10:19] oonix: where is this full API? I have only seen nodejs.org/api.html but there is no mention of pump [10:19] nostromo: (sys.pump got added yesterday, IIRC) [10:19] paulwe: cool, is there anywhere i can read about it? [10:20] nostromo: sys.pump(readableStream, writableStream [, end cb]) [10:20] oonix: cool... I had written my own equivalent for proxying too [10:20] nostromo: it listens to data, drain, ... [10:23] kodisha: morning all :) [10:25] maushu has joined the channel [10:25] maushu: Oh HAI guys! [10:26] paulwe: hi! [10:26] maushu: I finally decided to use asp.net instead of node.js since it's SUPERIOR. [10:26] maushu: More enterprisey even! [10:26] zlajo has joined the channel [10:27] Tim_Smart: Oh crap. You are high. [10:28] _announcer: Twitter: "Squeenote: live presentations with HTML5 and node.js. Looks awesome! http://is.gd/d3mWE" -- Dave Arter. http://twitter.com/davea/status/17004202051 [10:28] paulwe: nostromo: so to pipe the data from gzip it's just sys.pump(gzip.stdout, response, function() {response.end()}); [10:28] paulwe: ? [10:29] nostromo: not sure if response.end is not already called when closed [10:29] nostromo: the implementation is in lib/sys.js [10:29] paulwe: oh, ty :) [10:30] findyourownpath_: network question: can node.js bind to linux abstract namespaces? [10:31] findyourownpath_: I tried setting-up a listener on \x00abc in node.js and tried to connect to it over python, but I just get connection refused [10:31] findyourownpath_: more information about abstract names: man 7 unix [10:40] paulwe: nostromo: oonix left i guess but i'm still curious... sys.pump does exactly the same thing he was doing to proxy the data and it wasn't working, without setting the encoding parameter of the http response object, how would the results be any different? it seems like either the chunk returned by stdout's data event isn't a buffer or response.write didn't care about the buffer's encoding [10:41] nostromo: not sure about the problem he was seeing, I've seen different problems when proxying SSL, and typically very subtle [10:42] nostromo: it works without using any encoding, it stops working if I setEncoding('binary') [10:42] Zlatiborac has joined the channel [10:42] nostromo: I'm still seeing some connections stall from time to time [10:43] Zlatiborac: mine twice [10:44] Zlatiborac: lets try once again... anyone using PHPStorm here [10:44] Zlatiborac has left the channel [10:45] _announcer: Twitter: "project "six degrees of twitter" seems to be working. thanks #couchdb and #nodejs" -- j m. http://twitter.com/feuervogel83/status/17004920717 [10:45] hellp has joined the channel [10:48] ollym has joined the channel [10:50] keyvan has joined the channel [10:53] Tim_Smart has joined the channel [11:00] paulwe: nostromo: it works for me too, wonder what the issue was... [11:01] nostromo: I got one error inside pump: the writable side got resume while closed... [11:01] ewdafa has joined the channel [11:03] nostromo: I seem to have solved it by calling .close() in the callback, where I log the connection [11:03] nostromo: but as it is probabilistic I'll need to test way more [11:03] _announcer: Twitter: "A language translator built on node.js: http://github.com/Marak/translate.js" -- Joe McCann. http://twitter.com/joemccann/status/17005685839 [11:04] BBB has joined the channel [11:05] paulwe: i only needed data and end and i didn't want to pull so i just wrote my own... http://gist.github.com/452714 [11:08] paulwe: it probably works because index is small enough to fit in a single chunk [11:08] paulwe: but i was mostly curious about the encoding issue [11:21] SvenDowideit_ has joined the channel [11:25] nostromo: paulwe: see http://github.com/ry/node/commit/0499618c2bc013bb36332c7a72561aefe58279f0 [11:26] ollym has joined the channel [11:28] fermion: anybody have time to help debug this really informative error from heroku? https://gist.github.com/f192e6fe4dc55865b90c [11:28] Tim_Smart: fermion: Exactly what it says, read only file system [11:28] fermion: I *know* what the problem is, I'm just not sure what module might be doing it [11:28] fermion: yeah, thanks Tim_Smart [11:29] Tim_Smart: What modules you trying to run? [11:29] fermion: Tim_Smart: i.e., has anyone used heroku + node.js and seen that when not explicitly touching the file system (beyond using paperboy) [11:30] fermion: Tim_Smart: updated the gist w/ the modules [11:30] Tim_Smart: fermion: Tried commenting them out one by one? [11:31] fermion: Tim_Smart: that was my next step, was hoping that someone would see a module in there and be like "O LOL DUMMY" [11:31] Tim_Smart: fermion: Yeah thing is, I don't see any there that would write to filesystem [11:31] fermion: I'll give that a shot if nothing jumps out [11:31] fermion: Tim_Smart: my thoughts exactly [11:31] fermion: thanks man [11:32] fermion: I'll let you know what the offender was [11:32] Tim_Smart: maybe './public'? Not sure what code is in there [11:32] fermion: I'd suspected paperboy at first, though I know people are using it on heroku successfully [11:32] fermion: going to try that one first :-D [11:36] femto has joined the channel [11:37] maushu: fermion: paperboy? Maybe it caches something. [11:38] paulwe: maushu: nah, the only file access is fs.stat and fs.createReadStream [11:38] fermion: maushu: nope. killing paperboy didn't do it, I think modules were a red herring [11:38] fermion: one sec [11:39] fermion: whee, now I get http://grab.by/58oA [11:39] zomgbie has joined the channel [11:39] fermion: Tim_Smart: I suspect the problem was not calling parseInt() on process.env.PORT [11:40] maushu: fermion: Huh, if I remember their faq correctly that might be a problem on their side. [11:40] fermion: minor detail [11:40] fermion: :-) [11:40] shimondookdin: try using: try{} catch(e){sys.puts(e.stack)} [11:43] shimondookdin: can anybody explain me how to put up and develop a project on git hub? [11:43] fermion: shimondookdin: are you new to git entirely? [11:43] shimondookdin: no [11:44] shimondookdin: i can commit localy i can clone a project and thats all [11:44] fermion: shimondookdin: you have a github account? does it need to be private? [11:44] shimondookdin: yes [11:44] fermion: shimondookdin: well, that costs money [11:44] shimondookdin: no [11:44] shimondookdin: no it is a new application framework for nodejs and mongo db [11:45] shimondookdin: it is public [11:45] shimondookdin: bsd [11:45] fermion: shimondookdin: good call on the e.stack, was a bug in my copied/pasted code [11:45] shimondookdin: or public domain i dont ceare [11:45] mklappstuhl has joined the channel [11:46] paulwe: fermion: i've never used heroku but from the looks of it, you might like nearlyfreespeech.net [11:46] shimondookdin: to be able to create applications like phpmaker/aspmaker or dot net's dynamic data, when you specify a modelaand thats all [11:46] shimondookdin: a data model and thats all [11:47] fermion: shimondookdin: the guides on github are pretty thorough [11:47] fermion: http://help.github.com/creating-a-repo/ for example [11:48] fermion: paulwe: thanks! I've got a friend who uses that [11:48] shimondookdin: ok il read the guide [11:48] fermion: paulwe: he raves about it. do you like? [11:49] fermion: shimondookdin: it's as easy as creating the project, adding the remote repository and pushing [11:49] paulwe: fermion: yeah, it's fanstastic [11:49] shimondookdin: i dont know how to puch how it connects from local to seerver side [11:49] fermion: setting up the project page (projectname.github.com), the wiki, etc., is pretty trivial as well [11:49] fermion: shimondookdin: git remote add origin git@github.com:project-name.git && git push origin master [11:50] paulwe: fermion: a friend pointed me to it a year or so ago, i've never had any trouble with it and it's way cheaper than buying a vps slice [11:51] fermion: paulwe: do you know if they offer any support for Ruby 1.9.x? [11:51] paulwe: fermion: they give you ssh access so you can do whatever you want [11:51] fermion: Tim_Smart, maushu, shimondookdin: it was missing parseInt() on the port argument to .listen() [11:51] fermion: /sigh [11:52] Tim_Smart: fermion: You were trying to assign to unix socket :p [11:52] fermion: right [11:52] Tim_Smart: *to a [11:52] fermion: oops [11:52] fermion: :-D [11:52] fermion: like I said, minor detail [11:52] fermion: haha [11:54] paulwe: fermion: aw... reading their faqs, fail... no RoR support [11:54] fermion: bollocks [11:54] fermion: heroku's pretty dirt cheap, I have to say [11:55] fermion: $15/mo for a single worker thread and 15GB of MySQL storage [11:55] fermion: or free if you don't need the space [11:56] fermion: I went from a $30/mo VPS to $3/mo for the various apps I'd been running ($3/mo for hourly cron for one app) [11:57] BennyBorn has joined the channel [11:58] BennyBorn: hey folks [11:58] SamuraiJack_ has joined the channel [11:59] BennyBorn: I'm just creating some modules for my node app and i was wondering why the following works: [11:59] BennyBorn: in my app root dir i got a file config.json and a lib directory, when trying to load the config file INSIDE an module (which is located in libs then) only the following works: [11:59] BennyBorn: fs.readFileSync('config.json') [11:59] BennyBorn: but shouldnt it be fs.readFileSync('../config.json') instead? [12:03] bradleymeck1: mmm [12:04] bradleymeck1: require is based off of path relative to script, but i think fs using current working dir [12:06] BennyBorn: that makes sense... [12:07] BennyBorn: ty [12:08] BennyBorn: ;) [12:09] PyroPeter has joined the channel [12:11] _announcer: Twitter: "Wow! Node.js language translator in 126 loc: http://github.com/Marak/translate.js /ht @joemccann" -- Daniel Hedrick. http://twitter.com/dcoder/status/17008951791 [12:11] chrischris has joined the channel [12:11] BennyBorn: hehe google translator [12:13] jedschmidt has joined the channel [12:18] piratepenguin has joined the channel [12:25] satori has joined the channel [12:29] BennyBorn has left the channel [12:33] b_erb has joined the channel [12:33] chandru_in has joined the channel [12:34] chandru_in: How do I send multiple header lines with same key? [12:34] MattJ has joined the channel [12:41] maushu: chandru_in: huh, you shouldn't? [12:46] chandru_in: maushu: Multiple set-cookie lines is vali [12:46] chandru_in: *valid [12:47] zaach has joined the channel [12:50] nsm has joined the channel [12:52] Tim_Smart: We also need a way to read multiple header lines with http client [12:54] Tim_Smart: I ran into that problem earlier this year [12:58] phiggins has joined the channel [12:59] mw has joined the channel [13:01] _announcer: Twitter: "Late for work. Why? I just installed #Kiwi for #nodejs - I can't get enough of this wonderful stuff" -- rick waldron. http://twitter.com/rwaldron/status/17011853270 [13:03] __sebs has joined the channel [13:03] freshtonic has joined the channel [13:07] kriszyp has joined the channel [13:08] _announcer: Twitter: "Just ran first #express routing test with #nodejs - Also came up with my review of node.js: "It just works. Beautifully"" -- rick waldron. http://twitter.com/rwaldron/status/17012343220 [13:09] pgriess has joined the channel [13:09] davidsklar has joined the channel [13:09] kersny has joined the channel [13:12] Tim_Smart has joined the channel [13:16] Tim_Smart has joined the channel [13:18] keyvan has joined the channel [13:19] kodisha has joined the channel [13:19] bradleymeck1: !tweet @rwaldron dont forget to check out npm as well [13:19] bradleymeck1: woops wrong username... [13:21] hdon has joined the channel [13:22] _announcer: Twitter: "Added support for adding multiple cookies easily in MVC.js. http://github.com/tuxychandru/mvc.js #mvcjs #nodejs" -- Chandra Sekar. http://twitter.com/tuxychandru/status/17013196499 [13:24] TheEnd2012 has joined the channel [13:24] softdrink has joined the channel [13:29] jakehow has joined the channel [13:31] keeto_ has joined the channel [13:40] bradleymeck: whew, think i just wrote something incredibly dumb or smart for jsdom's rewrite [13:44] _announcer: Twitter: "@ryansroberts yeah, node.js is especially awesome and interesting... can't see a commercial market I can get into though yet." -- Charlotte Gore. http://twitter.com/CharlotteGore/status/17014666773 [13:45] quirkey has joined the channel [13:47] hellp has joined the channel [13:57] bradleymeck: well _utility you lasted 24hrs your first run time to take you down for a bit [13:57] bradleymeck: !get todo [13:57] _utility: http://github.com/InfinitiesLoop/StackUnderflow.js , http://james-lloyd.com/getting-sendmail-use-gmail-as-a-relay/ [13:59] _announcer: Twitter: "Every day I hear about node.js, listen to it today from Ryan Dahl." [ru] -- Edward Tsech. http://twitter.com/edtsech/status/17015744873 [13:59] _utility has joined the channel [13:59] jarsen has joined the channel [13:59] bradleymeck: mmm should see if i can get !tweet to have a translate filter... [14:00] jarsen has joined the channel [14:00] gf3 has joined the channel [14:01] JimBastard: bradleymeck: http://github.com/marak/translate.js [14:01] JimBastard: you can steal that code, should be really easy [14:02] bradleymeck: you wont accuse me of being an ass? [14:02] JimBastard: only if you decide to not use my code :-D [14:02] bradleymeck: im all for saving time pffff [14:02] JimBastard: hee hee [14:02] JimBastard: yeah, that should be a drop in for you [14:03] JimBastard: let me know if you have any issues / need something updated [14:03] JimBastard: i think the API needs a slight tweak [14:03] JimBastard: so you can set language as part of the call [14:03] bradleymeck: sounds good, ill get to testing it, working on the logging of _utility for now [14:04] JimBastard: i gotta go do the morning meetings and then get into the office, ill be back later [14:04] nostromo: I'm getting net:696 throw new Error('Stream is not writable'); inside sys.pump, any clue how to avoid? [14:04] JimBastard: aight, if you find translate is missing something you need i will defintely add it, ill just have to wait until tonight when i get home [14:04] JimBastard: but ill do it! [14:04] nostromo: the stream was writable until it got closed or something similar [14:05] BBBB has joined the channel [14:06] markwubben has joined the channel [14:06] dgathright has joined the channel [14:07] nsm has joined the channel [14:08] shimondookdin: hey guys this is my 1st contribution: http://github.com/shimondoodkin/nodejs-meta-templates [14:13] keyvan has joined the channel [14:13] mjr_ has joined the channel [14:14] kodisha has joined the channel [14:15] texodus has joined the channel [14:16] bradleymeck: nice shimondookdin, if that function is the only export you might look into module.exports = doubletemplate [14:19] jetienne has joined the channel [14:24] shimondookdin: waht does it do? [14:24] shimondookdin: waht [14:24] shimondookdin: what [14:24] shimondookdin: you mean like to convert the whole module to a function? [14:25] shimondookdin: thanks bradleymeck [14:25] mw has joined the channel [14:25] shimondookdin: do you mean [14:26] steadicat has joined the channel [14:26] _announcer: Twitter: "My wife had a good idea yesterday. Wondering if I should build it in .net, or in nodejs(possibly with fab). Second one would be a learning" -- A'braham Barakhyahu. http://twitter.com/BlessYahu/status/17017718831 [14:27] jedschmidt has joined the channel [14:28] bradleymeck: yes it can export an object as the module instead of using an object as a proxy shimondookdin, (sorry about res time) [14:31] shimondookdin: ok [14:36] ceej has joined the channel [14:40] kersny has joined the channel [14:43] quirkey has joined the channel [14:43] JimBastard: !tweet @BlessYahu do it in node! we'll help you do it! [14:44] bradleymeck has joined the channel [14:45] Yuffster has joined the channel [14:52] zaach has joined the channel [14:56] creationix has joined the channel [15:04] Wandrewvious has joined the channel [15:04] pgriess has joined the channel [15:04] kevwil has joined the channel [15:06] charlesjolley- has joined the channel [15:06] tjholowaychuk has joined the channel [15:08] mAritz: creationix: what's the status of conductor? still in development, stable or have you given up on it? [15:09] creationix: mAritz: ask tmpver, I made it for him [15:09] steadicat has joined the channel [15:09] creationix: *tmpvar [15:09] mAritz: tmpvar: what's the status of conductor? still in development, stable or have you given up on it? [15:09] mAritz: :D [15:09] creationix: mAritz: I haven't touched it sinde [15:09] mAritz: April 10, 2010 [15:09] mAritz: i know :D [15:09] creationix: mAritz: I use either Step or raw callbacks [15:10] mAritz: i'm using raw callbacks right now and nesting is getting ugly :D [15:12] tjholowaychuk: mAritz: if you break up your logic I dont find it bad at all to just use callbacks [15:12] jarsen has joined the channel [15:13] mAritz: yeah, just nesting i could live with raw callbacks. the real motivation for using conductor/step is having a simple parallel execution method that i don't have to write myself ;) [15:14] _announcer: Twitter: "Still trying to figure out _why_ anyone needs node.js or any of these other js runtimes. I definitely missed the memo." -- bryanthompson. http://twitter.com/bryanthompson/status/17021336559 [15:15] mscdex: !! [15:15] bradleymeck: mmm? [15:16] mAritz: why does anyone need forks? you could just eat everything with spoons... [15:17] sanderjd has joined the channel [15:19] mscdex: still trying to figure out why anyone needs the internet. i definitely missed the memo [15:19] _announcer: Twitter: "Installation node.js http://d.hatena.ne.jp/t_43z/20100625/1277479182" [ja] -- Toshihiro Shimizu. http://twitter.com/meso/status/17021740307 [15:21] _announcer: Twitter: "@bryanthompson You're not the only one. I've looked into node.js a couple times and get the non-blocking aspect, but not a practical usage." -- Matt Darby. http://twitter.com/mattdarby/status/17021858839 [15:21] JimBastard_ has joined the channel [15:21] bradleymeck: practical usage is going to hit pretty hard i hope with knockout [15:23] mscdex: it's pretty obvious they haven't bothered to do much research [15:23] _announcer: Twitter: "my entire github dashboard is made up of Connect commits and comments ...this is a good thing ;) #nodejs" -- Caolan. http://twitter.com/caolan/status/17022006616 [15:24] creationix: caolanm: is that your twitter? [15:25] _announcer: Twitter: "@felixge that was happening to me on the node.js list yesterday..." -- Scott Trudeau. http://twitter.com/sstrudeau/status/17022140908 [15:27] quirkey has joined the channel [15:28] quirkey has joined the channel [15:30] mAritz: creationix: should i encounter problems while using conductor, would you still offer some support? [15:30] DrFlaska1 has joined the channel [15:33] kersny has joined the channel [15:34] findyourownpath has joined the channel [15:39] keyvan has joined the channel [15:40] mape: anyone had issues with chrome not initiating the WebSocket? [15:40] mape: I get no errors but it doesn't connect either.. [15:41] ewdafa has joined the channel [15:42] _announcer: Twitter: "just signed up for #node.js #knockout … http://nodeknockout.com/" -- nkoehring. http://twitter.com/nkoehring/status/17023419720 [15:43] JimBastard_: !tweet nkoehring [15:43] JimBastard_: oops [15:43] JimBastard_: lol [15:43] mape: heh [15:44] creationix: mAritz: sure [15:44] creationix: (to the support question, you shouldn't encounter problems ;)) [15:44] mAritz: :D [15:44] mAritz: cool [15:44] cloudhead has joined the channel [15:45] mAritz: can the conductor steps be named arbitrarily or do they have to be 1 character? [15:45] mAritz: (i'll try to guess from the code) [15:45] creationix: arbirtray [15:46] mape: No one had this issue with websocket? [15:48] creationix: mape: I haven't used websocket in a few months [15:48] creationix: I do need to though for my pubsub module [15:49] creationix: I know micheil has been working a lot with it and chrome's new websocket version [15:49] jakehow has joined the channel [15:49] _announcer: Twitter: "installing node.js." -- kazuya kawaguchi. http://twitter.com/kazu_pon/status/17023974029 [15:50] mape: Yeah, but he isn't here :S [15:50] mape: Hmm it does emit close event.. [15:50] mape: almost like it is timing out.. [15:51] mape: But it seems to be page specific since if I point it to a working example it still doesn't do it.. [15:51] creationix: mape you're not using cache.manifest are you? [15:51] JimBastard_: !tweet @kazu_pon do it! lots of help in #node.js on freenode [15:51] mape: nope [15:52] creationix: JimBastard: who does _announcer tweet as? [15:52] creationix: not as you I'm assuming [15:52] mape: nodejsbot? [15:52] creationix: well, I guess it's not announcer, but another bot [15:52] mape: http://twitter.com/nodejsbot [15:52] creationix: cool [15:52] JimBastard_: announcer doesnt tweet [15:52] bradleymeck: lose the _ jim [15:52] JimBastard_: yeah [15:53] JimBastard_: fuck [15:53] JimBastard_: i cant [15:53] JimBastard_: lol [15:53] JimBastard_: im signed in at home [15:53] JimBastard_: maybe i can [15:53] JimBastard_: ones ec [15:53] mape: ssh? [15:53] JimBastard_: lulz [15:53] bradleymeck: !grant JimBastard_ voice [15:53] JimBastard_: not on windows xp 2nd edition [15:53] mape: :S [15:53] bradleymeck: ghost him? [15:53] mape: just ddos yourself so you timeout? [15:54] JimBastard_: [11:56] -NickServ- You are now identified for JimBastard. [15:54] JimBastard_: hrmm [15:54] JimBastard_: maybe the other one gets renamed in 20 more secs [15:54] mjr_ has joined the channel [15:54] creationix: oh cool, it at lest says who sent the message [15:54] creationix: *least [15:54] [[zz]] has joined the channel [15:54] bradleymeck: you do have voice now [15:55] bradleymeck: need to get some way to list permissions on that thing... [15:55] creationix: bradleymeck: which bot is it? [15:55] bradleymeck: _utility [15:55] mape: bradleymeck: and perhaps have it persist [15:55] JimBastard_: !tweet @kazu_pon do it! lots of help in #node.js on freenode [15:55] bradleymeck: persist how? you mean save all its data? [15:55] bradleymeck: working on logs first [15:56] mape: just dump the permissions into a json and write that to disk [15:56] mape: so you don't have to voice people very single time it dies [15:56] bradleymeck: yea, thats working as of like 8am today [15:56] mape: ah neat [15:56] _announcer: Twitter: "New idea - Nonong: node.js, NoSQL & Nginx stack for an all-Javascript all-the-time web stack. #nginx #nosql #nodejs" -- Brian Hollenbeck. http://twitter.com/_kuma/status/17024592125 [15:57] mAritz: how is nosql+nginx all-javascript? [15:57] creationix: maybe all javascript + c [15:58] bradleymeck: shhhhh [15:58] mAritz: xD [15:58] creationix: at least in most nosqls the query language is js [15:58] bradleymeck: jspath makes my brain hurt [15:59] JimBastard_: bradleymeck: is that like xpath? [15:59] JimBastard_: or jsonpath [16:00] bradleymeck: meant jsonpath ehh braindead [16:01] sh1mmer has joined the channel [16:01] polyrhythmic has joined the channel [16:02] _announcer: Twitter: "@bensonk42 how scalable would something like Nodejs be compared to Twisted+Django+Orbited. I need extreme scalability." -- Chris Oliver. http://twitter.com/excid3/status/17025027377 [16:03] kersny has left the channel [16:04] mw____ has joined the channel [16:05] hdon has joined the channel [16:06] bradleymeck: !tweet excid3 I go with what you are best at, scalability for both of those is quite great [16:06] bradleymeck: forgot the @... [16:06] bradleymeck: !tweet @excid3 I go with what you are best at, scalability for both of those is quite great [16:06] joshbuddy has joined the channel [16:06] markwubben has joined the channel [16:08] sudoer has joined the channel [16:10] kersny has joined the channel [16:11] stevendavie has joined the channel [16:14] sztanpet has joined the channel [16:16] charlesjolley- has joined the channel [16:16] CIA-76: node: 03Ryan Dahl 07master * raa49151 10/ AUTHORS : Fix authors - http://bit.ly/9eREyh [16:16] CIA-76: node: 03Matt Ranney 07master * ra2f70da 10/ (4 files in 4 dirs): [16:16] CIA-76: node: Buffer.copy should copy through sourceEnd, as specified. [16:16] CIA-76: node: Improve test-buffer.js to cover all copy error cases. [16:16] CIA-76: node: Fix off by one error in string_decoder. - http://bit.ly/aDz4CI [16:18] gerad has joined the channel [16:21] jan____ has joined the channel [16:22] JimBastard_: so bradleymeck , i thought about the translate stuff a bit on the subway. im gonna make my API update tonight, that should take < 30 mins or so [16:23] bradleymeck: k [16:23] JimBastard_: but you'll need to parse out the language from the tweet and convert it to the right langauge code / name [16:23] JimBastard_: and keep track of that so when someone gets a response it knows to translate right? or would it be an option we set in the IRC command? [16:24] bradleymeck: then ill prolly start up the !respond language@url msg [16:24] JimBastard_: i do see a language indicator though in the twwet [16:24] JimBastard_: or i thought i did [16:25] bradleymeck: yea but we have to specify which tweet, guess i could check the language we throw as the msg against that [16:25] sechrist has joined the channel [16:25] JimBastard_: can we look up locality based on user name? [16:28] qFox has joined the channel [16:29] bradleymeck: idk, dont think so [16:30] JimBastard_: well i remember seeing [de] when this guy tweeted http://twitter.com/BennyBorn [16:30] JimBastard_: let me check the logs [16:30] JimBastard_: [20:20] _announcer: [16:30] JimBastard_: err [16:31] bradleymeck: i think its using the translate guess from google of origin language [16:31] JimBastard_: " [16:31] JimBastard_: fuuuck [16:31] JimBastard_: Today # nodejs discovered it and started to build your own proxy to NEN - absolutely great! :) [16:31] JimBastard_: !!! [16:31] jan____ has left the channel [16:31] JimBastard_: " [de] -- Benny Born. [16:31] linuxsable has joined the channel [16:31] JimBastard_: there [16:31] JimBastard_: sorry [16:32] JimBastard_: where is [de] coming from? we should try and save that [16:32] JimBastard_: if its google and announcer we should try to store that metadata somewhere perhaps? [16:32] bradleymeck: yea, but idk who is _announcer [16:32] JimBastard_: maushu [16:32] JimBastard_: i think [16:32] JimBastard_: is there a repo for the accouncer bot? [16:33] bradleymeck: idk, we could try to merge em? [16:34] WALoeIII has joined the channel [16:35] shimondookdin: i have published some more source http://github.com/shimondoodkin/nodejs-autoexit [16:37] JimBastard_: nice shimondookdin keep up the good work [16:37] JimBastard_: and make pretty docs so people will use it [16:38] shimondookdin: thanks [16:39] maushu: MY PANTS ARE ON FIRE. [16:39] JimBastard_: im not sure if "autoexit" is the best name shimondookdin , but thats just my opinion [16:39] mjr_: maushu: extinguish those pants [16:39] mjr_: And then maybe make it so announcer doesn't announce tweets that are @replies? [16:39] shimondookdin: do you have a better proposale it is welcome [16:39] JimBastard_: bradleymeck: i think it makes sense to keep the accouner and the talker seperate bots [16:40] JimBastard_: at least for now [16:40] maushu: mjr_: why? [16:40] mjr_: maushu: sometimes the replies get kind of tedious. [16:41] shimondookdin: i am new to github and i just started so pretty docs it might to much to expect from meat the moment. [16:42] kersny: shimondookdin: check out markdown: http://daringfireball.net/projects/markdown/ [16:42] kersny: it works right in github (might have to rename to README.md) and it's pretty easy to use [16:42] gerad: shimondookdin: auto-restart ? [16:43] _announcer: Twitter: "@voodootikigod someone needs to produce an equivalent video for js, flash, and throw in nodejs for good measure." -- Maciej Adwent. http://twitter.com/Maciek416/status/17027893018 [16:46] shimondookdin: http://github.com/shimondoodkin/nodejs-autorestart [16:46] CIA-76: node: 03Ryan Dahl 07master * rbbdd61d 10/ doc/index.html : Fix supported archs on website - http://bit.ly/bIXM82 [16:47] dabreaka has joined the channel [16:47] marshall_law: ryah: do you know who's responsible for nodeknockout? [16:47] marshall_law: the profile save button doesn't seem to work ;) [16:47] gerad: marshall_law: I'm on it [16:47] marshall_law: gerad: sweet thanks [16:49] sechrist_ has joined the channel [16:49] _announcer: Twitter: "Very, very cool: http://rejex.heroku.com/ . It's like Rubular http://rubular.com but for JS. So much for my node.js knockout idea, though :)" -- Craig Demyanovich. http://twitter.com/demmer12/status/17028283624 [16:49] JimBastard_: shimondookdin: im a bit busy, but ill step through your code later tonight and see whats up. if what you have is solid id be willing to help with docs a bit and maybe project name, we'll see [16:49] sechrist has joined the channel [16:49] bpot has joined the channel [16:49] gerad: marshall_law: no, thanks for the heads up [16:50] gerad: marshall_law: haml.js is kinda buggy [16:50] marshall_law: gerad: hehe :) [16:50] marshall_law: good to know, i've been tinkering with it [16:50] kersny has left the channel [16:51] JimBastard_: i use haml-js [16:51] JimBastard_: from creationix , was working okay enough [16:51] shimondookdin: for me it works very stable [16:52] creationix: good to hear [16:52] gerad: shimondookdin: which one haml.js or haml-js [16:52] creationix: mine is haml-js [16:52] shimondookdin: the autorestart [16:52] bradleymeck: rfc on idea for a client/library style middleware - http://gist.github.com/453093 - pls use the comment field [16:52] gerad: creationix: maybe we should switch, we're using express.js, so haml.js was built in [16:52] kersny has joined the channel [16:53] creationix: haml.js is closer to ruby's haml [16:53] creationix: mine is changed a but to suit my tastes [16:53] gerad: creationix: but it keeps pissing me off (sorry tj) [16:53] shimondookdin: today i also released the source for my templates [16:53] shimondookdin: http://github.com/shimondoodkin/nodejs-meta-templates [16:53] creationix: and tjholowaychuk and I code quite different sometimes [16:53] creationix: so we have different bugs [16:53] tjholowaychuk: gerad: no worries :D [16:53] gerad: :-) [16:53] creationix: (I honestly don't know which is better) [16:53] tjholowaychuk: mine is much stricter [16:54] shimondookdin: but it is kind of beta [16:54] shimondookdin: just working [16:54] mattly has joined the channel [16:54] gerad: the indentation always gets visnu and me [16:54] tjholowaychuk: of course, i never said it was done lol [16:54] gerad: we like our new lines to be empty [16:54] tjholowaychuk: yeah [16:54] tjholowaychuk: thats because mine is a recursive descent parser so it sorta has to be a stricter [16:55] marshall_law: gerad: does the knockout entry absolutely have to be web based? [16:55] joshholt_ has joined the channel [16:55] marshall_law: i've got some really good ideas for it that may or may not actually be websites ;) [16:57] tjholowaychuk: my haml indentation flops a bit since what to some people may be viewed as a new line is actually an outdent to the parser [16:57] bradleymeck: maushu is there a way we could ping _utility w/ the language data for a twitter url when _announcer says it? (maybe through a pm or something?) [16:58] JimBastard_: bradleymeck: i think perhaps _utility could parse the language out of the chat room? [16:58] gerad: seems like a step to strip empty new lines before parsing could be useful, but it'd have to ignore the :text and :javascript filters [16:58] bradleymeck: mmm guess that is possible [16:58] JimBastard_: id parse the language and put it in a hash with the twitter user name [16:58] JimBastard_: then when you @username it does a lookup [16:59] tjholowaychuk: gerad: it gets a little complicated, because having the newlines not match the current indentation level is a nice feature for the user [16:59] bradleymeck: but if there are multiple users? ... could put it up in both languages i guess [16:59] tjholowaychuk: but to the parser it is really invalid [16:59] bradleymeck: well off to lunch [17:00] gerad: tjholowaychuck: mostly, git bitches at you if you have non empty newlines (in your diffs) [17:00] mape: marshall_law: don't think they have to, but it has to do with judging, easier to throw it on a hosted enviroment rather then downloading it and running ncurses stuff [17:00] JimBastard_: bradleymeck: i dont see how it could be multiple users [17:00] JimBastard_: every tweet comes from one person [17:00] JimBastard_: and its gonna be detected by google as one language [17:00] gerad: marshall_law: bug is fixed [17:00] marshall_law: gerad: thanks! [17:00] bradleymeck: yea but i like to think of edges, if we associate languages to users and then !tweet '@germanuser @japaneseuser blah' [17:01] marshall_law: mape: hmm don't wanna give away my idea but what i have in mind is a bit more ambitious than curses :) [17:01] creationix: marshall_law: do it! [17:01] marshall_law: :) [17:01] mape: marshall_law: Hmm yeah.. Like I said think it has more to do with judging then anything else. If they have to run 200 apps locally that will be a mess [17:01] JimBastard_: http://www.jimbastard.com/The_Hemingway_Solution.html [17:02] marshall_law: creationix: hehe ;) i gotta get my team on board first.. we'll see [17:02] creationix: mape: gerad: my plan is to have a node distribution out by then [17:02] JimBastard_: bradleymeck: we only respond to the tweet in the language it came in as? one tweet at time? [17:02] JimBastard_: i dont see the edge case [17:02] creationix: that makes it easy to run apps locally on any machine [17:02] mape: creationix: Huh? [17:03] rauchg has joined the channel [17:03] creationix: mape: basically a zip file with pre-compiled node, npm, nvm, and some libraries [17:03] creationix: fot node-knockout it would be nice to have a supported platform to make judging easier [17:03] creationix: we already have heroku for web stuff [17:03] bradleymeck: well we can either use the !tweet or !respond syntax in the future once i reboot the bot tomorrow, !tweet might hit 2 ppl with different language associations [17:03] mape: Hmm k, still think it will be a mess to have the judges run it locally [17:04] visnup has joined the channel [17:04] mape: Better to have 200 urls they go to [17:04] gerad: ok, here's the story, and we've talked a lot about this... [17:04] ryah: hello world [17:04] gerad: 1. you can do whatever you want [17:04] gerad: 2. we're not going to have any special treatment for non-web apps [17:04] mape: Another issue might be interactive stuff, if I make a pain stuff together webapp that isn't so fun if the judges check the page when no one else is there ;) [17:04] gerad: 3. we're going to have non-technical judges, and the general public judging [17:04] mape: *paint [17:05] gerad: 4. we ask that you deploy whatever you create to NPM so that you have a chance of getting feedback on it [17:05] gerad: 5. we recommend you cleverly thing of a way to get your stuff on the web, so that people can judge it easily (node vnc perhaps) [17:06] guan has joined the channel [17:06] _announcer: Twitter: "Every time I hear about node.js, I rage that another opportunity to popularize Lua has been missed. http://bit.ly/ccwZ7b #lualang" -- Norman Clarke. http://twitter.com/compay/status/17029420527 [17:06] creationix: gerad: sounds good [17:06] gerad: we talked about having a prize for non-web projects, but it just got too confusing too quickly [17:07] _announcer: Twitter: "#idea - write an alternate libc/unix api which _only_ allows non-blocking i/o. should be small and statically linkable. (#nodejs for c.)" -- Ryan Dahl. http://twitter.com/ryah/status/17029464951 [17:07] mape: Is there really a need for prizes at all? [17:07] nostromo has joined the channel [17:07] callen: _announcer: sounds like one of those people who cries over CommonLisp. [17:07] gerad: ryah actually made the last point [17:08] dgathright has joined the channel [17:08] shimondookdin: who responsible for nodejs knockout http://dailyjs.com/2010/06/23/node-knockout/ [17:08] admc has joined the channel [17:08] sechrist_ has joined the channel [17:08] JimBastard_: shimondookdin: i think gerad has a piece in it [17:08] gerad: mape: I know you're concerned about cheating… the prizes aren't going to be big enough to give anybody a stronger incentive to cheat than the glory [17:09] creationix: iPads? [17:09] JimBastard_: mape: dont worry my team isnt gonna seriously compete :-D [17:09] gerad: shimondookdin: yeah, I'm one of the organizers [17:09] mape: gerad: Nah I don't really care at all about cheating. Though I think others will [17:09] JimBastard_: so you'll have a chance [17:09] JimBastard_: yeah for sure [17:09] JimBastard_: people will cheat [17:09] shimondookdin: cool [17:09] bradleymeck: if only the prize was a homemade cake [17:09] JimBastard_: the only thing i ask is that the judges at least check to see if the people have git commits from before the contest [17:09] gerad: mmmm… cake [17:09] mape: JimBastard_: I'm not to worried :) [17:09] JimBastard_: they should at least TRY to not get caught [17:09] mscdex: the cake is a lie [17:10] shimondookdin: wah tis the prize? [17:10] shimondookdin: what [17:10] gerad: iPads [17:10] gerad: for the winning team [17:10] keeto_ has joined the channel [17:10] visnup: more than just ipads [17:10] gerad: other great prizes we're working on [17:10] JimBastard_: mape: i dunno i got binary42 and fernmicro [17:10] JimBastard_: thats a scary team [17:10] gerad: for the other categories [17:10] mscdex: what about iPad kirfs? [17:10] ddollar has joined the channel [17:10] softdrink has joined the channel [17:10] gerad: defunkt and leah culver is a good team too [17:10] bradleymeck: still need to find a couple more for my team [17:10] mape: JimBastard_: Couldn't do it yourself? :P [17:10] shimondookdin: what is your motive? [17:10] shimondookdin: for the competition [17:11] tilgovi has joined the channel [17:11] gerad: we wanted to compete in the contest, but it didn't exist, so we decided to create it (and in creating it, we couldn't compete, but that's ok) [17:11] gerad: it's for fun [17:11] gerad: we're going to have automated tests for cheating [17:11] visnup: anyone want to write those? [17:11] visnup: (we're lazy) [17:12] gerad: and will probably publish git commit deltas (not the actual code, but timestamps, added lines, removed lines, and possibly commit messages) [17:12] mape: Guess I'll have to really learn git by then.. [17:12] gerad: hahahaha [17:12] shimondookdin: it it not easier to buy some ipads for yourselvs?! ;) [17:12] mape: visnup: Then twitter thingy worked out? [17:12] visnup: mape: still working on it [17:12] visnup: (again, lazy) [17:12] gerad: visnup is also organizing [17:12] creationix: and I'm judging [17:12] mape: visnup: The mockup worked for you? Seems like it is broken for gerad, works fine for me though [17:13] derferman has joined the channel [17:13] visnup: mape: it worked mostly even as it was broken for gerad [17:13] visnup: then it broke [17:13] mape: http://mape.me/nodeknockout/ ? [17:13] visnup: right now it's broken for me [17:13] mape: Works fine for me [17:13] visnup: no console errors [17:13] gerad: mape: what scm do you use now? [17:13] gerad: yeah, I get a blank page [17:13] gerad: maybe yahoo pipes? [17:14] mape: Yeah.. strange it works for me though in chrome/ff [17:14] mape: I'm using git but not pushing anywhere [17:14] gerad: looking at it in chrome now [17:14] visnup: still nothing in chrome [17:14] visnup: for me [17:14] gerad: but checked ff and webkit too last time [17:14] gerad: lemme look at the source [17:15] gerad: http://pipes.yahoo.com/pipes/pipe.run?_id=84a8525cdde30e0cadb89217da52b849&_render=json&keywords=nodeknockout [17:15] gerad: empty [17:15] mape: {"count":15,"value":{"title":"twitter search feed wrapper copy","description":"Pipes Output","link":"http:\/\/pipes.yahoo.com\/pipes\/pipe.info?_id=84a8525cdde30e0cadb89217da52b849","pubDate":"Fri, 25 Jun 2010 17:15:13 +0000","generator":"http:\/\/pipes.yahoo [17:15] gerad: has stuff [17:15] gerad: http://pipes.yahoo.com/pipes/pipe.run?_id=84a8525cdde30e0cadb89217da52b849&_render=json&keywords=nodejs [17:15] mape: etc.. [17:15] mape: Both do for me.. Blocked for US peeps? :P [17:16] gerad: possibly? [17:16] gerad: {"count":0,"value":{"title":"twitter search feed wrapper copy" ... [17:16] gerad: for me [17:16] gerad: weird [17:16] mape: gerad: Have you thought about allowing people to release stuff but state they don't want prices? That way they could get some pr, eyeballs but still could code for more then 48 without "cheating" the other teams [17:17] mape: Or I guess that just add more stuff to organize [17:17] visnup: mape: I would leave that up to them [17:17] visnup: let them donate the prizes elsewhere [17:17] gerad: mape: yeah… I dunno about that [17:17] visnup: or to another team [17:18] gerad: huh? [17:18] visnup: if a winning team wants to be charitable [17:18] gerad: sorry, visnup, I think we're on a disconnect [17:18] gerad: mape was saying to not get prizes because they're coding for more than 48 hours [17:19] gerad: I think it's out of the spirit of the competition [17:19] mape: k [17:19] gerad: the constraints are part of the fun [17:19] gerad: :-) [17:19] gerad: plus, you get a ton of glory for doing it in two days [17:20] gerad: especially if it gets press... [17:20] mape: Or stuff that people might have done isn't done because they were impossible within the timeframe [17:20] visnup: in that case, if a group of people wants to do that and release something just before the weekend that's a library or of use to others, then we'll definitely publicize it... [17:20] visnup: in a run-up to the competition [17:20] gerad: picking the right project is part of the fun [17:20] gerad: it's just two days of commitment :-) [17:21] visnup: but yeah, agreed small, 48-hour-able [17:21] visnup: maybe more like 72-hour-able to the outside world [17:21] gerad: yeah, last year we calculated that we each worked 40 hours in the two days [17:21] gerad: or something like that [17:21] gerad: so, it's a weeks worth of work in the weekend [17:22] mape: Hehe [17:22] mape: Will there be any local meetups or the like? [17:22] gerad: joyent is likely hosting [17:22] mape: Neat [17:22] gerad: in san francisco [17:22] gerad: we're working on other locations [17:22] mattly has joined the channel [17:22] gerad: JimBastard: sorry, still need to send you that email [17:23] paul____ has joined the channel [17:23] mjr_: Are there any other obvious concentrations of knockout teams? [17:23] charlesjolley- has joined the channel [17:23] visnup: mjr_: we've gotten some interest in nyc [17:23] charlesjolley- has joined the channel [17:24] isaacs has joined the channel [17:24] creationix: we could host space in Palo Alto [17:24] gerad: there's also chatter about a silicon valley location… [17:24] mjr_: I'd imagine that the bay area could support multiple locations. [17:24] visnup: I kinda agree with adrian that we should make them come up to sf ;) [17:24] mape: hehe [17:25] jarsen has joined the channel [17:25] gerad: yeah, but then again, it's pretty hard to be too far from home for 48 hours [17:25] mjr_: But the Joyent space is really nice, and also large. [17:25] gerad: the Joyent space is nice [17:25] gerad: and we want to give them first billing, as they're helping out with a lot [17:25] mjr_: that's cool [17:26] nostromo has left the channel [17:26] mjr_: Are they supplying the iPads? [17:26] visnup: wondering why http://nodeknockout.com/teams/72bd244cafe30f3448020000 characters don't show up [17:26] gerad: no, that's mdeium [17:26] gerad: http://thisismedium.com/ is providing the iPads [17:26] gerad: it was a killer donation [17:27] sechrist has joined the channel [17:27] mape: Have you thought about shipping outside of the US? [17:27] mape: Seems like that is usually a pain [17:27] gerad: hadn't thought about it, thanks for calling it out, adding it to the task list [17:29] mjr_: I read somewhere that they have computers outside of the US. [17:29] mjr_: Not sure if I believe it or not. [17:29] visnup: I just saw that south korea has 30 mbps average household broadband [17:30] mape: I have 100Mbit which I guess is more then most in the US [17:30] mjr_: Yeah, we have really shitty bandwidth in the US. It's embarrassing. [17:31] JimBastard_: wtf http://www.youtube.com/watch?v=KrfpnbGXL70 [17:31] gerad: we also have fairly low population density [17:32] visnup: I have 3 pets. they need bandwidth too. [17:32] mklappstuhl has joined the channel [17:33] mtodd has joined the channel [17:33] fitzgen|away has left the channel [17:37] _announcer: Twitter: "RingoJS vs NodeJS http://bit.ly/ahTII0 Good that there are more players in the field. And not to forget Appjet.jar!" -- Hans Schroeder. http://twitter.com/dvbportal/status/17031467241 [17:38] broofa has joined the channel [17:42] femto has joined the channel [17:43] demolithion has joined the channel [17:44] joshbuddy has joined the channel [17:44] joshbuddy has joined the channel [17:47] creationix: hmm, can't seem to get llvm to compile for me [17:47] creationix: getting ld errors [17:47] creationix: (correction, can't compile node with llvm, I've got llvm from xcode) [17:48] _announcer: Twitter: "node.js like a collection of libraries. I mean what an http://bit.ly/d5vawP Python's Pypi" [ja] -- Nakamura Masato. http://twitter.com/Masahito/status/17032122401 [17:48] pgriess has joined the channel [17:48] steadicat has joined the channel [17:49] sh1m has joined the channel [17:52] dgathright_ has joined the channel [17:53] creationix: yep, even did a fresh clone of node and still get ld errors with llvm [17:53] creationix: oh well [17:54] mjr_: I thought that the llvm support for C++ was weak at the moment. [17:54] creationix: http://pastie.org/1019074 [17:54] creationix: I think so, but someone on the mailing list said it worked [17:55] mjr_: that's just a linker error. Seems like you coul dwork that one out. [17:55] gerad has joined the channel [17:55] mjr_: Unless it mangles the symbols differently / incorrectly. [17:55] creationix: yeah, but not sure how [17:55] creationix: I don't have a lot of C experience [17:56] gerad has joined the channel [17:56] creationix: I can confirm that it compiles faster though [17:57] ryah: i'm rpetty sure v8 doesn't compile with llvm [17:58] creationix: yeah, that's what I was thinking [17:58] creationix: maybe I need a newer version of llvm [17:58] sh1mmer has joined the channel [17:59] creationix: I see matt talking about version 2.7 of something [17:59] shimondookdin: why do you use llvm? [17:59] creationix: just an experiment [18:00] kodisha_ has joined the channel [18:00] creationix: see the thread on the mailing list [18:00] bweaver has joined the channel [18:00] stepheneb has joined the channel [18:00] creationix: he claims it compiles faster and should run faster [18:01] ryah: http://groups.google.com/group/v8-dev/search?group=v8-dev&q=clang+OR+llvm&qt_g=Search+this+group [18:02] creationix: would a llvm version of node even run faster [18:02] creationix: I though plain gcc was pretty good [18:02] creationix: it's certainly a mature compiler [18:03] sixthgear has left the channel [18:05] creationix: wow building llvm from homebrew really eats all four cores of my i7 laptop [18:05] broofa has left the channel [18:05] shimondookdin: sometimes building takes just forever [18:05] liucougar has joined the channel [18:06] _announcer: Twitter: "I'm bored & 1.5 weeks away from code has got to me. I am tinkering with node.js on ubuntu server whilst babysitting." -- Wadud Ruf. http://twitter.com/wr1472/status/17033266355 [18:06] creationix: yeah, I remember having to compile llvm to use macruby [18:06] creationix: Rich Kilmer told us to not bother compiling during the training session, it would take longer than his 2 hour session [18:06] shimondookdin: :) [18:07] creationix: he had to bring pre-compiled binaries on a usb stick [18:07] skampler: http://github.com/skampler/node-dnscache [18:07] shimondookdin: i have tried once to compile gcc [18:07] derferman: If you have 10.6, clang should already be included [18:08] creationix: I get lots of clang: warning: not using the clang compiler for C++ inputs [18:08] creationix: using the stock clang from 10.6 [18:10] derferman: ahh, you're right. The clang included with 10.6 was before clang officially supported C++ [18:10] _announcer: Twitter: "Surprising me with the ecosystem node.js. The kiwi is a good package manager style rubygems: http://kiwijs.com/" [pt] -- Diogo Biazus. http://twitter.com/dbiazus/status/17033496763 [18:10] mscdex: this is a bit offtopic, but does anyone know of a way to archive a bunch of files split into multiple volumes such that each volume is really a separate standalone archive? [18:10] creationix: mscdex: what format? [18:10] mscdex: doesn't matter .tar.gz or something? [18:11] mscdex: everything i've tried with multi-volume stuff splits files between archives, which is no good to me [18:11] creationix: you could make a archive per folder by splitting it manually [18:12] creationix: I don't know of anything automatic though [18:12] mscdex: darn [18:12] mAritz: creationix: i created a monstrosity... a function that dynamically fills a conductor with a number of parallel async functions and one endfunction that checks if all the parallel functions "returned" true. it's horrible to look at but works. :D [18:12] mcarter has joined the channel [18:12] creationix: mAritz: awesome [18:13] mAritz: yep. thanks for conductor :) [18:13] [[zz]] has joined the channel [18:13] creationix: it was tmpvar's idea, I just implemented it [18:13] creationix: it was a fun challenge [18:14] mAritz: :) [18:15] zaach: tempted to start a pun thread on the mailing list after isaacs reply [18:15] isaacs: zaach: for that, i deeply apologize. [18:15] zaach: :) [18:18] charlesjolley- has joined the channel [18:27] sechrist_ has joined the channel [18:30] charlesjolley-_ has joined the channel [18:31] charlesjolley-_ has joined the channel [18:33] voodootikigod: JimBastard: wtf is your email addr [18:33] voodootikigod: JimBastard: you rat bastard [18:36] shimondookdin: http://www.techiecorner.com/107/how-to-split-large-file-into-several-smaller-files-linux/ [18:37] mostlygeek has joined the channel [18:38] shimondookdin: skampler: why do you need a dns cache? [18:41] mattly has joined the channel [18:49] SteveDekorte has joined the channel [18:55] tmpvar has joined the channel [18:57] bradleymeck: voodootikigod http://groups.google.com/groups/profile?enc_user=ETRi_RcAAABoAumLw7lE_XQdI4XCGSJ8HqZiDvCVswhrZ6TQxKj0ww [18:59] sanderjd has joined the channel [19:00] phiggins has joined the channel [19:01] kersny has joined the channel [19:02] jxson has joined the channel [19:03] femtoo has joined the channel [19:05] KaptianKrispy has joined the channel [19:08] pquerna: clas clas clas. [19:08] KaptianKrispy: hello [19:08] herbySk has joined the channel [19:08] JimBastard_ has joined the channel [19:08] KaptianKrispy: can anyone direct me to where I can find out how to setup/use view partials? [19:09] JimBastard_: ahaha i just told the guy editing the JSConf footage to splice in random montages and old school rap songs into my talk [19:09] JimBastard_: KaptianKrispy: in what templating language? [19:09] KaptianKrispy: just using the ejs stuff [19:09] JimBastard_: ? [19:09] JimBastard_: link? [19:09] KaptianKrispy: working with geddy... [19:09] KaptianKrispy: one sec. [19:10] KaptianKrispy: http://geddyjs.org [19:10] sh1mmer has joined the channel [19:11] mape: JimBastard_: what was your talk about? [19:11] JimBastard_: hook.io [19:11] JimBastard_: evented web [19:11] JimBastard_: web hooks [19:12] JimBastard_: yeah i dunno KaptianKrispy , people sure do love making nodejs web app frameworks [19:12] JimBastard_: id yellsource at the maintainers to make better docs [19:12] JimBastard_: or make them more accessible [19:12] KaptianKrispy: ya I have found many - most incomplete [19:12] JimBastard_: mde|afk [19:12] JimBastard_: mde [19:12] KaptianKrispy: geddy seems to be the most finished [19:12] JimBastard_: yeah, what are you trying to do KaptianKrispy ? big picture wise? [19:12] cloudhead has joined the channel [19:12] JimBastard_: morning mr cloudhead [19:12] JimBastard_: :-D [19:13] KaptianKrispy: I am building a one-page rich app - want to monitor pivitoltracker project against the github repo of it [19:13] KaptianKrispy: both site api's support web hooks so I thought the evented nature of nodejs would be a win [19:14] mape: What I feel is lacking in the web frameworks doing node is like jim said, docs and examples [19:15] KaptianKrispy: yes - very much s [19:15] mape: Most are tiny things, would be nice if there was one fairly complex example [19:15] KaptianKrispy: geddy is like rails [19:15] KaptianKrispy: its beefy and has some good docs [19:15] KaptianKrispy: but not on all the stuff in it [19:15] KaptianKrispy: same for express js [19:16] creationix: we've got docs for connect [19:16] KaptianKrispy: link? [19:16] creationix: it's just not quite as full stack as geddy [19:16] creationix: http://extjs.github.com/Connect/ [19:16] KaptianKrispy: I'm not married to geddy yet - still exploring options [19:16] JimBastard_: KaptianKrispy: you dont want any of these things [19:16] creationix: well, eventually I hope geddy will run on top of connect [19:16] mape: creationix: got full coverage of all middleware? [19:17] JimBastard_: KaptianKrispy: you should just roll your own app, i think it will save you time and headaches. just pick the modules you need and build some quick glue [19:17] creationix: mape: not yet, but tjholowaychuk is building it fast [19:17] creationix: connect is still alpha [19:17] creationix: but a beta is coming out next wek [19:18] KaptianKrispy: JimBastard_: considered it but then I thought - "oh no not going to add to the noise of yet another framework" [19:18] JimBastard_: KaptianKrispy: i didnt say build a framework [19:18] JimBastard_: i said build your app [19:19] KaptianKrispy: I fear it would turn into that [19:19] JimBastard_: well [19:19] JimBastard_: good luck trying to find the right sized screwdriver [19:19] KaptianKrispy: though I suppose since its meant to be one page [19:20] KaptianKrispy: have you seen this: http://faye.jcoglan.com/ [19:20] stepheneb has joined the channel [19:23] JimBastard_: KaptianKrispy: yep [19:23] kersny has left the channel [19:23] ceej: creationix: http://screencast.com/t/OGE3NzlhYW [19:25] JimBastard_: KaptianKrispy: i bet i could write the app you want in like < 1000 lines, probaly < 500 [19:25] JimBastard_: at least to get the proof of concept going [19:25] JimBastard_: could be even less, depending [19:26] KaptianKrispy: that would be cool [19:26] KaptianKrispy: do you want to do it? [19:26] JimBastard_: ohh umm i mean, not unless you wanted to pay me. sorry, i wasnt trying to offer help, just pointing out a node web framework *might* not be the best choice [19:27] JimBastard_: and there are other solutions [19:27] JimBastard_: here he is [19:27] JimBastard_: he'll help ya [19:28] creationix: ceej: thanks [19:28] ceej: np [19:29] mde: What's up, folks. [19:29] KaptianKrispy: JimBastard_: what core js libs/modules would you use? [19:30] creationix: KaptianKrispy: even though connect is still alpha, it makes a great starting point [19:30] creationix: the closure branch is what will be the next release [19:30] JimBastard_: thats actually a good point creationix has, if it works [19:30] KaptianKrispy: creationix: looking at the docs now [19:30] JimBastard_: i would think the session and logging stuff would be huge out of the bo [19:30] JimBastard_: x [19:30] creationix: KaptianKrispy: there will be a major api change in the next version [19:30] creationix: but same functionality [19:31] mde: KaptianKrispy: It's easy for that simple web app to turn into a framework, yeah. [19:31] mde: That's how I ended up with this Geddy thing. [19:31] KaptianKrispy: mde: can you tell me how to use partials in geddy? [19:31] creationix: my goal with connect is to have a common base so people don't have to keep reinventing the wheel for simple things [19:32] KaptianKrispy: creationix: like rack in ruby land [19:32] mde: KaptianKrispy: The best example right now is probably the scaffolds. [19:32] creationix: KaptianKrispy: sort of [19:32] creationix: though it does a little more [19:32] mde: KaptianKrispy: Have you seen the two-minute Geddy app doc? [19:33] mde: http://wiki.github.com/mde/geddy/the-two-minute-geddy-app [19:33] KaptianKrispy: yes I have read all the docs and have an app running of my own and have posted an issue to the github issues list [19:33] mde: Ah, okay, that's you, right on. :) [19:33] KaptianKrispy: ya CamelCase issues in the controller names [19:34] mde: The edit and add scaffolds use a partial to include the same form. [19:34] JimBastard_: creationix: is there a dev road map for connect ? im really curious to know whats in the pipeline. [19:34] KaptianKrispy: brb - goes off to look at the scaffolds... [19:35] mde: KaptianKrispy: I think you probably created your resource as "taskmap". [19:35] mde: Which will camel-case to Taskmap. [19:35] creationix: JimBastard_: my only plans for connect is to maintain it at the abstraction level just above ruby rack [19:35] KaptianKrispy: did not create a resource. [19:35] KaptianKrispy: I just created a new file [19:35] creationix: I'm just trying to stabilize the api by using it a bit [19:35] KaptianKrispy: controller [19:35] mde: If you want TaskMap, you need to snake-case the resource as task_map [19:35] KaptianKrispy: I wanted a controller without a model attached [19:36] mde: I guess it would be helpful to have a short doc on the snake-to-camel conventions. [19:36] creationix: JimBastard_: If I make a full stack framework it will be separate from connect [19:36] JimBastard_: got ya [19:36] JimBastard_: im still trying to wrap my head around the best way to integrate broodmother with connect [19:36] JimBastard_: its a bit tricky [19:36] mde: creationix: I would love some full-stack help on Geddy. :) [19:36] mde: Although I know that approach isn't the right one for everybody. [19:37] KaptianKrispy: mde: or add to the script/tasks to support other things like controller creation [19:37] creationix: mde: yeah, we might just join forces [19:37] mde: creationix: It's still really early, so it should be really open to course-adjustments. [19:38] mde: I just want easy, full-stack JS that works out of the box. [19:38] creationix: mde: of course. Right now, I'm busy getting connect finished [19:38] mde: KaptianKrispy: That's definitely on the roadmap. [19:38] creationix: it seems that finishing a project is a lot harder than starting one [19:38] mde: Haha [19:38] mde: creationix: Yes, there's the first 90% done. [19:38] mde: Then you have to do the second 90%. [19:38] creationix: exactely [19:38] mde: And the third. [19:39] JimBastard_: this is why im trying to get a balance of serious projects and bull shit ones [19:39] JimBastard_: the bull shit ones you can release in 2 days and be happy with the results [19:39] KaptianKrispy: mde: looked at the files but don't see any direct partial usage - maybe I'm blind - line numbers? [19:39] mde: It's really kind of silly hubris to go, "Well, I belive I'll replace Rails today." :) [19:39] siculars has joined the channel [19:39] mde: I'm just so sick of writing everything twice. [19:40] joshbuddy has joined the channel [19:40] joshbuddy has joined the channel [19:40] mde: KaptianKrispy: Lemme look. [19:40] KaptianKrispy: joshbuddy: where u at? [19:41] mde: KaptianKrispy: At the bottom of app/views/[model_name]/edit.html.ejs [19:41] mde: 48 <%= partial('_form', {params: params}); %> [19:41] KaptianKrispy: mde: nice - thanks [19:41] KaptianKrispy: any docs for this? is it part of geddy or beyond? [19:42] mde: In the same directory, you'll see a _forms.html.ejs file. [19:42] SteveDekorte has joined the channel [19:42] mde: No docs for this yet, no. Right now it's part of Geddy. [19:42] mde: And basic EJS should ship with Geddy. [19:42] KaptianKrispy: mde: thanks for pointing that out - :-) [19:42] mde: But it will be pluggable, so you can use 'stache or whatever. [19:43] KaptianKrispy: brb - afk [19:43] mde: Same here, grabbing some food. [19:43] creationix: wow, looks like tj has updated the connect docs for the new api http://github.com/extjs/Connect/blob/closure/docs/index.md [19:43] creationix: KaptianKrispy: if you to plan on using Connect, use the new api [19:44] xircweb has joined the channel [19:46] mape: creationix: There is something pokeable? :) [19:46] sechrist has joined the channel [19:46] creationix: pokeable? [19:46] mape: Works enough to use [19:47] mikeal: i pinged bradley kuhn and sflc for comment in that CLA thread [19:47] mape: What is the issue? [19:47] creationix: mape: yeah, I'm building an app right now while tj finishes up the tests and docs to release the closure branch [19:47] KaptianKrispy: bakc [19:48] mde: I'm back too. Burritos today. [19:48] creationix: mmm, burritos [19:48] mape: Does signing the cla put people in a situation that isn't desirable? [19:49] mde: Yammer feeds us pretty ridiculous good food every day. [19:49] creationix: the only worry about the cla is that it gives ryan full ownership of the code [19:49] creationix: if he turns evil then we lose node [19:49] creationix: don't think that will happen though [19:49] mape: Doesn't the MIT license still keep the code open? [19:49] mde: I guess we could go the non-profit foundation route. [19:49] mde: The Dojo guys had pretty good success with that. [19:49] creationix: yes, but he can change the license if we so desired [19:49] mikeal: why not use the code conservatory ? [19:50] mape: creationix: How can you change the license after code has been licensed? [19:50] mikeal: the code up to the point that he re-licensed would still be under MIT [19:50] mikeal: so we could just fork it [19:50] mde: And that make BigCo's happy. [19:50] mape: Yeah [19:50] creationix: mape: on future versions [19:50] KaptianKrispy: mde: is there a way to specify where to load partials from within a controller? [19:50] mape: Well.. Doesn't the license contaminate it? [19:50] mape: Or well, I guess MIT lets you do that.. [19:51] mape: The GPL does force the future code to be open as well? [19:51] creationix: mape, even if it was gpl, he will be the sole copyright owner so he can do whatever he wants [19:51] creationix: copyright law is really nasty [19:51] mape: Oh so that is what the cla does? Move ownership? [19:51] mikeal: if we were actually worried about patents it would be a good idea to send it to apache [19:51] creationix: I'd just take it as a sign that big things are coming for node [19:52] mscdex: geddddyyyyyyyyyyyy :-D [19:52] KaptianKrispy: mde: http://gist.github.com/453360 [19:53] creationix: mikeal: yeah, I'd prefer a foundation too, but it is Ryan's project, so it's his choice [19:53] KaptianKrispy: mde: the file is in the views/taskmap dir [19:53] mikeal: the thing about apache isn't just the nonprofit part [19:53] mikeal: it's that every large patent holder is a member [19:53] KaptianKrispy: mde: and thats where I want it loaded from [19:53] mape: Does the foundation mean more stuff to thing about == less time to code? [19:54] mikeal: and part of membership means that you can't sue an apache project for patent infringment, ever [19:54] mikeal: apache has a lot of process overhead [19:54] mikeal: i really don't think it's an option for us [19:54] mape: So I there are docs people that like that.. [19:54] mde: KaptianKrispy: it will look first in the directory of the partial that it's being called from. [19:54] derferman has joined the channel [19:54] mape: Are there license people that just do that for open source projects? And think it is enjoyable? :P [19:55] KaptianKrispy: mde: I dont think its working that way [19:55] mde: KaptianKrispy: and if it can't find it there, it will try a path starting at the root of views/ [19:55] mde: If it's not behaving that way, it's a bug, and needs fixing. [19:55] KaptianKrispy: mde: I have the views dir and in there is another called taskmap and in that dir is the _js.html.ejs file but it is not loading [19:56] KaptianKrispy: here is the partial call from my index.html.ejs [19:56] KaptianKrispy: <%= partial('_js', {params: params});%> [19:56] mde: KaptianKrispy: Yeah, gimme a gist of it. [19:56] KaptianKrispy: one sec... [19:57] zomgbie has joined the channel [19:58] visnup has joined the channel [19:58] _announcer: Twitter: "Connect 0.1.0 released http://github.com/extjs/Connect/blob/master/History.md #nodejs - new api, bug fixes, more middleware, better docs etc" -- TJ Holowaychuk. http://twitter.com/tjholowaychuk/status/17039991107 [19:59] _announcer: Twitter: "Somehow I missed the note about the Windows/Cygwin port in the 1.98 release of #nodejs. I continue to be amazed by the rate of this project." -- Jeremy Martin. http://twitter.com/jmar777/status/17040053181 [19:59] KaptianKrispy: mde: http://gist.github.com/453371 [20:00] JimBastard_: !tweet @jmar777 how about the fact the nodejs irc room answers support requests over twitter? [20:00] mde: KaptianKrispy: Looking, thanks. [20:00] Guest42356 has joined the channel [20:01] stagas has joined the channel [20:01] joshbuddy: KaptianKrispy: you there? [20:01] KaptianKrispy: yep [20:01] tlrobinson_ has joined the channel [20:01] KaptianKrispy: joshbuddy: was not expecting you here [20:02] joshbuddy: here i am! [20:02] joshbuddy: i msg'd you directly :) [20:02] KaptianKrispy: joshbuddy: didnt see - switching over [20:03] mjr_: creationix: I come to the same conclusion as you about the CLA, we are likely to see big things from node. [20:04] dgathright_ has joined the channel [20:04] creationix: mjr_: I mean the simple fact that I'm paid to work on node project full-time by a company not affialited with ryan says something about the maturity of node [20:04] mjr_: oh yes [20:05] creationix: while jobs like mine are still rare, I think that will change in the coming months [20:05] mjr_: I expect some bigger investments from other companies. Otherwise who cares about the code ownership? [20:05] hellp has joined the channel [20:06] mde: KaptianKrispy: I am able to render the partial from either in the views/[model_name] dir, or just views/. [20:06] mde: KaptianKrispy: Is this Geddy HEAD? [20:07] mde: I guess it's time to start versioning. [20:07] KaptianKrispy: yes [20:07] KaptianKrispy: mde: what if there is no model [20:08] mde: It should fall back to views/, but the error you have indicates it's not doing the right thing. [20:08] KaptianKrispy: mde: is there a way to specify in the controller where to get its partials? [20:09] mde: No, not yet, although that's a totally reasonable thing to want. [20:09] mde: Okay, so this isn't a resource route. [20:09] mde: You just set up a simple route. [20:10] KaptianKrispy: mde: ya [20:11] mde: I'll give it a go with just a bare controller, like you did. [20:12] mde: KaptianKrispy: I have some Yammer work I have to do for a couple of hours -- I'll try to repro after that. [20:12] KaptianKrispy: mde: kk - thanks [20:13] mde: When you say "specify where to get partials," what exactly would that look likt? [20:13] KaptianKrispy: in the head of the controller ... [20:13] KaptianKrispy: something like [20:14] xircweb: where is the framework for the views? What's the name of the project? [20:14] KaptianKrispy: this.partials = ['path/to/partials'] [20:14] mape: So anyone have a good idea for a knockout project? [20:14] mde: Oh, wait, I said [model_name] but it actually is [controller_name] [20:14] xircweb: I'm new to Nodejs [20:14] kersny has joined the channel [20:15] mde: KaptianKrispy: Does defaulting to the controller name seem reasonable? [20:15] KaptianKrispy: mde: very [20:15] KaptianKrispy: mde: but would be good to override it when nessary to support common partials across the app [20:15] javajunky has joined the channel [20:16] joshbuddy_ has joined the channel [20:16] mde: Easy enough to provide a way to override. Right, makes sense. [20:16] mde: So probably overrides at the controller level, and a way to pass it in as an option to the "respond" call. [20:16] SteveDekorte has joined the channel [20:18] KaptianKrispy: mde: yep that sounds like what I need [20:19] mde: KaptianKrispy: Cool, I'll hack that in tonight. [20:19] KaptianKrispy: mde: thanks [20:19] mde: KaptianKrispy: Also, I'm going to go ahead and close your issue, and open a new one to provide docs for the snake-to-camel mapping conventions. [20:19] mde: That was the problem, right? [20:19] KaptianKrispy: mde: ok [20:20] KaptianKrispy: mde: ya, just make it clear that using camel-cased 'class' names wont work at all [20:21] mde: KaptianKrispy: No, that does work, at least going the resource-route way. [20:21] mde: Maybe your issue has something to do with creating the route yourself. [20:22] mostlygeek_ has joined the channel [20:22] femto has joined the channel [20:22] hsoj has joined the channel [20:22] KaptianKrispy: mde: that was what I thought - in which case maybe provide a guide to how to do that correctly [20:22] KaptianKrispy: what I mean is [20:22] xircweb: does anyone have any time for a few quick questions about node? [20:22] KaptianKrispy: how to go about doing it all [20:22] mde: Is it maybe because your controller is listed as "Taskmap" in your route? [20:23] mjr_: xircweb: just lob 'em in, someone may. [20:23] mde: I was assuming you were doing resource-routes. [20:23] xircweb: are there any projects that provide a framework on top of node? [20:23] mde: Heheh [20:24] mape: xircweb: Sadly no [20:24] mape: There is a lack of those.. [20:24] mape: hehe [20:24] KaptianKrispy: mde: I was just following what was there in the docs - http://wiki.github.com/mde/geddy/using-the-router [20:24] mde: xircweb: Lies. :) It's a web-framework rennaisence. [20:24] mape: Or well, I guess that depends on what kinda framework you are talking about [20:24] mde: Like a damn Cambrian explosion. [20:24] xircweb: I just saw someone post a piece of code that looks like a templating MVC type framework [20:24] mape: Only issue in the web part is that none seem to be mature enough for most poeple to use it [20:25] mde: xircweb: It's still pretty early, but there is a lot of work being done there, yes. [20:25] KaptianKrispy: mde: The problem was I called the controller TaskMap (capitol M) but when I referenced it in the router as 'TaskMap' it blew up [20:25] mde: There's Express, Fab, and the one I'm building, called Geddy. [20:25] mde: And a middleware framework called Connect. [20:25] xircweb: yeah.. I saw Connect [20:25] KaptianKrispy: mde: but when I changed it to Taskmap (lower m) and referenced it as 'Taskmap' in the router it worked [20:25] mde: xircweb: http://geddyjs.org/ [20:25] xircweb: I saw some code like <%=(expression)%> [20:26] xircweb: what framework was that? [20:26] mde: KaptianKrispy: That sounds like a real bug, okay. [20:26] mde: xircweb: That's for Geddy. [20:26] mde: But that's just simple EJS templating. [20:26] sechrist has joined the channel [20:26] mde: A lot of frameworks can probably do that. [20:27] xircweb: cool... that looks a lot better than the haml stuff [20:27] mde: KaptianKrispy: I'll take a look at that later today then. [20:27] KaptianKrispy: mde: ok [20:27] mde: xircweb: Templating is a religious subject. Some people like Haml, some like 'stache. I just like simple EJS. [20:28] mde: KaptianKrispy: Thanks for the help with this. [20:28] xircweb: right... [20:28] KaptianKrispy: mde: np [20:28] mde: I really appreciate it. I'll message you when I know what's up. [20:28] xircweb: mde: thanks a million... its great info... [20:28] KaptianKrispy: mde: looking forward to it [20:29] mde: xircweb: Do please kick the tires on Geddy. Let me know what needs to be fixed or changed. [20:29] mape: That is a common thing in the US as well? [20:29] xircweb: mde: I will do... I think this is an awesome project... do you know what kind of DB support there is for Geddy or node? [20:30] mape: Kicking tires on cars when people have no idea how to judge them? [20:30] nofxx has joined the channel [20:30] mape: xircweb: mde codes on geddy so I would assume he has a pretty good idea [20:31] nofxx: Any new amqp effort I might be missing ? http://github.com/xaviershay/node-amqp looks dead [20:32] javajunky: xircweb: pretty much all the frameworks offer the same templating and db options [20:32] xircweb: mde: I really like the potential in the project for an in-house rewrite of an older classic ASP project [20:33] javajunky: xircweb: its also worth checking out, fab, express, connect, node-router etc. oh and persvr [20:33] joshbuddy_ has joined the channel [20:33] xircweb: javajunky: thanks... I'll look at those too. [20:34] visnup has joined the channel [20:35] xircweb: javajunky: any idea if there are projects that look at using node as a clustering core? for distributing code execution across multiple machines? [20:35] gerad has joined the channel [20:36] javajunky: xircweb: there was some tokyo cabinet stuff, not sure if that would help, things like connect (and geddy I think) can operate on multiple cores, but not for distributing code executions [20:36] visnup has joined the channel [20:36] LOLWUT_: I've been looking at that myself, however it appears just grabbing socket fds is pretty rough [20:36] bradleymeck: brain hurts, http://gist.github.com/453093 , done... /falls over [20:36] _announcer: Twitter: "@chadmyers I had that yesterday trying to get to the nodejs group. Annoying!" -- Matthew Podwysocki. http://twitter.com/mattpodwysocki/status/17042164958 [20:36] mde: xircweb: Right, maybe not enough value for rewriting more recent Rails apps. [20:37] mde: But if you're rewriting, or staring a new project, it would be so much better to do it in full-stack JS. [20:37] mde: xircweb: Geddy has very, very basic support for SQLite, Postgres, and Couch. [20:37] mape: mde: How is the mongo stuff going along? [20:37] mde: The persistence stuff is very new, and it's a hard problem to solve in an elegant way. [20:37] jxson has joined the channel [20:37] drostie has joined the channel [20:37] mape: And is there any plans on support for one to many/ many to many relations? [20:37] xircweb: mde: a lot of my code is js that was running server side on classic ASP... so I can reuse a lot of the code. [20:38] mde: mape: Haven't started on Mongo yet. I'll take a look at it after I build out more stuff for Couch, I think. [20:38] nofxx: I'm just arriving and experimenting but the redis adapter looks very nice [20:38] javajunky: mape, mde have either of you played with mongoose at all ? [20:38] mde: Although I would of course accept patches. :) [20:38] javajunky: I keep meaning to, but then get side-tracked [20:38] nofxx: redis pubsub + nodeks, working very nice on my tests [20:38] mde: xircweb: Ah, right on. I did a fair bit of SSJS on IIS about 10 years ago. :) [20:38] mape: javajunky: Not really, looked at it briefly, then I just head bad things about it. [20:38] mjr_ has joined the channel [20:39] mape: *heard [20:39] xircweb: mde: yeah.. this is a financial app that has some old loan calcs on it.. so porting should be a breeze [20:39] javajunky: mape: hmm, I've not heard *anything* about it, meh [20:39] qschzt has joined the channel [20:39] mape: javajunky: And that is better? hehe [20:40] mde: xircweb: That sounds like that could be a fun project, too. Porting from IIS JScript to Node JS. [20:40] javajunky: mape: It could be! [20:40] qschzt: hey, is Guillermo around here? :) [20:40] javajunky: often [20:40] mape: Good stuff tends to be talked about [20:40] javajunky: as does bad :) [20:41] mape: For sure, mediocre stuff, not su much [20:41] gerad: mde: what's the mongo library you're woring on? [20:42] mde: gerad: I'm not. :) Geddy is starting out with Couch. Mongo will likely be next. [20:42] sanderjd has joined the channel [20:42] qschzt: node-mongodb-native? [20:42] javajunky: the existing mongo libraries seem pretty good [20:42] xircweb: mde: any recommendations for which distro to run Geddy on? [20:42] qschzt: seems quite good yes [20:42] mde: I'd be happy to work with people to get it in there though. [20:43] gerad: the existing mongo libraries are fine, but low level [20:43] javajunky: could do with slightly better pipelining but I know christkv was looking at that [20:43] mde: xircweb: I'm using Ubuntu, but it should be fine on anything you can build Node on. [20:43] mape: mde: Any reason you went with couch before mongo? Seems like mongo has better adoption? [20:43] javajunky: gerad: yeah, thats where I guess mongoose comes in, but I've not had time to play yet :) [20:44] qschzt: anyone else working on socket.io around here than Guillermo? I have an IE7 issue :) [20:44] Tim_Smart has joined the channel [20:44] mde: mape: I care a little more about data integrity than speed, and I already know Couch a little. I was going to write CouchDB in Action for Manning, until we mutually decided to kill the project. [20:44] mape: Ok [20:44] mde: I'm not Kool Aidy about it. I'll use whatever works. [20:44] mde: If somebody wants to help me with Mongo support, I'd love to work with them. [20:44] gerad: yeah, I rolled my own for node knockout [20:45] mscdex: i want to use an access database! [20:45] qschzt: mde, what exactly do you need in terms of Mongo support? [20:45] gerad: but would rather have used somebody elses' [20:45] cloudhead: anyone got problems install node with openssl on ubuntu? [20:45] cloudhead: installing* [20:45] mscdex: cloudhead: nope [20:45] javajunky: cloudhead: nope [20:45] cloudhead: ok [20:45] qschzt: cloudhead, install libssl-dev? [20:46] cloudhead: qschzt: will try that, thanks [20:46] mde: qschzt: I guess you could start by taking a look at what's there for Couch and SQL stores. [20:46] qschzt: cloudhead, you won't see openssl installed but as long as you see crypto.h you're ok [20:46] kersny has left the channel [20:46] mde: Basically it's an ORM-like query syntax, so the dbAdapter just needs to return JavaScript objects from method calls. [20:46] cloudhead: qschzt: ok [20:47] mde: I mean, the persistence stuff is still very early, and there's a bunch of discussion about how to handle SQL vs. NoSQL. [20:47] mde: So there will likely be course-correction as we go. [20:47] qschzt: ok [20:48] javajunky: c'uall [20:48] qschzt: just why are you applying ORM to NOSQL? :) [20:48] mde: qschzt: It's not really ORM -- that's kind of an old word, yeah. :) [20:49] mde: It's just a way to get typed JS objects back out of datastore. [20:49] mde: Right now even the SQL stores are just saving blobs of JSON. [20:49] mape: Isn't django dying trying to do noSQL? [20:49] mde: I think everybody is trying to do NoSQL, even if they don't need it. [20:50] kaptainkrispy has joined the channel [20:50] qschzt: Akka seems to have it right so far, they just provide a Collection which can map to a number of backing stores [20:50] mscdex: why not store json blobs in nosql stores and use keys as fields in sql? [20:50] qschzt: but there you do miss all the nice features of each store [20:50] devinus has joined the channel [20:50] mde: mscdex: A full port of something like DM would be great for the SQL stores, yeah. [20:51] mscdex: DM? [20:51] mde: I would love someone to come along and build that. [20:51] qschzt: please don't do ActiveRecord for Node :) [20:51] mde: DataMapper. [20:51] mscdex: oh [20:51] mscdex: it wouldn't be ActiveRecord [20:51] mde: Similar to ActiveRecord, but the model info lives in the code, not in the DB. [20:51] mde: They're very similar. [20:52] mde: But you can't mix and match SQL/NoSQL if the single point of truth for your models is a SQL schema. [20:52] nofxx: use dm, and interface with node via a non polling low latency way.. like redis pubsub or amqp [20:52] mscdex: well, i mean you could implement so that it's not, like cake does by using arrays instead of objects [20:52] mde: nofxx: What I want is a full JS port of DM. :) [20:53] cloudhead has joined the channel [20:53] nofxx: mde: I got it, was just throwing more cards at the table ;) [20:53] mde: Ah, gotcha. :) [20:53] qschzt: yeah, I am starting to believe in that you should simply use the repository as storing various collections [20:53] mde: qschzt: I agree. I think you should be able to specify a per-model datastore. [20:53] qschzt: so your model and its coherency guarantees lives entirely in code, not at all in the db [20:53] mde: So like, these things are in SQL-land, these are over in Redis. [20:53] kaptainkrispy: What about mongodb and forget SQL altogether [20:54] nofxx: mde: works so nice hehe.. ruby -> redis pubsub -> node , and versa-vice ... Will try amqp now. [20:54] creationix has joined the channel [20:54] mde: qschzt: Right, DM and SQLAlchemy on the Python side have the model definitions in the code. [20:54] Tim_Smart: mde: A SQL table per model, a collection per model also? [20:54] mde: Where it belongs. [20:54] Tim_Smart: Give a property its own row or something [20:54] mde: Tim_Smart: So, you can point User at your Postgres store, and your Message at your Cassandra store. [20:55] qschzt: not a collection per model, "don't be afraid to denormalize accordingly" [20:55] Tim_Smart: *column [20:55] mde: I know that the enterprisey ORMs like Hibernate will do multi-table, multi-DB mapping within a single model. [20:55] mde: But that seems like overkill to me. [20:55] qschzt: so I would apply DDD's Repository pattern and the model doesn't know at all about its persistence .. [20:56] softdrink has joined the channel [20:56] qschzt: in the Repository, you can separate into various collections, cache some in memory, etc [20:56] mde: qschzt: Exactly, but the API you use to do stuff like finds would depend on the type of datastore. [20:56] qschzt: yes [20:57] mde: There would be some subset, like find-by-id or find-by-model-type that would be the same everywhere. [20:57] qschzt: and you won't ever be able to load the entire collection [20:57] mde: I mean, the SQL side should be able to do all the stuff you'd expect from a normal ORM. [20:58] mde: And if the entire collection is three items, no reason you couldn't fetch the whole thing. :) [20:58] shimondookdin: i would not suggest using monguse i had tried useing it and had a feeling like it has some strange bugs int it. so i used nativemongodb [20:58] qschzt: but you can just make the collection an associative array / hashmap though [20:58] qschzt: you can/must have indexes/lookup maps [20:59] mde: qschzt: I'd probably make it a JS Array, since people expect stuff like pagination. [20:59] qschzt: exactly [20:59] mde: But maybe that's part of the API. [20:59] qschzt: so you can just keep track of simple js arrays [21:00] qschzt: here's the search index for this entity for these keys [21:00] nofxx: Oh, found it! amqp bindings, so close..... http://github.com/ry/node-amqp ... it's not on the wiki, allow me to add.... [21:00] qschzt: *shrug* something like that [21:01] mde: That's the idea, yeah. Mapping any kind of consistent API onto all that is going to be really intersting. [21:02] qschzt: take a look at how Akka does it http://doc.akkasource.org/persistence [21:02] mde: Ah, Scala. :) [21:03] mde: I know nothing about Scala. We have Really Smart DudesTM here at Yammer who are working with it. [21:03] mape: how different is scala to java? [21:03] qschzt: that persistence spec is dead simple [21:03] kaptainkrispy: very different [21:04] qschzt: all you get is a collection [21:04] mjijackson has joined the channel [21:04] kaptainkrispy: its functional programming inplace of oo [21:04] mde: mape: It's a JVM language like any other. [21:04] mape: hehe... so very different and like any other? [21:04] jakehow has joined the channel [21:04] mde: Meaning it's not actually Java. [21:04] mape: oh k [21:04] kaptainkrispy: I think it depends on what you are measuring or comparing [21:05] qschzt: mape, java and scala both compile to jvm bytecode, and are both 100% interoperable with eachother [21:05] kaptainkrispy: syntax and code structure is very different [21:05] kaptainkrispy: yes they interoperate [21:05] kaptainkrispy: can be useful when oo doesn't cut it [21:05] kaptainkrispy: scala is a lot like lisp [21:06] kaptainkrispy: might want to see clojour too [21:06] kaptainkrispy: some say its better [21:06] qschzt: anyway that's digressing - the point is to just expose a collection of items in the Repository :) [21:06] rockstar has left the channel [21:07] shimondookdin: I am in process of developing new framework for mongodb I would be happy if people would join [21:07] shimondookdin: http://gist.github.com/453442 [21:07] mde: qschzt: Yeah, this looks interesting. I'll have to dig around to see more of the API. [21:07] qschzt: mde, the Collections API: http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collections.html [21:07] mde: qschzt: "java/util..."? :) [21:07] qschzt: :) [21:08] mde: Is this going to make my eyes bleed? [21:08] qschzt: probably :D [21:08] dgathright_ has joined the channel [21:08] mde: I'm sure there's usefulness in there. But JS is so much looser. [21:09] isaacs: nofxx: i think ryah had an amqp thing [21:09] mde: There's so much to pave over -- even within the SQL adapters, some buffer, some don't. [21:09] isaacs: nofxx: http://github.com/ry/node-amqp updated as of a few weeks ago [21:09] nofxx: isaacs: just found it man hehe, testing it right now.. thank you [21:09] qschzt: mde, just thinking maybe you can keep it all real simple supporting multiple backends by implementing some common API like that [21:10] mde: qschzt: Definitely. Have to figure out what is the minimal common set of methods for all types. [21:10] mde: Damn, okay, have to get some work done. Be back later. :) [21:11] qschzt: nofxx, bugs: headers with type don't work properly, it's being worked on.. [21:12] qschzt: mde, what's your project again? link? [21:13] nofxx: qschzt: ok, I'll start small, just a pub/sub thing I'll be glad ;) [21:13] kaptainkrispy: nofxx: what about faye? [21:14] kaptainkrispy: http://faye.jcoglan.com [21:14] nofxx: kaptainkrispy: using it [21:14] kaptainkrispy: oh, missed that [21:14] joshholt_ has joined the channel [21:14] mde|afk: qschzt: http://geddyjs.org/ [21:15] nofxx: kaptainkrispy: experimenting with redis and rabbitmq to make ruby talk to node [21:16] sanderjd has joined the channel [21:16] qschzt: what's faye, alternative to socket.io? [21:17] qschzt: that looks fantastic :) [21:17] Tim_Smart: qschzt: It only uses websockets I think [21:17] nofxx: tbh my ultimate goal is authN [21:18] joshbuddy_ has joined the channel [21:18] joshbuddy_ has joined the channel [21:18] qschzt: mde, nice [21:18] nofxx: it's a poll thing in the while, guess it will became a legacy fallback soon , websockets are in a branch (I believe working) [21:19] shimondookdin: it uses http server [21:20] qschzt: nofxx, node-amqp works great for fanout/direct, with correlationId and all, but once you need headers or type, you need to wrap those in the message for now [21:20] kaptainkrispy: nofxx: did you look at rednode? [21:20] qschzt: nofxx, which for me means deserializing twice at the Akka end [21:21] qschzt: rabbitclient-c bindings would work :) [21:21] admc has joined the channel [21:22] qschzt: ie this thing http://hg.rabbitmq.com/rabbitmq-c/summary [21:22] kriskowal has joined the channel [21:23] mape: bah god damit using node is a pain in the ass [21:23] mape: everything I try to interact with is to slow to keep up [21:25] Tim_Smart has joined the channel [21:25] tilgovi: anyone know anything about cyberlisp? [21:25] kersny has joined the channel [21:26] _announcer: Twitter: "Got Node.js running in an EC2 node (default Fedora instance). Yay!" -- Andris Reinman. http://twitter.com/andris9/status/17044760753 [21:27] kersny has left the channel [21:27] kersny has joined the channel [21:28] kersny has left the channel [21:30] mostlygeek has joined the channel [21:30] SteveDekorte has joined the channel [21:31] kriskowal has joined the channel [21:32] kriskowal has joined the channel [21:33] kersny has joined the channel [21:34] kriskowal has joined the channel [21:35] Wandrewvious has joined the channel [21:35] sechrist: mape: you mean the libs or everything other than node? [21:36] sechrist: my computers are too slow for node [21:36] mape: sechrist: APIs mostly [21:36] mape: Things just die and cry when I try to max them out [21:36] sechrist: yeah those suck, I wrote a library to queue http requests for apis [21:36] sechrist: so I don't open 500 of them at once [21:36] qschzt: that is a problem, how many background tasks did you compile with? [21:37] qschzt: actually what effect does that have? threadpool size? [21:37] mape: sechrist: well why don't you github that? :) [21:37] sechrist: mape: it's proprietary [21:37] sechrist: can't do that starfox [21:37] sechrist: also it requires a patch to node itself [21:37] sechrist: since ryah hasn't put in binding on streams [21:38] sechrist: it lets you route the requests to different ips on the machine [21:38] mape: I guess I could just do a setTimeout count % max parallel / increment thingys kinda deal [21:38] mape: Oh, proxying though ips? [21:38] sechrist: no [21:38] sechrist: not proxying [21:38] sechrist: picking the outbound interface [21:38] sechrist: my server has 32 ips [21:39] sechrist: I hit a problem with concurrent connections [21:39] sechrist: servers blocking them etc [21:39] mape: I hit an issue with the api saying oh noes not so much connections at the same time [21:39] sechrist: I only let one request for a specific IP on each IP I have on the server [21:39] mape: Well yeah, so that is the same as proxying? [21:39] sechrist: this has nothing to do with proxying [21:39] sechrist: it's interface IP addresses [21:39] sechrist: it's just binding [21:40] mape: And in the end it is a matter of balancing requests on external IPs? [21:40] sechrist: I mean you could proxy and a proxy could handle the request juggling [21:40] sechrist: but a proxy by definition isn't this [21:40] mape: semantics [21:40] mape: Sure, but in the end the issue is that APIs have rate limits [21:41] mape: And those are exceeded very easily by node [21:41] sechrist: that's not my problem.. mine is a crawler [21:41] sechrist: mape: get whitelisted [21:41] mape: sechrist: That is non trivial for some apis [21:41] sechrist: luckily the twitter api is rate limited to the user [21:41] sechrist: so if you're doing user actions [21:41] sechrist: you scale horizontally [21:41] sechrist: other apis not so much [21:42] sechrist: I got banned from tweetmeme and facebook until I called some friends [21:42] sechrist: lol [21:43] mape: sechrist: Well getting whitelisted on twitter is easy as pie [21:43] _announcer: Twitter: "@tobi are you actually using it? it looks very interesting... i wanted to take a stab at a node.js implementation at some point" -- technowürst. http://twitter.com/technoweenie/status/17045656090 [21:43] sechrist: most people don't even need twitter whitelisting [21:44] sechrist: the api lets you do A LOT with default access levels [21:44] mape: If you are doing serious API usage whitelist is a must [21:44] qschzt: I would love to stay in Node, but Rhino+Hazelcast is offering too much [21:44] sechrist: define serious -- tracking 400 userids and a shitload of keywords is pretty permissive [21:44] qschzt: the distributed collections locked on writes [21:44] sechrist: on the streaming api [21:44] qschzt: having the code scale out easily through that, I'll need that in Node [21:45] sechrist: qschzt: you're assuming locks are a problem [21:45] qschzt: they are hard :) [21:45] sechrist: who needs locks? [21:45] sechrist: there's no threads other than I/O in the threadpool [21:45] sechrist: in node.js at least [21:45] sudoer has joined the channel [21:45] qschzt: no, don't think in one Node process, think 100 [21:45] mape: sechrist: fetching profile info/lists for 4k+ users [21:46] sudoer has joined the channel [21:46] sechrist: then again node isn't something you can deploy on a lot of boxes out of the box, you would have to write your own solution for message passing [21:46] sechrist: which normally is the case anyway [21:46] sechrist: mape: that requires whitelisting? that uses the user's rate limit [21:46] sechrist: not the application [21:46] sechrist: to my knowledge [21:46] mape: sechrist: so the better idea is to register tons of accounts? [21:46] ollym has joined the channel [21:47] sechrist: mape: no what i'm saying is if a user is authenticated with your app [21:47] sechrist: it uses their rate limit [21:47] qschzt: yep. as soon as I would pass any state into Node for processing, it might as well be stale [21:47] sechrist: qschzt: what? [21:47] sechrist: the distributed java vms have to go over wire as well [21:47] qschzt: yes [21:48] mape: sechrist: Well yeah, that isn't the case for my situation. I have a situation where users sigup through "tweet this message" [21:48] sechrist: ah [21:48] mape: So that isn't a solution [21:48] sigma_ has joined the channel [21:48] sechrist: qschzt: so you're saying you're not skilled enough to write a message system that can parallel the distributed VM? [21:48] sechrist: that's not a node problem [21:48] sechrist: that's a developer problem [21:49] qschzt: sechrist, yes, and would like to hear how you would do it [21:49] mape: qschzt: You do know you can scale node through workers? [21:49] mape: If that is a solution [21:49] qschzt: I do [21:49] sechrist: using JNIs and java libs is kind of appealing though, I must admit [21:50] sechrist: there's no fast html parser for node yet [21:50] qschzt: so I'm going to use Hazelcast + Rhino [21:50] sechrist: I'm talking sub 100ms parsing, something that shouldn't be that difficult [21:50] sechrist: qschzt: well do what you wish, you're in the wrong channel then [21:50] sechrist: lol [21:50] sechrist: 100ms is totally nuts in a node environment without workers [21:51] mape: qschzt: So what was the issue? [21:51] qschzt: :) no.. I want to make such a system possible in V8, because it'd be much faster [21:51] sechrist: yeah you haven't even given us your case use [21:52] qschzt: atm it's not possible [21:52] _announcer: Twitter: "Apparently none of the people developing their own version of #Rack for #Nodejs seem to realize that Node doesn't need a Rack-type library." -- Michael Jackson. http://twitter.com/mjijackson/status/17046136345 [21:52] sechrist: qschzt: the way I would do message passing would be json over the wire. have a master that delegates stuff [21:52] rauchg: haha michael jackson said it. [21:52] rauchg: you better believe it [21:53] sechrist: it would be similar to the node-workers if not node-workers itself [21:53] qschzt: sechrist, done [21:53] stevendavie has joined the channel [21:53] mape: Oh shit :S Micheal Jackson is down on node :S [21:53] sechrist: fuuuuu [21:53] nofxx: qschzt: sorry, had to leave. Thanks for all the help ;) [21:53] kaptainkrispy: can anyone tell me how to inspect an object in node? [21:53] sechrist: sys.inspect() [21:53] kaptainkrispy: thx [21:53] sechrist: sys.puts(sys.inspect(obj)); [21:53] mjijackson: mape: *down* on node? [21:54] sechrist: oh snap [21:54] qschzt: bleh [21:54] mape: mikeal: Hey! Don't be down on node [21:54] mape: Oh that tab went wrong.. [21:54] nofxx: kaptainkrispy: hehe , I was here: "cap " phonetic problem heh. Thanks for the help. [21:54] sechrist: mjijackson: you have have a name collision theree [21:54] kaptainkrispy: np [21:54] qschzt: I know this MJ [21:55] mjijackson: sechrist: apparently. ;) [21:55] _announcer: Twitter: "quality on #node.js just went way down. There goes that" -- kschzt. http://twitter.com/kschzt/status/17046290300 [21:56] sechrist: is that guy retarded? [21:56] mape: So yeah, there is a ton of press in Swedish press that mj faked his death [21:56] sechrist: he didn't even tell us his problem [21:56] mape: Is this proof in the worst way? [21:56] sechrist: and he goes and bashes us [21:56] markwubben has joined the channel [21:56] mikeal: i'm down on node? [21:56] mikeal: that's news to me :) [21:56] sechrist: I guess he assumes that distributed states in java are instant and that any implementation in node would be slow [21:56] mjijackson: sechrist: i didn't bash node at all. i just said that node doesn't need a Rack library. Rack was built to solve a problem that Node doesn't have! [21:56] sechrist: he is wrong [21:56] mape: mikeal: The tabs got the best of me, sorry :/ [21:57] sechrist: mjijackson: not you [21:57] sechrist: SCHKTZT [21:57] sechrist: that guy [21:57] sechrist: kschzt wschzt qschzt [21:57] mjijackson: sechrist: oh. [21:57] mikeal: haha [21:58] sechrist: WAH WAH I HAVE TO WRITE MY OWN DISTRIBUTOR [21:58] ph^ has joined the channel [21:58] sechrist: NODE.JS NO QUALITY [21:58] sechrist: in fact you don't even have to write one -- there's one provided [21:58] sechrist: sort of [21:58] sechrist: instead I want to LOCK! [21:58] bradleymeck: i have an interest in the rack style architecture of middleware as a prototyping system and for easy reconfiguration [21:58] sechrist: Locks are awesome! [21:59] mape: So.. Again, anyone here have an idea for node knockout that they aren't gonna do for one reason or another? [21:59] derferman: mape: what is node knockout? [22:00] rauchg: nodeknockout.com [22:00] visnup: http://nodeknockout.com [22:00] creationix: mjijackson: sup [22:00] mjijackson: creationix: hey. [22:00] sechrist: NPM has a logo now? [22:00] sechrist: isaacs: awesome [22:00] isaacs: sechrist: yep [22:00] isaacs: pretty baller, right? [22:00] bradleymeck: i have an idea but dont know if i can do it in 48hrs? [22:00] sechrist: super baller [22:00] creationix: mjijackson: weren't talking about connect were you? [22:00] visnup: a 3d one, even [22:00] isaacs: that qr code is real, too [22:01] mostlygeek_ has joined the channel [22:01] sechrist: I don't know how I could read it with it angled like that [22:01] visnup: isaacs: I worry it's not readable at that resolution though [22:01] sechrist: unless I somehow reversed it [22:01] derferman: mage: That looks sick, I am for sure going to do a project [22:01] mjijackson: creationix: there are lots of libraries trying to be the new Rack for JS, not just connect. [22:01] mape: derferman: 48h of coding for node [22:01] isaacs: sechrist: it's tricky [22:01] mape: mage? :D [22:01] sechrist: I'd have to map the 3D into 2D space [22:01] creationix: maybe I shouldn't compare it to rack [22:01] mjijackson: creationix: i'm just saying that Rack was built to solve a problem that Node doesn't really have [22:01] sechrist: and correct it [22:01] derferman: lol, sorry [22:01] creationix: it's not the same thing [22:01] mape: I usually get the rape jokes but that is better [22:01] isaacs: visnup: try this: http://npmjs.org/npm-large.png [22:01] isaacs: it's tricky to read at that angle. [22:01] creationix: mjijackson: exactely. I'd say that jsgi is just like rack [22:02] isaacs: but ti can be done [22:02] sechrist: yeah you lose accuracy at the left side [22:02] eyzn: ACTION also likes the npm logo [22:02] isaacs: qr is actually designed to be read at all kinds fo mutations [22:02] mjijackson: creationix: yeah. i agree [22:02] eyzn: lol [22:02] visnup: mape: you should go by mapé [22:02] sechrist: it would probably be quicker for me to reproduce the code rather than write something to demangle it [22:02] mjijackson: honestly, i like the approach of connect. but you shouldn't compare it to rack [22:02] creationix: mjijackson: so connect is not a server interface, in fact it only runs on node. It's more a way for modules to fit together [22:02] mape: visnup: That isn't the way it is prononced though [22:02] creationix: something that node does need [22:02] visnup: visnüp [22:02] mjijackson: creationix: as you've already mentioned elsewhere, you took a different approach with connect. [22:03] creationix: mjijackson: yes, but perhaps I shouldn't say it's like rack for node [22:03] creationix: that's an oversimplification [22:03] mape: sechrist: I was able to read it at very low resolution (I made it), just a matter of angle and good software [22:03] visnup: mape: yeah, I just like diacritic marks [22:03] mjijackson: creationix: yeah. probably not. it's different. [22:03] mape: visnup: And you are suppose to be american? :D [22:03] creationix: mjijackson: what should I call it. I'm not even sure I should call it middleware [22:03] rauchg: you should say it racks [22:04] creationix: according to ryah, everything is middleware [22:04] creationix: (loose paraphrasing) [22:04] rauchg: [citation needed] [22:04] mjijackson: creationix: first of all, it needs to be a specification [22:04] sechrist: C code is middleware [22:04] rauchg: v8 is middleware [22:04] sechrist: totally middleware [22:05] eyzn: in the middle of what? [22:05] sechrist: the OS is middleware too [22:05] mjijackson: that's the most basic thing it is. a specification for how web apps can interoperate [22:05] rauchg: the hardware [22:05] rauchg: is really middleware [22:05] rauchg: in disguise [22:05] sechrist: my CPU is middleware [22:05] gerad: muddleware [22:05] creationix: exactely, every piece of software takes input, changes it, and outputs something [22:05] creationix: especially server-side stuff [22:05] sechrist: everything after the rj45 port is middleware [22:05] rauchg: mudware [22:05] creationix: where there is no user GUI involved [22:06] rauchg: everything between a human and quantum particles [22:06] rauchg: is middleware [22:06] bradleymeck: creationix, im taking your concepts in connect but abusing them in order to be able to dev interface systems now... [22:06] creationix: bradleymeck: sounds like fun [22:06] sechrist: rauchg: even the quantum particles are middleware [22:06] sechrist: get lower [22:06] bradleymeck: the ideas are amazing i think [22:06] sechrist: real programmers use butterflies [22:07] sechrist: but the butterflies are middleware [22:07] creationix: sechrist: I take it you're an emacs user [22:07] bradleymeck: been trying to concieve of something similar for a while, but you 2 made something that works [22:07] sechrist: creationix: no, i'm not a masochist [22:07] visnup: creationix: I like the term middleware in the connect docs [22:07] creationix: I'll admit, I can use vim and emacs, but I prefer gedit and textmate [22:07] visnup: it's an easy enough analogy to latch on to [22:08] sechrist: creationix: you use emacs? [22:08] sechrist: !k plz [22:08] rauchg: the problem with vim and emacs [22:08] rauchg: is that they're middleware. [22:08] creationix: not much emacs, if I had to choose between the two, I'd use vim [22:08] sechrist: I write code with cat >> but that's middleware [22:08] rauchg: too much middleware [22:08] sechrist: I kno rite [22:08] sechrist: gnu/linux is too bloated [22:09] creationix: originally I called them filters and providers [22:09] rauchg: i take my hard drive, open it and write on it directly [22:09] creationix: but that line soon blurred as tj made more and more modules [22:09] pkrumins: gnu\linux (as a windows person sees it) [22:09] rauchg: to avoid middleware [22:09] sechrist: pumpkins: \/\/\/ [22:09] pkrumins: sechrist: that's what she said. [22:10] sechrist: ACTION plays his vuvuzela [22:10] mjijackson: creationix: all you need is a spec. you don't really need any software at all with Node. [22:10] sechrist: middlecode [22:10] creationix: mjijackson: well, I want to provide some basic modules too [22:10] creationix: my goal is to keep people from reinventing the wheel over and ober [22:10] creationix: I want us to move on and do something bigger than writing 100 different url routers [22:11] rauchg: creationix: i want to reinvent the wheel. i want to re-write a DEFLATE implementation everytime i want gzip transfer encoding on my website [22:11] rauchg: i want middleware. [22:11] creationix: so Connect is three things [22:11] mjijackson: creationix: sure. some commonly needed reusable stuff is certainly needed. but a framework to make it all talk to each other isn't. [22:12] creationix: it's primarily a spec for modules to interact in node based http servers [22:12] creationix: it's also a collection of useful modules using that spec [22:12] creationix: and thirdly it's a handy executable to launch connect and other node based servers [22:12] sechrist: people still have dialup? [22:12] creationix: mjijackson: without the framework, how will they work together [22:12] sechrist: hughesnet commericals on satellite annoy me [22:13] sechrist: broadband comparisons with dialup are so 2002 [22:13] creationix: dsl is the new dialup [22:13] creationix: still on a phone line, just faster [22:13] sechrist: my dsl is 18 megabit [22:13] sechrist: so [22:13] sechrist: yeah [22:13] mjijackson: creationix: they all just follow the spec. if your spec says that an app is a function that takes an environment hash, then any other module you create can just expect that. [22:14] sechrist: also my friends in mountain view have a faster cable connection than fios offers [22:14] creationix: mjijackson: so you're saying I should design the spec so that the framework managing the gluing isn't needed? [22:14] zaach: then we'd be back at jsgi, basically [22:15] creationix: I think a little glue is good if it simplifies usage a lot [22:15] creationix: that being said, there is nothing stopping you from using connect middleware module in your own framework [22:15] mjijackson: creationix: not if you're trying to create something more. if you want to create your own ecosystem of connect-compatible stuff, then you're on the right track. but if you want to achieve very wide adoption it needs to be very, very simple. [22:16] creationix: Tim_Smart is doing that with biggie [22:16] Tim_Smart: Huh? what? [22:16] mjijackson: a function [22:16] creationix: mjijackson: my modules are just that, a function that returns a request handler [22:17] Tim_Smart: And my modules are identical [22:17] creationix: they look just like node's http handler except for the next argument [22:17] Tim_Smart: so they are interchangeable in theory [22:17] creationix: to allow for async chaining [22:17] creationix: (the docs are out of date, tj is updating them right now) [22:19] LionMadeOfLions has joined the channel [22:20] creationix: mjijackson: I hear what you're saying, I'll see what I can do. Keep it simple. [22:20] mjijackson: creationix: you're doing a great job. my original tweet was more aimed at the idea of recreating Rack in Node, not at Connect. ;) [22:20] aurynn has joined the channel [22:21] creationix: mjijackson, of course, I just wanted to pick your brain since you were thinking on the topic [22:22] sudoer has joined the channel [22:25] steadicat has joined the channel [22:26] sechrist_ has joined the channel [22:28] marketing_ has joined the channel [22:34] maushu has joined the channel [22:35] bmizerany has joined the channel [22:45] ollym has joined the channel [22:47] aurynn: creationix, I'm going to pester you some more. :) [22:47] creationix: aurynn: what's up? [22:47] paul__ has joined the channel [22:48] aurynn: creationix, actually, just wanted to get a license confirmation on postgres.js. I want to re-use your connection startup code [22:49] kriszyp_ has joined the channel [22:49] creationix: aurynn: does it not say? [22:49] creationix: it should be MIT, I'll add a note if it's missing [22:50] aurynn: I didn't see a note :( [22:50] aurynn: But, I may be blind [22:50] LionMadeOfLions has joined the channel [22:52] creationix: aurynn: ok, I added it to the source files [22:52] aurynn: Great, thank you :) [22:52] creationix: the md5.js file isn't mine, bit it's bsd [22:52] konobi: ryah: any idea how to test the current TERM to see if it supports color? [22:54] Tim_Smart: konobi: process.env['COLORTERM'] or something? [22:54] Tim_Smart: Take a look through process.env [22:54] konobi: that's non-standard [22:54] konobi: i reckon it's a termcap thing [22:54] Tim_Smart: LS_COLORS then? [22:55] hober: termcap &/| terminfo [22:56] zomgbie has joined the channel [22:58] konobi: hhhmmm... neither of those on solaris [22:58] kodisha has joined the channel [23:00] stepheneb has joined the channel [23:01] Tim_Smart: or Ubuntu [23:05] mjijackson_ has joined the channel [23:09] sechrist_: hmm solaris colors [23:10] hober: Tim_Smart: ubuntu ships with terminfo [23:11] devinus has left the channel [23:13] mattly has joined the channel [23:16] tmpvar has joined the channel [23:16] Tim_Smart: hober: "terminfo: Command not found" [23:17] tmpvar: hi [23:18] shimondookdin: tempvar what are you woking on? [23:20] hober: it's not a command [23:21] shimondookdin: i mean, hi, i saw many projects of you on git hub, are you the developer of connect framework? [23:21] hober: Tim_Smart: try 'infocmp' [23:21] sudoer has joined the channel [23:22] Tim_Smart: hober: Yeah that works [23:22] mjijackson: shimondookdin: connect is the work of creationix [23:22] creationix: :) [23:23] mklappstuhl has joined the channel [23:23] shimondookdin: creationix have you seen phpmaker? [23:24] JimBastard_ has joined the channel [23:24] JimBastard_: !tweet reporting in for the javascript party [23:24] JimBastard_: :-D [23:25] mjijackson: JimBastard_: oooh. you didn't hear the news? [23:25] JimBastard_: did i get fired? [23:25] JimBastard_: fuck [23:25] mjijackson: we all decided that js on the server was a stupid idea, so ryah decided to shut down the node.js project [23:26] JimBastard_: fuck [23:26] mjijackson: don't know what we were thinking... [23:26] mjijackson: lol :) [23:26] JimBastard_ has joined the channel [23:26] JimBastard_: hee hee [23:26] shimondookdin: dont worry there are plenty of forkes [23:26] mjijackson: :) [23:26] jashkenas has joined the channel [23:26] Tim_Smart: I made a spoon of node.js [23:27] JimBastard_: Tim_Smart: there is no spoon [23:27] Tim_Smart: JimBastard_: Look past the spoon, Neo, there is no spoon [23:28] jashkenas: straw poll: if you were going to do a Node.js project tomorrow for analytics ... lots of little writes and increments, what database would you use for it? [23:28] _announcer: Twitter: "http://tinyurl.com/yl77tdk [23:28] Tim_Smart: jashkenas: Mongo for me. [23:28] mjijackson: jashkenas: mongodb has ridiculously fast writes. [23:28] jashkenas: are the bindings better than the current redis bindings? [23:28] JimBastard_: jashkenas: memory [23:29] JimBastard_: and dump to disk on occasion [23:29] JimBastard_: if i lose 10 requests its okay [23:29] JimBastard_: :-D [23:29] JimBastard_: redis i would think though ? [23:29] jashkenas: thanks folks. [23:29] Tim_Smart: jashkenas: Hummingbird used mongo [23:30] Tim_Smart: They did real time analytics. [23:30] shimondookdin: by the way Hummingbird is very good example [23:30] JimBastard_: hee hee yeah we saw mnutt give a live demo at nyc.js [23:30] jashkenas: yeah, I was planning to use it as an example. This is more about tracking the remote URLs than showing stats. mnutt did an amazing job. [23:31] sechrist_: Tim_Smart: I prefer sporking software on github [23:31] sechrist_: you get the benefits of both. [23:31] JimBastard_: i asked him who did the UI for hummingbird. he was like, ohh i did. i like daaaaaaaaaaaaaamn [23:31] shimondookdin: i maen i learnt alot from it how to create a good server and use mongodb [23:31] jashkenas: JimBastard: you might be totally right ... could be best just to keep it in memory, and then write to the main DB every once in a while with the tally. [23:31] JimBastard_: hey LOLWUT_ hows the noding going? [23:31] jashkenas: Big slow setInterval. [23:32] JimBastard_: jashkenas: ive been doing this for a few apps where data is not critical [23:32] JimBastard_: its very easy [23:32] sechrist_: setTimeout is so misleading [23:32] JimBastard_: could use JSLINQ or underscore or just map / filter if you needed [23:34] shimondookdin: i have made some styling to readmes of http://github.com/shimondoodkin/nodejs-autorestart [23:35] kersny: shimondookdin: looks good [23:35] JimBastard_: !tweet the nodejsbot can answer any of your questions about node.js. just use the #nodejs hashtag [23:38] JimBastard_: so yeah im pretty sure im going to the javascript olympics [23:39] JimBastard_: i think i can win. all i do at work is blind coding that has to jslint [23:39] JimBastard_: our backend is never working locally [23:39] _announcer: Twitter: "# Pyspa node.js play with today. Then the Express" [ja] -- Nakamura Masato. http://twitter.com/Masahito/status/17051721293 [23:46] sechrist_ has joined the channel [23:47] SteveDekorte has joined the channel [23:50] aurynn: since my google-fu is poor today, javascript supports keyword method calls, right? [23:50] aurynn: (my memory also sucks) [23:50] creationix: aurynn: keyword method calls? [23:50] creationix: like obj.class()? [23:50] aurynn: some_method(arg1=something, arg2=something_else); [23:51] creationix: aurynn: named arguments, no it doesn't [23:51] aurynn: Ah. Okay, then. [23:51] creationix: but it does support passing an object [23:51] aurynn: That simplifies things. :) [23:51] creationix: some_method({arg1: something, arg2: something_else}) [23:51] aurynn: positional only is what I needed to know :) [23:51] jsilver has joined the channel [23:52] creationix: anyone here know about how to implement a write-only js store [23:53] creationix: *JSON store [23:53] creationix: sorry, not write-only, append-only [23:53] creationix: I want it to re readable of course [23:53] aurynn: That doesn't strike me as overly complex [23:54] JimBastard_: yeah creationix [23:54] JimBastard_: i do [23:55] creationix: I'm making a quick little project like node-dirty and I want an append-only backend for the data [23:56] _announcer: Twitter: "Can someone explain what node.js is and why I care?" -- Scott. http://twitter.com/ScottSwezey/status/17052591597 [23:56] BlessYAHU has joined the channel [23:56] creationix: JimBastard_: tell him! [23:57] JimBastard_: who [23:57] JimBastard_: hey look i summoned BlessYAHU [23:57] BlessYAHU: ?? [23:57] JimBastard_: :-D [23:57] JimBastard_: from the twitter! [23:58] JimBastard_: who is asking about append only json databases [23:58] JimBastard_: http://github.com/felixge/node-dirty [23:58] BlessYAHU: That's me. [23:58] JimBastard_: someone finish that library [23:58] BlessYAHU: Told you I would jump on. [23:58] _announcer: Twitter: "Wed freenode two disscuss something node.js" [no] -- A'braham Barakhyahu. http://twitter.com/BlessYahu/status/17052720317 [23:58] JimBastard_: yaya welcome [23:59] creationix: !tweet @ScottSwezey come to #node.js on freenode irc and we'll tell you. [23:59] JimBastard_: autotranslate [23:59] creationix: see if that works [23:59] JimBastard_: i gotta get a real irc client this shit isnt cutting it