[00:03] xSmurf: tjholowaychuk: yes I know [00:03] xSmurf: node-dev doesn't pass along SIGHIP [00:03] xSmurf: *SIGHUP [00:03] xSmurf: it just exists instead [00:03] xSmurf: works fine in node [00:04] tjholowaychuk: node-dev = 0.3.x? [00:04] mikeal has joined the channel [00:05] mikew3c has joined the channel [00:05] pHcF: merry xmas! :) [00:06] tjholowaychuk: you too man [00:06] xSmurf: 0.2.x [00:06] pHcF: thanks tjholowaychuk :) [00:07] yrashk has joined the channel [00:07] xSmurf: I'd wish you all a merry xmas, but I'm a pastafarian, I only care for hackermas [00:08] sechrist: nodemas [00:08] sechrist: merry nodemas everybody [00:08] sechrist: or rymas [00:08] xSmurf: so happy hackermas to hall the hackers & pirates :} [00:08] sechrist: arr them pirates [00:08] sechrist: wikimas [00:08] xSmurf: lol [00:08] xSmurf: xleaks? [00:08] sechrist: exactly [00:08] xSmurf: sounds like a pr0n site :p [00:09] xSmurf: should I really be using 0.3.x? it's the unstable branch after all [00:09] tjholowaychuk: haha go pastafarians go [00:09] sechrist: unstable means something else in software [00:09] sechrist: it's not unstable [00:12] Gruni has joined the channel [00:12] sechrist: xSmurf: only thing is -- is that 0.3 tagged releases happen quite often [00:12] sechrist: if you have to roll it out to a bunch of machines it might get annoying [00:13] jakehow has joined the channel [00:13] xSmurf: I see [00:13] xSmurf: it's more like 0.3.x is the CI branch [00:13] xSmurf: maybe I'll give it a shot [00:13] sechrist: once 0.3 goes into stable that's when it becomes easier I hope [00:13] sechrist: the thing is there's a few api changes between 0.2 and 0.3 that matter if you want to write code right now [00:14] sechrist: I chose to adopt it early so I don't have to refactor some stuff [00:14] xSmurf: I noticed [00:15] sechrist: wow the press loves julian assange [00:17] cgutierrez has joined the channel [00:21] vborja_ has joined the channel [00:22] jchris has joined the channel [00:24] gedw99 has joined the channel [00:25] gedw99: installing NPM on windows ? I have downloaded a precompiled nodeJS with cygwin1.dll and the other bits and nodeJS is working fully. But how to get npm working ? [00:25] tlrobinson has joined the channel [00:28] gedw99: anyone got any linsk for this ? Or is it basically impossible to do on Windows [00:28] spetrea_ has joined the channel [00:32] Wizek: gedw99: Have you tried the one line curl installing command? [00:32] evanmeagher has joined the channel [00:33] Wizek: gedw99: Did you use cygwin, or other way? [00:34] gedw99: i did NOT install cygmin, i went for the easy way and downloaded a pre statically linked version of node. [00:34] marcostoledo has left the channel [00:34] gedw99: i got it from here: http://node-js.prcn.co.cc/ [00:35] Wizek: gedw99: I know only a way with cygwin... So I advise you do it that way [00:35] Wizek: or virtual machine [00:35] bruce_ has joined the channel [00:35] gedw99: ok, i think its the path of least resistance. I will try virt machine. shoudl be easy,. [00:35] gedw99: thanks for help Wizek ! [00:36] Wizek: v8: var test = 1 [00:36] v8bot: Wizek: undefined [00:38] Wizek: gedw99: Yep, it'll be quite easy that way [00:39] gedw99 has left the channel [00:39] Aria has joined the channel [00:40] Wizek: v8: var test = 2 [00:40] v8bot: Wizek: undefined [00:43] dnolen has joined the channel [00:47] squires has joined the channel [00:50] jchris1 has joined the channel [00:52] martigam: I am trying out zappa, but I keep getting this error when I'm trying to run it: Error: ENOENT, No such file or directory 'node' [00:52] martigam: any ideas? just running $node works great [00:59] squires: sounds like maybe zappa is running with a different path than your shell? [01:01] martigam: yeah.. but I have no idea how that happened :p [01:01] squires: does it give a stack trace? [01:03] Wizek: Can url parsing be done better (as in more efficiently, or better in any other way) than this: https://gist.github.com/754604 ? [01:15] forzan has joined the channel [01:17] jchris has joined the channel [01:18] jakehow has joined the channel [01:21] creationix has joined the channel [01:33] polotek: Wizek: why are you not using the querystring module? [01:33] fmeyer has joined the channel [01:43] iszak has joined the channel [01:43] iszak has joined the channel [01:45] _mn_ has joined the channel [01:46] cls has joined the channel [01:46] Wizek has joined the channel [01:47] cls has left the channel [01:48] Wizek: polotek: If this tasc can be done with under ten lines of code, I'd rather not load another module. But, what is that good at? [01:49] polotek: exactly what you're doing [01:49] clsps has joined the channel [01:49] Wizek: Why express won't serve any static files this way: http://prntscr.com/1bto3 ? [01:50] polotek: http://nodejs.org/docs/v0.3.2/api/querystring.html [01:52] polotek: Wizek: I don't really use express [01:52] Wizek: and how about the others? [01:57] bruce_ has joined the channel [02:00] polotek: others? [02:01] bartt1 has joined the channel [02:09] dthompson: wizek: it loads the files from your 'static' directory, but serves them up at the server root… [02:09] Wizek: dthompson: I know [02:10] Wizek: dthompson: It works if I comment out the app.use(...) line before the static provider [02:10] Wizek: but I need a custom fuction there [02:11] Wizek: dthompson: So, why isn't next passes control to the static provider, and replys my browser 404 [02:11] Wizek: ? [02:12] dthompson: I've never added a custom function before using the static provider, idk why it wouldnt work [02:14] mgutz has joined the channel [02:19] dthompson: I just tried your code, it works ok for me, even with the custom function. node: v0.2.5 and latest express [02:23] cagdas has joined the channel [02:23] cagdas: any idea what this message is about: npm ERR! nave@latest Error: undefined log message [02:25] cagdas: I get this when I try "npm update" [02:25] sivy: hey folks; i seem to remember reading about a node module that would help you wrap a C library. Am i remembering wrong, or does such a beast exist? [02:26] polotek: cagdas: update tries to update all of your out of date packages [02:26] polotek: unless you pass it a name [02:26] polotek: so something wrong with updating nave [02:26] polotek: if you're trying to update npm, do npm update npm [02:26] Wizek has joined the channel [02:27] cagdas: this is a fresh server [02:27] cagdas: only npm, node 0.2.5 and nave are installed [02:27] cagdas: when I install another package [02:27] cagdas: this package also starts to give the same error [02:37] AAA_awright_ has joined the channel [02:38] dnolen has joined the channel [02:38] jacobrelkin has joined the channel [02:40] m0rganic has joined the channel [02:41] m0rganic: err node node node [02:41] boaz has joined the channel [02:42] m0rganic: whas up node [02:52] Cartel has joined the channel [02:52] mikew3c has joined the channel [02:52] langworthy has joined the channel [03:07] Wizek has joined the channel [03:07] Wizek_ has joined the channel [03:07] langworthy has joined the channel [03:07] Wizek_ has left the channel [03:07] shripadk has joined the channel [03:14] shripadk: hello! i have written a post-commit script in node for making my git deployments easier. However I am facing an issue: https://gist.github.com/754651 and the post-commit script: https://gist.github.com/754649 please help... :) [03:14] shripadk: the git repo exists... it was created the first time... [03:15] shripadk: sorry that should be post-receive [03:15] shripadk: not post-commit... my bad :) [03:16] Cartel: Try http://goo.gl/UOI0Q [03:17] shripadk: Cartel: ??? [03:17] Cartel: shripadk: That link makes me love node.js [03:17] shripadk: lol :) [03:20] softdrink has joined the channel [03:22] ceej has joined the channel [03:23] Cartel: http://img.brothersoft.com/screenshots/softimage/m/madonna-green-395569-1282094675.jpeg makes me happy [03:30] ibolmo has joined the channel [03:36] mikeal has joined the channel [03:39] shripadk: ah! found an article [03:39] shripadk: http://debuggable.com/posts/git-tip-auto-update-working-tree-via-post-receive-hook:49551efe-6414-4e86-aec6-544f4834cda3 [03:39] shripadk: felixge is the man [03:39] shripadk: had to env -i [03:43] sekimura1 has joined the channel [03:47] MadonnaFan has joined the channel [03:48] MadonnaFan: Hi, I am in a start-up that wants to use node.js coexisting with legay JSP on Tomcat/Apachre [03:48] MadonnaFan: Are there any hosts for node.js? [03:48] astoon has joined the channel [03:49] shripadk: use any vps that provides you root access... joyent/nodejitsu/heroku/webbynode etc [03:49] shripadk: heroku doesn't... and is in closed beta. [03:50] MadonnaFan: Okay, I have a dedicated server running CentOS right now [03:51] jakehow has joined the channel [03:52] astoon has joined the channel [03:52] namelessnotion has joined the channel [03:52] MadonnaFan: The problem is node.js needs to run on a different port than Apache (port 80), which means I can't use xmlhttprequests() to get data from it [03:53] MadonnaFan: Which ruins it :( [03:54] MadonnaFan: How do you make both run on port 80 without wasting resources? [03:55] MadonnaFan: Maybe a different IP inside virtual machine [04:14] m32311 has joined the channel [04:21] Sembiance: MadonnaFan: hey, I just went live with node.js on my production server [04:22] Sembiance: MadonnaFan: I use nginx instead of Apache, and I run node.js on a local 127.0.0.1 port. Then all requests to /node/ are funneled by nginx to node.js [04:23] Sembiance: MadonnaFan: works perfectly. nginx serves all my static HTML/CSS/JS/image files just great. I can xmlhttprequest to /node/whatever and node.js handles it. No cross-domain problems at all [04:23] zorzar_ has joined the channel [04:24] MadonnaFan: Sembiance: Hmm. Problem is, the server has a lot of sites live in Apache [04:24] MadonnaFan: Using VirtualHosts [04:24] Sembiance: MadonnaFan: ahh, I use nginx's equilivant of virtual hosts. But apache can do the same sort of 'forward to node any requests to /node/; [04:28] Sembiance: :) [04:31] MadonnaFan: How mch traffic are you handling with that setup? [04:33] Sembiance: MadonnaFan: about 3.5 visits a month, but that's according to google analytics. a lot more gets sent to node [04:33] Sembiance: MadonnaFan: err 3.5 million visits [04:33] brianc: MadonnaFan: google for "nginix reverse proxy" [04:33] Sembiance: MadonnaFan: I don't actually have any logging on how much the node.js server handles [04:34] brianc: *nginx [04:35] MadonnaFan: ok cool [04:35] iszak: why add the overhead [04:37] MadonnaFan: iszak: So you can server static HTML and node.js o the same server [04:37] MadonnaFan: *onn [04:37] brianc: iszak: because nginx overhead is minimal and because Ry suggests not to run node.js directly on port 80 because of possible security vunerabilities in the http parser [04:37] Sembiance: iszak: nginx is mad fast. Many companies use nginx just to proxy stuff, it's that good at it. it's also one hell of a web server itself, so the amount of 'overhead' is trivial compared to the gained simplicty in just talking to one host [04:38] Sembiance: iszak: with one port, no browser security restrictions get in the way [04:38] Sembiance: iszak: what brianc said :) [04:38] iszak: that's why you work it like a pro and use trunk. [04:38] skm has joined the channel [04:39] brianc: once I set up nginx reverse proxy to node it actully turned out to be a plesant way to have things setup [04:40] brianc: granted ymmv but i found it nice to use nginx to map sub-domains to different node processes [04:40] iszak: I don't want the overhead of a webserver. [04:40] brianc: so my box has node on ports 3000 and up and i map sub-domains to individual node processes. allows for testing something like stage.whatever.com going to a node process on 3001 while www.whatever.com goes to 3000 [04:41] iszak: couldn't you do that with node itself and fork it off to child processes. [04:41] brianc: iszak: while you're at it, disable the firewall on your server. it adds overhead as well. [04:41] MadonnaFan: What is trunk? [04:41] iszak: I will. [04:41] iszak: MadonnaFan, basically the bleeding edge sourc. [04:41] iszak: s/sourc/source/ [04:43] brianc: iszak: not sure what you mean by doing it with node itself. would be interested in seeing an example [04:43] MadonnaFan: You could work in a web server built into node.js :p [04:43] brianc: could you gist the idea? [04:43] iszak: I mean obv. node.js won't ever be as efficient as a daemon built as a web server. [04:44] brianc: iszak: i not tryin' to be sarcastic, i generally interested in the idea [04:44] brianc: iszak: I'm not a pro w/ forking on unix. i understand the basics, but don't have a lot of practice with it directly [04:44] iszak: when is the 0.3.2 docs going to get styled like 0.2.x [04:44] Sembiance: iszak: why on earth would you want node.js to be a full blown web server? nginx already works amazingly well at that. [04:45] Sembiance: iszak: :) [04:45] brianc: iszak: seriously. i was hoping the 3.0 docs were just missing style. i think the new doc style is way harder to navigate [04:45] iszak: because sometimes you don't want a web server. [04:45] iszak: brianc, I miss the familiarity. [04:45] Sembiance: iszak: true, like when your not serving web requests :) [04:46] iszak: I mean why use Nginx if node.js is merely serving as an API. [04:46] Sembiance: iszak: or your serving a tiny number of them, or when your only serving data/API calls, and no static files. [04:46] Sembiance: iszak: true. [04:46] brianc: iszak: same. one thing nice on the new one is if you view it all as one file you can use built in browser searching to find stuff relatively fast [04:46] iszak: exactly. [04:46] iszak: brianc, oh so you can, never noticed that, thanks. [04:47] brianc: iszak: merry xmas ;) [04:47] iszak: yeah, you too. [04:49] Sembiance: iszak: so, working on anything nifty/exciting? :) [04:49] iszak: Not with node.js, no. [04:50] iszak: Limited to two screens atm, so productivity is down. [04:51] brianc: iszak: how many screens you usually have? [04:51] brianc: iszak: and by screens you mean actual monitors, yes yes? [04:52] iszak: yes, monitors, I usually have 3 x 23" 1920 by 1080 monitors. [04:52] brianc: iszak: daaaaang [04:52] brianc: iszak: generally i just work on my lappy [04:52] iszak: I like the screen restate of 5760 by 1080. [04:52] brianc: iszak: i use screen for maximum terminal nerdy-ness [04:53] iszak: yeah I usually use tilda for maximum terminal power too. [04:53] brianc: what's tilda? [04:54] iszak: it's a program in ubuntu which allows you to alias keys to dropdown terminals [04:54] brianc: cool [04:54] jchris has joined the channel [04:55] iszak: brianc, I'm guessing you don't use ubuntu. [04:55] Sembiance: I only use two screens. a 23" 1920x1028 as my main, and then a 19" 1024x1280 in portrait mode [04:56] iszak: yeah I can't use different monitors, does my eyes in. [04:57] brianc: i am okay with most monitors as long as the font is large [04:57] brianc: iszak: yeah I have OS X and I'm ssh into a debian linode right now [04:58] iszak: I have heard good things about linode. [04:58] brianc: iszak: 15 dollars a month for an always on computer. nice for running irssi & having a terminal you can connect to at any time and it's always in the same state [04:58] brianc: using "screen" anyways [04:59] iszak: I pay $20 for a 2 GB RAM, 100 GB disk space, 1000 GB bandwidth site, normally $50. [04:59] iszak: No overselling, Service license agreement for guaranteed uptime. [04:59] brianc: iszak: that's a fab deal [04:59] hassox has joined the channel [04:59] iszak: yeah, WHT <3 [04:59] brianc: my linode is 600 megs of ram [05:00] brianc: WHT? [05:00] iszak: Web Hosting Talk [05:00] brianc: dunno what that iiiis [05:00] Aria: Good fora. [05:00] brianc: I'm working on performance tuning my postgres driver right now [05:00] iszak: brianc, it's a forum. [05:00] brianc: 10,000 queries in .9 seconds [05:00] iszak: Nice! [05:01] Sembiance: heh [05:03] brianc: i can't tell if that's fast or not [05:03] iszak: what type of queries? [05:03] iszak: and is that table locking or row locking [05:03] brianc: Well since I'm trying to benchmark the driver [05:03] brianc: I'm trying to have the queries take as little time as possible within postgres [05:03] Sembiance: I'm paying $300/month for a dedicated Xeon E5520 server with 12GB RAM and 20TB of bandwidth. That's my new server for Nginx+Node+Redis. It should be large enough for the next several years [05:03] iszak: I really should move from MyISAM to InnoDB when I'm getting 52,000 hits an hour. [05:04] brianc: Sembiance: where do you work? [05:04] Sembiance: oh, and then I have another server that just servers the images [05:04] Sembiance: brianc: this isn't for work, it's for my personal site, http://worldofsolitaire.com [05:05] iszak: I wanted to get a dedicated server.. [05:05] iszak: but I know I won't use it all, so it was kinda a waste. [05:05] Sembiance: iszak: I started out with MySQL and MyISAM. a few months in I switched to InnoDB. A year after that I switched to Postgres and just today I switched to Redis. [05:05] brianc: ah how fun [05:05] iszak: in a few more years you'll be using MongoDB. [05:05] iszak: or maybe plain text files. [05:06] Sembiance: iszak: dude, it does web scale. only /dev/null beats it! [05:06] Sembiance: iszak: that was a reference to a funny video about mongo ;) [05:06] brianc: what about nstore? keep yer data in your node memory space [05:06] Sembiance: iszak: my data is pretty much just counters and sorted sets. My MySQL and Postgres use was vast overkill [05:07] Sembiance: brianc: well, I have to have some level of trust with my dbstore. Node.js based db's I don't trust at all. Redis I at least know runs in several production environments and so I trust it more than zero :) [05:07] MadonnaFan: I think /dev/null is inconsistent [05:08] Sembiance: http://www.xtranormal.com/watch/6995033/ [05:08] iszak: Sembiance, I guess some people like ACID and others don't. [05:09] iszak: and I've seen that video before. [05:10] brianc: sometimes you need ACID, sometimes you don't [05:10] brianc: also I think highly relationally based datasets make sense in relational databases [05:10] brianc: where having a few aggregate roots doesn't really fit the domain [05:11] MadonnaFan: Do you guys prefer languages that use curlies and braces? [05:11] MadonnaFan: CoffeeScript probably works with node.js, but I don't see the point [05:11] Sembiance: MadonnaFan: CoffeeScript has a bunch of fans that really like it, and this is a good thing. I've taken a look at 2 or 3 times now but I'm not sold on it yet [05:12] MadonnaFan: I like my braces [05:12] brianc: Sembiance: I agree w/ Sembiance [05:12] Sembiance: MadonnaFan: C/C++, Java, Javascript, the syntax makes me feel all warm and cozy. Even python isn't much of a departure. [05:12] iszak: yeah nty to coffeescript, looks cool but i'd rather not have a dependency. [05:12] brianc: Sembiance: seems cool but maybe for app-layer code and not library code [05:12] ceej has joined the channel [05:12] iszak: Why not create GUIScript where you code no JS it's just all GUI based, that's what scared me about CoffeeScript. [05:13] stepheneb has joined the channel [05:13] stepheneb has joined the channel [05:14] MadonnaFan: I wish Python let me have my braces [05:14] MadonnaFan: I want to do while (condition( { } [05:14] MadonnaFan: *) [05:14] MadonnaFan: I like JS :) [05:19] masahiroh has joined the channel [05:19] Sembiance: well [05:19] Sembiance: I'm heading to bed. Night folks :) [05:20] MadonnaFan: bte [05:20] MadonnaFan: err bye [05:21] tlrobinson has joined the channel [05:30] indexzero has joined the channel [05:30] AAA_awright_ has joined the channel [05:31] indexzero: SubStack: Just pushed forever 0.3.1 to npm [05:31] SubStack: saw that [05:32] SubStack: good stuff [05:32] yozlet has joined the channel [05:34] jakehow has joined the channel [05:43] jchris has joined the channel [05:43] indexzero: what's this telescreen thing you're working on? I was checking out the code [05:44] SubStack: it's for managing processes across multiple servers [05:45] jimt has joined the channel [05:45] indexzero: how are you handling SSH keys? [05:45] SubStack: it doesn't use ssh [05:45] indexzero: oh right, it's dnode [05:46] indexzero: I was actually thinking about installing dnode on all servers in nodejitsu [05:47] SubStack: so basically with telescreen you start up a listener [05:47] SubStack: and then on additional servers you want to connect to the network, you do telescreen connect host port [05:48] SubStack: and then from the listener server you can connect and view output from all the processes in one place [05:48] indexzero: nice [05:48] jacobrelkin has joined the channel [05:48] indexzero: is there anyway authentication in the dnode protocol? [05:49] SubStack: sure, just hide the methods you want to protect behind another method [05:49] jacobrelkin has joined the channel [05:50] SubStack: like this https://github.com/substack/dnode/blob/master/examples/auth/server.js [05:50] jimt_ has joined the channel [05:50] MadonnaFan: Can node.js serve a JPEG like this? http://www.legendaryauctions.com/LotImages/66/106545c_lg.jpeg [05:50] iszak: course. [05:58] derferman has joined the channel [06:06] jimt has joined the channel [06:07] evanmeagher has joined the channel [06:09] AAA_awright has joined the channel [06:11] mikew3c has joined the channel [06:15] guybrush: what is the best way to get the spark-features into my own executable (npm-bin)? since there is no export of any object in bin/spark [06:21] astoon has joined the channel [06:22] derferman has joined the channel [06:22] ceej has joined the channel [06:24] jchris has joined the channel [06:33] sechrist: is coffeescript gaining any sort of real popularity? [06:35] sechrist: I think if I were to implement it into our webapplication it would compile before sending out [06:40] cardona507 has joined the channel [06:44] JojoBoss has joined the channel [06:46] gf3 has joined the channel [06:51] evanmeagher: sechrist: scabbly/wordsquared used it [06:51] sechrist: que? [06:51] evanmeagher: coffeescript [06:52] sechrist: yeah but I wasn't aware was wordsquared was until I googled it [06:52] evanmeagher: oh right, heh [06:52] evanmeagher: it was a really popular entry to the node.js knockout contest [06:53] sechrist: this is pretty slick [06:53] evanmeagher: massively multiplayer scrabble, basically [06:54] faust45 has joined the channel [06:58] cgcardona has joined the channel [06:59] noahcampbell has joined the channel [07:14] ibolmo has joined the channel [07:31] dandaman has joined the channel [07:33] mattcodes has joined the channel [07:34] mattcodes has joined the channel [07:34] chrischris has joined the channel [07:34] devdrinker has joined the channel [07:36] devdrinker has joined the channel [07:36] _mn_ has joined the channel [07:43] GatorAlli has joined the channel [07:43] dandaman1 has joined the channel [07:43] GatorAlli has left the channel [07:48] dandaman has joined the channel [07:50] TheEmpath has joined the channel [07:51] dandaman1 has joined the channel [07:52] davidc___ has joined the channel [07:53] TheEmpath has joined the channel [07:54] TheEmpath: hail nodites [07:54] chapel: hola TheEmpath [07:56] CIA-121: node: 03Tom Hughes 07master * r54b1f80 10/ src/node_crypto.cc : Free (ref-counted) private key. - http://bit.ly/hS9Vgf [07:58] dandaman has joined the channel [08:06] TheEmpath: anyone know how to add color to bash? [08:06] TheEmpath: im lost :( [08:06] TheEmpath: i know, wrong chan [08:06] TheEmpath: :( [08:07] TheEmpath: merry christmas from the west coast btw [08:08] chapel: hmm [08:08] chapel: just in general [08:08] chapel: or using node? [08:08] TheEmpath: in general [08:08] TheEmpath: i just got a cloud server and im pimping it out [08:08] TheEmpath: its small beans [08:08] dandaman has joined the channel [08:09] TheEmpath: 256mb ram, 10gb hd, but its good because i wanna make this server efficient to handle massive requests on such limited resources [08:10] altamic has joined the channel [08:10] chapel: http://www.systhread.net/texts/200703bashish.php [08:11] lin__: TheEmpath, but it may has very limited bandwidth. [08:11] TheEmpath: indeedy [08:11] TheEmpath: its a good testing server for $10 a month [08:11] TheEmpath: cheaper than building my own box :( [08:12] TheEmpath: plus if i wanna upgrade my ram, i press a button instead of muttering about how tiny these computer cases are getting [08:14] chewbranca has joined the channel [08:15] astoon has joined the channel [08:20] dandaman has joined the channel [08:20] okuryu_away has joined the channel [08:29] Druid_ has joined the channel [08:42] derren13 has joined the channel [08:43] altamic has left the channel [08:44] TheEmpath: hey people [08:44] TheEmpath: check out my node.js project live :D it reports server stats http://184.106.93.156:8000/dashboard.html [08:44] TheEmpath: oo soemone checked it out [08:44] TheEmpath: aww they left [08:45] DTrejo has joined the channel [08:45] DTrejo: good evening everyone — has anyone worked with node-xmpp or xmppjs? [08:45] TheEmpath: hey someone else is here [08:46] TheEmpath: ooo two people [08:46] lin__: TheEmpath, very cool [08:46] DTrejo: :) [08:46] TheEmpath: useful little dashboard i use to test my node.js scripts to see whats going on in the framework [08:46] TheEmpath: lets me know when event queues spill over too [08:47] TheEmpath: i also have a minigame [08:47] TheEmpath: http://184.106.93.156:8000/brix.html [08:47] TheEmpath: you move, we see it :D [08:47] TheEmpath: the client code is spastic still :( [08:47] TheEmpath: i see you moving! [08:47] DTrejo: cool [08:47] DTrejo: that's me [08:47] TheEmpath: lol [08:48] TheEmpath: after about 18 users it craps out [08:48] DTrejo: you should remove the default action on the arrow keys and make the viewort smaller so there's no scrolling [08:48] TheEmpath: ya [08:48] TheEmpath: the client is crappy as all hell [08:48] TheEmpath: i gottaa optimize it [08:48] TheEmpath: very POC [08:50] DTrejo: Astro: are you the author of node-xmpp? [08:51] DTrejo: Astro: was trying to install it on snow leopard and was having some issues, I suppose it'd be best to make an issue [08:53] TheEmpath: i'll flesh this out more over time [08:53] TheEmpath: the client code is pure ass [08:53] TheEmpath: but the server code is top notch [08:53] TheEmpath: and i want it to be even more top notch [08:53] TheEmpath: ACTION is a server code optimization whore. [08:54] TheEmpath: i want to get at least 100 users per server actively moving on this [08:54] DTrejo: mm [08:55] TheEmpath: the key is finding a realistic balance between socket i/o and visual expectation [08:55] TheEmpath: once i find that, then i can really fine tune things [08:55] TheEmpath: code for it is here: https://github.com/cainiac/imhotep [08:56] stephank has joined the channel [09:01] DTrejo: TheEmpath: you could easily make the brix game controllable by telephone :) [09:01] DTrejo: https://github.com/dtrejo/nodaphone [09:04] TheEmpath: im totally callign it [09:04] chapel: heh [09:04] chapel: I have an idea for a service [09:05] chapel: where someone calls in, and leaves a message for themselves, and set a regular time for the service to call them and play their message as a reminder [09:05] DTrejo: chapel: i like it [09:05] TheEmpath: ha! [09:05] TheEmpath: hilarious [09:05] TheEmpath: great for customer service enterprise applications [09:05] DTrejo: chapel: you could make that with twilio [09:06] chapel: yeah [09:06] chapel: thats what I was thinking [09:06] chapel: could be handled all with a phone too [09:06] DTrejo: TheEmpath: glad you liked the demo, now I know your phone number :evilgrin: [09:06] TheEmpath: its a google phone number [09:06] chapel: just call in, and set a time, frequency and your message and it will continue to call until you disable it [09:06] TheEmpath: its worthless [09:07] TheEmpath: ACTION still has 3 players on his server. [09:07] TheEmpath: errr 1 [09:07] TheEmpath: tee hee [09:09] chapel: DTrejo: how would a phone system like that scale? [09:09] chapel: just sign up to a voip service? [09:10] TheEmpath: imagine tying in that service for pizza delivery [09:10] DTrejo: chapel: well, you just have a bunch of those timer'd loops running, and then it tells twilio to call people and a video clip you had recorded [09:10] DTrejo: *play an audio clip [09:10] chapel: well the server I have figured out for the most part [09:10] DTrejo: chapel: the scaling problems are twilio's problem, I'm pretty sure [09:10] chapel: just curious about the 'calling' [09:11] chapel: oh [09:11] chapel: twillo yeah [09:11] chapel: they handle the phone calls [09:11] DTrejo: since they have to deal with the data and all that [09:11] chapel: tbh I forgot exactly what they did [09:11] DTrejo: and phones - arg hardware hehe [09:13] chapel: hmm [09:13] chapel: Im wondering, should I use a queue program like rabbitmq? [09:14] chapel: I wouldn't set a timer for each time, just add them to a rotating queue [09:14] chapel: just not sure if I should built it myself or use something that exists that is more robust [09:16] DTrejo: chapel: I'd start off with something really flimsy and see where that gets you [09:17] chapel: yeah [09:17] chapel: :) [09:17] DTrejo: flimsiness ftw [09:19] chapel: perfect usecase [09:19] chapel: you are on a date, and want to be called at a specific time [09:19] chapel: to get out of a situation [09:21] DTrejo: gnight! [09:21] DTrejo: chapel: didn't even think of that.. [09:22] chapel: nn [09:31] mikeal has joined the channel [09:31] mgutz has left the channel [09:34] fangel has joined the channel [09:39] SamuraiJack has joined the channel [09:50] dtrasbo has joined the channel [09:55] clarkfischer has joined the channel [09:58] mraleph has joined the channel [10:12] RevoOf has joined the channel [10:21] skm has joined the channel [10:29] qFox has joined the channel [10:34] SamuraiJack_ has joined the channel [10:36] dtrasbo has joined the channel [10:41] ewdafa has joined the channel [10:45] demolith1on has joined the channel [10:46] Blink7 has joined the channel [10:49] daglees has joined the channel [10:52] shripadk has left the channel [11:04] hansek has joined the channel [11:16] matjas has joined the channel [11:17] hobodave has joined the channel [11:18] mr_daniel has joined the channel [11:18] stagas_ has joined the channel [11:20] rchavik has joined the channel [11:23] derren13 has joined the channel [11:24] baoist has joined the channel [11:39] hansek has left the channel [11:46] matjas has joined the channel [12:00] markwubben has joined the channel [12:02] mikew3c_ has joined the channel [12:03] okuryu has joined the channel [12:12] skohorn has joined the channel [12:22] _mql has joined the channel [12:24] dandaman has joined the channel [12:30] Wyverald has joined the channel [12:31] vineyard has joined the channel [12:38] SamuraiJack has joined the channel [12:41] SamuraiJack has joined the channel [12:43] Yuffster has joined the channel [12:43] dandaman has joined the channel [12:45] augustl has joined the channel [12:45] mscdex has joined the channel [12:46] dandaman has joined the channel [12:47] mikew3c has joined the channel [12:50] SamuraiJack has joined the channel [13:00] mscdex: node.js rules! [13:01] matjas has joined the channel [13:05] matjas has joined the channel [13:05] peritus has joined the channel [13:06] peritus_ has joined the channel [13:06] peritus has joined the channel [13:13] m32311 has joined the channel [13:17] kkaefer: is there a way to use ndistro with npm? [13:39] lin_ has joined the channel [13:44] Wizek has joined the channel [13:51] lin__ has joined the channel [13:51] ysynopsis has joined the channel [13:52] linac has joined the channel [13:53] d0k has joined the channel [13:58] [[zz]] has joined the channel [13:58] jakehow has joined the channel [14:00] jimt_ has joined the channel [14:07] peritus has joined the channel [14:07] peritus_ has joined the channel [14:13] oal has joined the channel [14:25] Wizek has left the channel [14:26] Wizek has joined the channel [14:26] Wizek: Hi there [14:37] jimt has joined the channel [14:38] m0rganic has joined the channel [14:38] chapel: hola [14:41] Eber has joined the channel [14:43] jimt_ has joined the channel [14:47] astoon has joined the channel [15:02] Wizek: Where can I get SHA-256 for node? [15:03] maushu has joined the channel [15:08] frodenius: Wizek㇀ http://nodejs.org/docs/v0.3.2/api/crypto.html#crypto.createHash [15:09] Wizek: frodenius: woo, thanks [15:15] Wizek: frodenius: But, I don't really see how this ought to be used... I experimented, but couldn't get it to return the hash of a string. How should I do it? [15:15] Wizek: also, an example of use case would be a good idea on the docs page [15:17] m0rganic has left the channel [15:18] riven` has joined the channel [15:21] dandaman has joined the channel [15:22] shinmei has joined the channel [15:24] stride: Wizek: easiest application would be something like: return Crypto.createHash('md5').update(mailaddress).digest('hex'); (with the algorithm you want) [15:25] stride: where mailaddress is the data that's hashed here [15:25] linac has joined the channel [15:32] gf3 has joined the channel [15:38] kij has joined the channel [15:39] Hello71 has joined the channel [15:43] dilvie has joined the channel [15:43] fmeyer has joined the channel [15:46] karboh has joined the channel [15:53] Wizek: thanks stride, that worked [15:53] kkaefer: with npm, when I have a package.json file, how can I run npm so that it satisfies/installs the dependencies without installing the package.json file referenced itself? [15:53] JusticeFries has joined the channel [15:53] Wizek: if only this one liner example would have been a the doc's page, I wouldn't have to ask [15:54] augustl_eee has joined the channel [15:55] augustl_eee: is there a roadmap for 0.3? Do we know anything about it's release date? Wondering if I should target 0.2 or 0.3. [15:56] Wizek: Another: does anyone here uses Mongoose? I'm getting fed up with the native-mongo driver's never ending callback jungle, and want to polish my code. The problem is, that their doc (docs again!) seem to be outdated, as I cannot make it to do me a database side (as in MongoDB-side) count for me [15:56] gf3: kkaefer: npm bundle [15:56] kkaefer: gf3: yeah, I found that, but it copies the dependencies to node_modules [15:57] gf3: well it installs them to node_modules [15:57] gf3: kkaefer: modify your require path and BAM [15:57] kkaefer: yeah; is there a way to install them in the regular npm lib path? [15:57] kkaefer: like, system-wide [15:58] riven has joined the channel [15:58] gf3: kkaefer: why don't you parse the package.json file and install them manually? [15:58] Wizek: Ooor, anyone who uses MongoDB with a module other than mongoose or mongo-native? [15:59] kkaefer: gf3: I guess I'm trying to abuse npm in the way ndistro works [15:59] kkaefer: except that ndistro doesn't care about package.json files [16:00] kkaefer: hmm, I'd describe it as "I'm trying to build a ndistro clone with bits of nvm and npm" [16:02] gf3: kkaefer: http://pastie.org/1404957 [16:07] kirkt has joined the channel [16:07] kirkt: hi all, is there any website that i can use to be updated and learn node.js? [16:08] gf3: kirkt: http://howtonode.org/ [16:08] kirkt: thats like a blog aggregator right? [16:09] ceej has joined the channel [16:16] jchris has joined the channel [16:26] Aria has joined the channel [16:26] MattJ has joined the channel [16:27] teddy has joined the channel [16:27] cognominal has joined the channel [16:30] kkaefer: gf3: thanks, but let me explain my question in more detail: [16:30] kkaefer: in package.json, I write the dependencies (like express >= 1.0.0, jade > 0.5) [16:30] kkaefer: I run a npm command [16:30] kkaefer: and then, npm checks whether it already has these dependencies installed [16:30] kkaefer: (using the global node prefix with the node binary that is executing npm) [16:31] kkaefer: and if not, it installs them [16:31] kkaefer: like "verify that all dependencies from this package are met" [16:31] gf3: kkaefer: yes, I'm saying you'll have to do it manually [16:31] kkaefer: hmm [16:31] kkaefer: okay [16:32] gf3: iterate through the deps, and install them via npm [16:32] kkaefer: I guess it's like npm link . [16:32] kkaefer: except that it doesn't create the final symlink [16:32] kkaefer: maybe I can copy some code from there [16:34] siong1987 has joined the channel [16:36] hornairs has joined the channel [16:40] fmeyer has joined the channel [16:44] omni5cience has joined the channel [16:44] omni5cience has left the channel [16:50] jchris has joined the channel [16:53] femtoo has joined the channel [16:58] Wizek has joined the channel [17:00] augustl has joined the channel [17:03] noahcampbell has joined the channel [17:05] saschagehlich has joined the channel [17:05] saschagehlich: hey, how can I log the complete request of a http.ClientRequest? [17:07] RevoOf has joined the channel [17:09] jetienne has joined the channel [17:17] JusticeFries has joined the channel [17:22] herbySk has joined the channel [17:24] isaacs has joined the channel [17:29] pyrotechnick has joined the channel [17:30] pyrotechnick: i'm totally writing node.js bindings to bullet [17:30] chapel: bullet? [17:30] pyrotechnick: bullet physics [17:31] pyrotechnick: it's going to be fucking sweet [17:31] pyrotechnick: i just thought i'd do a shout out in case someone was in the process of it [17:31] RevoOf: pyrotechnick: will it be in a different thread? [17:32] pyrotechnick: hmm i don't know much about addons TBH this is my first one [17:32] pyrotechnick: i'm just going to make it work [17:32] MattJ has joined the channel [17:32] pyrotechnick: and then put it up and you guys can pick it to pieces [17:32] pyrotechnick: what would you recommend architecturally? [17:32] yozlet has joined the channel [17:32] RevoOf: ok. it could be very useful, but it might be hard to do on the first hit [17:33] pyrotechnick: i'll give you our use case and you let me know if it's going to require threading [17:33] pyrotechnick: basically it's a minecraft MMO [17:33] pyrotechnick: written on node.js and WebGL [17:34] RevoOf: i am not sure, but i think it should be async unless you run the physics in an extra node instance. maybe someone else say sth [17:34] pyrotechnick: thats what i was actually thinking about [17:34] pyrotechnick: sth? [17:34] pyrotechnick: single thread? [17:34] RevoOf: maybe someone else could say *something* [17:35] pyrotechnick: i think it would be nice for the physics to be in its own node, i am worried about the latency between that and the game logic / networking living in another node [17:35] pyrotechnick: what is the fastest way to make two nodes communicate? [17:35] RevoOf: sockets, i think [17:36] pyrotechnick: sorry these are really noob questions but i promise i can contribute some sweet stuff if someone gives me the chance [17:36] pyrotechnick: okay. we are using websockets between the clients and node atm [17:36] pyrotechnick: the physics can be UDP [17:36] pyrotechnick: between the nodes [17:36] pyrotechnick: would that make it much faster? [17:36] pyrotechnick: than tcp [17:36] RevoOf: i dont think tcp would be much overhead if its on the same machien [17:37] pyrotechnick: oh really? [17:37] RevoOf: s/machien/machine/ [17:37] pyrotechnick: i thought there was a bunch of processing done, error checking, reshuffling etc [17:37] pyrotechnick: oh i see [17:37] pyrotechnick: not much of that would happen since packets cant be lost or shuffled [17:37] pyrotechnick: okay well that can sort of be decided later, it's still going to send "frames" over TCP anyway [17:38] altamic has joined the channel [17:38] pyrotechnick: are you familiar with minecraft? [17:38] RevoOf: i know what it is [17:38] alek_br has joined the channel [17:38] pyrotechnick: it has a really horrible server implementation and architecture [17:39] pyrotechnick: so i'm kind of hoping to sidestep alot of its pitfalls [17:39] RevoOf: i just played it for 10 min or so [17:39] pyrotechnick: and at the asme time make it reasonably scalable [17:39] pyrotechnick: s/asme/same [17:39] SubStack: architecture! [17:39] pyrotechnick: hey? [17:39] RevoOf: if you want to clone it you probably wont need bullet physics btw [17:40] pyrotechnick: we're not exactly [17:40] pyrotechnick: i know that minecraft only has AABB physics [17:40] RevoOf: ok [17:40] pyrotechnick: but we're not really interested in an outright clone [17:40] pyrotechnick: but thanks [17:40] SubStack: oh crap bullet [17:40] pyrotechnick: anyway basically the world is chunked into blocks 16*16*128 [17:40] pyrotechnick: what? [17:40] SubStack: I tried to use bullet once [17:40] pyrotechnick: bullet is amazing [17:40] SubStack: bullet is so terrible [17:40] SubStack: as an api [17:40] pyrotechnick: dont be hatin' [17:40] pyrotechnick: yeah well [17:40] SubStack: the api is pure shit, just saying [17:40] pyrotechnick: yeah [17:40] pyrotechnick: i am aware of that, it's not the worse though [17:40] SubStack: if you made any progress with it that's great [17:41] pyrotechnick: i have [17:41] pyrotechnick: basically atm [17:41] SubStack: ode is pretty good [17:41] pyrotechnick: yeah? [17:41] SubStack: the stability of it sucks though [17:41] SubStack: at least, requires careful tuning [17:41] pyrotechnick: basically ATM we have two main branches [17:41] pyrotechnick: networked and single player [17:41] pyrotechnick: single player has physics on the client [17:41] pyrotechnick: using bullet.js [17:41] pyrotechnick: which is a port of bullet.jaba [17:41] pyrotechnick: java* [17:41] pyrotechnick: but it's fucking hideous [17:42] SubStack: I can imagine [17:42] pyrotechnick: emscripten can do bullet but it's 8MB [17:42] pyrotechnick: in fact it's one of their flagship demos [17:42] SubStack: http://www.ode.org/ [17:42] pyrotechnick: so that is sort of out of the question [17:43] pyrotechnick: SubStack: i'm aware of ODE. we have a few reasons for choosing bullet. mainly for interoperability between blender and COLLADA [17:43] pyrotechnick: but if at the end of my little spiel you think its a bad idea still let me know [17:43] pyrotechnick: anyway clientside physics atm but thats just not feasible for an MMO [17:43] SubStack: as long as you know about it [17:44] pyrotechnick: thanks [17:44] pyrotechnick: ill see how big it is once it's emscripted [17:44] pyrotechnick: the other branch has networking with physics running on the server, the same bullet.js port [17:44] pyrotechnick: but it's slow as hell [17:44] arrty has joined the channel [17:44] pyrotechnick: which brings me here [17:44] pyrotechnick: trying to create bindings for bullet [17:45] SubStack: quite a hard problem [17:45] pyrotechnick: the bindings? [17:45] RevoOf: he wanted to try it sync first [17:45] pyrotechnick: yes [17:45] pyrotechnick: well what do you mean by that exactly as a concrete example [17:45] pyrotechnick: i understand async/sync but im not sure how it would relate to bullet [17:45] SubStack: I mean tuning performance by balancing client and server computation [17:46] RevoOf: ah ... ok [17:46] pyrotechnick: there are a few ways i can clock bullet in node [17:46] pyrotechnick: like have a javascript loop call the stepSimulation [17:46] SubStack: what about more frequent updates on the client? [17:46] pyrotechnick: have bullet do that itself and push to js [17:46] pyrotechnick: or have bullet do that and get results pulled from js [17:47] SubStack: and then they are compared to the server's less frequent computations to prevent cheating [17:47] pyrotechnick: SubStack: what do you mean? [17:47] SubStack: with some checks and tolerances for numeric stability [17:47] pyrotechnick: yeah that's why i'd like to keep it in the one language [17:47] pyrotechnick: yes! [17:47] pyrotechnick: precisely [17:47] pyrotechnick: so if we keep it all the same language [17:47] RevoOf: mhh ... [17:47] pyrotechnick: we can move it around [17:47] pyrotechnick: fairly easily and see what works and what doesnt [17:47] SubStack: well but bindings wouldn't be enough [17:48] SubStack: you'd need a pure js implementation of the physics engine [17:48] pyrotechnick: why not [17:48] pyrotechnick: why [17:48] pyrotechnick: i have two already [17:48] pyrotechnick: but why would i need that on the server [17:48] markwubben has joined the channel [17:48] pyrotechnick: im trying to make it faster [17:48] SubStack: ah [17:48] pyrotechnick: are you even reading what i'm saying lol [17:48] SubStack: I read it backwards [17:48] pyrotechnick: ok [17:48] pyrotechnick: so i have bullet.js and emscripted bullet, both in js [17:49] pyrotechnick: one is a port the other is automatically generated from LLVM [17:49] pyrotechnick: right? [17:49] pyrotechnick: one sucks the other is too big [17:49] jpld has joined the channel [17:50] pyrotechnick: but ill just have to cop it sweet and use one or the other on the client, hopefully the emscripted one since its API is closer to c++ bullet [17:50] AAA_awright_ has joined the channel [17:50] pyrotechnick: but that can all be tailored for in the bindings [17:50] pyrotechnick: 8MB is a big ask for physics [17:51] pyrotechnick: anyway im not even sure we have to mirror the physics on the client so let's not get tied up in a problem that i'm not convinced exists [17:51] pyrotechnick: the real problem is the bindings and how i should structure bullet and the nodes [17:51] pyrotechnick: i like the idea of it running in a node by itself [17:52] pyrotechnick: it really should be a separate subsystem and that would force us to do things properly like the "real" game developers do [17:52] pyrotechnick: i also believe it would make the bindings simpler right? [17:53] RevoOf: simpler to implement, yes, i think [17:53] pyrotechnick: they'd simply call through to bullet methods synchronously… if i'm not mistaken [17:53] pyrotechnick: so the alternative is to thread bullet and then have the bindings call into it? [17:53] Wizek has joined the channel [17:53] pyrotechnick: what does that involve? [17:53] SubStack: have the methods register callbacks [17:54] RevoOf: make bullet thread safe [17:54] SubStack: to be called when the results are available [17:54] SubStack: that too [17:54] pyrotechnick: bullets threadsafe [17:54] pyrotechnick: its threaded already [17:54] RevoOf: makes it easier, if that is so [17:54] pyrotechnick: well i mean [17:54] SubStack: for something like bullet an eventemitter interface would be sweet [17:54] dnolen has joined the channel [17:54] pyrotechnick: it can do multithreaded solving, im not sure if the entire library is, i imagine so [17:55] pyrotechnick: bullet actually doesnt have as many moving parts as most people would think [17:55] pyrotechnick: which is ironic [17:55] pyrotechnick: considering what it does ^w^ [17:55] pyrotechnick: so let me get this straight [17:56] RevoOf: did you allready look at some addon to get an idea of it? [17:56] pyrotechnick: yes [17:56] pyrotechnick: ive started [17:56] pyrotechnick: like ive got [17:57] pyrotechnick: bullet working [17:57] pyrotechnick: in a node addon [17:57] pyrotechnick: compiling and shit [17:57] pyrotechnick: and doing a simulation [17:57] pyrotechnick: and pushing it over a socket [17:57] pyrotechnick: and moving an object in my webgl world [17:57] pyrotechnick: to make the bindings async id have like a binding to btDefaultCollisionConfiguration method which makes a collision configuration which someone receives a callback when the bullet thread is done making the configuration? [17:57] pyrotechnick: does that involve changing the code of bullet? [17:58] AAA_awright has joined the channel [17:58] RevoOf: i dont think so [17:59] pyrotechnick: so theres a way in node to asynchronously call some synchronous c++? [17:59] pyrotechnick: provided there is threading going on [17:59] bartt has joined the channel [17:59] pyrotechnick: async bullet would be really cool [18:00] AAA_awright: I think it uses a thread for DNS and such [18:00] AAA_awright: What's bullet? [18:00] pyrotechnick: a physics engine [18:00] pyrotechnick: it's open-source, i happen to be a fan but some people are not [18:00] AAA_awright: Well that's all processing so it wouldn't be async [18:00] pyrotechnick: right [18:00] pyrotechnick: so it just never makes sense to make it async? [18:01] AAA_awright: Only for blocking operations, that is, operations that make the processor wait idle [18:01] pyrotechnick: there are none [18:01] AAA_awright: For a physics engine, right [18:01] pyrotechnick: right [18:01] pyrotechnick: so i just make bindings [18:01] RevoOf: AAA_awright: say you have two cores ... [18:01] pyrotechnick: 1-1 [18:02] AAA_awright: RevoOf: You can start a second Node.js process [18:02] pyrotechnick: yeah bullet can be multithreaded does that change things? [18:02] SubStack: but the js side of things can't do anything while the cpu is doing stuff [18:02] AAA_awright: It sounds strange but that works for me and lots of other people [18:02] pyrotechnick: yeah thats cool [18:02] SubStack: making it multithreaded is best so your js context can respond to other bookkeeping type events [18:02] pyrotechnick: it shudnt rly be doing anything while the physics is going [18:02] gf3 has joined the channel [18:02] RevoOf: AAA_awright: yes, that would be the easiest way to create a binding [18:02] pyrotechnick: SubStack: i think thats best done with multiple nodes [18:02] AAA_awright: pyrotechnick: If it can multithread... hmm depends I guess, I don't think it should hurt anything [18:03] AAA_awright: I mean at worst you just have an unoptimised process [18:03] pyrotechnick: TBH we'd just rather have it work nicely and not be too much of a headache than blazingly fast [18:04] pyrotechnick: if we have to throw some extra servers at the game because each chunk needs a dedicated physics engine that's fine, that's kind of the idea [18:05] pyrotechnick: anyway everything so far is at github.com/feisty [18:05] pyrotechnick: it's very much a WIP ATM but it will be very tidy by beta in march or so [18:06] pyrotechnick: and i guess node-bullet will be up sometime later this week [18:06] pyrotechnick: ill throw some devs at it [18:06] pyrotechnick: thanks for your help RevoOf, AAA_awright, SubStack [18:07] pyrotechnick: if you think of anything else let me know, i'm pyrotechnick on the social sites [18:07] pyrotechnick: i might stick around in here more often [18:07] pyrotechnick: it's alot more interested than the coffeescript room lol [18:08] RevoOf: i'll have a look at what your doing - i played around with the idea to do pathfinding [18:08] RevoOf: the choice is similar there - do in async or in a different process [18:09] pyrotechnick: we'll need some hardcore pathfinding, haven't even opened that pandoras box yet [18:09] pyrotechnick: if you seed something we might be able to contribute [18:09] pyrotechnick: but AI is post beta so [18:09] pyrotechnick: i cant promise we'll seed it by march [18:09] RevoOf: and vice versa [18:09] pyrotechnick: but definitely after that [18:10] pyrotechnick: i can let you know we're using bullet [18:10] RevoOf: for path finding? [18:10] pyrotechnick: for our physics [18:10] pyrotechnick: which means you can make alot of assumptions about how certain things are done in the game [18:11] RevoOf: yes [18:11] pyrotechnick: we have the luxury of using voxel worlds though [18:11] fly-away has joined the channel [18:11] pyrotechnick: so it's a bit like cheat mode when it comes to things like pathfinding and that kind of thing [18:12] pyrotechnick: there's no crazy mesh subdivision and possibility tests [18:12] pyrotechnick: a voxel is occupied or vacant, that's it lol [18:12] pyrotechnick: s/possibility/passability [18:13] pyrotechnick: i was speaking to a guy who was doing some really good pathfinding in canvas and javascript [18:13] pyrotechnick: but i've lost contact with him [18:13] pyrotechnick: i think he was in here [18:14] RevoOf: i wasn't the one :D [18:15] pyrotechnick: it was pretty advanced stuff [18:15] pyrotechnick: like arbitrary meshes, interpolated spline path things [18:15] pyrotechnick: a combination of waypoints and navigation meshes which i thought was insane but apparently is awesome [18:16] RevoOf: nothing you'd want to do from scratch normally [18:16] pyrotechnick: i've done it a few times [18:16] pyrotechnick: i did a bach of games and interactive entertainment here in brisbane, software tech major [18:16] pyrotechnick: which involved about 4 robotics/AI subjects [18:17] pyrotechnick: plenty of times i was assigned pathfinding lol [18:17] pyrotechnick: like i said though it's just not super high on our priorities since we're trying to limit the amount of AI and have everyone perform each role, that's the idea anyway [18:18] pyrotechnick: but like try to keep us posted if you make any progress we'd be keen to help and test [18:19] Wizek: nodemon or supervisor? [18:19] Wizek: I mean whic one is better? [18:20] pyrotechnick: link me [18:20] pyrotechnick: got it [18:20] pyrotechnick: IMO neither [18:21] cgutierrez has joined the channel [18:21] pyrotechnick: i'd use something a little more well established [18:21] benburkert has joined the channel [18:21] Wizek: pyrotechnick: like? [18:21] pyrotechnick: monit [18:21] RevoOf: upstart [18:22] RevoOf: ^^ [18:22] pyrotechnick: yeah upstart is badass if your OS supports it [18:22] Yuffster has joined the channel [18:22] pyrotechnick: god isnt bad if u dont mind ruby [18:23] Stephen has joined the channel [18:23] pyrotechnick: if ur just using it for dev then id go with the more hackable node ones u suggested [18:23] pyrotechnick: but if you're actually using it in production [18:23] pyrotechnick: i'd go for something a little more tried and tested [18:24] pyrotechnick: it's something so simple though it probably ultimately doesn't matter [18:25] aphelion has joined the channel [18:25] RevoOf: its something you would'nt want to spend much time with too [18:25] cognominal has joined the channel [18:25] pyrotechnick: to actually answer your question though id go with supervisor [18:25] pyrotechnick: isaacs wrote npm, he's clearly quite a talented developer [18:25] aphelion: npm update consistently tells me that it could not contact DNS. is this a known issue or just me? [18:26] pyrotechnick: just worked for me [18:27] RevoOf: worked for me too [18:27] jchris has joined the channel [18:27] RevoOf: that does'nt mean anything though [18:27] aphelion: http://pastie.org/1405173 [18:28] aphelion: like... these are hosts i can get to just fine [18:28] aphelion: and the names resolve without issue [18:28] aphelion: i can pop open the responses in a browser [18:29] RevoOf: what does this say? dig registry.npms.org [18:29] aphelion: registry.npms.org. 0 IN A 67.215.65.132 [18:29] aphelion: it resolves without issue [18:30] RevoOf: wierd [18:31] Imperion has joined the channel [18:31] aphelion: i wonder if i can make it tell me -which- DNS servers it's failing to contact... local caching, airport extreme's, ISP's... [18:31] aphelion: this happens with both stable npm and from-git npm [18:32] aphelion: and before that, npm as installed by homebrew [18:32] aphelion: before i saw the najillion bug reports having to do with homebrew-installed npm 0.o [18:33] RevoOf: (afk for a while) [18:34] jimt has joined the channel [18:35] Imperion: I'm trying to use Sass with Express, but I can't get it to work with the newer SCSS syntax [18:35] Imperion: any ideas? [18:38] matjas has joined the channel [18:40] pyrotechnick: Imperion: https://github.com/senchalabs/connect/blob/master/lib/connect/middleware/compiler.js [18:41] saschagehlich has joined the channel [18:42] matjas_ has joined the channel [18:42] Imperion: ugh, great [18:43] mikew3c_ has joined the channel [18:44] ewdafa has joined the channel [18:46] pyrotechnick: im not sure sass.js can do scss [18:46] pyrotechnick: what youll need to do is add a compiler which uses the sass gem [18:47] pyrotechnick: or alternately [18:47] pyrotechnick: just compile the sass with the sass gem separately from express [18:47] pyrotechnick: compile it into public [18:47] pyrotechnick: bypassing connects compilers altogether [18:47] pyrotechnick: Imperion: ^^ [18:48] herbySk has joined the channel [18:48] Imperion: blech [18:48] pyrotechnick: Imperion: it's not too hard [18:49] Imperion: is it me or Less doesn't have var interpolation/concatenation? [18:49] pyrotechnick: im not sure it does [18:51] pyrotechnick: u cud wrap sass with a templating tool [18:51] pyrotechnick: like eco if ur using coffee or handlbars or something [18:53] Imperion: *shiver* [18:54] pyrotechnick: honestly if sass is what u want [18:54] pyrotechnick: just use the gem [18:54] pyrotechnick: the gem can watch [18:54] pyrotechnick: it's the same as connect doing it for you [18:54] pyrotechnick: and then you're using _real_ sass [18:56] SamuraiJack_ has joined the channel [19:00] jimt_ has joined the channel [19:03] faust45: if i have Buffer can i create readable Stream? [19:03] aphelion: Imperion: there are benefits to sass above and beyond what are provided in the sass gem or sass-a-like js lib. i'd highly suggest looking at compass, which wraps sass in a best practices library of mixins and functionality [19:05] aphelion: Imperion: the current ruby version of sass is being broken out of the haml bundle, which when complete will also make it easier to port, standalone, the right way. *shrug* [19:09] jashkenas-work_ has joined the channel [19:13] sudoer has joined the channel [19:15] naturalethic has joined the channel [19:18] herbySk has joined the channel [19:23] sekimura1 has joined the channel [19:24] Sonja has joined the channel [19:24] Sonja: hullo Nodians [19:24] pyrotechnick: wilkommen Sonja [19:25] pyrotechnick: let's talk about c++ and bindings and stuff [19:29] astoon has joined the channel [19:30] Sonja: my prophets are eich, crockford, resig and ashkenas [19:31] Imperion: er [19:32] Sonja: i think i need to add dahl [19:32] Imperion: why am I getting literal |'s when I try to add newlines to a multi-line block? [19:32] Imperion: nvm [19:32] Imperion: needed a space after [19:33] Sonja: and catlin also [19:35] aphelion: npm update is no longer giving me DNS errors, but now i'm getting "undefined log message" [19:36] noahcampbell has left the channel [19:38] herbySk: Sonja: I am bit outdated probably with Ingalls and Knight, am I not? Though I may add Crockford, as well. [19:38] zemanel has joined the channel [19:45] mgutz has joined the channel [19:46] jimt has joined the channel [19:46] pHcF has joined the channel [19:52] herbySk has joined the channel [19:57] kenbolton has joined the channel [19:57] demolithion has joined the channel [19:59] skm has joined the channel [20:00] zorzar_ has joined the channel [20:04] cagdas has joined the channel [20:07] traceback0 has joined the channel [20:08] traceback0: What types of applications does nodejs perform very well in? [20:08] Sonja: the universe [20:10] SubStack: servers [20:11] Lorentz: Quitting irc [20:12] Sonja: infinity [20:13] dandaman has joined the channel [20:13] maushu_ has joined the channel [20:14] pdelgallego has joined the channel [20:15] sth_: It's pretty good at quitting. [20:15] tob1 has joined the channel [20:16] dilvie has joined the channel [20:17] maushu has joined the channel [20:17] clarkfischer has joined the channel [20:17] boaz has joined the channel [20:18] kjeldahl has joined the channel [20:18] maushu__ has joined the channel [20:19] robotarmy has joined the channel [20:19] Sonja has left the channel [20:20] jimt has joined the channel [20:21] maushu_ has joined the channel [20:23] maushu has joined the channel [20:25] maushu has joined the channel [20:29] maushu has joined the channel [20:29] jimt_ has joined the channel [20:33] maushu_ has joined the channel [20:34] jimt has joined the channel [20:38] maushu__ has joined the channel [20:39] dandaman has joined the channel [20:39] jimt_ has joined the channel [20:42] maushu_ has joined the channel [20:44] maushu has joined the channel [20:45] herbySk has joined the channel [20:46] herbySk74 has joined the channel [20:47] felixge has joined the channel [20:47] felixge has joined the channel [20:47] maushu_ has joined the channel [20:48] felixge: happy christmas [20:48] maushu__ has joined the channel [20:51] ceej has joined the channel [20:54] maushu has joined the channel [20:56] maushu_ has joined the channel [20:58] vnguyen has joined the channel [20:59] stepheneb has joined the channel [21:00] maushu has joined the channel [21:05] maushu_ has joined the channel [21:08] markwubben has joined the channel [21:09] maushu__ has joined the channel [21:10] clarkfischer has joined the channel [21:13] maushu_ has joined the channel [21:17] aphelion: what version of node are people generally using? stable 0.2.x or development 0.3.x? [21:17] arrty has joined the channel [21:19] jchris has joined the channel [21:19] felixge: aphelion: 0.2.x is recommended [21:19] clarkfischer has joined the channel [21:28] dmen has joined the channel [21:30] pdelgallego has joined the channel [21:31] janm has joined the channel [21:39] naneau has joined the channel [21:43] jacobrelkin has joined the channel [21:45] maushu has joined the channel [21:58] benburkert has joined the channel [22:01] herbySk has joined the channel [22:05] astoon has joined the channel [22:05] astoon_ has joined the channel [22:05] DMend has joined the channel [22:08] Imperion: I have this in a Jade template: a(href="#{testobj.url}") [22:08] Imperion: why is it spitting out the text which I specified there [22:09] Imperion: and not the url property of testobj? [22:09] SubStack: properties aren't interpolated [22:09] SubStack: a(href=testobj.url) [22:09] jacobrelkin has joined the channel [22:10] SubStack: that is such a common thing [22:10] SubStack: jade might as well interpolate properties [22:11] astoon_ has joined the channel [22:12] Imperion: blech [22:12] Imperion: it works [22:12] Imperion: yay [22:12] astoon__ has joined the channel [22:13] markwubben has joined the channel [22:14] astoon has joined the channel [22:16] maushu_ has joined the channel [22:17] tilgovi has joined the channel [22:19] jimt has joined the channel [22:20] Jeffrey_ has joined the channel [22:20] Jeffrey_: Is there anyway to break up .js files so [22:20] Jeffrey_: I don't have all my objects in one? [22:20] ysynopsis has joined the channel [22:20] Jeffrey_: Is the only way using the exports functionality of the require system [22:21] Jeffrey_: ? [22:21] felixge: Jeffrey_: what's wrong with require? [22:22] Jeffrey_: Nothing I was just wondering if there is another way? [22:22] felixge: Jeffrey_: yes, there are other ways [22:22] ysynopsis has joined the channel [22:22] Jeffrey_: What are they? [22:22] felixge: Jeffrey_: http://nodejs.org/docs/v0.3.2/api/vm.html [22:23] felixge: Jeffrey_: or the short answer: The official way is to use require(), and anything else will be difficult [22:24] Jeffrey_: Yeah so if I wanted to have objects in a objects.js file I could just do this in the objects.js file --- "exports.Color = function() { //Color stuff in here }" [22:25] felixge: Jeffrey_: you can also do: module.exports = ...; [22:25] felixge: which overwrites the exports object with an object of your choosing [22:26] Jeffrey_: Oh alright cool. Thanks for your help. [22:26] felixge: Jeffrey_: np : ) [22:33] alek_br_ has joined the channel [22:42] c4milo1 has joined the channel [22:45] sudoer has joined the channel [22:47] skampler has joined the channel [22:47] saschagehlich has joined the channel [22:48] saschagehlich has joined the channel [22:48] jchris has joined the channel [22:49] c4milo2 has joined the channel [22:51] MattJ has joined the channel [22:52] c4milo1 has joined the channel [22:53] jimt has joined the channel [22:54] kkaefer: is there a http-retrievable list of available node version tags? [22:55] skampler has left the channel [22:55] kkaefer: http://nodejs.org/dist/ maybe [22:58] Wizek has joined the channel [22:58] SwiftLayer has joined the channel [22:58] AAA_awright: kkaefer: What about the Git repo? [22:59] kkaefer: is there a way to retrieve a list from the git server via http? [22:59] jimt_ has joined the channel [23:00] Wizek: Why is that 302 allows the browser to display cached content without actually asking the server wheter the resource has been updated? [23:01] lin_ has joined the channel [23:07] c4milo2 has joined the channel [23:12] pHcF: Happy Easter! [23:13] SubStack: merry labor day! [23:13] SubStack: also halloween [23:13] SubStack: ACTION points out that dec 25 == oct 31 [23:14] pHcF: :P [23:14] SubStack: v8: 25..toString(8) [23:14] v8bot: SubStack: "31" [23:14] Lorentz: Why so nerdy for [23:14] Lorentz: Seriously [23:14] pHcF: hahahah [23:14] pHcF: lol [23:15] pHcF: v8: 30..toString(8) [23:15] v8bot: pHcF: "36" [23:15] SubStack: v8: 031 [23:15] v8bot: SubStack: 25 [23:15] pHcF: v8: typeof NaN [23:15] v8bot: pHcF: "number" [23:15] pHcF: LOL [23:15] pHcF: not a number's type is "number" [23:15] pHcF: lol [23:16] SubStack: v8: parseInt(31, 8) [23:16] v8bot: SubStack: 25 [23:16] SubStack: also that [23:16] kkaefer: is there a sync version for "load this URL as a GET request into a buffer or string"? [23:16] SubStack: ACTION is a bag of tricks [23:16] kkaefer: (in node core) [23:16] SubStack: kkaefer: no [23:16] SubStack: and there never will be [23:16] kkaefer: yeah, I understand why ;) [23:16] kkaefer: just asking [23:17] pHcF: SubStack: lol [23:17] SubStack: unless some wise guy writes a c++ module to do that and throws it up on npm [23:17] linnk has joined the channel [23:17] SubStack: ACTION considers doing that if only do be contrarion [23:17] SubStack: I will earn your scorn the hard way! [23:17] pHcF: yeah, but this is totally out of node design patterns [23:17] SubStack: yes [23:17] kkaefer: well, it actually doesn't even have to be sync [23:18] SubStack: well there you go [23:18] kkaefer: just one function call [23:18] SubStack: kkaefer: are the continuations getting too nested? [23:18] kkaefer: nah, I'm writing a cli util and it's just annoying for a simple http request [23:18] kkaefer: http://pastie.textmate.org/private/p9eyqavctbthn7y1akj7q [23:18] SubStack: I know how that is [23:19] SubStack: flow control libs to the rescue! [23:19] pHcF: yeah, use step [23:19] pHcF: (i like step :P) [23:19] kkaefer: pHcF: it's a cli util intended for installing stuff like step :P [23:20] pHcF: oh lol [23:20] tilgovi: npm? [23:20] pHcF: use step's code? :P [23:20] kkaefer: tilgovi: it's based on npm, yes [23:20] tilgovi: cool [23:20] kkaefer: a hybrid of ndistro and nvm based on npm [23:20] SubStack: I hate how the module wiki's topic intra-page links are all broken [23:21] pHcF: v8: 3 > 2 > 1 [23:21] v8bot: pHcF: false [23:21] SubStack: but I also can't be bothered [23:21] pHcF: v8: 0 == "0" [23:21] v8bot: pHcF: true [23:22] linnk: Hey there :) I've written a very tiny, stupid web chat using web sockets (https://github.com/dansondergaard/baduw) and I'd like to do some kind of plugin system for the server-side (for example logging of messages).. How would you recommend doing this? [23:22] saschagehlich has joined the channel [23:22] SubStack: plugin system? [23:22] pHcF: linnk: well, i've been designing a plugin system to my blog engine in node.js (http://github.com/pedrofranceschi/blogode) [23:22] SubStack: console.log not good enough for you? >:p [23:23] linnk: SubStack: hehe :P It would be nice if I could initialize my chat server with a list of plugins that are then loaded and able to hook on to different events [23:23] linnk: I don't think console.log does that [23:24] linnk: pHcF: I'm having a look at it now, thanks :) [23:24] pHcF: linnk: np [23:24] pHcF: it's still in a very alpha state the plugin system [23:25] pHcF: but at least is works async. [23:25] mikeal has joined the channel [23:25] c4milo1 has joined the channel [23:27] AAA_awright: pHcF: Is there some way to remove the npm dependency? [23:28] pHcF: AAA_awright: from what? [23:28] AAA_awright: I think it was https://github.com/pedrofranceschi/Blogode I've tried to install [23:28] pHcF: well [23:28] pHcF: you can [23:29] AAA_awright: Well, yeah I mean [23:29] pHcF: just copy all the dependencies from npm into a folder called dependencies :P [23:29] pHcF: and recreate the requires :P [23:29] AAA_awright: I'm having a hard time figuring out what Git repositories to check out and whatnot, I manage my .node_libraries with Git and lots of symlinks [23:30] pHcF: hmm [23:30] AAA_awright: A far _superior_ method of package management than npm is [23:30] AAA_awright: er [23:32] pHcF: AAA_awright: well, do you wanna use blogode for what? [23:32] RevoOf has joined the channel [23:32] AAA_awright: I'm checking out blog systems and stuff [23:33] pHcF: oh [23:33] EyePulp has joined the channel [23:33] pHcF: i can send you a zip of blogode with no dependencies [23:36] davidc_ has joined the channel [23:36] davidc_ has joined the channel [23:36] AAA_awright: hmm [23:36] maushu_: Could anyone grab Shoes and port it to node.js? [23:37] frodenius: AAA_awright㇀ so, npm does the same thing, does it not? [23:37] SubStack: maushu_: why not plain old webapps? [23:37] maushu_: SubStack, desktop version of webapp. [23:38] maushu_: That was my idea in trying to make a standalone chromium. [23:38] c4milo2 has joined the channel [23:38] SubStack: I mean that html is simple enough to teach alongside a language [23:38] AAA_awright: npm seems to use a mess of files that touches the require paths and recursively require()s the file... it's, eh [23:39] SubStack: AAA_awright: it does that so you can have concurrent versions of libraries installed with dependencies [23:40] AAA_awright: Git and symlinks do that too [23:40] SubStack: because with other shittier package managers all your package versions need to be in agreement [23:41] AAA_awright: I mean, having multiple installed versions is great, I love Portage for that [23:41] SubStack: but with npm you can require bar@0.2.1 and baz@0.3, which depends on bar@0.1.6 [23:41] SubStack: and it all works [23:42] SubStack: or at least, if it doesn't work this way then it should! [23:42] maushu_: SubStack, what comes to mind is using a shortcut to run a node.js and start the default browser listening to the local ip. [23:42] SubStack: but I'm pretty sure it does [23:43] SubStack: maushu_: I don't think it's too dificult to copy/paste a url into a browser at the same time [23:43] SubStack: I helped my little brother, 11, to build a webapp with node in august [23:43] maushu_: SubStack, you might want to run the app locally. [23:44] maushu_: Like access to the fs. [23:44] SubStack: eh? [23:44] SubStack: this is what I'm advocating [23:44] SubStack: make a webapp locally [23:44] _mql has joined the channel [23:45] AAA_awright: pHcF: Also completely random question, what do you know about RDF? [23:46] pHcF: AAA_awright: almost nothing :/ [23:46] AAA_awright: Cool thanks [23:47] pHcF: lol [23:47] pHcF: np [23:54] RichardJ has joined the channel [23:54] jacobrelkin has joined the channel [23:55] AAA_awright: My library is structured like "git checkout package package.src@branch; ln -s package.js package.src@branch/lib/index.js ln -s package@branch package.src@branch/lib/; ln -s package package@branch" where src="src". Well not completely but that works, and it's what npm should be using wherever possible. Maybe I'll end up writing my own module manager for what I'm doing who knows. [23:55] lin__ has joined the channel [23:56] AAA_awright: Hmm packages should be shipping with index.js files already, wherever possible... [23:57] m32311 has joined the channel [23:59] jimt has joined the channel