[00:00] nonnikcam has joined the channel [00:01] sveisvei has joined the channel [00:01] jimt has joined the channel [00:04] eb4890 has joined the channel [00:04] dgathright has joined the channel [00:05] dominic__ has joined the channel [00:07] jdalton has left the channel [00:08] saikat_ has joined the channel [00:08] oleeanga has joined the channel [00:08] dshaw has joined the channel [00:08] ajcates has joined the channel [00:09] eddanger has joined the channel [00:10] mies has joined the channel [00:12] mbrochh has joined the channel [00:12] jashkenas has joined the channel [00:13] jpick has joined the channel [00:17] nivoc has joined the channel [00:17] piscisaureus: bye [00:18] muk_mb: bye! [00:19] RushPL has joined the channel [00:23] gravyrobber has joined the channel [00:24] piscisaureus has joined the channel [00:30] stonecobra: I like how easy SSL was to get running in 0.4.1 [00:31] stonecobra: just used my cert from my apache server [00:31] pauls has joined the channel [00:31] blaines has joined the channel [00:32] thaostra has joined the channel [00:32] sriley has joined the channel [00:32] stonecobra: any opinions or example on a simple oauth client integration? should I use oauth2-client or just oauth? [00:33] blaines has joined the channel [00:33] Adman65 has joined the channel [00:34] Me1000 has joined the channel [00:35] pyrotechnick has left the channel [00:36] cloudhead: ryah: https://gist.github.com/838008 - it was actually more of an edge case than I thought, but the test there throws on HEAD, and passes with the commit [00:37] dustinwhittle has joined the channel [00:38] nivoc has joined the channel [00:38] nornagon_ has joined the channel [00:38] FireFly|n900: Graah, darn it debian [00:38] FireFly|n900: I don't want node 0.2.0 [00:39] derferman has joined the channel [00:39] thaostra has left the channel [00:41] pt_tr has joined the channel [00:44] TomY has joined the channel [00:45] FireFly|n900: Does anyone know if 0.2.0 had any known bugs with console.log? [00:47] Kinbote has joined the channel [00:51] miccolis has joined the channel [00:51] lukegalea has joined the channel [00:52] Kinbote: anyone used this lib yet? https://github.com/kirm/sip.js [00:52] Kinbote: i'm trying to find out about the author, but this "kirm" fellow does not appear to have any other online presence [00:55] Saurus has joined the channel [00:56] cloudhead: is there an event, or some way to check when a net.Server has flushed all data out, after a close()? [00:56] cloudhead: 'close' gets emitted before that it seems [00:57] iszak has joined the channel [00:58] ryah: cloudhead: net.Server doesn't have data [00:59] ryah: sockets are independent of it... [01:00] cloudhead: ryah: hmm that's what I feared, means I'd have to track the connections right? [01:01] mbrochh has joined the channel [01:01] mbrochh has joined the channel [01:03] zzak: http://img.skitch.com/20110221-trj5e9g1d3u11jgrns384gpx78.jpg [01:04] lukegalea has joined the channel [01:04] ryah: cloudhead: yes [01:04] ryah: cloudhead: in v0.5 we're going to have a way to iterate over the connections [01:04] ryah: kind of. [01:05] shaver: if you ask nicely [01:05] gravyrobber has joined the channel [01:05] cloudhead: aha cool [01:06] ShizWeaK_: ryah: is there a way to 'touch' a file with nodes fs module? [01:06] cloudhead: well, I see socket does server.connections-- [01:06] ryah: the whole event system is going to get a bit more malleable [01:06] cloudhead: it would just take an event there [01:06] cloudhead: when connections == 0 [01:07] ryah: ShizWeaK_: fs.WriteStream('file').end(); [01:07] bentruyman has joined the channel [01:07] zentoooo has joined the channel [01:07] gagaforgaga has left the channel [01:07] ShizWeaK_: ryah: ty! [01:07] shaver: ryah: that's, um, a little more destructive than touch! [01:07] ryah: shaver: ah, true [01:07] shaver: (if the file exists) [01:08] shaver: you want O_EXCL and then if that fails try to set mtime [01:08] shaver: it's a disaster, API-wise [01:08] shaver: not one of Ritchie's finest [01:09] ryah: oh libc if only we could have a do-over [01:09] ryah: things could be so beauitful [01:09] evl has joined the channel [01:09] evl has joined the channel [01:09] ryah: #include [01:09] tmpvar has joined the channel [01:09] ryah: netServer *s = net_createServer("localhost", 8000); [01:10] rogerat has joined the channel [01:10] ryah: net_server_on("connection", handleConnection); [01:10] ryah: ACTION dreams. [01:13] squeeks: I stick to dreaming about fast cars, sandy beaches and attractive people. Meh, different strokes for different folks. [01:13] squeeks: Whatever floats your boat, son [01:13] iszak: D: I login and do git pull and there's no updates [01:15] pyrotechnick has joined the channel [01:15] ShizWeaK_: ryah: I thought you liked a challenge? [01:16] pyrotechnick: SubStack: marco [01:17] boaz has joined the channel [01:20] ryah: ChrisPartridge: if i wasn't managing this project :) [01:25] JimBastard has joined the channel [01:25] eb4890 has joined the channel [01:25] Ond has joined the channel [01:25] mbrochh has joined the channel [01:25] mbrochh has joined the channel [01:26] TooTallNate: zzak: wtf is that guy? lol [01:27] eddanger has joined the channel [01:27] joelklabo has joined the channel [01:28] jpstrikesback: TooTallNate: hey could I potentially use the icecast-stack as a source for an icecast server? [01:29] Evet_ has joined the channel [01:30] TooTallNate: jpstrikesback: well you use icecast-stack to inject icecast metadata into a regular node Stream instance [01:30] lukegalea has joined the channel [01:31] TooTallNate: jpstrikesback: See https://github.com/TooTallNate/NodeFloyd for a use case of icecast-stack [01:31] jpstrikesback: so it's more to feed straight to a player? [01:31] jpstrikesback: yeah, been reading :) [01:31] jpstrikesback: too bad the player page is down, was looking forward to a night of bootleg floyd [01:32] marcello3d has joined the channel [01:32] TooTallNate: Well you have your http server, for every connection to the icecast URL, you need to invoke a converter (lame, oggenc, etc), the converter's stdout is what gets sent to the icecast client [01:32] TooTallNate: then, you create an IcecastWriteStack instance for every HTTP connection [01:33] atmos_: are there any big thing you need to change for a streaming api in 0.4.0 ? [01:33] jpstrikesback: k, I'm smelling it now [01:33] TooTallNate: I'll put the test server back up tonight. [01:34] TooTallNate: I've been having problems implementing HTTP Live Streaming into NodeFloyd, that's why it's been down [01:34] zzak: tootallnate, that would be scumbag programmer [01:34] TooTallNate: zzak: lol [01:34] Ratty_: Allocates memory. Never frees. [01:35] jpstrikesback: rock on :) thanks for this, it's pretty flipping cool [01:38] rfay has joined the channel [01:40] RushPL has joined the channel [01:40] marienz_ has joined the channel [01:40] Djui has joined the channel [01:41] arlolra has joined the channel [01:42] temp02 has joined the channel [01:42] pyrotechnick: SubStack: ping [01:43] pyrotechnick: anyone know if you can broadcast in dnode? [01:43] jacobolus has joined the channel [01:44] tjholowaychuk has joined the channel [01:47] gravyrobber has joined the channel [01:49] mbrochh has joined the channel [01:49] mbrochh has joined the channel [01:51] lukegalea has joined the channel [01:51] Ond: Not sure if there's a dedicated method for that but it isn't a difficult thing to whip up externally, pyrotechnick [01:52] pyrotechnick: yeah i am using an eventemitter atm [01:52] pyrotechnick: just wondering if it was built it but it doesnt look like it [01:52] Ond: Ah [01:52] ezmobius has joined the channel [01:53] rogerat has joined the channel [01:55] marcello3d: is there a list of "production" sites using node.js somewhere? [02:01] samcday: marcello3d: https://github.com/ry/node/wiki/Projects,-Applications,-and-Companies-Using-Node [02:04] lukegalea has joined the channel [02:06] marcello3d: thanks [02:07] marcello3d: hmmm [02:08] marcello3d: bit unorganized in that sense, first few all seem like small coding projects [02:11] marcello3d: are there any more impressive lists? :) [02:11] marcello3d: like "wow node.js is awesome look at all these awesome sites made with it" ? [02:11] bshumate has joined the channel [02:11] bshumate has joined the channel [02:11] tjholowaychuk: marcello3d: its primary focus is not really for web apps [02:12] tjholowaychuk: it will come though [02:12] Ond: There are some interesting sites but I'm not sure what you expect [02:12] marcello3d: ond: just more organization [02:12] mbrochh has joined the channel [02:12] mbrochh has joined the channel [02:12] Ond: Did you see the node knockout competitors? [02:12] Ond: Like on the nodejs.org site? [02:12] tjholowaychuk: yeah nodeko was way better than rails rumble [02:12] tjholowaychuk: i judged for that [02:12] marcello3d: I saw the site, but not the competitors [02:12] tjholowaychuk: it was pretty boring [02:13] Ond: Scrabb.ly was what impressed me most [02:13] mlncn has joined the channel [02:13] marcello3d: they seemed more like tech demos than actual production sites? [02:13] Ond: Yeah, they were [02:13] marcello3d: and a lot of the links don't work? [02:13] Ond: google.com [02:13] marcello3d: maybe no.de is down [02:13] marcello3d: cause none of the ones hosted on there are working [02:14] bartt1 has joined the channel [02:14] marcello3d: which is all of them, apparently [02:14] zachsmith has joined the channel [02:14] Ond: Did you search for them, marcello? [02:15] marcello3d: no, I went to the node knockout website [02:15] marcello3d: and clicked on them [02:15] marcello3d: that's reasonable, no? :) [02:15] Ond: Right, the links are obviously bad. Google.com's first result for swarmation is correct [02:15] marcello3d: ok [02:15] Ond: It's reasonable but it won't get oyu anywhere to sit and complain [02:15] Ond: No offense [02:16] TooTallNate has joined the channel [02:16] marcello3d: =P [02:16] marcello3d: none taken [02:18] TooTallNate: I put NodeFloyd back up for the guy who wanted to try it [02:18] marcello3d: scrabbly/word2 is cool [02:18] TooTallNate: Sorry, dont remember your name, was on my other computer a few minutes ago so I don't have any IRC log [02:18] Ond: Indeed [02:22] perlmonkey2 has joined the channel [02:24] unomi has joined the channel [02:24] zachsmith: TooTallNate: Does that use the html 5 audio on the client? [02:25] TooTallNate: yes, 100% of the time [02:25] zachsmith: cool [02:26] sigue has joined the channel [02:27] brianmario has joined the channel [02:27] bartt has joined the channel [02:27] bingomanatee has joined the channel [02:27] jpstrikesback: TooTallNate: was me, thanks again [02:28] TooTallNate: ya no prob. It's running without the HTTP Live Streaming stuff, so it shouldn't crash. I've ran this version for days [02:28] dominic__ has joined the channel [02:28] daveyjoe_ has joined the channel [02:29] TooTallNate: For anyone who doesn't know what we're talking about: http://tootallnate.net:5555/ [02:30] lukegalea has joined the channel [02:30] stonecobra: does fs have a current working directory? Can you use a relative path from the node process? [02:30] cainus: Nate: cool :) [02:30] braddunbar has joined the channel [02:30] cainus: stonecobra: yep [02:31] stonecobra: in 0.4.1, I start my process and a fs.readFileSync('certs/ssl.key') is failing. moving to 'ssl.cert' and moving the file to the current directory works, the file has the same perms as the certs dir [02:32] mnot: TooTallNate: I feel rickrolled, but a decade earlier... [02:32] insin has joined the channel [02:32] samcday has joined the channel [02:32] ChrisPartridge: stonecobra: hm, maybe try ./certs/ssl.key [02:32] TooTallNate: mnot: Sorry, it's Node-related, if you couldn't tell [02:32] mnot: :) [02:33] stonecobra: ChrisPartridge: fails as well [02:33] TooTallNate: stonecobra: I usually do "__dirname + '/certs/ssl.key'" [02:34] stonecobra: __dirname is a magic var? sweet [02:34] TooTallNate: yes [02:34] postwait has joined the channel [02:34] TooTallNate: v8: __dirnamew [02:34] v8bot: TooTallNate: ReferenceError: __dirnamew is not defined [02:34] TooTallNate: v8: __dirname [02:34] v8bot: TooTallNate: ReferenceError: __dirname is not defined [02:34] TooTallNate: not here though :p [02:35] TooTallNate: I guess the v8bot isn't a nodebot [02:35] amccollum has joined the channel [02:35] tjholowaychuk: WEIRD the net.Server#close() method tries to unlink() the local domain sock, and never gets the callback :S [02:36] bentruyman has joined the channel [02:36] marcello3d: too many shouting guys [02:36] cainus: stonecobra: ./certs/ssl.key doesn't work? something similar works for me... you sure you just don't have a typo? [02:39] stonecobra: awesome, thanks TooTallNate. [02:39] stonecobra: cainus, let me re-check [02:40] iszak: it would be cool if node.js could have a start-up switch to easily distribute the load across multiple children instances if an instance of node becomes blocking. [02:40] mbrochh has joined the channel [02:40] mbrochh has joined the channel [02:40] tjholowaychuk: iszak: http://learnboost.github.com/cluster/ [02:40] iszak: built in. [02:40] tjholowaychuk: :p [02:41] iszak: it would make node even more powerful [02:41] tjholowaychuk: yeah [02:41] ryanfitz has joined the channel [02:41] stonecobra: cainus: You are right, typo. More caffeine to fix [02:42] cainus: ;) [02:45] tjholowaychuk: jesus, dtrace output is hard to read amongst all the lstat polling [02:45] dominic__ has joined the channel [02:47] jacobolus has joined the channel [02:51] tbranyen: so happy npm doesn't bitch about sudo anymore [02:51] tbranyen: that was driving me nuts [02:53] amccollum has joined the channel [02:54] insin: I could only get npm to install for the first time this evening by installing node without configuring it to go in ~/local/ - so much for following instructions ;) [02:54] sonnym has joined the channel [02:55] twoism has joined the channel [02:55] tbranyen: insin: i've only been able to get it installed as complete superuser [02:55] tbranyen: not sudo [02:55] tbranyen: which is strange [02:56] iszak: being root is better anyway [02:56] iszak: I always do everything as root. [02:56] dominic__ has joined the channel [02:56] insin: It refused to install for me as root on Turnkey, kept complaining about permission errors on .npm :/ [02:58] iszak: we need more endorsed/defacto middleware. [02:59] gravyrobber: is there a way to tell which file a progress event is in reference to when handling a multi-file upload with formidable [03:01] mjr_ has joined the channel [03:03] tjholowaychuk: <3 stylus [03:05] stonecobra: is it possible to use connect via https? [03:05] Saurus has joined the channel [03:06] tjholowaychuk: stonecobra: not yet unfortunately [03:06] tjholowaychuk: its comin [03:07] stonecobra: but I *want* to use it, but I *have* to have SSL. I will try to find another way for now. [03:07] mbrochh has joined the channel [03:07] w0rse_ has joined the channel [03:08] pyrotechnick: stonecobra: proxy it [03:08] oleeanga has joined the channel [03:08] softdrink has joined the channel [03:08] tjholowaychuk: stonecobra: we are prepping our app for 0.4.x [03:08] tjholowaychuk: so connect is of course part of that [03:08] tjholowaychuk: so shoudl be shortly [03:09] stonecobra: pyrotechnick: I will try that. [03:09] tjholowaychuk: stonecobra: but yeah we have been using stunnel [03:09] stonecobra: tjholowaychuk: let me know if you want testing help [03:12] tjholowaychuk: stonecobra: thanks, will do [03:14] SubStack: pyrotechnick: pong [03:14] pyrotechnick: was just wondering if you could broadcast in dnode [03:14] pyrotechnick: but i found your broadcast test [03:14] pyrotechnick: you're just using eventemitters like the chat and performance demo [03:15] pyrotechnick: is that your recommendation? [03:15] SubStack: yep [03:15] pyrotechnick: sick [03:15] SubStack: also check out the article I wrote about pubsub in dnode [03:15] tmpvar_ has joined the channel [03:16] SubStack: pyrotechnick: http://substack.net/posts/9bac3e [03:16] vonkow has joined the channel [03:16] pyrotechnick: cheers man [03:16] SubStack: oh hah, updating that article to use hashish [03:16] pyrotechnick: mmmkai [03:17] konobi: have many folks checked out node-ctype? [03:17] SubStack: it's using traverse/hash, which doesn't work with the latest npm [03:17] pyrotechnick: it does now [03:17] pyrotechnick: well [03:18] pyrotechnick: yesterday we had to hack quite a few libraries to get my comrades machine setup [03:18] pyrotechnick: today i came in and just npm [03:18] pyrotechnick: everything from the registry and it worked [03:18] SubStack: oh yeah? [03:21] langworthy has joined the channel [03:22] robotarmy has joined the channel [03:23] Coal has joined the channel [03:23] sonnym has joined the channel [03:23] SubStack: konobi: I've looked over it a little [03:24] SubStack: I don't really think that the C struct way of doing it is so useful for javascript [03:24] SubStack: but then I have several of my own binary packing/parsing libs [03:26] blueadept has joined the channel [03:27] jesusabdullah: Is hashish any different from traverse/hash? [03:27] petridish has joined the channel [03:27] jesusabdullah: Or was it just factored out? [03:27] SubStack: also I don't like how node-ctype has an endian mode attached to each parser instead of attaching the endianness to the method call [03:28] SubStack: jesusabdullah: it's pretty much exactly the same [03:29] SubStack: node-ctype can do floats though [03:29] SubStack: maybe I'll add it as a dependency for node-binary so it can do them too >:D [03:29] luke` has joined the channel [03:29] SubStack: and likewise for put [03:34] ryah: SubStack: i think that was a good idea [03:34] ryah: (it might have been my idea) [03:35] ryah: you do not change endian-ness mid-protocol [03:35] SubStack: ryah: with the protocols I've had to parse, you do! [03:35] ryah: if you can give me a counter example, i'll go tell robert to change it [03:36] SubStack: rfb has variable endianness, for instance [03:36] SubStack: specified in the initial protocol negotiation [03:36] SubStack: but then some types are always big endian [03:37] pyrotechnick has joined the channel [03:37] ryah: SubStack: can you point me to some specific documentation of that? [03:37] mbrochh has joined the channel [03:37] mbrochh has joined the channel [03:37] jakehow has joined the channel [03:38] petridish: Is there an IRC channel for connect/express support? [03:39] tjholowaychuk: petridish: nope feel free to ping me [03:39] tjholowaychuk: or hit up the mailing list [03:39] SubStack: ryah: http://www.realvnc.com/docs/rfbproto.pdf [03:40] zylo has joined the channel [03:40] SubStack: the big-endian-flag sets what endianness the pixel dumps have [03:40] petridish: tjholowaychuk: If I make an app using connect-form, does running it locally cause any problems? All I get is a parser error. [03:40] SubStack: everything else is big endian [03:40] tjholowaychuk: petridish: should be fine no matter then environment [03:41] tjholowaychuk: petridish: unless the multi-part body is invalid [03:41] sonnym has joined the channel [03:41] petridish: tjholowaychuk: I'm running the multipart example from the repo and running into the problem. [03:42] tjholowaychuk: petridish: hmm maybe it is choking on a corrupt file or something, not sure. it uses felixge's node-formidable mod [03:42] petridish: yeah [03:42] ossareh has joined the channel [03:42] petridish: The odd thing is that it's parsed the file correctly a few times. So I don't know where I'm screwing up. [03:42] tjholowaychuk: hm [03:42] petridish: I'll keep on it. I just needed to make sure there wasn't some localhost issue. [03:42] ryah: SubStack: wouldn't you create the parser once you know the endianness of your peer? [03:42] ryah: and not before? [03:43] jeromegn has joined the channel [03:43] jtsnow has joined the channel [03:43] ezmobius has joined the channel [03:43] ChrisPartridge: uhh how did I live without nave [03:44] kkaefer: when I create buffers from c++ (in node v0.4), they are of type SlowBuffer [03:44] SubStack: ryah: not sure what you mean by 'create the parser' [03:44] kkaefer: that means that instanceof Buffer checks will fail on them [03:44] kkaefer: is that intended behavior? [03:45] tmzt: if I have a submodule in my cluster setup acting as a vhost, how do I get the require path correct in the submodule (if the lib/ is under the submodule as well) [03:45] SubStack: kkaefer: you can do Buffer.isBuffer() [03:45] tmzt: or, what is the correct way to say __dir and would that apply to a cluster vhost? [03:45] kkaefer: SubStack: ah, thanks! [03:46] tjholowaychuk: tmzt: not sure I understand the question [03:46] tjholowaychuk: __dir? [03:46] marcello3d: tjholowaychuk: you built stylus? [03:46] tjholowaychuk: marcello3d: yeah [03:46] marcello3d: been using it :) [03:46] tjholowaychuk: cool man :) [03:47] tmzt: tjholowaychuk: okay, I have a git repo with cluster/ that will be my cluster server, I have all the sites under development, alpha etc. in submodules [03:47] marcello3d: did you do jade as well? [03:47] tjholowaychuk: yup [03:47] tmzt: I'm having an issue where something under submodule/lib can't be resolved [03:47] marcello3d: probably should post this on github, but it'd be nice if attributes didn't need comma separation :) [03:47] tjholowaychuk: tmzt: hmm, I guess it really depends what the require()s are, and the state of require.paths [03:47] marcello3d: if you forget them, jade freaks out [03:47] marcello3d: (or in my case I was porting some haml/scaml) [03:48] tmzt: well, the modules were standalone site before running with spark, they each need their own version of lib/ [03:48] tjholowaychuk: marcello3d: haha yeah helped a guy with that today, the problem is that I need to parse js expressions in order to do attrs properly [03:48] tmzt: what is the proper syntax to get the current directory of a module? I'll just try that [03:48] tjholowaychuk: tmzt: __dirname [03:48] tmzt: ok [03:49] marcello3d: yea, I think scaml uses foo={} for expressions [03:49] tjholowaychuk: but requires like require('./foo') should work [03:49] petridish: tjholowaychuk: Perhaps this other error is a sign of something else being wrong: https://gist.github.com/838185 Any thoughts? [03:50] tjholowaychuk: petridish: looks fine [03:51] tjholowaychuk: marcello3d: jade just uses some naive split()s right now for attrs [03:51] tjholowaychuk: nothing crazy [03:51] marcello3d: yea, I hacked it a little bit [03:51] tjholowaychuk: ill get around to it some day [03:51] marcello3d: but didn't come up with anything I liked [03:52] eyesUnclouded has joined the channel [03:53] insin: yay, first time using Node.js and the modules I want to add server-side functionality to with it work with the addition of exports :) https://gist.github.com/838187 [03:53] insin: ACTION notices the time :-/ [03:54] ryah has joined the channel [03:54] petridish: tjholowaychuk: Any thoughts on what is causing my error? Using node 0.2.6 [03:54] tmzt: tjholowaychuk: https://gist.github.com/838195 [03:55] tjholowaychuk: tmzt: the repl might fuck with it, i would just use files to test [03:55] tjholowaychuk: repl does weird things some times i dunno [03:55] tmzt: the problem seems to be it's not relative to the submodule (development/app.js) [03:55] tmzt: I did, same error [03:55] tmzt: I ran node vhost.js [03:56] dominic__ has joined the channel [03:56] tjholowaychuk: hm [03:56] tjholowaychuk: the relative requires should always be relative to the calling script [03:56] tjholowaychuk: AFAIK [03:56] tmzt: that won't work very well here [03:56] marcello3d: yes [03:56] marcello3d: what tj said [03:56] tmzt: I need the inner lib/ to be dependent on the version of the site [03:56] tjholowaychuk: tmzt: why not? [03:57] marcello3d: can you do ../ ? [03:57] tmzt: so it's under development which tracks the development branch of the sites git [03:57] tjholowaychuk: marcello3d: yup [03:57] Jourkey has joined the channel [03:57] marcello3d: (asking tmzt ) [03:57] tjholowaychuk: oh [03:57] tjholowaychuk: lol [03:57] tmzt: marcello3d: I think that would be backwards [03:57] tmzt: what I need is a cluster.chroot() :) [03:57] marcello3d: the other thing you can do is pass stuff in [03:57] tmzt: but not unix chroot [03:57] tmzt: hmm [03:58] tmzt: or a module.require.paths [03:58] tmzt: in node [03:58] marcello3d: like module.exports = function(stuff-to-pass-in) { ... module code ... } [03:58] marcello3d: then require("lib/foo")(...stuff...) [03:58] tmzt: hmm, pass what exactly? [03:58] tjholowaychuk: tmzt: .set('working directory', 'whatever') [03:58] tmzt: in the module? [03:58] tmzt: or on the server [03:58] tmzt: okay [03:59] tjholowaychuk: sounds like more of a structure issue and not cluster [03:59] marcello3d: how does cluster deal with socket.io? (I'm not super familiar with how websockets work) [04:00] tjholowaychuk: I haven't tried but it should be fine, I know guillermo is going to use it [04:00] tjholowaychuk: with my nedis project as well [04:00] tmzt: development.set('working directory', './development'); [04:00] tmzt: same error [04:00] marcello3d: ah, websocket runs over http [04:00] tmzt: how can I debug [04:00] tmzt: oh [04:00] tjholowaychuk: tmzt __dirname + '/development' [04:00] tjholowaychuk: use node's debugger [04:02] amccollum has joined the channel [04:02] meso_ has joined the channel [04:02] tmzt: oh, the require is failing before the set [04:02] mbrochh has joined the channel [04:02] mbrochh has joined the channel [04:04] tmzt: can you pass something in require() ? [04:04] tmzt: hmm [04:06] tmzt: is .set() a connect feature or a node feature? [04:07] tjholowaychuk: set is express [04:07] tmzt: or should I structure my app.js differently, like have it export one function or initialize it to a express.createServer nad pass that [04:07] tmzt: so it would be development(express.createServer()) [04:07] tjholowaychuk: i dont really get what your development() thing is doing [04:08] tjholowaychuk: express has app.configure() for environment specifics [04:08] tmzt: module.export = function(server) { server.gets() } [04:08] tmzt: in the app.js [04:09] tmzt: I had them setup for spark but it's going to have to be different for cluster it seems [04:09] softdrink has joined the channel [04:09] tjholowaychuk: just have each one do var app = module.exports = express.createServer(); [04:09] tjholowaychuk: and cluster(require('./myapp')).listen(80) [04:10] tjholowaychuk: well with the vhost i guess connect.createServer(blah blah bah) [04:10] tjholowaychuk: and pass that server to cluster [04:10] tmzt: that's what it was doing [04:10] tmzt: that didn't work because the requires were in the module scope [04:10] tjholowaychuk: it should work fine i do stuff like that all the time [04:11] tmzt: how do you handle require paths in the sites then? [04:11] tjholowaychuk: I just do relative requires [04:11] tmzt: relative to the outer site? [04:11] isaacs has joined the channel [04:12] marcello3d: wow, some questions on stack overflow are just....so poorly written [04:12] shaver: I was trying my best :-( [04:12] marcello3d: I mean, what's with the ending questions with [04:13] edude03 has joined the channel [04:13] marcello3d: ".....?????" [04:13] marcello3d: is that going to make people answer the question better or something? [04:14] sleeplessinc has joined the channel [04:15] tmzt: oh, it was fixed at some point, it's another of the site copies that is broken, oops [04:16] marcello3d: does cluster provide any support for nodes talking to each other? any recommendations? [04:17] tjholowaychuk: marcello3d: not really, you could utilize the same IPC API that I use internally [04:17] tjholowaychuk: but [04:17] tjholowaychuk: I would recomment using a third-party module [04:17] tjholowaychuk: that is less specific [04:18] tjholowaychuk: its not really the goal of the lib [04:18] marcello3d: right [04:18] ChrisPartridge: redis would work yeah? [04:18] shaver: zeromq [04:18] marcello3d: redis would be a bit overkill, right? I'd need to run yet another server/database? [04:18] tjholowaychuk: marcello3d: if you just need local IPC just use a local socket [04:19] tjholowaychuk: with json [04:19] shaver: then you have to do all the messaging shit [04:19] shaver: framing, error handling, etc. [04:19] marcello3d: ideally I'd probably want something that's inter-cpu as well [04:19] tjholowaychuk: yeah [04:19] shaver: dnose [04:19] tjholowaychuk: its pretty easy though [04:19] shaver: dnode [04:19] shaver: (dnose would be the dnode-specialized traffic sniffer) [04:19] mikeal has joined the channel [04:19] marcello3d: though knowing that two node instances are on the same server is probably helpful [04:19] unomi has joined the channel [04:20] marcello3d: yea, I'm thinking of using dnode, just wanted to see what other people thought :) [04:20] marcello3d: would you run a dnode server on the cluster master? [04:20] marcello3d: then have the cluster workers connect to it? [04:20] shaver: just a warning [04:20] tjholowaychuk: marcello3d: you could, master is not really all that active right now [04:21] shaver: if you say "quorum" or "two phase", I'm going to throw up in my mouth a little [04:21] marcello3d: I don't know what those are... [04:21] marcello3d: but rum sounds good [04:21] marcello3d: looking at zeromq [04:22] marcello3d: is this for intra- or inter-computer [04:23] bartt has joined the channel [04:23] marcello3d: I guess both [04:23] tjholowaychuk: what are you looking for? [04:23] tjholowaychuk: inter? [04:23] tjholowaychuk: sounded like you just wanted to talk locally to the workers or something [04:23] marcello3d: well, I want to build the site so I'm not limited to a single server if I want to scale down the line [04:23] zorzar has joined the channel [04:24] shaver: well then [04:24] shaver: what you need is CORBA [04:24] marcello3d: ;D [04:24] shaver: nyh2p [04:25] marcello3d: now you're speaking in code D: [04:25] shaver: now you have two problems [04:26] postwait: shaver: it's a bit hard to talk about solving distributed systems problems if you don't want to hear about the core of the problems you need to solve. [04:26] shaver: postwait: I know [04:27] tjholowaychuk: yeah you dont really need to over think that until you come to a real issue [04:27] shaver: postwait: I did my time [04:27] marcello3d: probably [04:27] tmzt: tjholowaychuk: got it working, wrapped the inner server in a function(app, path) { ... require.paths.unshift(path+'/lib'); return app; } [04:27] marcello3d: the real issue now is having multiple node instances on one server [04:27] tmzt: and used vhost(function(express.createServer, 'vhost')) [04:27] marcello3d: that need to talk to each other [04:27] tmzt: and used vhost(function(express.createServer(), 'vhost')) [04:27] marcello3d: because I'm using socket.io [04:27] tjholowaychuk: marcello3d: how so though? what kind of state are you relying on? [04:27] tjholowaychuk: ah [04:28] marcello3d: basic chat functionality [04:28] tmzt: er, function would be development [04:28] postwait: shaver, I know you did your time... I'm surprised that the work quorum will make you sick :-) [04:28] postwait: As I did my time as well [04:28] slaskis_: isaacs: is the directories.lib config in package.json already deprecated? i found it very useful as it would give me nicer require() path, is there an alternative? [04:28] isaacs: slaskis_: yes [04:28] shaver: it just brings back bad memories [04:29] isaacs: slaskis_: i mean, yes, it's deprecated [04:29] postwait: Sure it isn't just Oracle that brings back those memories? [04:29] tmzt: shaver: are per- session/cookiejars ever going to be a reality? [04:29] isaacs: slaskis_: you can move the modules into the root of the package, if you want. [04:29] shaver: and I *might* have been exaggerating for effect [04:29] mbrochh has joined the channel [04:29] mbrochh has joined the channel [04:29] shaver: tmzt: I think something like it, yes [04:29] isaacs: slaskis_: saving 4 bytes in your require() statement isn't worth the overhead in complexity in the module loader. [04:29] shaver: postwait: I didn't have to deal with them at Oracle :-) [04:30] mjr_: To help battle the scourge of CORBA, thankfully we have GI JSON. [04:30] slaskis_: isaacs: aha, ok, it was nice to keep things in ./lib though [04:30] shaver: I did CORBA at Netscape in '97 [04:30] isaacs: slaskis_: yeah [04:30] mjr_: CORBA Commander, etc. [04:30] shaver: in Java [04:30] shaver: DO NOT RECOMMEND IT [04:30] isaacs: mjr_: you are a real american hero [04:30] slaskis_: i guess that's why it was there in the first place... [04:30] mjr_: isaacs: thanks, knowing is half the battle. [04:30] tmzt: tjholowaychuk: okay, cli colors work better with screen in 4.1? [04:30] shaver: is there an Ice binding for node? [04:30] isaacs: you know what i had for dinner tonight? pork chop sandwiches. true story. [04:31] isaacs: hoooooooooooooooo [04:31] tmzt: other than that it looks good, now I have to figure out how to reload each of those servers [04:31] mjr_: isaacs: pork chop sandwiches is not a thing that exists, like simple distributed systems. [04:31] mjr_: Which also do not exist. [04:31] tjholowaychuk: tmzt: what do you mean work better [04:31] isaacs: http://www.youtube.com/watch?v=L1BDM1oBRJ8 [04:31] tjholowaychuk: what is it doing right now [04:32] tmzt: hurt me [04:32] tjholowaychuk: tmzt: just getting the escape chars? [04:32] tmzt: had it going into less [04:32] yhahn has joined the channel [04:32] tmzt: because it was dumping the full module in the stack dump, so I lessed it [04:32] gagaforgaga has joined the channel [04:32] tmzt: it looks good [04:32] marcello3d: zeromq looks fun [04:32] marcello3d: anyone here use it? [04:32] tjholowaychuk: mmk [04:33] tmzt: my ultimate would be to have a git push hook on the repo that retriggered the server module for each vhost [04:33] zemanel has joined the channel [04:33] tmzt: but I can figure out how to do it from cli that's fine [04:33] tjholowaychuk: SIGUSR2 [04:34] tmzt: per module? [04:34] tjholowaychuk: on [04:34] tjholowaychuk: no* [04:34] tjholowaychuk: just one [04:34] tjholowaychuk: just the master [04:34] tjholowaychuk: it's irrelevant how many vhosts you have [04:35] tmzt: are they running as different processes? [04:35] tjholowaychuk: nope [04:35] tmzt: PID on linux [04:35] tmzt: or PPID [04:35] tjholowaychuk: PID = process id PPID = parent process id [04:35] marcello3d: vhost just looks at the Host: HTTP header [04:35] tjholowaychuk: connect's vhosts are nothing special [04:35] tjholowaychuk: just middleware that looks at the host header like he mentioned [04:36] slaskis_: tjholowaychuk: i'm using cluster and the reload thing doesn't work very well, it seems to be unable to _resolveFilename: https://gist.github.com/da08c2cba783968308fd [04:36] tjholowaychuk: probably the smallest connect middleware actually haha [04:36] tjholowaychuk: slaskis_: yeah it seems to be a little problematic [04:36] tjholowaychuk: what version? [04:37] adrian_berg: npm's aim isn't to be cross-js-platform compliant like seed.js, correct? [04:37] tmzt: can reload trigger a function? [04:37] isaacs: adrian_berg: nope. [04:37] noahcampbell has joined the channel [04:37] tjholowaychuk: tmzt: the object returned by cluster(server) emits the "restarting" / "restart" events [04:37] slaskis_: tjholowaychuk: 0.1.1, i see now that it's really old [04:38] tjholowaychuk: slaskis_: ah, yeah its moving fast lol [04:38] slaskis_: someone's been busy [04:38] isaacs: adrian_berg: npm is the package client and publisher for node. [04:38] tmzt: so, when it gets restarting is the old server gone? [04:39] dominic__ has joined the channel [04:39] tjholowaychuk: tmzt: yeah. master duplicates itself (and in turn the workers), when the old master finishes up with connections [04:39] tjholowaychuk: it dies [04:39] tjholowaychuk: and the new one just remains as-is [04:39] tjholowaychuk: but emits the 'restart' event, as the old one has officially finished [04:39] tmzt: and how does that work with vhosts? [04:39] tjholowaychuk: vhosts have nothing to do with cluster [04:39] tjholowaychuk: vhosts are just a tiny connect middleware [04:40] davidwalsh has joined the channel [04:40] marcello3d: think of vhosts as just different .get("/foo") routes [04:40] tjholowaychuk: tmzt: https://github.com/senchalabs/connect/blob/master/lib/connect/middleware/vhost.js [04:40] gagaforgaga has left the channel [04:40] marcello3d: but instead of routing on path, you routing on host [04:40] tjholowaychuk: yup [04:40] tjholowaychuk: vhost() just happens to accept an http.Server instance [04:40] tjholowaychuk: and passes the request on to it [04:40] tmzt: okay, is the event per .use() in the outer connect server? [04:41] tmzt: like can I detect an event on each of those and reload it [04:41] tjholowaychuk: you dont need to [04:41] tjholowaychuk: lol [04:41] slaskis_: isaacs: the new npm is a bit stingy, it won't let me uninstall old packages...: https://gist.github.com/e74b2dddc134ab278b60 [04:41] marcello3d: does npm update itself? [04:42] Me1000 has joined the channel [04:42] tmzt: tjholowaychuk: I can run three different cluster instances I guess on three different ports and let nginx handle it [04:42] stonecobra: using http://www.catonmat.net/http-proxy-in-nodejs to front the SSL and using connect on port 80 in the background. Seems to be working so far [04:42] tmzt: but I was trying to avoid that [04:42] isaacs: marcello3d: only when you tell it to [04:42] tjholowaychuk: tmzt: you dont need to lol [04:42] tjholowaychuk: i think you are confused man :( [04:43] tjholowaychuk: its tough to explain [04:43] tjholowaychuk: i will screencast about it some time [04:43] isaacs: slaskis_: yeah, invalid json breaks it. [04:43] adrian_berg: thanks for the responses isaacs [04:43] tmzt: I am, I have three different sites checked out from the same git repo [04:43] isaacs: slaskis_: i guess it should do the eval thing if it's something already installed.. [04:43] tmzt: I want them served by different vhosts under the same domain [04:43] isaacs: slaskis_: cuz that is a bit too obnoxious [04:43] tmzt: I want to be restart them independently [04:43] tjholowaychuk: AH [04:43] tjholowaychuk: that you did not mention [04:44] tjholowaychuk: then yes you need different clusters [04:44] slaskis_: isaacs: yeah, that might be a good idea. if at least for a transition period [04:44] tmzt: and SIGUSR2 each of them [04:44] tjholowaychuk: but graceful restarts mean that should not really matter [04:44] tmzt: with a nice little script [04:44] tjholowaychuk: well [04:44] tjholowaychuk: no [04:44] tjholowaychuk: if you plan on reloading all of them at the same time [04:44] tjholowaychuk: then just use one cluster [04:44] tjholowaychuk: but i gotta go [04:44] tmzt: no, each of them with it's own script [04:44] tmzt: ok [04:47] ajnasz has joined the channel [04:48] sonnym has joined the channel [04:48] mikeal has joined the channel [04:49] langworthy has joined the channel [04:51] nornagon_ has joined the channel [04:54] brapse has joined the channel [04:58] apoc has joined the channel [04:58] TomY has joined the channel [05:02] dominic__ has joined the channel [05:02] temp02 has joined the channel [05:05] isaacs: slaskis_: coming soon: https://github.com/isaacs/npm/commit/80cd4bdd070bd4d61d259db8b89f84b796234887 [05:13] pauls has joined the channel [05:13] isaacs: about ready to just say that node-glob doesn't work on solaris. [05:14] isaacs: that seems like such a cop out, though [05:14] davidascher has joined the channel [05:15] warz has joined the channel [05:16] davidascher: Is it http-legal to do res.cookie(name, value) immediately followed by a res.redirect('blah')? Will the cookie get stored browserside before the redirect happens? [05:18] iszak: davidascher, should do, yes. [05:18] ChrisPartridge: davidascher: give it a shot, i'm sure it would be fine [05:18] meatmanek has joined the channel [05:18] davidascher: ok. then it's something else my code is doing wrong =) [05:18] iszak: because the redirect is a header Location I believe, so is cookie [05:19] gravyrobber has joined the channel [05:20] mike5w3c_ has joined the channel [05:20] ryah: iszak: yeah - what's wrong? [05:20] ryah: isaacs: -^ [05:20] isaacs: ryah: sys/cdefs.h [05:20] Emmanuel has joined the channel [05:21] slaskis_: isaacs: brilliant, thanks [05:21] ryah: isaacs: hm - that doesn't mean anything to me [05:21] isaacs: ryah: doesn't exist on solaris. and when I went through and defined the macros that it's lacking (or just pull it in from netbsd), it's giving me some guff about expected primary-expression before "struct" [05:21] isaacs: ryah: it's working now on bsd, mac, and linux, though [05:23] isaacs: ryah: the line that's causing that upset is this: readdirfunc = ((struct dirent*)(*)(void*)) readdir; [05:23] Ratty_: I need to copy a lot of files. I tried this, but I get "too many open files" errors: sys.pump(fs.createReadStream(file), fs.createWriteStream(dst)); [05:23] Ratty_: What should I use? [05:23] russell_h: Ratty_: find a way to limit the number of files being simultaneously copied [05:24] isaacs: Ratty_: I have some code in npm that backs off when it gets an EMFILE error [05:24] ChrisPartridge: Ratty_: throttle it? [05:24] Ratty_: Hmm okay. Ta [05:24] isaacs: Ratty_: https://github.com/isaacs/npm/blob/master/lib/utils/graceful-fs.js [05:25] isaacs: Ratty_: i gradually ratchet up the timeout as the error keeps happening [05:25] Ratty_: Cool, cheers. [05:26] razvandimescu has joined the channel [05:26] davidascher has joined the channel [05:26] langworthy has joined the channel [05:27] isaacs: Ratty_: it doesn't handle createReadStream or createWriteStream, though [05:27] isaacs: Ratty_: so there's a bit of "exercise for the reader" there [05:28] Ratty_: I'll work it out [05:28] Ratty_: Still getitng used to the whole async nature of it [05:30] bingomanateeIpho has joined the channel [05:31] bingomanateeIpho: Hey pyro [05:31] langworthy has joined the channel [05:31] ChrisPartridge: isaacs: quick question regarding nave, if i nave use 0.4.1 and npm install a few packages, then nave usemain 0.4.1, will this be using the npm packages installed inside the nave shell? [05:32] isaacs: ChrisPartridge: no [05:32] isaacs: ChrisPartridge: you'll still be able to `nae use 0.4.1` to drop into that shell, though [05:34] losing has joined the channel [05:35] ChrisPartridge: isaacs: ah ok, teach me to stop making assumptions :-) [05:35] slaskis_: hmm, is this a new error in connect/express? Error: Can't render headers after they are sent to the client. [05:36] bingomanateeIpho has joined the channel [05:38] russell_h: does google groups not show attachments in the web UI? [05:38] slaskis_: nvm, imissed a previous error [05:42] sockdrawer has joined the channel [05:49] ryan_ has joined the channel [05:49] ryan_: Hi [05:51] shaver: you again [05:51] shaver: oh, nm [05:52] Aria has joined the channel [05:56] admc has joined the channel [05:57] zylo has joined the channel [05:57] ryan_: Would anyone have any experience using node.js to aggregate/prefetch content from links? I could really use some help. [05:58] russell_h: ryan_: whats wrong? [05:59] galaxywatcher has joined the channel [06:00] tlrobinson has joined the channel [06:01] ryan_: russell_h: I'm trying to prefetch content from several (around 60) given links in a very short amount of time, and it seems to get ahead of itself before it can render the content for serving it out in readable format. [06:01] russell_h: what do you mean by 'get ahead of itself'? [06:07] ryan_: Sadly, I'm not sure. It will fetch links asynchronously and my rendering method of the fetched content (using Readability https://www.readability.com/ ) takes longer to process that content. I guess I'm not sure how to queue it properly, so it fetches one at a time. [06:07] Madonna has joined the channel [06:08] LadyGaga has joined the channel [06:08] Madonna: yo yo yo, the material girl is in da node [06:08] russell_h: ryan_: no idea, sorry [06:09] Madonna: ACTION and LadyGaga moonlight as ECMAScript prodigies writing node.js apps [06:11] Ratty_: Okay, I have files copying perfectly. But they don't preseve file permissions (specifically the +x bit). How would I read the permissions from the original file and write them to the destination file? [06:11] LadyGaga: ACTION wrote her first y-combinator loop in C at the age of 9. [06:11] Utkarsh_ has joined the channel [06:11] russell_h: Ratty_: call fs.stat() on the source file [06:11] Ratty_: Ah yeah [06:11] Ratty_: Cheers [06:15] skm has joined the channel [06:20] Madonna: Lady Gaga - Coder Face [06:21] LadyGaga: MA MA MA MA... I WANT CODE IT LIKE THEY CODE IT IN LINUX PLEASE [06:22] bartt1 has joined the channel [06:24] Yuffster has joined the channel [06:32] Ond has joined the channel [06:34] slaskis_: npm doesn't like me [06:34] dgathright has joined the channel [06:34] slaskis_: i can't install 0.3.4 because i have v0.4.0 of node [06:34] slaskis_: too bad i just missed isaacs: https://gist.github.com/770596211e92ecd1485f [06:36] Aria: Works for me with 0.4.1... [06:37] temp02 has joined the channel [06:37] LadyGaga: Would node.js be a good platform for delivering audio to a web app? [06:38] briznad has joined the channel [06:38] bingomanatee has joined the channel [06:40] Aria: Sure. [06:42] dspree has joined the channel [06:42] dspree has joined the channel [06:46] stagas has joined the channel [06:49] bartt has joined the channel [06:51] miner_ has joined the channel [06:52] aguynamedben has joined the channel [06:52] temp02 has joined the channel [06:53] andrewfff has joined the channel [07:00] razvandimescu has joined the channel [07:01] slaskis_: Aria: hmm, maybe there's a change between 0.4.1 and 0.4.0 but the semver should work with both as they're written i'd think [07:04] zachsmith has joined the channel [07:06] Saurus has left the channel [07:08] mikeal has joined the channel [07:08] nornagon_ has joined the channel [07:13] bingomanatee: pyrotechnick: ping [07:14] luke` has joined the channel [07:14] bartt1 has joined the channel [07:17] mraleph has joined the channel [07:18] aguynamedben has joined the channel [07:18] ion- has joined the channel [07:21] SamuraiJack has joined the channel [07:26] muk_mb: hey, is anyone on joyent's no.de? [07:26] muk_mb: I think mine's broken [07:26] bartt has joined the channel [07:27] russell_h: muk_mb: at least when it launched, joyent had an irc channel they were quite responsive in [07:27] muk_mb: oh yeah? remember the name? [07:28] russell_h: mmm, maybe #joyent, but thats just a guess [07:28] shaver: #no.de? [07:28] muk_mb: nothing in #no.de [07:28] slaskis_: muk_mb: i'm also playing with no.de [07:29] slaskis_: i've gotten some support on #joyent before, but emailing them is usually best [07:29] muk_mb: kk [07:29] muk_mb: thanks [07:30] muk_mb: oh hey, I fixed it [07:30] muk_mb: yay [07:30] slaskis_: yay :) [07:30] muk_mb: http://goodwinlabs.no.de/resume.html [07:30] muk_mb: hehe [07:33] jesusabdullah: What do band apps involve? [07:34] jesusabdullah: <_> [07:34] muk_mb: just basic fan content, upcoming shows, blog/twitter posts, music the apps can download and play [07:34] jesusabdullah: Hey, engineering! AWWW YEA [07:34] muk_mb: stuff like that [07:34] jesusabdullah: ^5 [07:34] losing has joined the channel [07:34] muk_mb: ^_^ [07:34] jesusabdullah: <--Mech. Eng'g grad student [07:34] muk_mb: nice [07:34] jesusabdullah: and most likely becoming a javascript developer when I graduate [07:34] jesusabdullah: lol [07:35] muk_mb: haha [07:35] muk_mb: long as you enjoy it eh? [07:35] jesusabdullah: Yeah :D [07:36] temp02 has joined the channel [07:36] jesusabdullah: I like the ideas behind research, but I don't think I'm huge on the whole, "get grant, work ass off on project before funding runs out and/or your graduation deadline hits" [07:36] jesusabdullah: thing [07:36] muk_mb: yeah that sounds stressful [07:36] jesusabdullah: and engineering industry, at least up here, is pretty lame [07:36] jesusabdullah: It's an interesting problem engineering-wise [07:36] muk_mb: my first girlfriend is getting her masters in ME, she tells me all the time how stressful it is [07:36] Utkarsh_ has joined the channel [07:36] muk_mb: I'm glad I'm not in grad school, hehe [07:36] jesusabdullah: No longer your girlfriend, I take it? ;) [07:37] russell_h: muk_mb: is that like an ex? [07:37] russell_h: or is there a second one? [07:37] jesusabdullah: My ex is an EE major [07:37] jesusabdullah: undergrad [07:37] jesusabdullah: she used to complain about being stressed/anxious all the time [07:37] muk_mb: yeah, we broke up in high school, but we still talk [07:37] jesusabdullah: way more than I do [07:37] jesusabdullah: Ah [07:37] jesusabdullah: Ah [07:37] jesusabdullah: Yeah, that's a bit different [07:37] Emmanuel: ah, interesting conversation [07:37] jesusabdullah: I just recently broke up, so [07:37] Emmanuel: I just resigned from my researcher job [07:37] Emmanuel: because it was too much stress [07:37] jesusabdullah: -heh- [07:37] Emmanuel: and not rewarding at all [07:37] jesusabdullah: Anyway! REsearch! [07:37] muk_mb: nice [07:37] shaver: we're hiring researchers [07:38] jesusabdullah: I got to go to a sweet conference in December [07:38] Emmanuel: (I mean, a fair amount of stress is ok) [07:38] shaver: may be a less stressful environment, since there's no grant-chasing :-) [07:38] jesusabdullah: got to stay in Oakland with the stackvm guys [07:38] muk_mb: if you're in NYC/Boston, hire me: http://goodwinlabs.no.de/resume.html [07:38] Emmanuel: if you're in Hong Kong, hire me [07:38] jesusabdullah: shaver: what kinda research ooc? [07:38] shaver: CS/software engineering [07:38] jesusabdullah: hmm [07:39] shaver: language VMs, security, parallelism, static analysis, etc. [07:39] muk_mb: so stuff that will make your beard nice, long and bushy [07:39] muk_mb: hehe [07:40] shaver: (live program analysis, debugging tools, graphics, user interface) [07:40] russell_h: are you making any VMs? [07:41] jesusabdullah: Sounds like stuff I'm not ready for yet [07:41] shaver: we have one-and-a-half-and-a-quarter now [07:41] jesusabdullah: I'm good at problem solving and such, but the headier CS concepts trip me up [07:41] shaver: may make a research-focused one, or refactor our production one [07:41] jesusabdullah: since I'm still working on the basics [07:45] seivan has joined the channel [07:48] ivanfi has joined the channel [07:51] emattias has joined the channel [07:55] briznad1 has joined the channel [07:55] gozala has joined the channel [07:56] Coal has joined the channel [07:58] stagas: lol want watchers? https://github.com/astro/gitpop [07:58] ttpva has joined the channel [07:58] stagas: wonder how long it'll take for github to fix that [07:59] floby has joined the channel [07:59] floby has left the channel [08:01] ziro` has joined the channel [08:02] Utkarsh has joined the channel [08:02] temp02 has joined the channel [08:02] kjeldahl has joined the channel [08:03] emmanuel_ has joined the channel [08:03] meso_ has joined the channel [08:05] TomY has joined the channel [08:07] groom has joined the channel [08:11] datapimp has joined the channel [08:12] dthompson has joined the channel [08:12] datapimp: does anybody have a recent copy of express-contrib? [08:15] killfill has joined the channel [08:17] mbrochh has joined the channel [08:18] xmilliard has joined the channel [08:18] aabt has joined the channel [08:21] killfill has joined the channel [08:21] shaver: mikeal: I think you're lined up against basically all of computer science on this one :-) [08:22] jesusabdullah: ? [08:22] shaver: a twitter conversation about typeof(NaN) [08:22] mikeal: so, your declaration for python is off [08:22] shaver: how so? [08:22] mikeal: because you don't ever create NaN [08:22] mikeal: you get it as the result of a bad parse [08:22] jesusabdullah: hmm [08:22] shaver: not true [08:23] mikeal: in Python you don't get NaN from a bad parse, you usually get an exception or null [08:23] shaver: >>> n = float('nan') [08:23] shaver: >>> m = float('asdf') [08:23] shaver: Traceback (most recent call last): File "", line 1, in [08:23] shaver: ValueError: invalid literal for float(): asdf [08:23] jesusabdullah: You can import types in python, too [08:23] shaver: sure [08:23] mikeal: right right [08:23] shaver: but you can get NaN, and it has numeric type [08:23] jesusabdullah: which is pretty awkward tbh [08:23] shaver: parseInt could throw, but it predates exceptions [08:23] mikeal: typeof parseInt('asdf') === number [08:23] jesusabdullah: Does js have a NaN? [08:23] shaver: yes [08:23] jesusabdullah: Huh [08:24] jesusabdullah: I haven't seen it yet [08:24] mraleph has joined the channel [08:24] mikeal: that's what everyone trips on [08:24] jesusabdullah: Must've just been careful so far [08:24] jesusabdullah: How do you get a NaN? [08:24] shaver: !v8 isNaN(parseInt("asf")) [08:24] jesusabdullah: I just tried to divide by zero and node gave me infinity! [08:25] shaver: hmm [08:25] shaver: what's the v8bot syntax? [08:25] jesusabdullah: v8: isNaN(parseInt('lol')) [08:25] v8bot: jesusabdullah: true [08:25] NuckingFuts: v8: isNaN('lol') [08:25] v8bot: NuckingFuts: true [08:25] NuckingFuts: rofl [08:25] jesusabdullah: v8: isNaN(1/0) [08:25] v8bot: jesusabdullah: false [08:25] jesusabdullah: infinity is a number! [08:25] shaver: that's Infinity [08:25] shaver: yes [08:25] NuckingFuts: v8: 1/0 [08:25] v8bot: NuckingFuts: Infinity [08:26] NuckingFuts: lma [08:26] shaver: standard 754 stuff [08:26] NuckingFuts: That made me lol [08:26] jesusabdullah: I'm used to seeing Infinity lumped in with NaN [08:26] jesusabdullah: Cool to see an Infinity datatype [08:26] jesusabdullah: but idk if I like it or not! [08:26] shaver: it's not a type, it's just a value [08:27] NuckingFuts: v8: typeof 1/0 [08:27] v8bot: NuckingFuts: NaN [08:27] NuckingFuts: ... [08:27] shaver: what? [08:27] jesusabdullah: o_o [08:27] NuckingFuts: That's interesting lol [08:27] jesusabdullah: Didn't we just show that 1/0 is NOT NaN? [08:27] shaver: that looks like a v8 bug, if it's true [08:27] mikeal: see [08:27] shaver: v8: typeof Infinity [08:27] v8bot: shaver: "number" [08:27] mikeal: having an extra method [08:27] NuckingFuts: shaver dividing by zero results in infinity, which is not a number apparently :lol: [08:27] mikeal: just to check for NaN [08:27] NuckingFuts: ... [08:27] mikeal: because there is no other way to check [08:27] shaver: every language has this [08:27] mikeal: is kind of nuts [08:28] shaver: there are other ways to check [08:28] shaver: x != x [08:28] jesusabdullah: I see [08:28] shaver: the issue here is that parseInt doesn't throw [08:28] mikeal: that's worse :) [08:28] shaver: but working with NaNs is the same in every language I know [08:28] shaver: ruby, python, js, java, C [08:28] NuckingFuts: v8: (1/0) === Infinity [08:28] v8bot: NuckingFuts: true [08:28] shaver: oh! [08:28] NuckingFuts: Found a way to check for infinity :P [08:28] shaver: (typeof 1)/0 [08:28] jesusabdullah: NaNs in my stuff usually mean that I'm dividing by zero [08:28] shaver: v8: (typeof 1)/0 [08:28] v8bot: shaver: NaN [08:28] shaver: v8: typeof (1/0) [08:28] v8bot: shaver: "number" [08:29] shaver: there we go [08:29] jesusabdullah: v8: typeof(1)/0 [08:29] v8bot: jesusabdullah: NaN [08:29] NuckingFuts: v8 typeof Infinity [08:29] jesusabdullah: ah [08:29] v8bot: NuckingFuts: v8 is no longer supported (except in PM). Try v8: or v8> [08:29] NuckingFuts: v8: typeof Infinity [08:29] v8bot: NuckingFuts: "number" [08:29] shaver: I wish we could throw from parseInt, but we would break the web into a million pieces :-/ [08:30] NuckingFuts: eh? [08:30] jesusabdullah: Can you redefine parseInt? [08:30] mikeal: now i'm concerned [08:30] bingomanatee has joined the channel [08:31] mikeal: i updated node on my media box and now this server won't respond [08:31] NuckingFuts: what? [08:31] shaver: there are lots of places that do x = parseInt(str); if (x > 0) dothing() [08:31] NuckingFuts: shaver: sooooooo? [08:31] NuckingFuts: ACTION is confuse [08:31] shaver: so if parseInt threw, the script would terminate [08:31] NuckingFuts: v8: Inifinity > 0 [08:31] v8bot: NuckingFuts: ReferenceError: Inifinity is not defined [08:32] jesusabdullah: v8: 'lol' > 0 [08:32] v8bot: jesusabdullah: false [08:32] NuckingFuts: v8: Infinity > 0 [08:32] v8bot: NuckingFuts: true [08:32] shaver: v8: NaN > 0 [08:32] v8bot: shaver: false [08:32] shaver: v8: NaN < 0 [08:32] v8bot: shaver: false [08:32] shaver: NaN is unordered [08:32] NuckingFuts: ACTION claps at the implementation of Infinity vs. 0 [08:32] mikeal: i wouldn't want parseInt to throw like in Python [08:32] mikeal: it means you have to wrap checks in a try catch [08:32] mikeal: which is stupid [08:32] shaver: so whatever it returns, if you use it as a number you get a NaN [08:32] jesusabdullah: Maybe make it take a callback? [08:32] shaver: v8: null + 0 [08:32] v8bot: shaver: 0 [08:33] shaver: you don't want it to coerce to 0 [08:33] NuckingFuts: mikeal: catch, return NaN? [08:33] NuckingFuts: v8: Infnity + 1 [08:33] v8bot: NuckingFuts: ReferenceError: Infnity is not defined [08:33] NuckingFuts: v8: Infinity + 1 [08:33] v8bot: NuckingFuts: Infinity [08:33] NuckingFuts: lol [08:33] NuckingFuts: v8: Infinity * 2 [08:33] v8bot: NuckingFuts: Infinity [08:33] NuckingFuts: Wow, it comprehends infinity quite well. [08:33] jesusabdullah: v8bot: Infinity/Infinity [08:33] v8bot: jesusabdullah: Use v8: to evaluate code or "`v commands" for a list of v8bot commands. [08:33] jesusabdullah: v8: Infinity/Infinity [08:33] v8bot: jesusabdullah: NaN [08:34] NuckingFuts: v8: Infinity / 0 [08:34] v8bot: NuckingFuts: Infinity [08:34] shaver: that's just IEEE754 behaviour in the hardware [08:34] NuckingFuts: v8: 1 / Infinity [08:34] v8bot: NuckingFuts: 0 [08:34] NuckingFuts: lol [08:34] NuckingFuts: I won :D [08:34] jesusabdullah: shaver: Infinity's behavior is an IEEE standard? How come I've never seen Infinity anywhere else? :C [08:34] NuckingFuts: 0 * Infinity [08:34] NuckingFuts: v8: 0 * Infinity [08:34] v8bot: NuckingFuts: NaN [08:34] NuckingFuts: lmao fail [08:34] [AD]Turbo has joined the channel [08:34] jesusabdullah: No [08:34] shaver: jesusabdullah: just lucky, I guess? [08:35] shaver: http://steve.hollasch.net/cgindex/coding/ieeefloat.html [08:35] MrWarGames1 has joined the channel [08:35] jesusabdullah: Tssch [08:35] NuckingFuts: 0 times anything is still zero. [08:35] NuckingFuts: No exceptions. [08:35] jesusabdullah: Incorrect. [08:35] shaver: that's true for the reals [08:35] jesusabdullah: Infinity isn't really a number, despite its treatment as such [08:35] jesusabdullah: at least, not a real number [08:35] NuckingFuts: Damnit fake numbers [08:35] NuckingFuts: I always forget about you! [08:35] [AD]Turbo: yo all [08:36] shaver: "Operations with infinite values are well defined in IEEE floating point." [08:36] NuckingFuts: yo mama [08:36] Druid_ has joined the channel [08:36] mikeal: ryah: you around? [08:36] jesusabdullah: NuckingFuts: Take the limit of (a/x) * x as x goes to infinity. a/x definitely goes to 0, and x definitely goes to infinity, but you'll find that the value once you take the limit converges onto a [08:37] jesusabdullah: and a is any arbitrary constant [08:37] jesusabdullah: It's not really a proof, but it's a plausibility argument for why 0*Infinity would result in NaN [08:37] bingomanatee: ACTION is naming his rock band "Arbitrary Constant" [08:37] jesusabdullah: :D [08:37] shaver: JS also has 0 and -0 [08:37] adambeynon has joined the channel [08:38] jesusabdullah: I knew about that one [08:38] bingomanatee: "Arbitrary Constant and the Irrational Numbers" [08:38] shaver: (as does C) [08:38] mikeal: we need to merge inotify in to core [08:38] jesusabdullah: I saw somewhere a test for figuring out if you had -0 or not [08:38] NuckingFuts: bingomanatee: Thank you for that less confusing message lol [08:38] jesusabdullah: What's inotify? [08:38] NuckingFuts: ACTION is so happy to not worry about IEEE floating point [08:39] bingomanatee: ACTION things decimals should be illegal. [08:39] jesusabdullah: But [08:39] shaver: v8: Infinity / -0 [08:39] v8bot: shaver: -Infinity [08:39] tc77 has joined the channel [08:39] jesusabdullah: I work in continuous domains! [08:39] shaver: v8: Infinity / 0 [08:39] v8bot: shaver: Infinity [08:39] NuckingFuts: Aw shit, MySQL, what is wrong with the syntax NOW? [08:39] bingomanatee: Fractions worked for me in grade school they should just nock everything down to a decent fraction. [08:39] NuckingFuts: "INSERT INTO privclasses (room, name, order, topic, emoticons) VALUES ('chat:GoNuckYourself', 'Guests', '25', '0', '3');" <-- douchebag sees this as wrong. [08:39] shaver: v8: 3 * Infinity [08:39] v8bot: shaver: Infinity [08:39] jesusabdullah: I also deal with irrationals often [08:39] bingomanatee: Its good enough for carpentry, it should be good enough for computer science [08:40] jesusabdullah: Does v8 have complex numbers? [08:40] jesusabdullah: v8bot: Math.sqrt(-1) [08:40] v8bot: jesusabdullah: Use v8: to evaluate code or "`v commands" for a list of v8bot commands. [08:40] jesusabdullah: v8: Math.sqrt(-1) [08:40] v8bot: jesusabdullah: NaN [08:40] jesusabdullah: >_< [08:40] NuckingFuts: bingomanatee: I'll take a normal decimal any day lol [08:40] bingomanatee: Anything more than two places is just TMI [08:40] twoism has joined the channel [08:40] nook has joined the channel [08:41] jesusabdullah: ah, but bingomanatee, fractions AREN't good enough for regular carpentry! Have you hard the terms "strong" and "shy?" [08:41] jesusabdullah: two and 13/16, strong [08:41] NuckingFuts: bingomanatee: 3.14159 <-- They told me to use 3.14, I never did :D [08:41] shaver: jesusabdullah: need maybe-harmony value types for complex numbers [08:41] NuckingFuts: v8: Math.sqrt(-1)*Infinity/0 [08:41] v8bot: NuckingFuts: NaN [08:41] NuckingFuts: lol [08:41] jesusabdullah: I just use Math.pi ;) [08:41] NuckingFuts: v8: Math.PI [08:41] v8bot: NuckingFuts: 3.141592653589793 [08:41] jesusabdullah: maybe-harmony, shaver? [08:41] jesusabdullah: See, I told you I wasn't ready for CS research ;) [08:41] NuckingFuts: Yeah, way more accurate than me :P [08:42] jesusabdullah: but I wanna know what that means! [08:42] shaver: Harmony is the future-of-JavaScript roadmap from TC39 (ECMA group designing/standardizing JS) [08:42] pietern has joined the channel [08:42] Lorentz: v8: Math.random(); [08:42] v8bot: Lorentz: 0.2675876240245998 [08:42] shaver: I don't think value types are accepted yet [08:42] aabt has joined the channel [08:42] shaver: but I could be wrong [08:42] jesusabdullah: Ah [08:42] bingomanatee: no - what is with strong and shy? [08:43] jesusabdullah: Oh, think "and a little, generally un-measured amount more" [08:43] jesusabdullah: or "and a liiiiitttle less" [08:43] shaver: http://wiki.ecmascript.org/doku.php?id=strawman:value_types [08:43] jesusabdullah: Trying to squeak that last bit of precision out of a measuring tape that can only get to 16ths [08:43] shaver: but caution, language nerdery [08:44] jesusabdullah: I'd imagine that if you REALLY wanted to you could define an object that let you deal with complex numbers, similar to how SubStack did bigints [08:44] jesusabdullah: but that might be awkward [08:44] shaver: with valueOf, yeah [08:44] jesusabdullah: valueOf? [08:44] jesusabdullah: >_< I really suck at js! [08:44] shaver: oh, does he have the Java-esque bigint stuff? [08:45] jesusabdullah: Yeah, he wrote this cool thing that lets you do bigint stuff [08:45] bingomanatee: so 3 1/2 strong + 1 1/2 shy = 5 flat? [08:45] shaver: v8: a = { valueOf: function() { return 5; } }; a + 7 [08:45] v8bot: shaver: 12 [08:45] shaver: it's an abomination, IMO [08:45] bingomanatee: 1/2 strong + 1/2 strong = 1 stronger? [08:45] shaver: but here we are [08:45] bingomanatee: that should offend me but some how it does not. [08:45] temp03 has joined the channel [08:45] Utkarsh_ has joined the channel [08:45] jesusabdullah: bingomanatee: About? ;) It's an inherently imprecise thing! [08:45] jesusabdullah: shaver: sounds like it! [08:46] ROBOd has joined the channel [08:46] bingomanatee: Precision is an illusion [08:46] NuckingFuts: Why oh why must computer math be so complex? [08:46] jesusabdullah: shaver: https://github.com/substack/node-bigint iirc [08:46] jesusabdullah: Because we have to represent all these things with ones and zeros, obviously [08:46] shaver: makes JS that much harder to optimize [08:46] gasbakid has joined the channel [08:46] mr_daniel has joined the channel [08:46] bingomanatee: I would prefer that instead of digits we used shades of grey [08:47] bingomanatee: with black == infinity [08:47] bingomanatee: white = - infinity [08:47] bingomanatee: and 0 = 50% gray. [08:47] shaver: you could band together with IBM and pound the table to get native Decimal types [08:47] jesusabdullah: I just want to get my work done. :) [08:47] bingomanatee: Math by pantone. [08:47] jesusabdullah: >_< [08:48] xmilliard has left the channel [08:48] jesusabdullah: Doesn't Pantone reserve the right to change their colors? [08:48] bingomanatee: Yes. [08:48] bingomanatee: Yellow used to be green til the 60s. [08:48] NuckingFuts: math by Lab? [08:48] mbrochh has joined the channel [08:48] mbrochh has joined the channel [08:49] NuckingFuts: bingomanatee: wat [08:49] bingomanatee: Yep. [08:50] NuckingFuts: bingomanatee: sauce? [08:50] bingomanatee: They had to recall 100,000 boxes of crayolas. [08:50] shaver: this conversation is going places [08:50] bingomanatee: It would have been a lot more publicized, but that was during Nam and nobody really paid any attention. ' [08:51] jesusabdullah: I like specifying colors with #rrggbb when possible [08:51] jesusabdullah: I know it doesn't always work [08:51] jesusabdullah: BUT it's relatively clear [08:51] q_no has joined the channel [08:51] NuckingFuts: jesusabdullah: I like my HSL [08:51] jesusabdullah: A lot of people do [08:51] jesusabdullah: but I'm not THAT great with colors [08:51] shaver: yeah, it's good for interpolation [08:51] bingomanatee: I actually use rgb(0.255, 0..255, 0.255) in my CSS - I know its wordy but its also unambiguous. [08:51] NuckingFuts: It represents a logical thing for colors for me :B [08:52] jesusabdullah: HSL is better for a lot of things, but I think most computer-savvy people have a concept of what rgb colors are [08:52] jesusabdullah: and how to think in them [08:54] NuckingFuts: I still think in HSL [08:54] NuckingFuts: For anything but basics, which I think in Hex for [08:57] breccan has joined the channel [08:57] NuckingFuts: When I describe a color, I think "a light yellow-grey" not "pound-eff-eff-eee-dee-three-three" [09:00] bingomanatee: I spent too long as a painter to think of RGB as primaries. I still prefer red yellow blue. [09:01] bingomanatee: night all [09:01] jesusabdullah: Can you do cmy? [09:01] jesusabdullah: gnight [09:01] bingomanatee: yeah. [09:01] jesusabdullah: \m/ [09:01] sixtus42 has joined the channel [09:02] CrazyGoogle has joined the channel [09:03] xla has joined the channel [09:05] aklt has joined the channel [09:06] nivoc has joined the channel [09:10] dewey_ has joined the channel [09:10] Evet_ has joined the channel [09:11] dshaw has joined the channel [09:12] aabt has joined the channel [09:12] dgathright has joined the channel [09:13] muhqu has joined the channel [09:14] Throlkim has joined the channel [09:14] Jonasbn_ has joined the channel [09:15] killfill has joined the channel [09:16] mbrochh has joined the channel [09:16] christophsturm has joined the channel [09:16] darkredandyellow has joined the channel [09:23] aho has joined the channel [09:26] mraleph has joined the channel [09:26] killfill has joined the channel [09:30] saikat has joined the channel [09:31] braddunbar has joined the channel [09:31] __tosh has joined the channel [09:33] xmilliard has joined the channel [09:36] pomodoro has joined the channel [09:38] killfill has joined the channel [09:39] muhqu_ has joined the channel [09:39] messju has joined the channel [09:39] isaqual has joined the channel [09:41] mike5w3c has joined the channel [09:42] mbrochh has joined the channel [09:42] mbrochh has joined the channel [09:42] aabt has joined the channel [09:42] FireFly has joined the channel [09:45] therrg has joined the channel [09:46] admc has left the channel [09:48] pdelgallego has joined the channel [09:48] Evet has joined the channel [09:48] killfill has joined the channel [09:50] saikat has joined the channel [09:52] micheil has joined the channel [09:52] sverrejj has joined the channel [09:53] bzinger has joined the channel [09:53] TobiasFar has joined the channel [09:53] micheil: hmm... [09:56] seivan: Nah [09:56] seivan: Coffee is not newbish [09:57] seivan: It's actually pretty awesome [09:59] slaskis_: seivan: the beverage? [09:59] seivan: the language [09:59] seivan: coffeescript [09:59] hipe has joined the channel [09:59] nivoc has joined the channel [10:00] killfill has joined the channel [10:02] sriley has joined the channel [10:02] TomY_ has joined the channel [10:05] TomY_ has joined the channel [10:07] pau|c has joined the channel [10:08] saikat has joined the channel [10:08] mbrochh has joined the channel [10:08] mbrochh has joined the channel [10:09] dominic_ has joined the channel [10:13] aabt has joined the channel [10:17] markwubben has joined the channel [10:17] seivan: hmm [10:17] seivan: Does anyone know how to deal with facebook streamin api? [10:18] squeeks: carefully. [10:19] seivan: haha [10:19] seivan: any guides for getting it rolling with node? [10:19] seivan: I need to do a stream for every user that connects >_> and save his data. [10:25] hwinkel has joined the channel [10:26] Utkarsh has joined the channel [10:26] jetienne has joined the channel [10:26] herbySk has joined the channel [10:28] christophsturm has joined the channel [10:31] EdJ has joined the channel [10:32] Sorella has joined the channel [10:34] tbassetto has joined the channel [10:34] mbrochh has joined the channel [10:34] mbrochh has joined the channel [10:37] confoocious has joined the channel [10:37] confoocious has joined the channel [10:37] [AD]Turbo has joined the channel [10:38] eyesUnclouded has joined the channel [10:38] temp01 has left the channel [10:39] eyesUnclouded has joined the channel [10:41] groom has joined the channel [10:42] nivoc has joined the channel [10:42] pietern has joined the channel [10:43] aabt has joined the channel [10:44] Jourkey: how do i do CORS with node.js and json? [10:46] dancor has joined the channel [10:48] ziro` has joined the channel [10:48] aabt_ has joined the channel [10:52] vonkow has joined the channel [10:54] aabt has joined the channel [10:55] hlindset has joined the channel [10:55] hlindset has joined the channel [10:55] killfill has joined the channel [10:56] d0k has joined the channel [10:58] jlebrech has joined the channel [10:58] jlebrech: can node.js eventually replace php? [10:58] sth: depends on what you're doing [10:58] sth: and how well you want it to scale [10:59] jlebrech: php is only still in existance because "everyone" knows php, but this demographic already know javascript. [10:59] jlebrech: how do you add node.js support to a apache based server? [11:00] Epeli: you don't [11:00] jlebrech: is it not possible? is it not a fastcgi thing? [11:00] sth: It is possible [11:00] squeeks: no, not at all [11:00] sth: I'm unsure why you would though [11:00] Shrink has joined the channel [11:01] dve has joined the channel [11:01] aabt_ has joined the channel [11:02] tanepiper: +1 on this being the new nodejs doc style: http://gatapia.github.com/ncnode/ [11:03] dewey_: yeah just read it too, nice one [11:04] jlebrech: http://code.google.com/p/modjs/ [11:04] mbrochh has joined the channel [11:04] mbrochh has joined the channel [11:04] markwubben has joined the channel [11:04] aabt__ has joined the channel [11:04] tanepiper: apache is dead to me [11:04] sth: Has anyone used node-cluster yet? [11:04] dewey_: but why? just compile nodejs [11:05] dewey_: nope.. planning to [11:05] dewey_: seems pretty nice [11:05] sth: It does. [11:05] dewey_: together with http proxy you'll have a nice server [11:05] sth: I'm going to assume it works well with 0.4.1 [11:06] dewey_: Actively tested with node: 0.2.6 0.4.0 [11:06] dewey_: so yes [11:06] dewey_: oo [11:06] dewey_: .1 [11:06] dewey_: pardon me [11:07] sth: thanks [11:08] Coal has joined the channel [11:09] nmtmason has joined the channel [11:10] jetienne: node is 64bit ok ? [11:10] as-jpolo has joined the channel [11:11] as-jpolo: hi [11:11] as-jpolo: I have a question related to package module management (node + npm) [11:12] jetienne: as-jpolo: "dont ask to ask, just ask" [11:13] as-jpolo: some of the require('foo/bar') break now, in npm wiki it is just told that "lib" in package json won't be supported [11:13] as-jpolo: so what can I do to keep same behavior? [11:13] dewey_: jetienne: http://www.devcomments.com/Is-NodeJS-64-bit-at217822.htm [11:14] xla has joined the channel [11:14] pibi has joined the channel [11:15] jetienne: as-jpolo: it seems npm related. ping isaacs he is on pacific time [11:15] jetienne: dewey_: this link seems to say yes [11:15] Chainfire has joined the channel [11:15] dewey_: never tried it myself, but yes [11:15] justin____ has joined the channel [11:16] jetienne: ok lets hope for the best then :) [11:16] as-jpolo: k thanks jetienne [11:16] johnnywengluu has joined the channel [11:16] jetienne: as-jpolo: you know about ryp. this is like npm but lighter [11:17] jetienne: as-jpolo: maybe ryp got the behavior you want [11:19] pibi has left the channel [11:19] pibi has joined the channel [11:20] pibi has left the channel [11:20] pibi has joined the channel [11:20] daveyjoe has joined the channel [11:22] jetienne: https://github.com/isaacs/ryp and super undocumented [11:22] vyvea has joined the channel [11:22] jpstrikesback has joined the channel [11:23] Nevtus has joined the channel [11:23] Nevtus has joined the channel [11:24] jetienne: to rewrite this in node would be nice :) [11:24] as-jpolo: lol clearly yes [11:26] dsirijus has joined the channel [11:27] Shrink has joined the channel [11:27] Shrink has joined the channel [11:30] phpnode has joined the channel [11:31] mbrochh has joined the channel [11:32] juan77 has joined the channel [11:34] aabt has joined the channel [11:48] xandrews has joined the channel [11:53] nivoc has joined the channel [11:55] fermion has joined the channel [11:56] mbrochh has joined the channel [11:56] mbrochh has joined the channel [11:57] aabt_ has joined the channel [11:59] Utkarsh has joined the channel [12:00] dve has left the channel [12:01] killfill has joined the channel [12:02] iszak has joined the channel [12:02] iszak has joined the channel [12:02] dve has joined the channel [12:03] aabt has joined the channel [12:04] nivoc has joined the channel [12:07] dve: whats the correct upgrade procedure for node 0.4.1 from 0.4.0 [12:07] dve: ? [12:07] Garo_: dve: have you read the changelog? [12:08] dve: Garo_: briefly! [12:09] dve: am I looking for anything imparticular? [12:09] Garo_: you should look if the changelog contains any items which might affect you between version 0.4.0 and 0.4.1 [12:09] Garo_: and if not, just install 0.4.1 over 0.4.0 [12:10] dve: its only a test machine so im not too concern with bvreaking anything [12:10] aabt has joined the channel [12:10] jetienne: yep, install last, run test of your code, no new breakage ? ok run last :) [12:10] jetienne: else rollback [12:10] pau|c has joined the channel [12:11] jetienne: this is a good point on having tests :) [12:12] dve: so I can just pretty much curl into my node-latest-install folder and re-run configure? [12:14] jetienne: dve: not sure what you mean by curl here [12:14] jetienne: dve: you arent sure how to install a given version of node ? [12:15] dve: no sorry... i used these instructions perviously ...https://gist.github.com/579814 [12:15] dve: previously even! [12:16] jetienne: dve: if you use this one again, remove the old directory bfore [12:16] dve: remove the old node-latest-install folder you mean? [12:16] jetienne: dve: yep. but personnaly i would prefere the git one [12:17] jetienne: dve: git will give you an easy mean to pick the exact version you want [12:17] jetienne: git clone git://github.com/ry/node.git <- after this one [12:17] jetienne: cd clone; git checkout v0.4.1; ./configure; make; sudo make install [12:18] jetienne: this is the procedure i use. i know it on top of my head because i deployed it 3 time this morning :) [12:18] dve: jetienne: the second method on that page? [12:18] jetienne: dve: yes [12:19] jetienne: without the git checkout, you will have 0.5.0-pre aka unstable [12:19] dve: jetienne: thanks! [12:20] mbrochh has joined the channel [12:20] mbrochh has joined the channel [12:20] jetienne: dve: which os do you use ? [12:20] dve: ubunutu 10.10 [12:21] jetienne: sudo add-apt-repository ppa:jerome-etienne/neoip && sudo apt-get update && sudo apt-get install nodejs <- then you can use this [12:21] jetienne: dve: it will be updated to each new stable version [12:22] dve: jetienne: and that will work with my existing installed modules? [12:24] jetienne: dve: this will update nodejs [12:24] jetienne: up to you to know if the new stable nodejs is compatible with your existing installed modules [12:25] dve: sorry I meant pathing-wise node js will still be able to find installed modules [12:25] pandeiro has joined the channel [12:26] milez has joined the channel [12:26] masahiroh has joined the channel [12:26] jetienne: dve: yes [12:27] miccolis has joined the channel [12:28] perlmonkey2 has joined the channel [12:29] jashkenas has joined the channel [12:31] malpeli has joined the channel [12:32] gozala has joined the channel [12:36] dve: jetienne: thanks, its ... kinda worked... sudo node -v returns 0.4.1 [12:36] dve: node -v returns 0.4.0 [12:36] jetienne: you installed 2 node [12:36] dve: possibly!? [12:36] jetienne: one in at the user level, one at the system level [12:36] jetienne: dve: which one do you wanna keep ? [12:37] dve: hmmm... i guess system level as I will want to be able to sudo run node so I can access port 80 [12:38] jetienne: ok lets remove the user level [12:38] jetienne: do "type node" in a console. it will tell you where the userlevel node is stored [12:38] samar has joined the channel [12:38] dve: node is hashed (/home/dave/local/bin/node) [12:38] samar: please [12:39] samar: anyone here can help me? [12:39] jetienne: dve: ls -l /home/dave/local/bin/node <- do that please [12:39] jetienne: samar: "dont ask to ask, just ask" [12:39] samar: i download now node0.5.0-pre [12:40] samar: and mysql [12:40] mike5w3c has joined the channel [12:40] hwinkel has joined the channel [12:40] samar: but i have problem [12:40] samar: Cannot read property '_httpMessage' of null [12:40] samar: and i can not solve it [12:40] samar: where the problem [12:40] samar: in version or express [12:41] samar: i do not know [12:41] dve: samar: In your code? can you post your code to gist.github.com [12:41] samar: server code? [12:41] dve: jetienne: ok what am I looking for, permissions? [12:41] samar: permissions on what [12:41] samar: ? [12:41] jetienne: dve: past the result here. i would like to see the size [12:42] dve: -rwxr-xr-x 1 dave users 7695321 [12:42] jetienne: dve: ok this is the real executable do "rm ~/local/bin/node" [12:42] jetienne: then "node -v" should work [12:42] malpeli: hy guys! Im wondering the best way to subscribe several users to a db item to have all synched.... do I use a pool at the server side? [12:43] jetienne: dve: and "hash -r" to help bash forget the old node [12:43] ianward has joined the channel [12:43] unomi has joined the channel [12:43] unomi has joined the channel [12:44] hwinkel1 has joined the channel [12:44] postwait has joined the channel [12:44] dve: jetienne: thanks chief... your a star! I guess when I type node it is doing something like 'which node' and finding my local copy first? [12:44] dve: its working now BTW! [12:44] jetienne: dve: cool [12:45] samar: https://gist.github.com/838616 [12:45] samar: i put my pice of code here [12:46] nivoc has joined the channel [12:46] samar: can anyone help? [12:47] gozala: Folks is there way to develop node in a way that changes will be picked up live [12:47] jetienne: gozala: several code do that... i dont remember the names tho [12:47] gozala: Or do I have to keep building node after every change I make ? [12:47] jetienne: gozala: "dev node" == dev node itself OR dev using node ? [12:48] dve: samar: Sorry I meant the code that was generating the error. Is it your code? [12:48] dve: samar: something you have written? [12:48] gozala: I meant editing node modules itself [12:48] mbrochh has joined the channel [12:48] samar: http.js:674 if (this.output.length === 0 && this.connection._httpMessage === this) { ^ TypeError: Cannot read property '_httpMessage' of null at ServerResponse.end (http.js:674:50) at selectCb (/home/samar/stores/storeSql/index.js:153:13) at Query. (/usr/local/lib/node/.npm/mysql/0.9.1/package/lib/mysql/client.js:119:11) at Query.emit (events.js:39:17) a [12:48] mbrochh has joined the channel [12:48] dve: if not you maybe be best using a stable version of node... i.e. 0.4.1 [12:49] samar: mmmmmmmmmm [12:49] bluegene has joined the channel [12:49] samar: it mean i install node 0.4.1 [12:50] samar: not node 0.5.0-pre [12:50] jetienne: gozala: to dev on internal modules... i recompiled. but yes a faster tech would be better [12:50] samar: ? [12:50] jetienne: gozala: maybe the mailing list, or wait for working hour in pacific time [12:50] malpeli: jetienne: hy! do you know how the best way to subscribe a lot of people to a item in db? if someone change the item all get the change? I have to make a setInterval to check the changes or I have a change event? thanks [12:51] dve: samar: yes, I dont know for sure it will fix your problem, but general developing against unstable code is going to cause you problems [12:51] samar: mmmmmmmm [12:51] jetienne: malpeli: not sure what you mean here. you seems to describe a db transaction [12:52] jetienne: malpeli: what "subscribe to a db" means [12:52] samar: i do that [12:52] samar: git clone git://github.com/ry/node.git [12:52] Weltraumschaf has joined the channel [12:52] Weltraumschaf: hi [12:52] gozala: jetienne tnx [12:52] confoocious has joined the channel [12:52] confoocious has joined the channel [12:52] samar: then it download node0.5.0-pre [12:52] samar: so i want to download version [12:52] samar: how i do it? [12:52] malpeli: jetienne: they access the same db item and if someone change the item all members receive the change [12:53] dve: samar: are you using ubunutu? If so jetienne has kindly created a repository with the latest stable version of node [12:53] samar: yes [12:53] jetienne: gozala: thinking about it, https://github.com/visionmedia/ndistro could be usefull. from memory he pack other module as if they were internal [12:53] dve: sudo add-apt-repository ppa:jerome-etienne/neoip && sudo apt-get update && sudo apt-get install nodejs [12:53] jetienne: gozala: so understanding how ndistro work, may help. dunno just suggesting [12:54] jetienne: malpeli: this is normal database behavior [12:54] aabt has joined the channel [12:54] samar: that will override the old version? [12:54] jetienne: malpeli: as in sql database, as in multiuser with transaction [12:54] malpeli: jetienne: In real-time [12:54] jetienne: malpeli: which db do you use ? [12:54] malpeli: jetienne: mongo [12:55] dve: samar: how did you install the old one? [12:55] PyroStrex has joined the channel [12:55] PyroStrex: test [12:55] PyroStrex: anyone? [12:56] samar: git clone git://github.com/ry/node.git [12:56] alexweber15 has joined the channel [12:56] jetienne: malpeli: i dunno mongo. maybe people at #mongodb would know [12:56] samar: then configure [12:56] malpeli: jetienne: Im using socket.io.... but at the server side Im not getting how to "subscribe" the users to a specific item at the db. How to send the changes to all the users [12:56] jetienne: PyroStrex: i read you [12:56] samar: make &&make install [12:56] dve: samar: did yoou do it as root or using sudo? [12:56] samar: root [12:56] PyroStrex: owh. [12:56] jetienne: malpeli: ah ok i start to understand [12:56] PyroStrex: I got bad file descriptor too often. -_- [12:56] dve: samar: do 'which node' in terminal [12:57] jetienne: malpeli: what is the issue ? the db part or the websocket part ? [12:57] samar: dve which node [12:57] malpeli: jetienne: I wondering how to send the changes to the users in async way... without to make the server keep asking if "there are a change?" [12:57] samar: dve : /usr/local/bin/node [12:58] PyroStrex: is there any guide that shows how to correctly do file writing using stream? [12:58] malpeli: jetienne: how to notify that users that are using the same item that a change has been made [12:58] jetienne: malpeli: first you get the change notification from the db (on that i cant help) see with mongo people [12:58] dve: samar: do 'sudo add-apt-repository ppa:jerome-etienne/neoip' [12:59] jetienne: malpeli: second you broadcast the notification using socket.io server. https://github.com/LearnBoost/Socket.IO-node/blob/master/example/server.js#L61 [12:59] jetienne: malpeli: the client.broadcast() is sending the message to all connects clients (from memory) [13:00] samar: dve :sudo: add-apt-repository: command not found [13:00] jetienne: malpeli: i checked client.broadcast is working as i describde [13:00] malpeli: jetienne: that is the problem... I have to send a message just to the folks linked with a specific Item [13:00] dve: samar: sudo add-apt-repository ppa:jerome-etienne/neoip [13:00] PyroStrex: is there anyone who uses dnode here? [13:00] dve: PyroStrex: I am just starting to use it [13:01] fly-away has joined the channel [13:01] jetienne: malpeli: then you do your own list of clients [13:01] malpeli: jetienne: do I build a second table with the itens connections (ho is connect to ho)? [13:01] samar: dve : sudo: add-apt-repository: command not found [13:01] samar: there is erro sudo: add-apt-repository: command not found [13:01] jetienne: malpeli: yes, that would be my first move [13:01] dve: hmmm... are you logged in as root? [13:02] samar: now no [13:02] malpeli: jetienne: cool, I think this could solve the problem... thanks a lot for your great help [13:02] jetienne: malpeli: my pleasure [13:02] samar: but i can log in as root [13:02] dve: no [13:02] dve: can you even do 'sudo ls' [13:02] PyroStrex: can we use socket.io client.sessionId to detect disconnected client? [13:03] msch has joined the channel [13:03] samar: it list what at folder [13:04] dve: PyroStrex: I assume so, if you are using "protocol : 'socket.io'" in your listen config [13:04] fairwinds has joined the channel [13:05] PyroStrex: dve: how do you detect disconnect connection using dnode? I am currently using for something like client.name but is there any other better way? [13:05] dve: samar: can you add the repo manually though Synaptic? [13:06] dve: PyroStrex: Sorry dude i dont know, i literally started playing with dnode yesterday, so I am still learning too! [13:07] brian_irish has joined the channel [13:07] samar: dve : i open this file /etc/apt/sources.list [13:07] samar: dve : then what i add ? [13:07] PyroStrex: owh well.. dnode@0.5.6 got lots of bugs but I managed to get it to work with IE browsers. [13:08] dewey_ has joined the channel [13:08] PyroStrex: #join [13:09] killfill has joined the channel [13:11] dve: samar & jetienne: if you can not run 'sudo apt-get' then I am unsure how to proceed, maybe jetienne could suggest how? [13:11] samar: dve : i do this know [13:11] dve: PyroStrex: what sort of bugs? just with ie? [13:11] samar: apt-get install python-software-properties [13:12] samar: then i do sudo add-apt-repository ppa:jerome-etienne/neoip [13:12] samar: and done know [13:12] samar: what after that? [13:12] jetienne: samar: this install the repository [13:12] jetienne: samar: then "sudo apt-get update && sudo apt-get install nodejs" [13:12] samar: this override the old one? [13:12] jetienne: samar: this will install node, after that type "node -v" [13:13] FireFly|n900 has joined the channel [13:13] jetienne: samar: which old one ? [13:13] samar: node 0.5.0-pre [13:13] mbrochh has joined the channel [13:13] jetienne: samar: ok do "type node" and paste the result here [13:13] mbrochh has joined the channel [13:13] aabt has joined the channel [13:14] GasbaKid has joined the channel [13:14] samar: jetienne :node is hashed (/usr/local/bin/node) [13:14] zomgbie has joined the channel [13:14] jetienne: samar: you installed it by "make install" ? [13:14] samar: yes [13:14] aabt_ has joined the channel [13:15] jetienne: samar: to remove it, go in the src directory in which you did "make install" and this time do a "sudo make uninstall" [13:16] samar: jetienne : done [13:16] jetienne: samar: do "type node" just to check now [13:16] nivoc has joined the channel [13:16] jetienne: samar: do "hash -r ; type node" just to check now [13:16] jetienne: samar: in theory it wont find it [13:17] samar: -bash: type: node: not found [13:17] dipser has joined the channel [13:17] jetienne: samar: good. now do " sudo add-apt-repository ppa:jerome-etienne/neoip && sudo apt-get update && sudo apt-get install nodejs" [13:17] aabt has joined the channel [13:18] jetienne: samar: this will install nodejs 0.4.1 at the system level. it will be automatically updated to the last stable version [13:19] jasong_at_apache has joined the channel [13:19] samar: done now [13:20] samar: root@srv56:~# type node node is /usr/local/bin/node [13:20] milez has joined the channel [13:21] killfill has joined the channel [13:22] samar: ok [13:22] samar: this is true [13:22] samar: but the error still [13:22] samar: it want to download mysql agian? [13:22] samar: npm install mysql [13:22] samar: or what? [13:24] samar: ? [13:24] aabt has joined the channel [13:25] jetienne: samar: which error [13:25] samar: Cannot read property '_httpMessage' of null [13:25] jetienne: samar: btw make long lines, not a few words per line [13:25] samar: ok [13:25] ryanfitz has joined the channel [13:25] jetienne: samar: give the whole trace please [13:25] jetienne: in a pastebin :) [13:25] kal-EL_ has joined the channel [13:26] samar: http.js:674 if (this.output.length === 0 && this.connection._httpMessage === this) { ^ TypeError: Cannot read property '_httpMessage' of null at ServerResponse.end (http.js:674:50) at selectCb (/home/samar/stores/storeSql/index.js:153:13) at Query. (/usr/local/lib/node/.npm/mysql/0.9.1/package/lib/mysql/client.js:119:11) at Query.emit (events.js:39:17) a [13:26] samar: at Query._handlePacket (/usr/local/lib/node/.npm/mysql/0.9.1/package/lib/mysql/query.js:53:14) at Client._handlePacket (/usr/local/lib/node/.npm/mysql/0.9.1/package/lib/mysql/client.js:294:14) at Parser. (/usr/local/lib/node/.npm/mysql/0.9.1/package/lib/mysql/client.js:83:14) at Parser.emit (events.js:42:17) at /usr/local/lib/node/.npm/mysql/0.9.1/package/lib/mysql/parser.js:75:14 at Parser.write (/usr/local/lib/node/ [13:26] jetienne: samar: try again in a pastebin please [13:26] Bonuspunkt: --> http://pastebin.com/ [13:28] samar: http://pastebin.com/UA4xJuna [13:29] jacksonmills has joined the channel [13:29] bradleymeck has joined the channel [13:31] dewey_: what do you guys think of coffeescript [13:31] samar: jetienne : really thanks to help me ,because this first time to join here and for my Q because i begginer in node.js [13:32] dewey_: I agree it's nicer in style, but I don't know of I should use it for everything [13:32] dthompson has joined the channel [13:32] jetienne: samar: from the look of this trace, i dont see any fix. maybe the mysql module is not node 0.4 compatible... i dunno [13:33] lukegalea has joined the channel [13:33] jetienne: dewey_: this makes debugging harder as the executed code is ugly [13:33] miccolis has joined the channel [13:33] samar: ok how to remove it i download it by npm install mysql for node0..0-pre [13:33] jetienne: dewey_: im not an adept of Coffeescript [13:33] SubStack: rawr [13:33] jetienne: samar: "npm uninstall mysql" maybe [13:34] jetienne: SubStack: somebody was asking about dnode here, like 1h ago [13:34] SubStack: yeah and then they left [13:34] dewey_: I can confirm node-mysql works with 4.0.0 [13:34] SubStack: I have dnode on highlight so I saw it all up in my irssi [13:34] dewey_: haven't used .1 yet [13:34] SubStack: shit I need to fix dnode to use browserify already [13:34] jetienne: SubStack: ok [13:34] samar: mmmmmmmm [13:34] samar: the same error [13:35] jetienne: samar: see what you got which is different from dewey_ [13:35] dve: SubStack: Started playing with dnode yesterday... liking it [13:35] SubStack: =^_^= [13:36] dve: using it with backbone [13:36] dewey_: samar: on which nodejs version are you and how did you install it? [13:36] SubStack: I should fix everything tonight [13:36] SubStack: by which I mean this morning [13:36] jetienne: dewey_: he got node 0.4.1 from the .deb on ubuntu 10.10 [13:36] floby has joined the channel [13:36] dewey_: ah, I'm on osx [13:36] jetienne: ok am off for lunch, have fun [13:37] dewey_: cya [13:37] samar: dewey_ : now node is 0.4.1 [13:37] samar: this after update from 0.5.0-pre [13:38] samar: and i uninstall mysql &&connect&&express [13:38] samar: and install it again [13:39] samar: root@srv56:~# express -v 1.0.7 [13:39] SubStack: ok now hacking browserify to use node-source [13:39] SubStack: now that shims are gone from npm (hooray!) [13:39] RichardJ has joined the channel [13:40] dve: grrr IE is a complete pieve of shit [13:40] SubStack: fact! [13:40] SubStack: but then I personally benefit from that being true [13:40] samar: dewey_ :you are here? [13:41] dewey_: will pm you, goes faster [13:41] dve: how can it still be so bad.. [13:41] echoSMILE has joined the channel [13:41] echoSMILE has joined the channel [13:42] samar: i don not know what i do now after i update node [13:42] SubStack: dve: IE9 has a lot of good stuff at least [13:42] SubStack: it's only about 3 or 4 years behind firefox [13:42] SubStack: my own website renders correctly in IE9 but not in any previous versions of IE [13:42] dve: Subtack: true, but its compliance is still a joke and its just slow, locks up my machine every time I have to run it [13:42] mbrochh has joined the channel [13:42] mbrochh has joined the channel [13:42] dve: rant over! [13:43] dve: SubStack: I guess you know about dnode/ie issues? [13:44] SubStack: yes, browserify will fix everything [13:44] SubStack: since it has es5-shim baked in [13:44] samar: dewey_ : you can help me? [13:44] Plouj has joined the channel [13:44] dve: sweet [13:44] Metapony has joined the channel [13:47] FireFly has joined the channel [13:48] tanepiper: it will fix EVERYTHING :D [13:48] malpeli: jetienne: sorry to disturb you again... Can I broadcast something to a specific user at the system? Users has some kind a id on node that I could access? [13:48] tanepiper: browserfy for world peace [13:48] jetienne: malpeli: socket.io got a client.write for this [13:49] SubStack: you can do anything with browserify, the only limit is yourself [13:49] jetienne: malpeli: look at the socket io node README on github. client.send and client.broadcast are in it [13:49] Plouj: do you guys help with npm installations? [13:49] tanepiper: SubStack: lol, zombo.com :D [13:49] dewey_: or socket.clients[sessionId].send [13:49] floby: Plouj: sometimes [13:49] floby: Plouj: what is your problem ? [13:49] SubStack: dewey_: guillermo says that will start to break soon [13:50] malpeli: jetienne: thanks! [13:50] dewey_: shit, really [13:50] SubStack: sessionId too [13:50] SubStack: on account of multi-node updates [13:50] dewey_: need them both, will he replace it with something? [13:50] malpeli: dewey_: Yeah thanks [13:50] bradleymeck: does browserify handle dynamic require? ie require(x+y)? [13:50] Plouj: I'm unable to install npm on Solaris i386 for some reason: http://fpaste.org/JqEI/ I couldn't find the "Socket is not writable" in the issue tracker. [13:50] davidsklar has joined the channel [13:50] SubStack: dewey_: you can generate a unique identifier yourself [13:50] SubStack: that's what I do for dnode [13:50] dewey_: and save the client instance to that uuid? [13:51] SubStack: yep [13:51] SubStack: var clients = {}; var id = Math.random(); clients[id] = client [13:51] SubStack: something like that [13:51] dewey_: but he will save it too right? isn't that more memory [13:51] SubStack: more memory? [13:51] SubStack: it's just references [13:51] dewey_: if he saves all the clients to, he needs to for the broadcast [13:51] sth: I do something similar [13:51] SubStack: references are maybe a few dozen bytes each [13:51] sth: Want the source code? [13:52] FireFly|n900 has joined the channel [13:52] dewey_: sth: sure, maybe I can learn from it [13:52] malpeli: dewey_: very cool! [13:52] sth: https://gist.github.com/838688 [13:53] malpeli: SubStack: I gonna try this too! thanks! [13:53] jetienne: SubStack: for broserify, can you do some automatic testing which would say in the module works as expected in the browser ? [13:53] dewey_: sth: so you're making your own clients object.. do you guys know why he is removing his clients object? [13:54] SubStack: jetienne: I'm doing something like that at the moment [13:54] samar: dewey_ : you forget me :D [13:54] sth: nope [13:54] dewey_: samar: no, still updating ;) [13:54] SubStack: just processing the bundled code with node [13:54] jetienne: SubStack: thus it would be easy to run a service which gives the npm module which run well in server and client... aka something i would love :) [13:54] jetienne: SubStack: super :) [13:54] samar: ok [13:55] SubStack: also I happen to run a cross-browser testing company [13:55] Utkarsh_ has joined the channel [13:55] jetienne: SubStack: for your vnc stuff ? [13:55] SubStack: yeps [13:55] xandrews has joined the channel [13:55] nonnikcam has joined the channel [13:55] SubStack: so I could probably hack out an api for the javascript engines running on real browsers [13:55] floby: Plouj: can you give a output with more verbosity ? set verbose level to silly [13:56] SubStack: with immediate feedback too, that would be such win [13:57] SubStack: tied together with dnode it would be pretty possible [13:57] trotter has joined the channel [13:57] jetienne: indeed, merging server and client is an holy graal [13:58] tanepiper: with jsdom + v8, offload all client requests to the server and return correct dom :D [13:58] tanepiper: (in IE) [13:58] dewey_: SubStrack: dnode = websockets? [13:58] malpeli has left the channel [13:58] jetienne: tanepiper: you are a dreamer :) [13:58] joshfng has joined the channel [13:58] SubStack: dewey_: dnode is just an engine for getting callbacks to work on top of json [13:59] floby: jetienne: it's a pandora box [13:59] SubStack: it works in websockets or tcp sockets or whatever [14:00] jetienne: npm package.json contains the info on how to test the module ? [14:00] stalled has joined the channel [14:00] tanepiper: Dnode basically abstracts away thinkign about your web transports in favor of doing everything in callbacks :D [14:00] tanepiper: thats how i think to think of it [14:00] malkomalko has joined the channel [14:00] boaz has joined the channel [14:00] dnolen has joined the channel [14:01] tanepiper: so basically all your client side javascript calls server side javascript the way you would just write javascript normally on either client or server only [14:01] SubStack: I don't like thinking about things. [14:01] dewey_: but the only web transport is websocket right? [14:01] SubStack: dewey_: right now it uses socket.io [14:01] dewey_: oke nice [14:01] dewey_: interesting [14:01] tanepiper: dewey_: no, it can be flash, long polling or just plain old ajax [14:02] sth: I still don't like socket.io :x [14:02] dewey_: why not? [14:02] tanepiper: it just falls back to whatever is available [14:02] dewey_: yeah familiar with socket.io [14:02] mcahornsirup has joined the channel [14:03] dewey_: so dnode is a perfect way for an api right [14:03] SubStack: sure [14:03] dewey_: instead of returning json data with socket.io I can use dnode to call a function and return the data [14:04] SubStack: yes [14:04] malkomalko: what's the proper way of deploying production node.js apps right now? I have an apache proxy setup but I'm looking for some other methods, getting some weird proxy errors in certain browsers [14:04] SubStack: except you don't return explicitly, you pass in a callback and call that callback with the data you want to return [14:04] SubStack: continuation-passing style [14:05] SubStack: because the transport is asynchronous and return values don't jive very well with async code [14:05] squeeks: malkomalko: "proper"? err, I just put it behind a proxy-passing nginx which serves the static, and node does the dynamic [14:05] dewey_: malkomalko: https://github.com/LearnBoost/cluster https://github.com/nodejitsu/node-http-proxy [14:05] malkomalko: I didn't mean proper, I meant to say popular [14:05] mbrochh has joined the channel [14:05] mbrochh has joined the channel [14:05] malkomalko: I just got back from vegas [14:05] malkomalko: my brain isn't working that well [14:05] SubStack: are your arms tired? [14:05] floby: malkomalko: You could run your node app behind a nginx reverse proxy instead of an apache one. [14:05] malkomalko: yes, I played a lot of craps [14:05] squeeks: I imagine you would have got a lot of exercise in vegas from the shoveling [14:05] malkomalko: lol! [14:06] floby: malkomalko: it's usually done like this [14:06] squeeks: unless you've been putting the dead hookers in your garage [14:06] aabt_ has joined the channel [14:06] malkomalko: they generally are reserved for the trunk [14:06] squeeks: but what about the smell? [14:07] malkomalko: you deal with it [14:07] Plouj: floby: how do I set the verbosity level? [14:07] squeeks: I aint going to steal your car, what you think i live in Inglewood or something? [14:07] jetienne has left the channel [14:08] malkomalko: I really like cluster [14:08] jetienne has joined the channel [14:08] malkomalko: don't know if I'm suppose to use it out the box or put it behind a proxy though [14:08] Nomon: malkomalko: We used to use node-forever + haproxy for production (about 21 processes) but about to switch to cluster [14:08] floby: Plouj: there's an option in the command line. But the simplest way is to add the line [14:08] floby: loglevel silly to your ~/.npmrc file [14:08] malkomalko: just cluster out the box listening on port 80 in production? [14:09] floby: Plouj: But silly is a bit too much [14:09] Nomon: malkomalko: no the cluster is still behind haproxy but only 1 port per server instead of 7 per [14:09] Nomon: so now we just balance betwean the 3 cluster masters instead of directly to workers [14:10] malkomalko: yah, that's a big win [14:10] dewey_: Nomon: and those 3 masters are on 3 different servers right? [14:10] Nomon: yeah [14:11] dewey_: and why haproxy? [14:11] RichardJ has joined the channel [14:11] dewey_: better then say nginx or node-http-proxy?\ [14:11] squeeks: better question: why haproxy over varnish? [14:11] Utkarsh has joined the channel [14:11] Nomon: Its simple and lightweight and it was in place as a left-over from the old days when we used to run php :) [14:12] dewey_: never used haproxy or varnish, used to nginx so that's why I ask [14:12] Plouj: npm needs something called gtar, which I can't find on any of my linux or solaris machines [14:13] jacksonmills: probably out of scope for this chatroom, but how does Varnish know when a webpage is updated if its dynamically generated? timeouts? [14:13] jacksonmills: triggers? [14:13] patcito has joined the channel [14:13] pauls has joined the channel [14:14] squeeks: Plouj: GNU Tar is part of both Solaris and Linux, what? [14:14] phpnode: anyone use node.io much? i'm having a problem in that some of my jobs just finish with an "OK" after completing about 1/10th of the job [14:15] Nomon: haproxy over varnish for simple loadbalancing because varnish is a multithreaded http content accelerator where haproxy is singlethreaded loadbalancer with different inbuilt balancing algorithms etc :D [14:15] micheil has joined the channel [14:16] Plouj: squeeks: well, I have tar, but not gtar [14:16] Polysics has joined the channel [14:16] Polysics: hello [14:16] Polysics: i am just starting out on socket.io [14:16] jacksonmills: Plouj: they are the same thing, tar should be able to decompress gzip files [14:17] Polysics: would someone please tell me how i could identify users? [14:17] Polysics: i basically need one-to-one messaging [14:17] SubStack: Polysics: you'll have to implement the routing server-side [14:17] jacksonmills: tar -xzvf should do the trick Plouj [14:18] Polysics: what i can't fathom is how to hold a list of sessionIds and retrieve them [14:18] Plouj: jacksonmills: thanks [14:18] jacksonmills: np [14:18] SubStack: var clients = {}; [14:18] Polysics: after that, is is just a case of making the client send its id on connect, pubsub-style [14:18] SubStack: clients[id] = client [14:18] Polysics: so sessionId isn't useful there? [14:19] SubStack: well you can use sessionId but that's getting deprecated to work with multi-server deployments [14:19] SubStack: but you can just generate an identifier yourself in the same scope as your event listeners [14:20] Polysics: basically, the client will be sending its own id [14:20] Polysics: effectively "subscribing" to its own channel [14:20] SubStack: er, no? [14:20] SubStack: socket.io doesn't use channels yet [14:20] SubStack: it's not pubsub [14:20] Polysics: that's why i used quotes :-) [14:20] Polysics: the result is similar even if the mechanism is more convoluted [14:20] msch has joined the channel [14:21] Polysics: i just need to figure out how i can sort of secure the channel to avoid people just sending "id: Y" and receiving Y's messages [14:21] Polysics: i could store a token on login on the Sinatra app and echo it to the browser [14:22] Polysics: but then i would have to ckeck it against the DB [14:22] SubStack: just var id = Math.random(); clients[id] = client; client.on('message', function (msg) { var obj = JSON.parse(msg); clients[obj.dst].write(obj.msg) }) [14:22] Polysics: and i suppose it's not a good idea [14:22] dewey_: SubStack: do you know, or do you know how, the multi-server and broadcast(except) will get resolved [14:22] SubStack: or similar, I might have the names a bit off [14:22] dewey_: curious how you will save the sessions over multiple server, if say you would want send something from server1 client1 to server2 client2 [14:23] SubStack: dewey_: dunno, I'm staying out of that battle [14:23] Polysics: SubStack: i would need to save the id list somewhere, to allow people to actually send stuff to the user they want :-) [14:23] SubStack: as I have my own multi-server transport project [14:23] dewey_: ok [14:23] Polysics: so it is either generate a token beforehand, or node-js handles the list but it has to be made available somehow [14:23] SubStack: Polysics: Object.keys(clients) [14:24] Polysics: i probably am not following you, but how do i know which is which? [14:24] SubStack: you don't actually want a list since you'd need to .splice() it [14:24] SubStack: objects are much easier [14:24] jlebrech has left the channel [14:24] jano has joined the channel [14:24] Polysics: i mean, i know user Alice has id 1 in teh db and Bob has id 2 [14:25] Polysics: and they both know that [14:25] SubStack: Polysics: anyhow just read the socket.io chat example [14:25] Polysics: how can Alice send a message to Bob, if i store Bob's identity using a random number? [14:25] Polysics: in the end i do need the clients to tell me who they are [14:25] Polysics: i have read that and got it working in no time [14:25] Polysics: but it is broadcast-style [14:26] SubStack: Polysics: you send the clients the list of all the other clients [14:26] Polysics: and that is perfectly ok, but "which is which" still isn't clear to me [14:26] SubStack: the clients don't tell you who they are, you tell the clients who everyone is [14:26] SubStack: you are the server after all! [14:26] SubStack: you call the shots [14:26] amacleod has joined the channel [14:26] Polysics: but a client needs to tell me who he is first [14:27] SubStack: kind of [14:27] davglass has joined the channel [14:27] SubStack: you can still issue them a unique identifier even if you have the clients give you a name [14:28] dve: SubStack: what are you doing when the browser requests /dnode.js? Just literally dumping the contents of the file to the browser/ [14:29] dve: ? [14:29] SubStack: the contents of which file? [14:29] c12 has left the channel [14:30] sixtus42 has left the channel [14:30] SubStack: it's the combined contents of many files [14:31] dguttman has joined the channel [14:32] mbrochh has joined the channel [14:32] mbrochh has joined the channel [14:34] nivoc1 has joined the channel [14:35] sth: I can't help but think there might be a bug in node-cluster [14:35] ncb000gt has joined the channel [14:36] gnagno has joined the channel [14:37] dewey_: SubStack: you said you have your own multi-server project [14:37] Nomon: sth: I have also encountered some in the cluster.reload which I use in devenv. If i do a large pull from git and it starts to see files change it will try to restart the workers even thou it is already doing restarts from previously pulled file changes and I end up with stranded worker processes :) [14:37] colinclark has joined the channel [14:37] dewey_: is that opensource or? [14:37] SubStack: dewey_: https://github.com/substack/dnode [14:38] sth: Nomon: not that so much [14:38] dewey_: ok so you've build a wrapper on socket.io [14:38] sth: It keeps trying to require 'log' [14:38] Remoun has joined the channel [14:38] sth: which doesn't exist [14:39] gnagno has joined the channel [14:39] gnagno: hello all [14:39] eyesUnclouded has joined the channel [14:39] squeeks: sth: npm install log [14:40] sth: ah. [14:40] Nomon: should be installed automagicly when you do npm install cluster shouldn't it ? [14:40] Plouj: for some reason npm Makefile uses some weird '!' character which my gnu make doesn't support [14:41] sth: squeeks: thanks [14:41] bradleymeck has joined the channel [14:41] chrischris has joined the channel [14:42] daveluke has joined the channel [14:42] Poetro has joined the channel [14:42] mikekelly has left the channel [14:42] ncb000gt: Nomon: only if it's listed as a dependency in the package.json file. [14:42] paulrobinson has joined the channel [14:42] ncb000gt: If it is, then yes, it should be pulled down. [14:43] arpegius has joined the channel [14:43] nook has joined the channel [14:45] Weltraumschaf: i'm trying to split a number (fixed) into its bytes for Buffer (http://pastebin.de/15409) but its not correct. has someone suggestions? i'm really n00b with bitoperations [14:45] daveluke: hi, which doc should i look at to figure out how to send data to a specific client [14:45] jherdman has joined the channel [14:46] ncb000gt: daveluke: wrt what? websockets, http req, etc? [14:46] tmpvar has joined the channel [14:46] daveyjoe has joined the channel [14:46] daveluke: ncb00gt, heh.. i don't know how to answer that. [14:47] daveluke: i am looking at this chat server js from socket.io [14:47] ncb000gt: daveluke: ahh ok. so then lets back up, what are you trying to do? [14:47] ncb000gt: ok [14:47] statik has joined the channel [14:47] daveluke: it does client.broadcast which i assume sends data to all clients connected [14:47] ncb000gt: afaik, there should also be client.message iirc [14:48] ncb000gt: if it's a chat room, then you'd expect a broadcast [14:48] ncb000gt: which is why it'd be used [14:48] daveluke: i wanna make a jeopardy type game... with different matches.. so if one match has 3 clients, i wanna be able to send to those specific clients [14:48] ncb000gt: but if it's a 1-1 conversation, then it'd be a message [14:48] qmacro has joined the channel [14:48] ncb000gt: daveluke: sure [14:48] qmacro has left the channel [14:49] ncb000gt: sorry [14:49] ncb000gt: daveluke: client.send will actually send the message to the client [14:49] ncb000gt: https://github.com/LearnBoost/Socket.IO-node [14:49] ncb000gt: search for send( [14:49] ncb000gt: and you should find the ref to the api [14:50] daveluke: i see.. [14:52] daveluke: can i get a client by a specific session id? [14:52] unomi has joined the channel [14:52] unomi has joined the channel [14:52] ncb000gt: daveluke: not sure, i haven't played much with it, but i'd assume there is some key for the client itself, you can create a mapping of client id's to the client object [14:53] ncb000gt: and then be able to send things out to the client id's you want [14:53] sivy has joined the channel [14:53] Emmanuel_ has joined the channel [14:54] RobertLJ has joined the channel [14:54] daveluke: ncb000gt, thanks that makes sense [14:54] paulrobinson has left the channel [14:55] RobertLJ has joined the channel [14:58] pr2012 has left the channel [14:59] Sami_ZzZ has joined the channel [14:59] sigue has joined the channel [15:00] davidwalsh has joined the channel [15:02] broofa has joined the channel [15:02] mbrochh has joined the channel [15:02] mbrochh has joined the channel [15:03] eyesUnclouded has joined the channel [15:03] kuhrt has joined the channel [15:04] daveyjoe_ has joined the channel [15:04] bubbafat has joined the channel [15:05] davidwalsh has joined the channel [15:05] dewey_: daveluke: yes you can, but SubStack told me that's gonna change [15:05] garrensmith has joined the channel [15:05] kenbolton has joined the channel [15:05] dewey_: daveluke: currently you can use socket (if socket is you var name) socket.clients[sessionId] to get the sessionId do cl.sessionId [15:06] SubStack: just going off a presentation guillermo gave last week [15:06] c4milo has joined the channel [15:06] SubStack: it will turn into a function to get a unique identifier [15:08] strmpnk has joined the channel [15:09] losing has joined the channel [15:09] as-jpolo has joined the channel [15:14] vipaca has joined the channel [15:14] vipaca has joined the channel [15:15] ph^ has joined the channel [15:15] softdrink has joined the channel [15:16] mAritz has joined the channel [15:17] aabt has joined the channel [15:18] aabt has joined the channel [15:19] Aikar: hmm [15:19] Aikar: someones wrote a PHP library for implementing the Google Authenticator [15:19] Aikar: anyone done it in node yet? [15:19] hij1nx has joined the channel [15:19] gnagno: did someone ever try to stream a log file to a web page using node.js ? [15:20] Aikar: gnagno: did someone do it? who knows, is it possible? of course [15:20] fatjonny has joined the channel [15:20] gnagno: Aikar: do you have any working example? :) [15:20] Aikar: note: 'who knows' [15:20] gnagno: I am trying but I am getting stuck [15:21] Aikar: but, you would use fs.createReadStream, pipe(), and a socket.io connection [15:21] luke` has joined the channel [15:21] gnagno: you correct me if I am wrong, but I think socket.io is not working with any browser [15:21] lakin has joined the channel [15:21] Aikar: it works, alot of people use socket.io [15:22] floby: it has bugs [15:22] gnagno: Google Chrome 4 - 6, now I am using Google Chrome 9 [15:22] floby: but it works in general [15:22] luke`_ has joined the channel [15:22] floby: I had some bugs with firefox on ubuntu [15:22] gnagno: in the supported browser list there is Google Chrome 4 - 6 but version 6 is very old [15:22] Yuffster has joined the channel [15:22] Aikar: yeah, ideally the flash bridge shouldnt be trying to connect to the 843 port and just hosted inline, i tried to recompile it to do that but couldnt figure it out [15:22] floby: it works fine with chromium 10, so should work with chrome [15:23] Aikar: gnagno: 6 is not 'very old' [15:23] gnagno: Aikar, I am using version 9 right now [15:23] Aikar: gnagno: yes because google bumps versions extremely fast [15:23] Aikar: 6 is only 6~ months old [15:23] gnagno: sorry, version 10 right now [15:24] Aikar: actually 6 is younger than that, i believe it was 5 i used 6 months ago [15:24] floby: anyway I believe nobody uses chrome 6 anymore since upgrades are automatic [15:24] Aikar: wish chrome would be more sane o nversion #'s, do they not know what a 'major upgrade' is >_> [15:24] gnagno: floby, you're right [15:24] Aikar: no they dont, but websockets still work in chrome [15:24] Aikar: and socket.io has fallback support to XHR-multipart [15:25] Aikar: but as flob said, socket.io isnt perfect, has its quirks, but it works for most part [15:25] postwait has joined the channel [15:25] gnagno: I didn't use it because I saw there's not much documentation [15:25] floby: well the bugs I had were related to transport detection for a great part [15:25] Aikar: now, since your doing log files, i expect your the one consuming this data and not the general public [15:25] Aikar: so since its just you, you can use a native websocket and not worry about socket.io [15:25] floby: but it generally finds a way to send messages [15:26] bentruyman has joined the channel [15:26] floby: however, it has some robustness issues [15:26] gnagno: I wanted to open one window to list a log from one file and another window to listen logs from another file, the problem is both logs were sent to both windows.... [15:26] ph^_ has joined the channel [15:27] gnagno: I couldn't discrimate what to send where [15:27] Aikar: sio is also pretty simple and follows standard node.js syntax, var socketServer = io.listen(httpServer); socketServer.on('connect', function(client) { client.on('data'{}); } ); [15:27] BillyBreen has joined the channel [15:27] zachsmith has joined the channel [15:27] floby: gnagno: Use ID tokens you send along the HTML page. [15:28] Aikar: but in your case dont use socket.io, simply use a websocket class [15:28] floby: and be it the first thing the client sends upon websocket connection [15:28] gnagno: thank you floby I will try like that [15:28] floby: that's what I use for a multiplayer game [15:28] floby: worked well [15:28] aabt has joined the channel [15:28] Aikar: or implement a command 'watchLog /var/log/secure' [15:28] Aikar: just pass file name to monitor [15:28] Aikar: and implement buttons on the page of what log to monitor [15:29] Aikar: actually,. someone has done something similiar, some IRC wargames. i think mape did it [15:29] gnagno: I was thinking to release this small script open source if I will be able to make it work, can you imagine developing ruby on rails (or any other language/framework) and you don't need to go back to the console to check the log every request? just check your browser [15:29] Aikar: youll need security lol [15:29] Aikar: but what geek doesnt have a terminal open to their server 24/7 anyways? [15:30] dipser has joined the channel [15:30] gnagno: Aikar, ok I always have 2 or 3 terminal connections always open, but I thought this could be cool/useful [15:30] floby: nah terminals rule [15:31] gnagno: I personally use guake as terminal, do you know it? [15:31] Aikar: gnagno: it can be, just log files can hold private data so you gotta be careful about security [15:31] Aikar: you dont want to expose /var/log/secure to everyone in the world [15:32] gnagno: Aikar, I wasn't taking care about security, anyway when I am in development mode the logs will be in my own machine too [15:32] jakehow has joined the channel [15:32] rfay has joined the channel [15:34] gnagno: my idea was to show a page where the log would flow streaming from my development log file, then in the top of the page I would add some dropboxes to filter what to log with jquery [15:34] floby: gnagno: have you looked at recent article at nodejitsu? they've got something for remote logging [15:35] aabt has joined the channel [15:35] bingomanatee has joined the channel [15:35] gnagno: floby, you mean the article about Loggly ? [15:35] floby: gnagno: there http://blog.nodejitsu.com/put-your-logs-anywhere-with-winston [15:35] floby: yes [15:36] floby: gnagno: isn't it the same use ? [15:37] gnagno: no, I think winston is for generating logs of your node.js application [15:37] weepy has joined the channel [15:37] gnagno: I want to do the opposite [15:37] floby: what you want to do is stream logs out of non-node apps ? [15:38] gnagno: floby, do you have experience with ruby on rails ? [15:38] floby: gnagno: funny you should mention it... I'm learning it right now! [15:38] davidascher has joined the channel [15:38] gnagno: when you develop in RoR you have a folder with name log where RoR is putting the log of your application [15:38] weepy: @ ryah : I noticed that OSX the require is case insensitive whereas on Ubuntu it's case sensitive. This is for v0.4.1 - is this a intentional ? cheers [15:39] gnagno: I always have a open console with tail -f log [15:39] strmpnk has joined the channel [15:39] floby: I see [15:39] raidfive has joined the channel [15:39] bingomanatee: 0SX's file system is case insensitive. [15:39] gnagno: my script will be used to have just a tab of your browser where you see the log flowing as RoR is creating it [15:39] weepy: ah ok [15:39] gnagno: floby, if you need help with RoR I can help you [15:39] weepy: i never noticed !!!!!!!! [15:40] warz has joined the channel [15:40] floby: gnagno: thanks =) I'm trying to learn ruby beforehands [15:40] bingomanatee: So I guess you never destroyed an SVN repo by recommitting the same file with a single case change then. [15:40] zomgbie has joined the channel [15:40] floby: gnagno: your logging thing seems cool [15:40] gnagno: floby, if you want we can excange knowledge :) [15:40] weepy: can anyone explain the different between require("./app") and require("./app.js") [15:40] bingomanatee: BTW you can always partition your hard drive and make your working partition case sensitive which I Highly reccommend. [15:40] floby: weepy: the second one is useless [15:41] bingomanatee: ACTION never adds the .js [15:41] floby: weepy ;) [15:41] gnagno: floby, I never released an open source app, this will be my first contribute to the comunity after years of just using open source software :) [15:41] weepy: 'the second one is useless' [15:41] dthompson has joined the channel [15:41] weepy: what does that mean ? [15:41] floby: gnagno: I know the feeling I've got tons of stuff waiting to be released. You know 'just polishing them before release' [15:42] amccollum has joined the channel [15:42] gnagno: floby, this will be useful first for me then I will release it :) [15:42] garrensmith has joined the channel [15:42] floby: weepy: the first one will do exactly the same as the second one if it exists, but if it doesn't it will try to load app.node, app/index.js etc. [15:42] floby: weepy: unless require('app.js') takes it as a folder name [15:42] weepy: ah ok thanks - [15:43] weepy: what is .node [15:43] weepy: just a normal js file ? [15:43] aabt_ has joined the channel [15:43] floby: gnagno: cool. I think node can read files as they are written. With the ReadStream class [15:43] floby: gnagno: not sure though [15:43] ncb000gt: weepy: .node files are usually binary files [15:44] gnagno: floby, there's watchFile [15:44] floby: weepy: shared libraries containing C++ modules [15:44] weepy: ah ok [15:44] weepy: thanks ! [15:44] bingomanatee: (usually being subjecive) [15:44] jtsnow has joined the channel [15:44] gnagno: floby, I have almost all my app in place, it's logging perfectly to console but it is not sending the content to the browser as I wish [15:44] ncb000gt: bingomanatee: :) [15:44] floby: gnagno: what do you mean ? [15:44] hij1nx has joined the channel [15:45] gnagno: floby, watchFile is the correct api for watching a file as it is written [15:45] fairwinds: cloudhead: ping. Are you aware of issue parsing response from changes feed? [15:45] floby: gnagno: well how about that ^^ I didn't know. I may have used pipes or nix sockets [15:46] gnagno: floby, look here http://nodejs.org/docs/v0.4.1/api/all.html#fs.watchFile :) [15:46] floby: gnagno: so what is precisely your problem with sending the messages to the browser ? [15:47] gnagno: floby, I am receiving the same log message different times for example [15:47] gnagno: floby, now I am at work, I was developing this app in my home pc, do you think we can talk when I will be at home? [15:48] floby: gnagno: depends on the timezone ! I'm in France [15:48] floby: gnagno: you're using socket.IO or plain websockets ? [15:48] eb4890 has joined the channel [15:48] gnagno: floby, I am in Italy [15:49] floby: gnagno: should work out fine then [15:49] gnagno: I tried both with socket.io and plain websockets [15:49] floby: I'd go with socket.IO [15:50] gnagno: socket was acting very strange [15:50] floby: I know it does sometimes. [15:50] gnagno: if I connect from chrome it was not updating the page, then I connected from firefox and was updating both firefox and chrome by sending 2 times each line [15:51] floby: ¬¬ seems strange but not client related [15:51] gnagno: if we can keep in touch I will show you my code [15:52] tmpvar has joined the channel [15:52] floby: ooooh boy [15:52] floby: github.com/floby [15:52] joecorcoran has joined the channel [15:52] floby: I get notified everytime anything moves on my github so you can talk here [15:53] Me1000 has joined the channel [15:53] strmpnk_ has joined the channel [15:54] aabt has joined the channel [15:54] ceej has joined the channel [15:54] sirkitree has joined the channel [15:54] mikeal has joined the channel [15:55] gnagno: where should I write there? [15:56] gnagno: sorry I am not very used to github [15:56] ncb000gt: gnagno: you can send messages, put code in gists [15:56] wilmoore has joined the channel [15:56] aabt_ has joined the channel [15:56] ncb000gt: gnagno: messages as in pm's [15:57] ncb000gt: and gists are just snippets of whatever you want...you can post code (with syntax hilighting) or anything else if you wanted [15:57] floby: github rules =) and if you're planning on releasing your code it's the perfect place [15:58] ncb000gt: aye <3 github. [15:58] Aikar: < ncb000gt> weepy: .node files are usually binary files [15:58] Aikar: i think it HAS to be a binary file [15:58] Aikar: theres a different loading mechanism for .node files [15:58] ncb000gt: Aikar: for node to use it properly, i'm pretty sure you're right [15:58] aabt_ has joined the channel [15:58] ncb000gt: but i _could_ just name a file .node [15:58] garrensmith_ has joined the channel [15:58] ncb000gt: and that doesn't mean it's binary, that also doesn't mean it'll work [15:59] brianm has joined the channel [15:59] brianm has joined the channel [15:59] weepy: thanks Aikar [15:59] brianm has joined the channel [15:59] brianm has joined the channel [15:59] Gregor: ncb000gt: Captain Pedantry saves the day again! [16:00] jtsnow has joined the channel [16:00] ncb000gt: Gregor: *sigh* [16:00] squeeks: Gregor: I'd much rather him than Captain Obvious. [16:00] brianm has joined the channel [16:00] brianm has joined the channel [16:02] snearch has joined the channel [16:03] mikeal1 has joined the channel [16:04] omenking has joined the channel [16:04] stonebranch has joined the channel [16:06] sleeplessinc has joined the channel [16:06] mauritslamers_ has joined the channel [16:06] dguttman has joined the channel [16:06] tmpvar: yo [16:06] joecorcoran: Any organisers of Node Camp EU in here at the moment? [16:07] floby: there's a node camp in europe ? where ? [16:07] montylounge has joined the channel [16:08] joecorcoran: floby: in Cologne, in June [16:08] squeeks: ooh. there a website or something? [16:08] joecorcoran: I missed out on tickets by a couple of minutes, really annoying! [16:08] joecorcoran: http://nodecamp.eu [16:08] SubStack: bwahaha 4 files changed, 159 insertions(+), 261 deletions(-) [16:08] SubStack: yay deleting code [16:08] aabt has joined the channel [16:09] tmpvar: has anyone here used jsdom.env ? [16:09] floby: meh I've been to Cologne way to many times anyway... [16:09] sth: floby: heh [16:09] floby: when is a node camp in Paris happening ? [16:10] Sorella has joined the channel [16:10] davidascher has joined the channel [16:11] ajashton has joined the channel [16:11] aabt_ has joined the channel [16:13] floby has left the channel [16:13] jtsnow has joined the channel [16:15] Jonasbn_ has joined the channel [16:16] eb4890 has joined the channel [16:16] aheckmann has joined the channel [16:17] pyrony has joined the channel [16:17] tanepiper: joecorcoran: wait, the tickets are sold already? I haven't heard mention of them going available yet [16:17] joecorcoran: i think it was just the first batch [16:17] joecorcoran: i noticed they were on sale around 2.30pm, but now they aren't [16:18] tanepiper: there isn't even anything on the mailing list [16:18] ncb000gt: I thought they went on sale over the weekend or yesterday sometime. [16:18] ajcates has joined the channel [16:19] aabt has joined the channel [16:21] JojoTheBoss has joined the channel [16:21] Utkarsh has joined the channel [16:22] jetienne: github come back! [16:22] aabt_ has joined the channel [16:23] JojoTheBoss_ has joined the channel [16:23] TobiasFar has joined the channel [16:23] astoon has joined the channel [16:24] Utkarsh has joined the channel [16:24] joecorcoran: tanepiper: haha, just seen you on twitter asking why there was no advance warning re nodecamp tickets [16:24] kriszyp has joined the channel [16:25] TobiasFar has joined the channel [16:25] jmar777 has joined the channel [16:25] balaa has joined the channel [16:26] RichardJ has joined the channel [16:26] Utkarsh has joined the channel [16:26] tanepiper: yea, i mean i'm pretty active and i saw nothing [16:26] mauritslamers_: question: I am trying to write bindings to an open source sound engine (portaudio). Now I want to be able to register a callback function from javascript, but I don't know how to do this exactly. I haven't been able to find code how to call a function type for example... [16:27] mauritslamers_: I mean, I would expect that I can set the function itself using static setters and getters, but I have no clue on how to call the function itself [16:27] colinclark has joined the channel [16:27] joecorcoran: tanepiper: just had an email from one of the organisers, there'll be another batch of tickets available "soon" and a twitter announcement beforehand [16:28] Jonasbn_ has joined the channel [16:29] aabt has joined the channel [16:29] vonkow has joined the channel [16:30] jakehow has joined the channel [16:30] tanepiper: ahh good [16:31] evl has joined the channel [16:31] eresair has joined the channel [16:33] sivy has joined the channel [16:34] jetienne: SubStack: just check. npm package.json contains a script.test field!!! [16:34] SubStack: eh? [16:35] jetienne: "test": "make test" <- on the other hand, make that run in a browser wont be easy :) [16:35] SubStack: ah [16:35] SubStack: yeah npm init started prompting for it so I know about that field now [16:35] jetienne: SubStack: this script.test is needed if one want to check if a given package run in a browser [16:36] jetienne: SubStack: just learned about it as i do a little script on npm [16:37] langworthy has joined the channel [16:38] SubStack: hooray I got all of the old browserify tests working with the new api [16:38] aphelion has joined the channel [16:38] perlmonkey2 has joined the channel [16:38] ph^ has joined the channel [16:39] chrisrbailey has joined the channel [16:40] briznad has joined the channel [16:40] SubStack: now updating the readme [16:41] Jonasbn_ has joined the channel [16:41] SubStack: actually adding another test first [16:42] dmcquay has joined the channel [16:42] Weltraumschaf has left the channel [16:42] noahcampbell has joined the channel [16:43] tjholowaychuk has joined the channel [16:43] eb4890 has joined the channel [16:43] kuhrt has joined the channel [16:45] aabt has joined the channel [16:47] RichardJ has joined the channel [16:48] dve: SubStack: ? [16:48] hornairs has joined the channel [16:50] rgr_ has joined the channel [16:50] johnnywengluu: how do i url encode a string in node.js? [16:50] malkomalko: the same way your would normally? [16:51] SubStack: v8: encodeURI('moo cow') [16:51] v8bot: SubStack: "moo%20cow" [16:51] daveluke has joined the channel [16:51] dve: SubStack: dnode question.. i can pass a client method to the server.. and then back to the client? [16:51] malkomalko: hot v8 bot [16:52] cwo has joined the channel [16:52] broofa has joined the channel [16:52] SubStack: dve: yes [16:52] dve: SubStack: anything special I should be doing to the method? [16:52] dve: with the method? [16:54] xSmurf has joined the channel [16:54] sriley: v8: encodeURIComponent('moo cow&now'); [16:54] v8bot: sriley: "moo%20cow%26now" [16:54] SubStack: dve: the only limitation is that return values are ignored [16:54] Guest7716: question concerning function chaining: http://stackoverflow.com/questions/5079279/javascript-function-chaining-and-events [16:54] SubStack: so you have to do everything with callbacks [16:54] SubStack: that is all [16:54] johnnywengluu: thanks [16:54] Guest7716: anyone any ideas? [16:54] johnnywengluu: didnt know there was encodeURI in js [16:54] sriley: ^ is probably more what you want, just encodeURI will leave out the & [16:55] SubStack: Guest7716: use chainsaw [16:55] SubStack: http://substack.net/posts/92a7f7/Build-chainable-interfaces-in-node-js-with-chainsaw [16:56] Guest7716: interesting [16:56] Guest7716: I'll have a look, thank you [16:56] Guest7716: just out of curiosity: any idea how it is implemented in (fab)? [16:56] SubStack: uses the dotted notation for chaining but same idea [16:57] SubStack: fab just returns a function instead of self [16:57] dve: SubStack: hmm.. no dice.. Cannot set property '_boundOnModelEvent' of undefined [16:57] Guest7716: yes, i got that, just if there is an event to wait for [16:57] SubStack: dve: oh dnode doesn't traverse the prototype chain for you too [16:57] Guest7716: such as an http request [16:58] SubStack: it only looks at Object.keys() [16:58] SubStack: I guess that was not all after all! [16:58] Guest7716: how does one chain? [16:58] SubStack: how? [16:58] Guest7716: what i mean is [16:59] SubStack: Guest7716: do you mean chain as in writing a chainable interface or using a chainable interface? [16:59] Guest7716: excactly [16:59] squeeks: create an object, and always return the object. [16:59] Guest7716: sorry for the confusion [16:59] willwhite has joined the channel [16:59] lukus has joined the channel [16:59] lukus: hi [17:00] dve: SubStack: hmmm, not quite sure what that means... but I will keep playing [17:00] fumanchu182 has joined the channel [17:00] tjholowaychuk: v8: function foo(){ return foo; }; foo()()()()()() [17:00] v8bot: tjholowaychuk: function foo(){ return foo; } [17:00] lukus: is there a go-to tutorial that's good for getting up to speed with node.js? [17:00] tjholowaychuk: Guest7716: ^ [17:00] jetienne: i just spent the last 20min to code a http get.... and still im far from completing it :) [17:00] robotarmy has joined the channel [17:00] ncb000gt: lukus: you can check out howtonode.org [17:00] Guest7716: yes, i get that [17:00] Guest7716: just [17:01] lukus: ncb000gt, thx [17:01] shazmoh_ has joined the channel [17:01] squeeks: also nodetuts.com [17:01] lukus: ncb000gt, also - are there any books worth checking out? [17:01] ncb000gt: has articles ranging on experience [17:01] Guest7716: if it is something like listen(port) write() ('test') ('test2') [17:01] lukus: thx both [17:01] Jonasbn_ has joined the channel [17:01] Guest7716: write is related to the http request [17:01] Guest7716: which will fire at some random moment [17:02] ncb000gt: lukus: tjholowaychuk wrote part of one at http://visionmedia.github.com/masteringnode/ [17:02] lukus: hmm.. can it be bought via a book company? [17:02] lukus: like burb? [17:02] ncb000gt: not sure [17:02] ncb000gt: believe it's free [17:02] ncb000gt: heh [17:02] tjholowaychuk: lukus: its open source [17:02] tjholowaychuk: lol [17:02] lukus: nice [17:02] tjholowaychuk: as weird as that sounds [17:03] ncb000gt: haha [17:03] lukus: well - i'd like in on paper though! [17:03] tjholowaychuk: hence why it is not finished I guess haha [17:03] ncb000gt: lol [17:03] lukus: I'm old fashioned like that [17:03] tjholowaychuk: there are other versoins you can download [17:03] tjholowaychuk: chuck it on an ipad etc [17:03] lukus: yeah .. but I paper *sob* [17:03] lukus: *like [17:03] tjholowaychuk: :) [17:03] tjholowaychuk: node changes to quick for a book [17:03] lukus: k [17:03] tjholowaychuk: right now at least [17:04] lukus: so would you recommend getting on board now? [17:04] ncb000gt: true [17:04] ncb000gt: lukus: yes [17:04] lukus: is it ready for production? [17:04] ncb000gt: absolutely [17:04] tjholowaychuk: for sure, just dont expect a book [17:04] lukus: k [17:04] lukus: :) [17:04] eyesUnclouded has joined the channel [17:06] lukus: it all looks really interesting [17:06] lukus: are the server requirements large? [17:06] tjholowaychuk: not really no [17:06] lukus: i have a 512mb vps [17:06] tjholowaychuk: way easier to set up than php IMO [17:06] lukus: k [17:06] tjholowaychuk: / ruby [17:07] ncb000gt: lukus: yea, i was running it on a craptop and it ran fine [17:07] Guest7716: anyone any ideas? [17:07] lukus: hmm [17:07] amccollum has joined the channel [17:07] springmeyer has joined the channel [17:07] tjholowaychuk: Guest7716: my advice is not to worry about chaining so much [17:08] tjholowaychuk: it wont really help you much in real situations [17:08] Guest7716: @tjholowaychuk i was just wondering [17:08] tjholowaychuk: just giving my 2 cents :) [17:08] Guest7716: it looks quite interesting [17:09] jmar777: Guest7716: chaining usually refers to allowing you to "piggyback" method calls. e.g., bar.method1().method2().method3() [17:09] technoweenie has joined the channel [17:09] pt_tr has joined the channel [17:09] jmar777: Guest7716: it was most recently popularized by jQuery, which allows stuff like el.children().siblings('span').find('a') [17:10] Guest7716: actually i was taking a liking towards that pattern because it allowed to kind of write modules in a very simple manner [17:10] Lorentz: Anyone got a recommendation on good book for event driven programming principles and software design etc? [17:10] papyromancer has joined the channel [17:10] Guest7716: as being part of the chain [17:10] jmar777: Guest7716: but it could also refer to various types of higher order functions, like tjholowaychuk demonstrated (where the function actually returns a function reference, yielding the foo()()() syntax) [17:11] Guest7716: @jmar777 thank you for the explanation [17:11] wilmoore has joined the channel [17:11] Guest7716: referring back to what i wrote some lines above [17:11] Guest7716: is it a good idea to use such chaining patterns for modules? [17:11] jmar777: Guest7716: chaining isn't really a formally defined pattern, that i'm aware of. in node you can see it used in EventEmitters. e.g., eventEmitter.on('foo', func1).on('bar', func2) [17:11] SubStack: tjholowaychuk: well it helps if you write lots of modules and have to come up with useful interfaces at least [17:11] tjholowaychuk: SubStack: what does? [17:12] SubStack: chaining [17:12] tjholowaychuk: ah, yeah im not against chaining [17:12] tjholowaychuk: or promises, just not a fan of the general async libs [17:12] SubStack: it's not something that module-users should have to care much about I agree [17:12] tjholowaychuk: domain specific stuff is great, mongoose, soda, etc [17:13] Guest7716: hmm [17:13] jmar777: Guest7716: as an example, consider this constructor: [17:13] jmar777: Guest7716: function Adder() {this.total=0;}; Adder.prototype = { add: function(num) { this.total += num; return this; }, value: function(num) { return this.total; } }; [17:14] Guest7716: thanks, got that [17:14] jmar777: Guest7716: that would allow chaining for a syntax like: new Adder().add(1).add(2).add(3).value(), which would return 6 [17:14] zylo has joined the channel [17:14] Guest7716: just specifically as chaining for module interaction, where you would have a chain representing (async?) function flow and every part of the chain is a module [17:14] Guest7716: like [17:15] Guest7716: listen(8080).auth().readSomeFilesForUser().andSoOn() [17:17] Guest7716: anyone having experience with that kind of chaining(-flow)? [17:17] Ezku\: isn't chainsaw for exactly that? [17:17] SubStack: Guest7716: what are you trying to accomplish? [17:18] pyrony has joined the channel [17:19] simb has joined the channel [17:19] squeeks: WORLD DOMINATION [17:19] squeeks: err, I.. umm... ahem. [17:19] Bonuspunkt: who doesnt?` [17:19] Guest7716: creating kind of a framework interface with simple module integration [17:20] SubStack: Guest7716: but what problem are you solving? [17:20] SubStack: also, browserify now supports bundle() [17:21] SubStack: tjholowaychuk: was it you who asked about that at some point? [17:21] SubStack: a non-middleware browserify use-case I mean [17:21] tjholowaychuk: i dont think so [17:21] tjholowaychuk: doesnt ring a bell [17:21] Guest7716: for example saying i have the flow httpRequest -> authentication -> route. now i want to be able to change it to httpRequest -> route -> authentication [17:21] Guest7716: just by placing the modules at a different position within the chain [17:22] SubStack: and now fixing dnode! [17:22] eb4890 has joined the channel [17:22] derferman has joined the channel [17:22] sudoer has joined the channel [17:23] dve: SubStack: it works so well with backbone... models flying backwards and forwards... awesome [17:23] jetienne: q. is there a function to make a temporary name in the filesystem ? [17:23] SubStack: dve: dnode or browserify? [17:23] dve: dnode.. sorry [17:23] SubStack: ah neat [17:23] daniellindsley has joined the channel [17:24] kordless has joined the channel [17:29] RichardJ has joined the channel [17:30] Me1000 has joined the channel [17:31] pandeiro: Does anyone know if there will be a new version of couch-client that complies with npm 0.3.0 package.json requirements coming along soon? or should i try to hack it myself? [17:32] SubStack: pandeiro: lots of modules broke from that change, we're all still reeling [17:32] SubStack: you can just git clone the repo, add "main" : "./lib/couch-client.js", then `npm link` [17:32] dgathright has joined the channel [17:32] daveluke has joined the channel [17:33] pandeiro: i add that to package.json, SubStack? [17:33] SubStack: yep [17:33] SubStack: since the modules field doesn't do anything anymore [17:33] pandeiro: should i delete the modules field? [17:34] SubStack: if you like [17:34] Kingdutch has joined the channel [17:34] pandeiro: it's totally obsolete now? [17:34] SubStack: yep [17:34] pandeiro: great, brb, thanks [17:36] jtsnow has joined the channel [17:36] jano has joined the channel [17:37] dmcquay has joined the channel [17:38] dewey_ has joined the channel [17:38] dguttman has joined the channel [17:38] spetrea-home has joined the channel [17:38] stonebranch has joined the channel [17:40] juan77 has joined the channel [17:42] bludadept_work` has joined the channel [17:42] bingomanatee has joined the channel [17:43] jetienne: SubStack: do you know how to create a tmp filename ? i cant find it in the doc. mkstemp() kindof thing [17:44] tjholowaychuk: jetienne: I dont think the tmp path nor mktemp() are exposed [17:44] tjholowaychuk: last I checked at least [17:44] SubStack: I just make a random string of characters and throw it in /tmp [17:44] tjholowaychuk: ditto [17:44] jetienne: tjholowaychuk: SubStack: ok thanks [17:44] tjholowaychuk: haha [17:44] jetienne: security +cleanness ftw :) [17:45] SubStack: once somebody throws up a tmpfile package on npm I'll use that [17:45] tjholowaychuk: jetienne: FTW! haha [17:45] tjholowaychuk: :D [17:46] timmak has joined the channel [17:47] atmos has joined the channel [17:48] steffkes has joined the channel [17:48] noahcampbell has joined the channel [17:49] ezmobius has joined the channel [17:50] sprout has joined the channel [17:50] amerine has joined the channel [17:53] pandeiro: SubStack: any idea how I can fix nodemon for 0.4.1? [17:54] davidascher has joined the channel [17:54] SubStack: pandeiro: is it broken? [17:54] pandeiro: "syntax error near unexpected token `(' " [17:55] chovy_ has joined the channel [17:56] gattuso has joined the channel [17:56] pietras has joined the channel [17:56] SubStack: pandeiro: encapsulate the whole package.json in parens and then `node package.json` [17:56] SubStack: that won't find trailing commas though [17:56] chovy_: anyone have any suggestions for troubleshooting the simple web server example for njs? It works fine locally, but if I access http://: remotely I cannot connect. [17:56] perlmon24 has joined the channel [17:56] Chainfire has joined the channel [17:57] pietras: has anyone ever succeeded in sending Access-Control-Allow-Origin for cross-domain file uploads via express? [17:58] dahankzter has joined the channel [17:59] pietras: either that, or some method on manipulating http sockets from behind nginx proxy would be very useful [18:00] admc has joined the channel [18:00] mikeal has joined the channel [18:00] pietras: problem is that nginx lets the file upload first and then passes it to node [18:01] pietras: while I'd like to pause the upload sometimes [18:01] Evet has joined the channel [18:02] saikat has joined the channel [18:02] dmcquay has joined the channel [18:03] tjholowaychuk: pietras: feel free to patch connect [18:03] tjholowaychuk: I dont have time to look into it right now [18:03] tjholowaychuk: sorry man [18:03] mikeal: technoweenie: i just replied to a github dm email again [18:03] mikeal: when are you gonna be done with that :) [18:03] tjholowaychuk: pietras: or remind me some time later tonight i might have time [18:04] technoweenie: mikeal: its being tested internally [18:04] Djui has joined the channel [18:04] mikeal: i'll test it :) [18:05] mikeal: with my failed workflow :) [18:05] perlmonkey2 has joined the channel [18:05] simb: Just curios. This is hardly the place for this kind of question, but outside of via js. Does anyone have a need to connect Flash applications to Socket.IO servers? [18:05] Djui: mraleph: Ok, thanks for info! [18:05] Djui has left the channel [18:07] Misao-chan has joined the channel [18:08] chrischris has joined the channel [18:09] pbalduino has joined the channel [18:09] yhahn has joined the channel [18:09] omenking has left the channel [18:10] mjr_ has joined the channel [18:10] pbalduino has left the channel [18:10] pandeiro: anything wrong with using commas to list module require()'s? [18:11] sudoer has joined the channel [18:11] xastey has joined the channel [18:11] pandeiro: bc node is saying nodemon has a syntax error on the first line, `var fs = require('fs')' [18:11] q_no has joined the channel [18:11] pandeiro: oops, i mean `var fs = require('fs'),' [18:11] pandeiro: (single var pattern) [18:12] jacksonmills has left the channel [18:12] tbranyen: pandeiro: can't have trailing commas [18:12] ilpoldo has joined the channel [18:12] pandeiro: no single var pattern? [18:12] xastey: if I have a box with multiple enternets i can create a server against an specfic one by doing server.listen(port,'192.168.1.111')) correct? [18:12] twoism has joined the channel [18:12] tbranyen: pandeiro: if single var pattern means no trailing comma to you... sure? [18:13] russell_h: huh? [18:13] pandeiro: i notice a lot of code with a new var statement for each require... so that is necessary in node? [18:13] russell_h: you can definitely have trailing commas [18:13] tbranyen: pandeiro: no [18:13] tbranyen: russell_h: ? [18:13] pandeiro: var x, y, z; [18:13] RichardJ has joined the channel [18:13] russell_h: var foo = bar,\n baz = bam; [18:14] technoweenie: is there a way to reset my npm password [18:14] russell_h: http://dpaste.org/5rjh/ <-- trailing commas on require that works fine [18:14] tbranyen: russell_h: well yeah in that case... [18:14] tbranyen: thats not a trailing comma [18:14] tbranyen: its ignoring white space [18:14] tbranyen: to continue the var [18:14] jetienne: pandeiro: no it isnt. this is just current trend [18:14] russell_h: ah [18:15] pandeiro: so why is node saying there's a syntax error i wonder [18:15] pandeiro: nobody uses nodemon here? [18:15] jetienne: technoweenie: last time i had to poke isaacs [18:15] tbranyen: pandeiro: because you ignore people who help you [18:15] tbranyen: pandeiro: can you paste the portion of your source [18:15] tbranyen: showing the requires? [18:15] technoweenie: ah damn [18:15] technoweenie: i miss gemcutter [18:15] tbranyen: since i might be being too presumptuous [18:15] russell_h: yeah, you cant' do like "foo = require('foo')," then just start calling things on the next line [18:16] tbranyen: right [18:16] tbranyen: can't do trailing commas in object definitions or arrays either [18:16] TheEmpath has joined the channel [18:17] langworthy has joined the channel [18:17] tbranyen: oh wait, maybe you can in node [18:17] tbranyen: not in ES5 strict tho [18:17] TheEmpath: hail nodites [18:17] eyesUnclouded has joined the channel [18:17] russell_h: tbranyen: yeah, I think v8 allows it [18:17] TheEmpath: node.js + html5 = friends [18:17] TheEmpath: bff [18:17] jetienne: TheEmpath: ? [18:17] pandeiro: tbranyen: sorry who did i ignore? nodemon requires are here: http://pastebin.com/Fr6S4aSb [18:18] tbranyen: russell_h: issue is that comma is both a delimiter and an operator [18:18] keltus has joined the channel [18:18] tbranyen: pandeiro: at a brief glance that looks good, its erroring at the first line? [18:18] jetienne: tbranyen: seems like the error is not reported on the proper line. add some var in the middle [18:19] pandeiro: yep [18:19] tbranyen: jetienne: what? [18:19] jetienne: my bad it was for pandeiro [18:19] tbranyen: pandeiro: yeah helps pasting source like that :) [18:19] jetienne: pandeiro: seems like the error is not reported on the proper line. add some var in the middle [18:19] tbranyen: esp when you need help [18:19] jetienne: pandeiro: thus you will know which line fails [18:20] jetienne: var fs = require('fs'); <- is fine [18:21] Metapony: Can anyone suggest a good node.js tutorial ? I've been following dailyjs, but so far it hasn't left me feeling like I'm getting it.... [18:21] pandeiro: Metapony: I'm looking at Pedro Teixeira's site a lot these days too [18:21] pandeiro: nodetuts [18:21] Metapony: pandeiro: thx [18:21] pandeiro: jetienne: so i have to get rid of that first line or change it to a ; ? [18:22] tbranyen: >< [18:22] pandeiro: i put some BS further down in the var statement but it still trips up at line 1 [18:22] astoon has joined the channel [18:23] jmar777: tjholowaychuk: was planning on waiting until connect officially supported node v0.4.x, but if we were to start implementing it, does it look like the port to the new version would be extensive? [18:23] tbranyen: pandeiro: oh cool remy wrote that [18:23] jetienne: pandeiro: you split the whole into 2 var. like var fs = require('fs'); var sys = require('sys'), [18:23] zzak_ has joined the channel [18:23] tbranyen: he was online a min ago, could have asked him for help with that [18:23] tjholowaychuk: jmar777: nope, will be minimal [18:23] jetienne: pandeiro: if after this modification the error is on the sys. i was right. and you have to loop to find the good line [18:24] tjholowaychuk: jmar777: but I have removed gzip and a few others (although they could just end up as stand-alone middleware) [18:24] tjholowaychuk: but I dont want them in core [18:24] Plouj: where can I find an example of two node processes communicating to each other via socket.io? [18:24] jmar777: tjholowaychuk: cool - might start moving forward on that then. thanks. [18:24] jmar777: tjholowaychuk: still thinking that'll be ready in the next couple of weeks? [18:24] pandeiro: jetienne: problem continues even using semicolon -- line 1: syntax error near unexpected token `(' [18:24] tjholowaychuk: dunno [18:24] pandeiro: /usr/local/bin/nodemon: line 1: `var fs = require('fs');' [18:24] jetienne: pandeiro: ??? [18:25] jetienne: pandeiro: you are not running it with node [18:25] pandeiro: i am using nodemon [18:25] xastey has joined the channel [18:25] pandeiro: per the instructions on remy's github readme [18:25] glen_ has joined the channel [18:26] chovy_: i'm using nodejs as a non-root user, it works locally, except I can't access the app remotely, presumably because that port is blocked somewhere at my hosting provider...is it possible to work around this somehow so I can access my app remotely? ie: http://x.x.x.x:yyyy [18:26] mjijackson has joined the channel [18:26] chovy_: i tried ports over 8000 still blocked. [18:26] mauritslamers__ has joined the channel [18:26] fizzy has joined the channel [18:27] technoweenie: chovy_: thats up to your hosting provider [18:27] dve: chovy: no joy on 80? [18:27] montylounge has joined the channel [18:27] russell_h: pandeiro: try running 'node /usr/locla/bin/nodemon' [18:28] chovy_: dve: 80 is already used by apache. [18:29] dve: SubStack: Out of interest any particular reason why you didnt have flashsockets as an available transport in your chat demo? [18:29] dve: for dnode [18:29] clarkfischer has joined the channel [18:29] stonebranch has joined the channel [18:29] colinclark has joined the channel [18:29] chovy_: are there any ports that might not be blocked, but don't necessarily have a server already tied to it? [18:29] dve: SubStack: ignore that, brain fart [18:30] pandeiro: russel_h: that works fine [18:30] russell_h: pandeiro: if you don't want to have to do that [18:30] russell_h: you can edit /usr/local/bin/nodemon [18:30] russell_h: and add a line like [18:30] russell_h: #!/usr/local/bin/node [18:30] russell_h: or wherever node is install (run 'whereis node' to see) [18:30] rpflo has joined the channel [18:30] russell_h: as the first line [18:31] russell_h: then you can just run it [18:31] russell_h: that sounds like a nodemon issue though, either their instructions or their code are wrong [18:31] pandeiro: russell_h: wow, ok... that something that changed recently in node? [18:31] losing_ has joined the channel [18:31] pandeiro: the shebang thing? [18:32] russell_h: it shouldn't have, but no idea [18:32] russell_h: "#!/usr/bin/env node" will find node if its on your PATH I think [18:34] mraleph has joined the channel [18:35] vyvea: Hi, http://pastebin.com/fX2kDSr5 , http://pastebin.com/eDv5YtVX When i try run this code get error - http://pastebin.com/GHq41WDc . Maybe anyone can say why? :-) Sorry i am newbie in Node.js [18:36] pandeiro: thanks for the help russell_h for now i'll just run it with the node command in front... maybe that's just /implied/ in the nodemon readme (?) [18:36] pandeiro: thanks tbranyen, jetienne for the help [18:36] malkomalko: anybody using the mongodb driver on 0.4.1 yet? can't seem to build it [18:39] ryah: mraleph: yt? [18:40] as-jpolo has joined the channel [18:41] mraleph: ryah: yep [18:42] ryah: mraleph: i have a few convenience methods i want to add to v8.h - what do you think about this: convenience [18:42] ryah: er [18:42] ryah: https://gist.github.com/839135 [18:43] atmos has joined the channel [18:43] dgathright has joined the channel [18:45] dmcquay has joined the channel [18:45] ryah: i'll just submit it for review and see what people think... [18:46] atmos_ has joined the channel [18:46] aabt has joined the channel [18:47] qFox has joined the channel [18:48] RichardJ has joined the channel [18:49] stephank has joined the channel [18:49] liar has joined the channel [18:49] hij1nx has joined the channel [18:50] muk_mb has joined the channel [18:50] TomY_ has joined the channel [18:51] brapse has joined the channel [18:51] thnkfst has joined the channel [18:54] JulioBarros has joined the channel [18:56] Country has joined the channel [18:57] tim_smart: ryah: You lost you @ :p [18:57] tim_smart: your* [18:57] Gruni has joined the channel [18:58] tim_smart: Quick question - is there a npm command to install something to node_modules in the cwd? [19:00] CrypticSwarm has joined the channel [19:01] mauritslamers__: question: is this the proper place to ask questions about writing node bindings in c++? [19:03] jetienne: mauritslamers__: here is the good place [19:04] mauritslamers__: jetienne: ah great [19:04] daveluke: when the server node needs to retrieve data from say a db... does it do an ajax call? [19:04] ncb000gt: daveluke: no [19:04] mauritslamers__: I am mostly a js programmer, but I want to try to build bindings for a c/c++ library [19:04] ncb000gt: or rather, not exactly [19:04] orospakr has joined the channel [19:05] orospakr: Hi! It's great that npm supports installing things system-wide now, but it would be nice if, if I ask it nicely, it could do the old behaviour of installing into .node_libraries. is this facility still available? [19:05] ncb000gt: daveluke: it may make an asynchronous request to some place, but specifically speaking to ajax, it doesn't make do XHR [19:05] ncb000gt: XHR is a browser specific thing [19:05] mauritslamers__: I have been trying some things, but ran into a few problems: node-waf configure does strange things when trying to include paths [19:05] yozgrahame has joined the channel [19:05] daveluke: ncb000gt, is there something i can google to find more info? [19:06] daveluke: i assume this is a common use case [19:06] jetienne: daveluke: it all depends on the database you use [19:06] daveluke: the server needs to get questions from the db for my jeopardy style game.. and then broadcast to specific clients [19:06] ncb000gt: daveluke: aye it is, making requests is very common. [19:06] tjholowaychuk: inspect() realllllly needs an options object [19:06] jetienne: daveluke: which db do you plan to use [19:06] daveluke: mysql [19:06] daveluke: isam i believe [19:06] ncb000gt: daveluke: take a look at felixge's mysql library on github [19:07] eee_c has joined the channel [19:07] daveluke: thanks [19:07] ncb000gt: https://github.com/felixge/node-mysql [19:08] ncb000gt: tjholowaychuk: for what? [19:08] tjholowaychuk: ncb000gt: the stupid inspect(obj, showHidden, depth, color) stuff [19:08] tjholowaychuk: since we cant tweak depth via console.depth or something [19:08] ncb000gt: mauritslamers__: node-waf will only use what you tell it to [19:09] tilgovi has joined the channel [19:09] mauritslamers__: ncb000gt: that is what I would expect, though when I give the exact same command line from node-waf build myself the compilation works [19:09] muk_mb has joined the channel [19:09] ncb000gt: tjholowaychuk: well look at that, i didn't even know there were more params to inspect :) i've always just used it by passing the object [19:10] tjholowaychuk: haha :D [19:10] tjholowaychuk: its annoying to remember though [19:10] ncb000gt: tjholowaychuk: i'd agree, if there are any more params to be added, just put em in an options object [19:10] xastey: umm can't seem to bind to port 80 :/ [19:10] xastey: permission denied [19:10] tjholowaychuk: that is more than enough IMO, inspect(obj, false, true, true) is pretty bad [19:10] ncb000gt: mauritslamers__: strange, gist or code somewhere? [19:10] tjholowaychuk: reminds me of php [19:11] tjholowaychuk: the new indentation for 0.4.x inspect() output is worse too [19:11] ljackson has joined the channel [19:11] ncb000gt: xastey: many os's require root to attach to port 80 [19:11] tjholowaychuk: hard to see array elements now that we dont have leading commas [19:11] mauritslamers__: ncb000gt: working on it... [19:11] atmos_: ncb000gt: s/many/unix/ [19:11] ncb000gt: mauritslamers__: cool [19:11] tjholowaychuk: regression! [19:11] ncb000gt: atmos_: ty :) [19:11] xastey: eh.. damit [19:12] ncb000gt: atmos_: i should have said "the important os's" [19:12] simb: xastey: is something else running on 80? [19:12] seivan: tjholowaychuk: Dude, haml is slow as fuck on ruby compared to erb [19:12] seivan: tjholowaychuk: How is Jade? [19:12] seivan: Compared to "default" is that ejs? [19:12] xastey: actually I think so simb [19:12] xastey: still checking [19:12] tjholowaychuk: seivan: there is no default [19:12] tjholowaychuk: seivan: ejs is faster of course [19:12] tjholowaychuk: it does almost nothing [19:12] seivan: cool. [19:12] marienz has joined the channel [19:13] simb: xastey: thats the one that always gets me. running something on the port already [19:13] tk has joined the channel [19:14] mauritslamers__: ncb000gt: https://gist.github.com/839184 [19:15] mkrecny has joined the channel [19:15] tk has joined the channel [19:15] mkrecny: what happened to the https module that was distributed in npm? [19:16] ncb000gt: mkrecny: it got an overhaul for 0.4.0 [19:16] mkrecny: ncb000gt: ideas for a workaround? [19:17] ncb000gt: mkrecny: what dod you mean? [19:17] dewey_: is there a better way to update nodejs instead of recompile? [19:17] Plouj: anyone? [19:18] mkrecny: ncb000gt: I'm using a tool that depends on https ... [19:18] dewey_: ah nice, rvm for nodejs https://github.com/creationix/nvm [19:18] mauritslamers__: ncb000gt: https://github.com/mauritslamers/node-portaudio [19:18] ncb000gt: ohh sorry, i meant that https is now standard in node [19:18] perezd has joined the channel [19:18] ncb000gt: reading fail [19:18] mkrecny: ah [19:18] ncb000gt: i have no idea what happened to the one in npm [19:18] mkrecny: it disapparated : ) [19:18] ncb000gt: it probably went away [19:19] ncb000gt: hehe [19:19] Jonasbn_ has joined the channel [19:19] dmcquay has joined the channel [19:19] mauritslamers__: ncb000gt: I am a terrible C++ dev, so feel free to point out anything you might notice :) [19:20] ryanfitz has joined the channel [19:21] RichardJ has joined the channel [19:21] Plouj: where can I read about how node and socket.io work and fit together in terms of establishing connections and all [19:21] insin has joined the channel [19:22] ncb000gt: Plouj: i'm not sure of articles but check out LearnBoost's socket.io stuff on github [19:22] ncb000gt: there are some examples in the repo iirc [19:22] ncb000gt: mauritslamers__: it seems like your paths are a little screwy [19:22] ncb000gt: in the wscript file [19:22] mauritslamers__: probably :) [19:23] ncb000gt: line 11 refers to a path that doesn't exist (even after the hardcoded path for your machine) :) [19:23] mauritslamers__: hmm I double checked that... [19:24] mauritslamers__: and now verified that.. that hardcoded path does exist [19:24] ncb000gt: hmm [19:24] ncb000gt: i could also be screwy :) [19:24] ncb000gt: sec [19:25] mauritslamers__: and has the portaudiocpp dir in it :) [19:25] piscisaureus has joined the channel [19:26] jetienne: dewey_: you use nvm ? does it work well ? [19:26] dewey_: just now, so can't tell you more then that it seems to work :p [19:29] ffv has joined the channel [19:29] mlncn has joined the channel [19:31] bengl has joined the channel [19:31] dewey_: what's the best way to create documentation of your nodejs source files [19:31] saikat has joined the channel [19:31] dewey_: http://code.google.com/p/jsdoc-toolkit/ ? [19:32] daveluke: ncb000gt, do you use node-mysql? trying to figure out how to get data after i run a query [19:32] dewey_: daveluke: use a callback function [19:32] jtoy_ has joined the channel [19:32] dewey_: db.query('SELECT * FROM blaat WHERE name=?, ["test"], function(err, result) { }); [19:32] ncb000gt: daveluke: in the last example where he passes a query he uses a callback [19:33] petridish has joined the channel [19:33] Me1000 has joined the channel [19:33] ncb000gt: the results should be in "result" available to the callback function [19:33] daveluke: i see.. thanks... [19:33] insin: API docs are no substitute fo real documentation [19:33] dewey_: use result.forEach(function(val,index) {}); to loop it [19:33] mauritslamers__: daveluke: https://github.com/mauritslamers/Thoth/blob/master/lib/MySQLStore_node-mysql.js [19:34] pdelgallego has joined the channel [19:34] dthompson has joined the channel [19:34] piscisaureus has joined the channel [19:35] ncb000gt: insin: sure, but they are a pita to write when you are crunched on time...doesn't mean it doesn't need to happen, just means that it's not usually high on the list [19:35] dewey_: insin: true, let me reprashe.. what's the best way to generate a api documentation [19:35] ncb000gt: insin: oops, diff thread. sorry. :) [19:35] ajnasz has joined the channel [19:35] insin: I find you have to jump through hoops with JSDoc unless you write code in a certain, old-school style [19:35] wadey has joined the channel [19:35] dewey_: *rephrase [19:36] ncb000gt: mauritslamers__: i'm still looking at the config, will get back to you if i see something [19:36] dewey_: so is there a better way? [19:36] muhqu has joined the channel [19:36] mauritslamers__: ncb000gt: that would be great :) [19:37] insin: TBH, wroting *just* the API docs in Sphinx would take less time than annotating your code and playing "guess what JsDoc will make of it this run" [19:37] mgc has joined the channel [19:37] jetienne: dewey_: several people are doing it. dunno how tho http://networkimprov.github.com/node-doc-api/all.html is the one i use [19:37] tc77 has joined the channel [19:37] jetienne: dewey_: poke them and ryah to know how doc are generated [19:38] dewey_: yeah I like the nodejs docs [19:38] Epeli has joined the channel [19:38] tbranyen: jsdoc kind of sucks anyways [19:39] joeshaw___ has joined the channel [19:39] tbranyen: i used it not too long ago and dumped in favor of naturaldocs [19:39] tbranyen: really like docco now, not sure how well that'd work for node tho [19:39] tbranyen: although thats not really documentation [19:39] tbranyen: more like guiding you through source code [19:39] beta_ has joined the channel [19:40] brad___ has joined the channel [19:40] chrischris has joined the channel [19:40] brad___: exit [19:40] brad___: quit [19:40] tbranyen: almost there [19:41] johnnywengluu has joined the channel [19:41] mikeal has joined the channel [19:41] echoSMILE has joined the channel [19:41] echoSMILE has joined the channel [19:41] daveluke: i love socket.io :) [19:42] xandrews has joined the channel [19:42] jetienne has joined the channel [19:42] joshfng has joined the channel [19:42] ncb000gt: mauritslamers__: ok actually, when i installed libportaudio-dev (ubuntu) the configure actually works [19:42] tbranyen: daveluke: me too [19:43] mauritslamers__: ah... [19:43] tbranyen: if we had more libs like socket.io building shit wouldn't be so damn frustrating [19:43] tbranyen: "building shit for the web" [19:43] ncb000gt: mauritslamers__: the build def didn't work [19:44] ncb000gt: but the configure did :) [19:44] mauritslamers__: ncb000gt: mmm, perhaps installing portaudio using macports may help [19:44] dewey_: I like the docs of cluster [19:44] dewey_: http://learnboost.github.com/cluster/ [19:44] ncb000gt: mauritslamers__: or add your path to the LD_LIBRARY_PATH [19:44] dewey_: small, easy [19:44] mauritslamers__: ncb000gt: I can imagine build not working... the code is crap, but I have no idea why [19:44] dewey_: clean [19:44] ncb000gt: mauritslamers__: heh [19:44] mauritslamers__: ncb000gt: used the code from node_postgresql [19:44] mauritslamers__: as a model [19:44] piscisaureus has joined the channel [19:45] tbranyen: dewey_: oh yeah those are great [19:45] mauritslamers__: but my code already breaks at line 27 [19:46] dewey_: tjholowaychuk: is it ok if I use your style of docs? :p [19:46] tjholowaychuk: dewey_: sure [19:46] justin____ has joined the channel [19:47] aklt has joined the channel [19:47] markwubben has joined the channel [19:47] FMJag has joined the channel [19:47] dewey_: tjholowaychuk: thanks :) [19:47] vnguyen has joined the channel [19:47] ph^ has joined the channel [19:48] _sri has joined the channel [19:51] mauritslamers__: ncb000gt: I can imagine the configure working, because the current wscript file doesn't contain the check for the cpp header [19:51] ncb000gt: mauritslamers__: possibly, i can add it and try [19:51] mauritslamers__: that is: it is disabled... if enabled, it doesn't work... just installed portaudio using macports, doesn't seem to work... [19:51] ljackson has joined the channel [19:52] mkrecny: ncb000gt: https isn't in 0.4 (atleast whenI use nvm)... [19:52] liar has joined the channel [19:52] zum has joined the channel [19:52] ncb000gt: mkrecny: http://nodejs.org/docs/v0.4.1/api/https.html [19:52] ncb000gt: http://nodejs.org/docs/v0.4.0/api/https.html [19:53] rfay has joined the channel [19:53] ncb000gt: mauritslamers__: aye, you are correct [19:53] kkaefer has joined the channel [19:53] kkaefer has joined the channel [19:54] doki_pen has joined the channel [19:55] jetienne: http://networkimprov.github.com/node-doc-api/all.html#hTTPS [19:55] tranqenstein has joined the channel [19:55] jetienne: ok day is off for me. have fun [19:58] pedrobelo has joined the channel [20:00] flippyhead has joined the channel [20:00] _sri has joined the channel [20:01] cloudhead: fairwinds: no, what's the issue? [20:01] cnu has joined the channel [20:02] cognominal has joined the channel [20:02] piscisaureus has joined the channel [20:03] astoon has joined the channel [20:04] fairwinds: cloudhead: actually I saw it has been reported about a month ago. It has to do with getting broken json due to string parsing in changes. The issue had a fix to implement which I did in the interim. [20:04] fairwinds: so it is working for me currently [20:04] cloudhead: ah I see [20:04] cloudhead: let me check [20:04] doubletap has joined the channel [20:05] cloudhead: ah yes I see [20:05] themiddleman_itv has joined the channel [20:06] possibilities has joined the channel [20:07] fairwinds: cloudhead: this is a nice lib. I am still not certain what I will be using. I am using request quite a bit for everything and creating objects that have schemas [20:07] joecorcoran has joined the channel [20:08] ncb000gt: mauritslamers__: I added an explicit includes bit to the check_cxx call, but it's still not working [20:10] slaskis has joined the channel [20:10] ncb000gt: but I'm not sure, i haven't had to deal much with waf...the stuff I did do was very basic [20:10] ncb000gt: mauritslamers__: https://github.com/ncb000gt/node.bcrypt.js/blob/master/wscript [20:10] mauritslamers__: ncb000gt: I also don't know whether the PortAudio c++ wrapper is part of the portaudio-dev package [20:10] tanepiper: fairwinds: this for couchdb? [20:11] fairwinds: tanepiper: yeah [20:11] ncb000gt: mauritslamers__: it's not afaik, in /usr/include/ all i have is portaudio.h [20:11] tanepiper: what are you using for schema? atm i'm just doing design docs, and most of the schema stuff in the client side [20:12] jetienne: mauritslamers__: on ubuntu portaudio19-dev depends on libportaudiocpp0 [20:12] jetienne: mauritslamers__: so on ubuntu the PortAudio c++ wrapper is part of the portaudio-dev package [20:12] flippyhead has joined the channel [20:13] konobi: wadey: what problems did you solve using your patches to node-amqp, out of interest? [20:13] fairwinds: tanepiper: I implemented with json schema [20:13] pifantastic has joined the channel [20:13] cloudhead: fairwinds: ty, I find that it abstracts the api in a way that I can remember easily :) [20:14] tanepiper: fairwinds: ahh, so you just evaluate your JSON file to enforce a schema? [20:14] ncb000gt: mauritslamers__: it configured correctly installing portaudio19-dev as jetienne suggested [20:14] ncb000gt: still, that doesn't fix the issues with the wscript file [20:14] ncb000gt: but it at least lets you move forward, or have system level dependencies [20:15] ncb000gt: tho it seemed like you were trying to include those local to your project [20:15] fairwinds: tanepiper: a bit more to it than that, but in a nutshell it validates, sets defaults, etc. [20:24] RichardJ has joined the channel [20:24] liquidproof has joined the channel [20:25] fairwinds: tanepiper: I ran into some trouble with that initial validator I was working with, would recommend JSV if you go this router [20:25] fairwinds: s/ router route [20:25] tbranyen: ncb000gt: i've been having lots of issues with waf [20:25] tbranyen: do you have any resources for documentation on how to use it? [20:25] malkomalko: yo tjholowaychuk just installed new cluster, my local machine works fine but on my production box (both node 0.4.1) it looks like I got the loop from hell where it keeps starting/killing workers over and over again heh [20:25] malkomalko: with the latest from git [20:25] tanepiper: JSV? [20:25] ncb000gt: tbranyen: there is a wiki and apparently even an online book [20:25] tjholowaychuk: malkomalko: what is the clustr config like? [20:25] fairwinds: tanepiper: yeah, name of parser [20:25] isaacs has joined the channel [20:25] ncb000gt: but i'm far from an expert on it, i only did what I had to for compiling my project [20:25] malkomalko: https://gist.github.com/4bfe193ad95ece12a100 [20:25] tjholowaychuk: malkomalko: it has happened to me a few times too, thought I got that bug out but maybe not [20:25] fly-away has joined the channel [20:25] tbranyen: ncb000gt: weird their google code page has pretty much nothing of use [20:25] tanepiper: fairwinds: ahh found it [20:25] malkomalko: also, if you notice I have a lot of stuff duplicate for production vs development [20:25] malkomalko: it wouldn't let me just use .in('development') for the reload [20:25] malkomalko: whenI started up production it would just hang [20:25] fairwinds: cloudhead: am doing something at moment that is similar to way I was handling in python. doc.load(db, id) and doc.store(db) but with callbacks [20:25] tjholowaychuk: malkomalko: its kinda hard to visualize but you need .in('all').listen(port) if you want the same portno for the envs [20:25] lastk has joined the channel [20:25] mkrecny has joined the channel [20:25] tjholowaychuk: malkomalko: or a .listen() per env there [20:25] xmilliard has left the channel [20:25] fairwinds: cloudhead: doc is an object that is extended for different types [20:25] malkomalko: got it for that [20:25] tjholowaychuk: malkomalko: everything else looks good though [20:25] malkomalko: .in('all') for everything that's the same, and then .in('whatever') for per env stuff [20:25] tjholowaychuk: yup [20:25] malkomalko: hmm, wonder why i get a miserable loop on my production box [20:25] walkah: isaacs: does 'npm init' work for you on node v0.4.1 ? [20:25] tjholowaychuk: you dont need "all" until the first .in() call [20:26] tjholowaychuk: but listen() before the first in() looks weird [20:26] tanepiper: fairwinds: i was thinking of moving to backbone and tying request or cradle in for Backbone.sync [20:26] isaacs: walkah: not sure, just a sec.. [20:26] tanepiper: but haven't decided yet, since i'm using ExtJS on the client side, wondering if it might be overkill :) [20:26] tjholowaychuk: malkomalko: tough call make sure NODE_ENV is set though [20:26] tjholowaychuk: otherwise maybe it's reload() [20:26] malkomalko: it is, I do it on the command line [20:26] tjholowaychuk: hmm [20:26] malkomalko: NODE_ENV=production node server.js [20:26] tjholowaychuk: k good good [20:26] fairwinds: cloudhead: I don't hold onto a connection, but just pass in db which is just a string var for my methods [20:26] malkomalko: which works fine on my local machine, but causes an infinite loop on my production machine, both node 0.4.1 [20:26] cloudhead: fairwinds: right, but I often do bulk gets/puts too [20:26] tjholowaychuk: I can add some logic to help prevent the extremity of that issue [20:26] fairwinds: the base class just uses request to handle [20:26] cloudhead: the api for that is annoying [20:26] tjholowaychuk: recursive spawning of large processes is never fun [20:26] tjholowaychuk: haha [20:26] malkomalko: can you post up a quick gist as a reply as how you'd rewrite that config? [20:26] malkomalko: I'm having a hard time [20:26] tjholowaychuk: malkomalko: but tough call on what could be trigger that, maybe fire me the debug() output or the logs in debug mode [20:26] tjholowaychuk: yeah sure [20:26] malkomalko: I mean, we saw that that'd happen with the default reload [20:26] malkomalko: I'm thinking that something is slipping through the cracks [20:26] malkomalko: it's seeing the change of pids [20:26] malkomalko: and going crazy [20:26] daveluke has joined the channel [20:26] malkomalko: but that's just my gut [20:28] tjholowaychuk: malkomalko: [20:28] tjholowaychuk: https://gist.github.com/398599f72adf011a8ab5 [20:28] tjholowaychuk: and if you have prod specifics add another .in() after the dev one or whatever [20:28] tjholowaychuk: make sure you are on 0.2.3 [20:28] tjholowaychuk: previously reload() would definitely have issues because it was watching non-js files [20:28] tjholowaychuk: so the socks / pids etc [20:28] jetienne has left the channel [20:28] tjholowaychuk: malkomalko: got some stuff i gotta work on but ping me later if its still acting up [20:29] tjholowaychuk: definitely something I want fixed [20:29] malkomalko: no worries [20:29] RichardJ has joined the channel [20:29] malkomalko: I pulled the latest from git and suck it in the project locally [20:29] fairwinds: tanepiper: trying to get to point where client and server validation for json is same on both sides. [20:29] jesusabdullah: tjholowaychuk: What was that idea you had that you mentioned on twitter? [20:29] walkah: isaacs: https://gist.github.com/69e72824d1d3da77fa06 (npm init - node v0.4.1) [20:30] tjholowaychuk: jesusabdullah: I was going to replace my shell with node [20:30] tjholowaychuk: haha [20:30] tjholowaychuk: but [20:30] tjholowaychuk: then i got bored [20:30] jesusabdullah: Hah XD [20:30] jesusabdullah: That would've been pretty sweet [20:30] malkomalko: fyi tjholowaychuk, the config the way you pasted it will hang when trying production [20:30] jesusabdullah: The only thing I've heard of kinda like that is ipython's shell mode [20:30] kkaefer: tjholowaychuk: https://github.com/unconed/TermKit [20:31] tjholowaychuk: malkomalko: looks fine :s [20:31] niklasfi has joined the channel [20:31] niklasfi: are there any known issues with fs.createReadStream? [20:32] Me1000 has joined the channel [20:32] tjholowaychuk: kkaefer: cool! I meant replacing bash, not the terminal, the shell [20:32] kkaefer: tjholowaychuk: I know, but it might still be interesting [20:32] tjholowaychuk: although cd('..') is way more annoying than cd .. etc haha [20:39] jesusabdullah: tjholowaychuk: Make it so you can use coffee instead of js ;) [20:39] tjholowaychuk: haha [20:39] tjholowaychuk: in this case it would be better yeah [20:39] jesusabdullah: well, potentially anyway [20:39] tjholowaychuk: not a huge deal, it would be annoying to use anyway [20:39] tjholowaychuk: but it would still be a neat little project [20:39] Roelven_ has joined the channel [20:39] jesusabdullah: Yeah [20:40] possibil_ has joined the channel [20:40] niklasfi: is there some event, that fires, when req.write finishes? [20:40] Aikar: tjholowaychuk: hmm, the idea of building a shell on node that by default commands pipe to bash, and setup commands to be processed by node and have the shell a persistant node process that you can run scripts in seems like an interesting idea [20:40] tjholowaychuk: Aikar: wouldnt even have to use bash [20:40] spaceinvader: why even pipe commands to bash [20:40] Aikar: node> cat /proc/cpu then node> cmd foo actually routes to a JS "cmd" [20:40] tjholowaychuk: would lose all the goodness of expansion etc but oh well [20:40] spaceinvader: you could have a node.sj shell [20:40] Aikar: true [20:40] tjholowaychuk: yup [20:40] shazmoh_ has joined the channel [20:40] Misao-chan has joined the channel [20:40] malkomalko: that fixed it tjholowaychuk [20:40] malkomalko: don't know why :) [20:40] tjholowaychuk: malkomalko: what did? [20:40] malkomalko: your config file change [20:40] rfay has joined the channel [20:40] tjholowaychuk: oh :) [20:40] tjholowaychuk: I dont think with the old one you were even listen()ing [20:40] tjholowaychuk: well no i guess it would be the last env, so only production would listen [20:40] tjholowaychuk: who knows [20:40] tjholowaychuk: haha [20:41] sriley has joined the channel [20:41] Aikar: could get tricky to support like node> wc -l `findFiles .` | grep -v "blah" | nodeGrep [20:41] niklasfi has left the channel [20:41] DoNaLd`: exist some plugin for createing PDF with nodejs ? .. except pdf.js ? (this has some issues with ff and chrome) [20:41] Aikar: where findFiles and nodeGrep are JS functions and grep and wc are normal funcs etc [20:41] Aikar: normal binaries* [20:53] temp02 has joined the channel [20:53] stuart has joined the channel [20:53] ajsie has joined the channel [20:53] inimino has joined the channel [20:53] sriley has joined the channel [20:53] rfay has joined the channel [20:53] Misao-chan has joined the channel [20:53] shazmoh_ has joined the channel [20:53] Roelven has joined the channel [20:53] RichardJ has joined the channel [20:53] mkrecny has joined the channel [20:53] lastk has joined the channel [20:53] fly-away has joined the channel [20:53] isaacs has joined the channel [20:53] liquidproof has joined the channel [20:53] pifantastic has joined the channel [20:53] flippyhead has joined the channel [20:53] slaskis has joined the channel [20:53] joecorcoran has joined the channel [20:53] themiddleman_itv has joined the channel [20:53] doubletap has joined the channel [20:53] cognominal has joined the channel [20:53] cnu has joined the channel [20:53] _sri has joined the channel [20:53] pedrobelo has joined the channel [20:53] tranqenstein has joined the channel [20:53] doki_pen has joined the channel [20:53] kkaefer has joined the channel [20:53] zum has joined the channel [20:53] liar has joined the channel [20:53] ljackson has joined the channel [20:53] ph^ has joined the channel [20:53] vnguyen has joined the channel [20:53] FMJag has joined the channel [20:53] aklt has joined the channel [20:53] justin____ has joined the channel [20:53] xandrews has joined the channel [20:53] mikeal has joined the channel [20:53] johnnywengluu has joined the channel [20:53] chrischris has joined the channel [20:53] beta_ has joined the channel [20:53] joeshaw___ has joined the channel [20:53] Epeli has joined the channel [20:53] tc77 has joined the channel [20:53] mgc has joined the channel [20:53] muhqu has joined the channel [20:53] wadey has joined the channel [20:53] pdelgallego has joined the channel [20:53] petridish has joined the channel [20:53] saikat has joined the channel [20:53] bengl has joined the channel [20:53] mlncn has joined the channel [20:53] ryanfitz has joined the channel [20:53] dmcquay has joined the channel [20:53] perezd has joined the channel [20:53] tk has joined the channel [20:53] marienz has joined the channel [20:53] muk_mb has joined the channel [20:53] eee_c has joined the channel [20:53] yozgrahame has joined the channel [20:53] orospakr has joined the channel [20:53] Gruni has joined the channel [20:53] Country has joined the channel [20:53] JulioBarros has joined the channel [20:53] thnkfst has joined the channel [20:53] brapse has joined the channel [20:53] hij1nx has joined the channel [20:53] stephank has joined the channel [20:53] qFox has joined the channel [20:53] atmos_ has joined the channel [20:53] dgathright has joined the channel [20:53] mraleph has joined the channel [20:53] colinclark has joined the channel [20:53] stonebranch has joined the channel [20:53] montylounge has joined the channel [20:53] mjijackson has joined the channel [20:53] xastey has joined the channel [20:53] zzak has joined the channel [20:53] keltus has joined the channel [20:53] eyesUnclouded has joined the channel [20:53] langworthy has joined the channel [20:53] TheEmpath has joined the channel [20:53] ilpoldo has joined the channel [20:53] q_no has joined the channel [20:53] mjr_ has joined the channel [20:53] yhahn has joined the channel [20:53] admc has joined the channel [20:53] Chainfire has joined the channel [20:53] pietras has joined the channel [20:53] gattuso has joined the channel [20:53] chovy_ has joined the channel [20:53] davidascher has joined the channel [20:53] amerine has joined the channel [20:53] sprout has joined the channel [20:53] noahcampbell has joined the channel [20:53] steffkes has joined the channel [20:53] bludadept_work` has joined the channel [20:53] spetrea-home has joined the channel [20:53] dguttman has joined the channel [20:53] dewey_ has joined the channel [20:53] jano has joined the channel [20:53] jtsnow has joined the channel [20:53] kordless has joined the channel [20:53] daniellindsley has joined the channel [20:53] derferman has joined the channel [20:53] simb has joined the channel [20:53] pyrony has joined the channel [20:53] zylo has joined the channel [20:53] wilmoore has joined the channel [20:53] papyromancer has joined the channel [20:53] pt_tr has joined the channel [20:53] technoweenie has joined the channel [20:53] fumanchu182 has joined the channel [20:53] lukus has joined the channel [20:53] willwhite has joined the channel [20:53] xSmurf has joined the channel [20:53] broofa has joined the channel [20:53] tjholowaychuk has joined the channel [20:53] briznad has joined the channel [20:53] chrisrbailey has joined the channel [20:53] sivy has joined the channel [20:53] eresair has joined the channel [20:53] evl has joined the channel [20:53] jakehow has joined the channel [20:53] vonkow has joined the channel [20:53] Utkarsh has joined the channel [20:53] balaa has joined the channel [20:53] jmar777 has joined the channel [20:53] kriszyp has joined the channel [20:53] JojoTheBoss_ has joined the channel [20:53] ajcates has joined the channel [20:53] aheckmann has joined the channel [20:53] ajashton has joined the channel [20:53] Sorella has joined the channel [20:53] sleeplessinc has joined the channel [20:53] brianm has joined the channel [20:53] ceej has joined the channel [20:53] tmpvar has joined the channel [20:53] raidfive has joined the channel [20:53] zachsmith has joined the channel [20:53] BillyBreen has joined the channel [20:53] postwait has joined the channel [20:53] luke` has joined the channel [20:53] fatjonny has joined the channel [20:53] softdrink has joined the channel [20:53] c4milo has joined the channel [20:53] kenbolton has joined the channel [20:53] davidwalsh has joined the channel [20:53] daveyjoe has joined the channel [20:53] sigue has joined the channel [20:53] Sami_ZzZ has joined the channel [20:53] unomi has joined the channel [20:53] statik has joined the channel [20:53] jherdman has joined the channel [20:53] nook has joined the channel [20:53] arpegius has joined the channel [20:53] Poetro has joined the channel [20:53] bradleymeck has joined the channel [20:53] gnagno has joined the channel [20:53] Remoun has joined the channel [20:53] ncb000gt has joined the channel [20:53] davglass has joined the channel [20:53] amacleod has joined the channel [20:53] patcito has joined the channel [20:53] boaz has joined the channel [20:53] malkomalko has joined the channel [20:53] stalled has joined the channel [20:53] trotter has joined the channel [20:53] FireFly|n900 has joined the channel [20:53] davidsklar has joined the channel [20:53] FireFly has joined the channel [20:53] Metapony has joined the channel [20:53] Plouj has joined the channel [20:53] miccolis has joined the channel [20:53] lukegalea has joined the channel [20:53] killfill has joined the channel [20:53] brian_irish has joined the channel [20:53] fairwinds has joined the channel [20:53] confoocious has joined the channel [20:53] bluegene has joined the channel [20:53] mike5w3c has joined the channel [20:53] samar has joined the channel [20:53] pandeiro has joined the channel [20:53] dve has joined the channel [20:53] phpnode has joined the channel [20:53] Shrink has joined the channel [20:53] Nevtus has joined the channel [20:53] jpstrikesback has joined the channel [20:53] vyvea has joined the channel [20:53] pibi has joined the channel [20:53] xla has joined the channel [20:53] nmtmason has joined the channel [20:53] d0k has joined the channel [20:53] ziro` has joined the channel [20:53] herbySk has joined the channel [20:53] hipe has joined the channel [20:53] sverrejj has joined the channel [20:53] Evet has joined the channel [20:53] messju has joined the channel [20:53] braddunbar has joined the channel [20:53] aho has joined the channel [20:53] dshaw has joined the channel [20:53] mr_daniel has joined the channel [20:53] msucan has joined the channel [20:53] adambeynon has joined the channel [20:53] Druid_ has joined the channel [20:53] ttpva has joined the channel [20:53] seivan has joined the channel [20:53] SamuraiJack has joined the channel [20:53] ion- has joined the channel [20:53] andrewfff has joined the channel [20:53] stagas has joined the channel [20:53] dspree has joined the channel [20:53] skm has joined the channel [20:53] galaxywatcher has joined the channel [20:53] meatmanek has joined the channel [20:53] apoc has joined the channel [20:53] sonnym has joined the channel [20:53] zemanel has joined the channel [20:53] zorzar has joined the channel [20:53] ryah has joined the channel [20:53] jeromegn has joined the channel [20:53] pyrotechnick has joined the channel [20:53] blueadept has joined the channel [20:53] jacobolus has joined the channel [20:53] RushPL has joined the channel [20:53] Kinbote has joined the channel [20:53] Adman65 has joined the channel [20:53] [[zz]] has joined the channel [20:53] davidc_ has joined the channel [20:53] crodas has joined the channel [20:53] Twelve-60` has joined the channel [20:53] mnot has joined the channel [20:53] Dreamer3 has joined the channel [20:53] dylang has joined the channel [20:53] m3nt0r^aw has joined the channel [20:53] Venom_X has joined the channel [20:53] sandymahalo has joined the channel [20:53] lyetz has joined the channel [20:53] TheCowboy has joined the channel [20:53] staliv has joined the channel [20:53] jetheredge has joined the channel [20:53] jwcooper has joined the channel [20:53] sh1mmer has joined the channel [20:53] morgabra has joined the channel [20:53] gf3 has joined the channel [20:53] brianc has joined the channel [20:53] jlecker has joined the channel [20:53] bwinton has joined the channel [20:53] Guest22079 has joined the channel [20:53] ryan[WIN] has joined the channel [20:53] beawesomeinstead has joined the channel [20:53] Treffynnon has joined the channel [20:53] julienXX has joined the channel [20:53] jspiros has joined the channel [20:53] Bonuspunkt has joined the channel [20:53] viirya has joined the channel [20:53] kawaz_work has joined the channel [20:53] SvenDowideit_ has joined the channel [20:53] snafuz has joined the channel [20:53] steadicat has joined the channel [20:53] tim_smart has joined the channel [20:53] eaton has joined the channel [20:53] Vertice has joined the channel [20:53] Crshman_ has joined the channel [20:53] tomaw has joined the channel [20:53] dans has joined the channel [20:53] mmso has joined the channel [20:53] Ezku\ has joined the channel [20:53] cainus has joined the channel [20:53] |sWORDs| has joined the channel [20:53] geoffeg has joined the channel [20:53] heavysixer has joined the channel [20:53] mattijs has joined the channel [20:53] wdperson has joined the channel [20:53] wink_ has joined the channel [20:53] micxer has joined the channel [20:53] Lorentz has joined the channel [20:53] L_star has joined the channel [20:53] fr0stbyt3 has joined the channel [20:53] devrim has joined the channel [20:53] tmm1 has joined the channel [20:53] beppu has joined the channel [20:53] sr has joined the channel [20:53] chapel has joined the channel [20:53] AAA_awright has joined the channel [20:53] jimmyz2 has joined the channel [20:53] kloeri has joined the channel [20:53] mif86 has joined the channel [20:53] olegp has joined the channel [20:53] unfo- has joined the channel [20:53] joehewit has joined the channel [20:53] ysynopsis has joined the channel [20:53] mysterio1` has joined the channel [20:53] DoNaLd` has joined the channel [20:53] _janne has joined the channel [20:53] sstephenson has joined the channel [20:53] disq has joined the channel [20:53] Fuu has joined the channel [20:53] comster has joined the channel [20:53] unlink has joined the channel [20:53] thermal has joined the channel [20:53] yx has joined the channel [20:53] deoxxa has joined the channel [20:53] maru_cc_ has joined the channel [20:53] ajpiano has joined the channel [20:53] themiddleman has joined the channel [20:53] Beretta_V has joined the channel [20:53] nail_ has joined the channel [20:53] cyraxx has joined the channel [20:53] halfhalo has joined the channel [20:53] Yuffster_work has joined the channel [20:53] rphillips has joined the channel [20:53] phed__ has joined the channel [20:53] riven has joined the channel [20:53] mscdex has joined the channel [20:53] sugardave has joined the channel [20:53] jan____ has joined the channel [20:53] blowery has joined the channel [20:53] figital has joined the channel [20:53] lahwran has joined the channel [20:53] |Blaze| has joined the channel [20:53] Tobias| has joined the channel [20:53] wang has joined the channel [20:53] adamholt has joined the channel [20:53] MaSch has joined the channel [20:53] joshpeek has joined the channel [20:53] scoates has joined the channel [20:53] btipling has joined the channel [20:53] sugyan has joined the channel [20:53] Garo_ has joined the channel [20:53] rbranson has joined the channel [20:53] Virtuo has joined the channel [20:53] hobs has joined the channel [20:53] boucher has joined the channel [20:53] walkah has joined the channel [20:53] nefD has joined the channel [20:53] MiiCode2 has joined the channel [20:53] nuba has joined the channel [20:53] kawaz_home has joined the channel [20:53] neshaug has joined the channel [20:53] devaholic has joined the channel [20:53] justis has joined the channel [20:53] aconran has joined the channel [20:53] stynx_ has joined the channel [20:53] Prometheus has joined the channel [20:53] ircretary has joined the channel [20:53] roger_raymond has joined the channel [20:53] cilantro has joined the channel [20:53] devinus has joined the channel [20:53] Silks has joined the channel [20:53] polyrhythmic has joined the channel [20:53] foobarfighter has joined the channel [20:53] matyr_ has joined the channel [20:53] Q2 has joined the channel [20:53] wao has joined the channel [20:53] joshthecoder has joined the channel [20:53] ivan has joined the channel [20:53] naneau has joined the channel [20:53] drudge has joined the channel [20:53] elliottcable has joined the channel [20:53] jb55 has joined the channel [20:53] mape has joined the channel [20:53] Kudos has joined the channel [20:53] marcab has joined the channel [20:53] sth has joined the channel [20:53] pekim_ has joined the channel [20:53] shaver has joined the channel [20:53] dorkitud1 has joined the channel [20:53] zhware has joined the channel [20:53] jlewis has joined the channel [20:53] slickplaid has joined the channel [20:53] rednul has joined the channel [20:53] PrgmrBill has joined the channel [20:53] keeto has joined the channel [20:53] shachaf has joined the channel [20:53] mrkurt has joined the channel [20:53] superdug has joined the channel [20:53] mlangenberg has joined the channel [20:53] ybit has joined the channel [20:53] ollie has joined the channel [20:53] er1c_ has joined the channel [20:53] pkrumins has joined the channel [20:53] tsyd has joined the channel [20:53] gbot2 has joined the channel [20:53] freeformz has joined the channel [20:53] tswicegood has joined the channel [20:53] CIA-39 has joined the channel [20:53] gmci has joined the channel [20:53] rjbs has joined the channel [20:53] lukes has joined the channel [20:53] loktar has joined the channel [20:53] sadiq has joined the channel [20:53] petermanser_ has joined the channel [20:53] tjgillies_ has joined the channel [20:53] narph has joined the channel [20:53] jperras has joined the channel [20:53] termie has joined the channel [20:53] konobi has joined the channel [20:53] zined has joined the channel [20:53] franck34 has joined the channel [20:53] Connorhd_ has joined the channel [20:53] node-faq has joined the channel [20:53] rudebwoy has joined the channel [20:53] hoodow has joined the channel [20:53] mnbvasd has joined the channel [20:53] Bosmon2 has joined the channel [20:53] gkatsev has joined the channel [20:53] tbranyen has joined the channel [20:53] frodenius has joined the channel [20:53] cadorn has joined the channel [20:53] larsemil has joined the channel [20:53] phiggins has joined the channel [20:53] cloudhead has joined the channel [20:53] benatkin has joined the channel [20:53] chewbranca has joined the channel [20:53] Gregor has joined the channel [20:53] rjack has joined the channel [20:53] raz has joined the channel [20:53] peol has joined the channel [20:53] nornagon has joined the channel [20:53] zedas has joined the channel [20:53] brainproxy has joined the channel [20:53] niclone has joined the channel [20:53] spaceinvader has joined the channel [20:53] dispalt has joined the channel [20:53] lstoll has joined the channel [20:53] wereHamster has joined the channel [20:53] shajith has joined the channel [20:53] pzich has joined the channel [20:53] rot13 has joined the channel [20:53] linkmauve has joined the channel [20:53] Atmoz has joined the channel [20:53] jwm has joined the channel [20:53] MikeW has joined the channel [20:53] matt_c has joined the channel [20:53] cce has joined the channel [20:53] izz has joined the channel [20:53] jesusabdullah has joined the channel [20:53] stride has joined the channel [20:53] themcgruff has joined the channel [20:53] lianj has joined the channel [20:53] thorsteinsson has joined the channel [20:53] kuya has joined the channel [20:53] krazyivan has joined the channel [20:53] BHSPitMo1kay has joined the channel [20:53] SubStack has joined the channel [20:53] vilhonen has joined the channel [20:53] wtcross has joined the channel [20:53] webben has joined the channel [20:53] tanepiper has joined the channel [20:53] Ratty_ has joined the channel [20:53] Crshman has joined the channel [20:53] hosh_office has joined the channel [20:53] jdub has joined the channel [20:53] Draggor has joined the channel [20:53] slloyd has joined the channel [20:53] zz_raja has joined the channel [20:53] meder has joined the channel [20:53] Noya_ has joined the channel [20:53] DoubleV has joined the channel [20:53] bruse has joined the channel [20:53] robert_c|away has joined the channel [20:53] v8bot has joined the channel [20:53] caligula has joined the channel [20:53] ddollar has joined the channel [20:53] sanslocust has joined the channel [20:53] mediacoder has joined the channel [20:53] moneal has joined the channel [20:53] Kami_ has joined the channel [20:53] eirikur has joined the channel [20:53] Aikar has joined the channel [20:53] darklajid has joined the channel [20:53] aakour has joined the channel [20:53] [tm] has joined the channel [20:53] augustl has joined the channel [20:53] Nacho__ has joined the channel [20:53] Sembiance has joined the channel [20:53] sucaba-524 has joined the channel [20:53] pquerna has joined the channel [20:53] inarru has joined the channel [20:53] thedjinn has joined the channel [20:53] Pilate has joined the channel [20:53] MrNibbles has joined the channel [20:53] tmzt has joined the channel [20:53] guybrush has joined the channel [20:53] coffeecup has joined the channel [20:55] PyroPeter has joined the channel [20:55] maushu has joined the channel [20:55] sstreza has joined the channel [20:55] possibilities has joined the channel [20:55] daveluke has joined the channel [20:55] cyraxx has joined the channel [20:55] insin has joined the channel [20:55] pau|c has joined the channel [20:55] aabt has joined the channel [20:55] Nexxy has joined the channel [20:55] echoSMILE has joined the channel [20:55] temp02 has joined the channel [20:55] stuart has joined the channel [20:55] ajsie has joined the channel [20:55] inimino has joined the channel [20:55] sriley has joined the channel [20:55] shazmoh_ has joined the channel [20:55] Roelven has joined the channel [20:55] RichardJ has joined the channel [20:55] mkrecny has joined the channel [20:55] lastk has joined the channel [20:55] fly-away has joined the channel [20:55] isaacs has joined the channel [20:55] liquidproof has joined the channel [20:55] pifantastic has joined the channel [20:55] flippyhead has joined the channel [20:55] slaskis has joined the channel [20:55] joecorcoran has joined the channel [20:55] themiddleman_itv has joined the channel [20:55] doubletap has joined the channel [20:55] cnu has joined the channel [20:55] _sri has joined the channel [20:55] pedrobelo has joined the channel [20:55] tranqenstein has joined the channel [20:55] doki_pen has joined the channel [20:55] kkaefer has joined the channel [20:55] zum has joined the channel [20:55] liar has joined the channel [20:55] ljackson has joined the channel [20:55] ph^ has joined the channel [20:55] vnguyen has joined the channel [20:55] FMJag has joined the channel [20:55] aklt has joined the channel [20:55] justin____ has joined the channel [20:55] xandrews has joined the channel [20:55] mikeal has joined the channel [20:55] johnnywengluu has joined the channel [20:55] chrischris has joined the channel [20:55] beta_ has joined the channel [20:55] joeshaw___ has joined the channel [20:55] Epeli has joined the channel [20:55] tc77 has joined the channel [20:55] mgc has joined the channel [20:55] muhqu has joined the channel [20:55] wadey has joined the channel [20:55] pdelgallego has joined the channel [20:55] petridish has joined the channel [20:55] saikat has joined the channel [20:55] bengl has joined the channel [20:55] mlncn has joined the channel [20:55] ryanfitz has joined the channel [20:55] dmcquay has joined the channel [20:55] perezd has joined the channel [20:55] tk has joined the channel [20:55] marienz has joined the channel [20:55] muk_mb has joined the channel [20:55] eee_c has joined the channel [20:55] yozgrahame has joined the channel [20:55] orospakr has joined the channel [20:55] Gruni has joined the channel [20:55] Country has joined the channel [20:55] JulioBarros has joined the channel [20:55] thnkfst has joined the channel [20:55] brapse has joined the channel [20:55] hij1nx has joined the channel [20:55] stephank has joined the channel [20:55] qFox has joined the channel [20:55] atmos_ has joined the channel [20:55] dgathright has joined the channel [20:55] mraleph has joined the channel [20:55] colinclark has joined the channel [20:55] stonebranch has joined the channel [20:55] montylounge has joined the channel [20:55] mjijackson has joined the channel [20:55] xastey has joined the channel [20:55] zzak has joined the channel [20:55] keltus has joined the channel [20:55] eyesUnclouded has joined the channel [20:55] langworthy has joined the channel [20:55] TheEmpath has joined the channel [20:55] ilpoldo has joined the channel [20:55] q_no has joined the channel [20:55] mjr_ has joined the channel [20:55] yhahn has joined the channel [20:55] admc has joined the channel [20:55] Chainfire has joined the channel [20:55] pietras has joined the channel [20:55] gattuso has joined the channel [20:55] chovy_ has joined the channel [20:55] davidascher has joined the channel [20:55] amerine has joined the channel [20:55] sprout has joined the channel [20:55] noahcampbell has joined the channel [20:55] steffkes has joined the channel [20:55] bludadept_work` has joined the channel [20:55] spetrea-home has joined the channel [20:55] dguttman has joined the channel [20:55] dewey_ has joined the channel [20:55] jano has joined the channel [20:55] jtsnow has joined the channel [20:55] kordless has joined the channel [20:55] daniellindsley has joined the channel [20:55] derferman has joined the channel [20:55] simb has joined the channel [20:55] pyrony has joined the channel [20:55] zylo has joined the channel [20:55] wilmoore has joined the channel [20:55] papyromancer has joined the channel [20:55] pt_tr has joined the channel [20:55] fumanchu182 has joined the channel [20:55] lukus has joined the channel [20:55] willwhite has joined the channel [20:55] xSmurf has joined the channel [20:55] broofa has joined the channel [20:55] tjholowaychuk has joined the channel [20:55] briznad has joined the channel [20:55] chrisrbailey has joined the channel [20:55] sivy has joined the channel [20:55] eresair has joined the channel [20:55] evl has joined the channel [20:55] jakehow has joined the channel [20:55] vonkow has joined the channel [20:55] Utkarsh has joined the channel [20:55] balaa has joined the channel [20:55] jmar777 has joined the channel [20:55] kriszyp has joined the channel [20:55] JojoTheBoss_ has joined the channel [20:55] ajcates has joined the channel [20:55] aheckmann has joined the channel [20:55] ajashton has joined the channel [20:55] Sorella has joined the channel [20:55] sleeplessinc has joined the channel [20:55] brianm has joined the channel [20:55] ceej has joined the channel [20:55] tmpvar has joined the channel [20:55] raidfive has joined the channel [20:55] zachsmith has joined the channel [20:55] BillyBreen has joined the channel [20:55] postwait has joined the channel [20:55] luke` has joined the channel [20:55] fatjonny has joined the channel [20:55] softdrink has joined the channel [20:55] c4milo has joined the channel [20:55] kenbolton has joined the channel [20:55] davidwalsh has joined the channel [20:55] daveyjoe has joined the channel [20:55] sigue has joined the channel [20:55] Sami_ZzZ has joined the channel [20:55] unomi has joined the channel [20:55] statik has joined the channel [20:55] jherdman has joined the channel [20:55] nook has joined the channel [20:55] arpegius has joined the channel [20:55] Poetro has joined the channel [20:55] bradleymeck has joined the channel [20:55] gnagno has joined the channel [20:55] Remoun has joined the channel [20:55] ncb000gt has joined the channel [20:55] davglass has joined the channel [20:55] amacleod has joined the channel [20:55] patcito has joined the channel [20:55] boaz has joined the channel [20:55] malkomalko has joined the channel [20:55] stalled has joined the channel [20:55] trotter has joined the channel [20:55] FireFly|n900 has joined the channel [20:55] davidsklar has joined the channel [20:55] FireFly has joined the channel [20:55] Metapony has joined the channel [20:55] Plouj has joined the channel [20:55] miccolis has joined the channel [20:55] lukegalea has joined the channel [20:55] killfill has joined the channel [20:55] brian_irish has joined the channel [20:55] fairwinds has joined the channel [20:55] confoocious has joined the channel [20:55] bluegene has joined the channel [20:55] mike5w3c has joined the channel [20:55] samar has joined the channel [20:55] pandeiro has joined the channel [20:55] dve has joined the channel [20:55] phpnode has joined the channel [20:55] Shrink has joined the channel [20:55] Nevtus has joined the channel [20:55] jpstrikesback has joined the channel [20:55] vyvea has joined the channel [20:55] pibi has joined the channel [20:55] xla has joined the channel [20:55] nmtmason has joined the channel [20:55] d0k has joined the channel [20:55] ziro` has joined the channel [20:55] herbySk has joined the channel [20:55] hipe has joined the channel [20:55] sverrejj has joined the channel [20:55] Evet has joined the channel [20:55] messju has joined the channel [20:55] braddunbar has joined the channel [20:55] aho has joined the channel [20:55] dshaw has joined the channel [20:55] mr_daniel has joined the channel [20:55] msucan has joined the channel [20:55] adambeynon has joined the channel [20:55] Druid_ has joined the channel [20:55] ttpva has joined the channel [20:55] seivan has joined the channel [20:55] SamuraiJack has joined the channel [20:55] ion- has joined the channel [20:55] andrewfff has joined the channel [20:55] stagas has joined the channel [20:55] dspree has joined the channel [20:55] skm has joined the channel [20:55] galaxywatcher has joined the channel [20:55] meatmanek has joined the channel [20:55] apoc has joined the channel [20:55] sonnym has joined the channel [20:55] zemanel has joined the channel [20:55] zorzar has joined the channel [20:55] ryah has joined the channel [20:55] jeromegn has joined the channel [20:55] pyrotechnick has joined the channel [20:55] blueadept has joined the channel [20:55] jacobolus has joined the channel [20:55] RushPL has joined the channel [20:55] Kinbote has joined the channel [20:55] Adman65 has joined the channel [20:55] [[zz]] has joined the channel [20:55] davidc_ has joined the channel [20:55] crodas has joined the channel [20:55] Twelve-60` has joined the channel [20:55] mnot has joined the channel [20:55] Dreamer3 has joined the channel [20:55] dylang has joined the channel [20:55] m3nt0r^aw has joined the channel [20:55] Venom_X has joined the channel [20:55] sandymahalo has joined the channel [20:55] lyetz has joined the channel [20:55] TheCowboy has joined the channel [20:55] staliv has joined the channel [20:55] jetheredge has joined the channel [20:55] jwcooper has joined the channel [20:55] sh1mmer has joined the channel [20:55] morgabra has joined the channel [20:55] gf3 has joined the channel [20:55] brianc has joined the channel [20:55] jlecker has joined the channel [20:55] bwinton has joined the channel [20:55] Guest22079 has joined the channel [20:55] ryan[WIN] has joined the channel [20:55] beawesomeinstead has joined the channel [20:55] Treffynnon has joined the channel [20:55] julienXX has joined the channel [20:55] jspiros has joined the channel [20:55] Bonuspunkt has joined the channel [20:55] viirya has joined the channel [20:55] kawaz_work has joined the channel [20:55] SvenDowideit_ has joined the channel [20:55] snafuz has joined the channel [20:55] steadicat has joined the channel [20:55] tim_smart has joined the channel [20:55] eaton has joined the channel [20:55] Vertice has joined the channel [20:55] Crshman_ has joined the channel [20:55] tomaw has joined the channel [20:55] dans has joined the channel [20:55] mmso has joined the channel [20:55] Ezku\ has joined the channel [20:55] cainus has joined the channel [20:55] |sWORDs| has joined the channel [20:55] geoffeg has joined the channel [20:55] heavysixer has joined the channel [20:55] mattijs has joined the channel [20:55] wdperson has joined the channel [20:55] wink_ has joined the channel [20:55] micxer has joined the channel [20:55] Lorentz has joined the channel [20:55] L_star has joined the channel [20:55] fr0stbyt3 has joined the channel [20:55] devrim has joined the channel [20:55] tmm1 has joined the channel [20:55] beppu has joined the channel [20:55] sr has joined the channel [20:55] chapel has joined the channel [20:55] AAA_awright has joined the channel [20:55] jimmyz2 has joined the channel [20:55] kloeri has joined the channel [20:55] mif86 has joined the channel [20:55] olegp has joined the channel [20:55] unfo- has joined the channel [20:55] joehewit has joined the channel [20:55] ysynopsis has joined the channel [20:55] mysterio1` has joined the channel [20:55] DoNaLd` has joined the channel [20:55] _janne has joined the channel [20:55] sstephenson has joined the channel [20:55] disq has joined the channel [20:55] coffeecup has joined the channel [20:55] guybrush has joined the channel [20:55] tmzt has joined the channel [20:55] MrNibbles has joined the channel [20:55] Pilate has joined the channel [20:55] thedjinn has joined the channel [20:55] inarru has joined the channel [20:55] pquerna has joined the channel [20:55] sucaba-524 has joined the channel [20:55] Sembiance has joined the channel [20:55] Nacho__ has joined the channel [20:55] augustl has joined the channel [20:55] [tm] has joined the channel [20:55] aakour has joined the channel [20:55] darklajid has joined the channel [20:55] Aikar has joined the channel [20:55] eirikur has joined the channel [20:55] Kami_ has joined the channel [20:55] moneal has joined the channel [20:55] mediacoder has joined the channel [20:55] sanslocust has joined the channel [20:55] ddollar has joined the channel [20:55] caligula has joined the channel [20:55] v8bot has joined the channel [20:55] robert_c|away has joined the channel [20:55] bruse has joined the channel [20:55] DoubleV has joined the channel [20:55] Noya_ has joined the channel [20:55] meder has joined the channel [20:55] zz_raja has joined the channel [20:55] slloyd has joined the channel [20:55] Draggor has joined the channel [20:55] jdub has joined the channel [20:55] hosh_office has joined the channel [20:55] Crshman has joined the channel [20:55] Ratty_ has joined the channel [20:55] tanepiper has joined the channel [20:55] webben has joined the channel [20:55] wtcross has joined the channel [20:55] vilhonen has joined the channel [20:55] SubStack has joined the channel [20:55] BHSPitMo1kay has joined the channel [20:55] krazyivan has joined the channel [20:55] kuya has joined the channel [20:55] thorsteinsson has joined the channel [20:55] lianj has joined the channel [20:55] themcgruff has joined the channel [20:55] stride has joined the channel [20:55] jesusabdullah has joined the channel [20:55] izz has joined the channel [20:55] cce has joined the channel [20:55] matt_c has joined the channel [20:55] MikeW has joined the channel [20:55] jwm has joined the channel [20:55] Atmoz has joined the channel [20:55] linkmauve has joined the channel [20:55] rot13 has joined the channel [20:55] pzich has joined the channel [20:55] shajith has joined the channel [20:55] wereHamster has joined the channel [20:55] lstoll has joined the channel [20:55] dispalt has joined the channel [20:55] spaceinvader has joined the channel [20:55] niclone has joined the channel [20:55] brainproxy has joined the channel [20:55] zedas has joined the channel [20:55] nornagon has joined the channel [20:55] peol has joined the channel [20:55] raz has joined the channel [20:55] rjack has joined the channel [20:55] Gregor has joined the channel [20:55] chewbranca has joined the channel [20:55] benatkin has joined the channel [20:55] cloudhead has joined the channel [20:55] phiggins has joined the channel [20:55] larsemil has joined the channel [20:55] cadorn has joined the channel [20:55] frodenius has joined the channel [20:55] tbranyen has joined the channel [20:55] gkatsev has joined the channel [20:55] Bosmon2 has joined the channel [20:55] mnbvasd has joined the channel [20:55] hoodow has joined the channel [20:55] rudebwoy has joined the channel [20:55] node-faq has joined the channel [20:55] Connorhd_ has joined the channel [20:55] franck34 has joined the channel [20:55] zined has joined the channel [20:55] konobi has joined the channel [20:55] termie has joined the channel [20:55] jperras has joined the channel [20:55] narph has joined the channel [20:55] tjgillies_ has joined the channel [20:55] petermanser_ has joined the channel [20:55] sadiq has joined the channel [20:55] loktar has joined the channel [20:55] lukes has joined the channel [20:55] rjbs has joined the channel [20:55] gmci has joined the channel [20:55] CIA-39 has joined the channel [20:55] tswicegood has joined the channel [20:55] freeformz has joined the channel [20:55] gbot2 has joined the channel [20:55] tsyd has joined the channel [20:55] pkrumins has joined the channel [20:55] er1c_ has joined the channel [20:55] ollie has joined the channel [20:55] ybit has joined the channel [20:55] mlangenberg has joined the channel [20:55] superdug has joined the channel [20:55] mrkurt has joined the channel [20:55] shachaf has joined the channel [20:55] keeto has joined the channel [20:55] PrgmrBill has joined the channel [20:55] rednul has joined the channel [20:55] slickplaid has joined the channel [20:55] jlewis has joined the channel [20:55] zhware has joined the channel [20:55] dorkitud1 has joined the channel [20:55] shaver has joined the channel [20:55] pekim_ has joined the channel [20:55] sth has joined the channel [20:55] marcab has joined the channel [20:55] Kudos has joined the channel [20:55] mape has joined the channel [20:55] jb55 has joined the channel [20:55] elliottcable has joined the channel [20:55] drudge has joined the channel [20:55] naneau has joined the channel [20:55] ivan has joined the channel [20:55] joshthecoder has joined the channel [20:55] wao has joined the channel [20:55] Q2 has joined the channel [20:55] matyr_ has joined the channel [20:55] foobarfighter has joined the channel [20:55] polyrhythmic has joined the channel [20:55] Silks has joined the channel [20:55] devinus has joined the channel [20:55] cilantro has joined the channel [20:55] roger_raymond has joined the channel [20:55] ircretary has joined the channel [20:55] Prometheus has joined the channel [20:55] stynx_ has joined the channel [20:55] aconran has joined the channel [20:55] justis has joined the channel [20:55] devaholic has joined the channel [20:55] neshaug has joined the channel [20:55] kawaz_home has joined the channel [20:55] nuba has joined the channel [20:55] MiiCode2 has joined the channel [20:55] nefD has joined the channel [20:55] walkah has joined the channel [20:55] boucher has joined the channel [20:55] hobs has joined the channel [20:55] Virtuo has joined the channel [20:55] rbranson has joined the channel [20:55] Garo_ has joined the channel [20:55] sugyan has joined the channel [20:55] btipling has joined the channel [20:55] scoates has joined the channel [20:55] joshpeek has joined the channel [20:55] MaSch has joined the channel [20:55] adamholt has joined the channel [20:55] wang has joined the channel [20:55] Tobias| has joined the channel [20:55] |Blaze| has joined the channel [20:55] lahwran has joined the channel [20:55] figital has joined the channel [20:55] blowery has joined the channel [20:55] jan____ has joined the channel [20:55] sugardave has joined the channel [20:55] mscdex has joined the channel [20:55] riven has joined the channel [20:55] phed__ has joined the channel [20:55] rphillips has joined the channel [20:55] Yuffster_work has joined the channel [20:55] halfhalo has joined the channel [20:55] nail_ has joined the channel [20:55] Beretta_V has joined the channel [20:55] themiddleman has joined the channel [20:55] ajpiano has joined the channel [20:55] maru_cc_ has joined the channel [20:55] deoxxa has joined the channel [20:55] yx has joined the channel [20:55] thermal has joined the channel [20:55] unlink has joined the channel [20:55] comster has joined the channel [20:55] Fuu has joined the channel [20:55] tjholowaychuk: there is a c function (cant remember the name) for parsing bash-style expansion as well [20:55] tim_smart: Aikar: Right. [20:55] tjholowaychuk: not sure how portable it is (probably not very) [20:55] tim_smart: Aikar: Which module is realpath in? [20:55] tim_smart: path? [20:55] Aikar: prolly [20:55] Aikar: check docs lol [20:55] jesusabdullah: Then you could be all like, nsh( curl('-i', 'http://www.google.com').pipe.grep(301), cb) [20:55] jesusabdullah: AWW YEAH [20:56] jesusabdullah: I should learn me some harmony proxies [20:56] jeromegn: wow, textmate dies on me since I vendored my modules... wish I knew vim [20:58] mjr_: Some day, TextMate will just die and force everybody to use something else. [20:59] jesusabdullah: remember, :wq! [20:59] jesusabdullah: save and quit! [20:59] jesusabdullah: There's another command that will do saveandquit too [20:59] Aikar: jesusabdullah: that wouldnt be valid syntax, id recommend doing nsh(function() { curl('-i'....) }); like i did in nova and call function.toString() and execute the source under a VM thats powered by the shell [20:59] tim_smart: I just curious if the executed file will always be argv[2] cross-platform [20:59] tim_smart: argv[1] rather [20:59] Aikar: yes tim_smart [20:59] Aikar: would be a bug if not [20:59] jesusabdullah: Aikar: a) nova? Link. b) Oh, you're right, gotta wrap the block in a function. HERP [20:59] rfay has joined the channel [20:59] jesusabdullah: Actually, you might be able to get that to RETURN a function, which gets executed [20:59] jesusabdullah: THEN it'd be valid [20:59] ajsie: im making a request and listen for "data" : response.on("data", function (data) { ... the problem is that the response is chunked so the data is just a piece of the body sent back .. how do i get the whole body sent back? [20:59] Aikar: jesusabdullah: a template engine im almost done with thats syntax is full javascript. i made a script tag so you can do script(function() { // this code is printed client side }) so you can write the js in a function instead of building an ugly escaped string, but that code is never actually ran in the server [20:59] stagas: it's actually two different things, the repl and the bash extensions [21:00] MikhX has joined the channel [21:00] Aikar: http://github.com/Aikar/node-nova [21:00] jesusabdullah: Bangin' [21:00] Aikar: https://github.com/Aikar/node-nova/blob/master/tests/templates/template.js [21:00] Aikar: example template [21:00] TomY_ has joined the channel [21:00] Aikar: yay netsplits [21:00] sstephenson_ has joined the channel [21:00] jesusabdullah: holy shit-dicks [21:00] mrkurt has joined the channel [21:00] jesusabdullah: I mean [21:00] ezmobius has joined the channel [21:00] Aikar: jesusabdullah: get that link? [21:00] joshpeek has joined the channel [21:00] jesusabdullah: AIKAR Y U DOC IN HTML [21:00] jesusabdullah: AIKAR Y U NO MARKDOWN [21:00] Aikar: jesusabdullah: cause githubs MD parser sucks [21:00] jesusabdullah: Pffsht. Github's markdizzle is the best markdizzle. [21:00] Aikar: doesnt match up in style as its own live preview site or others [21:01] jesusabdullah: There's a live preview? o_o [21:01] zzak: blasphemer [21:01] jesusabdullah: Actually, you're probably right [21:01] jesusabdullah: I think the gh guys prefer, umm [21:01] Aikar: yeah if you google github markup preview but dont bother, it doesnt match the sites actual use [21:01] jesusabdullah: whatever python shit's docced in [21:01] vnguyen_ has joined the channel [21:01] jesusabdullah: even though markdown is obviously the best [21:01] jesusabdullah: <3 markdown [21:01] Aikar: i had the doc looking ok using block quotes in markdown, but it screwed up on github [21:01] zzak: to be fair, github markup is a little stale [21:02] Aikar: so i just converted it to html where i know it looks like the way i want it to lol [21:02] zzak: but thats only readmes iirc [21:02] insin: ACTION hugs reStructuredText [21:02] mauritslamers has joined the channel [21:02] Aikar: ill host the html page on github pages or my site when i mdone with docs [21:02] jesusabdullah: THAT's what those fuckers like [21:02] jesusabdullah: RST [21:02] ajsie: I'm making a http request and listen for "data" : response.on("data", function (data) { ... }). The problem is that the response is chunked so the data is just a piece of the body sent back .. how do i get the whole body sent back? [21:02] jesusabdullah: I don't like RST :( [21:02] jesusabdullah: It's actually probably fine [21:02] jesusabdullah: but, idk [21:04] robotarm_ has joined the channel [21:04] tbranyen: welp [21:04] Aikar: but i just made some improvements to the system to make it easier to use so docs on hold until new features done [21:04] jesusabdullah: ajsie: Maybe concat the data chunks and find an intelligent way to know when the data chunks are all chunked? [21:04] herenowcoder has joined the channel [21:04] jesusabdullah: It'd be interesting to try nova in coffeescript [21:04] jesusabdullah: Since you'd presumably get less bracket noise [21:04] herenowcoder: hi noders [21:04] jesusabdullah: Sup gurl [21:04] Poetro has joined the channel [21:04] Aikar: im gonna make it so you can do div(h1(partialVar('pageTitle'))) instead of div(h1(onRender(function(renderVars, render) { render(renderVars.pageTitle); }))) [21:04] rburhum has joined the channel [21:04] herenowcoder: i wonder.. is anyone experimenting with datamapper implementation for node? [21:05] RichardJ has joined the channel [21:05] rburhum has left the channel [21:05] lukes has joined the channel [21:05] ircretary has joined the channel [21:05] sadiq has joined the channel [21:05] rjbs has joined the channel [21:05] loktar has joined the channel [21:05] narph has joined the channel [21:05] insin: Aikar: dagmanit, I was just trying to come up with a Syntax for that - looks great [21:05] rednul has joined the channel [21:05] Aikar: insin: im welcome to suggestions/pull reqs [21:06] thermal has joined the channel [21:06] jesusabdullah: Jesus, netsplorts :C [21:06] comster has joined the channel [21:06] herenowcoder has joined the channel [21:06] MikhX has joined the channel [21:06] maushu has joined the channel [21:06] echoSMILE has joined the channel [21:06] ajsie has joined the channel [21:06] isaacs has joined the channel [21:06] joecorcoran has joined the channel [21:06] liar has joined the channel [21:06] Epeli has joined the channel [21:06] mgc has joined the channel [21:06] wadey has joined the channel [21:06] ryanfitz has joined the channel [21:06] muk_mb has joined the channel [21:06] eee_c has joined the channel [21:06] Gruni has joined the channel [21:06] atmos_ has joined the channel [21:06] mraleph has joined the channel [21:06] stonebranch has joined the channel [21:06] eyesUnclouded has joined the channel [21:06] TheEmpath has joined the channel [21:06] amerine has joined the channel [21:06] bludadept_work` has joined the channel [21:06] jtsnow has joined the channel [21:06] kordless has joined the channel [21:06] papyromancer has joined the channel [21:06] briznad has joined the channel [21:06] sivy has joined the channel [21:06] evl has joined the channel [21:06] vonkow has joined the channel [21:06] zachsmith has joined the channel [21:06] luke` has joined the channel [21:06] fatjonny has joined the channel [21:06] jherdman has joined the channel [21:06] amacleod has joined the channel [21:06] stalled has joined the channel [21:06] fairwinds has joined the channel [21:06] Shrink has joined the channel [21:06] Evet has joined the channel [21:06] SamuraiJack has joined the channel [21:06] ion- has joined the channel [21:06] skm has joined the channel [21:06] Dreamer3 has joined the channel [21:06] Guest22079 has joined the channel [21:06] viirya has joined the channel [21:06] kawaz_work has joined the channel [21:06] snafuz has joined the channel [21:06] steadicat has joined the channel [21:06] dans has joined the channel [21:06] sr has joined the channel [21:06] chapel has joined the channel [21:06] AAA_awright has joined the channel [21:06] kloeri has joined the channel [21:06] joehewit has joined the channel [21:06] DoNaLd` has joined the channel [21:06] scoates has joined the channel [21:06] polyrhythmic has joined the channel [21:06] andrewfff has joined the channel [21:06] petermanser_ has joined the channel [21:06] insin: Will it support template inheritance? [21:06] eyesUnclouded has joined the channel [21:06] drudge has joined the channel [21:06] tylergillies has joined the channel [21:06] Aikar: what do you mean by that? [21:06] jesusabdullah: herenowcoder: What's a datamapper? [21:06] xSmurf has joined the channel [21:06] tjholowaychuk has joined the channel [21:06] sverrejj has joined the channel [21:06] dspree has joined the channel [21:06] Kinbote has joined the channel [21:06] yx has joined the channel [21:06] deoxxa has joined the channel [21:06] maru_cc_ has joined the channel [21:06] Beretta_V has joined the channel [21:06] phed__ has joined the channel [21:06] sugardave has joined the channel [21:06] |Blaze| has joined the channel [21:06] sugyan has joined the channel [21:06] kawaz_home has joined the channel [21:06] cilantro has joined the channel [21:06] Q2 has joined the channel [21:06] elliottcable has joined the channel [21:06] Kudos has joined the channel [21:06] shaver has joined the channel [21:06] jlewis has joined the channel [21:06] PrgmrBill has joined the channel [21:06] keeto has joined the channel [21:06] gmci has joined the channel [21:06] CIA-39 has joined the channel [21:06] tswicegood has joined the channel [21:06] freeformz has joined the channel [21:06] gbot2 has joined the channel [21:06] tsyd has joined the channel [21:06] pkrumins has joined the channel [21:06] er1c_ has joined the channel [21:06] ollie has joined the channel [21:06] ybit has joined the channel [21:07] Aikar: insin: * [21:07] tylergillies has joined the channel [21:07] Tobias| has joined the channel [21:07] gbot2 has joined the channel [21:07] mauritslamers has joined the channel [21:07] TomY_ has joined the channel [21:07] sriley has joined the channel [21:07] doubletap has joined the channel [21:07] pedrobelo has joined the channel [21:07] yozgrahame has joined the channel [21:07] dgathright has joined the channel [21:07] colinclark has joined the channel [21:07] zzak has joined the channel [21:07] Chainfire has joined the channel [21:07] pt_tr has joined the channel [21:07] kriszyp has joined the channel [21:07] davidwalsh has joined the channel [21:07] ncb000gt has joined the channel [21:07] boaz has joined the channel [21:07] apoc has joined the channel [21:07] [[zz]] has joined the channel [21:07] staliv has joined the channel [21:07] ryan[WIN] has joined the channel [21:07] |sWORDs| has joined the channel [21:07] wdperson has joined the channel [21:07] olegp has joined the channel [21:07] mscdex has joined the channel [21:07] wang has joined the channel [21:07] btipling has joined the channel [21:07] walkah has joined the channel [21:07] devaholic has joined the channel [21:07] ivan has joined the channel [21:07] zhware has joined the channel [21:07] slickplaid has joined the channel [21:07] mlangenberg has joined the channel [21:07] superdug has joined the channel [21:07] Aikar: insin: what do you mean by that [21:08] insin: Aikar: being able to define blocks which child templates can extend and fill in, lke Django templates [21:08] ryanfitz has joined the channel [21:08] Aikar: you mean a 'partial' being able to SET variables that another partial reads? [21:08] insin: That's the first thing I was considering [21:08] Aikar: i designed this to be familiar to other template engines, you render a main template, and it can include other partial templates [21:08] insin: Being able to replace or populate an entire chunk [21:09] herenowcoder: jesusabdullah: it's one of two ORM kinds, the other being active record. I mean a pattern, not Ruby's ActiveRecord. [21:09] Flybyme has joined the channel [21:09] Aikar: and you pass it variables on render and then the template uses that render data to fill in dynamic content [21:09] Flybyme: how many files at once can node read? [21:09] insin: Template inheritance does it backwards, makes "child templates really nice to work with [21:09] msch has joined the channel [21:09] gbot2 has joined the channel [21:10] jesusabdullah: herenowcoder: I see. [21:10] Aikar: and i did the collection support for partial too, say you do partial('blogComment', blogcommentsArray); [21:10] Aikar: itll print the blogComment template once for each entry in blogcommentsarray [21:10] tim_smart: isaacs: ping [21:10] insin: I'm still at the planning stage for my own template thingy - only just got Node up and running last night, in fact :) [21:11] jesusabdullah: I really need to make some node numerixxx :C [21:11] warz_ has joined the channel [21:11] jesusabdullah: Ah, being a grad student [21:11] gozala has joined the channel [21:11] Aikar: insin: so your saying the app (ie express) calls a subtemplate to fill in data that a master template users? [21:11] jesusabdullah: My May/June is going to be intense, what with me catching up on all these node projects I have in mind [21:11] NuckingFuts has joined the channel [21:11] hassox has joined the channel [21:11] Aikar: sounds like the kind of code youd have in the controller [21:11] herenowcoder has joined the channel [21:11] herenowcoder: jesusabdullah: data mapper among other things allows for db introspection to get a schema, thus the db itself can be a primary source of your objects structure, not some quirky db migration mechanism as for active record [21:12] kuhrt has joined the channel [21:12] xastey: crap, whats the best way to allow node.js to listen to requests over port 80 [21:12] xastey: some proxy or some sort? since i can't bind to port 80 [21:12] Aikar: xastey: gotta run as root, and make sure no web server running already [21:12] shaver: I gave node the bind-low-ports capability [21:12] insin: Aikar: here's an example: http://docs.djangoproject.com/en/dev/topics/templates/#template-inheritance [21:12] xastey: could I use iptables to route it? [21:12] shaver: yes [21:13] xastey: cool, now to figure the command [21:13] coobr has joined the channel [21:14] |sWORDs| has joined the channel [21:14] herenowcoder has joined the channel [21:15] torvalamo has joined the channel [21:17] torvalamo: good afternoon, children [21:18] mikeal has joined the channel [21:19] markwubben has joined the channel [21:19] Aikar: insin: hmm, that looks useful. if you can design up a way in that could be used for my system id try to implement it. [21:19] pl-6 has joined the channel [21:20] insin: It's very useful indeed - hard to go back once you've used it :) [21:20] Aikar: insin: but you could of sort of achieve the same thing under current system. [21:20] Aikar: with a lil bit of trickery but doable [21:20] colinclark_ has joined the channel [21:20] sirkitree has joined the channel [21:21] Aikar: main advantage with the django is its by names [21:21] Aikar: but since mines js can include chunks from another file [21:21] Vertice: tjholowaychuk: is there a way to filter a variable from within jade [21:21] tjholowaychuk: Vertice: filter? [21:21] Vertice: specifically i want to print a variable, but i want to filter it through my 'percentage' filter [21:22] Aikar: like seen in the template i linked, i have var templateBody = partial('partials/templateBody'); at top [21:22] Vertice: yeah [21:22] Vertice: as in : [21:22] Vertice: ACTION :myfilter [21:22] Vertice: #{variable} [21:22] jmar777: tjholowaychuk: what IDE are you using? looks like you use ScriptDoc for comments - been trying to find something with good support [21:22] tjholowaychuk: Vertice: why not just have a local? percentage(var) [21:22] tjholowaychuk: jmar777: I use textmate [21:22] tim_smart: Is there anyway of installing npm modules to a specific folder without temporarily changing the root setting? [21:22] Aikar: ie: he manually types it all [21:22] tim_smart: isaacs: ^ [21:22] tjholowaychuk: jmar777: the jsdoc stuff is parsed for doc generators [21:22] tjholowaychuk: well not manually [21:23] tjholowaychuk: I have snippits that do pretty much anything tedious [21:23] walkah: tim_smart: you can use npm bundle if you have a package.json [21:23] Aikar: jmar777: aptana 1.X had support for scriptdoc/phpdoc tags but 3.0 doesnt seem to support it anymore, Ive put in a feature req for 3.0 to readd support [21:23] tjholowaychuk: I dont type "function" for example, just 'f' [21:23] RichardJ has joined the channel [21:23] void_ has joined the channel [21:23] Aikar: i really need to get in the habbit of setting up macros like that too [21:23] tim_smart: walkah: I'm working on https://github.com/Tim-Smart/npm-deploy which installs stuff from private git repositories etc. [21:23] jmar777: Aikar: ya, 2.x had decent support as well. there's some limited support in the latest 3.x sneak peek (from a week or so ago), but still not great [21:23] Aikar: but at work i can bounce between 3 diff editors [21:24] insin: is there a way to programmatically add things to the current scope? I notice in the REPL that this.thing = "blah" lets you use "thing" as a global variable, but this["thing"] = "blah" doesn't [21:24] isaacs: tim_smart: not at the moment, no [21:24] isaacs: tim_smart: but you can change the root setting for just one command. [21:24] Aikar: i use Aptana Geany and GEdit at work, Gedit and Geany mainly when Aptana is stuck indexing crap and i need to work fast [21:24] isaacs: tim_smart: npm 1.0 will install to ./node_modules by default, unless --global is true [21:25] tim_smart: isaacs: So how do I change it for just one command? [21:25] samcday_ has joined the channel [21:25] walkah: tim_smart: oooh cool! [21:25] Aikar: isaacs: we close to that yet? :) [21:27] isaacs: tim_smart: npm install whatever --root $PWD/foo/bar [21:27] isaacs: tim_smart: it might work with ./ but i'm not sure. [21:27] isaacs: tim_smart: i know it does ~/ dereferencing [21:27] tim_smart: isaacs: Thanks. [21:27] isaacs: tim_smart: npm help config tells you all about that. [21:28] tanepiper: tjholowaychuk: seen anything like this? I'm doing my app structure with cluster like this: https://gist.github.com/ace1e95aa7cc3550c857 [21:28] walkah: isaacs: did you get a chance to look at https://gist.github.com/69e72824d1d3da77fa06 ? [21:28] isaacs: walkah: whoa, that's lame. [21:28] tanepiper: cluster starts up, and if i console.log app within server.coffee it is defiently there and set up correctly [21:28] isaacs: walkah: lookslike a bug [21:28] daveluke has joined the channel [21:28] walkah: isaacs: :-) [21:28] Poetro has joined the channel [21:29] tanepiper: but when i try goto localhost:6789 it won't load at all, but it does if i just start app.coffee up fine [21:29] tanepiper: stats() shows cluster is running [21:29] kiddphunk has joined the channel [21:30] tjholowaychuk: tanepiper: lots ok, try removing the plugins first and see if it works with just cluster(app).listen() [21:30] tanepiper: k [21:30] isaacs: walkah: yeah, i guess i'm attaching new event listeners for each prompt somewhere. [21:30] tjholowaychuk: tanepiper: if so then we can single one out [21:30] zorzar has joined the channel [21:30] walkah: isaacs: wheee :) [21:30] tanepiper: tjholowaychuk: https://gist.github.com/16215b373b20622a59cf [21:31] tanepiper: with all the plugins out [21:31] tanepiper: looks like it might be a coffeescript issue by the bottom of the trace? [21:31] walkah: isaacs: no big deal. i was just reading a blog post of yours that mentinoed "npm init" so I tried it. [21:32] tjholowaychuk: tanepiper: looks like coffee is failing to set up a repl [21:32] tjholowaychuk: for whatever reason [21:32] Ratty_: This happens far too often: [screen caught signal 11. (core dumped)] [21:32] tjholowaychuk: this is why I dont use compiled stuff :) [21:32] tjholowaychuk: haha [21:32] isaacs: walkah: ahh, i was adding an "error" listener, but not removing it. [21:32] Astro has joined the channel [21:33] tanepiper: tjholowaychuk: yea, i'm justing coffee in dev, i will compile for production [21:33] walkah: isaacs: *nod* [21:33] tjholowaychuk: tanepiper: dunno though man it does look fine [21:33] themiddleman_itv has left the channel [21:33] tanepiper: yea, i'll compile it and try, just need to write a cake file for it [21:34] tjholowaychuk: hehe [21:34] tjholowaychuk: love all these tools to replace things that work better (make) [21:34] walkah: mmmm. coffee and cake [21:34] isaacs: walkah: care to post an issue on it so that i have something to close in this commit? [21:34] walkah: isaacs: gladly :-) [21:34] themiddleman_itv has joined the channel [21:35] fumanchu182 has joined the channel [21:38] walkah: isaacs: https://github.com/isaacs/npm/issues/634 [21:38] isaacs: thanks [21:38] Roelven_ has joined the channel [21:39] Ond has joined the channel [21:40] atmos has joined the channel [21:40] devinus has joined the channel [21:40] malkomalko has joined the channel [21:41] SubStack: beep boop [21:41] Naked has joined the channel [21:42] sveimac has joined the channel [21:42] SubStack: tjholowaychuk: you're up to 37 modules now! D: [21:42] tjholowaychuk: SubStack: booyah [21:42] SubStack: on the npm [21:42] tjholowaychuk: that drawing was so funny man haha made my day [21:42] SubStack: and here I only have 27 [21:42] sveimac: lol @ http://twitter.com/#!/DEVOPS_BORAT [21:43] francescop has joined the channel [21:44] hornairs has joined the channel [21:44] piscisaureus has joined the channel [21:48] MaSch has joined the channel [21:50] ziro` has joined the channel [21:50] bentruyman has joined the channel [21:50] Poetro1 has joined the channel [21:50] piscisaureus has joined the channel [21:50] hornairs has joined the channel [21:50] francescop has joined the channel [21:50] sveimac has joined the channel [21:50] Hadaka has joined the channel [21:50] devinus has joined the channel [21:50] atmos has joined the channel [21:50] Ond has joined the channel [21:50] Roelven_ has joined the channel [21:50] themiddleman_itv has joined the channel [21:50] zorzar has joined the channel [21:50] kiddphunk has joined the channel [21:50] void_ has joined the channel [21:50] sirkitree has joined the channel [21:50] colinclark_ has joined the channel [21:50] pl-6 has joined the channel [21:50] markwubben has joined the channel [21:50] mikeal has joined the channel [21:50] torvalamo has joined the channel [21:50] herenowcoder has joined the channel [21:50] |sWORDs| has joined the channel [21:50] coobr has joined the channel [21:50] kuhrt has joined the channel [21:50] hassox has joined the channel [21:50] NuckingFuts has joined the channel [21:50] gozala has joined the channel [21:50] msch has joined the channel [21:50] Flybyme has joined the channel [21:50] ryanfitz has joined the channel [21:50] superdug has joined the channel [21:50] mlangenberg has joined the channel [21:50] slickplaid has joined the channel [21:50] zhware has joined the channel [21:50] ivan has joined the channel [21:50] devaholic has joined the channel [21:50] walkah has joined the channel [21:50] btipling has joined the channel [21:50] wang has joined the channel [21:50] mscdex has joined the channel [21:50] olegp has joined the channel [21:50] wdperson has joined the channel [21:50] ryan[WIN] has joined the channel [21:50] staliv has joined the channel [21:50] [[zz]] has joined the channel [21:50] apoc has joined the channel [21:50] boaz has joined the channel [21:50] davidwalsh has joined the channel [21:50] kriszyp has joined the channel [21:50] pt_tr has joined the channel [21:50] Chainfire has joined the channel [21:50] zzak has joined the channel [21:50] dgathright has joined the channel [21:50] yozgrahame has joined the channel [21:50] pedrobelo has joined the channel [21:50] doubletap has joined the channel [21:50] sriley has joined the channel [21:50] mauritslamers has joined the channel [21:50] Tobias| has joined the channel [21:50] ybit has joined the channel [21:50] ollie has joined the channel [21:50] er1c_ has joined the channel [21:50] pkrumins has joined the channel [21:50] tsyd has joined the channel [21:50] freeformz has joined the channel [21:50] tswicegood has joined the channel [21:50] CIA-39 has joined the channel [21:50] gmci has joined the channel [21:50] keeto has joined the channel [21:50] PrgmrBill has joined the channel [21:50] jlewis has joined the channel [21:50] shaver has joined the channel [21:50] Kudos has joined the channel [21:50] elliottcable has joined the channel [21:50] Q2 has joined the channel [21:50] cilantro has joined the channel [21:50] kawaz_home has joined the channel [21:50] sugyan has joined the channel [21:50] |Blaze| has joined the channel [21:50] sugardave has joined the channel [21:50] phed__ has joined the channel [21:50] Beretta_V has joined the channel [21:50] maru_cc_ has joined the channel [21:50] deoxxa has joined the channel [21:50] yx has joined the channel [21:50] Kinbote has joined the channel [21:50] dspree has joined the channel [21:50] sverrejj has joined the channel [21:50] tjholowaychuk has joined the channel [21:50] xSmurf has joined the channel [21:50] tylergillies has joined the channel [21:50] drudge has joined the channel [21:50] eyesUnclouded has joined the channel [21:50] petermanser_ has joined the channel [21:50] andrewfff has joined the channel [21:50] polyrhythmic has joined the channel [21:50] scoates has joined the channel [21:50] DoNaLd` has joined the channel [21:50] joehewit has joined the channel [21:50] kloeri has joined the channel [21:50] AAA_awright has joined the channel [21:50] chapel has joined the channel [21:50] sr has joined the channel [21:50] dans has joined the channel [21:50] steadicat has joined the channel [21:50] snafuz has joined the channel [21:50] kawaz_work has joined the channel [21:50] viirya has joined the channel [21:50] Guest22079 has joined the channel [21:50] Dreamer3 has joined the channel [21:50] skm has joined the channel [21:50] ion- has joined the channel [21:50] SamuraiJack has joined the channel [21:50] Evet has joined the channel [21:50] Shrink has joined the channel [21:50] fairwinds has joined the channel [21:50] stalled has joined the channel [21:50] amacleod has joined the channel [21:50] jherdman has joined the channel [21:50] fatjonny has joined the channel [21:50] luke` has joined the channel [21:50] zachsmith has joined the channel [21:50] vonkow has joined the channel [21:50] evl has joined the channel [21:50] sivy has joined the channel [21:50] briznad has joined the channel [21:50] papyromancer has joined the channel [21:50] kordless has joined the channel [21:50] jtsnow has joined the channel [21:50] amerine has joined the channel [21:50] TheEmpath has joined the channel [21:50] stonebranch has joined the channel [21:50] mraleph has joined the channel [21:50] eee_c has joined the channel [21:50] muk_mb has joined the channel [21:50] wadey has joined the channel [21:50] mgc has joined the channel [21:50] Epeli has joined the channel [21:50] liar has joined the channel [21:50] isaacs has joined the channel [21:50] ajsie has joined the channel [21:50] echoSMILE has joined the channel [21:50] maushu has joined the channel [21:50] comster has joined the channel [21:50] thermal has joined the channel [21:50] narph has joined the channel [21:50] loktar has joined the channel [21:50] rjbs has joined the channel [21:50] sadiq has joined the channel [21:50] ircretary has joined the channel [21:50] lukes has joined the channel [21:50] joshpeek has joined the channel [21:50] ezmobius has joined the channel [21:50] mrkurt has joined the channel [21:50] sstephenson_ has joined the channel [21:50] PyroPeter has joined the channel [21:50] sstreza has joined the channel [21:50] possibilities has joined the channel [21:50] cyraxx has joined the channel [21:50] insin has joined the channel [21:50] pau|c has joined the channel [21:50] Nexxy has joined the channel [21:50] temp02 has joined the channel [21:50] inimino has joined the channel [21:50] mkrecny has joined the channel [21:50] lastk has joined the channel [21:50] fly-away has joined the channel [21:50] pifantastic has joined the channel [21:50] flippyhead has joined the channel [21:50] slaskis has joined the channel [21:50] cnu has joined the channel [21:50] _sri has joined the channel [21:50] ryanj has joined the channel [21:50] doki_pen has joined the channel [21:50] kkaefer has joined the channel [21:50] zum has joined the channel [21:50] ljackson has joined the channel [21:50] ph^ has joined the channel [21:50] FMJag has joined the channel [21:50] aklt has joined the channel [21:50] justin____ has joined the channel [21:50] xandrews has joined the channel [21:50] johnnywengluu has joined the channel [21:50] chrischris has joined the channel [21:50] beta_ has joined the channel [21:50] joeshaw___ has joined the channel [21:50] tc77 has joined the channel [21:50] pdelgallego has joined the channel [21:50] saikat has joined the channel [21:50] bengl has joined the channel [21:50] mlncn has joined the channel [21:50] dmcquay has joined the channel [21:50] perezd has joined the channel [21:50] tk has joined the channel [21:50] marienz has joined the channel [21:50] orospakr has joined the channel [21:50] Country has joined the channel [21:50] JulioBarros has joined the channel [21:50] thnkfst has joined the channel [21:50] brapse has joined the channel [21:50] hij1nx has joined the channel [21:50] montylounge has joined the channel [21:50] keltus has joined the channel [21:50] langworthy has joined the channel [21:50] ilpoldo has joined the channel [21:50] q_no has joined the channel [21:50] yhahn has joined the channel [21:50] pietras has joined the channel [21:50] gattuso has joined the channel [21:50] chovy_ has joined the channel [21:50] davidascher has joined the channel [21:50] sprout has joined the channel [21:50] noahcampbell has joined the channel [21:50] steffkes has joined the channel [21:50] spetrea-home has joined the channel [21:50] dguttman has joined the channel [21:50] dewey_ has joined the channel [21:50] jano has joined the channel [21:50] daniellindsley has joined the channel [21:50] derferman has joined the channel [21:50] simb has joined the channel [21:50] pyrony has joined the channel [21:50] zylo has joined the channel [21:50] wilmoore has joined the channel [21:50] lukus has joined the channel [21:50] willwhite has joined the channel [21:50] broofa has joined the channel [21:50] eresair has joined the channel [21:50] Utkarsh has joined the channel [21:50] balaa has joined the channel [21:50] JojoTheBoss_ has joined the channel [21:50] ajcates has joined the channel [21:50] aheckmann has joined the channel [21:50] ajashton has joined the channel [21:50] Sorella has joined the channel [21:50] sleeplessinc has joined the channel [21:50] brianm has joined the channel [21:50] ceej has joined the channel [21:50] tmpvar has joined the channel [21:50] raidfive has joined the channel [21:50] BillyBreen has joined the channel [21:50] postwait has joined the channel [21:50] c4milo has joined the channel [21:50] kenbolton has joined the channel [21:50] daveyjoe has joined the channel [21:50] sigue has joined the channel [21:50] Sami_ZzZ has joined the channel [21:50] statik has joined the channel [21:50] nook has joined the channel [21:50] arpegius has joined the channel [21:50] bradleymeck has joined the channel [21:50] gnagno has joined the channel [21:50] Remoun has joined the channel [21:50] davglass has joined the channel [21:50] patcito has joined the channel [21:50] trotter has joined the channel [21:50] FireFly|n900 has joined the channel [21:50] davidsklar has joined the channel [21:50] FireFly has joined the channel [21:50] Metapony has joined the channel [21:50] Plouj has joined the channel [21:50] miccolis has joined the channel [21:50] killfill has joined the channel [21:50] confoocious has joined the channel [21:50] bluegene has joined the channel [21:50] mike5w3c has joined the channel [21:50] samar has joined the channel [21:50] pandeiro has joined the channel [21:50] dve has joined the channel [21:50] phpnode has joined the channel [21:50] Nevtus has joined the channel [21:50] jpstrikesback has joined the channel [21:50] pibi has joined the channel [21:50] xla has joined the channel [21:50] nmtmason has joined the channel [21:50] d0k has joined the channel [21:50] herbySk has joined the channel [21:50] hipe has joined the channel [21:50] messju has joined the channel [21:50] braddunbar has joined the channel [21:50] aho has joined the channel [21:50] dshaw has joined the channel [21:50] mr_daniel has joined the channel [21:50] adambeynon has joined the channel [21:50] Druid_ has joined the channel [21:50] seivan has joined the channel [21:50] stagas has joined the channel [21:50] galaxywatcher has joined the channel [21:50] meatmanek has joined the channel [21:50] sonnym has joined the channel [21:50] zemanel has joined the channel [21:50] ryah has joined the channel [21:50] pyrotechnick has joined the channel [21:50] blueadept has joined the channel [21:50] jacobolus has joined the channel [21:50] RushPL has joined the channel [21:50] Adman65 has joined the channel [21:50] davidc_ has joined the channel [21:50] crodas has joined the channel [21:50] Twelve-60` has joined the channel [21:50] mnot has joined the channel [21:50] dylang has joined the channel [21:50] m3nt0r^aw has joined the channel [21:50] Venom_X has joined the channel [21:50] sandymahalo has joined the channel [21:50] lyetz has joined the channel [21:50] TheCowboy has joined the channel [21:50] jwcooper has joined the channel [21:50] sh1mmer has joined the channel [21:50] morgabra has joined the channel [21:50] gf3 has joined the channel [21:50] brianc has joined the channel [21:50] jlecker has joined the channel [21:50] bwinton has joined the channel [21:50] Treffynnon has joined the channel [21:50] julienXX has joined the channel [21:50] Bonuspunkt has joined the channel [21:50] SvenDowideit_ has joined the channel [21:50] tim_smart has joined the channel [21:50] eaton has joined the channel [21:50] Vertice has joined the channel [21:50] Crshman_ has joined the channel [21:50] tomaw has joined the channel [21:50] cainus has joined the channel [21:50] geoffeg has joined the channel [21:50] heavysixer has joined the channel [21:50] mattijs has joined the channel [21:50] wink_ has joined the channel [21:50] micxer has joined the channel [21:50] Lorentz has joined the channel [21:50] fr0stbyt3 has joined the channel [21:50] devrim has joined the channel [21:50] tmm1 has joined the channel [21:50] beppu has joined the channel [21:50] jimmyz2 has joined the channel [21:50] mif86 has joined the channel [21:50] unfo- has joined the channel [21:50] ysynopsis has joined the channel [21:50] mysterio1` has joined the channel [21:50] _janne has joined the channel [21:50] disq has joined the channel [21:50] Fuu has joined the channel [21:50] unlink has joined the channel [21:50] ajpiano has joined the channel [21:50] themiddleman has joined the channel [21:50] nail_ has joined the channel [21:50] halfhalo has joined the channel [21:50] Yuffster_work has joined the channel [21:50] rphillips has joined the channel [21:50] riven has joined the channel [21:50] jan____ has joined the channel [21:50] blowery has joined the channel [21:50] figital has joined the channel [21:50] lahwran has joined the channel [21:50] adamholt has joined the channel [21:50] Garo_ has joined the channel [21:50] rbranson has joined the channel [21:50] Virtuo has joined the channel [21:50] hobs has joined the channel [21:50] boucher has joined the channel [21:50] nefD has joined the channel [21:50] MiiCode2 has joined the channel [21:50] nuba has joined the channel [21:50] neshaug has joined the channel [21:50] justis has joined the channel [21:50] aconran has joined the channel [21:50] stynx_ has joined the channel [21:50] Prometheus has joined the channel [21:50] roger_raymond has joined the channel [21:50] Silks has joined the channel [21:50] foobarfighter has joined the channel [21:50] matyr_ has joined the channel [21:50] wao has joined the channel [21:50] naneau has joined the channel [21:50] jb55 has joined the channel [21:50] mape has joined the channel [21:50] marcab has joined the channel [21:50] sth has joined the channel [21:50] pekim_ has joined the channel [21:50] dorkitud1 has joined the channel [21:50] shachaf has joined the channel [21:50] jperras has joined the channel [21:50] termie has joined the channel [21:50] konobi has joined the channel [21:50] zined has joined the channel [21:50] franck34 has joined the channel [21:50] Connorhd_ has joined the channel [21:50] node-faq has joined the channel [21:50] rudebwoy has joined the channel [21:50] hoodow has joined the channel [21:50] mnbvasd has joined the channel [21:50] Bosmon2 has joined the channel [21:50] gkatsev has joined the channel [21:50] tbranyen has joined the channel [21:50] frodenius has joined the channel [21:50] cadorn has joined the channel [21:50] larsemil has joined the channel [21:50] phiggins has joined the channel [21:50] cloudhead has joined the channel [21:50] benatkin has joined the channel [21:50] chewbranca has joined the channel [21:50] Gregor has joined the channel [21:50] rjack has joined the channel [21:50] raz has joined the channel [21:50] peol has joined the channel [21:50] nornagon has joined the channel [21:50] zedas has joined the channel [21:50] brainproxy has joined the channel [21:50] niclone has joined the channel [21:50] spaceinvader has joined the channel [21:50] dispalt has joined the channel [21:50] lstoll has joined the channel [21:50] wereHamster has joined the channel [21:50] shajith has joined the channel [21:50] pzich has joined the channel [21:50] rot13 has joined the channel [21:50] linkmauve has joined the channel [21:50] Atmoz has joined the channel [21:50] jwm has joined the channel [21:50] MikeW has joined the channel [21:50] matt_c has joined the channel [21:50] cce has joined the channel [21:50] izz has joined the channel [21:50] jesusabdullah has joined the channel [21:50] stride has joined the channel [21:50] themcgruff has joined the channel [21:50] lianj has joined the channel [21:50] thorsteinsson has joined the channel [21:50] kuya has joined the channel [21:50] krazyivan has joined the channel [21:50] BHSPitMo1kay has joined the channel [21:50] SubStack has joined the channel [21:50] vilhonen has joined the channel [21:50] wtcross has joined the channel [21:50] webben has joined the channel [21:50] tanepiper has joined the channel [21:50] Ratty_ has joined the channel [21:50] Crshman has joined the channel [21:50] hosh_office has joined the channel [21:50] jdub has joined the channel [21:50] Draggor has joined the channel [21:50] slloyd has joined the channel [21:50] zz_raja has joined the channel [21:50] meder has joined the channel [21:50] Noya_ has joined the channel [21:50] DoubleV has joined the channel [21:50] bruse has joined the channel [21:50] robert_c|away has joined the channel [21:50] v8bot has joined the channel [21:50] caligula has joined the channel [21:50] ddollar has joined the channel [21:50] sanslocust has joined the channel [21:50] mediacoder has joined the channel [21:50] moneal has joined the channel [21:50] Kami_ has joined the channel [21:50] eirikur has joined the channel [21:50] Aikar has joined the channel [21:50] darklajid has joined the channel [21:50] aakour has joined the channel [21:50] [tm] has joined the channel [21:50] augustl has joined the channel [21:50] Nacho__ has joined the channel [21:50] Sembiance has joined the channel [21:50] sucaba-524 has joined the channel [21:50] pquerna has joined the channel [21:50] inarru has joined the channel [21:50] thedjinn has joined the channel [21:50] Pilate has joined the channel [21:50] MrNibbles has joined the channel [21:50] tmzt has joined the channel [21:50] guybrush has joined the channel [21:50] coffeecup has joined the channel [21:50] stephank has joined the channel [21:50] joshpeek has joined the channel [21:50] mrkurt has joined the channel [21:50] sstephenson_ has joined the channel [21:50] SubStack: mikeal: es5-shim! [21:50] SubStack: oh I see you already found that [21:50] malkomal_ has joined the channel [21:50] robrighter has joined the channel [21:50] strmpnk has joined the channel [21:53] stephen_mcd has joined the channel [21:56] ako has joined the channel [21:56] Aikar: tanepiper: why unshift __dirname just to do require('conf')? seems lazy lol. [21:56] rgr_ has joined the channel [21:57] EyePulp has joined the channel [21:58] sveimac has joined the channel [21:59] tanepiper: Aikar: eh? [21:59] ajsie: are there testing frameworks (bdd/tdd) that works both on node.js and the browser? [22:03] possibilities has joined the channel [22:03] jetheredge has joined the channel [22:03] sudoer has joined the channel [22:03] tbranyen: ajsie: nodeunit does [22:04] ajsie: tbranyen: thanks ill have a look at it [22:04] possibilities has joined the channel [22:05] sudoer has joined the channel [22:05] floby has joined the channel [22:06] floby has left the channel [22:06] dthompson has joined the channel [22:06] bludadept_work` has joined the channel [22:07] mauritslamers: anyone with experience in hacking c++ for node around? Trying to find out how to cast a void* to Handle [22:09] Aikar: mauritslamers: if ptr = the void*, Handle *myHandle = (Handle*)ptr; should do it [22:09] Aikar: but i think Handles are suppose to be objects and not pointers, so [22:09] Aikar: Handle myHandle = *(Handle*) ptr; [22:09] Aikar: invokes a copy [22:10] kjeldahl has joined the channel [22:10] mauritslamers: Hmm, the idea here is that in C++ I take a given callback to one function to another c++ function and then call it [22:10] eee_c has joined the channel [22:11] mauritslamers: was trying to get port audio bindings to node, but found an already existing project for rtaudio :) [22:11] mauritslamers: trying to use js callbacks for the callback function of rtaudio [22:13] admc has joined the channel [22:13] Aikar: mauritslamers: those 2 lines above are almost identical, except that 2nd invokes a copy of the object, it really depends on how the handles are used, but im guessing that its a very lightweight class that simply points to real objects in which a copy is light and harmless, now if the function itself was embedded into that class then you need to use a pointer and not make a new handle [22:14] mauritslamers: Aikar: great, thanks! [22:15] Aikar: mauritslamers: ive not done any C++ with node or V8, so i dont know how the V8 handles behave, you need to look that up [22:15] diggersf has joined the channel [22:15] Roelven has joined the channel [22:16] ajashton1 has joined the channel [22:17] miccolis has joined the channel [22:17] Aikar: mauritslamers: http://create.tpsitulsa.com/wiki/V8/Handles according to that, it looks like im correct [22:17] Aikar: so you can invoke the copy, or you could revise your code to not use a void* at all and simply do void blah(Handle myFunc); and pass the handles around [22:17] yhahn has joined the channel [22:21] lukus has joined the channel [22:21] dspree has joined the channel [22:22] m3nt0r^aw has joined the channel [22:25] malkomal_: Anyone heard of something like this while using express.. seems like I have a user where an action results in 502 Bad Gateway (using nginx reverse proxy), but I can't replicate the problem [22:26] Kryckan has joined the channel [22:27] chrisrbailey has left the channel [22:28] aguynamedben has joined the channel [22:28] NuckingFuts: Ya know what we need? A framework to help us wrangle scope :P [22:28] NuckingFuts: Or better yet, fix JS's internal scope resolution. [22:28] NuckingFuts: So that it doesn't suck ass. [22:28] shaver: how do you mean? [22:28] tjholowaychuk: how does it suck [22:28] shaver: JS scope is static [22:28] NuckingFuts: shaver: http://www.alistapart.com/articles/getoutbindingsituations/ [22:28] shaver: er, lexical [22:28] NuckingFuts: It's complicated, and illogical [22:28] NuckingFuts: The fact that references don't retain scope [22:28] shaver: that has nothing to do with scope [22:28] tjholowaychuk: hahaha [22:28] tjholowaychuk: its SO logical [22:28] tjholowaychuk: and SO easy [22:28] shaver: other than that |this| isn't in scope [22:28] shaver: like in Python, etc. [22:28] tjholowaychuk: just because we do not have bound methods [22:28] tjholowaychuk: does not mean it's "wrong" [22:28] shaver: we have them in ES5 [22:28] shaver: but you need to say this.name, etc. [22:28] NuckingFuts: It's a pain to handle, though. I find myself having to bind EVERYTHING when I try to do anything Object-Oriented [22:29] tjholowaychuk: then you are doing it wrong [22:29] shaver: I don't know of any language where that's not the ase, tbh [22:29] shaver: in C++ you need to bind |this| at runtime for extracted methods [22:29] shaver: in Python you need self to be correct [22:29] shaver: (though it's implied for method calls, which is nice) [22:29] shaver: I think in ruby too [22:29] stagas: it's a feature [22:29] NuckingFuts: I want my implied stuff [22:30] NuckingFuts: It'd be nice not to have to explicate such silly stuff [22:30] shaver: but that implied-self wouldn't affect the examples here! [22:30] tjholowaychuk: NuckingFuts: dont be naive [22:30] tjholowaychuk: its not silly at all [22:30] Roelven has joined the channel [22:30] tjholowaychuk: foo.something is a function, foo.something() is called as foo as the receiver, bar.foo = foo.something; bar.foo() foo is the receiver [22:30] shaver: |this| is not a scope lookup, which is a bit painful [22:30] tjholowaychuk: its dead simple [22:30] NuckingFuts: tjholowaychuk: if I'm doing a callback, I think it can be assumed that, unless I explicitly say otherwise, it should execute in the definition context. [22:31] mauritslamers: most heard comment: JS sucks because it is not like [fill in any other language[ [22:31] shaver: the definition context? [22:31] shaver: being made the property of an object should not affect the rval! [22:31] NuckingFuts: shaver: As in where I actually HAVE the anonymous function [22:31] shaver: you can HAVE it in a bunch of places [22:31] tjholowaychuk: hahaha [22:32] shaver: having { a: function () } behave differently from o = { }; o.a = function() would be illogical and broken [22:32] NuckingFuts: Because passing it as an argument is apparently considered making a reference, it likes to lose scope, confusing me shitless. [22:32] Me1000 has joined the channel [22:32] shaver: what? [22:32] shaver: of course passing as an argument makes it a reference [22:32] shaver: you want to pass it by value and make a copy? [22:32] NuckingFuts: shaver: That I get [22:32] shaver: it doesn't lose scope [22:32] francescop has left the channel [22:32] shaver: scope is not related to |this| [22:32] NuckingFuts: But I want it to keep the scope of where I defined it [22:32] shaver: scope is explicitly lexical [22:32] shaver: stop using the word "scope" [22:32] mraleph: shaver: he wants o.foo to return foo binded to o [22:32] shaver: or, alternatively, learn what it means [22:33] shaver: well, the page he linked is about |this| [22:33] NuckingFuts: I'm sorry, but I don't understand the difference. They seem the same to me, no matter how I look at it. [22:33] shaver: and not extracted methods [22:33] NuckingFuts: Especially considering every source I can find lists the first argument for .bind() as "scope" [22:33] shaver: like, it's anonymous function [22:34] malkomal_: anybody have a good link for a proper nginx node.js proxy conf? [22:34] SubStack: I like to call it 'context' [22:34] SubStack: and by it I mean this [22:34] SubStack: and by this I mean `this` [22:34] joshthecoder has joined the channel [22:34] NuckingFuts: Call it what you like, scope and 'this' are closely related, even if they aren't the same thing. [22:35] NuckingFuts: All I know is that, when I call a method, I don't expect it to run in the context of where it's being called, much less the global/default context. [22:36] NuckingFuts: I expect it to run where I put it, because I coded it /in that context./ You can't expect me to be working in one place, but thinking in another. [22:36] shaver: call a method, or call a function? [22:37] logik-bomb has joined the channel [22:38] mraleph: you should just consider this as just another (implicit) argument. makes everything clear as day. [22:38] Roelven has joined the channel [22:38] shaver: the only use of "scope" on the MDC page about bind was in the comments for the example, and I just fixed those :-) [22:38] NuckingFuts: shaver: ... function, I guess? There's not much of a distinction made in JS, from what I've seen, really. [22:38] NuckingFuts: I just want JS to behave as if I had used .bind(this) when defining the functions. [22:38] NuckingFuts: Because, as it is, I tend to actually use that lol [22:38] logik-bomb: is it possible to track DOM changes with node.js? [22:38] warz has joined the channel [22:38] NuckingFuts: mraleph: Aye, but it still doesn't mean it's illogical. [22:39] NuckingFuts: *logical [22:39] shaver: it's self-consistent, which is about the only definition of logical I know [22:39] Flybyme: how stale is felixge/node-mysql? [22:39] shaver: it is not intuitive to you, which is a fine complaint [22:39] Flybyme: **stable [22:39] NuckingFuts: Sure, it's consistent, but it's consistently illogical. [22:39] shaver: I think that the widespread misuse of the word "scope" confuses things, too :-( [22:40] NuckingFuts: Especially the fact that it's defaulting to the global. [22:40] shaver: yes, that's fixed in strict mode [22:40] tjholowaychuk: NuckingFuts: what else would it be, its a function that has no receiver [22:40] mraleph: you can invent time travel, go back in time and invent your own JavaScript before Brendan Eich [22:40] shaver: where it defaults to |undefined|, more consistently [22:40] tjholowaychuk: global doesnt make sense [22:40] tjholowaychuk: but yeah undefined would be good [22:40] shaver: given that a given function can be on multiple objects, binding to any of them implicitly is wrong [22:40] shaver: like, if you do [22:40] Flybyme: is it safe for production [22:41] joecorcoran has joined the channel [22:41] shaver: Thing.prototype.method = function meth() { return this.thing; } [22:41] NuckingFuts: I mean, they provided us with .apply() and .call(), but, I mean, that's entirely unhelpful, since scope/context/whatever it's called is resolved at execution time, rather than definition time. [22:41] shaver: do you expect that to be bound to the prototype? [22:41] mraleph: alternatively you can write your own language that compiles to JavaScript and does what you like it to do. [22:41] shaver: that's unsane! [22:41] tjholowaychuk: ACTION gives up [22:41] NuckingFuts: shaver: That's invalid, I do believe, BTW [22:41] shaver: if it were, then t = new Thing(); t.thing = "hi"; t.meth() would return undefined, not "hi" [22:42] shaver: what's invalid about it? [22:42] NuckingFuts: Combining the function name() with the varibale thing [22:42] shaver: false [22:42] NuckingFuts: really? That's horrible syntax though :/ [22:42] shaver: why? functions have names [22:42] NuckingFuts: v8: Thing.prototype.method = function meth() { return this.thing; } [22:42] v8bot: NuckingFuts: ReferenceError: Thing is not defined [22:42] NuckingFuts: ... [22:42] NuckingFuts: v8: Thing = {}; Thing.prototype.method = function meth() { return this.thing; } [22:42] v8bot: NuckingFuts: TypeError: Cannot set property 'method' of undefined [22:42] JeffAtWork has joined the channel [22:42] NuckingFuts: ... [22:42] NuckingFuts: ACTION gives up on v8bot. [22:43] shaver: v8: function Thing() { } Thing.prototype.method = function meth() { return this.thing; } [22:43] v8bot: shaver: function meth() { return this.thing; } [22:43] NuckingFuts: shaver: Isn't function meth() the same as var meth = function()? [22:43] shaver: no [22:44] NuckingFuts: Really? I always thought that JS handled EVERYTHING as variables [22:44] shaver: v8: f1 = function f1() { }; f2 = function() { }; f1.name + " " + f2.name; [22:44] v8bot: shaver: "f1 " [22:44] NuckingFuts: That's an interesting, and sorta useless, thing :V [22:44] shaver: and a function's name is bound in its body to the callee, for recursive invocation [22:44] shaver: otherwise how would you do recursion? [22:45] NuckingFuts: arguments.callee [22:45] NuckingFuts: That's how I do it :/ [22:45] shaver: gross :-) [22:45] mraleph: holy cow [22:45] shaver: ? [22:45] mraleph: I see a person who uses that for recursion. [22:46] mraleph: I am impressed :-) [22:46] NuckingFuts: what? [22:46] shaver: I can't wait for "this function" in harmony [22:46] tjholowaychuk: shaver: "this function" ? [22:46] chrisdickinson: v8: var recurse = function(i) { if(i != 1) { return recurse(1); } return i; }; recurse(); [22:46] v8bot: chrisdickinson: 1 [22:47] piscisaureus: it's kind of unclear to me why thisfuntion needs to be invented just after dropping arguments.callee [22:47] mraleph: NuckingFuts: doing recursion through arguments.callee… [22:47] NuckingFuts: mraleph: What about it? [22:47] piscisaureus: I used to do that often too [22:47] shaver: chrisdickinson: right, but an object property it doesn't work, and it doesn't work if called by another name [22:47] mraleph: NuckingFuts: wierd choice. [22:47] jpld has joined the channel [22:47] shaver: mraleph: not if you don't know that function expressions can have names :-) [22:47] ziro` has joined the channel [22:47] NuckingFuts: mraleph: Why do you say that? I didn't know there were other ways, besides explicitly referencing the function directly? [22:48] dshaw has joined the channel [22:48] shaver: it's just verbose, and unlike the pattern in every other language [22:48] mraleph: well. you can always save it to a variable. [22:48] shaver: now, I'll say this [22:48] shaver: JS scoping *does* suck [22:48] mraleph: v8: var v = function () { return v(); }; v(); [22:48] v8bot: mraleph: RangeError: Maximum call stack size exceeded [22:48] NuckingFuts: mraleph: Aye, but that'd die when the scope/environment/pickle goes haywire, which it has a horrible tendency to do (at least for me) [22:48] shaver: because it kept me from getting lunch [22:49] NuckingFuts: lmao [22:49] chrisdickinson: shaver: ah. i'd just avoid arguments.callee due to the performance problems with arguments.callee [22:49] chrisdickinson: http://jsperf.com/callee-vs-name [22:49] shaver: yeah [22:49] shaver: well [22:49] shaver: it's gross [22:49] shaver: so that's reason enough [22:49] piscisaureus: ok it's gross [22:49] shaver: if lookup of the function dominates your computation, I'm surprised! [22:49] mraleph: or you can use Y-combinator :-) [22:50] mraleph: if you like unnamed functions :-) [22:50] chrisdickinson: shaver: so if you're doing a tight loop eteration, it could come into play [22:50] shaver: mraleph: we've had Y.js in the spidermonkey source tree since 1995, I think :-) [22:50] NuckingFuts: Y-combinator? God, the complex innards of JS are confusing me lol [22:50] shaver: Y combinator is not a JS thing [22:50] NuckingFuts: I miss when JS was just alert() :P [22:50] SubStack: you can have inline names too [22:50] shaver: it's a lambda calculus thing, I suppose [22:51] NuckingFuts: Ah fun calculus [22:51] NuckingFuts: Waaaaaaaaaay over my head lol [22:51] chrisdickinson: v8: var args = function() { return Array.prototype.slice.call(arguments.callee.caller.arguments); }; var test = function() { return args(); }; test(1,2,3); [22:51] v8bot: chrisdickinson: [1, 2, 3] [22:51] chrisdickinson: ACTION coughs [22:51] NuckingFuts: I mean, I can handle cosine, sine, tangent, all the trigonometry shit, but calculus confuses me endlessly. [22:51] SubStack: v8: (function factorial (n) { return n * (n <= 1 ? 1 : factorial(n - 1)) })(7) [22:51] v8bot: SubStack: 5040 [22:51] shaver: different kind of calculus [22:52] er1c_ has joined the channel [22:52] NuckingFuts: lolconfusing [22:53] SubStack: ^^^ best way [22:53] kriszyp has joined the channel [22:53] shaver: concur [22:53] NuckingFuts: Inline functions + recursion + the inline if things (which I've forgotten) = X_X [22:53] NuckingFuts: *forgotten the name of [22:53] shaver: ? : ? [22:53] chrisdickinson: ternaries? [22:54] NuckingFuts: chrisdickinson: Yes, that's it! [22:54] shaver: is it C++'s only ternary operator? [22:54] shaver: ACTION ponders [22:54] mauritslamers_ has joined the channel [22:54] bwinton: shaver: I believe so. [22:54] shaver: yeah [22:54] shaver: I was thinking of some of the method-extraction stuff [22:54] NuckingFuts: ACTION is glad he decided to learn JS instead of C++ [22:54] mraleph: shaver: does any of Monkeys optimize away patterns like var args = Array.prototype.slice.call(arguments, 1); f.apply(this, args); ? [22:54] bwinton: I often confuse the name of it with trigrams… [22:55] NuckingFuts: Because goddamnit, this stuff is confusing. [22:55] tjholowaychuk: NuckingFuts: I promise it makes way more sense than something like ruby [22:55] tjholowaychuk: not at first maybe [22:55] SubStack: yes at first [22:55] tjholowaychuk: but just take some time, and forget about what you have learnt haha [22:55] tjholowaychuk: SubStack: not for everyone lol [22:55] tjholowaychuk: but yeah [22:55] NuckingFuts: tjholowaychuk: I don't know Ruby at all. [22:55] SubStack: ruby gets very deep very quickly if you care at all about what's going on [22:56] tjholowaychuk: yeah [22:56] tjholowaychuk: its fucked [22:56] mauritslamers: hmm, can anyone show me how to get a function out of a Handle* ? [22:56] NuckingFuts: I learned JS instead :P [22:56] SubStack: oh goodness, singleton/instance/class distinctions [22:56] NuckingFuts: And I'm quite happy with that decision :D [22:56] n00dles has joined the channel [22:56] SubStack: I'm rather glad javascript only has functions, even if it has some prototype resolution bolted on [22:56] tjholowaychuk: yeah [22:56] NuckingFuts: SubStack: Aren't we all? [22:56] SubStack: it makes the scoping a whole lot more sane [22:56] tjholowaychuk: id prefer if that was not there either [22:56] tjholowaychuk: but [22:57] tjholowaychuk: meh [22:57] shaver: mraleph: I think JM does, and TM sees through call/apply, but I'm not really sure about the slice-on-args one [22:57] mraleph: mauritslamers: where did you get a pointer to a Handle? pretty dangerous stuff. and why to you want to get a function from it? [22:57] SubStack: if a language can have classes in function scope they should re-use the container scope [22:57] shaver: mraleph: if not we should, it's an increasingly common pattern [22:57] dancor has joined the channel [22:58] mauritslamers: mraleph: trying to get something dangerous working :) trying to hook up RtAudio to node [22:58] mauritslamers: in this case I need a C function which is the actual callback [22:58] modular has joined the channel [22:58] SubStack: ruby gets that all kinds of wrong so you have to pass variables in through (class << obj; self; end).send :define_method, 'x', lambda { ... } trickery [22:58] mauritslamers: mraleph: and whenever a user sets a callback, it should be called for sample values [22:58] mraleph: shaver: yep I see it more and more. [22:59] insin has joined the channel [22:59] SubStack: this is part of why I hate classical inheritence patterns [22:59] ChrisPartridge has joined the channel [22:59] mraleph: mauritslamers: Function is not a real C function. [22:59] mauritslamers: I know [22:59] mauritslamers: that is not the issue [22:59] SubStack: and in ruby it's better than other languages because you can even do it at all [22:59] SubStack: javascript++ for that [22:59] tjholowaychuk: SubStack: yeah its kinda sad [22:59] NuckingFuts: Despite the scope and such in JS, I am quite happy. A large part of that is probably because the everything-is-an-object part makes up for it. [22:59] mraleph: mauritslamers: then what is the issue? [22:59] mauritslamers: mraleph: and the main problem is that that C callback function has a user data parameter which needs to be a void* [22:59] SubStack: silly beerbot [23:00] mraleph: mauritslamers: ah. ok [23:00] shaver: mraleph: why 1 rather than 0 to slice? [23:00] mauritslamers: I want to pass the user function using that void* [23:00] NuckingFuts: beerbot? [23:00] ChrisPartridge has joined the channel [23:00] NuckingFuts: I don't see a beerbot lol [23:00] mauritslamers: and check whether the handle is empty, and if it is not, it should call the user function [23:00] mraleph: shaver: to discard the first argument. because it was used for something else. [23:00] NuckingFuts: It offline? [23:00] SubStack: v8bot manages the distribution of beers [23:00] mraleph: shaver: say it was a name of the event to fire [23:00] shaver: oh, ok [23:01] SubStack: I do however wish that there was a way to disassociate an object entirely from the prototype chain [23:01] NuckingFuts: SubStack: Oh, right lol forgot v8bot's good for more than just code execution XD [23:01] ajnasz has joined the channel [23:01] mauritslamers: mraleph: I tried to do Handle ret = cb->Call(tmpObj,1,&bufSize); but that doesn't work as the Handle has not Call method [23:01] NuckingFuts: v8bot++ [23:01] v8bot: NuckingFuts has given a beer to v8bot. v8bot now has 15 beers. [23:01] NuckingFuts: lol [23:01] SubStack: so that containers don't have to have __proto__ and everything from Object.prototype silently defined [23:01] n00dles: lol [23:01] NuckingFuts: SubStack: implied inheritence is nice :P [23:01] mauritslamers: v8bot: isDrunk? [23:01] v8bot: mauritslamers: Use v8: to evaluate code or "`v commands" for a list of v8bot commands. [23:01] SubStack: usually! [23:02] NuckingFuts: v commands [23:02] NuckingFuts: lol [23:02] SubStack: NuckingFuts: but not when you just want a hashy datastructure [23:02] mauritslamers: v8bot: isDrunk(); [23:02] v8bot: mauritslamers: Use v8: to evaluate code or "`v commands" for a list of v8bot commands. [23:02] NuckingFuts: `v commands [23:02] v8bot: NuckingFuts: Commands: Type `v . Optionally, type `v @ to send to a specific user. `v Commands are: about, beers, commands, git, google, help, macro. Other commands: v8, `re, `pcre, `ref. Type `v help for more information. Join #v8bot for more support. [23:02] NuckingFuts: OIC [23:02] NuckingFuts: Oh wow, PCRE? Nice [23:02] SubStack: key, meet value. No surprises. [23:02] admc1 has joined the channel [23:03] mraleph: mauritslamers: well. there is some C++ trickery there when you apply -> to a Handle it unwraps the value inside and -> get's applied to it. Value does not have Call method as well. if you have pointer to Handle you need to do (*ptr)->Call [23:03] n00dles: `v beers @ NuckingFuts [23:03] v8bot: n00dles: @ NuckingFuts has 0 beers. [23:03] NuckingFuts: lol [23:03] n00dles: how the fuck do i give u one :) [23:03] mauritslamers: mraleph: The Handle is for the return value of the function call :) [23:04] NuckingFuts: n00dles use ++ :P [23:04] NuckingFuts: You do 'thing++' [23:04] n00dles: `v beers++ @ NuckingFuts [23:04] v8bot: n00dles: No such command. [23:04] shaver: `v beers shaver [23:04] v8bot: shaver: shaver has -1 beers. [23:04] mraleph: mauritslamers: oh. I am going crazy. [23:04] shaver: typical. [23:04] mraleph: lol [23:04] NuckingFuts: shaver: lol that's possible? [23:04] mraleph: `v beers mraleph [23:04] v8bot: mraleph: mraleph has 1 beers. [23:04] SubStack: v8: var x = {}; delete x.__proto__; x.__proto__ [23:04] v8bot: SubStack: {} [23:05] SubStack: ^ that annoys me [23:05] NuckingFuts: lol [23:05] shaver: set it to null [23:05] SubStack: hah what the fuck [23:05] mraleph: mauritslamers: so you need to do (*cb)->Call if cb is Handle* [23:05] SubStack: you can set it to null but not undefined [23:05] NuckingFuts: v8: var x = {}; x.__proto__ = null; x.__proto__ [23:05] v8bot: NuckingFuts: null [23:05] NuckingFuts: lol [23:06] mauritslamers: mraleph: great, thanks! [23:06] NuckingFuts: v8: var x = {}; x.__proto__ = undefined; x.__proto__ [23:06] v8bot: NuckingFuts: {} [23:06] NuckingFuts: OIC [23:06] SubStack: too surprising [23:07] Misao-chan has joined the channel [23:07] pHcF has joined the channel [23:07] shaver: __proto__ has to have typeof == "object", i think [23:07] jpick has joined the channel [23:08] NuckingFuts: shaver: But then null ought not to work, right? Or is that still considered an object in JS's odd typing system? [23:08] bubbafat has joined the channel [23:08] NuckingFuts: typeof is full of fail nowadays :( [23:08] NuckingFuts: typeof-- [23:08] v8bot: NuckingFuts has taken a beer from typeof. typeof now has -1 beers. [23:09] NuckingFuts: lol [23:09] NuckingFuts: It deserved it. [23:09] shaver: null is object type, yes [23:09] shaver: a wart [23:09] shaver: hard to fix now [23:09] NuckingFuts: shaver: Like the scope in JS lol [23:09] shaver: (artifact of original mocha implementation, I think) [23:09] stonecobra has joined the channel [23:09] shaver: . . . [23:10] NuckingFuts: Something that was a mistake in planning, most likely, but has ended up becoming so ingrained that it'd be hellish to fix [23:10] n00dles has joined the channel [23:10] NuckingFuts: If it weren't for scope, I would consider JS the ultimate programming language. [23:10] NuckingFuts: But no, that one thing had to go and ruin it for me. [23:11] shaver: JS's scope rules were pretty carefully designed, IIRC [23:11] NuckingFuts: ACTION shakes is fist at the guys who created JS (Netscape, I think?) [23:11] shaver: I can ask brendan, though [23:11] shaver: careful where you wave that fist [23:11] NuckingFuts: shaver: Sure doesn't seem like it. I'll wave my fist into Netscape's browseranus though. [23:11] NuckingFuts: Because they be DEAD [23:11] shaver: well [23:11] NuckingFuts: Netscape is long gone :P [23:11] shaver: I can ask Brendan, he sits 2 desks over from me [23:12] shaver: but I was working on it from 1997, and the rules seem pretty tidy (other than |this|, perhaps, if you see it as a variable rather than a keyword) [23:13] tjholowaychuk: shaver: tell brendan to stop the coffeescript stuff [23:13] tjholowaychuk: lol [23:13] tjholowaychuk: :D [23:13] shaver: haha [23:13] shaver: that was a nicely provocative post [23:13] NuckingFuts: Coffeescript? What about that abomination? [23:13] shaver: my troll meter's needle is starting to wobble [23:14] NuckingFuts: lol [23:14] NuckingFuts: I actually dislike Coffeescript, though I *guess* I can see the lure. [23:14] NuckingFuts: If you aren't a fan of curly braces, etc. [23:15] SubStack: with some more hacks coffeescript can be pretty good [23:15] SubStack: stack traces especially [23:15] eee_c has joined the channel [23:15] NuckingFuts: SubStack: Stack traces? [23:16] NuckingFuts: I think of that as more a debugging tool [23:16] SubStack: NuckingFuts: coffeescript is generated, so the line numbers don't point to the original source [23:16] SubStack: possible to solve however [23:17] NuckingFuts: ah [23:17] NuckingFuts: SubStack: I imagine a decompiler or a large amount of math would be needed for that. [23:17] tjholowaychuk: /line: n [23:17] tjholowaychuk: //line: n [23:18] tjholowaychuk: or something [23:18] SubStack: nah, the Error api has some trickery to get out line numbers [23:18] NuckingFuts: ah [23:18] tjholowaychuk: would be cool [23:18] SubStack: people were chatting about this at jsbbq ^_^ [23:18] SubStack: I should learn this trick so I can implement it in browserify [23:18] saikat has joined the channel [23:18] tjholowaychuk: I wish you could access the callsites without all the hackage [23:19] NuckingFuts: lol someday I'll prolly go to one of those, once I'm better at JS :P [23:19] tjholowaychuk: its pretty easy [23:19] tjholowaychuk: I had that gist sitting around somewhere with __stack and __line [23:19] NuckingFuts: And prolly once I'm older and have a car and can drink, etc. lol [23:19] ryah: SubStack: ping [23:19] SubStack: ryah: pong [23:19] NuckingFuts: SubStack: sing. [23:20] SubStack: NuckingFuts: song [23:20] ryah: SubStack: re ctypes - you want to use it for something? [23:20] ryah: potentially? [23:20] NuckingFuts: ryah: lolwat what's with the -o? [23:20] ryah: SubStack: vnc client? [23:20] SubStack: ryah: well I was thinking about using it to pack/unpack floats and doubles [23:20] SubStack: somebody using node-binary needed it for something or another [23:21] shaver: tjholowaychuk: we support //lineno or something in spidermonkey, I think we haven't turned it on for content yet though (spoofing concerns) [23:21] ryah: i want to include it with node at some point [23:21] tjholowaychuk: shaver: cool man [23:21] tjholowaychuk: shaver: I was thinking about maybe using SM for the js shell idea [23:21] tjholowaychuk: since its so small [23:21] tjholowaychuk: not sure, kinda might as well be node though I suppose [23:22] SubStack: ryah: that would be pretty sweet [23:22] tjholowaychuk: shaver: is it possible to get at v8's parse to grab an AST ? [23:22] malkomal_: tjholowaychuk, issuing a node server.js restart command doesn't seem to restart my workers, is there a grace period before it actually restarts? [23:22] tjholowaychuk: parser* [23:22] tjholowaychuk: malkomal_: default of a minute [23:22] SubStack: I don't care much for the structs api in ctypes though [23:22] tjholowaychuk: malkomal_: change the "timeout" option (ms) [23:23] SubStack: especially since it's write-only, wtf [23:23] shaver: tjholowaychuk: dunno about v8 [23:23] Kryckan has left the channel [23:23] shaver: tjholowaychuk: we have a Reflect.parse in SM now, not exposed to content until we make it more robust [23:23] tjholowaychuk: mraleph: is it possible to get at v8's parse to grab an AST? [23:23] tjholowaychuk: :) [23:23] tjholowaychuk: shaver: yeah I really want something like that [23:24] mraleph: no [23:24] tjholowaychuk: but its low priority and im kinda to lazy to write it [23:24] mraleph: why? [23:24] shaver: you could use narcissus [23:24] tjholowaychuk: mraleph: wanted to use it for some static analysis stuff [23:24] mraleph: or a javascript sample from peg.js [23:24] tjholowaychuk: shaver: last time I tried narcissus didnt run on node all that well [23:24] shaver: when was that? [23:25] tjholowaychuk: few monhts ago [23:25] shaver: it should run everywhere now, AFAIK [23:25] tjholowaychuk: ah ok [23:25] shaver: we use it for doctorjs, which runs on node [23:25] tjholowaychuk: hm [23:26] dguttman_ has joined the channel [23:27] tjholowaychuk: the peg.js one is flakey too I remember breaking it a few times [23:27] SubStack: today I learned if I'm going to emit 'error' I should make sure to send in an Error object, not a string [23:29] bart2 has joined the channel [23:29] ChrisPartridge: SubStack: done that one a few times [23:30] SubStack: tea time! [23:32] NuckingFuts: I wonder which browser is gonna beat IE9's speeds first :P [23:33] Lorentz: w3m [23:33] NuckingFuts: I've got my money on Chrome, since it's backed by Google, and they have gone so far as to make use of hidden Windows APIs :P [23:34] NuckingFuts: So I can only imagine what they'll do next lol [23:34] NuckingFuts: DirectX acceleration + V8 = win [23:35] twoism has joined the channel [23:35] malcoholm has joined the channel [23:37] paulrobinson has joined the channel [23:38] Lorentz: Mmm, wonder how nice canvas will turn out to be on ie9. [23:38] shaver: pretty good as long as you don't need the whole spec [23:38] shaver: (blendMode) [23:39] ryanfitz has joined the channel [23:39] isaacs: can anyone recommend a really easy proxy server that i could set up on my mac? [23:39] isaacs: like, i want to start a program, and then make proxy requests to localhost that get sent out elsewhere. [23:39] isaacs: just to test proxy-authentication and whatnot [23:40] herenowcoder: isaacs: i used webrick httpproxy once. Just ootb in ruby. [23:41] Sami_ZzZ has joined the channel [23:41] bradleymeck1 has joined the channel [23:42] herenowcoder: isaacs: i started with simple googled example and moved on to quite sophisticated proxy which did some analisys on a passed data. Not a speed demon, though [23:43] isaacs: hm. i'll look into it [23:43] ChrisPartridge: isaacs: have apache installed? [23:43] isaacs: it looks like squid might work, too [23:43] isaacs: ChrisPartridge: yeah, but it's all messed up [23:43] isaacs: ChrisPartridge: i've used mod_proxy before [23:43] pedrobelo has joined the channel [23:43] isaacs: it's not terrible. [23:43] ChrisPartridge: isaacs: hm ok, theres always mod_proxy [23:43] ChrisPartridge: yeah [23:43] isaacs: just looking for minimum setup to debug some npm stuff [23:44] herenowcoder: isaacs: ack, squid is also easy, has largely commented config and doesn't require much tinkering. Might be more suitable for u [23:44] dve has joined the channel [23:45] isaacs: kewl, it looks like it's working... [23:45] Evet: i wonder there is no "best node.js modules" article [23:45] Evet: isaacs: do you keep stats of module downloads? [23:45] isaacs: Evet: nope. [23:46] shaver: module dependencies are a better metric, except they miss end-user use [23:46] isaacs: Evet: it's been suggested, but it's not high-priority [23:47] perlmonkey2 has joined the channel [23:48] isaacs: wow, that bug was WAY easier to figure out with an actual proxy and not relying on random user bug reports. [23:48] mlncn has joined the channel [23:48] shaver: science: it works, bitches. [23:49] abraham has joined the channel [23:50] isaacs: Evet: (re: best nodejs modules article) stay tuned. [23:50] c4milo: shit [23:50] c4milo: anybody knows why removeListener doesn't remove listeners? hehe [23:51] c4milo: in nodejs 0.2.6 [23:51] malcoholm has left the channel [23:53] eee_c1 has joined the channel [23:53] gagaforgaga has joined the channel [23:53] Aikar: c4milo: maybe cause running old ver of node :P [23:54] c4milo: Aikar: ahah no fair, 0.2.6 was the stable version, it should work [23:54] Aikar: its not anymore! lol [23:54] c4milo: Aikar: does expressjs and mongoose work with nodejs 0.4.x? [23:54] Aikar: see if problem still exists in 4 [23:55] Aikar: and they should [23:55] Aikar: since both are actively updated [23:55] c4milo: hum [23:55] tjholowaychuk: c4milo: rewritting connect right now [23:55] tjholowaychuk: as we speak [23:55] Aikar: tj is the owner of express, and express worked in 3 so id hope so for 4 [23:55] tjholowaychuk: expect both to work fine soon [23:55] Vertice: upgrade path changes ? [23:55] c4milo: tjholowaychuk: got it thanks tj [23:55] Aikar: tj what didnt work on 3? [23:55] hornairs has joined the channel [23:55] Aikar: cause basic use worked for me [23:56] tjholowaychuk: certain things probably failed but not most of the basic things [23:56] tjholowaychuk: some FS stuff might have failed [23:56] [[zzz]] has joined the channel [23:57] tjholowaychuk: adding tls support etc [23:59] possibilities has joined the channel [23:59] EyePulp: I'm doing this wrong, apparently ... var x = {foo:'bar'}; console.log(x.keys()); [23:59] Aikar: EyePulp: Object.keys(x) [23:59] EyePulp: I thought we had .keys() as a method off objects.