[00:00] tjholowaychuk: np [00:01] perezd has joined the channel [00:04] bayousoft has joined the channel [00:06] luke` has joined the channel [00:07] jj0hns0n has joined the channel [00:09] [[zz]] has joined the channel [00:10] fraserkillip has left the channel [00:13] CIA-65: node: 03Ben Noordhuis 07master * r874260b 10/ (lib/console.js lib/util.js test/simple/test-util-format.js): [00:13] CIA-65: node: util: add sprintf-like format() function [00:13] CIA-65: node: Fixes #1407. - https://github.com/joyent/node/commit/874260b40fefc03aec7638a736b004b3ca0c23f3 [00:13] technoweenie: zomg finally [00:14] Aria has joined the channel [00:15] ryah: i think Node is about to overtake jquery https://github.com/popular/watched [00:15] Chani: ACTION shakes her fist at the code [00:15] ryah: just like 150 more [00:15] mcluskydodallas has joined the channel [00:15] tuhoojabotti: Eep [00:16] tuhoojabotti: ryah: you should work together, not against each other! [00:16] Chani: fail, damn you, so I can catch this bug :P [00:16] technoweenie: node+jquery beats rails [00:16] tmzt: is it called watching if you have a clone in your ~src? [00:16] tbranyen: technoweenie: node+backbone beats rails :) [00:16] tjholowaychuk: jquery replaced by anything beats jquery [00:16] tmzt: node+backbone+express-resource [00:16] technoweenie: node+jquery-pjax [00:16] tbranyen: tjholowaychuk: don't be a hater [00:16] tmzt: pjax? [00:16] technoweenie: node+(jqury-pjax) [00:16] tbranyen: pjax looks like boooo [00:17] tbranyen: pooo* [00:17] __directory: rails was just here beggin' for money - something about needing a bus ticket [00:17] tbranyen: lol [00:17] technoweenie: i wonder what the counts would look like if the dashboard wasnt useless though [00:17] tuhoojabotti: ryah: There, I started watching, what did I win? [00:17] tuhoojabotti: :D [00:17] technoweenie: though i watch node, not rails [00:17] tbranyen: tjholowaychuk: jquery looks and exists the way it does for a reason... and you can hate mistakes in browser vendors for that [00:18] tjholowaychuk: tbranyen sure i just dont like a lot of the api choices but it's obviously great for cross-browser stuff [00:18] tmzt: $ is a wrapper around querySelectorAll, or will be [00:18] tbranyen: yeah some api choices are bad [00:18] zackattack has joined the channel [00:19] tristanseifert has joined the channel [00:19] ditesh|cassini has joined the channel [00:19] __directory: tjholowaychuk: kue's ui is great - I don't have a use for it yet but installed it just to look. [00:19] tmzt: crud must die [00:20] __directory: been meaning to say that [00:20] tmzt: going to figure out how [00:20] tjholowaychuk: __directory cool thanks man. the next release has full text indexing n stuff so you'll be able to search :D [00:20] __directory: nice [00:20] tjholowaychuk: i think that's the one last feature I wanted [00:20] tjholowaychuk: for now [00:20] __directory: yah it's solid [00:21] tmzt: is it possible to render jade directly from express-resource? [00:21] tim_smart has joined the channel [00:21] tjholowaychuk: tmzt yeah of course [00:21] tjholowaychuk: you can still use res.render [00:22] tmzt: is there a recommended app layout to have express-resource controllers in files in a subdirectory and just loaded into the main app? [00:23] tmzt: I guess I mean an example [00:23] tjholowaychuk: whatever you want [00:23] tjholowaychuk: readdir and require them in etc [00:23] tmzt: just pass app to it as a function? [00:23] Nexxy has joined the channel [00:23] Nexxy has joined the channel [00:24] tjholowaychuk: yeah or use the vm mod to expose it [00:24] tmzt: or maybe array.map? [00:24] tmzt: what is that? [00:24] tjholowaychuk: huh [00:25] zeade has joined the channel [00:25] tmzt: vm mod [00:26] zzo has joined the channel [00:26] Ginlock has joined the channel [00:26] zzo: howdy my npm package has a dep on a native module (glob) [00:26] zzo: how can i express this in my package.json? [00:27] Gaunt has joined the channel [00:27] isaacs: zzo: { "dependencies" : { "glob" : "whatever version range you like, or *" } } [00:27] zzo: npm bundle sticks it in node_modules & then things go bad when installing my pkg elsewhere.... [00:27] Nexxy: has anyone here developed an app that utilizes Braintree's API? (http://www.braintreepayments.com/docs/node) [00:27] isaacs: zzo: ah, you're on npm 0.x? [00:27] isaacs: zzo: you should update. [00:27] zzo: hm no idea lemmie check [00:28] __directory: Nexxy I will be next month [00:28] Nexxy: __directory, have you done any sandbox testing yet? [00:28] zzo: npm info using npm@0.3.18 d'oh! [00:28] isaacs: yep [00:28] __directory: not yet - pretty worthless of me to even say anything since i've done nothing :P [00:28] isaacs: ircretary: inst zzo [00:28] ircretary: zzo: `curl http://npmjs.org/install.sh | sh` (or, if there are permission issues, you can try: `curl http://npmjs.org/install.sh | sudo sh`) [00:28] isaacs: zzo: there are many changes between 0.x and 1.0 [00:29] zzo: npm update npm [00:29] zzo: says i'm up to date? [00:29] Nexxy: __directory, welllll ;P I will keep in touch... I should be implementing this by early next month [00:29] zzo: guess i gotta do a full re-install? [00:29] isaacs: zzo: yes, because 1.0 cannot be installed with 0.x [00:29] isaacs: zzo: yes. [00:29] __directory: same here then [00:29] isaacs: there are paradigm changes. [00:29] Nexxy: I'm just curious if anyone else has any experiences to share [00:29] zzo: coolio thanks! will play w/it [00:29] isaacs: zzo: so,the issue with deploying bundled binary deps is still pretty much crap. [00:30] gr-eg: i want to write come connect middleware to use in express which will set some default options that get inserted into every view render() call, is there a good way to do that? i can write the middleware fine, but is there a place on request or response i can modify that will automatically be used as render options, rather than have to manually add and look for a custom property? [00:30] isaacs: zzo: in npm 0.x, though, it does rebuild bundled deps when doing `npm install` on the target env [00:30] isaacs: zzo: with npm 1.0, you can do `npm rebuild` to rebuild them [00:30] __directory: gr-eg: there's examples in the guide [00:30] zzo: i don't want to bundle the binary - i'd like npm go to out & fetch it when they install my pkg on their box - ya? [00:30] gr-eg: __directory: can you point me to them? i'm not seeing them [00:31] zzo: spent too much time w/the cpan maybe [00:32] zzo: where deps aren't bundle w/the pkg itself but grabbed from the cpan & install in [00:32] zzo: install time that is [00:32] pt_tr has joined the channel [00:32] __directory: gr-eg: http://expressjs.com/guide.html#middleware | scroll down you'll see some examples of what I think yo'ure looking for [00:34] __directory: i've ran into examples of render tricks people have come up with for various things out on the Internetz too [00:34] Nexxy: how about bill acceptors?! [00:34] tristanseifert has joined the channel [00:34] Nexxy: validators... [00:35] gr-eg: __directory: hmm yea this example isn't exactly what i mean…i guess i'm looking for what i can modify on either request or response to set some default render options, as opposed to how to write middleware.. [00:35] Nexxy: anyone interfaced with "currency detectors" or the like? via usb/serial hopefully? :D [00:35] __directory: what kind of options? [00:37] zzo: erg so i do not 'npm bundle' anymore? [00:38] isaacs: zzo: correct. [00:38] zzo: krap learned all about npm 0.x for zilch [00:38] isaacs: zzo: `npm install` is your bundle now [00:38] monokrome has joined the channel [00:38] isaacs: zzo: if you like bundle, you'll love this, i promise. [00:38] isaacs: zzo: everything is local by default. [00:38] isaacs: zzo: throw -g or --global onto the command to install stuff into the system PATH [00:39] unlink has joined the channel [00:39] unlink has joined the channel [00:39] blaenk has joined the channel [00:39] blaenk has joined the channel [00:39] meomic has joined the channel [00:39] zzo: isaacs: ok so did 'npm install' in my local dir where package.json is... but running 'npm start ' barfs - says it can't find package.json of MY package down in node_modules/ dir [00:40] isaacs: zzo: gist, plz [00:40] isaacs: zzo: oh! just `npm start` not `npm start mypkg` [00:40] zzo: woo! [00:41] andrewfff has joined the channel [00:43] matomesc has joined the channel [00:43] nadirvardar has joined the channel [00:43] zzo: users of my pkg will still say 'npm start ' right? only because there's a package.json in my current dir is how it is working for me? [00:45] jbrokc has joined the channel [00:45] __directory: hmm [00:46] patrickjst has joined the channel [00:46] isaacs: zzo: yeah [00:46] isaacs: zzo: `npm start blah` is like doing `cd ./node_modules/blah; npm start` [00:47] cl0udy has joined the channel [00:49] willwhite has joined the channel [00:49] _tilgovi has joined the channel [00:54] sounko has joined the channel [00:54] gr-eg: so it looks like i can achieve what i want by modifying response._locals, but not sure that's the best way to do it, is there a better interface to that? [00:56] __directory: gr-eg: what are you trying to do? [00:56] gr-eg: set some default values for stuff that would normally get passed in via the options param in view.render() [00:57] __directory: like princesses = 5; [00:57] __directory: on very res.render without having to set it on each one? [00:57] __directory: s/very/every [00:57] gr-eg: yes [00:58] __directory: couldn't you just make an object like stuff = { princesses: 5 } [00:58] __directory: then append to it on each request stuff.title = 'Big Beef Store' [00:58] stanleigh has joined the channel [00:58] __directory: res.render('lol',stuff)? [00:59] __directory: i've only used express for about a week so I'm pretty much a douche [00:59] gr-eg: i was hoping by using middleware to just cut it down to writing res.render('lol') [00:59] towski has joined the channel [00:59] __directory: ahh [00:59] gr-eg: unless that view had custom options [00:59] gr-eg: this seems to work for now so i'll keep it until it breaks i guess [00:59] __directory: there's probably a good way to do that - but I has a dumb. [01:00] stanleigh: Anyone know how to modify ubuntu sounds and log on screen ? [01:01] __directory: im guessing you'd have to override res' render function with some sort of an options = options || { princesses: 5, cigarrettes_for_sex: true }; [01:01] __directory: that wouldn't append defaults though [01:02] patrickjst has joined the channel [01:03] bnoordhuis: stanleigh: system -> administration -> login screen? [01:03] tuhoojabotti: Is it wrong to implement http.ServerResponse.prototype.reply? [01:03] tuhoojabotti: :D [01:04] CIA-65: node: 03Ryan Dahl 07master * rf01b241 10/ (6 files in 3 dirs): [01:04] CIA-65: node: add wrapper for uv_spawn [01:04] CIA-65: node: process.binding('process_wrap') - https://github.com/joyent/node/commit/f01b241057567818160f8cd4f58cf9cafdccf1ed [01:04] chjj has joined the channel [01:04] chjj: amd is gone :) [01:05] SubStack: when did that happen? [01:05] chjj: today [01:06] tuhoojabotti: What's amd? [01:06] SubStack: tuhoojabotti: it's a type of shed for storing bicycles [01:06] CrabDude has joined the channel [01:06] monokrome has joined the channel [01:06] chjj: https://github.com/joyent/node/commit/703a1ffe52b66972f38db19fb68e0f70c3dd2631 [01:06] tuhoojabotti: I thought it was a graphics card manufacturer :u [01:06] zzo: isaacs: is this what it's supposed to look like: https://gist.github.com/1115057 ? [01:06] isaacs: zzo: sure. [01:07] isaacs: zzo: check out `npm ls` [01:07] isaacs: zzo: that'll tell you which packages are where. [01:07] isaacs: zzo: note the complete lack of insane symlinky messes [01:07] tuhoojabotti: symlinky messes<3 [01:08] jerrysv has joined the channel [01:08] SubStack: isaacs: pow, closed this https://github.com/substack/node-browserify/issues/47 [01:08] tuhoojabotti: I see. [01:09] SubStack: that issue was the real reason I don't like define()! [01:09] tuhoojabotti: Well thanks for nothing guys. [01:09] SubStack: involves me having to do work [01:09] simenbrekken has joined the channel [01:09] SubStack: that plus it's ugly [01:09] zzo: isaacs: tar'ing & scp'ing that to another box & then trying npm install there I get: https://gist.github.com/1115063 [01:09] isaacs: zzo: that other box has npm 0.x? [01:09] isaacs: or 1.0? [01:10] cha0s has joined the channel [01:10] isaacs: zzo: the reason i ask is that this path is a bit odd: node_modules/jute/node_modules/.npm [01:10] __directory: what is CoApp? [01:11] ryah: http://coapp.org/ [01:11] criswell has joined the channel [01:12] stepheneb has joined the channel [01:12] __directory: ahh..no point in me making the windows installer i was gonna start in a few [01:13] amiller has joined the channel [01:15] [[zz]] has joined the channel [01:16] zzo: isaacs: thought i just installed 1.0 on it but 'npm ls' shows nothing [01:16] isaacs: zzo: npm ls -g [01:16] isaacs: (to show globally installed packages) [01:16] isaacs: zzo: or npm -v [01:16] isaacs: (to print version) [01:16] zzo: npm@1.0.22 [01:16] isaacs: ok, cool [01:17] isaacs: zzo: so, on that first machine, it might be good to just rm -rf the node_modules folder, and do `npm install` to start fresh [01:17] isaacs: zzo: it looks like there are some 0.x bundle remnants in there. [01:17] sounko has joined the channel [01:17] zzo: isaacs: k [01:18] isaacs: i gotta run. but if you run into more troubles, post to the npm mailing list or post a github issue. [01:19] sonnym has joined the channel [01:19] sounko has joined the channel [01:21] ParableTF2 has joined the channel [01:21] sonnym has joined the channel [01:22] Drakonite has joined the channel [01:22] CrabDude: just out of curiosity… anyone in here a script loader geek? [01:22] CrabDude: or a module geek? (Isaac not included) [01:22] SubStack: scrip loader? [01:22] SubStack: *script [01:23] __directory: I've loaded a script once or twice. [01:23] okuryu has joined the channel [01:24] halfhalo-work has joined the channel [01:24] SubStack: haha [01:25] SubStack: CrabDude: did you catch this? https://github.com/joyent/node/commit/703a1ffe52b66972f38db19fb68e0f70c3dd2631 [01:25] tuhoojabotti: I load scripts daily. [01:26] CrabDude: SubStack: haha, ya. Isaacs would've pushed his grandma out of the way to commit that ;P [01:26] tristanseifert has joined the channel [01:26] tuhoojabotti: You say he didn't? [01:26] tuhoojabotti: :u [01:27] CrabDude: ya, like script loading from the browser, AMD, module management etc… [01:27] tuhoojabotti: I made my first module today actually. [01:27] CrabDude: SubStack knows about what I'm working on [01:27] tuhoojabotti: extends node-mysql with my custom cache :P [01:27] CrabDude: he doesn't like it ;P [01:27] SubStack: one of these days I'll hack up that async require rewriter for browserify using burrito [01:27] SubStack: just you wait! [01:27] CrabDude: lol, that's just the API for my thing [01:27] tuhoojabotti: SubStack: You're like Google, utilizing your own stuff for stuff! [01:27] CrabDude: browser package manager is so much more than an async require [01:28] tuhoojabotti: goddamn it [01:28] SubStack: I'll probably made the require reorganizer its own module [01:28] tuhoojabotti: using your module maker module? [01:28] SubStack: so you could totally use it for your browser package thingy [01:29] SubStack: tuhoojabotti: orthogonality is pretty great like that [01:29] CIA-65: node: 03Paul Querna 07master * r5501a5a 10/ src/process_wrap.cc : Add stdlib include for free(), fixing build on linux after f01b241 - https://github.com/joyent/node/commit/5501a5a641e388855915f491130df7703bcbf107 [01:29] SubStack: also I probably NIH too much but whatevs [01:29] tuhoojabotti: I have no idea what you just said mate. [01:29] tuhoojabotti: But it's 4:30 here [01:30] CrabDude: SubStack: I think I may be able to use a fork of the node require internals to package packages (lol) [01:30] CrabDude: what would ur thing do? [01:31] CrabDude: did you see this? http://www.sitepen.com/blog/2011/07/29/git-linked-packages-for-npmnode/ I'm going to be able to tap into that for my package manager [01:33] SubStack: CrabDude: actually I could just use detective to figure out what the requires are and wrap each file in a function wrapper with require as a param such that the requires may be loaded asynchronously if not already loaded [01:33] SubStack: that's actually really simple to do [01:33] tuhoojabotti: That's just brilliant. [01:33] tuhoojabotti: But I didn't understand a word. [01:33] SubStack: the tricky part is just integrating dependency analysis into the async loader [01:34] SubStack: tuhoojabotti: http://github.com/substack/node-detective [01:34] tuhoojabotti: I know that. [01:34] tuhoojabotti: The repo without a pic :/ [01:34] SubStack: well I have ~100 non-fork repos so not all of them have pix [01:35] tuhoojabotti: I know [01:35] SubStack: detective totally should though! [01:35] SubStack: perhaps later tonight [01:35] tuhoojabotti: Yes. [01:35] tuhoojabotti: Definately. [01:35] tuhoojabotti: I have 2 non-fork repos and one of them has a pic! [01:36] CrabDude: SubStack: yes. the dependency management is the real killer combination. [01:36] tuhoojabotti: But it's missing the jellyfish :( [01:36] CrabDude: you should quit browserling and come work on bpm [01:36] CrabDude: :P [01:36] tuhoojabotti: What, who? [01:36] CrabDude: SubStack: [01:37] tuhoojabotti: Yeah. [01:37] CrabDude: that's you're day-job right? [01:38] tuhoojabotti: My day job ended yesterday [01:38] tuhoojabotti: Finally time for node<3 [01:38] weezle has joined the channel [01:38] SubStack: CrabDude: starting a company was hard enough, but I'll probably just write it anyways [01:39] SubStack: you folks can use it for whatevs, it'll just be MIT as usual [01:39] CrabDude: SubStack: ha. Is that successful? how's it going? Do you work on it everyday? [01:39] SubStack: yep [01:39] CrabDude: that's sweet [01:39] SubStack: just got 2 more paying customers today [01:39] infid has joined the channel [01:39] CrabDude: i'm jealous [01:39] CrabDude: you should hook me up with your VCs ;P [01:39] SubStack: well nowhere near profitable yet but enough to cover the server costs at least [01:40] SubStack: we just raised a small round from some angels [01:40] ceej has joined the channel [01:40] tuhoojabotti: Making money of programming, who would do that? [01:40] AvianFlu: ceasing the rapid hemorrhaging of cash that new startups experience is always the first step! [01:41] tristanseifert has joined the channel [01:41] SubStack: actually if we had 3x or 4x more customers we might be making enough to cover living expenses [01:41] SubStack: that seems totally doable [01:42] SubStack: it helps that pkrumins lives in latvia which is hella cheap [01:42] SubStack: and I'm in oakland which is like the latvia of the bay area respectively [01:42] tuhoojabotti: And I live in Finland [01:42] tuhoojabotti: Whee [01:42] SubStack: groovy [01:43] _skm: i heard chile can be a convenient location for bootstrapping a (node) startup [01:43] tuhoojabotti: http://dev.tuhoojabotti.com/api/easter This is groovy (takes long to load) [01:44] tuhoojabotti: _skm: But with node, you have nodes all over the globe [01:45] bartt has joined the channel [01:46] CrabDude: SubStack: lol. "latvia of the bay area" [01:53] kriszyp has joined the channel [01:55] tuhoojabotti: Hoho [01:55] tuhoojabotti: optimizing the svg reduced download time from 10 to 4 seconds :P [01:56] ohtogo has joined the channel [01:57] jerrysv has joined the channel [01:59] al3xnull has joined the channel [02:01] JustinCampbell has joined the channel [02:01] JustinCampbell: anyone here use express? [02:01] JustinCampbell: I'm having a mind boggling issue with serving static assets [02:01] JustinCampbell: as in, i can't get it to work [02:02] tuhoojabotti: I installed express yesterday [02:02] tuhoojabotti: tried it [02:02] __directory: really? [02:02] tuhoojabotti: not my cup of coffee. :P [02:02] CrabDude: JustinCampbell: lol, what's the deal? [02:02] monokrome has joined the channel [02:02] JustinCampbell: app.use(express.static(__dirname + '/public')); [02:03] JustinCampbell: i have a folder called public in my project root [02:03] JustinCampbell: ahhh [02:03] CrabDude: I've had issues with not being able to listen on the root route '/' b/c there was an index.html in my static folder [02:03] JustinCampbell: one sec [02:03] CrabDude: that's was fairly counter-intuitive to me [02:03] brian has joined the channel [02:03] JustinCampbell: haha [02:03] JustinCampbell: oh boy [02:03] CIA-65: libuv: 03Igor Zinkovsky 07windows-spawn * rd272a21 10/ (14 files in 5 dirs): Windows: spawn child processes - https://github.com/joyent/libuv/commit/d272a2183dd8e1f2b0fe6f23771bec883daf90a3 [02:03] JustinCampbell: so my app was in lib/ [02:03] __directory: i prefer whoooo boy, but ok. [02:03] CrabDude: basically, the static route listener takes precedence [02:04] JustinCampbell: just had to make it app.use(express.static(__dirname + '/../public')); [02:04] CrabDude: ahhh, nice. [02:04] SubStack: move the app.use(...) after the route for / [02:04] michaelhartau has joined the channel [02:04] JustinCampbell: I've been working on this for a half hour and all it took was for me to say out loud "project root" [02:04] AvianFlu_ has joined the channel [02:04] SubStack: order matters [02:05] matomesc has joined the channel [02:05] __directory: to do K&R ex 5-12 or not...hmm [02:07] CrabDude: SubStack: ha. so logical, yet… so completely beyond where my head was at when debugging the issue... [02:07] tuhoojabotti: Time to sleep [02:07] tuhoojabotti: nn you all [02:07] tuhoojabotti: It's 5 am :P [02:09] ttpva has joined the channel [02:15] jbrokc has joined the channel [02:15] rodasc has joined the channel [02:15] gde33|2 has joined the channel [02:15] dgathright_ has joined the channel [02:15] Gaunt has joined the channel [02:15] mnaser_ has joined the channel [02:15] s0enke` has joined the channel [02:15] kraft_ has joined the channel [02:16] LowValueTarget has joined the channel [02:17] LowValueTarget has joined the channel [02:17] zzo has joined the channel [02:17] Elems has joined the channel [02:17] smithworx has joined the channel [02:17] jcrls has joined the channel [02:17] hippich has joined the channel [02:17] androoid has joined the channel [02:17] er1c_ has joined the channel [02:17] elliottcable has joined the channel [02:17] traph has joined the channel [02:17] v8bot_ has joined the channel [02:17] Lorentz has joined the channel [02:17] Kami__ has joined the channel [02:17] CIA-65: libuv: 03Igor Zinkovsky 07master * rd272a21 10/ (14 files in 5 dirs): Windows: spawn child processes - https://github.com/joyent/libuv/commit/d272a2183dd8e1f2b0fe6f23771bec883daf90a3 [02:19] cl0udy has joined the channel [02:23] elliottcable has joined the channel [02:25] Twelve-60 has joined the channel [02:25] mwhooker_ has joined the channel [02:29] boehm has joined the channel [02:35] d0k has joined the channel [02:36] harthur has joined the channel [02:36] _jhs has joined the channel [02:36] _jhs has left the channel [02:39] scooter has joined the channel [02:39] bbrandon has joined the channel [02:39] ttpva has joined the channel [02:48] dexter_e has joined the channel [02:51] jroesslein has joined the channel [02:51] Swimming_bird has joined the channel [02:53] c_t has joined the channel [02:53] kriszyp has joined the channel [02:54] dexter_e has joined the channel [02:57] amiller has joined the channel [02:59] DTrejo has joined the channel [03:01] apalmer has joined the channel [03:02] scooter has left the channel [03:06] ryan[WIN] has joined the channel [03:10] zanes has joined the channel [03:12] DTrejo: anyone know how to update node version on a solaris machine? [03:12] DTrejo: traditional update instructions are broken [03:12] DTrejo: f [03:12] DTrejo: : /home/node/node/wscript:232: error: could not configure a cxx compiler! [03:13] escii: ahw same is on windows [03:13] brian has joined the channel [03:13] escii: but I think its easier to fix it on solaris, I guess its somehow related to your gcc version [03:13] DTrejo: hmm [03:13] DTrejo: wonder how I update that [03:14] DTrejo: I don't have gcc in my path... [03:14] DTrejo: :|| [03:14] escii: put it in? [03:14] escii: or you don't have a compiler at all on your box? [03:14] Nexxy: there's a joke there somewhere.... [03:15] escii: Nexxy, ? [03:15] Nexxy: nothing! :) [03:15] ryan[WIN] has joined the channel [03:16] bwinton has joined the channel [03:19] dherman has joined the channel [03:20] DTrejo: escii: this is a no.de machine [03:20] DTrejo: :| [03:20] DTrejo: hmm [03:21] ryah: DTrejo: you wait until i update it :( [03:21] ryah: sorry [03:21] DTrejo: SO SAD RIGHT NOW [03:21] DTrejo: trying to do a hackathon [03:21] DTrejo: and no.de is best because an actual set up git repo [03:21] ryah: pkgin install gcc42 [03:21] DTrejo: but can't update node, and can't run my programz [03:22] ryah: export PATH=/opt/local/gcc42/bin:$PATH [03:22] DTrejo: gcc42 is not available on the repository [03:22] ryah: ./configure; make install [03:22] ryah: pkgin search gcc [03:22] ryah: pkgin update first [03:22] DTrejo: k [03:22] ph^ has joined the channel [03:22] ryah: DTrejo: something like that... [03:22] ryah: i'll leave it to you to figure it out [03:22] DTrejo: arg, still no gcc [03:22] ryah: :) [03:23] DTrejo: in repo [03:23] DTrejo: even though it updated [03:23] hippich has joined the channel [03:23] DTrejo: gcc44-4.4.4 [03:23] DTrejo: that exists [03:23] DTrejo: ill try that [03:23] ryah: yeah do that [03:24] DTrejo: coming along, yay [03:24] DTrejo: :) [03:25] DTrejo: ryah: strangely, it won't download :| all the other packages downloaded [03:26] themiddleman has joined the channel [03:26] DTrejo: OOOH it started working [03:27] DTrejo: nvm [03:27] escii: hurray :) [03:28] AvianFlu: well done [03:31] fraserkillip has joined the channel [03:34] Kami_ has joined the channel [03:36] DTrejo: ryah: /home/node/node/wscript:360: error: Cannot find socket library [03:36] DTrejo: hmm [03:36] k1ttty has joined the channel [03:38] al3xnull has joined the channel [03:39] DTrejo: ryah: tried to configure --without-ssl and got this error: /home/node/node/wscript:360: error: Cannot find socket library [03:43] CStumph has joined the channel [03:45] al3xnull_ has joined the channel [03:46] aguynamedben has joined the channel [03:47] ryah: LD_LIBRARY_PATH=/opt/gcc44/lib:$LD_LIBRARY_PATH [03:47] ryah: sigh - all these little tricks one needs... [03:48] rmustacc: You should be changing crle if you're going to be compiling programs with that version of gcc. [03:48] DTrejo: trying now [03:49] DTrejo: still /home/node/node/wscript:360: error: Cannot find socket library when doing it with --without-ssl [03:49] DTrejo: and /home/node/node/wscript:341: error: Could not autodetect OpenSSL support. Make sure OpenSSL development packages are installed. Use configure --without-ssl to disable this message. otherwise [03:49] DTrejo: BTW: thanks a TON for the help ry + rm :) [03:50] rmustacc: What node version are you trying to get on there? [03:50] DTrejo: um, whatever is in tag 0.4 [03:50] DTrejo: so I guess 0.4.9 [03:51] rmustacc: Is that not there already? [03:51] DTrejo: I have a no.de machine from a while ago [03:51] DTrejo: can I just reimage my whole machine? [03:51] rmustacc: The other versions should be available. [03:51] DTrejo: somehow? [03:51] DTrejo: how would I access those? [03:51] rmustacc: No you can't. [03:51] rmustacc: One moment. [03:51] DTrejo: thank you :) [03:52] Spion_ has joined the channel [03:52] DTrejo: wonder if I should use this: http://groups.google.com/group/nodejs/browse_thread/thread/47680586592637f2/08b2a3f5c14b813a?lnk=gst&q=solaris#08b2a3f5c14b813a [03:53] rmustacc: No [03:53] brownies has joined the channel [03:53] DTrejo: ok [03:54] rmustacc: There are lots of node versions in /opt/nodejs [03:54] rmustacc: One second, let me recall how to change the symlink correctly. [03:54] DTrejo: OOH so beautiful [03:55] skm has joined the channel [03:55] rmustacc: If I recall correctly there's an automated way to do this. [03:57] Cromulent has joined the channel [03:57] DTrejo: (main reason I need to update it is so that I can install my npm packages) [03:57] rmustacc: Understandable. [03:57] DTrejo: config.json lets me change it, but doesn't solve my problem I don't think [03:58] galaxywatcher has joined the channel [03:58] DTrejo: this is 4.7, which is pretty good: /opt/nodejs/stable/bin/node [03:58] DTrejo: so I could just try changing my path [03:58] hippich has joined the channel [03:58] rmustacc: I'm assuming you want the git deploy model to work. [03:59] rmustacc: Give me a few minutes, confirming the best way to do this. [03:59] DTrejo: well yes [03:59] DTrejo: kk, thank you [03:59] al3xnull has joined the channel [04:00] rmustacc: Did you try adding { "version": "v0.4.7" }? [04:00] rmustacc: To the config.josn [04:00] rmustacc: Or really just do "v0.4" [04:01] DTrejo: hmm, trying that [04:01] ckknight: anyone know if Object.freeze works properly with arrays? [04:02] DTrejo: rmustacc: just pushed, still got an error, can't find module express [04:02] rmustacc: Well, is it installed? [04:02] DTrejo: so, maybe I can just install things with old version of npm and it will work [04:02] DTrejo: hmm [04:02] DTrejo: trying that [04:02] DTrejo: .3.18 version [04:02] DTrejo: of nvm [04:02] DTrejo: npm [04:03] rmustacc: http://wiki.joyent.com/display/node/Setting+the+Node.js+Version [04:03] DTrejo: yay! [04:03] al3xnull has joined the channel [04:04] DTrejo: YAYAYAYAYY [04:04] DTrejo: rmustacc: THANK YOUUUYUYUU [04:04] rmustacc: DTrejo: Thank Trent at Joyent, not me. [04:04] DTrejo: what is his twitter handle? [04:04] AvianFlu_ has joined the channel [04:05] rmustacc: @trentmick [04:06] DTrejo: :) [04:11] ra_ has joined the channel [04:12] bbrandon has joined the channel [04:12] al3xnull has joined the channel [04:13] wookiehangover has joined the channel [04:18] __directory: 12 node zombies using cluster, hmm [04:19] yozgrahame has joined the channel [04:20] skm has joined the channel [04:22] jakehow has joined the channel [04:22] al3xnull has joined the channel [04:25] skohorn has joined the channel [04:26] theCole has joined the channel [04:35] boxysean has joined the channel [04:35] CStumph has joined the channel [04:36] DTrejo: TIME TO FUCKING CODE: thank you ryah and rmustacc !!! v1 of our game: http://dtrejo.no.de:8000/ [04:39] tbranyen: css3pie was a cool experiment [04:39] tbranyen: not worth using in production imo [04:39] tbranyen: crap wrong channel [04:41] ohtogo has joined the channel [04:42] yept has joined the channel [04:45] zackattack has joined the channel [04:46] ryah: DTrejo: sick [04:46] ryah: this makes me want to make a game [04:46] DTrejo: I have madebyevan.com on my team :) [04:46] ryah: i forgot that webgl is so awesome [04:46] DTrejo: [04:47] tbranyen: ryah: bocoup recently started up an html5 gaming incubator [04:47] rmustacc: DTrejo: What browsers are supported? [04:47] ryah: oh if only i didn't have work to do! [04:47] DTrejo: rmustacc: no idea ehhe :) [04:47] opus_ has left the channel [04:47] DTrejo: chrome definitely [04:47] tbranyen: pffft work [04:48] ryah: http://www.khronos.org/webgl/wiki/Getting_a_WebGL_Implementation [04:48] ryah: firefox 4, chrome, safai [04:49] tbranyen: i'm an opera user myself [04:49] tbranyen: too bad opera linux :-/ [04:50] rmustacc: Weird, I'm seeing nothing on Firefox 5, but it's more likely a problem at my end. [04:50] tbranyen: rmustacc: good chance your driver is blacklisted [04:50] tbranyen: firefox did a shit job with whitelisting [04:51] rmustacc: I was under the impression the Nvidia drivers were about the only thing that was whitelisted. [04:52] tbranyen: heh wouldn't doubt it [04:52] tbranyen: chrome supports my intel gma [04:52] tbranyen: and it renders stuff pretty darn well [04:52] cha0s has joined the channel [04:52] tbranyen: firefox will not work [04:55] rurufufuss has joined the channel [04:58] tk has joined the channel [04:59] CStumph has joined the channel [05:03] rmustacc: DTrejo: For what it's worth, I'm getting a 404 on rock.png [05:04] rmustacc: And it looks like it doesn't lightgl.js doesn't like something on FF, but I wouldn't worry about it. [05:04] dexter_e has joined the channel [05:12] Ramosa has joined the channel [05:14] jtsnow has joined the channel [05:19] fr0stbyte has joined the channel [05:20] halfhalo-work has joined the channel [05:22] Spion has joined the channel [05:22] halfhalo has joined the channel [05:29] skamplr has joined the channel [05:30] captain_morgan has joined the channel [05:30] CStumph has joined the channel [05:31] wookiehang0ver has joined the channel [05:31] fr0stbyte has joined the channel [05:33] brownies has joined the channel [05:34] confoocious has joined the channel [05:34] confoocious has joined the channel [05:38] towski has joined the channel [05:42] hippich has joined the channel [05:43] cnu_ has joined the channel [05:46] bbrandon has joined the channel [05:47] k1ttty has joined the channel [05:49] pt_tr has joined the channel [05:51] CrabDude has joined the channel [06:04] mwhooker_ has joined the channel [06:04] seivan has joined the channel [06:05] rhdoenges has joined the channel [06:06] cha0s has joined the channel [06:06] cha0s has joined the channel [06:06] dgathright has joined the channel [06:06] herbySk has joined the channel [06:09] pkrumins: haha, oakland is latvia of the bay area [06:14] gozala has joined the channel [06:17] skm has joined the channel [06:21] seivan has joined the channel [06:22] eboyjr has joined the channel [06:23] catshirt has joined the channel [06:32] brownies has joined the channel [06:36] butu5 has joined the channel [06:37] fr0stbyte has joined the channel [06:51] Jakwac has joined the channel [06:55] puffpio has joined the channel [06:59] mwhooker_ has joined the channel [06:59] dguttman has joined the channel [06:59] Nexxy has joined the channel [07:01] dexter_e has joined the channel [07:03] andrewff1 has joined the channel [07:07] loob2 has joined the channel [07:19] butu5: anyone? [07:21] jesusabdullah: butu5: Yes? [07:21] jesusabdullah: er [07:21] jesusabdullah: butu5: Did you ask a question? [07:25] fr0stbyte has joined the channel [07:25] seivan has joined the channel [07:26] perezd has joined the channel [07:27] butu5: nope :) just wondering how come nodejs irc channel is so quit [07:27] butu5: :) [07:28] versicolor has joined the channel [07:31] cnu_ has joined the channel [07:31] jesusabdullah: Ah [07:31] jesusabdullah: butu5: It's just late, is all. If you come in here mid-day, pacific time, you'll find it's bustling! [07:32] skm has joined the channel [07:37] mscdex: ooh neat, there's a nodejs package for angstrom [07:37] mscdex: :-D [07:37] __tosh has joined the channel [07:37] jbrokc has joined the channel [07:38] versicolor has joined the channel [07:42] McMAGIC--Copy has joined the channel [07:47] jetienne: https://github.com/jeromeetienne/gowiththeflow.js/blob/master/gowiththeflow.js i got 22lines for a flow control. i would like to get 20lines. any idea [07:49] simenbrekken has joined the channel [07:52] michaelhartau has joined the channel [07:56] Ginlock has joined the channel [07:56] skm has joined the channel [08:00] sounko has joined the channel [08:01] scas_ has joined the channel [08:07] butu5 has joined the channel [08:08] youtubegirl has joined the channel [08:08] youtubegirl: Hi. I'm new to node.js. Is it appropriate for developing multiplayer games. My specific situation is explained at http://stackoverflow.com/questions/6881869/programming-a-multiplayer-game-with-a-php-mysql-server-and-javascript-jquery-cli [08:10] dexter_e has joined the channel [08:13] butu5 has joined the channel [08:13] Xano has joined the channel [08:15] jetienne: youtubegirl: dont change your server langauge just for that [08:16] youtubegirl: jetienne: Ok, so you recommend simply using PhP. Any other suggestions? [08:16] jetienne: youtubegirl: node.js is appropriate for multiplayer game. i did one http://buddymaze.com but mine is a fps. so latency is more important [08:16] jetienne: youtubegirl: use the langauge you are the more confortable with [08:16] boehm has joined the channel [08:17] youtubegirl: jetienne: I'm a beginner. I have to learn a suitable language from scratch. What do you recommend? [08:17] jetienne: youtubegirl: you dunno php ? [08:17] youtubegirl: jetienne: Just the basics. I'm not comfortable with it yet. [08:17] jetienne: oh ok [08:17] jetienne: youtubegirl: so the point is more which language to learn [08:17] mattp_ has joined the channel [08:18] jetienne: youtubegirl: i like node because this is javascript. you need to learn js already for the browser [08:18] youtubegirl: jetienne: Exactly. The advantage is that I already know js. [08:18] jetienne: youtubegirl: thus you reduce the amount of knowledge to learn. and become fluent in it :) [08:18] `3rdEden has joined the channel [08:19] youtubegirl: So do you think I could integrade node.js with MediaWiki? [08:20] jetienne: ? [08:20] jetienne: youtubegirl: no idea where the mediawiki is coming from [08:20] jetienne: ah ok reread your post [08:20] youtubegirl: jetienne: I'm trying to develop a Wikipedia game. [08:21] jetienne: yep node.js can read mediawiki content, just the same as php [08:24] staar2 has joined the channel [08:24] staar2: hello [08:24] staar2: well i can't get working the socket.io client side [08:25] staar2: how does socket.io.js included in html page ? [08:26] `3E|work: https://github.com/LearnBoost/Socket.IO/wiki/How-do-I-serve-the-client [08:27] ttpva has joined the channel [08:30] kjeldahl has joined the channel [08:31] Remoun has joined the channel [08:36] mehlah has joined the channel [08:38] stephank has joined the channel [08:42] benonsoftware has joined the channel [08:42] Marak has joined the channel [08:42] hojberg has joined the channel [08:45] zomgbie has joined the channel [08:45] benonsoftware: Hi all [08:45] jbpros has joined the channel [08:49] `3rdEden has joined the channel [08:54] poic has joined the channel [08:55] thalll has joined the channel [08:56] jbrokc has joined the channel [09:06] robhawkes has joined the channel [09:07] jbpros has joined the channel [09:08] fly-away has joined the channel [09:09] mikeal has joined the channel [09:09] Nexxy has joined the channel [09:10] jomoho3 has joined the channel [09:15] admc has joined the channel [09:16] rvb has joined the channel [09:24] fangel has joined the channel [09:25] jamescarr has joined the channel [09:25] jbrokc_ has joined the channel [09:26] meelash has joined the channel [09:26] jbrokc_ has joined the channel [09:32] CrabDude has joined the channel [09:34] svenlito has joined the channel [09:40] jhurliman has joined the channel [09:42] synkro has joined the channel [09:42] n2liquid has joined the channel [09:43] n2liquid: guys, do you think it would be cool to have a dlopen wrappers for node? [09:44] n2liquid: like libm = dlopen('libm.so'); cos = dlsym(libm, 'cos', { retn: 'double', args: ['double'] }); console.log(cos(2.5)); [09:45] n2liquid: it could be cool for fast prototyping [09:47] n2liquid: anyones [09:47] n2liquid: ? [09:49] jamescarr has joined the channel [09:50] Ans5i has joined the channel [09:51] mhausenblas has joined the channel [09:53] e6nian has joined the channel [09:54] samsonjs has joined the channel [09:54] sammmy has joined the channel [09:57] strcK has joined the channel [10:02] Metal3d has joined the channel [10:05] djcoin has joined the channel [10:06] fraserkillip has joined the channel [10:06] Nuck has joined the channel [10:08] andrewfff has joined the channel [10:12] liquidproof has joined the channel [10:13] mykul has joined the channel [10:13] pt_tr has joined the channel [10:16] yanek_ has joined the channel [10:16] yanek_: hi everyone [10:17] yanek_: enybody here? [10:20] guidocalvano has joined the channel [10:24] kjeldahl has joined the channel [10:24] jonaslund: n2liquid: it's all fun and games for simple ones like that [10:24] jonaslund: n2liquid: the "problems" start when you start adding pointers and structs,etc.. [10:25] jonaslund: and tbh alot of libs requiers more or less of that [10:25] SamuraiJack has joined the channel [10:25] n2liquid: jonaslund, yeah, but if you're the one writing the C library you can restrain yourself from using structs and stuff [10:26] weezle has joined the channel [10:26] n2liquid: I've managed to dlopen a library of mine and call sum(1, 2), but it's still an absurd hack I did just to try this out [10:27] pdelgallego has joined the channel [10:28] jonaslund: n2liquid: an interesting hack would be to integrate TCC i think [10:28] EyePulp has joined the channel [10:29] n2liquid: jonaslund, what's TCC? [10:29] jonaslund: Tiny C compiler [10:29] n2liquid: oh [10:29] jonaslund: It's a small self contained C compiler in a lib [10:30] n2liquid: I see.. yeah, that's definitely a good bet [10:30] n2liquid: it doesn't support C++ though, right? [10:30] jonaslund: nope [10:30] n2liquid: well, better that way, I think [10:30] jonaslund: Maybe CLang is embeddable ? [10:31] jonaslund: n2liquid: Anyhow, i'm working on a JS->C translator and i got a pretty good idea for a simple/quick native interface and it'd be cool to duplicate that API for node [10:31] jimt_ has joined the channel [10:31] n2liquid: jonaslund, did you note it down somewhere? I'm interested, but in a hurry [10:32] Swizec has joined the channel [10:33] admc has joined the channel [10:33] thalll has joined the channel [10:33] jonaslund: n2liquid: It's very simple [10:34] jonaslund: n2liquid: whizzter@gmail.com is my email [10:34] jonaslund: n2liquid: basically it's 2 main things [10:34] n2liquid: go ahead, I still have some time [10:34] fyskij has joined the channel [10:35] jonaslund: n2liquid: C.include("math.h"); var result=C.inline("float tmp=cos(${float}); ${return:tmp+1.f}", 0.123); [10:35] gg777 has joined the channel [10:36] CStumph has joined the channel [10:36] n2liquid: jonaslund, I see.. but I wish there was some faster way to call a function [10:36] jonaslund: n2liquid: C.include("printf("%s\n",${CSTR});","Hello world from JS str"); [10:37] jonaslund: n2liquid: well the trick here would be to compile and cache the snippets [10:37] n2liquid: yeap [10:37] n2liquid: but.. I dunno [10:37] pietern has joined the channel [10:37] n2liquid: I mean, that's cool for some cases [10:37] jonaslund: or you could do snippet=C.compile(...); and then snippet becomes a direct function reference [10:38] n2liquid: oh? [10:38] n2liquid: how does that work? [10:38] jonaslund: the main idea behind this interface is that you can let the C compiler handle all complex structs handling and not have to tweak that crap in your wrapper [10:38] n2liquid: yeah, sure [10:38] n2liquid: that's nice [10:38] n2liquid: but I don't think I understand the snippet example [10:39] n2liquid: can you pass arguments that way? [10:39] jonaslund: thing of C.include as using C.compile to make a function object that gets the arguments [10:39] jonaslund: so the snippet function wrapper would not need any lookup from the cache [10:39] jonaslund: the speed hit should be minimal [10:39] n2liquid: hm [10:39] butu5 has joined the channel [10:39] n2liquid: ok, but from what I see [10:40] n2liquid: the argumets are compiled into the snippet [10:40] n2liquid: or am I missing something? [10:40] jarek has joined the channel [10:40] jarek has joined the channel [10:41] jonaslund: snippet=C.compile("float tmp=cos(${float}); ${return:tmp+123}"); would be compile to the C function "float small(float _arg0) { float tmp=cos(_arg0); return tmp+123; }" [10:41] jonaslund: and expose it as a function that you could call as snippet(0.123) that returns a number [10:41] n2liquid: ahh, I see [10:41] n2liquid: wow, that's great [10:42] n2liquid: did you hack something up already? [10:42] christophsturm has joined the channel [10:42] jimt has joined the channel [10:42] jonaslund: Not yet, i'm working on a small JS->C static compiler and thought about how to build a decent native interface [10:43] n2liquid: hmm [10:43] jonaslund: and in my case i'll just detect these cases and dump these snippets in my code [10:43] n2liquid: and what about this static compiler? is it on Github? [10:43] jonaslund: nah, i've just completed the parser [10:44] jonaslund: i wrote a version in Java last year but i'm rewriting everything in JS now [10:44] n2liquid: aw, wish there was something I could watch for [10:44] n2liquid: hm [10:45] jonaslund: Actually, i think i should write a TCC version and release it myself :) [10:46] jonaslund: could help me prototype things for the thing i'm building [10:46] [AD]Turbo has joined the channel [10:46] n2liquid: it would be a nice tool, for sure [10:47] jonaslund: ah yeah, i missed on thing.. when you have return values you need to specify the return type to facilitate conversions [10:47] jonaslund: although it'd be interesting to support multiple return types [10:47] jonaslund: to match JS semantics [10:47] n2liquid: hm [10:47] jonaslund: I know there's a similiar perl binding [10:47] skm has joined the channel [10:48] fraserkillip has joined the channel [10:49] jonaslund: and people were praising it as something amazing.. so well it's not impossible :) [10:50] n2liquid: heh [10:51] fraserkillip: Hey, guys, im using readFileSync() and im getting the error: Unknown encoding. Is there a specific encoding that the file needs to be in? (its a .txt file btw) else why would i be getting the unknown encoding error? [10:52] jonaslund: n2liquid: the reason i came up with this is because i'm targeting iphone for this static compiler [10:53] jonaslund: n2liquid: and i was trying to figure out all these contrived examples on how to bind to objC classes [10:53] meelash has joined the channel [10:53] [AD]Turbo has joined the channel [10:54] H4ns` has joined the channel [10:56] n2liquid: well, I gotta go [10:56] kjeldahl has joined the channel [10:56] n2liquid: jonaslund, my email is n2.nitrogen@gmail.com; if you have anything to share, shoot me a message [10:56] n2liquid: see ya! [10:57] n2liquid: and as usual, good luck with your node projects :) [10:57] gg777 has joined the channel [10:57] n2liquid has joined the channel [11:02] __doc__ has joined the channel [11:03] delian66 has joined the channel [11:04] brownies has joined the channel [11:06] fraserkillip: fs.readFile(filename, [encoding], [callback]) , is [encoding] just a string like 'UTF8' ?? [11:08] Gooch has joined the channel [11:09] synkro_ has joined the channel [11:10] stagas has joined the channel [11:10] fraserkillip: `3rdEden ^^ please help :) [11:11] jbrokc has joined the channel [11:11] theCole has joined the channel [11:13] jarek has left the channel [11:15] skm has joined the channel [11:27] booo has joined the channel [11:33] delian66 has joined the channel [11:39] spytheman66 has left the channel [11:39] hlindset has joined the channel [11:39] jensn has joined the channel [11:39] hlindset has joined the channel [11:41] skohorn has joined the channel [11:44] dexter_e has joined the channel [11:45] jetienne: fraserkillip: yes [11:45] broofa has joined the channel [11:46] jetienne: http://nodejs.org/docs/v0.4.10/api/all.html#stream.setEncoding for example of encoding string [11:46] skohorn has joined the channel [11:46] jetienne: 'binary' too [11:51] Gabi_Purcaru has joined the channel [11:55] kriszyp has joined the channel [11:56] weezle has joined the channel [11:59] delian66 has joined the channel [12:00] CStumph has joined the channel [12:04] arnee has joined the channel [12:05] FireFly has joined the channel [12:09] [AD]Turbo has joined the channel [12:10] Ginlock has joined the channel [12:15] luke` has joined the channel [12:16] igl1 has joined the channel [12:17] bnoordhuis has joined the channel [12:19] pickels has joined the channel [12:20] willwhite has joined the channel [12:22] dexter_e has joined the channel [12:25] guidocalvano has joined the channel [12:26] skohorn has joined the channel [12:27] cnu_ has joined the channel [12:29] temp02 has joined the channel [12:34] topaxi has joined the channel [12:41] fyskij has joined the channel [12:43] jbpros has joined the channel [12:43] `3rdEden has joined the channel [12:45] Nexxy has joined the channel [12:46] whitman has joined the channel [12:50] guidocalvano has joined the channel [12:52] Udlei has joined the channel [12:58] bradleymeck has joined the channel [12:58] jamescarr has joined the channel [13:00] SuMarDi has joined the channel [13:00] maushu has joined the channel [13:00] skm has joined the channel [13:03] Raynos has joined the channel [13:04] Raynos: https://github.com/joyent/node/commit/703a1ffe52b66972f38db19fb68e0f70c3dd2631 [13:04] Raynos: Why did the AMD support get removed? [13:04] Raynos: I guess I have to read nodejs-dev [13:05] bnoordhuis: Raynos: yes - there's an interminably long thread on amd support [13:06] bnoordhuis: several, actually [13:08] Sami_ZzZ___ has joined the channel [13:09] dherman has joined the channel [13:13] threecreepio has joined the channel [13:14] newy has joined the channel [13:14] Remoun has joined the channel [13:15] Sorella has joined the channel [13:19] dexter_e has joined the channel [13:19] c4milo1 has joined the channel [13:20] cnu_ has joined the channel [13:21] jamescarr has joined the channel [13:23] skm has joined the channel [13:24] CStumph has joined the channel [13:25] Remoun has joined the channel [13:28] Gabi_Purcaru has left the channel [13:28] bosphorus has joined the channel [13:29] japj has joined the channel [13:29] bosphorus has joined the channel [13:30] Raynos: bnoordhuis: I've read the thread and it makes sense [13:33] markwubben has joined the channel [13:36] CStumph has joined the channel [13:37] andrewfff has joined the channel [13:38] cl0udy has joined the channel [13:39] ceej has joined the channel [13:39] cl0udy: heya [13:39] cl0udy: whats express params for? [13:39] jensn has joined the channel [13:39] christopherdb has joined the channel [13:40] jamescarr has joined the channel [13:42] telemachus: That's a trick question, right? [13:42] telemachus: cl0udy: Maybe start here http://expressjs.com/guide.html#routing [13:43] j0nii has joined the channel [13:43] cl0udy: https://github.com/visionmedia/express-params [13:43] telemachus: Yup, I knew it was a trick :) [13:43] cl0udy: lol [13:43] cl0udy: thanks telemachus [13:44] telemachus: No worries. I don't know express-params the lib. Sorry. [13:44] cl0udy: thats third party [13:44] cl0udy: do u use express-resource? [13:44] cl0udy: or express-namespace? [13:45] telemachus: I've used express-resource a bit [13:46] cl0udy: im just wondering whats the diff [13:46] jbpros_ has joined the channel [13:46] cl0udy: one supports namespace [13:48] Aria has joined the channel [13:48] jbpros has joined the channel [13:52] mendel_ has joined the channel [13:57] maushu has joined the channel [13:59] cl0udy: anyone wanna join me on a web app project? [13:59] cl0udy: pm me if u hv time so i can give more details [13:59] theCole has joined the channel [14:00] mscdex: that's vague ;-) [14:02] Cromulent has joined the channel [14:03] smizo has joined the channel [14:04] shanebo has joined the channel [14:05] cl0udy: well if anyone is interested just pm me so i can explain further [14:08] Corren has joined the channel [14:08] Sami_ZzZ____ has joined the channel [14:10] gg777 has joined the channel [14:10] skm has joined the channel [14:11] patachou__ has joined the channel [14:12] jbpros has joined the channel [14:12] Xano has joined the channel [14:13] confoocious has joined the channel [14:14] CStumph has joined the channel [14:14] xfbs2 has joined the channel [14:14] xfbs2: hello [14:16] kriss has joined the channel [14:18] Nexxy has joined the channel [14:18] necrodearia has joined the channel [14:20] _jhs has joined the channel [14:20] cnu_ has joined the channel [14:20] bnoordhuis: v8: (function(v,p){return m=Math.pow(10,p),''+(v=5+~~(v*m*10),v-=v%10,v/=10,~~(v/m))+'.'+(''+v).slice(-p)})(123.456, 2) [14:20] v8bot_: bnoordhuis: "123.46" [14:21] bnoordhuis: v8: (function(v,p){return m=Math.pow(10,p),''+(v=5+~~(v*m*10),v-=v%10,v/=10,~~(v/m))+'.'+(''+v).slice(-p)})(123.999, 2) [14:21] v8bot_: bnoordhuis: "124.00" [14:21] bnoordhuis: aight [14:22] jamescarr has joined the channel [14:22] chjj: so glad we got the regular v8 bot back [14:22] newy has joined the channel [14:24] unlink has joined the channel [14:24] unlink has joined the channel [14:25] stagas has joined the channel [14:27] japj: v8: help [14:27] v8bot_: japj: ReferenceError: help is not defined [14:27] japj: lol [14:27] japj: v8: console.log('ouch') [14:27] v8bot_: japj: CONSOLE: ["ouch"], OUTPUT: undefined [14:27] tuhoojabotti: :O [14:28] tuhoojabotti: that's new [14:29] japj: v8: process.execPath [14:29] v8bot_: japj: ReferenceError: process is not defined [14:29] kraft has joined the channel [14:29] japj: that seems good, hopefully it is fairly robust against abuse ;) [14:30] indutny: ryah: pquerna: https://github.com/joyent/node/pull/1426 [14:30] indutny: ping [14:30] indutny: ;) [14:34] pigmej has joined the channel [14:34] pigmej: hey [14:35] bnoordhuis: "80% (if not more) of the call centre staff are outsourced to Indian call centres. This immediately creates a language barrier, particularly with anyone from Scotland as the outsourced staff can't understand the accent." [14:36] bnoordhuis: not just the indians [14:39] ohtogo has joined the channel [14:39] Xano has joined the channel [14:42] tar_ has joined the channel [14:43] Cromulent has joined the channel [14:47] aconbere has joined the channel [14:48] zomgbie has joined the channel [14:49] necrodearia has joined the channel [14:50] kriszyp has joined the channel [14:50] d0k has joined the channel [14:52] rjd has joined the channel [14:53] jbrokc has joined the channel [14:53] arnee has joined the channel [14:54] pigmej: I think I hit bug in http requests [14:54] pigmej: client requests [14:55] pigmej: When the server will close connection first [14:55] pigmej: node is ignoring callbacks [14:55] sriley: dont suppose in express there is a notion of a component/module? like a partial but i dont want to pass in the data to it, i want it to have its own logic like it was a seperate request but then rendered in the parent request [14:56] pigmej: I suppose that it even don't emits events about that connection [14:56] tar_ has joined the channel [14:57] CIA-65: node: 03koichik 07master * rd3d8f1b 10/ (lib/util.js test/simple/test-util-format.js): [14:57] CIA-65: node: Add %% escape to util.format() [14:57] CIA-65: node: Fixes #1273. - https://github.com/joyent/node/commit/d3d8f1b972e1fb99916b32647609ad58f6c16fd9 [14:57] bnoordhuis: pigmej: what events are you listening for? [14:57] pigmej: bnoordhuis: well [14:57] pigmej: everything works perfectly [14:57] pigmej: without keep-alive [14:57] rjd: I am trying to install nodejs on my bluehost server and am running into some issues. I am following this (http://rcrisman.net/article/10/installing-nodejs-on-hostmonster-bluehost-accounts) and cant seem to get the ./configure -prefix=/home/username/node command to run properly. I get an error saying waf-light: error: no such option: -r [14:58] pigmej: bnoordhuis: I'm listening for 'err'r [14:58] pigmej: 'error' [14:58] pigmej: and 'response' [14:58] jetienne: https://twitter.com/#!/kurzxfxabp7/status/97319424813576195 my spammers are cutter than yours :) [14:58] pigmej: in response I'm listening for 'data', and 'end' [14:58] al3xnull has joined the channel [14:58] butu5 has joined the channel [14:58] kraft has joined the channel [14:58] bnoordhuis: pigmej: do you see 'aborted' or 'close' events? [14:59] rjd: I have python 2.4.3 on my server [14:59] bnoordhuis: rjd: you probably need python >= 2.5.2 [15:00] pigmej: bnoordhuis: "If any error is encountered during the request (be that with DNS resolution, TCP level errors, or actual HTTP parse errors) an'error' event is emitted on the returned request object." [15:00] pigmej: from docs [15:00] pigmej: So no I don't see the 'close' and 'aborted' [15:00] pigmej: because I'm talking about client request [15:00] pigmej: not server one [15:01] davidvanleeuwen has joined the channel [15:01] bnoordhuis: pigmej: don't assume the docs are complete or correct :) [15:01] pigmej: bnoordhuis: so.. what are complete http.request [15:01] pigmej: events.. [15:01] pigmej: aborted + close you say? [15:01] pigmej: closed* [15:01] bnoordhuis: pigmej: close [15:02] pigmej: what params does it send to me back? [15:02] pigmej: reason ? [15:02] bnoordhuis: no, nothing [15:03] mapleman has joined the channel [15:03] pigmej: bnoordhuis: doesn't work [15:04] pigmej: req.on('close', function()... [15:04] pigmej: is not fired also [15:05] diegoviola has joined the channel [15:05] pquerna: indutny: https://github.com/apache/httpd/blob/trunk/modules/ssl/ssl_engine_kernel.c#L2162 [15:05] bnoordhuis: pigmej: https://gist.github.com/1114958 <- use the log_events() function to trace events [15:06] meandi has joined the channel [15:06] pigmej: bnoordhuis: how to use it? [15:06] indutny: pquerna: one sec [15:06] pigmej: I'm geenerally pretty sure that it's a bug in node [15:07] bnoordhuis: pigmej: bugs in node? unthinkable! [15:07] bnoordhuis: pigmej: log_events(req_obj); [15:07] pquerna: indutny: regex needs to be case insensitive too i think is the other change [15:07] indutny: pquerna: ah, yeah [15:08] bnoordhuis: off to dinner, biab [15:08] chjj: ugh, i hate openid [15:08] indutny: pquerna: I've idea of one matcher... I'll try to implement it today. [15:08] chjj: wheres a node openid module, i wanna set up my own openid provider, just for me [15:09] pigmej: bnoordhuis: I still don't get how it should work [15:09] markwubben has joined the channel [15:09] pquerna: indutny: yeah, just thinking, maybe the high level api shouldn't even take a hostname as input -- maybe it should just take a securecontext, and introspect the cert completely itself? [15:09] indutny: hm... [15:10] indutny: pquerna: that's interesting [15:10] indutny: pquerna: but I'm not specialist in all that SSL stuff :D [15:10] indutny: to be honest [15:10] indutny: heh [15:10] pquerna: says the guy who... heh [15:10] indutny: yep [15:10] indutny: just wrapping openssl methods, you know [15:10] pquerna: i can help, i just did this in selene last week [15:10] indutny: ah, cool :) [15:11] indutny: I think that what I need is a method of extracting this info from cert [15:11] indutny: hostname [15:11] indutny: oh, btw [15:11] pquerna: https://github.com/pquerna/selene/blob/master/lib/core/certs.c#L445 [15:11] pquerna: extracts em [15:12] skm has joined the channel [15:12] indutny: I forgot to pull hostname from https.request [15:12] indutny: for SNI [15:12] pigmej: ok, none of events is emitted [15:12] pigmej: where I can report a bug ? [15:12] pquerna: yeah, there is an 'attack' of sending one value in the SNI, and another value in the Host: header [15:13] meandi2 has joined the channel [15:13] pquerna: i'm not sure its a 'core' thing in node, since http doens't really do vhosts [15:13] pquerna: maybe its just somehting someone who makes the vhost npm module should worry about :) [15:13] indutny: pquerna: hehe :) [15:14] indutny: this is not a real attack [15:14] rjd: @bnoordhuis - I updated to python 2.5.2 and get the following error when running the ./configure line , error: No such command '\xe2\x80\x94prefix=/home/USERNAME/node' [15:14] indutny: and vhost module owner should really care about it [15:14] rjd: I have USERNAME set correctly too [15:14] indutny: because any client could pass different headers [15:14] indutny: pquerna: this is just for making https.request simplier [15:14] pigmej: anyone? [15:14] hij1nx has joined the channel [15:15] indutny: pquerna: btw, should https server get hostname from SNI info? (and replace it in headers) [15:15] pquerna: no, i think it should just be available [15:16] japj: pigmej: https://github.com/joyent/node/issues [15:16] kdng-tr7 has joined the channel [15:16] japj: pigmej: you might want to search if it is already known or not [15:17] indutny: pquerna: ok [15:17] pigmej: japj: searching [15:18] indutny: pquerna: updated pull request, should be available soon [15:18] ohtogo has joined the channel [15:19] tomtomaso has joined the channel [15:19] indutny: pquerna: tls.connect is using hostname as servername if none was passed in options [15:19] jbpros has joined the channel [15:19] indutny: pquerna: I think it's correct behaviour [15:20] pquerna: +1 [15:23] brianseeders has joined the channel [15:24] indutny: ok [15:25] gazumps has joined the channel [15:28] indutny: pquerna: still not getting this altnames features [15:29] indutny: heh [15:29] jbrokc has joined the channel [15:29] indutny: pquerna: what's it for? is it allowing multiple different domain names for one SSL certificate? [15:30] Swizec has joined the channel [15:31] pquerna: yes [15:31] pquerna: some people use it because SNI is sitll uncommon/doesn't work [15:31] pquerna: but this is more widespread/supported [15:31] pquerna: a simple, somewhat more common example [15:32] pquerna: is having www.example.com and www.exmaple.de [15:32] pquerna: on one cert [15:32] pquerna: something that is impossible even with wildcard [15:34] pquerna: http://langui.sh/2009/02/27/creating-a-subjectaltname-sanucc-csr/ [15:36] yept has joined the channel [15:37] towski has joined the channel [15:39] captain_morgan has joined the channel [15:41] butu5 has joined the channel [15:42] indutny: wow [15:42] indutny: interesting [15:42] butu5: Trying to install nodeV0.4.10 on ubuntu10.10...error in make install "Could not install the file '/usr/local/include/node/eio.h'" [15:42] indutny: but SNI servers quite different purpose [15:42] dexter_e has joined the channel [15:43] indutny: butu5: try installing locally or sudo make install [15:43] zomgbie has joined the channel [15:43] butu5: idutny: thanks sudo worked well.... but the error didn't say anything about permission issue? [15:44] butu5: node -v [15:44] butu5: sorry! [15:45] indutny: np [15:46] kuya_ has joined the channel [15:47] jbrokc has joined the channel [15:48] CrabDude has joined the channel [15:48] indutny: so finally [15:48] indutny: pquerna: check CN, check altNames, checkwildcards [15:48] indutny: right? [15:49] butu5: some time in after my mongoose call... callback never called.. may be some error. [15:49] butu5: problem is: I am not getting any error message on console.. and client is keep on reloading [15:50] matt_taylor has joined the channel [15:52] d0k_ has joined the channel [15:52] Spion has joined the channel [15:53] indutny: pquerna: ping? [15:54] jshaw has joined the channel [15:55] butu5 has joined the channel [15:55] jshaw: i just loaded node onto a debian linux box, and node isn't picking up on the node_modules at the global scope, or in $HOME [15:55] jshaw: it works fine on my mac [15:56] newy has joined the channel [15:57] Sorella has joined the channel [15:57] agnat has joined the channel [15:59] d0k has joined the channel [16:02] skohorn has joined the channel [16:02] butu5 has joined the channel [16:03] tek has joined the channel [16:05] kmiyashiro has joined the channel [16:08] meelash has joined the channel [16:09] alnewkirk-hiring has joined the channel [16:11] fairwinds has joined the channel [16:12] SamuraiJack has joined the channel [16:13] dgathright has joined the channel [16:15] pquerna: indutny: pong [16:15] pquerna: indutny: alt names can be a wildcard too i think. [16:15] pquerna: so, array of CN + alt names -> regex, any match -> use that cert? [16:15] StepanKuzmin has joined the channel [16:15] dexter_e has joined the channel [16:16] newy has joined the channel [16:19] indutny: pquerna: hm.. I'm going to kick off regexps [16:19] indutny: and use hashmap [16:19] indutny: it's much faster [16:19] konobi: pquerna: no... the cert is still always the same one [16:19] konobi: it's just that the cert can have altnames, which the browser uses to validate [16:20] konobi: then it just comes through as normal [16:20] chapel: if you use vim, what plugins and/or themes do you run with for node and javascript? [16:22] indutny: chapel: https://github.com/indutny/linux-conf [16:22] konobi: pquerna: or are you talking about altnames atop SNI [16:22] indutny: konobi: I think yes [16:22] pquerna: yup [16:23] konobi: so you're wanting to check the certs for altnames, then do the sni routing based on the host coming in? [16:23] pickels has joined the channel [16:23] rmustacc: chapel: None. I just use the basic vim and have it set up to do style the same as I do for C. [16:23] chapel: ah [16:25] rmustacc: Oh, I guess the one thing I do use is cscope. [16:25] rmustacc: It works well enough for JavaScript, surprisingly. [16:25] slifty_ has joined the channel [16:26] xerox: is there such a thing as the Chrome javascript console ... for node? [16:26] xerox: I think I was something like that in the past, probably related to debugging, any indications [16:26] chapel: xerox: you mean console.log? [16:26] chapel: or a repl? [16:27] konobi: indutny: that seems a _little_ dangerous to me, to try to do automagically [16:27] pickels_ has joined the channel [16:27] indutny: pquerna: what do you think? [16:27] xerox: chapel: console.log is an example indeed, when you do that in the chrome javascript console you get the nice toggle on each of the object's keys [16:27] xerox: chapel: so yes I mean the REPL [16:28] chapel: well you don't get the same look [16:28] chapel: but you can output to console, doing console.log [16:28] chapel: or console.dir [16:28] xerox: that I know [16:28] chapel: console.error [16:28] pquerna: konobi: i'm not sure what you mean by dangerous [16:28] konobi: indutny: on normal domains it'd be fine, but when you're attempting to do ssl on sub-domains or sub-sub-domains, you get into issues of issuing authority [16:28] chapel: the only thing I know that is chrome like is cloud9 xerox [16:28] kriszyp has joined the channel [16:28] rmustacc: xerox: There is nothing like that built in. [16:29] kmiyashiro has joined the channel [16:29] xerox: I'll take it even if it is not built in : ) [16:29] Bonuspunkt: xerox node-inspector ? [16:29] rmustacc: But you can simulate most of getting the full variable scope via util.inspect. [16:29] xerox: Bonuspunkt: looking [16:29] konobi: pquerna: there's some interesting hacks that you can achieve if you're running on a sub-domain... especially if there's a wildcard cert around [16:29] rmustacc: Albeit, you're not going to get the nice presentation built into the repl. [16:30] V1 has joined the channel [16:31] rmustacc: Later folks. [16:31] rmustacc has left the channel [16:31] systemfault has joined the channel [16:31] systemfault has joined the channel [16:31] konobi: pquerna: I go to www.foo.com which has a *.foo.com wildcard cert, but then you go to mycrazyhack.foo.com, the SSL cert is still valid for that, and now you can screw with the cookies for www.foo.com and other redirection nasties [16:32] konobi: indutny: that make any sense? [16:32] pquerna: no, not really [16:32] pquerna: if mycrazyhack.example.com is hosted on the same node server [16:32] jbpros has joined the channel [16:32] xerox: Bonuspunkt: that looks awesome [16:33] Bonuspunkt: :) [16:33] booo has joined the channel [16:33] konobi: pquerna: which cert would get served for it? [16:33] konobi: (especially if it doesn't have a direct SSL cert for mycrazyhack.com) [16:33] skampler has joined the channel [16:33] konobi: um... example.com [16:33] konobi: it'd fall back to the wildcard [16:34] slifty_ has joined the channel [16:34] pquerna: can we start with [16:34] pquerna: what certs are you suggesting are loaded into node [16:34] pquerna: CN: *.foo.com subjectAltNames: [] [16:34] pquerna: ? [16:35] konobi: ignore the altnames as part of the lookup and just lookup host to cert file directly [16:35] dexter_e has joined the channel [16:36] DTrejo has joined the channel [16:36] yhahn has joined the channel [16:37] clifton has joined the channel [16:38] konobi: (ie: be explicit) [16:38] isaacs has joined the channel [16:38] dguttman has joined the channel [16:39] pquerna: https://gist.github.com/d94b8d45e681755860e5 [16:39] pquerna: can you explain which match you are suggesting the default function should not do? [16:40] Xano has joined the channel [16:41] konobi: pquerna: 0 matching [16:41] indutny: konobi: ? [16:41] konobi: [host1.com *.host.com foo.host.com] -> cert.pem [16:41] chapel: indutny: you mind sharing a screenshot of what solarized looks like for you with node javascript? [16:42] chapel: it feels a bit plain for a lot of text [16:42] indutny: chapel: I'm using console version of vim [16:42] mpavel has joined the channel [16:42] chapel: oh [16:42] mpavel has left the channel [16:42] indutny: chapel: that's only for gvim [16:42] mpavel has joined the channel [16:42] chapel: I use macvim, but yeah gvim [16:42] konobi: indutny: so SNI is mapped to a cert file... don't even bother looking at the contents [16:42] chapel: thanks though :) [16:43] jbc22 has joined the channel [16:44] stephank has joined the channel [16:44] pquerna: not introspecting the certificate seems non-helpful. for a default high level interface... looking at the CN+subjectAltNames seems a million times more battery included and the most common configuration people would want. [16:44] pquerna: (this is the high level interface, you can still make your own SNI callback to do custom logic if you wanted) [16:45] tekky has joined the channel [16:45] konobi: pquerna: I can discuss at more length with ryan and our in house security guy... but i would think it would be a similar conclusion [16:46] pquerna: the results of the selection are available to the user too; there are lots of other things you'll want to do on https server anyways [16:46] pquerna: like matching the Host: header [16:46] konobi: sure... but is it the correct user, or the correct app? [16:46] pquerna: (there are old attachs, like in a keep-alived connection, first request for Vhost A with ssl cert A, second request on vhost B) [16:47] pquerna: should we talk about this on nodejs-dev? [16:47] bnoordhuis: ^ yes [16:48] konobi: yup, though i'm not subscribed right now [16:48] konobi: i can follow up with isaacs though [16:48] pquerna: i'll start a thread [16:48] konobi: isaacs: ping? [16:48] isaacs: yo [16:48] isaacs: only here for a minute, what's up? [16:48] konobi: isaacs: prospective BDFL input required on SNI stuff [16:49] isaacs: you should talk to ryah, then [16:49] konobi: paul's going to mail the list [16:49] konobi: isaacs: probably also good to get mcavage in on it too [16:49] isaacs: great [16:49] ecin has joined the channel [16:50] konobi: ACTION has to dash right now... =0/ [16:52] butu5 has joined the channel [16:52] arnee has joined the channel [16:55] muhqu has joined the channel [16:58] pquerna: Subject: TLS SNI to Certificate Mapping [17:00] meandi has joined the channel [17:01] DTrejo has joined the channel [17:02] zackattack has joined the channel [17:02] hdon- has joined the channel [17:02] konobi: pquerna: thanks... sent an email to some folks [17:03] unlink has joined the channel [17:03] unlink has joined the channel [17:03] temp02 has joined the channel [17:03] replore_ has joined the channel [17:09] jarek has joined the channel [17:09] jarek has joined the channel [17:09] fs_ has joined the channel [17:15] harthur has joined the channel [17:16] soapy_illusions has joined the channel [17:16] Stythys has joined the channel [17:17] indutny: pquerna: sorry I been afk for a while [17:17] indutny: pquerna: can we pull my doc request [17:17] indutny: pquerna: lgtm [17:19] michaelhartau has joined the channel [17:23] indutny: pquerna: ping? [17:29] Guest47600 has joined the channel [17:29] jbpros has joined the channel [17:30] guidocalvano has joined the channel [17:32] fairwinds has joined the channel [17:35] soapy_illusions has left the channel [17:37] jbrokc has joined the channel [17:37] NegativeK has joined the channel [17:38] butu5 has joined the channel [17:39] gg777 has joined the channel [17:39] topaxi_ has joined the channel [17:41] thalll has joined the channel [17:43] boaz has joined the channel [17:46] meomic has joined the channel [17:49] mehlah has joined the channel [17:49] zanes has joined the channel [17:49] rfay has joined the channel [17:50] ralphholzmann: Heyo, so I've been running my fairly high traffic app overnight and I keep waking up to an error saying '(node) Hit max file limit. Increase "ulimit -n"' [17:50] mehlah has joined the channel [17:50] ralphholzmann: then my server goes like this: http://grabs.ralphholzmann.com/1o.png [17:50] ralphholzmann: until I restart the node process [17:50] ralphholzmann: I increased my ulimit to 51200, and its still happening :( [17:54] blueadept has joined the channel [17:54] jetienne: ralphholzmann: super long gc ? :) [17:55] jetienne: ralphholzmann: ok most likely you got a file which isnt closed, find where [17:55] jetienne: ralphholzmann: /proc will help you to know which file are open. [17:55] ralphholzmann: jetienne: :) thanks, will take a look [17:55] CIA-65: libuv: 03Igor Zinkovsky 07master * r3e6611a 10/ test/test-spawn.c : more output - https://github.com/joyent/libuv/commit/3e6611a693e29a09c0211d905a5836027b68868c [17:55] CIA-65: libuv: 03Igor Zinkovsky 07master * r1d6117a 10/ src/win/process.c : windows: set mode for child pipe handle - https://github.com/joyent/libuv/commit/1d6117a89bf08de8b80febdd8637e9a119aabefa [17:56] jetienne: ralphholzmann: do a cron which dump /proc/pid/fd into a file every min [17:56] jetienne: ralphholzmann: you will get data for further study [17:57] ralphholzmann: jetienne: thanks so much, I'll take a look [18:04] samsonjs has joined the channel [18:06] hojberg has joined the channel [18:07] blueadept: is there a way to do a $push on a update with mongoose? [18:08] zomgbie has joined the channel [18:08] gozala has joined the channel [18:09] butu5: anybody used connect-mongodb for session store and mongoose in same app.. how to use mongoose db connection in connect-mongodb? [18:10] dguttman has joined the channel [18:11] spetrea_ has joined the channel [18:11] butu5 has joined the channel [18:13] jmoyers has joined the channel [18:13] indutny: pquerna: yt? [18:15] blup has joined the channel [18:17] pquerna: heading out; I'll try to merge the docs in 4-5 hours prolly [18:18] indutny: щл [18:18] indutny: ok [18:18] indutny: thank you [18:20] TheJH_phone has joined the channel [18:25] Dreamer3 has joined the channel [18:26] meelash has joined the channel [18:26] skm has joined the channel [18:28] brianseeders has joined the channel [18:31] jshaw has joined the channel [18:31] admc has joined the channel [18:32] wookiehangover has joined the channel [18:34] mbrevoort has joined the channel [18:34] RORgasm has joined the channel [18:34] kriszyp has joined the channel [18:34] galaxywatcher has joined the channel [18:34] galaxywatcher has joined the channel [18:35] Chani: hmm. [18:35] Cromulent has joined the channel [18:35] Chani: I have a closure, with a bunch of functions, one of which is long and complicated. [18:36] Cromulent has joined the channel [18:36] Chani: in another file I have another closure, with functions, and many same-named variables, and I'm going to need a function almost exactly like the long and complicated one iin the other file. [18:36] Chani: I might be lazy and copy&paste the function (it's for school so it doesn't have to be maintainable) but is there a more elegant way? [18:37] bayousoft has joined the channel [18:38] jesusabdullah: var fxn = require('common-function'); perhaps? [18:38] Chani: I suppose I could put the function in another file, and pass in all the important variables, but that might be a lot of parameters so I dunno if it'd be elegant... [18:38] jesusabdullah: What you have to do is find a way to factor out all the common stuff and input the *uncommon* stuff as arguments [18:39] Chani: jesusabdullah: there's a lot of common state it reads and writes [18:39] jesusabdullah: How similar are the parameters? [18:39] gg777 has joined the channel [18:39] Chani: including lock vars [18:39] jesusabdullah: I guess my approach would be to pass an object literal as the argument [18:39] arnee has joined the channel [18:39] jesusabdullah: and then use those values, but with defaults in case you don't specify them [18:39] Chani: ACTION is still not 100% sure about when js copies data vs passing a reference [18:40] jesusabdullah: I don't think there are any particular gotchas here [18:40] jesusabdullah: that I can think of [18:40] jesusabdullah: shouldn't be too hard to implement [18:41] jesusabdullah: Oh, do you need to access global state? [18:41] jesusabdullah: You said something about a lock [18:41] Chani: um, yes, that part about all the vars... :) [18:41] zackattack has joined the channel [18:41] Chani: although 90% of my common state is in an object called state already. [18:41] DTrejo: ryah: you will like my hack, ye shall see soon :) [18:41] DTrejo: *our [18:41] jesusabdullah: hmm [18:41] Chani: now that the startup code is in a separate file :) [18:42] shanez_ has joined the channel [18:42] jesusabdullah: Yeah, that makes it harder [18:42] Chani: yeah, so I have to be extra special suire that anything passed in is a reference, not a copy [18:42] tbranyen: Chani: all arrays objects and functions are single values that are only equal to themselves if you pass them to anything else they are always modifying the same value [18:42] tbranyen: its pretty easy :) [18:44] Chani: tbranyen: see, I thought it was easy, but then I discover if I have foo.data = [ array of stuff] ; bar.data = foo.data; delete foo.data; then bar.data still exists [18:44] Chani: although I should reread precisely what 'delete' does [18:44] tbranyen: Chani: like i said, there is only one value and you're assigning that same value to two different properties [18:44] tbranyen: just because you delete one, won't affect the other [18:45] tbranyen: if you deleted the other one too, gc would then clean up [18:45] Chani: o.0 [18:45] tbranyen: delete literally removes the property, it does more than just assigning undefined [18:45] Chani: so... delete just... basically sets foo.data to null? [18:45] tbranyen: no [18:45] Chani: ohhh [18:45] Chani: huh [18:45] Chani: neat :) [18:46] tbranyen: a = { b: "hello" }; a.b = undefined logs { b: undefined } if you do delete a.b it will log {} [18:46] tbranyen: very useful [18:46] Chani: thanks :) [18:46] tbranyen: np [18:47] Chani: k, boy is dragging me to the beach now. ;) [18:47] blueadept: is there a way to do a $push on a update with mongoose? [18:47] Chani: homework can wait [18:47] tbranyen: boytoy [18:47] jesusabdullah: *boys* [18:47] tbranyen: make him dig you a moat and a throne [18:47] jesusabdullah: ACTION rolls his eyes. [18:47] jesusabdullah: They, like [18:47] jesusabdullah: liek beaches n' stuff [18:47] jesusabdullah: they just don't undastand javascript [18:48] chjj: damn, im still not a vim hacker yet, someone teach me to be a vim hacker [18:48] tbranyen: chjj: okay [18:48] chjj: k [18:49] tbranyen: chjj: start with a minimal vimrc [18:49] tbranyen: like barebones [18:49] chjj: roger [18:49] tbranyen: and start adding stuff as you go to help make it less annoying [18:49] chjj: well, thats what i did [18:49] tbranyen: you won't get good if you use someone's already customized to shit vimrc [18:49] chjj: i havent been doing that [18:49] ralphholzmann: jetienne: thanks so much -- it turns out files I delete via fs.unlink are being held on to for some reason [18:49] tbranyen: well just sayin [18:49] chjj: :) [18:49] ralphholzmann: the file descriptor is not being freed [18:50] jetienne: ralphholzmann: glad you located the issue [18:50] ralphholzmann: here's a sample of the node proc/fd - http://grabs.ralphholzmann.com/1p.png [18:50] maushu has joined the channel [18:50] ralphholzmann: now ... why isnt fs.unlink freeing up the descriptors? :) [18:51] zanes has joined the channel [18:51] jetienne: ralphholzmann: my guess is that the fd is still open somewhere else [18:51] jetienne: ralphholzmann: so the kernel keeps the file around and the fd too [18:52] jetienne: count the open and the close for each file [18:52] ralphholzmann: hmmm jetienne thanks, will give it a shot [18:52] tristanseifert has joined the channel [18:54] jetienne: ralphholzmann: what are those files ? [18:54] jetienne: ralphholzmann: are they downloaded ? uploaded ? [18:55] yozgrahame has joined the channel [18:57] bingomanatee has joined the channel [18:57] bingomanatee: hi noders [18:57] bingomanatee: is pyro around? [18:58] catshirt has joined the channel [18:58] bingomanatee: guess not … happy august all. [18:59] overra has joined the channel [19:01] slifty_corsair has joined the channel [19:02] tristanseifert has joined the channel [19:03] patcito has joined the channel [19:03] ralphholzmann: jetienne: they are uploaded, to to speak [19:04] ralphholzmann: the node process is an smtp server [19:04] csanz has joined the channel [19:04] jetienne: ralphholzmann: ok see if the files are properly closed [19:04] ralphholzmann: and the attachments get temporarily written to disk, handled, and the deleted [19:04] jetienne: ralphholzmann: this smells "unclosed fd" all around [19:04] ralphholzmann: alrighty [19:05] jetienne: you get the deletion, but not the close(). this is the "(deleted)" in /proc [19:05] xippi has joined the channel [19:07] gazumps has joined the channel [19:10] ralphholzmann: hmm, so I'm using a stream [19:10] ralphholzmann: and calling destroySoon() [19:10] ralphholzmann: perhaps soon never happens [19:11] vinc has joined the channel [19:14] eastender has joined the channel [19:16] JumpMast3r has joined the channel [19:17] Swizec has joined the channel [19:18] ph^ has joined the channel [19:19] replore has joined the channel [19:22] mpavel has left the channel [19:22] gozala has joined the channel [19:22] edude03 has joined the channel [19:22] edude03: Hey guys, [19:23] edude03: I just did a fresh node.js reinstall on OSX Lion, and I'm seeing this error "require.paths is removed", I have set my NODE_PATH environment variable though [19:24] rfay has joined the channel [19:25] gg777 has joined the channel [19:25] catshirt has joined the channel [19:27] SubStack: edude03: the message is correct, require.paths went away [19:28] edude03: That damn require.paths always leaving when I need it :P, but what does it want me to do about it? [19:28] Palats has left the channel [19:30] SubStack: edude03: relative requires if the files are nearby [19:31] SubStack: or you can install dependencies into node_modules with npm [19:31] SubStack: the problem with require.paths was that it modified the module loading of every other file [19:31] edude03: hmm, I re-installed npm because I just realized node came from my old Snow Leopard install :P [19:32] edude03: *npm [19:32] edude03: I just built node from source though [19:32] edude03: Seems to work, thanks SubStack :) [19:36] ohtogo has joined the channel [19:38] eastender has joined the channel [19:39] guillermo has joined the channel [19:40] EvRide has joined the channel [19:41] aconbere has joined the channel [19:41] al3xnull has joined the channel [19:43] mikedeboer has joined the channel [19:45] infid: any idea why this doesn't work: git clone http://github.com/joyent/node/tree/master [19:46] tmzt: try git:// [19:46] tmzt: http seems to be broken on github, but a newer git might fix that [19:46] brian has joined the channel [19:47] tmzt: also, use that address at the top of the page [19:47] tmzt: not the one in the address bar [19:47] pen has joined the channel [19:48] ohtogo has joined the channel [19:54] beriberikix: Anybody use jerk? [19:54] jbc22 has joined the channel [19:55] gg777 has joined the channel [19:56] infid: saysthat was the address at the top of the page and git:// doesnt work either hrm [19:56] tmzt: what error message are you getting? [19:56] tmzt: you don't need the tree/master part [19:57] swilson: this is a bit ot, but does anyone know of a *good* intro html/css tutorial for a friend...? [19:57] infid: joyent/node/tree/master is not a valid repository name [19:57] tmzt: right, it's just joyent/node [19:58] tmzt: like git clone git://github.com/joyent/node should work [19:58] caiges has joined the channel [19:58] infid: thanks, that seems to work but only with http:// not git:// [19:59] infid: why is node so popular when it's nothing new? do people just like server side javascript that much or what [19:59] tmzt: infid: it works [19:59] chjj: uhoh [19:59] infid: twisted, poe and event machine don't work? [19:59] chjj: also, why does something have to be new to be good? [20:00] tmzt: infid: v8 is a much better approach than the other attempts using spidermonkey, java etc. [20:00] tmzt: infid: no, I mean compared to other ssjs projects [20:00] tmzt: it's simple, clean, elegant [20:00] SubStack: infid: it's about aesthetics [20:00] shanez_ has joined the channel [20:00] chjj: v8's definitely not simple ;) [20:01] jesusabdullah: and about not having to think as much [20:01] SubStack: it's very pleasant to write programs in node because most stuff is asynchronous from the button up [20:01] SubStack: *bottom [20:01] chjj: if you can read the source and understand it, ill be impressed [20:01] SubStack: chjj: the programming model is pleasant, I don't give a fuck what v8 looks like because I don't need to care [20:01] infid: can you use coffee script instead of having to write javascript for node? [20:02] chjj: SubStack: i realize that though, someone said v8 was "simple" though [20:02] SubStack: with POE, EventMachine, and twisted you've got to worry about reactor threads and accidentally blocking by using blocking calls from library code [20:02] SubStack: infid: you can but I don't [20:02] SubStack: javascript is actually pretty nice [20:02] dgathright has joined the channel [20:03] chjj: its not like v8 is some project thats only a couple thousand lines, lots of complex shit happening underneath the surface [20:03] al3xnull: Anyone happen to have any experience with AMQP with node-amqp? I'm trying to setup a simple hello-world produce/consume and am having issues. [20:03] tmzt: chjj: didn't say that either, I mean that the functionality that makes it node is simple when grafted on to v8 [20:03] amiller has joined the channel [20:03] andrewfff has joined the channel [20:03] tmzt: and v8 is good at what it does [20:04] tmzt: I mean that Ryan's approach is elegant and clean [20:04] chjj: tmzt: ah, ok [20:04] tmzt: and as a result node is [20:04] chjj: yeah, definitely [20:04] tmzt: I had looked at other javascript cli solutions and they were clunky, hard to build (but mozilla is in general) [20:04] tmzt: or didn't work [20:04] chjj: yeah, when i discovered node, i felt as though i had always been looking for it [20:05] chjj: a project that had a strong sense of minimalism [20:05] tmzt: right, but it still needs a framework and orm [20:05] tmzt: always optional of course, but as a starting place for dry stuff [20:05] chjj: ? who says it needs those things? [20:05] chjj: doesnt *need* them [20:06] tmzt: no [20:06] tmzt: I mean to say that they need to exist to have a consistent approach for somebody starting out, but for a lot of things writing the asynchronous code directly will always be the right way [20:06] tmzt: and you do have things like express [20:07] zspencer_ has joined the channel [20:07] chjj: when i started node, i dont think i discovered express until a month in, so i started out writing all the lowlevel stuff by hand [20:09] V1 has joined the channel [20:09] kevwil has joined the channel [20:11] infid: so basically, if i'm ever using twisted, poe, et al, and something goes wrong, you get to tell me "you coulda had a v8" [20:11] infid: "shoulda had a v8" [20:14] jesusabdullah: lol [20:14] stagas: node makes boring static sites so fun to build [20:16] kriszyp has joined the channel [20:16] EvRide has joined the channel [20:16] mikeal has joined the channel [20:16] gg777 has joined the channel [20:17] tmzt: stagas: jade ! :) [20:17] tmzt: somebody please port it to codeigniter for me :) [20:17] tmzt: we don't even have partials [20:18] stagas: tmzt: nah doing plain ejs now I started it as static html then decided to use node because I was getting bored :P [20:18] tmzt: it's not too bad to rewrite in jade actually [20:18] tmzt: it's just a bunch of delete line (ctrl-d in gedit) [20:19] tmzt: and change things to : [20:19] stagas: tmzt: too lazy to convert now :P [20:20] blueadept: would anyone know why mongolian is not finding by _id? http://pastie.org/private/epeqgwlsaucxzilu5rpprg [20:20] blueadept: er not updating, this case [20:20] mikeal has joined the channel [20:20] mikeal has joined the channel [20:23] mertimor has joined the channel [20:27] jbrokc: i don't quite get how optional parameters work in node / javascript with callbacks. i tried reading the source to some methods but that didn't quite work. I'm now trying to understand how express' app.param's callback can supply an id with just one arg, otherwise, it's req res next (3 arguments) [20:28] slifty_corsair has joined the channel [20:28] MooGoo: .. function f() { return argments }; f(1,2,3,4) [20:28] catb0t: ReferenceError: argments is not defined [20:28] MooGoo: .. function f() { return arguments }; f(1,2,3,4) [20:28] catb0t: { 0: 1, 1: 2, 2: 3, 3: 4 } [20:29] MooGoo: that's how [20:29] jbrokc: arguments is a built-in keywords to node or js? [20:29] MooGoo: js [20:29] MooGoo: when in a function yes [20:29] jbrokc: i had no idea [20:29] MooGoo: the more you know [20:29] mbrevoort has joined the channel [20:29] jbrokc: well i'm trying [20:29] patcito has joined the channel [20:29] jbrokc: i feel like the code i write does what its intended more in js than any other language, so i'm investing what i can [20:30] MooGoo: ...oh? [20:30] jbrokc: other languages i've programmed (ruby, C) i'm mostly fighting syntax to try and execute the code in my head [20:31] MooGoo: but not JS huh [20:31] jbrokc: javascript (mainly coffeescript) makes the process of getting subconcious pseudocode to real code really easliy [20:31] jbrokc: don't know if it's because of my background in Scheme [20:31] MooGoo: you tried python? [20:31] MooGoo: that could be [20:31] jbrokc: MooGoo: Nope [20:32] MooGoo: coffeescript is more similar to python I think syntax wise [20:32] ohtogo has joined the channel [20:32] jbrokc: i've always felt it leaned closer to ruby, honestly. [20:32] MooGoo: straight JS isn't the best looking pseudo code [20:32] MooGoo: perhaps [20:32] MooGoo: ruby and JS have a bit more in common conceptully [20:32] jbrokc: but it's even, i agree [20:33] gg777 has joined the channel [20:34] jesusabdullah: cs borrows the whitespace thing from python, sure, but a lot of the other stylistic choices are informed by ruby [20:34] jesusabdullah: and of course js [20:34] MooGoo: I wouldnt really know [20:34] mbrevoort has joined the channel [20:36] MooGoo: I'd be almost totally happy with JS syntax if it had a function literal shorthand like CS does [20:36] cl0udy has joined the channel [20:36] stephank has joined the channel [20:38] phpmycoder has joined the channel [20:38] bksf has joined the channel [20:38] bksf: hey everyone, i was wondering if there was a node.js in memory database/key:value storage system or a 3rd party module? [20:39] MooGoo: I've heard standard JS objects are good bksf [20:39] TheJH_phone has joined the channel [20:41] TheJH_phone: bksf, for how much data? [20:42] Cromulent has joined the channel [20:42] EyePulp has joined the channel [20:43] bksf: < 1mb [20:44] mwhooker_ has joined the channel [20:45] meandi2 has joined the channel [20:47] m00p has joined the channel [20:47] blueadept: would anyone know why mongolian is not finding by _id? http://pastie.org/private/epeqgwlsaucxzilu5rpprg [20:48] bnoordhuis: bksf: just stuff it in an object [20:48] hojberg has joined the channel [20:49] gg777 has joined the channel [20:49] phpmycoder: Hey node crowd! I've been looking into some file upload pausing and was wondering: where do packets sent by the client go after pause() is called on the request object? [20:49] Raynos has left the channel [20:50] mikeal has joined the channel [20:51] jbrokc: so i'm having some trouble on how to clear up code that's nested pretty deep in asynchronous callbacks. can anyone take a look at my script and suggest some tips? both coffee and js versions - https://gist.github.com/64076a2db29339d8bcf0 [20:51] jhurliman has joined the channel [20:51] bnoordhuis: phpmycoder: they stay in kernel land [20:52] bnoordhuis: phpmycoder: that is, node stops reading from the socket [20:52] dshaw_ has joined the channel [20:52] phpmycoder: bnoordhuis: so data could be lost from the upload if I pause? [20:52] Drakonite: bksf: you mean like Redis? [20:52] bnoordhuis: phpmycoder: yes [20:53] bksf: oh redis is in memory? [20:53] bnoordhuis: phpmycoder: you can wrap the request object with a buffering stream [20:54] phpmycoder: bnoordhuis: But that would only hold out for as much RAM as the server had, right? [20:54] bksf: ahh awesome thanks Drakonite [20:54] Drakonite: yep [20:54] warz has joined the channel [20:54] bnoordhuis: phpmycoder: that's more or less correct, yes (v8's heap is limited to 1 GB but raw buffers live mostly outside the v8 heap - it's complicated) [20:55] Drakonite: it syncs to disk for persistence as well, but you can disable/modify that [20:55] bnoordhuis: phpmycoder: but in general, you'll have to watch out not to buffer too much, yes [20:56] phpmycoder: bnoordhuis: that could be a problem because I'm most likely going to be handling large (> 2GB) files. I guess I'll just have to pump upload to a temporary file. [20:57] bnoordhuis: phpmycoder: that seems advisable yes :) - check out fs.createWriteStream() [20:58] phpmycoder: If I do this, is there any way to tell the readStream (for the temporary file) that the file was being written too and the stream shouldn't end when the file does? [20:58] warz has left the channel [20:59] bnoordhuis: phpmycoder: you mean keep open the file after writing? or don't close the http request? [20:59] gg777 has joined the channel [21:01] warz has joined the channel [21:01] phpmycoder: Say the file clients request is being pumped to the temporary file. To read from that file I create a readStream. However, if the readStream catches up to the end of the file (while the client is still pumping data) it will assume there is no more data and end the stream, right? [21:03] monokrome has joined the channel [21:03] warz has left the channel [21:03] guidocalvano: hey does node load modules on a different thread? [21:03] guidocalvano: cause that would explain a lot... [21:04] xerox: it is single threaded [21:04] guidocalvano: are you sure? [21:04] mscdex: one thread to rule them all! [21:04] MooGoo: modules are just eval'd strings [21:04] mscdex: guidocalvano: yes [21:04] bnoordhuis: phpmycoder: right, it won't tail it for you [21:04] monokrome has joined the channel [21:04] guidocalvano: I mean C++/v8 modules [21:05] bnoordhuis: guidocalvano: also [21:05] guidocalvano: does node itself run on the main thread? [21:05] mscdex: it's all one thread [21:05] MooGoo: well a v8 extension could use seperate threads if it wants [21:05] mscdex: except file system calls on *nix/osx [21:05] xerox: I don't know about v8 internals sorry [21:05] bnoordhuis: guidocalvano: yes, and the parts of your add-on that touch v8 should too [21:05] mikeal has joined the channel [21:05] mscdex: extra threads have to be used for that because of lack of async file system calls [21:06] mscdex: but other than that it's one thread [21:06] phpmycoder: bnoordhuis: Guess I'll just have the client wait on the download until everything is ready, because with limited disk space and other complications, working all that out sounds like a mess. Thanks for your insight! [21:06] threecreepio has joined the channel [21:06] MooGoo: mscdex: windows has async file system calls? [21:06] bnoordhuis: phpmycoder: my pleasure :) [21:06] dshaw_ has joined the channel [21:06] mscdex: MooGoo: iocp works on files [21:08] squeese has joined the channel [21:10] mikedeboer has joined the channel [21:10] bnoordhuis: mscdex: i talked that over with bert belder a while ago, i think async file i/o only works on files opened in direct a.k.a. skip-the-page-cache mode [21:11] bnoordhuis: just like linux :-/ [21:11] mscdex: i dunno, i just know what i heard from ryah's nodeconf talk [21:11] mscdex: heh [21:13] blueadept: would anyone know why mongolian is not finding by _id? http://pastie.org/private/epeqgwlsaucxzilu5rpprg [21:16] bksf has joined the channel [21:18] gg777 has joined the channel [21:18] newy has joined the channel [21:19] cjm has joined the channel [21:19] lo has joined the channel [21:19] tomtomaso has joined the channel [21:20] warz has joined the channel [21:21] der| has joined the channel [21:24] adrianmg has joined the channel [21:26] TheJH_phone has joined the channel [21:30] gg777 has joined the channel [21:31] meomic has joined the channel [21:31] brian has joined the channel [21:36] Cromulent has joined the channel [21:39] bnoordhuis: pquerna: ping [21:39] rfay has joined the channel [21:39] ttpva has joined the channel [21:42] hij1nx has joined the channel [21:42] meomic has joined the channel [21:45] alexandere has joined the channel [21:48] stephank has joined the channel [21:49] mikeal has joined the channel [21:49] warz: man [21:50] eboyjr: woman [21:51] warz: im debating buying a ticket to this node summercamp [21:51] warz: sounds fun [21:51] pifantastic has joined the channel [21:53] MooGoo: uhm... [21:53] MooGoo: somehow that doesnt sound fun [21:53] gg777 has joined the channel [21:54] mbrevoort has joined the channel [21:55] brainproxy has joined the channel [21:55] mikeal has joined the channel [21:57] mikeal has joined the channel [21:57] ohtogo has joined the channel [21:58] pifantastic: Anyone here interested in discussing FastLegS? [21:58] CStumph has joined the channel [21:58] DTrejo has joined the channel [21:59] spetrea_: pifantastic: what is that ? [22:01] gg777 has joined the channel [22:01] brolin has joined the channel [22:01] xerox: has anybody tested node-inspector with safari 5.1 ? [22:02] pifantastic: spetrea_: https://github.com/didit-tech/FastLegS [22:02] pifantastic: spetrea_: postgres ORM for node [22:03] pifantastic: Not sure if the FastLegS folks idle in here [22:03] cjroebuck has joined the channel [22:06] adrianolaru has joined the channel [22:06] adrianolaru has left the channel [22:06] blueadept: they're around here some times [22:07] cjroebuck has joined the channel [22:10] kmiyashiro has joined the channel [22:10] tiglionabbit has joined the channel [22:11] mikl has joined the channel [22:11] mikl has joined the channel [22:11] sounko has joined the channel [22:11] hippich has joined the channel [22:15] zackattack has joined the channel [22:16] jellosea: i get an error saying test timed out when i try and run expresso --serial [22:16] jellosea: but it works fine normally [22:16] jellosea: i'm using node-fibers [22:16] jellosea: or rather fibers-promises [22:16] jellosea: does anybody know what the problem is? [22:17] gg777 has joined the channel [22:22] mbrevoort has joined the channel [22:23] warz has left the channel [22:23] spetrea_ has joined the channel [22:25] pNstK has joined the channel [22:25] SubStack: jellosea: I doubt that fibers would play nicely with unit tests [22:26] SubStack: since most runners create a new process [22:26] jellosea: unit test runners? [22:27] jesusabdullah: such as expresso [22:27] jesusabdullah: yo [22:28] jellosea: well it works fine if i run the test normally [22:28] jellosea: if i add the --serial it doesn't work [22:28] jellosea: which is weird.. [22:28] jellosea: and if i have more than one test in the file it doesn't work too [22:28] jellosea: because they start clashing [22:28] gg777 has joined the channel [22:29] pquerna: bnoordhuis: pong [22:29] jesusabdullah: So, I got a weird question now [22:29] jesusabdullah: I've never had to do this [22:30] jesusabdullah: but suppose I want to write a node program that simulates randomly crashing [22:31] jesusabdullah: I'd imagine I could write something like, setInterval(function () { if (Math.random() < 0.1) { crashAndBurn(); }}, 5000) [22:31] jesusabdullah: but I'm not sure what crashAndBurn() should be [22:31] bnoordhuis: pquerna: question: why is calling .final() on a cipher twice okay but not calling .digest() twice on a hash? [22:31] jesusabdullah: (Any ideas?) [22:32] jellosea: SubStack: what would you recommend i do to write unit tests then? [22:33] spetrea_: we're codin late at night, I think I'm gonna try some Sin city breakfast tacos http://www.youtube.com/watch?v=IBgsLmDcL78 [22:34] pquerna: bnoordhuis: not sure specifically why, i mean, we probally could fix the digest thing by just caching the rvalue [22:34] blaenk has joined the channel [22:34] blaenk has joined the channel [22:35] SubStack: jellosea: just don't use node-fibers, easy [22:35] jellosea: thats liek teh worst solutino [22:35] SubStack: then you can use whichever test harness you like [22:35] pquerna: bnoordhuis: cipher kind makes sense as it would of padded out of the first final, and have no more data to mess with [22:35] SubStack: and you won't have to worry about anything [22:35] jellosea: thats not even a solution [22:35] jellosea: the point of a unit test is to test code [22:35] jellosea: you want me to like stop using specific constructs which i'm using for functionality [22:35] jellosea: because of a unit test framework.. [22:36] bnoordhuis: pquerna: .final() frees the cipher though, doesn't it? [22:36] jesusabdullah: I'm thinking process.kill(process.pid, someBadSignal) [22:36] pifantastic: jesusabdullah: throw Error('oh gawd'); [22:36] SubStack: jellosea: you could write your own test runner with plain old asserts [22:36] pquerna: EVP_DigestFinal_ex(&hash->mdctx, md_value, &md_len); [22:36] pquerna: EVP_MD_CTX_cleanup(&hash->mdctx); [22:36] pquerna: so is how we are doing it [22:36] pquerna: for digest [22:36] SubStack: but seriously, fibers are shit [22:36] jellosea: SubStack: why [22:36] bnoordhuis: btw, not saying it's a bad thing that .digest() throws - just that it's inconsistent [22:36] jellosea: SubStack: why do you say that [22:36] smathy has joined the channel [22:36] jesusabdullah: pifantastic: good idea [22:37] SubStack: jellosea: because they fuck with how node works and are likely to just stop working [22:37] SubStack: as node evolves [22:37] SubStack: and not play nicely with node libraries [22:37] SubStack: especially c++ bindings [22:37] jellosea: well i mean i can't be writing super long callback chains [22:37] jellosea: and i have to execute a lot of calls sequentially at times [22:38] SubStack: there are better ways of handling that problem [22:38] jellosea: like how [22:38] bnoordhuis: jellosea: that's what libs like step do for you, right? [22:38] pquerna: bnoordhuis: cipher won't throw, but it should return just an empty string [22:38] pquerna: ? [22:38] SubStack: flow control libraries, problem decomposition into modules and functions [22:39] pquerna: yeah, cipher is just returning "" [22:39] pquerna: its hard coded to [22:39] SubStack: I didn't realize that anybody was even still using fibers [22:39] SubStack: thought that all blew over months ago [22:39] bnoordhuis: pquerna: .final() should throw too imo [22:40] pquerna: sure,already has a initialised_ [22:40] chapel: SubStack: there are a lot of people coming into node and see it online somewhere, and think wow awesome [22:40] chapel: SubStack: not knowing the drawbacks [22:40] jesusabdullah: ahaha, this is great! [22:40] jesusabdullah: pifantastic: Thanks! XD [22:40] bnoordhuis: pquerna: right, i'll go and fix that [22:40] eeemsi_ has left the channel [22:41] jesusabdullah: https://gist.github.com/1116095 [22:43] Cromulent has joined the channel [22:43] CStumph has joined the channel [22:45] jellosea: bnoordhuis: i don't know if step really does what i want to do [22:45] patcito_ has joined the channel [22:46] jellosea: i want to do something like x = new pullDatafromMemcache(); x.callFunction(); [22:46] jellosea: i want those to be executed in serial [22:46] cjroebuck has joined the channel [22:47] cconstantine_ has joined the channel [22:47] jellosea: and i want to make sure that x is created before i call x.callfUnction(): that is, the callback from memcache comes back [22:47] chapel: step does that [22:47] cconstantine_: is there a module that hooks with PAM? [22:47] mehlah has joined the channel [22:47] chapel: jellosea: but you would still use it with call backs [22:47] tmzt: pullDataFromMemcache(function(x) { x.callFunction(); }); [22:48] jbrokc: weird.. require('cron') gives me the following error (when not in the console) gives the following error: throw new Error("Cannot find module '" + request + "'"); [22:48] chapel: tmzt: :) [22:48] jbrokc: oh, it doesn't work in the node console either... [22:48] jellosea: chapel: do i have to write weird calls like x = object, and the next calback is this.function() [22:48] chapel: depends on how you want to do it [22:48] jellosea: chapel: i want to assign the object to a variable and make function calls liek x.something [22:49] chapel: if you define x inside the closure of a step, then you will have to pass it, otherwise define x above step, and assign it, it will be available as you need it [22:49] jellosea: from what i'm seeing on step it seems like its just running a bunch of function calls [22:49] jbrokc: so `sudo npm install -g cron` works fine and installs to /usr/local/lib/node_modules just fine. but I can't require it! require('cron') even in the node console returns Cannot find module 'cron' [22:49] chapel: var x; step(stuff here() { x = something }, ... x.use() ); [22:49] chapel: poor example [22:50] bnoordhuis: cconstantine_: don't think so, i was looking for that myself a while ago [22:50] jellosea: whats a poor example [22:50] jellosea: oh [22:51] cconstantine_: bnoordhuis, ok, thanks :) [22:51] jbrokc: ah, i got it working. `ln -s /usr/local/lib/node_modules ~/.node_modules [22:51] jellosea: chapel: thats still nasty, for every line i have to make an anonymous function? [22:51] chapel: heh, there are a lot of ways to go about it [22:52] blaenk: hey, probably stupid question: is there a way to print out a string in its literal form, like actually print out the \n's? [22:52] jellosea: like step(function() { first line;}, function() {second line;}, function() { third line;});? [22:52] chapel: but javascript is about call backs for functions that don't return immediate results [22:52] Warans has joined the channel [22:52] blaenk: or do I just replace every \n with a \\n and then print [22:52] luckysmack has joined the channel [22:52] luckysmack has joined the channel [22:52] jellosea: chapel: well i'm using it in a non-standard way [22:52] jellosea: i suppse [22:52] chapel: no, you want to make it work like synchronous languages [22:53] jellosea: that is correct [22:53] chapel: where it waits on every line for it to finish before continuing [22:53] jellosea: in a sense [22:53] jellosea: not always [22:53] chapel: that isn't standard sure [22:53] jellosea: certain sections [22:53] chapel: but that also is not how node works [22:53] chapel: or javascript [22:53] blaenk: anyone? :) [22:53] chapel: (unless you use alert() ) [22:54] jellosea: chapel: well to be honest its not like its really that crazy [22:54] jellosea: chapel: i could rewrite it using callback chians [22:54] chapel: of course node does have some synchronous functions, but they are few and far between, and for specific purposes [22:54] jellosea: and it woudl be the same functionality [22:54] jellosea: its just for appearance [22:54] jellosea: chapel: people are writing shit like this, its just that its in awful traingles of callback chains [22:54] chapel: but you would prefer to bastardize node and twist it into something it's not, just so the code looks nice? [22:55] jellosea: chapel: i'm not really twisting it the way i see it [22:55] chapel: (purposefully flamboyant btw) [22:55] jellosea: chapel: the functionality is exactly the same [22:55] chjj: you know, there is going to be an async `alert` and `prompt` eventually ;) [22:55] jellosea: chapel: code looks nicer [22:55] chapel: nice chjj, about time [22:55] chapel: jellosea: learn call backs [22:55] chapel: or use them [22:55] unlink has joined the channel [22:55] unlink has joined the channel [22:55] jellosea: chapel: why are you telling me learn them [22:56] chapel: most people that try to bypass them, don't learn them in the first place [22:56] jellosea: as if its even a concept to learn lol [22:56] chapel: eh, if you come from something like php, then it is I would say [22:56] jellosea: well whatever you are getting off topic [22:57] jellosea: i'm telling you that the functinoality is the same [22:57] chapel: Im not an expert, at node/js or any language for that matter [22:57] jellosea: the code is just better looking [22:57] chapel: but I think it is more important that your code works right, than looks pretty [22:57] jellosea: how many times do i have to say [22:57] chapel: and using fibers, that isn't right [22:57] jellosea: the code works the same [22:57] chapel: no it doesn't [22:57] jellosea: you just say that [22:57] jellosea: you aren't saying why [22:57] jellosea: you are just saying it magically is bad [22:58] chapel: fibers spawns a sub process, to handle your code/function/whatever [22:58] chapel: it isn't built in [22:58] chapel: it will most likely break, many modules, and with updates to node as SubStack said [22:59] jellosea: so should i write some syntactic sugar on top step to make nicer looking code then [22:59] chapel: if that is what is important to you [22:59] jellosea: fien [22:59] jellosea: i will [22:59] jellosea: sigh [22:59] chapel: there are other flow control libraries btw [22:59] chapel: seq is one [22:59] chapel: async is another [22:59] jellosea: can you point me to them [22:59] jellosea: oh [23:00] jellosea: do you know if there is anything that does what i want [23:00] chapel: and hell, you could make your own quite easily [23:00] jellosea: yeah [23:00] jellosea: i dont think its that hard [23:00] chapel: it isn't [23:00] jellosea: yeah [23:00] jellosea: are tehre [23:00] jellosea: any that does what i want right now? [23:00] chapel: umm, var x = delayedResults() ? [23:00] chapel: no [23:01] dug_ has joined the channel [23:01] chapel: well, you could write a c++ addon to node that did that [23:02] chapel: but that would be dumb imo [23:02] chjj: theres also streamline and j-sex [23:02] chjj: or js-sex [23:02] chjj: whatever [23:02] Wa has joined the channel [23:02] chapel: oh yeah [23:03] chapel: those [23:03] chjj: pure node is the better option though [23:03] chapel: I guess they are a little better than fibers [23:03] chapel: but its the lesser of two evils [23:03] chapel: SubStack: what is that image with the baby and text about callbacks? [23:06] Nuck has joined the channel [23:08] smathy has joined the channel [23:09] Corren has joined the channel [23:11] hydrozen has joined the channel [23:13] andrewfff has joined the channel [23:16] SubStack: chapel: just go to substack.net [23:16] chapel: yes [23:16] chapel: thanks [23:16] chapel: http://substack.net/images/dnode-slides/fuck_yeah.png << jellosea [23:17] jellosea: lol [23:17] jellosea: okay well i'm writing something now just in node to do what i want [23:17] jellosea: hopefully it wont be too painful [23:17] jellosea: b [23:17] MooGoo: .npm heatmap [23:17] catb0t: heatmap: canvas heat maps for node and the browser -- Author: James Halliday, Repo: git://github.com/substack/node-heatmap.git [23:17] MooGoo: so bored [23:17] ohtogo has joined the channel [23:18] thalll has joined the channel [23:18] SubStack: MooGoo: write more softwares [23:18] chapel: MooGoo: make something [23:18] chapel: .npm substack [23:18] catb0t: Nothing found [23:18] chapel: .npm ngist [23:18] catb0t: ngist: Gist module and CLI tool using node.js -- Author: Jacob Chapel, Repo: http://github.com/chapel/ngist.git [23:18] chapel: ACTION hides in shame [23:18] MooGoo: nah...I only write code that is mostly useless [23:18] MooGoo: .npm search substack [23:18] chapel: MooGoo: ^5 [23:18] catb0t: Nothing found [23:18] chapel: .npm halliday [23:18] catb0t: Nothing found [23:18] chapel: .npm search halliday [23:19] catb0t: Nothing found [23:19] chapel: .npm search Halliday [23:19] catb0t: Nothing found [23:19] MooGoo: it only searches package names [23:19] chapel: ACTION stops [23:19] xerox: anybody uses node-inspector daily? [23:19] MooGoo: .npm search inspector [23:19] catb0t: eyes, inspect, node-inspector, underscore.inspector, v8-profiler [23:19] chapel: .npm backbone-dnode [23:19] catb0t: backbone-dnode: Persistant backbone storage through dnode pub/sub -- Author: Beau Sorensen, Repo: git://github.com/sorensen/backbone-dnode.git [23:20] MooGoo: can command line npm search for package authors/ [23:21] chapel: are you just using npm cli? [23:21] chapel: for catb0t ? [23:21] MooGoo: naw [23:21] catb0t: for me yeah [23:21] chapel: haha [23:21] MooGoo: lol [23:21] MooGoo: search.npmjs.org [23:21] chapel: apropos [23:21] chapel: ah [23:22] chapel: isn't there an author search? [23:22] MooGoo: probably would have been easier....but the paranoid part of me thought it might be a bad idea [23:22] chapel: yeah, can get nasty [23:22] chapel: not sure if you saw how much v8bot got messed with [23:23] MooGoo: no....enlighten me [23:23] chapel: umm, they figured out how to make it spam people or rooms by injecting new lines into functions [23:23] chapel: I forget the exact way [23:23] chapel: it was patched out though [23:23] chapel: http://search.npmjs.org/#/_author/Aaron%20Blohowiak [23:23] xerox: !npm search Aaron [23:23] jhbot: no results [23:24] xerox: thought I'd try : ) [23:24] MooGoo: lol [23:24] MooGoo: the moar the better [23:24] chapel: !npm search Jacob Chapel [23:24] jhbot: no results [23:24] MooGoo: !npm search sqlite [23:24] jhbot: packages (short format): ormnomnom, supermarket, pksqlite, sqlite, node-dbi, sqlite3 [23:24] jellosea: can i get javascript to return each line of a function? [23:24] kuya has joined the channel [23:24] MooGoo: .npm search sqlite [23:24] catb0t: node-dbi, ormnomnom, sqlite, supermarket [23:25] MooGoo: hm [23:25] chapel: jellosea: what do you mean? [23:25] MooGoo: searches descriptions I take it [23:25] chapel: like one line at a time? [23:25] jellosea: sorry. can i get javascript to to iterate through each line in a function? [23:25] isaacs_mobile has joined the channel [23:25] chapel: like debug style? [23:25] MooGoo: you mean like from func.toString()? [23:25] jellosea: chapel: yeah liek that [23:25] jellosea: like grab first line, grab second line, grab third line [23:26] MooGoo: func.toString().split('\n').forEach(function(line) { ...stuff... }) [23:26] MooGoo: ? [23:26] losing has joined the channel [23:26] mbrevoort has joined the channel [23:26] chapel: jellosea: https://github.com/substack/node-burrito << look at that [23:27] MooGoo: !npm sqlite3 [23:27] gazumps has joined the channel [23:27] brolin_ has joined the channel [23:27] MooGoo: !npm view sqlite3 [23:29] blaenk: hey guys, is there a common pattern for handling a situation where like, well, mine is such that I'm parsing an xml doc via a stream, and I want to get the text within an element, but the parser (node-xml) only has an onCharacters event. so the problem I'm experiencing is that say it gets the text within an element in two separate chunks, that means the text will be handled by two calls to onCharacters [23:29] blaenk: right now I'm trying ot find a way to keep the text together [23:30] syst3mw0rm_ has joined the channel [23:30] Aria: Buffer it. [23:31] blaenk: can you please elaborate? I was reading about buffers yesterday [23:31] Aria: On the first oncharacters, make a buffer. On the rest, add to it. When you get something that implies that the characters are done, finish. [23:31] Aria: And by a buffer, I mean a string or whatever. Just an object that holds it until it's done. [23:31] blaenk: ohhh okay, that's what I was trying right now :) [23:31] blaenk: thanks Aria [23:32] hi has joined the channel [23:32] Aria: What you're doing is trading memory for completeness. [23:32] Aria: Some things you do might need that. Some might not. Use it wisely. [23:32] Aria: (hence it not being automatic: there is a trade-off.) [23:33] jellosea: chapel: i dont get burrito :/ [23:33] blaenk: yeah I was wondering. cause what I'm doing is trying to contribute a fix to an xmlrpc library for node, and the problem is that since it uses a stream parser, it passes the chunks from the http request as soon as it gets them to the parser, but the parser only has that oncharacters and the project needs a way to get the entire text within an element, so this might be the only solution [23:34] apalmer has joined the channel [23:34] jellosea: MooGoo: if i have a string which contains js code can i then run it? [23:34] tmzt: blaenk: onChars only happends in onElement or similar? [23:34] adrianmg1 has joined the channel [23:34] tmzt: if that's the case the you should be able to construct a complete buffer in the callback for that element [23:35] jellosea: MooGoo: eval right? [23:35] MooGoo: uh yea [23:35] MooGoo: eval [23:35] MooGoo: or new Function [23:35] mwhooker_ has joined the channel [23:36] blaenk: tmzt: hmmm, this is a short example of the interface for node-xml: https://github.com/robrighter/node-xml/blob/master/example.js [23:36] jellosea: MooGoo: how do i do new Function? [23:37] blaenk: so yeah I'm trying to use the onEndElement and onStartElement to figure out when things start/finish [23:38] brolin has joined the channel [23:38] tmzt: uh, why would it use sax events directly [23:38] tmzt: just onElement would have been much cleaner [23:39] tmzt: I guess you're still going to need a stack or something [23:39] blaenk: yeah that's what I was going for [23:39] blaenk: a stack [23:39] blaenk: yeah, that's weird. I told the xmlrpc project I'm trying to contribute this fix for about a potentially better library, do you have any comment on ... [23:39] blaenk: https://github.com/isaacs/sax-js ? [23:39] blaenk: it's by far more active [23:39] tmzt: isaacs wrote it :) [23:40] blaenk: yup [23:40] blaenk: its interface though, do you think it'd make things easier for me? [23:40] tmzt: looks like the same thing [23:40] blaenk: oh okay so it'd require the same sort of solution [23:41] blaenk: I was going for a buffer stack. I don't know though, since this is an xmlrpc library I'm contributing to, I don [23:41] blaenk: I don't know if xmlrpc is any more strict which would mean I don't need a stack, and just grab all of the text within elements [23:41] tmzt: it's also not an eventemitter [23:41] tmzt: weird [23:41] Corren has joined the channel [23:41] blaenk: yeah someone filed an issue saying it should probably be an eventemitter [23:42] tar_ has joined the channel [23:43] tmzt: I don't know how hard it is to write an xml parser [23:43] tmzt: you could start with one of those and build one on top of it that gives events for elements of the tree [23:43] tmzt: and keeps track of the state internally (what node it's on, etc.) [23:43] tmzt: in a stack [23:44] MooGoo: .npm James Halliday [23:44] catb0t: Packages by James Halliday: ap, bigint, binary, browserify, bufferlist, buffers, bunker, burrito, chainsaw, commondir, deck, detective, dnode, dnode-protocol, dnode-stack, ent, fileify, findit, freestyle, grave, hashish, heatmap, intestine, jadeify, jsup, keysym, keyx, markov, mkdirp, mrcolor, npmdep, npmtop, nub, optimist, permafrost, progressify, prox, quack-array, rap-battle, recon, resolve, resware, rfb, rhyme, seq, s [23:44] catb0t: esame, shimify, song, source, ssh, stackedy, traverse, waitlist, wordwrap [23:44] shanebo: hey guys, is there a way to access request and response globally? Or is that dangerous? [23:44] MooGoo: heh [23:44] dgathright has joined the channel [23:44] MooGoo: that guy must be busy [23:44] jellosea: chapel: can i use burrito to walk through the ast? [23:44] jellosea: chapel: line by line? [23:45] chapel: what you would do is write a function to handle each line, and use burrito to wrap them [23:45] chapel: or function [23:45] chapel: in the ast [23:45] blaenk: tmzt: yeah, thanks. I'm gonna try to come up with a solution using a stack for now [23:46] themiddleman has joined the channel [23:47] jellosea: chapel: so would the code parameter for burrito be a function.toString() ? [23:48] jellosea: oh isee it takes functions [23:48] jellosea: sorry [23:50] spetrea_ has joined the channel [23:51] `3rdEden has joined the channel [23:53] Nexxy has joined the channel [23:53] Nexxy has joined the channel