[00:00] Bwen: anyone? :P [00:01] jonaslund: mraleph: here ? [00:02] mraleph: jonaslund: yes [00:02] mraleph: kind of [00:02] jonaslund: ok, testing a thing before i ask it .. [00:02] mraleph: how can I help you? [00:02] tk has joined the channel [00:02] EyePulp has joined the channel [00:03] throughnothing has joined the channel [00:04] chapel: Bwen: when you define functions as methods like that you usually do it like test: function(res) {} not test: function test(res) {} // but I don't know if that is exactly the reason [00:04] chapel: but... [00:04] Bwen: nevermind I understand why now. here is a simplified version http://pastie.org/1845489 [00:04] chapel: I do know that you have an object in an arry [00:05] Bwen: when you define the callback it takes the scope of test2 only... not the entire struct [00:05] stagas: Bwen: you only pass the function reference, so 'this' is lost [00:05] Bwen: yeah [00:05] Bwen: I keep forgetting :P [00:05] stagas: Bwen: function() { vhost.test2() } will work [00:06] Bwen: but is it proper tho... [00:06] Bwen: I mean, is it gonna come back to haunt me in the long run? [00:08] avalanche123 has joined the channel [00:08] mattikus has joined the channel [00:09] jmoyers: thats pretty common [00:09] jmoyers: to use an object in a closure to maintain scope [00:09] chrislorenz has joined the channel [00:10] jmoyers: you can also use .call(this) to occasionally change the scope inside the function [00:11] Bwen: aight, thx [00:11] jmoyers: i also use a snipped out of prototype to return a bound function -- http://www.prototypejs.org/api/function/bind [00:11] jmoyers: its a pretty simple piece of code [00:11] dnolen has joined the channel [00:11] captain_morgan has joined the channel [00:12] jonaslund: mraleph: i was gonna ask more about the eclipse debugger but i need to figure out how to get predictable results first i think [00:12] bwinton has joined the channel [00:13] Bwen: I think i'm just going to use the self = this trick :P [00:14] gouch has joined the channel [00:14] mraleph: jonaslund: I know next to nothing about eclipse debugger :-) [00:14] jonaslund: mraleph: aok.. i'll mail the other guy i guess [00:15] mraleph: jonaslund: you should send all questions to Peter, yep. [00:15] chapel: `v git marak colors [00:15] v8bot: chapel: Marak/colors.js - GitHub - https://github.com/Marak/colors.js/tree/ [00:15] mraleph: jmoyers: there is a native bind function. why not use it? [00:16] jonaslund: mraleph: trying to figure out where the mingw debugging problems are.. but it's kinda hard when i hardly get cygwin going :) [00:16] jmoyers: mraleph: my snippets do, if its available [00:16] jmoyers: like underscore, i use the native functions if they are available, but aren't always [00:16] mraleph: jmoyers: ah. ok. I thought you use the one from prototype. [00:16] jmoyers: not sure when Function.bind was introduced [00:17] Swimming_bird has joined the channel [00:18] jdp has joined the channel [00:19] Billbad has joined the channel [00:20] CrisO has joined the channel [00:22] davidcoallier has joined the channel [00:23] MikhX has joined the channel [00:23] konobi: anyone doing interesting stuff on no.de using the analytics stuff? [00:24] gazumps has joined the channel [00:25] jpld has joined the channel [00:25] techwraith: Damn, it's amazing how much I hate AWS api's [00:26] techwraith: Trying to get anything done in aws-land is like trying to get a fat kid out of a candy shop [00:26] _fat has joined the channel [00:27] Tobsn: how can i read from the pipe? [00:27] demastrie has joined the channel [00:27] abraham has joined the channel [00:28] demastrie has left the channel [00:29] gazumps has joined the channel [00:31] chapel: Tobsn: like foo | node ? [00:32] Tobsn: echo "foo | nodescript.js [00:32] chapel: http://nodejs.org/docs/v0.4.7/api/process.html#process.stdin [00:32] Tobsn: yeah that kinda returns nothing [00:33] Tobsn: # echo "" | node test.js [00:33] Tobsn: data: [00:33] Tobsn: wups [00:33] Tobsn: lol [00:33] Tobsn: nevermind. [00:33] Tobsn: haha. [00:33] Tobsn: well but there is another question - i wonder if its possible to run a webserver and accept stdin [00:34] konobi: not _really_, since an fd is different from a socket [00:34] Tobsn: yeah... its kinda not possible i think [00:35] Tobsn: the reason i want to use it as a logging server for lighttpd... the access log can be piped and according to the lighttpd source and the lighttpd guys it doesnt hit the file everytime, it will load it once and keep piping to it [00:36] konobi: oh that's fine [00:36] cbiscardi has joined the channel [00:36] Tobsn: hmm [00:36] perezd has joined the channel [00:36] konobi: trying to use STDIN as an input for a nodejs webserver would be different [00:36] Tobsn: oh yeah nah [00:37] Tobsn: i mean having a callback on the process and at the same time run a webserver [00:37] Mrfloyd has joined the channel [00:37] konobi: just accepting input on STDIN would be fine [00:37] Tobsn: but lets say i run the node.js script [00:37] Tobsn: node blah.js [00:37] Tobsn: how do i pipe to it? [00:37] konobi: echo "foo" | node script [00:37] Tobsn: but the script ends when its done, doesnt it? [00:38] konobi: sure, but it won't end if you're listening for input [00:39] Tobsn: hmm [00:39] Tobsn: lemme try that out [00:39] konobi: node will only exit when it's stopped listening for events [00:39] Tobsn: but wouldnt it spawn just another node instance than? [00:39] konobi: no [00:41] Tobsn: one dumb quick question, how do you fs.writeFile and append? [00:41] Bwen: http://stackoverflow.com/questions/3459476/how-to-append-to-a-file-in-node [00:41] Tobsn: ah nevermind [00:42] Tobsn: yeah already got that haha [00:42] Bwen: :P [00:42] bartt has joined the channel [00:42] Tobsn: thx ;) [00:42] Bwen: I was actualy looking for a way to tell console.log to log to a file [00:42] indutny has joined the channel [00:42] Bwen: but I guess i'll have to do it myself [00:42] bartt1 has joined the channel [00:42] seivan has joined the channel [00:43] konobi: Bwen: node foo.js > some_log_file.log [00:43] konobi: =0P [00:43] Bwen: I though of that [00:43] Tobsn: Bwen [00:43] Tobsn: https://github.com/visionmedia/log.js [00:44] jacter has joined the channel [00:44] jtsnow has joined the channel [00:44] Bwen: thing is its a vhost system and logs are spread out, defined by the vhost [00:44] Tobsn: yeah, im using lighttpd for standard http, node.js only for small stuff that has to be fast... but i want to have the access log in mongodb [00:45] Tobsn: thats why im trying to do the pipe to node ;) [00:45] chapel: `v git winston @ Bwen [00:45] v8bot: Bwen: indexzero/winston - GitHub - https://github.com/indexzero/winston [00:46] moshe: guys, is node the future? :P [00:46] chapel: moshe: node is the past/present/future [00:46] chapel: :) [00:46] Bwen: chapel: whats that? [00:46] Tobsn: moshe, for specific cases yes. [00:46] Bwen: Tobsn: thx I just might use that :) [00:46] Tobsn: Bwen, also a logger [00:46] chapel: Bwen: it is an awesome logger [00:46] chapel: handles console, file, loggly [00:47] chapel: has colors [00:47] Tobsn: colors [00:47] Tobsn: :) [00:47] Bwen: hmm [00:47] Bwen: colors in a text file? [00:47] Tobsn: https://github.com/andrewvc/node-streamlogger [00:47] Tobsn: with rotation [00:47] Tobsn: thats nice. [00:47] chapel: well for console [00:48] mdaisuke has joined the channel [00:49] chapel: eh streamlogger seems to have a very ugly api [00:50] Bwen: I just might make my own... I dont really need that much feature really... its just a logger... :P [00:53] rchavik has joined the channel [00:54] Bwen: actualy... winston is gonna be the one :P [00:55] chapel: :) [00:55] Tobsn: hmm how can i find my NODE_PATH? [00:55] chapel: if you want to see an awesome tool using it [00:55] chapel: `v git jitsu @ Bwen [00:55] v8bot: Bwen: nodejitsu/jitsu - GitHub - https://github.com/nodejitsu/jitsu [00:56] echosystm has joined the channel [00:56] entropax has joined the channel [00:57] piscisaureus has joined the channel [00:57] Tobsn: got it [00:57] TheDeveloper: Tobsn: should be an environment variable somewhere in process.env [00:57] Tobsn: or not hmm [00:57] Tobsn: just wondering how to install native mongodb drivers [00:57] Tobsn: its all hand compiled here [00:58] Tobsn: normally i just do the package installs [00:59] balaa has joined the channel [01:01] javaanse_jongens has joined the channel [01:02] [[zz]] has joined the channel [01:04] seivan_ has joined the channel [01:05] MikhX has joined the channel [01:05] Hello71 has joined the channel [01:05] Hello71 has joined the channel [01:07] Draggor: Hey guys, what's the simplest way to store json in node.js? Like, database wise. [01:07] echosystm: sqlite probably [01:09] chapel: `v git chaos @ Draggor [01:09] v8bot: Draggor: stagas/chaos - GitHub - https://github.com/stagas/chaos [01:10] no-gooder has joined the channel [01:10] Draggor: chapel: well that looks spiffy, thank ye! [01:10] Tobsn: erm wtf. why is npm installing modules into /usr/local/lib/node_modules/* ? [01:11] Tobsn: npm@1.0.1rcFINAL /usr/local/lib/node_modules/npm [01:11] Tobsn: that cant be normal [01:11] demastrie has joined the channel [01:11] isaacs: Tobsn: that's on purpose [01:11] Tobsn: why? [01:11] isaacs: you're installing things globally. why? [01:12] Tobsn: yep [01:12] isaacs: if you want to require() them, then install them locally [01:12] Tobsn: problem is if i install a package node doesnt find it [01:12] isaacs: this is better. [01:12] Tobsn: oh [01:12] isaacs: Tobsn: install it locally in your project. [01:12] isaacs: node will find it [01:12] Tobsn: what if i want to install them global? [01:12] [[zz]] has joined the channel [01:12] isaacs: cd my-project; npm install express ; then require("express") works [01:12] demastrie has left the channel [01:12] no-gooder: why i get <<< object has no method "send" >>> error on this code http://jsfiddle.net/Umj4R/ ?? [01:12] isaacs: Tobsn: you can `npm link express` to link the global express into your project. [01:12] Tobsn: npm install express -g ends up in lib/node_modules and node cnat find it [01:12] isaacs: Tobsn: but realyl, it's better to just install everything locally. you only need global installs for bin files. [01:13] Tobsn: shouldnt it able to find it? [01:13] isaacs: Tobsn: nope. [01:13] isaacs: Tobsn: global is not for require() [01:13] mscdex: no-gooder: which line ? [01:13] Draggor: You can also set a NODE_PATH env variable [01:13] Tobsn: oh. [01:13] isaacs: global is to put things in the $PATH [01:13] Tobsn: oooooh. well misunderstanding [01:13] isaacs: Tobsn: install locally. it's better :) [01:13] Tobsn: what about the link? [01:13] Tobsn: does that install it global and link to it? [01:13] no-gooder: mscdex, it's defers[ix].send( msg ) line [01:13] isaacs: yeah [01:14] isaacs: Tobsn: the idea there is that you can then have every one of your projects share the single installation by using symlinks into each project. [01:14] Tobsn: but where is it coming from? [01:14] Tobsn: i mean where does the symlink link to [01:14] Tobsn: g? [01:14] isaacs: but it has weird effects sometimes, ie, when express does require("jade") it'll find the global one, not the local on [01:14] Tobsn: ha... [01:14] isaacs: Tobsn: -g installs stuff to /usr/local/lib/node_modules. non-global installs install to ./node_modules [01:14] Draggor: I gotta say that sounds like the opposite of every other package manager out there [01:15] mscdex: no-gooder: because defers is an array, it has no 'send' method [01:15] isaacs: Draggor: it's quite similar to bundler, actually [01:15] mscdex: no-gooder: er wait [01:15] Draggor: I have not encountered bundler before [01:15] Tobsn: so if i do link it will install it global and link local? [01:15] Draggor: ah, ruby, that's why [01:15] mscdex: no-gooder: yeah, you're pushing arrays into defers [01:16] mscdex: no-gooder: so i'm guessing you want defers[ix][1].write(msg) ? [01:16] pyrotechnick1 has joined the channel [01:16] tauren has joined the channel [01:16] pyrotechnick1: SubStack: ping [01:16] mscdex: no-gooder: or defers[ix][1].send(msg) [01:17] duncanbeevers: isaacs: Haha, deopped for hubris. [01:17] isaacs: duncanbeevers: i op and deop myself. [01:18] isaacs: duncanbeevers: the nuns were wrong. it didn't make me go blind. [01:19] Wizek has joined the channel [01:19] SvenDowideit has joined the channel [01:19] no-gooder: mscdex, :) thanks [01:19] duncanbeevers: isaacs: As far as I know, blindness never actually stopped anybody. [01:19] isaacs: hahah [01:20] Draggor: Node.js: Proof the nuns were wrong [01:20] Tobsn: oh well [01:20] Tobsn: that works [01:20] Tobsn: thanks isaacs [01:20] Tobsn: btw. i installed npm over .sh script 20 minutes ago on a new node and it threw that group id and user cant be INT error [01:21] isaacs: Tobsn: np [01:21] Tobsn: want the log? [01:21] isaacs: Tobsn: fixed in HEAD :) [01:21] Tobsn: *sike [01:21] Tobsn: hehe [01:21] isaacs: that was a tricky one [01:21] Tobsn: what was it? [01:21] Tobsn: 0 nobody? [01:21] isaacs: has to do with being root, and installing in a root-owned dir, and the fact that 0 and null are both falsey [01:21] Tobsn: and 0 wasnt parsed as "string" [01:21] Tobsn: hehe [01:22] gtramont1na has joined the channel [01:22] isaacs: http://github.com/isaacs/npm/commit/b91a175 [01:22] isaacs: Tobsn: ^ [01:22] Tobsn: !== [01:22] Tobsn: ;) [01:23] Tobsn: making double sure [01:23] Tobsn: anyway, im gonna drive home, thanks isaacs ;) [01:23] Tobsn: and everone else being a hand [01:23] Tobsn: brb. [01:23] drdave has joined the channel [01:23] Tobsn: oh, if someone is bored: graylog2.org would need a competitor in node.js ... just putting that out there... ;) [01:24] Tobsn: (cause right now its a java server and a ruby web frontend, and i dont want to touch that. thats icky.) [01:24] Tobsn: brb [01:24] isaacs: have fun :) [01:26] Draggor: chapel: what's the difference between a key and an hkey? [01:26] eshira has joined the channel [01:26] ditesh|cassini has joined the channel [01:26] pyrony has joined the channel [01:29] bartt has joined the channel [01:29] pyrotechnick1: Draggor: in what? [01:29] eshira: I have a socket.io server running at 9000. I have a rails server at 80, so I use a nginx reverse proxy to forward urls with /nodejs/ to 9000. I also have a reverse proxy so that socket.io/socket.io.js points to 9000. But socket.io isn't connecting on the server (e.g. socketio.on('connection', function(client) {...}); doesn't even run). On the browser, I do new io.Socket(host_uri, {port: 80});. Any ideas how this stuff works? [01:29] bartt has joined the channel [01:30] Draggor: pyrotechnick1: chaos [01:30] pyrotechnick1: it's just a hash key [01:31] pyrotechnick1: there's no difference, a hkey can be anything a key can [01:31] Draggor: I guess I'm missing the use case here? [01:31] chapel: yep [01:31] chapel: its just handled differently [01:31] chapel: stagas: ping [01:31] Draggor: When would I want to use that over a regular key? [01:31] dguttman_ has joined the channel [01:32] pyrotechnick1: when you want to store a hash [01:32] pyrotechnick1: it's just a name [01:32] pyrotechnick1: hkey=key [01:32] pyrotechnick1: hkey = the key of the hash and are used with h* operations [01:32] pyrotechnick1: whilst keys are normal keys, used with get/set/etc [01:32] mscdex: eshira: nginx doesn't forward websocket connections [01:32] matyr has joined the channel [01:33] pyrotechnick1: not yet [01:33] eshira: mscdex: so what do you think my best solution is? [01:33] chapel: Draggor: key is set key, value [01:33] chapel: hkey is set key, field, value [01:34] chapel: for json, which you were asking about, I just used keys, so db.set('jsonkey', json_here... [01:34] mscdex: eshira: you could have a node process be the reverse proxy instead, which supports websocket connections. then proxy the required connections to the rails server and others to a separate node instance or the same instance [01:34] blueadept: is stack exchange down? [01:34] Draggor: Yeah, I see how it works, I'm playing around in the repl. I guess I'm just looking for the why. I guess it's like a namespace thing? Just another level of key specification? [01:35] Draggor: So if you know large groups of things will be separate, you can just spread out into different hkeys? [01:35] mscdex: blueadept: their stack completely unwound? ;) [01:35] blueadept: ha i guess so [01:35] pyrotechnick1: not down for me [01:36] johnciacia has joined the channel [01:36] blueadept: hm, getting latency from sstatic.net in my status bar [01:36] tsesame has joined the channel [01:36] mscdex: youknow server back up! :-D [01:36] johnciacia has joined the channel [01:36] blueadept: back online [01:36] Draggor: wow that was unnerving [01:37] johnciacia has left the channel [01:37] Draggor: this train ride was incredibly quiet [01:37] Draggor: until we just started to pass an oncomming train [01:37] Draggor: that was startlingly loud [01:38] tsesame: no office hour tonight? [01:38] pquerna: already over [01:38] Draggor: For you SF folk, how's the public trans? [01:38] pquerna: just issacs and it was only 4-6pm [01:38] tsesame: gotcha [01:38] cbiscardi has joined the channel [01:39] pquerna: Draggor: in what respect? [01:39] Draggor: I'm currently in chicago and happily without a car [01:39] pquerna: Draggor: it can get you everywhere, in mostly reasonable time periods, with varying quality of experiences [01:39] blueadept: wait, quora and stackoverflow are back down for me [01:39] pquerna: i live in SF without a car [01:39] blueadept: does stack use amazon? [01:39] Draggor: The only thing that kinda sucks for me is the buyer credit I got on my condo, ties me down for another 2 years [01:40] Draggor: But, planning ahead for the whole job search thing. [01:40] pquerna: some companies will pay it [01:40] pquerna: depending on how big it is of course :) [01:40] Draggor: It's just hte USA 8k [01:41] Draggor: With google's new hiring spree I'm contemplating it [01:41] cbiscardi: pquerna: do you like san fran? [01:41] v0id_ has joined the channel [01:41] pquerna: i love it compared to when I lived in the south bay. [01:41] ngs has joined the channel [01:41] Draggor: ACTION is very tired of chicago winters [01:41] indexzero has joined the channel [01:41] cbiscardi: Draggor: I am too [01:42] tsesame: last 2 winters have been brutal for NE [01:42] Draggor: cbiscardi: Have you gone to any of the chitown node meetups? [01:42] pquerna: its one of the few cities in america where you can live without a car. I like walking and biking places. Its pretty mild, I dont like even LA or san diego heat... [01:42] tauren has joined the channel [01:43] cbiscardi: Draggor: not yet. I live in the suburbs so it's a bit of a trip. [01:43] Draggor: cbiscardi: which ones? [01:43] Draggor: cbiscardi: And what's your free time like? I'm looking for some local folk to hack at some fun node.js stuff. [01:44] javaanse_jongens has joined the channel [01:44] cbiscardi: Draggor: southwest. i think. plainfield / Romeoville area [01:44] cbiscardi: Draggor: i've got plenty of free time [01:45] cbiscardi: Draggor: i'm from NY, only been here a couple years [01:45] briznad1 has joined the channel [01:45] replore has joined the channel [01:45] cbiscardi: pquerna: that sounds amazing, I'm planning on moving out there within the next few years. [01:45] cbiscardi: pquerna: how's the cost of living? [01:47] pushmatrix has joined the channel [01:48] binaryjohn has joined the channel [01:48] pushmatrix: Is there a way to start a node server where you can type commands in it after its launched from terminal [01:49] Draggor: cbiscardi: Coding for the day job? [01:49] neoesque has joined the channel [01:49] chapel: pushmatrix: yep [01:49] chapel: usually called a repl [01:49] wilmoore has joined the channel [01:50] cbiscardi: Draggor: yea, schooling too. Both I do from home [01:50] pushmatrix: chapel: Can I specify a file to load as well? [01:50] chapel: a file? [01:50] dlkinney has joined the channel [01:50] pushmatrix: chapel: aka "node server.js" , but still be able to do stuff like in repl [01:52] chapel: http://nodejs.org/docs/v0.4.7/api/all.html#repl.start [01:52] Draggor: rats, beat me to the link :3 [01:53] chapel: :) [01:53] Draggor: darn shoddy "3g" [01:54] chapel: thats no excuse [01:54] chapel: I use 3g when I am at work [01:54] Draggor: which carrier? [01:54] chapel: tmobile [01:54] chapel: oh you have comcast wireless [01:54] jtsnow has joined the channel [01:54] Draggor: AT&T [01:54] Draggor: actually it gets better once I'm outside of the city [01:54] pushmatrix: chapel: thanks! [01:55] Draggor: chicago is loaded with huge companies with craptons of blackberries on AT&T [01:55] Draggor: So the network on a day to day basis is a dog doo snowcone [01:55] dguttman has joined the channel [01:57] eshira: mscdex: mmm what you said is a bit confusing for me. I'm not an expert on sys admin stuff. can you expound on what you said? [01:59] tk has joined the channel [01:59] mike5w3c has joined the channel [01:59] abraham has joined the channel [02:01] ryah: ACTION waves [02:02] Draggor: Greetings ryah! [02:03] rauchg has joined the channel [02:03] AAA_awright has joined the channel [02:03] koo7 has joined the channel [02:03] jdp_ has joined the channel [02:05] uho has joined the channel [02:06] mjr_ has joined the channel [02:06] dyer has joined the channel [02:06] dyer has joined the channel [02:07] ajak1 has joined the channel [02:07] javaanse_jongens has joined the channel [02:07] uho has joined the channel [02:10] bingomanatee has joined the channel [02:11] vipaca has joined the channel [02:11] vipaca has joined the channel [02:11] mscdex: eshira: socket.io has websockets has one of its available transports and nginx doesn't proxy websocket connections, so that's why you aren't connecting to your socket.io server [02:12] pyrony has joined the channel [02:14] A_Nub has joined the channel [02:14] A_Nub: How many parallel downloads (sustained ) connections can node maintain? [02:15] mscdex: quite a few [02:15] Emmanuel__ has joined the channel [02:15] mjr_: basically all of them [02:15] A_Nub: not good enough of an answer [02:15] mscdex: heh [02:16] mjr_: I have famously done a test where I used all of them. [02:16] A_Nub: how many? [02:16] mjr_: 65535 [02:16] A_Nub: all simultaneous? [02:16] JianMeng has joined the channel [02:16] mjr_: well, 65532, because of stdin, stdout, and stderr [02:16] mjr_: Sure [02:16] mjr_: It all depends on how much data each of them are servicing. [02:17] mjr_: In my case, it was a single keepalive every 60 seconds across all 64K connections. [02:17] A_Nub: Well I ask because im deciding wether or not to use a CDN or just clone a bunch of node servers for my own mini CDN [02:17] A_Nub: well each download is 30 - 90mb [02:17] zivester has joined the channel [02:17] mjr_: CDN will probably always win in a performance battle [02:18] A_Nub: Well im just wondering [02:18] A_Nub: because apache is horrid [02:18] A_Nub: its something like 20 parallel downloads [02:18] eshira: mscdex: OK, I understand that. Thanks! Reading around, it seems that some people have solved it (http://stackoverflow.com/questions/2419346/can-nginx-be-used-as-a-reverse-proxy-for-a-backend-websocket-server). [02:20] bene has joined the channel [02:22] jzacsh has joined the channel [02:22] NuckingFuts has joined the channel [02:22] hasenj has joined the channel [02:23] mengxy has joined the channel [02:24] broofa has joined the channel [02:25] broofa has joined the channel [02:25] ditesh|cassini has joined the channel [02:25] demastrie has joined the channel [02:27] Emmanuel__ has left the channel [02:27] Emmanuel__ has joined the channel [02:30] tiemonster has joined the channel [02:31] tiemonster: bingomanatee: hey! Are we still presenting!? [02:31] A_Nub has left the channel [02:36] baudehlo has joined the channel [02:39] cbiscardi has joined the channel [02:40] mattikus has joined the channel [02:40] bingomanatee has joined the channel [02:40] a2800276_ has joined the channel [02:41] replore has joined the channel [02:41] eshira: can I disable websockets for socket.io? [02:42] harth has joined the channel [02:43] azeroth__ has joined the channel [02:44] Bwen has joined the channel [02:44] zakabird has joined the channel [02:45] Bwen: is there a way to make the second require('testfile.js') call not use cache? [02:46] kawaz_air has joined the channel [02:46] chapel: why wouldn't you want it cached? [02:46] benmills has joined the channel [02:47] TheDeveloper has left the channel [02:47] cbiscardi: eshira: yes, you should be able to declare what transports you want to use [02:48] Bwen: chapel: the way I am constructing my vhostServer is that it will requilre('/var/www/somedomain/public/index.js'); it is good that it is cached and efficient. but for developing... its a hassle to shutdown the server for ALL hosts just to update 1 vhost [02:48] benmills: I'm trying to get a package.json set up for npm for my node addon. I need to run node-waf configure build on preinstall, which works fine. However when I require the module it returns an empty object. [02:49] chapel: Bwen: use something like restartr [02:49] Bwen: chapel: so I was thinking if it would be possible to put a ?nodecache=refresh in the url and when I arrive for requiring it again I would check for that querying and just refresh THAT specific file. and not having to shutdown all host [02:49] chapel: it will watch files that you change, and restart the server automatically [02:50] Bwen: there is no need for restart either... Are you saying there is no way to "uncache" it? [02:50] Bwen: a second parameter would be nice... loadFromCache=true by default [02:50] chapel: well require works the way it does for a reason [02:51] chapel: it isn't really meant to be used to load config data [02:51] cbiscardi: hot swapable code would be cool though [02:51] bshumate has joined the channel [02:51] bshumate has joined the channel [02:52] Bwen: I mean, second parameter doesnt break anything does it? ... would be nice :P [02:52] jacter has joined the channel [02:52] Bwen: I know it could be misused, but in my case its only in a specific query_string that I would reload that file [02:53] themiddleman_itv has joined the channel [02:53] Darshan-NowJS: has anyone got Node.js running on CloudFoundry? [02:53] pquerna: cbiscardi: cost of living is insane, but most places pay decent enough to cover renting. [02:53] jakehow has joined the channel [02:54] indutny has joined the channel [02:54] chapel: Bwen: you should write your own config loader instead of using require [02:55] cbiscardi: pquerna: thanks [02:55] Bwen: its not for config :P [02:55] chapel: its for hosts [02:55] chapel: which is something that changes often [02:55] bingomanatee has joined the channel [02:55] Bwen: just at development [02:56] marcello3d has joined the channel [02:56] chapel: no there isn't a way with the current version of node to uncache (afaik) [02:56] chapel: and even if there was, it isn't best practice [02:56] mscdex: Bwen: just set up a repl server in your app and then just connect and change the hosts [02:56] mscdex: :P [02:57] brolin has joined the channel [02:58] pquerna: cbiscardi: there is a ... variety of options, it ges cheaper the longer you are willin to commute... but I like living in the city proper :) [02:58] pquerna: and you can bart / caltrain from quite a ways away [02:58] ezmobius has joined the channel [02:59] cbiscardi: pquerna: city proper looks beautiful though, commuting would be a start, but i would want to live in the city [02:59] Bwen: where is the code for "require()" :P [02:59] cbiscardi: pquena: i'd take commuting in Cali over snowstorms in chicago any day [03:00] marcello3d: commuting in bay area sucks [03:00] sub_pop has joined the channel [03:00] marcello3d: well, commuting is bearable, but the public transit in general sucks [03:01] cbiscardi: marcello3d: really? btw, mongolian is rockin. [03:01] mbrevoort has joined the channel [03:01] cbiscardi: marcello3d: how is it compared to say new york subway? [03:01] marcello3d: hah [03:02] marcello3d: not great [03:02] sirkitree|dindin has joined the channel [03:02] marcello3d: the main problem is the frequency and the range [03:03] marcello3d: e.g. last train at 10:30pm kinda thing [03:03] fr0stbyte: i'm getting an error "cannot find module 'url''". is this in the core library? i'm including the 'http' module. quick tip where to look? [03:03] marcello3d: and caltrain runs hourly except during rush hour [03:03] fr0stbyte: also using socket.io [03:03] marcello3d: bart is a little better, but slow [03:03] marcello3d: (and covers a different area) [03:04] Darshan-NowJS: marcello3d: if caltrain and bart made a baby, id love it [03:04] Darshan-NowJS: the spaciousness and cleanliness of caltrain, with the frequency and range of bart [03:04] cbiscardi: marcello3d: 1030 is way early to stop. i'm used to hitching the last subway back to long island [03:04] marcello3d: cbiscardi: agreed, it makes socializing with people difficult [03:04] marcello3d: but they're super underfunded because no one rides it [03:05] marcello3d: and last I was there, they wanted to cut all the weekend trains [03:05] cbiscardi: marcello3d: dam, thats crazy underfunded [03:05] marcello3d: http://www.caltrain.com/schedules/weekdaytimetable.html [03:06] cbiscardi: marcello3d: hows driving/parking compared to the trains? [03:06] marcello3d: that's all of caltrain [03:06] marcello3d: cbiscardi: from where to where? [03:06] marcello3d: and what hours? :) [03:06] cbiscardi: marcello3d: dunno, somewhere outside sf to inside sf, haha. I guess it was kind of a lame question [03:07] pquerna: Darshan-NowJS: they are in progress of replacing all the BART trains.. but ti;'ll prolly take another 5 years :-/ [03:07] marcello3d: cbiscardi: I wouldn't do it personally [03:07] marcello3d: driving in sf [03:07] marcello3d: only do it if you have to kind of thing [03:07] marcello3d: if you're working in SF [03:08] chapel: fr0stbyte: http://nodejs.org/docs/v0.4.7/api/url.html [03:08] marcello3d: it's probably worth trying to live in SF. or somewhere near a caltrain/bart stop [03:08] cbiscardi: marcello3d: driving in ny is terrible, chicago can be bearable. [03:08] marcello3d: I think bart goes till 1:30am [03:08] marcello3d: so it's a little better [03:08] cbiscardi: marcello: yea, thats what i'd probabley end up doing if i couldnt live within city limits. [03:08] marcello3d: and usually every 20 minutes. they have lcds at most (all?) stations so that helps [03:09] marcello3d: I've never worked in the city though, so probably not the best person to ask [03:09] isaacs has joined the channel [03:09] marcello3d: I've commuted up there for WWDC last year, wasn't too bad [03:09] cbiscardi: i'm not moving for a year or more anyway, so i've got time to do research [03:09] bingomanatee_ has joined the channel [03:09] marcello3d: are you in nyc or chicago? [03:09] cbiscardi: Chi, i grew up in ny [03:10] marcello3d: aha [03:10] marcello3d: whether here in nyc has been ridiculous the past week [03:10] mbrevoort: PhilK: had to drop off suddenly earlier, about NPM. I'm trying to replicate now from https://isaacs.couchone.com/registry/ rather than http:// and have much more success. I assume it's a proxy/networking issue in between. [03:10] guybrush: how would you check for number? `"0">=0` is this ok? :O [03:10] cbiscardi: yea? the winter was pretty freakish too [03:10] cbiscardi: I've still got relatives back there [03:10] marcello3d: v8: typeof 0 [03:10] v8bot: marcello3d: "number" [03:10] pquerna: mbrevoort: hmr, i think issacs said that the couchone ssl layer ws busted [03:11] guybrush: v8: typeof "0" [03:11] v8bot: guybrush: "string" [03:11] michaelrice has joined the channel [03:11] marcello3d: v8: +"0" [03:11] v8bot: marcello3d: 0 [03:11] marcello3d: v8: +"foo" [03:11] v8bot: marcello3d: NaN [03:11] marcello3d: v8: typeof +"foo" [03:11] v8bot: marcello3d: "number" [03:11] marcello3d: v8: typeof (+"foo") [03:11] v8bot: marcello3d: "number" [03:11] marcello3d: hmm [03:11] isaacs: v8: typeof NaN // marcello3d [03:11] v8bot: isaacs: "number" [03:11] tshpaper has joined the channel [03:12] marcello3d: v8: +"0" == "0" [03:12] v8bot: marcello3d: true [03:12] guybrush: i think ill stick with `"0">=0" :) [03:12] chapel: v8: console.log(+'foo'); [03:12] v8bot: chapel: NaN [03:12] marcello3d: v8: +"foo" == "foo" [03:12] v8bot: marcello3d: false [03:12] guybrush: v8: "0">=0 [03:12] v8bot: guybrush: true [03:12] marcello3d: guybrush: what if it's negative? :) [03:12] guybrush: v8: "0a">=0 [03:12] v8bot: guybrush: false [03:12] guybrush: i dont care [03:12] marcello3d: v8: "foo">=0 [03:12] v8bot: marcello3d: false [03:12] marcello3d: you could do +x == x [03:12] marcello3d: looks like [03:13] isaacs: what's the goal here? [03:13] guybrush: check if its a number [03:13] isaacs: you want to test if something is a number, and not NaN? [03:13] isaacs: guybrush: !isNaN(x) [03:13] guybrush: i want to check ifa string contains numbers only [03:13] isaacs: v8: isNaN("10") [03:13] v8bot: isaacs: false [03:13] marcello3d: v8: isNaN("foo") [03:13] v8bot: marcello3d: true [03:13] isaacs: v8: isNaN("foo") [03:13] v8bot: isaacs: true [03:13] isaacs: v8: isNaN("0x40") [03:13] v8bot: isaacs: false [03:13] mbrevoort: pquerna: seems to be working really well at the moment [03:13] isaacs: ahahah [03:13] chapel: v8: isNaN(+'foo') [03:13] v8bot: chapel: true [03:14] marcello3d: isNaN is a terrible name for a function [03:14] isaacs: marcello3d: or, do (x || "").match(/^\d+$/) [03:14] marcello3d: v8: "0x40" == +"0x40" [03:14] v8bot: marcello3d: true [03:14] xiagox has joined the channel [03:14] guybrush: it is very camelcase [03:14] isaacs: marcello3d: 0x40 is hex [03:14] jesusabdullah: It's the best name for the function! [03:14] marcello3d: isaacs: I know :) [03:14] isaacs: v8: [ 0x40, 0700 ] [03:14] marcello3d: v8: 0x40 [03:14] v8bot: isaacs: [64,448] [03:14] v8bot: marcello3d: 64 [03:14] marcello3d: good ol' octal [03:14] drunknbass has joined the channel [03:14] guybrush: right ill go with that terrible named function [03:14] guybrush: thx isaacs [03:15] marcello3d: ECMA5 strict gets rid of octal right? [03:15] mwmw has joined the channel [03:15] isaacs: guybrush: try it with "Infinity" [03:15] isaacs: v8: isNaN("Infinity") [03:15] v8bot: isaacs: false [03:15] marcello3d: v8: isNan(Infinity) [03:15] v8bot: marcello3d: ReferenceError: isNan is not defined [03:15] guybrush: lol [03:15] marcello3d: v8: isNaN(Infinity) [03:15] v8bot: marcello3d: false [03:15] marcello3d: v8: isNanananana("banana") [03:15] v8bot: marcello3d: ReferenceError: isNanananana is not defined [03:15] guybrush: javascript is full with eastereggs [03:15] marcello3d: not really [03:16] marcello3d: probably has less than 20 quirks [03:16] pastak_ has joined the channel [03:17] zkirill has joined the channel [03:18] jzacsh: has anyone here recompiled nodejs with readline? [03:18] Darshan-NowJS: i'm getting an issue with express on cloudfoundry... its weird [03:19] marcello3d: what's the relationship between node.js and webos? [03:22] patcito has joined the channel [03:22] copongcopong has joined the channel [03:23] pyrotechnick1: palm backed the js services in webos with their fork of node [03:24] gavin_huang has joined the channel [03:24] tonymilne has joined the channel [03:25] marcello3d: do they use v8 for their whole OS, too? [03:25] therto: marcello3d: i think webos uses node for "native" applications or somethign.. [03:27] marcello3d: time to add replicaset support to mongolian db [03:28] cbiscardi: score^ [03:29] jacobolus has joined the channel [03:29] ArtistConk has joined the channel [03:30] seivan has joined the channel [03:31] bingomanatee has joined the channel [03:32] benmills has left the channel [03:32] mikeal has joined the channel [03:32] uho has joined the channel [03:33] F1LT3R has joined the channel [03:35] a2800276 has joined the channel [03:36] therto: marcello3d: what does that mean exactly? [03:36] marcello3d: therto: what? [03:36] therto: marcello3d: "replicaset support " [03:37] marcello3d: oh, technically a mongodb driver is supposed to check if the server it connected to is a master [03:37] marcello3d: and if it's not, find the master [03:37] therto: ah i see [03:37] marcello3d: because I think you can only do reads on a secondary server [03:37] marcello3d: I don't know the specifics, I'm learning as I go :) [03:37] therto: wouldnt the native driver do that? [03:37] marcello3d: it would [03:37] cbiscardi: the native driver isnt fun to work with [03:37] marcello3d: but mongolian db isn't the native driver :) [03:38] marcello3d: I'm rewriting all the core stuff from scratch [03:38] therto: but it uses it.. [03:38] marcello3d: I'm really only using the BSON parts of mongo-native [03:38] jdalton has left the channel [03:38] marcello3d: and the raw connection [03:38] therto: ok [03:38] Tobsn has joined the channel [03:38] marcello3d: there's a lot of junk in the native driver [03:39] marcello3d: I wasn't happy with its code [03:39] therto: is mongolian the one from Pau? ie) Mongolia? or something else [03:39] marcello3d: something else [03:39] therto: ahhh [03:39] marcello3d: github.com/marcello3d/node-mongolian [03:39] therto: ok, that makes sense now. [03:40] therto: hmm [03:40] marcello3d: it's basically a way for me to learn node.js, mongodb, and make a package other people might like :) [03:41] therto: shame the API is not stable. i'd consider building on top of it.. [03:41] therto: i'll watch. [03:42] marcello3d: :) [03:42] marcello3d: it's stable in the sense that I'm trying to match the mongodb shell api [03:42] LowValueTarget has joined the channel [03:42] marcello3d: but I've been tweaking how some of the node-specific aspects work (such as the format of the connection) [03:43] marcello3d: but I don't want to promise it will be the same tomorrow just yet [03:44] therto: yeah fair call.. [03:45] therto: i've been using Mongolia for the same reasons as you, basically to learn about mongo and node. [03:45] marcello3d: yea, I looked at mongolia [03:45] marcello3d: I forget what I didn't like about it [03:45] therto: i took what Pau had done and used that for awhile until it started to hurt.. then i ripped out the bits i wanted and built my own on top of a minimal impl. [03:46] marcello3d: oh, mongolia is an ORM [03:46] marcello3d: that's what I didn't like [03:46] therto: yeah it's kinda ORM'ish [03:46] marcello3d: I mean, nothing wrong with ORMs, but not what I was looking for [03:46] fr0stbyte: anyone using node-jquery? it works great but having issues getting the document.ready event.. $(function().. doesn't work, but (function() { })(jQuery) does [03:46] therto: same [03:47] marcello3d: so I used mongo native for a while [03:47] therto: i want to be able to do ORM but withoug being locked into it. [03:47] marcello3d: and got pretty fed up [03:47] marcello3d: yea [03:47] marcello3d: ideally I'd get mongolian db to the point where someone could easily build a lightweight ORM on top of it [03:47] therto: yeah i that's why i took what Pau had done and used that as a basis - it kinda hides the native bits. [03:47] marcello3d: that wouldn't hide anything, but extend [03:47] therto: sounds good. [03:48] marcello3d: but I don't plan on being that someone :) [03:48] marcello3d: so don't wait up ;D [03:48] therto: yeah [03:48] therto: i wont [03:48] therto: i dont really care about ORM to be honest.. kinda sick of that style of code. [03:48] marcello3d: you can actually see the source for the mongodb shell here: http://api.mongodb.org/js/1.8.1/files.html [03:48] marcello3d: it's all javascript [03:48] therto: ah [03:48] marcello3d: but it's all synchronous [03:48] marcello3d: so it doesn't all translate to node.js [03:48] therto: i se [03:49] therto: *see [03:49] therto: i've just refactored my app last night to use my implementation - i call it "Drongo" :) [03:50] therto: i wanted to try a plugin type approach for commands, not sure it's really working out very well. [03:50] therto: that way i could add the commands as i needed them. [03:51] marcello3d: add commands to what? [03:51] therto: they are cooked in a framework that provides validatation etc. which are also implemented in a plugin type fashion. [03:51] jdp has joined the channel [03:51] marcello3d: actually, mongolian db has pretty much all you need for ORM [03:51] marcello3d: you can apply a mapper to a cursor object [03:51] therto: various things like, select, select many, insert, addtoset [03:52] therto: i decided to make them commands in there own right [03:52] marcello3d: like find(...).mapper(function(object) { return transformed object }) ... [03:52] replore_ has joined the channel [03:52] therto: more experimental for my own learning than anything i'd expect anyone else to use.. [03:53] sleeplessinc has joined the channel [03:54] pyrotechnick1: http://www.justin.tv/igntechtalks [03:54] pyrotechnick1: awesome joyent talk on ATM [03:55] tbranyen: ass to ... ? [03:55] marcello3d: I see an ad [03:55] pyrotechnick1: after the ad [03:55] pyrotechnick1: it's a live stream [03:55] pyrotechnick1: ad is to support the bandwidth i guess [03:55] marcello3d: still seeing an ad [03:55] marcello3d: now I see an ad with a dark silhouette talking [03:56] marcello3d: ACTION plugs in headphones [03:57] marcello3d: who is talking? [03:57] pyrotechnick1: this is a really good talk [03:57] pyrotechnick1: guy from joyent writing the book [03:57] pyrotechnick1: not sure of his name [03:58] billbad has joined the channel [04:01] bingomanatee_ has joined the channel [04:01] tbranyen: pyrotechnick1: i'm making a basic wiimote balloon shooter game in node.js atm [04:02] pyrotechnick1: there's bindings? [04:03] tbranyen: pyrotechnick1: https://github.com/tbranyen/nodewii [04:03] tbranyen: i've almost finished everything except for accelerometer [04:03] tbranyen: and the high level api i've sort of documented [04:03] tbranyen: which i might just skip [04:03] indexzero: tbranyen: nice! [04:04] tbranyen: i accidentally released it :( [04:04] tbranyen: when i was showing someone else it [04:04] tbranyen: so i just left it open [04:04] chrelad has joined the channel [04:05] chrelad has left the channel [04:05] chrelad has joined the channel [04:05] chrelad has left the channel [04:06] pyrotechnick1: very cool man [04:07] tbranyen: i started working on a zombie shooter, but tbh i can get real with a simple balloon shooter as a proof of concept [04:07] pyrotechnick1: yeah it doesnt hurt to build up your idea later man [04:07] pyrotechnick1: when you're more comforatble [04:08] marcello3d: can you do strike out with Markdown? [04:09] nk_ has joined the channel [04:09] Aria has joined the channel [04:12] gkatsev: well, markdown compiles down to html, so, yes, if you dont mind mixing some html into your md [04:12] a2800276 has joined the channel [04:12] superjudge has joined the channel [04:15] mike5w3c_ has joined the channel [04:17] kaichenxyz has joined the channel [04:18] marcello3d: gkatsev: thanks, I just figured that out [04:19] gkatsev: some people don't like writing html in their md. [04:19] pyrotechnick1: this is so validating [04:19] pyrotechnick1: some proper numbers [04:20] mike_miller has joined the channel [04:21] mike_miller: I have two questions: 1. What cipher would you recommend for storing passwords in a database? (I need to get them out in plaintext, so salt + md5 is not feasible, and I also want to be reasonably efficient.) 2) Can a cipher/decipher object be reused after the "final" method is used on it? [04:25] mscdex: *gasp* we don't have rails for node yet? [04:25] rudolfrck has joined the channel [04:27] Billbad has joined the channel [04:27] Aria: mike_miller: AES, but how you do key management is a large part of the problem. [04:27] Aria: (... since you have to store the keys somewhere...) [04:27] mike_miller: well, I'd just hardcode the keys into the server [04:27] mike_miller: (the node server) [04:27] mike_miller: yeah, bad practice, but I'm not storing credit card numbers or anything ;) [04:27] mike_miller: and I'm protecting my db, obviously [04:28] Aria: Heh. Okaay then. [04:28] Aria: What are you protecting it against? [04:28] mike_miller: won't AES be computationally intensive? [04:28] mike_miller: my intuition that storing passwords in plaintext is bad :) [04:28] JJMalina has joined the channel [04:28] Aria: Storing them plain means you know what you need to protect. [04:28] Aria: Not "Oh, It's encrypted, whatever." [04:28] Aria: Is computational complexity a problem? [04:29] Aria: How many operations per minute are you doing? [04:29] mike_miller: uhm, ideally I'd like to be as scalable as possible [04:29] eshira has joined the channel [04:29] pyrotechnick1: is anyone in the node talk? [04:29] marcello3d: watching it [04:29] Aria: Billions a day? [04:29] Aria: Millions a day? [04:29] marcello3d: billions a second, duh [04:29] mike_miller: no, I'd have maybe 50,000 users max. [04:29] mike_miller: so maybe a couple thousand a second at most? [04:29] pyrotechnick1: bingomanatee: you there? [04:29] mike_miller: 10,000 upper bound? [04:30] mike_miller: even a couple thousand sounds pretty high [04:30] marcello3d: never store passwords in plaintext [04:30] Aria: http://cr.yp.to/aes-speed.html ... stop worrying. [04:30] marcello3d: bcrypt em [04:30] mike_miller: marcello3d: thank you for that wonderful insight! :) [04:30] Aria: Hehe. Yes, but do key management right ;-) [04:30] marcello3d: http://codahale.com/how-to-safely-store-a-password/ [04:31] mike_miller: so aes192? [04:31] bingomanatee has joined the channel [04:31] Aria: Yeah. [04:31] Aria: (bcrypt is wrong, that's hashed, marcello3d. Not encrypted.) [04:32] marcello3d: I know [04:32] mike_miller: onto my second question.. can I reuse the cipher/decipher object? [04:32] mike_miller: (keep them as globals) [04:32] marcello3d: the only reason to store unhashed passwords is if they're passwords to a second system [04:32] vhost- has joined the channel [04:32] mike_miller: that is the case. [04:32] marcello3d: and that second system doesn't support oauth or similar [04:32] mike_miller: correct. [04:33] Aria: Or if you need to use digest authentication. [04:33] Aria: .oO(Or if they're actually keys.) [04:33] marcello3d: if you're storing someone else's private keys [04:33] tonymilne: do you create the users on the second system via an API or anything? Maybe the password could actually be the hashed password from the first system. [04:34] marcello3d: you should probably have a good security policy in place [04:34] marcello3d: preferably with outside auditing [04:34] __tosh has joined the channel [04:35] mike_miller: tonymilne: I don't have control over the second system. [04:35] mike_miller: It requires plaintext (over SSL). [04:35] abraham has joined the channel [04:35] keltus has joined the channel [04:36] cbiscardi has left the channel [04:37] Aria: Yeah. I'd AES them, store the keys as securely as possible. Make sure you use the right cipher mode( not sure what that is for short strings like that, I'd have to do some reading) [04:37] Aria: Or blowfish. It's a symmetric cipher, since you're not encrypting for a second party, no need for PKI. [04:37] themiddleman has joined the channel [04:37] keltus: is there some kind of callback recursion limit? my node.js crashes after about 1600/2500 function calls with just the word 'undefined'. I have an array and a function called insertOne, which does insertToDB(array.pop(), function() {insertOne(array);}); [04:38] mike_miller: Aria: Are you familiar with node's crypto API? [04:38] benw_ has joined the channel [04:38] Aria: Not in a while. Poked it a bit, haven't actually used it for anything. [04:39] mike_miller: wondering if it makes sense to keep the (de)cipher around, or create it upon each request. [04:39] therto: keltus - there is a stack limit [04:39] mike_miller: more specifically, if it's possible to reuse the cipher/decipher [04:39] Aria: I'm not sure. [04:39] therto: i wish i lived in SF [04:39] Aria: (Is that expensive to set up?) [04:40] therto: so much cool shit happens in that town. [04:40] flippyhead_ has joined the channel [04:40] mike_miller: not sure. that's why I'm asking :) [04:40] mike_miller: therto: Silicon Valley in general is just a really cool place [04:40] mike_miller: so many smart people all in one place. [04:40] mscdex: i thought it was really warm there [04:40] mscdex: :-D [04:40] pyrony has joined the channel [04:40] mike_miller: SF is 60s all around pretty much, south bay is a little warmer [04:40] therto: mike_miller: yeah, all code heads too.. [04:40] mike_miller: can get to the 80s in the summer [04:41] keltus: therto: bummer. thanks [04:41] gkatsev: mike_miller: use bcrypt for passwords. Only bcrypt. [04:41] gkatsev: ACTION is a little late [04:41] therto: mscdex: where you live? [04:42] mscdex: therto: i'm on the opposite end of the country here in ohio [04:42] mscdex: :) [04:42] mike_miller: gkatsev: Node's native crypto library doesn't support bcrypt does it? [04:42] gkatsev: no clue [04:42] gkatsev: lol [04:42] gkatsev: let's see [04:42] gkatsev: there may be a module [04:43] pootietang has joined the channel [04:43] mscdex: https://github.com/ncb000gt/node.bcrypt.js [04:43] mscdex: ^ [04:43] pootietang: hello peeps! [04:43] benw_: I need npm help [04:43] Aria: (remember that bcrypt algorithm is a hash, not encryption) [04:43] benw_: Am I supposed to be able to say require('express@2.3.2')? [04:43] mike_miller: hashing won't work. [04:43] benw_: npm install express@2.3.2 worked [04:43] mike_miller: (for my use case) [04:44] mscdex: benw_: no, require doesn't work that way [04:44] Aria: benw: require('express') [04:44] gkatsev: benw_: install it inside your module/app, then you just do require(express) or w/e [04:44] benw_: Ah ok, thanks. [04:44] benw_: So I'm meant to track dependencies in my package.json [04:45] Aria: Yep. [04:45] dandean has joined the channel [04:46] benw_: npm seems... different. But I think that's in a good way, once I get my head around it. [04:46] benw_: Have had trouble finding a linear reading of the docs. [04:47] gkatsev: mike_miller: if you want really strong amazing encryption, try scrypt: https://www.tarsnap.com/scrypt.html [04:47] mike_miller: gkatsev: I'm just looking for something "better than plaintext" [04:47] gkatsev: mike_miller: no, don't do that. Go for the best. [04:47] therto: mike_miller: rot13 :) [04:48] gkatsev: therto: haha [04:48] mike_miller: therto: I actually considered that ;) [04:48] therto: ceasar cipher ? :) [04:49] gkatsev: mike_miller: but in all seriousness. Just use bcrypt. [04:49] mike_miller: That won't work! [04:49] mike_miller: I can't use a hash. [04:49] mike_miller: period. [04:49] hoodoos has left the channel [04:49] mike_miller: no exceptions. [04:49] gkatsev: why? [04:49] mike_miller: :) [04:49] mike_miller: Because I need to store the password for use in a second system, which expects the password in plaintext. [04:49] gkatsev: um... what? [04:49] Aria: He needs to be able to get the password /back/. [04:50] Aria: bcrypt _is not encryption_ [04:50] gkatsev: yes, it's a password hashing algorithm [04:50] marcello3d: gkatsev: I'd just put a disclaimer on your site [04:51] gkatsev: mike_miller: can you make the other system use the hash as the password? [04:51] mike_miller: no. [04:51] Aria: ... Uh. [04:51] mike_miller: I have no control over the second system. [04:51] gkatsev: lol [04:51] gkatsev: ok [04:51] marcello3d: "in order to provide this service, we have to store your passwords. They are encrypted database, and we've taken significant effort to protect them, but we cannot guarantee their safety." [04:51] Aria: That also doesn't improve security. [04:51] tbranyen: i use rot26 for password hashing [04:51] onre has joined the channel [04:51] tbranyen: seems to be working pretty well [04:51] tonymilne: is that twice as secure to rot13? [04:52] mike_miller: hah :) [04:52] Aria: That's equivalent to plaintext passwords, because the hash /is/ the password. [04:52] tbranyen: tonymilne: sometimes the best security is in plain sight :D [04:52] marcello3d: I just hash all my passwords to cafebabe [04:52] marcello3d: perfect security [04:52] marcello3d: you'll never guess the original password [04:52] marcello3d: (unless they use cafebabe as their password) [04:52] tonymilne: cafed00d? [04:52] marcello3d: (but how would you know?) [04:52] tbranyen: gkatsev: there is a qrcode outside of bocoup that i scanned and it turned out to be dickbutt [04:52] mike_miller: marcello3d: dude, that's so insecure. You need to hash to 0xdeadbeef ! [04:53] jacter has joined the channel [04:53] marcello3d: mike_miller: hash is a hash is a hash :D [04:53] gkatsev: tbranyen: lol [04:53] marcello3d: ACTION is working on documentation fo r mongolian deadbeef [04:53] marcello3d: *crowd cheers* [04:53] gkatsev: tbranyen: did you stay for the jquery/sproutcore talk? I ended up missing it. [04:53] tbranyen: yea [04:53] tbranyen: it was basic, but interesting [04:53] gkatsev: yeah, I have stupid finals [04:54] tbranyen: i still don't ever see myself using sproutcore [04:54] mike_miller: gkatsev: Was this at the amazon thing? [04:54] m64253 has joined the channel [04:54] mike_miller: Sproutcore is awesome! [04:54] captain_morgan has joined the channel [04:54] gkatsev: I dont like sproutcore because it adds in too much classical inheritance stuff. [04:54] tbranyen: mike_miller: yehuda katz gave a talk at our event space today about it [04:54] mike_miller: oh, cool. which event space? [04:54] mike_miller: in SF? [04:54] gkatsev: boston ftw [04:54] xiagox has joined the channel [04:55] tbranyen: mike_miller: bocoup in boston [04:55] cwang has joined the channel [04:56] mike_miller: so no one here knows if the cipher objects can be reused? [04:56] therto: marcello3d: where does: mongo = require('mongodb') mongodb come from? [04:56] gkatsev: http://en.wikipedia.org/wiki/Vigenère_cipher ? [04:56] Aria: Try it? [04:56] mike_miller: yeah, guess so [04:57] marcello3d: therto: what do you mean? [04:57] gkatsev: mike_miller: you can use the enigma cypher :P http://en.wikipedia.org/wiki/Polyalphabetic_cipher http://en.wikipedia.org/wiki/Enigma_machine [04:58] therto: i was looking but i couldnt see mongodb in your code.. so its an external dependency, yeah? [04:58] jpld has joined the channel [04:58] marcello3d: therto: yea [04:59] therto: is that just npm install mongodb? [04:59] gkatsev: mike_miller: however, it really isn't that much better than plain-text. [04:59] marcello3d: therto: if you do npm install mongolian, it'll get mongodb for you [04:59] therto: i think i just npm install mongolia and it did the rest so i havent dug into anything else really.. [04:59] therto: ok [04:59] mike_miller: it protects against someone breaking into the db, but not the server. [05:00] therto: i was just looking at your code at the moment.. havent installed it yet. [05:00] marcello3d: yup [05:00] puffpio has joined the channel [05:00] marcello3d: yea, it uses mongodb (which is the native driver) for the BSON and command stuff [05:00] gkatsev: mike_miller: but yes, I would put up a disclaimer or something. [05:00] marcello3d: I'll probably eventually eliminate that dependency, but for now it's needed :) [05:01] SamuraiJack has joined the channel [05:02] mdaisuke has joined the channel [05:02] jacter has joined the channel [05:08] marcello3d: odd [05:08] marcello3d: gitx isn't loading my git repo :( [05:11] a2800276 has joined the channel [05:12] Metapony has joined the channel [05:14] onre_ has joined the channel [05:14] vipaca has joined the channel [05:15] aurojit has joined the channel [05:15] marcello3d: bloody hell [05:15] marcello3d: github doesn't support html in their markdown syntax?? [05:16] marcello3d: nnnrg [05:16] tbranyen: i wish they supported syntax highlighting in readmes [05:16] marcello3d: https://github.com/marcello3d/node-mongolian [05:16] pyrotechnick1: marcello3d: what did you think of the talk? [05:16] newy_ has joined the channel [05:16] marcello3d: I painstakingly colored all the commands I support [05:16] marcello3d: and none of the colors even show [05:16] marcello3d: they strip out the html tags completely [05:16] tbranyen: marcello3d: readmes are weird [05:17] tbranyen: they aren't the same markdown rendering or something [05:17] marcello3d: same as what? [05:17] tbranyen: because my readmes render differently in gists [05:17] tbranyen: like completely different [05:17] marcello3d: github is the only place I know in the world that uses godforesaken markdown [05:17] tbranyen: marcello3d: https://github.com/tanoku/upskirt markdown lib github uses [05:17] tbranyen: dunno how much help that is [05:18] marcello3d: hmm [05:18] marcello3d: can I make a readme.html? [05:18] marcello3d: will they handle that? [05:18] tbranyen: that's be cool if they did, might as well try? [05:18] tbranyen: although i doubt it D: [05:19] gkatsev: https://github.com/github/markup [05:19] marcello3d: I hate how testing their stupid readme system clutters up my git history [05:19] gkatsev: mardown, textile, rdoc, org, creole, mediawiki, rst, asciidoc, pod, 1 [05:19] tbranyen: +1 gkatsev [05:19] onre_ has joined the channel [05:19] gkatsev: one of those [05:19] ajak1 has joined the channel [05:20] marcello3d: the interesting part is github does support html in their markdown [05:20] marcello3d: they just strip out tags they don't like, I guess [05:20] marcello3d: which includes and :( [05:20] gkatsev: what about ? [05:20] marcello3d: didn't try it [05:20] marcello3d: as I said [05:20] marcello3d: don't want to clutter up my git history [05:20] marcello3d: with testing their site =P [05:21] gkatsev: lol [05:21] fljitovak has joined the channel [05:21] benw_: marcello3d: rebase? [05:21] marcello3d: I don't think you can do those kinds of things on the remote server though [05:21] marcello3d: once you push, it's pushed [05:21] benw_: You can force-push a rebase branch [05:21] bene1 has joined the channel [05:21] marcello3d: shrug [05:22] marcello3d: but I still want color! D: [05:22] gkatsev: make a github page [05:23] marcello3d: whatever. more annoyed that I can't load it in gitx now for some reason [05:25] xiagox has joined the channel [05:28] astropirate has joined the channel [05:30] pt_tr has joined the channel [05:31] kylefox has joined the channel [05:32] matjas has joined the channel [05:33] ajak1_ has joined the channel [05:36] mscdex: marcello3d: they have a github markdown preview [05:36] marcello3d: the javascript one that doesn't match the actual output? :) [05:36] marcello3d: or is there a better one now [05:36] mscdex: they fixed it now i believe [05:37] mscdex: some time back [05:37] gkatsev: clone their markdown repo. You can use it to render it out and test [05:37] mscdex: that too [05:37] marcello3d: if only I knew ruby [05:37] mscdex: ACTION shakes a fist at ruby [05:37] brownies has joined the channel [05:38] marcello3d: it's bad enough I have to learn markdown [05:38] marcello3d: :) [05:38] gkatsev: md is easy to learn. [05:38] marcello3d: meh [05:38] gkatsev: marcello3d: also, as I said above. You don't need md. [05:38] marcello3d: it has enough quirks that's it's annoying [05:38] gkatsev: you can use mediawiki if you wish [05:38] marcello3d: yea, I don't know any of those other formats [05:38] marcello3d: oh mediawiki [05:38] marcello3d: hmmm [05:39] marcello3d: they probably don't support html tags on that, either [05:39] marcello3d: and all the cool kids are using markdown! [05:39] marcello3d: I want to be like them [05:39] gkatsev: you should try and tags. [05:40] marcello3d: I will, I will [05:40] marcello3d: but I have to think what I want to do about not having colors [05:40] gkatsev: del works [05:40] gkatsev: http://github.github.com/github-flavored-markdown/preview.html [05:40] gkatsev: as does s [05:40] marcello3d: as does =P [05:40] gkatsev: hm... [05:40] marcello3d: "GitHub now has previews on all inputs that use GFM. This live preview should be considered depreciated. It may not render exactly the same way github.com will due to differences in markdown libraries." [05:40] brianc has joined the channel [05:40] gkatsev: oh, yeah, just noticed [05:41] marcello3d: hmm [05:41] marcello3d: let me try their live editor again [05:41] marcello3d: haven't used that in a few weeks [05:41] brownies has joined the channel [05:41] gkatsev: however, I do think that del/s might work as those are what is currently being used in HTML not strike [05:42] marcello3d: bah, the "edit this file" option doesn't have a preview [05:42] brianc: ryah: do you need any more testers for windows on liboio? [05:43] saikat has joined the channel [05:46] marcello3d: night all [05:47] langworthy has joined the channel [05:49] bene1 has joined the channel [05:54] liar has joined the channel [05:54] niff has joined the channel [05:54] Votaguz has joined the channel [05:58] snearch has joined the channel [05:59] coreb has joined the channel [06:00] onre has joined the channel [06:05] id_sonic has joined the channel [06:05] onre_ has joined the channel [06:12] ezmobius has joined the channel [06:13] SubStack: pyrotechnick1: pongity [06:13] pyrotechnick1: mannn [06:13] pyrotechnick1: you missed a good talk [06:13] pyrotechnick1: how'd your shit go? [06:13] pyrotechnick1: you were doing something else wern't you? [06:13] stagas: chapel: pong (5 hours later) [06:13] chapel: haha stagas [06:14] chapel: at least I am here [06:14] SubStack: pyrotechnick1: yep trampolines [06:14] SubStack: awesome that it was a good talk though! [06:14] pyrotechnick1: yeah it was sweet [06:14] brianc: I wish I was going to nodeconf [06:14] pyrotechnick1: the ngmoco dude was freaking rad [06:14] chapel: I recommended someone try chaos, they asked about hkeys, pyrotechnick1 and myself answered his questions though [06:14] pyrotechnick1: i would go as far as to say i was inspired by his speech [06:14] brianc: s/was/were [06:15] pHcF has joined the channel [06:15] keltus has left the channel [06:15] stagas: chapel: oh cool [06:15] chapel: he wanted to store json as files [06:15] onre_ has joined the channel [06:16] chapel: that is a simple way to do it imo [06:16] stagas: chapel: in the newest release it stringifies for you too [06:16] dandean: Anybody here messed with Fermata yet? [06:16] stagas: and parses [06:17] chapel: nice [06:17] chapel: I didn't know that [06:17] chapel: have you pushed that version? [06:17] dandean: I've been using it for about 5 minutes and I'm pretty sure I'm going to just replace my entire API object abstraction layer with it. [06:18] stagas: chapel: yeah might break some apps, it won't matter if you stringify yourself, but if you try to parse again it may throw [06:18] mkuklis has joined the channel [06:19] chapel: yeah [06:19] chapel: fermeta dandean ? [06:20] MattJ has joined the channel [06:20] coreb: who's speech [06:21] pyrotechnick1: coreb: you asking me? [06:21] onre_ has joined the channel [06:21] ian-london has joined the channel [06:21] zpao: ryah: if by chance you're around... is there a way to not build node with the JS stuffed into node_natives.h? rebuilding at every change isn't the most painful thing, but it's a bit annoying [06:22] mkuklis: hi guys I'm new to node. I have a quick question about the inheritance and EventEmitter. I've seen different examples and seems like people prefer different approaches for example: Installer.prototype.__proto__ = EventEmitter.prototype; or by using sys.inherits module. I'm wondering which way is preferable [06:22] coreb: pyrotechnick1: generally you guys who talked about someone's speech [06:22] zpao: ACTION will just ask again during normal hours [06:23] mike_miller: to answer my own previous question: it appears not possible to reuse a cipher/decipher. [06:23] cloudhead has joined the channel [06:23] chapel: mkuklis: its util.inherits now [06:23] chapel: and that is usually the best way [06:23] pyrotechnick1: coreb: guy from ngmoco that spoke at the meetup at IGN today [06:24] SubStack: mkuklis: I personally usually just do var self = new EventEmitter and add attributes onto that [06:24] mkuklis: chapel: thanks I sort of like the direct prototype approach can you elaborate why it's usually the best way? [06:25] SubStack: unless I'm writing something that's going to get instantiated a ton [06:25] cloudhead: I have a child process which only seems to output when I pass process.stdout.fd as it's stdout in customFds.. any ideas why? [06:25] SubStack: mkuklis: one thing you can't do with prototypes is sharing private scope among functions [06:26] mkuklis: SubStack: thanks for the tips! [06:26] SubStack: if you start adding lots of this._foos and this._bars I would go with the closure approach [06:26] SubStack: but either way works plenty fine [06:27] mkuklis: SubStack: thank you [06:27] onre_ has joined the channel [06:28] xiagox has joined the channel [06:29] sechrist has joined the channel [06:30] kaichenxyz_ has joined the channel [06:30] galaxywatcher has joined the channel [06:32] onre_ has joined the channel [06:35] mytrile has joined the channel [06:37] xiagox has joined the channel [06:39] ep has joined the channel [06:39] ep: ern [06:40] fljitovak: I cant use nodejs to run a javascript file from terminal, like: node test123.js ? [06:40] chapel: fljitovak: you can't? you should be able to [06:41] cloudhea1 has joined the channel [06:42] fljitovak: chapel: Well, for example, I have a file with just print("4"); and I get an error saying print is not defined as a function. [06:42] V1 has joined the channel [06:43] chapel: yeah? [06:43] chapel: v8: print('4'); [06:43] v8bot: chapel: "4" [06:43] dandean: fljitovak: what if the file just says "console.log('4');" [06:44] chapel: yeah what dandean said [06:44] chapel: to explain, console.log is the proper way to output to the stdout/console [06:44] onre_ has joined the channel [06:45] fljitovak: that works [06:45] fljitovak: Okay that makes sense. So print would be used in the browser, I guess. [06:46] xiagox has joined the channel [06:47] chapel: well [06:47] dandean: the print function is not defined in the global scope. [06:47] chapel: console.log works in the browser as well [06:47] dandean: http://nodejs.org/docs/v0.4.7/api/all.html [06:48] chapel: well firebug for firefox and webkit [06:48] dandean: or to be more specific: http://nodejs.org/docs/v0.4.7/api/all.html#global_Objects [06:48] nephics has joined the channel [06:50] loob2 has joined the channel [06:50] aurojit has left the channel [06:51] ajak1: is there a built-in way to daemonize Node? [06:53] chapel: nope [06:53] chapel: I mean you can ctrl+x [06:53] jacter has joined the channel [06:53] chapel: its that right, idk bah [06:54] ajak1: hmm [06:54] ajak1: i think i'll just write an init.d script [06:54] chapel: there are multiple options [06:54] chapel: can use something built into your os [06:54] xeodox has joined the channel [06:54] chapel: or you can use something like forever [06:54] chapel: `v git node forever @ ajak1 [06:54] v8bot: ajak1: indexzero/forever - GitHub - https://github.com/indexzero/forever [06:54] Guest52130 has joined the channel [06:54] ajak1: i wish i could fork() inside Node [06:55] indexzero: ajak1: You can, you just have to write a binding for it [06:55] fr0stbyte: so.. streaming complex objects.. serialization/unserialization.. what am i looking for [06:55] chapel: you can do child processes [06:55] indexzero: ajak1: See felixge's node-nix [06:55] xiagox has joined the channel [06:55] indexzero: https://github.com/felixge/node-nix [06:55] chapel: fr0stbyte: for what? [06:55] fr0stbyte: chapel: well, i'm using socket.io client/server atm [06:55] ajak1: indexzero: thanks, this is really neat [06:56] chapel: `v git dnode @ fr0stbyte [06:56] v8bot: fr0stbyte: substack/dnode - GitHub - https://github.com/substack/dnode [06:56] indexzero: ajak1: no problem [06:56] chapel: check that out [06:57] SubStack: must... write... dnode slides [06:57] catshirt has joined the channel [06:57] MikhX has joined the channel [06:57] SubStack: indexzero: how far along are you with your nodeconf materials? [06:58] fr0stbyte: chapel: looking. security an issue? [06:58] onre_ has joined the channel [06:58] indexzero: substack: Not far enough along [06:58] SubStack: I have a title slide [06:58] indexzero: substack: so little to do, so much time. Wait, strike that, reverse it [06:58] chapel: haha [06:58] chapel: fr0stbyte: security an issue in what way? [06:59] indexzero: substack: Big announcement during my talk though :-D [06:59] SubStack: an announcement! [06:59] indexzero: top secret, forget I said anything [06:59] SubStack: ACTION comes up with crazy conspiracy announcements to fill the holes [06:59] fr0stbyte: chapel: only passing data that is scrubbed of any possible execution (IPC) [06:59] chapel: haha [07:00] indexzero: ACTION enjoys the extra hype from crazy conspiracy announcements [07:00] SubStack: nodejitsu is actually a front for the cia and the iranians! [07:00] SubStack: who are secretly working together to topple canada [07:00] chapel: fr0stbyte: if you have any specific questions, SubStack created it :) [07:00] SubStack: it's true! [07:00] emattias has joined the channel [07:01] __tosh has joined the channel [07:02] indexzero: substack: As a forever user, question for you [07:02] indexzero: working on a new feature to prevent spin restarts (i.e. dont restart scripts that exit within a certain time interval, less than 1s) [07:02] mraleph has joined the channel [07:02] MattJ has joined the channel [07:03] indexzero: do you think I should just use the time span or combination of timespan and number of restarts? [07:03] GasbaKid has joined the channel [07:03] SubStack: not sure! [07:03] chapel: indexzero: simpler is better [07:03] TomY has joined the channel [07:04] SubStack: chapel: not always [07:04] fangel has joined the channel [07:04] indexzero: chapel: That's what I was thinking, just the timespan [07:04] chapel: you didn't let me finish SubStack [07:04] indexzero: I mean if your script exits in less than 1s, something is wrong [07:04] chapel: give the option to change them both, but by default make it simple [07:04] xiagox has joined the channel [07:05] SubStack: or 10 seconds [07:05] fr0stbyte: SubStack: any middleware that sandboxes dnode calls so they cant run arbitrary functions? i want to serialize object data over the wire with dnode-protocol, but not IPC. [07:05] jaket_ has joined the channel [07:05] chapel: less than 10 seconds probably [07:05] chapel: or you could watch uncaughtExceptions [07:05] stonebranch has joined the channel [07:05] SubStack: fr0stbyte: erm you can just auth behind a callback [07:05] SubStack: nested calls are totally the point of dnode [07:05] indexzero: chapel: I can't watch for that because forever can spawn any script [07:05] indexzero: node, ruby, perl, whatever [07:06] chapel: oh yeah indexzero [07:06] SubStack: fr0stbyte: like this https://github.com/substack/dnode/blob/master/examples/auth/server.js [07:06] stephank has joined the channel [07:07] galaxywatcher has joined the channel [07:07] indexzero: substack | chapel: https://github.com/indexzero/forever/commit/9b56c411e52a111f2e59e03512b07a46229593b9 [07:07] SubStack: except for s/sys\.puts/console.log/g [07:07] fr0stbyte: SubStack: ah. alright thanks. was looking for easy serializing streams for client/server communication for public site using socket.io [07:09] fr0stbyte: anyone using init.d to spawn their forever daemon on reboot? [07:09] indexzero: fr0stbyte: There is an init.d example in the forever repo [07:10] indexzero: https://github.com/indexzero/forever/blob/v0.5.x/examples/initd-example [07:10] zkirill_ has joined the channel [07:10] indexzero: fr0stbyte: I'm ramping up to release 0.5.0 tonight [07:10] fr0stbyte: indexzero: missed that, thanks! [07:11] SubStack: indexzero: is there a handy module or command to view a bunch logfiles all from the same terminal? [07:11] SubStack: that would be pretty great to use in conjunction with forever [07:11] Nexxy has joined the channel [07:11] indexzero: substack: not yet, feel like writing a patch :-D [07:12] indexzero: I just updated the cli parsing to be more modular [07:12] SubStack: well that sort of thing would probably be a separate module [07:12] onre_ has joined the channel [07:12] SubStack: but timestamps in the log files would be handy [07:12] mape has joined the channel [07:12] indexzero: substack: true, would be yact (yet another console tool) from the nodejitsu repertoire [07:13] SubStack: I should be working on my slides, not creating new modules [07:14] indexzero: substack: ditto [07:14] indexzero: if it wasn't for the last minute, nothing would get done [07:14] mAritz has joined the channel [07:14] djcoin has joined the channel [07:14] bergie has joined the channel [07:14] Spion_ has joined the channel [07:16] tauren has joined the channel [07:17] Rodtusker has joined the channel [07:17] onre_ has joined the channel [07:19] piscisaureus has joined the channel [07:21] mytrile has joined the channel [07:22] kawaz_air has joined the channel [07:23] teemow has joined the channel [07:23] pig has joined the channel [07:24] mendel_ has joined the channel [07:25] jdp has joined the channel [07:26] nlco has joined the channel [07:26] febits has joined the channel [07:27] saschagehlich has joined the channel [07:28] pig has joined the channel [07:28] onre_ has joined the channel [07:29] FireFly|n900 has joined the channel [07:29] FireFly|n900 has joined the channel [07:29] ph^ has joined the channel [07:30] ph^ has joined the channel [07:31] pyrotechnick1 has left the channel [07:32] thalll has joined the channel [07:33] pig has joined the channel [07:33] Druide_ has joined the channel [07:34] onre_ has joined the channel [07:34] HugoKuo__ has joined the channel [07:34] brianloveswords has joined the channel [07:34] kawaz_air has joined the channel [07:35] XYXing has joined the channel [07:35] XYXing: yooooo [07:35] jesusabdullah: Oh shit that JS trampoline party was today huh? [07:35] jesusabdullah: That explains a lot! [07:36] Gruni has joined the channel [07:36] kawaz_air has joined the channel [07:36] bingomanatee has joined the channel [07:37] kaichenxyz has joined the channel [07:37] bingomanatee: Hey pyro [07:38] bingomanatee: pyrotechnick: ayes? [07:38] ivanfi has joined the channel [07:38] chapel: bingomanatee: doesn't look like he is here atm [07:39] chapel: I think he wanted you to see, or ask if you saw the ngmoco talk [07:39] onre_ has joined the channel [07:39] kowalski has joined the channel [07:39] HugoKuo__: bonjour [07:39] d0k has joined the channel [07:39] XYXing: @32$$%7sd212 [07:40] XYXing: *7645__===++#@$!67xc [07:41] bingomanatee: Yeah I was end to end [07:41] tk has joined the channel [07:43] mpoz2 has joined the channel [07:44] onre_ has joined the channel [07:44] galaxywatcher has joined the channel [07:45] teemow has joined the channel [07:50] onre_ has joined the channel [07:50] meso_ has joined the channel [07:51] sendark has joined the channel [07:51] admc has joined the channel [07:51] littke has joined the channel [07:52] joshthecoder has joined the channel [07:52] Nexxy has joined the channel [07:52] Nexxy has joined the channel [07:52] brianloveswords has joined the channel [07:53] msucan has joined the channel [07:53] tobiassjosten has joined the channel [07:54] V1: ooh look at that, node.js is all grown up now we have `node.js` trademark policies [07:54] stagas_ has joined the channel [07:55] admc: can someone give me an example of a child process kill syntax, because my on exit listener is telling me "child process terminated due to receipt of signal null" when I want to send it a SIGKILL [07:55] saschagehlich has joined the channel [07:55] onre has joined the channel [07:56] narayan82 has joined the channel [07:56] chapel: oh? [07:58] chapel: you can do child.kill('SIGHUP'); [07:59] troessner has joined the channel [08:00] d0k has joined the channel [08:00] markwubben has joined the channel [08:01] onre_ has joined the channel [08:01] [AD]Turbo has joined the channel [08:02] Nexxy_ has joined the channel [08:04] meatmanek has joined the channel [08:05] FireFly|n900 has joined the channel [08:05] eldios has joined the channel [08:06] onre_ has joined the channel [08:07] hackband has joined the channel [08:10] bzinger has joined the channel [08:11] tauren has joined the channel [08:11] onre_ has joined the channel [08:13] sendark_ has joined the channel [08:13] uho has joined the channel [08:14] MikhX has joined the channel [08:14] jacter has joined the channel [08:14] tlrobinson has joined the channel [08:15] pdelgallego has joined the channel [08:17] onre_ has joined the channel [08:17] galaxywatcher has joined the channel [08:17] justinTNT has joined the channel [08:18] justinTNT: anyone here use sammyjs in the browser? [08:18] admc has joined the channel [08:22] onre_ has joined the channel [08:27] onre_ has joined the channel [08:29] Gruni has joined the channel [08:31] Nexxy has joined the channel [08:31] Nexxy has joined the channel [08:32] jbpros has joined the channel [08:32] onre_ has joined the channel [08:36] Twelve-60` has joined the channel [08:37] jacter has joined the channel [08:37] rjack has joined the channel [08:38] onre_ has joined the channel [08:40] [AD]Turbo has joined the channel [08:40] XYXing: dala [08:40] davidcoallier has joined the channel [08:42] pomodoro has joined the channel [08:42] joshthecoder has joined the channel [08:43] onre_ has joined the channel [08:44] thalll has joined the channel [08:44] mc_greeny has joined the channel [08:45] jetienne has joined the channel [08:48] JianMeng has joined the channel [08:48] rjack_ has joined the channel [08:57] eldios: trololololololo [08:57] jacter1 has joined the channel [08:57] micheil has joined the channel [08:58] mike5w3c has joined the channel [09:03] eb4890 has joined the channel [09:04] V1: No activity in irc.. o m g everybody must be watching `the royalwedding` [09:04] ajak1: V1: it's on my TV =/ [09:04] V1: turn it off :o [09:04] indutny has joined the channel [09:05] onre has joined the channel [09:05] V1: ajak1: it was also on our youtube. Untill I disabled youtube in our DNS servers <3 [09:05] ajak1: i love watching brits dressed funny [09:05] ajak1: V1: LOL [09:05] V1: ACTION whips co-workers [09:05] ajak1: I just saw peewee herman [09:05] V1: o.o [09:06] chapel: lol [09:06] markwubben has joined the channel [09:06] chapel: ACTION is watching something else [09:06] ian-london has joined the channel [09:07] justinTNT: bbq, sammy or backbone? [09:07] ajak1: backbone [09:09] dies_el has joined the channel [09:10] mytrile has joined the channel [09:11] V1: backbone [09:12] onre_ has joined the channel [09:13] justinTNT: OK, y? [09:14] V1: I find it easier to work with [09:14] V1: And I'm already using underscore in my applications so backbone is more natrual fit :p [09:14] Esteb has joined the channel [09:14] Esteb: Salut [09:15] V1: Also, it feels more like `regular` javascript than some sugered api [09:15] justinTNT: anyone play with sammy or bbq? [09:16] piscisaureus has joined the channel [09:16] V1: ./join #sammy :D? [09:17] justinTNT: yeah but, i want your opinion ;{)} [09:18] markwubben has joined the channel [09:19] jeremyselier has joined the channel [09:20] ajak1: wow the groom's suit looks so uncomfortable [09:22] eldios: ppl pls stop speaking about over-privileged ppl over-hailed by othe over-dumbed ppl -_-" [09:22] tbassetto has joined the channel [09:22] eldios: and english ppl xcuse me if that was too rude.. [09:23] eldios: V1, whip me now [09:23] V1: That sound dirty eldios [09:23] eldios: it is! <3 [09:23] eldios: :3 [09:27] herbySk has joined the channel [09:27] onre_ has joined the channel [09:29] Emmanuel__: I like that : I heard more people complaining about having to bear with that stupid wedding thing [09:29] Emmanuel__: than people actually talking about the wedding [09:29] eldios: =) [09:29] justinTNT: god save mrs ethyl shroake ... [09:29] mpoz2 has joined the channel [09:29] eldios: Emmanuel__, that could mean two very different things: [09:30] eldios: 1) ppl is starting to be tired of having ludicrously rich ppl rule them while the common citizen find it hard to reach the end of the month [09:30] eldios: 2) you are full ONLY of nerdy ppl :P [09:30] eldios: s/ppl :P/friends :P/ [09:30] Emmanuel__: I'm afraid to answer... [09:31] Emmanuel__: but I agree to both [09:31] ajak1: eldios: except the royal family doesn't actually rule [09:31] eldios: :3 [09:32] eldios: ajak1, you're right.. they only burn citizen's hard work for free.. they even have the decency to fake to work for them [09:32] eldios: they don't* [09:33] ajak1: what? [09:34] eldios: I mean that they only spend commons hard earned wealthy while at least other democracy governors try to fake they're actually working for people [09:34] Wizek has joined the channel [09:35] SeyZ has joined the channel [09:37] josefrichter_ has left the channel [09:37] onre_ has joined the channel [09:39] bkozal has joined the channel [09:41] Hans_ has joined the channel [09:42] insin has joined the channel [09:43] jaket_ has joined the channel [09:44] cwo has joined the channel [09:44] markwubben has joined the channel [09:46] FireFly|n900 has joined the channel [09:51] V1: <3 /clear command *boom* all wedding shit is whiped of my chat view <3 [09:52] V1: I wish twitter had such functionality :D [09:52] saschagehlich has joined the channel [09:52] xeodox: Anyone know if there's a node.js module to turn a "date" object into "4 hours ago..." [09:53] eirikb1: xeodox: relative-date? [09:53] V1: Do you need a module for that? [09:54] V1: A simple formating functino should not be a module in my opinion .. [09:54] mape: xeodox: http://timeago.yarp.com/ [09:54] xeodox: eirikb1: you mean this: https://github.com/azer/relative-date ?? [09:54] V1: anyways http://ejohn.org/blog/javascript-pretty-date/ [09:54] eirikb1: xeodox: Yeah, I just opened the module-page for node.js and searched for date :/ [09:55] xeodox: thanks guys [09:57] beejeebus has joined the channel [09:58] Ned_ has joined the channel [09:58] Ned_: Anyone using node.js in Ubuntu?, what are you doing about the fact it's so far behind ? [09:58] Ned_: ;-) [09:58] jaket: any node.js projects looking for a UI guy? [09:59] eirikb1: Ned_: I do, works fine? [09:59] Ned_: eirikb1: what version are you using ? [09:59] eirikb1: 0.5.0-pre I think [09:59] Ned_: eirikb1: you built it yourself ? [09:59] eirikb1: git pull;maaaaaake [09:59] Ned_: heh, right [10:00] Ned_: I was hoping I could find a PPA or something [10:00] Ned_: eirikb1: so do you package it up ? [10:00] eirikb1: Ned_: Nope [10:00] Ned_: Hmmm [10:01] eirikb1: wow, its version 0.2.6 in Ubuntu 11.04? [10:01] Ned_: yes [10:01] Ned_: I just dist-upgraded to 11.04 [10:01] Ned_: and well, that's a bit crap :-( [10:01] Ned_: I guess I'll need to build myself a copy [10:01] Ned_: I can't even run npm :-( [10:02] Ned_: needs 0.4+ [10:02] eirikb1: You can probably install an older version of npm? [10:02] ajak1: Ned_: build from source [10:02] Ned_: eirikb1: that seems like a backwards step :p [10:02] Ned_: ajak1: yes, that's the plan [10:02] eirikb1: Ned_: Yes, building is the best option [10:02] Ned_: although I'd like to make a package for it :p [10:02] eirikb1: Why? [10:02] Ned_: git://github.com/joyent/node.git [10:03] Doup has joined the channel [10:03] eirikb1: You can download the tar.gz stable instead [10:03] Ned_: eirikb1: because I don't like putting random crap over my filesystem that isn't packaged [10:03] Ned_: so I can easily remove things later :-) [10:03] Ned_: and keep track of the fact it's installed at a particular version [10:03] eirikb1: But you are already running Ubuntu? ho ho [10:04] jacter has joined the channel [10:04] eirikb1: Building from the tar will give you a specific version [10:04] Ned_: eirikb1: what dist are you running ? [10:04] Ned_: :p [10:05] eirikb1: 11.04 [10:05] eirikb1: Ubuntu [10:05] eirikb1: And arch [10:05] Ned_: Hmmm, 0.4.7 is in Debian sid [10:05] eldios: arch ftw [10:05] eldios: ACTION feels particoularly trolly today :3 [10:05] V1: sudo add-apt-repository ppa:jerome-etienne/neoip && sudo apt-get update && sudo apt-get install nodejs :)? [10:06] Ned_: V1: yeah, that's what I was afte r;-) [10:06] Ned_: V1: is that what you're using ? [10:06] eirikb1: On servers I usually use EC2 AMI or squeeze on my own boxes. Not sure about running sid, scary stuff [10:06] V1: yes [10:06] Ned_: okay, /me goes with that option [10:06] eirikb1: ppa also, scary stuff :D [10:06] V1: jetienne manages that Ned_ [10:06] Guest10440 has joined the channel [10:07] Ned_: V1: manages what ? [10:07] jetienne: ? [10:07] V1: the ppa [10:07] Ned_: oh, right .. I see :-) [10:07] Swizec has joined the channel [10:07] jetienne: ah ok :à) [10:08] Ned_: interesting [10:08] Ned_: something's not playing nice :-( [10:08] Ned_: apt-cache policy isn't showing it :-( [10:08] chapel: anyone know of someone with a ton of gists? [10:09] [AD]Turbo has joined the channel [10:09] chapel: like upwards of 5 pages [10:09] Ned_: jetienne: Ahhh, no natty package :-( [10:09] V1: I only got 4 chapel :9 [10:09] chapel: only 2 for me [10:10] V1: isaacs always has a shitload of gists [10:10] chapel: oh yeah [10:10] V1: 10+ [10:10] V1: 13 pages full of gists lol [10:11] chapel: he has 256 total [10:11] Ned_: jetienne: do you think I could just install the maverick one on natty ? [10:12] jetienne: Ned_: not sure [10:12] jetienne: rushing for lunch sorry no time [10:12] onre_ has joined the channel [10:12] Ned_: ACTION just tries it [10:12] markwubben has joined the channel [10:14] GasbaKid has joined the channel [10:15] mike5w3c_ has joined the channel [10:17] SvenDowideit has joined the channel [10:19] tbassetto has joined the channel [10:19] onre_ has joined the channel [10:22] xeodox: can someone who has used Mongoose before..help me?? [10:23] industrial: dont ask to ask, ask [10:23] industrial: ask the channel [10:23] xeodox: How do I do a "sort" in Mongoose? [10:23] industrial: http://stackoverflow.com/questions/4299991/how-to-sort-in-mongoose [10:23] industrial: took me 4sec [10:24] xeodox: That doesn't work. Becauase mongoose got updated [10:24] xeodox: It just hangs (even if I remove the "sort", and just add the .all) [10:25] troessner has joined the channel [10:25] xeodox: The ".all" is hanging it [10:28] xeodox: industrial: Nevermind, I figured it out. [10:28] Emmanuel__: ahah, I love mongoose [10:28] Emmanuel__: last time I tried, I had the same kind of problem [10:28] xeodox: yes...the APi keeps changing. [10:29] xeodox: I figured it out to be: [10:29] xeodox: .sort('date',1).execFind(function... [10:29] Emmanuel__: I guess the API changed a dozen time in between :) [10:29] xeodox: sigh [10:29] xeodox: that's what happens when you play with new stuff [10:29] xeodox: back in my django days this would never happen [10:29] Emmanuel__: and copy/pasting the example on the documentation failed... [10:29] Emmanuel__: (eventually I gave up) [10:31] eldios: ryah, can you please put in the topic "PLS, DON'T ASK TO ASK.. JUST ASK" .. and tell in the next talk you will have that when people come here in IRC should stick with that policy? :) thanks [10:32] indutny has joined the channel [10:32] xeodox: I figured out how do sorting in Mongoose...but embedded sorting isn't working!~ [10:32] xeodox: .sort('date',-1).execFind(function(err,docs){ <<< this works. [10:32] xeodox: .sort('messages.date',-1).execFind(function(err,docs){ <<<< doesn't work [10:34] __tosh has joined the channel [10:35] fyskij has joined the channel [10:36] onre_ has joined the channel [10:36] littke has joined the channel [10:39] V1: Y U TROLLING eldios [10:40] Nexxy: eldios, can I ask you a question? ;> [10:42] eldios: Nexxy, no *you* definitely can't :P [10:42] eldios: V1 no I'm not [10:42] Nexxy: w-why not?! ;< [10:42] Nexxy: I'm learnin' how to EJS w/ express! are you proud of me? [10:42] mengxy has joined the channel [10:42] eldios: \o/ [10:42] Nexxy: \o/ [10:42] eldios: code on github? [10:42] Nexxy: it will be [10:43] Nexxy: I'm using private repos for development [10:43] V1: eldios: */me feels particoularly trolly today :3*? OH? [10:43] Nexxy: but I will push to github on milestones [10:43] eldios: V1 I just trolled you :3 [10:43] V1: uhm, oh okay [10:43] Nexxy: V1, eldios is a very subtle troll [10:43] eldios: recursive trolling [10:44] Nexxy: sometimes you don't realize until months later [10:44] Nexxy: he got it from me [10:44] eldios: I'm a 2D troller [10:44] Nexxy: I taught him everything he knows regarding the art of trolling [10:44] Nexxy: and as we all know, trolling is a art [10:45] onre_ has joined the channel [10:45] eldios: that's what they say when are about to sell you anything worthless [10:45] Nexxy: kind of like hand dancing [10:45] eldios: go for it =) [10:46] Nexxy: sto andando via! [10:47] eldios: google translator is really bad sometime [10:47] eldios: :P [10:47] Nexxy: I stole that from your own quit message you know [10:48] eldios: oh [10:48] jarek has joined the channel [10:48] jarek has joined the channel [10:48] Nexxy: ACTION grins wickedly [10:48] Nexxy: nanight [10:48] eldios: n8 [10:51] demastrie has left the channel [10:52] onre_ has joined the channel [10:53] jaket has left the channel [10:56] SeyZ has joined the channel [11:00] Guest23156 has joined the channel [11:00] mdaisuke has joined the channel [11:01] Navy has joined the channel [11:01] Navy: Hello there [11:01] Navy: I need some help with a udp-client [11:01] Navy: I can send udp packets, no problem at all [11:01] piscisaureus has joined the channel [11:02] Navy: But the server expects after every character a 0-byte-character [11:02] Navy: And if I put it in the string, the message is not send [11:03] Navy: Anyone who can give me a hint? [11:03] eirikb1: String.fromCharCode(0)? [11:03] Navy: I replace ist with rehgular exprssions [11:04] Charuru has joined the channel [11:04] Navy: udpclient.send(new Buffer(Message.replace(/(.)/g, "$1\0")), 0, Message.length, Port, ServerIP); [11:05] Navy: If i don't do the replacement, everything is send (but server give error message) [11:05] Navy: I can't change the server [11:08] onre_ has joined the channel [11:11] hlindset has joined the channel [11:11] hlindset has joined the channel [11:13] onre_ has joined the channel [11:14] losing has joined the channel [11:15] kioopii has joined the channel [11:16] eldios: Navy, how do you know you need that character after the message? [11:16] eldios: wehre di dyou get the 0-byte-character? [11:16] eldios: I mean.. that term [11:16] eldios: where did you get the 0-byte-character term? [11:17] eldios: to me it looks like it wants a null send.. an empty UDP packet as a terminator [11:17] eldios: not a packet with zero in it [11:18] eldios: anyway gist your code or it will be difficult to help you more than this [11:19] Navy: The server-docu tell me [11:19] Navy: And it expects after each charater 0-byte [11:20] markwubben has joined the channel [11:20] eldios: is this server something public or not? [11:21] eldios: I mean.. open source product available to the masses or an internal project of yours? [11:22] Navy: http://paste.org/pastebin/view/32512 [11:22] Navy: The server isnt open source [11:22] Navy: its a data-logging-device [11:22] Navy: I just can fetch data with a rpc [11:22] Navy: Cant change anything on the server [11:23] bkozal has joined the channel [11:24] onre_ has joined the channel [11:24] eldios: Navy, something like this? --> http://paste.org/pastebin/view/32513 [11:26] Navy: Nono. Really after each character [11:26] eldios: oh [11:26] Gruni has joined the channel [11:27] kawaz_air has joined the channel [11:27] Navy: OK, I got a response now [11:27] eldios: how? [11:27] Navy: Even if its an error [11:28] eldios: better than nothing =) [11:28] Navy: the message-length was broken. The trailing 0-Byte isn't a possibilty to terminate the connection [11:28] Navy: nice hint from you ;) [11:30] kioopii: suffering from a "cant set headers after they are sent" but can't seem to find out when they are sent. any hints on how to debug this? [11:31] Mrfloyd has joined the channel [11:31] onre_ has joined the channel [11:31] seivan has joined the channel [11:32] FireFly|n900 has joined the channel [11:37] neoesque has joined the channel [11:40] eldios: ^^ [11:41] eldios: kioopii, are you using a template engine like jade or similar? [11:41] eldios: that error pops up when you try to modify the headers after you already used a render command or such [11:41] onre_ has joined the channel [11:42] hij1nx has joined the channel [11:42] V1: kioopii you using Express 2.0 with a module that was designed for 1.0? [11:42] V1: Or maby you plugins are not in the correct order :) [11:42] eee_c has joined the channel [11:42] kioopii: V1, possibly. using express. [11:42] V1: which connect modules are you using [11:43] kioopii: V1, not much, connect and it's deps. trying to get a custom session-store to work. [11:44] kioopii: V1, express 2.2.2 connect 1.3.1 [11:44] eee_c1 has joined the channel [11:45] kioopii: if i put a breakpoint in _render or smth could i see the call-stack to find out from where it was triggered? [11:45] V1: probably [11:47] onre_ has joined the channel [11:48] jtrudeau has joined the channel [11:50] jamescarr__ has joined the channel [11:52] onre_ has joined the channel [11:52] saschagehlich has joined the channel [11:56] jamescarr_ has joined the channel [11:58] Rodtusker has joined the channel [11:58] dyer has joined the channel [11:58] pandeiro has joined the channel [11:58] onre has joined the channel [11:59] eee_c has joined the channel [11:59] eb4890 has joined the channel [12:01] dyer has joined the channel [12:01] dyer has joined the channel [12:01] jamescarr__ has joined the channel [12:05] jakewins has joined the channel [12:08] eldios: http://blog.nodejs.org/2011/04/29/trademark/ <--- aaaw :( [12:08] temp02 has joined the channel [12:09] FireFly|n900 has joined the channel [12:11] m00p has joined the channel [12:12] tiagoa has joined the channel [12:12] jonaslund: I think it's a sane thing to do in the age of trolls [12:12] jonaslund: Maybe if they would've put it into a "foundation" [12:12] jonaslund: but [12:13] jonaslund: node people is about doing .. not about "stewarding" :) [12:14] jonaslund: maybe joyent could donate the mark,etc to apache in the future for stewarding ? [12:15] onre_ has joined the channel [12:16] eldios: dunno want to think other than "yes.. things ususally go like this" and "it was an obvious req from joyent side".. still I find it a little sad to read words like "policies" and "trademark" on node's site [12:17] jonaslund: well [12:17] mike5w3c_ has joined the channel [12:17] jonaslund: in this climate some other twats would've tried trademarking,etc and created trouble [12:18] eldios: probably so [12:20] onre_ has joined the channel [12:20] saschagehlich has joined the channel [12:22] dnolen has joined the channel [12:25] djcoin: Damn, Im making Python apps using django and stuff. Basically, Python rocks, but now I used Node I want to go into it. Not planned at the office :x [12:25] onre_ has joined the channel [12:25] djcoin: s/used/tried [12:27] jscheel has joined the channel [12:27] michael_bailly has joined the channel [12:28] monolog_ has joined the channel [12:29] michael_bailly: hello all [12:30] michael_bailly: I'm stuck with decoding base64 string to a binary file... Read this https://gist.github.com/718390 : seems to work only on text ? [12:30] fumanchu182 has joined the channel [12:30] fumanchu182 has joined the channel [12:30] sirkitree has joined the channel [12:30] jamescarr__ has joined the channel [12:31] onre_ has joined the channel [12:32] FireFly|n900 has joined the channel [12:33] zentoooo has joined the channel [12:33] FireFly has joined the channel [12:33] markwubben has joined the channel [12:33] fyskij has joined the channel [12:34] eldios: michael_bailly, what's the problem with that code? [12:36] michael_bailly: eldios: my base64 string is an image, and when I writeFile the response of fromBase64 function it write exactly the same string as my encoded one [12:36] saschagehlich has joined the channel [12:37] onre_ has joined the channel [12:38] chapel: well you are decoding to a string [12:38] aroop has joined the channel [12:38] edelabar has joined the channel [12:38] rfay has joined the channel [12:38] monolog_ has joined the channel [12:40] michael_bailly: chapel: yes, so how to decode to a binary ? [12:40] chapel: dont use the toString('utf8') I believe [12:42] mbrevoort has joined the channel [12:43] mwmw has joined the channel [12:43] djcoin: I have a question related to node finding, NPM: I know I can put some stuff in NODE_PATH, or play with the require.paths. But I think I went on yet another way to configure this [12:43] michael_bailly: chapel: tried also, and then directly send it to writeFile, something like this : fs.writeFile("/tmp/out.bin", new Buffer(encoded), ... ) . Doesn't work [12:43] hackband has joined the channel [12:44] michael_bailly: chapel: sorry, fs.writeFile("/tmp/out.bin", new Buffer(encoded,"base64"), function() {... } ) [12:44] kal-EL_ has joined the channel [12:44] javaanse_jongens has joined the channel [12:46] onre_ has joined the channel [12:47] djcoin: Does someone have a pointer on some maybe existing nodejs.rc file or so, where you may specify the path to your npm directory [12:47] Schmallon has joined the channel [12:47] ajnasz has joined the channel [12:47] kriszyp has joined the channel [12:48] chapel: nope, what version of node and npm? [12:49] djcoin: v0.4.6 <- node ; npm -> 0.3.18 [12:49] djcoin: chapel: ^ [12:50] chapel: well npm is up to v1 now [12:50] V1: omg highlight [12:50] chapel: and has different functionality [12:50] djcoin: I saw some post on it one day [12:50] chapel: :) [12:50] V1: :) [12:50] chapel: I can't wait for node v1 [12:50] djcoin: Okay, but does upgrading will bring me another way for nodejs to look for npm ? [12:50] V1: -_-' [12:50] chapel: well 0.4.x looks for node_modules directory [12:51] djcoin: v1 v1 :x [12:51] ChrisBuchholz: Hey guys. I just wonder - how would i run a node app on my server? Right now, i just push it to my server and then run node app.js, but doing it like this, it runs in the terminal (not as a background process) so if i close the terminal the node instance will close. [12:52] mscdex: node app.js & [12:52] mscdex: ? [12:52] gavin_huang has joined the channel [12:52] industrial: http://stackoverflow.com/questions/4681067/how-to-deploy-node-js [12:52] notV1: nohup node & [12:52] industrial: knowing this community a bit theres probably 999 ways :P [12:52] mscdex: or one of the bazillion node modules [12:52] dyer has joined the channel [12:53] djcoin: lol notV1 [12:53] notV1: upstart, or build a init script or sh script, or bash script or start a php that executes nodejs using a fork() [12:53] chapel: or upstart [12:53] chapel: lol [12:53] chapel: or use a module that does a fork [12:53] chapel: :P [12:53] mscdex: or node-ultimateutilol [12:54] ChrisBuchholz: i see, that Forever thing looks like the quickest to get going [12:54] notV1: or you can write you own module for that because we all suffer from the NIH syndrom [12:54] notV1: uhm [12:54] chapel: I should write a blog post, 99 ways to deploy Node.js [12:54] justinTNT has joined the channel [12:54] notV1: chapel: I'm sure we can think of atleast 99 ways [12:55] notV1: if not more [12:55] mscdex: i can think of less [12:56] edelabar has joined the channel [12:56] djcoin: chapel: ok I made a symbolic link in my home folder [12:57] djcoin: Thanks for node_modules clue [12:57] onre has joined the channel [12:58] V2: doh [12:58] V2: it's already taken :9 [12:59] arpegius has joined the channel [12:59] `3rdEden: win [12:59] `3rdEden: The whole V1 highlighting got quite annoying :$ [13:00] mscdex: oh no, the EC2 failure caused perm data loss [13:01] piscisaureus has joined the channel [13:01] Druide_: open ec2 -> http://apina.biz/40125 -> $$$ [13:01] jetienne has joined the channel [13:01] `3rdEden: wtf. [13:02] saschagehlich_ has joined the channel [13:02] derencius has joined the channel [13:02] jdp has joined the channel [13:03] jakewins: Does anyone have any experience using AMD pattern and "classic" module pattern simultaneously? [13:03] onre_ has joined the channel [13:03] mscdex: hmm, i use Intel hardware myself [13:04] jakehow has joined the channel [13:04] jakewins: I'm writing a lib that I'd love to load into a browser using AMD, while still allowing seemless use in node.s [13:04] saschagehlich_ has joined the channel [13:04] jakewins: Mscdex: :) I mean the unfortunately-abbreviated Asynchronous Module Definition [13:04] moshe_ has joined the channel [13:05] sledge has joined the channel [13:06] fermion has joined the channel [13:07] jamescarr_ has joined the channel [13:07] devdazed has joined the channel [13:07] jetienne has joined the channel [13:08] strmpnk has joined the channel [13:09] Poetro has joined the channel [13:09] Me1000 has joined the channel [13:10] a|i has joined the channel [13:10] a|i has joined the channel [13:12] saschagehlich has joined the channel [13:12] avalanche123 has joined the channel [13:16] malkomalko has joined the channel [13:17] cbibler_ has joined the channel [13:18] justinTNT: ACTION blank stare [13:20] Rodtusker has joined the channel [13:23] aheckmann has joined the channel [13:23] jano has joined the channel [13:23] sledge has joined the channel [13:24] NSMeta has joined the channel [13:24] FireFly: Hmm [13:26] malkomalko: is there anyway with npm when your package gets installed to have your dependencies be bundled instead of installed? [13:27] amacleod has joined the channel [13:28] Jonasbn_ has joined the channel [13:29] thomblake has joined the channel [13:29] avalanche123 has joined the channel [13:29] meso__ has joined the channel [13:31] mdaisuke has joined the channel [13:32] Vertice has joined the channel [13:33] Billbad has joined the channel [13:34] jonaslund: mscdex: for you personally or for some other people ? [13:36] djcoin: Just curious, node.js does not seems to support javascript 1.7 "yield" features. Will this be possible one day ? [13:36] niftylettuce has joined the channel [13:37] davidcoallier has joined the channel [13:38] tbassetto has joined the channel [13:39] mhausenblas has joined the channel [13:42] jonaslund: djcoin: if V8 supports something it'll probably be in node [13:42] jonaslund: since V8 is the JS engine node uses [13:42] baudehlo: yield is Mozilla specific [13:43] fumanchu182 has joined the channel [13:43] fumanchu182 has joined the channel [13:43] baudehlo: v8 follows the ecma standard, so if ecma gets yield then so will v8 [13:45] baudehlo: http://markmail.org/message/mpu5ozru5e4edshi [13:45] Opaque has joined the channel [13:47] jonaslund: they should just have mandated call/cc in JS from day one so we could've avoided all the cludges that exist now [13:48] djcoin: yeah I meant v8 rather than node [13:48] djcoin: thanks for you relevant pointers [13:48] ajnasz has joined the channel [13:49] djcoin: jonaslund: What do you mean by "call/cc" ? [13:49] djcoin: Btw, I saw that "fiber" module, use the yield keyword. Sadly, I was not able to get it for npm, failed at compile time or something [13:50] djcoin: from * [13:50] boaz has joined the channel [13:50] bstimmerman has joined the channel [13:50] brendanjerwin has joined the channel [13:51] jonaslund: djcoin: http://en.wikipedia.org/wiki/Call/cc [13:51] Mrfloyd has joined the channel [13:53] jonaslund: djcoin: you can emulate exceptions and do that kind of yield stuff,etc with call/cc.. and more [13:54] djcoin: Emulate ? [13:54] djcoin: I like yield keyword (use it in Python). Generator are very handy [13:54] trotter has joined the channel [13:54] djcoin: Lazy stuff and all [13:55] moshe has joined the channel [13:55] CrisO has joined the channel [13:58] samsonjs has joined the channel [13:58] Muon has joined the channel [13:59] davidwalsh has joined the channel [14:01] bitprobe has joined the channel [14:01] djcoin: Does functional programming offer an alternative to using yield keyword for lazy stuff ? I guess using a function and remembring in an external variable "at bound" time may be sufficient [14:01] djcoin: s:remembering:& its state: [14:01] djcoin: :b [14:03] axl_ has joined the channel [14:03] Me1000 has joined the channel [14:03] marcello3d has joined the channel [14:04] temp01 has joined the channel [14:04] justinTNT: you mean just a closure with a step variable inside that returns a next function? [14:05] ditesh|cassini has joined the channel [14:08] unomi has joined the channel [14:08] catshirt has joined the channel [14:08] djcoin: justinTNT: kind of [14:09] baudehlo: djcoin: have you read this: http://bjouhier.wordpress.com/2011/04/04/currying-the-callback-or-the-essence-of-futures/ ? [14:09] hoax__ has joined the channel [14:11] jarek has joined the channel [14:11] jarek has joined the channel [14:11] JulioBarros has joined the channel [14:11] willwhite has joined the channel [14:12] cleanah has joined the channel [14:14] losing has joined the channel [14:14] bingomanatee has joined the channel [14:18] djcoin: baudehlo: thanks for the pointer i regularly use "curried" function stuff. I did not quite get this future stuff yet, but its seems nice. Remind me of a complex concurrent pattern I saw in Java, that uses some class named "Future" too, you could poll for a result. Async made sync [14:20] Swimming_bird has joined the channel [14:20] sivy has joined the channel [14:25] hlindset_ has joined the channel [14:26] captain_morgan has joined the channel [14:26] BillyBreen has joined the channel [14:26] DennisRasmussen has joined the channel [14:26] Know1edge has joined the channel [14:26] eee_c has joined the channel [14:27] sirkitree has joined the channel [14:27] jakehow has joined the channel [14:28] jtsnow has joined the channel [14:31] F1LT3R has joined the channel [14:31] tim_smart has joined the channel [14:34] jgv has joined the channel [14:36] dmcquay has joined the channel [14:36] context: hmm, you cant override the [] accessor in javascript can you? [14:37] neebz has joined the channel [14:38] ehedenst has joined the channel [14:39] hlindset has joined the channel [14:40] sunblush has joined the channel [14:42] adnam: context: nope [14:43] arianrock has joined the channel [14:43] arianrock: hi [14:43] softdrink has joined the channel [14:45] caike has joined the channel [14:46] indutny has joined the channel [14:46] arianrock has left the channel [14:47] s0enke has joined the channel [14:47] m64253 has joined the channel [14:47] Aikar has joined the channel [14:48] Postmodernist has joined the channel [14:48] Postmodernist: Is there a node.js binding for Lucene? [14:49] context: so uhh. im trying to play with rel in node. but i cant load it. anyone know how to load coffeescript code into the node command line. i cant find an example really anywhere [14:49] Postmodernist: What do I tell someone who laments that node.js is too immature to be used on a commercial software project? [14:49] context: nm i got it [14:49] Postmodernist: (It's a CRM for a specific market vertical) [14:50] context: tell them to use ASM. its the only truly mature language. [14:52] mbrevoort has joined the channel [14:53] indutny has joined the channel [14:53] piscisaureus has joined the channel [14:54] mikegerwitz: Postmodernist: That they're being responsible. However, node has been fairly well demonstrated in production. Just recognize, beacuse node's young, there will likely be API changes and differnt ways of doing things. Your code will change more readily. [14:55] jasong_at_apache has joined the channel [14:58] SamuraiJack has joined the channel [14:58] arpegius has joined the channel [14:59] vapour_ has joined the channel [14:59] Postmodernist: right [14:59] Postmodernist: So what are noders doing for text search? Is there a Lucene binding for node? [15:00] themiddleman_itv has joined the channel [15:00] baudehlo: SQLite FTS :) [15:00] pquerna: solr [15:00] pquerna: it has a json api... go [15:00] mattrobenolt has joined the channel [15:00] pquerna: https://github.com/gsf/node-solr [15:01] indutny has joined the channel [15:01] dsirijus has joined the channel [15:02] mbrevoort has joined the channel [15:03] brendanjerwin has joined the channel [15:03] Postmodernist: Solr is a front-end for Lucene, so it should be faster than SQLite for search? [15:03] context: you're comparing a front end to a backend [15:04] sub_pop has joined the channel [15:06] Postmodernist: context: I mean overall with Lucene + Solr vs. using SQLite [15:06] Poetro has joined the channel [15:07] vipaca has joined the channel [15:07] vipaca has joined the channel [15:08] febits has joined the channel [15:09] jpld has joined the channel [15:09] jpld has joined the channel [15:09] timmywil has joined the channel [15:09] pquerna: http://tess2.uspto.gov/bin/showfield?f=doc&state=4004:tj7ji5.2.5 [15:10] softdrink: woot [15:10] mbrevoort has joined the channel [15:11] jeromegn has joined the channel [15:12] samsonjs has joined the channel [15:14] ditesh|cassini has joined the channel [15:14] samsonjs_ has joined the channel [15:15] pcardune has joined the channel [15:15] jscheel: hey guys, I'm having trouble using ab to benchmark my node app [15:15] jscheel: here's the error: http://pastie.org/1847558 [15:16] ph^ has joined the channel [15:16] jscheel: get this when running a simple http server for testing. here's the js: http://pastie.org/1847561 [15:16] jscheel: no clue what in the world is going on [15:16] mengxy has joined the channel [15:17] jscheel: I can access the server by browsing to http://localhost/ [15:17] neebz: jscheel: It runs a program which starts listening at port 80. Whenever sends a request to your server at port 80, it responds to them with a simple string `

