[00:00] tjholowaychuk: i would just do (string of js -> string of instrumented js) -> (other module decides to execute with vm module, browser, etc) [00:00] tjholowaychuk: -> browser or mod passes $cov global [00:00] tjholowaychuk: to stats() or something, and it computes data like ".loc .sloc" etc [00:01] chrisdickinson: hm. [00:01] eignerchris has joined the channel [00:01] DrMcKay: ACTION starts to read this discussion from the beginning to find out what's going on [00:01] chrisdickinson: bunker does exactly that, though. [00:02] tjholowaychuk: you could build it with bunker [00:02] tjholowaychuk: but it's still not the same thing [00:02] tjholowaychuk: it's just a weird api on top of uglify's ast [00:02] tjholowaychuk: to do arbitrary things [00:02] chrisdickinson: b = bunker(src); str = b.compile(); [00:02] brianseeders has joined the channel [00:03] tjholowaychuk: maybe the examples just suck [00:03] soapyillusions has joined the channel [00:03] tjholowaychuk: ACTION goes to look [00:03] brianseeders has joined the channel [00:03] tjholowaychuk: to me it looked like a poor-mans visitor [00:03] tjholowaychuk: or maybe that's burrito :s [00:03] tjholowaychuk: so many abstractions.. [00:03] chrisdickinson: so many nouns. [00:04] chrisdickinson: i'm actually using bunker exactly as you describe in runforcover: https://github.com/chrisdickinson/node-runforcover/blob/master/index.js#L110 [00:04] chrisdickinson: i take a js string, compile it down to another js string, provide my own context, and run it [00:05] tjholowaychuk: ah, well yeah if that's what it does then great [00:05] sfoster has joined the channel [00:05] tjholowaychuk: didnt look like it did anything from the examples [00:05] FiveLemon has joined the channel [00:05] chrisdickinson: haha [00:05] eee_c1 has joined the channel [00:05] DrMcKay: tjholowaychuk, chrisdickinson: profiller? [00:05] tjholowaychuk: though i still wouldnt use it anyway [00:06] tjholowaychuk: you dont need three deps to write a damn node visitor [00:06] chrisdickinson: tjholowaychuk: that's why i was adamant that the "context assignment" bit be separated from the "running it" bit [00:06] chrisdickinson: DrMcKay: native js profiler and code coverage [00:07] DrMcKay: chrisdickinson: native: in C or JS? [00:07] chrisdickinson: DrMcKay: in js. [00:07] chrisdickinson: the goal being to remove C from the equation entirely. [00:07] tjholowaychuk: DrMcKay to get rid of jscoverage [00:07] DrMcKay: chrisdickinson: definition of native changed soo much :D [00:07] chrisdickinson: DrMcKay: haha :) [00:08] tjholowaychuk: haha yeah "native" is pretty ambiguous [00:08] chrisdickinson: tjholowaychuk: granted, 3 deps is a lil' silly. but they're small and pretty tightly focused. [00:08] tjholowaychuk: i dont get why you need ast -> thing that invokes one callback -> thing that kinda generates cov -> cov [00:08] tjholowaychuk: haha [00:09] tjholowaychuk: ast -> visitor that generates cov [00:09] tjholowaychuk: very easy [00:09] tjholowaychuk: visit(node) [00:09] tjholowaychuk: recurse, and you're done [00:09] chrisdickinson: ACTION shrugs [00:10] chrisdickinson: it works, and it was a good excuse to play around with burrito and bunker. [00:10] chrisdickinson: i'm pretty happy with burrito's api, even if it is wrapping a fairly trivial operation. [00:10] nibblebot has joined the channel [00:10] tjholowaychuk: require('noop') [00:10] tjholowaychuk: haha [00:10] tjholowaychuk: is how i feel about it [00:12] DrMcKay has joined the channel [00:13] tjholowaychuk: ACTION not trying to be a douche [00:13] chrisdickinson: it does make me wish there was a middleware layer for require.extensions, though. [00:13] tjholowaychuk: agreed [00:13] chrisdickinson: tjholowaychuk: no no, it's fine. i understand the distaste for dependency-propagation. [00:13] tjholowaychuk: it would be _very_ handy to have that [00:13] tjholowaychuk: maybe bring it up on the ML [00:13] tjholowaychuk: I'd +1 it [00:14] tjholowaychuk: we use it for transparent debugging stuff and assertions [00:14] tjholowaychuk: / assert: 1+1 [00:14] chrisdickinson: cool, i'll write that out tonight [00:14] tjholowaychuk: gurr [00:14] tjholowaychuk: that's a comment [00:14] tjholowaychuk: haha [00:14] jgornick has joined the channel [00:14] tjholowaychuk: // debug: rendering frame %d, i [00:14] tjholowaychuk: etc [00:14] blueadept: anyone know a method i can use to reload the routerObj object without restarting this app? http://pastie.org/private/i07c9ezixufxlqryp93wyq ; [00:14] tjholowaychuk: but currently it's all in one big callback [00:15] eignerchris has joined the channel [00:15] joshthecoder has joined the channel [00:15] chrisdickinson: tjholowaychuk: would it be a step like: js in -> compile -> js out + add extra bits to context? [00:15] tjholowaychuk: the cov thing? [00:15] chrisdickinson: the require middleware [00:16] Ratty_: Do I need to manually add ./node_modules to the require.paths? [00:16] int_64 has joined the channel [00:16] tjholowaychuk: I guess just js -> fn1 -> fn2 -> eval [00:16] tjholowaychuk: doubt the core team will want it though [00:16] tjholowaychuk: unfortunately [00:16] chrisdickinson: ): [00:16] tjholowaychuk: it does suck though with how it is you just end up clobbering anything else that was defined [00:16] tjholowaychuk: though I guess you could manually ref/wrap it [00:16] tjholowaychuk: gotta run, later [00:20] NHQ has joined the channel [00:21] Ratty_: Is there an API to see what packages are installed in a project or is the only way to inspect the node_modules directory? [00:21] DrMcKay: Ratty_: maybe npm offers something [00:21] Ratty_: hmm yeah [00:21] DrMcKay: Ratty_: try `npm list` [00:23] DrMcKay: I *hate* emailing people in -0700 -.- [00:24] DrMcKay: I have to wait till 4 AM or just do one email per day [00:24] DrMcKay: that's so inconvenient. [00:24] d0k has joined the channel [00:25] NHQ: when I mkdir with mode 777 (OSX) I still get permission errors. When I try to open the directory in Finder, I am not allowed unless I change the permissions from Custom to Read and Write. Anybody know about this? [00:25] NHQ: https://gist.github.com/1158384 [00:26] DrMcKay: NHQ: 0777 [00:26] NHQ: string or number? [00:26] DrMcKay: number [00:26] DrMcKay: it's octal [00:27] davidbanham has joined the channel [00:27] DrMcKay: wait, what, it's Sunday already? [00:28] NHQ: @DrMaCkay I still got permission error with a leading 0 [00:28] NHQ: I haven't ha dthis problem on ubuntu [00:28] DrMcKay: NHQ: I'm not even close to OS X expert, so I'm afraid I can't help you [00:29] NHQ: i just tried '0777' and it worked :\ [00:29] DrMcKay: NHQ: oh, sorry, I didn't know it was string [00:30] rgl has joined the channel [00:30] NHQ: hm but '0644' didn't [00:30] DrMcKay: wait, what? OS X accepts strings as permissions? [00:30] NHQ: its a node thing, I think [00:31] DrMcKay: !doc link fs#mkdir [00:31] dmkbot: http://nodejs.org/docs/latest/api/fs.html#fs.mkdir [00:31] charleyd has joined the channel [00:31] NHQ: that was neat [00:31] DrMcKay: NHQ: what? [00:31] NHQ: that command [00:31] zanes has joined the channel [00:31] DrMcKay: NHQ: meet my bot :) [00:32] NHQ: ok but going off this gist, you can see I mkdir and then try to write a file to it https://gist.github.com/1158384 [00:32] DrMcKay: yes, I see [00:32] DrMcKay: too bad docs don't mention anything about mode [00:32] NHQ: if the mode is changed to '0777' I can write the file, if it is changed to '0644', I get a permission error [00:32] NHQ: yeah [00:33] DrMcKay: if it should be a int, or string, or something [00:33] NHQ: and using any int 777, 0777 or 0644 gives me permission errors [00:34] chjj: youtube is using an image map [00:34] chjj: old school [00:35] copongcopong has joined the channel [00:37] kepheus has joined the channel [00:37] NHQ: plus I don't really want to be using 777 anyway [00:38] kai_ has joined the channel [00:38] level09 has joined the channel [00:40] antono has joined the channel [00:41] DrMcKay: NHQ: node casts this '0777' to int anyway [00:43] NHQ: @DrMcKay yet when I set mode to 777 (int) I still get an error writing a file to that dir. Or with '0644' string :( [00:43] ryanfitz_ has joined the channel [00:43] unlink has joined the channel [00:43] eignerchris_ has joined the channel [00:43] CStumph has joined the channel [00:44] elliottcable has joined the channel [00:47] DrMcKay: NHQ: that's weird, what version are you using? [00:47] DrMcKay: offtopic: you guys keep your old, merged branches on github or delete them when they get merged? [00:47] cjm has joined the channel [00:48] NHQ: I think 4.10 or so [00:48] DrMcKay: NHQ: but it works on Ubuntu? [00:49] chrisdickinson: DrMcKay: I try to delete them when they've been merged. [00:49] chrisdickinson: of course, i also tend to forget until someone asks me if i delete my merged branches :P [00:50] DrMcKay: chrisdickinson: I think I should actually write a script for that [00:50] NHQ: yeah I have no trouble on ubunt [00:51] NHQ: @DrMcKay okay, running node with sudo works for ints 644 and 777. running node w/o sudo works for '0777 [00:51] losing has joined the channel [00:51] NHQ: str [00:52] NHQ: wierd [00:52] DrMcKay: NHQ: as hell [00:52] NHQ: i should have to run suod tho [00:52] k1ttty has joined the channel [00:52] DrMcKay: anyone here running Mac OS X? [00:52] NHQ: *shouldn't [00:53] DrMcKay: NHQ: sorry, I can't help you, it looks like some OS X-specific thing :( [00:54] vidi has joined the channel [00:54] DrMcKay: whatever, I'm going to sleep [00:54] NHQ: yeah, ima ignore it for now i guess [00:54] NHQ: thx ne way [00:54] DrMcKay: NHQ: my pleasure [00:55] DrMcKay: bye folks, have a good day/night/whatever [00:59] ecin has joined the channel [01:01] achiu has joined the channel [01:01] Eber has left the channel [01:04] aah has joined the channel [01:05] tylerstalder has joined the channel [01:06] luke` has joined the channel [01:07] luke`_ has joined the channel [01:08] hlindset has joined the channel [01:11] [[zzz]] has joined the channel [01:12] mynyml has joined the channel [01:13] [[zzz]] has joined the channel [01:14] aah: hrurhg. is JSON built in to V8, or a node library? 'cause it's busted, busted, busted. [01:15] losing has joined the channel [01:16] aah: JSON.parse({"this": "is", "valid": "json, ain't it \\squeegee"}) [01:16] drakonite has joined the channel [01:17] metaverse has joined the channel [01:17] chrisdickinson: v8: JSON.member:parse('{"this": "is", "valid": "json, ain't it \\squeegee"}') [01:17] v8bot_: chrisdickinson: SyntaxError: Unexpected token : [01:18] chrisdickinson: v8: JSON.parse({"this": "is", "valid": "json, ain't it \\squeegee"}) [01:18] v8bot_: chrisdickinson: SyntaxError: Unexpected token ILLEGAL [01:18] chjj: oo v8bot is back [01:18] chjj: ACTION missed v8bot [01:18] chrisdickinson: v8: JSON.parse('{"this": "is", "valid": "json, ain't it \\squeegee"}') [01:18] v8bot_: chrisdickinson: SyntaxError: Unexpected identifier [01:18] chrisdickinson: ACTION falls on his sword [01:19] cjm has joined the channel [01:19] cha0s has joined the channel [01:19] cha0s has joined the channel [01:19] level09_ has joined the channel [01:19] Intuit` has joined the channel [01:20] Remoun has joined the channel [01:24] ji0n has joined the channel [01:26] Juan77 has joined the channel [01:27] int_64 has joined the channel [01:30] eric_8th_Light has joined the channel [01:36] aah: chrisdickinson: you see my problem, though. :P looks like I can use jsonlint [01:36] chrisdickinson: aah: the issue is that double slash. [01:36] aah: yep. it wants \\\\ [01:36] aah: but it can't have it! [01:36] chrisdickinson: aah: it's getting coerced into a "\s" [01:38] chrisdickinson: aah: https://gist.github.com/0b1897c3dc8800eb93d9 [01:38] aah: yep. going to have to do an annoying pre-replace. [01:39] chrisdickinson: i think JSON.parse is actually right in this case -- there's no special character "\s" [01:40] aah: but there doesn't need to be.. http://json.org/ shows this to be a valid string [01:40] aah: it should be treating the parsing the \ into a \, dropping it into the output buffer, and moving on. [01:41] aah: parsing the \ \ [01:41] aah: into the, etc. [01:41] chjj: oh no, jesusabdullah is writing gists again [01:41] chjj: ACTION gets an umbrella [01:42] chrisdickinson: v8: [].slice.call('\\\\s') [01:42] v8bot_: chrisdickinson: ["\", "\", "s"] [01:42] chrisdickinson: the two backslashes are required to form a backslash according to json.org. [01:42] aah: right. but then you're done. you don't use that backslash to escape the next char. [01:43] chrisdickinson: right, but your input isn't '\\\\s'. [01:43] MUILTFN has joined the channel [01:43] chrisdickinson: v8: [].slice.call('\\s') [01:43] v8bot_: chrisdickinson: ["\", "s"] [01:43] chrisdickinson: so it goes into that '\' switch, and it can't find 's', so it throws an error. [01:43] aah: oh, I see what you're saying [01:43] aah: hrrm. [01:44] orbx has joined the channel [01:44] aah: strangely, jsonlint parses this happily. [01:45] eric_8th_Light: Hello - I'm thinking of extracting a framework from my Javascript game. I already do all the testing in node - so I'm wondering if npm is the best choice [01:45] eric_8th_Light: for distribution [01:45] eric_8th_Light: it's all client side - so perhaps npm isn't the best option [01:46] eric_8th_Light: If it is a good choice - does anybody know a good example of an npm package that is client side? [01:51] jerrysv has joined the channel [01:51] amerine has joined the channel [01:51] temp01 has joined the channel [01:53] towski has joined the channel [01:58] Nuck: Anyone here work with any of these mail services like postmark or sendgrid or critsend? [01:59] willwhite has joined the channel [01:59] Nuck: I'm debating between one of those and a regular mail server like postfix. [01:59] albertosheinfeld has joined the channel [02:05] Leonidas has joined the channel [02:06] sechrist has joined the channel [02:07] nickshepherd has joined the channel [02:08] Nuck: How do I detect if an email has bounced? [02:08] freewil has joined the channel [02:08] freewil has joined the channel [02:09] smus_ has joined the channel [02:12] ronnieboy has joined the channel [02:16] AAA_awright: Nuck: You get an email back saying "Hi I bounced" [02:16] admc has joined the channel [02:16] AAA_awright: It's the cutting edge of computer science, right there [02:17] galaxywatcher has joined the channel [02:17] ryan0x2 has joined the channel [02:18] guybrush: eric_8th_Light: checkout browserify https://github.com/substack/node-browserify [02:18] jtsnow has joined the channel [02:19] guybrush: npm -> browserify({require:'npm-package'}) -> [02:21] SubStack: or with entries you don't even need to specify the require:'npm-package' part [02:21] Nuck: AAA_awright: What I mean is, how do I detect spam-filtered [02:22] Nuck: Like how do I roll my own Postmark-kinda thing? [02:22] Nuck: $1.50 is cheap, but I'd rather not rely on anybody but myself :P [02:23] Nuck: AAA_awright: Look at all these bounce types: http://developer.postmarkapp.com/developer-bounces.html#get-bounces [02:23] fdenbow has joined the channel [02:23] Nuck: That is a LOT of granularity [02:24] harthur has joined the channel [02:24] Nuck: I dig the idea, not the company or product. [02:24] Nuck: I'm sure it's damn good service, but they rely on a single host which I think is a recipe for failure. [02:24] Nuck: Rackspace may be good but they ain't perfect [02:29] Nuck: SubStack: Hey, you handle credit cards and shit with Browserify right? [02:29] Nuck: I'm in the market for a payment gateway >_> [02:30] zanes has joined the channel [02:30] SubStack: wha? [02:30] SubStack: for browserling you mean [02:30] Nuck: Yeah that thing [02:30] SubStack: yeah we just use paypal 'cause we're lame like that [02:30] Nuck: srowser* [02:30] Nuck: SubStack: aahhh [02:30] Nuck: I don't trust them :/ [02:30] Nuck: I hear they have some nasty practices. [02:30] heavysixer has joined the channel [02:30] SubStack: probably [02:31] Nuck: I read a story on HN where they nearly screwed over a conference. [02:31] heythisisdave has joined the channel [02:31] SubStack: we're definitely going to switch to something nicer eventually [02:31] SubStack: too much stuff to build in the meanwhile [02:31] AAA_awright: Nuck: Generally you don't get to know if a message was discarded as spam or not [02:32] Nuck: AAA_awright: How does postmark do it? >_> [02:32] AAA_awright: It can't with any accuracy [02:33] Nuck: AAA_awright: Can't you request a return reciept. [02:33] AAA_awright: Those are annoying and a lot of mail clients simply ignore them anyways [02:34] Emmanuel` has joined the channel [02:34] AAA_awright: Spam has made it a negative to know if your message was read or not, you don't want to let spammers know you're reading their messages [02:34] soapyillusions has joined the channel [02:34] Nuck: AAA_awright: I can include HTML images with unique IDs [02:35] AAA_awright: Modern clients won't load remote content without user permission [02:35] Nuck: :/ [02:35] Nuck: There needs to be a way to detect where an email heads [02:35] Nuck: Whether it hits the spambox or not [02:36] AAA_awright: My lapop currently has Thunderbird on an email that just came in and it's asking me "To protect your privacy, Thunderbird has blocked remote content in this message [Show Remote Content]" [02:36] Nuck: I know that [02:36] Nuck: Gmail does it too [02:36] Nuck: The question I still have is, is psotmark worth it? [02:37] Nuck: Is it at all better than postfix or dovecot? [02:37] Yoric has joined the channel [02:38] AAA_awright: I can't tell what the net benefit is [02:39] AAA_awright: Postfix is a bit antiquidated, storing email for system users [02:40] AAA_awright: What if you just want to call an application every time you receive an email, for instance, that sounds like a Node.js listner would be better [02:41] jerrysv: nuck: how much are you willing to pay [02:41] jerrysv: nuck: we were paying ~10k/month to track whether we were hitting the spam box or the inbox [02:41] carmony has joined the channel [02:43] jerrysv: and to make sure we hit the inbox [02:44] nickshepherd has left the channel [02:44] temp01 has joined the channel [02:46] nuck-mobile has joined the channel [02:46] nuck-mobile: Ugh my computer froze. [02:47] nuck-mobile: Some mixture of mIRC and Chrome, with a bit of Skype thrown in. [02:47] achiu has joined the channel [02:47] alnewkirk has joined the channel [02:47] nuck-mobile: So, did I miss anything? [02:47] unlink has joined the channel [02:47] unlink has joined the channel [02:48] nuck-mobile: Man this iPhone client sucks ass. Tempted to pick up Colloquy mobile [02:49] nuck-mobile: It's $2, so I can afford it... I'm just too damn cheap lol. That's a whole 1,300 emails on Postmark! [02:50] ryanfitz has joined the channel [02:50] AaronMT has joined the channel [02:52] nuck-mobile: God this is the third time I've had to hard boot in 2 days. This is just plain pathetic. [02:53] nuck-mobile: Oh now THAT is fucked up. Windows decides to update without even asking me. [02:54] jerrysv: nuck: how much are you willing to pay [02:54] jerrysv: nuck: we were paying ~10k/month to track whether we were hitting the spam box or the inbox [02:54] jerrysv: and to make sure we hit the inbox [02:54] jerrysv: (is what you missed) [02:54] mcluskyd_ has joined the channel [02:54] nuck-mobile: Well I'm a cheapskate with a very small budget lol [02:54] cjm has joined the channel [02:54] jerrysv: and the company we were using is out of business [02:55] nuck-mobile: Oh really? [02:55] nuck-mobile: Looking at postmark, it seems like a good option. [02:55] jerrysv: yeah, they had agreements with all of the big mail providers, then those deals started being broken - they didn't last long after that [02:56] nuck-mobile: Might try setting it up later and checking all the headers postmark uses... [02:56] smathy has joined the channel [02:56] nuck-mobile: If I find their headers I might be able to reproduce high reliability >_> [02:56] jerrysv: i haven't used postmark, we use message systems and postfix [02:57] nuck-mobile: Hows the reliability with that? [02:57] jerrysv: our emails are signed, that's what helps with our reliability [02:57] nuck-mobile: Ah, signed? [02:57] jerrysv: we're delivering something in the realm of 3-5 million emails/day [02:57] mcluskydodallas has joined the channel [02:57] jerrysv: but that's not my department, so my knowledge is pretty shallow on the topic [02:57] ditesh|cassini has joined the channel [02:58] nuck-mobile: We're gonna be much slower that that, something like 50 a day moat likely. Might grow to 500 a day but probably not much more. Well have registration, recovery, and promotions [02:59] jerrysv: do you have a feed back loop set up? [02:59] jerrysv: most larger mail providers (aol, yahoo, etc) will whitelist you if you can prove you have a good feed back loop [03:00] jerrysv: eg, if a user hits "this is spam", that you process that as an unsubscribe or do not contact [03:00] nuck-mobile: Feedback loop? How do I manage that? [03:01] nuck-mobile: What happens when I press that little button, and how do I hook it? [03:01] jerrysv: http://postmaster-blog.aol.com/2009/12/08/feedback-loops-de-mystified/ [03:02] colinclark has joined the channel [03:02] jerrysv: it can vary from isp to isp, so you'll have to find the corresponding documentation for each of them [03:03] eee_c has joined the channel [03:03] nuck-mobile: Ah thanks I'll look into that. Hopefully this will save me that $1.50 :P [03:03] seivan has joined the channel [03:03] jerrysv: heh, good luck :) [03:04] jerrysv: and you don't need messagesystems if you're delivering that little of mail [03:04] nuck-mobile: I figured :P [03:06] jamesp has joined the channel [03:06] Nuck has joined the channel [03:07] Nuck: Good to be back on my computer :B [03:08] addisonj_ has joined the channel [03:08] ekryski has joined the channel [03:13] antono has joined the channel [03:13] MUILTFN has joined the channel [03:14] ditesh|cassini has joined the channel [03:16] meso has joined the channel [03:19] sebastia_ has joined the channel [03:23] boehm has joined the channel [03:24] gerard0` has joined the channel [03:24] meso has joined the channel [03:25] avalanche123 has joined the channel [03:28] Carter1 has joined the channel [03:28] Carter1: howdy [03:29] cjm has joined the channel [03:30] Nexxy has joined the channel [03:30] Nexxy has joined the channel [03:33] misterm has joined the channel [03:33] Carter1: is the node.js community getting pretty big now? [03:34] SubStack: it's this big: |-----------------------| [03:34] Carter1: impressive [03:34] Nuck: SubStack: That's bigger than your penis. [03:34] Nuck: :B [03:35] Nuck: Then again [03:35] Nuck: If it were bigger than a community, I'd be alarmed. [03:35] SubStack: flaps of meat and programming communities aren't very comparable [03:36] Nuck: SubStack: Well, they both tend to be attached to guys. [03:36] AAA_awright: -->| |<-- [03:36] mrchess has joined the channel [03:36] softdrink has joined the channel [03:39] Carter1: do you guys have a minute, to give me some advice? [03:40] AAA_awright: Carter1: Don't ask to ask, just ask [03:41] Carter1: so, my friends and i are forming a nonprofit that will be based around a webservice that helps disaster suvivors, volunteers, nonprofits and govt agencies [03:42] robotarmy has joined the channel [03:42] Carter1: just wanted to see what features we want to provide would be best written in. i know node.js is very good at handling certain types of workloads [03:42] mrchess: how much traffic are you expecting? [03:43] Carter1: well, our goal is to be the one site that people go to for missing person reports, submitting needs and finding them, amongst other things [03:43] Carter1: right now, there is no site out there that does it [03:43] Carter1: so whenever a disaster strikes it could get hammerd quite a bit [03:44] mrchess: you can probably write a site like that in anything you want [03:44] mrchess: node, ruby, php, whatever [03:44] Carter1: i'm sure it could be written in ruby or php [03:44] mrchess: it might even be easier to use wordpress if its mostly form submissions and if you want something quick [03:44] Carter1: that doesn't mean thats the best langauge choices though [03:45] mrchess: i dont think node would give you any edge over the other two [03:45] Carter1: especially if you're a nonprofit, you want to use what little resources you have effectively, both ruby and php aren't resource frugal [03:45] mrchess: but ruby and php frameworks are well documented and common, might be easier to find help [03:46] daed: gotta admit, i'm a ruby guy :( [03:46] daed: i want to get into node.js, hard to though [03:46] Carter1: http://adrienolczak.eu/poster/relief1.org/index.html# [03:46] Emmanuel`: daed: yeah but once you get started, it's super duper efficient [03:46] Carter1: this is our first draft of a teaser site we are creating [03:46] daed: efficient how? [03:47] daed: is there a large library i'm missing? [03:47] Emmanuel`: daed: efficient in term of development speed [03:47] Emmanuel`: and final product quality [03:47] Emmanuel`: and fun [03:47] daed: that's how i feel about ruby as well [03:47] Carter1: isn't node like an order of magnitiude faster [03:47] mrchess: emmanuel: argubably that could be said about any language [03:47] daed: i actually love writing jquery though too, i don't mind js as a language [03:47] mrchess: :o [03:48] daed: is jquery considered taboo by the node community? i mean it doesn't really apply server side [03:48] daed: but still [03:48] Emmanuel`: it's not taboo as far as I know [03:48] daed: i've been lusting over coffeescript too [03:48] daed: does coffeescript apply to node at all? [03:48] mrchess: carter: no. not necessarily [03:48] mrchess: daed: yes you can write your node apps in coffee [03:48] Emmanuel`: yes, lots of node module uses coffeescript [03:48] mrchess: coffee is just syntatic sugar [03:48] daed: nice! [03:48] daed: yeah [03:49] daed: figured it would be fine [03:49] daed: is there a standard library for node? [03:49] Emmanuel`: mrchess: agree, but they are all good for different things [03:49] Emmanuel`: some of them are good for nothing [03:49] Emmanuel`: daed: the core :) [03:49] daed: interesting [03:49] Emmanuel`: you have a lot of method that are integrated in the core [03:50] Carter1: mrchess: is it possible to scale node.js across multiple servers, datacenters and have it be fault tolerant? [03:50] Emmanuel`: like http/socket handling [03:50] daed: seems like node was built from the ground up with sockets in mind [03:50] daed: ahhh [03:50] Emmanuel`: daed: yes [03:50] mrchess: carter: think about it this way. rails took twitter up to millions before they shifted [03:50] daed: fault-tolerance.. how does node.js compare to erlang in that sense? [03:50] daed: mrchess; and they're still rails on the frontend [03:50] daed: rails is abstracted enough that you can swap out any layer at will [03:50] Emmanuel`: it's all about the way you use/program it I think [03:51] daed: or remove it entirely [03:51] daed: one thing i've wondered.. how does node.js compared to the standard C/C++ epoll/etc style of sockets? [03:51] Carter1: mrchess: that's true [03:51] mrchess: personally i like node, but if i were starting a huge project i might consider rails just because rails developers are more accesible [03:52] daed: node and rails are entirely different [03:52] mike5w3c_ has joined the channel [03:52] daed: node could easily serve a webservice called by a rails app [03:52] daed: apples and oranges i'd say [03:52] Emmanuel`: daed: from my point of view, it makes socket usage much easier [03:52] Emmanuel`: and allow you to do cool stuff without caring much about the boring parts [03:52] daed: node could even be a server for an asp.net app *shudder* [03:53] Carter1: mrchess: what if you use express? [03:53] oceanspray_: deoxxa: node.js socket standard is very much like epoll [03:53] oceanspray_: dead* [03:53] daed: very much like? [03:53] daed: being javascript though, isn't there more overhead than straight epoll? [03:53] daed: or are there advantages? [03:54] Carter1: mrchess`: or geddy [03:54] amerine has joined the channel [03:54] mrchess`: i mean they are all really good [03:54] mrchess`: its really hard to pick [03:54] mrchess`: there is no clear winner [03:55] mrchess`: if you have access to more rails developres, go rails [03:55] Nexxy: when in doubt go with the one that has the coolest name and prettiest logo [03:55] mrchess`: if you have access to js developres, go js [03:55] mrchess`: if you are interested in node more than rails, go node [03:55] mrchess`: regardless of what you pick you can definitely build your project on either platform [03:55] Nexxy: the question is; will you regret it? [03:55] smathy has joined the channel [03:55] Nexxy: with ruby, the answer is yes. [03:55] Carter1: would you regret using node? [03:55] Nexxy: NEVER [03:55] Carter1: lol [03:56] mrchess`: thats opinionated imo [03:56] mrchess`: :p [03:56] Nexxy: yes [03:56] Nexxy: it is [03:56] mrchess`: haha [03:56] Carter1: i love honesty [03:56] Nexxy: rails is a pile [03:56] Nexxy: people that have worked with it for years [03:56] mrchess`: u'll run into rails problems but will you really achieve that intesity of traffic [03:56] Nexxy: know that as fact [03:56] daed: nexxy; :( [03:56] daed: that's just mean. [03:56] mrchess`: node.. might cripple you in terms of being able to find talent [03:56] Carter1: aren't there a lot of JS developers out there? [03:56] Nexxy: http://npmtop.nodejitsu.com/ [03:56] daed: i'm struggling to hire a sr. ruby/rails dev here [03:57] mrchess`: right, but just because u do js doesnt mean you do node [03:57] Nexxy: daed, take it as a sign [03:57] Nexxy: and roll w/ node [03:57] mrchess`: js can also be strictly server side [03:57] daed: nexxy; there's no way in hell i could find a node dev here [03:57] Carter1: so i could easily go with PHP, but that would lead to other issues [03:57] Nexxy: daed, I think you forgot to add "with the amount of money I have" [03:57] Nexxy: ;P [03:57] Emmanuel`: daed: where are you ? [03:57] mrchess`: on a tangent: does anyone using socket.io 0.7 run into (node) Hit max file limit. problems? [03:58] daed: emmanuel; orlando [03:58] daed: lack of talent down here [03:58] daed: however [03:58] daed: i have to displace the php retards. [03:58] daed: rails > php-anything [03:58] Nexxy: and you call me mean for saying rails is a pile [03:58] Yoric has joined the channel [03:58] daed: well yes, naturally :P [03:58] daed: i still <3 javascript [03:59] Nexxy: but php-fpm + nginx + apc [03:59] daed: blegh [03:59] Nexxy: > rails [03:59] Carter1: mrchess`: i agree with you though, you're being practical, i'm wanting to be a dreamer [03:59] daed: oh sure [03:59] chjj: i think i would choose php over rails if i could use php whatever way i wanted to [03:59] daed: combine 3 things and say it's better than rails alone [03:59] Nexxy: lol [03:59] Nexxy: and rails is what without ruby? [03:59] daed: well that's 2 things [03:59] mrchess`: carter: i feel like you want to hear node is the right choice. it's not like that [03:59] Nexxy: and don't try to tell me you build rails apps w/o something like redis or memcached [03:59] Nexxy: cuz I will LOL heartily [04:00] oceanspray_: daed: sure there's overhead in sock.on('data') compared read(fd, buf, size), but not there's no overhead from the api, since the api is like epoll/poll/select [04:00] daed: we actually have a giant stack [04:00] Nexxy: I've heard that before [04:00] daed: rails just does some of the organization/UI [04:00] Nexxy: including SQLite in production, right?! [04:00] Nexxy: ;P [04:01] chjj: sqlite is pro, dont talk ill about sqlite! [04:01] jerrysv: anyone? best of breed file-based datastore? [04:01] Nexxy: chjj, I have 0 problem with sqlite [04:01] Nexxy: I take issue with the retarded rubyists that think it's a web scale db solution [04:01] Nexxy: lol [04:01] tk has joined the channel [04:02] jerrysv: or is node-sqlite / node-sqlite3 the best way to go still? [04:02] chjj: i can make anything webscale, i AM webscale [04:02] Nexxy: ACTION sighs [04:02] Nexxy: no, you are the devil [04:02] chjj: which one is orlandov's? [04:03] chjj: im not sure, ive heard node-sqlite3, which was originally a fork of orlandov's binding is a little bit more maintained? [04:03] hakunin has joined the channel [04:04] Carter1: Nexxy: mongodb is good for somethings, but not everything [04:04] chjj: someone write a database thats better than everything please [04:04] chjj: i would do it, but im not smart enough [04:04] Nexxy: Carter1, I'm glad you were able to find a use for mongo ;P [04:04] chjj: someone smarter than me should [04:04] jerrysv: chjj: we use a combination of technologies to scale [04:05] Carter1: mrchess`: nod, you're probably right [04:05] jerrysv: but mostly aggressive caching [04:05] luke` has joined the channel [04:08] ryan[WIN] has joined the channel [04:11] alnewkirk has joined the channel [04:14] freewil has joined the channel [04:14] freewil has joined the channel [04:17] mynyml has joined the channel [04:18] smus has joined the channel [04:18] ag4ve has joined the channel [04:19] jimt_ has joined the channel [04:20] slickplaid: Anyone know if Akamai sells to smaller businesses/websites/people who need small (cheaper) solutions? or are they strictly high dollar stuff? (ie need to go through a reseller like rackspace to afford) [04:21] Carter1: slickplaid: what about https://www.cloudflare.com/ [04:23] butu5 has joined the channel [04:24] slickplaid: hmm okay... thanks Carter1 [04:25] slickplaid: mainly just looking for a CDN for HD video streaming [04:25] jerrysv: cloudfront [04:26] jerrysv: http://aws.amazon.com/cloudfront/pricing/ [04:27] slickplaid: Thanks [04:27] slickplaid: teetering between amazon and rackspace [04:33] ronnieboy has joined the channel [04:37] _root_ has joined the channel [04:40] zomgbie has joined the channel [04:42] ag4ve has joined the channel [04:45] butu5 has joined the channel [04:45] butu5: hello guys [04:46] SubStack: greetings puny human [04:46] albertosheinfeld has joined the channel [04:51] asabil has joined the channel [04:52] markdaws has joined the channel [04:55] felixge has joined the channel [04:55] progrock: slickplaid: at my job, we switched from amazon to rackspace.. so far very happy ith the move [04:55] slickplaid: Yeah? [04:55] progrock: yup.. and I moved most of my personal servers to rackspace as well [04:55] slickplaid: Yeah I think we're making the right choice with rackspace [04:56] SubStack: a felixge appears! [04:56] SubStack: slickplaid: talk to felixge about video as a service [04:56] progrock: Amazon had issue after issue after issue... which got us very good at automating the deployment process, etc... but it was horendous [04:56] progrock: slickplaid: what kinda of material you planning on hosting [04:56] slickplaid: HD Video [04:57] progrock: ie.. space/bandwidth intensive, cpu intensive.. memory intensive.... [04:57] SubStack: felixge is one of the transloadit folk [04:57] slickplaid: space/bandwidth [04:57] slickplaid: probably going to use transloadit for encoding [04:57] progrock: Ok, well rackspace has faster disk speed (at least from out benchmarks) and gives you much more cpu power [04:57] slickplaid: just looking at the first month having like 250gb of video (total, in and out) being like $600... more than half our budget lol [04:58] progrock: I take it this is a relatively serious project? Ie. your plannign to spend thousands a month on servers? [04:58] progrock: hmmm [04:58] slickplaid: but, i suppose once it's paid for and usage levels off, it'll even itself out [04:58] slickplaid: (video is encoded, and on the CDN/CloudFiles) [04:59] progrock: well, this ay or may not fit you needs (not sure what kind of sustained bandwidth you need).. but I really like my other vps provider, rapidzen.. tey provide a2 mbps ine per a server (technically faster if you dont abuse the servers)... flat rate, no over charges even possible [04:59] slickplaid: This is all stuff I should be contacting transloadit directly about :D no need to pollute the node.js channel lol [04:59] progrock: AND you can get serevrs for as low as ~$6 a month with the 2mbps bandwidth [04:59] slickplaid: Well, I've worked with a friend who has a smaller video hosting site that has a 1gbps dedicated server [05:00] progrock: in other words.. 20 smal VPSes may give you a ton of bandwidth, and can be very cheap [05:00] slickplaid: and it works decently well, just balks at high traffic periods at times [05:00] progrock: well, with enogh of them load balanced.. you may be abel to get a killre service for penies on the dollar in comparison [05:01] slickplaid: yeah, true... just a lot of setup to get an army of servers together... half the reason the premium is paid for CDN [05:01] slickplaid: all that work is done already [05:01] felixge: SubStack: that wasn't me appearing, that was my laptop powering on in order to play music over the wireless to wake me up :) [05:01] felixge: but now it's me [05:01] SubStack: aha [05:01] slickplaid: WoL as an alarm clock... neat idea [05:02] progrock: slickplaid: littlevps.net is also wned by the same guy as rapidxen (the guy runs his own irc servers for tech support.. realy nice guy, the owners irc nick is nenolod [05:02] felixge: slickplaid: WoL? [05:02] slickplaid: wake and bake on lan? :D [05:02] fangel has joined the channel [05:02] progrock: slickplaid: if you use tools to help you automate.. its pretty trivial to set up a unch of servers [05:02] jerrysv: aha, felixge, just who i was hoping to run into [05:02] progrock: but rackspace's backup and retore is pretty nice [05:02] dexter_e has joined the channel [05:02] slickplaid: Yeah, kinda trying to shy away from having to manage that [05:03] jerrysv: felixge: i'm looking at dirty, and saw that there's a drain event -- but was wondering if it's possible for me to trigger a drain directly [05:03] unlink has joined the channel [05:03] unlink has joined the channel [05:03] felixge: slickplaid: we'd love to help with your encoding, just shoot an email to support and we'll try to give you the discount needed for things to make sense [05:03] jerrysv: or if it happens on every set, and the event is just notification [05:04] felixge: jerrysv: I wouldn't know [05:04] slickplaid: felixge: Will do. 95% sure we'll be going with Transloadit. :) [05:04] jerrysv: felixge: this isn't yours? https://github.com/felixge/node-dirty [05:05] slickplaid: Just kinda looking at a user uploading a 1gb HD video, then it needing to be transcoded for 1080p, 720p, 480p, 360p in several different formats to support html5 video and flash. Wondering exactly how much that final bandwidth number is going to be for $$ [05:05] felixge: jerrysv: it has my name on it, but I haven't done any work on it since Sep 2010 ... :) [05:05] felixge: so you know as much about it as I do [05:05] felixge: : ) [05:06] progrock: slickplaid: I'd sti check out rapidxen/littlevps.net... the minimal $6-$7 a month server is pretty damn powerful.. and they are as reliable as any VPS I;ve ever dealt with [05:06] tilgovi has joined the channel [05:06] tilgovi has joined the channel [05:06] slickplaid: Thanks progrock, I'll check them out. [05:06] progrock: and I have servers with amazon, linode, rackspace, and rapidxen :) [05:06] jerrysv: felixge: randomly accepting pull requests then? :) [05:06] felixge: progrock: good luck trying to encode 1GB HD in 4 formats ... :) [05:07] felixge: progrock: on a VPS [05:07] jerrysv: i see, flushes on set, unless a flush is occurring [05:07] slickplaid: felixge: Yeah... lol :( [05:07] felixge: progrock: I mean if your users can wait ~4 hours for each upload, it may work ... :) [05:07] niftylettuce: any tips for streaming mp3's through node to