[00:00] zilch has joined the channel [00:01] copyboy has left the channel [00:02] thalll has joined the channel [00:02] ramdac_ has joined the channel [00:08] AvianFlu_ has joined the channel [00:09] zilch has joined the channel [00:11] unlink has joined the channel [00:11] mc_greeny has joined the channel [00:12] booo has joined the channel [00:13] weezle has joined the channel [00:13] boehm has joined the channel [00:13] materialdesigner has joined the channel [00:14] [[zzz]] has joined the channel [00:14] devongovett has joined the channel [00:15] okuryu has joined the channel [00:19] nerdfiles1 has joined the channel [00:19] nerdfiles1 has left the channel [00:24] ckknight has joined the channel [00:33] dannycoates has left the channel [00:34] zilch has joined the channel [00:36] cbrad has joined the channel [00:40] markstory has joined the channel [00:41] replore_ has joined the channel [00:41] replore has joined the channel [00:43] balaa has joined the channel [00:44] csanz has joined the channel [00:44] zilch has joined the channel [00:45] jerrysv_ has joined the channel [00:46] zk has joined the channel [00:47] guidocalvano has joined the channel [00:50] spcshpopr8r has joined the channel [00:51] [[zz]] has joined the channel [00:53] zilch has joined the channel [00:53] zakuni has joined the channel [00:56] donahue has joined the channel [00:58] cafesofie has joined the channel [01:00] neilk_ has joined the channel [01:00] eyesUnclouded has joined the channel [01:01] jj0hns0n has joined the channel [01:03] zilch has joined the channel [01:03] dguttman has joined the channel [01:04] mehlah has joined the channel [01:04] ritch1 has joined the channel [01:07] andrewfff has joined the channel [01:09] dibber has joined the channel [01:10] zilch has joined the channel [01:12] jbrokc has joined the channel [01:13] hkjels has joined the channel [01:14] BoarK has joined the channel [01:14] colinclark has joined the channel [01:15] zilch has joined the channel [01:19] TomY has joined the channel [01:19] jetienne_ has joined the channel [01:22] zilch has joined the channel [01:25] springmeyer has joined the channel [01:30] sh1mmer has joined the channel [01:33] tristanseifert_ has joined the channel [01:34] zilch has joined the channel [01:36] arthurdebert has joined the channel [01:37] smus has joined the channel [01:38] spcshpopr8r has left the channel [01:38] Drakonite has joined the channel [01:39] davidbanham has joined the channel [01:40] dshaw_ has joined the channel [01:41] boehm has joined the channel [01:41] zilch has joined the channel [01:45] smus has joined the channel [01:46] Anton_ has joined the channel [01:50] dexter_e has joined the channel [01:50] shipit has joined the channel [01:54] zilch has joined the channel [01:55] hij1nx has joined the channel [01:55] vid__ has joined the channel [01:59] tristanseifert has joined the channel [01:59] d0k has joined the channel [02:03] TheFuzzball has joined the channel [02:04] zilch has joined the channel [02:06] ckknight has joined the channel [02:07] Nuck: Wow. [02:07] Nuck: That's a long hostmask. [02:08] jesusabdullah: YOU're a long hostmask! [02:15] balaa has joined the channel [02:15] zilch has joined the channel [02:18] E has joined the channel [02:19] vnguyen has joined the channel [02:19] avalanche123 has joined the channel [02:22] tilgovi has joined the channel [02:22] zilch has joined the channel [02:23] dexter_e has joined the channel [02:24] ale has joined the channel [02:24] ale: Hello everyone, I have apache on and when I do httpProxy.createServer(81, 'localhost:81/socket.io/socket.io.js').listen(80); I get EADDR_INUSE..how can I fix this? [02:25] stagas has joined the channel [02:27] rfay has joined the channel [02:27] balaa has joined the channel [02:28] ale: Hello everyone, I have apache on and when I do httpProxy.createServer(81, 'localhost:81/socket.io/socket.io.js').listen(80); I get EADDR_INUSE..how can I fix this? [02:30] hlindset has joined the channel [02:30] tmpvar has joined the channel [02:32] mscdex: ale: care to give more context? what is httpProxy ? [02:32] ale: the http-node-proxy [02:32] ale: module [02:33] stagas: ale: apache is listening on 80. you can't listen on the same port [02:34] EyePulp has joined the channel [02:34] clifton has joined the channel [02:34] ale: stagas: And which port should I use if on the html I have an include of io on localhost:81/socket.io/socket.io.js ? [02:35] unlink has joined the channel [02:35] unlink has joined the channel [02:37] stagas: ale: 81 [02:37] vid__ has joined the channel [02:37] ale: stagas: But it doesn't do anything with that, I mean it's not connecting to io [02:38] aoberoi has joined the channel [02:39] ale: I mean, I have on the html: [02:40] ale: stagas: then, how should I write the proxy? [02:40] stagas: ale: why do you use the proxy for? [02:40] ale: stagas: for expressjs and io [02:41] christkv has joined the channel [02:42] tristanseifert has joined the channel [02:43] mscdex: developers, developers, developers! [02:43] stagas: ale: var app = express.createServer(); var io = require('socket.io').listen(app); app.listen(81); // this should work no? [02:44] ale: stagas: yes, but if I combine it with expressjs it won't work [02:45] stagas: ale: can't help you without some code [02:45] stagas: ale: use gist.github.com [02:45] matyr has joined the channel [02:46] ale: stagas: I mean, with expressjs let's say I want to do io = require('socket.io').listen(app); app.listen(81); app.get('/web/:id'); -> Then, I'll have to access to localhost:81/web/12 [02:46] ckknight has joined the channel [02:46] ale: stagas: Then with proxy I want to prevent the need of writing localhost:81, do you get me? [02:47] stagas: ale: yeah, you can't do that if you have apache listening on 80 [02:47] ale: stagas: So what should I do?! [02:48] stagas: ale: listen on a free ip or use a proxy behind apache and node, haproxy or whatever [02:49] ale: stagas: holy...I didn't understand you [02:49] chjj: or just dont use apache :) [02:49] zilch has joined the channel [02:49] clifton has joined the channel [02:50] ale: Okey..what are you talking about guys? =) [02:50] chjj: hes talking about a reverse proxy, something that can pass off connections to node [02:50] ale: But how not to use apache?! [02:51] chjj: killall apache [02:51] chjj: ;) [02:51] ale: Impossible, if I have html, php files [02:51] ale: I can't stop apache! [02:51] blueadept2: anyone made a multi-server node manager? [02:51] stagas: ale: http://haproxy.1wt.eu/ [02:51] stagas: ale [02:51] stagas: ale: and good luck :) [02:51] blueadept has joined the channel [02:52] Charuru has joined the channel [02:52] ale: stagas: but http-node-proxy does not work? [02:52] chjj: blueadept2: depends on what youre talking about, you might want something like cluster [02:53] blueadept: chjj: i keep hearing about cluster, i need to check it out [02:53] stagas: ale: it would, but you need to reconfigure apache to run on another port, so you can redirect requests to it using http-node-proxy listening on 80 [02:53] blueadept: i rolled my own using forever [02:53] blueadept: but i'm looking for perhaps other options [02:53] chjj: https://github.com/LearnBoost/cluster [02:53] blueadept: did tj write this all? [02:53] ale: stagas: But I have no problem of using another port rather than 80, the problem is that it won't make it work! So what should I do? I am stucked :S [02:53] rfay has joined the channel [02:54] chjj: yeah, tj used his superpowers to write it i think [02:54] blueadept: how does that kid have time to write so many libs [02:54] blueadept: i swear almost my entire node stack is either something tj made [02:55] blueadept: he needs some sort of medal [02:55] random123: How is the performance of node_mysql compared to PHP's implimentation? PHP uses a .so file whereas node_mysql uses Node's require('net').Socket to send packets? [02:55] tylergillies_ has left the channel [02:55] stagas: ale: that's the problem, no two apps can bind on the same port. therefore you need to have an app listening on 80 and acting as a proxy to your other apps (apache, express etc) which should be listening on different ports to work [02:56] JakeyChan has joined the channel [02:56] BoarK has joined the channel [02:56] chjj: random123: i imagine youre referring to felixge's binding? [02:57] ale: stagas: oh!!! And how should I re-configure that? So then what happens if I access to my.page? It should proxy it it :80 right? In the case that we are using the proxy [02:57] stagas: ale: if you use node on another port then all is fine you don't need a proxy [02:57] chjj: i would imagine well, i havent benchmarked it, but felixge is pretty good at writing streaming parsers [02:57] zilch has joined the channel [02:58] ale: stagas: the problem is just this one: localhost/web/:id with expressjs, but I don't know in which port to make listen to! [02:58] random123: chjj: Is there a difference between using a .so and using a socket? [02:59] ale: stagas: I mean, in which port should I make expressjs to listen to? [02:59] ale: stagas: so that I do not need to write on the url? [03:00] chjj: random123: sorry? i dont understand how those are the two options [03:00] tmpvar has joined the channel [03:00] chjj: a socket is a socket, if youre talking to a mysql database, theres no way to get around using a socket [03:02] ale: stagas: do you get noe what is my question? [03:03] zilch has joined the channel [03:04] stagas: ale: dunno you either run a proxy or listen on another port [03:04] murugaratham has joined the channel [03:05] ale: stagas: hmm what do you mean with listening on another port? Isn't that impossible without the need of writing it on the url? [03:05] stagas: ale: yup [03:05] chjj: ale: thats the point of a reverse proxy, you have the proxy listen on port 80, and it passes connections to something [03:06] tristanseifert has joined the channel [03:06] ale: chjj: So where should I make express to listen? [03:06] espacia has joined the channel [03:08] chjj: it doesnt really matter, whatever you want because youre going to be passing connections to it [03:10] EyePulp has joined the channel [03:10] avalanche123 has joined the channel [03:11] mscdex: random123: PHP has a binding to the c++ libmysqlclient library, which is synchronous. node-mysql does everything in javascript -- protocol and all [03:11] mscdex: fully async [03:11] Coin has joined the channel [03:12] TheFuzzball has joined the channel [03:13] broofa has joined the channel [03:14] skm has joined the channel [03:14] random123: mscdex: Does it support unix sockets? Having an issue getting that working [03:14] zilch has joined the channel [03:15] luke` has joined the channel [03:15] smus has joined the channel [03:15] mscdex: random123: mysql supports unix sockets, yes. i would hope node-mysql would too [03:15] zeade has joined the channel [03:16] tristanseifert has joined the channel [03:16] random123: mscdex: I know mysql does, but node_mysql doesnt seem to [03:16] mscdex: random123: should be easy enough to add support for it though, since net.Socket already supports unix sockets. fork it and send a pull request :-) [03:17] chjj: it should, the net module supports unix sockets, very simply in fact [03:17] adrianmg: any project on github using node.js to follow? recommendations? :) [03:18] Sembiance: well, after lots of research (reading) I thought that 'dust.js' and 'handlebars' would be my most liked templating engines for node.js. However after USING them, I've found that I prefer the crazy simplicity of mustache :) [03:18] chjj: all my projects ;) [03:18] adrianmg: D: [03:18] adrianmg: show me the bizznizz! [03:18] chjj: sembiance: yeah, i value simplicity in templating engines to be honest [03:18] chjj: https://github.com/chjj <-- amazingness, i hope [03:19] adrianmg: I have done a chat [03:19] srid has joined the channel [03:19] srid has joined the channel [03:19] adrianmg: based on faye [03:19] adrianmg: hehe [03:20] Sembiance: If I had to pick one module... one node.js module that makes node.js a billion, trillion times more awesome... it'd have to be step: https://github.com/creationix/step [03:20] random123: I took out Host and put the location of the unix socket in Port instead and it worked [03:20] chjj: i think a node chat is everyones first app [03:20] Sembiance: You couldn't FORCE me to write node.js code, without step. [03:20] adrianmg: chjj yeah [03:20] mscdex: faye schmaye [03:20] adrianmg: It's great to test sockets and [03:20] mscdex: :p [03:20] adrianmg: always wanted to make a REAL chat in real time via sockets [03:20] adrianmg: not using hacks or comet wannabe [03:20] adrianmg: : )) [03:21] mscdex: socket.io has "channels" now, that users can subscribe to [03:21] mscdex: so it's pretty similar to faye, except iirc socket.io has more transports available to it? [03:22] adrianmg: When i was using faye [03:22] adrianmg: there wasn't channels for socket io [03:23] adrianmg: faye is lighter and simplier but its ok to make a fast chat [03:23] jtsnow has joined the channel [03:24] akshatj has joined the channel [03:24] zilch has joined the channel [03:26] adrianmg: so… any interesting new node.js based projects on github? come on guys :) [03:26] adrianmg: let me watch! [03:27] xerox: hmm [03:28] adrianmg: I loved this [03:28] adrianmg: https://github.com/pkrumins/node-video [03:32] xerox: there is some project [03:32] xerox: that couples npm with github watchers and followers [03:32] xerox: to score them [03:33] xerox: but I can't find it anymore ;_; [03:33] blueadept: anyone familiar with this script? https://github.com/LearnBoost/cluster/blob/master/examples/vhost.js [03:34] saikat has joined the channel [03:34] xerox: found! [03:34] xerox: adrianmg: http://eirikb.github.com/nipster/ [03:34] avalanche123 has joined the channel [03:35] zilch has joined the channel [03:35] rfay has joined the channel [03:35] ironlad has joined the channel [03:35] adrianmg: xerox thank you so muchhh! [03:35] adrianmg: its amazing the growing of node js apps! [03:35] TheFuzzball has joined the channel [03:39] Spion_ has joined the channel [03:39] adrianmg: now.js :O [03:42] xerox: n:Ow js [03:42] sivy has joined the channel [03:42] SubStack: meowjs [03:43] xerox: cats are amazing [03:43] AvianFlu has joined the channel [03:45] Epeli has joined the channel [03:46] zilch has joined the channel [03:46] mrryanjohnston has joined the channel [03:50] springmeyer has joined the channel [03:51] dabomb665m has joined the channel [03:51] dabomb665m: anyone available for quick noob help with sockets? [03:52] temp02 has joined the channel [03:52] jerrysv has joined the channel [03:53] zilch has joined the channel [03:53] raidfive has joined the channel [03:54] rurufufuss has joined the channel [03:56] zilch has joined the channel [03:57] dabomb665m: we're sendingraw sockets from flash over to a node socket server and the expected length is off after exactly 182 read/writes [03:59] jetienne: dabomb665m: i dunno the issue. but gut feeling, you sure the socket is pure tcp ? it seems like a rtmp connection to me. 182 would be the header [04:00] dabomb665m: hrmm... we're using the flash socket class... it doesn't say it's an rtmp connection [04:00] dabomb665m: going to double check that [04:03] zilch has joined the channel [04:04] aoberoi has joined the channel [04:04] dabomb665m: well upon checking, flash sockets indeed uses tcp [04:05] JumpMast3r has joined the channel [04:05] dabomb665m: we're taking the flash socket data, putting it into a buffer in node, and then sending it back (for testing purposes) [04:05] dabomb665m: basically after x amount of bytes, the expected packet size is wrong [04:05] TheFuzzball has joined the channel [04:06] dabomb665m: on the node end [04:06] dabomb665m: is there some kind of cache/buffer/socket setting for node that may be causing the issue? [04:11] zilch has joined the channel [04:14] kartmetal has joined the channel [04:15] zilch has joined the channel [04:18] mikeal has joined the channel [04:20] seivan has joined the channel [04:22] blueadept: anyone here use cluster on a regular basis? [04:22] andrewfff has joined the channel [04:22] blueadept has left the channel [04:22] blueadept has joined the channel [04:22] zilch has joined the channel [04:22] jerrysv has joined the channel [04:27] teknopaul: Hi all, Im putting together an eclispeJS based IDE, if anyone's interested, or prefers to work off the cloud. https://github.com/teknopaul/node-launcher [04:27] zilch has joined the channel [04:31] zilch has joined the channel [04:34] TheFuzzball has joined the channel [04:34] mikeal has joined the channel [04:38] zanes has joined the channel [04:39] TheFuzzball has joined the channel [04:39] zilch has joined the channel [04:42] cying has joined the channel [04:44] polotek has joined the channel [04:45] curtischambers has joined the channel [04:48] shipit has joined the channel [04:48] mcavage has left the channel [04:48] JoshC1 has joined the channel [04:55] TheFuzzball has joined the channel [04:56] wookiehangover has joined the channel [05:01] zilch has joined the channel [05:01] Intel_iX has joined the channel [05:02] Intel_iX: Can anyone tell me if it's possible to create a terminal with more control? [05:02] Intel_iX: like, control the colors and such [05:02] Intel_iX: and update in place [05:03] mikeal has joined the channel [05:07] dexter_e has joined the channel [05:07] zilch has joined the channel [05:11] confoocious has joined the channel [05:12] matyr has joined the channel [05:13] zilch has joined the channel [05:16] bazookatooth has joined the channel [05:17] zilch has joined the channel [05:19] CIA-65: libuv: 03Igor Zinkovsky 07vcbuild * r44ca2da 10/ vcbuild.bat : vcbuild.bat for building libuv with msbuild - http://bit.ly/nHT614 [05:19] acedrew has joined the channel [05:19] Nexxy has joined the channel [05:19] Nexxy has joined the channel [05:22] zilch has joined the channel [05:23] temp01 has joined the channel [05:25] zilch has joined the channel [05:29] Intel_iX has left the channel [05:31] Umair has joined the channel [05:31] zilch has joined the channel [05:32] UmairS has joined the channel [05:32] UmairS: hello all [05:32] UmairS: is there anything similar to sprockets for nodejs? [05:36] arpunk has joined the channel [05:36] k1ttty has joined the channel [05:40] espacia has joined the channel [05:40] zilch has joined the channel [05:46] zilch has joined the channel [05:47] materialdesigner has joined the channel [05:47] tomb has joined the channel [05:48] mikeal has joined the channel [05:50] zilch has joined the channel [05:51] mscdex: UmairS: yeah i'm pretty sure there is [05:51] UmairS: any idea what its called? [05:51] incon has joined the channel [05:52] UmairS: mscdex any idea its called? [05:53] variablenode has joined the channel [05:53] variablenode: hello [05:54] variablenode: just is encryption supported in node.js?? [05:55] zilch has joined the channel [05:55] materialdesigner: could you be more explicit, variablenode ? [05:55] liquidproof has joined the channel [05:55] dexter_e has joined the channel [05:55] ckknight has joined the channel [05:56] mscdex: UmairS: dunno offhand but i have heard people talk about that kind of stuff in here [05:56] variablenode: i am trying to implement poet forwarding using node.js, so i have a client on my laptop, and a server on remote pc, i want to encrypt data sanding between these two systems [05:56] variablenode: port* [05:56] SoulRaven has joined the channel [05:56] xAt has joined the channel [05:57] materialdesigner: are you using HTTPS? [05:57] UmairS: mscdex would love if you could recall its name [05:57] dgathright has joined the channel [05:57] variablenode: yeah... [05:57] mscdex: UmairS: there's probably more than one i'd imagine [05:57] UmairS: variablenode … look at tls [05:58] UmairS: tls.createServer, etc. [05:58] variablenode: in other words i am creating a proxy server on remote server [05:58] zilch has joined the channel [05:58] mscdex: UmairS: just search search.npmjs.org for something like 'asset' or whatever other keyword [05:58] materialdesigner: what are you trying to do UmairS ? [05:59] UmairS: mscdex there are so many options there but could not decide upon which to go with [05:59] mscdex: UmairS: or "depend" [05:59] mscdex: UmairS: can't help you there, i don't use anything like that [05:59] UmairS: member:materialdesigner i am trying to concatenate javascript files … [05:59] UmairS: oops ... [05:59] materialdesigner: as a cli app? [05:59] materialdesigner: or what [06:00] UmairS: materialdesigner: i have a file named test.coffee and i want it to be made available as test.js and also include code for socket.io.js (client) within it along with my code [06:00] UmairS: so basically [06:01] UmairS: #= require socket.io [06:01] UmairS: class MyOwnCodeHere [06:01] UmairS: constructor: -> [06:01] balaa has joined the channel [06:01] avalanche123 has joined the channel [06:02] balaa has left the channel [06:03] mscdex: UmairS: maybe this?: https://github.com/kof/node-ams [06:03] UmairS: let me see [06:03] kmiyashiro has joined the channel [06:04] zilch has joined the channel [06:07] zilch has joined the channel [06:07] temp01- has joined the channel [06:07] matyr has joined the channel [06:09] dherman has joined the channel [06:13] zilch has joined the channel [06:16] zilch has joined the channel [06:17] skm has joined the channel [06:18] slickplaid: Did `npm install -g 'pkgname'` global install get removed from npm... or what am I messing up (since I installed v0.4.10) [06:18] amerine has joined the channel [06:20] SubStack: curl -N 71.198.76.38:8080 [06:22] UmairS has left the channel [06:23] zilch has joined the channel [06:24] fyskij has joined the channel [06:25] zilch has joined the channel [06:26] mrsrikanth has joined the channel [06:28] matyr_ has joined the channel [06:29] temp01 has joined the channel [06:30] zilch has joined the channel [06:30] rtward has joined the channel [06:31] ritch has joined the channel [06:32] zilch has joined the channel [06:32] saikat has joined the channel [06:34] seivan has joined the channel [06:36] sebastia_ has joined the channel [06:37] zilch has joined the channel [06:37] okuryu has joined the channel [06:40] davidbanham has joined the channel [06:40] ironlad has joined the channel [06:41] zilch has joined the channel [06:42] zanes has joined the channel [06:46] zilch has joined the channel [06:47] zeiris has joined the channel [06:47] bazookatooth has joined the channel [06:49] Yoric has joined the channel [06:52] zilch: I have a question using cluster.js. Cluster.js provide a telnet based REPL plugin ... which can be used to control various aspects of your cluster configuration ... however it also notes that listen on any port using telnet leads to security holes [06:54] zilch: If I am running my cluster.js/express.js based servers on ec2 and block the port which I listen to for telnet'ing , is it still a possible security risk ? [06:54] zilch has joined the channel [06:55] zilch: my idea is to only open the port when I want to telnet and then close it after I am done with my telnet session ... is it safe practice ? [06:55] vid__: i think potentially yes since within your datacenter there might be others who can get to it [06:57] zilch: vid__, so not to open the port is only safe option ? [06:57] vid__: you can open it and iptable it to locally [06:57] vid__: that means you would need to ssh to it and then connect [06:57] zilch: and isn't ec2 ( as datacenter ) secure ? [06:58] vid__: i actually use linode [06:58] chjj: zilch: the docs recommend using a unix socket [06:58] zilch: vid__, so leaving port 22 open is safe ? [06:58] chjj: i think it might be wise to abide by that [06:58] vid__: unix socket definitely more secure [06:58] zilch: chjj, but then I have to ssh , right ? [06:58] vid__: right [06:58] chjj: why would that be a problem though? thats how you administer your server normally anyway [06:59] zilch has joined the channel [06:59] zilch: I mean I did go through the docs .. [06:59] zilch: chjj, vid__, so leaving port 22 open is safe ? [06:59] vid__: you can also tunnel through vpn [06:59] damiano has joined the channel [06:59] vid__: sshe is safe [06:59] damiano: hello black & white [07:00] damiano: :) [07:00] chjj: well 22 is going to be forwarded for ssh isnt it? [07:00] ph^ has joined the channel [07:00] zilch: vid__, "sshe" or was it "ssh" with typo ? [07:00] madsleejensen has joined the channel [07:00] vid__: type [07:00] vid__: o [07:00] vid__: heh [07:00] zilch: chjj, 22 is for ssh ...yup [07:00] chjj: right i know that, im saying, yeah its safe [07:01] chjj: unless you enable password login for root or something equally weird [07:01] zilch: k ... so basically telnet is not safe as ssh ... can I conclude that ? [07:01] vid__: yes [07:01] zilch: ah .. [07:01] zilch: one more security question ... since you have told that datacenters are not safe ... [07:02] vid__: within your subnet [07:02] vid__: there are other servers [07:02] zilch: I am having reversproxy which listen's to HTTPS request on port 433 ... and the ssl termination is done at/on reverseproxy ... [07:03] zilch: vid__, I understood that data centers ( including EC2 ) are not always safe .. [07:03] chjj: you mean 443? [07:03] vid__: ssl is safe [07:03] zilch: chjj, sorry it is 443 ... typo [07:03] vid__: i thought we were talking about the telnet within the datacenter [07:04] zilch: vid__, oh , I have digested the fact that telnet are not safe within the data center ...!!! [07:04] vid__: ok [07:04] zilch has joined the channel [07:04] zeade has joined the channel [07:05] zilch: I am having reversproxy which listen's to HTTPS request on port 433 ... and the ssl termination is done at/on reverseproxy .... reverseproxy reads the request and based on the path forwards it to any of the actual services ... running on port 40111 and 40222 ... [07:05] vid__: ok [07:06] zilch: my question is ... is it ok to leave the communication between the reverse proxy and the actual services as HTTP or should I have it HTTPS ? [07:06] zilch: I am having it using HTTPS ... [07:07] csanz has joined the channel [07:07] vid__: if you are serving static files http is fine [07:07] vid__: but if its credit cards moving around i'd use ssl [07:07] zilch has joined the channel [07:07] zilch: so there is termination of ssl happening at the reverse proxy level when the requests arrive from clients ... [07:08] vid__: but if its credit cards moving around i'd use ssl [07:08] meandi2 has joined the channel [07:08] azeroth_ has joined the channel [07:08] zilch: and then there is a ssl termination that is done when request arrive at actual service from reverse proxy ... [07:08] zilch: wouldn't it be a big performance issue to have to ssl termination ? [07:09] vid__: yes ssl is slow [07:09] damiano: can i create a pair as key in redis? like: id : ip-address => value [07:09] damiano: ? [07:09] zilch: essenially one more ssl encoding and one more termination .. [07:10] zilch: vid__, what are acceptable trade offs ... I am not passing creditcard data .. [07:10] vid__: a key can be anything in redis: i use uri format [07:10] zilch: but I would still want to make reasonably secure !! [07:10] vid__: tcp://ip/value [07:10] fyskij has joined the channel [07:10] SamuraiJack has joined the channel [07:11] damiano: vid__, one moment....i told a "pair" because i net to "get" or by ID or IP_ADDRESS [07:11] vid__: if you have static ips [07:11] damiano: is it possible? [07:11] vid__: you can use iptable [07:11] vid__: to restrict access [07:11] zilch: talking about the communication between the reverse proxy and actual services instances [07:11] zilch: vid__, static ips and iptable ... were answer to me I suppose .. [07:11] vid__: damiano: you can use the score for the value [07:11] zilch: yup I do have static Ips .. [07:12] mikeal has joined the channel [07:12] zilch: i am having it on ec2 ... with elastic ips ... [07:12] vid__: yeah iptable is a good way to go [07:13] loob2 has joined the channel [07:13] adam- has joined the channel [07:13] damiano: vid__, one moment... the score? [07:14] damiano: vid__, what do you mean? [07:14] zilch has joined the channel [07:15] vid__: damiano: are you trying to store the 2 values as the key? [07:15] damiano: vid__, exactly [07:15] vid__: btw someone in /join #redis might help more [07:15] damiano: vid__, i tried.... all sleeping :) [07:15] digitalsabre: Someone give me a good reason why one would want to use event emitters. [07:16] digitalsabre: I'm having trouble grasping them. [07:16] SubStack: streams [07:16] SubStack: they can emit different sorts of events [07:17] SubStack: end, data, drain, error [07:17] vid__: just create 2 keys for your value [07:17] SubStack: EventEmitters let you catch those events [07:17] vid__: good answer [07:17] zilch has joined the channel [07:17] SubStack: catch and emit I should say [07:18] damiano: redis.set([one, two], value ) <----- ? [07:18] vid__: on and emit [07:18] SubStack: the way the browser does it by default meanwhile is pretty shit [07:18] SubStack: window.onload = function () {} [07:18] SubStack: because you can only do assignment once [07:18] digitalsabre: Sure, but… what sort of events can I catch using emitters, SubStack? [07:18] SubStack: very tricky to set up multiple callbacks to fire in different parts of the codebase [07:18] vid__: redis.set([one], value ) redis.set([two], value ) [07:19] zilch: digitalsabre, the events you deem fit for your design [07:19] vid__: with a multi [07:19] SubStack: digitalsabre: there is no distiction between sorts of events [07:19] SubStack: events have a string for a name and may have data or not [07:19] digitalsabre: zilch: What, precisely, is an event, then? How do I know what is an event and what is not? [07:19] damiano: vid__, are separated [07:20] SubStack: one side does obj.emit('foo', 3, 4, [ 5, 6 ]) [07:20] zilch: digitalsabre, say for a pet you can have event wokeup, wentforsleep, poo, hungry [07:20] SubStack: the other does obj.on('foo', function (x, y, z) {}) [07:20] SubStack: digitalsabre: events are not things [07:20] mscdex: don't wanna forget to listen for the 'poo' event [07:20] vid__: damiano: you can do what i do sometime [07:20] vid__: create a global key [07:20] vid__: or set [07:20] digitalsabre: they're code structures? [07:21] vid__: and add the key to that [07:21] vid__: and then another one with value of it [07:21] zilch: mscdex, poo jar ...lols ... nasty ugly me !!! [07:21] vid__: key://keys1 [key1,key2] [07:21] damiano: vid__, can i add key to another keys ? [07:21] digitalsabre: So… every object can have only one event? :/ [07:22] vid__: key://keys1/value => value [07:22] zilch: digitalsabre, your question are much to do with oops ( well mostly !!) and how events inter play among them ... If I am correct ... [07:22] damiano: if i do: redis.set("key") [07:22] vid__: you can create keys from another set [07:22] vid__: using the name [07:22] SubStack: digitalsabre: you have a very mistaken idea of how EventEmitters work, I recommend reading the documentation [07:22] zilch: digitalsabre, object can have multiple events [07:22] damiano: how can i do it with redis module ? [07:22] digitalsabre: I'm trying to understand them from tjholoway's book... [07:22] SubStack: digitalsabre: http://nodejs.org/docs/v0.4.9/api/all.html#events [07:23] digitalsabre: But it's not very clear. [07:23] SubStack: tj wrote a book? [07:23] zilch: SubStack, I am waiting from you ... :P with all that svgs ... [07:23] zilch: :P [07:24] zilch has joined the channel [07:26] vid__: damiano: i meant list [07:26] zilch has joined the channel [07:26] davidbanham has joined the channel [07:26] digitalsabre: Alright, so… if I create two different methods on an object, and then in each one, obj.emit('activated'); and obj.on('activated', function(){ console.log("Wondertwin Powers… ACTIVATE!")}); or something? [07:27] SubStack: digitalsabre: methods have nothing to do with it [07:27] digitalsabre: Then I'm not understanding the usefulness of emitters. [07:27] damiano: vid__, LPUSH [07:27] damiano: ok [07:27] vid__: yeah for the keys [07:27] SubStack: digitalsabre: look at the examples here http://nodejs.org/docs/v0.4.9/api/all.html#events [07:27] espacia has joined the channel [07:29] vid__: lpush('key://blah', key1) lpush('key://blah', key2) set('key://blah/value', value1) [07:29] zilch has joined the channel [07:29] vid__: when store stuff in redis i use urls [07:30] vid__: much easier to search and look at [07:30] unlink has joined the channel [07:31] CStumph has joined the channel [07:31] damiano: vid__, thank you so much [07:31] damiano: i'm developing a simple "user logged" system [07:31] damiano: to prevent multi-login [07:32] damiano: with the same user-password [07:34] zilch has joined the channel [07:34] digitalsabre: Okay… now… maybe this isn't the deepest grasp of the things, but… An event causes a listener to fire (when you call it by emitting the event). If there are multiple listeners for that event, they all fire in order according to their sequence on a stack. [07:35] a2800276 has joined the channel [07:35] digitalsabre: In other words, after a fashion, it is a way one can sortof stack functions? [07:36] vid__: you mean attach multiple listeners which are functions waiting for an event [07:36] damiano: vid__, can i search in redis ...looking for "key://ip" text when the entire key is "key://ip:port" [07:36] damiano: ? [07:37] prettyrobots has joined the channel [07:37] TheJH has joined the channel [07:37] TheJH has joined the channel [07:37] vid__: keys key://ip* [07:37] digitalsabre: vid__: That's what I mean, really. Is there a difference between what I said and what you said? [07:38] vid__: its cleaner than holding an array of functions and calling it all the time [07:38] damiano: ok [07:38] vid__: might be doing the same thing though [07:39] digitalsabre: It's not much different, the way I see it. [07:39] vid__: its cleaner [07:39] vid__: i do it in query and in node.js [07:39] digitalsabre: It looks like foreach(listener in eventListeners) { listener(arg1, arg2, arg3 … ); } [07:40] digitalsabre: Oh, forgat an if. [07:40] vid__: well i rather write less code [07:40] digitalsabre: I'm not knocking it. I'm trying to understand it. [07:41] digitalsabre: Before I came in here, I didn't understand how it worked at all. [07:41] vid__: and its object oriented [07:41] vid__: the end result is the same thing [07:42] digitalsabre: I have this feeling people think I'm attacking it and I'm not. I didn't understand how it worked. I'm not saying I don't understand why someone should use it. [07:42] vid__: i think its the wording of the question that caused that [07:43] digitalsabre: I was just pointing out that it looks like a foreach, which is useful in helping me understand it. [07:43] vid__: seems like a lot of node.js modules in npm have memory leaks [07:44] vid__: btw for arguments [07:44] SubStack: then fix them [07:44] digitalsabre: ? [07:44] mscdex: digitalsabre: EventEmitters store listeners in an array already [07:44] digitalsabre: Um… I got that, mscdex. [07:45] mscdex: ok...? :S [07:45] mscdex: then what is the issue? [07:45] zidadi has joined the channel [07:45] vid__: he's just trying to understand it i think [07:45] digitalsabre: The issue was that I didn't understand what EventEmitters did before I came in here. Now I have some handle on how they work and a good idea what they'd be used for. [07:46] mscdex: alright [07:46] digitalsabre: tj's book didn't really explain. [07:46] mscdex: they're pretty simple really [07:46] zidadi has left the channel [07:47] mscdex: but incredibly useful [07:47] digitalsabre: So I can create a stack so that when something happens, thirty-five different things happen. [07:48] digitalsabre: And I can even have one listener conditionally add other listeners for the next trigger... [07:48] mscdex: digitalsabre: you could [07:49] digitalsabre: That's going to take a while for me to understand the complete implications of. [07:49] mscdex: but i'd say most people don't do that usuall [07:49] mscdex: usually [07:50] mscdex: generally you have very few listeners for a single event [07:50] TomY has joined the channel [07:54] zilch has joined the channel [07:54] SubStack: mscdex: perhaps you can help: I'm implementing the vt100/ansi terminal codes in plain javascript [07:54] SubStack: but I can't seem to trap the device status responses [07:55] SubStack: not sure where they're being written to [07:55] SubStack: for instance: [07:55] SubStack: node -e 'process.stdout.write(new Buffer([ 27, 91, 99 ]))' [07:55] SubStack: oh maybe I need to open the tty [07:55] wenhao1 has joined the channel [07:56] mscdex: SubStack: you need to enable raw mode [07:56] SubStack: on which descriptor? [07:57] zilch has joined the channel [07:58] versicolor has joined the channel [07:58] SubStack: hah I opened the `tty` and got the response at least [08:00] mscdex: i haven't used the tty module very much, but i think the repl does with readline [08:01] SubStack: oh snap, I got it! [08:01] mscdex: heh [08:01] SubStack: ah it's emitted through process.stdin's data event with rawmode [08:01] zilch has joined the channel [08:01] SubStack: strangely this circumvents the keypress events [08:02] mscdex: probably [08:02] stephank has joined the channel [08:03] SubStack: bwahaha [08:03] mscdex: you making a multi-user ansi art drawing program? ;-) [08:03] SubStack: nah I just need to dump ansi data to an http server [08:03] mscdex: ah [08:03] SubStack: curl -N 71.198.76.38:8080 [08:03] SubStack: >:D [08:04] mscdex: it prompts for a download! [08:04] SubStack: wha? [08:04] SubStack: when you issue the curl command? [08:04] mscdex: from a browser :p [08:04] SubStack: oh hah when you visit it from a browser sure [08:04] SubStack: but browsers are so 2010 [08:05] mscdex: psh [08:05] SubStack: curl is where it's at [08:05] mscdex: i use wget [08:05] SubStack: wget doesn't seem to have non-buffering mode :( [08:06] SubStack: oh wait! [08:06] SubStack: wget -qO- 71.198.76.38:8080 [08:06] SubStack: works ^_^ [08:06] zilch has joined the channel [08:06] altamic has joined the channel [08:06] altamic has joined the channel [08:06] deadman87 has joined the channel [08:06] SubStack: sweet it's non-buffering by default in -O- mode [08:07] mscdex: hax! [08:07] dexter_e has joined the channel [08:07] SubStack: but you can't upload files with wget, pretty sure [08:07] SubStack: you can with curl -T >:D [08:08] mscdex: meh i don't usually do uploading from the command line [08:08] wenhao1 has left the channel [08:08] SubStack: mscdex: for what I have in mind here it's pretty important [08:08] chilts: I do sometimes, e.g. using the Google Closure compiler (online version) [08:08] SubStack: just a single command to upload your tests to testling! [08:08] SubStack: and run them in all the browsers [08:08] mscdex: chilts: you're relying on google infrastructure? :O [08:09] davro has joined the channel [08:09] SubStack: with animated ascii graphs of your test status [08:09] chilts: heh, only when minimising JS for the server [08:09] chilts: not for Node stuff :) [08:09] mscdex: oh, you mean minifying files manually? [08:10] chilts: yeah [08:10] chilts: so I'd edit them, minimise them and check them in :) kinda weird, but works for me [08:10] mscdex: for that i always use that appspot page that has an interface to that [08:10] chilts: I haven't found a command line tool I like yet [08:10] zilch has joined the channel [08:10] chilts: mscdex: http://closure-compiler.appspot.com/compile ? [08:10] chilts: that's the one I use with curl to send files that way [08:11] mscdex: yeah [08:11] nhaesler has joined the channel [08:11] mscdex: they changed the site a bit it looks like.... event got a rest api now [08:11] mscdex: neat [08:11] chilts: e.g. http://paste.dollyfish.net.nz/256281 [08:11] chilts: yeah, that's the one I use :) [08:12] KingJamool has joined the channel [08:12] seivan_ has joined the channel [08:12] mscdex: someone wrote a node module that does similar tasks for js and css files with uglifyjs [08:13] mscdex: with dependency analysis [08:13] mscdex: by looking for require [08:13] SubStack: I have a lib that does that but not for css [08:14] mscdex: but you can add files explicitly too [08:14] guidocalvano has joined the channel [08:16] mscdex: this module uses yahoo's cssmin it looks like [08:16] robhawkes has joined the channel [08:16] zilch has joined the channel [08:16] mscdex: https://github.com/kof/node-ams [08:18] fly-away has joined the channel [08:18] jbrokc has joined the channel [08:19] zilch has joined the channel [08:19] azeroth_ has joined the channel [08:23] davidbanham has joined the channel [08:24] zilch has joined the channel [08:27] zilch has joined the channel [08:28] brokenjames has joined the channel [08:30] al3xnull has joined the channel [08:32] fyskij has joined the channel [08:33] zilch has joined the channel [08:36] SubStack: process.stdin doesn't seem to set .paused like other ReadableStreams [08:37] SamuraiJack has joined the channel [08:37] bazookatooth: .butthurt [08:40] deadman87 has left the channel [08:42] escii has joined the channel [08:42] zilch has joined the channel [08:43] DrDetroit has joined the channel [08:43] dt665m has joined the channel [08:43] DrDetroit: so -where is node now ? It's all really about async io right ? [08:43] DrDetroit: 'an' offering ? [08:44] DrDetroit: 'an' intellectual offering by - hmm- I forget his name - the guy on Google talks who used the word asshole. [08:44] SubStack: node is right here: http://nodejs.org [08:44] DrDetroit: 'I'm not going to be an asshole and say everything HAS to be async' that guy [08:44] seivan has joined the channel [08:44] DrDetroit: heya substack- I remember your nick- been a LONG time since I came to this chan. [08:44] DrDetroit: Ryan [08:44] DrDetroit: that was it [08:45] DrDetroit: er Ryal [08:45] DrDetroit: how is node.js being used ? [08:45] zilch has joined the channel [08:45] chilts: I wouldn't have thought anyone could quantify that [08:45] DrDetroit: seems a c programmers aspirations brought to the javascript community/. [08:45] DrDetroit: fair game to state if anyone could quantify that. [08:46] DrDetroit: er, good point. [08:46] DrDetroit: just curious to see how node.js is moving along [08:46] SubStack: those are some very broad questions for which objective and concise answers don't exist [08:46] chilts: I'm using it as a queueing system at the moment and prolly some other infrastructure in the future [08:47] SubStack: node is just this nifty little tool that is fun to play with [08:47] SubStack: that should be enough [08:47] chilts: :) [08:47] SubStack: and it's easy to write libraries so lots of people do [08:47] DrDetroit: queing system for ? [08:48] chilts: my application [08:48] chilts: also, just so I could learn more [08:48] DrDetroit: just seeking a balance between under rating and over rating. [08:49] brokenjames: the c guys agreed an a language [08:49] brokenjames: for the not c newbs [08:49] DrDetroit: if the aliens landed- and said- what can you offer us ? [08:49] DrDetroit: ok ok - that is a STRANGE optic to shape a question. [08:49] brokenjames: I would give them all the things I wanted to get rid of [08:49] DrDetroit: well- good the chan is still here [08:50] brokenjames: : / A little brevity never hurt any one. [08:50] DrDetroit: I'm 43 - and programming since age 8 - and am reaching a point where I question intellectualizing for the sake of intellectualizing. [08:50] DrDetroit: my problem need not be yours [08:51] dexter_e has joined the channel [08:51] DrDetroit: I DO know there is a 'fuss' about node.js - and an excitement [08:51] DrDetroit: which is why I was ever brought here. [08:51] DrDetroit: that 'excitement' [08:51] brokenjames: We are not exactly interrupting any one and substack I am sure is busy making things for the Internet to borrow [08:51] DrDetroit: alas I am interested in anything 'new' - [08:52] DrDetroit: however - I'm not so sure 'new' is always better. [08:52] brokenjames: I would say that it alows the average basment hacker to utilize enterprise level networking tools for the first time [08:52] DrDetroit: the anti-thesis to node would be ? [08:52] Croms has joined the channel [08:52] brokenjames: It also brings an elastic ad hoc phone network a step closer because it is so bloody small [08:52] brokenjames: I would say.... [08:53] zilch has joined the channel [08:53] DrDetroit: if someone put forth the antithesis to node ? [08:53] DrDetroit: what would that look like ? [08:53] DrDetroit: locking ? [08:53] brokenjames: when you sit down to do something with it it is a drastic departure from conventional internets making [08:53] DrDetroit: serious locking on every socket transaction ? [08:53] SubStack: DrDetroit: that is a very strange way to think about environments [08:53] DrDetroit: SubStack- I agree- it just came to me [08:53] DrDetroit: to explore the 'antithesis' - agreed [08:54] SubStack: DrDetroit: node is just some wrappers on top of v8 to do file and network i/o [08:54] SubStack: that's all [08:54] DrDetroit: helped me derive some 'way' to understand node or async better [08:54] DrDetroit: Sub - about where I left off on it [08:54] DrDetroit: ok [08:54] DrDetroit: I recognize your nick from another chan [08:54] DrDetroit: some virtual OS chan [08:54] Croms has joined the channel [08:55] DrDetroit: I forget what it was [08:55] DrDetroit: they were running a virtual testing box for web pages [08:55] DrDetroit: my memory fails me [08:55] SubStack: #stackvm [08:55] DrDetroit: neat people though - they were starting a new company [08:55] DrDetroit: yes- that was it [08:55] DrDetroit: you are a God there - lol [08:56] DrDetroit: I wonder how that's working out for the,m [08:56] DrDetroit: admired the effort [08:56] liquidproof has joined the channel [08:56] DrDetroit: LOVE to see real world ventures [08:56] DrDetroit: on creative speculation [08:57] DrDetroit: it's the human spririt [08:57] DrDetroit: reaching into that 'void' [08:57] DrDetroit: year 2000 - 2001, stackvm would PROBABLY be a 100+ million venture [08:58] DrDetroit: 'visionaries' [08:58] DrDetroit: that's all I seek [08:58] DrDetroit: + [08:58] DrDetroit: Ryan here seems to be a visionary [08:58] DrDetroit: you too Substack [08:59] DrDetroit: I have no access to venture capital- can't help there. I'm strictly on the outside looking in. [08:59] DrDetroit: you'll see- hit age 43- it's not easy to digest and adopt new technologies- BUT - you do see many 40,000 foot views- you see same thing over and over again. [08:59] DrDetroit: not that aggregate count of revolutions around the sun add up to anything. [09:00] DrDetroit: in any base. [09:00] DrDetroit: so, to me - I approach node.js and ask myself- what's it all about Charlie Brown. [09:00] DrDetroit: and I think you put it well - an async wrapper [09:00] DrDetroit: now... WHY that is valuable - is of interest to me. [09:02] DrDetroit: BOTTOM line though [09:02] DrDetroit: I AM interested in what it ALL amounts to [09:02] Croms has joined the channel [09:02] DrDetroit: if node.js will enhance processing - [09:02] robotmay has joined the channel [09:03] DrDetroit: BUT - IS it ? nothing MORE than ? an actuality - a functional wrapper [09:03] mraleph has joined the channel [09:03] DrDetroit: yet- AN offering - that simply WORKS [09:03] DrDetroit: then I can settle on that understanding [09:03] DrDetroit: and respect that [09:03] DrDetroit: to be CAREFUL not to make anything more of it though. [09:04] einaros: you're putting a little too much thought into this [09:05] DrDetroit: :00) [09:05] einaros: javascript is an ok language and eventing is a more comprehensible approach to dealing with many tasks more or less simulataneously, than say -- syncing threads yourself [09:05] einaros: for me there's little more to it than that [09:05] DrDetroit: indeed the event loop offers this [09:06] DrDetroit: I used to dream about 'interrupt oriented' programming as a youth [09:06] DrDetroit: event loop seems close to that [09:06] DrDetroit: my interrupt was driven by vertical blank [09:10] dt665m: anyone here have experience with handling/creating custom tcp streams willing to shed some light on a newbie? [09:10] seivan has joined the channel [09:12] blueadept has joined the channel [09:12] blueadept has joined the channel [09:12] einaros: dt665m: care to expand on what it is you want to do? [09:12] zilch has joined the channel [09:13] variablenode: why event based method better than thread based method [09:13] variablenode: ?? [09:13] dt665m: sure... we're trying to link up a custom tcp protocol to communicate between our node server and a flash client [09:13] dt665m: except i have no experience in dealing with tcp streams and what the 'proper' way to handle them are [09:15] dt665m: basically, it would be helpful if someone could just list out the nuances and behaviors of tcp streams so I can code proper handling on the node end [09:16] einaros: variablenode: 'better' in terms of what? [09:16] zilch has joined the channel [09:17] DrDetroit: neat stuff to watch here [09:17] DrDetroit: this is why I came [09:17] DrDetroit: here- to see how people are using node.js [09:18] variablenode: well there are two bench marks, memory and time [09:18] variablenode: as well as multi programming [09:18] variablenode: etc [09:19] zilch has joined the channel [09:22] temp01 has joined the channel [09:23] variablenode: where and why node.js should be preferred [09:23] variablenode: ?? [09:23] einaros: variablenode: most programmers I know, skilled and unskilled alike, have a poor understanding of the implications of concurrent processing, let alone synchronization of such [09:24] einaros: thus, horrible bugs are born [09:24] einaros: and for what purpose? for the most you don't actually need the 'speed' of rolling your own thread soup [09:24] dt665m: yeah, einaros is right about threads and programmers in general [09:25] dt665m: threads are just difficult to get right, from my experience [09:25] ttpva has joined the channel [09:25] zilch has joined the channel [09:27] einaros: dt665m: regarding your custom protocol, the first thing you should consider is what kind of data you need to transfer. will there be need for binary? [09:28] einaros: if binary isn't a requirement, I'd just consider sending CFLF separated JSON blocks, with a property indicating the command/event/message + whatever props you need for payload [09:29] einaros: if there will be a lot of data, and frequently at that, other encoding options could be considered [09:29] zilch has joined the channel [09:31] dt665m: yeah... we're considering a messaged based encoding protocol. In the strictest sense, we don't necessariy need binary... but our data will be really small and sent often... so binary seems like a good fit just for efficiency [09:31] arpunk has joined the channel [09:32] nodokodo has joined the channel [09:33] dt665m: I guess from my quick research, handling tcp is really just figuring out (through protocol or otherwise) where the stream is supposed to start/end... and just handle the buffer's properly in node [09:33] einaros: don't optimize unless you have to [09:34] zilch has joined the channel [09:34] einaros: and really, changing the encoder/decoder isn't much of a problem, if the rest of your architecture is sound [09:34] dt665m: thats very true. Any idea how all this stuff plays out, performance wise, with node? [09:35] einaros: regarding the stream - either have a fixed message size (ugh), or have a separator (depends on the data and encoding. could be crlf, could be a more elaborate sequence, such as for chunked http transfers) [09:36] smtlaissezfaire has joined the channel [09:36] einaros: the perf depends on your data and architecture. start by writing a set of tests and benchmarks, and (loosely) aim to have an interchangable decoder / encoder [09:36] EvRide has joined the channel [09:36] einaros: sounds like a good path to follow [09:37] zilch has joined the channel [09:37] dt665m: yeah, i'll be looking into that. Thanks for the input. [09:37] SubStack: is there a way to query whether process.stdin has been paused? [09:38] SubStack: fs's ReadableStream sets this.pause but even though process.stdin is supposed to be a readable stream .paused doesn't seem to ever get set [09:39] SubStack: even if I call .pause()! [09:44] zilch has joined the channel [09:45] robotmay has joined the channel [09:46] mikl has joined the channel [09:46] mikl has joined the channel [09:47] zilch has joined the channel [09:47] dt665m: hey substack... from your packages/modules i'm going to assume you have a great deal of experience working with binary data in node [09:47] dt665m: some people say node is slow with binary... is this true? [09:48] dt665m: in practice? [09:48] SubStack: is it? [09:48] SubStack: I hadn't noticed [09:49] mike5w3c has joined the channel [09:49] __doc__ has joined the channel [09:49] zilch has joined the channel [09:49] Peniar has joined the channel [09:54] zilch has joined the channel [09:56] zilch has joined the channel [09:57] tomb has joined the channel [09:59] zilch has joined the channel [10:02] zastaph has joined the channel [10:02] skm has joined the channel [10:04] damiano: https://gist.github.com/1143705 too variable at the beginning? :-D [10:04] damiano: ahha ;) [10:06] thalll has joined the channel [10:13] daithi44 has joined the channel [10:16] gozala has joined the channel [10:16] gozala has left the channel [10:19] booo has joined the channel [10:20] zilch has joined the channel [10:21] S1r10n has joined the channel [10:24] Yuffster_work has joined the channel [10:26] zilch has joined the channel [10:26] damiano: if i do: req.session.bla = 'blablabla' below it can i do req.session.sid ? [10:26] damiano: .sid is available? [10:28] SubStack: damiano: what are you using for session management? [10:28] temp02 has joined the channel [10:29] damiano: connect-redis [10:29] damiano: (express) [10:29] ecin has joined the channel [10:30] zilch has joined the channel [10:31] DrDetroit: ? [10:34] jetienne_ has joined the channel [10:34] traph has joined the channel [10:34] zilch has joined the channel [10:36] markwubben has joined the channel [10:37] versicolor has joined the channel [10:37] skm has joined the channel [10:38] astropirate has joined the channel [10:40] piscisaureus has joined the channel [10:41] beejeebus has joined the channel [10:46] p0dp0d has joined the channel [10:47] p0dp0d: Hi [10:47] p0dp0d: wow, the last time i was on irc must be 20 years ago [10:48] p0dp0d: I'm looking for some help on installing node.js [10:48] pepri has joined the channel [10:48] Gaunt has joined the channel [10:50] damiano: var authorized = exports.module = function(callback){... }; [10:50] damiano: is it correct? [10:50] piscisaureus has joined the channel [10:50] damiano: i what to use that function inside the module...but also export it [10:51] pepri has left the channel [10:52] p0dp0d: @damiano looks allright to me [10:53] damiano: ok [10:53] damiano: thank you [10:53] p0dp0d: not sure though, about the var authorized in front of it [10:53] topaxi has joined the channel [10:53] damiano: solved [10:53] damiano: i done [10:53] damiano: var authorized = function(callback){ ... } [10:53] damiano: and then [10:53] damiano: exports.authorized = authorized; [10:54] damiano: :D [10:54] p0dp0d: you're trying to use authorized as a variable inside your module and exporting the function at the same time? Is that it? [10:54] p0dp0d: that looks better :) [10:54] kixxauth has joined the channel [10:55] p0dp0d: I get "Segmentation fault" when i run ./configure on a Debian 6.0.1 (runing on VPS) [10:55] damiano: yes [10:55] damiano: :) [10:56] p0dp0d: both v0.4.10 and 0.5.4 of node [10:56] hybsch has joined the channel [10:56] ts__ has joined the channel [10:57] matyr has joined the channel [10:57] p0dp0d: i get the same when i run tool/waf-light manualy [10:57] p0dp0d: clue anyone? [10:57] zilch has joined the channel [11:00] luke` has joined the channel [11:01] FireFly has joined the channel [11:02] beejeebus has joined the channel [11:04] c4milo1 has joined the channel [11:05] TheFuzzball has joined the channel [11:08] jetienne_ has joined the channel [11:09] gausby has joined the channel [11:10] TomY has joined the channel [11:12] pt_tr has joined the channel [11:14] blup has joined the channel [11:15] pifantastic has joined the channel [11:16] unlink has joined the channel [11:16] unlink has joined the channel [11:20] blueadept has joined the channel [11:21] wbw72 has joined the channel [11:23] zilch has joined the channel [11:24] dexter_e has joined the channel [11:26] larsemil: Is it possible to attach a string when doing socket.connect from client? [11:27] scott_gonzalez has joined the channel [11:33] zilch has joined the channel [11:34] materialdesigner has joined the channel [11:36] hkjels has joined the channel [11:36] zilch has joined the channel [11:40] industrial has left the channel [11:46] huskyr has joined the channel [11:46] zilch has joined the channel [11:51] Country has joined the channel [11:51] zilch has joined the channel [11:53] `3rdEden has joined the channel [11:54] zilch has joined the channel [11:55] k1ttty has joined the channel [11:58] seivan has joined the channel [11:58] zilch has joined the channel [12:02] zilch has joined the channel [12:03] mc_greeny has joined the channel [12:03] papandreou has joined the channel [12:06] liar has joined the channel [12:07] zilch has joined the channel [12:07] ttpva_ has joined the channel [12:08] jbergstroem has left the channel [12:10] zilch has joined the channel [12:14] temp01 has joined the channel [12:14] zilch has joined the channel [12:18] zilch has joined the channel [12:18] beejeebus has joined the channel [12:18] igl1 has joined the channel [12:24] shipit has joined the channel [12:24] mrsrikanth has joined the channel [12:25] ecin has joined the channel [12:25] zilch has joined the channel [12:27] fairwinds has joined the channel [12:28] azeroth_ has joined the channel [12:29] zilch has joined the channel [12:33] zilch has joined the channel [12:33] damiano has joined the channel [12:33] damiano: hi [12:34] bradleymeck has joined the channel [12:35] S1r10n: not yet [12:35] S1r10n: uh no that was socket.io [12:40] Raynos has joined the channel [12:41] Raynos: There is a framework on node for writing applications as network graphs [12:41] Raynos: I cant find it. [12:41] Raynos: Does anyone know what it's called? [12:42] damiano: one thing about session on express (connect-redis).... I used php before starting with node + express, i always used session_start() function at the beginning of the file to handle sessions.... my question is: do i have to use a "particular" function to "update" the sessions OR express does it automatically? [12:42] Raynos: damiano: aslong as you have the session middleware it should just work [12:43] damiano: ok [12:43] |Freeman| has joined the channel [12:43] damiano: so if i have set maxAge at 900000 (15m) ti should update it each time the user request a page [12:43] damiano: right? [12:45] Raynos: Dont know [12:46] markwubben has joined the channel [12:46] dguttman has joined the channel [12:46] nuba has joined the channel [12:48] McMAGIC--Copy has joined the channel [12:50] seivan has joined the channel [12:50] thalll_ has joined the channel [12:54] flou has joined the channel [12:56] shipit: hi guys, I'm starting to develop on node.js, which linux distribution you guys prefer? [12:57] zilch has joined the channel [13:01] jbpros has joined the channel [13:01] zilch has joined the channel [13:01] jetienne: shipit: any will do [13:01] jetienne: shipit: it is distribution agnostic [13:02] shipit: thx jetienne, I'm trying to choose between ubuntu and fedora [13:02] Raynos: Does anyone know of the node library [13:02] Raynos: that lets you write an application as a series of nodes and edges [13:02] Raynos: and define input and output on these [13:02] jetienne: shipit: personnaly i prefer ubuntu, but it personnal [13:03] Nexxy: shipit, ubuntu [13:03] Nexxy: there is no fedora [13:03] tshpaper has joined the channel [13:03] shipit: haha :) [13:03] Nexxy: your choices are ubuntu and arch [13:03] Nexxy: forget everything else unless you feel like debian [13:04] Nexxy: or freebsd! [13:04] Nexxy: but that's just masochistic [13:04] jetienne: shipit: this is of no importance for node.js tho. for node they are all the same [13:04] Nexxy: it kind of is [13:04] Nexxy: although node.js doesn't really care [13:04] Nexxy: you're still going to have to administer the box and stuff [13:04] shipit: Nexxy: I used to be on gentoo [13:04] Nexxy: oh [13:04] Nexxy: well [13:05] Nexxy: excuse me then [13:05] Nexxy: I'll be seeing myself out [13:05] jetienne: shipit: then go on use this one, it will work [13:05] shipit: haha [13:06] SubStack: curl -N 71.198.76.38:8081 [13:07] zilch has joined the channel [13:09] eyesUnclouded has joined the channel [13:10] beejeebus has joined the channel [13:11] fairwinds: hi. am making a middleware for express. All I need to do is strip a specific query param off. am using url.parse(req.url, parseQueryString=true) to grab url and examine query string. How do I remove it from request so it is not available when next() is called [13:12] Raynos has left the channel [13:12] zilch has joined the channel [13:12] maushu has joined the channel [13:12] hij1nx has joined the channel [13:13] TheJH: memcpy() isn't overlap-safe, right? does that mean that I can't use buffer.copy to copy stuff inside a buffer? [13:15] TheJH: beware, the memcpy is a lie!!! [13:16] TheJH: !git context joyent/node src/node_buffer.cc 450 [13:16] jhbot: 449 // need to use slightly slower memmove is the ranges might overlap [13:16] jhbot: 450 memmove((void *)(target_data + target_start), [13:16] jhbot: 451 (const void*)(source->data_ + source_start), [13:16] TheJH: it's a memmove! [13:16] zilch has joined the channel [13:18] SubStack: curl -N 71.198.76.38:8081 [13:19] TheJH: SubStack, haha, cool! :) [13:24] zilch has joined the channel [13:24] wmage has joined the channel [13:25] wmage: Hello fellas. What be a good way to test my code that works with Redis without wiping my db every time? [13:26] ecin has joined the channel [13:27] p0dp0d: Hi. I'm trying to get node running on Debian 6.0.1 with python 2.6.7. I downloaded both version v0.4.10 and 0.5.4 of the tarball from nodejs.org. When i run ./configure all I get is "Segmentation fault". Any idea how I can fix this? [13:27] TheJH: wmage, if you were using couch, the answer would be "truncate it after each test" :D [13:27] Wizek has joined the channel [13:30] wmage: TheJH: I think I'll end up doing that. [13:30] zilch has joined the channel [13:30] wmage: Is there any nice guide on unit testing? can't seem to find anything. [13:31] wmage: p0dp0d: I would try getting latest version of build environment. (compiler and stuff) [13:31] Deebster has joined the channel [13:32] p0dp0d: wmage, thanks [13:34] zilch has joined the channel [13:34] JKarsrud: meh, pretty annoying that you need xcode tools to run install node on os x :/ [13:34] TheJH: wmage, truncate as in "save the old length of the db, perform tests, kill the db, truncate the db to its old length, restart couch [13:35] TheJH: " [13:36] beejeebus has joined the channel [13:37] EvRide has joined the channel [13:38] wmage: TheJH: Oh, cool! I wonder if I can do that with Redis. [13:39] wmage: JKarsrud: There's stand-alone C tools for OS X that takes about 300MB. [13:39] einaros: I really need to stop toying around with canvas before my cpu overheats [13:39] pt_tr has joined the channel [13:39] JKarsrud: wmage: really? [13:39] zilch has joined the channel [13:39] wmage: JKarsrud: https://github.com/kennethreitz/osx-gcc-installer [13:39] JKarsrud: oh well, downloading xcode tools now, so doesn't really matter, would have to do it eventually anyway, so :P [13:39] snicks has joined the channel [13:40] JKarsrud: but thanks! [13:41] Clex: Do anyone know how to use this https://github.com/milani/node-gitwiki ? [13:42] marcello3d has joined the channel [13:43] marcello3d has joined the channel [13:43] zilch has joined the channel [13:44] p0dp0d: Looks like waf-light that the confiruge script for building node.js runs, throws a "segmentation fault" when trying to execute the line 'Import Scripting'. Is this a python problem? [13:44] snicks: hello all. I need some help building in cygwin win7 x64. [13:45] ttpva_ has joined the channel [13:46] zilch has joined the channel [13:49] edude03 has joined the channel [13:51] Xenefungus has joined the channel [13:51] dherman has joined the channel [13:51] marcello3d has joined the channel [13:52] zilch has joined the channel [13:52] snicks: Hello all. Is anyone here that can help building in cygwin win7 x64. [13:52] beejeebus has left the channel [13:53] adrianmg has joined the channel [13:55] zilch has joined the channel [13:56] nhaesler has left the channel [13:56] JKarsrud: wmage: ok, downloading the gcc installer now, internet sucks here, so I'll download xcode tools when I get back to my 50/50 line :P [13:57] JKarsrud: snicks: I've done it before, but not on windows now, so I'm not sure I can help you that much [13:57] madsleejensen has joined the channel [13:58] Xenefungus has left the channel [13:59] snicks: jkarsrud: ok. I'm sure my problem is specific to cygwin in windows. I'm getting the (common) unable to remap error and can't seem to resolve it [14:01] charleyd has joined the channel [14:01] zilch has joined the channel [14:01] unomi has joined the channel [14:03] iampz has joined the channel [14:03] eliziario has joined the channel [14:04] stinnes has joined the channel [14:04] Raynos has joined the channel [14:04] Raynos: How do I set variables for process.env ? [14:05] pt_tr has joined the channel [14:06] mrryanjohnston: Raynos: man npm-scripts [14:06] mrryanjohnston: Raynos: you can set them in package.json then they are set with npm start [14:06] temp02 has joined the channel [14:06] Raynos: why would I need to use npm for process.env ? [14:07] mrryanjohnston: Raynos: I don't know if you necessarily _need_ to, but it works. [14:07] Raynos: I was looking for `export NAME="..."` [14:07] kenperkins has joined the channel [14:07] mrryanjohnston: Raynos: that's the way I did it. Then I said screw that and put it in a separate config file. [14:07] mrryanjohnston: Raynos: alright well good luck. [14:07] zilch has joined the channel [14:08] Raynos: thanks :) [14:08] skm has joined the channel [14:09] damiano: i'm using EJS where i do <% if(error) { %> ...... <% } %> i get: "error is not defined" (it's true, but i check the value with the IF statement, no?) [14:11] ciezr has joined the channel [14:11] devongovett has joined the channel [14:12] zilch has joined the channel [14:12] theCole has joined the channel [14:14] bradleymeck has joined the channel [14:14] clifton has joined the channel [14:15] p0dp0d: damiano, where's this error supposed to originate from? [14:16] damiano: p0dp0d, in a .ejs [14:16] zilch has joined the channel [14:16] Sorella has joined the channel [14:16] damiano: p0dp0d, very simple: https://gist.github.com/1143895 [14:16] sfoster: damiano: if its undefined you can't test its truthiness [14:16] mrryanjohnston: damiano: you could to if(typeof test) [14:17] mrryanjohnston: er, nevermind [14:17] damiano: no qit one moment...i mean... if i do if(something) [14:17] damiano: this something could be [14:17] damiano: undefined, null [14:17] damiano: but why i see this error? i check the variable before the print [14:17] damiano: look at the code [14:18] mrryanjohnston: damiano: http://stackoverflow.com/questions/5070841/jade-template-engine-how-to-check-if-a-variable-exists [14:18] damiano: i told you it's true becuase i never created a variable named "error" so. OK, the error is true, but why it prints? [14:18] mrryanjohnston: damiano: see my link [14:18] p0dp0d: could you define it [14:18] p0dp0d: upfront as false? [14:19] damiano: if (typeof username !== "undefined") [14:19] damiano: yes i can define it...sure [14:19] p0dp0d: i also get an error when i try to do if(something) [14:19] damiano: ok ok [14:19] damiano: my mmistake, thank you guys your comment are very apprecially [14:19] damiano: (and excuse my english :) ) [14:20] mrryanjohnston: damiano: :) have fun [14:20] zilch has joined the channel [14:22] unomi has joined the channel [14:23] some1else has joined the channel [14:24] Raynos: What do people think of pascalcase npm module names? [14:24] heavysixer has joined the channel [14:24] Raynos: Are we allowed to complain to authors that their unusual pascalcasing is annoying I find `require("PascalCase")` rather annoying [14:25] zilch has joined the channel [14:25] damiano: ooh [14:25] p0dp0d: In case anybody wonders: i just fixed my segmentation fault at ./configure by installing python 2.7.2 [14:25] damiano: one thing [14:25] damiano: req.session.id = 10; [14:25] damiano: can i get the sid below it ? [14:25] Bonuspunkt: dont care - require('ℙα﹩ḉαʟℭα﹩ε') 'd be annoying [14:25] damiano: var id_session = req.session.sid [14:25] damiano: ? [14:25] damiano: i continue to get undefined [14:25] seyz has joined the channel [14:26] wmage: Hey .. When I pass directory to nodeunit's reporters.default.run it doesn't run anything. When I pass files, it works. What am I doing wrong? [14:27] tbranyen: wmage: afaik you need to use files [14:27] tbranyen: at least thats how i've always done it [14:27] wmage: I was trying to copy https://github.com/37signals/pow/blob/master/Cakefile#L60 [14:28] wmage: But when I run pow's test suite, it doesn't work so yeah I'll use files. [14:28] Raynos has left the channel [14:28] wmage: One more question. My test suite doesn't quit itself. I have to precc ^C. Is this normal? [14:29] tbranyen: no [14:29] wmage: hm [14:29] wmage: I call test.done() in my test [14:29] tbranyen: https://github.com/tbranyen/combyne.js/tree/master/test [14:29] tbranyen: is how i'm using nodeunit [14:29] tbranyen: index.js has my reporter [14:30] igl has joined the channel [14:30] wmage: oh, that's cool [14:30] tbranyen: and then in my Makefile i have: node ./test/index.js test [14:31] arpunk has joined the channel [14:31] madsleejensen1 has joined the channel [14:31] llrcombs: how can I give each side of a cube a different color? [14:32] seyz has joined the channel [14:33] wmage: tbranyen: Yeah I'll do something similar when I have many test files. (It's just one test right now) [14:33] unomi: anyone using / tried out JinJs for templating? [14:36] Deebster: llrcombs: http://stackoverflow.com/questions/470690/how-to-automatically-generate-n-distinct-colors is good [14:37] seyz has joined the channel [14:37] eldar has joined the channel [14:37] edude03 has joined the channel [14:38] postwait has joined the channel [14:39] Sazpaimon_ has joined the channel [14:40] llrcombs: Deebster: I actually have the color set, I just need to know how to put the 6 colors on the sides of a cube [14:40] wmage: hmthis little test hangs forever: http://pastie.org/2366136 anybody has an idea what could it be? [14:41] wmage: createClient should be synchronous function [14:41] llrcombs: also, I'd like to know how to make the edges be black, along with the sides being colored [14:41] jord has joined the channel [14:42] seyz has joined the channel [14:42] wmage: and if I comment it out, it works [14:43] unlink has joined the channel [14:43] unlink has joined the channel [14:44] zilch has joined the channel [14:45] wmage: boom! calling @redis.quit in tearDown worked! [14:46] febits has joined the channel [14:48] kenperkins has joined the channel [14:48] llrcombs: oh, wait, this is #node.js [14:48] llrcombs: I wanted #three.js [14:48] mehtryx has joined the channel [14:48] llrcombs: my bad, I fail [14:48] zilch has joined the channel [14:51] Tom_ has joined the channel [14:51] kenperkins has joined the channel [14:52] Tom_: I was wondering, is there a way to set a master timeout to http connections in Express? Basically I don't want a connection to be open for longer than 15 minutes [14:52] zilch has joined the channel [14:53] Deebster: llrcombs: I wondered if you were using webgl [14:53] Deebster: glad you're not :) [14:55] fille has joined the channel [14:55] fille: hello my friends [14:55] SubStack: hallo [14:56] fille: wasup [14:57] cying has joined the channel [14:57] al3xnull has joined the channel [14:58] theCole has joined the channel [14:58] fille: installing hook.io made my [14:58] fille: socket.io program dont work [14:59] zilch has joined the channel [15:01] zemanel has joined the channel [15:02] sivy has joined the channel [15:03] zilch has joined the channel [15:07] ironlad has joined the channel [15:07] progme has joined the channel [15:08] zilch has joined the channel [15:08] eyesUnclouded has joined the channel [15:11] martyziff has joined the channel [15:14] jbpros has joined the channel [15:15] zilch has joined the channel [15:19] zilch has joined the channel [15:21] Nexxy has joined the channel [15:22] matomesc has joined the channel [15:22] walbert has left the channel [15:23] dherman has joined the channel [15:23] Libra102 has joined the channel [15:24] huskyr has joined the channel [15:26] zilch has joined the channel [15:27] flou has joined the channel [15:28] Tom_: What usually causes a Broken Pipe error (EPIPE)? I'm getting this error but have no idea where to look as I do not know what could possibly cause it [15:29] mizerydearia has joined the channel [15:30] markwubben has joined the channel [15:31] ironlad has joined the channel [15:31] bradleymeck has joined the channel [15:32] __sorin__ has joined the channel [15:37] mscdex: Tom_: http://www.wlug.org.nz/EPIPE [15:38] wmage: blogged: http://thewebmage.wordpress.com/2011/08/13/improve-your-asynchronous-javascript-code/ [15:39] Tom_: mscdex: I guess there is no easy way to see where this read or write was attempted? [15:39] Spion has joined the channel [15:39] zilch has joined the channel [15:41] martyziff has left the channel [15:42] asabil has joined the channel [15:43] pen_ has joined the channel [15:45] zilch has joined the channel [15:46] mscdex: Tom_: are you using any modules or ? [15:46] McMAGIC--Copy has joined the channel [15:47] Tom_: mscdex: this particular situation is related to two modules, but I'm also using streams and sockets in my own code [15:47] beawesomeinstead has joined the channel [15:47] zilch has joined the channel [15:49] mrryanjohnston: what service are you guys using to host your node.js apps? [15:49] vipaca has joined the channel [15:49] Tom_: mrryanjohnston: services? You normally use a server =) [15:49] k1ttty has joined the channel [15:50] SamuraiJack has joined the channel [15:50] mrryanjohnston: Tom_: I'd say something like nodester is a service ;) [15:51] Tom_: mrryanjohnston: ah right, like a managed server provider [15:52] mrryanjohnston: Tom_: correct. I was going through https://github.com/joyent/node/wiki/hosting. I was just curious what everyone else used [15:52] Tom_: afraid I can't help you, never used such services [15:52] mrryanjohnston: Tom_: fair enough [15:53] dherman has joined the channel [15:54] al3xnull has joined the channel [15:54] mscdex: mrryanjohnston: look in this thread: http://groups.google.com/group/nodejs/browse_thread/thread/46e308032f28174b/ [15:58] micheil has joined the channel [15:58] odie5533 has joined the channel [15:58] zilch has joined the channel [15:59] kenperkins has joined the channel [15:59] SamuraiJack has joined the channel [16:00] replore has joined the channel [16:00] replore_ has joined the channel [16:01] AvianFlu has joined the channel [16:01] davidwalsh has joined the channel [16:04] seivan has joined the channel [16:05] sh1mmer has joined the channel [16:05] JakeyChan has joined the channel [16:05] zilch has joined the channel [16:06] ceej has joined the channel [16:06] ttpva has joined the channel [16:09] hij1nx has joined the channel [16:10] zorzar has joined the channel [16:13] TheJH: wrote a little library on top of substacks: "curl -N 77.23.48.202:1232" (still has some bugs) [16:13] wookiehangover has joined the channel [16:15] Deebster: I like it TheJH [16:15] TheJH: :) [16:16] Deebster: although it reckons 0 connected people [16:16] ajsie has joined the channel [16:16] TheJH: Deebster, if it was zero, the entire bar would be blue [16:17] TheJH: Deebster, aren't the first two characters green for you? [16:17] Deebster: oh I see, the 0 is just the scale marker [16:17] NetRoY has joined the channel [16:17] Deebster: yes, two green chars [16:17] TheJH: :) [16:17] romainhuet has joined the channel [16:20] Nexxy: lewl [16:20] Nexxy: TheJH, that borks my terminal's colors! [16:20] SamuraiJack has joined the channel [16:20] csanz has joined the channel [16:20] TheJH: Nexxy, yes, you'll have to reset them [16:20] zilch has joined the channel [16:21] Nexxy: is there no color reset escape code? [16:21] Nexxy: lol [16:21] cjm has joined the channel [16:21] TheJH: Nexxy, when should I send it to you? After you've killed the conenction? :P [16:21] TheJH: *connection [16:21] Nexxy: after each screen refresh? [16:21] Nexxy: idk [16:21] Nexxy: lol [16:21] Nexxy: I don't know how it's built [16:21] TheJH: mhm, I probably could do that [16:22] Nexxy: ;P [16:24] smus has joined the channel [16:24] Deebster: there's no point sending it after the refresh as you'd be very unlikely to quit at that point, unless there's a pause after? [16:24] Deebster: doesn't seem like there is [16:24] TheJH: Deebster, there is [16:26] TheJH: Nexxy, I tried it, but what I tried caused the entire screen to go blank after each update... [16:26] Nexxy: nice! [16:26] zilch has joined the channel [16:28] brianseeders has joined the channel [16:28] ttpva has joined the channel [16:29] igl has joined the channel [16:30] eyesUnclouded has joined the channel [16:31] smus has joined the channel [16:34] SamuraiJack has joined the channel [16:35] fille: you should really fork me on github [16:35] fille: i want to be populare [16:36] odie5533: no, fork me! [16:37] TheJH: fork me! [16:37] mscdex: there used to be a site you could telnet to and watch star wars in ascii [16:37] mscdex: :p [16:37] TheJH: mscdex, I know, it still exists [16:37] fille: fork meeeee [16:37] mscdex: yay! [16:37] TheJH: mscdex, looked at the beginning again today [16:37] mscdex: that host has been around for ages [16:38] fille: yepp i saw it back in junior high school [16:38] mscdex: how long ago was that for you? [16:38] fille: :blush [16:38] newy has joined the channel [16:38] mscdex: :-) [16:38] fille: i guess it was like 10 years ago [16:39] fille: but i guess its been around alot longer [16:39] fille: anyway im building this cool mudclient [16:39] zilch has joined the channel [16:40] fille: and soon im going to implement a mapper [16:40] kenperkins has joined the channel [16:40] jerrysv has joined the channel [16:40] mscdex: i'm waiting for the day we see doom in the browser with multiplayer over websockets [16:40] zemanel_ has joined the channel [16:41] joshthecoder has joined the channel [16:41] mscdex: or quake 2 [16:41] fille: well that would be something [16:42] odie5533: mscdex: it's called Quake Live [16:42] fille: buts thats not a websockets [16:42] odie5533: so? [16:42] fille: its just an exstension [16:43] odie5533: It's multiplayer quake in the browser [16:43] fille: we talkin 3d canvas [16:43] mscdex: yeah, but you need a special browser plugin for that [16:43] mscdex: i'm talkin pure javascript + webgl + websockets [16:43] odie5533: using actual OpenGL/Direct3D gives better quality I think? [16:44] mscdex: well, webgl IS opengl es 2.0 [16:45] odie5533: I was playing CoD Black Ops earlier. Can WebGL handle that? [16:46] mscdex: who cares about black ops anyway [16:46] mscdex: we want good games :-) [16:47] adrianmg: : ) [16:47] adrianmg: quake live rocks btw [16:47] adrianmg: but the UI is HELL [16:47] adrianmg: (on the web part) [16:47] dgathright has joined the channel [16:47] Libra102 has left the channel [16:48] ironlad has joined the channel [16:48] fille: im sick of black ops and call of duty games [16:48] fille: they have used the same game engine for like 4 games [16:48] fille: milking the cow [16:50] jetienne has joined the channel [16:51] joshthecoder: fille: looks like they are upgrading to the latest IW engine in MW3 [16:51] joshthecoder: I don't really care what engine a game uses, if it's fun cool. [16:53] fille: i m more a BF [16:53] fille: with good sound enginiering [16:53] TheJH: http://xkcd.com/484/ [16:54] fille: lol [16:55] meandi has joined the channel [16:55] fille: true, i mean yeti sports [16:55] fille: albatros overload [16:59] shipit has joined the channel [16:59] zilch has joined the channel [17:02] guillermo has joined the channel [17:02] __sorin__ has joined the channel [17:03] tuhoojabotti: TheJH: Lol, I'm just playing a game on Google+ ;D [17:03] tuhoojabotti: it's flash [17:03] cying has joined the channel [17:06] langworthy has joined the channel [17:08] demod has joined the channel [17:11] socketio\test\39 has joined the channel [17:11] demod: hi there, i come from the wiki page because i'd install nod on centos .5.5 python 2.4. after i ran ./configure i got /root/local/joyent-node-a38bda9/wscript: error: Traceback (most recent call last): File "/root/local/joyent-node-a38bda9/tools/wafadmin/Utils.py", line 274, in load_module exec(compile(code, file_path, 'exec'), module.__dict__) File "/root/local/joyent-node-a38bda9/wscript", line 222 "-pre" if node_is_release == [17:11] demod: i'm missing some thing, what? [17:11] demod: please help [17:11] zilch has joined the channel [17:12] jeromegn has joined the channel [17:12] demod: ??? [17:12] newy has joined the channel [17:13] TheJH: demod, yould you please put the full error message on https://gist.github.com/ and send us the link? [17:13] TheJH: *could [17:13] ironlad has joined the channel [17:13] Badababuba has joined the channel [17:14] demod: TheJH: i can but: 1) where i put the error msg? 2) can i install node on my system? [17:14] jeromegn: I'm trying to console.log an object in node (actually, with phantomjs) and I'm getting [object Object], any way to ensure I don't get that? [17:14] stephank has joined the channel [17:15] TheJH: demod, as I said, please put it on gist.github.com [17:15] TheJH: demod, click "new gist" or so [17:15] odie5533: jeromegn: You should set the object's constructor name property [17:15] woodiz: Wouldnt it be great if there was a asking for help link on top of the chat.. that told everyone these things like posting to complete errror msg on gist... [17:15] TheJH: jeromegn, try JSON.stringify(myObject) [17:15] odie5533: jeromegn: e.g. var foo = {}; foo.prototype.constructor = {name:'Foo'}; [17:16] TheJH: woodiz, true [17:16] jeromegn: yea that's best practice, I'm just logging it for the testing though… [17:16] woodiz: TheJH, who could fix it? [17:16] demod: TheJH: git://gist.github.com/1144051.git [17:16] mscdex: jeromegn: console.dir(obj); [17:16] TheJH: woodiz, I'd ask ryah [17:17] woodiz: ok I will do [17:17] TheJH: demod, I'd guess that your python version is too old (but I'm not an expert on that) [17:18] mscdex: demod: what version of node are you trying to compile? [17:18] demod: TheJH:so, i must have python 2.6? [17:18] TheJH: demod, I don't know [17:18] demod: mscdex: centos 5.5. python 2.4 [17:19] demod: # python -V (Python 2.4.3) [17:21] jbpros has joined the channel [17:22] demod: sorry, what are the system requirements in order to build node on centos? I [17:23] AvianFlu: jermegn: you want console.log(util.inspect(obj)) [17:23] mscdex: demod: i asked what version of _node_ are you trying to compile [17:23] AvianFlu: note: must require('util') [17:24] mscdex: AvianFlu: console.dir(obj) does the same ;-) [17:25] mscdex: demod: according to the installation page on the wiki, you need python 2.6 or higher i guess [17:25] jspiros has joined the channel [17:25] zilch has joined the channel [17:27] demod: mscdex: yes , i already seen it. now i have python 2.4.3 and python26 on my system. but, how can i tell to node builder what python shoud use? [17:27] SamuraiJack has joined the channel [17:28] mscdex: demod: an easy way would be to create ~/bin and add a symlink to python26 in ~/bin called 'python', and add ~/bin to your $PATH before anything else [17:29] tuhoojabotti: TheJH: http://not.vlambeer.com/luftrauser/ [17:29] TheJH: tuhoojabotti, eww, flash [17:29] AvianFlu: mscdex: I think that console.dir() only calls util.inspect with default args, whereas you can have it do funky stuff directly [17:29] AvianFlu: I may be wrong though [17:30] theCole has joined the channel [17:30] Ginlock has joined the channel [17:30] antono has joined the channel [17:31] tuhoojabotti: TheJH: It's awesome :D [17:31] newy has joined the channel [17:32] demod: mscdex: i can try. but what if centos based some of its system on python 2.4? something shoud go wrong [17:32] amerine has joined the channel [17:33] micheil has joined the channel [17:33] Yoric has joined the channel [17:34] mscdex: AvianFlu: yeah it doesn't add args, but for most uses it's good enough for basic inspection [17:34] AvianFlu: yeah, agreed [17:34] d0k has joined the channel [17:34] zilch has joined the channel [17:35] mscdex: demod: i doubt anything in the system would break between 2.4 -> 2.6 [17:35] AvianFlu: I would also be quite surprised by that if anything broke [17:36] dherman has joined the channel [17:36] demod: mscdex: i'm trying [17:37] Malvolio has joined the channel [17:38] Malvolio: Hey, does anybody know how to tell the configure script to call python "python2.6" -- on CentOS, "python" necessarily refers to Python2.4, which won't build Node. [17:38] mscdex: Malvolio: an easy way would be to create ~/bin and add a symlink to python26 in ~/bin called 'python', and add ~/bin to your $PATH before anything else [17:39] mscdex: :-) [17:39] Malvolio: That makes sense. I tried aliasing -- that didn't work at all. [17:40] jomoho has joined the channel [17:40] mscdex: :S [17:40] balaa has joined the channel [17:40] Malvolio: Actually, it would be good practice even without Node. I hate accidentally starting up 2.4. [17:40] AvianFlu: I hate that python has done so much breaking shit between minor versions [17:41] AvianFlu: it's just such a common concern [17:41] eldar has joined the channel [17:41] mscdex: i don't know if that's really the issue, it's probably that something specific to newer versions of python is being used now for building [17:41] mscdex: because until recently 2.4.x could be used [17:41] demod: mscdex: it works! now is building :D [17:41] mscdex: demod: cool [17:42] Malvolio: The particular problem is that waf uses x = a if c else b [17:42] Malvolio: which is a 2.6 construct [17:43] Malvolio: (Yeah, what kind of loon injects a huge language feature like comprehensions in a .x release?) [17:43] avalanche123 has joined the channel [17:43] mscdex: well, python problems should be going away with the use of gyp in 0.5/0.6 [17:43] Malvolio: gyp? [17:44] mscdex: http://code.google.com/p/gyp/ [17:44] mscdex: it's what the chrome/chromium team uses to build their browser for each platform [17:44] mscdex: iirc [17:44] mscdex: it generates the makefiles, msvc sln/projects, etc [17:44] zilch has joined the channel [17:46] iampz has joined the channel [17:47] mscdex: i'm not sure what version of python gyp requires though [17:47] pquerna: i was gonna say, python problems will still be there.. as gyp is in python :) [17:47] pquerna: though hopefully this is the last build system rewrite for node [17:47] mscdex: pquerna: but maybe gyp is compatible with 2.4 at least [17:47] pquerna: yes, it should be [17:48] mscdex: which eases the pain some ;-) [17:48] AvianFlu: it's still loony how much code I've seen break over needing 2.4 or >2.4 [17:48] pquerna: poor souls sitll running RHEL [17:48] mscdex: heh [17:48] AvianFlu: almost as funny as the fact that there's a python 3 that nobody uses [17:48] mscdex: i use centos for some machines, but not rhel [17:49] Malvolio: I just want to make the obvious point that you could use Node/V8/Javascript instead of Python for all this. [17:50] demod: @pquerna: poor souls are use specialized program on centos (like Asterisk) [17:50] pquerna: 2.4 was released in 2004 [17:50] Malvolio: Except for a Nodejs installer of course. [17:50] pquerna: demod: poor souls using asterisk :( [17:50] pquerna: rewriting asterisk in node.js -> hot [17:50] mscdex: heh [17:50] pquerna: well, a SIP implemenation would be a good start [17:50] mscdex: that would be a huge undertaking [17:51] Malvolio: Ooh, that's a good idea. [17:51] pquerna: mscdex: http://journal.paul.querna.org/articles/2006/03/27/why-sip-sucks/ [17:51] Malvolio: Actually is there a Node.js implementation of XMPP? [17:51] pquerna: i used to work on sip stuff. sigh. [17:51] Malvolio: Uh, I suppose I could google for that... [17:51] AvianFlu: I think I saw one on the mailing list last week [17:51] TheJH: !@Malvolio npm search xmpp [17:51] jhbot: Malvolio, packages (short format): xmpp-client, xmpp-muc, junction, node-xmpp-bosh, node-xmpp-via-bosh, bots, node-xmpp, simple-xmpp [17:52] Malvolio: :=O [17:52] Malvolio: I don't know how to ask this question delicately but, are the packages any good? [17:52] mscdex: heh [17:52] CIA-65: node: 03Fedor Indutny 07master * rc0d8311 10/ doc/api/tls.markdown : [17:52] CIA-65: node: small NPN doc fix [17:52] CIA-65: node: Fixes #1522. - http://bit.ly/peQl0E [17:53] demod: all: Build failed! git://gist.github.com/1144084.git [17:53] gbot2: demod: spidermonkey: Error: SyntaxError: missing ; before statement: Build failed! git://gist.github.com/1144084.git ......^ [17:53] TheJH: no idea :D [17:53] indutny: thanks [17:53] mscdex: Malvolio: i'd give https://github.com/astro/node-xmpp a try [17:53] TheJH: broken commit? [17:54] tprice has joined the channel [17:54] pquerna: Malvolio: when a package has a name with the word simple and its a horribly complex protocol, of course its good :D [17:54] tprice: hey all can someone give a hand. https://gist.github.com/0935445db7b0768804ea on line 35 i keep getting "ReferenceError" [17:54] tprice: and this is what the test run looks like https://gist.github.com/f07577821b76bb2974b6 [17:55] Malvolio: People who don't get woken up by their bosses at 2 in the morning wanted know why the chat server is down can make jokes ... [17:55] mscdex: tprice: it says "parmas" and not "params" in your second link there [17:55] demod: https://gist.github.com/1144084.js [17:56] pifantastic has joined the channel [17:56] mscdex: demod: you have to paste the entire output [17:56] Malvolio: Oh, and @mscdex -- astro's node-xmpp looks like *client-side*. [17:56] mscdex: demod: the actual errors are above that [17:56] mscdex: Malvolio: i thought that's what you were asking for [17:57] Malvolio: Thanks, but nope, looking for the server side. [17:57] tprice: lol i can see through my own eyes [17:57] tprice: thanks! [17:57] demod: mscdex: the make end with that message [17:57] mscdex: demod: right, but please post the entire output anyway [17:58] demod: ok [17:58] balaa has joined the channel [17:58] madsleejensen has joined the channel [17:59] devongovett has joined the channel [17:59] demod: mscdex: updated https://gist.github.com/1144084.js [18:00] mscdex: looks like your system doesn't support sync_file_range [18:01] mscdex: demod: what does `uname -a` give? [18:02] mynyml has joined the channel [18:02] Swizec has joined the channel [18:03] demod: mscdex: Linux crm.local 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:35 EDT 2010 i686 i686 i386 GNU/Linux [18:03] mscdex: hrmm [18:03] dob_ has joined the channel [18:03] zilch has joined the channel [18:03] mscdex: demod: and you are building node v0.4.10 or ? [18:03] cafesofie has joined the channel [18:04] demod: mscdex: maybe yes. https://github.com/joyent/node/tarball/master [18:04] acedrew has joined the channel [18:04] mscdex: oh, that's 0.5 [18:04] demod: mscdex: or not? [18:05] demod: mscdex :D [18:07] dob_: hello guys, i am new to node.js and want to build a application which can output data as html (with express) and output it as webservice for a native iphone application. Will i have to create a separate server for that or can i just do something like change the view? [18:07] dob_: just asking cause i have no idea what's the best practice for something like that [18:09] pifantastic: Anyone have a module recommendation (aside from jsdom) for parsing and traversing HTML? [18:09] guybrush: dob_: you will need a computer + connection [18:09] pifantastic: jsdom's memory woes are causing my problems [18:09] pifantastic: me* [18:09] Malvolio: @mscdex -- thanks, re-installed Node, NPM, and gitteh (apparently) successfully. [18:10] demod: mscdex: sorry, i start to building 4.10 [18:10] dob_: guybrush: Alright, then i have anything i need. [18:10] dob_: and then back to my question ;-) [18:10] guybrush: dob_: ah lol i think i got your question now :D you mean routing? [18:11] mscdex: dob_: you can do both in the same node instance [18:11] guybrush: you dont have to run multiple server for separate routes if thats is what you want? [18:12] dob_: Also if i use express? Thought with the express server i could only output normal html stuff.... I thought for rest services i should use the webservices module which creates also a new server. Isn't that correct? [18:13] mscdex: dob_: you should be able to output whatever you want with express, not just html [18:13] kenperkins has joined the channel [18:13] guybrush: you can do REST pretty good with express [18:13] zilch has joined the channel [18:13] xastey has joined the channel [18:14] guybrush: express is nothing but connect+features and connect is nothing but the node http-server + features (most notable the middleware-style) [18:14] xastey: how would one go by debuging and app in an ide (phpstrom/webide) [18:14] eliziario has joined the channel [18:14] AvianFlu: xastey: put util.debug() statements all over the place and watch the output! XD [18:14] dob_: ah alright, then i will try that! Thank you guys for answering my question. [18:15] aho has joined the channel [18:15] johnduhart has joined the channel [18:16] desaiu has joined the channel [18:16] xastey: hehe AvianFlu [18:16] xastey: been doing that [18:16] losing has joined the channel [18:16] teknopaul: dob_: isntall eclipse https://github.com/teknopaul/node-launcher/wiki/Features [18:16] AvianFlu: xastey: it depends on what kind of debugging you're trying to do [18:17] teknopaul: eclispe has a fully fledged node debugger [18:17] xastey: normal debuging, vars, step-in etc [18:17] AvianFlu: there's a node debugger, and there's an app called node-inspector on npm that can help you [18:17] AvianFlu: the idea with node-inspector is that you'd start your script in debug mode, like node --debug myscript.js [18:17] avalanche123 has joined the channel [18:17] AvianFlu: and then you run node-inspector, and you tell it to connect to the debug port, and it gives you webkit-esque debugging console in browser [18:18] AvianFlu: for a node app [18:18] xastey: i'll check that out [18:18] AvianFlu: node-inspector would be running on port X, and you'd give it the debug port for your node app in the query string [18:18] AvianFlu: there are decent docs for it somewhere but it's escaping me atm [18:18] dob_: teknopaul: thanks for that tip. Looks great! [18:19] teknopaul: you need to install eclipseJS [18:19] mscdex: ew java! [18:19] mscdex: :-D [18:19] teknopaul: ;) [18:19] xastey: looks nice AvianFlu [18:19] xastey: thanks [18:19] AvianFlu: np! [18:19] teknopaul: yeah man you should check the code, sorely needs lamda functions :) but its what we got for now [18:20] teknopaul: https://github.com/joyent/node/wiki/using-eclipse-as-node-applications-debugger [18:20] teknopaul: is a good guide to the v8 debugging bit [18:21] xastey: just hope its possible to have an debug session when another client connects.. say from another node.js app [18:21] tomshaw has joined the channel [18:22] clifton has joined the channel [18:22] teknopaul: You can only have one debug session per v8 instance [18:23] teknopaul: once the first one cnnects others are prevented [18:23] teknopaul: If that's what you mean [18:24] tomshaw has left the channel [18:24] zk has joined the channel [18:24] zilch has joined the channel [18:26] AvianFlu: teknopaul: but you can have one debug session and regular sessions too, no? [18:26] mendel_: how do you guys convert lat/long to an actual address? [18:26] AvianFlu: i.e. nothing prevents the app from functioning as it would [18:26] mendel_: can use the google maps api but there's a limit + must be use the to show it on a gmap [18:26] AvianFlu: mendel_ I think you'd need a big DB of locations, your own map, or somebody else's api [18:27] mendel_: I totally agree ;) [18:27] teknopaul: AvianFlu: yeah [18:27] perezd has joined the channel [18:27] AvianFlu: maybe take a gigantic image file of a mercator projection and extrapolate lat,lon into pixels? XD [18:27] __sorin__ has joined the channel [18:27] ttpva has joined the channel [18:28] __sorin__ has joined the channel [18:30] indutny: mraleph: ping [18:30] kill has joined the channel [18:31] __sorin__ has joined the channel [18:31] agnat_ has joined the channel [18:32] Swimming_bird has joined the channel [18:33] bradleymeck has joined the channel [18:33] __sorin__ has joined the channel [18:35] __sorin__ has joined the channel [18:37] zeade has joined the channel [18:37] TheJH: mendel_, maybe you could use an openstreetmap-rawdump or so [18:37] TheJH: :D [18:37] jarek has joined the channel [18:37] Cromulent has joined the channel [18:38] desaiu: I'm trying to use this data: http://pastebin.com/a9y0N85A called package.json, and this is my attempt to import it from the node repl file: http://pastebin.com/EyLw723r What am I doing wrong? [18:38] kaarlo: i'm using express and jade. i render the view like res.render('index', { x: 'test' }); - can i somehow access the x at client side javascript? [18:38] TheJH: kaarlo, only if you somehow insert x into the page [18:39] TheJH: desaiu, try JSON.parse(fs.readFileSync('./package.json')) [18:39] Whoaaaa has joined the channel [18:39] MUILTFN has joined the channel [18:39] kaarlo: TheJH: appears i cant insert it into the script element [18:40] desaiu: fs i denied [18:40] desaiu: fs is denied [18:40] mendel_: TheJH: good idea.. I'm now downloading a dump of my region (1.2gb.. not as bad as the total 250gb) [18:40] TheJH: desaiu, first do "fs = require('fs')" [18:41] mendel_: https://simplegeo.com/ could be a option too [18:41] `3rdEden has joined the channel [18:42] Swimming_bird has joined the channel [18:42] kaarlo: TheJH: or could be that it is working.. just a bit weird :) looking into it bit more, thanks :) [18:44] desaiu: That worked TheJH [18:44] desaiu: Thank you! [18:44] kaarlo: heh, source looks now like: "var x = [object Object],[object Object].." [18:44] TheJH: kaarlo, use JSON.stringify() on the server to convert the objects to strings [18:46] a2800276 has joined the channel [18:48] AvianFlu: desaiu: advice: JSON.parse() is a synchronous operation that can 'throw', and it's a very strict JSON parser, so putting it in a try/catch is a good idea [18:49] kaarlo: TheJH: thank you alot :) [18:49] AvianFlu: in actual scripts I mean, in the REPL it doesn't make much of a difference [18:49] TheJH: desaiu, also, don't use readFileSync in actual scripts [18:50] desaiu: What should I use then? [18:50] TheJH: desaiu, fs.readFile [18:50] AvianFlu: it takes a callback function as its last argument, and it calls the callback function when the file read is completed [18:51] AvianFlu: in the sync version, your whole process waits until the read is completed - the async version, you get to run other code while you wait for the OS [18:51] AvianFlu: i.e. other people's HTTP requests [18:53] desaiu: Thank you TheJH and AvianFlu, very much [18:54] jarek has joined the channel [18:54] balaa has joined the channel [18:54] jhurliman has joined the channel [18:54] desaiu: I'm trying to access a php page that renders a json file, is there a package that handles php? [18:55] desaiu: I'm sorry if it's a dumb question [18:55] desaiu: npm search php shows nothing [18:55] zilch has joined the channel [18:56] teknopaul: desaiu: what are you tring to do [18:56] thalll has joined the channel [18:56] teknopaul: php just replys json over HTTP right? [18:56] desaiu: https://mtgox.com/api/0/data/getTrades.php [18:56] desaiu: I'm fetching that page [18:56] teknopaul: just use the HTTP Client [18:56] TheJH: bitcoin :/ [18:56] teknopaul: the fact that the server uses php is irrelevant AFAICS [18:57] AvianFlu: yeah, the PHP gives you JSON, which means that you need to worry about JSON [18:57] teknopaul: or am I missing something here? [18:57] AvianFlu: how the JSON got made is the JSON's problem XD [18:57] desaiu: teknopaul: http client, you mean my browser? [18:57] amerine has joined the channel [18:57] unlink has joined the channel [18:57] unlink has joined the channel [18:57] teknopaul: well any browser [18:58] teknopaul: if you want to access it in node use nodes http client [18:58] AvianFlu: to get JSON from somewhere on the web for use in a node script, use node's http lib or use mikeal's request lib [18:58] AvianFlu: npm install request I think, might be easier than straight http lib if this is all new to you [18:58] parshap has joined the channel [18:58] teknopaul: Eclipse Git Plugin Update Site - http://download.eclipse.org/egit/updates-nightly [18:58] kenperkins has joined the channel [18:59] teknopaul: ooops that was the wrong copy paste [19:00] infynyxx has joined the channel [19:00] teknopaul: http://nodejs.org/docs/v0.5.0/api/all.html#http.get [19:00] desaiu: I love you guys, thank you so much! [19:00] teknopaul: but AvianFlus request lib might be better thats just the node way of doing things [19:01] AvianFlu: it's not mine, it's mikeal's, lol [19:02] AvianFlu: basically node's http lib is for both clients and servers, whereas `request` is a simplified client api [19:02] desaiu: I have to leave now because my laptop is running low on battery, and I want to keep the web pages available [19:02] foobar has joined the channel [19:02] desaiu: Thank you again [19:03] galaxywatcher has joined the channel [19:03] necrodearia has joined the channel [19:04] temp01 has joined the channel [19:05] zilch has joined the channel [19:06] akshatj has joined the channel [19:06] patcito has joined the channel [19:08] towski has joined the channel [19:11] fille: no swedes in here? [19:12] AvianFlu: I'm not one, but I'm pretty sure there are a few [19:13] AvianFlu: Node.js is everywhere, it's almost a little creepy [19:13] zemanel has joined the channel [19:13] zilch has joined the channel [19:14] mscdex: demod: did you ever get node compiled? [19:15] colinta has joined the channel [19:17] mscdex: yay, my first libuv patch! [19:18] MacDiva has joined the channel [19:18] fille: i feel lonley here in sweden [19:21] Backwardpawn has joined the channel [19:21] amerine has joined the channel [19:22] i42n has joined the channel [19:22] mscdex: is there a mailing list for libuv somewhere or should i just use nodejs-dev ? [19:25] ttpva has joined the channel [19:26] TheFuzzb_ has joined the channel [19:28] zanes has joined the channel [19:30] CIA-65: libuv: 03Igor Zinkovsky 07master * rda4e864 10/ vcbuild.bat : vcbuild.bat for building libuv with msbuild - http://bit.ly/oRqp4d [19:32] aoberoi has joined the channel [19:34] zilch has joined the channel [19:37] clifton has joined the channel [19:39] jakehow has joined the channel [19:39] jakehow_ has joined the channel [19:40] indexzero has joined the channel [19:40] i42n has joined the channel [19:41] tmpvar has joined the channel [19:42] wenhao has joined the channel [19:42] dipser has joined the channel [19:42] metaverse has joined the channel [19:42] i42n has joined the channel [19:45] zk has left the channel [19:45] zilch has joined the channel [19:46] TomY has joined the channel [19:46] smtlaissezfaire has joined the channel [19:47] fyskij has joined the channel [19:47] metaverse: How can I set socket options for a tcp server in node? (specifically SO_RCVBUF) [19:47] insin has joined the channel [19:48] kmiyashiro has joined the channel [19:48] Wa has joined the channel [19:48] TheJH: metaverse, what does that flag do? [19:50] metaverse: TheJH: I want to enforce the receive buffer to 65,535 octets. This is the default in the TCP/IP standard but it's possible to change it. [19:52] raidfive has joined the channel [19:55] TheJH: metaverse, maybe you could patch src/node_net.cc and the corresponding .js file and send a pull request? I think that it's not possible at the moment [19:56] margle has joined the channel [19:56] balaa has joined the channel [19:57] maushu has joined the channel [19:57] skampler has joined the channel [19:58] metaverse: TheJH: I'd be really glad to! Unfortunately I'm not very good at all with c++ and I have no idea how node works internally :P But I'll take a look at it. [19:59] bradleymeck has joined the channel [20:00] metaverse: TheJH: Is there any guide to node.js development? Or do I just modify files, configure and make install? [20:01] |Freeman|: anyone of you has knowledge of how i could setup node.js with socket.io and express framework on windows? :) [20:02] TheJH: metadaddy_, and "make test" :D https://github.com/joyent/node/wiki/Contributing [20:02] zilch has joined the channel [20:05] zemanel has joined the channel [20:05] jarek has joined the channel [20:05] jarek has joined the channel [20:06] zilch has joined the channel [20:08] i42n has joined the channel [20:09] augustl: is there a built in way of merging two objects in Node, other than doing it by hand? [20:09] vikstrous has joined the channel [20:09] i42n has joined the channel [20:11] clifton has joined the channel [20:11] metaverse: TheJH: What about a generic setsockopt function which would allow you to tweak any TCP parameters? [20:11] BrianTheCoder has joined the channel [20:11] TheJH: metaverse, would probably be a good idea [20:11] chjj: augustl, if they were created using object literal syntax, and you dont care if the properties are own properties or now [20:11] chjj: you can to obj.__proto__ = obj; [20:11] chjj: or [20:11] chjj: obj1.__proto__ = obj2; [20:12] augustl: I see, tnx [20:12] metaverse: TheJH: Maybe I should ask ryah? [20:12] chjj: but only use that if you dont care about the prototype of obj1 [20:12] ryah: ? [20:12] TheJH: metaverse, or suggest it in a github "issue" [20:14] metaverse: ryah: Hey! I want to set some TCP parameters through the "setsockopt" function available in both windows and unix. Is this possible in node? If not, could I make a pull request for it? [20:14] ryah: metaverse: hey. we don't currently have a good interface for that - but you're welcome to add it to libuv [20:15] ryah: metaverse: i would just ask that you include a new test which exercises them [20:15] metaverse: ryah: Specifically I want to set "SO_RCVBUF" to 65,535 [20:15] ryah: metaverse: that should be doable windows has OS_RCVBUF and setsockopt [20:16] metaverse: ryah: Yeah I just need a way to do it in node :P I'll give it a try through a pull request :P Thanks. [20:17] ryah: metaverse: int uv_setsockopt(uv_stream_t*, int level, int optname, const char *optval, int optlen) [20:17] ryah: metaverse: and define UV_SOL_SOCKET, UV_SO_RCVBUF [20:18] Dreamer3 has joined the channel [20:18] zilch has joined the channel [20:19] ecin has joined the channel [20:19] ryah: metaverse: you need to agree to our contributor agreement as well http://nodejs.org/cla.html [20:19] metaverse: ryah: I'm probably not the right guy to do this, but I'll do my best. [20:19] metaverse: ok [20:19] ryah: should be pretty easy [20:20] ryah: we wrap these interfaces for better x-platform control [20:21] navaru has joined the channel [20:22] mikeal has joined the channel [20:23] metaverse: ryah: Ok. I'll give it a try right now. Which file(s) do you think I need to work in? [20:24] wenhao has joined the channel [20:24] TheJH: metaverse, src/net.cc and one of the net files in lib [20:24] TheJH: probably not the legacy one [20:24] wenhao has left the channel [20:25] ryah: metaverse: https://github.com/joyent/libuv/blob/65f71a20391b1ac4651bda8bd95e8924b8a14a21/include/uv.h [20:25] ryah: just do the libuv interface - we'll do the rest [20:26] ryah: with test [20:26] maqr has joined the channel [20:26] ryah: setsockopt / getsockopt is a good enough test [20:26] ryah: just to exercise the function [20:26] metaverse: ryah: aah thanks! [20:26] zilch has joined the channel [20:27] metaverse: Do I need/should I make these functions "available" in the JS api? [20:27] rickharrison has joined the channel [20:28] ryah: metaverse: if you do the libuv implemention the rest is easy for us to do [20:28] metaverse: ryah: cool [20:31] i42n has joined the channel [20:31] demod: mscdex: now it's ok, i did this http://d.hatena.ne.jp/motsat/201108 . CentOS5, node-v0.5.3 and socket.io@0.7.9 [20:32] mike5w3c has joined the channel [20:32] fson_ has joined the channel [20:32] jakehow_ has joined the channel [20:32] jakehow has joined the channel [20:32] tilgovi has joined the channel [20:32] tilgovi has joined the channel [20:33] xastey has joined the channel [20:34] kenperkins has joined the channel [20:34] TheFuzzball has joined the channel [20:34] zilch has joined the channel [20:35] CStumph has joined the channel [20:36] clifton has joined the channel [20:41] losing has joined the channel [20:45] jspiros has joined the channel [20:46] zilch has joined the channel [20:47] kilian_ has joined the channel [20:48] kilian_: hi to all, this is my first time here, do i need to read some netiquette manifest or something similar? [20:50] augustl: netiquette =D [20:50] zmbmartin: Anyone else using mongolian(mongodb and gridfs) and seeing this error --> BSONElement: bad type 97 [20:50] Drakonite has joined the channel [20:50] augustl: kilian_: rule of thumb, if /topic doesn't say anything about that, you shouldn't have to consider it [20:51] kilian_: ok :) [20:51] uchuff has joined the channel [20:51] markwubben has joined the channel [20:52] kilian_: i have a question about the pattern to follow developing my server, augustl can i explain to you my problem? [20:53] TheJH: kilian_, everywhere on freenode, some general rules apply, but you normally won't have to think about them (e.g. no warez or so) [20:53] whitman has joined the channel [20:53] TheJH: kilian_, another rule of thumb, don't ask if you can ask or so :) [20:53] kilian_: DATA :) [20:54] augustl: and ask the channel, not me <3 [20:54] augustl: I'm good, but not that good. [20:54] kilian_: ok ok ! [20:55] kenperkins has joined the channel [20:56] kilian_: i'm developing a tcp server, basically a client connects and sends messages to server and to other clients (a chat), and clients can sends raw data to other clients [20:56] kilian_: i'm searching a pattern for parallelize the upload download between clients [20:57] TheJH: kilian_, you mean, you want to mix the client-data-stream with other data? [20:57] kilian_: the first thought was: i need to split data in packets [20:59] kilian_: TheJH i mean something like skype, (i'am not writing skype but it's a good example), messages + file transfer [20:59] kilian_: i should parallelize uploads [20:59] Destos has joined the channel [20:59] TheJH: kilian_, either use multiple connections or send length- and meaning-prefixed buffers or so [20:59] augustl: so you're wondering how to write a protocol that supports both chat messages and raw data transfer? [20:59] kilian_: so i written a explode + queue stream [21:01] kilian_: augustl i know how to do that, i don't know what is the best for me, multiple connections or mono connection [21:01] kilian_: TheJH yes you centered the problem [21:01] augustl: I guess the answer is simple if you want to support chatting at the same time as file transfering [21:01] augustl: I'm no pro, but connection multitasking sounds strange [21:02] TheJH: augustl, I think it's called multiplexing and for short, high-speed transfers, it's a very good idea [21:02] augustl: I see [21:03] kilian_: in my mind the first sketch was: Message + attachment => packeting system => packet queue [21:03] TheJH: augustl, e.g. http suffers from many connections that need to "heat up" [21:04] TheJH: kilian_, I'd do packets with a structure like length+streamid+data [21:04] kilian_: why streamid? [21:04] tylergillies_ has joined the channel [21:04] kilian_: do you mean message-id ? [21:04] tylergillies_: anyone know a database like sqlite but stores the data in JSON? [21:04] zilch has joined the channel [21:05] xerox: mongodb [21:05] xerox: doesn't actually, but it's very similar to json :) [21:06] tbranyen: like sqlite but stores data in JSON ,wat [21:06] tbranyen: they aren't comparable [21:06] tbranyen: heh [21:06] TheJH: kilian_, well, if you have packets vor various streams, you have to be able which stream a message belongs to, no? [21:06] tylergillies_: by "like sqlite" i meana file based database [21:06] augustl: tylergillies_: so not a SQL db that persists with JSON? [21:06] TheJH: tylergillies, couch? one file per database, I think [21:07] tylergillies_: i was thinking couch, but thats a little heavy for that i want [21:07] tylergillies_: im looking at jasondb website haven't looked into much though [21:07] tylergillies_: s/that i want/what i want/ [21:08] piscisaureus has joined the channel [21:08] kilian_: in node i have a stream object per connection so i know the sender of packet, wrong? [21:12] materialdesigner has joined the channel [21:13] kilian_: splitting the attachment in chunks and deliver them to the right client is an hard work…. while pipeing the 2 clients with a new connections is very simple [21:13] acedrew has joined the channel [21:14] zilch has joined the channel [21:14] tylergillies_: augustl <- what would be a sql db that persists with json? [21:15] augustl: a db with a SQL interface that stored the data with JSON [21:15] augustl: which would be a completely crazy thing to have :) [21:15] tylergillies_: augustl <- oh i thought you had an example ;) [21:16] booo has joined the channel [21:17] TheJH: tylergillies, augustl, sqlite with one big table with numeric autoincrement primary key and large blob as the only two fields? should work :P [21:18] kilian_: ye but you have to write you own search language :) [21:19] TheJH: kilian_, or one table key->id per keytype :D [21:19] japj has joined the channel [21:19] TheJH: ACTION expects some sql-fanatic guy to jump at me with a knife in the hand right now [21:19] tylergillies_: lol [21:19] tylergillies_: i doubt you'll find too many sql fanatics in a javascript channel [21:20] aoberoi has joined the channel [21:20] kilian_: i'am sql fanatic [21:20] jakehow_ has joined the channel [21:20] jakehow has joined the channel [21:20] augustl: I read an article about a system that mostly did primary key lookups, where the bottleneck was SQL parsing [21:20] kilian_: so gimme a knife :) [21:20] augustl: so they wrote an interface directly to InnoDB to skip the parsing. [21:21] jhbot: kilian_, take mine *hehehee* [21:21] skm has joined the channel [21:21] TheJH: augustl, that's kinda crazy [21:22] metaverse: ryah: Learning a lot right now by looking at the source. Should UV_SOL_SOCKET be any value or should it be the same as in UNIX? [21:22] augustl: TheJH: I think it's cool :) [21:22] metaverse: ryah: It seams it could be any value, but I just want to make sure I'm following your convention. [21:22] TheJH: augustl, isn't that often the same? [21:22] PEEHTEEH has joined the channel [21:23] huskyr has joined the channel [21:24] augustl: =D [21:24] augustl: think this is the one http://yoshinorimatsunobu.blogspot.com/2010/10/using-mysql-as-nosql-story-for.html [21:24] damiano has joined the channel [21:24] damiano: hello [21:25] skampler: hi [21:25] saikat has joined the channel [21:25] zilch has joined the channel [21:26] theCole has joined the channel [21:27] damiano: someone use connect-redis for sessions ? [21:27] mendel_: guys how would you do this: I have different folders, in each folder there is a static html file, each folder must have a seperate subdomain [21:27] mendel_: I should use something like node-static or node-paperboy [21:27] Country has joined the channel [21:28] TheJH: mendel_, do you also have dynamic stuff? [21:28] mendel_: it's all dynamic [21:28] TheJH: mendel_, static html files aren't dynamic, I think :D [21:29] mendel_: sorry, the folders are dynamic (so I don't know which subdomains/folders) [21:29] mendel_: the files itself are static yeah [21:29] augustl: mendel_: it's quite simple to read the Host header and query the file system [21:30] TheJH: mendel_, if you only have static stuff, node probably isn't the best solution [21:30] augustl: TheJH: why is that? [21:30] galaxywatcher has joined the channel [21:31] TheJH: augustl, because node isn't as fast as other stuff for serving files or so [21:31] mendel_: proxy node-http-proxy with a wildcard on a subdomain to a nodes instance, there check the host header and serve it with node-static [21:31] mendel_: thnx [21:31] TheJH: mendel_, that sounds just wrong [21:31] TheJH: mendel_, at least omit the proxy thing [21:31] zilch has joined the channel [21:31] mendel_: there are more things running on that server [21:32] timbenniks has joined the channel [21:32] mendel_: so I have to [21:32] TheJH: mendel_, maybe use express or so? [21:33] skm has joined the channel [21:34] |Freeman|: i am trying to install socket.io using node/npm for windows package but i get this error, anyone can help? http://i.imgur.com/ky72Z.png [21:34] TheJH: |Freeman|, npm doesn't really work with windows yet, I think [21:35] tmpvar has joined the channel [21:36] xerox: maybe you could just export HOME="C:\..." [21:36] |Freeman|: TheJH: if npm doesn't work, how can i handle library dependecies? i want to learn socket.io but i can't get anyway to install it [21:36] xerox: or the equivalent of export on windows/cygwin [21:36] TheJH: xerox, that's "set", I think [21:36] |Freeman|: xerox: what does export do? [21:36] xerox: set an env variable [21:37] TheJH: |Freeman|, is your windows username "Freeman"? [21:37] |Freeman|: TheJH: yes [21:38] gkmngrgn has joined the channel [21:38] |Freeman|: and i have very limited (almost zero) node knowledge, i only managed to run a script in the bin folder untill now [21:38] |Freeman|: i have no ideea how to install or use modules without npm [21:38] TheJH: |Freeman|, the easiest way would probably be to use it in a linux vm [21:39] metaverse: TheJH: I'm trying to test if my modifications works but "make test" after my additions. Could you help me parse this error message? https://gist.github.com/1144272 [21:39] japj: |Freeman|: you can try using https://github.com/japj/ryppi to install node modules on windows (it is a python script, so you will need to install that) [21:40] metaverse: TheJH: make test fails* [21:40] japj: |Freeman|: it could also be that you need to upgrade to a newer npm version [21:40] |Freeman|: japj: thanks i'll take a look [21:40] japj: |Freeman|: npm is at 1.0.24 atm [21:40] gkmngrgn has joined the channel [21:41] japj: |Freeman|: you have 1.0.6 installed, so that is "ancient" :) [21:41] |Freeman|: japj: i understand but, it is hard to get precompiled packages including node and npm and also being recent :) [21:41] tylergillies_: anyone know if you can do pouchdb to pouchdb replication? or do you need a couch in there? [21:41] TheJH: metaverse, your knowledge of C seems to be better than mine :D [21:41] japj: |Freeman|: is that a cygwin based build of node you are using? [21:41] |Freeman|: japj: yes [21:42] TheJH: metaverse, in your first typedef, the last line has a trailing comma [21:42] clifton has joined the channel [21:42] TheJH: metaverse, I know nearly nothing about C syntax, but that could be it [21:42] japj: |Freeman|: node for windows is currently reworked heavily in the 0.5.x series, but it is a 'unstable'/development version atm [21:43] |Freeman|: japj: btw, how does np work... does it get the module from internet or do i need to place the module somewhere before running the cmd? [21:43] normelton has joined the channel [21:43] mike5w3c has joined the channel [21:43] metaverse: TheJH: haha, I haven't done any C in 3 years. I got exactly the same error when trying to compile node 0.5 on my mbp earlier today, it's not very descriptive :P [21:43] japj: |Freeman|: npm fetches modules from the npm registry, it also determines any version/submodule dependencies and resolves that (and fetches dependencies recursively) [21:44] normelton: i'm subscribing to a redis event feed using the node_redis module. when an error occurs, my error handler is getting fired, but subsequent events are not being received? [21:44] normelton: is it possible to resume parsing redis events after an error occurs? [21:44] |Freeman|: japj: is that registry online? [21:44] TheJH: metaverse, in my whole life, I've never written more than 100 lines of C, I think [21:44] TheJH: s/never/not/ [21:44] TheJH: |Freeman|, yes [21:45] TheJH: |Freeman|, http://search.npmjs.org/ [21:45] metaverse: TheJH: I just use high level languages. After doing 30 lines of c now, it's not that bad as one might think :P [21:46] |Freeman|: TheJH: so typing npm install socket.io should install socket.io module and all modules it depend on from the internet... ? [21:46] TheJH: |Freeman|, exactly [21:46] zilch has joined the channel [21:46] metaverse: TheJH: trying to serach for the error on google, the only thing that shows up is my gist :O [21:47] chjj: i love it when i accidentaly checkout master without commiting changes to a test branch [21:47] chjj: it ruins my day real good [21:47] TheJH: metaverse, maybe you should ask for help again, but not direct that message to me? [21:47] kmiyashiro has joined the channel [21:47] |Freeman|: TheJH: hmm, i could install node in a vm but that would take a lot, installing linux, getting used to commands, terminal etc [21:47] metaverse: TheJH: Yeah, I think it's a 64 bit issue though. but thanks! :D [21:47] TheJH: chjj, why? you'll just get a "can't merge, aborting checkout" message, right? [21:48] kmiyashiro has joined the channel [21:50] metaverse: Anyone been able to develop node.js in Lion yet? I'm getting errors as shown here: https://gist.github.com/1144272 [21:51] |Freeman|: TheJH: is there any way to install the modules manually? [21:53] CIA-65: node: 03Thomas Shinnick 07master * r59b815b 10/ test/common.js : test: add typed arrays to known globals list - http://bit.ly/pEROuU [21:54] TheJH: |Freeman|, yes. e.g. for socket.io, go to http://search.npmjs.org/#/socket.io . click on latest. unzip the resulting file in a node_modules folder in your project. rename "package" (extracted folder) to socket.io. but that's not enough, you still need the dependencies, so: [21:55] TheJH: |Freeman|, now, inside the socket.io folder, create a new node_modules folder. for each dependency listed on http://search.npmjs.org/#/socket.io (3), do the same, but put it in socket.ios dependencies [21:56] japj: |Freeman|: https://github.com/japj/ryppi os basically a 'tiny npm' in python that does not have all the features npm has, but it can install packages including dependencies [21:56] TheJH: we need a webservice that can bundle packages (include deps) for windows guys :/ [21:57] Nuck has joined the channel [21:58] tmpvar: does anyone know if libuv will run on an un-jailbroken ios device? [21:58] Swimming_bird has joined the channel [21:59] japj: is someone porting libuv to ios? [22:00] |Freeman|: japj: that is cool, but i would need to learn some python too then [22:00] tmpvar: japj, not that I am aware of.. just curious if it would be possible [22:00] zilch has joined the channel [22:00] bazookatooth has joined the channel [22:01] japj: |Freeman|: it is just a standalone python script, you dont need to learn python to use it. but if you still have trouble installing packages on windows, you could give it a try [22:01] clifton has joined the channel [22:01] |Freeman|: japj: yeah true, i am thinking to learn more about how node works first, like how/where modules are placed [22:02] xerox: http://nodejs.org/docs/v0.4.10/api/modules.html [22:02] xerox: easy peasy [22:03] |Freeman|: cool, thanks for info all, i will do some node study now :) [22:03] jarek has joined the channel [22:05] |Freeman|: TheJH: silly question... where would the project be placed? this are the folders i got with that windows build http://i.imgur.com/gZLou.png [22:06] TheJH: |Freeman|, anywhere. put your project in your "my files" directory or so, doesn't matter, I think [22:06] damiano has joined the channel [22:06] damiano: hi [22:07] |Freeman|: TheJH: ok, ty [22:08] damiano: can i render /dashboard - /dashboard/profile - /dashboard/user with only ONE route ? I thought add a route for /dashboard and then render the page with the name of the second directory.... is it possible? do i have to check if the file exists first [22:08] damiano: what do you think? [22:08] zilch has joined the channel [22:11] necrodearia has joined the channel [22:11] xastey: url.format takes and object from url.parse correct? same structure ? [22:11] mendel_: how do I use a wildcard in a subdomain in http-proxy? '.+.mydomain.com' should just work right? it's just a regexp [22:12] damiano: xastey, are you telling to me? [22:12] xastey: no that was a question [22:12] damiano: k [22:12] Cromulent has joined the channel [22:13] xastey: soo.. how do I use url.format :) [22:14] mendel_: working.. [22:14] damiano: ai dont noo [22:14] damiano: :) [22:15] xastey: lol damiano [22:15] ritch has joined the channel [22:16] damiano: :) [22:17] xastey: var parsed=url.parse(location) parsed.query["foo"]="bar" url.format(parsed) [22:17] xastey: urli s still the same as location [22:18] TomY has joined the channel [22:20] scott_gonzalez has joined the channel [22:20] zilch has joined the channel [22:21] materialdesigner has joined the channel [22:27] cying has joined the channel [22:27] zilch has joined the channel [22:29] einaros: are all chrome versions on osx running without hw acceleration for canvas? [22:30] einaros: http://2x.io/fieldy is running smooth as dirt on windows, and particularly IE9, but hopeless with chrome on osx :/ [22:35] aho: it runs fine with the webgl build of opera, by the way [22:36] |Freeman|: TheJH: i followed all the instructions you told on installing modules manually and i think it worked. I am trying to test first example on this page: http://socket.io/#how-to-use i put the App.js near the socket.io folder and i run it with node. how can i get the server to serve index.html? [22:37] TheJH: |Freeman|, by using the code from the example? the stuff on the left side? labeled "SERVER (APP.JS)"? [22:38] TheJH: |Freeman|, I think it already does that [22:38] |Freeman|: TheJH: yeah, i used command "node Site/App.js" [22:38] TheJH: |Freeman|, it should work [22:38] |Freeman|: TheJH: hmm, accesing http://127.0.0.1/Index.html returns a blank page, i think it shoulds say hello world [22:39] |Freeman|: TheJH: must be cause it is not vaid html, hmm... [22:39] TheJH: |Freeman|, what does "view source" or so say? [22:40] |Freeman|: TheJH: accesing the page seems to write stuff in server window so... it seems to work :) [22:40] TheJH: |Freeman|, ah, good [22:40] TheJH: |Freeman|, the browser part doesn't write in the window [22:40] |Freeman|: TheJH: oh, yeah, it works ^^ [22:40] TheJH: |Freeman|, what browser are you using? [22:40] ironlad has joined the channel [22:40] |Freeman|: TheJH: source says the code in the tutorial :D [22:40] febits has joined the channel [22:41] matomesc has joined the channel [22:41] |Freeman|: TheJH: chrome, it must be cause it is not enclosed in html tag etc. [22:41] TheJH: |Freeman|, press ctrl+shift+j [22:41] TheJH: |Freeman|, then click console [22:41] TheJH: |Freeman|, you should see the output there [22:42] TheJH: |Freeman|, console.log writes to that console [22:42] gazumps has joined the channel [22:42] shipit has joined the channel [22:43] |Freeman|: TheJH: oh yeah, there is an object in the console, a hello world one :) [22:43] TheJH: :) [22:43] TheJH: is there a good library for xml-based message-passing? [22:43] zilch has joined the channel [22:44] |Freeman|: TheJH: nice, thanks :) now i just need to figure out how to do communication between 2 sites using socket.io :) [22:44] JumpMast3r has joined the channel [22:45] tylergillies_: mikeal <- how the heck do i use pouch? the example app is confusing as hell heh [22:45] mikeal: we're rewriting it right now [22:45] fille has joined the channel [22:46] tylergillies_: mikeal <- ok so i'll take that as a "you don't" heh [22:46] tilgovi: yep. [22:46] tilgovi: we're both working on it right now [22:46] tilgovi: so expect some progress today. [22:46] zilch has joined the channel [22:46] tylergillies_: sweet [22:46] tylergillies_: i want to integrate it into a lockerproject app im working on [22:47] devongovett has joined the channel [22:48] acedrew has left the channel [22:49] acedrew has joined the channel [22:49] TheJH: what's the name of the module that allows me to do `console.log("WARN!".red+" this is dangerous")` or so? [22:50] davidwalsh has joined the channel [22:50] tbranyen: TheJH: i think a few exist [22:50] tbranyen: didn't substack just release one? [22:50] tilgovi: tylergillies_: awesome [22:51] TheJH: I want the one that extends the string prototype with various color getters [22:51] eee_c has joined the channel [22:51] mikeal: i think it's just called colors [22:51] mikeal: i think marak wrote it [22:51] TheJH: substacks is more for drawing stuff on the terminal, I just want colors [22:52] TheJH: mikeal, ah, thanks! [22:56] papandreou: mikeal: Hey, about https://github.com/mikeal/request/pull/50 ... It won't apply cleanly after you did all those stylistic changes, but it still includes some nice simplifications and 2-3 bug fixes. Have you taken a look at it? [22:57] chjj: anyone want to test my frontend app framework for me? i wrote it specifically for amazing people who like node [22:57] chjj: https://github.com/chjj/rondo [22:57] mikeal: what were the bug fixes? [22:57] zilch has joined the channel [22:57] tylergillies_: mikeal <- https://gist.github.com/1144343 [22:58] tbranyen: chjj: i've been using backbone lately, but sure i'll give it a try [22:58] papandreou: mikeal: request.defaults(...)(url) doesn't work (only accepts an object) [22:58] mikeal: tylergillies: no idea [22:58] tylergillies_: dang [22:58] mikeal: papandreou: i fixed that today actually :) [22:58] papandreou: mikeal: request.pipe(stream, {end: false}) doesn't work (2nd arg not passed) [22:59] mikeal: i happened to step on it myself [22:59] jarek has left the channel [22:59] papandreou: mikeal: And this one: https://github.com/papandreou/request/commit/c10443c3ca0f4d3793a8e4703e8ce9a8586af8d5 [22:59] mikeal: that's intentional [22:59] mikeal: i can't support it [22:59] mikeal: well, maybe i can now [22:59] papandreou: mikeal: the {end: false} thing, why not? [22:59] mikeal: when i first added the pipe support it wasn't possible [22:59] chjj: chjj: ah, well its a dom library and app framework, i wouldnt call it similar to backbone, its more express-like [23:00] Sorella has joined the channel [23:00] chjj: but thanks for giving it a try if you do [23:00] papandreou: mikeal: Why wouldn't it be enough to pass it to Stream.prototype.pipe? [23:00] TruPpp has joined the channel [23:01] mikeal: the way i used to do it was to pipe directly from the source to the dest and then sit on the end event myself in order to finish [23:01] mikeal: that is no longer the case [23:01] mikeal: the Request object itself is piped out [23:01] mikeal: so now it could probably work [23:01] papandreou: mikeal: Ah, ok [23:03] kmiyashiro has joined the channel [23:04] srid has joined the channel [23:04] srid has joined the channel [23:04] papandreou: mikeal: Some of the other commits added some DRYness, such as https://github.com/papandreou/request/commit/3eeed81f35b74842a3416589aa64711cd4ac5b84 [23:04] SubStack: TheJH: my library doesn't extend the string prototype because that's so wrong [23:04] TheJH: SubStack, :D [23:04] clifton has joined the channel [23:04] TooTallNate has joined the channel [23:05] TheJH: SubStack, imo, we need a preprocessor that can do pseudo-prototype-methods [23:05] brianseeders has joined the channel [23:06] jesusabdullah: BE A MAN SubStack [23:06] jesusabdullah: ACTION extends prototypes like a boss [23:06] mikeal: delete is a reserved word [23:06] jesusabdullah: ACTION lied [23:06] mikeal: that's why i didn't do it [23:06] zilch has joined the channel [23:06] jesusabdullah: pffsht [23:06] jesusabdullah: that's why you use "baleet" [23:07] jesusabdullah: > obj.baleeted(); [23:07] jesusabdullah: undefined [23:07] cognominal has joined the channel [23:08] mikeal: papandreou: ^^ [23:08] jesusabdullah: s/undefined/there is no such method/ [23:08] EvRide1 has joined the channel [23:08] alnewkirk has joined the channel [23:08] R4md4c has joined the channel [23:08] papandreou: mikeal: I know, but it's allowed with dot notation. Express also supports both app.del(...) and app.delete(...) [23:08] EvRide1 has joined the channel [23:09] mikeal: i know, but it's bad practice [23:09] dgathright has joined the channel [23:09] papandreou: mikeal: I disagree [23:09] jesusabdullah: Why is it bad practice? [23:09] mikeal: to use reserved words? [23:10] R4md4c: Error: Error closing database { stack: [Getter/Setter], arguments: undefined, type: undefined, message: 'out of memory' }. Please I am desperate to know what causes that error in sqlite-node. It is occurring randomly [23:10] papandreou: mikeal: It's one of the original design errors of JavaScript that reserved words weren't allowed with dot notation. [23:10] jesusabdullah: Yeah, why is that bad if it works and isn't confusing? [23:10] mikeal: it is confusing, first off [23:10] jesusabdullah: I've never been confused by it [23:10] jesusabdullah: :/ [23:10] mikeal: and it's not guaranteed to always work [23:11] mikeal: lots of stuff like this broke when they did strict mode [23:11] jesusabdullah: I still kinda feel like it's only bad form because people *say* it is [23:11] mikeal: and it is confusing, because the delete statement actually removes an object [23:11] mikeal: so you would expect it to remove the object, not make an HTTP request [23:12] papandreou: mikeal: ES5 explicitly relaxed the reserved word after dot thing. [23:12] jesusabdullah: but obj.delete and delete obj aren't the same [23:12] mikeal: they aren't, but they are close :) [23:12] jesusabdullah: idk maybe it's just me [23:12] papandreou: mikeal: And request isn't exactly a browser library, so it's guaranteed to always work. [23:12] mikeal: you know how the language works [23:12] jesusabdullah: but I don't think I'd misinterpret that one [23:12] mikeal: you're experienced, you wouldn't mess this up [23:12] jesusabdullah: I suppose so [23:12] mikeal: you aren't everyone :) [23:13] jesusabdullah: I *should* be [23:13] jesusabdullah: lol :D [23:13] papandreou: mikeal: I think it's a bigger source of wtfs that request.delete() doesn't exist. [23:13] papandreou: mikeal: I'm just recommending that you allow both, not that you remove request.del [23:14] mikeal: most people don't even know there is an HTTP delete method, i doubt they'll go calling it randomly :) [23:14] mikeal: here, i'll take this [23:14] mikeal: you want to alias delete() to del(), or the other way around, fine [23:14] mikeal: but i won't document it as .delete(), it'll be documented as .del() [23:15] |Freeman|: what does this button do? *presses HTTP delete method" ^^ sorry i am bored or something :p [23:15] papandreou: mikeal: Hehe, ok. Nice easter egg :) [23:15] mikeal: if someone calls it without reading the docs it'll work as expected [23:16] TruPpp has joined the channel [23:16] papandreou: mikeal: Awesome :). Then you can also get rid of the code duplication [23:16] visnup has joined the channel [23:16] mikeal: yeah [23:16] eyesUnclouded has joined the channel [23:16] zilch has joined the channel [23:17] mikeal: also, remove the semicolons [23:17] mikeal: so that I can make Crockford cry [23:17] papandreou: mikeal: And me... :) [23:18] sivy has joined the channel [23:18] hellp has joined the channel [23:18] skampler: http.delete('/object') [23:18] papandreou: mikeal: To get rid of the duplication you also need to move the check for whether a HEAD request includes a body into the Request constructor (which makes sense anyway): https://github.com/papandreou/request/commit/da9a3cbdb01b4cb061357bbaed6ada9f7c056eb0 [23:18] skampler: looks fun [23:20] mikeal: actually, we can get rid of that [23:20] mikeal: there is a check in core now [23:20] papandreou: Ah, even neater :) [23:22] TheJH: what are you talking about? a db? [23:24] TheJH: mikeal, pouchdb probably doesn't use the same storage format as couchdb, right? [23:24] mikeal: format? [23:24] papandreou: mikeal: I think those were the important ones, the rest is pedantic stuff like not using "i" as a variable name for non-integers. [23:24] TheJH: mikeal, the on-disk stuff, with serialized erlang data and stuff [23:24] mikeal: it stores things in a compatible way, but in order to work in the browser it uses IndexedDatabase as the underlying storage mechanism [23:24] visnup has joined the channel [23:25] TheJH: ah, ok :( [23:25] mikeal: but replication doesn't care about the storage mechanism [23:25] mikeal: so they'll be able to replicate with each other [23:25] TheJH: mikeal, just asking because I want to understand the storage format [23:25] TheJH: (of couchdb) [23:25] mikeal: of couch? [23:25] mikeal: it's an append-only btree [23:25] mikeal: totally custom [23:26] mikeal: it's very specific to the couchdb erlang implementation [23:26] TheJH: mikeal, I already know some stuff about it, but not enough to access it from JS [23:27] hij1nx has joined the channel [23:27] TheJH: mikeal, but I can already copy documents from a hex editor into my javascript and let it convert them to JSON :) [23:27] zilch has joined the channel [23:27] metaverse: TheJH: FYI, ry helped me fix my compile issues with "make clean all". Also, I have a pull request for my SO_RCVBUF open: https://github.com/joyent/node/pull/1525 [23:27] mikeal: it would be a bad idea to try and duplicate that in a javascript couchdb [23:28] TheJH: mikeal, probably true [23:28] mikeal: replication between erlang couches doesn't even do that [23:28] TheJH: mikeal, I don't want it for replication :) [23:28] mikeal: they just talk JSON between them [23:28] papandreou: mikeal: Ah, you can even get jslint to "tolerate" dot notation + reserved word: http://tech.groups.yahoo.com/group/jslint_com/message/1260 [23:28] mikeal: i enjoy watching jslint cry [23:29] systemfault: I hate lints, they're too opnionated to my taste. [23:29] systemfault: *opinionated even [23:29] mikeal: jshint is nice [23:29] TheJH: mikeal, I want to see how fast a good JS implementation would be compared to the erlang code for serving attachments or so [23:29] mikeal: you can make it tune to your own style [23:30] systemfault: mikeal: Might be worth checking then :) [23:30] mikeal: serving attachments out of the file format requires understanding the whole format :) [23:30] CIA-65: node: 03Ben Noordhuis 07master * reaac881 10/ src/node.cc : [23:30] CIA-65: node: module: fix pointer reference to out-of-scope variable [23:30] CIA-65: node: Reported by Tom Hughes. - http://bit.ly/qBLY31 [23:30] TheJH: mikeal, true [23:30] mikeal: because attachment chunks are written to disc in between pages and then the doc meta is written when it's done to reference the chunks [23:30] TheJH: mikeal, I think I already understand everything except for the magic :D [23:31] mikeal: and it stays that way until it's compacted [23:31] joeytwiddle has joined the channel [23:31] bazookatooth has joined the channel [23:34] deusx has joined the channel [23:37] dnunes has joined the channel [23:38] zilch has joined the channel [23:40] arpunk has joined the channel [23:44] clifton has joined the channel [23:47] zilch has joined the channel [23:49] davidcoallier has joined the channel [23:50] hellp has joined the channel [23:53] idefine has joined the channel [23:54] tiemonster has joined the channel [23:54] mikeal has joined the channel [23:55] |Freeman|: is it me or is this example a little weird? http://i.imgur.com/ZUpRn.png i don't see the connection in the event names [23:57] necrodearia has joined the channel [23:58] KingJamool has joined the channel [23:58] zilch has joined the channel