[00:00] TheDahv: *other than looking at logs [00:00] TheDahv: Like...are there specifics about a server environment that would cause socket.io to fail [00:00] TheDahv: aaaactually, there's a socket.io channel, isn't there [00:00] Andy1991: Different version of node and server configured to give 500 code on script error? [00:00] tlack has joined the channel [00:00] Andy1991: That happens with works server / php [00:01] bandu has joined the channel [00:01] ben_alman has joined the channel [00:01] Andy1991: makes debugging a nightmare [00:01] TheDahv: Maybe. It has been a couple months actually since I looked at the problem [00:01] TheDahv: I should probably reproduce it and explore it more before I start yakking on IRC [00:01] Andy1991: lol, I should follow by your example [00:02] TheDahv: ;) [00:02] TheDahv: Sometimes the mental exercise of asking the question out loud helps you solve the problem [00:02] TheDahv: You think about it differently when you have to figure out how to tell somebody else [00:02] mehale: is it safe and robust to rely on node.js + node-static to serve streams to hundreds of clients? [00:03] TheDahv: yes, but you need to use protection [00:04] RobWC1 has joined the channel [00:04] thetony: protection is for wimps [00:04] TheDahv: mehale: I don't really get your question [00:04] Andy1991: a condom? [00:04] TheDahv: I'm going to venture a guess and say yes [00:05] benvie: this whole article seems awesome to me http://jeditoolkit.com/2012/03/21/protocol-based-polymorphism.html [00:05] benvie: and I think I want to use it [00:05] mehale: robust so it wont explode, melt. etc [00:05] CIA-19: node: 03ssuda 07master * r249c3c1 10/ (12 files): [00:05] CIA-19: node: Avoiding unnecessary ToString() calls [00:05] CIA-19: node: String::Utf8Value and String::AsciiValue constructors take Handle [00:05] CIA-19: node: So no need to convert to Handle - http://git.io/a_cvJg [00:05] TheDahv: I think it depends on how you handle errors in your program [00:05] TheDahv: Uncaught errors will cause it to fail [00:05] mehale: ok [00:05] mattgifford has joined the channel [00:06] TheDahv: Just handle your errors in whatever way you need to and write a robust program [00:06] TheDahv: I mean...how would you do it with a different framework? [00:06] tonymilne has joined the channel [00:07] maxownz has joined the channel [00:08] tlack: mehale: just curious, any reason you're avoiding proxying your app behind something strong at static files like nginx? [00:08] mehale: TheDahv: I am doing it in php+nginx serving files.... but... I have no stream, I just make a meta-dumb-stream doing postgres selects over and over [00:08] mehale: tlack: I am wanting to serve only json stream with node.js [00:09] Andy1991: woo hoo [00:09] ehazlett has joined the channel [00:09] Andy1991: GOt my fake tracking unit emulator working [00:09] Andy1991: thanks for all the help [00:10] mikeal has joined the channel [00:10] CIA-19: node: 03Igor Zinkovsky 07v0.6 * r0dcc433 10/ (lib/net.js test/simple/test-net-write-after-close.js): don't crash when queued write fails - http://git.io/_ROWSA [00:12] mehale: how do I pass arguments for sockets.io to make mongodb filtering later on? [00:13] TheDahv: You mean, like on the connection? [00:13] jtsnow has joined the channel [00:13] Andy1991: Yeah, plus I got alot of help hear earlier [00:14] Andy1991: here* [00:14] mehale: yes, can I send it as url part? http://host/?filter_a=1&filter_b=2 [00:14] Marak has joined the channel [00:15] TheDahv: You can send it as json data when you connect [00:15] mehale: hmmm [00:15] bnoguchi has joined the channel [00:15] mehale: If I have many clients asking for the same filter, would some sort of cachign happen? [00:15] mehale: caching [00:16] TheDahv: I think you'd want to write that into your application [00:16] mehale: wondering if there maybe something ready made that could fill my needs.... [00:16] TheDahv: socket.io just helps you send messages over sockets [00:16] garrensmith has joined the channel [00:16] zemanel has joined the channel [00:17] mehale: I basically need to serve streams of mongodb data :) [00:18] TheDahv: so write some code that pumps streams into a socket with socket io [00:18] mehale: I have that code I pasted, which already does this... now I need to implement client filtering [00:19] TheDahv: what code [00:19] timoxley has joined the channel [00:19] mehale: http://sett.ociweb.com/sett/settMar2012.html [00:19] TheDahv: oh yeah. I remember that link [00:20] TheDahv: The way it is styled...it amakes me not want to read it. [00:20] mehale: hi [00:21] samuelgoodwin has joined the channel [00:21] samuelgoodwin: hey guys [00:21] TheDahv: socket.on('connect', (data) -> mongodb.query(data).on('data', (db_data) -> socket.write(db_data))) [00:21] TheDahv: Something like that [00:21] samuelgoodwin: what do you guys use for your client-side stuff? ember.js? [00:21] tlack: samuelgoodwin: i really really like agility.js. the rest of them are too declarative [00:21] TheDahv: I still write html templates [00:22] tlack: TheDahv: i usually start that way and then begin hating life when my js code winds up being 500 lines of addClass/removeClass juggling [00:22] therrg has joined the channel [00:23] TheDahv: Hmm. Maybe I'm not creating interfaces that are complicated enough [00:23] sechrist_ has joined the channel [00:23] tlack: it really depends on the project of course. agility automatically syncs to an ajax data store too which is great (assuming you are ok with their conventions) [00:24] kvda has joined the channel [00:24] rauchg has joined the channel [00:25] ehazlett has joined the channel [00:26] shedinja_ has joined the channel [00:27] TheDahv: I've kind of wanted to try more of the client-side UI stuff [00:28] TheDahv: I haven't really done a node web app project in a while [00:28] Andy1991: Off to bed now, night [00:28] qbert_: benvie, can you sum it up ? I dont think I get it [00:28] TheDahv: My current node project is just a command line tool [00:29] tlack: its a slow process to switch your mindset over to an API + client-side JS framework but intellectually rewarding [00:29] sorensen__ has joined the channel [00:29] TheDahv: Sure. If you write enough AJAX, you're forced to think that way anyway [00:30] TheDahv: Done for the day [00:30] TheDahv: bye [00:33] Druid_ has joined the channel [00:34] francisl has joined the channel [00:34] rwaldron has joined the channel [00:36] thetony: later [00:37] c4milo has joined the channel [00:37] localhost has joined the channel [00:37] debris has joined the channel [00:37] subbyyy has joined the channel [00:38] samuelgoodwin has joined the channel [00:39] gwing has joined the channel [00:39] isaacs: test, please: http://nodejs.org/dist/v0.6.14/node-v0.6.14-RC0.tar.gz [00:40] RobWC has joined the channel [00:40] RobWC has left the channel [00:41] RobWC has joined the channel [00:41] RobWC has left the channel [00:42] meso has joined the channel [00:42] zanefactory has joined the channel [00:44] BillyBreen has joined the channel [00:45] payara has joined the channel [00:46] ted_: hey guys, is there any way for an average joe like me to access NYSE market data near instantaneously? No 15 minute delayed quotes by Google, but real-time data? [00:47] alpaca: lol? [00:47] ted_: it was worth a try [00:47] tylerstalder has joined the channel [00:48] Druid_ has joined the channel [00:48] tlack: ted_ i think what you are looking for is 'tick data' - try googling around that [00:48] thetony: ted_: yahoo does it for free [00:49] thetony: look for yahoo stock csv [00:49] thetony: you can get bid/ask splits etc for as fast as you want to poll, i think you're limited to 200k hits per day or something ridiculous [00:50] xvacantx has joined the channel [00:50] xvacantx: anyone here node and imagemagick? [00:51] agnat has joined the channel [00:51] recycl3 has joined the channel [00:52] ted_: thetony: the thing is yahoo's data is delayed from the real time by at least 15 minutes. If I wanted near instantaneous data, similar to what hedge funds use, there is no resource for an average dude, is there? [00:52] ziro` has joined the channel [00:53] tlack: ted_: here's some data about what is and isnt delayed http://stackoverflow.com/questions/281263/where-can-i-get-free-real-time-stock-data [00:53] francisl has joined the channel [00:54] mattparo has left the channel [00:55] broofa has joined the channel [00:55] iangreenleaf has joined the channel [00:55] kylebt has joined the channel [00:55] bnoordhuis: ted_: i used to work for a HFT. all the good feeds are a) expensive and b) massive [00:56] ted_: expensive as in millions? thousands? billions? [00:56] dekub has joined the channel [00:56] jimbot1 has joined the channel [00:56] bnoordhuis: i think the cheapest ones start at a couple of thousand a month [00:56] bnoordhuis: that's for real-time market feeds though [00:57] bnoordhuis: if you just need a stock ticker, there are free ones [00:57] ted_: what offered this, NYSE? what's the service called? [00:57] bnoordhuis: oh, i don't know about NYSE. the company i worked for only operated on european markets [00:58] ted_: why'd you leave the HFT field? [00:58] thetony: it's gong to depend on what data you want too [00:58] euforic has joined the channel [00:58] Marak: anyone know what causes util.puts to shit out like this? [00:58] Marak: ^ TypeError: Bad argument at [object Object]. (fs.js:307:11) at [object Object].flush (fs.js:1312:10) at [object Object].write (fs.js:1340:8) at Object.puts (util.js:66:20) [00:58] jryans has joined the channel [00:58] bnoordhuis: ted_: all the interesting stuff was done after a while [00:58] bnoordhuis: so it became time to move on [01:00] joshontheweb has joined the channel [01:00] bnoordhuis: Marak: what version of node is that? [01:01] Marak: bnoordhuis: v0.6.12 [01:02] ehazlett has joined the channel [01:03] hh__ has joined the channel [01:03] bnoordhuis: Marak: okay, then technically that can't happen :) [01:04] joshontheweb has joined the channel [01:04] Marak: bnoordhuis: I have a high capacity for breaking things. [01:04] DoNaLd` has joined the channel [01:04] automata has joined the channel [01:04] r04r has joined the channel [01:05] Marak: i'd rather not dive into a rabbit hole to make console.log work again. reinstall node? not sure what to do [01:05] seanstickle has joined the channel [01:05] jamesd_: ACTION enjoys breaking computers from the inside out ;-)  [01:05] andrehjr has joined the channel [01:05] niclone has joined the channel [01:06] killfill has joined the channel [01:06] chovy: is there a book out there that covers using express and mongoose/mongodb etc? [01:06] TooTallNate: Marak: what's wrong with console.log()? [01:06] Marak: ^ TypeError: Bad argument at [object Object]. (fs.js:307:11) at [object Object].flush (fs.js:1312:10) at [object Object].write (fs.js:1340:8) at Object.puts (util.js:66:20) [01:06] Marak: TooTallNate: ^^^ [01:06] karellen has joined the channel [01:06] Marak: util.puts / console.log [01:06] TooTallNate: oh ok, thought it was something different [01:06] Marak: i have no idea [01:07] koo5 has joined the channel [01:07] TooTallNate: Marak: do you know what you're calling that with? [01:07] ted_ has joined the channel [01:08] syntaxiko has joined the channel [01:08] Marak: TooTallNate: you mean the data? like, strings? [01:08] Marak: its being thrown from the core of our logging library [01:08] Marak: i think it might have to do with child procs doing output? i'm not sure. i'm running the hook.io test suite [01:09] qbert_: ted_, no, there's not [01:09] Marak: and im getting these crazy errors unless i comment out certain util.puts / console.log [01:09] Marak: then, it works fine [01:09] Marak: i'm gonna nuke node and rebuild it from the tag [01:09] r04r has joined the channel [01:09] qbert_: ted_ was government by the way [01:10] bnoordhuis: Marak: i kind of know what's causing it, just not sure of the why [01:10] bnoordhuis: Marak: you're printing to stdout when it's closed [01:10] Marak: bnoordhuis: yeah, thats possible [01:11] TooTallNate: bnoordhuis: how do you close stdout these days? [01:11] TooTallNate: fs.closeSync(1)? [01:11] bnoordhuis: TooTallNate: i don't [01:11] TooTallNate: bnoordhuis: not you; a node user. since process.stdout.end() now throws [01:11] TooTallNate: so does process.stdout.destroy() [01:11] bnoordhuis: yes [01:12] bnoordhuis: but it's possible to do it manually [01:12] andrehjr_ has joined the channel [01:12] killfill: hi [01:12] killfill: anyones uses amqp?... [01:12] bnoordhuis: TooTallNate: by which i mean call process.stdout.close() [01:13] TooTallNate: bnoordhuis: there is no process.stdout.close() but i get what you mean [01:13] killfill: its there an event somewhere that tells you after exchange.publish() when the message has been sent? [01:13] killfill: cannot find it.. :S [01:13] qbert_: funny story, FBI showed up at my house one time, they were dressed like mormons, I told them to fuck off and slammed the door in there face ( I was very hungover). They kept banging on the door and I called to verify they were legit and let them in. I was selling legitimate background checks online, but apparently there were words you cant use to describe FBI Database [01:13] qbert_: their* [01:13] wdbl has joined the channel [01:13] TooTallNate: > fs.closeSync(1) [01:13] TooTallNate: events.js:48 [01:13] TooTallNate: throw arguments[1]; // Unhandled 'error' event [01:13] TooTallNate: ^ [01:13] TooTallNate: Error: write EBADF [01:13] TooTallNate: at errnoException (net.js:646:11) [01:13] TooTallNate: at Object.afterWrite [as oncomplete] (net.js:480:18) [01:14] TooTallNate: but that's a net error, since it was in the repl. so i bet bnoordhuis is right [01:14] Brandon_R has joined the channel [01:14] Brandon_R: Hey guys [01:14] Brandon_R: is engine.io finished? [01:15] Brandon_R: i noticed not much has been happening on that front [01:15] TooTallNate: rauchg: ^? [01:16] igl has joined the channel [01:16] neoesque has joined the channel [01:16] rauchg: Brandon_R pretty much [01:16] rauchg: need to finish a suite of reusable browser tests [01:16] rauchg: but it's looking pretty solid [01:16] Brandon_R: cool [01:16] Brandon_R: can't wait to start using it [01:16] rauchg: =] [01:18] joshgillies has joined the channel [01:18] devongovett has joined the channel [01:18] infynyxx has joined the channel [01:19] patcito has joined the channel [01:19] ctp6360 has joined the channel [01:19] arnorhs: engine.io ? [01:20] Brandon_R: it's a lower level socket.io [01:20] arnorhs: ahh ok [01:20] wilmoore has joined the channel [01:20] Joeysomo has joined the channel [01:21] MartinCleaver has joined the channel [01:21] MartinCleaver has joined the channel [01:21] ag4ve: ACTION wonders if activestate actually makes their lead developers send out marketing.... [01:21] jimmyy111 has joined the channel [01:22] _tors has joined the channel [01:23] francisl has joined the channel [01:23] ramitos has joined the channel [01:25] tlack: is dust the only "streaming" (asynchronous) template library for node? i.e., i want my layout to be sent to the browser while im still calculating the database results i'll be showing (within reason) [01:25] Brandon_R: probably [01:26] tlack: seems like a big/obvious problem but i cant find much about it on google [01:26] Brandon_R: holy sh [01:26] Brandon_R: dust looks awesome [01:26] Brandon_R: it's like spdy but in js [01:26] tlack: check out its 'chunking' behavior.. pretty mind blowing [01:27] Brandon_R: i think facebook does this [01:27] Brandon_R: dust.js is relevant to my interests [01:28] chovy: is it possible to open firefox and take a screenshot with node.js? [01:29] Brandon_R: do you mean as a server or running on the same machine [01:29] Brandon_R: with a native module it's probably possible on the same machine [01:30] abraxas has joined the channel [01:31] tlack: isnt it possible to supply js to execute on the firefox command line? it used to be. if so, you could probably do it with one of the screenshot addons you can install [01:31] chovy: tlack: i see. [01:32] Brandon_R: tlack: do you have any benchmarks for dust.js? [01:33] Brandon_R: compared to thinks like jade and ejs etc? [01:33] fomatin has joined the channel [01:33] tlack: Brandon_R: no, i was just looking for some. even if its technically slower it may appear much faster to the browser (i.e., send 5kb header and wait 200ms for mysql, rather than front load the 200ms wait to the accept()) [01:34] hipertracker_ has joined the channel [01:34] Brandon_R: true [01:34] Brandon_R: fake speed is a real thing in website design :P [01:34] Brandon_R: i shouldn't say fake, perceived speed :) [01:35] tlack: it really is. im doing some interesting work now where im using a shit-ton of precaching and it makes a huge difference (even if its laborious and dumb) [01:35] tlack: it remains to be seen if our conversion rate will benefit but it feels like a much better experience [01:37] Brandon_R: cool [01:37] payara: hi [01:37] Brandon_R: do you have an online link i can see the stuff in action? [01:38] payara: have a couple of questions about TLS and cleartextstreams that I hope someone can help me with [01:38] payara: 1. would like to know which cipher was selected by the TLS negotiation for a connection [01:38] willwhite has joined the channel [01:39] payara: 2. wonder why the secureConnect event doesn't seem to get raised by a cleartextstream on windows [01:39] k1ttty has joined the channel [01:39] payara: 3. wonder how to detect when writing to a cleartextstream won't go to the wire immediately - always returns true and the drain event never seems to fire (again on windows) [01:40] payara: anyone have any insights/suggestions how I might approach these? [01:40] tlack: its very raw you wouldnt get too excited. basically we do hotel bookings so we are precaching availability data for the next 60 days for the top 50 markets in the world and then storing the output of our templates as html on s3 and serving with cloudfront. renders in ~200ms rather than 3-4 seconds like most travel sites (excluding images) and requires no processing power on the client [01:41] regality has joined the channel [01:41] tlack: then as you move your mouse around the page we fetch detailed data about each hotel (excluded from the initial download) and provide more info, etc.. its all trickery really. but it 'feels' much better than those slow boring hotels.com booking forms [01:42] payara: re 2. secureConnection event does fire on the server but the documented secureConnect doesn't seem to fire on the stream [01:42] Brandon_R: sounds fun [01:42] munichlinux has joined the channel [01:43] deoxxa: tlack: ooh ooh [01:43] deoxxa: tlack: my templating library (nearly) does streaming [01:43] tlack: deoxxa: which one is yours? link me dawg [01:43] deoxxa: https://github.com/deoxxa/node-ginger [01:43] payara: re 3. I'm thinking this may be because this is a cleartextstream on top of the real stream and that I need to somehow get access to that one's events (though I don't know if i would then be able to infer which write it was draining) [01:43] deoxxa: it's literally the next feature i'm working on [01:43] deoxxa: and most of the work is in place to do it already, i just haven't hooked up the whole eventemitter thing [01:44] tlack: yeah i think you'd have to trigger an event as data is available via a callback on the function that's called from the template, then collect them all and send as available.. or something? makes my brain hurt a bit [01:45] nodebiscut has joined the channel [01:45] deoxxa: it's not that hard if you don't take into account template inheritence [01:45] deoxxa: but with that in the mix, it gets a little hairy [01:45] tlack: i like your template syntax better than dust's thats a good start [01:45] Brandon_R: does it do css streaming? [01:46] deoxxa: Brandon_R: if you choose to write css in it, sure [01:46] debris has joined the channel [01:46] deoxxa: it's not tied to HTML [01:46] Brandon_R: coooooooooooooooooooooool [01:46] deoxxa: (or anything for that matter) [01:46] Brandon_R: i love node.js realtime [01:46] deoxxa: though streaming CSS sounds odd [01:46] Brandon_R: it seems server intensive though [01:46] k1ttty has joined the channel [01:46] Destos has joined the channel [01:47] deoxxa: tlack: i've been focussed very much on running the templates in the browser - but i take it that's not what you're after? [01:47] deoxxa: focused? focussed? that word is annoying [01:47] Brandon_R: does running templates in the browser like backbone.js lag much? [01:47] tlack: deoxxa: random thought, i wonder if you could shorten the .create_child() syntax into one call (i.e., if the ctx[key] is a function, run it - no add_function required) [01:47] Brandon_R: i've never really tried it [01:47] ningu has joined the channel [01:48] tlack: Brandon_R: for a small amount of data on decent hardware its unnoticable. i'd hate to use it to render 10k items in a list though [01:48] deoxxa: ^^ this [01:48] deoxxa: tlack: there's definitely room for optimisation, it's all very brute force at the moment [01:49] tlack: deoxxa: and i'd like to use the Perfect Template System on both client and server, but maybe not for this project (my js is super bare cuz 10% of our purchases are mobile so i want that to be very fast) [01:49] deoxxa: heh [01:49] deoxxa: i have a thing set up in express where i do this: [01:49] ningu: I'm a bit disinclined to use something called the Perfect Template System just based on the name. [01:49] deoxxa: res.send_response("pages/dashboard/index.html", {user: {name: "herp", lol: "wut"}}) [01:50] tlack: ningu: it started as a fork of Almost Perfect Kickass Template.JS [01:50] ningu: tlack: link? [01:50] deoxxa: depending on whether it's an AJAX or regular request, it'll send either JSON or HTML [01:50] deoxxa: without me having to care about it [01:50] tlack: ningu: im kidding, i was talking abstractly about whatever ideal system comes out - not one in particular [01:50] deoxxa: ACTION loves it [01:50] ningu: tlack: ok, not sure, I just showed up :) [01:50] tlack: deoxxa: thats kind of a brilliant idea [01:51] a_suenami has joined the channel [01:51] ningu: deoxxa: is there a template, or what? [01:51] tlack: ningu: feel free to use that name for YOUR template system though. i think everyone has their pet template project now [01:51] pandeiro has joined the channel [01:51] ningu: deoxxa: and how does the server know if it's ajax or a regular request? [01:51] deoxxa: req.isXMLHttpRequest in express [01:51] ningu: ahh [01:51] ningu: didn't realize you could do that [01:52] broofa has joined the channel [01:53] deoxxa: https://gist.github.com/2166139 << that does the send_response thing [01:53] ningu: tlack: I just use jade, it does what I need and doesn't get in the way [01:53] yaymukund has joined the channel [01:53] deoxxa: ningu: how do you do non-html templates in jade? [01:54] deoxxa: (that's a major requirement for me) [01:54] garrett has joined the channel [01:54] ningu: I don't have any -- but if I want to output json, I wouldn't do that with a template anyway [01:54] ome has joined the channel [01:54] ningu: deoxxa: what format are your non-html templates in? [01:54] deoxxa: i use templates to generate a bunch of things - emails, markdown, config files [01:54] ningu: I see [01:54] deoxxa: so mostly plain text [01:55] ningu: yeah, jade isn't ideal for that, clearly [01:55] ningu: in perl I used to use template toolkit, which could do stuff like that too, but I assume something like ejs might work [01:55] ningu: I haven't thought about it much in js yet [01:55] deoxxa: mmm [01:55] tlack: deoxxa: you should make ginger know how to (optionally) render 'placeholders' in the template and then do an ajax call to fill them :-o [01:56] tlack: deoxxa: derby does that but derby seems like the workings of a madman [01:56] deoxxa: tlack: you could do that with client-side javascript pretty easily [01:56] jtsnow has joined the channel [01:56] tlack: deoxxa: yeah but i dont wanna :) [01:56] ome: any OPS ? [01:56] ome: op [01:56] tlack: deoxxa: imagine what a weird feature that would be for the template itself to possess? [01:56] deoxxa:
[01:57] ome: why isn't #nodejs redirected to here instead of sending a message ? [01:57] Marak: TooTallNate: i've confirmed that same issue on travis-ci too [01:57] Marak: TooTallNate: what should i do to fix that? the writing to STDOUT causing bad argument? [01:57] deoxxa: tlack: i kind of want to keep ginger out of the loop as far as the content goes [01:58] k1ttty_ has joined the channel [01:58] Marak: node.js:201 286 throw e; // process.nextTick error, or 'error' event on first tick 287 ^ 288TypeError: Bad argument 289 at [object Object]. (fs.js:307:11) 290 at [object Object].flush (fs.js:1312:10) 291 at [object Object].write (fs.js:1340:8) 292 at Object.puts (util.js:66:20) 293 at [object Object].log (/home/vagrant/builds/hookio/hook.io/node_modules/winston/lib/winston/transports/conso [01:58] Marak: >.< [01:59] dragansah has joined the channel [01:59] debris has joined the channel [02:00] dshaw_ has joined the channel [02:00] luxigo has joined the channel [02:01] jonaslund_ has joined the channel [02:02] baudehlo has joined the channel [02:02] jdeibele has joined the channel [02:03] limgad has joined the channel [02:03] wdbl: anyone use Node.js with sql server? what's the best driver? node-tds or tedious? [02:03] tdubellz has joined the channel [02:03] tdubz has joined the channel [02:04] killfill_ has joined the channel [02:04] ome has left the channel [02:05] samstefan has joined the channel [02:05] zpao has joined the channel [02:06] debris has joined the channel [02:06] m0 has joined the channel [02:07] jimbot has joined the channel [02:07] m0: Hello, I am getting Cannot find module 'b64url', from Windows, http://pastebin.com/0G5gKffz when running node, but when I deploy it to heroku it works fine. [02:07] m0: Any ideas?/ [02:08] dubellz has joined the channel [02:08] tlack: m0: is it in node_modules? whats your require() line? [02:08] zackattack has joined the channel [02:09] jdeibele1 has joined the channel [02:09] debris has joined the channel [02:10] m0: node_modules/faceplate has "b64url": "1.0.3", in dependencies. It is pulling in faceplte but not b64url [02:11] m0: Must have been a hickup then. I ran npm update and it worked again. [02:11] m0: It downloaded faceplates dependencies, weird, must be a hickup. [02:12] satyr has joined the channel [02:13] disappearedng: What's the best way to log to a file [02:13] disappearedng: all the console.log [02:13] totallymike: node yourfile.js > output.log [02:13] disappearedng: Lol really? that simple? [02:13] disappearedng: well I will use tee for a starter [02:13] totallymike: good enough [02:16] sh1mmer has joined the channel [02:16] monokrome has joined the channel [02:17] garrensmith has joined the channel [02:17] ditesh|cassini has joined the channel [02:18] ericmuyser has joined the channel [02:19] eventualbuddha has joined the channel [02:19] rt7 has joined the channel [02:19] joaojeronimo has joined the channel [02:20] plutoniix has joined the channel [02:22] zpao_ has joined the channel [02:22] meso has joined the channel [02:25] karterk has joined the channel [02:25] jacobolus has joined the channel [02:26] totallymike has joined the channel [02:28] jacobolus has joined the channel [02:29] Ond has joined the channel [02:30] kvda has joined the channel [02:30] munichlinux has joined the channel [02:31] kvda: Hey which jslint is best to use on node? [02:34] Emmanuel` has joined the channel [02:35] konobi: kvda: whichever one suits you best [02:35] tommyvyo has joined the channel [02:35] kvda: is there a semi-official version though? [02:35] konobi: nope... it's very much personal/team taste [02:36] kvda: hmm, so what are some of the major ones? [02:36] Ricket has joined the channel [02:37] dilvie has joined the channel [02:40] jerrysv has joined the channel [02:40] dukeytoo has joined the channel [02:41] dylang has joined the channel [02:43] k1ttty has joined the channel [02:44] timoxley has joined the channel [02:44] rtgibbons has joined the channel [02:45] k1ttty has joined the channel [02:46] Knowledge has joined the channel [02:46] munichlinux has joined the channel [02:46] ditesh|cassini has joined the channel [02:46] orlandovftw has joined the channel [02:48] Joeysomo_ has joined the channel [02:50] jdeibele has joined the channel [02:50] csprite has joined the channel [02:50] timoxley has joined the channel [02:51] domo1 has joined the channel [02:51] domo1: hey everyone.. need some advice on building some functionality. [02:52] yaymukund: domo1: D.A.T.A. (don't ask to ask, just ask) [02:52] domo1: to keep things simple, im looking to make 3 concurrent http requests and then set a timer of 1 second. once that timer finishes, I want to use the requests that were completed and ignore the others. what would be the best way to do this? [02:53] diogogmt has joined the channel [02:53] maxogden: also DATA: Brent Spiner character on Star Trek: TNG [02:53] yaymukund: DATA is also the singular form of datum [02:53] Ond: You mean plural [02:53] yaymukund: tomato tomato [02:53] maxogden: potato wisconsin [02:53] maxogden: wait what [02:54] mandric has joined the channel [02:55] maxogden: domo1: var now = new Date(). someRequest(function() { now - new Date() > 1000 ? doStuff() : dontDoStuff() }) [02:55] arlink has joined the channel [02:55] arlink: i have a script running in my terminal. where can i find a simple blog example telling me how to get its data to the web with socket.io? [02:55] domo1: maxogden: oh I guess that would work lol.. just check the timer on each responses end event? [02:55] AvianFlu: you could also set timeouts on the requests themselves, and then just wait for all the callbacks to get fired [02:55] domo1: or data event [02:55] maxogden: domo1: ya pretty much [02:55] domo1: i like that [02:55] tlack: domo1: to expand on what max said, collect responses in an array, after the timer goes off use the data from the array [02:56] domo1: yeah well id rather stop the request [02:56] AvianFlu: both core's http.request and the request lib let you put timeouts on requests that abort them, I believe [02:56] AvianFlu: probably a good idea in either case [02:57] domo1: that's true, ill look into that [02:57] yaymukund: I would just put a timeout and collect the calls using a regular async library, if you can swing that. [02:58] arlink: why would i use an express server over a node http server? [02:58] domo1: thanks everyone [02:58] Ricket: arlink: well, look at express and decide if you want those features [02:59] Ond: Express builds upon the node HTTP server, arlink [02:59] yaymukund: arlink: http://expressjs.com/guide.html everything below "HTTP Server" is mostly not in the node http server. [03:00] arlink: ok [03:02] baudehlo has joined the channel [03:03] Brandon_R has joined the channel [03:04] Brandon_R: hola amigos [03:04] Ond: Gretlins [03:04] jimbot1 has joined the channel [03:04] Poetro has joined the channel [03:05] TheAlphaNerd has joined the channel [03:05] PPPaul has joined the channel [03:06] johnstorey has joined the channel [03:07] Brandon_R: working on anything awesome ond? [03:08] jimbot has joined the channel [03:09] warz has joined the channel [03:09] warz has joined the channel [03:09] Ond: Yeah Brandon_R. Classified though. [03:09] Ond: How about you? [03:09] takkun1946 has joined the channel [03:09] bodisiw has joined the channel [03:09] Brandon_R: working on something. wouldn't call it awesome :( [03:09] Ond: Is it at least fun? [03:09] Brandon_R: just a realtime website. but in node that's the hello world :( [03:09] Ond: bodisiw, there you are [03:10] Brandon_R: node has high standards [03:10] aoberoi has joined the channel [03:10] Ond: Ah, sure, Brandon_R. Make an IRC client or something, as a first project. [03:10] Ond: You know, a web-based IRC client. [03:10] Brandon_R: i think a good node.js project would be a facebook clone [03:11] Ricket: node.js + socket.io = anything's possible [03:11] Brandon_R: just to get to know it [03:11] Ond: Perhaps [03:12] jimbot1 has joined the channel [03:12] Ond: DNode is pretty cool too. Have you used it yet? [03:12] seebees: Does anyone have any idea how to get ahold of the process object in C++? [03:12] Ond: I haven't used it in a long time because back when Opera hadn't supported Object.keys, DNode would break. [03:12] Ond: Nowadays it probably works fine. [03:12] johnstorey has joined the channel [03:13] takkun1946 has joined the channel [03:14] timoxley has joined the channel [03:20] devaholic has joined the channel [03:21] mikeal has joined the channel [03:24] jimbot has joined the channel [03:25] slajax has joined the channel [03:25] jimbot2 has joined the channel [03:27] c4milo has joined the channel [03:28] dr0id has joined the channel [03:31] brainss has joined the channel [03:36] Brandon_R: hi [03:36] jdeibele has joined the channel [03:37] munichlinux has joined the channel [03:37] boltR has joined the channel [03:38] rtgibbons has joined the channel [03:38] jlank has joined the channel [03:39] sanitypassing has joined the channel [03:40] sanitypassing: is it possible to access the socket of a http server? [03:40] spion1 has joined the channel [03:40] xbayrockx has joined the channel [03:40] Marak: sanitypassing: i think you can create a tcp server, and use http parsers yourself? [03:41] KwameBoy has joined the channel [03:41] Marak: maybe its easier then that [03:41] kmiyashiro has joined the channel [03:41] sanitypassing: probably [03:41] KwameBoy: Is node.js as a platform a good candidate for implementing a Jabber server? [03:41] sanitypassing: how would I accces the parsers? [03:42] chadskidmore has joined the channel [03:43] willwhite has joined the channel [03:46] jzacsh has joined the channel [03:46] bartt has joined the channel [03:48] KingInky has joined the channel [03:49] jacobolus has joined the channel [03:49] Brandon_R: process_binding [03:49] Brandon_R: look at how http.js does it [03:49] mcluskydodallas has joined the channel [03:54] Vennril2 has joined the channel [03:59] sreeix has joined the channel [04:00] joshontheweb has joined the channel [04:01] ambroff has joined the channel [04:01] regality has joined the channel [04:01] langworthy has joined the channel [04:02] ambroff has joined the channel [04:02] seebees: does anyone know how to get the pid of the node process in a C++ addon? [04:02] subbyyy has joined the channel [04:03] Brandon_R: hold on [04:04] infynyxx has joined the channel [04:05] isao has joined the channel [04:05] AvianFlu: seebees, use whatever the syscall is for that, getpid() maybe? [04:05] Brandon_R: https://github.com/joyent/node/blob/master/src/process_wrap.cc#L184 [04:05] AvianFlu: Brandon_R, that's for child processes [04:05] Brandon_R: oh [04:05] alex_burke has joined the channel [04:05] AvianFlu: node.cc and node.js are where the node process object stuff is [04:06] jj0hns0n has joined the channel [04:06] seebees: AvianFlu: yes, but what I actually want is to set a value on the process object [04:06] AvianFlu: node.cc [04:07] AvianFlu: have a look around [04:07] yaymukund: I'd like to synchronously start redis and then do something. what would be the best way of doing this? [04:07] AvianFlu: caution: big file [04:07] AvianFlu: the process object exists primarily in src/node.js [04:07] AvianFlu: that's the better place to start [04:07] seebees: yes, but that is on the JS side [04:08] AvianFlu: right, I'm saying follow things down [04:08] AvianFlu: but src/node.cc is the c++ side of that [04:08] Brandon_R: check out how the node.js does it and backtrace it into node.cc [04:08] seebees: I opened your link but all I see is node:: :( [04:08] Brandon_R: i don't think this is documented so might have to do some digging [04:08] seebees: that is what I'm finding. [04:09] Ond: Using node_redis client, yaymukund? [04:09] yaymukund: Ond: yup [04:09] Ond: require('redis').createClient().on('ready', function(){}) [04:09] yaymukund: Ond: not after the client's connected, but after the server's up. [04:09] timoxley has joined the channel [04:10] Brandon_R: hey guys, any libs to synchronously bootstrap node apps? [04:10] Ond: client will emit ready a connection is established to the Redis server and the server reports that it is ready to receive commands. [04:10] yaymukund: Ond: what if the server's not ready yet? [04:12] yaymukund: Ond: I want my callback to always fire after the server is ready and not fail, if such a thing is possible. might be less a node problem and more of a systems programming question, hm. [04:12] jamescarr has joined the channel [04:15] domo1 has left the channel [04:15] seebees: AvianFlue, Brandon_R THANKS! my stupidity knows no bounds! [04:15] seebees: I was making this WAY too complicated [04:15] Brandon_R: did you figure it out? [04:15] seebees: yup [04:15] Brandon_R: kool [04:17] Ond: I guess you could do this if you had to, yaymukund https://gist.github.com/d96368022e9fb098aefb [04:17] garrensmith has joined the channel [04:17] pizthewiz has joined the channel [04:19] PPPaul has joined the channel [04:19] gavin_huang has joined the channel [04:21] Skaag has joined the channel [04:22] mikeal has joined the channel [04:22] timoxley has joined the channel [04:25] boltR has joined the channel [04:26] wilmoore has joined the channel [04:27] jamescarr_ has joined the channel [04:31] blueadept has joined the channel [04:31] mattgifford has joined the channel [04:31] boltR has joined the channel [04:32] chadskidmore has joined the channel [04:33] TheAlphaNerd: good evening [04:33] blueadept` has joined the channel [04:33] TheAlphaNerd: anyone want to help me fix node-osc [04:33] TheAlphaNerd: kinda hitting a brick wall with the lower level udp stuff [04:35] MartinCleaver has joined the channel [04:35] MartinCleaver has joined the channel [04:36] chovy has joined the channel [04:37] Tobsn has joined the channel [04:38] mikeal has joined the channel [04:38] petschm_ has joined the channel [04:38] brainss has joined the channel [04:38] nateps has joined the channel [04:39] Brandon_R: kk [04:40] chadskidmore has joined the channel [04:40] PPPaul has joined the channel [04:42] wizonesolutions has joined the channel [04:43] plutoniix has joined the channel [04:44] isao has joined the channel [04:45] khrome has joined the channel [04:46] zixiz has joined the channel [04:47] ParadoxQuine has joined the channel [04:48] bruce has joined the channel [04:50] sechrist has joined the channel [04:51] kirbysayshi has joined the channel [04:53] orlandovftw has joined the channel [04:53] njain has joined the channel [04:54] achiu has joined the channel [04:54] achiu: p [04:54] kojul has joined the channel [04:55] Brandon_R: hu [04:56] MrNko has joined the channel [04:56] mattgifford has joined the channel [04:58] bhunt has joined the channel [05:01] dnolen has joined the channel [05:02] saikat has joined the channel [05:04] githogori has joined the channel [05:04] limgad has joined the channel [05:05] slajax has joined the channel [05:07] sanitypassing has left the channel [05:07] plutoniiix has joined the channel [05:08] satyr has joined the channel [05:12] mikeal has joined the channel [05:14] gjohnson has joined the channel [05:20] isaacs has joined the channel [05:21] spion has joined the channel [05:21] lohkey has joined the channel [05:23] pizthewiz has joined the channel [05:23] limmy has joined the channel [05:25] amigojapan has joined the channel [05:28] gjohnson: anyone have tips on improving ssl performance? [05:29] gjohnson: I understand the underlying issue with the cpu bound process of the handshake, but any recommendations on making the best of it? [05:30] maxogden: gjohnson: you have a production node app that is bogged down by ssl handshakes? [05:32] gjohnson: im about to in about 30 minutes :-) [05:33] garrensmith has joined the channel [05:33] garrensmith has joined the channel [05:34] gjohnson: It "works" fine, but I happened to notice my test-api latency a little higher than I would like, quick google came across this https://groups.google.com/forum/?fromgroups#!searchin/nodejs-dev/ssl$20performance/nodejs-dev/27uutrEQChU/o3CQwlersR8J [05:35] gjohnson: naive ab test on hello world on http vs https is like 4000 vs 100 on a shotty VM [05:36] gjohnson: which is has be a bit concerned [05:36] perezd has joined the channel [05:37] niallo: gjohnson: if you can offload the ssl to something else that would help of course [05:39] niallo: gjohnson: personally i use node-http-proxy for ssl termination because it supports websockets. you could also look at stud or something like that. [05:40] maxogden: https://github.com/mikeal/stud-proxy [05:41] mikeal: maxogden: i emailed these guys http://tacocopter.com/ [05:41] maxogden: mikeal: yeah we need them on board [05:41] mikeal: i said [05:41] maxogden: mikeal: if they can give a quadcopter demo [05:42] mikeal: "if this is real, we need you to speak. if this is a joke, we DEFINITELY need you to speak" [05:42] maxogden: mikeal: hehe [05:47] mikeal has joined the channel [05:48] jamescarr_: there, just hacked together a nice mongoose-amqp plugin for anyone who might want it :) [05:49] jamescarr_: https://github.com/jamescarr/mongoose-amqp-plugin [05:50] dodo has joined the channel [05:50] Tobsn: good job [05:50] Tobsn: neat. [05:51] jamescarr_: the tests were a fair bit harder than writing the actual code :) [05:51] Tobsn: yeah i bet [05:51] Tobsn: i was looking at similar stuff and walked quietly away [05:52] enjalot has joined the channel [05:52] subbyyy has joined the channel [05:53] hij1nx has joined the channel [05:53] trivol_ has joined the channel [05:54] satyr has joined the channel [05:57] arnorhs has joined the channel [06:03] enjalot_ has joined the channel [06:04] tylerstalder has joined the channel [06:05] mullr has joined the channel [06:06] TimTimTim has joined the channel [06:08] Morkel has joined the channel [06:08] skm has joined the channel [06:11] benvie: lol wow [06:11] benvie: that's an awesome service [06:12] subbyyy has joined the channel [06:13] mcluskydodallas has joined the channel [06:14] khrome has joined the channel [06:17] mikeal has joined the channel [06:19] SamuraiJack has joined the channel [06:23] admc has joined the channel [06:24] ewalker has joined the channel [06:25] devongovett has joined the channel [06:25] chvid has joined the channel [06:25] hfaafb has left the channel [06:28] skm has joined the channel [06:29] jetienne has joined the channel [06:31] ericmuyser has joined the channel [06:31] arnorhs: benvie: ? [06:32] maletor has joined the channel [06:32] mikeal has joined the channel [06:34] sreeix has joined the channel [06:34] sanitypassing has joined the channel [06:35] benvie: tacocopter [06:35] sreeix has joined the channel [06:36] sanitypassing: hey, I've got a websocket server I'm experimenting with, but I need to parse the HTTP handshake. What would be the easiet way to do this? [06:37] rlidwka has joined the channel [06:38] fson has joined the channel [06:38] yawNO has joined the channel [06:39] stafamus has joined the channel [06:39] mattgifford has joined the channel [06:42] garrensmith|away has joined the channel [06:44] d0ax has joined the channel [06:45] arnorhs: benvie: yeah, heh, that one's pretty sweet [06:45] tonymilne has left the channel [06:45] plutoniix has joined the channel [06:46] limgad has joined the channel [06:50] aqad12 has joined the channel [06:51] aqad12: lets get this node.js party started!!! [06:52] tornad has joined the channel [06:54] trivol_ has joined the channel [06:54] yawNO: morning [06:54] yawNO: \m/ [06:54] aqad12: where u at dawg [06:55] pid has joined the channel [06:57] graeme_f has joined the channel [06:57] sigurding has joined the channel [06:58] arnorhs: yawNO: morning.. [06:58] arnorhs: in europe? [06:59] yawNO: italy [06:59] aqad12: italia baby [07:00] aqad12: where the women appreciate a man who can program [07:01] aqad12: or maybe thats sweden [07:03] sanitypassing has left the channel [07:03] koo5 has joined the channel [07:04] meso has joined the channel [07:06] misza222 has joined the channel [07:06] yaymukund: how do you test POST requests that modify your session object? [07:08] boltR has joined the channel [07:09] orlandovftw has joined the channel [07:09] amigojapan_ has joined the channel [07:10] orlandovftw has joined the channel [07:10] jdeibele has joined the channel [07:13] yawNO has joined the channel [07:14] nsolsen has joined the channel [07:21] mullr has left the channel [07:23] igl: o.O [07:24] vbd has joined the channel [07:25] noganex has joined the channel [07:25] aesptux has joined the channel [07:25] mansoor has joined the channel [07:25] joaojeronimo has joined the channel [07:28] charlenopires has joined the channel [07:28] domo1 has joined the channel [07:29] domo1: can someone recommend some software that will help me deploy my node js script as a daemon and automatically restart it when/if it crashes [07:29] ditesh has joined the channel [07:30] wingie has joined the channel [07:30] Marak: domo1: https://github.com/nodejitsu/haibu [07:30] Marak: domo1: thats what i use for that [07:31] neshaug has joined the channel [07:31] FredC has joined the channel [07:32] TTSDA has joined the channel [07:33] domo1: Marak: anything else? [07:34] Marak: domo1: nope [07:34] domo1: I don't know if I want to launch another server to monitor a server I wrote [07:34] domo1: and wrap it in code and all that jazz [07:34] Marak: i guess i should update the readme [07:35] Marak: you dont understand what you want or what that does [07:35] Marak: but it will do what you want, robustly [07:36] PPPaul has joined the channel [07:36] noganex has left the channel [07:36] sigurding: hey, anyone here tried to create chunked uploads with formidable? [07:36] josh-k has joined the channel [07:37] sinclair has joined the channel [07:37] Marak has left the channel [07:38] Swaagie has joined the channel [07:39] hackband has joined the channel [07:42] yaymukund: domo1: forever does that too. [07:43] yaymukund: domo1: haibu is nodejitsu's deploy environment, so it's a bit much if *all* you want to do is monitor a process. you could also just use daemon tools [07:43] domo1: yeah forever is awesome [07:43] domo1: just installed it [07:43] domo1: does exactly what I needed [07:43] graeme_f has joined the channel [07:43] yaymukund: cool [07:44] domo1: thanks [07:44] domo1: haibu is cool.. but with the server im running and it's purpose, I really don't think I need everything haibu offers [07:44] SubStack: domo1: check this out https://github.com/substack/fleet [07:45] kmiyashiro has joined the channel [07:45] domo1: SubStack: looks great, but again it seems to require me running another server "hub" [07:45] SubStack: "another server" what [07:45] domo1: I'd rather just have a piece of software handle it for me or simply use the system to monitor the process [07:45] SubStack: the hub can live anywhere [07:45] SubStack: including on the same server as where the drones live [07:45] domo1: that's fine, hub, fleet, drone [07:45] yawNO has joined the channel [07:46] braoru has joined the channel [07:47] igl: heibu is basicly like forever but it reads a package.json? [07:47] pvankouteren has joined the channel [07:47] igl: (= [07:48] yaymukund: igl: I should note that I do not know what haibu is.. haha. it's on my to-do to look into it. [07:48] domo1: yaymukund: question for you - lets say i wrote a socket server listening on a unix socket and I want to spawn another process to handle more connections/processing.. would I then use one of these solutions? [07:49] domo1: or is that done/handled within my application? [07:49] igl: yes [07:49] flou has joined the channel [07:50] dandean has joined the channel [07:50] domo1: then something like haibu or sub would be extremely useful [07:50] igl: well heibu would do the job for you, you just add a app.js [07:50] igl: and it spawns it [07:51] domo1: yeah [07:51] domo1: I understand [07:51] domo1: awesome [07:51] dandean: hello! probably a silly question, but how does one pipe the result of readFileSync to a child process, such as pbcopy? [07:51] yaymukund: domo1: that is my understanding. yes [07:51] igl: well [07:51] igl: https://github.com/stagas/dnode-worker [07:51] igl: uses dnode (tpc), not a socket for ipc [07:51] flou has joined the channel [07:51] igl: http://learnboost.github.com/cluster/ [07:52] igl: has a cli plugin [07:52] dandean: mikeal: you around to answer my silly question?/ [07:53] spolu has joined the channel [07:53] yaymukund: dandean: child_process.exec('pbcopy', [data]) ... would that work? [07:53] dandean: yaymukund: I'll try - thank you! [07:53] yaymukund: (not sure myself, but it's a thought) [07:54] staar2 has joined the channel [07:55] SubStack: dandean: don't readFileSync if you're going to pipe [07:55] dandean: ah, yes. I meant readFile [07:55] SubStack: don't use readFile [07:56] flou has joined the channel [07:56] otih has joined the channel [07:56] SubStack: just var ps = require('child_process').spawn('beep', [ 'boop' ]); fs.createReadStream(file).pipe(ps.stdin) [07:57] tornad has joined the channel [07:57] domo1: sub loves beepin and boopin [07:57] SubStack: the (fs.readFile)s buffer things into memory but if you're going to pipe data from one place to another it's more typing and not necessary [07:58] dandean: SubStack: thanks [07:58] yaymukund: yes, makes sense. [07:58] yaymukund: it's like you know this stuff, SubStack [07:58] yaymukund: :) [07:59] staar2: how i get current hdparam value ? [08:01] domo1 has left the channel [08:01] zeqeiroz has joined the channel [08:01] misza222 has joined the channel [08:02] staar2: well after suspend the hdparam is 128 how to change it ? [08:02] hipsters_ has joined the channel [08:02] fangel has joined the channel [08:03] charlenopires has joined the channel [08:03] `3rdEden has joined the channel [08:03] dandean: SubStack: what would I do to modify the content of the stream before piping it? Such as prepend it with content? [08:04] SubStack: you can just ps.stdin.write(content) before you call .pipe() [08:04] dandean: SubStack: ah - excellent. Thanks for the hand holding. [08:05] cosmincx has joined the channel [08:06] yawNO has joined the channel [08:06] SubStack: adding trailing data is trickier since you'd need to listen for the 'end' event but also possible [08:07] dandean: Thankfully, all I need to do is prepend data at the moment. [08:08] dobber has joined the channel [08:08] piscisaureus_ has joined the channel [08:08] dmilith has joined the channel [08:09] jacobolus has joined the channel [08:09] huggies has joined the channel [08:11] [[zz]] has joined the channel [08:11] sreeix has joined the channel [08:16] mike has joined the channel [08:17] rendar has joined the channel [08:17] mcoolin has left the channel [08:18] MerlinDMC has joined the channel [08:21] chvid has joined the channel [08:22] arduix has joined the channel [08:23] djcoin has joined the channel [08:24] i42n has joined the channel [08:24] jetienne has joined the channel [08:24] ewalker has joined the channel [08:24] emattias has joined the channel [08:24] lperrin has joined the channel [08:25] [AD]Turbo has joined the channel [08:25] gavin_huang has joined the channel [08:30] [AD]Turbo: hi there [08:32] _rockbot_ has joined the channel [08:33] janfabian has joined the channel [08:34] janfabian has left the channel [08:34] salva has joined the channel [08:35] robi42 has joined the channel [08:35] rlidwka has joined the channel [08:39] whitman has joined the channel [08:39] groom has joined the channel [08:42] payara: the fd trick to passing tcp connections to other processes on unix - anyone know if that should also work on windows? [08:43] pp01bit has joined the channel [08:44] garrensmith|away has joined the channel [08:44] AD7six has joined the channel [08:44] dragansah has joined the channel [08:47] ctp6360 has joined the channel [08:47] Vespakoen has joined the channel [08:48] mattparo has joined the channel [08:49] mattparo: Hi everybody does someone of you guys have working examples/tutorials for websockets&node.js? Most of existing demos are not complete or working anymore. [08:51] boltR: mattparo: i highly recommend checking out socket.io [08:51] boltR: http://socket.io/ [08:52] mattparo: on it thanks [08:55] ph^ has joined the channel [08:55] ilon_ has joined the channel [08:56] yawNO has joined the channel [08:57] mauritslamers has joined the channel [08:58] orkz has joined the channel [08:58] savudin has joined the channel [09:00] flou has joined the channel [09:01] hipsters_ has joined the channel [09:02] shinuza has joined the channel [09:02] alex_burke has joined the channel [09:02] aliem has joined the channel [09:03] graeme_f has joined the channel [09:04] payara: anyone else from Japan on here? [09:04] pgte has joined the channel [09:05] ccare has joined the channel [09:06] markwubben has joined the channel [09:06] yawNO: payara: no, but im learning japanese if that counts lol [09:06] rurufufuss has joined the channel [09:07] zedadex has joined the channel [09:07] payara: cool - any reason? I'm not Japanese by the way, but I have been here (Tokyo) for 15 years now [09:07] yawNO has joined the channel [09:08] stagas has joined the channel [09:08] shapeshe1 has joined the channel [09:08] payara: dono gurai nihongo hanasemasu ka? [09:09] payara: 漢字も分かりますか? [09:09] yawNO: haha gosh. im just starting.. what dies dono gurai mean? [09:09] yawNO: i got the rest :P [09:09] payara: how much [09:09] kjeldahl has joined the channel [09:09] yawNO: 1 month [09:10] payara: any reason for choosing Japanese ? [09:10] yawNO: lol.. i barely know hiragana and katakana [09:10] forste has joined the channel [09:10] yawNO: i like languages [09:10] yawNO: and i like japan [09:10] yawNO: i find its culture fascinating [09:10] payara: cool - I hated them at school but once I came to live here it was a real eye opener [09:10] yawNO: where are you from? [09:11] payara: every interaction (even in 7-11) became a real experience [09:11] forste: hi, how does node handle concurrency - e.g. two callbacks operating on the same object? [09:11] payara: Manchester, England originally [09:11] yawNO: im from venice, italy [09:11] forste: e.g. consider: http://pastebin.com/thHYfMkB - two callbacks depending on the completion of each other, can I rely that doSomething gets called only once? [09:11] forste: found an answer here: http://stackoverflow.com/a/5177773/1052539. Is Matt Ranney right there? [09:11] mansoor: forste, it doesn't. its all in one event loop. they can't both opeate at the same time [09:11] yawNO: ^ that [09:12] yawNO: payara: i've never been to japan but i plan to .. and i like languages so i started on my spare time [09:12] hellp has joined the channel [09:12] payara: yawNO: I've been there and also to Padua (=Padova?) but it was a long time ago [09:13] yawNO: its damn difficult cause its pretty different from every language i know [09:13] yawNO: payara: yeah padua is 60km away from where i live [09:13] forste: mansoor: so (js) callbacks are executed consecutively one after another, right? [09:14] yawNO: i bought some uni books causr you dont find much about japanese here [09:14] payara: yawNO: good luck with the studying - if you can make some Japanese friends that will help you the most. This really is a great nation [09:14] yawNO: :( [09:14] yawNO: payara: i've got a friend of mine whose mom is from Kyoto [09:14] payara: yawNO: did you already discover the quick and dirty guide to japanese grammar [09:14] payara: ? [09:14] yawNO: no :| [09:14] yawNO: link? [09:15] yawNO: i dont mind english books.. they're even better sometimes [09:15] payara: yawNO: that will cut out a lot of the randomness that is included in the textbooks -- hold on [09:15] yawNO: thx :D [09:15] payara: yawNO: http://users.tmok.com/~tumble/qadgtj.html [09:16] yawNO: nice [09:16] yawNO: also do you have some resources like podcasts or stuff? [09:16] yawNO: hearing spoken japanese is way better then reading it [09:16] yawNO: you get the pronounciatoon [09:17] yawNO: *tion [09:17] payara: yawNO: the textbooks tend to focus on the polite form in the beginning and then advancing to the way friends speak but in my opinion after you have a few formal greetings you want to cross the formality wall and move on to more real communication [09:18] cameron__ has joined the channel [09:18] yawNO: yeah i've filled my mind with formal stuff [09:18] mansoor: forste, right, they are executed in the order the way scheduled [09:18] payara: yawNO: I would recommend immersion - listen to Japanese radio - it will be all gobbledygook at first but will really improve your listening speed [09:18] yawNO: thats why i was wondering if you knew some good (free??) podcasts :P [09:18] yawNO: allright.. i'll google it up :D [09:19] yawNO: im pretty sure i wont understand anything in the beginning though [09:19] mansoor: forste, if you make two async calls. you have no guarantee which one will be completed first.... thats why if you want guarantee you must place your second async operation in the callback for the first async operation [09:19] payara: @yawNO: I would imagine that there must be a load of Japanese people in Venice though. [09:19] mansoor: forste, there is some good literature on the interwebs that can explain it better than I ever could :) [09:20] mauritslamers has joined the channel [09:20] yawNO: payara: i dont live in venice venice [09:20] limgad has joined the channel [09:20] yawNO: near though [09:20] mounibec has joined the channel [09:20] payara: yawNO: doesn't matter - bit by bit you will start to pick out words you have learnt and then also words you haven't learned but are curious about how they fit in. When you can hear a word you don't know and remember enough about it to be able to look it up that is a real progression step [09:20] vguerra has joined the channel [09:21] yawNO: nice [09:22] zatan has joined the channel [09:22] yawNO: and should i start with romaji or go straight with hiragana katakana and kanjii? [09:22] pors has joined the channel [09:22] __doc__ has joined the channel [09:23] framlin: forste: yes, there is NO concurrency within the event-loop. all callbacks are executed one after another. .. so its vital, to have not to much long running code within one callback .. ;) [09:23] payara: yawNO: I'm quite opinionated about this stuff but not necessarily right :-) I would focus on speaking as that is what kids do - it is pointless to get into kanji and try to remember all the readings (Japanese and Chinese origins) and then the words that they combine into until you have a solid vocabulary [09:23] tokumine has joined the channel [09:25] payara: yawNO: so I would use romaji (just to be quick about making notes and looking things up). Katakana you definitely do not need for a while. Hiragana you can learn in a couple of hours if you force yourself, but without regular exposure (ie seeing it around you all the time) it might not stick so well. [09:25] yawNO_ has joined the channel [09:26] yawNO_: woops sey [09:26] yawNO_: sry [09:26] yawNO_: internet died [09:26] meso_ has joined the channel [09:26] yawNO_: payara: you were sayin? [09:26] payara: yawNO: I'm quite opinionated about this stuff but not necessarily right :-) I would focus on speaking as that is what kids do - it is pointless to get into kanji and try to remember all the readings (Japanese and Chinese origins) and then the words that they combine into until you have a solid vocabulary [09:26] payara: yawNO: so I would use romaji (just to be quick about making notes and looking things up). Katakana you definitely do not need for a while. Hiragana you can learn in a couple of hours if you force yourself, but without regular exposure (ie seeing it around you all the time) it might not stick so well. [09:27] yawNO: i keep learning hiragana and katakana and forgetting them if i dont use them lol [09:27] payara: If I was learning it all again I would definitely use SRS ( but that is just another opinion :-) ) [09:27] shapeshe1 has joined the channel [09:27] yawNO: SRS? [09:27] payara: Spaced Repetition System [09:28] yawNO: never heard of it [09:28] pors has left the channel [09:28] payara: basically your memory decays and has a half-life and the efficient way to convert short term to long term memory is to be forced to recall something just before you forget it [09:29] yawNO: oh [09:29] yawNO: i see [09:29] payara: Anki is great if you are looking for some software that does this [09:29] yawNO: well thx payara [09:29] yawNO: that was very helpful [09:30] payara: yawNO: no problem [09:30] flou_ has joined the channel [09:31] sandfox has joined the channel [09:32] flou_ has joined the channel [09:33] flou_ has joined the channel [09:34] mraxilus has joined the channel [09:35] jimt has joined the channel [09:37] wolftankk has joined the channel [09:38] yawNO has joined the channel [09:38] flou_ has joined the channel [09:39] Wizek has joined the channel [09:40] ewalker has joined the channel [09:41] fozgee has joined the channel [09:41] mehlah has joined the channel [09:47] fozgee has left the channel [09:48] criswell has joined the channel [09:48] herbySk has joined the channel [09:48] stalled has joined the channel [09:48] erujolc has joined the channel [09:48] forste: framlin, mansoor : ty guys. mansoor: can u recommend anything? [09:49] forste has left the channel [09:49] Vespakoen has joined the channel [09:49] forste has joined the channel [09:50] forste has left the channel [09:50] forste has joined the channel [09:50] forste: framlin, mansoor : ty guys. mansoor: can u recommend anything? [09:50] hz has joined the channel [09:53] chovy has joined the channel [09:54] mansoor: forste, http://blog.mixu.net/2011/02/01/understanding-the-node-js-event-loop/ [09:55] mansoor: i don't really have a recommendation though [09:57] framlin: http://debuggable.com/posts/understanding-node-js:4bd98440-45e4-4a9a-8ef7-0f7ecbdd56cb [09:57] jimmysparkle has joined the channel [09:57] mehlah has joined the channel [09:58] markwubben has joined the channel [09:58] framlin: maybe this is a starting-point together with the http://www.nodebeginner.org/ [09:58] satyr has joined the channel [09:59] maritz has joined the channel [10:00] flou_ has joined the channel [10:00] forste: framlin: thanks, will check it out [10:04] rigel_ has joined the channel [10:04] rigel_: hi, is there a way to create a 'net' server that accepts and handles just a single connection and then exits? [10:05] markwubben has joined the channel [10:06] framlin: you may use a global variable as clousure that you set to 1 or true if you have received your one connection [10:06] flou_ has joined the channel [10:08] flou_ has joined the channel [10:08] framlin: and close the server, if you have completed your request-handling [10:08] rigel_: framlin: yes, but I'd like to avoid testing the global variable on each connection, for performance reasons [10:08] rigel_: what I mean is that I'm using a command line argument to set the server in "oneshot" mode [10:09] cjm has joined the channel [10:09] rigel_: when I run it in server mode, I don't want to test the variable on each connection [10:09] flou_ has joined the channel [10:10] michaelhartau has joined the channel [10:11] framlin: have you to do the same request-handling for both "modes"? [10:11] rigel_: framlin: yes [10:13] framlin: rigel_: and there may come many requests at the "same time" if you want to have the "oneshot" mode running? [10:14] hipertracker has joined the channel [10:14] rigel_: framlin: just one [10:14] framlin: maybe it would be feasable to return your request-handler from a function, that wraps a server-shoutdown around the andler if you pass your command-line arg and that does not if ther is no oneshot-mode? [10:14] rigel_: framlin: the server starts, processes one connections, and then exits [10:15] sinclair_ has joined the channel [10:15] rigel_: hmm... [10:17] EvRide has joined the channel [10:19] mikedeboer has joined the channel [10:20] pickelsss has joined the channel [10:20] booyaa: anyone people using npm on win32? [10:20] booyaa: i'm stuck behind a corp proxy, how can i use npm? seem to think there was some kinda variable to set your proxy? http_proxy? [10:22] Nopik has joined the channel [10:23] sreeix has joined the channel [10:24] Nopik has joined the channel [10:24] Nopik has left the channel [10:29] flou_ has joined the channel [10:30] dragansah has joined the channel [10:31] flou_ has joined the channel [10:33] krnl has joined the channel [10:34] krnl: i'm creating a cluster. how can i send message to a worker from the master? worker.send() doesnt seem to work, or am i doing something wrong? [10:35] Industrial has joined the channel [10:36] Industrial: How do people do automated testing of mobile applications (native not web)? [10:36] Industrial: I'm looking for either an android or an iOS solution, referrably both. Something like Selenium ;) [10:36] yawNO has joined the channel [10:36] yawNO: hey [10:36] yawNO_ has joined the channel [10:36] Industrial: only, I'm not filling in forms (in the app). It's a game. So I need to make clicks in the game in the test etc [10:37] yawNO_: hey2 [10:37] epokmedi1 has joined the channel [10:39] at4m has joined the channel [10:41] timoxley has joined the channel [10:42] defts has joined the channel [10:44] dragansah has joined the channel [10:44] tvw has joined the channel [10:45] maritz: hey3 [10:45] Industrial: hey/0 [10:45] Brunoz: wsup [10:46] pland has joined the channel [10:46] yawNO_: hey maritz Industrial Brunoz [10:46] pland: hello all [10:46] pland: is it appropriate to ask questions about forever in this room? [10:46] rigel_: framlin: thanks for the insight. I'll just go a global variable for now. [10:47] davidemorelli has joined the channel [10:47] netxshare has joined the channel [10:48] pland: hey davidemorelli ;-) [10:48] davidemorelli: :) [10:48] davidemorelli: hi everybody! nodejs noob here [10:49] devaholic has joined the channel [10:49] davidemorelli: I have a problem with forever [10:50] davidemorelli: I can succesfully install it and use it on my localmachine.. but I'm having problems installing it on the production server (linode, ubuntu) [10:50] davidemorelli: npm ERR! error installing forever@0.8.5 Error: No compatible version found: node-fork@'>=0.4.0- <0.5.0-' [10:52] d0ax has joined the channel [10:53] stagas: davidemorelli: install with -f [10:53] dilvie has joined the channel [10:54] davidemorelli: stagas: ah... the good old manners.. I see [10:55] davidemorelli: it worked ;) [10:56] DrPheltRight has joined the channel [10:57] rendar has joined the channel [10:58] ovaillancourt has joined the channel [11:00] aslant has joined the channel [11:03] dekub has left the channel [11:03] dylang has joined the channel [11:05] Nopik has joined the channel [11:09] enmand has joined the channel [11:09] robotmay has joined the channel [11:11] framlin: rigel_: np ;) [11:11] timoxley has joined the channel [11:12] emattias_ has joined the channel [11:13] fangel has joined the channel [11:13] bkaney has joined the channel [11:16] rauchg has joined the channel [11:17] baudehlo has joined the channel [11:19] timoxley has joined the channel [11:22] argami has joined the channel [11:25] hipertracker has joined the channel [11:30] francisl has joined the channel [11:30] disappearedng has joined the channel [11:31] micheil has joined the channel [11:33] fairwinds has joined the channel [11:34] YoY has joined the channel [11:37] lperrin1 has joined the channel [11:37] MartinCleaver has joined the channel [11:37] MartinCleaver has joined the channel [11:39] PPPaul has joined the channel [11:40] jlaire has joined the channel [11:40] lperrin1 has joined the channel [11:41] larsschenk has joined the channel [11:41] dragansah has joined the channel [11:41] larsschenk has left the channel [11:41] ccare has joined the channel [11:42] kevin_jax has joined the channel [11:48] nicholas_ has joined the channel [11:50] erichynds has joined the channel [11:52] YoY has joined the channel [11:52] Vainoharhainen has joined the channel [11:54] dannyamey has joined the channel [11:54] PPPaul has joined the channel [11:55] wmage has joined the channel [11:56] deoxxa: so i mentioned wanting express to be more flexible a week back or so. i ended up starting to write a little framework that follows it in spirit but that lets me do what i want with it. [11:56] ilon_ has joined the channel [11:56] deoxxa: it kind of feels like a cross between ender and express - you have a base server thing, then modules can "extend" it and add new functionality [11:57] deoxxa: this lets me keep it really modular, or completely replace parts of it without breaking anything (so long as the extensions are retained by whatever it's replaced with) [11:57] heavysixer has joined the channel [11:58] Progster has joined the channel [11:59] deoxxa: https://gist.github.com/2170014 << this is what a small app written with it looks like at the moment [12:00] deoxxa: the main thing i wanted was named routes, so .redirect() can be smarter about how it works [12:00] dragansah has joined the channel [12:01] sreeix has joined the channel [12:03] wmage has joined the channel [12:04] joshfinnie has joined the channel [12:09] ovaillancourt has joined the channel [12:10] hex`` has joined the channel [12:11] timoxley has joined the channel [12:12] forste has joined the channel [12:13] epokmedia has joined the channel [12:13] ion- has joined the channel [12:14] Proggy has joined the channel [12:15] MartinCleaver has joined the channel [12:15] wmage has joined the channel [12:17] Progster has joined the channel [12:18] xippi has joined the channel [12:20] timoxley has joined the channel [12:20] broofa has joined the channel [12:24] i42n has joined the channel [12:24] thomblake has joined the channel [12:24] thomblake has left the channel [12:26] TomRone has joined the channel [12:26] timoxley has joined the channel [12:26] trose has joined the channel [12:27] antono has joined the channel [12:27] sadjow has joined the channel [12:28] ant0no has joined the channel [12:28] illourr has joined the channel [12:28] antono has joined the channel [12:31] antono has joined the channel [12:32] subbyyy has joined the channel [12:33] staar2: can i pass the flash object literal to dynamicHelper ? [12:34] staar2: express question [12:35] shapeshe1 has joined the channel [12:35] garrensmith has joined the channel [12:36] cesar_ has joined the channel [12:36] skomski has joined the channel [12:37] seanstickle has joined the channel [12:39] timoxley has joined the channel [12:40] joshontheweb has joined the channel [12:43] brokenjames has joined the channel [12:45] RLa has joined the channel [12:47] tanta has joined the channel [12:47] TomRone has joined the channel [12:48] totallymike has joined the channel [12:48] jimmyrcom has joined the channel [12:49] retornam has joined the channel [12:50] tanta has joined the channel [12:51] skylamer` has joined the channel [12:51] arthurdebert has joined the channel [12:51] AndreasMadsen has joined the channel [12:52] c4milo has joined the channel [12:52] timoxley has joined the channel [12:53] ziro`_ has joined the channel [12:53] louissmit has joined the channel [12:53] jraffucci has joined the channel [12:54] micheil has joined the channel [12:54] dragansah has joined the channel [12:54] timoxley has joined the channel [12:55] jraffucci has joined the channel [12:55] lazyshot has joined the channel [12:56] micheil has joined the channel [12:56] jamescarr_ has joined the channel [12:56] karterk has joined the channel [12:57] mehale has joined the channel [12:59] Morkel has joined the channel [12:59] theBrettman has joined the channel [13:00] davidsklar has joined the channel [13:00] AaronMT has joined the channel [13:08] savudin: I'd rather go with Express [13:08] savudin: there's lot of resources and tuts online for this framework [13:08] savudin: and it looks cool [13:08] savudin: dude :) [13:10] CromeDome has joined the channel [13:12] madtimber has joined the channel [13:12] jraffucci has joined the channel [13:13] lmorchard has joined the channel [13:13] brianseeders has joined the channel [13:14] infynyxx has joined the channel [13:16] hipsters_ has joined the channel [13:22] mauritslamers has joined the channel [13:23] stagas has joined the channel [13:23] lz has joined the channel [13:23] Omega_Work has joined the channel [13:24] Vespakoen has joined the channel [13:25] d0ax_ has joined the channel [13:29] Brandon_R has joined the channel [13:29] Brandon_R: hi [13:29] bodisiw has joined the channel [13:29] crutex has joined the channel [13:29] crutex has joined the channel [13:30] guidocalvano has joined the channel [13:30] maritz: deoxxa: what about express.redirect('name', function()); ? :D [13:30] chadskidmore has joined the channel [13:30] hex`` has joined the channel [13:31] pgte has joined the channel [13:31] josh-k has joined the channel [13:31] deoxxa: maritz: doesn't quite do what i want, i want to be able to redirect to a specific route with arbitrary parameters [13:31] r04r has joined the channel [13:32] deoxxa: like res.redirect("blog_post_show", {id: 5, slug: "some-blog-post"}) [13:32] maritz: deoxxa: http://expressjs.com/guide.html#app.redirect() [13:32] recycl3 has joined the channel [13:32] maritz: i think that's exactly what that is for [13:32] deoxxa: which then looks up the blog_post_show route, which might resolve to /blog/:id/:slug [13:32] deoxxa: then the url would be /blog/5/some-blog-post [13:33] deoxxa: and it needs to validate the url it's about to send the user to [13:33] deoxxa: to make sure it'll actually resolve correctly [13:33] maritz: the syntax might be slightly different, but that's what app.redirect can do [13:33] deoxxa: it could, but it would mean defining the logic in two different places [13:33] vkareh has joined the channel [13:34] maritz: whyß [13:34] maritz: ? [13:34] maritz: you can define your redirect logic directly above the route [13:34] deoxxa: i've already got all the validation logic and such in the router, there's no reason to copy it into another method [13:35] carlyle has joined the channel [13:36] carlyle has joined the channel [13:36] deoxxa: .get("/:id/:slug", {requirements: {id: "\d+", slug: "[a-z-]+"}}), for example, already has all the necessary information to parse/format/validate urls [13:36] deoxxa: i'd rather not have to write it again in another function [13:36] deoxxa: then have to keep them in line when one of them changes [13:37] simenbrekken has joined the channel [13:37] maritz: holy shit, ony of my projects is used by a project that is featured in the weekly javascript newsletter! xD [13:38] maritz: deoxxa: okay ^^ [13:38] dr0id has left the channel [13:39] polymar has joined the channel [13:39] maritz: (although, to be honest i'm not sure how that project made it into the weekly js newsletter. it seems rather incomplete and weird to me :/ ) [13:39] deoxxa: heh [13:39] ccare has joined the channel [13:39] devdazed has joined the channel [13:40] YoY has joined the channel [13:40] fumanchu182 has joined the channel [13:40] fumanchu182 has joined the channel [13:40] Omega_Work: Quick question. Just starting to learn about node and I was wondering if there are any examples of node apps that host multiple web sites, each with optional source that extends a base of code. Similar to most web frameworks these days (Symfony is my best example). [13:41] briancray has joined the channel [13:41] Omega_Work: (obviously in the case of Symfony, it has Apache to do vhosts and that would have to be re-implemented in node) [13:42] Omega_Work: But I'm interested in seeing if anyone has thought about this yet. [13:42] robhawkes has joined the channel [13:43] Poetro has joined the channel [13:43] dragansah1 has joined the channel [13:44] bradleymeck has joined the channel [13:44] RLa: i think name-based vhosts are trivial to implement [13:44] maritz: Omega_Work: i think most people run one node.js process per app [13:44] RLa: just inspect Host header [13:44] Rushing has joined the channel [13:44] Omega_Work: RLa: That's only half my question answered :) [13:45] maritz: there's even a connect middleware for vhosts :D [13:45] Omega_Work: maritz: So if I write a site based on my framework, I have to run one instance of node for each site? [13:45] maritz: you don't have to. but it's easier i guess. why wouldn't you? [13:45] elifou`` has joined the channel [13:45] MartinCleaver has joined the channel [13:45] Omega_Work: maritz: Does that become unrealistic after you gets lots of sites going? [13:46] nsolsen has joined the channel [13:46] maritz: depends on what your definition of "lots" is [13:46] RLa: and what you mean by "site" [13:46] Omega_Work: maritz: If I'm doing custom web sites and I make my own CMS backed by node, each client would have their own instance of node. [13:47] Omega_Work: Or would I only run node to fulfil requests and then have it shut down after it's done? (similar to a PHP-like lifecycle) [13:47] maritz: no, not like php [13:47] maritz: a node app handles requests for as long as you want (provided you don't crash your app :D ) [13:48] dve has joined the channel [13:49] Omega_Work: martiz: I know this already. [13:49] Omega_Work: maritz: Try to understand my question :P [13:49] JSONB has joined the channel [13:49] Omega_Work: So given all this, my node server would actually go one step lower and actually be responsible for hosting and bootstrapping multiple sites. [13:49] dve: Is there an js/node equivalent to the c++ fabs function? [13:49] maritz: Omega_Work: i am trying to understand your question. [13:50] maritz: although your last sentence wasn't even a question :P [13:50] maritz: and what do you mean by "bootstrapping multiple sites"? [13:52] necromancer: what's the most complete testing framework for commonjs/node? [13:52] necromancer: jasmine? [13:52] maritz: a node process can have a http server running for multiple domains. or you can have one node process run multiple http servers on different ports and have some kind of proxy in front of it (might also be a node process). or you can have multiple node processes each handling one site on some port and some kind of proxy for domain->port mapping (can also be a node process) [13:52] Brandon_R: hallo guys [13:52] Brandon_R: i would have to say mocha [13:52] Brandon_R: or vowsjs [13:52] maritz: but proxying is generally done better by nginx [13:54] sadjow has left the channel [13:54] deoxxa: necromancer: i really like vows, personally [13:55] jtsnow has joined the channel [13:56] automata has joined the channel [13:56] rwaldron has joined the channel [13:57] Skaag has joined the channel [13:57] necromancer: deoxxa: that is some sexy output [13:57] necromancer: from vows [13:57] staar2: anything to make validation in node easier ? [13:57] baudehlo has joined the channel [13:58] deoxxa: necromancer: https://github.com/deoxxa/houkou/blob/master/test/matching-test.js << that's a test from one of my projects [13:58] deoxxa: just as a "real world" example [13:58] johnstorey has joined the channel [13:59] necromancer: deoxxa: looks like minitest and rspec had an orgy with jasmine [13:59] maritz: staar2: validation of what? [13:59] staar2: form validation [13:59] hcchien has joined the channel [13:59] piscisaureus_ has joined the channel [14:00] stafamus has joined the channel [14:00] Jalava_ has joined the channel [14:00] Brandon_R: what are some good form validation libs in node [14:00] pickelsss has joined the channel [14:01] maritz: https://github.com/chriso/node-validator [14:01] necromancer: Brandon_R: thanks...looks like a tossup between those two [14:01] maritz: (not tested it myself, just searched for it) [14:01] necromancer: trying to decide on a test lib for my framework [14:02] wavded: necromancer: IMO mocha doesn't have as many surprises and is more flexible than vows, I used vows for a number of projects and recently have started using mocha [14:02] Brandon_R: np [14:03] necromancer: wavded: vows looks more like minitest/test::unit, which is what i'm used to [14:03] piscisaureus__ has joined the channel [14:03] necromancer: test::unit in ruby, btw [14:03] necromancer: wait doesn't node have a testing lib? [14:03] necromancer: http://nodejs.org/api/assert.html [14:04] necromancer: looks like its just assertions [14:04] wavded: necromancer: node has and assert module but not a full lib [14:04] pendlepa1ts has joined the channel [14:04] Omega_Work has left the channel [14:04] totallymike has joined the channel [14:05] Joeysomo has joined the channel [14:06] saikat has joined the channel [14:07] isaacs has joined the channel [14:07] Brandon_R: mocha looks better than vowsjs for my needs [14:08] forste has joined the channel [14:08] josh-k has joined the channel [14:10] necromancer: yeah mocha looks more simple, but vows seems to have more power [14:10] ccare: necromancer: I was using espresso and have now switched to mocha for all my projects. It worked for me as a) I found it really simple to get started and b) I was able to quickly get code coverage reports [14:10] PPPaul has joined the channel [14:10] necromancer: they're both technically BDD libs which is not really what i was looking for, i was thinking of more of a TDD lib [14:10] necromancer: but if the best options right now for node are BDD libs, i feel like this framework should use it [14:10] leonardo has joined the channel [14:12] HacDan has joined the channel [14:13] thinkjson has joined the channel [14:14] hipertracker has joined the channel [14:14] plutoniix has joined the channel [14:14] thinkjson: Writing a raw buffer to a file seems to create a binary file. Is calling .toString on the buffer and providing an encoding before writing the only way to create a plain text file? [14:14] Brandon_R: i think you can use mocha for both [14:18] thinkjson: hmm. that doesn't even work. it still makes a binary file. [14:18] lmorchard has joined the channel [14:19] wendall911 has joined the channel [14:19] piscisaureus_ has joined the channel [14:21] charlenopires has joined the channel [14:21] mattgifford has joined the channel [14:21] thinkjson: makes me wonder if s3cmd is screwing it up... [14:21] alejandromg has joined the channel [14:22] bodisiw has joined the channel [14:24] PsiliPharm has joined the channel [14:24] Poetro has joined the channel [14:25] mikl has joined the channel [14:25] jimt_ has joined the channel [14:25] arduix has joined the channel [14:26] seebees1 has joined the channel [14:26] fmeyer has joined the channel [14:27] karterk has joined the channel [14:27] fmeyer has joined the channel [14:28] robhawkes has joined the channel [14:28] flou has left the channel [14:29] PPPaul has joined the channel [14:29] dragansah has joined the channel [14:29] dylang has joined the channel [14:29] brainss has joined the channel [14:30] piscisaureus_ has joined the channel [14:31] dambalah_ has joined the channel [14:31] fmeyer has joined the channel [14:31] diogogmt has joined the channel [14:33] PPPaul has joined the channel [14:34] Venom_X has joined the channel [14:34] jtsnow has joined the channel [14:35] Wizek has joined the channel [14:35] ovaillancourt has joined the channel [14:36] rtgibbons has joined the channel [14:36] fmeyer has joined the channel [14:36] colinclark has joined the channel [14:37] mandric has joined the channel [14:37] bizniz98 has joined the channel [14:38] rickibalboa has joined the channel [14:38] dantalizing has left the channel [14:38] piscisaureus_ has joined the channel [14:38] BillyBreen has joined the channel [14:39] bizniz98 has joined the channel [14:39] YoY has joined the channel [14:40] bodisiw has joined the channel [14:40] thinkjson: no, it's actually writing binary data [14:41] thinkjson: weird [14:41] wizonesolutions has joined the channel [14:41] booyaa: isaacs: i think i might have asked about this before. npm on win32. any chance of ntlm proxy support? failing that would you be interested in patches submitted to enable winhttp? [14:42] fmeyer has joined the channel [14:42] baudehlo: thinkjson: what is a "binary file"? [14:42] hz has joined the channel [14:43] TomRone has joined the channel [14:44] ramitos has joined the channel [14:45] travispaul has joined the channel [14:46] arnorhs has joined the channel [14:46] criswell has joined the channel [14:46] mmalecki: isaacs: hey. I was wondering why doesn't npm send authorization header when adding user, even if it's launched with --always-auth [14:47] fmeyer has joined the channel [14:47] isaacs: mmalecki: because presumably that user doesn't exist yet. [14:48] mmalecki: isaacs: but you can use different auth [14:48] isaacs: mmalecki: couch's semantics don't let you add a user acct as a different user. [14:48] mmalecki: isaacs: hm, I just did it? [14:48] warz has joined the channel [14:50] fdaskls has joined the channel [14:50] fdaskls: hi guys i have a very big problem [14:50] fdaskls: npm install mysql gived me that result [14:51] fdaskls: mysql@0.9.5 ./mysql âââ hashish@0.0.4 || âââ what these means i will die very soon? [14:51] fdaskls: why âââ ? [14:51] tlack: fdaskls: its just trying to be cute dont worry [14:51] jdeibele has joined the channel [14:51] fdaskls: but its very very ugly xD [14:51] tlack: fdaskls: supposed to be rendered as line-drawing characters but your terminal doesnt support it [14:51] travispaul has left the channel [14:52] isaacs: fdaskls: either get a terminal font that supports unicode, or do `npm config set unicode false` [14:52] fmeyer has joined the channel [14:52] mmalecki: isaacs: but anyway, I managed to add user when being authed as an admin [14:52] mmalecki: maybe it's because I was logged in as an admin [14:52] fdaskls: i use putty is not it great ? [14:52] isaacs: mmalecki: yes, server admins are gods. [14:52] willwhite has joined the channel [14:53] mmalecki: isaacs: I'm a god then! [14:53] aaronmcadam has joined the channel [14:53] isaacs: fdaskls: i prefer using the ssh that comes with the msysgit utils [14:53] mmalecki: isaacs: thanks then :) [14:53] kevwil has joined the channel [14:54] thinkjson: baudehlo: `file -I` returns application/octet-stream; charset=binary [14:54] booyaa: heh https://twitter.com/#!/mikesten/status/183174545530826752 [14:55] booyaa: google using recaptcha for streetview o.O [14:57] fmeyer has joined the channel [14:57] fdaskls: is @ryah = ryan dahl [14:57] dragansah has joined the channel [14:57] tuhoojabotti: yes [14:58] booyaa: i thought it was ry [14:58] ekryski has joined the channel [14:58] pendlepa1ts has joined the channel [14:58] tuhoojabotti: booyaa: /whois ryah -> ry@tinyclouds.org [14:58] booyaa: ah fair enough [14:59] tuhoojabotti: though I have no idea who "ry" is [14:59] tuhoojabotti: could be his alternative user [14:59] tuhoojabotti: or someone else [15:00] booyaa: ry is his handle on github [15:00] tuhoojabotti: Sure, but that doesn't work in IRC afaik. [15:00] argami has joined the channel [15:00] booyaa: heh still rockig the livejournal account heheh [15:00] booyaa: true true [15:00] booyaa: <-- isn't fussed that much [15:00] CoverSlide: ACTION remembers git cloning from ry/node [15:00] scofus has joined the channel [15:00] booyaa: i may have partook in some lunch time beverages X) [15:01] booyaa: XD [15:01] CoverSlide: that was a while ago [15:01] tuhoojabotti: I remember ry/node too [15:01] tuhoojabotti: Good ol' times [15:02] PsiliPharm has joined the channel [15:02] johnstorey has joined the channel [15:02] fmeyer has joined the channel [15:02] djazz has joined the channel [15:04] dylang_ has joined the channel [15:05] jaigouk has joined the channel [15:05] infynyxx has joined the channel [15:05] mmalecki: isaacs: I was wondering, maybe we could enable auth there using, say, --force? [15:07] isaacs: ACTION shrug [15:07] isaacs: mmalecki: it's not really a trivial change. [15:07] jocafa has joined the channel [15:07] mmalecki: isaacs: one line of code, actually :) [15:07] mansoor has joined the channel [15:07] fmeyer has joined the channel [15:07] argami has joined the channel [15:07] isaacs: mmalecki: really? i'm pretty sure it'll be more than one line. [15:08] ericmuyser has joined the channel [15:08] isaacs: mmalecki: because you'll have to make sure it doesn't break the non-always-auth case. [15:08] mmalecki: isaacs: https://github.com/isaacs/npm/blob/master/lib/utils/npm-registry-client/request.js#L44 [15:08] isaacs: and works with older couches [15:08] mmalecki: isaacs: oh well, yeah, fair enough [15:08] isaacs: mmalecki: that'll break the first auth [15:08] isaacs: mmalecki: because it'll say, "Sorry, you're not authed, you can't add a user account" [15:08] mmalecki: ah [15:09] mmalecki: hm, ok [15:09] mmalecki: (it's really only a pain when you're setting up a private registry) [15:09] isaacs: so you need to add another semantic. [15:09] d0ax has joined the channel [15:09] isaacs: like, authRequired, and then if you HAVE auth, and always-auth is set, THEN send it no matter what, and also not try to create user X as user Y if user Y is not an admit, etc. [15:10] isaacs: it's very hairy [15:10] mmalecki: oh well, meh then [15:11] djazz: anyone have experience with realtime adminpanels for games using node.js/websockets? [15:13] fmeyer has joined the channel [15:15] argami has joined the channel [15:15] dodo_ has joined the channel [15:16] jerrysv has joined the channel [15:17] timoxley has joined the channel [15:18] pizthewiz has joined the channel [15:18] fmeyer has joined the channel [15:19] forste has joined the channel [15:20] upb has joined the channel [15:20] upb has joined the channel [15:21] bnoordhuis has joined the channel [15:22] ewalker has joined the channel [15:23] gzmask has joined the channel [15:23] fmeyer has joined the channel [15:24] gzmask: how do I catch "RangeError: Maximum call stack size exceeded error" exception without letting it crash my process? [15:24] HacDan has joined the channel [15:25] mattgifford has joined the channel [15:25] forste: gzmask: I don't think you can catch since it's most probably the result of an infinite recursion [15:26] jscheel has joined the channel [15:27] gzmask: forste: can I put that infinite recursion function in a child process to handle the error nicely? [15:27] geetarista has joined the channel [15:27] nathanielk: yeah, the way to catch is "stop doing that." [15:27] nathanielk: gzmask: why are you infinitely recurring? [15:27] gzmask: nathanielk: I am doing a live-coding multi-player game, like robocode, in JS [15:27] karterk has joined the channel [15:28] nathanielk: gzmask: ha! got it. so this is for your users? [15:28] gzmask: nathanielk: yes, I want to run their code on my node server [15:28] fmeyer has joined the channel [15:29] nathanielk: how are you doing it now? vm? [15:29] tjholowaychuk has joined the channel [15:30] KingInky has joined the channel [15:30] gzmask: it's in prototype stage, so I am just using eval on my main process. shouldn't be that way in the next stage. I'll either make all robot motor calls a RESTful websocket calls, or child process. haven't decided which way to go [15:30] bkaney has joined the channel [15:31] amigojapan has joined the channel [15:31] gzmask: if it's RESTful wrapped websocket calls, then user code just runs in their browser. seems more elegant that way [15:31] RLa: it could use socket.io for communication too [15:32] RLa: that would enable real-time two-way connection [15:32] ccare has joined the channel [15:32] gzmask: RLa: yea, I am already using that to sync game object positions [15:32] Poetro has joined the channel [15:32] ovaillancourt has joined the channel [15:32] Geminizer_ has joined the channel [15:32] boltR has joined the channel [15:33] gzmask: so bascially robot code will run in web worker in browser, or child process in node. Can't decide which way is better atm [15:33] fmeyer has joined the channel [15:34] skm has joined the channel [15:34] dylang has joined the channel [15:34] rtgibbons has joined the channel [15:34] pland has left the channel [15:35] spion1 has joined the channel [15:37] fdaskls: is there a way to select source ip [15:37] K1ngInky has joined the channel [15:37] fdaskls: when sending http/s request [15:38] aliem has joined the channel [15:38] broofa has joined the channel [15:38] Poetro has joined the channel [15:38] fmeyer has joined the channel [15:39] skomski has joined the channel [15:41] scottdware has joined the channel [15:42] diogogmt has joined the channel [15:42] booyaa: gzmask: can we play? [15:42] dylang has left the channel [15:43] dylang has joined the channel [15:44] bnoordhuis: fdaskls: you mean bind to a local interface? [15:44] Zzaichik has joined the channel [15:44] baudehlo: that just got added to node 0.7 [15:45] c4milo has joined the channel [15:46] gzmask: booyaa: http://aicraft.org:3003/game This version is nowhere close to playable at all. You'll need WebGL, preferably chrome, and only 2 players allow at a time. wasd to move, alt to call code editor [15:46] gzmask: booyaa: more like a toy project right now :P [15:47] jetienne has joined the channel [15:47] jacobolus has joined the channel [15:48] fangel has joined the channel [15:48] gzmask: and Websocket or Socket.IO isn't ready for MMO style multiplayer performance now. I think WebRTC is the way to go for browser games. [15:49] wutt has joined the channel [15:49] stephank has joined the channel [15:49] blueadept has joined the channel [15:49] wutt: hello all [15:50] wutt: guys, how to share state efficiently between cores? [15:50] baudehlo: Redis [15:50] wutt: hmmmmm [15:51] wutt: another question... i use cluster && a websocket server [15:51] wilmoore has joined the channel [15:51] wutt: now my http requests get balancer across cores, my websockets request not [15:51] argami has joined the channel [15:51] wutt: *requests [15:51] wutt: get balanced* [15:51] pickelsss has joined the channel [15:51] wutt: blah so many typo [15:51] rlidwka: gzmask: websocket is ready for it... as for socket.io... why not? [15:52] gzmask: rlidwka: if there are two players, syncs position 20 times per second, yes, it's almost good enough [15:52] M1l3n1um has joined the channel [15:53] AndreasMadsen: wutt: socket.io creates more that one net connection. If the net connection isn't handled by the same worker it will fail. [15:53] gzmask: rlidwka: anything more than that, you will need to drop the sync rate and use client side physics engine to interpolate [15:53] wutt: AndreasMadsen i use the worlize/websocket-node module [15:53] booyaa: gzmask: k cool give us a shout if yuo need any testers ;) [15:54] gzmask: booyaa: I sure will XD . Still lots work to be done [15:54] mauritslamers has joined the channel [15:54] wutt: AndreasMadsen and i always connect to one of the workers, even if i create 200 workers, and all my connection goes to the same worker, why is that? [15:54] aslanted has joined the channel [15:54] wutt: AndreasMadsen i mean all the ws clients connects to the same worker [15:54] AndreasMadsen: wutt: what do you use to share the port [15:54] argami has joined the channel [15:55] wutt: AndreasMadsen the builtin cluster module. I use 0.6.13 [15:55] Destos has joined the channel [15:55] slloyd has joined the channel [15:55] AndreasMadsen: wutt: that sounds strange [15:55] josh-k has joined the channel [15:55] wutt: AndreasMadsen which part? lol [15:55] TheAlphaNerd has joined the channel [15:55] AndreasMadsen: wutt: that all the connections are handled by the same worker. [15:56] rockets has joined the channel [15:56] wutt: AndreasMadsen yea that freaked me out too, lol [15:56] colinclark_ has joined the channel [15:56] achiu has joined the channel [15:56] AndreasMadsen: wutt: are you sure that it isn't the same net connection. A net connection can contain more http requests. [15:56] khrome has joined the channel [15:57] colinclark_ has joined the channel [15:57] wutt: AndreasMadsen Look. I assign a unique integer to every worker. Now when I browse my web page it always logs different workers. Works random, round robin. Now when i connect from client javascript to ws server, i see every time the same fkin worker id [15:58] MartinCleaver has joined the channel [15:58] MartinCleaver has joined the channel [15:58] wutt: AndreasMadsen no matter how workers i have, it picks one randomly and every friggin ws connection goes trough that [15:58] wutt: AndreasMadsen cant figure it out why [15:58] AndreasMadsen: wutt: please be nice [15:59] wutt: AndreasMadsen sorry. [15:59] hij1nx has joined the channel [15:59] AndreasMadsen: wutt: I don't know Worlize/WebSocket-Node but I'm currently reading the source code. [15:59] Treffynnon has joined the channel [16:01] jimmysparkle has left the channel [16:01] fmeyer has joined the channel [16:01] prasak has joined the channel [16:02] arnorhs has joined the channel [16:03] argami has joined the channel [16:03] wutt: AndreasMadsen Now I would not care but unfortunately it makes proper hard to test if I do successfully write multicore code, since im on one core anyway. Im thinking of only starting the ws server on the 0th code, so it wont have a shared state at all [16:04] wutt: AndreasMadsen now would that be a viable route, or the cluster module will go nuts? I mean wont the cluster will try to offload the work to a worker who does not even has a ws server running? [16:04] wutt: AndreasMadsen Sorry if I am speaking stupid things btw, I dont get the inner working of these things. [16:04] chapel: wutt: have you tried between multiple clients, different browsers? [16:05] nodebiscut has joined the channel [16:05] wutt: chapel Yes, i stressed the server to try trigger a "load balancing", so one core cant keep up and it must be handled by another core [16:05] tylerstalder has joined the channel [16:05] chapel: thats not exactly how it works [16:05] wutt: chapel but even that didnt work, i wen to the point when there were 8 seconds latency [16:05] chapel: there isn't any logic to what worker gets it [16:06] wutt: chapel its random then? [16:06] chapel: as far as I know [16:06] jtsnow has joined the channel [16:06] fmeyer has joined the channel [16:06] AndreasMadsen: wutt: what worker there will what what connection is decided by the OS. [16:06] wutt: chapel then it must be some tricky thing since i started up 200 workers at least, done about 200 000 ws connection, and all went to the same worker [16:06] chapel: are you hooking the websocket server into the http server? [16:06] booyaa: ACTION does the snoopy dance [16:06] booyaa: when in doubt rtfm [16:07] wutt: chapel yes im hooking of course, as the documentation says [16:07] wutt: AndreasMadsen I see, Im on windows :D maybe its buggy, haha [16:08] AndreasMadsen: wutt: I would try to test the cluster using node clients. browsers decisions can be tricky. [16:08] plutoniix has joined the channel [16:09] wutt: AndreasMadsen thats an option i didnt think about [16:09] EhevuTov has joined the channel [16:09] wutt: AndreasMadsen but im not sure if it has anything to do with the browser [16:09] zemanel has joined the channel [16:09] mansoor: Why do all Node.js presentations start with "So, who knows what node.js is?"? :S [16:10] flou_ has joined the channel [16:10] eldar_ has joined the channel [16:10] AndreasMadsen: wutt: not of course not, but you will have to be in order to begin answer the question you are asking. [16:10] booyaa: so the bouncers can eject those dudes first [16:10] AndreasMadsen: *no of course not [16:10] booyaa: mansoor: ^^ [16:10] mansoor: hehe [16:10] booyaa: mansoor: what do you need to know brah? [16:10] flou_ has joined the channel [16:11] mansoor: nothing really just watching some mongodb presentations [16:11] wutt: AndreasMadsen well, i will check then [16:11] context: mansoor: oh yeah. when they do that im the asshole that stands up and goes on a ten minute speil about war in africa and nodejs is to blame [16:11] fmeyer has joined the channel [16:11] mansoor: context, :D [16:12] CoverSlide: what is node.js? is that a jquery plugin? [16:12] nateps has joined the channel [16:12] The_Fly: lol [16:12] CIA-19: node: 03Shigeki Ohtsu 07master * r2cf5f04 10/ doc/api/tls.markdown : doc: add cleartextStream.getCipher() in tls - http://git.io/Jo70dA [16:12] CIA-19: node: 03Shigeki Ohtsu 07master * r8727e5f 10/ test/simple/test-tls-getcipher.js : test: add test of cleartextStream.getCipher() in tls - http://git.io/7LMoCg [16:12] CIA-19: node: 03Shigeki Ohtsu 07master * r75face6 10/ doc/api/tls.markdown : doc: fix TLS cipher names - http://git.io/XBrQOw [16:13] uchuff has joined the channel [16:13] TheAlphaNerd has joined the channel [16:13] TheAlphaNerd has joined the channel [16:13] guidocalvano has joined the channel [16:13] djazz has left the channel [16:14] tlack has joined the channel [16:14] bindr has joined the channel [16:14] booyaa: yeah speaking on jquery plugins i saw one in npm [16:14] booyaa: damn it was in latest updates [16:14] PsiliPharm has joined the channel [16:14] EhevuTov_ has joined the channel [16:16] flou_ has joined the channel [16:16] fmeyer has joined the channel [16:16] automata has joined the channel [16:17] flou_ has joined the channel [16:19] orlandovftw has joined the channel [16:21] kevwil has left the channel [16:21] flou_ has joined the channel [16:21] fmeyer has joined the channel [16:22] qbert_ has joined the channel [16:23] jj0hns0n has joined the channel [16:24] argami has joined the channel [16:24] CIA-19: node: 03Shigeki Ohtsu 07master * r4515987 10/ doc/api/dgram.markdown : doc: fix default dgram multicast ttl to 1 - http://git.io/00rtRQ [16:25] joshthecoder has joined the channel [16:25] mattgifford has joined the channel [16:26] Omega_Work has joined the channel [16:26] maletor has joined the channel [16:26] Omega_Work has left the channel [16:26] fmeyer has joined the channel [16:27] wavded: Anyone know the cause of a 'error: socket hang up' [16:28] wavded: i've switched to bouncy as my proxy server on port 80 and get these every once in a while, didn't see that with nginx [16:29] garrensmith has joined the channel [16:29] adambeynon has joined the channel [16:30] TheJH has joined the channel [16:31] fmeyer has joined the channel [16:32] kesor_ has joined the channel [16:33] argami has joined the channel [16:34] AvianFlu: wavded, that's what you'll see when a server you're connecting to crashes before completing the response [16:34] ericmuyser has joined the channel [16:35] josh_k has joined the channel [16:36] mauritslamers has joined the channel [16:36] alex_burke has joined the channel [16:36] fmeyer has joined the channel [16:37] alex_burke has joined the channel [16:37] kriskowal has joined the channel [16:39] crutex has joined the channel [16:39] cesar_ has joined the channel [16:39] justicefries has joined the channel [16:41] dve has joined the channel [16:42] fmeyer has joined the channel [16:43] kmiyashiro has joined the channel [16:43] argami has joined the channel [16:44] pendlepa1ts has joined the channel [16:45] TheJH has joined the channel [16:46] wavded: AvianFlu: thanks, I'll keep investigating now that I know that [16:47] fmeyer has joined the channel [16:47] mxbtty has joined the channel [16:48] PPPaul has joined the channel [16:49] argami has joined the channel [16:50] springmeyer has joined the channel [16:51] patcito has joined the channel [16:52] k1ttty has joined the channel [16:52] sorensen__ has joined the channel [16:52] fmeyer has joined the channel [16:54] boltR has joined the channel [16:55] hipertracker has joined the channel [16:55] dilvie has joined the channel [16:57] charlenopires has joined the channel [16:57] fmeyer has joined the channel [16:58] sreeix has joined the channel [16:59] business123 has joined the channel [16:59] larsschenk1 has joined the channel [16:59] shinuza has joined the channel [17:00] tjbell has joined the channel [17:00] ditesh|cassini has joined the channel [17:02] topfunky has joined the channel [17:02] fmeyer has joined the channel [17:02] alvaro_o has joined the channel [17:04] epokmedia has joined the channel [17:05] forste has joined the channel [17:05] karellen has joined the channel [17:05] skomski has joined the channel [17:07] forste: hi, anybody knows any library to parse an html document into a string ? [17:07] fmeyer has joined the channel [17:07] ideaMaster has joined the channel [17:08] ideaMaster: whats up noders [17:08] benvie: orste you mean a dom? [17:08] bartt1 has joined the channel [17:09] ideaMaster: benvie hello [17:09] benvie: how goes master of ideas [17:09] forste: benvie: no, I mean parsing something a string like '