Hello World

` [15:18] neebz: jscheel: it doesn't differentiate with requests, everyone gets the same string [15:18] eee_c has joined the channel [15:18] jscheel: neebz: yeah, I understand that :) This is not my app, just test code for figuring out why ab is failing [15:19] saschagehlich_ has joined the channel [15:21] fawek has joined the channel [15:21] jscheel: it's weird, if I fire up an apache server on port 80, ab runs fine. But when I close that down, and fire up node, ab fails [15:21] brendanjerwin has joined the channel [15:23] kawaz_air has joined the channel [15:23] neebz: jscheel: which hosting server are you using [15:23] neebz: jscheel: is it on your own computer? [15:23] jscheel: neebz: running this on my local machine [15:23] jscheel: yep [15:23] eguest309 has joined the channel [15:23] neebz: jscheel: have you tried changing to port to something else? [15:23] jscheel: neebz: yep [15:24] neebz: jscheel: does it give an error ? [15:24] jscheel: neebz: apr_socket_recv: Connection reset by peer (54) [15:26] copongcopong has joined the channel [15:26] fljitovak has joined the channel [15:27] brendanjerwin has joined the channel [15:27] Gruni has joined the channel [15:28] mermeladas has joined the channel [15:28] bstimmerman has joined the channel [15:29] kmwallio has joined the channel [15:29] skyler_brungardt has joined the channel [15:29] CiRlE has joined the channel [15:30] jscheel: I'm on 0.4.4, I'm gonna try updating to 4.4.6 [15:31] tjholowaychuk has joined the channel [15:32] jscheel: hrm, even just doing 1 request throws an error [15:32] moshe: ryah [15:33] samsonjs has joined the channel [15:33] jscheel: and what's also weird is, node doesn't complain at all [15:33] ryah: moshe: what's up? [15:33] captain_morgan has joined the channel [15:33] jscheel: nothing is logged to the console, nothing crashes, it just trucks along [15:34] ryah: jscheel: what are you doing? [15:34] moshe: you are my king [15:34] jscheel: ryah: trying to do an ab benchmark [15:34] CiRlE has joined the channel [15:34] chapel: ryah: with the trademark for node.js does that apply to node, just node the word? [15:34] ryah: chapel: "node.js" [15:35] jscheel: ryah: but even with a simple http server returning hello world, it immediately returns with connection refused, even though node seems to be fine [15:35] chapel: ryah: http://news.ycombinator.com/item?id=2497131 mainly wondering about this [15:35] chapel: not that I care, mostly curious [15:35] chapel: probably would be good to clarify [15:35] chapel: if it hasn't already [15:36] samsonjs_ has joined the channel [15:36] Swizec has joined the channel [15:36] ryah: naming a company "nodeconsultingservices" would require a license [15:37] ryah: jscheel: hm - post the code and the ab command you're running [15:37] ryah: jscheel: gist [15:37] thalll has joined the channel [15:37] chapel: basically if it was related to node.js [15:37] chapel: I do own nodehub.net/org [15:37] chapel: but have nothing on them [15:38] msucan has joined the channel [15:38] addisonj has joined the channel [15:38] jgv_ has joined the channel [15:38] chapel: is there a cost to license? [15:38] Rodtusker has joined the channel [15:39] trotter has joined the channel [15:39] Spion__ has joined the channel [15:39] ryah: chapel: it depends - you should contact our buisness manager re nodehub Eric Braun [15:39] CiRlE has joined the channel [15:39] chapel: yeah, once I actually get to putting something on it, my plan is to have a community help site of some sort [15:40] ryah: obviously we want to encourage that :) [15:40] samsonjs has joined the channel [15:41] jscheel: ryah: https://gist.github.com/c4fae0223da4cbfc0c5e [15:41] Bj_o_rn has joined the channel [15:41] pquerna: relax is couch's tagline though [15:41] chapel: ryah: figured as much :) [15:42] briznad has joined the channel [15:42] elux has joined the channel [15:42] elux has left the channel [15:42] ryah: pquerna: oh right [15:43] newy_ has joined the channel [15:43] brianloveswords has joined the channel [15:44] sleeplessinc has joined the channel [15:44] pquerna: hah [15:44] chapel: :P [15:45] ryah: jscheel: that looks okay.... [15:45] ryah: jscheel: you're running node as root? [15:45] reid has joined the channel [15:46] eguest309 has left the channel [15:47] eee_c has joined the channel [15:48] CiRlE has joined the channel [15:48] eb4890 has joined the channel [15:48] rfay has joined the channel [15:49] jscheel: ryah: yeah [15:49] jscheel: ryah: but I can do it on a different port, not as root [15:49] jscheel: and still get the same error [15:50] samsonjs_ has joined the channel [15:50] apoc: maybe ab needs an Host: header [15:51] ryah: jscheel: what's the error? [15:52] RoboTeddy has joined the channel [15:52] mengxy has joined the channel [15:52] ryah: piscisaureus: we need to rename this lib [15:52] ryah: piscisaureus: libxx [15:52] nk_ has joined the channel [15:53] piscisaureus: why? are you xxx with the xx again? [15:53] RoboTeddy: is it recommended to run node.js behind something (e.g. nginx) in production environments? [15:53] ryah: 1) oio is a stupid name 2) 'xx' is two chars [15:53] ryah: 'oio' isn't stupid, it's just all vowels [15:53] piscisaureus: yeah whatever do the sed-ding my friend [15:53] piscisaureus: or later [15:54] piscisaureus: when I have landed all my work [15:54] ryah: i'll do it after we fix these tests [15:54] ryah: :) [15:54] piscisaureus: yeah better [15:54] piscisaureus: ryah: so what what is mynodeisbetter.com gonna cost me? [15:54] ryah: http://twitter.com/#!/JasonWyatt/status/63993756956884992 [15:55] piscisaureus: ryah: rofl [15:55] Opaque has joined the channel [15:55] piscisaureus: hehe [15:55] piscisaureus: I like libido [15:55] jscheel: ryah: apr_socket_recv: Connection reset by peer (54) [15:55] jscheel: apoc: hmm, good thought, lemme try [15:56] blueadept has joined the channel [15:56] jscheel: apoc: looks like it's already in there [15:57] ryah: jscheel: are you accidentally sshed into some other machine in one of your terms? [15:58] jscheel: ryah: nope, thought about that :) [15:58] ryah: jscheel: i mean - it has to be something really obviously.. [15:58] ryah: jscheel: what OS? [15:58] JJMalina has joined the channel [15:58] jscheel: ryah: osx [15:59] Yuffster_work has joined the channel [15:59] ryah: jscheel: can you test it on a different port? [16:00] ryah: 8000 - or whatever [16:00] jscheel: ryah: tried several [16:00] ryah: :/ [16:00] jscheel: hehehe [16:00] jscheel: I know, right? [16:00] CiRlE has joined the channel [16:00] chapel: jscheel: did you test ab with the port in the url? [16:00] ryah: can you "truss" the node process? [16:01] ryah: ("dtruss" on OSX?) [16:01] chapel: have you tried localhost instead of the ip [16:01] jscheel: chapel: yep, tried both [16:01] ryah: chapel: ab doesn't resolve localhost, AFAIK [16:01] chapel: idk just wondering [16:01] chapel: are your host files messed up? [16:02] jscheel: ryah: https://gist.github.com/1c1dfff3ee1f0dda3d75 [16:02] jscheel: chapel: nope, and I can access it in the browser [16:03] ryah: jscheel: with "-f" ? [16:03] context: jscheel: do you have a local firewall preventing you from using those ports? [16:03] ryah: if i remember the flags correctly... [16:03] newy has joined the channel [16:03] jscheel: context: nope [16:03] context: use the same url you access it on the browser [16:03] jscheel: context: yep [16:03] context: otherwise ab just sucks. [16:03] jscheel: context: I am [16:04] mc_greeny has joined the channel [16:04] daniellindsley has joined the channel [16:05] stephank has joined the channel [16:05] MikhX has joined the channel [16:05] jscheel: ryah: https://gist.github.com/9624f055fe20f6d19270 [16:05] a2800276 has joined the channel [16:05] ryah: jscheel: hmm.. that's not everything [16:05] broofa has joined the channel [16:06] ryah: i've had this problem before on OSX.. can't dtruss node.. [16:06] context: it sounds like its ab thats the problem. not node [16:06] context: node is responding to his browser requests just fine [16:06] jscheel: ryah: yeah, it's weird, it drops back to my shell, but I can't type anything in [16:07] context: or is this node? :x [16:07] chrislorenz has joined the channel [16:07] jscheel: context: ? [16:07] context: or im just completely out of context here [16:07] jscheel: context: oh, hehe. No, it's node. :) [16:07] indexzero has joined the channel [16:07] context: o [16:08] febits has joined the channel [16:08] jscheel: context: and if I run apache, ab benchmarks localhost and 127.0.0.1 fine [16:09] jscheel: but it won't do node [16:10] addisonj: hrm, what js libraries have you used to work with client side canvas? [16:10] ryah: jscheel: can you compile node with configure --debug [16:10] harth has joined the channel [16:10] ryah: jscheel: an run NODE_DEBUG=net,http node_g helloworld.js [16:10] ryah: (since dtruss isn't working) [16:11] jscheel: ryah: interesting [16:11] jscheel: ryah: using a different computer, I can test it fine [16:12] rauchg has joined the channel [16:12] ditesh|cassini has joined the channel [16:12] V1 has joined the channel [16:12] jscheel: ryah: recompiling, one sec [16:12] sunblush has joined the channel [16:12] timmywil_ has joined the channel [16:13] jscheel: ryah: also gonna go up from 0.4.4 to 0.4.6 [16:13] jscheel: sorry 0.4.7 is the newest [16:13] jscheel: I'll go to that [16:14] fljitovak: npmjs.org is down? [16:15] kmiyashiro has joined the channel [16:16] chapel: seems to be fljitovak [16:16] w3dot0 has joined the channel [16:16] fljitovak: aww, just as I was about to install npm :( [16:16] seivan has joined the channel [16:16] addisonj: not down for me [16:17] addisonj: yep, up for me just fine [16:17] kkaefer: when adding routes in express/connect, the default is that the route is appended [16:17] kkaefer: is there a way to prepend routes too? [16:17] kkaefer: or assign a weight/order manually? [16:17] omni5cience has joined the channel [16:17] TheJH has joined the channel [16:17] tjholowaychuk: kkaefer: not easily [16:17] tjholowaychuk: im rewriting the router middleware [16:17] tjholowaychuk: to allow for stuff like this [16:18] tjholowaychuk: and more reflection capabilities [16:18] amerine has joined the channel [16:18] kkaefer: I could do app.use() and filter on the path, but that doesn't seem like a good solution [16:18] w3dot0: is someone here aware of a node.js project similar to mitmproxy (http://mitmproxy.org/) - an SSL-capable intercepting proxy? [16:18] a|i has left the channel [16:19] tjholowaychuk: kkaefer: I'd like to do the same with middleware eventually [16:19] w3dot0: I'm looking for something that I can point my Android phone at and it spits out .har files... [16:19] fljitovak: Jeez, how come npm doesn't recognize that node is installed? My node command works perfectly fine. [16:19] w3dot0: node seems a perfect candidate for something like that [16:20] jscheel: <-- still compiling.......... [16:22] pcardune has joined the channel [16:22] ian-london has joined the channel [16:22] warreng has joined the channel [16:23] jscheel: ryah: huh, now it's working [16:24] mbrevoort has joined the channel [16:24] puffpio has joined the channel [16:24] piscisaureus: ryah: I'm not able to do something to day. Too damn busy [16:24] niftylettuce has joined the channel [16:24] cwang has joined the channel [16:25] jamesarosen has joined the channel [16:25] ryah: piscisaureus: np [16:25] piscisaureus: (*anything?) [16:25] piscisaureus: sorry. au revoir [16:26] jscheel: ryah: aaaaaahhhh, I wonder if this was it: https://github.com/joyent/node/issues/721 [16:26] ian-london has left the channel [16:26] jscheel: ryah: doh [16:26] jscheel: nevermind, that's http.request() [16:27] pyrony has joined the channel [16:27] alek_br has joined the channel [16:27] Votaguz has joined the channel [16:27] ryah: jscheel: we need to know what node's doing [16:27] ryah: jscheel: does it accept the connection? [16:27] jscheel: ryah: yep [16:28] jscheel: ryah: I'm wondering if this is something you've already fixed, since I was on 0.4.4 [16:28] davidsklar has joined the channel [16:28] ryah: jscheel: i've never heard of any issue like this [16:28] tim_smart has joined the channel [16:28] ryah: certainly not something we've fixed in v0.4.x [16:30] norviller has joined the channel [16:30] jscheel: ryah: well, lemme go back down to 0.4.4 and see if the issue is still there [16:30] creationix has joined the channel [16:31] bradwright has joined the channel [16:31] pifantastic has joined the channel [16:34] sourcode has joined the channel [16:34] cbiscardi has joined the channel [16:37] Bonuspunkt: so if i do something closed source stuff, its better to dont tell anyone that im using node™? [16:37] jscheel: ryah: ok, so now, even in 0.4.4, it's working. But the only thing I've done is gone up to 0.4.7 and back down again [16:37] jscheel: ryah: I've made sure every node process is killed each time too, just in case there was some weirdness going on there [16:37] context: bonuspunkt: plenty of people openly say they are using node. i guess its up to what kind of stigmatism / how open you wanna be with your architecture [16:37] brendanjerwin has joined the channel [16:38] jscheel: Bonuspunkt: I think the bigger problem you are going to have is dealing with fear of not having a "central organization" providing enterprise level support and culpability [16:39] max_dev has joined the channel [16:41] EyePulp has joined the channel [16:42] ryah: jscheel: strange! [16:44] jscheel: ryah: I've seen people having this error when there are too many file descriptors, but it should work on at least one connection [16:44] Adman65 has joined the channel [16:45] losing has joined the channel [16:45] jscheel: ryah: well, thanks for the help, I'll let you know if I figure anything else out! [16:46] steph021_w has joined the channel [16:46] steph021_w has joined the channel [16:46] stevenj has joined the channel [16:46] ArtistConk1 has joined the channel [16:47] andersjanmyr has joined the channel [16:47] daekano has joined the channel [16:49] deepthawtz has joined the channel [16:49] andersjanmyr: If I have a long running calculation that is part of my application, should I factor it out into an async library using a worker? [16:50] aroop has joined the channel [16:50] perezd has joined the channel [16:50] andersjanmyr: How long is a calculation allowed to take without needing to be async? I understand that it depends, but anyway? [16:51] jscheel: ryah: doh, nevermind, it is still broken (i was hitting my apache port on accident) [16:51] JianMeng has joined the channel [16:51] tbranyen: immediately andersjanmyr [16:52] andersjanmyr: tbranyen: Immediately? [16:52] Venom_X has joined the channel [16:52] tbranyen: andersjanmyr: read from memory, exections without i/o, its not like there is a cutoff time [16:52] tbranyen: it just can't block [16:53] andersjanmyr: But say I want to do an expensive calculation [16:53] tim_smart: ryah: Yo. I'm in bay area until 1st June. Did you want to talk deployment sometime? [16:53] tbranyen: andersjanmyr: if its so expensive that its blocking, why not just make it async? [16:53] pquerna: deeeploooyyment [16:53] jscheel: ryah: interestingly enough, it IS running the node process, so I'm thinking something is not returning properly [16:54] addisonj: andersjanmyr, best practice is that really expensive calculations probably shouldn't be done in the context of node [16:54] ditesh|cassini has joined the channel [16:55] harth has joined the channel [16:55] addisonj: better done on the side with something like map/reduce [16:55] andersjanmyr: addisonj: not even with workers? [16:56] puffpio has joined the channel [16:56] rudolfrck has joined the channel [16:57] test1 has joined the channel [16:57] ryah: tim_smart: yes [16:57] defrex1 has joined the channel [16:57] addisonj: andersjanmyr, what sort of operation are you trying to perform? [16:58] ryah: jscheel: did you get node_g yet? [16:58] GasbaKid has joined the channel [16:58] ryah: tim_smart: after jsconf let's find a time [16:58] andersjanmyr: addisonj: it's more that I am trying to understand the best way to use node. [16:59] nvardar has joined the channel [16:59] jscheel: ryah: yeah, that's when it worked (well, I think it did, now I'm afraid I stupidly forgot apache was running and forgot to put in my port that node was on, so I going back up to 0.4.7 to test again) [16:59] test1: Hi everyone, can anyone help with a problem I'm having with using expresso ? I'm trying to test responses from my server using assert.response . However, my tests seem to hang. Anyone know what I may be doing wrong ? [16:59] chapel: andersjanmyr: if you have a long running calculation or something, it is best to spin off a worker, or use a separate process, the main process has to be non-blocking throughout, or else the server/app will be slow, very slow [17:00] addisonj: what chapel said [17:00] addisonj: its essentially the same as what you SHOULD be doing with all web-apps [17:01] andersjanmyr: chapel: yes, I get that, but if I have a multiprocessor maching, should I use a child_process or a worker or something external like hadoop? [17:01] GasbaKid has joined the channel [17:01] chapel: well other webapp platforms usually don't have the benefit of the async nature of node, like handling i/o while letting the main thread keep working [17:01] jscheel: <--- is incredibly stupid [17:02] jscheel: ryah: it didn't work, ugh I'm so dumb. Re-compiling with debug now [17:02] chapel: andersjanmyr: there are multiple options andersjanmyr, nothing really is cut and dry for that [17:02] chapel: ACTION is going afk [17:04] rudolfrck has joined the channel [17:04] test1: Hi everyone, can anyone help with a problem I'm having with using expresso ? I'm trying to test responses from my server using assert.response . However, my tests seem to hang. Anyone know what I may be doing wrong ? [17:05] bartt has joined the channel [17:05] Adman65 has joined the channel [17:05] Rixius has joined the channel [17:05] andersjanmyr: Ok, thanks for your help! [17:06] sleeplessinc: Hey Anyone, is there ANY way you can imagine, that the request handling callback on http.Server could be invoked more than once for the same HTTP request (as sent by the client)? (0.4.2) Getting some really strange behavior. [17:07] jscheel: ryah: ok, here we go, this is he debug output when I do ab -n 10 -c 5 http://localhost:3000/ [17:07] jscheel: https://gist.github.com/55739b83176010c02ff1 [17:07] dmcquay has joined the channel [17:07] Votaguz has joined the channel [17:08] losing has joined the channel [17:08] rubydiamond has joined the channel [17:08] ryah: jscheel: parse error [17:08] arpegius_ has joined the channel [17:09] ryah: jscheel: can we see a dump of the ab requests now? [17:09] ryah: tcpdump [17:09] ryah: (i think if you do -vvv or something?) [17:09] michael_bailly has left the channel [17:09] ryah: (with ab - might be easiest) [17:10] NSMeta has joined the channel [17:10] jscheel: ryah: not sure how to use tcpdump :P [17:10] cbiscardi has joined the channel [17:11] test1: would be quite neat to write an add-on to ab in nodejs that can send reporting to the browser [17:11] ryah: jscheel: use the -v option with ab [17:11] jscheel: ryah: oh, says it's not a valid flag [17:11] cbiscardi has left the channel [17:12] jscheel: oh, that's verbosity [17:12] jscheel: nevermind [17:12] ryah: -v 3/window 14 [17:12] baudehlo: I know this isn't a node question, but if you are documenting something with markdown and you have a dir of .md files, is there a convention for linking to another .md file in the same dir? Like Foo.md wants to link to Bar.md, can I just use [Bar](Bar) in the document or something? [17:12] v0idless- has joined the channel [17:13] test1: not that i know of baudehlo [17:13] edelabar has joined the channel [17:13] davidcoallier has joined the channel [17:13] baudehlo: darn. So you have to link to the output document? [17:13] jscheel: ryah: https://gist.github.com/3850ed38dc28b8bee275 [17:14] test1: i think so yes, that's what i do at least [17:14] test1: not ideal i know [17:14] test1: anybody using expresso here ? [17:14] baudehlo: Yeah. Node seems to just use backticks [17:15] baudehlo: e.g fs contains: "see `Readable Stream`" [17:15] test1: yeah thats what ive been doing [17:15] ryah: jscheel: :| [17:15] test1: back ticks [17:15] jscheel: ryah: ? [17:16] ryah: jscheel: tcpdump -i lo -X -s 0 tcp port 300 [17:16] ryah: jscheel: tcpdump -i lo -X -s 0 tcp port 3000 [17:16] themiddleman_i-1 has joined the channel [17:17] test1: its very quiet in here today :( [17:17] jscheel: ryah: tcpdump: lo: No such device exists [17:17] olauzon has joined the channel [17:17] ryah: jscheel: lo0 ? [17:17] mdaisuke has joined the channel [17:17] ryah: i forget what it's call on mac [17:17] jscheel: ah [17:18] rook2pawn has joined the channel [17:18] Opaque has joined the channel [17:18] rmustacc: ryah: lo0 on the Mac for loopback [17:18] BenC[UK] has joined the channel [17:18] test1: Hi everyone, can anyone help with a problem I'm having with using expresso ? I'm trying to test responses from my server using assert.response . However, my tests seem to hang. Anyone know what I may be doing wrong ? [17:19] Rixius has joined the channel [17:19] mbrevoort has joined the channel [17:19] tiagoa has joined the channel [17:19] caike has joined the channel [17:19] w3dot0 has joined the channel [17:21] jscheel: ryah: heh, it's 6000 lines for one ab request: https://gist.github.com/834951ce17aa8015cf36 [17:21] Adman65 has joined the channel [17:21] rfay has joined the channel [17:22] softdrink has joined the channel [17:22] ryah: am i reading this correct: it looks like a single connection [17:23] jscheel: ryah: yeah I switched to just 1 connection for brevity [17:23] ryah: so ab is sending multiple requests with "Connection: close" on the same connection? [17:23] ryah: jscheel: but there are many requests here... [17:23] andersjanmyr has left the channel [17:24] jscheel: ryah: yeah, just realized, I pasted the long one, not the short one, sorry1 [17:24] jscheel: same error though [17:24] sweetd_ has joined the channel [17:24] test1: :jscheel there are several requests going through there by the looks of it [17:24] ryah: ok [17:24] ryah: jscheel: let's see the short one [17:25] MikhX has joined the channel [17:25] zylo has joined the channel [17:25] ryah: jscheel: btw im starting to think it may be this problem: [17:25] ryah: https://github.com/joyent/node/issues/940 [17:25] ryah: but you haven't said you're using -k [17:26] jscheel: ryah: nope, not using -k [17:26] LinuxNewb has joined the channel [17:26] brianloveswords has joined the channel [17:26] test1: i've seen this before jscheel or similar at least [17:26] test1: downgrade apache to use http 1.0 [17:26] aho has joined the channel [17:27] ryah: huh- ab uses 1.1 now? [17:27] ryah: jscheel: ab --version ? [17:27] jscheel: ryah: 2.3 [17:27] abraham has joined the channel [17:27] ryah: my ab is also 2.3 [17:28] jscheel: apache is Apache/2.2.17 [17:28] test1: ab -V [17:28] steffkes has joined the channel [17:28] jscheel: test1: 2.3 [17:28] ryah: % ab -V [17:28] ryah: This is ApacheBench, Version 2.3 <$Revision: 655654 $> [17:29] jscheel: yep, same revision as me [17:29] test1: are you using -k ? [17:30] jscheel: test1: no, but trying with -k yields the same [17:31] LinuxNewb: can someone assist me with an issue installing node.js on ubuntu 10? [17:31] test1: can you post the ab output for a single request jscheel? [17:31] test1: whats the problem @LInuxNewb? [17:32] LinuxNewb: @test1 ./configure --prefix=$HOME/local/node is not adding anything to the local directory [17:32] jscheel: test1: https://gist.github.com/395791354528306c8e2e [17:32] test1: no no jscheel - the tcpdump output [17:33] test1: :) [17:33] LinuxNewb: @test1 instead, it is installing directly in the git clone directory [17:33] ankush has joined the channel [17:35] Postmodernist: ryah: Have you done any searching with node.js? [17:35] Postmodernist: Like, text document search [17:35] test1: Hi everyone, can anyone help with a problem I'm having with using expresso ? I'm trying to test responses from my server using assert.response . However, my tests seem to hang. Anyone know what I may be doing wrong ? [17:36] test1: whats your OS LinuxNewb? [17:36] springmeyer has joined the channel [17:36] tjholowaychuk: test1: close database connections etc [17:36] jscheel: test1: even with 1 request, it's dumping 6000 lines [17:36] jscheel: test1: https://gist.github.com/cc2ac7514a8dcb487062 [17:36] LinuxNewb: @test1 ubuntu 10.4 I beleive [17:37] `3rdEden: saschagehlich_ Y U NO Submit talk, [17:37] jscheel: running sudo tcpdump -i lo0 -X -s 0 tcp port 3000 > tdump4 [17:37] saschagehlich_: :D [17:37] jscheel: and ab -v 3 -n 1 http://127.0.0.1:3000/ [17:37] saschagehlich_: rauchg: Y U NO RELEASE 0.7 [17:38] test1: From that output it looks like there's an extra CRLF after the headers , whereas ab would expect to see the chunk length. [17:38] `3rdEden: ;D [17:38] LinuxNewb: @test1 it seems the --prefix part is ot functioning in "./configure --prefix=$HOME/local/node" [17:38] saschagehlich_: well `3rdEden dunno 'bout what I should do a talk about [17:38] saschagehlich_: gnah [17:38] saschagehlich_: english sentences suck [17:38] `3rdEden: deploying node on multiple servers ? [17:38] ankush has joined the channel [17:38] saschagehlich_: that's not interesting :/ [17:39] `3rdEden: it will be if you show 999 different ways of deploying node :$ [17:39] jscheel: test1: where do you see that? Not sure how to interpret a tcp dump :P [17:40] saschagehlich_: naah [17:40] `3rdEden: oh make something up than :p [17:40] hackband has joined the channel [17:41] `3rdEden: build a portal server in node! [17:41] test1: does the directory exist @LinuxNewb? [17:41] test1: whats the output? [17:42] nvardar_ has joined the channel [17:42] Adman65 has joined the channel [17:42] eee_c has joined the channel [17:42] test1: have you got a space between 'configure' and '--prefix' ? [17:42] LinuxNewb: @test1 yes, I created the directory [17:42] test1: '--prefix' is a flag passed to the configure shell script [17:42] jscheel: test1: ok, so following the issue ryah linked to a minute ago, by setting the content length and using -k it works [17:43] ryah: jscheel: tcpdump for one "ab -n 1" please [17:43] balaa has joined the channel [17:43] jscheel: ryah: that is what it dumped :P [17:43] rauchg: saschagehlich_ nodeconf, stay tuned :D [17:43] LinuxNewb: @test1 yes, there is a space. I am following the developers wiki [17:43] test1: yes - do what ryah says! much easier to debug :) [17:43] ryah: jscheel: there are many requests there [17:43] sechrist has joined the channel [17:43] test1: yes [17:43] LinuxNewb: @test1 https://github.com/joyent/node/wiki/Installation [17:43] saschagehlich_: gnaah ;) [17:43] mnbvasd: best way with tcpdump is use something like: tcpdump -nnw packetdump.raw -i any port [17:43] ryah: jscheel: do you have - like ab running in the background? [17:44] patcito has joined the channel [17:44] nvardar has joined the channel [17:44] jscheel: ryah: nope [17:44] test1: jscheel - there is definately more than one GET request being performed there [17:44] mnbvasd: then use some shiny gui to view the packet dump or upload it somewhere. [17:44] test1: have you tried JMeter jscheel ? [17:44] `3rdEden: rauchg: oh no but we are not going to nodeconf :( [17:45] rauchg: well i'm going to release it then [17:45] jscheel: test1: never heard of it, but I can [17:45] rauchg: you still have github :P [17:45] mnbvasd: erm gui like wireshark [17:45] `3rdEden: refresh refresh refresh! [17:45] saschagehlich_: haha :D [17:45] test1: test it on JMeter [17:45] piscisaureus has joined the channel [17:45] ryah: jscheel: figure out where all these requests are coming from [17:45] test1: its a small Java app [17:45] rburhum has joined the channel [17:45] saschagehlich_: btw I still get connect_failed sometimes. this time it's websocket and not flashsocket [17:46] `3rdEden: that's odd [17:46] saschagehlich_: true [17:46] `3rdEden: but i'm gonna remove the flashsocket anyways [17:46] saschagehlich_: no opera support anymore [17:46] `3rdEden: rm -rf /transports/flashsuckit [17:46] saschagehlich_: ? [17:46] `3rdEden: I'm gonna code up a new solution [17:47] rburhum has left the channel [17:47] `3rdEden: there is no real good reason to use web-socket-js fallback, it's nice that it mimics websockets.. but at the cost of 130kb+ it's just not worth it [17:47] jscheel: ryah: so, if I kill my node process, tcpdump only shows 1 request [17:47] saschagehlich_: right [17:47] saschagehlich_: what kind of solution will you do? [17:48] test1: also might be worth setting the destination and src ports in your tcpdump command too [17:48] `3rdEden: just a plan flash.net connection saschagehlich_ [17:48] saschagehlich_: okay [17:48] `3rdEden: just keeping it simple [17:48] `3rdEden: KISS [17:48] context: uhh [17:48] `3rdEden: KeepItSimpleStupid, k [17:48] test1: or use -c flag [17:48] test1: ryah - do you agree? [17:48] rubydiamond has joined the channel [17:49] context: you could look at faye [17:49] `3rdEden: saschagehlich_ but it's probably gonna take a while before I have that done, because my flash fu isn't that good anymore :p [17:49] context: it does websockets and falls back to comet for browsers without [17:49] `3rdEden: context eww [17:49] context: ewe? i think faye looks awesome [17:49] brownies has joined the channel [17:49] `3rdEden: <3 socket.io ( if i don't rauchg will kick my ass ) [17:49] context: heh [17:50] `3rdEden: but socket.io has variouse of fallbacks as well, [17:50] `3rdEden: but having a flashfallback just makes the connection allot better [17:50] `3rdEden: as you don't have to depend on polling transports [17:50] context: ewe. [17:50] `3rdEden: which is better for the server, and client [17:50] context: but you said that word. [17:50] abraham has joined the channel [17:50] `3rdEden: flash [17:50] CiRlE has joined the channel [17:51] context: ACTION beats `3rdeden with the wooden hose [17:51] `3rdEden: iknow, it's awfull but it does have 95% penetration :p [17:51] test1: anybody using expresso? [17:51] context: thats what she said. [17:51] saschagehlich_: :D [17:51] `3rdEden: ._." [17:51] context: `3rdeden: honestly id rather see newer libraries just stop supporting old ass browsers. make libs smaller. [17:52] context: people cry about old browsers and go out of there way to support them. [17:52] context: just STOP. people will upgrade if they care enough. [17:52] sledge: context: the corporate world moves slow. [17:52] anoop has joined the channel [17:52] context: if they dont care about having a proper experience, why should i [17:53] ryah: test1: yes [17:53] test1 has left the channel [17:53] `3rdEden: context: yeah probably, but it really depends on which market you are targeting with your website [17:53] mikegerwitz: context: Our organization is still stuck supporting IE6 purely because the vendor of a piece of software we use is completely incompetant [17:53] tbranyen: context: totally depends on market and the site [17:53] test1 has joined the channel [17:53] context: tbranyen: very true. [17:53] tbranyen: also if you can support a lesser site with minimal effort, might as well [17:53] sledge: context: experience is rarely considered a cost driver. [17:53] tbranyen: but if it becomes a 2 hour pixel fix [17:53] tbranyen: i mean come on [17:53] brendanjerwin has joined the channel [17:53] test1: cool, give that a go then jscheel [17:53] ryah: jscheel: can you please open an issue [17:54] LinuxNewb: Does anyone know why "./configure --prefix=$HOME/local/node" does not create the files in the prescribed directory? I have created local under the users home [17:54] ryah: jscheel: kind to these gist and describe what's happening in detail [17:54] test1 has left the channel [17:54] ryah: jscheel: better to take the discussion async [17:54] ryah: jscheel: also link to that issue i posted before as possibly related [17:54] jscheel: ryah: sure thing [17:54] jscheel: ryah: thanks for all your help [17:54] lalithmaddali has joined the channel [17:54] jscheel: and test1 too, even though he's gone [17:54] wdperson has joined the channel [17:55] _1marc has joined the channel [17:55] `3rdEden: according to Google analytics we still have 4% IE6 users :9 [17:55] `3rdEden: (but also 4.5% IE9 users ^_^!) [17:55] tylerstalder has joined the channel [17:56] _1marc: can you read cookies that are set on the domain (not by node)? [17:56] _1marc: it seems like I can only read cookies that I have set with node [17:56] xiagox has joined the channel [17:56] Adman65 has joined the channel [17:57] balaa_ has joined the channel [17:57] jscheel: ryah: pinging it from my laptop, which uses an older version of ab (2.0.40-dev) worls [17:57] jscheel: works [17:57] liar has joined the channel [17:57] bene has joined the channel [17:57] __tosh has joined the channel [17:58] jscheel: ryah: are you sure you want a new issue, or should I just add to the existing one? [17:58] gkmngrgn has joined the channel [17:58] context: `3rdeden: 4% isn't worth god knows how much jquery code is there to support it [17:58] context: `3rdeden: url to those stats ? [17:59] `3rdEden: context: Google analtyics :P [17:59] context: ahh [17:59] `3rdEden: so it's not public [17:59] davidcoallier has joined the channel [17:59] context: http://www.w3schools.com/browsers/browsers_explorer.asp [17:59] Me1000 has joined the channel [17:59] `3rdEden: ewww you googled w3schools [17:59] context: 3% [17:59] _1marc: There seems to be no domain-level cookies in the header when you make a request to node. Only the cookies you already set with express or whatever. Anybody had to deal with this? [17:59] context: no. i googled 'global browser statistics' [17:59] `3rdEden: depends in each country i guess context [17:59] `3rdEden: :D [18:00] context: ff 3.6 is more dom. then 4.0 [18:00] context: see. apple knows how to do updates. their stats are from newest -> oldest browser. older browser always has less users [18:00] LinuxNewb: Does anyone know why "./configure --prefix=$HOME/local/node" does not create the files in the prescribed directory? I have created ~/local under the users home. [18:01] context: NO other browser is like that. [18:01] jscheel: ryah: it's gotta be something wanky with ab, because when I do curl http://127.0.0.1:3000/ tcpdump logs 1 request, like it's supposed to [18:01] context: opera kind of is [18:01] jscheel: ryah: https://gist.github.com/4d6ca879d5970f9d9fda [18:02] galaxywatcher has joined the channel [18:02] TomY has joined the channel [18:02] `3rdEden: context and chrome [18:02] context: not according to w3c [18:02] context: http://www.w3schools.com/browsers/browsers_chrome.asp [18:02] context: everyone appears to always be 2 levels beind [18:03] context: unless those are still in test/beta [18:03] context: i run the beta channel [18:03] dguttman has joined the channel [18:04] xiagox has joined the channel [18:06] kmiyashiro: people care about opera? [18:06] `3rdEden: Some people do [18:06] kmiyashiro: they are maybe 1% of your actual visitors? [18:06] mraleph has joined the channel [18:06] `3rdEden: I have to because our CTO uses Opera -_-' [18:06] pdelgallego has joined the channel [18:06] kmiyashiro: that's not a good reason [18:06] `3rdEden: I tried replaying his Opera Icon with Chrome, but he noticed that [18:07] kmiyashiro: if your CTO used windows 3.1, would he expect you to support that too? [18:07] `3rdEden: Ours does -_-; [18:07] kmiyashiro: yeah [18:07] kmiyashiro: well [18:07] tilgovi has joined the channel [18:07] kmiyashiro: circles of confusion [18:07] `3rdEden: A well, you can't win all wars ^_^ [18:08] mnbvasd: kmiyashiro: opera is my primary browser. [18:08] `3rdEden: ban! [18:08] cbiscardi has joined the channel [18:08] kmiyashiro: mnbvasd: sorry about that [18:08] cbiscardi has left the channel [18:08] `3rdEden: :D [18:08] AntelopeSalad: it's my primary too [18:08] mnbvasd: kmiyashiro: ;P [18:08] kmiyashiro: as long as you don't complain if something doesn't work [18:09] `3rdEden: Wow, this is really rare, 2 opera users in one IRC channel :D [18:09] aberry has joined the channel [18:09] mnbvasd: I generally redicule sites that don't work unless they're wub3.11 sites with 3d graphics, games and provide felatio over web sockets. [18:10] deedubs has joined the channel [18:10] kmiyashiro: I haven't checked a site in opera in over 5 years [18:10] kmiyashiro: I figure, I make it work in FF and Chrome with no hacks, it should work in Opera [18:10] AntelopeSalad: 99% of the sites i visit work as intended [18:10] mnbvasd: I just assume they work unless you're doing something really strange or you broke something badly [18:12] AntelopeSalad: usually the only difference between chrome, opera and FF is a few pixels of spacing [18:13] _1marc: In PHP you get cookies with $_COOKIE['thecookie'] ... but in Node I can't access it. Any ideas why? [18:13] eee_c has joined the channel [18:13] _1marc: I can access connect.sid, but that is it [18:13] _1marc: and they are both set on localhost [18:13] balaa has joined the channel [18:16] context: http://autoholics.com/2011/04/28/How-Is-This-Even-Possible--527167 [18:18] saikat has joined the channel [18:21] LinuxNewb: is anyone here? [18:22] LinuxNewb: am I here? [18:22] dve_ has joined the channel [18:22] GasbaKid has joined the channel [18:23] pifantastic_ has joined the channel [18:23] samsonjs has joined the channel [18:24] LinuxNewb: Does anyone know why "./configure --prefix=$HOME/local/node" does not create the files in the prescribed directory? I have created home/[user]/local. [18:24] brianm has joined the channel [18:24] Guest8635 has joined the channel [18:24] v0idless- has joined the channel [18:25] softdrink: someone needs to submit a coffeescript example to 99-bottles-of-beer.net [18:25] AntelopeSalad: are you logged in as [user] or root? [18:25] teemow has joined the channel [18:25] elijah__ has joined the channel [18:25] Navy: Argh [18:26] Navy: Hey again [18:26] mscdex: LinuxNewb: i don't think you want the "/node" part on the end? [18:26] mscdex: i dunno [18:26] Spion has joined the channel [18:26] mscdex: er maybe make sure the local/node dir exists [18:26] LinuxNewb: @antelope user, which is the only account, I am pretty sure it is root [18:27] LinuxNewb: i tried the configure command with the node directory there as well [18:27] Navy: I watching a file to changed, and if its changed I parse the file (JSON) and for each valid entry I create a server which should pull data ever n-second [18:27] Navy: But the setIntervall wont work [18:27] mscdex: Navy: why not use fs.watchFile ? [18:27] Navy: I think it's a logical problem on my side ;) [18:27] Spion has joined the channel [18:27] Navy: I use it [18:27] mscdex: oh [18:27] Navy: watch file, then file read, then parse [18:28] Navy: and in a switch-statement i decide, which kindof server should be created [18:28] LinuxNewb: @msdex I'll try that. but here is says to https://github.com/joyent/node/wiki/Installation [18:28] Navy: but the setInterval isnÄt working [18:28] mscdex: LinuxNewb: huh.. yeah as long as $HOME/local/node exists, then it should be fine [18:28] sendark has joined the channel [18:28] mscdex: Navy: gist your code? [18:29] LinuxNewb: to be clear. $HOME =/home/[user]/ ? [18:29] AntelopeSalad: linuxnewb: is it installing somewhere else, or you're not sure? [18:30] mscdex: LinuxNewb: try: cd $HOME/local/node [18:30] LinuxNewb: it seems to be installing in the directory I am in home/[user]/node which the git clone comman dcreated [18:30] hackband has joined the channel [18:30] teemow has joined the channel [18:30] LinuxNewb: the cd command brings me to the directory I created [18:31] mscdex: ok [18:31] Navy: http://paste.org/pastebin/view/32537 [18:31] Navy: Just a test [18:31] cbiscardi has joined the channel [18:31] Navy: but it wont work [18:31] cbiscardi has left the channel [18:32] mscdex: LinuxNewb: so when you do `make install` from your source tree it doesn't copy the files there? [18:32] jacobolus has joined the channel [18:32] langworthy has joined the channel [18:32] Spion has joined the channel [18:32] mscdex: Navy: you want test not test() on line 16 [18:32] LinuxNewb: which command puts files into the $HOME/local/node directory. the configuration, make or make install? [18:33] admc has joined the channel [18:33] AntelopeSalad: i never had to make the /node folder manually inside of ~/local, the installer did that automatically [18:33] admc has joined the channel [18:33] mscdex: LinuxNewb: if you run `make install` from the node source directory, do you get any files in $HOME/local/node ? [18:33] LinuxNewb: and if I have rerun the ./confgure command after running make, do i need to rerun make? [18:34] Navy: Ah. Thank you mscdex [18:34] timmywil has joined the channel [18:34] Navy: but how to give a function paramters? [18:34] adrusi has joined the channel [18:34] mscdex: LinuxNewb: i'm not sure, i'd do `make distclean && ./configure --prefix=$HOME/local/node && make && make install` and then check $HOME/local/node [18:34] LinuxNewb: it did, mscdex. thanks [18:34] mscdex: LinuxNewb: ok [18:35] jgv has joined the channel [18:35] mscdex: Navy: instead of specifying `test` directly, use an anonymous function wrapper instead: `setInterval(function(){ test(var1, var2, var3); }, 500);` [18:35] Navy: I want to start a function via setInterval with parameters [18:36] TooTallNate has joined the channel [18:36] losing has joined the channel [18:36] V1 has joined the channel [18:36] sreeix has joined the channel [18:36] mscdex: Navy: or you can pass them after the interval amount: `setInterval(test, 500, var1, var2, var3);` [18:36] LinuxNewb: last question. when i run node with no parameters, should it go to > prompt? version .4.x [18:36] Navy: And in rthis i can use the function directly? [18:36] adrusi: I'm on mac os x running version 10.6.7 and some serious error was encountered and I had to force shut down. When I looked at the log of the error, it said that the thread in which the error occured was namde "node". Any ideas how to find more info about the error? some sort of node logs? [18:36] mscdex: LinuxNewb: yep [18:37] mscdex: adrusi: not unless you're redirecting the node process's stderr to a log file or something [18:37] rfay has joined the channel [18:37] LinuxNewb: Thank you for your help.. I am beginning to understand the setup. hehe [18:38] Navy: Great mscdex, I adressed the function within the anonymous function [18:38] Navy: Thank you [18:38] AntelopeSalad: you will want to set the path in a perm. location linuxnewb [18:39] adrusi: ok. for future reference, how can I set something like that up. I know how to log STDOUT for a single run of a command, but not STDERR every time I run a command [18:39] AntelopeSalad: when you export it, it's only set for that session (if you logout of putty or whatever you use, it's gone) [18:39] vipaca has joined the channel [18:39] vipaca has joined the channel [18:40] mscdex: adrusi: `node naughty.js 2>$HOME/node.stderr.log` [18:40] sivy has joined the channel [18:40] Spion has joined the channel [18:41] adrusi: so If I wanted to do that every time I run node I would make a bash script to do that and then name it "node" and put it in a higher precedence PATH? [18:42] technoweenie has joined the channel [18:42] matyr has joined the channel [18:43] snearch has joined the channel [18:45] LinuxNewb: @mscdex I ran export PATH=$HOME/local/node/bin:$PATH after the install, but it seems to only last for the current terminal session.. How to I set the path from node permanently? [18:46] captain_morgan has joined the channel [18:46] tauren has joined the channel [18:47] mscdex: LinuxNewb: put that in your .bashrc [18:47] mscdex: ~/.bashrc [18:47] LinuxNewb: is there a command line to do that or do i open it up to edit? [18:48] LinuxNewb: echo export PATH=$HOME/local/node/bin:$PATH ~/.bashrc ? [18:48] jmoyers has joined the channel [18:48] mscdex: LinuxNewb: something like: echo "export PATH=$HOME/local/node/bin:$PATH" >> .bashrc [18:48] mbrevoort: _1marc: you figure out your cookie problem? [18:49] mikeal has joined the channel [18:49] LinuxNewb: worked, thanks [18:50] mbrevoort: _1marc: if you're using connect or express you'll need to include the cookieParser middleware [18:50] cloudhead has joined the channel [18:51] _1marc: mbrevoort: yeah I did [18:51] _1marc: mbrevoort: include the middle ware [18:51] Aria has joined the channel [18:51] _1marc: mbrevoort: but I still cannot figure out how to access the other cookies [18:52] mbrevoort: anyone having success reliably replicating the NPM registry couchdb? it's been super flakey for me. [18:52] _1marc: mbrevoort: req.headers.cookie shows only cookie: 'connect.sid=WPqgw9pD1mV9FrAyzGc6YCSH.hXTv6Q3v8j0%2BTqmp6dmjQZl8pGJGmaj%2BdmxBSsDYp3s' [18:52] _1marc: member:mbrevoort: but there are other cookies set on the domain [18:52] _1marc: so I don't understand why there is only one cookie sent with the header when there are others on the same domain [18:52] rubydiamond has joined the channel [18:53] mbrevoort: _1marc: have you validated the cookies are properly getting passed in the header, either in the browser network tools or other network trace? [18:53] Spion has joined the channel [18:53] febits has joined the channel [18:53] _1marc: mbrevoort: no they aren't getting passed to the header even though they are on the same domain [18:53] _1marc: mbrevoort: I don't understand why [18:54] levi501d has joined the channel [18:54] mbrevoort: _1marc: is the cookie path set on those cookies? [18:54] nlco has joined the channel [18:55] _1marc: mbrevoort: it is on localhost domain path is "/" [18:55] cloudhead: I have a child process which only seems to output when I pass process.stdout.fd as it's stdout in customFds.. any ideas why? [18:55] jacobolus has joined the channel [18:56] cloudhead: as in, nothing gets output to its own stdout [18:56] gf3: cloudhead: is it exiting before it's able to print to stdout? [18:56] gf3: I had that issue previously [18:56] cloudhead: gf3: nope, it stays running [18:56] mbrevoort: _1marc: so the browser isn't even passing the cookies properly, as far as you can tell, in the request? You can see that in a network trace? [18:57] cloudhead: and if I pass `1` as the stdout customFd, it works as expected, except its using the main stdout.. [18:57] _1marc: member:mbrevoort: right, it isn't coming through in the headers, but I know it is inside the browser. [18:57] rudolfrck has joined the channel [18:57] _1marc: mbrevoort: there are two cookies on localhost inside the browser, but only one goes through in the headers [18:57] captain_morgan has joined the channel [18:58] _1marc: mbrevoort: OH GAH, the other one isn't a cookie, it is in the session, not HTTP cookie! [18:58] sechrist has joined the channel [18:58] warreng has left the channel [18:58] harth has joined the channel [18:58] mbrevoort: _1marc: hehe that'll do it [19:00] technoweenie has left the channel [19:01] _1marc: mbrevoort: req.session["mycookie"] is still undefined. How do I access it if it is a cookie in localhost path "/" on the session? [19:02] ryah: piscisaureus: does windows have sys/types.h ? [19:02] JJMalina has joined the channel [19:03] GasbaKid has joined the channel [19:03] Tobsn has joined the channel [19:03] mbrevoort: _1marc: have you configured the session middleware? ie for express: app.use(express.session({secret:'ssshhhh'}) ? [19:03] _1marc: mbrevoort: yes [19:04] eldios has joined the channel [19:04] _1marc: mbrevoort: do I have to combine the secret with the cookie id? I don't undrestand how to gain access to the cookie that is obviously in the browser session [19:05] balaa has joined the channel [19:05] test has joined the channel [19:05] test: Hi all [19:05] tjholowaychuk: _1marc: req.cookies [19:05] tjholowaychuk: cookieParser() [19:05] brendanjerwin has joined the channel [19:05] test: anybody able to help with an expresso problem i'm having? [19:05] sechrist: so excited for incoming socket.io versions [19:05] balaa has joined the channel [19:06] sechrist: i needs teh socket.io cluster/ha [19:06] _1marc: tjholowaychuk: I am only getting the HTTP cookie in req.cookies [19:06] mbrevoort: _1marc: what might help is to just log out the req object to the console just to see what's what: console.log(require('util').inspect(req, true, null)); [19:06] _1marc: tjholowaychuk: there is another one that is in the browser session that isn't sent via HTTP [19:06] Rixius has joined the channel [19:06] Rixius has joined the channel [19:06] tjholowaychuk: _1marc: :s [19:06] tjholowaychuk: they should all be via http.. [19:07] tjholowaychuk: how else would it send this? [19:07] test: anybody able to help with an expresso problem i'm having? - my tests using assert.response seem to be hanging [19:07] tjholowaychuk: _1marc: the session cookie should be the same as the others, just simply expiring when the browser session is complete [19:07] mbrevoort: when using the express middleware it manages the session cookie for you. so there will be a session cookie that corresponds to your session on the server. The session is on the server though. [19:07] w3dot0 has joined the channel [19:08] aroop has joined the channel [19:09] _1marc: tjholowaychuk: when I look in Firecookie it shows that I have two cookies. linkedin and connect.sid both stored on localhost. When I inspect the req.cookies only connect.sid shows up. And in firecookie it says connect.sid is "httpOnly" cookie where linkedin expires on the session [19:09] _1marc: mbrevoort: ok I'll try that [19:09] tjholowaychuk: _1marc: sure, httpOnly just means the client-side js wont have access to it [19:10] _1marc: tjholowaychuk: It also says, "security: secure" [19:10] _1marc: tjholowaychuk: so I'm wondering how the heck I get access to that cookie [19:11] context: ewe. memory store :( [19:11] context: why didn't connect use a cookie based session [19:11] test: @tjholowaychuk : are you able to help with my problem regarding expresso? [19:12] tjholowaychuk: _1marc: req.cookies['connect.sid'] should be fine [19:12] tjholowaychuk: works for me [19:12] tjholowaychuk: context: because you can use any store... [19:12] mbrevoort: context: i'm pretty sure you can specify and alternative cookie provider like redis, but the man tjholowaychuk could confirm [19:12] tjholowaychuk: memory is just a default [19:12] _1marc: tjholowaychuk: yeah I can access connect.sid too, but the other cookie I cannot [19:12] DennisRas has joined the channel [19:12] tjholowaychuk: context: cookies would be much more limited than most stores [19:12] tjholowaychuk: mbrevoort: yup [19:13] context: tjholowaychuk: true. but what are you putting in the session that takes up that much room [19:13] tjholowaychuk: context: not just in terms of room [19:13] mbrevoort: _1marc: so did you say the other cookie is set to secure? in that case it wouldn't be passed over an http connection - the browser wouldn't pass it. [19:13] context: you are begging for a DoS of some sort if thats the case. [19:13] coreb has joined the channel [19:13] tylerstalder has joined the channel [19:13] DennisRasmussen has joined the channel [19:13] context: tjholowaychuk: rails defaults to cookie based sessions. [19:13] isaacs has joined the channel [19:13] _1marc: mbrevoort: yes the other cookie is set to secure, so how do I get at it? [19:13] pdelgallego has joined the channel [19:14] mbrevoort: _1marc: pretty sure if the linkedin cookie is set to secure, the browser will only pass it over https, so you would have to use https (as long as the origin is the same as well) [19:14] _1marc: mbrevoort: I know the id of the cookie, but yeah it is not passed through HTTP [19:14] _1marc: mbrevoort: Ooooo [19:14] _1marc: mbrevoort: yeah that makes sense! [19:14] _1marc: mbrevoort: thanks! [19:15] mbrevoort: _1marc: cool, no problem [19:16] maushu has joined the channel [19:18] brianm_ has joined the channel [19:21] brianm_ has joined the channel [19:22] mike_miller has joined the channel [19:22] demastrie has joined the channel [19:22] brianm has joined the channel [19:23] onre_ has joined the channel [19:23] demastrie has left the channel [19:25] tiagoa has joined the channel [19:26] test: anybody able to help with an expresso problem i'm having? - my tests using assert.response seem to be hanging [19:26] jeromegn has joined the channel [19:27] tjholowaychuk: test: like i said you have to manage connections to dbs etc [19:27] tjholowaychuk: so if you use mongodb or something, or session stores [19:27] tjholowaychuk: you have to do that [19:27] test: i dont quite understand tjholowaychuk sorry [19:27] test: im not using a database [19:28] onre_ has joined the channel [19:28] test: i just want to test requests and responses to my node server [19:28] tjholowaychuk: test: well those are just examples. anything keeping the event loop active [19:28] tjholowaychuk: you have to think like an event loop :p [19:28] test: ah i see [19:28] tjholowaychuk: it's not necessarily "done" when you think it should be just because you are running tests [19:29] test: okay that makes sense, expresso reports when the assertions are inocrrect but the server doesnt close down [19:30] confoocious has joined the channel [19:30] confoocious has joined the channel [19:30] tesseracter has joined the channel [19:31] test: congrats on express though - its really good :) [19:32] ilya has joined the channel [19:32] ilya: tjholowaychuk: can I ask you about express and cluster? [19:32] tjholowaychuk: ilya: sure [19:32] duncanbeevers: test: Try reducing your tests to a very minimum hang-case. [19:33] test: duncan : i have - basically just testing a GET request on '/' and the status code returned [19:33] test: test hangs :( [19:33] test: really want to get this working [19:33] ilya: alright, so I have the express app in one file (app = express.createServer()) and I'm trying to use this with cluster like so serv = require('./server-express').app; cluster(servex)... .listen(80, ipaddress) [19:34] eb4890 has joined the channel [19:34] ilya: tjholowaychuk: i can see that server starts and 4 workers are spawned and it says that it's listening but i can't connect to the server [19:35] JJMalina has joined the channel [19:35] tjholowaychuk: ilya: hmm, not sure we do the same and it's fine [19:36] ilya: huh [19:36] tjholowaychuk: though we bind to INADDR_ANY [19:36] ilya: tjholowaychuk: what's that? [19:36] monteslu has joined the channel [19:37] monteslu: anyone know how to add a body attribute with Jade? I'm following the express template [19:37] test: absolutely not sorry [19:37] ilya: tjholowaychuk: is that to respond to any incoming address? [19:38] test has left the channel [19:38] NuckingFuts has joined the channel [19:38] tjholowaychuk: monteslu: body attribute? [19:38] tjholowaychuk: body(foo: 'bar') ? [19:38] drudge: monteslu: body(attr: 'ibute'); [19:38] drudge: er minus ; [19:38] onre_ has joined the channel [19:38] drudge: i love me some semicolons [19:38] monteslu: the template setup with express does body!= body [19:38] monteslu: not sure what that means [19:39] m00p has joined the channel [19:39] drudge: monteslu: ! doesn't do escaping, [19:40] monteslu: so, body!= body(class: 'myClass') ? [19:40] drudge: no, the body on the right of the = is a variable [19:40] tjholowaychuk: monteslu: body is your tag [19:40] drudge: body.myClass!= body [19:40] tjholowaychuk: monteslu: body.whateverclass.more.classes.here!= body [19:40] monteslu: so, body(class: 'myClass')!= body ? [19:40] tjholowaychuk: body is just a local variable [19:41] drudge: monteslu: you can write it that way yes [19:41] tjholowaychuk: you could do body\n #wrapper!= body [19:41] drudge: how's it going tj [19:42] techwraith has joined the channel [19:42] sendark has joined the channel [19:42] tjholowaychuk: good good [19:43] drudge: tjholowaychuk: adding monitoring linux machines to Rubbernet via node [19:43] tjholowaychuk: haha sweet [19:43] kersny has joined the channel [19:43] cloudhea2 has joined the channel [19:44] jakehow has joined the channel [19:44] teemow has joined the channel [19:45] eldios has joined the channel [19:45] onre_ has joined the channel [19:45] coinopeboy has joined the channel [19:45] kollektiv` has joined the channel [19:45] ilya: tjholowaychuk: it's weird, it seems like cluster is listening but not responding to requests. Firefox says "The connection was reset" after "Waiting for #serveraddress#" for couple of minutes. [19:46] brendanjerwin has joined the channel [19:47] tjholowaychuk: ilya: weird :s try with just listen(port) first [19:47] ilya: tjholowaychuk: okay [19:48] CoinOpeBoy has joined the channel [19:48] karboh has joined the channel [19:49] ilya: tjholowaychuk: no response :( [19:49] tjholowaychuk: ilya messseddd :s haven't had that issue personally [19:49] tjholowaychuk: not sure what to think [19:49] ilya: tjholowaychuk: that' [19:49] tjholowaychuk: and it's 100% without cluster? [19:49] ilya: s fine, I'll just try with a simple app then first [19:49] ilya: yup [19:50] ilya: tjholowaychuk: i have a working express app, i wanted to add cluster to it [19:50] tjholowaychuk: yeah [19:50] tjholowaychuk: hmm [19:50] ilya: tjholowaychuk: yup, all works 100% without cluster [19:50] tjholowaychuk: strange [19:51] ilya: tjholowaychuk: is it supposed to work with an existing app? [19:51] tjholowaychuk: yup [19:51] ilya: hmm [19:51] EvanCarroll: the `body` variable confused me a bit too [19:51] EvanCarroll: I didn't see it documented on jade.js or express.js [19:52] EvanCarroll: I figured uot what it did though pretty quick, i didn't see layout.jade documented either [19:52] tjholowaychuk: EvanCarroll: http://expressjs.com/guide.html#view-rendering [19:52] tjholowaychuk: it's there [19:53] lukegalea has joined the channel [19:53] mikeal has joined the channel [19:53] EvanCarroll: tjholowaychuk++ stand corrected [19:53] kersny has joined the channel [19:53] tjholowaychuk: my docs do suck though haha [19:53] tjholowaychuk: some day [19:53] qbert__ has joined the channel [19:53] EvanCarroll: so that's all done with express.js and not through jade.js, interesting [19:53] tjholowaychuk: i will build a better site [19:53] tjholowaychuk: yeah [19:53] tjholowaychuk: jade just accepts local vars [19:54] EvanCarroll: in TT, perl's premeir template engine, it's done through WRAPPER [19:54] EvanCarroll: which is rather think is better. =( [19:54] tjholowaychuk: what? [19:54] EvanCarroll: because as a function of a the view, you can create your own. that's pretty useful. [19:54] tjholowaychuk: WRAPPER? [19:54] EvanCarroll: right. [19:54] qbert_: ? [19:54] indexzero has joined the channel [19:55] tjholowaychuk: wtf is that [19:55] tjholowaychuk: haha [19:55] EvanCarroll: http://template-toolkit.org/docs/manual/Directives.html#section_WRAPPER [19:55] kersny has joined the channel [19:56] mwmw has joined the channel [19:56] rpflo has joined the channel [19:56] EvanCarroll: So in template toolkit, you'd do something like point your template (view input files) to body.tt, which would state at the top with the WRAPPER directive to use `layout.tt`. Then in layout.tt you'd pull in the output of `body.tt` to be wrapped through the special variable `CONTENT` [19:57] EvanCarroll: so it's the wrapping/layout (in jade parlance i suppose), is done in the view. [19:57] SubStack: EvanCarroll: those are called partials in express I think [19:58] EvanCarroll: This means that things you include, partials (in jade parlance again I suppose) can use WRAPPER functionality [19:58] tjholowaychuk: yeah [19:58] SubStack: also express views have a layout.whatevs [19:58] tjholowaychuk: partials look the same [19:58] EvanCarroll: and how do you handle two wrappers? [19:58] tjholowaychuk: just template-engine specific [19:58] tjholowaychuk: have two partial() calls [19:59] aroop has joined the channel [19:59] EvanCarroll: right, which requires that the layout know of the partials? [19:59] tjholowaychuk: I stay away from engine-specific stuff like that [19:59] kersny has left the channel [19:59] kersny has joined the channel [19:59] EvanCarroll: that's breaking my concept of view-encapsulation. [19:59] tjholowaychuk: how? [20:00] tjholowaychuk: I want blocks [20:00] tjholowaychuk: but [20:00] EvanCarroll: because in TT the wrapper doesn't need to know anything about the callee, all it knows is that if it used it must drop the output of the callee in the special `content` variable. [20:00] tjholowaychuk: we just need template engines to expose a function to buffer js [20:00] onre_ has joined the channel [20:00] tjholowaychuk: then that will be fine [20:01] TheJH has joined the channel [20:01] TheJH has joined the channel [20:01] tjholowaychuk: EvanCarroll: I dont see how that is different [20:01] tjholowaychuk: they just have some funky directive [20:01] tjholowaychuk: [% INCLUDE [20:02] EvanCarroll: the INCLUDE directive has nothing to do with what I'm talking about., that's just the equiv of the jade partial include [20:03] pekim_ has joined the channel [20:03] Votaguz has left the channel [20:03] EvanCarroll: I'm speaking of the way the content is wrapped being a function of the view, with the wrapper ignorent of what it is wrapping, which might itself be a wrapper that is wrapping. [20:03] tjholowaychuk: partial('header') [20:03] tjholowaychuk: they have to many constructs [20:05] EvanCarroll: a.tt => FOO [% content %] BAR ||| b.tt => [% WRAPPER a.tt %] QUZ [% content %] QAZ ||| [% WRAPPER b.tt %] c.tt => 'foo' [20:05] kersny has joined the channel [20:05] tykelewis has joined the channel [20:05] EvanCarroll: so when you call `c.tt` as a view destination in the web framework, or as a partial/include, it goes through the natural wrappings. [20:05] EvanCarroll: how would you do that in jade.js [20:06] EvanCarroll: that would output FOO QUZ foo QUZ BAR [20:07] tjholowaychuk: c.tt just contains "foo"? [20:07] EvanCarroll: I find that to be more transparent, useful outside of the webframework, and consistent with partial behavoir (because the web framework is ignorant to it) and partials are a function of the view and exist outside of it [20:07] TooTallNate: tjholowaychuk: hey tj, is there a way to create a node-canvas "Image" from a Buffer on PNG/JPG data? [20:07] EvanCarroll: tjholowaychuk: it was an example [20:07] TooTallNate: *of [20:07] tjholowaychuk: IMO that doesnt make sense for it to automagically be wrapped by the others [20:07] EvanCarroll: tjholowaychuk: but yes, in this example c.tt just contains foo [20:08] EvanCarroll: tjholowaychuk: it isn't automagically wrapper, there is an explicit WRAPPER construct that I'm demonstrating [20:08] tjholowaychuk: TooTallNate: not right now unfortunately, i'd like to add support for that and sniff the image format from the first few bytes [20:08] EvanCarroll: s/wrapper/wrapped/ * [20:08] tjholowaychuk: EvanCarroll: yeah but it's in a different file [20:08] TooTallNate: tjholowaychuk: Damn, ya that's exactly what I was hoping for... [20:08] tjholowaychuk: :D [20:09] tjholowaychuk: yeah me too, just havent had time [20:09] tykelewis has joined the channel [20:09] EvanCarroll: tjholowaychuk: you can also have a library of wrappers, not tied to the name of the partial. [20:10] EvanCarroll: so you might see something like, [% WRAPPER = jqueryUIWidget %] emerge. [20:10] xeodox has joined the channel [20:10] tjholowaychuk: doesnt make a whole lot of sense to me [20:10] tjholowaychuk: but i havent used it i guess [20:11] mikeal has joined the channel [20:11] tjholowaychuk: the most important thing to me is that these concepts work for most if not all the template engines [20:11] EvanCarroll: why... they're inhereintly view-specific. [20:11] onre has joined the channel [20:12] EvanCarroll: It would make much sense to have this sort of content wrapping functionality in a binary format... like a .doc output [20:16] TheJH has left the channel [20:16] captain_morgan has joined the channel [20:17] onre_ has joined the channel [20:23] roidrage has joined the channel [20:25] nk_ has joined the channel [20:25] mikeal has joined the channel [20:27] v0idless-_ has joined the channel [20:27] CiRlE has joined the channel [20:28] adam- has joined the channel [20:29] ryanj has joined the channel [20:29] kersny has joined the channel [20:30] sechrist_ has joined the channel [20:32] malkomalko: npm question.. is there anyway to have the package take your dependencies and bundle them on install via 'npm bundle' instead of actually installing them and overwriting certain versions the user may have? [20:32] teemow has joined the channel [20:33] herbySk has joined the channel [20:33] baudehlo: in fs.createReadStream() anyone know why "end" is required if "start" is given? [20:34] techwraith: malkomalko: I'm fairly certain nothing is overwritten as it is [20:35] techwraith: malkomalko: It should keep all it's dependencies in its own .node_modules directory [20:35] hellp has joined the channel [20:35] malkomalko: when you install an npm package, it's dependencies are installed, it's not bundled [20:36] malkomalko: I'm fairly sure [20:36] tbranyen: malkomalko: depends on the package.json [20:37] mikeal has joined the channel [20:37] context: techwraith: thats very ugly actually. [20:37] context: techwraith: with that logic you could possibly have dependencies digging down god knows how many levels... [20:37] mjr_: baudehlo: that's an annoying limitation from the internal implementation at the moment. I thought isaacs said he was going to fix that a while back. [20:38] nk_ has joined the channel [20:38] techwraith: context: ask isaacs, but I'm pretty sure that's how it happens [20:38] context: probably with the same package being installed n times. [20:38] context: so. i install express, which requires conenct and jade, jade requires conenct (example) and all three require some random package like date-utils [20:38] context: i just installed date-utils like 5 times. [20:38] xiagox has joined the channel [20:39] techwraith: Yep [20:39] context: wow. your idea is the worst ever. [20:39] techwraith: Not my idea [20:39] techwraith: just how it works [20:39] context: im gonna venture toward no. thats why package.json has dependencies listed [20:40] context: oh [20:40] baudehlo: mjr_: ok good... as right now the only way (race free) to read the whole file is with fs.open/fs.read calls. [20:40] context: kk. [20:40] context: techwraith: npm is using symlinks. [20:40] context: to ensure they get the proper version. [20:40] brendanjerwin has joined the channel [20:40] techwraith: That makes sense [20:40] baudehlo: (as there's a race between stat() and createReadStream()) [20:40] context: [✔ fibre:~ context]$ ls -l /usr/local/lib/node/.npm/express/active/node_modules/ [20:40] malkomalko: ok [20:40] mjr_: baudehlo: Yeah, it's a bummer. [20:40] context: lrwxrwxrwx 1 context staff 30 Apr 28 09:18 connect -> ../../../connect/1.4.0/package [20:41] malkomalko: I need to ask isaacs when he's around to confirm [20:41] malkomalko: it'd be nice if dependencies on install would bundle into node_modules [20:41] techwraith: is that 1.0 or 0.3? [20:41] malkomalko: instead of installing [20:41] hasenj has joined the channel [20:41] malkomalko: I'm on 0.3.x [20:41] malkomalko: 1.0 hopefully hits this weekend [20:41] context: malkomalko: no. thats not a nice idea, for the reason i just noted above [20:42] NSMeta has joined the channel [20:42] malkomalko: that's wrong [20:42] malkomalko: it lays everything you need out into the node_modules lib [20:42] malkomalko: not 5 versions of the same lib [20:43] malkomalko: there are pros and cons in both scenarios I guess [20:43] context: malkomalko: so if i install express i dont have connect. express has connect. [20:43] context: malkomalko: so i install connect, and it installs qs and mime again. [20:43] ankush has joined the channel [20:43] context: so .... you still have the SAME problem [20:44] tjholowaychuk: installing two tiny modules several times is a problem? [20:44] malkomalko: I don't understand [20:44] malkomalko: everything is than scoped to your project [20:44] context: or im severly reading what you are saying wrong [20:44] malkomalko: and doesn't pollute your global modules [20:44] malkomalko: isn't that a good thing? [20:45] context: malkomalko: then use nvm and its aliases ? [20:45] baudehlo: is there any way to get better errors out of vm.* functions? [20:45] baudehlo: they don't tell you the line number if something fails to compile. [20:45] context: malkomalko: your idea still doesn't solve the issue. most projects depend on more than one library. so they'd need their own package.json to begin with [20:46] TheDeveloper has joined the channel [20:46] malkomalko: you are confusing me :) [20:46] Country has joined the channel [20:46] tjholowaychuk: me too [20:46] context: so have all projects use package.json and have node read that. [20:46] tjholowaychuk: yes [20:46] tjholowaychuk: they do [20:46] NuckingFuts: Oh noes, the sky is falling! AWS lost customer data! [20:46] TheDeveloper: NuckingFuts: uh oh... [20:47] xiagox has joined the channel [20:47] mikegerwitz: NuckingFuts: link? [20:47] context: wtf! [20:47] NuckingFuts: mikegerwitz: http://www.theregister.co.uk/2011/04/29/amazon_ec2_outage_post_mortem/ [20:47] context: malkomalko: so whats wrong with symlinks ? [20:47] NuckingFuts: The outage resulted in a loss of 0.07% of customer data [20:48] context: nuckingfuts: ive been waiting for that [20:48] malkomalko: nothing is wrong with symlinks, in fact that's how npm manages packages [20:48] context: correct. but you were saying to bundle them directly [20:48] isaacs: say what now about asking me something something? [20:49] mikegerwitz: NuckingFuts: thank [20:49] mikegerwitz: s [20:49] context: or im reading crap wrong [20:49] TheDeveloper: so basically just loss of data for people using EBS [20:49] eee_c has joined the channel [20:49] mjr_: isaacs: a LONG time ago, back in mikeal's office in Oakland, we were talking about my various issues. I pointed out how fs.createreadstream doesn't let you specify a start without and end, so you can read a file that's being written to. ryah asked if you would fix that, and you said yes. [20:49] bstimmerman has joined the channel [20:50] isaacs: mjr_: hmmm.... i do remember this.... [20:50] TheDeveloper: here's the post-mortem for anyone interested: http://aws.amazon.com/message/65648/ [20:50] malkomalko: just wanted to confirm something with package.json dependencies, they get installed but then will activate new versions [20:50] isaacs: mjr_: but the memory record of actually doing it seems to be missing or corrupted... [20:50] malkomalko: I like npm bundle in that it bundles everything locally [20:50] mikeal: that esspecially important for an append-only file [20:50] malkomalko: is there a way to have dependencies be bundled on install? [20:50] mikeal: you want to open a readStream at a particular point, and continue reading forward [20:50] mikeal: also [20:50] mikeal: when you hit the end of the file [20:51] mikeal: you may not want to close [20:51] galaxywatcher has joined the channel [20:51] mikeal: you may just want to pause [20:51] newy has joined the channel [20:52] gmanika has joined the channel [20:53] isaacs: yes, these are good points. [20:53] nibblebot has joined the channel [20:53] techwraith: issacs: malkomalko and context were wondering how dependencies are stored for npm packages. When two packages have the same dependency, how many times does it get installed? [20:53] techwraith: I was thinking twice [20:53] isaacs: techwraith: enough times. [20:53] techwraith: lol [20:53] isaacs: techwraith: version 1.0 or 0.x? [20:54] techwraith: malkomalko is on 0.x [20:54] techwraith: but the answer for both would be nice [20:54] broofa has joined the channel [20:54] context: techwraith: i see how they are stored [20:54] context: techwraith: malkomalko sounded like he wanted to store them directly under node_modules [20:55] tjholowaychuk: context: each module gets a node_modules [20:55] tjholowaychuk: for it's deps [20:55] tjholowaychuk: AFAIK [20:55] tjholowaychuk: ACTION not up to date on npm goodness [20:55] xiagox has joined the channel [20:55] isaacs: tjholowaychuk++ [20:55] v8bot: isaacs has given a beer to tjholowaychuk. tjholowaychuk now has 25 beers. [20:56] isaacs: yes, that's mostly right [20:56] isaacs: if they're installed in the same root, and it's also a top-level dep in that root, then it will only be installed once. [20:56] isaacs: also, tj, srsly. those things go bad if you don't drink 'em [20:56] tjholowaychuk: ahahha [20:56] malkomalko: I know that it has a node_modules [20:57] tjholowaychuk: each ++ should be one starbucks dollar [20:57] malkomalko: my question is just that, when you install a package, things don't get installed into node_modules on 0.3.x [20:57] malkomalko: only npm bundle does [20:57] malkomalko: correct? [20:57] joe____ has joined the channel [20:57] daniellindsley has left the channel [20:57] NuckingFuts: lol I just looked at Joyent's Wikipedia article. The "key people" gave me a bit of a chuckle. You've got CEO, CO, etc., of course, but then you have Ryan, with the title of "Node.js creator" [20:57] context: hahaha [20:57] mjr_: Anybody know what conditions cause this "Connection timed out" exception? https://gist.github.com/949030 [20:57] techwraith: tjholowaychuk: We need a web app where we can register card numbers and bank accounts and have "++" donate a dollar each time it's used. [20:58] admc1 has joined the channel [20:58] context: kk thanks everyone. that cleared my head up a little. evne though i didnt ask [20:58] context: ACTION goes to try something [20:58] mjr_: I can't tell if this is client or server, let alone which connection it is associated with. [20:58] caike: malkomalko: correct [20:58] techwraith: the caike is a lie [20:58] techwraith: <_< [20:59] context: so. say im working on a project. how would i update its node_modules dir (ie: its not installed using npm) [20:59] techwraith: lol, sorry, happened again [20:59] caike: techwraith: lol [20:59] malkomalko: node_modules is just something that's in require.paths [20:59] roidrage_ has joined the channel [21:00] isaacs: context: `npm install` in the project root? [21:00] context: isaacs: i dont want to install it yet? :x [21:00] isaacs: context: are you using npm 1.0? [21:00] context: or that package.json really only works on installed packages? :x [21:00] isaacs: context: if so, `npm install` just installs the deps locally and runs any build scripts. [21:01] dominictarr has joined the channel [21:01] mape: isaacs: is there an article for moving people into the "new" npm? [21:01] isaacs: mape: writing now :) [21:01] isaacs: mape: and a script to clean up the old stuff [21:01] mape: isaacs: magic [21:01] isaacs: no sleep till jsconf [21:01] dominictarr: hey, is there an nodejs host which allows writes to disk? [21:01] isaacs: dominictarr: no.de does [21:01] mape: isaacs: any idea if there will be live thingys? [21:02] dominictarr: cool, thanks. [21:02] mape: for us foreign peeps [21:02] zzak has joined the channel [21:03] malkomalko: isaacs: if I have project a) that has a dependency of 'lib': '=1.0.0', and project b) with a dependency of =1.0.1 [21:03] mape: isaacs: btw any idea if I should get legal council for owning nodejs.se? Or should I just keep trucking? [21:03] malkomalko: if both projects do require('lib') and not require('lib@1.0.0') [21:03] malkomalko: will it be referencing the correct versions in both project a/b? [21:04] malkomalko: or will project a reference 1.0.1? [21:04] isaacs: malkomalko: it'll install both versions in the appropraite places. [21:04] isaacs: malkomalko: never ever ever do require("lib@version") [21:04] isaacs: that's wrong. [21:04] isaacs: and it will not ever work in 1.0 [21:04] malkomalko: I'm talking 0.3.x [21:05] bene has joined the channel [21:05] malkomalko: don't you just symblink 'lib' to 'lib@1.0.1' [21:05] malkomalko: ? [21:05] isaacs: malkomalko: nope. [21:05] isaacs: malkomalko: everything is nested. [21:05] isaacs: in node_modules folders [21:05] isaacs: no @ symlinking [21:05] xiagox has joined the channel [21:05] isaacs: ACTION .oO(thank goodness) [21:06] malkomalko: got it [21:06] context: isaacs: the node_modules entries are symlinks though.. to their proper versions [21:06] isaacs: context: when you use 0.x and bundle, yes. [21:06] isaacs: context: when you use 1.0 and install, they are the actual packages. [21:06] isaacs: and everything is then nested. [21:06] mape: isaacs: btw would you prefer if I redirect npm.mape.me to search.npmjs.org ? [21:07] context: isaacs: so if you install connect then express, qs and mime will installed 6 times ? [21:07] baudehlo: http://publib.boulder.ibm.com/infocenter/wsdatap/v3r8m1/index.jsp?topic=/xs40/convertingbetweenjsonandjsonx05.htm [21:07] context: isaacs: or.. if i install express, i wont have connect, but express will [21:07] isaacs: mape: i'm actually ok with having lots of different npm search things out there. [21:07] malkomalko: I don't see that that's true isaacs [21:07] malkomalko: ex: /usr/local/lib/node [21:07] mape: isaacs: k [21:07] malkomalko: has the .npm folder where all modules are [21:07] isaacs: malkomalko: upgrade to 1.0, and then let's have this conversation. [21:07] levi501d has joined the channel [21:07] isaacs: malkomalko: it's making me too sad to keep thinking about 0.x. [21:07] malkomalko: fair enough [21:07] malkomalko: lol [21:07] malkomalko: maybe that's the problem [21:07] isaacs: it is emotionally draining to continually look at past mistakes :) [21:08] brianm has joined the channel [21:08] malkomalko: FAIR ENOUGH [21:08] malkomalko: should we just wait till final hits in a few days? [21:08] context: kk im gonan try this [21:08] isaacs: malkomalko: just uninstall everything, `curl http://npmjs.org/install.sh | npm_install=rc sh`, and then enjoy the simpler layout [21:08] caolanm has joined the channel [21:08] mape: few days for 1. ? [21:08] isaacs: malkomalko: the current rc is almost 100% solid. just a few little edge-case things. [21:08] malkomalko: ok [21:08] isaacs: malkomalko: but "proper" release and 0.x deprecation starts this weekend. [21:09] context: hmm are we talking node 1.0 or npm [21:09] context: :x [21:09] eldios: npm-1.x [21:09] context: kk [21:10] eldios: now that I spent an evening fixing my scripts to comply with npm-0.[2-3].x -_-" [21:10] mape: comply? [21:10] eldios: mm..be compatible [21:11] eldios: =) my mistake [21:11] Nexxy: assimilate [21:11] Nexxy: resistance is futile [21:12] mape: eldios: what issues have you had? The package.json is the same? [21:12] eldios: also never listen to someone which has an n two x an e and a y in his/her name [21:12] mjr_: So how are you supposed to catch exceptions thrown by net read, net.js:163? Seems uncatchable. [21:12] kmiyashiro: if I do npm update -g with npm 1.0.1, it tries to install npm 0.3 :( [21:12] eldios: mape, I made a script to make a check to see if you have certain npm modules installed.. [21:13] mape: mjr_: suspend belief, use your imagination ;) [21:13] eldios: and it had to act differently from npm 1.x and 0.[2-3].x [21:13] Nexxy: someone stole my alias ._. [21:13] eldios: ^^ [21:13] mjr_: mape: also, keep your eye on the ball. [21:13] context: kmiyashiro: the npm readme says the registry only shows 0.3 cause 1.0 is not stable yet [21:14] mape: mjr_: the ball is under your bed, I can't catch it [21:14] xiagox has joined the channel [21:14] kmiyashiro: well that's weird because I've been using 1.0 for a while now and it didn't do that until 1.0.1 [21:14] eldios: don't joke on others' ball pls.. it can hurt :P [21:14] bstimmerman has joined the channel [21:14] Nexxy: eldios; inappropriate! [21:15] eldios: I didn't tell anything.. it's all their fault :P [21:15] Wizek has joined the channel [21:15] Nexxy: blame projection!!! [21:16] eldios: blame which project(ion) [21:16] Nexxy: I see what you did there -_- [21:17] rburhum has joined the channel [21:17] monteslu: ok, the whole node.js and express thing just clicked. damn beautiful. I think I'm in love [21:17] perlmonkey2 has joined the channel [21:17] wink_: slow down monteslu, put your pants back on [21:17] wink_: ;> [21:18] monteslu: haha [21:18] Nexxy: oi vey [21:18] Nexxy: who codes with pants on anyway? [21:18] TomY has joined the channel [21:18] mdwright_laptop has joined the channel [21:18] rburhum has left the channel [21:18] zzak: this guy [21:18] ryanj has joined the channel [21:18] techwraith: I'm not sure my co-workers would like it very much if I wasn't wearing pants... [21:18] mape: Nexxy: corp people [21:18] monteslu: man, I've been using springmvc, tomcat, apache, oracle, blah, blah, etc for a long, long time. Node.js + express + mongoose does all of that [21:19] tjholowaychuk: monteslu: ditching apache [21:19] tjholowaychuk: is great [21:19] tjholowaychuk: haha [21:19] techwraith: Yep :) [21:19] thalll has joined the channel [21:19] tjholowaychuk: i love working with an integrated server [21:19] malkomalko: ok isaacs.. just installed 1.0.. danke :) [21:19] techwraith: Ditching Oracle is even better ;) [21:19] mape: tjholowaychuk: ohai, about stylus [21:19] tjholowaychuk: mape: ye yeee? [21:19] Nexxy: mape, "corporate people" is an oxymoron [21:19] zzak: corpulate people isnt [21:20] techwraith: At what point does a startup become "corporate"? [21:20] monteslu: or copulating people even [21:20] techwraith: 'cause technically I work at an incorporated company... [21:20] Nexxy: techwraith, as soon as you have an HR department [21:20] malkomalko: isaacs: you there? [21:20] mape: tjholowaychuk: my coworker found it out just today randomly and thought it was awsome, I had to say yes... but. It is a pita having to keep eveything parseable, mixing spaces/tabs and k&r/allman, why doesn't stylus "just" use a css formater before doing magic? [21:21] techwraith: Well then... I suppose I'm a corporate person [21:21] techwraith: lol [21:21] drudge: me too techwraith ;) [21:21] context: err wtf [21:21] techwraith: 'Cept our HR doesn't really care about anything [21:21] Nexxy: sounds about right [21:21] context: wow ! [21:21] techwraith: Nexxy, I meant that in a good way [21:21] tjholowaychuk: mape: all you really need to do to keep it parsable is not write really weird css though lol [21:21] tjholowaychuk: later versions are better [21:22] context: npm defaults to installing to the current directory? [21:22] tjholowaychuk: blueprint is fine, html boilerplate is fine now [21:22] tjholowaychuk: mape: some things cause ambiguity that is not easy to parse or that I haven't implemented yet like how you were doing body\n{\n} [21:22] Nexxy: techwraith, I suppose you're excused then... [21:22] mape: tjholowaychuk: yeah, but I keep havin issues with css failing, c/p fancy buttons css, resets, odd ie hack etc [21:22] rudolfrck has joined the channel [21:22] eldios: context, use -g (npm -g install express) [21:22] xiagox has joined the channel [21:23] ArtistConk has joined the channel [21:23] tjholowaychuk: mape: well if there are specifics I can fix them [21:23] tjholowaychuk: its really new man :p sass is like 5 years old for comparison [21:23] tjholowaychuk: the *foo: bar [21:23] tjholowaychuk: hack [21:23] tjholowaychuk: I just added support for [21:24] tjholowaychuk: but supporting indentation based AND css based syntaxes in the same parser [21:24] tjholowaychuk: is challenging [21:25] mape: tjholowaychuk: well the indentation part, isn't there already code for normalizing it? [21:25] malkomalko: looks like binaries changes with npm 1.0.. since there is no more global node modules dir [21:25] tjholowaychuk: mape: braces are optional [21:25] mape: oh yeah [21:25] tjholowaychuk: if it were just the css syntax [21:25] mape: your fault.. :P [21:25] tjholowaychuk: it would be so easy [21:26] GasbaKid has joined the channel [21:26] drudge: who doesn't love braces [21:26] mape: so easier to go from strict no {} to {} and then parse it? [21:26] tjholowaychuk: mape: well that's essentially the same as just parsing it [21:26] tjholowaychuk: straight-up [21:26] tjholowaychuk: same logic would be applied [21:27] mape: then why is optional braces harder? [21:27] tjholowaychuk: because i support both in the file at the same time [21:27] tjholowaychuk: same parser [21:27] duncanbeevers: tjholowaychuk: Why? [21:27] tjholowaychuk: duncanbeevers: why not? :p you can use the indentation syntax, plop in something like blueprint as-is [21:28] tjholowaychuk: and continue with your syntax [21:28] tjholowaychuk: no need for a separate extension name etc [21:28] mape: tjholowaychuk: what you should do, is just get two chickens, have them fight it one, and the one who wins gets to choose if you support {} or not [21:28] tjholowaychuk: haha [21:28] tjholowaychuk: meh [21:28] mape: that makes total sense [21:28] techwraith: I saw make them mandatory ;) [21:28] tjholowaychuk: it's fine within reason, people just shouldnt do foo{ bar:baz}rawr{} [21:29] tjholowaychuk: just cant be really bad css [21:29] mape: and if you get an issue, just said the wrong chicken won [21:29] duncanbeevers: Interesting, though kind of sloppy. I guess I feel like that kind of stuff should be handled by a separate post-transform concatenation step. [21:29] tim_smart has joined the channel [21:29] techwraith: but I like sticking as close the the parent language as possible. [21:29] sechrist_: SubStack: you're UTC-9? :P [21:29] sechrist_: https://github.com/joyent/node/wiki/Node-Users [21:29] cwang has joined the channel [21:29] mape: tjholowaychuk: Seems like the best reason ever to close issues :P "chicken disapproves" [21:29] tjholowaychuk: duncanbeevers: you would have to duplicate tons of logic [21:30] SubStack: sechrist_: not anymore [21:30] SubStack: but I was! [21:30] mape: tjholowaychuk: well wouldn't it "just" be a pre input clean step [21:30] sechrist_: I was thinking you did that to get on top of the list [21:30] sechrist_: :D [21:31] tjholowaychuk: mape: kinda but easier said than done [21:31] tjholowaychuk: feel free to check out the parser lol [21:31] JimBastard has joined the channel [21:31] tjholowaychuk: it's pretty complicated [21:31] mape: that way the parsing afterwards would be easier, and the step before would be a pain of hurt [21:31] jbpros has joined the channel [21:32] tjholowaychuk: it would work fine, be slightly cleaner, but also duplicate a lot of logic [21:32] context: kk that... kind of makes sense to install locally per project. kind of [21:32] xiagox has joined the channel [21:32] tjholowaychuk: for little gain [21:32] GasbaKid has joined the channel [21:32] eldios: context, investigate also the "link" option [21:33] kawaz_home has joined the channel [21:33] mape: tjholowaychuk: for sure, just saying it has kept me off using stylus because of the issues. Which is unfortunate [21:33] eldios: no more global node_modules dir? [21:33] eldios: O_o" [21:33] mape: eldios: -g ? [21:33] eldios: * looks like binaries changes with npm 1.0.. since there is no more global node modules dir* [21:33] tjholowaychuk: mape: yeah. unfortunately until we have crazy good coverage it will happen, but the latest version is quite a bit better [21:33] eldios: I read this [21:33] tjholowaychuk: oh wait [21:33] tjholowaychuk: i didnt release it yet [21:34] mape: tjholowaychuk: lier! [21:34] mape: :P [21:34] malkomalko: i know eldios.. can't figure out how to access binaries anymore [21:34] malkomalko: what does that mean for something like expresso? [21:34] malkomalko: know what I'm saying? [21:34] tjholowaychuk: the boilerplate css [21:34] tjholowaychuk: is bad [21:34] tjholowaychuk: but it parsees [21:34] context: uhh the npm-install man page doesnt show -g [21:34] tjholowaychuk: parses* [21:34] tjholowaychuk: that's why I like indentation based haha people cant write really sloppy css [21:35] mape: ACTION throws two spaces indentation on tjholowaychuk  [21:35] context: im actually not liking npm 1.0 [21:35] jpld has joined the channel [21:35] jpld has joined the channel [21:36] mape: context: same here :) but isn't that because of expectations rather then implementation? [21:36] __tosh has joined the channel [21:36] sstephenson: npm 1.0 rocks. you will come around [21:36] context: so... my project has express.... which has connect... what if i need to access connect [21:36] context: i install connect. [21:36] context: now i have connect twice [21:37] malkomalko: I like it so far [21:37] context: and qs and mime twice [21:37] context: or more. [21:37] malkomalko: just how does it work with binaries? can't figure it out [21:37] mape: context: use -g ? [21:37] malkomalko: where is that little tidbit mape? [21:37] context: mape: yeah -g failed and succeeded ? im not even sure [21:37] eldios: context, and again.. read more on "man npm-link" [21:37] GasbaKid has joined the channel [21:37] mape: malkomalko: my though on world domination? [21:37] malkomalko: ahh ok [21:38] mape: malkomalko: the docs for npm are pretty good [21:38] context: wow. [21:38] malkomalko: didn't know about link [21:38] mape: if they aren't poke isaacs and they get better real soon :) [21:38] context: so now i have connect installed globally and express installed locally [21:38] context: this is even more confusing . [21:38] zkirill has joined the channel [21:38] mape: context: then keep using -g ? [21:38] context: mape: here is an example [21:38] context: i want my project self contained [21:39] context: so i npm install it [21:39] context: npm install express [21:39] context: my project needs to access something in conenct itself [21:39] context: well... npm isnt letting me. apparently express' copy of connect is to good to let me touch it [21:39] broofa_ has joined the channel [21:39] context: so i npm install connect ? [21:40] tjholowaychuk: context: just add connect to your package.json as well [21:41] context: omg [21:41] JimBastard: ACTION has lost all context. [21:42] tjholowaychuk: mape: k 0.12.0 should be better [21:42] tjholowaychuk: forgot to release after all that stuff [21:42] EvanCarroll: Since most requests are GET requests without bodies, Node provides this convenience method. [21:42] malkomalko: brilliant [21:42] ryanj has joined the channel [21:42] context: so. instead of my project having one consistent version of connect. i could theoretically be running 10 different versions [21:42] malkomalko: npm install expresso -g [21:42] malkomalko: good for packages with binaries [21:42] malkomalko: AWESOME! [21:42] EvanCarroll: who makes a GET request without a body? [21:42] malkomalko: love this [21:42] malkomalko: love npm 1.0 [21:42] mape: tjholowaychuk: <3 [21:42] EvanCarroll: isn't that exactly what a HEAD request is? [21:42] tjholowaychuk: mape: and error reporting actually works now hahaha, was last on my todo list [21:43] tjholowaychuk: though the messages are not always to helpful since most people dont think like a parser does [21:43] malkomalko: lot of .gitignore changes to add node_modules dir [21:43] tjholowaychuk: i need better contextual messages [21:43] GasbaKid has joined the channel [21:43] sveimac has joined the channel [21:43] mape: tjholowaychuk: "somthing broke, most likely your fault" [21:43] telemachus: I'm not completely sure, but I think overall we should be happy most people don't think like a parser does. [21:43] telemachus: Could make life hard otherwise. [21:43] tjholowaychuk: mape: haha, just stuff like expected indent got foobar [21:43] tjholowaychuk: blahblah [21:43] mape: yeah [21:44] Ned_: isaacs: is there any downside to leaving old versions of a package on npm ? [21:44] tjholowaychuk: though it's like most error reporting it's usually showing something before or after what the real issue is [21:44] mape: yeah [21:45] Schmallon has joined the channel [21:45] a2800276 has joined the channel [21:46] mdwright_laptop has left the channel [21:46] jmorris_ has joined the channel [21:46] jmorris: Does anyone know what might be causing this? I am using express. "Can't use mutable header APIs after sent." [21:47] sechrist has joined the channel [21:47] JimBastard: mutable header api! woot [21:47] tjholowaychuk: jmorris: double callback most likely [21:47] tjholowaychuk: next() twice etc [21:47] JimBastard: jmorris: sounds like you are trying to set headers after the write is happening, no idea what that means in the context of express. listen to tjholowaychuk [21:47] sveimac has joined the channel [21:47] mape: tjholowaychuk: now you'r just guessing [21:47] tjholowaychuk: mape haha nope [21:47] tjholowaychuk: that is usually [21:47] tjholowaychuk: what it is [21:47] tjholowaychuk: 99% of what I have seen [21:47] teemow has joined the channel [21:48] JimBastard: ive seen things man [21:48] jmorris: double call back eh? ok [21:48] JimBastard: tjholowaychuk: you gonna be at jsconf / nodeconf? [21:48] tjholowaychuk: JimBastard: nah cant make it out i was going to speak at nodeconf but lots of stuff going on up here [21:48] tjholowaychuk: (canada) [21:48] mape: JimBastard: hate to spoil it, he is a ghost [21:48] tjholowaychuk: haha [21:48] tjholowaychuk: i dont exist [21:48] context: http://pastie.org/1848780 [21:48] kmiyashiro: how would you create in jade? [21:48] JimBastard: tjholowaychuk: dont lie, nothing is ever going on in canada [21:48] context: why do i need to install connect twice... just cause my app needs access to it [21:48] JimBastard: that sucks, i was looking forward to meeting you [21:48] kmiyashiro: I think it's converting the \x3C into < [21:49] jmorris: tjholowaychuk: I only get the error if i refresh the page, too [21:49] mape: JimBastard: pretend people is still the best way to meet friends [21:49] SubStack: I bet Canada doesn't even have trampoline dodgeball [21:49] techwraith: context: I thought we went over this... [21:49] JimBastard: ahahahah SubStack [21:49] tjholowaychuk: kmiyashiro: might need to double escape it [21:49] JimBastard: SubStack: that shit was awesome man [21:49] JimBastard: im soo spent today [21:49] tjholowaychuk: since it's a js string [21:49] GasbaKid has joined the channel [21:49] JimBastard: my arm is soo sore [21:49] davidcoallier has joined the channel [21:50] context: techwraith: no. npm-link does not solve my issue [21:50] mape: JimBastard: no girlfriend? :P [21:50] SubStack: likewise! [21:50] jmorris: lol [21:50] asdfsafdsa: trampoline dodgeball? [21:50] JimBastard: mape: naah, they know better [21:50] JimBastard: asdfsafdsa: nodejitsu company event [21:50] asdfsafdsa: that sounds so... unique [21:50] jmorris: http://cache.ohinternet.com/images/0/0e/Forever_Alone.png [21:50] asdfsafdsa: are there videos? [21:50] isaacs: Ned_: no, it's fine [21:50] tjholowaychuk: jmorris: bahaha [21:50] JimBastard: asdfsafdsa: naaah, we were dumb and didnt take photos [21:50] context: techwraith: so for the hell of it. i can probably have my app using 20 different versions of the mime package. which im sure v8 will actually load 20x. good for memory usage too ? [21:50] isaacs: Ned_: since there may be dependents, it's actually sometimes a good idea. [21:50] JimBastard: jmorris: Disregard women, acquire node.js modules. [21:50] jmorris: lol! [21:51] Ned_: isaacs: sweet ... I had to re-learn how to use npm, it'd been so long [21:51] isaacs: Ned_: you on 1.0? if not, you should upgrade before you learn anymore. [21:51] Ned_: that said, between last time I used it and now, things have gotten _very_ simple :-) [21:51] Ned_: kudos [21:51] kmiyashiro: tjholowaychuk: I tried adding it to a var and using !{} to output it but it still does it [21:51] Ned_: err, I installed off a fresh clone [21:51] Ned_: so I assume I had the latest version [21:51] isaacs: oh, ok, then yeah [21:51] isaacs: we're transitioning :) [21:52] Ned_: I had to find a nodejs that was newer than Ubuntu had :p [21:52] tjholowaychuk: kmiyashiro: no no, like \\xnn [21:52] tjholowaychuk: try that [21:52] kmiyashiro: oh [21:52] Ned_: isaacs: I haven't actually written any code for ages, just been merging pull requests from many people who are writing code for me :p [21:52] kmiyashiro: ok [21:52] jmorris: JimBastard: i get that error on the second request, does that mean the first one isn't finished? [21:52] mape: JimBastard: so that is the reason you did the node project using code -> voice? :P [21:52] techwraith: context: You'll have to take that up with isaacs [21:53] JimBastard: mape: lol [21:54] SubStack: JimBastard: can you make a guest appearance for my talk? [21:54] nibblebot has joined the channel [21:54] JimBastard: SubStack: sure [21:54] SubStack: excellent [21:55] techwraith: Anyone here going to the Yammer afterparty for jsconf? [21:55] jtsnow has joined the channel [21:56] fakewaffle has left the channel [21:56] javaanse_jongens has joined the channel [21:56] fakewaffle has joined the channel [21:57] kUrld has joined the channel [21:57] davidcoallier has joined the channel [21:57] __tosh has joined the channel [21:58] mikeal has joined the channel [22:00] asdfsafdsa: substack, nice work on dnode [22:00] ArtistConk has joined the channel [22:02] context: i guess express/connect is a bad example [22:02] context: actually no its not. [22:04] context: better example: im using connect, and my app needs to use mime.... but no, i have to have it installed twice [22:04] context: so what my app shows, could in fact be wrong cause connect is using a different version of mime than i am [22:05] context: and i dont see connect giving access to mime [22:05] techwraith: context: I'm not really sure why that's an issue [22:05] tjholowaychuk: context: yeah that's a fundamental issue [22:05] tjholowaychuk: with the modules [22:06] context: tjholowaychuk: its a created issue with 1.0 [22:07] tjholowaychuk: eyah i keep forgetting to expose it [22:07] tjholowaychuk: but it happens withother mods too [22:07] tjholowaychuk: i had to change a bunch of stylus [22:08] tjholowaychuk: because of require() giving a different object [22:08] bwinton` has joined the channel [22:08] context: kk time to head home. [22:09] context: i like the local node_modules. but not nested. :/ [22:09] context: and not having an unknown amount of copies of everything installed [22:09] isaacs: context: pretend that they're not nested, but that your dependencies just have no dependencies. [22:09] isaacs: context: it's a known amount :) [22:09] isaacs: context: npm ls will tell you how much :) [22:10] context: hahaha [22:10] context: hahahahaha ! [22:10] isaacs: context: you should name all the dependencies you depend on [22:10] isaacs: and then you'll get them [22:10] context: kk. ill hagle you when i get home some more [22:10] context: ;) [22:10] isaacs: and if they depend on different versions of things, then they'll get the versions that they need [22:11] isaacs: :) [22:11] isaacs: you gonna be at nodeconf? [22:12] techwraith: isaacs: You're going up against facebook, I'm not sure I'll be able to attend your talk :( [22:12] techwraith: I'm really curious how they're using node there [22:13] RoboTeddy has joined the channel [22:13] test has joined the channel [22:13] SubStack: I haven't heard anything coming out of facebook todo with node [22:14] Lorentz has joined the channel [22:14] test: do facebook use node? [22:14] Nexxy: techwraith, it's obvious how facebook uses node... the same way they use everything else... to mine and sell as much of your data as possible! [22:14] Xano has joined the channel [22:15] test: thought they used erlang [22:15] isaacs: techwraith: psha [22:15] Nexxy: npm is much more interesting IMO [22:15] isaacs: techwraith: "blah blah blee bloo we use node blah blah blah poke friends chat blah blah" [22:15] test: nvm [22:15] Nexxy: privacy violation is only entertaining for so long [22:15] isaacs: no, srsly, it's probably better. [22:15] isaacs: i might go to that instead, too [22:16] test: anyone here using node.js in production? [22:16] Nexxy: not a one [22:16] RoboTeddy: is it suggested to put node.js behind something (e.g. nginx) in production? [22:16] test: apparently so yep [22:16] v0idless- has joined the channel [22:17] test: i believe ryan has said that [22:17] Nexxy: put it behind haproxy [22:17] Nexxy: ftw [22:17] test: im a bit concerned though that node only uses one core [22:17] techwraith: isaacs, Nexxy: I work at Yammer, facebook has a lot of the same problems we do... [22:17] hunterloftis has joined the channel [22:17] RoboTeddy: test: you can probably run more than one node.js process on a server [22:17] AntelopeSalad: wasn't that from when node was version 0.1.x? [22:17] isaacs: techwraith: orly? what team? [22:17] isaacs: ACTION is a yahoo alum [22:17] RoboTeddy: test: you can likely just run as many processes as you have cores [22:18] hunterloftis: express + jade -> there must be a standard way to include a file verbatim in jade's output, right? [22:18] [[zz]] has joined the channel [22:18] techwraith: isaacs: I was on the platform team until Monday :) [22:18] test: @robo - wont they fight for the libraries though ? [22:18] test: C libs i mean [22:18] techwraith: isaacs: Same as Mikeal and mde [22:18] RoboTeddy: test: fight? in what sense? [22:18] tjholowaychuk: hunterloftis: a file? of what? [22:19] hunterloftis: tjholowaychuk: of anything, just text - like, to inline JS into a