[00:00] JimBastard: 1 [00:00] JimBastard: !! [00:00] jamescarr_: 5 [00:00] mscdex: jamescarr_: yes, anything closer to the east coast is a good thing :) [00:00] matschaffer: happy new year!!! [00:00] JimBastard: YAAAAAA [00:00] JimBastard: HAPPY NODE YEAR [00:00] matschaffer: so exciting [00:00] JimBastard: so now that voting is official over with, i'm literally never going to forgive tjholowaychuk for only giving us 4 stars in utility [00:00] JimBastard: whole team feels the same way [00:00] JimBastard: SO TAKE THAT! :-D [00:01] tjholowaychuk: haha [00:01] tjholowaychuk: 4/5 is not bad at all [00:01] Zuardi: the end! [00:01] jamescarr_: oh well [00:01] JimBastard: your vote made us lose [00:01] jamescarr_: 26th place isnt bad I guess [00:01] JimBastard: jamescarr_: i bet there will be some shifting around [00:01] tjholowaychuk: JimBastard: dont ask peopel to vote then :p [00:01] Zuardi: we got top4 on innovation! :) [00:01] JimBastard: tjholowaychuk: never forgiven [00:02] JimBastard: :-) [00:03] JimBastard: http://www.youtube.com/watch?v=H-Q7b-vHY3Q [00:04] JimBastard: For. Ev. Ver. [00:04] tjholowaychuk: ahahahah [00:06] digitalspaghetti: ugh couldn't get to bed but finally worked out out :D [00:06] maushu: ACTION bribed people to place JimBastard behind. [00:06] digitalspaghetti: may need to blog this [00:06] JimBastard: maushu: huhu [00:06] maushu: srlsy [00:06] JimBastard: i really dont like not winning [00:06] JimBastard: it bothers me [00:06] maushu: Exactly. [00:07] maushu: That reminds me that thedailywtf post. [00:07] JimBastard: thats in life, not in nodeko [00:07] JimBastard: lyle? [00:07] JimBastard: the lazer tag guy? [00:07] maushu: Yup. [00:07] JimBastard: ACTION has read everysingle dailywtf [00:07] maushu: Win through any means necessary. [00:07] JimBastard: naaaah [00:07] JimBastard: i mean [00:07] JimBastard: like maybe i could build a node.js proxy server or something to funnel votes [00:07] JimBastard: but i dont know how to do that [00:07] JimBastard: i should study harder [00:08] maushu: ... [00:08] JimBastard: ahahaha [00:08] JimBastard: its funny because its ironic! [00:08] maushu: ACTION facepalms. [00:09] softdrink has joined the channel [00:13] hassox has joined the channel [00:13] JimBastard: FOR EV VER [00:13] aconran_ has joined the channel [00:16] jamescarr_: yeah [00:17] jamescarr_: I just dont understand [00:17] Zuardi has joined the channel [00:17] hassox: visnup: dude, does this mean we can now deploy fixes? [00:17] jamescarr_: I thought I was crazy, but the ruby library lets you publish and subscribe on a queue [00:17] jamescarr_: for some reason ry's left the ability to publish on a queue out [00:17] jamescarr_: it seems I can only listen to a queue and publish on an exchange :S [00:20] jamescarr_: oh well.. guess I'll stick with java and ruby [00:20] jamescarr_: was really hoping to bring node.js into the bunch :( [00:20] Tim_Smart has joined the channel [00:21] JimBastard: so now that node knockout is over, wanted everyone to know we put up a $500 cash prize for js1k, so start your coding! http://js1k.com/home [00:22] creationix has joined the channel [00:22] vnguyen: http://js1k.com/home [00:22] vnguyen: wrong window [00:22] JimBastard: vnguyen: :p [00:22] JimBastard: i wanted to do 1k for 1k, but didnt have the budget [00:23] vnguyen: JimBastard: hopefully the results of nko = more clients for u [00:23] Tim_Smart: Haha mape got three categories. [00:23] JimBastard: vnguyen: its all good, the tools we built will be very useful for us moving forward [00:23] JimBastard: ahaha mape won three cats? [00:23] Tim_Smart: Best solo, design and completeness. [00:23] tjholowaychuk: nice! go mape [00:24] JimBastard: ahahaha, yeah [00:24] JimBastard: mape is defintely winning something [00:24] Tim_Smart: Yo mape, can I have one of your 3 palm pre's? [00:24] Tim_Smart: :p [00:25] tpryme has left the channel [00:25] gilaniali has joined the channel [00:26] Tim_Smart: JimBastard: Did you see http://10k.aneventapart.com/ ? [00:27] JimBastard: Tim_Smart: yeah, thats why i sponsored js1k [00:27] JimBastard: its way more interesting then 10k [00:27] jashkenas has joined the channel [00:27] Tim_Smart: JimBastard: 1k will be almost boring tbh [00:27] JimBastard: Tim_Smart: take a look at the 1k entries versus the 10k [00:27] JimBastard: there are 10x more, and they are WAY cooler [00:28] hassox: visnup: are you going to send out emails to those unconfirmed to remind them to confirm? [00:28] dgathright: my favorite are the ones hiding JS & CSS inside PNG images [00:28] visnup: hassox: yes [00:28] hassox: visnup: cool... we have lots of unconfirmed votes :( [00:29] JimBastard: hey visnup , would love to get any press / mentions possible. :-) titles worth way more then prizes :p [00:29] JimBastard: ACTION lets the man get back to it [00:29] hassox: JimBastard: agreed [00:29] hassox: congrats btw dude :D [00:29] vnguyen: JimBastard: like honorable mentions? [00:29] hassox: ACTION really enjoyed nodeko! [00:30] JimBastard: vnguyen: yeah, anything to get people thinking about unit testing in node [00:30] JimBastard: and of course, nodejitsu [00:30] JimBastard: :-) [00:30] vnguyen: JimBastard: yeah, those worked really well for SWBoston way back when [00:31] benv: visnup: what's the process for filing grievances [00:32] tjholowaychuk: clear [00:32] tjholowaychuk: bahaha [00:32] tjholowaychuk: my bad [00:32] visnup: btw, confirmed/unconfirmed barely makes a difference in the rankings. the unconfirmeds are pretty much the same as the confirmeds. [00:33] vnguyen: JimBastard: ur still working on prenup right? [00:33] JimBastard: vnguyen: nonstop, was up till 7am last night or so [00:33] JimBastard: http://github.com/nodejitsu/prenup/commits/master [00:34] JimBastard: hoping to get it 0.1.0 with real-time in < 6 days now [00:34] JimBastard: also, full keyboard controls [00:34] JimBastard: thats the big thing [00:34] benv: *only now just connected prenup with vows* [00:34] JimBastard: people dont want to use a mouse [00:34] JimBastard: the UI has to be JUST as fast as notepad / textmate / vim [00:34] tjholowaychuk: whoop, using a mouse sucks [00:34] JimBastard: thats actually not trivial to get right [00:34] tjholowaychuk: PT wink wink [00:35] visnup: benv: email all@nodeknockout.com [00:35] JimBastard: tjholowaychuk: i added UP and DOWN keybindings between Steps already, but more importantly i have a system in place for managing complex keybindings between application states [00:35] tjholowaychuk: you guys should give the UI more of a paper look maybe, without all of the borders etc added by the text inputs [00:36] benv: visnup: that just goes to organizers? [00:36] JimBastard: tjholowaychuk: we are working on it, prenup was really just the icing on the cake [00:36] JimBastard: main entry was suppose to be kyuri [00:36] tjholowaychuk: ah [00:36] JimBastard: kinda hard to deploy and show a webpage for a parser lexer, could have done something simple and stupid [00:36] JimBastard: prob would have gotten us more votes [00:36] visnup: benv: just dm me [00:36] JimBastard: was more focused on getting good software built then making good demos [00:36] JimBastard: kinda fail on our part [00:37] saikat has joined the channel [00:37] jesusabdullah: It's all good [00:37] jesusabdullah: It's really hard to show off, well, *anything* back-end-ish [00:37] JimBastard: i hope the first release is compelling [00:37] MikhX_ has joined the channel [00:38] JimBastard: thanks for the support jesusabdullah [00:38] JimBastard: gotta stay focused after losing, and not just give up [00:38] JimBastard: ! [00:39] nerdEd has joined the channel [00:39] visnup: hassox: what team are you on? [00:39] hassox: gabbertalk [00:39] hassox: explorer-sox [00:39] hassox: sorry [00:39] hassox: ;)] [00:40] mikew3c has joined the channel [00:40] ref has joined the channel [00:41] indexzero has joined the channel [00:41] abiraja has joined the channel [00:42] abiraja_ has joined the channel [00:44] ref: JimBastard: are you a sex offender or something? http://forums.xkcd.com/viewtopic.php?f=4&t=19909 [00:44] JimBastard: ref: lol no [00:44] JimBastard: www.jimbastard.com [00:44] JimBastard: and [00:45] JimBastard: http://nymag.com/news/features/27341/index5.html [00:45] JimBastard: the later is an okay explanation [00:45] dgathright: Noooo... so close [00:45] dgathright: Error: npm doesn't work with node v0.1.102 [00:45] dgathright: Required: node@>=0.1.103 [00:45] JimBastard: i got in a bit of trouble in 2001 for releasing a sex tape on the internet, went viral [00:45] JimBastard: NOT A SEX OFFENDER [00:45] JimBastard: ref: [00:45] dgathright: So, how can I install an older version of NPM? [00:46] nerdEd has joined the channel [00:47] JimBastard: you googling me ref? :-D [00:47] indexzero: dgathright: You should checkout npm at an older tag, and then run make install [00:48] ref: JimBastard: ah, was wondering about the post. though those links don't really make it out to be much better .... better a huge asshole than a sex offender, I guess. [00:48] indexzero: Follow the instructions under 'More Fancy Installing' with the older tag: http://github.com/isaacs/npm [00:48] JimBastard: lol who the fuck was that [00:48] JimBastard: coming from a nyc ip address [00:49] indexzero: dgathright: I think this is the tag you want [00:49] indexzero: http://github.com/isaacs/npm/tree/v0.1.23 [00:50] indexzero: although I would highly suggest just upgrading to 0.2.0 and npm v0.1.27-12 (i.e. head) [00:54] dgathright: indexzero: thanks, I'll experiment with the old versions. found the zips. (upgrading isn't an option, sadly) [00:54] jamescarr_ has joined the channel [00:57] MikhX_ has joined the channel [00:58] tjholowaychuk: indexzero: why are you guys so bitter lol get over yourselves holy crap.. [00:58] JimBastard: ? [00:59] JimBastard: no one is bitter [00:59] indexzero: tjholowaychuk: I'm not bitter. I'm just pointing out what I felt was the correct course of action [00:59] indexzero: you're welcome not to agree with me [00:59] JimBastard: its just a contest, and its over [00:59] tjholowaychuk: you guys are such little children lol it is so ridiculous [00:59] JimBastard: :-D [01:00] JimBastard: the internet is serious bidness [01:00] indexzero: tjholowaychuk: It's not childish to point out what you believe is a conflict of interest, in the business world that's called due dilligence (just ask the SEC) [01:00] tjholowaychuk: I gave you guys a good score for what you did lol so stop complaining [01:00] ehaas has joined the channel [01:01] tjholowaychuk: 4/5 is not bad [01:01] jamescarr_: STILL? I thought JimBastard was joking around? :) [01:01] JimBastard: jamescarr_: i was? [01:01] indexzero: tjholowaychuk: I wouldn't care if you gave us 5/5 my opinion stands that you should have abstained from voting due to a conflict of interest [01:01] JimBastard: i mean, you werent suppose to vote for anyone you know either, but i know almost all the judges :-\ [01:02] JimBastard: lets just let it go [01:02] JimBastard: FO. EV. VER. [01:02] indexzero: tjholowaychuk: I never asked you to do anything, so don't come at me with that attitude. You brought it up in here, so who's the real child? [01:02] hassox: :'( [01:02] tjholowaychuk: haha [01:02] hassox: dude [01:02] hassox: dudes [01:02] JimBastard: dramascript [01:03] ehaas: hahaha [01:03] steadicat has joined the channel [01:08] jamescarr_: tjholowaychuk, heh, just saw that comment one of them made that you don't like BDD. What? You made my favorite client side BDD framework? [01:08] tjholowaychuk: jamescarr_: yeah i know hah... i have nothing against BDD at all, so it was a funny statement [01:09] tjholowaychuk: seeing as Jasmine was based off my code [01:09] jamescarr_: still a big fan of jspec on the client side... I tried jasmine and missed the grammar [01:09] evanpro has joined the channel [01:09] tjholowaychuk: as well as yeti [01:09] JimBastard: Jamine is soo to be abandoned by Pivotal, if they haven't already [01:09] JimBastard: Jasmine [01:09] jamescarr_: tjholowaychuk, I still don't get why jasmine is so popular? [01:09] JimBastard: jamescarr_: pivotal labs is behind it [01:10] jamescarr_: every rubyist I run into swears its the best javascript BDD framework since sliced bread [01:10] jamescarr_: or rspec [01:10] ehaas: JimBastard in favor of what [01:10] JimBastard: ehaas: no clue, pivotal kinda has a history of giving up on OSS stuff, we'll see [01:10] tjholowaychuk: Pivotal should abandon tracker [01:10] tjholowaychuk: its brutal [01:10] JimBastard: im basing this on pure speculation [01:10] ehaas: ah i see [01:10] jamescarr_: tjholowaychuk, lol.. it's better than XPlanner [01:11] JimBastard: tracker is OKAY [01:11] tjholowaychuk: jamescarr_: haha yeah probably [01:11] jamescarr_: A client site of mine that is a certain fortune 500 company uses Xplanner for tracking time :-D [01:11] jamescarr_: I dont think that app has even been updated since 2001 [01:12] jamescarr_: Fortune xxx companies are always funny like that. One I contracted at had us fill out spreadsheets with time spent on tasks and email it to our supervisor at the end of the week [01:13] visnup: mape: can you come pick up prizes? [01:13] JimBastard: LOL [01:13] JimBastard: i dont think he can [01:13] JimBastard: mape is in sweden , to my knowledge [01:14] visnup: I know [01:14] visnup: we don't want to have to ship him anything [01:15] JimBastard: lagom [01:15] JimBastard: fuck i was suppose to get food, bbl [01:16] jakehow has joined the channel [01:18] jamescarr_: oh [01:21] dnolen has joined the channel [01:23] jamescarr_: I will never apt-get install servers again [01:24] JimBastard: jamescarr_: what does that do [01:25] dohtem has joined the channel [01:25] jamescarr_: more often than not., shit old versions exist in the default ubuntu repos [01:26] jamescarr_: was running an ages old rabbitmq server [01:26] losvedir has joined the channel [01:27] losvedir_ has joined the channel [01:29] prettyrobots has joined the channel [01:29] JimBastard: jamescarr_: ohh i thought you meant, "apt-get install servers" [01:30] gerred has joined the channel [01:30] lachlanhardy has joined the channel [01:30] prettyrobots: How do you send email from Node.js? [01:30] prettyrobots: Or, rather, what do you use, how do you make it easy, etc? [01:31] pquerna: there are a couple SMTP implemtnations [01:31] prettyrobots: I am doing a signup form with email confirmation. Plain text is fine, but I'm curious about mutltipart as long as I have your attention. [01:31] pquerna: http://github.com/ry/node/wiki/modules [01:31] jashkenas has left the channel [01:32] pquerna: prettyrobots: http://nodul.es/modules/multipart [01:33] prettyrobots: Thank you, pquerna. I'll assemble from here. [01:33] tjholowaychuk: JimBastard: so you guys basically took an idea from ruby, copied that. Then took an idea from railsrumble 2009, copied that, then slapped a crappier UI on it? [01:33] tjholowaychuk: http://lowdownapp.com/ [01:33] tjholowaychuk: awesome [01:33] JimBastard: tjholowaychuk: did you just take the time to read our repos and find that link? [01:34] JimBastard: im glad you actually read what our project did, after you voted on it [01:34] JimBastard: :-) [01:34] tjholowaychuk: i knew what it did [01:34] JimBastard: <3 sean cribbs btw [01:35] JimBastard: and to answer your question tjholowaychuk : yes, we will cannibalize anything from the ruby community which will be good for node [01:35] ben_alman has joined the channel [01:35] JimBastard: except lowdownapp had the benefit of cucumber already existing.....and working for ruby..... [01:35] JimBastard: so we had to build cuke for our entry as well [01:35] JimBastard: in javascript [01:36] visnup: JimBastard: you know sean cribbs? [01:36] visnup: the riak guy? [01:36] JimBastard: not personally, but we were using Radiant heavily for a while and some of our team members have contributed to the Radiant project. [01:37] visnup: ah [01:37] visnup: I went to high school with him [01:37] JimBastard: also, chef / swedish chef [01:37] JimBastard: woah! small world [01:37] JimBastard: hes a super smart guy [01:37] visnup: yeah [01:37] maushu has joined the channel [01:38] derferman has joined the channel [01:39] vnguyen has joined the channel [01:39] dipser: what does EISDIR mean? [01:40] tjholowaychuk: its a directory [01:40] tjholowaychuk: dipser: ^ [01:40] dipser: ^^ [01:40] matschaffer has joined the channel [01:40] jamescarr_: ^^^ [01:40] dipser: ^^^^ [01:41] jamescarr_: ^ ^ ^ [01:41] dipser: you lost [01:41] JimBastard: NO U [01:41] jamescarr_: see, we can play Swarmation here too [01:41] steadicat: speaking of swarmation, I just deployed new code, I need more people to come test it :) [01:42] pengwynn has joined the channel [01:42] JimBastard: nice steadicat [01:42] JimBastard: that was your entry? [01:42] steadicat: yep [01:42] JimBastard: solid go [01:42] JimBastard: great way to pick a small feature set and iterate on it [01:42] steadicat: ty [01:42] steadicat: \o/ [01:42] steadicat: yep [01:42] steadicat: iteration was key [01:42] steadicat: had no idea where we were going with it in the beginning [01:42] JimBastard: ahahaha amazing [01:43] steadicat: we would get a burst of traffic from the node KO web site each time we deployed [01:43] steadicat: and we used that to test game mechanics lol [01:43] indexzero: steadicat: Lots of fun to play. Do you pick the pattern based on the number of users now? [01:43] indexzero: I was playing the other night and it was impossible for the number of users to make [01:43] steadicat: indexzero: we always did that, but now we try to be smart about how many players are actually active [01:43] indexzero: steadicat: Nice, yeah, there were some dead pixels in there [01:43] techwraith has joined the channel [01:43] steadicat: lol, nice [01:43] steadicat: dead pixels ;) [01:44] steadicat: I wanna see someone make lobster [01:44] steadicat: it should be fixed now [01:44] mscdex: i wanna see someone make a double rainbow [01:44] techwraith: Can you install EJS through Kiwi? (I'm still using the old express on a big project...) [01:44] steadicat: hahaha [01:44] steadicat: nice idea for a formation [01:44] steadicat: I will forward that to our formation designer lol [01:44] mscdex: \o/ [01:44] indexzero: steadicat: Could be fun to do team based stuff too [01:44] indexzero: like blue pixels v. green pixels [01:45] tjholowaychuk: techwraith: I got rid of kiwi a few days ago [01:45] mscdex: team deathmatch [01:45] steadicat: yep, split screen? or shared screen? [01:45] tjholowaychuk: techwraith: had a notice up there saying it was going byebye in sept [01:45] techwraith: tjholowaychuk: Ouch, ok [01:45] indexzero: shared screen definitely [01:45] tjholowaychuk: techwraith: sorry man. should not be much of a difference at all though to switch to npm [01:45] steadicat: indexzero: wouldn't that make it to easy to mess up other people's formation? [01:45] techwraith: tjholowaychuk: Nope, won't be much of an issue [01:45] tjholowaychuk: techwraith: I think the redis-client is still missing from npm though [01:46] indexzero: steadicat: Yeah, I guess you're right, but different teams could simply move through each other [01:46] techwraith: tjholowaychuk: That's fine, we're using mongo [01:46] steadicat: indexzero: then that's the same as having a split screen I guess [01:46] reid\work has joined the channel [01:46] tjholowaychuk: techwraith: cool :) let me know if you run into troubles [01:46] techwraith: tjholowaychuk: thanks :) [01:47] reid: Hey folks, have any of you gotten EPIPE while using npm lately? [01:48] moos3 has joined the channel [01:48] matschaffer has joined the channel [01:48] jamescarr_: yeah, I think that node-amqp doesnt work at all. I really dont want to believe that [01:49] jamescarr_: I guess if it's true then I can try to make it work myself [01:51] visnup: aw I came back and was ready to play swarmation but now no one is around [01:51] visnup: ...or it's broken [01:51] steadicat: firefox? [01:51] moos3: can anyone tell me why I can't connect via the browser to this to see output http://gist.github.com/563279 [01:51] visnup: webkit [01:51] konobi: jamescarr_: node-amqp works [01:52] jamescarr_: konobi, hmmm I wonder what I'm doing wrong them [01:52] jamescarr_: *then [01:52] JimBastard: moos3: var server = http.createServer(); ? [01:52] JimBastard: i didnt think you could do that [01:52] jamescarr_: konobi, can you help me for a minute? let me gist [01:52] bpot has joined the channel [01:52] JimBastard: i thought create server required an argument [01:53] moos3: i didn't think so [01:53] jamescarr_: konobi, http://gist.github.com/563282 [01:53] JimBastard: moos3: even the most basic example on http://nodejs.org/ has it taking a callback, being the request handler [01:53] jamescarr_: konobi, the thing is, I created a consumer in java to listen and it picks messages up [01:54] JimBastard: moos3: maybe you need to read the docs / look at some examples a bit more? [01:54] JimBastard: unless i missed something, which i tend to do [01:55] visnup: steadicat: or no one was around [01:55] steadicat: firefox is broken [01:56] jamescarr_: konobi, http://gist.github.com/563282 [01:56] jamescarr_: I added Consumer.java [01:56] jamescarr_: he picks it up, in a shitty way [01:56] JimBastard: okay [01:56] moos3: JimBastard, i just made a change, that should be better if you refresh the gist [01:57] JimBastard: im about to rage out until i pass out on prenup [01:57] JimBastard: i think i can do 20 hours [01:57] JimBastard: get code or die trying [01:58] konobi: jamescarr_: no idea... however we do use it in production, so I know it works [01:58] jamescarr_: konobi, what [01:58] jamescarr_: what's the secret to it? [01:58] minaguib has joined the channel [01:58] jamescarr_: do you have an example you could share perhaps? [01:58] jamescarr_: I even tried messaging between two node scripts, utter failure [01:58] saikat has joined the channel [01:59] jamescarr_: I'm almost in tears here :) [01:59] JimBastard: jamescarr_: lol i was like, ohh i can help. theni clicked the gist and saw JAVA [01:59] jamescarr_: konobi, are you using ry's node-amqp? [02:00] jamescarr_: JimBastard, :) [02:01] jamescarr_: oh oh oh [02:01] jamescarr_: I think I got it [02:01] jamescarr_: // Use the default 'amq.topic' exchange [02:01] lstoll: visnup: do you think much is going to change with the final vote calculations? [02:01] konobi: jamescarr_: yes [02:01] visnup: lstoll: no [02:02] konobi: jamescarr_: at ry's employer [02:02] jamescarr_: I need to change that [02:02] visnup: lstoll: right now we're letting people confirm their votes [02:02] jamescarr_: konobi, how can I specify the exchange? that's probably where I'm confused [02:02] visnup: lstoll: but if all of them were to confirm, it doesn't change the winners really [02:02] konobi: *shrug* no idea... not super familiar with the library... i ws just stating that it does infact work [02:02] lstoll: visnup: awesome. In a semi-related question, do you know if the pre's are GSM or CDMA? [02:03] visnup: hahahaha [02:03] visnup: lstoll: what team are you on? [02:03] visnup: you'll get the option [02:03] amrnt has joined the channel [02:03] lstoll: visnup: explorer-sox [02:03] jamescarr_: konobi, thanks, at least that does tell me my initial assumptions are wrong... I think I just need to figure out how th change the exchange used for the queue [02:03] lstoll: visnup: sweet, we all live outside the US [02:03] visnup: lstoll: crack [02:04] visnup: ACTION doesn't like shipping internationally [02:04] jamescarr_: I think I might fork and do some work on top of it... one of my goals this month is to improve my skills with messaging [02:04] jamescarr_: specifically AMQP and STOMP [02:04] jamescarr_: I've been in JMS land for awhile, not terribly fond of it ;) [02:06] c4milo has joined the channel [02:08] jamescarr_: I wish ryah was active atm [02:08] jamescarr_: he'd probably know the answer in 5 seconds [02:08] matschaffer has joined the channel [02:09] dipser has joined the channel [02:10] JimBastard: hey voodootikigod_ any ideas to get some more eyesballs on http://js1k.com ? [02:10] lstoll: visnup: it's not that much harder.. a little bit more paper. Could use it as an excuse for a holiday? [02:11] meso_ has joined the channel [02:11] andrehjr has joined the channel [02:12] jamescarr_: YES [02:14] nerdEd has joined the channel [02:17] zemanel: did i loose yet? [02:17] JimBastard: zemanel: it looks like we only took #2 :-( [02:18] JimBastard: (for utility) [02:19] zemanel: JimBastard, took #2? [02:19] jamescarr_: konobi, yeah, looks like it only listens on the amqp topic exchange [02:19] jamescarr_: odd [02:20] JimBastard: zemanel: 2nd place in utility [02:20] zemanel: ah im seying it [02:21] zemanel: grats anyway [02:21] JimBastard: thanks man [02:21] zemanel: im not even on that board :p [02:21] JimBastard: how did you do? [02:21] JimBastard: :\ [02:21] JimBastard: well, i hope you had fun! [02:21] JimBastard: and will still use node! [02:21] zemanel: i was 10th overall for 30m [02:21] zemanel: then some jallywack stole me place [02:21] zemanel: now i dunno [02:21] JimBastard: have you done any node stuff before the contest ? [02:22] zemanel: not really [02:22] jamescarr_: ah [02:22] jamescarr_: hahhaha [02:22] zemanel: lol [02:22] JimBastard: i mean, thats huge zemanel [02:22] jamescarr_: had to explore the source [02:22] JimBastard: to get that far [02:22] jamescarr_: ACTION laughs his way to the bank [02:22] zemanel: i even decided which project i would do, like 30m before the contest [02:22] JimBastard: some of us have been using node for like a year now [02:23] zemanel: well most of my code was frontend :D [02:23] meso__ has joined the channel [02:23] JimBastard: i would have failed really hard if i didnt have months of node practice [02:23] zemanel: wasnt this a dojo competition? ;) [02:24] zemanel: im 3rd for popularity due to my amazing spam skills [02:24] zemanel: if #1 and #2 win on another categories i win :P [02:25] JimBastard: ahaha zemanel [02:25] zemanel: a laptop bag [02:25] zemanel: sigh [02:25] zemanel: anyway [02:25] JimBastard: i just put up $500 cash for js1k [02:25] JimBastard: if you want to compete in that [02:25] cloudhead has joined the channel [02:25] zemanel: im totally broke :) [02:25] zemanel: jobless for a month [02:26] danielqo has joined the channel [02:26] zemanel: anyway is there a C wiz around? [02:26] zemanel: that knows the node.js C internals? [02:26] JimBastard: zemanel: http://js1k.com [02:26] jamescarr_: q.bind('myExchange', "testRoute"); [02:26] jamescarr_: that's worth a fucking blog post [02:26] jamescarr_: :) [02:27] zemanel: 10 September 2010 ? im still recovering from this [02:28] JimBastard: hee hee [02:28] JimBastard: its only 1k in code [02:28] JimBastard: should take a few minutes [02:29] zemanel: i was wrapping my mind today on wether node.js could benefit from GPU computing [02:29] zemanel: like http://www.nvidia.com/object/cuda_home_new.html [02:29] zemanel: but i was playing dune2 on my C classes :P [02:29] nerdEd has joined the channel [02:30] zemanel: JimBastard, i would need a flash of genious and there are way bettergeniouses than me :) [02:31] JimBastard: o well [02:32] zemanel: so, C? [02:32] Me1000 has joined the channel [02:33] jamescarr_: Unhandled channel error: PRECONDITION_FAILED - unknown delivery tag 1 [02:33] jamescarr_: booo [02:34] jwcooper has joined the channel [02:36] matt_c has joined the channel [02:36] saikat: rauchg_: around? [02:38] mikeal has joined the channel [02:39] aaronblohowiak has joined the channel [02:39] chewbranca: matt_c, very nice, yeah have fun with the kindle, its a sweet device [02:39] olauzon has joined the channel [02:40] matt_c: chewbranca: Now all I have to do is be patient. Estimated ship date is September 20 but I'm excited. [02:41] derencius has joined the channel [02:46] prettyrobots has joined the channel [02:47] chewbranca: matt_c, yeah took a month to the day for mine to show up. I also highly recommend the case, the screen can be somewhat fragile and I definitely wouldn't put it directly in a bag. a friend of mine did that and cracked the screen a few days after picking up his dx [02:47] matt_c: chewbranca: Yeah, I got one of the $35 fold-over jobs. [02:48] Pilate: is there a simple method of urldecoding that im missing? passed in from post data [02:48] chewbranca: matt_c, nice, same here. its a little expensive but its actually a very nice case and quite high quality [02:49] matt_c: Good to hear. It seemed like it would make it feel even more like a book and was the right bang/buck even if a bit overpriced. [02:50] chewbranca: yeah its pretty cool, you can fold it over and lock it down and its easy to hold and out of the way [02:51] matt_c: Yeah. We almost grabbed the Timbuk2 sleeve but I'm glad we went with the fold-ver. [02:51] matt_c: over even [02:52] derencius has joined the channel [02:52] rauchg_: saikat: [02:52] rauchg_: sup [02:52] saikat: hey [02:52] saikat: i added some simple buffering [02:53] saikat: but i wasn't really sure how you are currently benchmarking [02:53] saikat: but just giving you a heads up in case you were still planning on running some benchmarks [02:54] dgathright: Doesn't look like isaac is around, so anyone else know if you can force install an NPM package, ignoring Node version requirements? [02:55] ditesh|cassini has joined the channel [02:56] jlilly: rauchg_: would you mind if I /msg you w/r/t an article I'm writing? [02:56] dgathright: nm, npm install --force [02:56] rauchg_: JimBastard: not at all [02:56] rauchg_: saikat: awesome [02:57] JimBastard: ? [02:57] jlilly: I think that was meant for me :) [02:57] jlilly: tabcomplete win! [02:57] JimBastard: lol too funny [02:57] rauchg_: i'm initiating persistent keep alive clients with different concurrency levels [02:57] rauchg_: sorry jim [02:57] JimBastard: Freudian autocomplete [02:57] rauchg_: it was indeed for jililly [02:57] rauchg_: haha [02:57] rauchg_: it was an freudian autoslip [02:58] saikat: you think too lowly of your name, jim [02:58] jesusabdullah: I tried to tab-complete a password the other day :( [02:58] saikat: rauchg_: different concurrency levels? i'm not sure i know what that means [02:58] saikat: but i will wait to see what you come out with [02:58] rauchg_: eg: starting 100 clients at once [02:58] saikat: oh you mean for benchmarking hah [02:58] rauchg_: then leaving them open [02:58] rauchg_: yeah yeah [02:58] saikat: i thought you were telling me about some new feature [02:59] rauchg_: aaaaa [02:59] saikat: it sounded advanced [02:59] rauchg_: haha [02:59] rauchg_: lots of freudian misunderstandings (what?) [02:59] saikat: haha, including misunderstandings of what is freudian [02:59] aaronblohowiak: jesusabdullah: haha, i do that all the time, and end up with !!! splayed all over forms [03:00] fizx has joined the channel [03:00] saikat: but yeah, i also don't think the whole logger client thing should necessarily go into socket-core, it's more just something i want [03:00] saikat: er, the websocket logger client [03:01] rauchg_: well, i think hooks for logging might go in there [03:01] saikat: yeah [03:01] saikat: that would make sense [03:01] rauchg_: but logging messages by default would not be desirable for everyone [03:01] saikat: definitely [03:01] saikat: by default this is just logging connections and disconnections [03:01] saikat: and that is assuming you turn on the logger at all [03:01] populuxe has left the channel [03:02] saikat: i don't think it's too much overhead for socket.io to log connections/disconnects by default - a typical socket server shouldn't be getting more connections per second than a typical webserver gets requests per second [03:02] saikat: and i would guess performance is similarly affected [03:02] rauchg_: yep [03:03] chewbranca: matt_c, btw, start using http://instapaper.com (or some equivalent), works awesome with the kindle [03:04] matt_c: chewbranca: Yeah, I think a Kindle would make that a lot more useful. [03:04] mattly has joined the channel [03:04] chewbranca: matt_c, yeah I'm loading up some articles right now and then heading to the couch ;-) [03:04] jakehow has joined the channel [03:08] softdrink has joined the channel [03:08] mattikus has joined the channel [03:13] brianmario has joined the channel [03:14] dgoodlad has joined the channel [03:15] jjcm_ has joined the channel [03:16] cloudhea1 has joined the channel [03:16] zemanel: what a fuck [03:16] zemanel: im 9th on the leaderboard [03:17] zemanel: i knew tehre was a reason i couldnt sleep [03:17] JimBastard: :-D [03:18] zemanel: need to calm down, humour, yes humour ...... [03:18] zemanel: http://www.youtube.com/watch?v=HtvIYRrgZ04 [03:19] dilvie has joined the channel [03:19] bpot has joined the channel [03:21] aaronblohowiak: zemanel: i am 6th on the solo list [03:22] aaronblohowiak: which is far, far worse than 9th overall [03:22] aaronblohowiak: iow, stfu, gtfo [03:22] Tim_Smart: I have made the first step to manging my music with node - a indexer :p [03:22] aaronblohowiak: :-) [03:22] jamescarr_: I am 20th [03:22] Tim_Smart: *managing [03:22] jamescarr_: no, 30th [03:22] jamescarr_: I'm so mad, I engaged in random acts of violence on the way home [03:22] jamescarr_: :-P [03:23] zemanel: well give me a break, ive been coding php for a year i deserve a reward [03:23] zemanel: it was inhumain [03:23] matschaffer has joined the channel [03:23] aaronblohowiak: zemanel: how about a cookie? [03:23] aaronblohowiak: jamescarr_: e-rage [03:24] isaacs has joined the channel [03:24] zemanel: aaronblohowiak, i dont accept cookies from another domains [03:25] aaronblohowiak: zemanel: well played [03:25] jamescarr_: aaronblohowiak, oh, that already happened here [03:25] aaronblohowiak: jamescarr_: lol [03:25] zemanel: :D [03:25] jamescarr_: random acts of "e-violence" towards judges :-P [03:25] aaronblohowiak: jamescarr_: marak's freak-out ? [03:25] jimmybaker has joined the channel [03:26] jamescarr_: I'm happy though, I didn't even expect us to get halfway up the leaderboard after the cross browser blunder :) [03:26] wakawaka: what game? [03:26] jamescarr_: apparently even chrome from the dev channel doesn't fully support the File API on some platforms :( [03:26] aaronblohowiak: jamescarr_: niiice [03:26] aaronblohowiak: lol [03:27] aaronblohowiak: i should have made an app requiring lynx [03:27] jamescarr_: one of the judges downloaded that, firefox nightly, etc and had no luck [03:27] aaronblohowiak: jamescarr_: wow, they were really motivated [03:28] amrnt has left the channel [03:32] zemanel: my favourite is discoworld [03:33] zemanel: http://zemanel.eu/9th-on-the-nodeko-leaderboard [03:34] prettyrobots has joined the channel [03:34] jamescarr_: one thing I was confused about... [03:34] jamescarr_: I noticed there was a team named braintree [03:34] bradleymeck1 has joined the channel [03:35] jamescarr_: they were a sponsor and a participant? [03:35] zemanel: jamescarr_ yeee i notied that [03:35] zemanel: dunno [03:36] bradleymeck1: eh, not all competed to win :P [03:36] aaronblohowiak: jamescarr_: yes [03:36] aaronblohowiak: :-) [03:36] zemanel: i competed to errase war from the world by armed intervenion [03:36] bradleymeck1: lol [03:37] bradleymeck1: had excuse to finally get my php loving gf to use js XD [03:37] pyronicide has joined the channel [03:37] zemanel: and all i got was this lousy tshirt [03:37] benburkert has joined the channel [03:38] bradleymeck1: lol i didnt even get that! [03:39] Yuffster has joined the channel [03:39] adamholt has joined the channel [03:39] zemanel: "chaos led to the formation of a private military organization, called Celestial Being, [03:39] zemanel: dedicated to eradicating war and uniting humanity through the use of Node.js" [03:40] Yuffster has joined the channel [03:41] aurynn has joined the channel [03:42] dannycoates has joined the channel [03:44] stalled has joined the channel [03:47] samdk has joined the channel [03:47] gilaniali has joined the channel [03:48] zemanel: back to bed, wake me up if i win something [03:51] visnup has joined the channel [03:53] creationix has joined the channel [03:54] MikhX_ has joined the channel [03:57] dilvie: Seriously thinking about deploying a new real-estate management saas on Node. The site needs to be very reliable, though. I can't let an uncaught exception derail the whole thing. What's the best way to maintain high availability with Node? [03:57] SubStack: working on it [04:00] JimBastard: dilvie: assume fail [04:01] JimBastard: dilvie: our hosting platform can spawn up new application instances in to respond to requests in real-time [04:01] JimBastard: engrish flail [04:01] JimBastard: you can also just use monit [04:01] aaronblohowiak: dilvie: uncaughtException [04:02] aaronblohowiak: If a listener is added for this exception, the default action (which is to print a stack trace and exit) will not occur. [04:02] JimBastard: like this: http://github.com/indexzero/node-experiments/tree/master/uncaught-exception/ [04:02] JimBastard: but its dangerous, read the readme on that [04:02] JimBastard: :-) [04:04] aaronblohowiak: JimBastard: real men throw functions to implement CPS =) [04:04] JimBastard: cps ? [04:04] aaronblohowiak: continuation passing style [04:04] JimBastard: hee hee [04:04] aaronblohowiak: :-) [04:04] JimBastard: id rather let the application die [04:04] JimBastard: then have the chance of going into loop land [04:05] aaronblohowiak: JimBastard: *shrug* different strokes [04:05] JimBastard: halting problem >.< [04:05] aaronblohowiak: JimBastard: haha, totes [04:06] zemanel: jackalope snatched my 9th place [04:06] zemanel: ACTION goes for a 9x4 [04:09] bradleymeck1: cps and me dont get along [04:11] overra_ has joined the channel [04:12] bradleymeck1: then again so does exposure, basically anything that hides change of flow of control [04:12] aaronblohowiak: bradleymeck1: yea, that's why i'm not a real man =/ [04:12] aaronblohowiak: bradleymeck1: what do you think about operational transformation vs differential synchronization? [04:13] Zuardi: zemanel: it looks like you are on top of the jackalope again :P [04:16] derferman has joined the channel [04:17] ditesh|cassini has joined the channel [04:17] mu-hannibal has joined the channel [04:18] jackish has joined the channel [04:18] Yuffster_work has joined the channel [04:22] bradleymeck1: mmmm, i dont like anything that hides flow of control, operational transforms are fine as long as no preemption within a flow occurs, differential synchronization im not too familiar with, but merging of control flows seems fine to me as long as there is a clear point where they split / merge [04:22] creationix has joined the channel [04:23] bradleymeck1: if(foo()) causing preemption just seems wrong to me [04:23] aaronblohowiak: bradleymeck1: yea, that makes a lot of sense. [04:23] dilvie: JimBastard, aaronblohowiak - I appreciate your comments. Thanks for the advice. I'm still trying to wrap my head around all the tools available for node users. [04:23] aaronblohowiak: bradleymeck1: i was actually thinking about program control flow in the chan and document synchronizations for my other stuff, but then you put the two together and blew my mind [04:24] bradleymeck1: lol [04:24] aaronblohowiak: dilvie: sweet. it really is a matter of philosophy and caution. just catching the error is the simplest thing, but like JimBastard notes, it could be dangerous [04:24] aaronblohowiak: bradleymeck1: heehe. i think i'll just model clients as git remotes [04:24] aaronblohowiak: ;) [04:25] JimBastard: dilvie: our load balancers stay up pretty much 100%, its just a matter of catching all errors gracefully [04:25] bradleymeck1: lol [04:25] JimBastard: node tends to never die [04:25] dilvie: JimBastard: "our" = Joyent? [04:25] JimBastard: www.nodejitsu.com [04:25] dilvie: nodejitsu. [04:25] JimBastard: hiya! [04:26] bradleymeck1: i would really like to get inimino's parser working then i can detect program control changes and make us a state machine graph (well more flow chart than state machine) [04:26] dilvie: I just filled my email in @nodejitsu [04:26] bradleymeck1: i think i filled it in like 5 times cause i never saw a button [04:27] dilvie: nodejitsu is a node.js application hosting and martial arts training company. <-- yeah! [04:29] JimBastard: dilvie: youve seen our github right? [04:30] ditesh|cassini has joined the channel [04:30] dilvie: JimBastard - I'm checking it out right now. [04:30] gerred: nodejitsu..huh checking it out now. [04:30] JimBastard: i like to think we have a pretty strong node team [04:30] gerred: i'm a recent convert from ruby eventmachine to node. ;) [04:31] JimBastard: tmm1 idles in here a bit :-) [04:31] benburkert has joined the channel [04:31] gerred: so kyuri is basically a cucumber to vowsjs converter? [04:32] benburkert has joined the channel [04:33] aaronblohowiak: gerred: you made the switch? [04:33] callen: gerred: I think that's fair to say. [04:33] gerred: aaronblohowiak: shamelessly. [04:33] gerred: i'm enjoying my shiny new toy. [04:33] aaronblohowiak: gerred: welcome! [04:33] callen: gerred: what'd you get? [04:33] gerred: node.js over eventmachine. [04:33] callen: gerred: :D [04:34] gilaniali has joined the channel [04:35] muk_mb has joined the channel [04:35] muk_mb: hello [04:35] dilvie: This channel is rock and roll incarnate. [04:35] callen: muk_mb: salutations [04:36] gerred: aaronblohowiak: it came down to me separation of different app functions, personal perference node.js allows me to have one ruby-based endpoint for interacting with my app, whereas with eventmachine I have multiple. [04:36] muk_mb: I do rails/iPhone stuff, looking for a new framework/language to pick up. This node.js stuff looks interesting. [04:36] gerred: aaronblohowiak: the jquery/node stuff can all be in javascript and hit my rails/sinatra/whatever endpoint. [04:36] aaronblohowiak: gerred: sounds good to me [04:36] gerred: it just seems cleaner. [04:36] gerred: and a little more sane. [04:37] JimBastard: gerred: kyuri is pretty much a javascript gherkin parser / lexer [04:37] JimBastard: it can output templates, so not just vows [04:37] JimBastard: vows is the first [04:37] gerred: JimBastard: ah okay awesome. [04:37] JimBastard: prob gonna do expresso next [04:37] callen: ...expresso? [04:37] JimBastard: and we've been talking to the cucumber author, we might merge projects or something. get us downstream on their commits [04:37] JimBastard: gotta do a few things before we get there [04:37] gerred: nice. yeah. [04:38] JimBastard: so yeah, we bringing cuke to ndoe [04:38] JimBastard: node [04:38] JimBastard: steal some more ruby people :-) [04:38] gerred: that would be good though. [04:38] ehaas has left the channel [04:38] gerred: a more direct implementation would be the only nice thing. [04:38] gerred: but, obviously a much bigger undertaking. [04:38] JimBastard: more direct? [04:39] aaronblohowiak: gerred: like pusher app ? [04:39] gerred: as in instead of parsing it, actually use cucumber features and use more familiar step definitions. [04:39] JimBastard: ohh yeah, we are missing that [04:39] JimBastard: :-) [04:39] aaronblohowiak: gerred: ah, you're talking about something else now. lol [04:39] JimBastard: working on it! [04:39] JimBastard: repos will be active for a while. im working on getting prenup 0.1.0 [04:39] gerred: aaronblohowiak: yeah, new topic, rest is cool though. [04:39] JimBastard: with real-time and keyboard bindings [04:39] aaronblohowiak: gerred: n/m ;) [04:40] JimBastard: mouse = fail [04:40] gerred: er [04:40] gerred: pusher is cool [04:40] aaronblohowiak: gerred: pusher is aight [04:40] gerred: i'm in an environment where I can host node.js/eventmachine servers on their own dedicated box across our entire suite of applications though. [04:40] jesusabdullah: Is there a client-side equivalent to sys.inspect? [04:40] gerred: not really necessary. [04:40] gilaniali has joined the channel [04:41] gerred: rather, pusher is not really necessary for me. [04:41] gerred: i wouldn't mind a combo of nodejitsu/heroku for side projects though. [04:42] JimBastard: gerred: we also do planning / consulting [04:42] gerred: awesome. [04:42] JimBastard: about to move into our new 20k square foot office in union square ny [04:42] JimBastard: :-D [04:42] gerred: sweet. [04:42] jesusabdullah: Aww, need an external lib :C [04:42] jesusabdullah: Apparently [04:42] gerred: twitter: @gerredb [04:42] JimBastard: gonna be a cowork / hack space [04:42] dilvie: JimBastard - prenup looks brilliant! [04:42] jesusabdullah: JimBastard: Cool! [04:42] dilvie: JimBastard: I think I could use that next week. [04:42] JimBastard: dilvie: thanks man, needs a lot more love >.< [04:43] cnu has joined the channel [04:43] JimBastard: its not really ready... [04:43] gerred: i'm starting to love the idea of coworking actually. [04:43] dilvie: JimBastard: d'oh. [04:43] JimBastard: im working on 0.1.0 [04:43] JimBastard: in fact [04:46] dilvie: damn [04:48] dgathright has joined the channel [04:49] devinus has left the channel [04:52] joshbuddy has joined the channel [04:53] meck has joined the channel [04:55] Zuardi has joined the channel [04:55] meck: i don't suppose I could get someone to take a look at some code? I'm sure I'm missing something obvious here http://pastebin.com/X4P7mW3R [04:56] meck: when I hit the page in a browser, I get a 404 but no text [04:56] visnup has joined the channel [04:56] meck: if I change the code to 200 though, I see the text [04:56] callen: damn, tj's not here. [04:56] callen: is Express relatively stable now? [04:56] Tim_Smart: meck: data.toString() [04:56] Tim_Smart: readFile returns a buffer. [04:56] ehaas has joined the channel [04:57] Tim_Smart: Oh wait, you are chucking it straight into the socket, nevermind. [04:57] Tim_Smart: meck: I think it will be your browser. [04:57] meck: even if I just pass the string, it appears to have the same effect :-/ [04:57] Tim_Smart: What happens if you curl it? [04:57] meck: lemme give that a shot [04:57] meck: oddly, if I view source from ff, I see the expected source [04:58] Tim_Smart: Right, so firefox is the problem. [04:58] meck: yeah, curl definitely shows it [04:58] meck: interesting.... is there a way I can coax firefox into displaying? some additional header it needs? [04:59] benburkert has joined the channel [04:59] Tim_Smart: meck: Throw a 200 with the error page :p [04:59] meck: :) that's one way [04:59] meck: the only difference I see from other 404 pages that work is the encoding [04:59] Tim_Smart: Does google say anything? [05:01] meck: I'm not entirely certain what to search for... there doesn't appear to be a generic node.js 404 output issue out there [05:01] ditesh|cassini has joined the channel [05:04] Tim_Smart: meck: It has nothing to do with node.js I don't think. [05:04] meck: hmmm [05:04] meck: it's definitely not an issue of firefox being unable to display 404 text [05:05] meck: I could definitely see firefox expecting something that I'm not outputting [05:05] Tim_Smart: meck: What was the curl output? [05:05] meck: it just output the text, as expected [05:05] callen: I've got a lovely bunch of coconuts, deedle dee [05:05] Tim_Smart: Right, did you add the header flag? [05:06] Tim_Smart: Anyway, I'll brb. Restarting. [05:10] Tim_Smart has joined the channel [05:10] meck: Tim_Smart: http://pastebin.com/0PmLQ8Xp [05:10] meck: doesn't look abnormal to me [05:11] Tim_Smart: Looks fine here. [05:11] meck: lemme give safari a shot real quick [05:11] Tim_Smart: You could try setting the charset to utf8, but that won't make any difference really. [05:11] meck: yeah that displays fine [05:11] paulwe has joined the channel [05:12] Tim_Smart: So it is isolated to Firefox? [05:12] meck: definitely appears to be [05:13] meck: utf-8 is the same [05:13] Tim_Smart: Right, well that narrows it down, but I have no idea what the cause is. Good luck :) [05:13] meck: hehe, well thanks for your help :) [05:14] Tim_Smart: I'm busy giving my music collection a HTTP REST api :p [05:14] meck: well don't forget to handle requests for non-existent resources ;) [05:15] Tim_Smart: It will use JSON, so XHR should be fine to recieve 404's [05:15] prettyrobots has joined the channel [05:16] Tim_Smart: yay http://github.com/maritz/js-double-metaphone/blob/master/double-metaphone.js [05:17] meck: gosh... not even setting the content type to application/json sends anything without viewing the source [05:17] meck: now i'm very curious [05:18] meck: haha nice.... you're going out of your way to account for misspellings [05:18] meck: well thanks... i'm going to poke at it more [05:22] steadicat has joined the channel [05:25] mitkok has joined the channel [05:26] zomgbie has joined the channel [05:28] cloudhea1: Is there any built-in way of proxying an EventEmitter? [05:29] muk_mb: oh man, hello world is node.js is pretty nifty [05:30] siculars has joined the channel [05:31] shreekavi has joined the channel [05:31] MikhX has joined the channel [05:31] zum has joined the channel [05:32] paulwe has joined the channel [05:35] mattikus has joined the channel [05:42] ditesh|cassini has joined the channel [05:47] paulwe has joined the channel [05:47] tpryme has joined the channel [05:47] JimBastard has joined the channel [05:48] JimBastard: yeah! json-rpc is kinda working now and returning real vows code [05:48] JimBastard: http://github.com/nodejitsu/prenup [05:48] JimBastard: taking a break and gonna try to hook up the UI [05:48] JimBastard: ACTION forgot that node knockout ended. [05:52] tyfighter has joined the channel [05:54] AAA_awright: What would it take to get a better build system? [05:54] prettyrobots has joined the channel [05:56] ph^ has joined the channel [05:57] ehaas: for node? [05:59] jkreeftmeijer has joined the channel [06:02] shreekavi has left the channel [06:03] jimmybaker has joined the channel [06:04] abiraja has joined the channel [06:08] jimmybaker has joined the channel [06:13] AAA_awright: ehaas: Yes, for node [06:14] AAA_awright: Though I think it may be worth it just to build one from scratch [06:14] AAA_awright: One that gives files semantic meaning and doesn't just have a series of instructions [06:15] AAA_awright: btw are there any RDF tools for Nodejs? [06:16] mitkok has joined the channel [06:20] JimBastard: hrmmm [06:20] JimBastard: im wondering what i should use for the sample kyuri scripts [06:20] JimBastard: the calculator ones are boring [06:20] JimBastard: maybe i should do them for http servers [06:21] JimBastard: and http.client requests [06:21] JimBastard: for api stuff [06:23] ehaas: AAA_awright not that i know of [06:24] AAA_awright: For which question? ;) [06:24] AAA_awright: So I'm going to busy with librdf hooks, I guess [06:24] mikew3c: does fs.readdir always return files in a particular order? [06:24] mikew3c: or is it platform-specific? [06:24] AAA_awright: Which means that (grr) I have to mess with the build system and I'm back where I started [06:24] AAA_awright: Isn't this fun? [06:25] Tim_Smart: Yes. [06:28] peutetre has joined the channel [06:28] ehaas: build system seems fairly simple to me [06:28] ehaas: http://pastie.org/1135414 [06:28] ehaas: that's my wscript for the libgmp bindings i'm writing [06:33] peol has joined the channel [06:34] derferman has joined the channel [06:35] ezmobius has joined the channel [06:37] debiandebian has left the channel [06:39] mostlygeek has joined the channel [06:42] V1 has joined the channel [06:42] dgathright has joined the channel [06:43] dgathright has joined the channel [06:45] _TS has joined the channel [06:46] prettyrobots has joined the channel [06:46] ctp has joined the channel [06:47] V1: So now that the voting is over, are we allowed to update our no.de machines? [06:48] mape: V1: yeah [06:48] mape: they twattred about it [06:48] mape: At least I have.. ;) [06:48] mikew3c has joined the channel [06:48] mape: "Voting is over! Deploy your fixes! [06:48] bcg has joined the channel [06:49] aaronblohowiak: mape: hah, yay! [06:49] V1: Congrats on winning on 3 categories btw mape ;) [06:49] JimBastard: yo mape [06:49] mape: Thanks :) [06:49] JimBastard: you won the lagom category [06:49] mape: FU [06:49] JimBastard: all is right [06:49] JimBastard: :-( [06:49] mape: :P [06:49] mape: It isn't lagom! [06:50] JimBastard: sorry im a noob [06:50] JimBastard: whats the word [06:50] JimBastard: for complete [06:50] mape: fullst�ndig [06:50] JimBastard: aye [06:50] mape: Lagom is not bad, not good [06:50] mape: Just enough [06:50] JimBastard: >.< [06:50] Tim_Smart: I shall release my would-be NKO entry soon. [06:50] JimBastard: nice [06:50] mape: Tim_Smart: what was it? [06:50] aaronblohowiak: Tim_Smart: will it crash the internet? [06:51] Tim_Smart: ;) [06:51] prettyrobots has joined the channel [06:52] mape: Btw anyone have an idea for good wordlists? [06:54] JimBastard: mape: yeah actually [06:54] dgathright has joined the channel [06:54] JimBastard: i have access to a giant database of couch multilingual dictionaries [06:54] JimBastard: would that work? [06:54] mape: as in the db? [06:54] JimBastard: yeah [06:55] mape: or just the word couch in different languages? :D [06:55] JimBastard: lulz [06:55] mape: Hmm yeah that would be nice, as long as they can be grouped in some way [06:55] JimBastard: i dont think i can get a copy until tomorrow, i think its big [06:55] JimBastard: we had to build a custom futon view in order to see them all [06:55] JimBastard: it kept crashing futon [06:55] mape: hmm, crazy big [06:56] JimBastard: http://github.com/hij1nx/futon-with-slickgrid [06:56] JimBastard: theres the custom futon [06:56] JimBastard: now where is the data hrmmm [06:56] JimBastard: yeah hes afk until tommorow [06:57] JimBastard: dbs arent checked in atm [06:57] JimBastard: i think you can just pull them from somewhere as xml [06:57] JimBastard: and crunch them [06:57] mape: sweet [06:57] jesusabdullah: What is futon? [06:57] paulwe has joined the channel [06:57] JimBastard: if you still want it tommorow ill see if i can get [06:57] LowValueTarget has joined the channel [06:57] JimBastard: jesusabdullah: its a jquery app that gives admin interface to couch [06:58] LowValueTarget: What's a good websocket server for node that is compat with node 2.0 [06:58] V1: socket.io [06:58] LowValueTarget: V1 [06:58] mape: or websocket-server [06:58] V1: hi [06:58] LowValueTarget: i started that but I couldnt get it to connect [06:58] LowValueTarget: maybe im just fail [06:58] JimBastard: id keep starting [06:58] mape: LowValueTarget: I used websocket-server for my node entry [06:58] V1: Than you are doing something wrong ;P [06:58] LowValueTarget: oh wait v1 do i want socket.io or socket.io-node [06:58] mape: Easy to work with and use flash as a fallback [06:59] V1: socket.io-node for serverside [06:59] V1: and socket.io for client side [06:59] V1: socket.io also has flash fallback, and longpolling forever iframe and short xhr polling :) [07:00] V1: But it always boils down to you own preference :) [07:00] LowValueTarget: im going to try plain old websockets [07:00] LowValueTarget: i am using safari [07:02] tobiassjosten has joined the channel [07:04] V1: HA! My demo page finally shows konami code validation [07:07] justin____ has joined the channel [07:08] freeall has joined the channel [07:10] Tim_Smart: Hot http://www.servicestack.net/RedisAdminUI/AjaxClient/# [07:10] justin__ has joined the channel [07:13] LowValueTarget: Booyah [07:13] LowValueTarget: connected. [07:13] LowValueTarget: Thanks V1 [07:13] V1: Congrats :D [07:13] delapouite has joined the channel [07:16] voxpelli has joined the channel [07:16] altamic has joined the channel [07:17] altamic has left the channel [07:17] Tim_Smart: I think I fell in love with redis. [07:17] Tim_Smart: It is pure awesome-ness. [07:19] aaronblohowiak: Tim_Smart: have you tried mongo? [07:19] Tim_Smart: Not completely. I like redis due to its simplicity. [07:20] aubergine has joined the channel [07:20] Tim_Smart: (And because it is really fast) [07:20] aaronblohowiak: Tim_Smart: neat [07:20] sschuermann has joined the channel [07:20] sschuermann: re [07:20] tobeytailor has joined the channel [07:21] tpryme: Tim_Smart: Nice redis admin ui. You make that? [07:21] Tim_Smart: Nope. [07:22] tpryme: Tim_Smart: Where'd you find it? Never seen it before [07:22] Tim_Smart: Google. [07:23] V1: I have been coding node apps to much. I just wrote .hidden { display:node } in my css -_- [07:24] Nohryb has joined the channel [07:24] aaronblohowiak: ;p; [07:26] SubStack: dnode now plays nicely with connect [07:26] SubStack: it did all along actually, but now I have an example [07:26] SubStack: http://github.com/substack/dnode/blob/master/examples/connect/web.js [07:28] matt_c has joined the channel [07:29] mitkok has joined the channel [07:31] _TS: Tim_Smart: redis is the business [07:31] AAA_awright: How am I supposed to catch exceptions asynchronously without bringing down my HTTP handler? [07:31] Tim_Smart: _TS: +1 [07:33] Tim_Smart: AAA_awright: I always pass errors as the first argument to a function. [07:33] AAA_awright: I don't have that option at the moment [07:34] Tim_Smart: Then I can't really help you :p [07:34] AAA_awright: And doesn't that violate a long tradition of proper error handling? [07:37] ph^ has joined the channel [07:39] rnewson has joined the channel [07:39] freeall: AAA_awright, in javascript you put the err first [07:40] AAA_awright: I guess it makes a little sense... [07:40] AAA_awright: Well, that can mitigate it [07:40] AAA_awright: Is there any way to make sure an exception can never kill my HTTP instance? [07:41] mape: unhandledException [07:41] AAA_awright: And send a 500 instead [07:41] freeall: I think the reasoning is that you're always sure that you've thought about err handling. like function(conn, err), where you could just do function(conn). Instead it's "forced" by doing function(err, conn), where if you try to do function(conn), you would notice it [07:42] freeall: wow.... not sure that really made any sence [07:43] hassox has joined the channel [07:43] tpryme: Tim_Smart: If you're using Redis with node, I contributed this redis client that supports multi/exec/discard http://github.com/bnoguchi/redis-node [07:44] Tim_Smart: multi as in mget? [07:44] altamic has joined the channel [07:44] Tim_Smart: and friends? [07:44] admc has joined the channel [07:45] Tim_Smart: tpryme: Ah gotcha. [07:45] Tim_Smart: Will use it in my next project, for this one it doesn't matter too much. [07:47] aaronblohowiak: tpryme: nice! [07:48] tpryme: aaronblohowiak: Hey man thanks. Good job with your nko entry after scrapping the email idea. I finally got what you meant with toylanguage. [07:49] oberhamsi has joined the channel [07:49] aaronblohowiak: sweet! thank you. i've got some UI plans for the next iteration.. node's email support just doesnt exist at all =/ [07:52] derferman has joined the channel [08:03] robinduckett has joined the channel [08:05] hellp has joined the channel [08:05] aaronblohowiak: tpryme: have you checked out rapid? [08:06] tpryme: aaronblohowiak: I saw it in my stream. Not yet. I've been using my own ohm lib [08:06] derencius has joined the channel [08:06] tpryme: aaronblohowiak: u? [08:07] aaronblohowiak: tpryme: coo. i havent, but i wished it had txns and i thought of your implementation [08:10] Frans-Willem has joined the channel [08:14] aubergine_ has joined the channel [08:15] JimBastard: hrmmm [08:15] JimBastard: it might be time to kill accordion() [08:15] JimBastard: close [08:16] JimBastard: maybe get some french toast and crack open machine.js [08:16] JimBastard: turn some dom elements into state machines [08:18] dgoodlad has joined the channel [08:19] dgathright: ACTION wonders what looks like as a state machine [08:20] hassox has joined the channel [08:21] aliem has joined the channel [08:21] russell_h: http://github.com/ry/node/blob/master/lib/assert.js#L90 <-- isn't that sort of pointless since nothing calls assert.fail? [08:21] russell_h: everything calls fail() directly [08:26] jetienne: russell_h: it exports .fail to the user tho [08:27] russell_h: jetienne: right, but what if I want to modify .fail for built in assertions? [08:27] jetienne: http://wiki.commonjs.org/wiki/Unit_Testing/1.0 commonjs doesnt contains .fail() tho [08:28] jetienne: russell_h: i dont understand what you mean [08:28] jetienne: http://nodejs.org/api.html#assert-fail-282 assert.fail is public nodejs api [08:29] russell_h: jetienne: http://gist.github.com/563608 [08:30] russell_h: honestly I haven't figured out the javascript object model though, so it could be I'm going about that all wrong anyway [08:30] mape: micheil: Around? [08:33] V1: argh, i updated to the latest socket.io and now Speedo is broken lol [08:34] xla has joined the channel [08:35] aubergine has joined the channel [08:37] elijah-mbp has joined the channel [08:39] aaronblohowiak: V1: hah [08:40] caolanm has joined the channel [08:41] V1: even the client stops working in firefox [08:41] V1: arg ;( [08:41] isaacs: russell_h: you're absolutely right, i think. lib/assert.js should be calling exports.fail rather than fail() [08:41] isaacs: russell_h: otherwise swapping it out does nothing. [08:42] ditesh|cassini has joined the channel [08:42] russell_h: isaacs: yeah. What I want to do is still impossible though, I think [08:42] isaacs: russell_h: what's that? [08:42] russell_h: isaacs: have multiple instances of assert each of which throws errors with an identifier attached [08:42] V1: ooooohhhhhh raug didn't update the socket.io client's flash fallback [08:43] isaacs: russell_h: i see. [08:43] russell_h: isaacs: have you used expresso? [08:43] isaacs: russell_h: nope [08:43] codetonowhere has joined the channel [08:44] russell_h: ah, yeah basically he gives each test case a reference to assert [08:44] zomgbie has joined the channel [08:44] russell_h: but if you do something async in a test case then call assert, the error isn't caught properly so the test case name doesn't show up right [08:45] sideshowcoder has joined the channel [08:45] russell_h: presumably TJ already tried to solve this though, and seeing as he didn't my chances seem slim [08:45] SubStack: could bind the test cases to the assert object itself [08:46] aslakhellesoy has joined the channel [08:46] SubStack: by wrapping all its functions [08:46] russell_h: heh, I was thinking of just reimplementing assert [08:47] russell_h: that might be the thing to do though... its not like there's that many of them [08:47] Tim_Smart: Someone want to see if a url works? [08:48] dgathright: what's the url? [08:49] Tim_Smart: It is running on my laptop atm, I'll just get my ip... [08:51] Tim_Smart1 has joined the channel [08:53] Tim_Smart: dgathright: http://121.79.216.71/api/artist [08:53] dgathright: nuttin [08:53] Tim_Smart: Hmm. [08:53] dgathright: doesn't appear to be listening on that port? [08:54] Tim_Smart: I'm listening on 80 and I'm under a DMZ... [08:54] dgathright: easymachine-lm:~ drg$ curl "http://121.79.216.71/api/artist" -v [08:54] dgathright: * About to connect() to 121.79.216.71 port 80 (#0) [08:54] dgathright: * Trying 121.79.216.71... Connection refused [08:54] dgathright: * couldn't connect to host [08:54] dgathright: * Closing connection #0 [08:54] dgathright: curl: (7) couldn't connect to host [08:54] Tim_Smart: Hmm. [08:57] SamuraiJack has joined the channel [09:00] TomY_ has joined the channel [09:02] keeto has joined the channel [09:02] Tim_Smart: dgathright: Does it work now? [09:02] dgathright: same response [09:02] Tim_Smart: Hmm ok [09:02] Tim_Smart: Will open on another port [09:04] karboh has joined the channel [09:05] Tim_Smart: dgathright: http://121.79.216.71:8080/api/artist ? [09:07] dgathright: tim_smart: yup [09:07] dgathright: so what are you building? [09:07] Tim_Smart: dgathright: Oh thanks. http://121.79.216.71:8080/api/song [09:07] Tim_Smart: It indexes and watches my music library [09:08] Tim_Smart: then makes it RESTful [09:09] Tim_Smart: I will quickly hack something on top of socket.io as well, so when I make the Web UI for it latency is minimal. [09:10] Tim_Smart: http://121.79.216.71:8080/api/song/:id/download <- if you want to download something [09:10] sschuermann has joined the channel [09:10] v8bot has joined the channel [09:10] Tim_Smart: Oh, it crashed. [09:11] dgathright: whoa whoa whoa, now I get it... you are the RIAA trying to trick me into downloading music from you, and then you sue me. Not so fast buddy [09:12] dgathright: yup, Node fall down go boom [09:12] Tim_Smart: :p [09:12] dgathright: what are you using for index storage? [09:12] Tim_Smart: redis [09:14] dgathright: I ask cause I've just a bunch of variations on this concept over the years. Haven't played around with anything lately though, and the tech is way better these days. Actually have options other than mysql. [09:15] dgathright: when I bought my first smartphone in '05 I built out a PHP driven interface to my library. Allowed me to stream MP3s, or queue up tracks and download the M3U playlist. Amazingly, streamed fine over Sprint's 3G network back then. Was hot shit. [09:16] dgathright: http://wiki.fireflymediaserver.org/ is pretty nice [09:16] aubergine has joined the channel [09:16] dgathright: they reverse engineered apple's itunes sharing protocol, and paired it with an indexer [09:16] Tim_Smart: Yeah. This was going to be my NKO entry (with a nice looking HTML5 UI of course) [09:16] dgathright: but, it spits out XML files. icky [09:17] dgathright: RESTful though [09:17] Tim_Smart: Had too much on this weekend though [09:17] Tim_Smart: s/this/last/ [09:17] dgathright: Certainly welcome a more modern Node/Redis based one though [09:18] skohorn has joined the channel [09:20] V1: I'm such an idiot lol, i pushed my server.js online connecting to port 8080 instead of 80 -_- [09:20] micheil: mape: yeah? [09:21] dgathright: Once you get past the initial stages, you could look at adding on DAAP support so itunes can hook up to it. Wow, that would be awesome. Jesus, especially with Node on webOS devices now. If I could walk into a room and all of a sudden my music library is shared from my phone (or tablet) to anyone with iTunes, that would be fucking awesome. [09:22] keeto has joined the channel [09:22] TomsB has joined the channel [09:23] herbySk has joined the channel [09:23] dgathright: or hell, maybe it can just be a proxy to connect to another server anywhere on the internet, then pump out DAAP to anyone on my local network. [09:25] Tim_Smart: dgathright: OK we are back up and running + bug fixes :p [09:26] dgathright: yup, downloads music just fine [09:27] Tim_Smart: Nice. [09:27] Tim_Smart: I want to have a really nice plugin system, so you can integrate streaming services and things. [09:28] dgathright: ugh, looking into libdaap now, looks complicated. [09:29] omarkj has joined the channel [09:29] Tim_Smart: Yeah just another over-complicated protocol. [09:29] omarkj: Morning. [09:31] V1: Wow [09:31] V1: I finally found the cause of all ECONNRESET errors I was getting [09:32] saikat has joined the channel [09:32] V1: I turned off the connect.gzip module, and BOOM, errors gone [09:32] dgathright: Maybe someone smarter than me can just write a Node add-on using libdaap instead of porting the whole thing. [09:33] Tim_Smart: firefly doesn't work with the newer iTunes right? [09:34] Tim_Smart: 7+ or something. [09:36] dgathright: Hmm... I dunno, I think it does. mt-dappd (which I think firefly piggybacks on) worked fine last I checked (few weeks ago) on iTunes 9 [09:36] omarkj: It works. [09:37] ditesh|cassini has joined the channel [09:37] omarkj: dgathright: Are you trying to create daap support for node ? [09:37] proppy has joined the channel [09:38] proppy: Frans-Willem: jetienne: thanks for yesterday :) [09:38] jetienne: proppy: :) [09:38] dgathright: The possibilities crossed my mind. I'd love it, but not sure the best way to go about it. Port the whole thing, or write a Node add-on using libdaap? [09:38] mape: micheil: http://gist.github.com/563609 Any way you could think to trigger that? [09:38] micheil: a bad closing client [09:39] omarkj: Well, you could look into porting something like python's spydaap (https://launchpad.net/spydaap) over to node. Would be cool. [09:39] dgathright: Ah, that sounds much more sane than porting from C++ [09:39] omarkj: I think so. [09:40] omarkj: Still just a little bit sane. [09:40] micheil: mape: the main thing that triggers it is an error event on the socket [09:40] micheil: mape: it's a direct propagation of the socket's error's [09:41] crohr has joined the channel [09:41] dgathright: omarkj: But yeah, I think it would be awesome. I'm just starting to think about all the different ways I can think of using Node in webOS, and using my phone as a portable DAAP server would be awesome. [09:41] micheil: as to what causes the error on the socket mape, I have no idea [09:42] Tim_Smart: dgathright: My idea is to have a music player where ever there is a browser. [09:43] omarkj: dgathright: It would be.. [09:46] jetienne: proppy: btw i emailed lacantine [09:48] proppy: jetienne: nice, care to fw ? [09:49] jetienne: proppy: nothing really. just asked them what we can do [09:49] proppy: oh ok :) [09:49] proppy: keep me updated [09:49] jetienne: ok [09:49] proppy: thanks a lot for taking the time to email them [09:54] mikekelly: jsgi seems pretty funky underpants [09:54] aubergine has joined the channel [09:56] mape: micheil: hmm any way to get a better idea of what is causing it? the stracktrace isn't that helpfull [09:56] micheil: not really, apart from catching and login it [09:57] mape: k :/ [09:59] unomi has joined the channel [10:01] maushu has joined the channel [10:01] maushu: http://code.google.com/p/picoc/ [10:02] maushu: Make an addon out of that so we can script C in javascript. [10:02] maushu: How about that for ironic? [10:03] jetienne: hmm maybe to reuse c libraries without breaking js jail ? [10:04] maushu: Hmm, I don't it would work that well. [10:04] maushu: *think [10:05] robinduckett: I strike out with the ladies as often as [10:05] jetienne: yep 4kline is hardly enougth to make it real [10:06] robinduckett has left the channel [10:06] robinduckett has joined the channel [10:06] jetienne: btw i see a lot of people doing cpp extensions, and nodejs doesnt have a clear scheme for plugins... [10:07] jetienne: this gap needs to be closed. nature dislike emptyness :) [10:07] maushu: wink_: They gave a new hint. [10:08] robinduckett: Was anyone else underwhelmed by the node knockout entries? D: [10:08] zorzar_ has joined the channel [10:09] maushu: http://pastebin.com/TYeFw6Xh [10:09] aubergine_ has joined the channel [10:12] Zuardi has joined the channel [10:13] robinduckett: I live in a giant bucket. [10:13] maushu: robinduckett: How nice. [10:15] tpryme: V1: Hey also having issues with the newest Socket.IO on firefox. Did you resolve the issue? [10:16] creationix has joined the channel [10:16] mikekelly: Is it naughty to use the request object to pipe info between the jsgi components in my framework? [10:17] zemanel: hay [10:17] zemanel: did i win yet? [10:18] hellp has joined the channel [10:18] robinduckett: maushu, My spoon, is too big. [10:20] feroz_ has joined the channel [10:20] jetienne has left the channel [10:25] MattJ has joined the channel [10:27] stephank has joined the channel [10:29] V1: tpryme: [10:29] V1: I just resolved all my issues [10:29] tpryme: V1: What was the root cause? [10:29] V1: Sorry for the late response, but i have been debugging like hell :p [10:29] V1: Wrong files [10:29] V1: First update to the latest and greatest socket.io client [10:30] tpryme: V1: done [10:30] V1: Than replace the whole Flash Socket replacement with this file: http://github.com/gimite/web-socket-js/blob/9e766377188d461f2046d951cc12645d457eb8e8/web_socket.js [10:30] V1: the Socket.io didn't update the allowScriptAccess parameters so you need to add it manually [10:31] tpryme: V1: Which file does that over-ride in socket.io? [10:31] V1: The whole script that starts att he: // Copyright: Hiroshi Ichikawa [10:31] tpryme: V1: oh, nm [10:32] V1: and replace it with the contents of above [10:32] tpryme: V1: Thanks, I'll try this [10:32] V1: Not done yet ;) [10:32] V1: Than you need to download: http://github.com/gimite/web-socket-js/blob/9e766377188d461f2046d951cc12645d457eb8e8/WebSocketMainInsecure.zip [10:32] V1: and use that .swf instead of the regular swf, [10:32] V1: Or see the complete fix at: http://github.com/gimite/web-socket-js/commit/9e766377188d461f2046d951cc12645d457eb8e8#diff-2 [10:32] tpryme: V1: Damn, you must have been debuggint that for some time [10:33] V1: tpryme: For fucking 5 hours now [10:33] V1: lol [10:33] V1: Untill i found out that there was a insecure version and socket.io didn't correctly update the library [10:33] kjeldahl has joined the channel [10:33] V1: -_-" [10:35] tpryme: V1: hardcore. I'm making the changes. Will let you know if it works for me, too. thanks [10:35] V1: Okay :D [10:36] robinduckett: i've been having trouble just getting socket.io to work :( [10:37] mape: robinduckett: I hade the same experience [10:37] V1: I hopefully got it working crossbrowser again now [10:38] robinduckett: it works in firefox with XHR polling [10:38] robinduckett: doesn't work in any version of chrome i've tried [10:38] robinduckett: like, won't even fall back from websockets to flash [10:38] robinduckett: just will not connect [10:38] robinduckett: works in Epiphany browser though which is Webkit/V8 so I don't know wtf is going on [10:38] robinduckett: and it works in opera [10:39] robinduckett: but like, standard version of chrome, chromium and Firefox 3.6 it just won't work for me [10:39] robinduckett: I'll try updating but still [10:39] robinduckett: Far too unstable/unusable for me to even consider for production use now. [10:39] robinduckett: Lost the faith :( [10:39] tpryme: robinduckett: Are you using chrome beta? [10:40] robinduckett: what's the beta version string? [10:40] tpryme: robinduckett: Not sure. beta is in the substring typically on distros [10:40] maushu: Found a reference for "Eight Little Piggies". [10:40] robinduckett: in that case no [10:41] robinduckett: I'm using Chrome 6 and Chromium 5 [10:41] tpryme: robinduckett: But ubuntu chrome wouldn't work with any websocket if you used loopback localhost [10:41] tpryme: robinduckett: for its beta [10:41] robinduckett: tpryme, eh? [10:41] V1: oh and to have socket.io work in IE you have to move transport include locations -_- [10:42] robinduckett: V1: English not your first language? [10:42] V1: robinduckett: nope, i'm from the Netherlands [10:42] robinduckett: Ah cool, I just came back from there last weekend [10:42] V1: I just know good enough to make my self understandable in a shit load of languages ;P [10:43] V1: cool :) [10:43] tpryme: V1: No dice. It throws ActionScript errors at me. [10:43] robinduckett: Love dutch accents, although only met one dutch person in the whole of amsterdam [10:43] derferman has joined the channel [10:43] robinduckett: Dutch girl working at Zeeburg camp site was very cute >=D [10:43] V1: tpryme: got some snippets i can see? [10:44] tpryme: Sure [10:44] V1: :D don't steal our girls robinduckett there mine ;) [10:44] robinduckett: She ashked me if I wanted a Toashtie and I gladly Acchepted. [10:44] EyePulp has joined the channel [10:44] tpryme: V1: "VerifyError: Error #1033: Cpool entry 42 is wrong type." [10:44] tpryme: And then [10:45] robinduckett: I was tripping on some horrible magic truffle at the time so I could not quite comprehend when she was trying to sell me Shower tokens for the showers. [10:45] Guest22628 has joined the channel [10:45] tpryme: V1: "ReferenceError: Error #1065: Variable WebSocketMainInsecure is not defined." [10:45] robinduckett: V1, you may have all the british girls you like if I can have that lady :P [10:46] V1: I have no clue what those errors mean tpryme [10:47] V1 has left the channel [10:47] V1 has joined the channel [10:47] V1: whoops wrong button [10:47] robinduckett: Cpool is usually encoding [10:47] robinduckett: i.e. the swf file is corrupt [10:48] Guest22628 has left the channel [10:49] tpryme: robinduckett: Hmm, damn. Thanks. [10:50] fermion has joined the channel [10:53] c4milo has joined the channel [10:54] codetonowhere has joined the channel [10:54] dnolen has joined the channel [10:55] V1: oh it still basically sucks in IE [10:55] V1: weird errors f t w [10:56] crohr has joined the channel [10:57] V1: IE for somehow likes to notify me that there }'s missing on places where not even missing.. Even when running with a proper script debugger [10:59] huyhong has joined the channel [11:00] digitalspaghetti: check you don't have any leading , [11:00] digitalspaghetti: that buggers up IE [11:00] digitalspaghetti: like {foo: bar,} [11:01] V1: digitalspaghetti: Already did that JSlint gives no errors about that [11:02] lachlanhardy has joined the channel [11:05] Guest10496 has joined the channel [11:06] V1: Finally found the root of all issues [11:07] V1: The socket.io flash transport doesn't check if WebSocket actually exists, it just checks for flash ... -_-! [11:09] robinduckett: doesn't check if the player supports WebSockets? [11:09] robinduckett: what is the link to your fork? :D [11:11] V1: I'm just hacking in my whole socket.io dev thing [11:11] V1: but good point I should just for the whole socket.io client [11:11] V1: But i'll apply my patches after i got it oworking [11:11] V1: now IE6 is chocking on the XHR checks [11:12] V1: But in a nut shell i had to change the native WS check to: return 'WebSocket' in window && WebSocket.prototype && ( WebSocket.prototype.send && !!WebSocket.prototype.send.toString().match(/native/i)) && typeof WebSocket !== "undefined"; and add the if ( !('WebSocket' in window && WebSocket.__isFlashLite && typeof WebSocket.__isFlashLite == "function") ) return false; to the FlashSockets check [11:13] V1: a bit hacky, but it works [11:15] robinduckett: hmm [11:15] ph^ has joined the channel [11:15] robinduckett: the question is, do i spend the next few minutes doing those changes on my work's time or do i wait til tonight? :D [11:18] elijah-mbp has joined the channel [11:18] V1: robinduckett: Depends does you boss pay you? :P [11:18] sschuermann has joined the channel [11:19] V1: My boss is actually paying me continue to work on Speedo so creating a cross browser solution is one of them [11:20] robinduckett: Sure, but this is sort of work related [11:21] robinduckett: since I'm using socket.io for one of our projects [11:21] V1: Solved! [11:21] V1: chabang! [11:21] elliottkember has joined the channel [11:21] V1: IE6 working <3 [11:21] robinduckett: yeah IE6 can suck my [11:21] V1: atleast, not throwing errors [11:22] V1: lol [11:22] robinduckett: lol [11:22] rgenthner has joined the channel [11:24] V1: no connections entering so, it just falls back to nothiing [11:24] d0k has joined the channel [11:24] okuryu has joined the channel [11:25] aubergine has joined the channel [11:25] codetonowhere has joined the channel [11:28] aubergine_ has joined the channel [11:29] aubergine has joined the channel [11:31] V1: robinduckett: http://github.com/3rd-Eden/Socket.IO [11:32] V1: it also should contain the latest changes for the Flash fallback [11:32] tobeytailor has joined the channel [11:32] moos3: anyone using node for push notifications ? [11:41] breccan has joined the channel [11:41] V1: Almost resolved all issues with Speedo :) [11:42] Frans-Willem: Even the chrome 7 ones :p? [11:42] Frans-Willem: apparently not :( [11:43] maushu: Frans-Willem: You ask too much. [11:43] V1: almost Frans-Willem :p [11:43] elliottkember_ has joined the channel [11:44] V1: working on the rendering module now, after lunch, [11:44] V1: I do hope to have a fully working build again tonight :p [11:45] Tim_Smart has joined the channel [11:47] tobeytailor has left the channel [11:48] freeall has joined the channel [11:48] moos3: can anyone help me with my socket issue? [11:49] moos3: http://gist.github.com/563279 when it go to it i get no data [11:49] aubergine has joined the channel [11:50] elliottkember: moos3 where you've got "io.on('connection' [11:50] elliottkember: moos3 wait, no that's right - sorry still reading [11:50] elliottkember: moos3 I think the implementation has changed since I implemented it [11:50] Tim_Smart1 has joined the channel [11:51] moos3: aww [11:51] elliottkember: moos3: do you get log output on the server? [11:52] moos3: 232.179) has joined #Node.js [11:52] moos3: moos3 where you've got "io. [11:52] moos3: ooops [11:52] robotarmy has joined the channel [11:53] tobeytailor has joined the channel [11:53] moos3: here we go 2 Sep 21:55:19 socket.io ready - accepting connections [11:53] moos3: but when my client.html connect nothing [11:54] moos3: i can telnet the port [11:54] Tim_Smart1 has joined the channel [11:55] elliottkember: shouldn't "client.send(client.id, *message*);" just be "client.send(*message*)" ? [11:55] elliottkember: or has that changed too? [11:56] tobeytailor: hey! has anyone an idea why all changes to PrototypeTemplate of a function has no effect when i used GetFunction() somewhere before? [11:56] moos3: i thought you had to give the id so it goes to the correct client [11:56] elliottkember: moos3 you're using client.send, so it's sending to that client anyway [11:56] Frans-Willem: tobeytailer: Design issue, basically when you call GetFunction, some internal javascript is triggered that reads the prototypetemplate and creates a JS object from it, so any changes to the prototypetemplate after that won't make it back into that object. [11:56] moos3: k [11:57] tobeytailor: Frans-Willem mmh, damn it [11:58] moos3: elliottcable, on my client side i get this Uncaught Error: INVALID_STATE_ERR: DOM Exception 11 [11:58] elliottkember: that looks familiar, moos3 [11:58] elliottkember: but I don't know quite where you're going wrong [11:59] moos3: elliottkember, here is my client code http://gist.github.com/563793 [11:59] webr3: moos3, you seen ryahs amqp for node ya? http://github.com/ry/node-amqp [12:00] moos3: webr3, neat [12:00] tobeytailor: Frans-Willem any idea how to set class properties before setting prototype properties without running in that issue? [12:00] elliottkember: moos3 try the proper socket.io client [12:00] elliottkember: moos3 http://github.com/LearnBoost/Socket.IO [12:01] webr3: moos3, also noticed you're using RGraph - sweet I know the guy that makes it (Richard.. R-Graph..) any ways, have you seen... protovis yet? [12:02] webr3: protovis == dogs bollocks : http://vis.stanford.edu/protovis/ex/ [12:02] moos3: no i haven't see protovis yet [12:02] elliottkember: webr3 protovis! insanity [12:02] elliottkember: webr3 I haven't had a chance to use it yet, but it's terrifyingly awesome [12:02] webr3: can't get better than protovis imgo, elliottkember totally agree - it's awesomeness [12:02] webr3: yeah, it's great to use too [12:02] webr3: and you can use native js syntax if you want :) [12:03] moos3: nice i'll have to move from RGraph to it [12:04] webr3: this one sold it to me: http://vis.stanford.edu/protovis/ex/antibiotics-burtin.html [12:05] webr3: ACTION digresses, and gets back tow ork [12:05] webr3: ACTION towing orks :s [12:07] Zuardi has joined the channel [12:07] moos3: well time to write my client to use socket.io :( [12:11] bcg has joined the channel [12:13] V1: moos3: you fixed it yet? [12:13] moos3: working on it [12:14] V1: it looks you are working with old code to me [12:15] V1: isn't it client.sessionId now instead of client.id? [12:15] moos3: hrm [12:16] matschaffer has joined the channel [12:18] ay: ACTION likes http://www.jqplot.com/ [12:19] nerdEd has joined the channel [12:19] omarkj: Hmh, I'm building node.js - it builds but the tests fail (make test) on nonexistentFunc not being defined. Has anyone else hit this ? [12:20] omarkj: Oh. [12:20] omarkj: Never mind. [12:20] nolan_d has joined the channel [12:22] omarkj: moos3: [12:22] moos3: ? [12:22] sveimac has joined the channel [12:23] fyskij has joined the channel [12:26] moos3: anyone having issues with chrome 5.0 with websockets? [12:30] zemanel has joined the channel [12:30] zemanel_ has joined the channel [12:32] V1: moos3: what platform [12:33] Dmitry has joined the channel [12:35] paul__ has joined the channel [12:36] moos3: linux [12:36] moos3: 32 bit [12:38] dantalizing has joined the channel [12:38] dantalizing has joined the channel [12:38] kriszyp has joined the channel [12:39] nerdEd has joined the channel [12:39] ph^ has joined the channel [12:40] sonnym has joined the channel [12:42] ThePub has joined the channel [12:45] lachlanhardy has joined the channel [12:53] romainhuet has joined the channel [12:54] wattz: good morning [12:54] fermion has joined the channel [12:54] ditesh|cassini has joined the channel [12:56] fyskij: it's 2:57 PM here [12:56] wattz: well it's 9am here [12:56] fyskij: :D [12:56] wattz: so... how about [12:56] wattz: good afternoon fyskij [12:56] fyskij: thanks [12:56] fyskij: good morning wattz [12:56] wattz: ;) [12:57] ker2x has joined the channel [12:57] ker2x: hey ! initial NodeJS support in JetBrains IDEs should be available by the time of JSConf.eu (in September) \o/ \o/ [12:57] ker2x: (jetbrains = webstorm, phpstorm, intellij idea, ...) [12:58] zapnap has joined the channel [12:59] V1: LOL [12:59] V1: instead of weakinging my validation for speedo :$ I actually made it worse :D [12:59] V1: weakening* [12:59] mitkok has joined the channel [13:02] marek_z has joined the channel [13:03] moos3: i dont get why this is happening uncaught exception: INVALID_STATE_ERR: Web Socket connection has not been established :( [13:04] aubergine_ has joined the channel [13:12] V1: moos3: That can mean 2 things: 1) you don't have flash 2) you are sending data before the connection has been established [13:12] V1: make sure the "connect" has fire before you start transmitting data. [13:13] voxpelli has joined the channel [13:14] pavan_ has joined the channel [13:14] pavan_ has joined the channel [13:15] moos3: k [13:16] V1: Dear mother of god, a shit load of people registered for Speedo.no.de [13:18] Egbert9e9 has joined the channel [13:18] matt_c: ker2x: cool beans! [13:21] jtsnow has joined the channel [13:28] aheckmann has joined the channel [13:29] prettyrobots has joined the channel [13:29] FireFoxIXI has joined the channel [13:34] sschuermann: re [13:36] prettyrobots has joined the channel [13:39] danielzilla has joined the channel [13:39] ajpiano has joined the channel [13:39] V1: Yay! spend another 3 hours debugging time because the clientList in socket.io changed from a array to object <3! [13:39] prettyrobots has left the channel [13:40] wink_: lol [13:40] wink_: :| [13:40] gf3 has joined the channel [13:41] christkv has joined the channel [13:41] matt_c has joined the channel [13:41] V1: Yeah I had a custom broadcasting function in Socket.io because it doesn't support channels, so i had to hack my own method.. So I needed to iterate over the active clients ;9 [13:42] matt_c: V1: I was sketching out some stuff in my head this morning and wondering the same thing. [13:43] V1: I'm glad this was just a quick fix, changing a for loop to a for in.. wait.. I should do Object.keys() instead.. [13:44] V1: Awell it's working again :P [13:46] dipser: why does the documentation doesnt work anymore? [13:48] dipser: (does not work in firefox - chrome works...) [13:49] jacobolus has joined the channel [13:49] V1: The nodejs documentation? It works fine in my firefox [13:50] robinduckett: what do you mean by work? [13:50] robinduckett: load [13:50] robinduckett: ? [13:50] robinduckett: render? [13:50] robinduckett: styled? [13:50] dipser: does not load in ff4b4 [13:50] matclayton has joined the channel [13:50] dipser: nothing is happening: status bar says: Stopped [13:50] dipser: crazy [13:52] dipser: if it is only me, then... go on ;) [13:55] V1: dipser: It works fine in FF 3.6.3, I don't have ff4b4 so I can't check that out for you [13:55] robinduckett: testng [13:55] Sutto has joined the channel [13:55] evanpro has joined the channel [13:58] robinduckett: dipser, works fine in f4b4 on ubuntu [13:58] dipser: ok i will take chrome for the docs [13:58] dipser: thanks for testing [14:03] femtoo has joined the channel [14:03] jherdman has joined the channel [14:04] nerdEd has joined the channel [14:05] [[zz]] has joined the channel [14:06] danielqo has joined the channel [14:06] dipser: another questions, why does my console prints "Tue, 17 Aug 2010 21:40:22 GMT" and my browser "Tue Aug 17 2010 23:40:22 GMT+0200 (CEST)" for stats['ctime'] in the callback of fs.stat(file, callback) [14:08] gryzzly_ has joined the channel [14:09] gryzzly_: hey. if I do: "var mongoose = require('mongoose');" and then "var db = mongoose.connect('mongodb://localhost/db');". why I can get "TypeError: Object [object Object] has no method 'connect'"? [14:09] gryzzly_: in node REPL [14:11] gryzzly_: issuing "require('mongodb');" before defining variables doesn't help: http://pastebin.com/xwCgz7SL [14:14] ben_alman has joined the channel [14:15] gryzzly_: anyone? does mongoose have method "connect"? [14:17] moos3 has joined the channel [14:17] gryzzly_: i mean, probably it has, it's in API on their website. what can be a reason why mogoose.connect could return TypeError: Object has no method 'connect'? [14:17] Zuardi1 has joined the channel [14:17] robinduckett: is mongoose.js in your path? [14:18] robinduckett: otherwise you'd have to do require('./mongoose')l [14:18] robinduckett: l = ; [14:18] dnolen has joined the channel [14:18] gryzzly_: sure, "require('mongoose') returns its object" [14:18] Yuffster has joined the channel [14:18] pengwynn has joined the channel [14:18] robinduckett: do a sys.inspect(mongoose); [14:19] gryzzly_: connect: [Function]\n [14:20] dipser: var mongoose = require('mongoose/').Mongoose, [14:20] dipser: db = mongoose.connect('mongodb://localhost/test'); [14:20] gryzzly_: also if I just do "mongoose" after I defined it, it seems to return correct object, and it lists "connect: [Function] there/ [14:20] gryzzly_: aha! [14:20] softdrink has joined the channel [14:20] dipser: try it [14:20] jchris has joined the channel [14:21] gryzzly_: ther problem was that I only wrote "require('mongoose')", not "require('mongoose').Mongoose" [14:21] gryzzly_: dipser: thanks a lot [14:21] gryzzly_: now it's working, thanks [14:21] dipser: found this here: http://www.learnboost.com/mongoose/ [14:22] mr_daniel has joined the channel [14:22] cferris has joined the channel [14:22] rwaldron has joined the channel [14:24] mr_daniel: Is it possible to 'reload' or 'unrequire' and then require a module again? I read http://jherdman.github.com/2010-04-05/understanding-nodejs-require.html to understand the require-mechanisms of node and commonjs. And I very often modify a file and want to reload it again. And every time I need to kill and open the node repl again [14:25] dshaw has joined the channel [14:26] matclayton has left the channel [14:26] genbit has joined the channel [14:27] mr_daniel: I think I just found the solution here: http://groups.google.com/group/nodejs/browse_thread/thread/dab26747f27c4168?pli=1 [14:28] loincloth has joined the channel [14:29] cnu has joined the channel [14:29] sveisvei has joined the channel [14:30] Blackguard has joined the channel [14:35] niemeyer has joined the channel [14:36] ceej has joined the channel [14:37] stalled has joined the channel [14:42] davidwalsh has joined the channel [14:45] c4milo has joined the channel [14:47] steadicat has joined the channel [14:51] jelveh has joined the channel [14:54] danielzilla has joined the channel [15:01] bradleymeck_ has joined the channel [15:01] jacquesc has joined the channel [15:01] jacquesc: anyone from joyent no.de here? [15:01] nerdEd has joined the channel [15:01] Me1000 has joined the channel [15:02] rwaldron_ has joined the channel [15:03] Alex-SF has joined the channel [15:03] danielzilla: jacquesc: Dunno if it's still there, but #joyent had peeps in it during the contest. [15:04] aurynn has joined the channel [15:04] syco-free has joined the channel [15:04] jacquesc: daniellindsley: cool, trying that out as well [15:04] jacquesc: thx [15:04] jacquesc: any users of no.de? [15:04] gilaniali has joined the channel [15:04] Noya_ has joined the channel [15:04] nerdEd_ has joined the channel [15:05] rubydiamond_ has joined the channel [15:05] Tim_Smart: jacquesc: #joyent :p [15:05] jacquesc: hehe. alright fine [15:05] bradleymeck_: i still wanna find pricing, joyent tends to trend pretty pricy [15:05] stepheneb has joined the channel [15:05] codysoyland_ has joined the channel [15:06] stepheneb has joined the channel [15:06] jacquesc: bradleymeck_: hmm, they havent announced that yet? [15:07] Nohryb has joined the channel [15:07] bradleymeck_: havent seen any, and ive looked [15:07] zomgbie_ has joined the channel [15:07] nerdEd_ has joined the channel [15:07] drudge: webbynode.com seems decent so far, got a test vps with them [15:07] jacquesc: interesting. looks pretty cool [15:08] drudge: regarding node, check this out http://blog.webbynode.com/2010/08/26/whats-down-the-pipeline/ [15:09] Guest10496: anyone know the cheapest place to buy a domain, or the cheapest domain extensions? [15:09] matschaffer: drudge: thanks for that. webby node looks cheap and potentially awesome [15:09] drudge: matschaffer: the github integration is cool [15:10] matschaffer: even better :) [15:10] matschaffer: did you have to pay upfront? [15:10] matschaffer: like for a year, etc [15:11] drudge: no, by month is fine [15:12] matschaffer: hotness [15:13] malkomalko has joined the channel [15:13] jakehow has joined the channel [15:14] matschaffer: their style cracks me up too http://rapp.webbynode.com/ [15:15] pdelgallego has joined the channel [15:15] rwaldron has joined the channel [15:15] _figital has joined the channel [15:16] boaz has joined the channel [15:16] nerdEd has joined the channel [15:21] tj has joined the channel [15:21] matt_c has joined the channel [15:22] zemanel has joined the channel [15:23] zemanel: im back [15:23] zemanel: numbers still looking good [15:26] Anubis has joined the channel [15:28] V1_ has joined the channel [15:28] fyskij has joined the channel [15:29] robotarmy has joined the channel [15:30] Anubis: anyone here built node on mediatemple shared gs? [15:30] evanpro has joined the channel [15:31] Anubis: i am getting the same error as this person: http://groups.google.com/group/nodejs/browse_thread/thread/bb4e80987e6407d9/d5f40cf8ed488d83?lnk=gst&q=shared+gs#d5f40cf8ed488d83, but am unsure what needs to be done [15:31] maushu has joined the channel [15:31] edw has joined the channel [15:31] jacquesc: matschaffer: haha. i'm surprised they let that one through [15:32] confoocious has joined the channel [15:33] jacquesc: matschaffer: that page could be interpreted in many terrible ways :-) [15:34] tahu has joined the channel [15:34] matschaffer: jacquesc: oh it sure could. [15:35] jacquesc: they must not be from US :-) [15:36] jacquesc: nope, they are. FL [15:37] jacquesc: hope they are bunkered down preparing for the inevitable NAACP invasion [15:37] tmpvar has joined the channel [15:38] dmcquay has joined the channel [15:40] romainhuet_ has joined the channel [15:42] gryzzly_: how can I drop a db with mongoose? [15:42] gryzzly_: say I have "var db = mongoose.connect('mongodb://localhost/blog-express-mongoose');" [15:44] edw: Anyone have any tips for auto-reloading a source file to avoid constantly manualy killing and restarting `node` from the console? [15:45] mu-hannibal has joined the channel [15:46] daniellindsley: edw: From earlier, http://groups.google.com/group/nodejs/browse_thread/thread/dab26747f27c4168?pli=1 might be helpful. [15:46] bradleymeck_: in vows is there a way to say that one test depends upon a different test? [15:46] p6 has joined the channel [15:46] bradleymeck_: oh, nm [15:47] genbit: gryzzly_: db.dropDatabase [15:48] bradleymeck_: mmmm, well that wasnt what was expected, is there a way to get a parent context's callbacked arguments? [15:49] voxpelli has joined the channel [15:49] gryzzly_: genbit: thanks! that works. [15:51] danielzilla has joined the channel [15:57] Zuardi has joined the channel [16:00] stephank has joined the channel [16:01] ly- has joined the channel [16:02] mjijackson has joined the channel [16:03] confoocious has joined the channel [16:04] confoocious has joined the channel [16:04] tyfighter has joined the channel [16:06] zemanel: did i win something yet? [16:07] saikat has joined the channel [16:08] bradleymeck_: my hand in marriage? no [16:09] zemanel: marriage.js? [16:09] bradleymeck_: divorce.php [16:10] zemanel: dont use the p word :( [16:10] sschuermann has joined the channel [16:11] jesusabdullah: var marriage = require('marriage').Arranged() [16:12] zemanel: var marriage = new function()( return new function()(whashdisshes))) [16:12] gerred has joined the channel [16:14] maushu: http://codeboff.in/f/choose [16:14] maushu: Ouch, so many fails. [16:15] dnolen_ has joined the channel [16:16] saikat_ has joined the channel [16:19] bmavity has joined the channel [16:19] benburkert has joined the channel [16:20] cnu has joined the channel [16:20] loincloth has joined the channel [16:27] dgathright has joined the channel [16:28] bpot has joined the channel [16:28] capndiesel has joined the channel [16:29] mikeal has joined the channel [16:30] derferman has joined the channel [16:32] bpot_ has joined the channel [16:33] christkv has joined the channel [16:34] inimino: bradleymeck_ ⋱ Most of those bugs are fixed, there are a few left: http://boshi.inimino.org/3box/PanPG/js_pp/test.js [16:41] jashkenas has joined the channel [16:41] jashkenas has left the channel [16:41] Guest10496: would anyone be willing to try out an application ive developed? [16:43] _TS has joined the channel [16:45] visnup has joined the channel [16:45] dshaw: Guest10496: post a link [16:46] jchris has joined the channel [16:47] nefD: woowooot.. sessions + socket.io = awesome (finally) [16:48] pgriess has joined the channel [16:49] muk_mb: how difficult is it to add login/authorization to a node site? [16:49] CrabDude: nefD did you have to hack that or are you using that built in somewhere? [16:49] claudiu__ has joined the channel [16:49] dshaw: nefD: what are you using to define your sessions? [16:49] nefD: im using express plus the mongodb session middleware [16:50] CrabDude: for nodeko we used express sessions, and had the socket initialization pass the sessID back [16:50] nefD: then in socket, im pulling the id of the session through the client's cookies, which get passed through client.request.headers.cookie [16:50] nefD: and im parsing the cookie with parseCookie to get an object with the session id in it [16:50] CrabDude: interesting... we'll have to try that [16:50] nefD: and assigning that session id to the client object in sockets connect event [16:50] dshaw: muk_mb: npm install login [16:50] dshaw: muk_mb: http://github.com/voodootikigod/login.js [16:51] c4milo has joined the channel [16:51] Guest10496: dshaw: http://livewrite.wakawakafoobar.info/ [16:51] Guest10496: so [16:52] Guest10496: as long as your browser works with socket.io [16:52] dshaw: nefD: github or gist? [16:52] siculars has joined the channel [16:52] LowValueTarget has joined the channel [16:52] LowValueTarget: Do you need to develop your own protocol when using websockets? [16:52] Guest10496: you can see what others are writing as they write, char by char [16:52] nefD: dshaw: for the example code im using? or the mongodb session store thingie? [16:52] CrabDude: nefD is the express MongoDB sessions the same as the built in express.session / MemoryStore()? [16:52] LowValueTarget: Websockets is merely a transport for data [16:52] LowValueTarget: It doesnt have concepts of events does it? [16:53] nefD: CrabDude: It works pretty much exactly the same, it just uses mongo for the storage and access [16:53] sschuermann: ACTION notes to himself that docs suck bigtime  [16:53] sschuermann: ACTION writing own docs this is  [16:53] dshaw: nefD: yeah, I'd love to check that out. [16:53] CrabDude: nefD ahh, any preference? [16:54] p6 has joined the channel [16:54] p6 has joined the channel [16:54] webr3: websockets suck big time :( [16:54] nefD: CrabDude: http://gist.github.com/503680 - note: I had to edit this slightly, because i have node-mongodb-native installed via npm and not local to my express app.. i also had to adjust the path for the session include, because i stashed it in the same dir as store.js [16:54] LowValueTarget: why webr3 [16:54] dshaw: Guest10496: Seizure inducing background. :) [16:54] nefD: i like mongo for session storage simply because it keeps open the opportunity to span operation across multiple servers or script instances [16:54] nefD: dshaw: Gimme just a few, i'll toss it up on pastebin.. [16:54] Guest10496: dshaw: yea sorry, im not much of a designer [16:55] webr3: LowValueTarget, because its a work around not a solution [16:55] dshaw: nefD: cool. tks [16:55] tjholowaychuk: netfD: connect-redis would be good too [16:55] moos3: has any made a module for node that you can telnet into a server and send it information to push to clients [16:55] tjholowaychuk: for sessions [16:55] MikhX has joined the channel [16:56] CrabDude: nefD nice, thx, i'll check it out [16:56] nefD: tjholowaychuk: Yeah, I haven't messed with redis too much, but I hear great things.. I have tried the express redis session middleware successfully, its just that I know a little bit of mongo already [16:56] mjr_ has joined the channel [16:56] tjholowaychuk: nefD: yeah if you are using mongo already it might be a good fit :) [16:56] jchris has joined the channel [16:57] webr3: nefD, redis API is ultra simple - worth checking out, (you could learn it in an hour) [16:57] CrabDude: any opinions from anyone on Mongo vs Redis vs Cassandra? [16:58] backthatzachup has joined the channel [16:58] feroz_ has joined the channel [16:58] nefD: well, im coming from a heavy mysql/rmdb background, so mongo makes for an easy transition into the schemaless world [16:58] _figital has joined the channel [16:58] derferman has joined the channel [16:59] benv has joined the channel [16:59] daniellindsley: <3 Redis. [17:00] sschuermann: anyone got a idea how i can make a ubuntu linux log connection attempts? especailly ones that get no answer [17:00] dshaw: Guest10496: is it suppose to live update public viewing url's data? [17:00] webr3: CrabDude, redis is a KV store in memory it's got consistency and partition tolerance, mongo also has partition tolerance and consitency but it's a document oriented store, and cassandra is a high availability partition tolerant column oriented storage solution [17:00] sschuermann: localhost->localhost it ist [17:00] sschuermann: -t [17:00] daniellindsley: CrabDude: I haven't found good Cassandra bindings for Node. Usually depend on running an EventMachine / Twisted daemon that talks to Cass. [17:00] sschuermann: tjholowaychuk: another try figuring out what is wrong with the vm [17:00] webr3: CrabDude, if I were you, think about mongo vs cassandra vs couch, then augment with redis acting like a cache [17:00] samsonjs has joined the channel [17:00] figital has joined the channel [17:00] CrabDude: daniellindsley ya, i was just noticing that [17:00] tjholowaychuk: sschuermann: good luck :) [17:01] benburkert has joined the channel [17:02] webr3: CrabDude, for a quick answer use Redis and Mongo, redis for fast lookups (simple get put etc) and mongo for scaling, persitance and search functionality :) [17:02] mjr_: Speaking of redis, homebrew updated to redis 2. [17:02] CrabDude: webr3 hmmmm, i like where you're going with that, maybe start with mongo and implement redis to improve perf when i get the chance [17:02] Alex-SF has joined the channel [17:03] nefD: dshaw: http://pastebin.com/4GK6JLCj - disclaimer: I don't claim to be a node whiz, but it works.. i added a few comments in relevant spots to explain whats going on [17:03] muk_mb: dshaw: [17:03] muk_mb: thanks [17:03] tjholowaychuk: mjr_: weird i still get 1.2.6 or something [17:04] figital has joined the channel [17:04] mjr_: tjholowaychuk: it just updated this morning I think. [17:04] moos3: anyone have a really simple example of websockets ? [17:04] LowValueTarget: yes moos3 [17:04] webr3: CrabDude, yeah or the other way; view redis as ultra fast io cache for both sides; forget about indexing etc in it though, not worth the hassle - remember redis is focussed to be like memcached etc, not like a replacement for mysql [17:05] steadicat has joined the channel [17:05] moos3: LowValueTarget, i'm trying to figure this stuff out so i can cpu information shown on a web page in real tiem [17:05] webr3: moos3, node specific or in general? [17:06] CrabDude: webr3 I'll keep that in mind, I'm building a better "Related Videos" sidebar for Mefeedia.com, and we nee need something faster than Sphinx queries on a 32 million row DB [17:06] CrabDude: *mysql [17:06] dshaw: muk_mb: np [17:06] moos3: node specific [17:06] moos3: i have the node-websocket code [17:06] dshaw: nefD: thanks. Really appreciate it [17:07] MikhX has joined the channel [17:07] moos3: webr3, i have a server that i wrote but i can't get anything to connect so i figured i'd just rewrite it [17:09] MikhX has joined the channel [17:10] nefD: dshaw: No prob [17:10] dshaw: wakawaka: you running web sockets with that app [17:10] wakawaka: yup, socket.io [17:10] nefD: tjholowaychuk: Is there a way to manually fetch a session object with a given session id outside of a server event? [17:11] wakawaka: dshaw: is it working on your end? [17:11] sschuermann: ACTION quicklearns tcpdump  [17:11] tjholowaychuk: nefD: hmm not at the moment really no, the "store" is only exposed to the request ATM [17:11] gilaniali has joined the channel [17:12] nefD: tjholowaychuk: blargh! >_< [17:12] tjholowaychuk: nefD: we could could export it once assigned, to access via connect.session.store [17:12] dshaw: wakawaka: I have to save, which seems like the app underutilizes node+websockets for sharing between views or is it not working right for me? [17:13] nefD: tjholowaychuk: Hmm yeah, that'd be ideal.. sounds like something I could patch in on my end fairly easily (im guessing) [17:13] tjholowaychuk: nefD: ya shouldnt be more than a line [17:14] wakawaka: dshaw: hm, if you have it open in two browsers, one at create/id and the other at story/id, you should be able to what you write in create on the story page as you write it [17:14] wakawaka: using the socket to broadcast keystrokes on the create page [17:15] moos3: any have a gist of a websocket node example? [17:15] wakawaka: dshaw: http://livewrite.wakawakafoobar.info/story/2cb1a6e4efce5baedd34cc4918652589 [17:16] wattz: where's my couchdb guy!? [17:16] webr3: CrabDude, no reason not to use mysql if you've got it already, just build up a full hashmap of related posts and stick it in redis :) [17:17] sschuermann: ACTION needs to kill some people in q3a before he continues  [17:17] CrabDude: webr3 ya, that's what i meant [17:17] daniellindsley: wattz: I wouldn't recommend Couch. I've been doing some benching lately, threw 10M docs at Couch and it was taking 15-30 minutes to execute a single simple filtered view over the dataset. [17:17] CrabDude: like a cache [17:17] CrabDude: oh [17:17] wattz: ahh [17:17] CrabDude: right right, instead of a full mongo [17:18] webr3: yes :) [17:18] wattz: daniellindsley: any suggestions for a nosql/schemaless? [17:18] CrabDude: hmmm, es possible [17:18] webr3: then on save/delete of a video just update the cache [17:18] matt_c: wattz: loaded question sir. [17:18] nefD: tjholowaychuk: Any tips on where I might want to look for exposing the session store via connect.session.store? [17:18] webr3: vid.id => {hash of relations} - simples [17:18] wattz: well im just building a rating system i want to be a bit more nimble than straight sql [17:18] tjholowaychuk: nefD: should be ./lib/connect/middleware/session.js [17:19] tjholowaychuk: then just export it [17:19] nefD: tjholowaychuk: ah, ok.. wasnt sure if i needed to be looking there or server.js itself [17:19] jacobolus has joined the channel [17:19] brianmario has joined the channel [17:19] matt_c: wattz: the short answer IMHO is "it depends". If you want nimble you're probably looking for the schemales nosql variety as opposed to something like cassandra that requires you to do a lot of data model thinking up front. [17:19] daniellindsley: wattz: It sucks. I hate everything. Cassandra is OK read/write but adding/removing to the cluster can suck plus no Node support. Mongo is fast to write, OK-ish to read. Couch can be fast to write, slow to read but awesome API. Redis is fast & awesome but not a good long-term storage solution. [17:20] daniellindsley: wattz: Voldemort doesn't seem to have much buy-in. [17:20] daniellindsley: wattz: Riak was choking on me. Disco is difficult to setup and not good for lots of small records. [17:21] daniellindsley: wattz: Postgres / MySQL (used a la FriendFeed) are better than you'd think but I'm choking on RAM limitations on my end. [17:21] matt_c: ACTION pictures daniellindsley's "this is what I did on my summer vacation" [17:21] mw__ has joined the channel [17:21] daniellindsley: ACTION stops publicly grumbling now and moves on. [17:21] thejefflarson has joined the channel [17:22] wattz: daniellindsley: ahh, awesome [17:22] wattz: thanx for the heads up [17:22] wattz: I like Hadoop/Hbase for large systems [17:22] wattz: but this isn't a large system [17:22] wattz: so i will just use mysql [17:22] daniellindsley: wattz: Sounds sane to me. [17:23] moos3: wakawaka, thats pretty cool [17:24] nerdEd has joined the channel [17:24] huyhong has joined the channel [17:25] codetonowhere1 has joined the channel [17:26] stephank: Is it possible to get a list of instances inheriting from a prototype? Or alternatively, is there a way to create weak references? [17:27] moos3: wakawaka, http://gist.github.com/564221 [17:27] nefD: tjholowaychuk: Having trouble wrapping my head around this.. what would the proper export look like, and where would I want to stash it? [17:28] mattikus has joined the channel [17:28] tjholowaychuk: nefD: one sec ill patch it [17:28] nefD: tjholowaychuk: you are *the man* [17:28] zomgbie has joined the channel [17:29] rnewson has joined the channel [17:29] tobiassjosten has joined the channel [17:29] tjholowaychuk: nefD: the only problem with exporting the store, is that there are times when you wont just have one connect app (or session store) in a process [17:29] tjholowaychuk: so its a little sketchy [17:30] nefD: ah.. hm.. [17:30] bradleymeck_: inimino im writing up a vows test framework for it for later [17:30] bradleymeck_: following : https://developer.mozilla.org/en/SpiderMonkey/Parser_API right? [17:30] zemanel: what are you using for templates? [17:30] tjholowaychuk: nefD: http://gist.github.com/564226 [17:30] tjholowaychuk: shoul do it [17:30] nefD: so i guess a better long term solution would be to have some sort of function which could manually fetch the mongo/redis/memory session object if given the session id rather than trying to use the session store itself? [17:31] nefD: thanks much for that gist [17:31] moos3: wakawaka, what you think? [17:31] wakawaka: moos3: so what's the problem you're having? are you getting any errors? [17:31] wakawaka: or just not the expected output? [17:31] moos3: here is my client [17:31] gryzzly_: is there something like "syncdb" for mongoose? or is it better just to drop the db each time I change the model? [17:32] vnguyen has joined the channel [17:32] moos3: wakawaka, http://gist.github.com/563793 [17:33] wakawaka: moos3: is ready() firing? [17:33] moos3: when i click start i get a error [17:34] moos3: wakawaka, i get Uncaught Error: INVALID_STATE_ERR: DOM Exception 11 [17:34] moos3: on line 113 [17:34] wakawaka: ah that's a very useful error message haha [17:35] moos3: lol [17:35] moos3: i have been trying to figure out what i did wrong [17:37] wakawaka: right, where is webSocket.send(0) supposed to be sending data? it doesn't look like your server has a message listener [17:37] altamic has joined the channel [17:39] moos3: aww so i need to add a message listener [17:39] danielqo has joined the channel [17:39] wakawaka: yes i think so [17:39] mjr_: daniellindsley: what's a thinking man to do about this database selection quandary? [17:40] daniellindsley: mjr_: I'm at the cry-in-my-hands state. [17:40] mjr_: I'm sort of grappling with these same issues right now. [17:40] dilvie: stephank: Maybe if you need a list of instances, it might be better to use a constructor function to instatiate your instances (beacause it's automatically executed at instantiation), or create an init() method that you need to remember to call at object creation time. Whichever you decide, you can have the new instance register itself in the init function. [17:40] inimino: bradleymeck_ ⋱ Mostly; the intentional deviations are in the source. [17:40] amerine has joined the channel [17:40] bradleymeck_: k [17:40] mjr_: daniellindsley: What I sort of like so far is redis/memcache + CouchDB, but I haven't gotten very far with that setup yet. [17:41] moos3: wakawaka, i dont think node-websocket-server has a message event [17:42] daniellindsley: mjr_: Definitely Redis at the front for us. But I don't know about cold storage. I want so badly to like Couch but the reporting interface I'm building can't expect a user to wait 30 minutes for a single page. [17:42] mr_daniel has joined the channel [17:42] daniellindsley: mjr_: Dunno if Cloudant's BigCouch would help with that or no. [17:43] paulwe has joined the channel [17:43] moos3: wakawaka, i guess i could rewrite it with socket.io [17:44] vnguyen has left the channel [17:44] vnguyen has joined the channel [17:46] ryanfitz has joined the channel [17:49] LowValueTarget: hmmm.... im running a node socket serer at the house [17:49] LowValueTarget: can connect there just fine [17:50] LowValueTarget: run the same code on this computer and no go [17:51] patientfox: what're my options for ORMs in node land? [17:53] romainhuet has joined the channel [17:53] huyhong has left the channel [17:54] jacquesc has left the channel [17:54] marinhobrandao has joined the channel [17:55] marinhobrandao: hey is there anybody has already worked with Node.JS + MongoDB, that could help me with a question? [17:55] mikeal has joined the channel [17:56] nerdEd_ has joined the channel [17:57] mjijackson has joined the channel [17:58] FuzzYspo0N has joined the channel [18:00] genbit: marinhobrandao: what is your question? [18:01] jelveh has joined the channel [18:01] Tobsn has joined the channel [18:03] LowValueTarget: why am i getting 401 reponse code when trying to connect to remote node server [18:04] FuzzYspo0N: first ask what 401 means :) [18:04] isaacs has joined the channel [18:04] LowValueTarget: unauthorized [18:04] nwhite has joined the channel [18:04] LowValueTarget: perms are right on the files [18:04] webr3: lol think yuo got your answer [18:04] LowValueTarget: sigh [18:04] isaacs: if you haven't seen this yet, you should: http://developer.yahoo.com/yui/theater/video.php?v=crockford-loopage [18:04] rauchg_ has joined the channel [18:04] p6 has joined the channel [18:05] FuzzYspo0N: LowValueTarget: i found that if you do know what should happen, and its not, its likely someone wont be able to guess without code/more info [18:05] loincloth has joined the channel [18:06] dgathright has joined the channel [18:07] LowValueTarget: FuzzYspo0N: good advice [18:07] LowValueTarget: FuzzYspo0N: I get this in my proxy debugger [18:07] LowValueTarget: SSL: Unrecognized SSL message, plaintext connection? [18:07] sschuermann: any idea if i can get the wrath sourcecode already? the one from knockout [18:07] maushu has joined the channel [18:07] robotarmy has joined the channel [18:07] LowValueTarget: does socket.io use ssl by default [18:08] FuzzYspo0N: sschuermann: github? [18:09] FuzzYspo0N: sschuermann: i saw a link on the bottom of the entrants page [18:09] megana has joined the channel [18:09] FuzzYspo0N: hmm seems to be http://github.com/nko/website [18:09] FuzzYspo0N: so guess not [18:09] FuzzYspo0N: LowValueTarget: did you build node? [18:10] LowValueTarget: I grabbed it from homebrew [18:10] LowValueTarget: it compiled locally on my system, yes [18:10] sschuermann: Fuzzy, ty [18:10] samsonjs_ has joined the channel [18:10] Adora has joined the channel [18:11] megana: I don't understand how to do http sessions :( [18:11] FuzzYspo0N: megana: ask something specific about them :) [18:11] FuzzYspo0N: LowValueTarget: looking into it, but it sounds googlable (your error) [18:11] LowValueTarget: yeah FuzzYspo0N, i'm looking as well [18:11] megana: when I say request.session.bleh = "bleh"; I get an error that session is null [18:12] dnolen_ has joined the channel [18:12] sschuermann: wrath: to bg requirements anyway [18:13] paulwe has joined the channel [18:13] megana: fuzzyspo0n [18:13] gilaniali has joined the channel [18:14] samsonjs_ has joined the channel [18:15] LowValueTarget: FuzzYspo0N: the connection is going over VPN but that should be transparent to the noder server [18:15] LowValueTarget: *node [18:15] samsonjs has joined the channel [18:15] FuzzYspo0N: megana: is request null perhaps [18:15] nerdEd has joined the channel [18:16] samsonjs has joined the channel [18:17] megana: no, request is not null [18:17] visnup: winners posted to node.js knockout [18:17] samsonjs has joined the channel [18:18] bradleymeck_: megana what session library are you using? [18:18] FuzzYspo0N: hax, visnup thanks [18:18] FuzzYspo0N: LowValueTarget: might not be as direct, but look at the last 2 there : http://www.javakb.com/Uwe/Forum.aspx/java-security/1190/SSLException-Unrecognized-SSL-message-plaintext-connection [18:18] FuzzYspo0N: very last 2 posts seem to give some insight [18:18] rnewson has joined the channel [18:18] rnewson has joined the channel [18:18] samsonjs has joined the channel [18:19] mjr_: rnewson: what new shortcomings in node have you discovered that are blocking you? [18:19] bradleymeck_: megana if you are using connect's session middleware be sure you have cookieDecoder before it [18:19] megana: oh... [18:19] megana: where do I put that bradleymeck_ [18:19] samsonjs has joined the channel [18:20] megana: I just have a module like this: http://pastebin.com/xurhTAA4 [18:20] tjholowaychuk: megana: just above the session one [18:20] bradleymeck_: aaah, express [18:21] tjholowaychuk: that is not express [18:21] tjholowaychuk: thats just connect w/ the router [18:21] megana: I thought I was using express o_O [18:21] Astro: winners are out [18:21] bradleymeck_: oh, eh guess i dont have it all w/ it today [18:21] drudge: express is built on connect [18:22] tjholowaychuk: megana: maybe you are, but if you are you are constructing your app in a weird way :( [18:22] megana: I feel like as soon as I call express.createServer that I am [18:22] tjholowaychuk: k yeah i guess you are, saw the res.send() etc [18:22] megana: well... I made up my own way since nobody else seems to know a better way :P [18:23] tjholowaychuk: there are tons of examples in ./examples [18:23] megana: oh [18:23] drudge: yeah the blog and mvc examples are nice [18:23] FuzzYspo0N: haha :) [18:23] megana: okay I will look [18:23] FuzzYspo0N: im laughing cos i didnt see that folder either till now [18:23] megana: but... why is req.session null? [18:24] megana: in the documentation it says something about dynamic helpers [18:24] megana: but that seems to be for views [18:24] tjholowaychuk: cant say without seeing all of it, but if you have app.use(express.cookieDecoder()) above app.use(express.session()) [18:24] tjholowaychuk: you should be good to go [18:24] megana: I don't think I do [18:26] megana: I'm using connect.errorHandler, but it seems like it can't recover from every error? [18:26] tilgovi has joined the channel [18:26] tjholowaychuk: not uncaught stuff [18:26] megana: like req.session being null upset it enough to stop [18:26] megana: so I have to put everything in a try block? [18:27] tjholowaychuk: pretty much, that is the nature of our little async world [18:27] megana: around each action method? [18:27] tjholowaychuk: but for example app.get('/', function(){ throw new Error('fail') }) [18:27] tjholowaychuk: will catch [18:27] tjholowaychuk: express does this for you when it can but that is not always the case [18:28] onar: any suggestions on the best smtp mailer out there? [18:28] megana: so, why can't express catch all the exceptions occuring in an action method?? [18:28] megana: qmail is okay [18:28] danielqo has joined the channel [18:28] tjholowaychuk: because node is async [18:29] megana: ohhhhhhh I see [18:29] tjholowaychuk: its not possible, you lose context [18:29] megana: so it was because the exception was thrown outside of the try block [18:29] aslakhellesoy has joined the channel [18:30] megana: it's very strange passing all these callback functions everywhere [18:30] tjholowaychuk: you get used to it [18:30] sschuermann: you will get used to it as soon as you find out that it's a lot more "in place" than defining private methods or stufflike that [18:31] tjholowaychuk: seeing sync stuff confuses me now, seems wrong that hitting a database etc can be sync [18:31] FuzzYspo0N: lol tjholowaychuk [18:31] sschuermann: ack [18:31] megana: lol [18:31] ehaas: back [18:31] sschuermann: my hole php world seems wrong atm ;) [18:31] megana: well it is weird that sync would just sit there and block 99% of its existance I imagine [18:32] tjholowaychuk: pretty much [18:33] FuzzYspo0N: im still rewrapping my logic into node as a game server [18:34] FuzzYspo0N: its so much better but it takes figuring things out from the other end [18:34] FuzzYspo0N: <3 [18:34] megana: it seems like these nodeKO apps like to crash google chrome [18:34] megana: it's probably because they're using raphael [18:34] mjr_: A lot of things seem to crash Chrome for me lately. [18:35] megana: like what? [18:35] mjr_: I dunno, I just get a lot of "Aw, snap" [18:35] megana: lol [18:35] mjr_: Often when I come back to chrome after lunch or something. [18:35] mjijackson has joined the channel [18:35] FuzzYspo0N: i wanna punch that little face [18:35] FuzzYspo0N: cos it appears when you afk [18:35] FuzzYspo0N: yea, after lunch [18:36] mjr_: I wonder why that is. [18:36] isaacs: why are the most awesome web browsers so routinely shitty? [18:36] isaacs: fucking web browsers. seriously. [18:36] isaacs: get your act together. [18:36] bradleymeck_: haha ie6 = win [18:37] isaacs: of course, in their defense, i almost never use a production browser. [18:37] isaacs: webkit nightly, chrome dev channel, and ff 4 beta [18:37] FuzzYspo0N: yea same isaacs [18:37] sveimac has joined the channel [18:37] FuzzYspo0N: though, no FF, opera [18:37] drudge: nowadays i don't think "production browser" really exists [18:37] isaacs: i have all 3 in the dock so that i can get angry and switch to the other one. [18:37] drudge: they are all buggy as hell [18:37] FuzzYspo0N: rofl, rage browsing [18:37] isaacs: FuzzYspo0N: lol, yeah, exactly [18:38] isaacs: actually, i remove them from the dock when they piss me off. [18:38] benv: http://nodeknockout.posterous.com/and-the-winners-are [18:38] isaacs: the little ">poof<" is very satisfying [18:38] mjr_: Yeah, that'll teach 'em. [18:38] streampunk has joined the channel [18:38] herbySk: isaacs: :-) [18:39] bradleymeck_: im waiting for the cluster f that "strict mode" will bring to js [18:39] isaacs: webkit actually seems to be the most reliably stable, but with all the node ko stuff i've been in chrome a lot [18:40] mjr_: Why are there all of those strikethroughs on the NKO results? [18:40] mjr_: Are you not allowed to win more than one category? [18:40] jakehow has joined the channel [18:44] isaacs: mjr_: that's how i read it... [18:45] isaacs: mjr_: it'd be kind of messed up to just give ALL the prizes to swarmation [18:45] justin_ has joined the channel [18:46] admc has joined the channel [18:46] isaacs: also, you know, i was kind of skeptical that there were too many judges, but actually, the problem seemed to be that all the entries are some kind of "something something social websockets something", and there just weren't enough people connected to most of them. [18:46] mjr_: or all the prizes to mape [18:46] FuzzYspo0N: how can more judges be bad? [18:46] isaacs: FuzzYspo0N: well, i mean, imagine if there were 200 judges and 3 entries. [18:46] mikekelly: hmm - anyone here making use of jsgi-node ? [18:47] isaacs: FuzzYspo0N: it sort of makes it seem silly to have this big long "judges" page or whateer. [18:47] FuzzYspo0N: isaacs: maybe but it would be far more balanced i think? [18:47] isaacs: FuzzYspo0N: and then it's hard to have specific reasonable criteria for judging, people dont' take it as seriously, etc [18:47] mjr_: Yeah, I thought there were too many judges as well, but I guess a lot of the famous people might end up getting busy, forgetting ,etc. [18:47] isaacs: FuzzYspo0N: you end up judging everything based on how pretty it is in the first 2 seconds. [18:47] ryancnelson has joined the channel [18:47] FuzzYspo0N: isaacs: hmm perhaps [18:48] isaacs: FuzzYspo0N: and it's kind of a shame to judge apps that way, but i guess that simulates the irl user experience, so who knows [18:48] isaacs: pros/cons/etc [18:48] ryancnelson: mape: are you around? [18:48] FuzzYspo0N: yea, is there a "this is how we judged" ? [18:48] aslakhellesoy has joined the channel [18:49] mape: ryancnelson: yeah? [18:49] ryancnelson: looks like bladderblock's having trouble? [18:49] mape: yeah probly, 1sec [18:49] mape: ryancnelson: should work now [18:49] ryancnelson: :) [18:50] devneal has joined the channel [18:50] ryancnelson: did you just bounce it? [18:50] matt_c: mape: bladderblock is awesome. [18:51] matt_c: ACTION was blown away by just about every knockout entry he checked out. [18:51] mape: matt_c: Thanks :) [18:51] FuzzYspo0N: yea it is great [18:52] mjijackson has joined the channel [18:52] mjr_: The amount of awesome people can come up with in 48 hours is humbling. [18:53] mape: mjr_: Seems the one who did well planned ahead :) [18:53] mjr_: well, sure, ut still [18:53] ryancnelson: they announced the winners, so we were checking who'd fallen down [18:53] ryancnelson: (i'm at joyent) [18:53] mjr_: ryancnelson: ops to the rescue! [18:54] JimBastard has joined the channel [18:55] dgathright has joined the channel [18:55] V1_ has joined the channel [18:56] dipser: mape congrats for 2nd place [18:57] tjholowaychuk: isaacs: does npm have some kind of global hook(s)? for example if for everything I install, I wanted to run dox on it and generate documentation? [18:57] evanpro has joined the channel [18:57] mape: dipser: 2nd place? [18:57] isaacs: tjholowaychuk: yeah. {root}/.npm/.hooks/postinstall [18:57] tjholowaychuk: isaacs: wicked thanks [18:58] V1: mape congrats on first place solo :p [18:58] mape: V1: hehe thansk [18:58] isaacs: tjholowaychuk: check out `npm help scripts` for the list of script names. (it's the same as the "scripts" hash in your package.json) [18:58] dipser: oh 1. [18:58] dipser: sorry ;) [18:58] V1: dipser: I'm second solo :p [18:58] FuzzYspo0N: lol owned [18:58] tjholowaychuk: isaacs: will do [18:58] isaacs: tjholowaychuk: note that this will *prevent the installation* of anything if the script exits non-0 [18:58] tjholowaychuk: fair enough [18:59] isaacs: tjholowaychuk: it's very easy to srsly screw up your npm install. so... i don't really encourage that. but i presume you probably know what you're doing kinda ;) [18:59] tjholowaychuk: yup no worries lol [19:00] drudge: maybe [19:00] dipser: gz v1 ;) [19:01] V1: thanks :p It's like the number #1 position for the losers, so i'm happy with that :D, [19:01] FuzzYspo0N: V1: too much jerry [19:01] FuzzYspo0N: but good job [19:01] FuzzYspo0N: on the entry [19:02] dipser: :P [19:02] V1: FuzzYspo0N: Thanks, I'm glad i got this far. I even managed to find sponsoring to continue development of it. [19:02] noahcampbell has joined the channel [19:02] FuzzYspo0N: V1: way cool [19:03] isaacs: tjholowaychuk: if you write a hook script, you'll want to make sure to check out all the npm_ env vars to see what is going on, and i think the cwd is set to the package root if possible. Good Practice is to only touch that one package. [19:03] tjholowaychuk: isaacs: sounds good thanks man [19:03] isaacs: tjholowaychuk: and put bins in process.env.npm_config_binroot rather than /usr/local/bin, etc. [19:03] mjr_: V1: your project is really cool. I couldn't ever make it work, but I love the idea. I hope you get to keep working on it. [19:04] rnewson: mjr_: interesting that you ask. I recently had to disable keep-alive as it was causing instability. [19:04] V1: mjr_: I'm working on Google Chrome support now in windows. That's currently the only bug that's left on my list :) [19:04] sschuermann: anything else for validation avail than schema.js ? http://github.com/akidee/schema.js [19:04] mjr_: V1: should it be working now? I have the script tag on ranney.com, and I don't ever see updates. [19:04] jimmybaker has joined the channel [19:05] V1: it works there mjr_ [19:05] mjr_: Oddly, I do see heatmap updates from other people [19:05] mjr_: But none from my other browser window [19:06] rnewson: mjr_: other than that, I'm investigating occasional high latency from nodeloadlib.js (http benchmarking) which might be related to V8 GC (nowhere near confirmed on that). [19:06] mjr_: I have Safari and Chrome open to the same page, then the konami code in Safari. My mouse tracks from Chrome don't seem to be going in. [19:06] V1: maybe click around a few times [19:06] mjr_: rnewson: are you coming to couchcamp? [19:06] rnewson: mjr_: I am! [19:07] V1: http://twitpic.com/2kwioi/full <-- does look cool though ;P [19:07] FuzzYspo0N: im so glad i found other v8 devs, man its been too long [19:07] gerred has joined the channel [19:07] mjr_: rnewson: you can complain about node to me there! [19:07] rnewson: mjr_: count on it :) [19:07] mscdex: Hell will be unfreezing soon! Duke Nukem Forever is going to be completed and released by Gearbox in the next year or so [19:07] FuzzYspo0N: couch on it? [19:07] mscdex: :D [19:07] rnewson: FuzzYspo0N: oh dear, really? ;) [19:07] mjijackson has joined the channel [19:07] V1: I can see a shit load of clicks now mjr_ so is it working yet on your side? [19:08] FuzzYspo0N: rnewson: which one :P the second is epic fail [19:08] aliem has joined the channel [19:08] mjr_: V1: is it clicks or just mouse movements? [19:09] V1: just clicks atm mjr_ , I did investigate mouse movements and did got it working, but when you have 100's over users doing mouse movements on you site.. That's just to much data to process [19:09] sschuermann: there is a tool that can do it [19:09] sschuermann: i dont remember the name, but we used it [19:09] sschuermann: and we are pretty much a big site [19:09] sschuermann: but i remember even these people had a limitation [19:10] FuzzYspo0N: anyone else using node for a game? [19:10] sschuermann: i started coding some stuff [19:10] sschuermann: that was for fuzzy [19:10] sschuermann: but i got lazy even before i really started porting the code from another language [19:10] FuzzYspo0N: sschuermann: im referring to client based games with graphics and such ( to avoid confusion with web clicking games :D) [19:10] sschuermann: ah ok .. no [19:11] mjr_: V1: oh, OK. I thought you were tracking mouse movements as well. That explains why I didn't think it was working. ;0 [19:11] ryancnelson: hey... are the swarmation folks here? [19:12] matt_c: ryancnelson: they're in the corner there. All lined up a checkerboard pattern. Weird. [19:12] Zuardi: :) [19:12] ryancnelson: ha! [19:12] V1: mjr_: :D will considere re-implementing it with a big limit on the rendering and points drawing :p [19:12] FuzzYspo0N: haha [19:12] Blackguard has joined the channel [19:12] ryancnelson: ...they're getting a little too popular... i want to bump up their resources, but want permission to bounce their "machine" [19:13] mape: ryancnelson: yeah just restarted it,it still has the issue it had when I released it, it stops serving static files but everything else works. you can still curl the html but it won't serve it to the browser [19:14] mape: So when are the joyent servers droppeD? [19:14] mape: *d [19:14] V1: my thought exactly mape [19:14] V1: i was just typing the same questoin [19:14] ryancnelson: if you've actually done something beyond "hello world", then we'll probably be accomodating [19:15] V1: question*, same counts for mongoHQ support. As I still have a shit load account and active users [19:15] vnguyen_ has joined the channel [19:15] voodootikigod_: i know there aer some ext.js/senchatouch kids in here [19:15] matt_c: steadicat: Are you or any of your team mates around (see ryancnelson's inquiry above)? [19:15] voodootikigod_: is there a IRC room for senchatouch that I cant find [19:15] aconran: voodootikigod, join #extjs [19:16] voodootikigod_: danke [19:16] ryancnelson: ...it's an alpha service, you'll probably want to migrate to what we do next, and your IP address may need to change, but we're definitely not going to burn down the nodeko entrant's stuff [19:16] aconran: Is where we have all the Ext JS/Sencha Touch related conversations... Tim/creationix is normally in this channel but is away until Tuesday [19:16] ryancnelson: mape, do you have contact info at joyent? [19:16] ryancnelson: we'll hook you up [19:16] FuzzYspo0N: what is joyent? [19:17] FuzzYspo0N: (im new here) :> [19:17] ryancnelson: it's outstanding how well node uses resources. i wish all our customers were on it [19:17] mape: ryancnelson: Well I'm getting a 500$ cloud hosting on joyent som might be able to use that :) [19:18] aliem has joined the channel [19:18] ryancnelson: joyent is a cloud hosting company, who hosted a ton of the node.js knockout entrant's sites, and we're the employer of Ryan Dahl, node's "father" [19:18] ryancnelson: i'm not that ryan [19:18] sschuermann: so it is all YOUR fault! [19:18] sschuermann: ;) [19:18] zemanel: i need a shoulder to sniff on :/ [19:18] FuzzYspo0N: that sounds awesome. i onl found crappy cloud guys so long. any links? [19:18] JimBastard: zemanel: you shouldnt do drugs [19:18] matt_c: ryancnelson: no.de is pretty fantastic. Get it to market commercially soon so we can start giving you money :) [19:18] FuzzYspo0N: (i know i can google) [19:19] zemanel: ryancnelson, wheres my interview ? [19:19] FuzzYspo0N: yea and, are there plans? I need hosting :P [19:19] rwaldron has joined the channel [19:20] ryancnelson: zemanel, are you the podcaster i talked to here the other day? [19:20] boaz has joined the channel [19:20] ryancnelson: (i'm sleepy) [19:20] JimBastard: http://jobs.github.com/positions/c97c8d2e-a04f-11df-8c60-be468719ed86 [19:20] boaz has joined the channel [19:20] ryancnelson: that job posting is outstanding [19:20] wink_: JimBastard: lol [19:20] FuzzYspo0N: heh its a cool guy [19:20] JimBastard: wink_: i gotta update the logo on that, its the wrong ninja [19:20] ryancnelson: http://joyent.com/jobs is pretty snazzy, too :) [19:20] JimBastard: THE WRONG NINJA! [19:21] bradleymeck_: ah, if only i could move [19:21] JimBastard: i wish i could work at joyent, id never get hired [19:21] V1: ryancnelson: But what is going to happen to the currently hosted nodeKO apps? [19:21] zemanel: ryancnelson, no i just sent an email lst week or so [19:21] FuzzYspo0N: thats quite a few there ryancnelson [19:21] tisba has joined the channel [19:22] bradleymeck_: jim we got a timeframe on when i can start blowing up servers and at what cost? [19:23] confoocious: [19:23] ryancnelson: the currently hosted nodeko apps will, (PROBABLY... i'm not a product person, just ops) at the contestant's option, keep going, but be migrated to the next version of "the thing" ... you don't want to stay on the pre-alpha version anyway [19:24] zemanel: ryancnelson, im so amazing that as soon i im hired, power will start to come out of the servers instead of getting in [19:24] ryancnelson: the node machines will stay up until we have a migrate-forward plan, though. [19:24] ryancnelson: zemanel, you sent a resume in? [19:24] ryancnelson: for dev, or ops, or what? [19:25] MikhX has joined the channel [19:25] FuzzYspo0N: if my job wasnt insanely awesome id apply :D it looks awesome. [19:26] FuzzYspo0N: @ ryancnelson [19:26] zemanel: ryancnelson, yea [19:27] olauzon has joined the channel [19:27] zemanel: on the 26th [19:28] huyhong has joined the channel [19:28] huyhong has left the channel [19:29] zemanel: i made 10th overall on nodeko and did a stage3 gentoo install on my mbp last week, .... yeah .... *brigh lights start emanating from zemanel* [19:30] mape: http://blog.frankchimero.com/post/1059696119/there-is-a-horse-in-the-apple-store [19:30] mape: <3 [19:31] Me1000 has joined the channel [19:31] FuzzYspo0N: haha http://img.thedailywtf.com/images/201008/captcha/captcha.jpg [19:31] FuzzYspo0N: this one cracked me up just now [19:31] mape: hehe [19:32] zemanel: lol @ captcha [19:32] zemanel: fuck they even have poneys :( [19:33] FuzzYspo0N: yea, white ones are in the glass at the back though [19:33] FuzzYspo0N: need a sales genius to help :/ [19:33] zemanel: iPony anyone ? [19:34] zemanel: well gonna celebrate losing badly on nodeko with a trice of beers. later have fun [19:34] FuzzYspo0N: later [19:35] steadicat: matt_c: thanks for the ping, I'm trying to get in touch with ryancnelson [19:35] figital has joined the channel [19:35] V1: Ha! I'm going to beat saber-tooth-moose-lion in unique connections today :D [19:35] matt_c: steadicat: no prob. [19:36] V1: I only got vodka at home no beer to celebrate my small achievement :p [19:36] gerred: vodka is a good way to celebrate. [19:36] mape: V1: go for broke on the vodka [19:37] FuzzYspo0N: code something new [19:37] V1: It's good russian vodka, gonna check if I still got some ice [19:37] FuzzYspo0N: this time [19:37] FuzzYspo0N: you have 24 h [19:37] FuzzYspo0N: >:3 [19:37] MikhX has joined the channel [19:38] mape: V1: you can probly make some ice? :P [19:38] V1: mape: My freezer isn't that powerful so I probably have to wait a few hours :9 [19:39] mape: that is why the only thing in my freezer is ice [19:39] V1: lol :D [19:39] sschuermann: go to a bar and ask for some [19:39] mape: it is the only thing I can't buy at a store when I need it [19:40] gerred: is there another NodeKO planned? [19:40] bradleymeck_: not to my knowledge [19:41] FuzzYspo0N: anyone know if jsconf is like an org of sorts? [19:41] bradleymeck_: i want someone to hackathon some input/gui bindings some weekend, thats about as close as anything i have heard of [19:44] mjijackson has joined the channel [19:44] ryanfitz has joined the channel [19:47] ryancnelson: hey! [19:47] ryancnelson: steadycat? [19:47] FuzzYspo0N: steadicat: [19:47] bmavity has joined the channel [19:48] Nohryb has joined the channel [19:48] jakehow has joined the channel [19:50] ph^ has joined the channel [19:55] cloudhead has joined the channel [19:58] bpot has joined the channel [19:58] sschuermann: is there a blogentry or something on how to corretly use common.js modules ? [19:58] sschuermann: i seem to crcumvent correct usage with hacks generally [19:59] FuzzYspo0N: sschuermann: in the docs theres plenty? [19:59] FuzzYspo0N: or, masteringnode on github has some nice info too [19:59] sschuermann: ah ic [19:59] saikat has joined the channel [20:00] sschuermann: they are updated ;) [20:00] sschuermann: JSON schema == nice [20:00] genbit has joined the channel [20:01] keyvan has joined the channel [20:02] nex3 has left the channel [20:03] jchris has joined the channel [20:03] [[zz]] has joined the channel [20:04] sschuermann: i am too stupid to get it to run [20:04] sschuermann: narf [20:05] FuzzYspo0N: start couchdb [20:05] rnewson: it's kosher to reuse a Buffer instance for multiple http clients? seems to work fine... [20:05] FuzzYspo0N: woops. [20:07] zapnap has joined the channel [20:08] jchris has joined the channel [20:12] nwhite_ has joined the channel [20:12] hellp has joined the channel [20:13] nwhite_ has joined the channel [20:15] rnewson has joined the channel [20:15] bradleymeck_: rnewson, as long as you dont fill the buffer w/ data at bad times [20:16] rnewson: bradleymeck_: I don't write to the buffer at all. it's just for sending attachment data to couchdb for perf testing [20:16] mjr_: re-using Buffers is generally a great idea, since at the moment they are expensive to create. [20:16] rnewson: good to know. [20:16] mjr_: Soon we'll have a new Buffer implementation that has dramatically lower creation time. [20:16] rnewson: I thought it might explain some latency peaks (GC), but it seems not be the case. [20:16] FuzzYspo0N: yea thanks [20:16] mape: is the large buffer thingy getting landed soon? [20:16] bradleymeck_: ugg need a generally accepted cli module [20:16] rnewson: mjr_: am i right that a buffer is an uninitialized memory chunk? seems to contain garbage (doesn't matter at all in my case). [20:17] mjr_: Yep [20:17] mjr_: When you make a new Buffer, you do a malloc() in C++, so you get whatever bits happen to be htere. [20:17] rnewson: right. certainly seemed that way. [20:17] matt_c: unclean! [20:17] rnewson: so.. why is that expensive? [20:18] mjr_: Yeah, you'd think that wouldn't be expensive [20:18] rnewson: I really would. [20:18] rnewson: you're adding preallocation or pooling or somesuch? [20:18] mjr_: I'm not sure if ryah has any new insight into this. The last theory I heard is that ObjectWrap is costly for some reason. [20:18] mjr_: That's the bit that lets you move JS objects into C++ land and back. [20:18] rnewson: ah, ok. [20:19] mjr_: So the new Buffer impl will be almost entirely in JS, which is odd, but also awesome. [20:19] rnewson: I find node can drive couchdb pretty hard, but I wish I could explain the latency peaks. [20:19] sschuermann: which latency peaks ? [20:19] sschuermann: couchdbs? [20:20] mjr_: This new Buffer business should make a lot of things faster. [20:21] mjr_: Have you run node with --prof to see how much time V8 thinks is spent in GC? [20:21] mape: mjr_: do you know how it handles the buffers getting to large? [20:21] rnewson: I'm not sure what causes it [20:21] mape: Ie if you have one large buffer to handle multiple "smaller" ones, how does it handle the small ones getting to big? [20:21] mjr_: mape: it doesn't. If your Buffer is too small, you need another one. [20:21] rnewson: mjr_: good idea. [20:22] mape: so need to check the error obj if it doesn't fit? [20:23] mjr_: mape: I'm not sure what the context of that question is, but the underlying storage of Buffers is some chunk of memory that's not allocated by V8, so you need to manage overflow yourself. [20:23] mjr_: That's the bug and the feature of it. [20:23] mjr_: You have to/get to manage memory yourself. [20:24] mape: mjr_: Yeah but the new way of making it faster is creating a big chunk and adding abstraction to it? [20:24] mape: So multiple small ones fit in a big one [20:24] mape: So creation is only once and usages is faster [20:24] FuzzYspo0N has left the channel [20:25] mjr_: Oh, I'll have to look at the gist again. [20:26] FuzzYspo0N has joined the channel [20:29] FuzzYspo0N has left the channel [20:29] DTrejo has joined the channel [20:29] DTrejo: Hey everyone [20:30] jetienne has joined the channel [20:30] DTrejo: I just posted my guide for those who have been playing around with node.js but want to show their stuff too others: http://news.ycombinator.com/item?id=1661024 [20:30] DTrejo: feedback welcome :) [20:30] bradleymeck_: mjr_ objectwrap is costly [20:30] maushu: Wait, what happened to the bookmarks bar in chrome 6? [20:31] bradleymeck_: v8 runs heuristics on what you give it and makes a weak ref pointer etc :( [20:31] v8bot: bradleymeck_: SyntaxError: Unexpected identifier [20:33] huyhong has joined the channel [20:34] LowValueTarget: hey its mephux [20:34] huyhong has left the channel [20:35] dipser has joined the channel [20:42] V1: I still haven't figured out wtf is going wrong with canvas @ Google Chrome windows.. [20:42] V1: It just works on Google Chrome mac, no issues what so ever, weird piece of shit :9 [20:43] bradleymeck_: v1 do you have magnification on windows vista/7 set to above 100%? [20:43] V1: nope [20:44] genbit has left the channel [20:44] V1: It just working with nobody not just me, and Im testing it on window xp now :p [20:45] bradleymeck_: windows magnification settings blow up a lot of programs' rendering XD, parts get magnified, others dont [20:45] tg has joined the channel [20:47] V1: Yeah but sadly that isn't case here. My radial gradients aren't rendering on Chrome [20:47] LowValueTarget: i heart websockets [20:49] mw__ has joined the channel [20:49] mw__ has joined the channel [20:54] rtomayko has joined the channel [20:55] MikhX has joined the channel [20:58] c4milo has joined the channel [20:58] paul_k has joined the channel [21:00] jacquesc has joined the channel [21:01] jacquesc: whats the best way to do a Dir.glob in node? [21:01] jacquesc: need to find *.js files in a directory [21:05] thinker has joined the channel [21:06] jetienne: grumble on npm auth [21:06] derferman has joined the channel [21:08] JimBastard: jacquesc: http://github.com/isaacs/node-glob [21:08] JimBastard: npm install glob [21:08] JimBastard: ? [21:08] jetienne: isaacs: how do you compute the auth ? currently i got only one box able to publish npm... the one i registered my npm's user on... how do i move auth from one box to another ? [21:08] cloudhead: jacquesc: I would just do a readdir [21:09] bradleymeck_: jetienne ~/.npmrc [21:09] cloudhead: and scan the list [21:09] JimBastard: yeah, that too [21:09] jetienne: bradleymeck_: ? [21:09] jacquesc: hmm. glob looks good [21:09] jacquesc: JimBastard: thnx for the link! [21:09] bradleymeck_: its the file with npm info [21:09] jetienne: bradleymeck_: yep but how to i move the auth from one box to another ? [21:09] JimBastard: jacquesc: fs.readdir(path, [callback]) Asynchronous readdir(3). Reads the contents of a directory. The callback gets two arguments (err, files) where files is an array of the names of the files in the directory excluding '.' and '..'. [21:09] dilvie has joined the channel [21:09] bradleymeck_: should have your login creds in the file, copy em [21:10] JimBastard: you can do that too [21:10] jetienne: bradleymeck_: do you know how he compute those secret value ? [21:10] jacquesc: yep, looking at that [21:10] jetienne: bradleymeck_: sure :) but doesnt work hence my question [21:10] jacquesc: but doesnt have glob support [21:10] bradleymeck_: O-o worked for me, ummm [21:10] jetienne: bradleymeck_: oh [21:10] jacquesc: npm glob hopefully should do the trick [21:10] jetienne: this is info [21:10] isaacs: jetienne: it uses the keys from your .ssh folder. [21:10] jetienne: bradleymeck_: so you got the same npmrc on != computer and thus you can publish from them ? your confirm ? [21:11] isaacs: jetienne: since, i figure, if that's compromised, then your system is pwned anyhow [21:11] bradleymeck_: yes, but yea it did have same ssh key, eh [21:11] isaacs: jetienne: just run npm adduser on the other machine, and enter the same un/pw [21:11] jetienne: isaacs: ok so how do i register multiple users in npm ? [21:11] isaacs: jetienne: why do you want to do that? [21:11] jetienne: isaacs: i did that, no succeed ? [21:12] jetienne: isaacs: to publish npm from my main box [21:12] isaacs: jetienne: ok... but why not just have the same user account on both, i don't get it [21:12] jetienne: isaacs: ok lets go back. [21:12] isaacs: k [21:12] jetienne: isaacs: i just want to publish npm from multiple computers [21:12] jetienne: isaacs: how can i do that ? [21:13] isaacs: jetienne: on computer a: npm adduser, name=jetienne password=my-secret-password, email=jetienne@whatever.com [21:13] isaacs: jetienne: on computer b, do the same thing [21:13] isaacs: jetienne: then publish from either one [21:13] isaacs: jetienne: one user account, authorized on two different machines. [21:13] jetienne: Username: (axm�G�����hW�뿇����) [21:14] jetienne: this is the default username proposed btw [21:14] isaacs: huh? [21:14] isaacs: jetienne: have you ever copied over your .npmrc file to a machine with different .ssh keys? [21:14] isaacs: jetienne: that would make it fubar [21:14] jetienne: ok done the adduser [21:14] jetienne: isaacs: oh so npm work IIF ssh key are the same on != box ? [21:15] isaacs: jetienne: *npm* will work either way, just follow the instructions above. [21:15] jetienne: npm ! ERROR ! Error: unauthorized Name or password is incorrect.: webpeer [21:15] isaacs: jetienne: but you can't *copy teh same auth store* across machines, precisely *so that* that won't workk. [21:15] isaacs: jetienne: what version of npm? [21:15] jetienne: 0.1.26 [21:15] isaacs: jetienne: update to 0.1.27-12. npm update npm [21:16] isaacs: jetienne: the idea is that, even if you steal someone's .npmrc file, you haven't stolen their user info, because you dont' have their private keys [21:16] jetienne: npm ERR! Error: unauthorized Name or password is incorrect.: webpeer [21:16] isaacs: jetienne: hold on a second. [21:16] isaacs: jetienne: what is your username? [21:17] jetienne: isaacs: seriously... security is no trivial, just dont try [21:17] jetienne: and relies on something else... openid, oauth whatever [21:17] jetienne: jerome.etienne [21:17] Nohryb has joined the channel [21:18] isaacs: jetienne: openid isn't an option for this. implementing oauth is absurdly complicated. no. [21:18] jetienne: isaacs: you cant suceed on security with *significant* experience. please dont try [21:18] isaacs: jetienne: i have significant experience. [21:18] isaacs: jetienne: thanks for the tips, though [21:18] isaacs: jetienne: copying your .npmrc file won't work because of precisely the fact that that is insecure. [21:18] jetienne: but currently we need to ping you manually everytime we change computer [21:18] jetienne: doesnt make much sense either [21:18] isaacs: jetienne: not unless you lose your passwor. [21:19] jetienne: i got pw+username [21:19] isaacs: jetienne: running adduser multiple times with the same info works. i do it *regularly* [21:19] techwraith has joined the channel [21:19] isaacs: jetienne: when in doubt, delete the _authCrypt line from your .npmrc file, and run adduser again [21:19] jetienne: i can give you my username + password [21:19] techwraith: Hey guys, anyone know of an easy way to convert an HTML document into a HAML document? [21:19] isaacs: jetienne: please do not do that. [21:19] jetienne: i tried i 3 computers, i works only on the original computer [21:19] isaacs: jetienne: it's set up the way that it is so that i can't find it out. [21:20] isaacs: jetienne: define "tried it"? [21:20] Epeli has joined the channel [21:20] jetienne: i use npm adduser on 3 != box [21:20] jetienne: except the original one [21:20] jetienne: it works only on the original one, not on the 3 others [21:20] jetienne: and i already talked to 2 peoples with the same issues [21:21] isaacs: jetienne: ok, please bear with me for just a second. i'm going to have you do a few things, and if they fail, i want to see the gist output. because the way that i understand it, what yor'e saying is simply unpossible. [21:21] isaacs: jetienne: so there's something you're not saying, and that's what i want to figure out. [21:21] jetienne: shoot [21:21] isaacs: jetienne: A = box where it works, B and C = other boxes. k? [21:21] jetienne: y [21:22] isaacs: jetienne: on box B, is there a line in ~/.npmrc that starts with _authCrypt = ? [21:22] jetienne: y [21:22] isaacs: great. [21:22] isaacs: delete that line, please. [21:22] jetienne: done [21:22] isaacs: next, on box B, update npm to the latest version. ie, if you currently have less than 0.1.27-12, then update to that version. [21:23] jetienne: hmmm needed ? i need to boot it and all [21:23] isaacs: what? [21:23] jetienne: i dont care about the netbook [21:23] aubergine has joined the channel [21:23] isaacs: what do you need to boot and all? [21:23] jetienne: i just want to be able to publish from my main box [21:23] isaacs: jetienne: well... yeah... and i'm trying to make it so that you can do that. [21:23] jetienne: oh my bad [21:24] isaacs: jetienne: or figure out why you can't. [21:24] jetienne: box B = current box [21:24] jetienne: on box B, npm is lastest version [21:24] isaacs: jetienne: unless you've worked your irc client into npm on box B, i tdon't think it'll be a problem. [21:24] isaacs: ok, kewl [21:24] isaacs: npm doesn't touch the booting machinery, etc. [21:24] jelveh has joined the channel [21:24] isaacs: it's actually a pretty simple program :) [21:25] isaacs: so, on box B, you now have: no _authCrypt, and the latest npm, yes? [21:25] jetienne: so how do i publish from box B ? [21:25] jetienne: yes [21:25] isaacs: jetienne: on box B, please do this: npm adduser [21:25] isaacs: jetienne: then enter the exact same username, password, and email as on box A [21:25] sveimac has joined the channel [21:25] isaacs: and if this fails, then the world is broken, and i'll run off to fix whatever it is. [21:25] jetienne: (no more crappy output for username) [21:25] isaacs: great! [21:26] jetienne: npm publish doesnt work tho [21:26] isaacs: hold on a second.. [21:26] jetienne: npm ERR! Error: Cannot insert data into the registry without authorization [21:26] isaacs: so, did npm adduser work there? [21:26] jetienne: npm info it worked if it ends with ok [21:27] jetienne: npm info version 0.1.27-12 [21:27] jetienne: npm ok [21:27] jetienne: yes [21:27] isaacs: jetienne: can you gist the full thing? my client seemed to get confused by the flood [21:27] edw has joined the channel [21:27] jetienne: ? [21:27] jetienne: thing ? [21:27] isaacs: jetienne: the output from the npm command between you typing "adduser" and the "npm ok" [21:28] jetienne: http://gist.github.com/564601 [21:28] jetienne: isaacs: please do try to do auth [21:28] jetienne: PLEASE [21:29] tmpvar has joined the channel [21:30] isaacs: jetienne: which package are you attempting to publish? [21:30] isaacs: jetienne: i see two user accounts with your name on them. [21:30] jetienne: delete them both [21:30] jimmybaker has joined the channel [21:30] isaacs: jetienne: one = "Jerome Etienne" and the other = "jerome.etienne" [21:31] jetienne: i will only publish from main box for now [21:31] jetienne: delete all you got, username+packages [21:31] isaacs: jetienne: i dont know which packages you're talking about, though [21:31] jetienne: webpeer [21:31] isaacs: jetienne: and if you can publish on one box, you can also unpublish on that box, so go nutes. [21:31] isaacs: jetienne: npm unpublish webpeer [21:31] jetienne: hehe :) [21:31] jetienne: well i dont have the auth to do it ) [21:32] isaacs: jetienne: um... ok [21:32] jetienne: hence this whole discussion [21:32] isaacs: jetienne: i thought you said that you "can publish on main box"? [21:32] isaacs: jetienne: that means that you can also unpublish from that box. [21:32] jetienne: isaacs: miscommunication. currently i CANT publish from main box [21:32] langworthy has joined the channel [21:32] isaacs: jetienne: oh... ok... can you publish from anywhere? [21:32] jetienne: isaacs: last time i tried i could publish from small netbook [21:33] isaacs: jetienne: i'm very curious about wtf is going on [21:33] jetienne: hehe but you dont like my explaination :) [21:33] isaacs: jetienne: because i don't want this to happen to people, and if it's a bug in my code or some state that you can get to easily, that means that it'll happen again. [21:33] dgathright has joined the channel [21:33] isaacs: jetienne: i don't like your suggestion of how to fix the problem, no. but that's ok. [21:33] jetienne: if you are willing to handle auth, you will experience it [21:33] jetienne: think about ssl [21:33] jhojho has joined the channel [21:34] isaacs: jetienne: i also don't believe that your explanation of the issue is helpful or accurate. i need to know what in the db code and the client code is actually broken. [21:34] jetienne: ssl failed after more than 10y [21:34] jetienne: i broke ospf and ospf was 8y old [21:34] saikat has joined the channel [21:34] jetienne: security is hard [21:34] isaacs: jetienne: so no one should ever authorize anything, except the notoriously over-complicated and insecure oauth? [21:34] jetienne: no [21:34] jetienne: people should rely on existing auth mechanism [21:34] isaacs: jetienne: and i do, in npm. [21:34] jetienne: should rely on people who made the auth work [21:35] isaacs: jetienne: i don't actually "do" security, you realize that, don't you? [21:35] isaacs: jetienne: in npm, i mean. [21:35] jetienne: and thus rely on what they do best [21:35] isaacs: jetienne: and the type of security that's going on isn't terribly high-tech or complicated. it's about putting up razor wire, not bomb shelters. [21:35] jetienne: ok lets be productive [21:35] isaacs: jetienne: here's the extent to which npm tries to be secure: [21:35] jesusabdullah: JimBastard: Where's asciimo.com when I need it? [21:36] isaacs: jetienne: you give it a username and password, that it sends to couch via Basic auth. i'd like to do it over ssl. but ssl is broken, so that's how it goes. [21:36] JimBastard: jesusabdullah: good point [21:36] JimBastard: ill fix it right now [21:36] jesusabdullah: Sweet >:D [21:36] JimBastard: brb [21:36] jesusabdullah: I'm printing a label for my new printer [21:36] jesusabdullah: and it has to look SWEET [21:36] JimBastard: also, you can clone it locally [21:36] JimBastard: the whole thing is OSS [21:36] JimBastard: and has a web server [21:36] isaacs: jetienne: i *could* work out a system where it fires up an ssh subproc and then sends the data over that channel, but that means that running a server is a lot more expensive than just a couchapp. [21:36] JimBastard: its on github [21:36] jesusabdullah: Yeah, thought about it :) [21:36] jetienne: isaacs: can you delete all the users i got in npm ? [21:36] jesusabdullah: I think I will! [21:36] isaacs: (expensive = tricky/complexity cost/etc) [21:36] isaacs: jetienne: sure thing [21:37] isaacs: done [21:37] isaacs: for extra deletion, i also compacted the db [21:38] jetienne: rahhh [21:38] isaacs: also webpeer? [21:38] jetienne: delete ALL [21:38] jetienne: currently i cant publish and cant find a workaround [21:38] jacquesc: isaacs: whats the best practice for bundling npm modules for production? there a good writeup on that somewhere? [21:38] isaacs: jetienne: delete all what? [21:39] jetienne: isaacs: all my users, and packages [21:39] isaacs: jetienne: you realize, deleting the packages is COMPLETELY not necessary, and kinda dumb. [21:39] jetienne: isaacs: i would like to try to start from scratch [21:39] isaacs: jetienne: if you just create a new user accountright now, they'll be yours again. [21:39] gilaniali has joined the channel [21:39] jetienne: isaacs: currently i cant publish [21:39] jetienne: isaacs: im just trying to find a way [21:39] isaacs: jetienne: just use "jerome.etienne" as the username, and jerome.etienne@gmail as the email [21:39] kriskowal has joined the channel [21:39] jetienne: isaacs: done that [21:39] isaacs: jetienne: so..... please listen. you have no user accts in npm at the moment. [21:40] isaacs: jetienne: please remove any auth info from any .npmrc files, and run "npm adduser" with the jerome.etienne username, jerome.etienne@gmail email, and the same password each time, on all machines from which you would like to publish. [21:40] kriskowal: isaacs, npm hates me. [21:41] jbenesch has joined the channel [21:41] isaacs: kriskowal: you know that's not true. npm is very loving. it told me just the other day how very fond it was of you. [21:41] isaacs: kriskowal: it's just shy, that's all. [21:41] kriskowal: i've never seen git clone segfault [21:41] jetienne: http://pastebin.com/dAkYdcxB <- the whole output user creation + publish failuyre [21:41] jetienne: isaacs: done 30sec ago [21:42] isaacs: jetienne: !!!!! [21:42] isaacs: jetienne: what is this? make npm_publishnpm publish . [21:42] jetienne: npm publish . is the cmd [21:42] jetienne: it is in a makefile [21:42] kriskowal: isaacs: tar: unrecognized option `--strip-components=1' [21:42] isaacs: jetienne: ok, in this makefile, is HOME set such that it'll ifnd your userconfig? [21:43] isaacs: kriskowal: jezus, i hate tar some times. what OS? [21:43] kriskowal: mac os 10.6 [21:43] kriskowal: but then git segfaults. bizarre. [21:43] jetienne: isaacs: ok same result with directly "npm publish ." no makefile at all [21:43] isaacs: kriskowal: um... me too? i dunno. it sounds like tar is the right tar. [21:43] isaacs: jetienne: do this: npm config set loglevel verbose [21:43] jetienne: done [21:43] isaacs: jetienne: and gist the (much much longer) output of that. [21:44] isaacs: jetienne: of the make thing [21:44] kriskowal: isaacs. interesting. my tar is not where i expected. i will remove this busted ass tar [21:44] jhojho has left the channel [21:44] kriskowal: but it would be good to be tolerant [21:44] jetienne: kriskowal: git is very well tested, strange is the word [21:44] jetienne: http://pastebin.com/sNQN2YMV <- isaacs [21:44] kriskowal: oh, it's a fink tar. didn't know i still had this crap. [21:44] isaacs: kriskowal: set the "TAR" env or the "tar" config . [21:45] kriskowal: alright, i'm in. [21:46] jetienne: isaacs: is the auth process documented ? [21:46] jetienne: maybe we could ask a security guy to look at it [21:47] jetienne: why not rely on normal http stuff ? [21:47] mape: I once met a security guy [21:47] mape: he was friendly [21:47] jetienne: not a good one [21:48] jetienne: security people are grumpy and paranoid [21:48] jetienne: it goes with the job [21:48] mape: Well he liked chili [21:48] jetienne: oh ok then :) [21:48] isaacs: jetienne: precisely why i opted to build programs rather than continue down the security route for the rest of my career. [21:48] isaacs: because it sucks and is annoying. [21:49] kriskowal: mape, what was in the chili [21:49] jetienne: ok lets be productive [21:49] isaacs: jetienne: i think i may have found the issue. it has nothing to do with security. [21:49] jetienne: how can i publish ? [21:49] mape: kriskowal: red pepper [21:49] kriskowal: are you sure [21:49] isaacs: jetienne: for the moment, go tot he first machine. [21:49] jetienne: isaacs: rahh [21:49] isaacs: jetienne: i'm gonna poke at some things, and i'll get back to you. [21:49] jetienne: ok [21:49] isaacs: jetienne: may be a bug i just found, may be something else. [21:50] jetienne: and doc the auth process, seriously [21:50] jetienne: we dont want anybody to publish without autho [21:50] isaacs: jetienne: you can't publish without auth [21:50] jetienne: hint guthib has oauth :) [21:51] isaacs: jetienne: uh huh. you wanna write the oauth-to-github hook? [21:51] jetienne: it would be better than specific auth system for sure [21:51] isaacs: keeping the password safe is not the hard thing. [21:52] jetienne: tsss [21:52] jetienne: [23:52] keeping the password safe is not the hard thing. <- come on [21:52] jetienne: it is VERY hard [21:52] isaacs: the problem wiht oauth is that a) it increases the size of exposure, and b) it doesn't solve the main problem. [21:52] JimBastard: jesusabdullah: http://github.com/Marak/asciimo/commit/e1b0aa732ec12d173a8aa8b13886a31b9f998bdf [21:52] FuzzYspo0N has joined the channel [21:52] JimBastard: now im gonna attempt deploy [21:52] isaacs: you have to balance security with your use case and the value of what you're protecting [21:52] jetienne: ok lets try to be productive, i had an hard day [21:53] jetienne: isaacs: hard day here, no hard feeling, ok ? [21:53] FuzzYspo0N: yor [21:53] isaacs: jetienne: nope, none at all. [21:53] jetienne: cool :) [21:53] isaacs: jetienne: in fact, i owe you one, if what i think this is is what it is..... um... yeah [21:53] isaacs: jetienne: this is a very subtle bug. [21:53] isaacs: i don't think i would have caught it without someone stumbling over it, so that's great. [21:53] jetienne: isaacs: do you expect to publish the fix to potential bug/stuff ? [21:53] jetienne: isaacs: a week ? [21:54] jetienne: isaacs: are you at joyent alread ? [21:54] FuzzYspo0N: bug for what isaacs? :o [21:54] isaacs: jetienne: nope, not yet. [21:54] isaacs: FuzzYspo0N: seems like there's an issue when you authorize the same user on multiple machines. [21:54] FuzzYspo0N: isaacs: keep in mind im new here :> Referring to? [21:54] kriszyp has joined the channel [21:54] isaacs: FuzzYspo0N: sorry, wrt npm [21:55] isaacs: FuzzYspo0N: so you do npm adduser on one machine, then npm adduser with the same info on the other machine, and it seems like it works, but it doesn't. [21:55] FuzzYspo0N: isaacs: ah ok right. [21:55] isaacs: FuzzYspo0N: ie, what jetienne is dealing with ^ [21:55] maushu has joined the channel [21:55] FuzzYspo0N: yea heh figured :) [21:56] isaacs: jetienne: probably a week would be a safe bet, yeah. maybe less. if i can get it today, i'll publish a 27-13 [21:56] FuzzYspo0N: interesting test case, how did you find it jetienne? [21:56] jetienne: isaacs: ok [21:56] isaacs: FuzzYspo0N: by trying to auth on more than one machine :) [21:56] jetienne: FuzzYspo0N: i just use 3 boxes on a daily basis. so it comes from daytoday. i talked to 2 peoples who experienced the same issue, already [21:57] FuzzYspo0N: ah ok, yea but i meant specifically how did you run into it. That makes sense then [21:59] jetienne: http://github.com/ciaranj/node-oauth <- any body is using this ? for twitter and such ? how reliable is it ? [21:59] mape: jetienne: i have [21:59] jetienne: mape: with success ? [21:59] mape: twitter api was the unstable part though [22:00] mape: I used node-oauth and the twittr api returned base auth is not supported for 10min [22:00] mape: then it worked [22:00] jetienne: mape: so "flacky but unsure it is from node-oauth" is the status ? [22:00] mape: then I get error again [22:00] mape: then it worked.. [22:00] mape: no it was the twitter api [22:00] Zuardi: jetienne: I have used this with twitter http://github.com/unscene/node-oauth [22:00] jetienne: mape: so node-oauth is ok ? [22:00] FuzzYspo0N: mape: tried with something else? [22:00] jetienne: Zuardi: with peasure ? [22:00] FuzzYspo0N: and also, is it oauth 1 or 2 :p [22:00] jetienne: pleasure [22:01] mape: jetienne: for my uses yeah, gathering profile info for around 2500 twitter users every couple of minutes [22:01] Zuardi: jetienne: it work fine for what I needed, pretty straightforward [22:01] jetienne: npm + oauth + github = natural match to me [22:01] jetienne: mape: ok thx [22:01] jetienne: Zuardi: ok tha [22:01] FuzzYspo0N: mape: hax! ;p or what? [22:01] FuzzYspo0N: for* [22:01] V1: Ok, i'm giving up, I can't get Google Chrome windows working >_< [22:01] isaacs: jetienne: ok. patch accepted. go for it. [22:02] jetienne: we go close to ryah stuff about lib and stabillity [22:02] saikat has joined the channel [22:02] mape: FuzzYspo0N: lists/stats kinda deal [22:02] jetienne: isaacs: hehe :) i dont promise anything here... just looking at possiblity :) [22:03] FuzzYspo0N: mape : neat. [22:03] FuzzYspo0N: i want to implement some of the outh2 stuff but im wondering if its worth it yet [22:04] bmavity has joined the channel [22:05] jetienne: what is this xauth stuff ?; [22:05] sh1mmer has joined the channel [22:05] jetienne: i saw that today but didnt read [22:08] jetienne: ok time for bed, have fun [22:09] FuzzYspo0N: later [22:09] mephux: LowValueTarget: hey - do I know you? [22:12] saikat has joined the channel [22:12] LowValueTarget: Sorry no.... i use snorby though.... thanks! [22:12] LowValueTarget: mephux [22:13] matt_c has joined the channel [22:13] mephux: LowValueTarget: ah, nice! :) np [22:13] LowValueTarget: Just got an itch for node and websockets [22:14] mephux: LowValueTarget: same here - I am going down the sinatra,ruby and faye path myself.. I like javascript but not this much..hehe [22:14] mephux: I still like to keep up on what they are working on - so i chill here. [22:14] _TS has joined the channel [22:15] LowValueTarget: hahahah websockets and node is pretty slick. I use ruby for my shell scripts (some may shun, but w/e) and want to get into rails3 [22:16] mephux: so same in ruby for sysadmin / scripts.. it works great for that. Rails3 is is the hot indeed - working on a rails3 app now built on top of the ronin framework for security research. [22:16] LowValueTarget: mephux .... have you seen ruby commander? [22:16] mephux: live pwn and botnet control - should be a dope project. [22:16] sschuermann: hmm ... stupid question ... JS.stringify'ed stuff, how do i get this deserialized .. nodes manual is pretty silent here [22:16] LowValueTarget: mephux: http://visionmedia.github.com/commander/ [22:17] LowValueTarget: just found that the other day. Good stuff. [22:17] sschuermann: nevermind [22:17] mephux: LowValueTarget: wow - nice indeed. [22:18] derferman has joined the channel [22:18] tjholowaychuk: LowValueTarget: haha thanks :D that lib still needs some work [22:18] tjholowaychuk: but [22:18] tjholowaychuk: yeah i dont really touch ruby anymore [22:19] tjholowaychuk: shit the example on there is pretty fucked [22:24] TomsB has joined the channel [22:26] cloudhead has joined the channel [22:27] jxh has joined the channel [22:28] SubStack: mape: any idea why dnode's description is blank at npm.mape.me? [22:28] sstephenson has joined the channel [22:29] JimBastard_ has joined the channel [22:29] JimBastard_: jesusabdullah: http://asciimo.nodejitsu.com/ [22:30] JimBastard_: now i just gotta figure out whats up with the request routing for domains [22:30] SubStack: oh odd the json at registry.npm.org doesn't have the desc either [22:30] jesusabdullah: Thanks :) [22:30] noahcampbell has joined the channel [22:30] jesusabdullah: I already used it locally <_< [22:30] jesusabdullah: to make a label for my printer [22:32] Tim_Smart has joined the channel [22:33] JimBastard_: did you use the new version with node-static? [22:33] JimBastard_: or just index.html [22:33] loincloth has joined the channel [22:34] jesusabdullah: Oh, I just used the node interface [22:34] bsstoner has joined the channel [22:34] jesusabdullah: http://gist.github.com/564652 [22:34] jesusabdullah: <_< [22:35] bsstoner has left the channel [22:36] paul_k has left the channel [22:36] JimBastard_: ahah nice jesusabdullah , you should wrap that up and do a pull request [22:38] jesusabdullah: Oh yeah? I can do that :) [22:38] sh1mmer: has ryan done anything more with the 0mq stuff? [22:38] sh1mmer: I was reading about it today [22:38] sh1mmer: looks really interesting [22:38] zapnap has joined the channel [22:39] marshall_law_ has joined the channel [22:42] gerred has joined the channel [22:44] jetienne has joined the channel [22:46] kodisha has joined the channel [22:50] emmanueloga has joined the channel [22:53] markt has joined the channel [23:00] Nohryb has joined the channel [23:01] neytema has joined the channel [23:02] mcarter: ryah, around? [23:02] sh1mmer: mcarter: I think he's on vacation [23:03] stalled has joined the channel [23:03] mcarter: sh1mmer, ah, thanks [23:05] FuzzYspo0N: i wonder what approach i sould take for my server..... [23:06] maushu: My webserver has been on for a couple of months and its still working. xD [23:06] bradleymeck_: build it like java, abstract the server from the server as an interface to build the server upon [23:06] FuzzYspo0N: bradleymeck_: ahaha. no. [23:06] bradleymeck_: lol [23:06] FuzzYspo0N: as a singleton [23:06] FuzzYspo0N: yar [23:07] FuzzYspo0N: well basically [23:07] zemanel has joined the channel [23:07] SubStack: since when did it become ok to have "singletons" [23:07] SubStack: that shit is hard to test [23:07] FuzzYspo0N: lol, i hate them dont worry [23:07] FuzzYspo0N: sarcasms [23:07] FuzzYspo0N: what im doing at the moment is have node speak to my couch db, and then my web app speaks to node [23:08] pyronicide has joined the channel [23:08] jesusabdullah: SubStack: Ever since it got a name? [23:08] FuzzYspo0N: just wondering if its a nice route, or ill hate myself in 2 weeks [23:09] mw__ has joined the channel [23:09] mw__ has joined the channel [23:09] ajpiano has joined the channel [23:10] vnguyen has joined the channel [23:13] muk_mb: oh wow, I just read about webOS 2.0 including node.js [23:16] keyvan has joined the channel [23:17] DTrejo has joined the channel [23:20] gilaniali has joined the channel [23:21] MattJ has joined the channel [23:22] benburkert has joined the channel [23:23] benburkert has joined the channel [23:33] zemanel: JimBastard, ping [23:34] jakehow has joined the channel [23:39] dgathright has joined the channel [23:41] chapel has joined the channel [23:44] ryancnelson has joined the channel [23:48] jxh has joined the channel [23:49] nwhite has joined the channel [23:56] keyvan has joined the channel [23:59] ajpiano has joined the channel [23:59] matt_c has joined the channel