This is some html text

' into 'This is some html' [17:09] ideaMaster: it goes well [17:09] ideaMaster: and yourself [17:10] benvie: pretty good [17:10] ag4ve: forste: that makes a dom [17:10] benvie: or you want to strip tags [17:10] forste: yeah more like stripping [17:10] thetony: i think he wants readable text for like cli [17:10] benvie: that one is easy [17:10] red5 has joined the channel [17:10] benvie: the dom is less easy [17:10] achiu has joined the channel [17:10] forste: could regex it myself, but if there was a library for it [17:10] benvie: can do the tag stripping with a handful of regex [17:10] pixel13 has joined the channel [17:11] pixel13 has left the channel [17:11] benvie: probably is but I haven't use one I can vouch [17:11] tlack: forste: a lot of people in the php world run html through tidy and then use an xml parser for what its worth [17:11] jimt has joined the channel [17:12] yaymukund: is it possible to use spies or mocks with async tests? [17:12] mikeal has joined the channel [17:12] ag4ve: ACTION is reminded of a post about all of the reasons *not* to parse html with regex... [17:12] argami has joined the channel [17:12] yaymukund: or disable the require cache during tests [17:12] daithi44 has joined the channel [17:12] fmeyer has joined the channel [17:12] maggiolo00 has joined the channel [17:12] jgaui has joined the channel [17:12] soapyillusions has joined the channel [17:13] mikkelb has joined the channel [17:14] onar has joined the channel [17:14] mikkelb: Hi! Is there a nice and easy way to use Node.JS to complete the contact form at http://home.no/reddvinylene/test/ ? [17:15] skomski has joined the channel [17:15] adamkittelson has joined the channel [17:15] argami has joined the channel [17:16] yaymukund: mikkelb: zombiejs is probably the most straightforward, but you could figure out the post requests and make them directly with any request library. [17:17] dragansah has joined the channel [17:17] fmeyer has joined the channel [17:17] mikkelb: yaymukund: zombiejs huh, nice [17:17] mikkelb: Is it easy or do I need a lot of custom programming? Because I barely know CSS [17:18] yaymukund: mikkelb: most things with node probably require you to know a bit of programming. Take a look at the examples: http://zombie.labnotes.org/ and decide for yourself. [17:19] Edy has joined the channel [17:20] mikkelb: yaymukund: Any chance I could perhaps pay you a few dimes to help me complete the contact form at http://home.no/reddvinylene/test/ ? [17:20] justicefries: mc: I got my prototype board for the node environment [17:20] mikkelb: I'd just rather not use PHP [17:20] mc: justicefries: yeah? a raspberry pi? or did you go with something else? [17:21] justicefries: mc: I have a raspberry pi coming on april 13 [17:21] justicefries: mc: for now, a pandaboard [17:21] mc: cool [17:21] justicefries: it should translate 1:1 [17:21] yaymukund: mikkelb: sorry, I barely have time to brush my teeth these days. sometimes I just gargle [17:21] mc: where'd you order the raspberry from? [17:21] justicefries: newark/element14 [17:22] mc: i've been debating buying one, but i think i might just for fun [17:22] justicefries: yeah [17:22] justicefries: so far the pandaboard is awesome [17:22] justicefries: it's a 1.2gHz dual core, has OpenGL es 2.0 support [17:22] justicefries: it's sitting on my desk chugging away [17:22] mc: those are quite a bit more expensive though aren't they? [17:22] justicefries: can't wait for the pi [17:22] justicefries: yeah [17:22] fmeyer has joined the channel [17:22] justicefries: I have a beagleboard xM, pandaboard, and raspberry pi. [17:23] mc: only real reason i was looking at the pi is because it's as cheap as it is [17:23] justicefries: yeah [17:23] justicefries: once I have a node environment setup on it, it's perfect for that. [17:24] mc: although with a $20 handling charge, i guess that puts it more in line with the others [17:24] justicefries: oh really? I didn't see that. [17:25] mc: yeah i just noticed [17:25] mc: in the FAQs on the product page there's one about why is there a $20 handling charge [17:25] justicefries: hm I didn't see that [17:25] mc: although that's still only $55 [17:26] justicefries: yeah [17:26] mc: and a pandaboard is what, almost $200? [17:26] dmilith has joined the channel [17:26] justicefries: $180 yeah [17:26] wavded: AvianFlu: turned out I was proxying something that wasn't resolving [17:26] justicefries: $150 for the beagleboard xm [17:26] justicefries: the pandaboard is more for mobile prototyping though [17:26] regality has joined the channel [17:27] mc: beagleboard has a smaller one too, don't they? the bone or something? [17:27] _tors has joined the channel [17:27] EhevuTov has joined the channel [17:27] zackattack has joined the channel [17:27] justicefries: beaglebone, I ordered one...but the problem was that you have order the LCD expansion separately. [17:27] AvianFlu: wavded, there you go :D [17:27] mc: oh it's not out yet either [17:27] mc: oh yes it is, nevermind [17:27] justicefries: it is yeah [17:28] mc: they say it's an upcoming product but if you click anyway it says it's in stock [17:28] justicefries: but $80 plus you have to get the LCD expansion. [17:28] fmeyer has joined the channel [17:28] justicefries: so I'm not sure what the deal was there [17:28] justicefries: I'm working on the kickstarter project, calling it the node bento. [17:28] mc: yeah that's a little silly [17:28] wavded: AvianFlu: thanks for clients who tell you which actions aren't working :) [17:28] mc: nice, good deal [17:28] kmiyashiro has joined the channel [17:28] justicefries: will just start with the SD card and have it nice and stamped, with a getting started guide [17:28] shedinja_ has joined the channel [17:28] justicefries: I'm going to perf test both redis and mongodb [17:28] justicefries: and see which one handles better. [17:28] dshaw_ has joined the channel [17:29] PPPaul has joined the channel [17:29] briancra_ has joined the channel [17:30] brianleroux has joined the channel [17:31] TheDahv has joined the channel [17:31] mc: seems like the pogoplug is right around the same price point too [17:31] mc: err, not pogoplug.. the other one [17:31] mc: crap, can't remember the name [17:31] carlyle has joined the channel [17:32] mc: sheevaplug [17:32] rtgibbons has joined the channel [17:32] sadjow has joined the channel [17:32] joshsmith has joined the channel [17:32] pendlepa1ts has joined the channel [17:33] fmeyer has joined the channel [17:33] mc: $99 for the base model one [17:33] sadjow: what mc? [17:34] EhevuTov_ has joined the channel [17:35] mc: for a sheevaplug, was talking to justicefries [17:35] justicefries: gotta figure out how to get node to build on ARMv7 now [17:35] mc: good luck ;) [17:35] justicefries: haha [17:36] PPPaul has joined the channel [17:36] TooTallNate has joined the channel [17:37] chadskidmore has joined the channel [17:37] _olouv_ has joined the channel [17:38] fmeyer has joined the channel [17:39] aslant has joined the channel [17:40] Poetro_ has joined the channel [17:41] johnstorey has joined the channel [17:41] hz has joined the channel [17:43] fmeyer has joined the channel [17:44] mao has joined the channel [17:44] mao: sdf [17:44] mao: hello [17:46] TheDahv: On Windows, is there a way to tell npm to use an IronPython executable if Python isn't installed locally? [17:46] mao: this is node.jss app Poetro [17:46] mao has left the channel [17:48] fmeyer has joined the channel [17:48] Skaag has joined the channel [17:49] isaacs: TheDahv: whatever python you put in your PATH, that's the one that npm will use [17:49] isaacs: TheDahv: echo %Path% <-- that'll tell you which dirs it'll search [17:49] emattias has joined the channel [17:50] hz has joined the channel [17:50] TheDahv: Yeah, that makes sense. I tried setting up the path to the exe as a powershell environment variable [17:50] T-Nguyen has joined the channel [17:51] TheDahv: I haven't bothered playing with my work machine that much. They don't know I'm playing with node right now ;) [17:51] TheDahv: I'm going to spend a few minutes making this work and I'll let you know if anything interesting happens [17:51] dshaw_ has joined the channel [17:51] automata has joined the channel [17:51] T-Nguyen: hello [17:53] fmeyer has joined the channel [17:54] ningu has joined the channel [17:54] hz has joined the channel [17:54] Juan77 has joined the channel [17:54] mschneider has joined the channel [17:54] MartinCleaver has joined the channel [17:54] MartinCleaver has joined the channel [17:54] T-Nguyen has left the channel [17:55] Gloorian has joined the channel [17:55] T-Nguyen has joined the channel [17:55] Gloorian: Hello [17:55] Gloorian: Is there anyone there that uses railwayjs ? [17:55] brianleroux has joined the channel [17:56] ericmuyser has joined the channel [17:56] Country has joined the channel [17:57] TheDahv: isaacs: is it going to look for `python` or `ipy`? [17:57] mikeal has joined the channel [17:57] TheDahv: The latter is what I have in my path [17:58] isaacs: TheDahv: it'll look for python [17:58] hz has joined the channel [17:58] isaacs: TheDahv: cp ipy python [17:58] lohkey has joined the channel [17:58] isaacs: er, "copy" i guess [17:58] isaacs: copy ipy.exe python.exe [17:58] TheDahv: Heh, good Idea [17:58] TheDahv: *idea [17:58] fmeyer has joined the channel [17:59] TheDahv: My brain was driving down the path of making powershell rebind variables to other programs [18:00] mansoor: To Mongoose or to Mongoose... thats the question [18:00] ljharb: i'm happy with mongoose so far [18:00] PsiliPharm has joined the channel [18:02] mansoor: I'm a fan of ODMs when it comes to like PHP.. idk if I need one for a already document based database.. I guess it could help with the callback hell but i think thats all [18:02] mansoor: *mysql not php [18:02] mansoor: brain fart [18:02] dylang_ has joined the channel [18:02] ningu: mansoor: imo there are two main benefits to mongoose: (1) populate, (2) hooks [18:02] ccare has joined the channel [18:03] ningu: oh, also validation, which is related to hooks I suppose [18:03] ningu: just hooks done by mongoose rather than manually [18:04] brianleroux has joined the channel [18:04] fmeyer has joined the channel [18:04] ppppaul has joined the channel [18:05] hz has joined the channel [18:05] rt7 has joined the channel [18:05] franciscallo has joined the channel [18:06] K1ngInky: i have a question -- a pretty abstract one. i just need to be pointed in the right direction. im writing a pretty complex project, and i want it to be as organized and clean as possible. im getting pretty far into it, and im starting to have a lot of trouble working with the scope. im wondering if there are any libraries that make this easier? [18:06] K1ngInky: libraries = modules*** [18:06] TheDahv: isaacs: Some incremental success, but I get some errors that cause npm install to fail for 'jsdom' [18:06] langworthy has joined the channel [18:06] jxson has joined the channel [18:06] TheDahv: This is using Iron Python 2.7.1 on Windows 7 [18:06] TheDahv: Is it worth pasting the error report somewhere? [18:06] soapyillusions has joined the channel [18:06] ningu: K1ngInky: the scope of what? [18:06] davemo has joined the channel [18:07] ag4ve: anyone used dust? i can't get it to work. i've basically followed the example here: http://spalatnik.com/blog/?p=54 [18:07] TheDahv: In particular, it chokes on 'bindings' [18:07] bradleymeck has joined the channel [18:07] ag4ve: but, when i try to do 'var app = express();' i get 'object is not a function' [18:07] davemo has joined the channel [18:08] maggiolo00 has joined the channel [18:08] piscisaureus_ has joined the channel [18:08] ag4ve: ... which makes since, i just can't figure out how to make it work the way the post says [18:08] ljharb: var app = express.createServer(); ? [18:09] isaacs: TheDahv: what versions of node and npm do you have? [18:09] fmeyer has joined the channel [18:09] K1ngInky: ningu: just in general. i actually just found what i needed though, so nevermind. thx [18:10] Venom_X has joined the channel [18:11] ag4ve: well, here's what i have: http://paste.scsys.co.uk/188554 [18:11] johnmdonahue has joined the channel [18:11] ag4ve: ... err, wanted [18:11] TheDahv: node -v -> v0.6.13 [18:11] TheDahv: npm -v -> 1.1.9 [18:11] TheDahv: Installed this morning [18:11] K1ngInky: another question. are there any good alternatives to coffeescript? or would i really be better off just hand-coding the JS? [18:11] isaacs: hm. [18:11] artusrocha has joined the channel [18:11] isaacs: TheDahv: gist the output? [18:11] ag4ve: but, it seems that dust doesn't work with out consolidate, and something about using consolidate with express like that is improper.... [18:11] TheDahv: I wouldn't be surprised if it's just a wonky setup [18:12] TheDahv: pastebin just as good? [18:12] TheDahv: http://pastebin.com/47ciPBbT [18:12] ag4ve: ie, 'Object # has no method 'engine' [18:12] TheDahv: Fails in a python build script it seems [18:13] orlandovftw has joined the channel [18:13] admc has joined the channel [18:14] orlandovftw has joined the channel [18:14] khrome has joined the channel [18:14] fmeyer has joined the channel [18:15] brianleroux has joined the channel [18:16] CIA-19: node: 03isaacs 07v0.6.14-release * r76f31fa 10/ (6 files in 5 dirs): Remove hard-coded version number from docs - http://git.io/WAILzQ [18:16] CIA-19: node: 03isaacs 07v0.6.14-release * rd497bf8 10/ (5 files in 4 dirs): doc: Remove extraneous index.html's from hyperlinks - http://git.io/1NXgYQ [18:16] CIA-19: node: 03isaacs 07v0.6.14-release * re513ffe 10/ (AUTHORS ChangeLog src/node_version.h): (log message trimmed) [18:16] CIA-19: node: 2012.03.22 Version 0.6.14 (stable) [18:16] CIA-19: node: * net: don't crash when queued write fails (Igor Zinkovsky) [18:16] CIA-19: node: * sunos: fix EMFILE on process.memoryUsage() (Bryan Cantrill) [18:16] CIA-19: node: * crypto: fix compile-time error with openssl 0.9.7e (Ben Noordhuis) [18:16] CIA-19: node: * unix: ignore ECONNABORTED errors from accept() (Ben Noordhuis) [18:16] CIA-19: node: * Add UV_ENOSPC and mappings to it (Bert Belder) [18:17] CIA-19: node: 03isaacs 07v0.6 * rd497bf8 10/ (5 files in 4 dirs): doc: Remove extraneous index.html's from hyperlinks - http://git.io/1NXgYQ [18:17] CIA-19: node: 03isaacs 07v0.6 * ra7dce47 10/ src/node_version.h : Now working on v0.6.15 - http://git.io/xP80uA [18:17] CIA-19: node: 03isaacs 07v0.6 * re513ffe 10/ (AUTHORS ChangeLog src/node_version.h): (log message trimmed) [18:17] CIA-19: node: 2012.03.22 Version 0.6.14 (stable) [18:17] CIA-19: node: * net: don't crash when queued write fails (Igor Zinkovsky) [18:17] CIA-19: node: * sunos: fix EMFILE on process.memoryUsage() (Bryan Cantrill) [18:17] CIA-19: node: * crypto: fix compile-time error with openssl 0.9.7e (Ben Noordhuis) [18:17] CIA-19: node: * unix: ignore ECONNABORTED errors from accept() (Ben Noordhuis) [18:17] CIA-19: node: * Add UV_ENOSPC and mappings to it (Bert Belder) [18:17] CIA-19: node: 03isaacs 07v0.6 * r76f31fa 10/ (6 files in 5 dirs): Remove hard-coded version number from docs - http://git.io/WAILzQ [18:17] CIA-19: node: 03isaacs 07v0.6 * rdbd0e2b 10/ (9 files in 6 dirs): Merge branch 'v0.6.14-release' into v0.6 - http://git.io/riS8_A [18:17] qjcg has joined the channel [18:18] sh1mmer has joined the channel [18:18] netxshare has joined the channel [18:19] conner has joined the channel [18:20] fmeyer has joined the channel [18:20] devdazed has joined the channel [18:22] _tors has joined the channel [18:23] PsiliPharm_ has joined the channel [18:23] TheDahv: isaacs: pasted into a gist https://gist.github.com/2173457 [18:24] tlack: ag4ve: try https://github.com/davglass/express-dust [18:24] hjunge has joined the channel [18:24] hjunge: Hi [18:24] tlack: ag4ve: from what i understand the way dust works is not compatible with express's view callback system, so some hackery had to be performed [18:24] hjunge: question aboiut the asynchrony of function calls [18:24] hjunge: How do I know whether the call will be async or not? [18:25] tjholowaychuk: tlack / ag4ve consolidate just gives them all the same signature [18:25] hjunge: I.e. If I calculate a hash, will this provess be synchronic? [18:25] tlack: hjunge: in a library? you dont unless its specified in the documentation. most libraries make a best effort [18:25] tjholowaychuk: since yeah each author comes up with something slightly different [18:25] jimt_ has joined the channel [18:25] hjunge: tlack, example: node-oauth [18:25] fmeyer has joined the channel [18:25] tlack: hjunge: i would imagine a hash library would NOT be async [18:25] hjunge: of course [18:25] tlack: hjunge: does it a take a callback? if so, probably async [18:25] dgasson has joined the channel [18:25] hjunge: in node-oauth I don't see any callbacks [18:25] hjunge: wait. [18:26] hjunge: How do node knows that I'm making a function with callbacks? [18:26] tlack: sorry, english? :) [18:26] hjunge: sorry [18:26] hjunge: (not native) [18:26] hjunge: suppose I'm making a function to encrypt something [18:26] gozala has joined the channel [18:27] hjunge: and I want to make sure that once I call this function, the loop will continue inside the function... [18:27] hjunge: ... and not that the loop will issue the call [18:27] dgasson has joined the channel [18:27] hjunge: to the line following the function [18:27] dylang has joined the channel [18:28] willwhite has joined the channel [18:29] tlack: hjunge: node.js is async BUT single threaded. so if you have a loop that runs a million times, your script will totally block - including callbacks [18:29] AndreasMadsen has joined the channel [18:30] hjunge: So, can I make : [18:30] tlack: hjunge: however, you can allow other activities to occur by calling http://howtonode.org/understanding-process-next-tick [18:30] fmeyer has joined the channel [18:30] hjunge: var mySignature = encrypt(base, key); var doSomething(mySignature) [18:30] hjunge: and be certain that mySignature will be calculated before calling doSomething() [18:30] hjunge: ? [18:31] tlack: node.js just runs everything in a straight line in a single thread, like a normal program, in that instance. [18:31] tlack: if you did this: [18:32] hjunge: BTW, not that I'm supposing or especulating. Is that, as a beginner, I got accustomed to that fact that I call a function [18:32] tlack: encrypt(base, key, function(result) { mySignature = result; }); doSomething(mySignature); - you would have no assurances that mySignature exists in doSomething()'s scope [18:32] hjunge: and node continues with the following line at once [18:32] hjunge: OK [18:32] hjunge: I see [18:32] jomoho has joined the channel [18:32] Lemminkainen: having deep trouble with node-mongodb-native if anyone can advise: http://pastebin.com/UtQeG6qC [18:32] Lemminkainen: nevermind [18:32] Lemminkainen: I just saw the big stupid error in that [18:32] hjunge: When I started I had the problem that I did: [18:33] tlack: hjunge: in other words, it's overt and explicit - not magic [18:33] hjunge: var myValue = doThisCall(params); doOtherThing(myValue); [18:33] hjunge: and saw that node: [18:33] michaelhartau has joined the channel [18:33] hjunge: 1. call doThisCall() [18:33] ag4ve: tlack: thanks. hadn't seen that. however, it's as old as the current dust code, so... [18:33] hjunge: 2. call doOtherThing() inmediately [18:34] ag4ve: ACTION yells at linkedin :( [18:34] hjunge: not giving me time to 'fill' myVAlue [18:34] tlack: ag4ve: i havent tried it let me know how it works, planning to try dust this weekend [18:34] hjunge: well, I'm studying this carefully [18:34] hjunge: thanks a lot tlack [18:34] tlack: hjunge: only if those functions are programmed that way to work asynchronously [18:34] ag4ve: tlack: you know linkedin is supposed to release a fork? [18:34] hjunge: oh, you have to tell the functions 'be async' prevously? [18:34] tlack: hjunge: if you look at the FS module, you'll see two variants of most functions: a synchronous one (just returns the result as expected), and an async one that will call your callback when its done [18:34] Lemminkainen: OK, big stupid error fixed, but still not getting actual uploads: http://pastebin.com/cHF9iufa [18:35] tlack: ag4ve: really? i feel like dust is way too cool for LI [18:35] hjunge: K [18:35] hjunge: Thanks a lot tlack [18:35] tilgovi has joined the channel [18:35] Lemminkainen: if anyone could take a look I'd much appreciate any advisement [18:35] ag4ve: tlack: google 'linkedin dust.js' you'll see it [18:35] tlack: hjunge: yeah, its mostly stuff that does I/O that is written asychronously (because the underlying OS has support for async versions of file system operations!) - this includes network code [18:35] skm has joined the channel [18:35] fmeyer has joined the channel [18:35] jxie has joined the channel [18:35] hjunge: That was the reason Why I had this problem [18:36] hjunge: var myVAlue = queryTheDB(params); doSomething(myVAlue) [18:36] hjunge: queryTheDB() should have been programmed to run Async [18:36] ag4ve: personally, i don't care but there do seem to be some issues with it currentl (read the posts at the bottom of the linkedin article) [18:36] hjunge: and IO should have issue a callback [18:36] Renacor has joined the channel [18:36] admc1 has joined the channel [18:36] tlack: hjunge: db stuff, at least the mysql shit, will work via callback, so you want to do: queryTheDB(params, function(result) { doSomething(result); }); [18:36] hjunge: I'd* [18:36] hjunge: I see [18:36] hjunge: I learn to do this way [18:36] breck has joined the channel [18:37] hjunge: Then I'm seeing node-oauth completely sync [18:37] tlack: hjunge: if you've done client side JS think of it like ajax calls - they do their thing and finish on their own schedule, so your code has to be 'chained' through callbakcs [18:37] Renacor: Whats the proper way to get POST/GET request variables from a http.ServerRequest object? [18:37] hjunge: and I was, like, This is not node :D [18:37] hjunge: K [18:37] Renacor: I am trying to use the data event but I don't seem to get anything back [18:37] tlack: Renacor: in express its req.query.attrname [18:37] hjunge: I got it clear as water [18:38] hjunge: or whatever you say that in english [18:38] tlack: hjunge: close enough lol [18:38] Renacor: express == ? [18:38] hjunge: LOL [18:38] hjunge: THX [18:38] coderarity has joined the channel [18:38] Renacor: framework [18:38] Renacor: i see [18:38] xippi has joined the channel [18:38] tlack: Renacor: pluggable and wonderful framework for web stuff on node http://expressjs.com/ [18:38] carlyle has joined the channel [18:40] fmeyer has joined the channel [18:40] tlack: ag4ve: what a great article about dust [18:41] breck has joined the channel [18:42] dragansah has joined the channel [18:42] jxson has joined the channel [18:43] ag4ve: tlack: yeah, the benchmarks sorta made my mind for me [18:44] joshsmith has joined the channel [18:44] tlack: ag4ve: i dont understand how it can be faster than simpler engines but hay im not complaining [18:44] qbit_ has joined the channel [18:45] qbit_: wink_: 1 [18:45] qbit_: lal [18:45] hipsters_ has joined the channel [18:45] EhevuTov__ has joined the channel [18:45] fmeyer has joined the channel [18:45] meso has joined the channel [18:46] CoverSlide: http://jsperf.com/dom-vs-innerhtml-based-templating/381 << dust not that fast on here [18:46] CoverSlide: but to be fair it isn't exactly tested well [18:47] ag4ve: tlack: well i was using handlebars. so, if they give me pretty much the same format, partials, and streaming, speed is just a nice plus :) [18:48] adrianF has joined the channel [18:48] d0ax has joined the channel [18:49] graeme_f has joined the channel [18:49] enjalot has joined the channel [18:49] mandric has joined the channel [18:50] tlack: ag4ve: streaming is a HUGE feature for perceived performance.. in fact, if anything, that should be the deal killer [18:50] fmeyer has joined the channel [18:51] mattgifford has joined the channel [18:51] ag4ve: i need a sub/pub and don't want it in my views anyway. [18:51] shadowshell has joined the channel [18:52] tlack: CoverSlide: perhaps they didnt use compilation here? hmm [18:52] ag4ve: so, i am going to use faye and could have done the same with that and jq [18:52] scottdware has joined the channel [18:52] ppppaul has joined the channel [18:53] achiu has joined the channel [18:54] fatjonny has joined the channel [18:54] ag4ve: what determines require's search path? [18:55] karterk has joined the channel [18:56] fmeyer has joined the channel [18:57] sadjow has left the channel [18:57] Sam4242 has joined the channel [18:58] xippi has joined the channel [18:58] xippi has joined the channel [18:59] sigurding has joined the channel [19:01] fmeyer has joined the channel [19:02] ag4ve: oooh, i get it, it recurses down until it finds a .js and looks in package.json which can override the normal lookup? [19:02] tlack: i think it can also look in $NODE_LIB (didnt answer cuz i havent dug into that yet) [19:03] ag4ve: http://nodejs.org/api/modules.html it's actually an easier model than perl's @INC. sorta cool [19:03] arduix has joined the channel [19:04] tlack: keeping everything local to the app makes more sense too (even though its nontraditional to the point of heresy) [19:05] flagg0204 has joined the channel [19:06] ovaillancourt has joined the channel [19:06] fmeyer has joined the channel [19:06] argami has joined the channel [19:06] ag4ve: i haven't moved to deploy yet. however, i think a central modules dir is a good thing [19:07] ag4ve: it pretty much says to me 'this is the unaltered upstream' [19:07] `3rdEden has joined the channel [19:08] M1l3n1um has joined the channel [19:08] Maxani has joined the channel [19:08] Sadin has joined the channel [19:08] johnstorey has joined the channel [19:09] flagg0204 has joined the channel [19:09] ag4ve: ... but, this is what i thought and why i asked the question "it is not a guarantee that require('foo') will always return the exact same object" - this is a good thing, but i didn't know how node handled it. [19:10] YOUR_NICK has joined the channel [19:11] argami has joined the channel [19:11] yaymukund has joined the channel [19:11] ag4ve: i'm still unclear what happens if i require(foo) and have a ~/node_modules/foo/package.json with a '"name": "bar"' [19:12] fmeyer has joined the channel [19:12] ag4ve: but, i guess i'm not quite at the point of caring about the minutia... [19:14] springmeyer_ has joined the channel [19:14] ljharb: ag4ve: i believe the name is just for reference, and the output of require(foo) is only called "foo" if you assign it to a variable named as such [19:14] ljharb: var baz = require('foo') in your example would be referenced with "baz" [19:16] antono has joined the channel [19:17] fmeyer has joined the channel [19:17] Qalqi has joined the channel [19:17] EhevuTov has joined the channel [19:17] seebees has joined the channel [19:18] fritzy has joined the channel [19:18] Qalqi: i am back to my love [19:18] Qalqi: nodejs [19:18] ag4ve: ljharb: that doesn't sound right ??????? [19:19] ljharb: ag4ve: 'foo' is the name of the file, 'bar' is the name in a package repository, and 'baz' in this case is the variable that holds foo's exports [19:19] ag4ve: (or i'm misunderstanding) [19:19] ag4ve: ok, right. hummm. [19:20] insin has joined the channel [19:20] argami has joined the channel [19:21] PsiliPharm has joined the channel [19:21] ag4ve: i guess, i wasn't thinking of the variable and just how require does the 'lookup' for the file [19:22] tlack: ag4ve: having some trouble with express-dust, did you get it working? [19:22] qjcg has joined the channel [19:22] fmeyer has joined the channel [19:22] ag4ve: tlack: lets see... sec [19:23] ag4ve: tlack: no, i'm getting path issues still [19:24] tlack: ag4ve: i commented out that line (you mean the require.paths line?) and it still runs, but now getting a problem related to runInNewContext [19:24] ag4ve: but, i'm trying: var dust = require('express-dust'); [19:24] tlack: try var dust = require('express-dust/lib/dust') [19:24] ag4ve: maybe i should just tell it where the hell the package is so i don't have to wonder how require does lookups :) [19:24] ag4ve: tlack++ [19:24] argami has joined the channel [19:24] tlack: (saw that in an issue on the express-dust github) [19:25] tlack: still fails though [19:25] AdamGoodrich has joined the channel [19:26] ag4ve: ahha [19:26] ag4ve: but, no it doesn't work [19:26] Matt` has joined the channel [19:27] Matt`: any idea what's causing this? http://pastebin.com/kd0MZt5s [19:27] YOUR_NICK has joined the channel [19:27] fmeyer has joined the channel [19:27] RLa: clock_gettime missing [19:28] tlack: matt` try adding -ldl -lrt [19:28] tlack: to the LD_FLAGS line in the makefile [19:28] ljharb: ag4ve: where is the file "foo" stored? [19:28] tlack: ag4ve: what error are you getting [19:28] johnstorey has joined the channel [19:28] ljharb: ag4ve: if it's not a node module, you need "./foo" [19:29] archivebot has joined the channel [19:29] Qalqi has joined the channel [19:29] RLa: Matt`, what distro it is [19:29] ag4ve: http://scsys.co.uk:8002/188560 [19:30] tlack: ag4ve: that is your code or what? [19:30] Qalqi has joined the channel [19:30] ag4ve: tlack: yes [19:30] archivebot has joined the channel [19:30] ag4ve: it's what i generally start with [19:30] tlack: ag4ve: but it doesnt work or it does? [19:30] ag4ve: but, i'm about to start removing stuff [19:31] ag4ve: not work [19:31] tlack: ag4ve: pastebin you startup error [19:31] Matt`: RLa: debian 6 [19:31] ericmuyser has joined the channel [19:31] YoY has joined the channel [19:31] dshaw_ has joined the channel [19:32] ag4ve: http://scsys.co.uk:8002/188561 [19:32] RLa: Matt`, x86 or something else? [19:32] Matt`: x86 [19:32] darrenlooby has joined the channel [19:32] fmeyer has joined the channel [19:32] argami has joined the channel [19:33] RLa: and what node version you are compiling? [19:33] Matt`: 0.6.14 [19:33] Matt`: from git [19:34] barbagallo has joined the channel [19:35] charlenopires has joined the channel [19:35] colinclark has joined the channel [19:35] brianleroux has joined the channel [19:36] colinclark_ has joined the channel [19:36] tlack: ag4ve: comment out that line (node_modules/dust/lib/server.js line 6) [19:36] jj0hns0n has joined the channel [19:36] RLa: Matt`, what did configure said about library rt? [19:36] githogori has joined the channel [19:37] tlack: RLa: didnt look like it detected that he needs it in the ld line [19:37] jxie has joined the channel [19:37] Vainoharhainen has joined the channel [19:37] fmeyer has joined the channel [19:37] ag4ve: tlack: oooh, that was the line you were talking about... the same one that i keep seeing on my screen... duh... thanks :) [19:38] Matt`: RLa: can't scrollback that far [19:38] Matt`: but i had to use --without-ssl [19:39] RLa: you could do make clean as well and rerun configure :) [19:39] AAA_awright has joined the channel [19:39] jomoho has joined the channel [19:39] ccare has joined the channel [19:39] T-Bone has joined the channel [19:40] Matt`: RLa: http://pastebin.com/N5vDT4wp [19:41] declar has joined the channel [19:41] RLa: looks good [19:41] dylang has joined the channel [19:42] T-Bone has left the channel [19:42] ag4ve: tlack: ok, it's "running" now :) [19:42] tlack: ag4ve: wow really? mine isnt. it works properly? [19:42] ag4ve: no, it isn't loading a page. it is "running" [19:42] constantx has joined the channel [19:42] fmeyer has joined the channel [19:42] ag4ve: and i'm not getting my console.trace("req"); when i hit it [19:43] ag4ve: ahha, i wanted to use https and forgot: TypeError: Cannot read property 'connect.sid' of undefined [19:43] tlack: ag4ve: can you pastebin your code again? the one you pasted last time makes reference to app.engine('dust', cons.dust); but i dont know where cons was coming from [19:44] ag4ve: yeah i removed that... pasting [19:44] lrvick has joined the channel [19:44] lrvick: Can anyone tell me why nodejs hates me extending an object like this? https://github.com/lrvick/grfety/blob/master/grfety.js#L250 [19:44] archivebot has joined the channel [19:45] ag4ve: http://paste.scsys.co.uk/188563 [19:45] Matt`: oh, RLa: make worked this time [19:45] ag4ve: tlack: ^^ [19:45] patcito has joined the channel [19:45] sh1mmer has joined the channel [19:46] RLa: hm, interesting [19:47] ag4ve: tlack: leave out the options and it /should/ work the same. hell i don't even know why i still have it in my starting point (should do this with nginx anyway) [19:47] fmeyer has joined the channel [19:47] zackattack has joined the channel [19:48] sh1mmer has joined the channel [19:48] benvie: wtf firefox doesn't have DataView [19:49] benvie: annoying [19:50] jolo2 has joined the channel [19:50] argami has joined the channel [19:50] cyphase has joined the channel [19:51] ag4ve: tlack: that code probably won't work either because i think i need a back end for my session.... looking into it. [19:52] lrvick: any ideas? I am trying to do this in a way where it will work for both client-side and node [19:52] T-Bone has left the channel [19:53] fmeyer has joined the channel [19:53] archivebot has joined the channel [19:53] mikkelb has left the channel [19:54] asdfa123 has joined the channel [19:54] jakubmal has joined the channel [19:55] JJMalina has joined the channel [19:55] rlidwka has joined the channel [19:56] guidocalvano has joined the channel [19:56] argami has joined the channel [19:56] pgte has joined the channel [19:57] ag4ve: tlack: disabled my broke session (for now) and now i'm where you're at: Cannot call method 'runInNewContext' of undefined [19:57] mandric has joined the channel [19:58] fmeyer has joined the channel [19:59] paul_ has joined the channel [19:59] socketio\test\46 has joined the channel [20:01] Sixnet: We are already building modules in C for node. We would like to be able to call back into javascript from there. Can someone please point me to an example of how to do this? [20:02] jakubmal: hi guys, anyone knows what to do with nginx+node often returning 500, nodejs directly never returning 500, anyone pm me? [20:03] ag4ve: heh, i think i'm going back to handlebars until linkedin gets their act together :( [20:03] fmeyer has joined the channel [20:04] MT has joined the channel [20:05] justicefries: v8 takes so long to build on ARM. [20:05] justicefries: dear lord. [20:05] arthurdebert has joined the channel [20:06] argami has joined the channel [20:06] ag4ve: kids these days... it used to take me >24 hours every time gentoo updated kde (~10 years ago) [20:06] stafamus has joined the channel [20:06] zanefactory has joined the channel [20:06] ag4ve: oh, and it failed half the time too :) [20:06] TheJH has joined the channel [20:07] tlack: ag4ve: there's another package called dust-x [20:07] tlack: seems like its more likely to work [20:07] tlack: ag4ve: also, dust.js is no longer updated - im trying a fork here https://github.com/caolan/dustjs [20:07] robhawkes has joined the channel [20:07] andrewdeandrade has joined the channel [20:07] Geminizer_ has joined the channel [20:08] fmeyer has joined the channel [20:09] ag4ve: tlack: i know, that's why i'm pissed that linkedin hasn't released their fork [20:09] halfhalo has joined the channel [20:09] pokoli has joined the channel [20:10] ag4ve: tlack: ya got a link for dust-x? [20:10] justicefries: haha [20:10] justicefries: well, KDE. ;) [20:10] tlack: ag4ve: https://github.com/laurie71/dust-x [20:10] ag4ve: nevermind, should have just searched github [20:10] ag4ve: heh, thanks anyway :) [20:11] andrewde` has joined the channel [20:11] constantx has joined the channel [20:11] ag4ve: aight, lets try this one :) [20:11] patcito has joined the channel [20:11] rlidwka has joined the channel [20:12] jomoho2 has joined the channel [20:12] tlack: holy shit [20:12] tlack: i think i fixed it [20:12] sadjow has joined the channel [20:12] constantx1 has joined the channel [20:13] qjcg has joined the channel [20:13] sadjow: Where can I know about documentation changes? [20:13] fmeyer has joined the channel [20:13] chadskidmore has joined the channel [20:14] crutex has joined the channel [20:14] crutex has joined the channel [20:14] tlack: ag4ve: ok, i have a fix for ya [20:14] tlack: ag4ve: can you try it and see if it works? [20:14] ag4ve: tlack: yep [20:14] dragansah has joined the channel [20:15] tlack: ag4ve: i cant remember exactly what i fixed so you're my guinea pig. first here's my test code [20:15] AndreasMadsen has joined the channel [20:16] tlack: ag4ve: here's my test https://gist.github.com/2174537 [20:16] tlack: ag4ve: try that out [20:16] Sixnet: native module calling same context JS... possible? [20:16] tlack: ag4ve: in views/ make index.dust and just put whatever in it [20:17] MT has joined the channel [20:17] rodyhaddad has joined the channel [20:17] ag4ve: tlack: views - that's what i'm doing now :) [20:17] domo1 has joined the channel [20:18] fmeyer has joined the channel [20:18] skm has joined the channel [20:20] tlack: actually using that fork of dust and stock dust-x it worked for me. on windows i had to tweak it a bit. [20:21] mikeal has joined the channel [20:22] bindr has joined the channel [20:23] sadjow has left the channel [20:23] ag4ve: tlack: http://paste.scsys.co.uk/188566 [20:23] ag4ve: oh, haven't tried the fork of dust you pointed to [20:24] johnstorey has joined the channel [20:24] tlack: yeah, use the dust fork to fix that.. dust isnt setup for node 0.6 [20:24] fmeyer has joined the channel [20:24] ag4ve: just got the npm-unmaintained-over-a-year-old version [20:25] tlack: https://github.com/caolan/dustjs/tree/ link again. rename to 'dust' after fetching [20:25] ag4ve: tlack: you copied over or rm ; cp? [20:26] tlack: ag4ve: rm cp (ctrl-x ctrl-v) [20:26] tlack: ag4ve: the contents of that github are exactly what you drop in node_modules/dust [20:26] sveisvei has joined the channel [20:26] argami has joined the channel [20:27] josh-k has joined the channel [20:27] Witnes5 has joined the channel [20:28] josh_k has joined the channel [20:29] fmeyer has joined the channel [20:30] salva has joined the channel [20:30] TheAlphaNerd has joined the channel [20:31] ag4ve: tlack: ah, success :) [20:31] rlidwka has joined the channel [20:32] EhevuTov_ has joined the channel [20:33] ag4ve: using a forked version of dustjs and dust-x..... i feel breakage or massive hackery may be unavoidable of i continue along this path :) [20:33] tlack: :) [20:33] tlack: thats the fun of it! [20:34] fmeyer has joined the channel [20:35] ag4ve: i like the hackery, i dislike the breakage. [20:36] floriank has joined the channel [20:36] floriank has left the channel [20:38] Axsuul has joined the channel [20:39] ag4ve: tlack: why this: app.register('.dust', dustx/*({})*/) ... maybe i need to refresh on what express register is doint... [20:39] TheAlphaNerd has joined the channel [20:39] tlack: register tells express what handler to use for a given view extension [20:39] tlack: that mess toward the right of the line is just a comment cuz originally he was doing app.register('.dust', dustx({})); [20:39] fmeyer has joined the channel [20:41] bartt has joined the channel [20:41] PsiliPharm has joined the channel [20:41] disappearedng has joined the channel [20:41] disappearedng: Hey if I have a file that is getting too big, can I split a class definition into two files? [20:42] tlack: disappearedng: you could merge all the 'exports' together at the end i guess, yeah.. seems weird though. maybe time to rethink the class's scope [20:42] ag4ve: oh, so in the original, i guess you wouldn't have been able to do res.render( 'index', { foo : "bar" } ); ? [20:43] disappearedng: Well I am currently doing something like this MyClass.prototype.foo = function... and there's too many functions here already tlack [20:43] tlack: ag4ve: i dont know really. i think he had to do some trickery to get the async/streaming templates to work. anyway, its fine without it [20:44] ag4ve: tlack: thanks again [20:44] fomatin has joined the channel [20:44] tlack: disappearedng: i think you should be able to do part_b = require('./myclass-b'); for (var i in part_b) { MyClass.prototype[i] = part_b[i] } [20:44] munro: lol [20:44] fmeyer has joined the channel [20:44] disappearedng: Well technically they are all .prototype functions [20:44] disappearedng: I guess I can have a file that just imports from all of these [20:44] disappearedng: ah this is a mess [20:46] dc` has joined the channel [20:47] rtgibbons has joined the channel [20:47] Vespakoen has joined the channel [20:49] fmeyer has joined the channel [20:50] joshsmith has joined the channel [20:51] V1 has joined the channel [20:51] domo1: I'm receiving this error every so often when using http.get Error: socket hang up [20:52] domo1: where can I handle it so it doesnt cause my script to end? [20:52] domo1: on error event? [20:52] isaacs_mobile has joined the channel [20:52] soapyillusions has joined the channel [20:52] \0\ has joined the channel [20:53] mansoor has joined the channel [20:53] briancra_ has joined the channel [20:53] \0\ has left the channel [20:54] argami has joined the channel [20:54] larsschenk has joined the channel [20:54] larsschenk has left the channel [20:54] skm has joined the channel [20:55] fmeyer has joined the channel [20:55] gozala has joined the channel [20:56] bnoordhuis: domo1: yes [20:58] argami has joined the channel [20:59] Axsuul has joined the channel [20:59] qjcg has joined the channel [20:59] Skaag_ has joined the channel [21:00] fmeyer has joined the channel [21:01] dgathright has joined the channel [21:02] arduix has joined the channel [21:03] markwubben has joined the channel [21:03] mansoor: Is there a maximum size length to an array for inserting into Mongodb using the native driver? [21:04] mansoor: I have a ver _LARGE_ array but it isn't going through :( [21:04] mansoor: although it does on smaller arrays [21:05] fmeyer has joined the channel [21:06] admc has joined the channel [21:07] tilgovi has joined the channel [21:08] kjeldahl` has joined the channel [21:08] PsiliPharm has joined the channel [21:08] brianthecoder has joined the channel [21:09] hipertracker has joined the channel [21:09] socketio\test\92 has joined the channel [21:09] argami has joined the channel [21:10] fmeyer has joined the channel [21:10] vdemedes has joined the channel [21:10] vdemedes: Hello [21:10] qjcg has joined the channel [21:10] daleharvey: anyone got a favourite cors proxy? [21:11] vdemedes: I want to require module 2 times, but I don't want to use cache for it, so it will be loaded twice, rather than once [21:11] vdemedes: How can I clear the require()'s cache? [21:11] innoying has joined the channel [21:11] jj0hns0n has joined the channel [21:11] Venom_X: mansoor: a doc maxs out at 16mb by default [21:11] vipaca has joined the channel [21:11] vipaca has joined the channel [21:11] ryan_stevens2 has joined the channel [21:12] vdemedes: ah, found it [21:12] mansoor: Venom_X, right, I am trying to bulk insert multiple documents at once [21:12] vdemedes: sorry [21:12] jj0hns0n has joined the channel [21:12] mansoor: and thye are, individually very small. but togather they do exceed 16mb [21:14] Venom_X: mansoor: ah, sorry. Don't know. Maybe ask the driver author. [21:14] EhevuTov__ has joined the channel [21:15] fmeyer has joined the channel [21:15] mansoor: :S its atleast 10k i'll just break up my data to that ammount [21:15] mansoor: tnx Venom_X [21:16] jonaslund has joined the channel [21:17] Venom_X: mansoor: maybe check out https://github.com/christkv/node-mongodb-native/blob/master/lib/mongodb/collection.js#L85-92 [21:17] mansoor: i looked but didnt' find anything [21:18] mansoor: its fine i'll just break up my data [21:19] boltR has joined the channel [21:20] breck has joined the channel [21:20] lazyshot has joined the channel [21:20] fmeyer has joined the channel [21:20] ryan_stevens2 has left the channel [21:20] domo1 has left the channel [21:21] tsudot has joined the channel [21:21] bnoguchi has joined the channel [21:22] argami has joined the channel [21:23] dc`_ has joined the channel [21:25] PsiliPharm has joined the channel [21:26] crutex: �� [21:27] AndreasMadsen has joined the channel [21:27] johnmdonahue: I have an app sitting behind a firewall/iptables without direct web access and I need a safe way for it to call external APIs over https without exposing the app itself. My thought was to create temporary connections as needed over a port given special access: open > make request > close. Or maybe spawn curl or http-proxy and specify port? Any ideas? Am I going about this in the wrong way altogether? [21:27] isao has joined the channel [21:27] redir has joined the channel [21:28] dragansah has joined the channel [21:28] tommyvyo has joined the channel [21:29] tornad has joined the channel [21:30] pid has joined the channel [21:31] adrianF has joined the channel [21:31] daithi44 has joined the channel [21:32] johnmdonahue: is that a question better suited for the google group, stackoverflow or elsewhere? [21:32] Poetro has joined the channel [21:32] dc` has joined the channel [21:33] samstefan has joined the channel [21:33] argami has joined the channel [21:34] hz has joined the channel [21:34] piscisaureus_ has joined the channel [21:35] HacDan has joined the channel [21:36] fmeyer has joined the channel [21:36] TheDahv has left the channel [21:37] rtgibbons has joined the channel [21:38] Morkel has joined the channel [21:39] hz has joined the channel [21:39] mehlah has joined the channel [21:39] nodebiscut has joined the channel [21:39] graeme_f has joined the channel [21:39] daniel has joined the channel [21:40] daniel: i remember seeing a library recently, did text characterization, string comparison etc... forgotten the name [21:40] daniel: it was posted to HN [21:40] daniel: can anyone remind me? [21:40] tomnewmann has joined the channel [21:40] intabulas has joined the channel [21:40] konobi: natural [21:41] flagg0204 has joined the channel [21:41] josh-k_ has joined the channel [21:41] fmeyer has joined the channel [21:41] daniel: konobi: ta [21:44] josh-k has joined the channel [21:44] lmorchard has joined the channel [21:46] fmeyer has joined the channel [21:47] josh-k_ has joined the channel [21:48] Vespakoen has joined the channel [21:50] jimmysparkle has joined the channel [21:52] fmeyer has joined the channel [21:52] josh-k has joined the channel [21:53] diegoviola has joined the channel [21:54] Poetro has joined the channel [21:55] josh-k_ has joined the channel [21:57] fmeyer has joined the channel [21:59] mikeal has joined the channel [21:59] yawNO has joined the channel [22:00] josh-k has joined the channel [22:01] boltR has joined the channel [22:02] fmeyer has joined the channel [22:03] brianleroux has joined the channel [22:03] yawNO has joined the channel [22:04] tjholowaychuk has joined the channel [22:04] Crowb4r has joined the channel [22:07] fmeyer has joined the channel [22:07] panosru has joined the channel [22:07] bartt has joined the channel [22:08] devaholic has joined the channel [22:08] panosru: Hello, is there a way to set a variable application-wide? For example I use underscore everywhere and it is really annoying to require it everywhere or pass it everywhere [22:08] TooTallNate: panosru: global._ = _ [22:08] \mSg has joined the channel [22:08] panosru: TooTallNate: so easy... :P Thanks a lot! [22:09] TooTallNate: but really, 1 require call at the top of each file isn't such a big deal :p [22:09] st_luke has joined the channel [22:09] sh1mmer has joined the channel [22:09] TooTallNate: and globals are generally frowned upon [22:09] panosru: TooTallNate: yeah but in my case I use underscore with underscore.string and it's not 1 or two requires is a bit more code in order to mix underscore with underscore.string [22:10] TooTallNate: in my book, as long as it's part of your final application, and not a reusable module, then it's ok [22:10] Skaag has joined the channel [22:10] Poetro has joined the channel [22:11] Poetro has joined the channel [22:11] EhevuTov_ has joined the channel [22:12] fmeyer has joined the channel [22:12] tlack: daniel: https://github.com/NaturalNode/natural ? [22:13] daniel: tlack: yeah, that's the one. konobi also got it [22:14] dnolen has joined the channel [22:14] enmand has joined the channel [22:15] csprite has joined the channel [22:15] chrisumbel has joined the channel [22:15] smplstk_ has joined the channel [22:16] jacobolus has joined the channel [22:16] EhevuTov_ has joined the channel [22:16] tlack: sorry about that :) [22:16] retornam has joined the channel [22:16] boltR has joined the channel [22:17] ppcano has joined the channel [22:17] fmeyer has joined the channel [22:18] ctp6360 has joined the channel [22:21] breck has joined the channel [22:21] daniel: don't be, thanks :) [22:22] Cheery has joined the channel [22:22] Cheery: how do I change user in node.js? [22:22] tlack: change user? [22:23] tommyvyo has joined the channel [22:23] Cheery: oh that way [22:23] bnoordhuis: Cheery: process.setuid() [22:23] halfhalo has joined the channel [22:23] Cheery: I wonder can I change it such way that the listeners stay open while the program cannot really do much anything else after that? [22:23] Cheery: without having a stub user [22:24] shinuza has joined the channel [22:25] EhevuTov__ has joined the channel [22:27] marxus has joined the channel [22:28] bradleymeck has joined the channel [22:28] RobWC has joined the channel [22:28] Progster has joined the channel [22:28] jj0hns0n has joined the channel [22:30] isaacs: > eval('{}+[]') [22:30] isaacs: 0 [22:30] isaacs: > eval('({}+[])') [22:30] isaacs: '[object Object]' [22:30] isaacs: > eval('+[]') [22:30] isaacs: 0 [22:30] isaacs: MT: [22:30] isaacs: MT: ^ [22:30] joshsmith has joined the channel [22:31] stdnoit has joined the channel [22:33] boltR has joined the channel [22:34] Cheery: can't know whether I've been this happy to long time. [22:35] nightfury has joined the channel [22:35] tlack: Cheery: general node bliss? [22:36] diogogmt has joined the channel [22:38] RobWC has left the channel [22:41] jacobolus has joined the channel [22:41] MT: I have a question for you guys. When I do {} + [] in chrome console, I get 0 as the result. [22:41] tlack: lol [22:41] MT: But when I do the same on node repl, I get, [object Object] [22:41] MT: can you tell me why there is a change in the behavior? [22:42] bradleymeck: isaacs: can you think of a situation when node-waf would not generate the .node under build/default or build/Release? [22:42] bradleymeck: *without being configured [22:42] isaacs: MT: scroll up a bit to where i answered your question ;) [22:42] isaacs: MT: the node repl wraps the line in parens to force it to be an expression if it starts with { [22:42] isaacs: MT: '{}+[]' is not "object plus sign array" [22:43] isaacs: MT: it's "code block, array casted to Number" [22:43] Geminizer has joined the channel [22:43] isaacs: MT: '({}+[])' is 'object plus array' [22:43] tmkb has joined the channel [22:43] MT: Got it. Now it makes sense. I am sorry I didn't see your answer earlier. [22:43] isaacs: MT: which casts both to string, becoming: '[Object object] [22:43] Cheery: tlack: http://boxbase.org/ether/ <- this is why I'm happy. :) [22:43] isaacs: ' + [].join(',') [22:44] Cheery: tlack: one of the first actual projects I've made that may become something. [22:44] Nofu has joined the channel [22:45] Nofu has left the channel [22:46] tlack: Cheery: so this is just a shared code editor? i was hoping the [Link] was clickable and definable :) [22:47] skm has joined the channel [22:47] Cheery: tlack: ^^ I'm not the amazing spiderman. I've got limits. [22:47] tlack: still cool tho dont mean to undermine you :) [22:47] rjack has joined the channel [22:47] Cheery: (just kidding) [22:47] rjack has joined the channel [22:47] Cheery: well were more interested about the shared code editor and making it simple as possible. [22:47] yaymukund: tlack: sure it is. you can log in! Just enter your password...... ;) [22:48] Cheery: I partially succeeded. [22:50] justfielding has joined the channel [22:50] BillyBreen has joined the channel [22:52] yaymukund: Cheery: I like the autoindent.. nice little touch. looks pretty cool [22:52] subbyyy has joined the channel [22:53] yaymukund: I am doing something similar technically, but not a text editor [22:54] fomatin has joined the channel [22:54] brianseeders has joined the channel [22:57] Cheery: yaymukund: the autoindent is a feature in codemirror. it leaks through the interface I did. [22:57] Cheery: yaymukund: good property so no problem there. [22:58] regality has left the channel [22:59] Cheery: yaymukund: what are you planning for? [23:01] markwubb_ has joined the channel [23:02] `3rdEden has joined the channel [23:02] lesshaste has joined the channel [23:02] lesshaste has left the channel [23:02] tilgovi has joined the channel [23:07] jaha has joined the channel [23:08] joshontheweb has joined the channel [23:13] danzajdband has joined the channel [23:14] warz has joined the channel [23:14] warz has joined the channel [23:15] Renegade001 has joined the channel [23:16] loob2 has joined the channel [23:17] yaymukund: Cheery: sorry, went afk. I'm doing a realtime poetry app [23:18] deoxxa: yeah, check check it, poetry on the record, res-dot-send 200 your shit is def kid [23:19] yaymukund: hahaha pretty much [23:19] meelash has joined the channel [23:21] Cheery: yaymukund: oh. okay. [23:21] danzajdband has left the channel [23:21] danzajdband has joined the channel [23:21] Cheery: techniques I used can be adapted for about any software that edits something. [23:22] meelash: I have what may be a noob question :) - I'm making a request that looks like this: [23:22] meelash: request.open('GET', "http://lakjsdflkjasld:asdf@127.0.0.1:1337/som/e/stuff?some=1&other=1&stuff=1", true) [23:22] meelash: on the server, the request.url string only has '/som/e/stuff?some=1&other=1&stuff=1' ? [23:22] meelash: so how can I get the the auth, hostname, etc… that url.parse gives me? [23:22] yaymukund: Cheery: I will def. look through the source when I have a chance. [23:22] Cheery: the real meat is in the combinators that work on changesets. [23:23] Cheery: yaymukund: if there's something unclear when you pass through it.. please let me know. [23:23] deoxxa: meelash: it's in the req object [23:23] disappearedng: Hey any recommendations for preventing race conditions [23:23] Cheery: yaymukund: it sort of has the same goal as what etherpad-lite has - that is spreading the idea of synchronised editing. [23:23] deoxxa: meelash: console.log(req) and you'll find it scattered over a few different keys [23:23] danzajdband: meelash check req.headers [23:23] Cheery: yaymukund: I figure making it simple is the best way to do so. [23:24] danzajdband: request.headers [23:24] disappearedng: I am getting race conditions not from nodejs, but from nodeunit [23:25] PsiliPharm has joined the channel [23:25] markq has joined the channel [23:26] alejandromg has joined the channel [23:27] _numbers has joined the channel [23:27] meelash: sorry, I see req.headers has the hostname, but not the auth - did a search for lakjsdflkjasld and didn't find it [23:27] loob2 has left the channel [23:28] tlynn has joined the channel [23:28] danzajdband: req.session [23:28] danzajdband: maybe the best option is to explore with console.log(req) [23:29] hackband has joined the channel [23:30] meelash: thanks @danzajdband , but I console.log'ed it and it doesn't have a session property [23:30] danzajdband: so you are not keeping a session variable [23:31] danzajdband: are you using a framework like axpressjs? [23:31] danzajdband: expressjs [23:32] ryanRT_ has joined the channel [23:32] meelash: nope, I'm just doing a simple little test [23:32] yaymukund: Cheery: definitely, especially with node. [23:32] meelash: just wrote a client-side script and a little server [23:32] yaymukund: Cheery: I feel like simplicity counts twice when it's async [23:33] danzajdband: cna you post your code? [23:33] yaymukund: meelash: can you post a gist? [23:33] yaymukund: jinx [23:34] seanstickle has joined the channel [23:34] danzajdband: please [23:35] boltR has joined the channel [23:35] alexrbarlow has joined the channel [23:35] meelash: yep, here's the relevant parts: https://gist.github.com/2176390 [23:36] meelash: sorry, that's not it on the client-side [23:36] yaymukund: session isn't available client-side, I don't think. [23:36] meelash: now it is: https://gist.github.com/2176390 [23:39] _numbers has left the channel [23:39] timoxley has joined the channel [23:40] markq: anyone using mongoose here? [23:40] mmalecki_ has joined the channel [23:41] larsschenk1 has joined the channel [23:42] larsschenk1 has left the channel [23:43] beeeviz has joined the channel [23:43] ferai has joined the channel [23:44] hipsters1apfight has joined the channel [23:44] Hanspolo_ has joined the channel [23:44] yaymukund: meelash: request.headers? [23:44] tomilain1 has joined the channel [23:44] tex has joined the channel [23:44] lambda_x_ has joined the channel [23:44] bentruyman_ has joined the channel [23:44] SargoDarya_ has joined the channel [23:45] c4milo has joined the channel [23:45] radiodar1o has joined the channel [23:45] meelash: @yaymukund nope, request.headers doesn't have the user:pass data [23:46] mmalecki_ has joined the channel [23:46] pyykkis_ has joined the channel [23:46] gr-eg has joined the channel [23:47] nicholas_ has joined the channel [23:49] mmalecki_ has joined the channel [23:49] meelash: ah, so if I set a header myself, I can get it back… cool [23:49] meelash: thanks for the help [23:50] robhawkes has joined the channel [23:51] mmalecki has joined the channel [23:51] mmalecki has joined the channel [23:51] achiu has joined the channel [23:51] yaymukund: meelash: sorry, I think headers has host, but yeah I'm not sure. [23:52] briancra_ has joined the channel [23:53] PsiliPharm has joined the channel [23:54] zackattack has joined the channel [23:55] ryancnelson has joined the channel [23:56] oal has joined the channel [23:58] alex_burke_ has joined the channel [23:58] Wa has joined the channel [23:59] daithi44 has joined the channel [23:59] synesp has joined the channel [23:59] Es0teric_ has joined the channel [23:59] synesp: I created a socket server to listen on a unix socket. how can I make sure the permissions are set properly on the file?