[00:00] isaacs: tarkus: or give node the full path to it [00:00] isaacs: tarkus: node doesn't know which file you're trying to open [00:00] Karmaon has joined the channel [00:00] tarkus: is this a right way to do it? seems hacky to me [00:00] isaacs: tarkus: or put r.js where your shell is [00:00] isaacs: tarkus: how would node know where to load r.js from? [00:00] JulioBarros has joined the channel [00:00] tarkus: maybe there is a way to add NPM's path to node's global path [00:00] isaacs: tarkus: not for the command line, no, there isn't [00:01] isaacs: tarkus: you have to cd to where the actual file is to run it [00:01] isaacs: tarkus: same as php, ruby, python, etc. [00:01] `3rdEden: When you do a .write with a string, is node converting that string to a Buffer instance? [00:01] r04r has joined the channel [00:01] bnoordhuis: `3rdEden: yes [00:02] tarkus: if i run just "r.js -v" it tries to load it from a correct location though.. from C:\Users\User\AppData\Roaming\npm\r.js (but without node) [00:02] jhbot: 'How to send files with node.js' by ajsie http://stackoverflow.com/q/9321027 (tags: express) [00:02] context: sell my d40 body for 350 sound good? [00:02] `3rdEden: So it doesn't matter anymore if I write a Buffer to a response or just a string [00:02] bnoordhuis: `3rdEden: the conversion is pretty slow [00:02] `3rdEden: Good to know :) [00:02] bnoordhuis: but if your data is a string to start with it won't matter [00:02] dunder-mifflin: can octets only be represented in 0xNN format or it's the same thing if i pass a number? this is re node.js' new Buffer(array-of-octets) [00:03] isaacs: tarkus: that's because that folder is in your PATH [00:03] `3rdEden: bnoordhuis iknow but when you write big chunks of data, 100kb+ You don't really want to have that in V8's heap [00:03] isaacs: tarkus: but node doesnt' look at the PATH to find command line arguments. [00:03] isaacs: tarkus: it just does path.resolve() on them [00:03] bnoordhuis: dunder-mifflin: you can do `new Buffer([32, 64, 255, 0])` [00:03] Bonuspunkt: tarkus you could make a module place in the package.js some entries at bin and install the module with -g [00:03] dunder-mifflin: bnoordhuis: cool.. thanks [00:04] tarkus: Bonuspunkt "r.js" module is installed globally via NPM.. [00:04] isaacs: tarkus: oh, r.js is a module, not a file. [00:04] isaacs: i get it [00:05] isaacs: tarkus: npm faq <-- run that and read the first few items. [00:05] tarkus: thanks [00:06] jhbot: 'How to load optional Node.js modules from within another module?' by Lance Pollard http://stackoverflow.com/q/9321061 (tags: module, require, commonjs) [00:06] isaacs: tarkus: if you want to require("r.js") in your own program, you have to `npm install r.js` locally [00:06] isaacs: tarkus: ie, not with -g [00:06] mikeric has joined the channel [00:07] tarkus: isaacs i just want to be able run "r.js" without specifying a full path to it, making my project portable.. "r.js" is a RequireJS module [00:07] isaacs: tarkus: yeah, then just type `r.js` [00:07] isaacs: tarkus: that should work, no? [00:07] isaacs: you don't have to type `node r.js` [00:08] r04r has joined the channel [00:08] tarkus: typing "r.js" produces Windows Script Host error: Invalid character on Line 1, Char 1, JScript compilation error [00:08] context: ./r.js [00:08] jdeibele has joined the channel [00:08] innociv has joined the channel [00:09] Wa has joined the channel [00:09] context: oh you are on windows. throw your hopes in the wind and hope it works [00:09] lohkey_ has joined the channel [00:10] joshgillies has joined the channel [00:10] Bonuspunkt: isaacs i think the problem is, there is no package.json file @ https://github.com/jrburke/r.js/ also its not on npm [00:10] isaacs: Bonuspunkt: well... that's clearly wrong. [00:11] isaacs: tarkus: yeah, you'll have to tell jrburke to get on the npm bandwagon. [00:11] isaacs: Everybody: test, please http://nodejs.org/dist/v0.6.11/node-v0.6.11-RC0.tar.gz [00:11] CIA-74: node: 03isaacs 07v0.6.11-release * r4be3e4b 10/ (8 files in 6 dirs): (log message trimmed) [00:11] CIA-74: node: 2012.02.17 Version 0.6.11 (stable) [00:11] CIA-74: node: * http: allow multiple WebSocket RFC6455 headers (Einar Otto Stangvik) [00:11] CIA-74: node: * http: allow multiple WWW-Authenticate headers (Ben Noordhuis) [00:11] CIA-74: node: * windows: support unicode argv and environment variables (Bert Belder) [00:11] CIA-74: node: * tls: mitigate session renegotiation attacks (Ben Noordhuis) [00:11] CIA-74: node: * tcp, pipe: don't assert on uv_accept() errors (Ben Noordhuis) [00:11] mcav has joined the channel [00:12] r04r has joined the channel [00:13] cpetzold: "node path/to/r.js main.js" definitely seems silly, should be a npm module with a binary like rnode or something [00:14] pancake has joined the channel [00:14] jskulski has joined the channel [00:14] tarkus: it seems like my "npm bin -g" path is not in PATH variable.. [00:14] pancake: hi, im trying to deflate a buffer compressed with 'gzip -' [00:14] pancake: node is listening on a socket and uncompressing the incoming connections [00:15] pancake: http://lolcathost.org/b/m [00:15] pancake: here's the source. gunzip() says that the data coming from echo foo | gzip - | nc 127.1 9999 is not gzipped [00:16] isaacs: tarkus: really, this would be SO much easier if requirejs just used npm [00:17] isaacs: tarkus: npm instal -g requirejs; requirejs main.js [00:17] isaacs: done [00:17] tarkus: isaacs yeah, it's installed globally [00:17] ashishg has joined the channel [00:17] joshgillies has joined the channel [00:17] tarkus: but node.js doesn't see it.. [00:17] pancake: oh.. Buffers cant be concatenated with += .. [00:18] ashishg has joined the channel [00:18] r04r has joined the channel [00:18] Stephen: pancake: That's because += isn't a concat, it's a copy [00:18] thinkt4nk has joined the channel [00:19] Stephen: It duplicates the objects in memory, then copies it over, rather than just appending the data to the recving variable [00:20] pancake: Stephen: how can i concatenate two buffers? [00:20] mschneider has joined the channel [00:20] cpetzold: hmm.. [00:20] cpetzold: isaacs: apparently there is a npm package: http://search.npmjs.org/#/requirejs [00:21] bnoordhuis: Stephen, pancake: it doesn't quite work that way, += converts the buffers to strings [00:21] cpetzold: must be .gitignore'ing the package.json [00:21] bnoordhuis: which doesn't end well if the buffers contain binary data [00:21] cpetzold: no binary though [00:22] pancake: bnoordhuis: yep.. thats the issue. but how can I concat two buffers (optimal way?) [00:22] Bonuspunkt: there is also https://github.com/jrburke/requirejs [00:22] mcav has joined the channel [00:22] overthemike has left the channel [00:22] bnoordhuis: pancake: npm install buffertools [00:22] bnoordhuis: pancake: i may be biased though [00:23] agnat_ has joined the channel [00:23] joshgillies has joined the channel [00:23] r04r has joined the channel [00:24] elijah-mbp has joined the channel [00:25] pancake: thanks [00:25] pancake: buf = buffertools.concat (buf, x); [00:25] lohkey has left the channel [00:26] al3xnull has joined the channel [00:26] davidbanham has joined the channel [00:26] wdbl: bnoordhuis: I hope they suck that module right into Node. [00:26] salva has left the channel [00:27] wdbl: good job [00:27] bnoordhuis: wdbl: thanks :) [00:27] jhbot: 'How does the following String replace work in JavaScript?' by Hoa http://stackoverflow.com/q/9321225 (tags: javascript) [00:27] raysdbar has joined the channel [00:27] dunder-mifflin: what will happen when http server is getting incoming requests much faster than what it can process? will it eventually chewing up memory and eventually hit a max limit? [00:28] r04r has joined the channel [00:28] r04r has joined the channel [00:28] tarkus: I have RequireJS installed globally.. (npm install -g requirejs) but after trying to run it "node r.js -v" it, node throws an exception: Error: Cannot find module 'C:\Windows\system32\r.js' [00:29] tarkus: Shoudn't it try to find this module in PATHs list on windows? [00:30] isaacs: tarkus: no, it should not. (scroll up) [00:30] meso_ has joined the channel [00:31] tarkus: why there is "node r.js -v" in RequireJS manual then.. [00:32] cpetzold: tarkus: it assumes you're in the same directory as r.js [00:32] tarkus: i want to include this command into my build script, but if a specify a path my project won't run on other computers.. [00:33] wingie: desperately trying to get how to send files in the correct way: http://stackoverflow.com/questions/9321027/how-to-send-files-with-node-js [00:33] cpetzold: and actually, it says "node path/to/r.js main.js" [00:33] r04r has joined the channel [00:33] bnoordhuis: dunder-mifflin: probably not. the garbage collector may have an increasingly difficult time but performance should mostly degrade linearly [00:33] cpetzold: "path/to/" refers to the absolute or relative path to r.js.. [00:33] joshsmith has joined the channel [00:34] tarkus: what for global npm installs are needed if node.js can't run them without specifying a path... [00:34] cburyta has joined the channel [00:34] cpetzold: require() within a node script will find them, but as isaacs pointed out, the node cli doesn't [00:34] isaacs: tarkus: they're for command line utilities. [00:34] dunder-mifflin: bnoordhuis: i was testing that scenario before, and it the default v8 max memory limit of 1Gb, is there a way to inspect what the memory are used for (profiling)? [00:35] isaacs: tarkus: however, it looks like requirejs is doing some weird stuff. [00:35] isaacs: tarkus: npm sets up a .cmd batch file for packages, and puts those in the PATH for global installs. [00:35] bnoordhuis: dunder-mifflin: there's node-profiler and node-inspector [00:35] isaacs: tarkus: but something about requirejs's is confusing windows. not sure why [00:35] bnoordhuis: dunder-mifflin: admittedly, node-profiler doesn't work with v0.6 due to a v8 bug [00:35] satyr has joined the channel [00:36] dunder-mifflin: bnoordhuis: out of memory wouldn't occur if i put interval between the requests .. so does it mean that there's a queue somewhere that got filled up? [00:36] cjheath has joined the channel [00:36] isaacs: tarkus: if you run `r.js.cmd` it works, apparently [00:36] isaacs: tarkus: i think it's just a matter of having a bin that's named "r.js" [00:36] isaacs: tarkus: windows thinks that you want to run it with WSH [00:36] tarkus: isaacs good point thanks [00:36] crutex has joined the channel [00:36] crutex has joined the channel [00:36] bnoordhuis: dunder-mifflin: that's possible [00:37] bnoordhuis: dunder-mifflin: it'd have to be an awful lot of requests though [00:37] isaacs: tarkus: np, sorry for the slow responses, i'm in the middle of building on a bunch of different vm's :) [00:37] crutex: hi friends, any recommendations on timing http requests (from httpclient)? [00:37] bnoordhuis: dunder-mifflin: i regularly test benchmark/http_simple.js with 20k concurrent clients [00:37] r04r has joined the channel [00:37] r04r has joined the channel [00:38] crutex: think it would be good enough to start a date on request.on 'socket' and an ending date on 'response'? [00:38] travisennis has joined the channel [00:39] c4milo has joined the channel [00:40] dunder-mifflin: bnoordhuis: yes.. my scenario was, 1) read input feed with about 3 million items, 2) for each item, send request to http server, 3) do it in sequence but asynchronously... so somewhere in between there must be lots of concurrent requests.. [00:40] catshirt has joined the channel [00:40] ritch- has left the channel [00:40] wdbl: I tried to socket before I got a response on a first date and I got slapped. [00:41] wdbl: (just ignore me please. it's time for my break.) [00:42] dunder-mifflin: bnoordhuis: is this pretty much a DDOS scenario? what's a good way to handle this? for now we put apache layer in front of node, which become a bottleneck in its own way [00:42] TXH350 has joined the channel [00:42] r04r has joined the channel [00:42] ajackbot has joined the channel [00:43] bnoordhuis: dunder-mifflin: how many concurrent requests/clients are we talking here? [00:43] dlg: node should handle concurrency better than apache [00:44] RobWC has joined the channel [00:44] RobWC has left the channel [00:44] joshkehn has joined the channel [00:45] dunder-mifflin: bnoordhuis: i didn't specifically fire it concurrently .. it's just fire and forget for 3 million items, and it failed before finishing the whole set.. on the next run, i'll try to measure how many requests concurrently running before it hit max memory.. [00:45] recur has joined the channel [00:46] tttthet has joined the channel [00:46] dunder-mifflin: bnoordhuis: my question will then become.. what's a good approach to handle such scenario? let's say i put node without any apache/etc in front of it... and then there's a DDOS attack.. it will be easy to cause the http server to crash because it hits the max memory limit [00:47] bnoordhuis: dunder-mifflin: if your app is doing a lot of processing it might be a good idea to have a baseline server script to compare with, e.g. a script that sends "ACK" and closes the connection [00:47] r04r has joined the channel [00:48] robinhoode has joined the channel [00:48] eignerchris has joined the channel [00:48] travisennis has joined the channel [00:48] bnoordhuis: dunder-mifflin: you would set up a cluster (either with the built-in or the npm cluster module) [00:48] tlab has joined the channel [00:49] jhbot: 'Node: Mysql client libraries on windows' by neb642 http://stackoverflow.com/q/9321418 (tags: mysql, windows) [00:50] donfrancisco has joined the channel [00:50] jxie has joined the channel [00:51] dgathright has joined the channel [00:52] r04r has joined the channel [00:52] xaq has joined the channel [00:52] jxie has joined the channel [00:54] dunder-mifflin: dunder-mifflin: my scenario was against an app that's already using cluster.. it will eventually hit a memory limit.. isn't it better to just reject the requests and say 'error: too many connections' ? (a configurable limit) [00:56] crutex has left the channel [00:56] enmand has joined the channel [00:57] jdeibele has joined the channel [00:57] r04r has joined the channel [00:57] r04r has joined the channel [00:57] bnoordhuis: dunder-mifflin: talking to yourself? :) [00:57] bnoordhuis: dunder-mifflin: yes, hard-limiting is always an option [00:58] Joey_ has joined the channel [00:59] dunder-mifflin: bnoordhuis: sorry, yep.. talking to myself in a public forum... bad habit :p [00:59] dunder-mifflin: bnoordhuis: is there already an option to configure this hard limit in node http api? or does it need to be an external module? [01:00] ashishg has joined the channel [01:00] bnoordhuis: dunder-mifflin: the http server has a .connections property, that's the number of open connections [01:01] dunder-mifflin: bnoordhuis: thanks.. i never noticed that [01:02] r04r has joined the channel [01:02] r04r has joined the channel [01:03] CIA-74: node: 03isaacs 07v0.6.11-release * rb6d02c0 10/ (8 files in 6 dirs): (log message trimmed) [01:03] CIA-74: node: 2012.02.17 Version 0.6.11 (stable) [01:03] CIA-74: node: * http: allow multiple WebSocket RFC6455 headers (Einar Otto Stangvik) [01:03] CIA-74: node: * http: allow multiple WWW-Authenticate headers (Ben Noordhuis) [01:03] CIA-74: node: * windows: support unicode argv and environment variables (Bert Belder) [01:03] CIA-74: node: * tls: mitigate session renegotiation attacks (Ben Noordhuis) [01:03] CIA-74: node: * tcp, pipe: don't assert on uv_accept() errors (Ben Noordhuis) [01:04] saurb has joined the channel [01:04] raincole has joined the channel [01:05] nerdfiles1 has joined the channel [01:05] mateodelnorte has joined the channel [01:06] nerdfiles1 has left the channel [01:07] r04r has joined the channel [01:11] chrisina1ar has joined the channel [01:11] chrisina1ar: how do you stop repl? [01:12] EhevuTov_: chrisinajar, '.exit' [01:12] chrisinajar has joined the channel [01:12] chrisinajar: EhevuTov_: thanks [01:12] forkloop has joined the channel [01:12] EhevuTov_: chrisinajar, you're welcome [01:12] r04r has joined the channel [01:12] r04r has joined the channel [01:12] isaacs: chrisinajar: or ^D [01:12] isaacs: chrisinajar: ctrl-D [01:13] themiddleman_itv has joined the channel [01:13] francisl has joined the channel [01:13] kickingvegas has joined the channel [01:14] francisl has left the channel [01:14] robhawkes has joined the channel [01:14] nibblebot has joined the channel [01:14] gregpascale has joined the channel [01:15] chrisinajar: isaacs: neither seem to work [01:15] EhevuTov: what version are you running of node? [01:15] xaq has joined the channel [01:15] astropirate has joined the channel [01:15] isaacs: chrisinajar: ^D ==> control-D [01:15] chrisinajar: source off of home page last night around 10 [01:16] chrisinajar: isaacs: i know, it's EOF, and it isn't working [01:16] chrisinajar: it just keeps running [01:16] isaacs: chrisinajar: node -v (or, if you're already in teh repl, process.version) [01:16] isaacs: chrisinajar: did you start a server or somethign? [01:16] isaacs: ^C a few times [01:16] forkloop has left the channel [01:16] isaacs: ^D will just kill the repl, not necessarily the entire node process. [01:16] chrisinajar: that works but i want to unload things [01:16] chrisinajar: so i want to wrap exiting [01:16] chrisinajar: so i need an api i can exit with [01:17] chrisinajar: v0.6.10 [01:17] chrisinajar: i think something else is keeping it open in the case of ctrl+d [01:17] teslan: is it my noobness or is require("url") documentation off ... it says that "href" is full URL, including domain, path, query, etc ... but request.url does not contain the host prefix ? [01:17] chrisinajar: by think i mean know because the repl stopped working :P [01:18] r04r has joined the channel [01:18] langworthy has joined the channel [01:18] EhevuTov: chrisinajar, are you possibly still in a block of code when you type in ctrl-D or .exit? [01:19] neoesque has joined the channel [01:19] paulwe has joined the channel [01:19] isao has joined the channel [01:19] chrisinajar: hah! found one [01:19] chrisinajar: process.exit() [01:19] mcav has joined the channel [01:19] chrisinajar: that works [01:19] chrisinajar: thanks! [01:20] chrisinajar: (guess and check ftw) [01:20] kickingvegas has left the channel [01:20] isaacs: teslan: request.url is just the thing that was requested by the client. [01:20] isaacs: teslan: that doesn't have to do with require("url") [01:20] isaacs: teslan: when you make an HTTP request, you don't typically pass in the full url to the host, just the path portion, then the host goes in a Host: header. [01:21] EhevuTov: chrisinajar, so, were you actually writing a program and using require('repl') ? [01:21] AaronMT has joined the channel [01:22] chrisinajar: EhevuTov: only once, i stored the result. is that incorrect? [01:22] teslan: isaacs: ok , i see, url module will do what its docs says but the fact that request.url starts with path is another issue ... correct? [01:22] EhevuTov: chrisinajar, I was thinking yo were using the actual REPL from the command line [01:23] chrisinajar: either way, what i needed was an api to kill it [01:23] EhevuTov: chrisinajar, so yes, process.exit() is how you would exit a node program in your .js file [01:23] isaacs: teslan: require("url").parse will parse whatever you give it. [01:23] r04r has joined the channel [01:23] isaacs: teslan: but it won't be able to get the host if it's not in the string you pass in. [01:23] isao1 has joined the channel [01:23] isaacs: teslan: require("url") is "just" a string-munging utility. it has no concept of http or servers or clients or headers or any of that monkey business. [01:24] isaacs: teslan: but require("url").parse("/some/path?some=query#and-a-hash") will tell you what you gave it [01:24] isaacs: it'l pull off the path, querystring, and hash [01:25] dwhittle has joined the channel [01:25] overthemike has joined the channel [01:27] EhevuTov: I work in an MS shop right. I demo'ed a prototype node app for my manager. He didn't say much. He sends me an email today about a completely unrelated topic, but attached a project specification for the demo app. I hope that's his way of giving me the go-ahead to write it. It'll be on my own time though. [01:28] r04r has joined the channel [01:28] subbyyy has joined the channel [01:30] dshaw_ has joined the channel [01:30] sorensen__ has joined the channel [01:30] ts___: am i missing something or there's no js linq library in the npm registry ? [01:32] ohtogo has joined the channel [01:32] k1ttty has joined the channel [01:32] sugyan: konobi: yes, i wrote. [01:33] konobi: sugyan: ah... not to worry... thought there was a stderr vs diag issue, but i tracked it down to a test script [01:33] r04r has joined the channel [01:35] bnoordhuis: EhevuTov: your own time? sounds like a bad deal [01:36] jiboumans_ has joined the channel [01:36] tommyvyo has joined the channel [01:36] EhevuTov: bnoordhuis, I haven't got a break yet when it comes to the managers I work for. That's the best I got at the moment. [01:38] r04r has joined the channel [01:38] r04r has joined the channel [01:39] EhevuTov: bnoordhuis, I'm sure I'll get a good idea one day and I can strike out on my own then [01:39] bnoordhuis: EhevuTov: what if you just say no? or "no, unless" [01:39] bnoordhuis: you shouldn't let yourself be pushed around [01:40] StanlySoManly has joined the channel [01:40] boccato has joined the channel [01:40] ovaillancourt has joined the channel [01:42] EhevuTov: bnoordhuis, well, since I'm doing it on my time and I'm currently hourly, I'm thinking I can bargain with them. I still own the source. I somewhat agree with you though. But, you can't talk wisdom to fools. [01:42] jnbek has joined the channel [01:42] jnbek has joined the channel [01:42] abraxas has joined the channel [01:42] bnoordhuis: EhevuTov: true... but you can beat sense into them! [01:43] r04r has joined the channel [01:43] dshaw_1 has joined the channel [01:43] EhevuTov: bnoordhuis, I'm a timid soul :-) I'm getting more ballzy though. There are a lot more opportunities in the big city. I'm meeting with a startup "CEO" next week for a potential part-time gig using node [01:44] bnoordhuis: EhevuTov: sounds good. where do you live? [01:44] ryanfitz_ has joined the channel [01:45] EhevuTov: bnoordhuis, Chicago. I use to live in relatively small town [01:45] bnoordhuis: EhevuTov: cool. hope the meeting works out [01:45] ditesh|cassini has joined the channel [01:46] mikeal has joined the channel [01:46] jnbek has joined the channel [01:47] EhevuTov: bnoordhuis, me too. Thanks for your work. [01:48] r04r has joined the channel [01:48] langworthy has joined the channel [01:49] kirbysayshi has joined the channel [01:50] Qbix1 has joined the channel [01:50] Qbix1: I am lurking here! [01:50] thinkt4nk has joined the channel [01:51] icewhite has joined the channel [01:51] dekub has joined the channel [01:52] pendlepants has joined the channel [01:53] dekub has left the channel [01:53] dekub has joined the channel [01:53] grampajoe has joined the channel [01:53] r04r has joined the channel [01:53] r04r has joined the channel [01:54] tommyvyo has joined the channel [01:57] riskish has joined the channel [01:57] shanebo has joined the channel [01:58] r04r has joined the channel [01:58] broofa has joined the channel [01:59] jhbot: 'How to use sugar.js in nodejs?' by jiyinyiyong http://stackoverflow.com/q/9321909 (tags: javascript) [02:00] mnowluck has joined the channel [02:00] kurtzhong has joined the channel [02:02] sven_oostenbrink has joined the channel [02:03] r04r has joined the channel [02:04] jetienne has joined the channel [02:04] mcoffee has joined the channel [02:04] satyr has joined the channel [02:04] AkhiAbdullah has joined the channel [02:05] AkhiAbdullah: lol someone name jesusabdullah XD [02:06] torvalamo: i'll have you know he's a very respected prophet around these parts [02:06] AkhiAbdullah: you mean he respect prophet or he claim prophethood ? [02:07] torvalamo: dunno [02:07] torvalamo: what do you believe? [02:07] AkhiAbdullah: i believe you dont know english very well. [02:07] AkhiAbdullah: :) [02:07] torvalamo: i do [02:08] pandark_ has joined the channel [02:08] AkhiAbdullah: anyway this is node.js channel lets speak node [02:10] AkhiAbdullah: i have a question and a very simple one.. Will and Will Server Side Javascript or Self made HTTP Servers will eventually obselete some of the most used HTTP Server like Apache or Lighttpd [02:10] r04r has joined the channel [02:10] k1ttty_ has joined the channel [02:11] torvalamo: and you're questioning MY english? [02:11] torvalamo: :/ [02:11] maxogden: AkhiAbdullah: there are a lot of performance barriers that need to be addressed and node is addressing a certain class of them [02:12] torvalamo: and the answer is no, the eventual use for node.js is not as http servers [02:12] maxogden: AkhiAbdullah: but there are certainly others that have yet to be fully optimized [02:12] mnowluck has left the channel [02:13] a_suenami has joined the channel [02:13] AkhiAbdullah: maxogden intersting, because i was thinking of switching my personal website which is only a simple very simple informational. no CMS required. Switching it to NodeJS seem interesting. [02:13] k1ttty has joined the channel [02:14] maxogden: AkhiAbdullah: if you need the solutions that node offers and you enjoy writing javascript then i would recommend sticking with node [02:16] dthompso99 has left the channel [02:16] AkhiAbdullah: maxogden thx [02:17] k1ttty has joined the channel [02:18] r04r has joined the channel [02:18] dthompso99 has joined the channel [02:18] gr4yscale has joined the channel [02:19] joshgillies has joined the channel [02:20] nhunzaker has joined the channel [02:21] mikeal has joined the channel [02:23] astropirate has joined the channel [02:25] r04r has joined the channel [02:25] r04r has joined the channel [02:25] copongcopong1 has joined the channel [02:27] asyncopation has joined the channel [02:27] CarterL has joined the channel [02:28] jerrysv has joined the channel [02:30] r04r has joined the channel [02:33] sarlalian1 has joined the channel [02:34] looopy has joined the channel [02:34] pradeebv has joined the channel [02:36] r04r has joined the channel [02:36] tricon_ has joined the channel [02:36] thinkt4nk has joined the channel [02:37] pradeebv_ has joined the channel [02:37] pendlepants has joined the channel [02:39] mcav has joined the channel [02:39] mandric has joined the channel [02:39] gavin_huang has joined the channel [02:41] hhutch has joined the channel [02:41] asyncopation has joined the channel [02:41] tommyvyo has joined the channel [02:43] r04r has joined the channel [02:43] jakehow has joined the channel [02:44] deeprogram has joined the channel [02:44] davemo has joined the channel [02:45] sdwrage has joined the channel [02:46] ovaillancourt has joined the channel [02:47] StanlySoManly has joined the channel [02:48] crutex has joined the channel [02:48] r04r has joined the channel [02:51] cburyta has joined the channel [02:52] sharkbird has joined the channel [02:53] r04r has joined the channel [02:54] jdeibele has joined the channel [02:54] kbhit has joined the channel [02:55] shancat has joined the channel [02:55] ryanfitz has joined the channel [02:58] wink_ has joined the channel [02:59] r04r has joined the channel [02:59] c0smikdebris has joined the channel [03:03] r04r has joined the channel [03:04] blubberbob has joined the channel [03:06] porco has joined the channel [03:07] langworthy has joined the channel [03:09] r04r has joined the channel [03:10] intripoon has joined the channel [03:13] codelahoma has joined the channel [03:13] djbell has joined the channel [03:14] r04r has joined the channel [03:14] criswell has joined the channel [03:14] codelahoma has left the channel [03:15] dodo has joined the channel [03:16] wssr has joined the channel [03:17] Skaag has joined the channel [03:17] phoenixz has joined the channel [03:17] phoenixz has joined the channel [03:19] r04r has joined the channel [03:19] r04r has joined the channel [03:20] diva has joined the channel [03:21] indexzero has joined the channel [03:22] wink__ has joined the channel [03:22] blueadept has joined the channel [03:23] crutex has joined the channel [03:23] crutex has joined the channel [03:23] nerdfiles1 has joined the channel [03:23] phoenixz has joined the channel [03:23] r04r has joined the channel [03:25] samsonjs_ has joined the channel [03:25] sven_oostenbrink has joined the channel [03:25] ryanfitz has joined the channel [03:28] nerdfiles1 has left the channel [03:29] r04r has joined the channel [03:29] warz has joined the channel [03:29] warz has joined the channel [03:30] ericmuyser has joined the channel [03:30] isaacs has joined the channel [03:31] marcello3d has joined the channel [03:31] retornam has joined the channel [03:33] gr4yscale has joined the channel [03:34] r04r has joined the channel [03:35] jhbot: 'Mongodb increased db.currentOp() issue' by Yadheendran http://stackoverflow.com/q/9322504 (tags: mongodb, sharding) [03:36] ryan_stevens has joined the channel [03:37] brianseeders has joined the channel [03:38] ryan1 has joined the channel [03:38] ryan1_ has joined the channel [03:38] ryan_stevens has left the channel [03:39] dinarcon has joined the channel [03:39] r04r has joined the channel [03:40] pendlepants has joined the channel [03:40] EhevuTov has joined the channel [03:41] copongcopong has joined the channel [03:43] RobWC has joined the channel [03:43] RobWC has left the channel [03:44] Joey_ has joined the channel [03:45] r04r has joined the channel [03:45] spion has joined the channel [03:48] niftylettuce has joined the channel [03:48] franciscallo has joined the channel [03:49] dilvie has joined the channel [03:49] r04r has joined the channel [03:50] domo1 has joined the channel [03:51] domo1: I'm checking if an IP address of a connecting client is allowed. If it is not, I'm calling socket.end on the client, but the client is still able to write right before the connect ends [03:51] domo1: I'm doing the check of the IP during the socket on "connect".. is this where I should be doing a check like this? [03:51] domo1: How else can I limit clients with disallowed Ips from connecting? [03:54] jhbot: 'Why can't I see the result on localhost when using Node.js?' by chaonextdoor http://stackoverflow.com/q/9322648 [03:55] r04r has joined the channel [03:55] travisennis has joined the channel [03:55] domo1: jhbot: http://127.0.01:1337/ work? [03:55] jhbot: TURING TEST SUCCESSFULLY COMPLETED! [03:55] samsonjs has joined the channel [03:55] domo1: LOL [03:55] domo1: LOL [03:56] domo1: hooker ass bot [03:56] domo1: jhbot: you will be ddosed [03:56] jhbot: TURING TEST SUCCESSFULLY COMPLETED! [03:56] domo1 has left the channel [03:56] Guest99123 has joined the channel [03:57] mcoffee has joined the channel [03:58] dodo has joined the channel [03:58] Joey___ has joined the channel [03:59] mcoffee_ has joined the channel [03:59] joshgillies has joined the channel [04:00] r04r has joined the channel [04:03] thinkt4nk has joined the channel [04:04] mcoffee has joined the channel [04:04] timoxley has joined the channel [04:07] tlrobinson_ has joined the channel [04:07] DoNaLd`_ has joined the channel [04:07] r04r has joined the channel [04:07] DrKoss has joined the channel [04:08] mcoffee_ has joined the channel [04:09] ggoodman has joined the channel [04:09] criswell has joined the channel [04:09] ggoodman: What sorts of performance penalty could I expect if I organize my app as a series of 'nested' express servers? [04:10] tornad has joined the channel [04:10] simoon has joined the channel [04:10] nibblebot has joined the channel [04:11] rwaldron has joined the channel [04:11] kOld has joined the channel [04:12] porco has joined the channel [04:13] FireFly has joined the channel [04:13] r04r has joined the channel [04:13] colinclark has joined the channel [04:14] satyr has joined the channel [04:14] mcav has joined the channel [04:14] joshgillies has joined the channel [04:17] airandfingers has joined the channel [04:18] r04r has joined the channel [04:18] jakehow has joined the channel [04:19] airandfingers: what is the typical way that i would run node in a production environment, i.e. for multiple sites on port 80, restarting if the server restarts? [04:19] langworthy_ has joined the channel [04:20] dlg: monkeys and keyboards [04:20] airandfingers: haha [04:20] airandfingers: i have some monkeys [04:20] airandfingers: but not enough [04:20] tkahn6_ has joined the channel [04:21] TooTallNate has joined the channel [04:22] jhbot: 'Variable scope using modules in nodejs' by masterof0 http://stackoverflow.com/q/9322841 (tags: javascript) [04:22] jaime has joined the channel [04:23] \mSg has joined the channel [04:23] r04r has joined the channel [04:23] r04r has joined the channel [04:24] jtsnow has joined the channel [04:26] harthur has joined the channel [04:28] airandfingers has joined the channel [04:28] dunder-mifflin has left the channel [04:28] r04r has joined the channel [04:28] r04r has joined the channel [04:29] copongcopong has left the channel [04:29] ashishg has joined the channel [04:30] markq has joined the channel [04:31] bbbb has joined the channel [04:31] shadowshell has joined the channel [04:33] jhbot: 'Node.JS session without cookies' by Mitchell Simoens http://stackoverflow.com/q/9322929 (tags: session, cookies, express, connect) [04:33] teslan: jhbot: being a Web 0.2 Fellow, i would like to know the same thing ... in fact, when it comes to node.js and its callback functions, do we not need to be extra careful not to be using variables defined outside of the callback function because some could be initialized with data that belongs to the previous request (likely for a totally different user) while some of the vars might contain common "cased" data ? [04:33] jhbot: TURING TEST SUCCESSFULLY COMPLETED! [04:34] r04r has joined the channel [04:35] isaacs: teslan: jhbot is not a person [04:35] isaacs: teslan: it's TheJH's bot [04:35] teslan: isaacs: ;) ok then you can answer :) [04:36] tuhoojabotti: :D [04:36] isaacs: TURING TEST SUCCESSFULLY COMPLETED! [04:36] teslan: ho man, i am half a sleeeep [04:36] isaacs: ACTION jk [04:36] tuhoojabotti: xD [04:36] tuhoojabotti: isaacs: that was a good one. [04:36] isaacs: nono, seriously, i've got you all fooled, though [04:36] isaacs: you totally think i'm a person [04:36] tuhoojabotti: Yes, you're so cleverbot [04:37] isaacs: teslan: the answer you're looking for is, yes, you must be careful about that. [04:37] nerdfiles has joined the channel [04:37] isaacs: teslan: since requests are in teh same memory space, it's possible to do some really interesting things, or have really interesting bugs. [04:37] teslan: isaacs: thanks and now go and tell that bot the same thing ;) [04:37] joshgillies has joined the channel [04:38] thepatr1ck has joined the channel [04:38] isaacs: but, really, if the dude's looking to keep a session without any kind of client-side state... i dunno. [04:38] isaacs: maybe socket.io and then put something in localstorage? [04:38] isaacs: cookies are probably the way to go there, though, honestly. [04:38] isaacs: that's what they're for [04:38] xaq has joined the channel [04:38] r04r has joined the channel [04:38] r04r has joined the channel [04:39] torvalamo: cookies... mmmmmm [04:39] tuhoojabotti: om nom nom [04:39] orlandovftw has joined the channel [04:39] pilgo has joined the channel [04:39] kmiyashiro has joined the channel [04:40] pilgo: I'm always struggling with jade syntax. Is there a _good_ guide? [04:40] pizthewiz has joined the channel [04:40] tuhoojabotti: Use mustache [04:40] teslan: first time on irc on #drupal a couple of years back, i spoke to the bot for hal hour, got pissed off at it and started being nasty to it , before i realized that it was not a human ... i remember writing things like .... "man, you playing with me " ... lol [04:40] pilgo: How do I access something that I passed into the view in view's javascript? [04:41] tuhoojabotti: teslan: I remember when I tried to join #CSharp (or something like that) and they had +b *bot* :( [04:41] torvalamo: catb0t, you're a bot, aren't you? [04:41] EhevuTov: pilgo, you don't pass your javascript from the static? [04:41] catb0t: you're printing it so why do you think any of the companies using asn't thinking about aren't [04:41] torvalamo: catb0t, will do [04:41] catb0t: will private msg u if ok it's just a caching thing, try inserting SQL_NO_CACHE after SELECT do [04:41] ggoodman: lol [04:42] pilgo: EhevuTov: No, I have some client size JS on the jade file [04:42] torvalamo: catb0t is like a noob php programmer, just throwing out things he's heard of and pretending to be good [04:42] catb0t: pretending to be the other good other 'good' re any programmer [04:43] torvalamo: catb0t, you're not cool though [04:43] catb0t: you're trying to solve the c10k premise of the article guys has elected chef as good as their problems are multitudinous [04:43] EhevuTov: catb0t, should I use php or node [04:43] catb0t: should I be passing to the server, so ill implement them soon node [04:44] r04r has joined the channel [04:44] torvalamo: oh dont ask him for advice [04:44] torvalamo: you'll die or something [04:44] mansoor-s: catb0t: what is the meaning of life [04:44] catb0t: meaning by using language that normally signifies the opposite, typically for humorous or emphatic what [04:44] tuhoojabotti: :D [04:44] looopy has joined the channel [04:44] mansoor-s: deep bro... [04:44] torvalamo: catb0t, WAT [04:44] catb0t: WAT WHEN DID YOU sneak that [04:44] dennisjbell has joined the channel [04:45] EhevuTov: catbot [] + [] [04:45] torvalamo: wrong nick [04:45] ggoodman: isaacs, any opinion on organizing an express/connect app as a series of nested servers? (different mittleware for different paths) [04:45] EhevuTov: catb0t, [] + [] [04:45] catb0t: [04:45] torvalamo: .. [] + [] [04:45] catb0t: "" [04:46] EhevuTov: catb0t, "" + [] [04:46] catb0t: [04:46] torvalamo: .. {} + {} [04:46] catb0t: NaN [04:46] tuhoojabotti: It works in query too guys. [04:47] bulatshakirzyano has joined the channel [04:47] maletor has joined the channel [04:47] EhevuTov: tuhoojabotti, what do you mean [04:47] torvalamo: i could play with catb0t all day, but i must press on with my work! [04:47] catb0t: could i do [04:47] torvalamo: no you cannot, catb0t [04:47] catb0t: cannot find any other way than ELB to distribute the amalgamation under you [04:47] tuhoojabotti: EhevuTov: /query catb0t [04:47] catb0t: EhevuTov , but when use the express framework tests too, simulating user interactions with your site look good by comparison to the way modules are installed by npm don't have a good heatmap generotr query [04:48] r04r has joined the channel [04:48] devaholic has joined the channel [04:49] warz: .. {} [04:49] catb0t: [04:49] warz: .. Array(16).join("wat" - 1) [04:49] catb0t: "NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN" [04:50] rwaldron has joined the channel [04:50] airandfingers: so it sounds like to run Node on port 80, i've gotta disable apache [04:50] fizx has joined the channel [04:50] torvalamo: you think? [04:51] airandfingers: should i do update-rc.d -f apache2 remove and reboot? [04:51] pilgo: tuhoojabotti: Why should I use Moustache? [04:51] pilgo: I'm just trying to pass a value to my jade view and then retrieve it in the client-side JS [04:51] tuhoojabotti: pilgo: Because you're struggling with jade syntax? [04:51] EhevuTov: airandfingers, that is normal for any program that binds a port [04:51] mcav has joined the channel [04:51] airandfingers: right, so i'm asking what's the proper way to disable apache [04:52] Planet_EN: airandfingers: ofcourse [04:52] torvalamo: you can just kill it [04:52] EhevuTov: apachectl stop or something if you don't know the rc.d [04:52] subbyyy has joined the channel [04:52] airandfingers: okay, thanks [04:52] Draggor: airandfingers: don't want to do a reverse proxy to your node app? [04:52] Planet_EN: airandfingers: I wouldn't run anything on 80 unless its ready for release [04:52] airandfingers: not really, i want to use node to host everything [04:52] timoxley: tuhoojabotti moustache < handlebars [04:52] torvalamo: you gotta kill it to show it who's boss [04:52] Draggor: airandfingers: what distro? [04:52] tommyvyo has joined the channel [04:53] airandfingers: yeah? hm.. debian, Draggor [04:53] EhevuTov: airandfingers, yeah, just change your node program to use port 8000 or something [04:53] Draggor: airandfingers: sudo /etc/init.d/apache2 stop [04:53] airandfingers: i can do that, but i have some existing plain-HTML sites i wan to host with node instead of apache [04:53] airandfingers: just do have everything in one place.. and i don't want the URL to change to :8000 [04:53] r04r has joined the channel [04:53] Draggor: airandfingers: a reverse proxy will preserve the url [04:53] EhevuTov: airandfingers, that's what you'll have to do then [04:54] carlyle has joined the channel [04:54] tuhoojabotti: timoxley: Hogan.js ftw [04:54] airandfingers: that's true, Draggor.. hm that might be preferable to hosting on 80 [04:54] airandfingers: with node [04:54] mephux has joined the channel [04:54] airandfingers: i heard nginx was a good reverse proxy server [04:55] Draggor: I haven't used nginx yet, apache was kind of annoying to set up, but it works [04:55] EhevuTov: airandfingers, people use nginx more than apache for that [04:55] tuhoojabotti: but anyways [04:55] tuhoojabotti: bye bye [04:55] Draggor: And I don't think I ever got apache working with websockets [04:55] timoxley: tuhoojabotti ~= [04:55] EhevuTov: Draggor, I don't think you will [04:56] Draggor: EhevuTov: It's been a while since I attempted, I thought there was some kind of module out there [04:56] airandfingers: got it [04:56] Draggor: My brain could also be stupid [04:56] EhevuTov: Draggor, me too. I think you're right [04:56] airandfingers: nginx might be preferable then - i plan to use websockets [04:56] Draggor: googling gave me this: https://github.com/disconnect/apache-websocket [04:56] EhevuTov: well, do your research first. both servers have been fiddling with websockets [04:56] pilgo: I'm not getting fb_id in this jade view: http://dpaste.com/704260/ even though I'm passing it as such: res.render 'authenticated.jade', {fb_id: req.session.auth.facebook.id} [04:56] airandfingers: is a reverse proxy server a better long-term solution than hosting public apps with node on port 80? [04:57] airandfingers: hm okay, i'll look into reverse proxy servers [04:57] EhevuTov: airandfingers, I think there's an apache module for web sockets, but maybe not for reverse proxy [04:57] porco has joined the channel [04:57] Draggor: airandfingers: it's more about being flexible for using non node things. [04:57] Planet_EN: is it better to use nginx for forwarding and routing from a performance perspective? [04:57] Draggor: reverse proxy is built in to apache [04:57] Draggor: I can dig up a config, I haven't enabled it in a while [04:58] airandfingers: hm, so maybe not something i need now, since i'm not intent on using apache for some things [04:58] airandfingers: but in the future, a logical step to take if i want to host with both node and some other server [04:58] feelin_good has joined the channel [04:58] r04r has joined the channel [04:58] airandfingers: okay, so from http://www.debuntu.org/how-to-manage-services-with-update-rc.d i get.. "sudo /etc/init.d/apache2 stop" then "update-rc.d -f apache2 remove" then "update-rc.d apache2 stop 80 0 1 2 3 4 5 6 ." [04:59] airandfingers: (sudo on those others too) [04:59] EhevuTov: that's a lot [05:00] airandfingers: last command might be overkill? [05:00] airandfingers: it's a VPS from dreamhost so i didn't want apache coming back if they decide to upgrade my server [05:01] meso has joined the channel [05:01] airandfingers: anyway, thanks for all your help [05:03] willwhite has joined the channel [05:03] r04r has joined the channel [05:03] r04r has joined the channel [05:05] nathanieldavid has joined the channel [05:05] timoxley: pilgo what is this syntax: "#{fb_id}" [05:06] timoxley: pilgo oh, that's your backend template [05:06] timoxley: gotcha [05:07] airandfingers: hmmm no apache2 in /etc/init.d [05:08] pilgo: timoxley: yeah :) [05:08] timoxley: pilgo can you access it outside of the script? eg just print it in a h1 or something? + are you sure it's definitely valid on the other end [05:08] timoxley: pilgo plus, are you getting undefined, null or ?? [05:09] r04r has joined the channel [05:10] pilgo: timoxley: It just gets removed totally when rendered [05:10] pilgo: timoxley: Let me print it though [05:11] timoxley: pilgo just trying to isolate where the problem is by reducing the number of moving parts. [05:12] lohkey has joined the channel [05:13] esundahl has joined the channel [05:13] crutex has joined the channel [05:14] ryan1 has joined the channel [05:14] r04r has joined the channel [05:14] r04r has joined the channel [05:15] overthemike has joined the channel [05:16] mikeal has joined the channel [05:16] wssr has joined the channel [05:17] carlyle has joined the channel [05:17] lamby0102 has joined the channel [05:18] pilgo: timoxley: Thanks! It was bad data being passed in. [05:18] timoxley: pilgo np [05:19] mcav has joined the channel [05:19] r04r has joined the channel [05:19] cjheath has joined the channel [05:20] huggies has joined the channel [05:21] pixel4 has joined the channel [05:24] r04r has joined the channel [05:24] dtrejo has joined the channel [05:26] nerdfiles has left the channel [05:29] TheDood has joined the channel [05:29] chrisinajar: node: ../src/node_http_parser.cc:424: static v8::Handle node::Parser::Execute(const v8::Arguments&): Assertion `!current_buffer' failed. [05:29] r04r has joined the channel [05:30] TheDood: I'm looking for a Sr. JS Engineer for a Silicon Valley company to 140k. Details here: http://wp.me/pTfw1-cn - Thanks [05:32] jhbot: 'Running dedicated servers' by wayne http://stackoverflow.com/q/9323379 (tags: linux, nginx) [05:34] r04r has joined the channel [05:36] airandfingers: hmm now i have node running on port 80, and i want to direct requests to different static directories depending on the request [05:36] airandfingers: i'm using express, and i don't see a way to combine routing logic and static directories.. [05:37] _Brun0_ has joined the channel [05:39] r04r has joined the channel [05:40] confoocious has joined the channel [05:40] confoocious has joined the channel [05:40] TheDood: I'm looking for a Sr. JS Engineer for a Silicon Valley company to 140k. Details here: http://wp.me/pTfw1-cn - Thanks [05:40] maxogden: TheDood: you just said that [05:40] TheDood: well it was a good 5 mins ago [05:40] saurb has joined the channel [05:40] TheDood: no one is saying anything so i figured i'd repeat myself [05:41] jhbot: 'How node.js can help in WEBOS or HTML5 development' by Abhishek Choudhary http://stackoverflow.com/q/9323461 [05:42] TheDood has joined the channel [05:42] bobbyinfj has joined the channel [05:42] jerrysv has joined the channel [05:42] dunder-mifflin has joined the channel [05:42] maxogden: TheDood: you just said that [05:43] mansoor-s: I see what you did there [05:44] r04r has joined the channel [05:44] wink_ has joined the channel [05:48] Geeknux has joined the channel [05:48] dshaw_ has joined the channel [05:48] r04r has joined the channel [05:50] isao has joined the channel [05:53] r04r has joined the channel [05:54] gr4yscale has joined the channel [05:54] tkahn6_ has joined the channel [05:56] mraleph has joined the channel [05:56] bindr has joined the channel [05:56] chirag has joined the channel [05:58] r04r has joined the channel [06:00] jesusabdullah: hey, any mongodb users here? [06:00] _th_n has joined the channel [06:00] jesusabdullah: throw yo' hands in the ayurr if you're here [06:01] maxogden: ACTION puts hands in pocket [06:01] jesusabdullah: nobody? Dang [06:01] maxogden: jesusabdullah: havent you heard? everyone switched to breakfastdb [06:02] jesusabdullah: awww dude [06:02] jesusabdullah: Do the views come with syrup? [06:02] maxogden: you write them using breakfastscript which supports the muffin templating syntax [06:02] maxogden: [) [06:03] jesusabdullah: also seriously I want to know if anyone has heard of https://github.com/guileen/node-mongoskin and knows if it's any good [06:03] jesusabdullah: maxogden: nice [06:03] pyrotechnick has joined the channel [06:03] maxogden: [user*name) [06:03] pyrotechnick: SubStack: why no dnode-python :( [06:04] r04r has joined the channel [06:04] r04r has joined the channel [06:04] themiddleman_itv has joined the channel [06:04] akiva_ has joined the channel [06:04] jesusabdullah: pyrotechnick: because it's hard alrite [06:05] pyrotechnick: hey man [06:05] jesusabdullah: pyrotechnick: https://github.com/jesusabdullah/dnode-python write some tests [06:05] pyrotechnick: mmm [06:05] jesusabdullah: pyrotechnick: hook it up to twisted or something [06:05] Karmaon has joined the channel [06:05] jesusabdullah: pyrotechnick: implement sessions [06:05] maxogden: greenlets bro [06:05] jesusabdullah: either way [06:05] jesusabdullah: I haven't looked at the code in a long time but I think I was about half-way there? [06:05] jesusabdullah: Hard to tell, but yeah! [06:06] SamuraiJack has joined the channel [06:06] jesusabdullah: pyrotechnick: I tend to comment pretty well, and there's some CRAZY shit in there iirc [06:07] pyrotechnick: i just want to visualise some stuff in blender i was going to proxy through node but i might just hit python straight from websocket [06:07] maletor: How do I read a remote file line by line? [06:08] dunder-mifflin: lol.. i actually googled 'breakfastdb' [06:08] mansoor-s: maletor: what do you mean remote file? [06:08] mansoor-s: is a server feeding it to you over the network? [06:08] maletor: mansoor-s: It's gonig to be a .patch file. [06:08] dunder-mifflin has left the channel [06:08] pizthewiz has joined the channel [06:09] maletor: Yeah, I'd like to parse a .patch file from GitHub on my node server [06:09] maletor: Line by line [06:09] mansoor-s: Have you tried reading it and parsing with \n ? [06:09] pyrotechnick: use request [06:09] pyrotechnick: npm i request [06:09] r04r has joined the channel [06:09] r04r has joined the channel [06:09] pyrotechnick: then split it in '\n' [06:11] zomgbie has joined the channel [06:11] jiboumans_ has joined the channel [06:11] pyrotechnick: request('http://www.google.com', function (error, response, body) { console.log(body.split('\n')) }); [06:13] satyr has joined the channel [06:14] dilvie has joined the channel [06:14] r04r has joined the channel [06:16] tornad has joined the channel [06:18] yuwang_laptop has joined the channel [06:18] dinarcon has joined the channel [06:19] r04r has joined the channel [06:20] yuwang_laptop has joined the channel [06:22] overthemike has joined the channel [06:23] Planet_EN has left the channel [06:23] ryantm has joined the channel [06:24] margle has joined the channel [06:24] r04r has joined the channel [06:24] kejun has joined the channel [06:25] margle_ has joined the channel [06:26] stagas has joined the channel [06:29] jdeibele has joined the channel [06:29] r04r has joined the channel [06:30] Broolucks has joined the channel [06:32] mattgifford has joined the channel [06:34] r04r has joined the channel [06:34] dshaw_ has joined the channel [06:34] Karmaon has joined the channel [06:35] olegp has joined the channel [06:38] r04r has joined the channel [06:38] r04r has joined the channel [06:40] AphelionZ has joined the channel [06:41] mcav has joined the channel [06:41] eventualbuddha has joined the channel [06:41] iangreenleaf has joined the channel [06:43] r04r has joined the channel [06:44] stagas has joined the channel [06:45] joshgillies has joined the channel [06:46] anoop has joined the channel [06:46] josh-k has joined the channel [06:47] sh1mmer has joined the channel [06:48] r04r has joined the channel [06:48] r04r has joined the channel [06:52] satyr has joined the channel [06:52] replore has joined the channel [06:52] replore_ has joined the channel [06:53] r04r has joined the channel [06:53] r04r has joined the channel [06:56] msteinert has joined the channel [06:56] pid1 has joined the channel [06:57] copongcopong has joined the channel [06:58] Tatort79 has joined the channel [06:58] tylerstalder has joined the channel [06:58] r04r has joined the channel [06:58] r04r has joined the channel [07:01] RobWC has joined the channel [07:01] RobWC has left the channel [07:02] dilvie has joined the channel [07:03] crutex has joined the channel [07:03] crutex has joined the channel [07:03] r04r has joined the channel [07:04] simenbrekken has joined the channel [07:04] cconstantine has joined the channel [07:04] morlokSquarejigg has joined the channel [07:04] jetienne has joined the channel [07:04] morlokSquarejigg: how come nodejs server can be serving many thousands per second, but making requests with the http is so sloooww [07:05] morlokSquarejigg: httpclient* [07:05] mansoor-s: morlokSquarejigg: are you making thousands of requests per second? [07:05] morlokSquarejigg: trying to mansoor-s [07:06] morlokSquarejigg: can't get more than about 50 / second [07:06] mansoor-s: really? [07:06] morlokSquarejigg: yeah [07:06] mansoor-s: is there a CPU spike? memory spike? [07:07] morlokSquarejigg: cpu goes about 17% [07:07] khrome has joined the channel [07:07] level09 has joined the channel [07:08] mcoffee_ has joined the channel [07:08] morlokSquarejigg: its looking essentially like this in a loop cli = http.createClient port, hostname [07:08] morlokSquarejigg: request = cli.request method, path, {hostname: hostname, agent:false} [07:08] c0smikdebris has joined the channel [07:08] r04r has joined the channel [07:09] mikeal has joined the channel [07:09] morlokSquarejigg: its requesting to about 400 different serve [07:09] notmatt has joined the channel [07:10] jetienne: morlokSquarejigg: cache the dns [07:10] jetienne: or use ip address [07:10] chjj has joined the channel [07:10] morlokSquarejigg: eh? should be in my cache the first time no? [07:10] morlokSquarejigg: 2nd time* :) [07:10] morlokSquarejigg: why would caching the dns help [07:10] morlokSquarejigg: its 400 different servers [07:10] jetienne: use ip address [07:11] mansoor-s: dns shouldnt make THAT big a difference [07:11] mansoor-s: the system should cache dns [07:11] mansoor-s: unless i'm wrong... [07:11] jetienne: a lot of should :) [07:11] morlokSquarejigg: ^ [07:12] mansoor-s: well the first *should* has an ambiguous meaning.. :p so that one doesn't count [07:12] lem0nbyte has joined the channel [07:13] r04r has joined the channel [07:13] marvin_ has joined the channel [07:13] jetienne: ACTION got the feeling morlokSquarejigg wont try ip addresses :) [07:13] kurtzhong has joined the channel [07:14] morlokSquarejigg: it's true [07:17] tdegrunt has joined the channel [07:17] dantalizing has joined the channel [07:17] dantalizing has joined the channel [07:17] ryanfitz has joined the channel [07:18] djbell has joined the channel [07:18] morlokSquarejigg: hey jetienne i may due that tomorrow [07:18] morlokSquarejigg: http://osdir.com/ml/NodeJS/2011-11/msg00823.html [07:18] r04r has joined the channel [07:18] morlokSquarejigg: "- we were having problems with node making a dns lookup on every request. " [07:18] jetienne: notice the date [07:19] morlokSquarejigg: what about it [07:19] jetienne: 2011 and 11 [07:20] morlokSquarejigg: yes? [07:20] jetienne: it is old [07:20] morlokSquarejigg: 3 months ago? [07:20] morlokSquarejigg: with no claim that it's fixed? xD [07:21] jetienne: if you try ip address, this is a single string replacement in your source [07:21] morlokSquarejigg: what do yo umean [07:21] jetienne: s/example.com/127.0.0.1/ [07:21] morlokSquarejigg: ah well [07:21] jetienne: replace the string to get an ip address [07:22] jetienne: you will gain a lot of time [07:22] morlokSquarejigg: i'm not sure sure testing vs a local host makes for a real example [07:22] jetienne: dev time i mean :) [07:22] jetienne: morlokSquarejigg: currently you got a clear possibility, with a good solution [07:22] jetienne: it is only about how long for you to try it [07:23] r04r has joined the channel [07:23] tornad has joined the channel [07:24] xaq has joined the channel [07:24] trupheenix has joined the channel [07:26] dreamdust has joined the channel [07:27] sectionme has joined the channel [07:28] morlokSquarejigg: fine [07:28] morlokSquarejigg: :P [07:28] robotmay has joined the channel [07:28] r04r has joined the channel [07:30] morlokSquarejigg: well [07:31] Chel has joined the channel [07:32] bulatshakirzyano has joined the channel [07:33] r04r has joined the channel [07:35] tom-tomaso has joined the channel [07:37] ryan0x2 has joined the channel [07:38] r04r has joined the channel [07:38] r04r has joined the channel [07:40] stagas has joined the channel [07:41] mikeal has joined the channel [07:42] ericmuyser has joined the channel [07:43] r04r has joined the channel [07:43] rendar has joined the channel [07:44] tilgovi has joined the channel [07:44] pvankouteren has joined the channel [07:47] spolu has joined the channel [07:48] r04r has joined the channel [07:48] r04r has joined the channel [07:48] idefine has joined the channel [07:49] hipsterslapfight has joined the channel [07:49] groom has joined the channel [07:54] r04r has joined the channel [07:55] wink__ has joined the channel [07:56] Morkel has joined the channel [07:56] stagas has joined the channel [07:56] wssr has left the channel [07:58] lohkey has joined the channel [07:59] simenbrekken has joined the channel [07:59] break57382 has joined the channel [08:00] `3rdEden has joined the channel [08:00] r04r has joined the channel [08:01] aliem has joined the channel [08:02] kulor-uk has joined the channel [08:03] ericmuyser has joined the channel [08:03] gagarine has joined the channel [08:05] ccare has joined the channel [08:05] thalll has joined the channel [08:05] groom has joined the channel [08:06] dve has joined the channel [08:06] r04r has joined the channel [08:08] replore has joined the channel [08:08] jhbot: 'Heroku + Facebook + NodeJS: cannot find module 'OAuth'' by ejang http://stackoverflow.com/q/9324817 (tags: facebook, heroku, oauth-2.0) [08:08] replore_ has joined the channel [08:09] groom has joined the channel [08:09] neoesque has joined the channel [08:10] replore has joined the channel [08:11] r04r has joined the channel [08:11] r04r has joined the channel [08:12] cconstantine has joined the channel [08:14] unary has joined the channel [08:15] replore_ has joined the channel [08:16] r04r has joined the channel [08:16] r04r has joined the channel [08:17] harthur has joined the channel [08:17] groom has joined the channel [08:18] jomoho has joined the channel [08:18] tylerstalder has joined the channel [08:21] AvianFlu has joined the channel [08:22] r04r has joined the channel [08:23] jhbot: 'Is there another way to start processes than the methods in child_process?' by Fair Dinkum Thinkum http://stackoverflow.com/q/9324981 (tags: javascript, process) [08:25] tdegrunt has joined the channel [08:25] ccare has joined the channel [08:27] r04r has joined the channel [08:28] neoesque has joined the channel [08:29] claudio has joined the channel [08:31] [AD]Turbo has joined the channel [08:31] bradleyg has joined the channel [08:32] hackband has joined the channel [08:32] tonist has joined the channel [08:32] dubenstein has joined the channel [08:33] r04r has joined the channel [08:33] jjd has joined the channel [08:33] paris-- has joined the channel [08:33] Qbix1 has joined the channel [08:33] meso has joined the channel [08:34] jjd has joined the channel [08:35] salva has joined the channel [08:35] paris--: is there a way to prevent child processes started with any method from child_process from being killed when the parent process is stopped by Ctrl-C (or other ways)? [08:35] Druid_ has joined the channel [08:36] djcoin has joined the channel [08:36] booyaa|hs has joined the channel [08:36] [AD]Turbo: hi there [08:36] AD7six has joined the channel [08:37] chjj has joined the channel [08:37] gf3: paris--: fork should do it [08:37] dubenste2n has joined the channel [08:37] dubenste1n has joined the channel [08:37] r04r has joined the channel [08:38] paris--: gf3: you mean child_process.fork? well for me it does not. when I press Ctrl-C in the parent process all child processes are killed too. [08:39] c4milo has joined the channel [08:40] paris--: gf3: I guess that's intended. Though in my use case I have to keep them running even if the parent process quits. [08:40] pizthewiz has joined the channel [08:41] felixhummel has joined the channel [08:42] AnthonyCat has joined the channel [08:42] meso has joined the channel [08:42] porco has joined the channel [08:43] r04r has joined the channel [08:43] r04r has joined the channel [08:43] 50UAAGTZK has joined the channel [08:43] dubenste1n has joined the channel [08:44] johnhamelink has joined the channel [08:46] pors has joined the channel [08:47] mcoffee has joined the channel [08:48] r04r has joined the channel [08:49] mikeal has joined the channel [08:49] innociv has joined the channel [08:51] uchuff has joined the channel [08:52] jetienne has joined the channel [08:52] satyr has joined the channel [08:53] slaskis has joined the channel [08:53] stonebranch has joined the channel [08:53] hgg has joined the channel [08:53] Johnsknees has joined the channel [08:54] r04r has joined the channel [08:55] pleaz has joined the channel [08:57] porco has joined the channel [08:58] trupheenix has joined the channel [08:58] kurtzhong has joined the channel [08:59] r04r has joined the channel [08:59] nerdfiles1 has joined the channel [09:01] replore has joined the channel [09:01] replore_ has joined the channel [09:03] tonist has joined the channel [09:04] r04r has joined the channel [09:04] wink_ has joined the channel [09:05] pleaz: hello, i install node with checkinstall and node -v i get -bash: /usr/bin/node: No such file or directory [09:05] tvw has joined the channel [09:06] PhilK has joined the channel [09:08] dpino has joined the channel [09:09] hipsterslapfight has joined the channel [09:10] r04r has joined the channel [09:10] r04r has joined the channel [09:11] nerdy_ has joined the channel [09:12] Gekz has joined the channel [09:12] Gekz has joined the channel [09:12] vguerra has joined the channel [09:13] dubenste1n has joined the channel [09:13] hhutch has joined the channel [09:13] Skola has joined the channel [09:15] r04r has joined the channel [09:17] TomY has joined the channel [09:17] robotmay has joined the channel [09:17] wink_ has joined the channel [09:17] hz has joined the channel [09:18] dubenste2n has joined the channel [09:19] dubenste1n has joined the channel [09:19] manuj has joined the channel [09:20] appr: new wave of tiny black long-head visitors on indutny's homepage [09:20] r04r has joined the channel [09:20] kejun has joined the channel [09:21] kwmiebach has joined the channel [09:23] piscisaureus_ has joined the channel [09:25] dobber has joined the channel [09:25] wink__ has joined the channel [09:25] r04r has joined the channel [09:25] r04r has joined the channel [09:26] cloned has joined the channel [09:26] boltR has joined the channel [09:27] lperrin has joined the channel [09:28] sauerbraten has joined the channel [09:28] herbySk has joined the channel [09:29] dscape: pleaz: well node isnt in ur path [09:29] dscape: or not installe [09:29] dscape: d [09:30] wink_ has joined the channel [09:30] orkz_ has joined the channel [09:31] r04r has joined the channel [09:32] d0k has joined the channel [09:32] ajackbot has joined the channel [09:32] janekp has joined the channel [09:33] misza222 has joined the channel [09:33] jer0me has joined the channel [09:33] Vespakoen has joined the channel [09:35] wink__ has joined the channel [09:35] industrial: Is there a 'leading' MySQL package for NodeJS? [09:35] industrial: nodejs-mysql-native ? [09:36] lohkey has joined the channel [09:36] jimmysparkle has joined the channel [09:37] r04r has joined the channel [09:37] r04r has joined the channel [09:38] dve has joined the channel [09:39] stayarrr has joined the channel [09:40] wink_ has joined the channel [09:41] kurtzhong has joined the channel [09:41] akiva_ has joined the channel [09:41] tdegrunt has joined the channel [09:41] pizthewiz has joined the channel [09:41] lohkey has left the channel [09:42] r04r has joined the channel [09:42] shedinja has joined the channel [09:43] d0k has joined the channel [09:44] dubenstein has joined the channel [09:44] bradleyg has joined the channel [09:46] hemanth: is good to have var config = {} and then module.export = config; for configuration or is there any other std/better way? [09:46] cjm has joined the channel [09:46] lzskiss has joined the channel [09:47] ph^ has joined the channel [09:47] r04r has joined the channel [09:47] r04r has joined the channel [09:48] gavin_huang has joined the channel [09:49] artusrocha has joined the channel [09:50] wink_ has joined the channel [09:50] tomasztomczyk has joined the channel [09:50] kingnebula: hemanth: Thats the way I'm doing it [09:51] kingnebula: That means no its the best way :D [09:51] hemanth: kingnebula, heh heh [09:51] ts___: am i missing something or there's no js linq library in the npm registry ? [09:52] kulor-uk has joined the channel [09:52] r04r has joined the channel [09:52] r04r has joined the channel [09:53] kingnebula: Anyone hiring freelance node devs? [09:53] DrPheltRight has joined the channel [09:54] kulor-uk has joined the channel [09:55] cjheath has joined the channel [09:55] blup has joined the channel [09:56] r04r has joined the channel [09:57] whitman has joined the channel [09:58] cosmincx has joined the channel [09:59] _Steve_ has joined the channel [10:01] Qbix1 has joined the channel [10:02] r04r has joined the channel [10:03] aaronmcadam has joined the channel [10:04] markwubben has joined the channel [10:04] wink_ has joined the channel [10:06] r04r has joined the channel [10:09] infynyxx has joined the channel [10:10] wink__ has joined the channel [10:11] paera1 has joined the channel [10:12] r04r has joined the channel [10:13] trupheenix has joined the channel [10:17] r04r has joined the channel [10:17] r04r has joined the channel [10:17] clockwize has joined the channel [10:18] i42n has joined the channel [10:18] wink_ has joined the channel [10:18] amigojapan has joined the channel [10:18] QaDeS has joined the channel [10:20] gagarine has left the channel [10:22] r04r has joined the channel [10:22] clockwize: hi, is there a nice method that will allow me to parse a string to a number, ensuring its valid, within a certain range, and if not, use a defualt? [10:22] clockwize: default* [10:22] r04r has joined the channel [10:23] marvin_ has joined the channel [10:23] kingnebula: wut [10:24] benjixx has joined the channel [10:24] marvin_ has joined the channel [10:25] rickibalboa has joined the channel [10:25] dannyamey has joined the channel [10:25] EvRide has joined the channel [10:26] r04r has joined the channel [10:26] wink_ has joined the channel [10:27] Cromulent has joined the channel [10:29] slaskis: clockwize: not built in. [10:29] Glenjamin: industrial: node-mysql [10:30] Glenjamin: does anyone know how to tell what's keeping a node process running? I'm pretty sure i stopped all the servers, but it doesnt seem to stop itself [10:30] Glenjamin: do open file handles count? [10:31] slaskis: kingnebula: sure, we're always looking for good freelancers [10:31] r04r has joined the channel [10:32] TomY_ has joined the channel [10:37] BrianE has joined the channel [10:38] larsschenk has joined the channel [10:38] abraxas has joined the channel [10:39] bradleyg has joined the channel [10:39] larsschenk1 has joined the channel [10:39] larsschenk1 has left the channel [10:39] wink_ has joined the channel [10:39] r04r has joined the channel [10:43] diverdude: can node.js do url-rewriting? [10:44] Wizek has joined the channel [10:44] r04r has joined the channel [10:45] yuwang has joined the channel [10:46] stagas has joined the channel [10:46] huggies has joined the channel [10:46] ajackbot has joined the channel [10:46] kingnebula: diverdude: url rewriting like apache's mod rewrite?? [10:46] lzskiss has joined the channel [10:46] diverdude: Kingdutch: yeah [10:47] diverdude: Kingdutch: and setup virtual hosts [10:47] kingnebula: Thats only really useful when you need to call the file's extension so that it knows to say.. run it as php index.php there is no use for that here [10:47] wink_ has joined the channel [10:47] kingnebula: In node you just create your URLs as you please [10:48] fermion has joined the channel [10:48] kingnebula: diverdude: Have you taken a look at a framework yet? [10:49] kingnebula: like express [10:49] dscape: guys [10:50] r04r has joined the channel [10:50] kingnebula: hi [10:51] eldios has joined the channel [10:52] wink__ has joined the channel [10:52] Sami_ZzZ has left the channel [10:55] r04r has joined the channel [10:57] wink_ has joined the channel [10:59] kejun has joined the channel [11:00] andrehjr_ has joined the channel [11:01] r04r has joined the channel [11:01] dekub has left the channel [11:01] diegoviola has joined the channel [11:01] diegoviola: hi [11:01] diegoviola: is there something like erb for node? i want to write raw html, I'm coming from ruby [11:01] diegoviola: ty [11:02] industrial: diegoviola: https://github.com/joyent/node/wiki/modules [11:02] diegoviola: with layout, includes, etc [11:02] diegoviola: ty [11:02] wink_ has joined the channel [11:02] industrial: you probably want https://github.com/visionmedia/ejs [11:03] diegoviola: ok, thanks [11:03] diegoviola: node is cool [11:03] break57382_ has joined the channel [11:03] diegoviola: i'm liking it [11:04] break57382 has joined the channel [11:06] johnhame_ has joined the channel [11:06] r04r has joined the channel [11:07] ronaldofs has joined the channel [11:09] wink__ has joined the channel [11:09] Sami_ZzZ has joined the channel [11:10] dubenstein has joined the channel [11:10] level09 has joined the channel [11:11] r04r has joined the channel [11:11] k1ttty has joined the channel [11:15] __doc__ has joined the channel [11:16] r04r has joined the channel [11:16] r04r has joined the channel [11:18] robm has joined the channel [11:18] vincentcr has joined the channel [11:19] jhbot: 'how to resend post multipart/form-data form with upload file to different server with node.js (express.js)?' by ketiv http://stackoverflow.com/q/9327250 (tags: express) [11:19] Tatort79 has joined the channel [11:22] r04r has joined the channel [11:24] vervain has joined the channel [11:26] wink_ has joined the channel [11:27] Fuu has joined the channel [11:27] pyrotechnick has joined the channel [11:27] r04r has joined the channel [11:27] pyrotechnick1 has joined the channel [11:28] bergie has joined the channel [11:29] trupppOFF has joined the channel [11:32] markwubb_ has joined the channel [11:32] gripir has joined the channel [11:33] indutny: 40gb + 15gb of traffic through socket.io [11:33] adrianF has joined the channel [11:33] indutny: in 3 days [11:33] indutny: omg [11:33] indutny: `3rdEden: ping [11:34] indutny: `3rdEden: is socket.io leaking on 0.6.x? [11:34] indutny: is there any open bugs? [11:34] r04r has joined the channel [11:36] arduix has joined the channel [11:36] wink__ has joined the channel [11:37] `3rdEden: indutny yes [11:37] `3rdEden: yes to all your questsions [11:37] `3rdEden: ;D [11:39] r04r has joined the channel [11:42] indutny: `3rdEden: ok :) [11:43] indutny: `3rdEden: because 4 processes are using 1gb of memory right now [11:43] mattgifford has joined the channel [11:43] Geeknux has joined the channel [11:44] robinhoode has joined the channel [11:44] r04r has joined the channel [11:44] r04r has joined the channel [11:44] wink_ has joined the channel [11:45] cjheath has joined the channel [11:45] Glenjamin: they cant [11:45] satyr has joined the channel [11:45] `3rdEden: Glenjamin they can [11:45] Glenjamin: node crashes at 1gb [11:45] `3rdEden: nope [11:45] `3rdEden: only if your V8 heap reaches 1gb [11:46] Glenjamin: ah, buffers [11:46] `3rdEden: everything you store outside of that heap can still increase the total memory [11:46] `3rdEden: yup [11:46] Gekz has joined the channel [11:46] Gekz has joined the channel [11:48] robm has joined the channel [11:49] r04r has joined the channel [11:50] ramitos has joined the channel [11:52] indutny: Glenjamin: and I've 4 processes [11:52] indutny: `3rdEden: 1051mb [11:52] indutny: ;) [11:52] indutny: `3rdEden: http://indutny.com/ [11:53] sdwrage has joined the channel [11:53] Vennril has joined the channel [11:54] `3rdEden: ye i saw indutny [11:54] r04r has joined the channel [11:54] indutny: and I think my balancing is borked :( [11:54] indutny: one process gets 50% cpu load [11:54] indutny: while others 20 [11:54] `3rdEden: not even running spdy ;9? [11:55] booo has joined the channel [11:55] indutny: hahaha [11:55] indutny: nooo [11:55] indutny: no spdy [11:55] indutny: websockets don't go through it anyways [11:58] CrypticSwarm_ has joined the channel [11:59] `3rdEden: =p [11:59] r04r has joined the channel [11:59] indutny: yeah [11:59] indutny: so that'll just crash my server [12:01] wink__ has joined the channel [12:04] r04r has joined the channel [12:07] snearch has joined the channel [12:07] fairwinds has joined the channel [12:07] claudio has joined the channel [12:09] _Turbo_ has joined the channel [12:09] salva has joined the channel [12:09] gripir has left the channel [12:09] r04r has joined the channel [12:09] _Turbo_ has left the channel [12:10] paera has joined the channel [12:14] r04r has joined the channel [12:16] metaverse has joined the channel [12:16] tonist has joined the channel [12:18] Skola has joined the channel [12:18] margle has joined the channel [12:19] r04r has joined the channel [12:19] diegoviola: what is the equivalent of "yield" in ejs? [12:20] enmand has joined the channel [12:22] sauerbraten has joined the channel [12:23] stefpb has joined the channel [12:24] r04r has joined the channel [12:25] kingnebula has joined the channel [12:26] stagas has joined the channel [12:26] kingnebula: lol was fun making this nodjs forums :D on phpbb http://mansoorsayed.com/nodejs/ [12:26] kingnebula: nodejs* [12:27] diegoviola: <%- body %> seems to do the trick [12:27] diegoviola: but i'm not sure if this is the right way [12:28] indutny: `3rdEden: heya [12:28] wink_ has joined the channel [12:28] sdwrage has joined the channel [12:29] nerdfiles1 has left the channel [12:29] r04r has joined the channel [12:30] eb4890 has joined the channel [12:32] andrehjr has joined the channel [12:32] divoxx has joined the channel [12:32] wink__ has joined the channel [12:33] robhawkes has joined the channel [12:35] r04r has joined the channel [12:35] mschneider has joined the channel [12:37] catlaya has joined the channel [12:37] shariffy has joined the channel [12:37] TomY_ has joined the channel [12:38] kulor-uk has joined the channel [12:39] r04r has joined the channel [12:40] shariffy: hi guys, would love some help with EventEmitter [12:40] benvie: hey hey 16k [12:40] shariffy: I don't know what's the best way to handle events between different objects [12:41] benvie: yeah [12:41] shariffy: this is what I'm trying to do: http://pastebin.com/1VYrVPyN [12:42] shariffy: (probably wrong) [12:43] benvie: type1.on('Type1 added', this.addThatOne); [12:43] benvie: --> type1.on('Type1 added', this.addThatOne.bind(this)); [12:44] r04r has joined the channel [12:44] shariffy: benvie> that was it! thanks a lot [12:45] benvie: no problem! [12:45] jhbot: 'How to stream a Windows Azure Blob to the client using Node.js?' by tomconte http://stackoverflow.com/q/9328448 (tags: azure) [12:46] shariffy: benvie> do you think there's a better way to handle this type of scenario though? [12:47] snuggl has joined the channel [12:47] benvie: in terms of application structure? [12:48] snuggl: anyone knows how to uninstall npm? [12:48] benvie: at one point I tried to push the event emitter too far, in terms of covering too much space from one central place [12:48] benvie: I figured it'd be better if it was like one central place to tap into [12:48] benvie: for a giant thing [12:48] benvie: ot [12:49] QaDeS has joined the channel [12:49] shariffy: yeah, it just bothers me that I have to reference type1 directly (in my example) [12:49] benvie: it just makes the emitter less useful the more generalized it becomes [12:49] shariffy: having one global event manager would indeed be the other way to go [12:49] erichynds has joined the channel [12:50] TheJH_phone has joined the channel [12:50] divoxx_ has joined the channel [12:50] pradeebv has joined the channel [12:50] benvie: well that example isn't good to go on because it doesn't show actual usage [12:50] pradeebv has left the channel [12:50] benvie: the thing is that the EventEmitter thing itself has a wide range of potential usages [12:51] xbayrockx has joined the channel [12:51] benvie: but this is really a big divide between uh [12:52] nerdfiles has joined the channel [12:52] r04r has joined the channel [12:52] nerdfiles has left the channel [12:52] benvie: node's usage and most peoples' usage is in a very local scoped manner, rather than using it as a way to tie the entire application together. [12:52] christkv has joined the channel [12:53] shariffy: what I want is similar to Backbone.Collection, I have one generic collection and a more specialised one, I would like to sort of delegate events from generic to specific [12:53] bradleyg has joined the channel [12:53] Sly__ has joined the channel [12:53] benvie: yeah I did that exact kind of thing and it wasn't bad [12:53] benvie: I used EventEmitter2 and expanded on the idea of namespacing events [12:54] jerkelens has joined the channel [12:54] ramitos has joined the channel [12:55] marcello3d has joined the channel [12:56] shariffy: so you directly referenced the generic one in the specialised one? inheritance won't work so I can't see any other way [12:56] TheJH_phone has joined the channel [12:56] TheJH_phone has joined the channel [12:56] kalms has joined the channel [12:56] ph^ has joined the channel [12:56] james has joined the channel [12:57] marcello3d has joined the channel [12:57] r04r has joined the channel [12:57] AndreasMadsen has joined the channel [12:57] cha0s has joined the channel [12:57] cha0s has joined the channel [12:58] benvie: I had a single central emitter and had an initializer for components that plugged onto it. That prototype for a subcomponent had an emit event that added that submodules name to the event name and emitted it out of the central emitter [12:58] devaholic has joined the channel [12:58] benvie: so each one would do like this.emit('whatever') and it'd come out of the center as 'submodule.whatever' [12:59] shariffy: ah I see [12:59] benvie: and you could list for 'submodule.*' or 'whatever' and it'd hit listeners for both [12:59] benvie: so you had a way to listen based on either area of origin or type of event [13:00] wink_ has joined the channel [13:01] shariffy: yeah my only problem with that is that it creates a hard dependency with the central emitter [13:01] benvie: yeah it worked for the project but ultimately I didn't like it as something I'd do again [13:02] benvie: the inversion would be [13:02] subbyyy has joined the channel [13:02] benvie: where the subcomponents each are eventemitters and only the central controller is listening [13:03] r04r has joined the channel [13:03] whaley has joined the channel [13:04] ningu has joined the channel [13:05] diegoviola: why do i get this when i try to bind my node script to port 80? https://gist.github.com/1853316 [13:06] TheFuzzball has joined the channel [13:06] dannyamey has joined the channel [13:07] cjm has joined the channel [13:07] jmar777 has joined the channel [13:07] jhbot: 'TCP socket.write function in node.js' "net" package not writing to socket' by Swan http://stackoverflow.com/q/9328737 (tags: sockets, tcp, net) [13:08] enmand has joined the channel [13:09] r04r has joined the channel [13:10] diegoviola: wtf [13:10] TimTimTim: this is probably a dumb question but if i call an async function from within another function, how do i ensure the parent function returns some value determined by the async function? [13:10] diegoviola: as root i can run fine on port 80 [13:10] diegoviola: it seems like a permission issue [13:11] Sly__: diegoviola, anything under port 1024 on *NIX requires elevated privileges. [13:11] benvie: you can't return a value determined ascynchronously [13:11] diegoviola: Sly__: ok ty [13:11] TimTimTim: it seems like it would be inefficient to set an interval or a while loop or something to wait until the value is ready [13:12] benvie: it won't be executed until at least another turn of the event loop which requires the call stack to be cleared and execution completed [13:12] diegoviola: how can i fork my node js script? [13:12] diegoviola: express [13:12] TimTimTim: is there a better way to do this then that i'm not seeing, benvie? http://pastebin.com/BmfySvAC [13:12] TimTimTim: obviously what i have won't work but you can see what i'm trying to do [13:13] benvie: to do that you'd have to go outside of js. fibers probably does what you want [13:13] TimTimTim: is the only solution to build a queuing function? [13:13] Sly__: diegoviola, what do you mean by "fork"? [13:14] mekwall has joined the channel [13:14] benvie: redis itself calls your function back, as do many things [13:15] diegoviola: Sly__: daemonize my script [13:15] TimTimTim: hmmm i think i see what i need to do [13:15] diegoviola: Sly__: in the background [13:15] TimTimTim: thanks [13:15] benvie: and that callback will never happen until the event loop cycles by design [13:15] r04r has joined the channel [13:15] marcello3d: TimTimTim: you need to have a callback parameter in your top-level method, too [13:15] marcello3d: TimTimTim: and then you'd use callback(null, result) instead of return result [13:15] pleaz: help, when i start node server.js i have Error: require.paths is removed. Use node_modules folders, or the NODE_PATH environment variable instead. [13:15] TimTimTim: yeah that's what i just realized :| [13:16] marcello3d: TimTimTim: and as an aside, you shouldn't capitalize variables/parameter names, it confuses readers :) [13:16] benvie: for shell stuff I did something hacky in exploiting synchronous fil i/o [13:16] benvie: by having the output of of the command piped to a file and then renamed on completion [13:16] Skola has joined the channel [13:17] benvie: and then looping on existsSync [13:17] infynyxx has joined the channel [13:17] marcello3d: TimTimTim: (generally reserved for classnames) [13:18] rauchg has joined the channel [13:18] wink__ has joined the channel [13:18] benvie: somone on os x or linux should add platform bindings for their platform to this https://github.com/Benvie/node-clipboard [13:20] r04r has joined the channel [13:22] Sly__: diegoviola, you still here? [13:22] diegoviola: Sly__: yes [13:22] tonist has joined the channel [13:22] Sly__: http://nodejs.org/docs/latest/api/child_processes.html#child_process.spawn [13:22] AndreasMadsen: Sly__: hi [13:22] Sly__: diegoviola, you need to spawn a child process with the "setsid" option set to "true". [13:22] diegoviola: Sly__: thanks [13:22] diegoviola: cool [13:22] Sly__: diegoviola, this will cause it to spawn a child process in a new session separate from the parent. [13:23] Sly__: diegoviola, then you can kill the parent and the child will still run. [13:23] diegoviola: Sly__: ty [13:23] Sly__: diegoviola, thank AndreasMadsen. He's the one that tipped me off. I usually just use `node script.js &`. [13:23] TimTimTim: marcello3d i capitalize functions/variables if they're high level, really specific to the app... but i guess that's kinda silly isn't it :P [13:24] vkareh has joined the channel [13:24] AndreasMadsen: Sly__: It is a hack I made in https://github.com/AndreasMadsen/immortal, but there will be an Process.deattach method in node v0.8 [13:24] margle has joined the channel [13:25] Sly__: Nice, AndreasMadsen. [13:25] Sly__: Looks sexy. [13:25] r04r has joined the channel [13:25] Rob- has joined the channel [13:26] wink_ has joined the channel [13:27] diegoviola: AndreasMadsen: ty [13:27] Skola has joined the channel [13:28] mekwall has joined the channel [13:28] sauerbraten has joined the channel [13:28] spion has joined the channel [13:28] piscisaureus_ has joined the channel [13:29] AndreasM_ has joined the channel [13:29] zemanel has joined the channel [13:29] ovaillancourt has joined the channel [13:30] cha0s has joined the channel [13:30] AndreasM_: diegoviola: ty - what? I'm doing quite many things at the moment [13:30] artusrocha has joined the channel [13:30] diegoviola: 10:23 < Sly__> diegoviola, thank AndreasMadsen. He's the one that tipped me off. I usually just use `node script.js &`. [13:30] Cromulent has joined the channel [13:31] AndreasM_: diegoviola: oh, :D [13:31] diegoviola: :p [13:31] marcello3d: TimTimTim: the problem would arise if you tried to do new Error(...) within that code that has a parameter named Error... [13:31] r04r has joined the channel [13:31] brianseeders has joined the channel [13:32] nhunzaker has joined the channel [13:32] AndreasMadsen has joined the channel [13:32] marvin_ has joined the channel [13:33] wbednarski has joined the channel [13:35] Joey_ has joined the channel [13:35] kwmiebach_ has joined the channel [13:35] Joey_ has joined the channel [13:35] ph^ has joined the channel [13:36] qsobad has joined the channel [13:36] [[zz]] has joined the channel [13:36] webguynow: any Spine.js geeks in here ? [13:37] k1ttty has joined the channel [13:37] r04r has joined the channel [13:40] wink_ has joined the channel [13:40] jmar777 has joined the channel [13:40] plutoniix has joined the channel [13:41] margle has joined the channel [13:42] kurtzhong has joined the channel [13:42] mullr has joined the channel [13:42] arcanis has joined the channel [13:43] enmand has joined the channel [13:43] r04r has joined the channel [13:43] spion has joined the channel [13:44] clockwize: hey, so I've got a try/catch around my request handler, but inside it I do throw "Invalid data" and node just dies and prints it out to the console? It doesn't even hit my catch? [13:45] bnoordhuis has joined the channel [13:45] thinkjson has joined the channel [13:46] mekwall has joined the channel [13:46] sriley has joined the channel [13:47] dve has joined the channel [13:48] Wizek has joined the channel [13:48] tomasztomczyk has joined the channel [13:49] copongcopong has joined the channel [13:49] r04r has joined the channel [13:49] r04r has joined the channel [13:50] mAritz has joined the channel [13:51] kingnebula has joined the channel [13:52] ramitos has joined the channel [13:53] christkv has joined the channel [13:53] thinkjson: Is it possible to do port takeover with Node.js? [13:54] Poetro has joined the channel [13:54] Glenjamin: is there any way to see what's keeping the event loop running? I'm trying to work on a clean shutdown [13:54] r04r has joined the channel [13:54] thinkjson: Glenjamin: in Node.js, or libuv? [13:56] arthurd has joined the channel [13:56] Glenjamin: in userland node [13:56] pleaz: how fix this: Error: require.paths is removed. Use node_modules folders, or the NODE_PATH environment variable instead. [13:56] pleaz: ? [13:57] thinkjson: pleaz: use an updated example [13:57] wink_ has joined the channel [13:57] thinkjson: require.paths hasn't been in node for a long time [13:57] stagas has joined the channel [13:57] ph^ has joined the channel [13:58] pleaz: where i see example? [13:59] thinkjson: Glenjamin: so you have some kind of timer or something holding up the loop? [13:59] jamund has joined the channel [13:59] thinkjson: pleaz: depends on what you're doing. if you `npm install [package]` in the directory where the script is, you can just do `require ('[package]');` [14:00] Glenjamin: thinkjson: i'm not sure, while it was running it had an http server, 2 queue server connections, a bunch of http requests and some setTimeouts [14:00] Glenjamin: and some open log files [14:00] r04r has joined the channel [14:00] Glenjamin: i'm trying to make it shut down without using process.exit [14:00] thinkjson: Glenjamin: I would start with debugging the setTimeouts [14:00] thinkjson: understood [14:00] Glenjamin: so i added a clearTimeout as part of my shutdown() call [14:00] Glenjamin: and the event never fires again, so pretty sure thats down [14:01] thinkjson: but if you don't know what's holding up the event loop, you might have some deeper structural issues in your program [14:01] Glenjamin: well i closed everything i thought it might be [14:01] Glenjamin: assuming what i think keeps it open is accurate [14:01] thinkjson: if I were you, I would comment out functionality until it closes cleanly on its own [14:01] Edy has joined the channel [14:01] Edy has joined the channel [14:02] Glenjamin: sounds reasonable [14:02] thinkjson: remove something, run the server, issue the shutdown, and see what happens [14:02] thinkjson: just do one thing at a time - scientific method [14:02] thinkjson: :) [14:02] pleaz: no, i try start my server.js(node server.js) this error i get after i update nodejs to 0.6.10 [14:03] thinkjson: pleaz: I would gist some code if I were you. No one can help you on pure conjecture. [14:03] dpino has joined the channel [14:03] dve: Did I imagine it or did Joyent used to have a channel on freenode? [14:03] dve: #joyent is empty [14:03] thinkjson: dve: is not [14:04] wink_ has joined the channel [14:04] teslan: does 'this' work on node the way it does in js? [14:04] thinkjson: dve: maybe you netsplit. reconnect and see if it works. [14:04] lduros has joined the channel [14:04] dscape: dve: im in joyent [14:04] thinkjson: teslan: node is js [14:04] dscape: ~70 people [14:04] dscape: teslan: yes [14:04] dve has joined the channel [14:04] teslan: thinkjson: thinknoob ;) [14:05] Glenjamin: thinkjson: any idea if there's a list of things which keep the loop open somewhere? [14:05] dve: thinkjson: bingo, thanks [14:05] Glenjamin: like, the handle to stdout doesn't, but what if i open a file [14:05] thinkjson: Glenjamin: I don't believe so. At least not available to the program at run time. You can debug with V8's dev tools. [14:05] r04r has joined the channel [14:05] jmar777: teslan: node.js is basically a container for v8 with a nice set of core libraries. so it hardly even counts as a new runtime in that regard [14:05] thinkjson: teslan: you think I'm a n00b? [14:06] teslan: then, inside a function should this.varName not work where varName works? [14:06] pleaz: maybe anything in this: var path = require('path'), [14:06] pleaz: config = module.exports = {}; [14:07] thinkjson: teslan: depends on the code [14:07] thinkjson: pleaz: ditto [14:08] diegoviola: wow, node.js feels pretty fast [14:08] diegoviola: just running my script in ruby takes longer [14:08] diegoviola: i wonder why that is [14:08] thinkjson: diegoviola: lots of variables there [14:09] thinkjson: but yes, V8 is frickin fast [14:09] zivester has joined the channel [14:09] jmar777: it's definitely up there with the best of the interpreted language runtimes [14:09] teslan: say i start up 'node app.js' whose main body contains var myVar = {..} then should this.myVar not be valid from within any (non callback) function? [14:09] diegoviola: i mean, running a simple ruby/sinatra script vs a node.js/express script, it takes longer for the sinatra script to run than the express one [14:09] BrianE has joined the channel [14:10] diegoviola: thinkjson: ^ [14:10] innociv has joined the channel [14:10] thinkjson: diegoviola: we're talking hundreds of ms difference? [14:10] jmar777: for some tasks it even edges out compiled languages, but that's due to node's approach to IO, rather than raw code execution speed [14:10] napperjabber_ has joined the channel [14:10] diegoviola: thinkjson: probably, let me check [14:10] AaronMT has joined the channel [14:10] thinkjson: jmar777: BS [14:11] jmar777: thinkjson: no u [14:11] teslan: thinkjson: no, with 'thinknoob' i was merely suggesting for you to think like a noob when reading my question ;) [14:11] thinkjson: at full load, Rails/Mongrel and a Node.js server will handle similar # of reqs [14:11] st_luke has joined the channel [14:11] jmar777: thinkjson: depends entirely on what the work that's being done is [14:12] crutex has joined the channel [14:12] crutex has joined the channel [14:12] pendlepants has joined the channel [14:12] jmar777: thinkjson: for some tasks, rails will perform substantially better. for some, node will [14:12] _th_n has joined the channel [14:12] r04r has joined the channel [14:12] r04r has joined the channel [14:12] thinkjson: for anything CPU bound, yes [14:12] diegoviola: thinkjson: ruby/sinatra: real 0m0.805s [14:12] diegoviola: thinkjson: node/express: real 0m0.417s [14:12] thinkjson: startup means nothing [14:12] diegoviola: yeah ok [14:12] jmar777: thinkjson: if you're doing a significant amount of CPU-bound tasks, then a naive implementation in node will bog down your event loop and you'll start refusing connections [14:13] urlisse has joined the channel [14:13] diegoviola: thinkjson: but still, node feels faster [14:13] thinkjson: compared to 120s for tomcat ;-) [14:13] jmar777: but rails will just spin up more threads - may not be especially "fast", but it'll handle requests [14:13] thinkjson: diegoviola: that's because it scales down better [14:13] thinkjson: so in development, it feels faster [14:13] diegoviola: ok [14:13] diegoviola: i've been doing ruby dev for 4 years or so [14:13] diegoviola: ACTION is new to node [14:14] CarterL has joined the channel [14:14] jmar777: but if you are, for example, just running a bunch of queries against a database or fielding stuff from an API, node will be able to scale better in terms of overall throughput per cpu [14:14] thinkjson: the nice thing about Node.js is that you can serve the same reqs/sec as Rails with much less expensive hardware because it runs really lean [14:14] diegoviola: i've started with php, then went with rails, then with ramaze/sinatra/rack, and now i'm checking out node [14:14] diegoviola: thinkjson: nice [14:14] k1ttty has joined the channel [14:15] diegoviola: i've grown tired of rails [14:15] diegoviola: i hate activerecord for instance [14:15] thinkjson: I can serve 5000 reqs/sec in production on an m1.small (minus the overhead of I/O) [14:15] thinkjson: it's definitely a different way to go about things [14:15] jmar777: thinkjson: we ran some fairly extensive tests between node and some jetty servlets. for in-memory responses, they were on par with each other, provided we had at least one node process per cpu [14:15] diva has joined the channel [14:15] jmar777: thinkjson: but the moment there was IO involved, node killed jetty [14:15] thinkjson: jmar777: true - I/O should be on par [14:16] diegoviola: I see most ORMs as unnnecessary complexitiy , i just want to write god-damn SQL. [14:16] lz has joined the channel [14:16] cha0s has joined the channel [14:16] cha0s has joined the channel [14:16] thinkjson: not if you use NIO and multithreading [14:16] ph^ has joined the channel [14:16] thinkjson: diegoviola: not everyone does, though [14:16] diegoviola: unnecessary* [14:16] diegoviola: thinkjson: yep they have many pros too [14:16] thinkjson: some people are more productive in SQL, some with ORMs [14:16] diegoviola: thinkjson: right [14:16] jmar777: thinkjson: exactly - which is why i said node can edge out some compiled runtimes because of architectural reasons. if you're running non-blocking IO on a compiled language, you should be able to beat node [14:17] thinkjson: it doesn't matter how you get to production as long as you ship [14:17] r04r has joined the channel [14:17] jmar777: thinkjson: assuming you're doing it smart (i.e., not spinning up a new thread per request anyway) [14:17] thinkjson: jmar777: right. but NIO on Java is a PITA [14:17] Glenjamin: jmar777: if you hand optimise your code, you should always beat node. if you don't then the JIT may beat you [14:17] teslan: so, why does this output ... undefined 'marry' ... [14:17] teslan: var name = 'joe'; [14:17] teslan: func(); [14:17] teslan: function func() { [14:17] teslan: var name = 'marry'; [14:17] teslan: console.log (this.name, name); [14:17] teslan: } [14:17] thinkjson: right - thread pools, which most servlet engines do for you [14:17] rwaldron has joined the channel [14:17] jmar777: thinkjson: no argument there :) [14:17] diegoviola: thinkjson: the problem is not really ORMs per se, I like Sequel a lot (in Ruby), the problem that I have/had is when dealing with complex (long) SQL queries with multiples JOINs and such. [14:18] thinkjson: teslan: yeah, no. just name [14:18] thinkjson: name is global in the module [14:18] diegoviola: thinkjson: or when dealing with a custom database that has not been desigend with the ORM in mind [14:18] Glenjamin: teslan: because you dont understand how context binding of this works? [14:18] diegoviola: thinkjson: ActiveRecord used to get in my way there [14:18] thinkt4nk has joined the channel [14:18] Glenjamin: remove the "var" from name = 'joe'; [14:18] thinkjson: teslan: so you are creating a local name in the function. you're muddling with your namespaces. [14:18] Glenjamin: and it'll do joe, marry [14:18] teslan: Glenjamin: you mean to tell me 'this' only works when a function is applied to an object and since none of that is here then i get undefined? [14:19] Glenjamin: no, this refers to global when not called on an object or set [14:19] RyanD has joined the channel [14:19] thinkjson: teslan: javascript 101. do some research on js namespaces. [14:19] thinkjson: but in node, this !== global [14:20] thinkjson: so name won't be in this [14:20] jerkelens has joined the channel [14:20] thinkjson: in your code, this refers to the function [14:20] thinkjson: so this.name is undefined [14:20] thinkjson: if you want to use the name at the top in your function, don't redefine it [14:20] pleaz: require.paths.unshift(__dirname + '/lib'); -> var async = require('async'); -> Error: require.paths is removed. Use node_modules folders, or the NODE_PATH environment variable instead. [14:21] Glenjamin: pleaz: so do what it says? [14:21] jmar777: teslan: in the browser, `this` refers to the window (unless otherwise bound), which is also the global scope. the scopes are a little different in node [14:21] Glenjamin: don't attempt to modify require.paths [14:21] thinkjson: Glenjamin: lol [14:21] thinkjson: jmar777: s/different/better/ [14:21] teslan: thinkjson: if inside function we rename name to name2 we get same thing ... now, is what i wrote not work in browser? [14:22] teslan: jmar777: thanks [14:22] jmar777: teslan: what you wrote will work in the browser... [14:22] thinkjson: this.name in the browser would be the same as name because you've declared it in the global scope [14:22] thinkjson: but the inner name will be different than this.name [14:22] pleaz: i don't modify him [14:22] r04r has joined the channel [14:22] r04r has joined the channel [14:22] teslan: thinkjson: who can they be the same when one name is main body and the other is inside a function ? [14:23] jmar777: teslan: inside of func(), if you wrote `console.log(window.name, this.name);`, you'd see that they're both 'joe' [14:23] teslan: who=how* [14:23] thinkjson: pleaz: if async is in __dirname/lib then do var async = require(__dirname + '/lib/async'); [14:23] McMAGIC--Copy has joined the channel [14:23] lazyshot has joined the channel [14:23] thinkjson: teslan: go read "Javascript: The Good Parts" [14:23] jmar777: teslan: (in the browser, that is). that's because global scope === window === where you defined 'joe' [14:23] thinkjson: you're muddling your namespaces, which will cause you a world of hurt [14:23] _unary has joined the channel [14:24] jmar777: i kind of think namespaces is misleading term [14:24] piscisaureus_ has joined the channel [14:24] thinkjson: how so? [14:24] spion has joined the channel [14:24] jmar777: too much baggage carried over from other languages, but just my opinion. [14:24] thinkjson: you're welcome to it, but that's what they are [14:25] jmar777: javascript doesn't really have "namespace". it has scopes, and you can quasi-namespace your stuff by using objects - but that's not really the same thing [14:25] thinkjson: fair enough [14:25] Glenjamin: modules are sort-of-sandboxed [14:25] jmar777: the only thing javascript has that actually mimics traditional namespace behavior was the `with` keyword, which is definitely not in the "Good Parts" ;P [14:25] briancray has joined the channel [14:25] markwubben has joined the channel [14:25] Glenjamin: which is the key difference here [14:26] thinkjson: but javascript does have namespaces - global, which is always available, and function, which overrides global [14:26] dodo has joined the channel [14:26] Glenjamin: those are scopes imo [14:26] thinkjson: so if you define "name" in both, you'll only get the one defined in the function [14:26] jmar777: thinkjson: ^^ what he said [14:26] ningu has left the channel [14:26] teslan: and in my browser code i have created a package to keep everything out of global code, except my capped package name ... but 'this' worked the way i wrote it above [14:26] piscisaureus_ has joined the channel [14:26] ningu has joined the channel [14:26] wankdanker: anyone ever get a "Uncaught TypeError: Argument must be a string" referencing a line number that is not in the file that the error is thrown from? [14:27] thinkjson: teslan: that's because you don't have requirejs in the browser. there aren't sandboxes. [14:27] jmar777: thinkjson: http://es5.github.com/ search:namespace (0 results). search:scope (33 results) [14:27] bkaney has joined the channel [14:27] thinkjson: that's what she said [14:27] ashishg has joined the channel [14:27] thinkjson: anyways, I'm off to do work :-P [14:27] teslan: ok , thanks everyone [14:28] ningu: hey, I have a question about mongoose. I have a schema with an ObjectId field. let's say I have a Book schema and each book has an ObjectId to the Author collection. basically I want to be able to set a Book's author by passing in the author's name, and have mongoose automatically look up the id (assume author names are unique). [14:28] c4milo has joined the channel [14:29] r04r has joined the channel [14:29] ningu: I've tried a few ways of doing this with hooks, virtuals, etc. but I can't find a good way to do it. the type is checked before hooks are called, so an error is thrown that it's an invalid ObjectId. [14:29] ningu: and with virtuals, I can't do an async call. [14:29] piscisaureus__ has joined the channel [14:29] josh-k has joined the channel [14:30] ningu: so I'm wondering if there is really any clean way to do it. [14:30] jmar777: ningu: ya, i couldn't find a workaround for that either. i just have some static "fromAPIObject()" methods defined on my schemas [14:30] ningu: jmar777: yeah, that's the only way I could think of. seems a bit ugly but it would work. [14:30] swhit has joined the channel [14:30] jmar777: ningu: they provide an asynchronous interface, so i can just pass in the data exactly as i get it from a client, it gets sanitized, hydrated, etc. [14:31] ningu: what I would want for this case is not a static method -- I'd rather do book.setAuthor(...) [14:31] colinclark has joined the channel [14:32] ashishg has joined the channel [14:32] ningu: well, actually, either static or dynamic could work depending on what I want to do. both are slightly more complicated than I'd like, but apparently that's the only option. oh well. [14:32] jmar777: ningu: if that makes more sense in your case, then go for it. BookSchema.methods.setAuthor = function(author, cb) {}; [14:33] Glenjamin: ningu: have some sort of BookFactory which makes a book instance with the looked-up author? [14:33] davidsklar has joined the channel [14:34] jmar777: ningu: i don't know if it's a good idea or not, but an asynchronous setter could be handy. basically just hold off validation and write operations until the setter invokes a callback [14:34] r04r has joined the channel [14:34] r04r has joined the channel [14:34] jmar777: ningu: that would allow stuff like `books.author = 'ningu';`, and validation to work as expected - but there may be some gotchas related to that [14:35] aheckmann has joined the channel [14:35] diva has joined the channel [14:35] jmar777: ningu: aheckmann is in #mongoosejs a lot and is pretty open to suggestions. he's not there right now, but you could always describe your situation when he shows up [14:35] David has joined the channel [14:37] amigojapan has joined the channel [14:37] ningu: jmar777: ok, cool -- I tried #mongoose, didn't realize #mongoosejs was the right place [14:38] francisl has joined the channel [14:38] socketio\test\08 has joined the channel [14:39] willwhite has joined the channel [14:39] madtimber has joined the channel [14:40] r04r has joined the channel [14:40] markwubb_ has joined the channel [14:41] c4milo has joined the channel [14:43] jetienne has joined the channel [14:44] madtimber has joined the channel [14:44] thinkjson has left the channel [14:44] mattgifford has joined the channel [14:45] r04r has joined the channel [14:45] madtimber: is there a dedicated Express channel? or are we fielding those questions in here as well? [14:45] booyaa: i think tj setup a dedicated channel too [14:45] booyaa: not sure if it's #express or #expressjs [14:46] cam|work: try both [14:46] carlyle has joined the channel [14:46] madtimber: haha, I had tried express before….misspell…welcome to the show [14:46] madtimber: thx guys [14:46] wink__ has joined the channel [14:47] Gekz has joined the channel [14:47] Gekz has joined the channel [14:47] francisl has left the channel [14:47] jmar777: #express [14:48] jaha has joined the channel [14:48] madtimber: oh, I had the #, borked the R ….#expess [14:48] madtimber: *learning to type* [14:49] jondot has joined the channel [14:52] malletjo has joined the channel [14:52] r04r has joined the channel [14:52] r04r has joined the channel [14:52] level09 has joined the channel [14:52] CIA-74: node: 03Nathan Rajlich 07v0.6 * ra118f21 10/ (lib/repl.js test/simple/test-repl-tab-complete.js): repl: make tab completion work on non-objects - http://git.io/kRI-iA [14:53] themiddleman_itv has joined the channel [14:53] thomblake has joined the channel [14:54] thomblake has left the channel [14:54] baudehlo has joined the channel [14:55] jscheel has joined the channel [14:55] jscheel has joined the channel [14:56] davidsklar has joined the channel [14:57] jhbot: 'How does one access data posted within restify 1.x.x?' by JMHNilbog http://stackoverflow.com/q/9330405 (tags: rest, post) [14:57] joshkehn has joined the channel [14:57] joshkehn has left the channel [14:59] r04r has joined the channel [14:59] r04r has joined the channel [14:59] satyr has joined the channel [14:59] chrisinajar: what's the best way to append one buffer to another? [14:59] clockwize: is it possible to join 2 json objects? [14:59] clockwize: like merge them together, like i would in ruby with hashes [15:00] Venom_X has joined the channel [15:00] aheckmann has joined the channel [15:00] fson has joined the channel [15:02] jocafa has joined the channel [15:02] spion has joined the channel [15:04] cha0s has joined the channel [15:04] cha0s has joined the channel [15:05] InSuperposition has joined the channel [15:05] storrgie has joined the channel [15:05] relling has joined the channel [15:05] swestcott has joined the channel [15:05] tmcw has joined the channel [15:06] madtimber has joined the channel [15:07] r04r has joined the channel [15:09] arcanis has joined the channel [15:10] robotmay has joined the channel [15:13] r04r has joined the channel [15:13] r04r has joined the channel [15:13] panosru has joined the channel [15:13] hellp has joined the channel [15:14] spolu_ has joined the channel [15:14] CIA-74: node: 03Shannen Saez 07v0.6 * r4ed7b03 10/ (3 files in 3 dirs): docs: add lang="en" and remove redundant types - http://git.io/whd5ng [15:14] CIA-74: node: 03Shannen Saez 07v0.6 * r9764bea 10/ doc/logos/index.html : docs: remove unused javascript includes - http://git.io/v0ZT0g [15:14] barberdt has joined the channel [15:16] joshfinnie has joined the channel [15:17] spion has joined the channel [15:17] infynyxx has joined the channel [15:18] r04r has joined the channel [15:19] nibblebot has joined the channel [15:19] benvie: haha awesome [15:19] cam|work: thank you [15:19] benvie: I made it so you can copy and paste javascript objects [15:20] gsmcwhirter has joined the channel [15:20] benvie: specifically v8 handles [15:20] jdeibele has joined the channel [15:20] cam|work: hmm [15:21] Yester: anyone else has an issue with expressjs and socket.io? when i establish a connection and then refresh it, it opens 2 connections instead of only 1. refreshing it again opens 3 connections then. i tried now without express and it worked well, but when i use express it happens [15:21] hotchkiss has joined the channel [15:22] cam|work: Yester, maybe the server isn't closing the connection? [15:22] thalll has joined the channel [15:22] jprichardson has joined the channel [15:23] pradeebv has joined the channel [15:23] r04r has joined the channel [15:24] kriszyp has joined the channel [15:24] Yester: cam|work: i get the on('disconnect' .. [15:24] Yester: event [15:24] isaacs has joined the channel [15:24] mekwall has joined the channel [15:24] kinabalu has joined the channel [15:25] jprichardson: I'm thinking about giving a talk on Node.js, does anyone have some thoughts on what I could do with Node.js to provide a bit of that *wow* factor. I feel that just plain simple real-time demo isn't as impressive as it once was. Any suggestions? [15:25] icebox has joined the channel [15:25] jgaui: is there any way to change the path where require is looking for node_modules (cwd vs __dirname)? [15:26] tomasztomczyk: we hosted this meetup where one guy came up with a real time virtual jedi fight, based on the position of the iphone it would send the data to the webapp and show the different angle of the lightsaber [15:26] cam|work: tomasztomczyk, i like it [15:26] claudio: jprichardson, an online multiuser editor using http://www.waveprotocol.org/ :P [15:26] tomasztomczyk: but then again, he spent the day before on machine learning approach for all the positions [15:26] claudio: that would be "wow" for me ;) [15:26] cam|work: tomasztomczyk, did it use data from the orientation sensor? [15:26] tomasztomczyk: that sounded complicated [15:27] jprichardson: claudio: hehee [15:27] tomasztomczyk: cam|work yeah i believe so, i can dig out his info/presentation [15:27] jj0hns0n has joined the channel [15:27] jprichardson: tomasztomczyk: hmm... that's pretty cool actually [15:28] benvie: how about I made a thing that allows you to copy and paste javascript objects via the windows clipboard (but it crashes if you try to paste one into a second node process) [15:28] tomasztomczyk: his twitter https://twitter.com/#!/pornelski [15:28] r04r has joined the channel [15:28] fson has joined the channel [15:29] tomasztomczyk: ah there's the meetup recording http://www.youtube.com/watch?v=xMKhRCvr4wU [15:29] saurabh has joined the channel [15:29] tomasztomczyk: 00:51 he starts [15:29] SamuraiJack_ has joined the channel [15:29] jprichardson: tomasztomczyk: Thanks, I might send him a msg to get more details. Does Safari for the iOS allow a web app to get accelerometer/gyro data? It'd be cool to allow audience participation. [15:30] cam|work: tomasztomczyk, what language do these guys develop in? they all have macs [15:30] saurabh: while installing node, getting the error that openssl not found, inspite that i have openssl installed... Any clues? [15:30] tomasztomczyk: cam|work that was nodejs meetup/showcase [15:30] tomasztomczyk: jprichardson: it DID allow audience participation, we had someone join in - by launching his webapp on the browser [15:31] jprichardson: saurabh: Yes, install pkg-config. [15:31] sriley: jprichardson: no it doesnt yet provide that iirc [15:31] tomasztomczyk: jprichardson but I'll be damned if I know how he did it, i've got no clue about node or ios for that matter :( [15:32] baudehlo: http://baudehlo.wordpress.com/2012/02/17/craigslist-deploys-haraka/ (node.js at craigslist) [15:32] saurabh: pkg-config is installed too.... [15:32] sriley: but then again supposedly it is there, http://www.murraypicton.com/2011/01/exploring-the-iphones-accelerometer-through-javascript/ [15:33] xaq has joined the channel [15:33] nerdfiles has joined the channel [15:33] nerdfiles has left the channel [15:33] erichocean has left the channel [15:33] tomasztomczyk: here's the meetup page for more info http://www.meetup.com/The-Digital-Pond/events/38902082/ [15:33] jprichardson: saurabh: Do you have libssl-dev installed? [15:33] pendlepants has joined the channel [15:33] r04r has joined the channel [15:34] spion has joined the channel [15:34] baudehlo: please upvote on HN: http://news.ycombinator.com/item?id=3603614 :) [15:34] saurabh: checking [15:35] clockwize: guys, any idea why this doesn't work? always returns {} https://gist.github.com/1854050 (also, it's coffee) [15:38] wink_ has joined the channel [15:38] jprichardson: clockwize: yes... use `for key,val of obj` [15:38] CarlosC has joined the channel [15:38] clockwize: great, thank you :) [15:39] r04r has joined the channel [15:39] infynyxx has joined the channel [15:39] tommyvyo has joined the channel [15:40] nerdfiles has joined the channel [15:40] spion has joined the channel [15:41] tommyvyo has joined the channel [15:41] infynyxx has joined the channel [15:43] nerdfiles has left the channel [15:44] ryanfitz has joined the channel [15:45] r04r has joined the channel [15:46] TheFuzzball has joined the channel [15:47] meso_ has joined the channel [15:47] dilvie has joined the channel [15:48] pradeebv has joined the channel [15:48] Topcat has joined the channel [15:49] jamund has joined the channel [15:49] divoxx has joined the channel [15:49] petrjanda has joined the channel [15:49] spion has joined the channel [15:50] shanebo has joined the channel [15:51] mcoffee has joined the channel [15:51] wink__ has joined the channel [15:51] nicki9knuckles has joined the channel [15:52] tomasztomczyk has joined the channel [15:52] mraxilus has joined the channel [15:52] confoocious has joined the channel [15:52] confoocious has joined the channel [15:53] Glenjamin: baudehlo: put nodejs in the topic title, it'll get upvoted [15:53] seanbeausoleil has joined the channel [15:53] level09 has joined the channel [15:54] satyr has joined the channel [15:54] r04r has joined the channel [15:54] r04r has joined the channel [15:54] lohkey has joined the channel [15:56] baudehlo: Glenjamin: yeah I was *just* thinking that. [15:56] gavin_huang has joined the channel [15:56] nicki9knuckles: i have a beginner question about routes [15:57] infynyxx has joined the channel [15:57] wink_ has joined the channel [15:58] dthompso99 has joined the channel [15:58] torgeir has joined the channel [15:59] kingnebula has joined the channel [15:59] r04r has joined the channel [15:59] nicki9knuckles: if I am grabbing a url query in my route like "req.query.level", and setting it like "level: req.query.level", I can access "level" in the jade template no problem, but is there a way to access "level" from the pages javascript? [16:00] nicki9knuckles: or do I have to just pull the url apart in javascript and get the query strings that way? [16:00] robhawkes has joined the channel [16:00] Glenjamin: you can drop a data attribute into the element to make it easier for javascript to read [16:01] EvRide1 has joined the channel [16:01] tomgallacher has left the channel [16:01] christiankvalhei has joined the channel [16:01] Axefield has joined the channel [16:02] nicki9knuckles: hmm, ok, thanks [16:03] jerrysv has joined the channel [16:03] wink__ has joined the channel [16:03] jhbot: 'Responding request handlers with non-blocking operations on Node.js' by misconosciuto http://stackoverflow.com/q/9331504 [16:04] ts__ has joined the channel [16:04] r04r has joined the channel [16:05] marvin_ has joined the channel [16:05] pickels has joined the channel [16:06] mattgifford has joined the channel [16:06] stepheneb has joined the channel [16:07] themiddleman_itv has joined the channel [16:07] jhbot: 'Deploy a Node app from GitHub' by Mark Gia Bao Nguyen http://stackoverflow.com/q/9331570 [16:08] chirag has joined the channel [16:08] fatjonny has joined the channel [16:09] pixel13 has joined the channel [16:09] dob_ has joined the channel [16:10] jakehow has joined the channel [16:10] _th_n has joined the channel [16:10] jtsnow has joined the channel [16:11] r04r has joined the channel [16:11] slaskis: i have an npm package linked in a project but want to install it 'proper' in another project, how to i do that? it keeps using the link [16:11] skylamer` has joined the channel [16:11] isaacs: slaskis: just `npm install blah` in the other project [16:11] pixel13 has left the channel [16:11] saurabh: jprichardson: there was a problem with the installation of libssl-dev ,which got resolved [16:11] saurabh: and now its working fin [16:11] isaacs: slaskis: or `npm install ../blah` to install what's in the folder [16:11] saurabh: thanks! [16:12] saurabh: fine [16:13] slaskis: isaacs: ooh, ok. i just did `npm install`. seems to install properly now. thanks! [16:13] isaacs: slaskis: yeah `npm install ` will only install things that are missing [16:14] dob_: is there any project for distributed video encoding with node.js? [16:14] slaskis: isaacs: that makes a lot of sense [16:14] davehamptonusa has joined the channel [16:14] versicolor has joined the channel [16:15] porco has joined the channel [16:16] r04r has joined the channel [16:16] bbbb has joined the channel [16:16] maletor has joined the channel [16:17] spion has joined the channel [16:17] sorensen__ has joined the channel [16:17] EvRide has joined the channel [16:17] trotter has joined the channel [16:18] ts__: dob_: i don't know but i'm starting to work on a distributed computation engine in node [16:18] joshontheweb has joined the channel [16:18] dob_: ts__: Sounds very interesting! Are you using hook.io for distributing the data? [16:19] ts__: not at all [16:19] ts__: i started building something from scratch [16:19] ts__: using zeromq [16:19] ts__: i need guaranteed message processing [16:19] ts__: like twitter storm [16:19] ts__: but simpler to use and deploy [16:19] kenperkins has joined the channel [16:20] kirbysayshi has joined the channel [16:20] Tatort79 has joined the channel [16:20] Zzaichik has joined the channel [16:20] dob_: ts__: Sounds interesing. [16:20] blueadept has joined the channel [16:20] blueadept has joined the channel [16:21] dscape: how can you distinguish from `function(){}` and `Function` if they are in a variable (e.g. a = Function) [16:21] ts__: yep i'll put a poc on github when i have something [16:21] bbbb: dscape, test a == Function? [16:22] Destos has joined the channel [16:23] dscape: bbbb: that works [16:23] dscape: > a = Function; a === Function [16:23] dscape: true [16:23] joshthecoder has joined the channel [16:23] TimTimTim: probably a dumb question but... if i use a synchonous function, it only blocks the thread(s) for current process/connection right? so if a few clients query node at once and a sync function is called, only one of the clients is blocked? [16:23] bj0rn2 has joined the channel [16:24] bbbb: TimTimTim it blocks everything in the current process JS wise [16:24] TimTimTim: the only clients don't have to wait on the one client who happened to hit a synchronous function? [16:24] TimTimTim: *the other clients [16:24] aranw has joined the channel [16:24] dscape: bbbb: how would you do it generically ? Like, is this a Datatype or a function ? [16:24] bj0rn2: say, in a http server type node application, if a request handler callback gets stuck in a loop will this mean the whole application will be stuck? any good way to handle this? [16:24] rauchg has joined the channel [16:25] jdeibele1 has joined the channel [16:25] Glenjamin: don't loop [16:25] dob_: Never heard about zeromq, isn't it possible to distribute tasks via hook.io? [16:25] Glenjamin: well, don't loop synchronously [16:25] AvianFlu: bj0rn2, a request handler is a bad place for a big loop [16:25] Glenjamin: or farm out to other processes [16:25] bj0rn2: AvianFlu: sure it is, but bugs are known to be coded.. :) [16:25] davehamptonusa has left the channel [16:26] TimTimTim: bbbb, by process you mean the process induced by a connection/client's query? or the overall node app process? [16:26] AvianFlu: bj0rn2, I had a great one happen like that with our irc bot a few months back [16:26] AvianFlu: the twitter connection would just time out, endlessly [16:26] SamWhited has joined the channel [16:26] AvianFlu: but it was in its own process, so it was cool [16:26] ts__: dob_: i think hook.io can be used to distribute task yeah [16:27] bbbb: TimTimTim the overall app process if you do not use cluster, or a single worker otherwise [16:27] AvianFlu: then I checked... and saw someone trying to use a `while(true)` to parse data chunks in a request handler [16:27] level09 has joined the channel [16:27] ts__: dob_: but you are limited to pub/sub model [16:27] clockwize has joined the channel [16:27] Guest____ has joined the channel [16:27] TimTimTim: oh hmm... my server is a multicore processor, i don't suppose node takes advantage of that by default? [16:27] Guest____: Hi [16:27] bbbb: dscape that is a generic solution, you are checking something where both are typeof 'function' but want to see if one is Function constructor [16:28] TimTimTim: sorry for the newbie questions, i'm a newb O:) [16:28] ts__: TimTimTim: nop you need to use the cluster module to take advantage of multiple core [16:28] dob_: That's okay. I just want to upload videos and push encoding tasks to subscribed servers. New tasks should be blocked until the encoding on this machine is completed. [16:28] TimTimTim: hmmm ok i'll look into that when i get the chance, thanks! [16:28] bbbb: TimTimTim it will in C++ land but JS will still be tied to a single thread without workers [16:28] Guest____: running ./configure while trying to install node and I get this message: File "./configure", line 171 o['variables']['node_prefix'] = options.prefix if options.prefix else '' ^ SyntaxError: invalid syntax nightvie@nightview.se [~/downloads/git/node]# ./configure File "./configure", line 171 o['variables']['node_prefix'] = options.prefix if options.prefix else '' [16:29] Vespakoen has joined the channel [16:29] ts__: dob_: simple encoding is simple. But think of failure scenario like bad format, network error, power outage of nodes etc [16:30] ph^ has joined the channel [16:31] TimTimTim: so i suppose it's best practice to try to avoid synchronous functions at all times? [16:31] ts__: TimTimTim: yep [16:31] zomgbie has joined the channel [16:31] slaskis_ has joined the channel [16:31] ningu has left the channel [16:31] stonebra_ has joined the channel [16:31] ts__: TimTimTim: synchronous code can be helpfull when you bootstrap your application the resulting code might be much cleaner [16:31] bbbb: TimTimTim, if it is not a CPU bound task yes, otherwise either split it up to process.nextTick stuff or put it in a worker [16:32] teslan: how can i tell if my.html is trying to load "./img/my.jpg" or "../img/my.jpg" when all properties in request object have "/img/my.jpg" ? [16:32] TimTimTim: makes doing certain things a little too verbose for my tastes but hey, i'll let my code size increase a few lines if it means better performance [16:32] jiboumans_ has joined the channel [16:32] dob_: ts__: Yes but network errors and power outage should be a problem in every scenario. Bad format can be solved via reply from the client. [16:33] sven_oostenbrink has joined the channel [16:33] dob_: ts__: Or is this something zeromq solves out of the box? I don't expect that... [16:33] bbbb: teslan, you don't and should not care [16:33] bbbb: teslan if they are different images give them different urls [16:34] cconstantine has joined the channel [16:34] Guest____: Anyone ever get this messages. File "./configure", line 171 o['variables']['node_prefix'] = options.prefix if options.prefix else '' ^ SyntaxError: invalid syntax nightvie@nightview.se [~/downloads/git/node]# ./configure File "./configure", line 171 o['variables']['node_prefix'] = options.prefix if options.prefix else '' [16:34] ts__: zeromq is just a more advanced socket lib . It will handle reconnections, buffering sent and received message and guarantee that each message is sent and received in a single piece [16:34] teslan: bbbb: i am doing a bit of url "rewriting" to the effect of "/you/want/this" becoming "/get/it/here" [16:35] teslan: so i do care ;) [16:35] bbbb: explain rewriting, you already had the browser resolve the url? [16:35] whitman has joined the channel [16:35] baudehlo: I resubmitted with Node.js in the title: http://news.ycombinator.com/item?id=3603864 - upvotes pls! [16:35] TimTimTim: hmmm is there a reason mranny wrote node_redis so the redis commands' cases are inconsistent? :| [16:35] TimTimTim: https://github.com/mranney/node_redis/blob/master/test.js [16:35] ts__: and you have different type of socket to model some network pattern like pub/sub push/pull pair/pair request/reply [16:36] jhbot: 'Array.pop in Node skips and forgets a function item' by culebrón http://stackoverflow.com/q/9332039 (tags: javascript) [16:36] TimTimTim: like... there's "client.hset" and then "client.HINCRBY" :| [16:36] ts__: baudehlo: haraka looks good [16:37] TheJH has joined the channel [16:37] TheJH has joined the channel [16:38] dscape: bbbb: but i want to check if its a Funtion [16:38] socketio\test\73 has joined the channel [16:38] clockwize has joined the channel [16:38] xaq has joined the channel [16:39] kevwil has joined the channel [16:39] bbbb: dscape if it is a function of if it is Function? [16:39] Cromulent has joined the channel [16:39] bbbb: typeof a === 'function' will test if it has a [[call]] internal property [16:39] TimTimTim: i don't suppose anyone knows if there's some method to the seemingly inconsistent capitalization madness on the node_redis functions/commands seen at https://github.com/mranney/node_redis/blob/master/test.js ? [16:39] janekp has joined the channel [16:40] tom__ has joined the channel [16:40] maxogden: TimTimTim: combination of redis style and node style [16:40] icrazyhack has joined the channel [16:40] TimTimTim: maxogden does either work? [16:41] redir has joined the channel [16:41] TimTimTim: i thought it was case-sensitive? [16:41] isao has joined the channel [16:41] maxogden: hmm not sure now that you point it out. apparently it does :P [16:41] madtimber has joined the channel [16:41] colinclark has joined the channel [16:42] TimTimTim: oh well i guess i'll find out then LOL [16:42] TimTimTim: thanks :) [16:42] colinclark has joined the channel [16:42] porco has joined the channel [16:42] divoxx has joined the channel [16:43] Tricon has joined the channel [16:44] marcello3d has joined the channel [16:45] madtimber has joined the channel [16:45] mraleph has joined the channel [16:47] broofa has joined the channel [16:47] zomgbie has joined the channel [16:48] alvaro_o has joined the channel [16:48] fmeyer has joined the channel [16:49] Broolucks has joined the channel [16:50] hipsterslapfight has joined the channel [16:50] ningu has joined the channel [16:51] _Brun0_ has left the channel [16:52] kitt has joined the channel [16:52] kitt has joined the channel [16:52] nerdfiles1 has joined the channel [16:53] rickibalboa has joined the channel [16:54] fmeyer has joined the channel [16:54] retornam has joined the channel [16:54] CarterL has joined the channel [16:54] PElshoff has joined the channel [16:56] tanepiper: .wa days since 24 November 2006 [16:56] Revernd has joined the channel [16:57] overthemike has joined the channel [16:57] slaskis has joined the channel [16:57] overthemike has left the channel [16:57] jetienne_ has joined the channel [16:57] gr4yscale has joined the channel [16:59] fmeyer has joined the channel [17:00] shadowshell has joined the channel [17:00] RLa has joined the channel [17:00] jetienne_ has joined the channel [17:00] wink_ has joined the channel [17:01] markbao has joined the channel [17:01] airandfingers has joined the channel [17:02] qsobad has joined the channel [17:03] Guest____: When typing ./configure I get this message, File "./configure", line 171 o['variables']['node_prefix'] = options.prefix if options.prefix else '' SyntaxError: invalid syntax [17:03] Guest____: Anybody know a fix? [17:04] djbell has joined the channel [17:04] fmeyer has joined the channel [17:04] skylamer`: any know, why when im adding things to the db ( mongodb ), its overwriting the values from current adding, and it works fine when add only one time, then restart server and add again [17:06] donfrancisco has joined the channel [17:06] c4milo1 has joined the channel [17:06] salva has joined the channel [17:06] FIQ has joined the channel [17:06] tjholowaychuk has joined the channel [17:08] chrisinajar: using readline, is there a way to set the cursor position to the end of the current line (like pressing end)? when you do rl.prompt() it moves the cursor to the start of the line (like pressing home) [17:09] fmeyer has joined the channel [17:10] andrehjr_ has joined the channel [17:11] isao has joined the channel [17:11] rtgibbons has joined the channel [17:13] mAritz has joined the channel [17:13] r1ngzer0 has joined the channel [17:13] wink__ has joined the channel [17:14] benvie: rli.cursor = rli.line.length; this._refreshLine(); [17:14] benvie: er rli._refreshLine(); [17:14] adrianF has joined the channel [17:14] fmeyer has joined the channel [17:14] dnyy has joined the channel [17:15] langworthy has joined the channel [17:15] benvie: or rli.output.moveCursor(rli.line.length - rli.cursor); [17:17] maletor has joined the channel [17:18] ryanrolds_w has joined the channel [17:19] orlandovftw has joined the channel [17:19] Qbix1 has joined the channel [17:19] orlandovftw has joined the channel [17:19] cjroebuck has joined the channel [17:19] fmeyer has joined the channel [17:20] tdegrunt has joined the channel [17:20] baudehlo: it's on page 2, just need a few more button pushers to get up to the front page... http://news.ycombinator.com/item?id=3603864 ! [17:20] odyniec_ has joined the channel [17:21] bj0rn2 has left the channel [17:21] jakehow has joined the channel [17:21] andrehjr has joined the channel [17:21] dnjaramba has joined the channel [17:22] b_d has joined the channel [17:22] markdaws has joined the channel [17:22] tomasztomczyk has joined the channel [17:22] gr-eg has joined the channel [17:23] Skaag has joined the channel [17:24] tomgallacher has joined the channel [17:25] fmeyer has joined the channel [17:25] tomgallacher has left the channel [17:25] dilvie has joined the channel [17:25] jhbot: 'Node.js Can't set headers after they are sent. When initiating an XHR request within another XHR request' by exshovelrydr http://stackoverflow.com/q/9332698 (tags: jquery, xmlhttprequest, zepto) [17:25] isaacs: baudehlo: whoa! [17:26] isaacs: baudehlo: nice, that's a big deal for you, yeah? [17:26] baudehlo: well, it's not my day job. [17:26] isaacs: but i mean, as an endorsement of the software you've been making. [17:26] baudehlo: of course. [17:26] isaacs: that has to rock a little :) [17:26] baudehlo: and it's big for Node. [17:26] isaacs: yeah [17:27] isaacs: it's neat seeing it used for the "other" web protocol :) [17:27] baudehlo: so some stats (that they wouldn't let me put in the press release...) [17:27] baudehlo: they were using postfix... [17:27] isaacs: http gets all the attention, but email is still the bulk of communicationb. [17:27] baudehlo: and overloaded... [17:27] baudehlo: they're now using 4x less CPU [17:27] isaacs: nice [17:27] overthemike has joined the channel [17:27] baudehlo: and able to receive twice as much email [17:27] baudehlo: using the same hardware. [17:27] jiboumans_ has joined the channel [17:27] overthemike has left the channel [17:28] isaacs: it'd be fantastic to get *them* to write about it, get a quote for nodejs.org even. [17:28] baudehlo: postfix is still doing their outbound - so there's still a big win to be had there. [17:28] baudehlo: well they wrote that page. [17:28] baudehlo: they wanted control over the content [17:28] isaacs: oh, ok [17:28] baudehlo: but yeah, Chris would like to talk at one of the Node conferences. [17:28] isaacs: but i mean, on some craigslist site, not on your blog [17:28] skylamer`: isaacs, hi man, do u know what can be the problem with that 'mongoose and mongodb' stuff which i posted in the chat a little upper? [17:28] skylamer`: :) [17:28] isaacs: skylamer`: npe [17:28] baudehlo: isaacs: yeah absolutely. [17:29] isaacs: skylamer`: sorry, no idea. [17:29] skylamer`: k [17:29] boltR has joined the channel [17:30] ramitos has joined the channel [17:30] mAritz has joined the channel [17:30] stagas has joined the channel [17:30] fmeyer has joined the channel [17:30] baudehlo: isaacs: sadly I don't think they even posted on craigslist.org about their big perl foundation donation. [17:30] davidwalsh has joined the channel [17:31] baudehlo: or their use of mongodb [17:31] slloyd has joined the channel [17:32] EhevuTov has joined the channel [17:33] mAritz1 has joined the channel [17:33] baudehlo: ooh, it hit the front page of HN. [17:33] baudehlo: :-D [17:34] stonebranch has joined the channel [17:34] arlolra: baudehlo: congrats. upvoted [17:34] maletor: How can I console.log something at 10:45am PST? [17:35] benvie: that's a deep question [17:35] baudehlo: maletor: wait until that time before you hit enter. :-) [17:35] mAritz has joined the channel [17:35] maletor: baudehlo: but seriously :) [17:35] bindr has joined the channel [17:35] fmeyer has joined the channel [17:35] baudehlo: maletor: I guess you'd have to setTimeout for the right number of seconds until then. [17:35] maletor: if (Date() == 10:45am); console.log baudehlo is a jokster [17:36] Lorentz: There's a node smtp server? [17:36] Lorentz: I gotta check this out [17:36] baudehlo: :) [17:36] jhbot: 'How can I send an AJAX request to a node.js server via HTTPS?' by akronymn http://stackoverflow.com/q/9332838 (tags: ajax, https, tls) [17:36] Lorentz: postfix is such a pita to work with [17:36] gr4yscale has joined the channel [17:37] dgathright has joined the channel [17:37] krnl has joined the channel [17:37] norviller has joined the channel [17:37] jhbot: 'NodeJS return http.request' by Nick White http://stackoverflow.com/q/9332856 (tags: javascript) [17:38] jzacsh has joined the channel [17:38] jzacsh has joined the channel [17:38] jhbot: 'How should I organize multiple Express servers on the same system?' by Aaron http://stackoverflow.com/q/9332865 (tags: express, multiple-domains, http-proxy) [17:38] danielss89 has joined the channel [17:39] danielss89: Hi [17:39] danielss89: I'm trying to authenticate a user by using the session_id which i've set in a cookie, but data.headers.cookie is undefined? [17:39] danielss89: why would cookie not be in data.headers? [17:41] briancra_ has joined the channel [17:41] fmeyer has joined the channel [17:41] joshkehn has joined the channel [17:41] jamund has joined the channel [17:41] nerdfiles has joined the channel [17:42] davemo has joined the channel [17:42] mschneider has joined the channel [17:43] mikeal has joined the channel [17:44] robotmay has joined the channel [17:46] fmeyer has joined the channel [17:46] ryanrolds_w: danielss89: Are you using a particular framework? [17:46] krnl` has joined the channel [17:46] danielss89: ryanrolds_w: for nodejs? [17:46] ryanrolds_w: danielss89: yes. Are you using Express or anything like that? [17:46] danielss89: i'm using express, socket.io [17:47] ryanrolds_w: Do you have the cookieParser middleware "use"d in before whatever is looking for the cookie? [17:47] danielss89: umm i don't think so [17:48] ryanrolds_w: Ah, that's is likely the issue. [17:48] blubberbob has joined the channel [17:49] ryanrolds_w: You to make sure the cookieParser middleware is loaded and higher in the stack then whatever is trying to use cookies. [17:49] danielss89: ryanrolds_w: http://pastebin.com/23UJ1f4T [17:49] danielss89: how can i do that? [17:49] ryanrolds_w: Oh, wait this is a socket.io [17:50] ryanrolds_w: question. [17:50] ryanrolds_w: I haven't used socket.io enough to answer this question. [17:50] mattgifford has joined the channel [17:50] danielss89: ok [17:50] danielss89: ill try in the chan for it [17:50] ningu: hrm, javascript case doesn't work like C case allowing you to do things like case a: case b: case c: ... [17:50] ningu: right? [17:51] ryanrolds_w: It should. [17:51] fmeyer has joined the channel [17:51] ryanrolds_w: It supports falling through any number of cases [17:51] ningu: ah, ok. for some reason I thought it didn't. [17:52] shanebo_ has joined the channel [17:52] ryanrolds_w: ningu: You're probably thinking of Ruby. [17:53] adamkittelson has joined the channel [17:53] mandric has joined the channel [17:54] icrazyhack has joined the channel [17:54] felixhummel has joined the channel [17:56] fmeyer has joined the channel [17:56] divoxx has joined the channel [17:57] cha0s has joined the channel [17:57] cha0s has joined the channel [17:57] reid has joined the channel [17:57] nodeeetest has joined the channel [18:00] marvin_ has joined the channel [18:00] krnl`: can i create fifo files with nodejs? (As mkfifo() in C?) [18:00] nodeeetest has joined the channel [18:01] gregpascale has joined the channel [18:01] fmeyer has joined the channel [18:01] aaronmcadam has joined the channel [18:01] b_d has joined the channel [18:02] carlyle has joined the channel [18:03] mAritz1 has joined the channel [18:04] crutex has joined the channel [18:04] crutex has joined the channel [18:04] Salve has joined the channel [18:05] isaacs: krnl`: i don't think so, no [18:05] _th_n has joined the channel [18:05] Salve: Happy friday! :D [18:06] fmeyer has joined the channel [18:06] bartt has joined the channel [18:06] aranw has joined the channel [18:07] diminoten: mongoskin is kind of ugly [18:07] paulwe has joined the channel [18:08] StanlySoManly has joined the channel [18:10] stephank has joined the channel [18:11] BillyBreen has joined the channel [18:12] CIA-74: node: 03isaacs 07v0.6.11-release * re16c6c7 10/ Makefile : Fix #2770 Compile the OS X pkg as ia32 - http://git.io/ffbnOQ [18:12] CIA-74: node: 03isaacs 07v0.6.11-release * rb6d6aca 10/ (8 files in 6 dirs): (log message trimmed) [18:12] CIA-74: node: 2012.02.17 Version 0.6.11 (stable) [18:12] CIA-74: node: * http: allow multiple WebSocket RFC6455 headers (Einar Otto Stangvik) [18:12] CIA-74: node: * http: allow multiple WWW-Authenticate headers (Ben Noordhuis) [18:12] CIA-74: node: * windows: support unicode argv and environment variables (Bert Belder) [18:12] CIA-74: node: * tls: mitigate session renegotiation attacks (Ben Noordhuis) [18:12] CIA-74: node: * tcp, pipe: don't assert on uv_accept() errors (Ben Noordhuis) [18:12] CIA-74: node: 03isaacs 07v0.6.11-release * r4b8c73a 10/ (4 files in 2 dirs): [18:12] CIA-74: node: Revert "cluster: propagate bind errors" [18:12] CIA-74: node: This reverts commit 30e462e91937ced3847af3fe9c393ebd32294b68. - http://git.io/7aKWeg [18:12] franciscallo has joined the channel [18:12] Salve: what was that? [18:13] maxogden: hackers [18:13] joshkehn has left the channel [18:13] pizthewiz has joined the channel [18:13] Salve: hacking the irc serv? [18:13] maxogden: no hacking on nodejs code [18:13] franciscallo has joined the channel [18:13] isaacs: Salve: we have a bot that posts all the commits into irc [18:14] Salve: ahhh [18:14] AndreasMadsen has joined the channel [18:14] isaacs: Salve: very close to a v0.6.11 release. that was a force-push to the release branch [18:14] isaacs: Salve: when it's done, i'll tag it and merge it back to the v0.6 branch [18:14] Salve: nice [18:15] looopy has joined the channel [18:15] slickplaid: Aliens. http://i.imgur.com/Aux4u.jpg [18:15] Erlend^SE has joined the channel [18:16] tuhoojabotti: :o [18:17] ts__: is there a js linq lib in npm ? [18:17] isaacs: ts__: i don't think so [18:17] isaacs: you should write one :) [18:17] isaacs: ACTION doesn't actually know waht that is [18:18] ts__: isaacs: lol okay ! I saw jsonselect [18:18] robhawkes has joined the channel [18:18] tbranyen: jsonselect isn't really linq at all tho [18:18] ts__: isaacs: you know querying some js object [18:18] ts__: tbranyen: yeah true [18:18] maxogden: ts__: all querying APIs are not created equal [18:18] tbranyen: ts__: linq is so much more than that [18:20] krnl has joined the channel [18:20] tjholowaychuk has joined the channel [18:20] markwubben has joined the channel [18:20] samsonjs has joined the channel [18:20] patcito has joined the channel [18:21] isaacs: test, please: http://nodejs.org/dist/v0.6.11/node-v0.6.11-RC2.tar.gz [18:21] boltR has joined the channel [18:23] Destos has joined the channel [18:25] theBrettman has joined the channel [18:26] ryanfitz_ has joined the channel [18:27] jhbot: 'How to dump javascript data with functions to json?' by culebrón http://stackoverflow.com/q/9333414 (tags: javascript) [18:27] bjornstar has joined the channel [18:27] tuhoojabotti: ehh [18:27] Vespakoen has joined the channel [18:28] Sir_Rai has joined the channel [18:29] herbySk has joined the channel [18:29] Destos has joined the channel [18:30] dshaw_ has joined the channel [18:30] logicalparadox has joined the channel [18:30] spolu has joined the channel [18:32] infynyxx has joined the channel [18:32] sarlalian has joined the channel [18:32] mundanity has joined the channel [18:32] StanlySoManly has joined the channel [18:33] chrisinajar: is there any way with readline to either query what's been entered thus far or to hook on character events? [18:33] chrisinajar: i just need to know the length of what's entered from code before enter is pressed [18:33] joeferner has joined the channel [18:34] franciscallo has joined the channel [18:34] chrisinajar: i need this since .prompt() returns the cursor to the start of the line, as opposed to where the cursor was before... [18:35] slaskis has joined the channel [18:35] Basti2 has joined the channel [18:35] joeferner: does dnode encode Error objects from callbacks? I'm calling a method which has a callback and the first argument takes an error when the error pops out on the remote side all I get is an empty object. [18:36] khrome has joined the channel [18:36] Basti2 has joined the channel [18:36] jarek has joined the channel [18:36] jtsnow has joined the channel [18:37] salva has joined the channel [18:37] CIA-74: node: 03Fedor Indutny 07master * rae5e233 10/ (lib/repl.js test/simple/test-repl.js): (log message trimmed) [18:37] CIA-74: node: repl: remove double calls where possible [18:37] CIA-74: node: Repl is doing double evaluation of code: wrapped in parens and without [18:37] CIA-74: node: them. That's needed to allow users typing multiline chunks of code by [18:37] CIA-74: node: handling syntax errors on repl side. However if function declaration is [18:37] CIA-74: node: wrapped in parens (`(function a() {})`) calling it will be impossible, [18:37] salva has left the channel [18:37] CIA-74: node: so we're evaluating functions twice. That works fine for declaration, [18:37] cjroebuck has joined the channel [18:39] EhevuTov: chrisinajar, I'm not sure about node, but most readline functions in programs read after the newline char has been entered. Maybe you're looking for something like readchar [18:39] pradeebv has joined the channel [18:39] EhevuTov: I'm just guessing though [18:39] joeferner: If I call the callback with a string I get the string on the remote side [18:40] sharkbird has joined the channel [18:40] josh-k has joined the channel [18:40] pradeebv_ has joined the channel [18:40] petrjanda has joined the channel [18:40] chrisinajar: EhevuTov: all i care about is cursor position. the preserveCursor option makes it appear to be in the right spot but when you type the new characters go to the start of the line [18:40] chrisinajar: i'm seeing if i can fix it in readline.js instead [18:42] gregmoreno has joined the channel [18:42] StanlySoManly has joined the channel [18:42] te-brian has joined the channel [18:42] ph^ has joined the channel [18:42] spolu has joined the channel [18:45] tmcw: SubStack: you around? wondering if it's possible to run simple async tests with testing [18:46] jhbot: 'MVC with node.js: expressjs, backbonejs, railwayjs' by dplusm http://stackoverflow.com/q/9333668 (tags: mvc, symfony-2.0) [18:46] sharkbird has joined the channel [18:46] CIA-74: node: 03Maciej Małecki 07master * r977e211 10/ src/node.cc : [18:46] CIA-74: node: debugger: rename `process.debug_port` to `process.debugPort` [18:46] CIA-74: node: We should comply to to camelCase naming convention. - http://git.io/Xf4pvw [18:46] bhunt has joined the channel [18:47] margle has joined the channel [18:47] aristidesfl has joined the channel [18:48] TooTallNate has joined the channel [18:48] skyler_brungardt has joined the channel [18:48] igl1 has joined the channel [18:49] shanem has joined the channel [18:50] spolu has joined the channel [18:51] jaha has joined the channel [18:52] cgfuh has joined the channel [18:52] clockwize has joined the channel [18:52] hipsterslapfight has joined the channel [18:54] Country has joined the channel [18:54] dnyy has joined the channel [18:54] CarterL has joined the channel [18:54] isaacs has joined the channel [18:55] jaha: Hello all, having issues figuring out upnode and dnode. How would I setup client methods in upnode and also on the server how would I access the methods or emit events to a specific connected client. Here is what I have so far: http://pastie.org/3403178 [18:55] jaha: thanks in advance [18:58] infynyxx has joined the channel [18:58] edwardbc has joined the channel [18:59] Broolucks: is anybody here familiar with the tty module? [18:59] Broolucks: it seems that tty.setWindowSize disappeared in 0.6.0 without a replacement and I don't know why [19:00] benvie: sure did [19:00] malletjo has joined the channel [19:00] omenar has joined the channel [19:00] Broolucks: but it seems to work fine [19:01] omenar has left the channel [19:01] seanbeausoleil has joined the channel [19:04] `3rdEden has joined the channel [19:04] jhbot: 'Is it best practice to use package.json in an app that is not not a module but an end product?' by EhevuTov http://stackoverflow.com/q/9333875 (tags: npm) [19:04] Vespakoen has joined the channel [19:04] isaacs: EhevuTov: yes. [19:04] EhevuTov: isaacs, kewl [19:05] clockwize: is it possible to a while loop with the condition after the first iteration? [19:05] isaacs: clockwize: do { something() } while (cond); [19:05] EhevuTov: clockwize, like a do while [19:05] clockwize: ah, ok [19:05] clockwize: thank you [19:06] clockwize: is it possible to do that in coffeescript? can only find the normal one :/ [19:06] salva has joined the channel [19:07] panosru has joined the channel [19:07] salva has left the channel [19:07] diverdude has joined the channel [19:08] EhevuTov: clockwize, I don't think there is in coffeescript [19:08] TheJH: clockwize, not possible in coffee [19:08] Broolucks: I figure you can use while true ... break unless cond [19:08] EhevuTov: you have to use a loop and then break if foo [19:08] clockwize: damn, yeah i was thinking i'll do that [19:08] clockwize: ta [19:09] clockwize: bit annoying coffee is taking something useful away from js :( [19:09] tylerstalder has joined the channel [19:09] EhevuTov: clockwize, there are a couple things [19:09] Broolucks: frankly it doesn't even take more lines of code [19:09] EhevuTov: and i doubt it compiles down to anything differnt [19:10] clockwize: i like the things it adds but its a bit annoying having to compile it, etc [19:11] EhevuTov: clockwize, do you run into stack trace problems when you use it? [19:11] Broolucks: nope, it doesn't compile to do - while [19:11] jzacsh has joined the channel [19:11] jzacsh has joined the channel [19:11] Broolucks: but javascript probably compiles do - while to while anyway [19:11] Broolucks: as a simplification pass [19:11] EhevuTov: Broolucks, interesting [19:12] cha0s has joined the channel [19:12] cha0s has joined the channel [19:12] clockwize: EhevuTov: in what way? [19:12] tvw has joined the channel [19:12] dodo has joined the channel [19:13] ceej has joined the channel [19:13] overthemike has joined the channel [19:13] overthemike has left the channel [19:13] EhevuTov: clockwize, I've heard it's hard to debug. I was wondering if you've had first hand experience with any frustration debugging [19:16] sauerbraten: I'm not quite sure... do I need to install redis seperately if I want to use redis + persistency in node.js? [19:16] arduix has joined the channel [19:16] bkaney has joined the channel [19:17] skyler_brungardt: Is there a way to report the current filename *without* the absolute path to it? __filename gives the whole deal, and all I want is the current working file; ideally without RegExp to get it. [19:18] EhevuTov: skyler_brungardt, so you don't want to use something like process.title [19:18] fhd has joined the channel [19:19] mattgifford has joined the channel [19:19] nakkor has joined the channel [19:19] maxogden: skyler_brungardt: path.basename(__filename) [19:19] coredump has joined the channel [19:19] skyler_brungardt: process.title reports the node process, not the actual file the code is executed from. [19:19] tornad has joined the channel [19:20] coredump: Hello! I am using socket.io-client to connect to socket.io, both using node.js, the thing is I cant find the event or exception that is thrown, or should be thrown, when the client cant connect to the server (like, the server is down or the DNS is wrong, etc). [19:20] jhbot: 'Is there any good Admin UI for MySQL on Node.js, kinda like phpMyAdmin?' by pixelfreak http://stackoverflow.com/q/9334032 (tags: mysql, phpmyadmin) [19:20] mikeal has joined the channel [19:21] skyler_brungardt: maxogden: Word, thanks! [19:21] cris_ has joined the channel [19:21] maxogden: skyler_brungardt: sure thing, more fun functions at http://nodejs.org/docs/latest/api/path.html [19:21] nakkor: Node v.7 - any word on when that is thought to become stable? [19:21] skyler_brungardt: Yeah, I love the docs. Just forgot about 'path'. [19:21] skyler_brungardt: :-) [19:22] nakkor: or good guesses :) [19:22] maxogden: nakkor: .7 is an unstable branch, 0.8 is a stable branch (odd/even = unstable/stable) [19:22] tmcw has joined the channel [19:23] maxogden: nakkor: so the answer to your question is never [19:23] nakkor: maxogden: I guess my question is then when will 7 be made stable and become .8 [19:23] mmalecki: nakkor: use unstable if you need it's features? [19:24] nakkor: I would love to use it features, but I don't want a quarter of its tests failing :) [19:24] baudehlo: isaacs: cl added Haraka to their "Thanks" page: http://www.craigslist.org/about/thanks [19:24] colinclark has joined the channel [19:25] clockwize: EhevuTov: its fine, just have to remember to look in the generated js when you are looking at line numbers in stack traces.. its not hard to get used to the stuff it generates either [19:25] nakkor: bump, 0.8 eta? [19:25] satyr has joined the channel [19:26] isaacs: baudehlo: yeah [19:26] baudehlo: so at least people know I'm not just making it up ;) [19:26] baudehlo: although they could always telnet to CL's MX servers on port 25 and see. [19:27] bhunt has joined the channel [19:28] stonebranch has joined the channel [19:28] dshaw_ has joined the channel [19:29] vguerra has joined the channel [19:30] tomgallacher has joined the channel [19:31] tommyvyo has joined the channel [19:33] parshap has joined the channel [19:33] Mozillion has joined the channel [19:33] cha0s has joined the channel [19:33] boltR has joined the channel [19:37] andrewdeandrade has joined the channel [19:37] idefine has joined the channel [19:37] Erlend^SE has joined the channel [19:38] seanbeausoleil has joined the channel [19:39] thinkt4nk has joined the channel [19:41] jblanche has joined the channel [19:41] tonist has joined the channel [19:42] josh-k has joined the channel [19:43] jhbot: 'Why is my Socket.io Express app just sending to the 'sender's' client?' by Inc1982 http://stackoverflow.com/q/9334360 (tags: websocket, socket.io) [19:43] harthur has joined the channel [19:44] tmcw has joined the channel [19:44] madtimber has joined the channel [19:45] spcshpopr8r has joined the channel [19:46] olauzon has joined the channel [19:46] izak_ has joined the channel [19:47] mongolito404 has joined the channel [19:49] tomgallacher has joined the channel [19:49] jdeibele has joined the channel [19:51] blueadept: quick question, does Mongoose automatically index ObjectId types? [19:51] TheFuzzball has joined the channel [19:51] themiddleman_itv has joined the channel [19:51] Vennril has joined the channel [19:52] mongolito404: Hi, I'm looking for guidance reporting/working on an issue I've with node.js's HTTP server/parser (see http://stackoverflow.com/questions/9318837/serving-non-standard-http-method-with-expressjs) [19:53] AndreasMadsen has joined the channel [19:54] jskulski has joined the channel [19:54] AndreasMadsen has joined the channel [19:55] mikec2 has joined the channel [19:56] sorensen__ has joined the channel [19:56] harthur has joined the channel [19:57] swhit has joined the channel [19:57] coredump: anyone experienced with socket.io-client? [19:57] baudehlo: coredump: I've used it. [19:57] mikec2: I'm writing an app using socket.io, and the "reconnect_failed" event doesn't seem to get fired on the client side. I've set "max reconnection attempts" to 3, and I can see the 3 requests take place and fail, and no further requests take place. But the event doesn't fire. Anybody have any experience with this? [19:57] coredump: heh [19:58] coredump: we are kinda at the same place mikec2 [19:58] coredump: I am trying to use socket.io-client [19:58] mikec2: You are having problems with reconnect_failed too? [19:58] mikec2: I've got socket.io working generally [19:58] coredump: but when the server is down the connect() method seems simply to fail [20:00] tomgallacher_ has joined the channel [20:00] andrewdeandrade has joined the channel [20:03] cha0s has joined the channel [20:03] cha0s has joined the channel [20:06] davidwalsh has joined the channel [20:07] tomgallacher has joined the channel [20:07] skyler_brungardt: Grabbing the line number of a piece of code from a file; is there another way to do this other than with eval()? [20:07] diogogmt has joined the channel [20:08] coredump: @mike I dont think my client even tries to reconnect when the server is down [20:10] mikec2: I can see it attempting to reconnect by using firebug [20:10] napperjabber has joined the channel [20:11] coredump: Ah I am not using a browser, just socket.io-client on node [20:11] daniel` has joined the channel [20:11] jetienne has joined the channel [20:11] djbell has joined the channel [20:11] isaacs has joined the channel [20:12] EhevuTov: coredump, socket.io is supposed to auto reconnect by default. It explicitly doesn't if you've marked that to 'false'. seems strange [20:12] coredump: EhevuTov, socket.io-client too? [20:12] coredump: I must be doing something very stupid then [20:13] EhevuTov: coredump, ah, let me check [20:13] niallo: is there a pattern for cross-module mocking in node? e.g. write a test for a function in another module. the function under test calls a function in a different module (say a DB function). i would like to mock the DB function. [20:13] mc: is there an equivalent to process.binding('net') in node 0.6.10? [20:13] mc: i get a no such module error trying to run it on a mac [20:13] niallo: i found this: https://github.com/arunoda/horaa but it doesn't seem to work [20:14] niallo: so far i have been adding things to be mocked as params, but that is very ugly and i'd like to avoid. [20:14] bizniz98 has joined the channel [20:14] ph^ has joined the channel [20:14] tomgallacher_ has joined the channel [20:14] EhevuTov: coredump, there's a reconnect:true|false Do you know about the doc: https://github.com/LearnBoost/socket.io-client [20:15] CAP5792 has joined the channel [20:15] shinuza has joined the channel [20:15] niallo: there must be an obvious mocking patter for node which i'm just not aware of. [20:15] coredump: and the default is true [20:16] EhevuTov: coredump, last week I explicitly called disconnect in socket.io-client and it wouldn't let me reconnect. I'm not sure if that's an issue or just not possible [20:16] EhevuTov: coredump, right [20:16] coredump: EhevuTov, https://gist.github.com/f7c193a68e05cbebd653 <- coffeescript [20:16] jhbot: 'Node async library binding of this' by Brian Wigfield http://stackoverflow.com/q/9334799 (tags: asynchronous) [20:16] coredump: this connects if the server is running, but if the server is down it just cleanly exits [20:17] Axsuul has joined the channel [20:17] Axsuul has joined the channel [20:17] Axsuul has joined the channel [20:17] EhevuTov: coredump, and it's just randomly disconnecting? I use socket.io for an app and I've yet to get disconnected. I see heartbeats and everything just fine in the debugger [20:18] Axsuul has joined the channel [20:18] xavieralexander has joined the channel [20:18] coredump: EhevuTov, it works fine if the server is already running [20:18] Axsuul has joined the channel [20:18] kmiyashiro has joined the channel [20:18] Axsuul has joined the channel [20:18] coredump: but if the client tries to establish a new connection and the server is unreachable, it exits without raising an exception or anything [20:18] EhevuTov: coredump, I can bring up the server and down again as many times as I want and it works fine for me on my app [20:19] coredump: wth [20:19] Axsuul has joined the channel [20:19] coredump: can you gist the code part or point me to a repo if it's open [20:21] snearch has joined the channel [20:21] EhevuTov: coredump, https://github.com/EhevuTov/netPeek/blob/master/public/javascripts/netpeek.js I'm new so it ain't purty [20:22] mjr_ has joined the channel [20:22] mcluskydodallas has joined the channel [20:22] hipertracker has joined the channel [20:23] Kevlar_ has joined the channel [20:23] whaley has joined the channel [20:24] Kevlar_: I'm following the basic Socket.io instructions to create a basic chat application.. and it seems I can only get a message to broadcast back to the original sender.. help is appreciated [20:24] Kevlar_: er I should add I'm using Express [20:24] looopy has joined the channel [20:24] mjr_ has left the channel [20:25] EhevuTov: coredump, I might not even understand my own code, but I'm pretty sure I'm gracefully disconnecting and connecting. I'm unsure how web sockets work in depth (do they create a brand new http connection, etc) [20:26] ramitos has joined the channel [20:27] EhevuTov: coredump, also, I'm doing a broadcast more or less, so if you're expecting a session specific connection, I'm not sure how to do that yet [20:27] xavieralexander has left the channel [20:28] themiddleman_itv has joined the channel [20:28] tommyvyo has joined the channel [20:29] coredump: Kevlar_ [20:29] Qbix1 has joined the channel [20:29] coredump: you can save each client to an object [20:30] coredump: and then use it to send stuff back to it [20:30] coredump: and you can use 'set' to set stuff on each socket too [20:30] EhevuTov: coredump, yeah, like have a list of clients on the server right [20:30] robhawkes has joined the channel [20:30] Kevlar_: coredump: this is my current socket code [20:30] Kevlar_: https://gist.github.com/73ab86dd95159af6a3e2 [20:31] EhevuTov: Kevlar_, I think I saw a nodetuts video that did what you're wanting [20:32] Kevlar_: EhevuTov: i'll look for for that thanks [20:32] coredump: but you are using broadcast [20:32] coredump: this is what I said about saving the clients: [20:32] coredump: https://gist.github.com/7099c4541edb6090749a [20:32] coredump: sorry I despise javascript so all my code is coffeescript [20:32] _Brun0_ has joined the channel [20:32] tylerstalder has joined the channel [20:33] EhevuTov: Kevlar_, yeah check out coredump 's gist. That's the idea. [20:33] storrgie has joined the channel [20:33] Gekz has joined the channel [20:33] Gekz has joined the channel [20:33] coredump: you can use socket.id as the object key too [20:33] CAP5792 has left the channel [20:33] coredump: but using a name you set is easier to actually find what you are looking [20:34] Kevlar_: coredump: thanks, I'll try and digest this, only started with node a couple hours ago [20:34] Kevlar_: coredump: clearly this is the answer htough [20:35] coredump: remember to remove the sockets from the object on disconnect :P [20:35] localhost has joined the channel [20:35] coredump: don't want stuff leaking around [20:35] Kevlar_: coredump: will do ;) [20:35] ryanfitz has joined the channel [20:36] shinuza has joined the channel [20:38] coredump: EhevuTov, wth you dont do anything different. [20:38] EhevuTov: coredump, I know, I don't know what to tell you :-) [20:38] icrazyhack has joined the channel [20:38] carlyle has joined the channel [20:39] EhevuTov: coredump, I think maybe it's something to do with the serverside [20:39] Kevlar_: coredump: just to clarify, it seems here you are setting the hostname for each.. and identifying each socket by its hostname in the clients variable, is that correct? [20:39] coredump: @kevlar yes [20:39] coredump: Kevlar_, each clients emits a 'set hostname', hostname on the 'connected' event [20:40] Kevlar_: coredump: so then when sendign to all the clients.. would i loop through the clients variable and send to all.. or do I just broadcast on the clients var [20:40] EhevuTov: coredump, I think the high level difference between your app and mine, is that I broadcast, while I think you probably try to make a connection to a previous connection [20:40] spolu has joined the channel [20:40] coredump: EhevuTov, I try yo make a brand new connection [20:40] coredump: I expected a error really [20:41] coredump: because the port cant be reached [20:41] coredump: Kevlar_, I would use socket.emit [20:41] coredump: if you emit on the socket.io object, instead of the callback socket object, you send to all clients connected [20:42] Kevlar_: oh :) [20:45] EhevuTov: coredump, you could answer this question then: http://stackoverflow.com/questions/9334360/why-is-my-socket-io-express-app-just-sending-to-the-senders-client [20:46] Lingus: EhevuTov: Because you only send it to the socket that sends the message [20:47] shanem has joined the channel [20:48] ashishg has joined the channel [20:48] stagas has joined the channel [20:48] Lingus: You want socket.broadcast.send(data) [20:49] d0k has joined the channel [20:49] isaacs__ has joined the channel [20:50] Kevlar_: EhevuTov: that's my question [20:50] EhevuTov: Kevlar_, I thought so :-) [20:50] Kevlar_: EhevuTov: hehe [20:50] shinuza_ has joined the channel [20:50] bkaney has joined the channel [20:51] EhevuTov: Lingus, thanks. I'm not sure if I will eventually want a broadcast or not. It depends on what layer I want to do my filtering. thanks for the insight though [20:51] cconstantin has joined the channel [20:51] ircretary has joined the channel [20:53] dreamdust has left the channel [20:53] Kingdutch: How come a JSON.stringify returns an empty array? [] [20:54] bradleymeck: Kingdutch, cause arrays don't have properties by name, only by index in JSON? [20:54] bradleymeck: if you pass an array to JSON.stringify it will serialize as an array [20:54] skyler_brungardt: Is there a way to determine which file is "requiring" another file? Catching the "parent context", so to speak? [20:54] Kingdutch: bradleymeck: So what can I do for a key-value array? [20:55] bradleymeck: Kingdutch, use an object [20:55] Kingdutch: But I need some array functions =| Gah [20:55] TheJH: skylamer`, I doubt it [20:55] bradleymeck: Kingdutch, then use an array, encapsulation the thing [20:55] Kingdutch: I don't want to change my array.forEAch for everything :') [20:56] bradleymeck: skyler_brungardt, you don't and you don't want to in short, it causes leaky abstractions [20:57] seanbeausoleil has joined the channel [20:57] skyler_brungardt: bradleymeck: Ok, so passing as an arg it is. Thx [20:57] jergason has joined the channel [20:58] benvie: .. String.prototype.__proto__ = Array.prototype; "surprise".map(''.concat.bind(' ')) [20:58] catb0t: [ " s0surprise", " u1surprise", " r2surprise", " p3surprise", " r4surprise", " i5surprise", " s6surprise", " e7surprise" ] [21:00] kickingvegas has joined the channel [21:01] bradleymeck: benvie, that makes a sad panda [21:01] dnjaramba_ has joined the channel [21:01] bradleymeck: .. String.prototype.__proto__ = Array.prototype; JSON.stringify(new String('abc')) [21:01] catb0t: ""abc"" [21:02] bradleymeck: mmm interesting, but substr match replace etc now would fail [21:02] benvie: the issue with that was the new string part [21:02] benvie: .. String(' ') === ' ' [21:02] catb0t: true [21:02] benvie: .. new String(' ') === ' ' [21:02] catb0t: false [21:03] benvie: .. new String('abcdef') [21:03] catb0t: { abcdef 0: "a", 1: "b", 2: "c", 3: "d", 4: "e", 5: "f" } [21:03] benvie: same as Object('abcdef') [21:05] bradleymeck: not quite [21:05] bradleymeck: .. [ new String('abcdef').replace, Object('abcdef').replace ] [21:05] catb0t: [[Function: replace],[Function: replace] ] [21:05] margle has joined the channel [21:05] bradleymeck: mmm interesting none the less [21:06] benvie: constructors call ToObject on primitive returns which is the same as Object [21:06] benvie: not new Object, just Object [21:07] benvie: and that's how you get function isPrimitive(o){ return Object(o) !== o } [21:07] koo3 has joined the channel [21:07] mikeal has joined the channel [21:08] shinuza has joined the channel [21:10] lperrin has joined the channel [21:10] Dotan has joined the channel [21:10] seanbeausoleil has joined the channel [21:11] CIA-74: node: 03isaacs 07v0.6.11-release * r4672872 10/ Makefile : Fix #2770 Compile the OS X pkg as ia32 - http://git.io/L2AfSQ [21:11] CIA-74: node: 03isaacs 07v0.6.11-release * ra2851b6 10/ (3 files in 2 dirs): [21:11] CIA-74: node: Revert "cluster: propagate bind errors" [21:11] CIA-74: node: This reverts commit 30e462e91937ced3847af3fe9c393ebd32294b68. - http://git.io/f-feyA [21:11] CIA-74: node: 03isaacs 07v0.6.11-release * r1eb1fe3 10/ (8 files in 6 dirs): (log message trimmed) [21:11] CIA-74: node: 2012.02.17 Version 0.6.11 (stable) [21:11] CIA-74: node: * http: allow multiple WebSocket RFC6455 headers (Einar Otto Stangvik) [21:11] CIA-74: node: * http: allow multiple WWW-Authenticate headers (Ben Noordhuis) [21:11] CIA-74: node: * windows: support unicode argv and environment variables (Bert Belder) [21:11] CIA-74: node: * tls: mitigate session renegotiation attacks (Ben Noordhuis) [21:11] CIA-74: node: * tcp, pipe: don't assert on uv_accept() errors (Ben Noordhuis) [21:11] ben___ has joined the channel [21:12] jamescarr has joined the channel [21:13] Guest13051: question for anyone: I'm a linux noob. after I install node can I delete the folder it unzipped to? [21:13] agnat has joined the channel [21:13] gr4yscale has joined the channel [21:14] Guest13051: anyone? [21:14] torvalamo: yes [21:14] Guest13051: ok thanks! [21:14] shinuza has joined the channel [21:15] Skaag_ has joined the channel [21:15] torvalamo: you can run make uninstall from your source directory [21:15] dmsuperman has joined the channel [21:15] torvalamo: if you used make to install it [21:15] Guest13051: i meant without uninstalling it [21:15] Guest13051: just to clean up [21:16] torvalamo: oh right [21:16] torvalamo: yes [21:16] Guest13051: so the folder it unzips to has nothing to do with the install after i make install it [21:16] dmsuperman: Using the JSON.stringify method, what happens to elements of an object whose value is a function? [21:16] torvalamo: nope [21:16] Guest13051: ok thanks for your help [21:16] jaha has joined the channel [21:17] WeeJeWel has joined the channel [21:17] torvalamo: dmsuperman, it is ignored [21:18] dmsuperman: the value or the entire element? [21:18] torvalamo: .. a = {f: function() {return true}}; JSON.stringify(a) [21:18] catb0t: "{}" [21:18] dmsuperman: I see, thanks [21:18] torvalamo: .. a = {f: function() {return true}, b: 0}; JSON.stringify(a) [21:18] catb0t: "{"b":0}" [21:18] willwhite has joined the channel [21:18] dmsuperman: .. a = {f: undefined}; JSON.stringify(a) [21:18] catb0t: "{}" [21:18] dmsuperman: hrmm [21:18] dmsuperman: alright [21:18] torvalamo: undefined means it's not there [21:18] torvalamo: so [21:18] dmsuperman: .. a = {f: null}; JSON.stringify(a) [21:18] catb0t: "{"f":null}" [21:19] torvalamo: obv is wouldn't be included [21:19] torvalamo: it* [21:19] infynyxx has joined the channel [21:19] dmsuperman: well you could iterate over that object and get undefined [21:19] dmsuperman: but I see why it does that for JSON [21:19] dmsuperman: thanks for the help [21:19] torvalamo: true [21:19] torvalamo: but why would you [21:19] torvalamo: np [21:19] dmsuperman: object = "blessed" mongo record [21:20] dmsuperman: with extra code augmented on top [21:20] dmsuperman: I want to just JSONify it directly without having to keep a copy of the record-data-only [21:20] insin has joined the channel [21:20] dmsuperman: Just want to make sure I'm covering all bases [21:20] shinuza has joined the channel [21:20] asteros has joined the channel [21:21] larsschenk has joined the channel [21:21] joshkehn has joined the channel [21:23] larsschenk has left the channel [21:23] shinuza has joined the channel [21:23] lohkey has joined the channel [21:24] mcav has joined the channel [21:24] gr4yscale has joined the channel [21:24] shinuza_ has joined the channel [21:26] dve has joined the channel [21:26] db42 has joined the channel [21:26] joshsmith has joined the channel [21:26] db42: hi, i've installed nodejs via mac homebrew, yet it can't find the modules i am installing via npm, ideas ? [21:26] maxogden: path dog [21:27] db42: did it as well [21:27] mAritz has joined the channel [21:27] ryanj has joined the channel [21:27] clockwize: If I wanted to block a web response until I had some data to return, I can but how should I set it up to block on the server side correctly (is a while loop bad?) [21:27] skylamer`: how to make 'insert' with mongoose, i am making 'save', but it allows only one entry at server start , . . ? [21:27] db42: cat .bashrc [21:27] db42: export NODE_PATH="/usr/local/lib/node" [21:27] db42: export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/usr/local/share/npm/bin:$PATH" [21:27] isaacs: db42: npm install locally or with -g? [21:27] db42: isn't that ok ? [21:27] db42: npm install express (for example) [21:27] isaacs: db42: you have to install them in your project to require() them [21:27] db42: ohh [21:27] db42: if i write npm install express somewhere, where does it put it ? [21:27] isaacs: db42: npm faq <-- run that, read the first few entries [21:27] isaacs: it's kinda like bundler. [21:28] isaacs: db42: it puts it in ./node_modules [21:28] daniel`: this has got to be one of the most fucked-up things in Javascript: "foo" instanceof String === false && 123 instanceof Number === false [21:28] isaacs: it tells you when you install it [21:28] maxogden: clockwize: a) block is improper terminology b) you want to use a callback [21:28] db42: ohh, thanks, will check [21:28] maxogden: daniel`: http://wtfjs.com has worse [21:28] isaacs: db42: srsly, though, read `npm faq` [21:28] isaacs: it explains exactly this point [21:28] clockwize: hmm, i kinda know, but whats gonna call the callback :) [21:28] shinuza has joined the channel [21:28] Guest13051: do you have to install npm in any way in the current stable version of node or does it install along with node? [21:28] daniel`: maxogden: first entry there `Math.max() === -Infinity` makes complete sense [21:28] db42: i see, reading (my first node usage :) ) [21:29] maxogden: clockwize: the function that returns your data [21:29] daniel`: that’s what you’d want it to return [21:29] maxogden: daniel`: haha [21:29] illourr has joined the channel [21:29] daniel`: maxogden: seriously; just like [].every(function () {}) === true [21:30] mcav has joined the channel [21:30] mc: anyone know of any good libraries to use for shell scripting? procstreams is the only even somewhat current one i've found [21:30] clockwize: maxogden: but that doesn't block, it either returns null or some data, as soon as it has got that data (or none existed yet) [21:30] db42: any mac users here ? any idea why ~/.bashrc isn't being read ? [21:31] mc: db42: you want ~/.bash_profile [21:31] daniel`: maxogden: or (if it existed) Math.sum() === 0 && Math.product() === 1 [21:31] db42: ohh, thanks :) [21:31] context: or just ~/.profile [21:31] clockwize: i think if you have an .profile or .bash_profile they get called instead [21:31] db42: context export is bash ? [21:31] context: what [21:31] db42: export won't work in other shells, but nm, worked [21:32] mc: .bash_profile is for login shells, .bashrc is for non-login shells [21:32] jhbot: 'Can I pass an entire javascript object to Node.js for server processing?' by Rayfusion http://stackoverflow.com/q/9335701 (tags: socket.io) [21:33] joshkehn has joined the channel [21:33] joshkehn has left the channel [21:33] daniel`: maxogden: or think about it like this: -Infinity is the "minimum of everything", so what would be the "minimum of nothing"? [21:33] marvin_ has joined the channel [21:33] dodo has joined the channel [21:34] al3xnull has joined the channel [21:34] eeemsi: where's the blog entry for the new release? [21:34] CIA-74: node: 03isaacs 07v0.6.11-release * rf73f07e 10/ src/node_version.h : Now working on 0.6.12 - http://git.io/skYonQ [21:35] ramitos: is there a way to get the file creation date? [21:36] CIA-74: node: 03isaacs 07v0.6 * r1eb1fe3 10/ (8 files in 6 dirs): (log message trimmed) [21:36] CIA-74: node: 2012.02.17 Version 0.6.11 (stable) [21:36] CIA-74: node: * http: allow multiple WebSocket RFC6455 headers (Einar Otto Stangvik) [21:36] CIA-74: node: * http: allow multiple WWW-Authenticate headers (Ben Noordhuis) [21:36] CIA-74: node: * windows: support unicode argv and environment variables (Bert Belder) [21:36] CIA-74: node: * tls: mitigate session renegotiation attacks (Ben Noordhuis) [21:36] CIA-74: node: * tcp, pipe: don't assert on uv_accept() errors (Ben Noordhuis) [21:36] CIA-74: node: 03isaacs 07v0.6 * rf73f07e 10/ src/node_version.h : Now working on 0.6.12 - http://git.io/skYonQ [21:36] wbednarski has joined the channel [21:36] CIA-74: node: 03isaacs 07v0.6 * r4672872 10/ Makefile : Fix #2770 Compile the OS X pkg as ia32 - http://git.io/L2AfSQ [21:36] CIA-74: node: 03isaacs 07v0.6 * ra2851b6 10/ (3 files in 2 dirs): [21:36] CIA-74: node: Revert "cluster: propagate bind errors" [21:36] CIA-74: node: This reverts commit 30e462e91937ced3847af3fe9c393ebd32294b68. - http://git.io/f-feyA [21:36] CIA-74: node: 03isaacs 07v0.6 * rdfed2ce 10/ (17 files in 12 dirs): Merge branch 'v0.6.11-release' into v0.6 - http://git.io/23oajg [21:36] mattgifford has joined the channel [21:38] lazyshot has joined the channel [21:39] isaacs: retweet every tweet! https://twitter.com/nodejs/status/170623307127861248 [21:39] Edy: done :) [21:40] dpino has joined the channel [21:41] Edy: $ brew update [21:41] Edy: Already up-to-date. [21:41] Edy: :( [21:41] sauerbraten: ramitos, maybe this: http://nodejs.org/docs/latest/api/all.html#fs.Stats [21:41] sauerbraten: I guess it is access time, modify time and creation time [21:42] ramitos: sauerbraten I will test, but I think it's --change time--, --access time-- and --modify time-- [21:42] ramitos: http://www.brandonhutchinson.com/ctime_atime_mtime.html [21:44] TheJH: I think I'm really convinced now: I want a small, energy-efficient thing here that can run bots and little servers and stuff. maybe with 512MB or 1GB RAM, and under 5W energy consumption. What are good devices for that? [21:44] sauerbraten: ramitos, what is the difference between change time and modify time? just that changetime gets reset when permissions change but contents stay the same? [21:44] sauerbraten: TheJH, pandaboard? [21:45] ramitos: sauerbraten I think change is about the info about the file, and the modify is the content [21:45] blup has joined the channel [21:45] ramitos: I tested, and a file created in January [21:45] ramitos: atime: Fri, 17 Feb 2012 21:34:57 GMT, [21:45] ramitos: mtime: Fri, 17 Feb 2012 21:29:07 GMT, [21:45] ramitos: ctime: Fri, 17 Feb 2012 21:29:07 GMT } [21:45] sauerbraten: I'm not sure what it consumes, but it has 1ghz processor, 512MB / 1 GB ram, not sure right now, also there is a newer version out now than I've got [21:46] sauerbraten: ramitos, according to your link, ctime gets reset every time mtime gets reset, too [21:46] ashishg has joined the channel [21:47] ramitos: sauerbraten yes, but if I don't change the content of the file, the mtime isn't changed [21:47] sauerbraten: yes [21:47] TheJH: sauerbraten, hmm, sounds good [21:47] TheJH: thanks :) [21:47] AvianFlu has joined the channel [21:48] sauerbraten: TheJH, though, the pandaboard also has a quite powerful graphics chip, which would be wasted money if you do not actually use it. there are a lot of other boards, like beagleboard or hawkboard, but I don't know about their specs [21:49] mc: TheJH: the raspberry pi will be getting launched soon.. don't know if you can wait a few weeks/months for stock, but that'll be a nice cheap one [21:50] jamescarr: anyone use node.js with github's API? [21:50] TheJH: jamescarr, yes [21:50] shanem has joined the channel [21:50] Dmitriju1: mc: yep, cant wait [21:50] TheJH: jamescarr, you mean, anyone using githubs API from node? [21:50] jamescarr: yeah...what do you use for oauth? [21:50] sauerbraten: mc: it only has 256MB ram though, which might be enough for node.js, I don't know [21:51] jamescarr: I was going to try mikeal's request [21:51] TheJH: !git context joyent/node LICENSE 10 [21:51] jhbot: 09 rights to use, copy, modify, merge, publish, distribute, sublicense, and/or [21:51] jhbot: 10 sell copies of the Software, and to permit persons to whom the Software is [21:51] jamescarr: but I'm having some problems :( [21:51] jhbot: 11 furnished to do so, subject to the following conditions: [21:51] mc: might be [21:51] average_drifter has joined the channel [21:51] TheJH: jamescarr, huh? oauth? what should I need that for? [21:51] jamescarr: TheJH, oh, I guess you use basic auth? [21:53] shinuza has joined the channel [21:54] TheJH: jamescarr, yes, I think so [21:54] jamescarr: TheJH, ah [21:54] jamescarr: no good :) [21:54] jamescarr: it's not what I'm going to use :) [21:54] TheJH: why not? [21:54] tyfighter has joined the channel [21:55] jamescarr: I guess I might as well.. I can't believe oauth behaves like this [21:56] TheJH: mc, nice, that looks really good :) [21:56] jamescarr: basically I'm writing an app to search across multiple github repos [21:56] mc: jamescarr: fermata is nice for making api requests [21:57] mc: and oauth [21:58] harthur has joined the channel [22:00] reid has joined the channel [22:00] sauerbraten: I guess util.puts() is deprecated? [22:01] sauerbraten: found it in a gist, but there's nothing in the docs about it. I guess it's the same as console.log()? [22:01] clockwize has joined the channel [22:02] andrehjr has joined the channel [22:02] jamescarr: hmmm... capturing passwords from the commandline? [22:03] ph^ has joined the channel [22:03] jamescarr: nvm, I'll use commander [22:03] mmalecki: prompt module is nice [22:03] sharkbird has joined the channel [22:04] EuroNerd has joined the channel [22:04] EuroNerd has joined the channel [22:04] Qbix1 has joined the channel [22:05] jolo2 has joined the channel [22:05] jesusabdullah: sauerbraten: more or less yes [22:05] te-brian2 has joined the channel [22:05] diogogmt has joined the channel [22:05] dnjaramba has joined the channel [22:06] jesusabdullah: jamescarr: I second mmalecki, check out the prompt module [22:06] StanlySoManly has joined the channel [22:07] rummik: How do I find the working directory of the inital script from within a module? [22:07] willwhite has joined the channel [22:08] nakkor has joined the channel [22:09] jhooks has joined the channel [22:09] dnjaramba_ has joined the channel [22:10] jamescarr: sigh... I thought mikeal's request module handled basic auth? [22:10] jamescarr: I cant find any examples [22:10] polotek has joined the channel [22:10] stisti has joined the channel [22:10] jamescarr: ah it works [22:10] ohtogo has joined the channel [22:10] jamescarr: forgot the https [22:11] teslan: inside node.js i am using request module to go to iriscouch.com and i am logging request.url inside createServer() and i see no requests for /favicon.ico and instead iriscouch.db is showing up in the browser ... how come? [22:12] hellp has joined the channel [22:13] shanem has joined the channel [22:14] ohtogo has left the channel [22:16] ohtogo has joined the channel [22:16] rummik: Ah. I see [22:16] rummik: path.dirname(require.main.filename) [22:17] mikeal: jamesbathgate: it handles it fine [22:17] mikeal: request('http://user:pass@host.com') [22:17] jamesbathgate: mikeal: ummmm... ok... [22:17] jamesbathgate: did you mean jamescarr ? [22:17] mikeal: whoops [22:17] mikeal: jamescarr: ^^ [22:18] jamescarr: mikeal, yeah, I was being dumb [22:18] codepal has joined the channel [22:18] jamescarr: I used http instead of https [22:18] mikeal: too many people in here to use effective auto-complete [22:18] jamescarr: and the response from the other server didn't give me a clue to what I did wrong [22:18] jamescarr: just smacked me with a 404 :) [22:18] mikeal: odd [22:21] Brunswick has joined the channel [22:21] shanem has joined the channel [22:21] DoNaLd` has joined the channel [22:22] whaley has joined the channel [22:23] asteros has joined the channel [22:24] robhawkes has joined the channel [22:24] jimbot has joined the channel [22:25] jamescarr: nice. got a good start [22:25] jaha: Using dnode… if I store the clients in an object It also stores their methods but how do I access them from outside dnode?? Say if I want to specifically "msg" a client through an app.get in express? thanks. [22:25] jamescarr: my app at the very least retrieves a listing of all the private git repos in our organization [22:25] jamescarr: now I just need to investigate how to clone them all and index the files [22:25] johnhamelink has joined the channel [22:26] context: jamescarr: 'git clone' [22:27] jerrysv_ has joined the channel [22:29] PatF has joined the channel [22:29] jj0hns0n has joined the channel [22:33] jamescarr: context, heh, that part is easy. I'm going to index the files for searching. Probably use lucene [22:33] jamescarr: a problem people had was the inability to search across multiple projects [22:34] mAritz has joined the channel [22:35] jamescarr: gonna give this a try: https://github.com/christkv/node-git [22:36] teslan: mikeal: using request.pipe() can i somehow plug in a callback function to handle 404 and other one line error messages that are coming back from my couchapp back end ? [22:36] tylerstalder has joined the channel [22:36] jamescarr: er, nodegit by tbranyen [22:36] InSuperposition has joined the channel [22:38] shanem has joined the channel [22:38] mikeal: teslan: do you want to alter the pipe behavior? [22:38] mikeal: you don't want to return the 404? [22:38] jaha has joined the channel [22:40] jhurliman has joined the channel [22:41] BillyBreen has joined the channel [22:41] jhurliman: does mikeal's request library support resuming a file download? i'm wondering if it makes more sense to use request for downloading files with resume support or if i should just exec curl [22:42] polyrhythmic has joined the channel [22:43] bindr has joined the channel [22:43] RLa: isn't that just matter of sending content-range header? [22:43] sarlalian has joined the channel [22:43] sarlalian has left the channel [22:45] mikeal: curl will read the output file to see how long it is and do that auto-matically [22:46] mikeal: hrm... [22:46] hoik has joined the channel [22:46] mikeal: request could do that with some changes, but i don't think i'm comfortable with being that atomatic about it [22:48] hoik: Could someone advise me on the proper way to hook together python and node on the server side (node for events w/ socket io, python for database access and processing) please ? [22:51] Cromulent has joined the channel [22:53] jamescarr has joined the channel [22:53] Skyjoker has joined the channel [22:54] jamescarr: eh, I'm just gonna call git clone using child_process [22:54] StanlySoManly has joined the channel [22:55] isao has joined the channel [22:55] teslan: mikeal: i want 404 to get returned but i want to pipe a diffeferent body ... or maybe i am an idiot an i should reformat in browser ;) [22:56] bindr has joined the channel [22:56] jamescarr: yikes [22:56] jamescarr: hahaha [22:56] jhurliman: mikeal, no worries, just checking. there's also dealing with servers that don't support byte range requests and other edge cases [22:57] jamescarr: I didn't realize my script was going to clone 50 github repos :) [22:58] hoik: Could someone point me in the right direction for the proper way to hook together python and node on the server side please? [22:59] CIA-74: node: 03Ben Noordhuis 07v0.6 * r23c4278 10/ doc/api/tls.markdown : docs: fix tls markdown - http://git.io/NpT-AQ [22:59] jconnolly has joined the channel [23:00] jconnolly has left the channel [23:00] jaha: anyone know id nowjs can do server-server? [23:00] jaha: if* [23:01] enmand has joined the channel [23:02] jerrysv has joined the channel [23:02] lohkey: jaha, sounds scary, i'd look at dnode [23:02] idefine has joined the channel [23:03] westg has joined the channel [23:04] lohkey_ has joined the channel [23:04] pyrotechnick has joined the channel [23:04] jconnolly has joined the channel [23:05] jconnolly: quick node question... [23:05] jconnolly: I have my server.js that's handling the JSON post, and I have another .js that's doing some algorithm stuff, I've got this [23:05] megalomix has joined the channel [23:05] megalomix: hello everybody [23:05] jconnolly: function shortestPath(edges, numVertices, startVertex) { [23:05] jconnolly: and I tried doing this in my algorithm.js: module.exports.shortestPath = shortestPath; but when I require algorithm.js, it's fine, it finds it... but var foo = require('./algorithm.js'); foo.shortestPath... I get ReferenceError: shortestPath is not defined, most of the examples I see export anonymous functions, I want to export my [23:05] jconnolly: existing named unctions... any idea how I do that? or suggeestions about how I should? [23:05] megalomix: guys i have a problem (or better....a doubt) regarding nginx <-> node [23:05] megalomix: i mean, that i must use nginx because on my VPS I have a wordpress website [23:06] megalomix: so i need to use nginx <---> wordpress [23:06] jaha: lohkey: yea, ive been looking into dnode as well, but having problems finding some answers, dont suppose you would know how to access a client's methods from outside dnode? cant get my head around how that would work after i store the connected clients in an object [23:06] megalomix: but i also would like to develop a website in node (i already have this website) so i don't want to write in in PHP [23:06] megalomix: can i use NGINX and NODE togheter ? [23:06] jaha: for example if i want a GET request to send a msg to a client [23:06] iain_: megalomix: nginx infront of node shouldn't be a problem [23:07] megalomix: iain_, what does it mean? example: does it is slower than using node directly? [23:07] iain_: megalomix: infact, I know it isn't a problem as we have such a setup [23:08] looopy has joined the channel [23:08] lohkey: jaha, it's RPC you should only be able to access the registered functions [23:08] lohkey: but those registered functions can do whatever they need to do and call whatever they need to [23:08] iain_: nginx is damn fast, same kind of idea as node in processing requests [23:08] megalomix: iain_, so ONE step more is not a problem ? [23:08] megalomix: i mean [23:08] jaha: http://pastie.org/3404687 i think im missing a piece here... [23:08] AaronMT has joined the channel [23:08] boccato has joined the channel [23:08] megalomix: REQUEST ---> node.js OR REQUEST ---> NGINX ---> NODE [23:09] fatjonny has joined the channel [23:09] megalomix: is this not slower ? [23:09] megalomix: *slow [23:09] iain_: slower for who? [23:09] iain_: proxies are usually there to buffer the request to the slow clients [23:09] jaha: lohkey: i get a server error when that runs [23:09] tttthet has joined the channel [23:10] iain_: having nginx in the way isn't going to have a performance impact, though I'm not sure how fast node is with ssl processing [23:10] megalomix: iain_, slower for the user because the request makes ONE more step [23:10] iain_: if ngnix is better at ssl than node, then nginx reverse proxy is a damn good idea [23:10] iain_: the user won't notice [23:10] megalomix: ok [23:11] iain_: I could name several big websites that have a much more complex setup than what you've described [23:11] iain_: and no one notices [23:11] iain_: the extra time [23:11] megalomix: iain_, what do you mean with this setup? http://stackoverflow.com/questions/5009324/node-js-nginx-and-now [23:11] megalomix: ah perfect [23:11] megalomix: *what do you think [23:11] jconnolly: deh, it's just exports, not module.exports... [23:11] jconnolly: got it [23:11] jconnolly has left the channel [23:11] StanlySoManly has joined the channel [23:12] megalomix: iain_, do you use the same setup ? [23:12] iain_: megalomix: sorry, I'm not actually a node guru, I'm a sysadmin. can't answer the really directly code arch stuff [23:12] johnhamelink has joined the channel [23:12] pocopina has joined the channel [23:12] megalomix: iain_, i'm not referring to node.js code [23:13] megalomix: i'm referring to the NGINX configuration [23:13] iain_: in the stackoverflow post though... [23:13] megalomix: there is on that post [23:13] RichardBronosky has joined the channel [23:13] iain_: megalomix: will pm you [23:14] megalomix: iain_, perfect thank you [23:14] artusrocha has joined the channel [23:14] CIA-74: libuv: 03Frank Denis 07master * r75ab1ba 10/ src/unix/linux.c : [23:14] CIA-74: libuv: linux: uclibc <0.9.32 doesn't have [23:14] CIA-74: libuv: uclibc didn't provide ifaddrs.h before version 0.9.32 It explicitly didn't [23:14] CIA-74: libuv: install it because (quoting) "the corresponding functionality is disabled". So, [23:14] CIA-74: libuv: fix libuv on uclibc < 0.9.32 by returning ENOSYS for uv_interface_addresses() - http://git.io/k8oFTw [23:15] spolu has joined the channel [23:15] wankdanker has joined the channel [23:16] kalms has joined the channel [23:16] shanem has joined the channel [23:16] sarlalian has joined the channel [23:17] brianseeders has joined the channel [23:18] adrianF has joined the channel [23:21] cha0s has joined the channel [23:21] cha0s has joined the channel [23:21] mehlah has joined the channel [23:23] isaacs has joined the channel [23:25] marvin_ has joined the channel [23:25] diva has joined the channel [23:26] johnhamelink has joined the channel [23:28] TXH350 has joined the channel [23:28] jaha: lohkey: im dumb, sorry to ask you stupid questions, i was working locally but testing the remote server…its working fine now with dnode, thanks [23:29] jerkelens has joined the channel [23:29] EhevuTov has joined the channel [23:30] isaacs: sauerbraten: yes, ctime is "change time", which is different from "modify time" [23:30] CIA-74: node: 03Dave Pacheco 07master * r7864bb9 10/ common.gypi : [23:30] CIA-74: node: build: disable -fomit-frame-pointer on solaris [23:30] CIA-74: node: This "optimization" cripples debuggability and has dubious performance value, [23:30] CIA-74: node: so we want to disable it at least on SmartOS. - http://git.io/CBRnHQ [23:30] isaacs: sauerbraten: change time refers to flags on the file. [23:31] sauerbraten: isaacs, but on the content as well right? means: when mtime changes, ctime changes, too. but when ctimes changes, mtime does not change necessarily? [23:31] kickingvegas has left the channel [23:31] Dreamer3 has joined the channel [23:34] CIA-74: node: 03Nathan Rajlich 07master * r0787287 10/ Makefile : build: remove 'config.mk' during `make distclean` - http://git.io/kwwqfQ [23:35] bnoordhuis: sauerbraten: that's correct [23:36] reid_ has joined the channel [23:36] isaacs: sauerbraten: no. [23:36] rburke has joined the channel [23:37] sauerbraten: so what now? [23:37] joshkehn has joined the channel [23:37] isaacs: sauerbraten: when the content changes, mtime changes, but ctime does not [23:37] joshkehn has left the channel [23:37] jimmyy111 has joined the channel [23:37] te-brian2 has joined the channel [23:37] bnoordhuis: isaacs: bzzt, wrong :) [23:37] isaacs: sauerbraten: but, if you change the owner, or explicitly set the mtime/atime using utimes, or update the mode, then ctime updates. [23:37] isaacs: sauerbraten: really? ctime updates on write()" [23:37] isaacs: ? [23:37] isaacs: er, bnoordhuis [23:38] _th_n has joined the channel [23:39] SamWhited has joined the channel [23:39] sauerbraten: isaacs, first post, second paragraph: http://www.unix.com/tips-tutorials/20526-mtime-ctime-atime.html He says editing the file changes both mtime and ctime [23:40] isaacs: oh, so it does. [23:40] isaacs: ACTION just tested, and yes, that is the case [23:41] sauerbraten: :) [23:43] felixhummel has joined the channel [23:45] sj26 has joined the channel [23:46] Skaag has joined the channel [23:48] panosru: can I ask express related issue here? [23:50] EhevuTov: panosru, there is an express channel, but some times people do [23:51] panosru: EhevuTov: yes I know about express channel I'm actually in it there now helping people but it seems that no one can help me :P [23:52] panosru: for some strange reason after lot of development time I realized that probably some of my changes or something anyways broke req.session and it is now undefined for all my routes :S [23:52] EhevuTov: I wouldn't know [23:53] _jzl has joined the channel [23:53] jimmyy111 has joined the channel [23:55] hoik: what is the proper way to get node and python to communicate server side ?? [23:55] panosru: yeah I guess that I just though that maybe someone bump on something related :D [23:55] panosru: hoik: through web-service maybe? [23:55] hoik: like ?? [23:56] hoik: ..it would all be on the same machine [23:56] yarrkov: Unix domain sockets. [23:57] joshfinnie has joined the channel [23:59] guest-2YkMAs has joined the channel