[00:00] mikeal: but it's all async [00:00] rchavik has joined the channel [00:00] mikeal: and it has a lot of semantics about killing and closing transactions on the browser equivolent of nextTick() [00:00] mikeal: and i hit this weird bug with doing ajax calls while my transaction was in a closure [00:00] bingomanatee has joined the channel [00:00] mikeal: and after i fixed it I thought "coding in the browser is like coding in node now" [00:01] mikeal: makes me really skeptical about all this stuff people are doing trying to make node more like the browser [00:01] tjholowaychuk: i try to make my CS stuff more like node [00:01] tjholowaychuk: .on instead of addEventListener n shit [00:01] tk has joined the channel [00:02] mikeal: for a second i thought you mean CS == CoffeeScript [00:02] bingomanatee: ACTION wants a dom based file system [00:02] tjholowaychuk: haha [00:02] mikeal: and i was like "TJ hates coffeescript" [00:02] Charuru has joined the channel [00:02] tjholowaychuk: tm [00:02] tiglionabbit: Marak: ok I read the weld readme, but I don't quite understand -- If you're on the client side, and you want to template something and add it to the page, where do you get your template from? [00:02] tjholowaychuk: i like jison [00:02] tjholowaychuk: coffeescript uses that [00:02] tjholowaychuk: lol [00:03] dcampano has joined the channel [00:03] briznad has joined the channel [00:04] mikeal: the talk jashkenas did at JSConf he encouraged everyone to write their own language instead of just using coffeescript [00:04] tjholowaychuk: i wouldnt really call outputting js writing a language [00:04] tjholowaychuk: it's like writing a lexer, using someone elses parser [00:04] tjholowaychuk: and outputing some strings [00:04] tiglionabbit: tjholowaychuk: that's what all compilers do [00:05] tjholowaychuk: compilers are far more complex [00:05] tiglionabbit: by that measure, C is not a language. It just outputs assembly. [00:05] mikeal: compilers do a lot more than that dude [00:05] mikeal: read the dragon book [00:05] tiglionabbit: a compiler is just a translater [00:05] tiglionabbit: it translates one language into another [00:05] tjholowaychuk: comparing something like gcc to CS, makes no sense [00:05] tjholowaychuk: lol [00:05] mikeal: the kinds of optimizations compiles and vms make are far greater than what a toJavaScript compiler does [00:05] sechrist has joined the channel [00:06] mikeal: tiglionabbit: not any modern compiler or vm [00:06] tiglionabbit: you don't have to have optimizations to be called a compiler [00:06] mikeal: sure, in the abstract you are correct [00:06] mikeal: but in the abstract, template systems are compilers [00:06] tiglionabbit: this is like saying scripting languages are not the same as programming languages [00:06] Twelve-60 has joined the channel [00:06] mikeal: and we don't call them that, cause that would be stupid [00:06] tjholowaychuk: all im saying, is it's not hard to translate a parse tree to an existing language [00:06] mikegerwitz: A compiler, by definition, transforms source code into a target language. The target langauge does not have to be machine code. [00:07] tiglionabbit: mikeal: well, we don't consider templates to be languages in the same way that programming languages are. They are usually not turing complete [00:07] mikeal: i've seen templates that are as far from js as coffeescript is and compile down to it [00:07] tjholowaychuk: and they are super basic because they have no runtime [00:07] tiglionabbit: tjholowaychuk: assembly is an existing language [00:07] tjholowaychuk: you just output some crap [00:08] tjholowaychuk: tiglionabbit yes i get it [00:08] tjholowaychuk: good job [00:08] tjholowaychuk: lol [00:08] tiglionabbit: hehe, sorry [00:08] mikeal: here is the difference i think tj is trying to make [00:08] mikeal: take a block of coffeescript [00:08] mikeal: stick it anywhere in any coffeescript file [00:08] tiglionabbit: you could have just said "coffeescript isn't as impressive as most compilers" :P [00:08] tjholowaychuk: sure [00:09] tjholowaychuk: i'll phrase it like that next time lol [00:09] mikeal: when you find that block in the compile target, it always looks the same [00:09] tjholowaychuk: "it's super basic" [00:09] mikeal: but if you did that to a block of C code, it would be drastically different depending on where it existed in the program [00:10] tiglionabbit: mikeal: why should it? If you change the order in which two functions are defined in a C file, I don't see why the output should be different [00:10] mikeal: for something that simplistic, *maybe* [00:11] tjholowaychuk: you're right, CS is totally as complicated as gcc [00:11] tjholowaychuk: haha [00:11] tjholowaychuk: totally [00:11] tiglionabbit: I didn't say that :P [00:11] mikeal: but compilers do a lot more to optimize instructions based on the context they appear in [00:11] mikeal: maybe not gcc, but at least llvm :P [00:11] ryanallenbobcat has joined the channel [00:12] mikeal: but seriously, llvm is fuckin hot [00:13] tiglionabbit: mikeal: coffeescript actually does care about context in some ways. Write a function that defines a local variable, then define that variable outside the function too. The function reacts to the context. This is actually a scary thing to me though, because it means coffeescript brings some ruby gotchas to javascript (shadowing variables is not allowed) [00:13] Marak: tiglionabbit: the html is the template [00:13] mikeal: i think in like 10 years only really old projecst will be using standard gcc [00:13] mikeal: tiglionabbit: that's called a closure [00:13] mikeal: :P [00:13] Marak: tiglionabbit: check out https://github.com/hij1nx/weld/tree/master/demo/public [00:13] tiglionabbit: mikeal: no [00:13] tiglionabbit: I am talking about shadowing here [00:14] mikeal: oh, that's because it hacks in lexical scoping [00:14] cagdas: hi guys, anyone successful to compile nodejs in Amazon micro instance? [00:14] Marak: tiglionabbit: https://github.com/hij1nx/weld/blob/master/demo/public/js/index.js [00:14] mikeal: which is the single most useful things it does [00:14] Marak: cagdas: im sure yeah [00:14] cagdas: by default settings it fails when I try [00:14] maushu: CANDY? WHERE?! [00:14] [[zz]] has joined the channel [00:14] cagdas: do you set anything specific before make? [00:16] newy_ has joined the channel [00:16] tiglionabbit: Marak: what is this demo showing me? [00:16] squaretone: jade is removing all the whitespace from my html. when i view source it is all run together. nice for production; annoying for dev. any way to turn it off? [00:16] ChrisPartridge: cagdas: got all the build deps? [00:16] tiglionabbit: Marak: how do I make it add something to the page that wasn't there before, in response to a user action? [00:16] cagdas: yes [00:16] davidbanham has joined the channel [00:17] cagdas: it works with small instance [00:17] ChrisPartridge: cagdas: well what error are you getting? [00:17] cagdas: but fails with micro instance [00:17] tiglionabbit: mikeal: my favorite thing about coffeescript is -> [00:17] mikeal: i don't care about syntax [00:18] tiglionabbit: mikeal: if I could rename the 'function' keyword in javascript to something short like -> I would be happy. [00:18] cagdas: ChrisPartridge: let me try [00:18] tjholowaychuk: tiglionabbit then dont type it [00:18] aberry has left the channel [00:18] tjholowaychuk: type "f" and have your editor complete it [00:18] mikeal: just type function, move along, write an app, get over it :) [00:18] zitchie has joined the channel [00:18] tjholowaychuk: yeah haha typing is not your bottleneck [00:19] Marak: tiglionabbit: you gotta RTFM, weld is an anti-templating engine, its prob much diffirent from anything you've done [00:19] Marak: tiglionabbit: its pretty gangster actually, i gotta start using it [00:19] tiglionabbit: oh also, I really like how, if you make an object on multiple lines, you don't have to put commas. No more IE "you can't have an extra comma" error. Oh and it does === by default, which is what you pretty much always really mean. etc. [00:19] Marak: tiglionabbit: if you join #nodejitsu , hijinx is there everyday, he can help you get a demo going [00:19] tiglionabbit: Marak: I read the manual, but there is no demonstration of doing this at runtime [00:20] tiglionabbit: so I don't get it [00:20] alex___ has joined the channel [00:20] Marak: tiglionabbit: what is runtime? [00:20] tiglionabbit: also i still don't see how I'm supposed to get access to the same templates on the client side and the server side [00:20] tiglionabbit: Marak: in response to users doing stuff [00:20] Marak: tiglionabbit: what is "users doing stuff" [00:20] tiglionabbit: Marak: Idk, maybe they clicked on something and I want to add a block of html to the page [00:21] Marak: tiglionabbit: weld(document.querySelector('.templateRow'), data.games); [00:21] tiglionabbit: in mustache I'd use a partial template and insert it [00:21] Marak: $('button').click(function(){weld(document.querySelector('.templateRow'), data.games); }); [00:21] tiglionabbit: where am I getting that templateRow from? [00:21] tiglionabbit: is it a hidden node in the document somewhere? [00:21] Marak: its a html fragment in your document [00:21] Marak: maybe hidden, maybe not [00:21] Marak: should prob not be hidden [00:22] Marak: since the parent dom node you start with should be visible [00:22] tiglionabbit: why would I have a visible template in the page? :P [00:22] alex___: hey all - does anyone know a good way to make their calls go AJAX when using the express framework ? I'm trying to set - app.set('view options', {layout: false}); but that seems to affect subsequent requests as well [00:22] Marak: tiglionabbit: stop thinking about templates [00:22] Marak: tiglionabbit: weld is template anti-matter [00:22] tiglionabbit: Marak: I don't see how this is usable [00:22] Marak: tiglionabbit: think about the actual problem you are trying to solve, not what templates do [00:22] tjholowaychuk: alex___: res.partial(), or res.render(view, { layout: false }) [00:22] tiglionabbit: alek___: pretty sure you can pass it in [00:22] Marak: tiglionabbit: well, thats because you dont understand it, traditional templating is a hard paradigm to break from [00:22] tiglionabbit: what he said [00:23] Marak: tiglionabbit: weld takes your dom and welds data to it [00:23] tokumine has joined the channel [00:23] tiglionabbit: Marak: ok. I have a list of things. Maybe there are no things in the list yet. A user clicks a button. Now I want to add a thing to the list. Normally, I'd have a template for that thing. [00:23] Marak: so you have a
to evaluate code or "`v commands" for a list of v8bot commands.
[01:55] NuckingFuts: Hippies are the answer if violence is the problem
[01:55] Twelve-60 has joined the channel
[01:55] temp02 has joined the channel
[01:55] techwraith: Hippies and Violemce are both the solution
[01:55] Draggor: NuckingFuts: I thought the answer fire, no excpetions.
[01:56] techwraith: Conflict is life
[01:56] techwraith: (and thats a good thing)
[01:56] tonymilne: Anyone using text mate, if you ever have a problem using "Find in projects" taking ages, because you've got a hefty node_modules folder in your project ... you CAN fix that! :)
[01:56] tonymilne: http://po-ru.com/diary/fixing-a-major-textmate-annoyance/
[01:56] harth has joined the channel
[01:57] newy_ has joined the channel
[01:57] Epeli has joined the channel
[01:57] jacter has joined the channel
[01:58] qcom has joined the channel
[01:59] dcampano: i'm trying to send a chunked response to chrome, but it seems that the browser only shows the text once a certain number of bytes have been written, is there some way to force the browser to print every byte?
[02:00] jhurliman has joined the channel
[02:01] NuckingFuts has joined the channel
[02:01] techwraith: Chrome has to have a buffer of about 2000 bytes before it does anything (it's weird) with http push
[02:01] techwraith: I always send 2112 blank bytes before I connect
[02:01] techwraith: *when I connect
[02:02] dcampano: techwraith: thanks, ill give that a try!
[02:02] techwraith: IE is the same way
[02:03] cafesofie has joined the channel
[02:03] saschagehlich has joined the channel
[02:05] frenchgirl4boy: looking for a boy
[02:06] dcampano: techwraith: do you happen to have a sample of sending blank bytes?
[02:06] techwraith: serverResponse.write(new Array(2112).join(' '));
[02:06] akshat[remote] has joined the channel
[02:07] dcampano: techwraith: lol, thanks, i was trying to send a bunch of 0 bytes
[02:07] techwraith: :P
[02:07] ditesh|cassini has joined the channel
[02:07] DTrejo_ has joined the channel
[02:07] fakewaffle has joined the channel
[02:08] dcampano: working great now, thanks for the help!
[02:08] zivester_ has joined the channel
[02:08] techwraith: No problem
[02:08] techwraith: I only ask that you add this comment before that line of cod
[02:08] techwraith: *code
[02:09] techwraith: / Also 2112, Rock on.
[02:09] dkords has joined the channel
[02:09] fakewaffle has joined the channel
[02:09] techwraith: (kidding, but I love leaving little references to pop culture in my code)
[02:09] techwraith: I use "over 9000?!?!!!??!" all the time :)
[02:11] JacobSingh has joined the channel
[02:11] dcampano: haha, will do
[02:11] halfhalo: my code usually shows me going insane until I figure out something broke due to a comma
[02:12] DTrejo_: halfhalo: try using jslint or javascriptlint integrated into your editor
[02:12] halfhalo: woa now... whats this editor thing
[02:12] halfhalo: I write my code with a hammer and chisel!
[02:13] halfhalo: (and usually use weird variants of js which tools don't like)
[02:15] mbrevoort has joined the channel
[02:16] Dreamer3 has joined the channel
[02:23] patrickarlt has joined the channel
[02:24] jbpros has joined the channel
[02:25] skm has joined the channel
[02:25] ceej has joined the channel
[02:25] criswell has joined the channel
[02:28] hij1nx has joined the channel
[02:29] _fat has joined the channel
[02:32] _fat: does anyone know what the advantage of writing mkdir-p (https://github.com/isaacs/npm/blob/master/lib/utils/mkdir-p.js) over just require('child-process').exec('mkdir -p ..') would be?
[02:32] jtsnow has joined the channel
[02:33] benmonty has joined the channel
[02:33] dgathright has joined the channel
[02:34] fayce has joined the channel
[02:34] sridatta has joined the channel
[02:34] mikegerwitz: _fat: portibility to non-*nix, perhaps
[02:35] mikegerwitz: platforms, perhaps*
[02:35] _fat: ah
[02:37] vipaca has joined the channel
[02:37] vipaca has joined the channel
[02:38] davidbanham has joined the channel
[02:40] newy_ has joined the channel
[02:42] samsonjs has joined the channel
[02:42] zeade has joined the channel
[02:42] gqlewis has joined the channel
[02:46] copongcopong has joined the channel
[02:48] bingomanatee has joined the channel
[02:49] truedat101 has joined the channel
[02:52] matbee_ has joined the channel
[02:54] newy_ has joined the channel
[02:57] ady has joined the channel
[02:57] ady: hi
[02:58] ady: is anybody here
[02:58] gibybo: no
[02:58] Skola has joined the channel
[02:58] ady: i need to ask about npm keep on failing on cygwin
[02:58] pzich has joined the channel
[02:59] gibybo: I am just a noob who installed nodejs yesterday for the first time :(
[02:59] ady: ah...i can install the nodejs but it seems i cant install the npm
[02:59] justinTNT: what platform
[02:59] AvianFlu has joined the channel
[02:59] ady: windows 7
[02:59] ady: i'm using cygwin
[03:00] aho has joined the channel
[03:00] febits has joined the channel
[03:00] xtianw: How are you trying to install npm?
[03:01] bronson has joined the channel
[03:01] ady: curl http://npmjs.org/install.sh | sh
[03:01] xtianw: And how does it break?
[03:02] benmonty: I'm attempting to write a simple node c++ extension (Point) and I'm getting a symbol lookup error when I try to instantiate an object in JS. Can anybody spot any glaring errors in this code? https://gist.github.com/980104
[03:02] flippyhead has joined the channel
[03:02] ezl has joined the channel
[03:04] ady: and npm ERR! couldn;t upnact /tmp/npm
[03:04] ady: and npm ERR! couldn;t unpack /tmp/npm
[03:05] ady: and the rest full with ERR!
[03:05] xtianw: Hmm, not sure I didn't run into that with cygwin
[03:05] skiz has joined the channel
[03:05] xtianw: Could try executing the install script with sudo
[03:06] ady: can;t use sudo in cygwin
[03:06] johnnywengluu: isn't there a node.js driver for selenium 2.0?
[03:07] xtianw: Really? Haven't used it much, honestly.
[03:07] mynyml has joined the channel
[03:07] azeroth___ has joined the channel
[03:09] arlolra: what does the filename do in vm.runInNewContext(code, [sandbox], [filename])?
[03:09] cnu has joined the channel
[03:12] e6nian has joined the channel
[03:14] jerrysv has joined the channel
[03:15] __class__ has joined the channel
[03:15] mscdex: arlolra: it's for backtraces
[03:15] arlolra: hmm, so it wouldn't help in resolving dependencies
[03:15] mscdex: no
[03:15] arlolra: :(
[03:16] arlolra: require.paths is going away, right?
[03:16] eyesUnclouded has joined the channel
[03:16] mscdex: no idea, but it's best to use node_modules
[03:17] arlolra: that's what i'm trying to support
[03:17] mscdex: ?
[03:17] calebc has joined the channel
[03:18] arlolra: i have a globally installed bin that runs using some locally installed configs ... some of the local files have deps that i don't want to install globally
[03:18] arlolra: if i add the local dir to require.paths, everything works well
[03:18] arlolra: but i'm trying to avoid that cause people are saying that it's going away
[03:20] Corren has joined the channel
[03:22] materialdesigner has joined the channel
[03:26] superjudge has joined the channel
[03:30] bingomanatee has joined the channel
[03:30] newy_ has joined the channel
[03:31] dhasenan: Anyone know of a mock object lib supporting AAA syntax?
[03:35] indutny has joined the channel
[03:36] nexxy has joined the channel
[03:36] nexxy has joined the channel
[03:37] flippyhead has joined the channel
[03:37] criswell has joined the channel
[03:38] ExsysTech has joined the channel
[03:38] saschagehlich has joined the channel
[03:40] newy_ has joined the channel
[03:44] brownies has joined the channel
[03:44] jtsnow has joined the channel
[03:44] truedat101 has joined the channel
[03:46] sh1mmer has joined the channel
[03:46] dhasenan: Granted, it's a tad more difficult to create mocks in js than in ruby. That whole 'call this function when it's not otherwise defined' thing.
[03:49] jbpros has joined the channel
[03:50] dgathright has joined the channel
[03:53] AvianFlu has joined the channel
[03:53] boehm has joined the channel
[03:59] trcarden has joined the channel
[04:00] ryah has joined the channel
[04:02] ryah has joined the channel
[04:02] DTrejo has joined the channel
[04:03] seivan has joined the channel
[04:03] MikeMakesIt has joined the channel
[04:04] tk has joined the channel
[04:05] sherod has joined the channel
[04:06] binarypie has joined the channel
[04:07] ExsysHost has joined the channel
[04:07] skm has joined the channel
[04:08] rfay has joined the channel
[04:08] febits[0] has joined the channel
[04:11] ako has joined the channel
[04:13] CIA-90: node: 03David Trejo 07master * r68d840b 10/ doc/api/readline.md : readline docs - http://bit.ly/ltOR1r
[04:14] CIA-90: node: 03David Trejo 07v0.4 * rf4e69e4 10/ doc/api/readline.md : readline docs - http://bit.ly/jyvnAJ
[04:15] CIA-90: node: 03Ryan Dahl 07v0.4 * r63c0d71 10/ (doc/index.html doc/pipe.css): Changes for job bullets - http://bit.ly/lAuCC0
[04:19] DTrejo: WOOO!
[04:19] DTrejo: merged!
[04:20] themiddleman has joined the channel
[04:20] Me1000 has joined the channel
[04:21] sivy has joined the channel
[04:21] Me1000 has joined the channel
[04:22] brownies has joined the channel
[04:22] patrickarlt has joined the channel
[04:24] gazumps has joined the channel
[04:27] newy_ has joined the channel
[04:27] tyler-iphone: separation of pure/impure: https://gist.github.com/8071b3c80d446dca87c5
[04:28] AvianFlu has joined the channel
[04:28] ryanfitz has joined the channel
[04:28] febits has joined the channel
[04:29] matbee_ has joined the channel
[04:29] beawesomeinstead has joined the channel
[04:29] beawesomeinstead has joined the channel
[04:30] sechrist has joined the channel
[04:30] skyloid has joined the channel
[04:30] devrim1 has joined the channel
[04:31] jbpros has joined the channel
[04:31] sechrist: Anybody know the name of that slick app that was on hacker news a few weeks ago that does localhost proxying
[04:31] sechrist: pretty sure it was a .io but sigh
[04:32] ChrisPartridge: sechrist: I tried to find it last week
[04:32] ChrisPartridge: and failed
[04:32] sechrist: damnit
[04:33] cyraxx has joined the channel
[04:34] sechrist: ChrisPartridge: http://progrium.com/localtunnel/ but this isn't what I remember
[04:34] devrim has joined the channel
[04:35] ChrisPartridge: sechrist: yeh, I know what your talking about, it was a .io domain
[04:35] devrim has joined the channel
[04:36] messju has joined the channel
[04:36] DTrejo: sechrist: showoff.io
[04:36] sechrist: DTrejo++
[04:36] v8bot: sechrist has given a beer to DTrejo. DTrejo now has 2 beers.
[04:36] DTrejo: :)
[04:36] ChrisPartridge: legendary!
[04:37] Adman65 has joined the channel
[04:38] ChrisPartridge: Bah, it's ruby!
[04:38] ChrisPartridge: Thought it was node
[04:38] devrim1 has joined the channel
[04:38] sechrist: the server is node
[04:40] bingomanatee has joined the channel
[04:41] lmorchard has joined the channel
[04:41] beriberikix has joined the channel
[04:42] DTrejo: sechrist: the free version didnt work when I first tried it, which annoyed me. also the fact that there was no npm install made me a bit annoyed
[04:42] skm has joined the channel
[04:42] sechrist: do both of these randomize the url?
[04:42] sechrist: I need a non-random url >:(
[04:43] sechrist: I have localtunnel working though
[04:44] mykul has joined the channel
[04:45] sechrist: the showoff guys fail.. I installed a rubygem and show is not in my path
[04:45] tyler-iphone: if i have someCallback = function(req, res){}; app.get(foo, someCallback); is there a way for someCallback to access foo?
[04:45] sechrist: localtunnel was though
[04:46] sechrist: without changing my path
[04:46] sherod has joined the channel
[04:46] ako: app.get(foo, makeSomeCallback(foo));
[04:47] ako: you can stick it in a closure
[04:47] tyler-iphone: ako: thanks
[04:47] kjy112_ has joined the channel
[04:52] caolanm has joined the channel
[04:53] materialdesigner has joined the channel
[04:53] balaa has joined the channel
[04:55] mischievious has joined the channel
[04:55] pifantastic has joined the channel
[04:56] balaa has joined the channel
[04:59] ByteCrunch has joined the channel
[04:59] tyler-iphone: how do i get makeSomeCallback get access to req and res?
[05:00] indutny has joined the channel
[05:00] ako: makeSomeCallback returns a function (right away) which does accept those two parameters
[05:01] tyler-iphone: ako: thnx
[05:01] fakewaffle: where is the documentation for jade?
[05:01] ako: basically, the function it returns is the same as the function you used earlier
[05:01] mischief has joined the channel
[05:02] mischief has joined the channel
[05:02] ChrisPartridge: fakewaffle: https://github.com/visionmedia/jade
[05:02] fakewaffle: is there more than that? lol
[05:03] fakewaffle: ahh, nvm
[05:04] xSmurf has joined the channel
[05:04] fayce has joined the channel
[05:07] mischievious has joined the channel
[05:08] liquidproof has joined the channel
[05:11] devrim has joined the channel
[05:11] tyler-iphone: ako: oh wow thats cool, ive never really tried anything like before
[05:11] tyler-iphone: like that*
[05:11] ako: heh :)
[05:12] ghost has joined the channel
[05:12] ChrisPartridge: tyler-iphone: welcome to javascript ;-)
[05:12] ako: +the magical world of
[05:12] ako: <;
[05:13] tyler-iphone: higher order functions ftw
[05:13] criswell has joined the channel
[05:13] sh1mmer has joined the channel
[05:17] jacobolus has joined the channel
[05:18] jacter has joined the channel
[05:18] mikeal has joined the channel
[05:18] criswell has joined the channel
[05:19] Draggor: I saw an interesting scheme talk about building an object system that basically thrived off of macros and closures and.. that's it!
[05:22] cloudhead2 has joined the channel
[05:22] seivan has joined the channel
[05:23] k1ttty has joined the channel
[05:27] ryanfitz has joined the channel
[05:27] foobarfighter: Anybody know how to get npm to authenticate over SSL when publishing?
[05:34] matjas has joined the channel
[05:36] sridatta has joined the channel
[05:39] ThePing has joined the channel
[05:39] ThePing has left the channel
[05:39] qbit_ has joined the channel
[05:40] philtor has joined the channel
[05:41] NuckingFuts has joined the channel
[05:42] jacter has joined the channel
[05:42] ghost has joined the channel
[05:44] temp01 has joined the channel
[05:45] mikl has joined the channel
[05:45] mikl has joined the channel
[05:45] superjudge has joined the channel
[05:46] openpercept has joined the channel
[05:49] criswell has joined the channel
[05:51] tk has joined the channel
[05:52] coreb has joined the channel
[05:55] ardcore has joined the channel
[05:55] ardcore has left the channel
[05:55] coreb has joined the channel
[05:56] AvianFlu has joined the channel
[05:57] josephboyle has joined the channel
[05:57] jmalloc has joined the channel
[05:59] mikeal has joined the channel
[06:03] SamuraiJack has joined the channel
[06:03] TheEmpath has joined the channel
[06:03] TheEmpath: hail nodelings
[06:04] TheEmpath: is x & 1 > x % 1?
[06:05] jakeg has joined the channel
[06:08] stonebranch has joined the channel
[06:09] materialdesigner has joined the channel
[06:09] jacobolus has joined the channel
[06:09] TooTallNate has joined the channel
[06:10] seivan has joined the channel
[06:10] aliem has joined the channel
[06:11] febits has joined the channel
[06:11] devrim has joined the channel
[06:12] beriberikix has joined the channel
[06:12] seivan has joined the channel
[06:15] FireFly|n900 has joined the channel
[06:15] mscdex: v8: 5 & 1 > 5 % 1
[06:15] v8bot: mscdex: 1
[06:15] mscdex: v8: (5 & 1) > (5 % 1)
[06:15] v8bot: mscdex: true
[06:15] sechrist: hmm
[06:15] mscdex: TheEmpath: ^
[06:15] mscdex: v8: (1 & 1) > (1 % 1)
[06:15] v8bot: mscdex: true
[06:15] TomY has joined the channel
[06:16] mscdex: v8: (0 & 1) > (0 % 1)
[06:16] v8bot: mscdex: false
[06:16] mscdex: :)
[06:16] TheEmpath: :O
[06:17] TheEmpath: how about speed?
[06:17] mscdex: TheEmpath: what are you using this for?
[06:17] Murugaratham has joined the channel
[06:17] jakeg has joined the channel
[06:19] mscdex: if you're checking if that bit is set, use x & 1
[06:21] jacter has joined the channel
[06:21] seivan has joined the channel
[06:21] copongcopong has joined the channel
[06:21] Murugaratham: is there a socket.io room?
[06:22] kiyoto has joined the channel
[06:22] mikeal has joined the channel
[06:22] kiyoto: Hey I have a question about scoping of 'this' in node.js
[06:23] kiyoto: this.a = 10; var f = function(){console.log(this.a);};
[06:23] kiyoto: what should f() print?
[06:24] cloudhead2: kiyoto: functions introduce new scopes
[06:24] broofa has joined the channel
[06:26] kiyoto: cloudhead2: I thought 'this' was bound to the object if it is a field, to whatever object if invoked through call/apply, and to the function itself if it is called with 'new', and else it is the global scope.
[06:26] kiyoto: at least that's how it is on the client side JS...
[06:26] cloudhead2: pretty much, yea
[06:27] ardcore has joined the channel
[06:27] cloudhead2: javascript is still javascript in node
[06:27] Draggor has joined the channel
[06:27] kiyoto: cloudhead2: if that's the case, why does f() print 'undefined' in node.js in the previous example
[06:28] kiyoto: shouldn't it print '10'?
[06:28] cloudhead2: no you'd have to do this.f = function(){} for that
[06:29] criswell has joined the channel
[06:29] kiyoto: cloudhead2: why? 'this' is not a global scope?
[06:30] kiyoto: cloudhead2: you agree that in the browser, the same code would return '10' as opposed to 'undefined', right?
[06:30] seivan has joined the channel
[06:30] cloudhead2: kiyoto: yea, I think the difference is the evaluation context
[06:31] cloudhead2: in the browser it's "window"
[06:31] matjas has joined the channel
[06:31] kiyoto: cloudhead2: and in node...?
[06:32] cloudhead2: well, it depends
[06:32] cloudhead2: if you're in a module, it's module.exports
[06:32] `3rdEden has joined the channel
[06:32] ivanfi has joined the channel
[06:32] briznad has joined the channel
[06:32] cloudhead2: if you're not in a module, I'm not sure
[06:33] kiyoto: cloudhead2: is this documented in the docs?
[06:33] cloudhead2: I think it's also module.exports actually
[06:33] cloudhead2: some of it
[06:33] cloudhead2: not in great detail
[06:34] kiyoto: okay
[06:34] kiyoto: so in a file, if i type this.f = function(){}; var f = function(){}; are the two f's different?
[06:35] kiyoto: oh i see i see
[06:35] kiyoto: finally seeing the difference...
[06:35] cloudhead2: yes
[06:36] kiyoto: so only the stuff in 'this' namespace gets exported
[06:36] springify has joined the channel
[06:36] cloudhead2: because `this.a` is module.exports.a, and `a` is just a local var
[06:36] cloudhead2: yea
[06:37] kiyoto: alright i got mega confused reading Socket.IO source code because i come from client side JS...
[06:37] cloudhead2: because code in node gets wrapped in an anonymous function
[06:37] kiyoto: cloudehead2: can you elaborate on that?
[06:37] cloudhead2: when you require a module
[06:37] cloudhead2: it wraps it in a closure
[06:37] cloudhead2: it doesnt evaluate it in the global scope
[06:38] kiyoto: and just returns 'this'
[06:38] cloudhead2: it does (function(require, module, ...) { ... your code... })()
[06:38] `3rdEden: No, this is still global
[06:39] cloudhead2: it returns whatever you attached on `this`
[06:40] kiyoto: cloudhead2:thx for clarifying that
[06:40] cloudhead2: you should never be using or seeing `this` used inside a function assigned to a local var, though
[06:41] cloudhead2: cause that's just confusing
[06:41] kiyoto: cloudhead2: yea that was just playing around
[06:41] cloudhead2: ok
[06:43] cloudhead2: ok, bed time
[06:43] jhurliman: is there anything like mod_auth_pam for node.js yet?
[06:44] sh1mmer has joined the channel
[06:46] criswell has joined the channel
[06:47] groom has joined the channel
[06:51] emattias has joined the channel
[06:52] josephboyle has joined the channel
[06:53] kiyoto has left the channel
[06:53] roidrage has joined the channel
[06:55] k1ttty has joined the channel
[06:57] liar has joined the channel
[06:59] ExsysTech has joined the channel
[06:59] Squeese has joined the channel
[06:59] jtrudeau has joined the channel
[07:00] ivanfi has joined the channel
[07:01] Xano_ has joined the channel
[07:02] kawaz_air has joined the channel
[07:05] bene has joined the channel
[07:06] creationix has joined the channel
[07:06] mike5w3c has joined the channel
[07:07] creationix: anybody around that's wrapped C++ classes in node?
[07:08] chapel: wrapped, like to make js var blah = new Blah()?
[07:09] creationix: I have 3 C++ classes in a c library, and I want to write node bindings for them
[07:09] brettgoulder has joined the channel
[07:09] ChrisPartridge: creationix: I haven't personally, but I did see a link somewhere in the past few days that had a guide on it
[07:09] ChrisPartridge: if that helps
[07:09] chapel: Ive done it, but I really don't know the specifics
[07:09] creationix: I just found this one http://syskall.com/how-to-write-your-own-native-nodejs-extension
[07:10] creationix: but I'm not quite connecting the dots
[07:10] ChrisPartridge: creationix: Yeah thats the one
[07:10] creationix: here's my target JS API https://github.com/creationix/node-leveldb/blob/master/leveldb.js
[07:10] brettgoulder has joined the channel
[07:11] chapel: creationix: https://github.com/pkrumins/node-async/blob/master/async.cpp << there is an example cpp app with classes
[07:11] creationix: I think I want a single .node file that contains the three wrapped C++ classes
[07:11] chapel: class
[07:11] notasysadmin has joined the channel
[07:11] fangel has joined the channel
[07:11] m64253 has joined the channel
[07:11] notasysadmin: Anybody have any data on maximum # of socket.io websocket connections to a single server?
[07:12] chapel: thats also an async example
[07:12] creationix: chapel: hmm
[07:12] mAritz has joined the channel
[07:12] chapel: haven't looked at the tutorial you linked, will see if I can help connect the dots
[07:13] creationix: Aha! I just call Initialize once for each class passing in the same target each time
[07:13] Me1000 has joined the channel
[07:13] creationix: then I'll have a single module with three classes in in
[07:13] chapel: yeah
[07:13] chapel: that help?
[07:14] creationix: so, there will be a lot of wrapping and unwrapping going on
[07:14] creationix: in my case, there is one main class, the the other two are types that are sometimes used as return types or arguments
[07:15] creationix: so, for example ClassA has method foo that returns an instance of ClassB which is an argument to Class.bar
[07:15] creationix: I also have pquerna's article on async. https://www.cloudkick.com/blog/2010/aug/23/writing-nodejs-native-extensions/
[07:15] creationix: hopefully it's still up to date
[07:16] chapel: its fairly accurate
[07:16] chapel: there is also isaacs example
[07:16] `3rdEden: notasysadmin thats a bit relative to the server you are hosting it on..
[07:17] chapel: creationix: its not class based, but its async https://github.com/isaacs/node-async-simple/blob/master/nas.cc
[07:17] `3rdEden: as 128mb server will accept allot less connections than a 64gb server
[07:18] creationix: I guess it doesn't matter how the underlying C++ library is written since you're wrapping it
[07:18] notasysadmin: `3rdEden: Let's say a 4GB server then. I'm concerned it'd (at some point) be limited by open TCP port numbers... to 64k or some such
[07:18] creationix: now if only I can get my wscript to work right
[07:18] seivan has joined the channel
[07:19] `3rdEden: notasysadmin you can tweak your server to accept more than 1m persistent connections so thats not an issue
[07:19] `3rdEden: multiple ips ftw <3
[07:19] notasysadmin: `3rdEden: could you point me somewhere on that topic? I would prefer to scale vertically if possible
[07:19] chapel: creationix: need help? got what you are working on now?
[07:20] brettgou_ has joined the channel
[07:20] creationix: chapel: https://github.com/creationix/node-leveldb/tree/master/src
[07:20] indutny has joined the channel
[07:20] creationix: If I can get a bunch of dummy functions compiling, I think I can finish on my own
[07:21] ezmobius has joined the channel
[07:21] creationix: I think I need header files since the three classes depend on eachother, but I don't know how C++ header files and #include works
[07:23] jakehow has joined the channel
[07:23] chapel: does leveldb have any dependencies ?
[07:23] djcoin has joined the channel
[07:23] creationix: chapel: nope
[07:23] creationix: and I'm embedding the source code since it's not installed on most systems
[07:24] creationix: well, it has an optional dependency on Snappy, but I'll handle that later
[07:24] chapel: well you would want to compile the h library or whatever from leveldb, or however it compiles
[07:24] indexzero has joined the channel
[07:24] `3rdEden: notasysadmin read: http://www.metabrew.com/article/a-million-user-comet-application-with-mochiweb-part-1
[07:24] nexxy has joined the channel
[07:24] nexxy has joined the channel
[07:24] creationix: chapel: right, I can manually run the make file in the deps/leveldb folder and it compiles fine
[07:24] chapel: and you can just include it in your node addon #include "dir/leveldb.h"
[07:25] notasysadmin: `3rdEden: awesome thanks
[07:25] creationix: chapel: I tried that, and it couldn't find the path
[07:25] `3rdEden: notasysadmin it's about mochi but you can apply the same to any language
[07:25] creationix: https://github.com/creationix/node-leveldb/blob/master/leveldb.cpp#L4
[07:25] chapel: hmm
[07:25] Corren has joined the channel
[07:26] indexzero: ACTION waves
[07:26] ardcore has left the channel
[07:26] nsolsen has joined the channel
[07:27] bergie has joined the channel
[07:29] jacter1 has joined the channel
[07:29] creationix: chapel: do I need to add the deps folder to my include path somehow in the wscript?
[07:29] skm has joined the channel
[07:30] chapel: no, using "" should make it look in the folder in relation to the calling file
[07:31] admc has joined the channel
[07:31] d0k has joined the channel
[07:32] creationix: chapel: so, from the src folder I'd to #include "../deps/leveldb/include/db.h" or something?
[07:32] jetienne has joined the channel
[07:32] chapel: well, its first looks in relation to the file including
[07:33] yozgrahame has joined the channel
[07:33] chapel: so yeah, though I am not familiar with c++ and directory taversal
[07:33] chapel: traversal
[07:33] creationix: no problem, thanks for helping
[07:33] chapel: though, looking here
[07:33] chapel: https://github.com/creationix/node-leveldb/blob/master/deps/leveldb/include/leveldb/db.h
[07:33] chapel: its calling leveldb/file.h
[07:34] chapel: that doesn't really exist, in relation to that file
[07:34] k1ttty_ has joined the channel
[07:34] amaudy has joined the channel
[07:35] [AD]Turbo has joined the channel
[07:35] creationix: chapel: ahh, that explains it
[07:36] chapel: though not sure if thats the problem, there is no make install
[07:36] creationix: chapel: so include isn't like node's require, it's a simple literal "include here" type of thing?
[07:37] chapel: as far as I can tell, if you say "dir/file.h" its doing to look at PWD/dir/
[07:37] chapel: first
[07:37] chapel: then global
[07:38] chapel: here is a wscript for an addon that bundles its dep https://github.com/tmpvar/node-irrklang/blob/master/wscript
[07:39] hybsch has joined the channel
[07:39] creationix: ahh, that's useful
[07:39] Druide_ has joined the channel
[07:39] chapel: like, you wouldn't need to check for leveldb, since you bundle it
[07:41] creationix: ok, is this terrible abuse of #include? https://github.com/creationix/node-leveldb/blob/master/src/index.cpp
[07:41] chapel: idk, could work
[07:42] creationix: then each of the three files doesn't need any includes or using namespace?
[07:42] seivan has joined the channel
[07:43] msucan has joined the channel
[07:43] hellp has joined the channel
[07:44] jacter has joined the channel
[07:44] emattias has joined the channel
[07:45] pyrotechnick has joined the channel
[07:45] epic has joined the channel
[07:46] epic: im getting an error running a coffee-script: "Cannot find module 'user'" and I cant find it in npm or anything useful on google :)
[07:46] chapel: creationix
[07:46] chapel: well if you notice the irrklang wscript
[07:46] Booster2ooo has joined the channel
[07:47] chapel: it lets you define an include dir
[07:47] truedat101 has joined the channel
[07:47] creationix: right, I think I'll add the include dir within deps/leveldb
[07:47] chapel: https://github.com/tmpvar/node-irrklang/blob/master/wscript#L33
[07:47] creationix: then my include will look like #include "leveldb/db.h" which is nice and clean
[07:47] [AD]Turbo: hi there
[07:48] chapel: well as you can see above, with that, you could do just #include "db.h"
[07:48] chapel: but whatever works
[07:50] mischief has joined the channel
[07:51] mischief has joined the channel
[07:51] levi501d has joined the channel
[07:53] seivan has joined the channel
[07:54] Hamms has joined the channel
[07:54] justinTNT has joined the channel
[07:54] sh1mmer has joined the channel
[07:59] trcarden has joined the channel
[07:59] foobarfighter: does anybody have a good convention for what to return in the exports? for instance node general returns a module with methods hanging off of it.. but if i have a file with a single class in it, should i return just the class as the export?
[08:00] justinTNT: why not?
[08:01] markwubben has joined the channel
[08:01] poincare101 has joined the channel
[08:01] jakeg has joined the channel
[08:01] foobarfighter: justinTNT: i guess the drawback is that you get locked into only returning that class from that file
[08:02] jakeg has left the channel
[08:02] foobarfighter: im just wondering if there is something that people actually do... maybe there is a node idiom that i dont know about
[08:02] creationix: foobarfighter: I like to export the function itself
[08:02] stonebranch has joined the channel
[08:03] troessner has joined the channel
[08:03] christophsturm has joined the channel
[08:03] creationix: the only drawback is that you can't have recursive dependencies *and* use replace module.exports in a module
[08:03] foobarfighter: creationix: so exports.func = function (){} ?
[08:03] chjj: foobarfighter: i just expose the constructor, if i need other things out there, you can just have them hang off the constructor
[08:03] creationix: foobarfighter: no, module.exports = function MyConstructor() {}
[08:03] justinTNT: you can still extend that class to extend the module.
[08:03] chjj: ctor.myotherproperty = 'hello';
[08:03] mischief has joined the channel
[08:03] creationix: then when you require it, var MyConstructor = require('myconstructor')
[08:04] notasysadmin: What are the best nodejs performance graphics/charts available? Trying to convince my boss + a client...
[08:04] creationix: and yes, you can also put arbitrary properties on the function object itself
[08:04] foobarfighter: ah... so creationix you are doing one class per file? which makes sense imop
[08:04] foobarfighter: imo*
[08:04] eldios has joined the channel
[08:04] justinTNT: I think, when it suits, it looks tidy.
[08:04] foobarfighter: right on
[08:04] creationix: actually, mine aren't usually classes, but often just a function
[08:05] creationix: like Stack or Step
[08:05] foobarfighter: creationix: cool
[08:05] criswell has joined the channel
[08:05] mischief has joined the channel
[08:05] amaudy has joined the channel
[08:06] ewdafa has joined the channel
[08:06] ryah has joined the channel
[08:07] mischief has joined the channel
[08:07] justinTNT: require('it')();
[08:07] bryanrieger has joined the channel
[08:07] bryanrieger has left the channel
[08:07] febits has joined the channel
[08:07] mischief has joined the channel
[08:08] frega has joined the channel
[08:09] mraleph has joined the channel
[08:10] seivan has joined the channel
[08:11] SeyZ has joined the channel
[08:12] creationix: justinTNT: require('http').createServer(require('stack')(require('creationix').log()))
[08:12] creationix: justinTNT: stack is a function, but creationix is a collection of functions
[08:12] XYXing has joined the channel
[08:12] justinTNT: ACTION likes it
[08:16] blueadept has joined the channel
[08:16] creationix: chapel: got it building!
[08:16] creationix: chapel: now to fill out the methods...
[08:16] creationix: tim@tim-2540p:~/Code/node-leveldb$ node -e 'require("./build/default/leveldb")'
[08:16] creationix: { LevelDB: [Function: LevelDB],
[08:17] creationix: WriteBatch: [Function: WriteBatch],
[08:17] creationix: Iterator: [Function: Iterator] }
[08:18] ryah has left the channel
[08:19] chapel: awesome
[08:19] chapel: glad you made progress
[08:19] chapel: what is leveldb?
[08:19] chapel: I mean, what is good about it?
[08:19] pyrony has joined the channel
[08:20] uchuff has joined the channel
[08:20] creationix: It's a great base for implementing databases
[08:20] XYXing: hey, guys, in javascript, there is no 'hash', even Array can use object as keys, but Array methods can not support this kind of element
[08:20] creationix: on it's own it's a pretty good persistent key/value store
[08:20] chapel: cool
[08:20] XYXing: for browsers, there is Prototype.js to provide Hash class
[08:20] XYXing: how about nodeJS ???
[08:21] creationix: chapel: it was written as the underpinnings for indexdb in chrome
[08:21] jesusabdullah: XYXing: try https://github.com/substack/node-hashish
[08:21] chapel: oh cool
[08:21] creationix: XYXing: what would the hash do that normal Objects can't do?
[08:21] criswell has joined the channel
[08:21] chapel: someone wanted an indexdb thing in node
[08:21] vikstrous has joined the channel
[08:21] XYXing: for example
[08:22] XYXing: the length
[08:22] creationix: XYXing: I see, that's not hard to add at all
[08:22] creationix: Object.keys(obj).length is the length of obj
[08:22] XYXing: and
[08:22] vikstrous: guys, is there something for node that takes a bunch of images in a folder and compiles them into sprites with the associated css?
[08:22] creationix: you could easily monkey patch Object.prototype or replace obj__proto__ with a sub-object of Object.prototype
[08:22] XYXing: if u wnat to 'pop' thing form the 'end''
[08:23] XYXing: where is the 'end '
[08:23] XYXing: i mean, objects has no index right
[08:23] creationix: well, there is the keys array
[08:23] XYXing: and Object.keys(obj).length
[08:23] XYXing: will contain
[08:23] jesusabdullah: creationix: I know that hashish basically just wrapps regular objects and adds functionality and convenience stuffs
[08:23] XYXing: some framwork defined propertis
[08:23] jesusabdullah: creationix: Just because you *can* do something with something doesn't mean you can't make it easier
[08:23] nanicoar has joined the channel
[08:23] jesusabdullah: :)
[08:24] nanicoar: :)
[08:24] jesusabdullah: That said, I suspect I would hate prototype
[08:24] vlapan has joined the channel
[08:24] creationix: XYXing: no it won't, Object.keys only grabs own properties and only enumerable ones
[08:24] creationix: XYXing: Object.getOwnPropertyNames will get all the own props enumerable or not
[08:24] q_no has joined the channel
[08:24] creationix: jesusabdullah: not arguing, I've written and published a couple hash libraries
[08:25] XYXing: ok, so how do we perform 'dequeue' from object ?
[08:25] creationix: https://github.com/creationix/pattern/blob/master/lib/pattern/hash.js is my latest
[08:25] creationix: XYXing: get the last key in Object.keys and delete it from the object
[08:25] XYXing: so
[08:25] XYXing: Hashish is useless ?
[08:25] creationix: useless, no
[08:26] creationix: any library isn't required if you're willing to do the work by hand
[08:26] creationix: and a good library could do nice things like cache the Object.keys lookups to increase performance or something
[08:26] XYXing: yes, i agree
[08:26] creationix: though it is pretty fast in V8
[08:27] creationix: Object.keys in particular is *really* fast
[08:27] __tosh has joined the channel
[08:27] XYXing: ok, thank u ~
[08:27] jesusabdullah: hashish is handy, in my experience. But, if it's trivial to do it with regular objects you might as well
[08:27] jesusabdullah: Listen to creationix.
[08:27] jesusabdullah: He knows what's up.
[08:27] creationix: I also have NIH syndrome
[08:27] jesusabdullah: Speaking of: creationix you bastard where've you been??
[08:27] jesusabdullah: ^5
[08:28] creationix: jesusabdullah: working on webOS
[08:28] creationix: we have a big release very soon
[08:28] jesusabdullah: Cool!
[08:28] jesusabdullah: Sweet
[08:28] creationix: node on tablets
[08:28] pyrotechnick: since when isnt node on tablets
[08:28] jesusabdullah: since forever obviously
[08:28] jesusabdullah: well
[08:28] chapel: lol
[08:28] jesusabdullah: this would be webOS tablets
[08:29] chapel: I like the idea of webos, but prefer android
[08:29] creationix: http://www.palm.com/us/products/pads/touchpad/index.html
[08:29] jesusabdullah: I haven't had a chance to play with either one(s) really
[08:29] chapel: even node can't make me switch
[08:29] creationix: I played with the new Samsung 10" tablet yesterday
[08:29] creationix: the hardware is really nice, but the interface felt clunky
[08:29] XYXing: but what if
[08:29] jesusabdullah: I wouldn't pick a phone (or tablet) based on the development environment, but I *would* pick one based on the available apps
[08:29] chapel: ACTION isn't into tablets either
[08:29] creationix: and anything web-based was really slow
[08:30] tobiassjosten has joined the channel
[08:30] XYXing: I augment some properties to Array
[08:30] chapel: I love my nexus one
[08:30] creationix: jesusabdullah: well a good dev environment means better apps eventually
[08:30] XYXing: and then i have an Array object
[08:30] creationix: it's just still too new
[08:30] XYXing: and I put some items in it as key-value pairs
[08:30] jesusabdullah: creationix: indeed. Moreover, I know enough node.js that I could probably finagle an app together if I wanted it
[08:30] jesusabdullah: At least, for smaller ones
[08:30] XYXing: then Object.keys( obj ).length
[08:30] jesusabdullah: tbh games aren't a big deal to me
[08:31] XYXing: the extra length appears
[08:31] creationix: XYXing: code?
[08:31] XYXing: of course, because there are some slef-defined properties
[08:31] creationix: XYXing: I promise that Object.keys only grabs own enumarable keys
[08:31] chapel: yeah, idk, I guess I will just have to keep looking, and if its super awesome in webos land, I do like to hack up my own toys/tools
[08:32] creationix: webOS isn't there yet, but it's getting better real fast
[08:32] creationix: and HP is pumping out the new hardware soon
[08:33] jesusabdullah: I'll keep my eyes out. I'll actually probably want to get a smartphone sometime in the next few months if I can afford it
[08:33] secoif has joined the channel
[08:33] jesusabdullah: Gotta see how this whole browserling thing works out
[08:33] jesusabdullah: I'm getting sick of my tracphone >_<
[08:33] chapel: haha
[08:33] jesusabdullah: It dialled 911 in my pocket yesterday DESPITE being locked
[08:33] XYXing: _http://xing0217linuxstudy.blogspot.com/2011/05/question-1.html
[08:34] chapel: I don't need a new phone, and my n1 is doing me well
[08:34] jesusabdullah: Being asked if there was an emergency when there wasn't one? EMBARASSING
[08:34] ardcore has joined the channel
[08:34] chapel: damn
[08:34] chapel: that sucks
[08:34] XYXing: here there are some self-defined methods to augment the Array type
[08:34] jesusabdullah: Yeah
[08:34] XYXing: title:question 1
[08:34] XYXing: and then
[08:34] chapel: hey creationix, could the way webos makes apps be done on other platforms, or at least android?
[08:34] chapel: as far as node.js
[08:35] bzinger has joined the channel
[08:35] chapel: so then you could make one app, and have work at least partially elsewhere?
[08:35] creationix: chapel: the front-end can be done with phonegap
[08:35] creationix: the node stuff is pretty webos specific
[08:35] ardcore has left the channel
[08:35] chapel: like the whole api?
[08:35] XYXing: _http://xing0217linuxstudy.blogspot.com/2011/05/question2.html
[08:36] trcarden has joined the channel
[08:36] robhawkes has joined the channel
[08:36] chapel: Im talking, like if someone got node on android working right, and had a similar api adaptation
[08:36] bzinger has joined the channel
[08:36] XYXing: the result should be 6 but it's 8
[08:36] creationix: node powers services which publish themselves on a dbus like thing
[08:36] jamey-uk has joined the channel
[08:36] chapel: hmm
[08:36] XYXing: because it contains 2 self-defined methods to Object
[08:37] JackeyChan has joined the channel
[08:37] jonathantaylor has joined the channel
[08:37] jesusabdullah: creationix: Is there an SSH app yet?
[08:37] JackeyChan: hi, I am beginner for nodejs and javascript
[08:37] jesusabdullah: A free, not-shitty ssh app would probably seal the deal for me :P
[08:37] creationix: jesusabdullah: for what? node or webOS
[08:37] jesusabdullah: webOS
[08:37] jesusabdullah: in particular
[08:37] creationix: there is dropbear and openssh for webOS
[08:38] creationix: it's just linux and you get root access
[08:38] creationix: there is even X11 and xterm
[08:38] creationix: just not in the normal catalog
[08:38] jesusabdullah: hmmmm
[08:38] slaskis: i want to play with a webos device, anyone knows if they work in europe?
[08:38] chapel: jesusabdullah: android is linux too
[08:38] jesusabdullah: I know that, in node, ssh bindings are an open problem
[08:39] jesusabdullah: chapel: Yeah, I know. I remember the ssh client I used with android being sub-par though
[08:39] jesusabdullah: of course, with such a tiny screen...
[08:39] chapel: how long ago?
[08:39] herbySk has joined the channel
[08:39] jesusabdullah: Oh, six months maybe? I think?
[08:39] chapel: then again, I don't use my phone for that stuff, I really underutilize my phone
[08:39] jesusabdullah: idk, I don't remember that well actually
[08:39] chapel: I surf the web
[08:39] JackeyChan: the code like that :
[08:39] JackeyChan: function Event() {
[08:39] chapel: listen to podcasts
[08:39] jesusabdullah: I think it was more of a problem with typing than anything
[08:39] JackeyChan: this.action = {};
[08:39] JackeyChan: }
[08:39] JackeyChan: Event.prototype.on = function(action, callback) {
[08:39] JackeyChan: this.action.propotype.action = [callback];
[08:39] Hamms has joined the channel
[08:39] JackeyChan: }
[08:39] JackeyChan: var event = new Event();
[08:39] JackeyChan: event.on('start', function () {
[08:39] JackeyChan: //
[08:39] JackeyChan: });
[08:39] chapel: use it to tether to my laptop
[08:40] jesusabdullah: JackeyChan: plz2b use gist.github.com, pastebin, or something similar.
[08:40] JackeyChan: is there has wrong with: this.action.prototype.action = [callback]; ?? how to write it ?
[08:40] viz has joined the channel
[08:40] creationix: android may be linux, but it's locked down
[08:40] jesusabdullah: JackeyChan: THEN link us to the gist/pastie/whatev and ask "wtf"
[08:40] creationix: you don't have to root or jailbreak a webos device to get linux root
[08:40] jesusabdullah: orly?
[08:40] jesusabdullah: Man, this might be an HP device I actually like!
[08:41] chapel: well I have google android phone, so I just change a setting and I have root
[08:41] creationix: you just install the sdk on your laptop and enable developer mode on the phone
[08:41] chapel: the way its meant to be
[08:41] creationix: and you can og right in
[08:41] JackeyChan: ok. thanks your suggestion
[08:41] chapel: creationix: its locked down by 3rd parties
[08:41] chapel: hp owns webos and hp phones
[08:41] chapel: :P
[08:41] creationix: chapel: really? I have a stock nexus one
[08:41] creationix: chapel: how do I get root?
[08:42] chapel: hook it up to a computer, use the android sdk, and type a command
[08:42] creationix: fair enough
[08:42] chapel: might be harder than webos
[08:43] chapel: but its not blocked on nexus one
[08:43] chapel: not sure about nexus s
[08:43] chapel: I believe its open as well, but I could be wrong
[08:43] creationix: anyway, back to node-leveldb. Once I go to bed, it's back to working on webos in the morning
[08:43] chapel: heh
[08:43] aliem has joined the channel
[08:43] ryah has joined the channel
[08:43] chapel: is anything happening with webos and node, coming back to nodeland?
[08:44] TheFuzzball has joined the channel
[08:45] creationix: chapel: not much at the moment
[08:45] creationix: chapel: I'll work more on webos and node after this release
[08:45] chapel: yeah
[08:45] chapel: understandable
[08:45] chapel: are you guys keeping up with node's api changes?
[08:45] creationix: but leveldb could make a cool base for a service
[08:46] chapel: yeah
[08:46] creationix: chapel: we're still chipping node v0.2.x, but all the code works on 0.4.x as well.
[08:46] creationix: *shipping
[08:46] chapel: cool
[08:46] chapel: though too bad
[08:47] jesusabdullah: I'm totally running express on my phone
[08:47] jesusabdullah: ^__^
[08:47] creationix: chapel: let's face it. it's amazing that carriers are letting us put something like node on a phone in the first place
[08:47] creationix: qa cycles will make it constantly a little behind
[08:47] JackeyChan: https://gist.github.com/980417. this the issue code that i made. the method of on() and emit()can not work. can you help me ??
[08:48] chapel: yeah, creationix
[08:48] markwubben has joined the channel
[08:48] chapel: I know, and completely understand
[08:48] creationix: but node moves fast and webOS releases often
[08:48] chapel: just saying its too bad that you couldn't keep up to date
[08:48] creationix: agreed
[08:48] oscarkilhed has joined the channel
[08:49] `3rdEden: ACTION would swap his iPad for a WebOS Touchpad any day
[08:49] yokoe has joined the channel
[08:49] mape has joined the channel
[08:49] jesusabdullah: ACTION doesn't have a touchpad
[08:49] jesusabdullah: I have a Dell Mini 9
[08:49] jesusabdullah: and that's it
[08:50] chapel: creationix: now if the tablet is powerful enough, node would be sweet on there
[08:50] chapel: I would build out a bunch of remote control stuff for node servers and stuff
[08:50] creationix: chapel: it's the most powerful tablet out there
[08:50] creationix: but still arm
[08:50] creationix: nothing like a laptop
[08:50] chapel: you got a link about specs?
[08:51] chapel: if you're not busy
[08:51] chapel: which you probably are
[08:51] chapel: ACTION goes and googles
[08:51] creationix: Qualcomm Snapdragon dual-CPU APQ8060 1.2GHz
[08:51] creationix: on http://www.palm.com/us/products/pads/touchpad/index.html
[08:51] chapel: ah cool
[08:52] chapel: though, the nvidia dual and quad core chips are coming out soon
[08:52] jesusabdullah: Oh sweet, it looks like you can use quickbooks as a webservice now
[08:53] chapel: is touchpad tethered like an ipad?
[08:53] chapel: or does it care if you have a computer or not?
[08:53] JackeyChan: 蛋疼
[08:54] jesusabdullah: aww shit it's monthly
[08:54] indutny has joined the channel
[08:55] creationix: chapel: not tethered
[08:55] chapel: cool
[08:55] creationix: chapel: especially once you install a terminal app
[08:55] chapel: just think apples reliance on a computer is dumb
[08:55] creationix: it ties to your webos account in the cloud
[08:55] chapel: similar to google
[08:56] LacKac has joined the channel
[08:56] LacKac: hey all
[08:56] JackeyChan: how about use nodejs to write micro blog like twitter ?
[08:56] chapel: anyways, thanks for your info, I won't bug you anymore, keep up the good work
[08:58] skm has joined the channel
[09:00] dies_el has joined the channel
[09:00] pyrotechnick: is there way to listen to all events with EventEmitter like "*" or something?
[09:01] jaket_ has joined the channel
[09:02] rgabo has joined the channel
[09:02] Marak has joined the channel
[09:03] rgabo: is there any way to listen on I/O but letting node.js know that it is fine to exit the event loop if it's only listening on the I/O port?
[09:03] rgabo: hai
[09:03] LacKac: is there a way to flag some socket or file descriptor as 'close-able' so that node wouldn't wait for it if there's nothing left open
[09:03] jacobolus has joined the channel
[09:03] LacKac: rgabo: :)
[09:03] rgabo: :) sitting next to each other
[09:03] sh1mmer has joined the channel
[09:05] LacKac: hey Marak, good to see you here
[09:06] Marak: i dont know where i got here
[09:06] Marak: imnotverygoodwithcomputers
[09:06] brownies has joined the channel
[09:06] Marak: does anyone have any bitcoins?
[09:06] Rob- has joined the channel
[09:06] jesusabdullah: Nope!
[09:06] JackeyChan: is there anyway to extends object ? like jquery $.extends ()
[09:07] k1ttty has joined the channel
[09:07] jesusabdullah: I think the right time to have invested in bitcoins was 2 weeks ago
[09:07] jesusabdullah: At this point I'm just gonna wait and see
[09:07] mape has joined the channel
[09:07] pyrotechnick: Marak: got a few
[09:07] pyrotechnick: we're writing some libs too if you're keen
[09:07] pyrotechnick: https://github.com/dekz/dcrypt
[09:07] jesusabdullah: Might start accepting bitcoins for craigslisted stuff, if I get around to client-ing up
[09:07] Marak: lol
[09:07] Marak: who has them?
[09:08] mscdex: probably your neighbor
[09:08] JackeyChan: var options = {vid:0}, options2 = {tid: 1};options= extends(options, options2); // options = {vid:0, tid: 1} like that
[09:08] pyrotechnick: we have a few each, one of us has like 80 from being in a pool for ages
[09:08] pyrotechnick: 80 BTC not keys
[09:08] jesusabdullah: That's quite a bit from the sound of it!
[09:08] jesusabdullah: Isn't the exchange rate like $8/btc right now?
[09:08] pyrotechnick: last time i checked it was 4
[09:08] pyrotechnick: but its been steadily increasing
[09:09] jesusabdullah: It's gone up ridiculously this last week
[09:09] jesusabdullah: I know that
[09:09] LacKac: JackeyChan: as I've seen so far most libraries write their own implementation for this
[09:09] pyrotechnick: yeah because of a difficulty increase
[09:09] mscdex: JackeyChan: like util.inherits() ?
[09:09] LacKac: JackeyChan: but you could use underscore if you want this and other cool functional programming helpers
[09:09] mscdex: oh wait extends
[09:10] mscdex: JackeyChan: i just use a slightly modified version of the jquery extends function
[09:10] pyrotechnick: Marak: why do you ask? just curious?
[09:10] Marak: pyrotechnick: i want one so im cool
[09:10] Marak: pyrotechnick: im not cool now
[09:10] pyrotechnick: oh
[09:10] JackeyChan: mscdex: thanks. i will review the jquery lib
[09:10] pyrotechnick: there's an appengine app giving some out for free
[09:10] pyrotechnick: not 1BTC
[09:11] pyrotechnick: but like a few hashes
[09:11] pyrotechnick: 5 cents or something
[09:11] pyrotechnick: 5 BTC cents
[09:11] mscdex: pyrotechnick: there was discussion of adding the ability to listen to all events on nodejs-dev some time back
[09:11] Marak: i got that from prettyrobots
[09:11] Marak: err
[09:11] Marak: pyrotechnick: i did the free thing, waiting now
[09:11] pyrotechnick: have you built your block chain yet?
[09:12] Marak: I DONT KNOW
[09:12] Marak: err
[09:12] Marak: caps
[09:12] Marak: i dont know
[09:12] pyrotechnick: what client are you using
[09:12] prettyrobots: What did I do?
[09:12] Marak: pyrotechnick: macos
[09:12] pyrotechnick: how many blocks do you have
[09:12] prettyrobots: ACTION Denies all repsonsibility.
[09:12] mscdex: heh
[09:12] Marak: pyrotechnick: no idea
[09:12] pyrotechnick: you should have http://blockexplorer.com/block/00000000000006632845efdd96ab2b39ed129c7c25a96092f0f40072db12e0a5
[09:12] chapel: Marak: buy like 20 gpus from newegg, and build a few miners
[09:12] pyrotechnick: http://blockexplorer.com/
[09:13] Marak: chapel: would would i do that when i have node-cloudservers
[09:13] pyrotechnick: because they dont have gpus
[09:13] chapel: need gpus
[09:13] chapel: cpus are shit for mining
[09:13] pyrotechnick: what chapel said
[09:13] chapel: oh, and amd gpus
[09:13] chapel: not nvidia
[09:13] pyrotechnick: the slowest part is the ecdsa and that flies on gpu
[09:14] Marak: i think 10k machines could outperform 10 gpus no?
[09:14] pyrotechnick: it would cost you more electricity than it's worth
[09:14] pyrotechnick: unless you're getting that hardware for free
[09:14] chapel: 10k machines at 100%, yeah, not worth it
[09:15] prettyrobots: BitCoin: What is the opposite of green?
[09:15] chapel: 10k machines = like 40Gh/s
[09:15] prettyrobots: A great way to convert our energy dependency back into currency.
[09:15] chapel: if you get like 4kh/s per machine
[09:15] Marak: lol
[09:15] nexxy: bitcoins!
[09:16] nexxy: the currency that's created from thin air by wasting electricity!!
[09:16] nexxy: how exciting
[09:16] chapel: Marak: one gpu can get 300Mh/s
[09:16] prettyrobots: Seriously, how did this become a thing?
[09:16] gqlewis has joined the channel
[09:17] pyrotechnick: it's not really about generating them from thin air it's about POW, they could have folded proteins or SETI instead
[09:17] chapel: so one gpu is worth like 75 of your machines
[09:17] prettyrobots: Can anyone here say, oh, I love them because of X.
[09:17] mscdex: they could have folded aliens
[09:17] pyrotechnick: they could have
[09:17] prettyrobots: pyrotechnick: What does POW stand for?
[09:17] pyrotechnick: i love them because they're not at the mercy of central banks
[09:17] pyrotechnick: proof of work
[09:17] pomodoro has joined the channel
[09:18] prettyrobots: Ah.
[09:18] pyrotechnick: im working on a proposal that will fold proteins instead
[09:18] mscdex: but bitcoin isn't backed by a bank that guarantees your money?
[09:18] prettyrobots: Ah.
[09:18] prettyrobots: pyrotechnick: That would be awesome.
[09:18] pyrotechnick: it would also give alot more incentive to mine
[09:18] prettyrobots: I'd suddenly really like the idea.
[09:18] pyrotechnick: especially for academics/nice people
[09:19] pyrotechnick: its not just a money-grab then
[09:19] mscdex: seems like your collection of bitcoins could becoming worthless just like that
[09:19] mscdex: s/becoming/become/
[09:19] pyrotechnick: yeah it could
[09:19] prettyrobots: Yeah, the whole thing is so sleezy.
[09:19] nexxy: once bitcoin becomes popular enough
[09:19] mscdex: that's not very reassuring :p
[09:19] chapel: pyrotechnick: the problem is difficulty
[09:19] prettyrobots: Without really appearing to be valuable.
[09:19] nexxy: it will be seized and manipulated
[09:19] nexxy: like every other currency
[09:20] chapel: the reason bitcoins work (in principle) is that it becomes harder to mine them
[09:20] pyrotechnick: most people think the value of bitcoins is backed by floating point operations
[09:20] pyrotechnick: that's not the case
[09:20] nexxy: chapel, is that why fossil fuels work? ;3
[09:20] prettyrobots: Wow. You all are really thinking about this.
[09:20] Swizec has joined the channel
[09:20] nexxy: oh wait
[09:20] chapel: the value of bitcoin is very much based on trade
[09:20] pyrotechnick: kinda
[09:20] chapel: lol nexxy
[09:20] nexxy: and then
[09:20] pyrotechnick: the value of bitcoins is backed by how much more incentive people have to use bitcoins than the contending virtual currencies
[09:20] chjj: deep economic discussion on bit coins
[09:20] nexxy: a few people that were in it from the beginning
[09:20] nexxy: will realize
[09:20] nexxy: that they can collude w/ each other
[09:21] nexxy: and modify their consensus together
[09:21] mscdex: i wonder if bitcoins will catch on as a currency just like swatch time caught on as a popular measure of time
[09:21] nexxy: just liek the federal reserve!
[09:21] mscdex: :p
[09:21] thalll has joined the channel
[09:22] chapel: pyrotechnick: but Im not talking about value entirely, talking about long term, making it more difficult simulated scarcity, without scarcity, there is no inherent value down the line, if you can keep printing money indefinitely, money becomes worthless
[09:22] pyrotechnick: chapel: correct, for now
[09:22] prettyrobots: mscdex: I can't tell who's joking here and you're not helping.
[09:22] chapel: bitcoin isn't the first virtual currency
[09:22] chapel: and it wont be the last
[09:22] mscdex: heh
[09:22] nexxy: money doesn't become worthless by printing more indefinitely
[09:22] Murugaratham has joined the channel
[09:22] pyrotechnick: until there's a currency that provides more incentive to use, at which point bitcoins begin their decent towards being worth nothing
[09:22] nexxy: money becomes worthless when we all realize it ;o
[09:22] nexxy: we will never realize it
[09:23] mscdex: node.js rules!
[09:23] chapel: nexxy: yes it does, but the goverment can enforce the value artificually
[09:23] chapel: bah at typos
[09:23] chjj: ACTION needs more webscale
[09:23] pyrotechnick: i think if you can back the currency by something that does more than just consume electricity
[09:23] nexxy: mhmm
[09:23] pietern has joined the channel
[09:23] chapel: webscale, the only real currency
[09:23] mscdex: ACTION needs more hours of sleep
[09:23] chjj: yes ^
[09:23] pyrotechnick: then you will win over alot of bitcoiners, and would-be bitcoiners
[09:23] nexxy: pyrotechnick, yeah! like something... something that adds flavor to food?
[09:24] nexxy: I know!!
[09:24] nexxy: salt!
[09:24] pyrotechnick: MSG
[09:24] prettyrobots: Folded proteins as POW gets me excited about it.
[09:24] nexxy: wow
[09:24] nexxy: apparently msg gets pyrotechnick excitd
[09:24] mscdex: make sure you fold your protiens neatly
[09:24] chapel: pyrotechnick: the scarcity is what makes people want to trade in it, because they know that eventually, only people with huge investment in mining them will be able to make them, the rest of the market will just be what is out there
[09:25] chapel: if you can make folding proteins more difficult
[09:25] nexxy: spray starch?
[09:25] chapel: or make it so the payout is less
[09:25] chapel: idk
[09:25] pyrotechnick has joined the channel
[09:25] chapel: just saying, a static earning rate, is going to kill any currency
[09:25] chapel: bah, where is Dr_K when you need em
[09:26] nexxy: this reminds me
[09:26] nexxy: of that time
[09:26] prettyrobots: I'm surprised that everyone here takes it seriously.
[09:26] nexxy: when everyone started discussing node.js trademark!
[09:26] sfoster has joined the channel
[09:26] pyrotechnick: you can
[09:26] chapel: prettyrobots: I am interested in it, but don't take it seriously
[09:26] chjj: haha nexxy
[09:26] prettyrobots: I guess I'm going to take it seriously.
[09:26] chjj: exactly
[09:26] mscdex: so who wrote the multiplayer scorched earth game in node?
[09:26] asabil has joined the channel
[09:26] pyrotechnick: there are many, relatively, predictable "tiers" of proteins in terms of the computation needed to fold them
[09:27] prettyrobots: chapel: I don't mean that you're not critical, but that you're giving it your consideration.
[09:27] prettyrobots: Generally, when people talk about Internet currencies, I tune them out.
[09:27] chapel: ah
[09:27] chapel: Im just curious how legitimate it can become
[09:27] nexxy: prettyrobots, you know you're crazy for linden
[09:28] chapel: and I always enjoyed folding at home
[09:28] prettyrobots: Because, in the last 15 years, whenever anyone walked up to me in the coffee shop and said, hey, you look like you know about computers, I've got this idea...
[09:28] chjj: lets start our own internet currency, measured in units of webscale
[09:28] chjj: ACTION needs 3 more webscale
[09:28] prettyrobots: Their idea was always micro-payments.
[09:28] chapel: micropayments !== digital currency
[09:29] nexxy: can we just start using the tabs from soda cans as a currency?
[09:29] nexxy: I'd be rich ;3
[09:29] prettyrobots: chapel: Same vein.
[09:29] chapel: sure
[09:30] prettyrobots: Same sort of.... I mean, captures the imagination of those that don't know better.
[09:30] chapel: pyrotechnick: why scarcity is important, almost all currency used to be based on something valuable and rare already, like gold
[09:30] prettyrobots: nexxy: Yeah, Linden was the last incarnation of this that got press.
[09:30] nexxy: ACTION devises a currency based on love
[09:30] chapel: but now, at least the usd, it is based on the word of our government
[09:30] nexxy: it's both valuable... and rare!
[09:30] criswell has joined the channel
[09:31] nexxy: chapel, the word of the federal reserve*
[09:31] chjj: nexxy: but how could you sell love then?
[09:31] nexxy: chjj, you should coem see where I work
[09:31] nexxy: lol
[09:31] nexxy: they will show you
[09:31] chapel: nexxy: well, its the us gov that backs it, its the fed reserve that prints it
[09:31] chjj: no imean, if love is currency, you cant sell love for love, doesnt work
[09:31] pyrotechnick: the us government IS the federal reserve
[09:31] nexxy: no john, you are the demons
[09:31] prettyrobots: chjj: Ask Cole Porter.
[09:31] pyrotechnick: havent you seen zeitgeist
[09:32] chapel: pyrotechnick: nope
[09:32] pyrotechnick: i suggest not seeing it
[09:32] prettyrobots: chjj: Also, you can't convert it to other currencies, according to the Beatles.
[09:32] nexxy: chjj, there are different kinds of love
[09:32] nexxy: you could trade one kind for another
[09:32] chjj: nonsense
[09:33] nexxy: like a forex
[09:33] nexxy: only stickier
[09:33] liquidproof has joined the channel
[09:33] prettyrobots: nexxy: No you can't. Everybody tells me so.
[09:33] chjj: so what kind of love would the currency be then?
[09:33] chjj: you didnt specify
[09:33] nexxy: I hear my mom calling...
[09:34] chjj: i see
[09:34] chjj: ...
[09:35] nexxy: long-term I think my idea is as workable as bitcoin
[09:35] chjj: all i know is, id rather buy love with bit coins than with love
[09:35] chjj: !
[09:36] FredFred has joined the channel
[09:37] Bj_o_rn has joined the channel
[09:38] jimt_ has joined the channel
[09:38] prettyrobots: http://gd0t.com/node/15
[09:40] prettyrobots: Really interesting stuff.
[09:40] nexxy: what?
[09:40] nexxy: oh sorry... was buying gold for WoW
[09:41] chapel: its interesting to see, not sure if its worth investing in
[09:41] nexxy: yeah, bitcoin... great stuff
[09:41] fly-away has joined the channel
[09:41] chapel: lol
[09:41] chapel: quit being a sour puss
[09:41] nexxy: oh my bad
[09:41] nexxy: ACTION adds more high fructose corn syrup
[09:41] chapel: yes
[09:41] prettyrobots: I'm really interested in peer-to-peer, and BitCoin is amazing in that respect.
[09:41] chapel: add that to your love coins
[09:41] nexxy: the stickier the better
[09:43] chapel: you guys see this http://acko.net/blog/on-termkit ?
[09:43] pyrotechnick: its sick
[09:43] pyrotechnick: ran it today
[09:43] pyrotechnick: although it froze a few times
[09:43] pyrotechnick: but still cool
[09:43] chapel: now, I remember saying that Id love to see a node.js based shell replacement
[09:43] `3rdEden has joined the channel
[09:43] chapel: this is what I was thinking about when I said that
[09:43] Booster2ooo: Hi
[09:44] nexxy: darn kids and their toys
[09:44] nexxy: termkit looks like it belongs on an iphone
[09:45] chapel: haha
[09:45] Booster2ooo: I've got a problem with Marty Smith irc lib. I'm trying to make a web irc client, i can receive msg form irc but when I try to send one, irc lib raises an error:
[09:45] Booster2ooo: http://pastebin.com/Q2xZsTDw
[09:45] Booster2ooo: (Error & code snippet)
[09:45] prettyrobots: It does not aim to e.g. host 'vim'.
[09:45] prettyrobots: I will let nothing stand between me and vim.
[09:45] Booster2ooo: Does anybody can tell me what the problem is please?
[09:46] mischief has joined the channel
[09:47] chapel: pyrotechnick: someone should integrate cloud9 with it, so its a seamless experience
[09:47] chapel: just like doing vim foo.js
[09:47] eikaas_ has joined the channel
[09:47] chapel: c9 foo.js
[09:47] pyrotechnick: chapel: that would be very cool
[09:48] prettyrobots: Booster2ooo: Someone is going to tell you to put an "error" listener somewhere to look at the contents of that error.
[09:48] prettyrobots: But, I don't know where.
[09:48] chapel: pyrotechnick: since its webkit
[09:48] Booster2ooo: How do I put an error listener oO?
[09:48] Booster2ooo: can I use some kind of try/catch ?
[09:48] Booster2ooo: (Im quite a big noob in JS ^^)
[09:49] prettyrobots: something.on("error", function (error) { throw error; });
[09:49] pyrotechnick: process.uncaughtException
[09:49] fly-away has joined the channel
[09:49] prettyrobots: Oh, yeah.
[09:49] pyrotechnick: no
[09:49] prettyrobots: Or that.
[09:49] pyrotechnick: not even
[09:49] prettyrobots: Who no? Did I get something wrong?
[09:49] pyrotechnick: let me checkit out
[09:49] pyrotechnick: nah i just suck
[09:49] prettyrobots: ACTION Confused.
[09:50] prettyrobots: process.uncaughtException will be a good place to inspect the exception.
[09:50] prettyrobots: You can use `console.log(error)` to see the exception guts.
[09:51] prettyrobots: Is addListener an alias for on?
[09:51] prettyrobots: Try ircClient.addListener("error", function (error) {
[09:52] pyrotechnick: try { self.emit('raw', message); } catch ( err ) { if ( !self.conn.requestedDisconnect ) { throw err;} }
[09:52] pyrotechnick: thats where it's throwing
[09:52] prettyrobots: ACTION Done dispensing bad advice.
[09:52] _jdalton has joined the channel
[09:53] Booster2ooo: pyrotechnick > I'm gonna try, thanks
[09:54] lmorchard has joined the channel
[09:56] sonnym has joined the channel
[09:56] febits has joined the channel
[09:58] aliem has joined the channel
[09:58] Booster2ooo: pyrotechnick > erf, self is not defined :/
[10:00] mischievious has joined the channel
[10:01] mischievious has joined the channel
[10:02] justinTNT: self? ugh ...
[10:03] ardcore has joined the channel
[10:03] ardcore has left the channel
[10:04] mischief has joined the channel
[10:05] Mrfloyd has joined the channel
[10:06] mischief has joined the channel
[10:06] cryptix has joined the channel
[10:08] sh1m has joined the channel
[10:09] sh1mmer: creationix: hey
[10:09] sh1mmer: you around
[10:09] creationix: yep
[10:09] sh1mmer: is there a replacement for staticProviders ability to specific a route
[10:10] sh1mmer: .static() doesn't have a route argument
[10:10] sh1mmer: and I couldn't see an obvious way for it to take one
[10:10] creationix: .static in what?
[10:10] sh1mmer: connect
[10:10] sh1mmer: sorry
[10:10] creationix: not sure, I haven't worked on connect in a while
[10:11] creationix: maybe use in conjunction with a route middleware
[10:11] sh1mmer: yeah
[10:11] stagas: sh1mmer: use the .router() middleware
[10:11] sh1mmer: I figured, but I thought I'd ask
[10:11] creationix: my new one takes it as the first arg
[10:11] neshaug has joined the channel
[10:11] sh1mmer: using bad examples in my workshop because the api all changed when I wasn't looking
[10:11] sh1mmer: :)
[10:11] creationix: https://github.com/creationix/creationix/blob/master/static.js
[10:11] creationix: it's connect compatable
[10:12] stagas: sh1mmer: in express you can pass a path in app.use('/mypath/', express.static(...))
[10:12] sh1mmer: stagas: thanks
[10:12] sh1mmer: gtg
[10:12] sh1mmer: lunch time in Poland
[10:13] mischief has joined the channel
[10:14] F1LT3R has joined the channel
[10:14] TomY has joined the channel
[10:16] Remoun has joined the channel
[10:17] ditesh|cassini has joined the channel
[10:18] criswell has joined the channel
[10:21] tayy has joined the channel
[10:21] sherod has joined the channel
[10:22] brownies has joined the channel
[10:22] no-gooder has joined the channel
[10:25] FireFly|n900 has joined the channel
[10:31] TomY has joined the channel
[10:35] galaxywatcher has joined the channel
[10:41] bshumate has joined the channel
[10:41] bshumate has joined the channel
[10:41] Fuu` has joined the channel
[10:42] SvenDowideit_ has joined the channel
[10:47] Nohryb has joined the channel
[10:48] Wizek has joined the channel
[10:50] Nohryb: .
[10:51] robhawkes has joined the channel
[10:51] dgathright has joined the channel
[10:53] sorens3n has joined the channel
[10:53] tayy has joined the channel
[10:53] viz has joined the channel
[10:55] Tyler has joined the channel
[10:56] spytheman66 has joined the channel
[10:56] okuryu has joined the channel
[10:59] bshumate has joined the channel
[11:02] materialdesigner has joined the channel
[11:03] delian66 has joined the channel
[11:03] ExsysTech has joined the channel
[11:04] mischief has joined the channel
[11:06] galaxywatcher has joined the channel
[11:06] ardcore has joined the channel
[11:07] dgathright has joined the channel
[11:07] FireFly|n900 has joined the channel
[11:10] febits[0] has joined the channel
[11:11] hebz0rl has joined the channel
[11:12] ardcore has left the channel
[11:13] bwinton has joined the channel
[11:18] royvandermeij has joined the channel
[11:19] JackeyChan: Poland is good place for travel
[11:21] zackattack has joined the channel
[11:21] zackattack: Anyone here good with debugging javascript problems on internet explorer?
[11:21] zackattack: I know to ask #js, but figured there was a shot here too :)
[11:23] uchuff has joined the channel
[11:23] mscdex: zackattack: solution: don't use IE
[11:23] mscdex: :-D
[11:24] zackattack: mscdex: unfortunately my users do! >=(
[11:24] mscdex: tell them to get a browser
[11:24] zackattack: lol! i wish firefox still paid installer fees...
[11:24] zackattack: or chrome rather, though i don't think they ever did?
[11:25] mscdex: installer fees?
[11:25] eb4890 has joined the channel
[11:26] zackattack: yeah
[11:26] forzan has joined the channel
[11:27] mscdex: huh?
[11:27] zackattack: a long time ago, google would pay you $1 every time you got someone to install firefox
[11:27] zackattack: firefox uses google as the browser of choice
[11:27] mscdex: oh, that's not a fee then :)
[11:27] zackattack: it's well worth it for google, they make tons of searches
[11:27] zackattack: =p
[11:27] zackattack: it yields commission fees
[11:30] TomY has joined the channel
[11:32] zilch has joined the channel
[11:33] thalll has joined the channel
[11:33] zilch: What is the best approach to put node.js on ec2 with mongodb ?
[11:38] zilch: should we use bitnami ?
[11:39] `3rdEden: best approch is not using EBS
[11:40] zilch: `3rdEden, so what would you recommend ?
[11:40] `3rdEden: use the storage that is on the instances them self ;p
[11:40] jscheel has joined the channel
[11:40] jscheel has joined the channel
[11:40] `3rdEden: which is much more relaible, performance wise
[11:40] zilch: so in that case joyent offering is good ?
[11:41] zilch: cant I have both mongo and node.js running on the EC2 ?
[11:41] skm has joined the channel
[11:42] `3rdEden: joyent pwns AC2
[11:42] `3rdEden: memory wise, io wise, cpu wise
[11:43] tiagoa has joined the channel
[11:44] chapel: is joyent public now?
[11:45] zilch: `3rdEden, couldn't get you on AC2 ...
[11:45] zilch: did you meant EC2 ?
[11:45] `3rdEden: TYPO
[11:45] zilch: k :)
[11:45] `3rdEden: ./CAPS :
[11:45] McMAGIC--Copy has joined the channel
[11:45] `3rdEden: aah fail
[11:46] zilch: so joyent is better for mongo/node combination
[11:46] zilch: I am able to use the beta program on joyent which is with only 128 MB :(
[11:48] eee_c has joined the channel
[11:48] sherod has joined the channel
[11:49] `3rdEden: you can always just get a smartmachine
[11:49] `3rdEden: no.de servers are just smartmachines with some tricked out features :)
[11:49] tmedema has joined the channel
[11:50] brownies has joined the channel
[11:50] wao: :)
[11:50] wao: what are costs for no.de machines?
[11:50] SeyZ has joined the channel
[11:51] Guest74518 has joined the channel
[11:51] Guest74518: hey guys, do you know if there is any way to use the socket.io client lab, in node?
[11:52] Guest74518: What Im trying to do is load test my socket.io server using javascript in node..
[11:52] Guest74518: to get away from having to open a multitude of browsers..
[11:52] `3rdEden: Guest74518 the full client lib, no. Using other libs, yes
[11:52] `3rdEden: Guest74518https://github.com/remy/Socket.io-node-client
[11:52] `3rdEden: https://github.com/remy/Socket.io-node-client
[11:53] galaxywatcher has joined the channel
[11:53] Guest74518: thanks
[11:53] Guest74518: do you have any experience doing this, does is seem like a good approach?
[11:55] RC1140 has joined the channel
[11:58] `3rdEden: For communicating with the server, yes. Load testing no
[11:58] `3rdEden: because Socket.IO uses different transports
[11:58] `3rdEden: you should be testing each one of them
[11:59] `3rdEden: On 0.7 you can do this with: https://github.com/learnboost/socket.io-node-client
[11:59] `3rdEden: but 0.7 isn't released yet
[12:01] jonathantaylor1 has joined the channel
[12:01] neoesque has joined the channel
[12:02] poincare101 has left the channel
[12:02] Mrfloyd has joined the channel
[12:06] Guest74518: `3rdEden: got it, thanks
[12:07] dnolen has joined the channel
[12:07] astropirate has joined the channel
[12:09] mc_greeny has joined the channel
[12:10] stonebranch has joined the channel
[12:11] broofa has joined the channel
[12:11] LacKac: `3rdEden: good to see you here
[12:11] LacKac: i'm evaluating node.js memcached client libraries
[12:11] LacKac: and I've found yours
[12:12] LacKac: the version number is a bit scary, but still it seems to be the most complete
[12:13] LacKac: have you used it in production?
[12:16] skyloid has joined the channel
[12:17] criswell has joined the channel
[12:18] galaxywatcher has joined the channel
[12:18] `3rdEden: LacKac yes we used it in production in our prev. deployment
[12:18] `3rdEden: LacKac just because the version number is low doesn't directly indicate it's unstable ;)
[12:19] MrTopf has joined the channel
[12:19] LacKac: `3rdEden: that was my experience as well
[12:19] `3rdEden: That it was unstable?
[12:19] LacKac: no
[12:19] `3rdEden: pfew :D
[12:19] LacKac: that it wasn't
[12:19] springify has joined the channel
[12:20] zitchie has joined the channel
[12:20] LacKac: i started integrating it but then I switched to another one (elbart/node-memcache)
[12:21] `3rdEden: If you don't me asking, why did you switch?
[12:21] LacKac: it feeled simpler but still doing everything we needed
[12:21] `3rdEden: ah
[12:21] LacKac: but now I have some problems with that one
[12:21] `3rdEden: Yeh it's simpler, but that because it only supports one server
[12:21] LacKac: namely: it keeps the connection open and that hangs our processes
[12:21] `3rdEden: and the whole deal with memcached is that yhou can use memory from multiple servers :)
[12:21] LacKac: one server is enough for us
[12:22] `3rdEden: Untill you hit the front-page of digg :p
[12:22] LacKac: we're using membase with moxi in front of it
[12:22] `3rdEden: ah
[12:23] matjas has joined the channel
[12:23] jano has joined the channel
[12:24] LacKac: anyway, I think I'll switch back :)
[12:24] LacKac: because of the connection pooling implementation
[12:25] LacKac: just wanted to know if you think it's stable enough for production
[12:26] frodenius has joined the channel
[12:26] frodenius has joined the channel
[12:27] `3rdEden: LacKac yes I do think it is
[12:27] `3rdEden: I have been working on a small refactor of the code, which is staging in https://github.com/3rd-Eden/node-memcached/tree/v0.0.1
[12:27] fumanchu182 has joined the channel
[12:27] `3rdEden: Mainly because I wanted to build a proper test suite
[12:28] `3rdEden: And externalize some of the code that I created while building this module, like node-hashring etc
[12:28] LacKac: that's what is pushed to npm, isnt' it?
[12:28] `3rdEden: there 2 in npm
[12:28] `3rdEden: npm install memcached and npm install nmemcached
[12:28] `3rdEden: :D
[12:28] beawesomeinstead has joined the channel
[12:28] LacKac: the former is from the 0.0.1 branch
[12:28] `3rdEden: the `memcached` is the latest re-build
[12:29] no-gooder has joined the channel
[12:29] no-gooder: weird question :
[12:30] tmedema: Does Browserify work with raw/custom javascript files like jquery?
[12:30] no-gooder: is it possible to store javascript code into database and when it's needed get from database and execute it ??
[12:30] `3rdEden: sure why not
[12:30] ardcore has joined the channel
[12:30] `3rdEden: you can use the vm module
[12:30] LacKac: `3rdEden: thanks for your help and the memcached lib
[12:30] `3rdEden: or eval
[12:30] hybsch has joined the channel
[12:31] no-gooder: eval ? is it a function ?
[12:31] LacKac: `3rdEden: let me know if there's something I could contribute to it
[12:32] xtianw has joined the channel
[12:32] hwinkel has joined the channel
[12:32] Leon has joined the channel
[12:32] Leon: A Hash library in nodeJS: _https://github.com/XianYeeXing/xHash
[12:33] Guest9038: not too bad, pretty easy to use~
[12:33] `3rdEden: LacKac finding bugs is always more than welcome =p
[12:33] LacKac: `3rdEden: I'm on it ;)
[12:33] jTNT has joined the channel
[12:33] no-gooder: `3rdEden , also what is vm module ?
[12:34] `3rdEden: http://nodejs.org/docs/v0.4.7/api/vm.html
[12:35] no-gooder: `3rdEden , thanks buddy i2m on it
[12:36] ezl has joined the channel
[12:38] `3rdEden: also eval is a javascript function to `evaluate` javascript :p
[12:40] drudge: can i get the certificate info for a tls incoming connection?
[12:40] udp has joined the channel
[12:40] udp has joined the channel
[12:43] kriszyp has joined the channel
[12:43] burg has joined the channel
[12:43] jamey-uk has left the channel
[12:43] burg: hello. i`ve installed a node.js module with npm - what is the location of the new module now?
[12:45] liquidproof has joined the channel
[12:45] `3rdEden: depends how yo uinstall it..
[12:46] LacKac: burg: probably ./node_modules/module_name if you're using npm 1.0.x
[12:46] Guest9038: xHash ??
[12:46] burg: you mean ~/node_modules/ ?
[12:46] gmanika_ has joined the channel
[12:47] Guest9038: why nodeJS programminh needs ...... hash......?
[12:47] herbySk has joined the channel
[12:47] Guest9038: maybe object in javascript can do the same thing
[12:47] LacKac: burg: no, it's relative to the directory you issued the command in
[12:47] criswell has joined the channel
[12:48] LacKac: burg: have a look at this blogpost, it explains it all: http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/
[12:49] burg: thanks
[12:49] ExsysTech has joined the channel
[12:50] demolithion has joined the channel
[12:50] sreeix has joined the channel
[12:52] burg: LacKac, but how do i install a module globally?
[12:52] Guest75743 has joined the channel
[12:52] LacKac: burg: npm install modulename -g
[12:53] jlecker has joined the channel
[12:54] mehlah has joined the channel
[12:54] skm has joined the channel
[12:54] meetar has joined the channel
[12:55] benmonty has joined the channel
[12:56] hellp has joined the channel
[12:56] jtsnow has joined the channel
[12:58] Rob- has joined the channel
[13:00] skiz has joined the channel
[13:00] AaronMT has joined the channel
[13:02] matthijs has joined the channel
[13:03] galaxywatcher has joined the channel
[13:03] bingomanatee has joined the channel
[13:03] mike5w3c has joined the channel
[13:04] VovaZaycev has joined the channel
[13:06] pdelgallego has joined the channel
[13:09] stonebranch has joined the channel
[13:13] davidsklar has joined the channel
[13:14] hsttlrjeff has joined the channel
[13:15] bzinger has joined the channel
[13:16] bzinger has joined the channel
[13:16] dyer has joined the channel
[13:16] dyer has joined the channel
[13:16] ryankirkman has joined the channel
[13:16] eikaas_ has joined the channel
[13:17] bergie has joined the channel
[13:17] boehm has joined the channel
[13:18] febits[0] has joined the channel
[13:19] lukegalea: has anyone used node-csv-parser ?
[13:19] lukegalea: It's *really* not working for me.
[13:19] jonasen has joined the channel
[13:19] xandrews has joined the channel
[13:20] gmanika_ has left the channel
[13:20] lukegalea: And the error is tremendously unhelpful: https://gist.github.com/980736
[13:20] markwubben has joined the channel
[13:22] alex_b has joined the channel
[13:23] christophsturm has joined the channel
[13:24] rgabo: lukegalea: we've been using 'ya-csv', it is perfect for processing CSV files as streams
[13:24] rgabo: i haven't tried node-csv-parser
[13:25] rgabo: https://github.com/koles/ya-csv
[13:25] fermion has joined the channel
[13:25] rgabo: parses the header line, emits objects with field / values, can stream from files out of the box but can also take any regular stream
[13:25] rgabo: and can also write csv/tsv
[13:25] lukegalea: That sounds good. My primary criteria is that it work at all. :) I'll give this a go right now!
[13:26] rgabo: we're streaming 100mb+ csv files through it
[13:26] rgabo: never coughed
[13:26] rgabo: ;)
[13:26] tswicegood has joined the channel
[13:27] aabt has joined the channel
[13:27] rgabo: lukegalea: ping me if you have an issues with ya-csv
[13:27] rgabo: *any
[13:27] mephux has left the channel
[13:27] criswell has joined the channel
[13:27] ezl has joined the channel
[13:28] roidrage_ has joined the channel
[13:28] Poetro has joined the channel
[13:28] lukegalea: rgabo: thanks!
[13:28] rgabo: np
[13:29] benoit has joined the channel
[13:29] benoit: hi there
[13:29] benoit: I'm having trouble compiling node
[13:29] benoit: when I do make
[13:29] Guest45147: I get this
[13:29] Guest45147: Build failed: -> task failed (err #1): {task: cxx node_crypto.cc -> node_crypto_5.o}
[13:30] RC1140 has left the channel
[13:30] Guest45147: any ideas ?
[13:30] Guest45147: I'm a bit stuck
[13:30] colinclark has joined the channel
[13:30] unomi has joined the channel
[13:31] burg: http://nodejs.org/docs/v0.4.7/api/https.html#https.createServer -- is that example supposed to work? because my browser (google chrome) sais: Error 324 (net::ERR_EMPTY_RESPONSE): The server closed the connection without sending any data.
[13:32] Guest45147 has left the channel
[13:32] arpegius has joined the channel
[13:33] seemann has joined the channel
[13:34] tanepiper has joined the channel
[13:35] ardcore has joined the channel
[13:37] seemann: http://pastebin.com/Ytv5Zjar
[13:37] ardcore has left the channel
[13:37] sorens3n: god i hate this shit
[13:37] sorens3n: http://mashable.com/2011/05/19/anonymous-transparent-infographic/
[13:37] aconbere has joined the channel
[13:37] seemann: i'm having a require problem, can anyone tell me why?
[13:37] seemann: i pasted the code here
[13:37] seemann: http://pastebin.com/Ytv5Zjar
[13:37] hij1nx has joined the channel
[13:37] seemann: it's a very very simple problem, but expresses it enough
[13:38] saschagehlich has joined the channel
[13:38] adambeynon has joined the channel
[13:38] baudehlo1: burg: I get the same problem with chrome for a plain http server. Mac OS X.
[13:38] seemann: why the console answer is { r1: [Function] } and { r2: [Function] }?
[13:38] seemann: isnt**
[13:39] sorens3n: seeman: i really cant debug your file-based requires without seeing your file-structure
[13:39] sorens3n: nameean
[13:39] sorens3n: ?
[13:39] seemann: all these files are at the same folder
[13:39] Tidwell has joined the channel
[13:39] seemann: named as they are at the paste
[13:39] sorens3n: your problem doesn't seem very clear
[13:40] seemann: file 1 imports file 2, and file 2 imports file 1
[13:40] sorens3n: what is your problem
[13:41] seemann: script1.js -> require script2.js and uses it's methods
[13:41] heavysixer has joined the channel
[13:41] sorens3n: as just some proof of concept that you can do it?
[13:42] seemann: sry, what did you mean?
[13:42] sorens3n: i guess thats really what i'm asking you
[13:42] sorens3n: what do you mean by doing all this
[13:42] seemann: i ahve two scripts that use each other methods
[13:42] ryankirkman has joined the channel
[13:43] sorens3n: the way you put this code just doesn't make much sence imo
[13:44] sorens3n: if you are including r2 within r1, why require both?
[13:44] timmywil has joined the channel
[13:44] sorens3n: and the console answers the way it does because thats what they are, functions
[13:44] sorens3n: r1 : function()
[13:44] mike5w3c has joined the channel
[13:44] Opaque has joined the channel
[13:44] sorens3n: console.log(r1) = function.........
[13:44] seemann: but r2 : {}?
[13:44] broofa has joined the channel
[13:45] nphase has joined the channel
[13:45] nphase has joined the channel
[13:45] sorens3n: it seems like your trying to make an infinate loop of sorts
[13:45] sorens3n: include r1 that includes r2 that includes r1 that includes r2
[13:45] sorens3n: or am i wrong
[13:46] seemann: i guess that's it
[13:46] avalanche123 has joined the channel
[13:46] seemann: maybe i'm not udnerstanding the require structure then
[13:46] sorens3n: the example is somewhat silly to me, and i've had a few heinekens so i'm not TRYING to be offensive
[13:46] sorens3n: but i probably will be
[13:46] sorens3n: and might be wrong
[13:47] F1LT3R has joined the channel
[13:47] sorens3n: it seems to me that you would have a higher level order of things that includes both r1 and r2 and then uses them
[13:47] sorens3n: its not very clear what your goal is on this
[13:48] sorens3n: i might be retarded
[13:48] sorens3n: :D
[13:48] seemann: i'll try a better approach then, then i'll paste it here
[13:48] sorens3n: im just trying to figure out if your mind fucking me
[13:48] sorens3n: lol
[13:48] seemann: lol
[13:48] sorens3n: cuz im having troubles :(
[13:49] Swimming_bird has joined the channel
[13:50] seemann: script 1 makes use of a function of script 2, so i require script 2 and use it's function, right?
[13:50] MikeMakesIt has joined the channel
[13:50] Skola has joined the channel
[13:50] sorens3n: yes
[13:51] sorens3n: i'm not really sure why they dont both display an identical / similar output
[13:51] sorens3n: but it kinda seems like your trying to make some trickery
[13:51] seemann: after some other functionalities, at srcipt 2 i'll need a function from script 1, how do i do it then?
[13:51] Corren has joined the channel
[13:52] seemann: If I require script 1, it will give me an empty object
[13:52] sorens3n: theres no reason not to require it, but why export it directly
[13:52] seemann: say that again?
[13:52] sorens3n: well, what exactly are you exporting
[13:52] sorens3n: if r1 is already exported, why is r2 re-exporting it
[13:53] seemann: no no, they are not exporting the same thing
[13:53] sorens3n: and if they both require each other, it seems you are making a dependancy issue
[13:53] sorens3n: a needs b, but b needs a?
[13:53] seemann: a needs a function from b and b needs a function from a
[13:53] sorens3n: how would they ever figure out which is what, which is probably why only one actually outputs what you expect
[13:54] sorens3n: what came first, the chicken or the egg?
[13:54] mynyml has joined the channel
[13:54] seemann: the egg =D
[13:54] sorens3n: that kinda thing
[13:54] sorens3n: hehe
[13:54] willwhite has joined the channel
[13:54] sorens3n: you see what i'm saying tho?
[13:54] seemann: i do
[13:54] sorens3n: a cant include b because b needs a
[13:54] seemann: i get that, but i cant see a way to solve that
[13:54] sorens3n: with C!
[13:54] seemann: didnt work
[13:54] sorens3n: c for 'common
[13:55] seemann: hehehe
[13:55] seemann: u know a crazy thing?
[13:55] sorens3n: most packages dont rely on a package that relies on the package including it
[13:55] seemann: if i dont use module.exports
[13:55] seemann: but simply exports.r1 and exports r2
[13:55] seemann: things work fine
[13:56] sorens3n: yeah i do have some strange troubles with module.exports now and then, i've seen it done a few different ways, and generally defer to the code at the top of backbone.js
[13:56] sorens3n: since i use it so much
[13:56] nibblebot has joined the channel
[13:56] sorens3n: which is a slightly different paradigm, of using it on server / client
[13:57] sorens3n: but if both 'a' and 'b' need a common function, why not just put that in 'c'?
[13:57] dcampano has joined the channel
[13:57] roidrage_ has joined the channel
[13:58] dcampano has joined the channel
[13:58] seemann: say you have a student and a class. Sometimes the user will need some of the classes functions and sometimes the class will need some of the students functions
[13:58] edude03 has joined the channel
[13:58] sorens3n: doesnt that break down to an MVC thing
[13:58] sorens3n: in which case both classes and students should be defined, and a controller decides what to do with them
[13:59] seemann: maybe... =(
[13:59] sorens3n: not that a class decides what to do with a student that also decides what to do with a class
[13:59] sorens3n: its an infinate loop
[13:59] seemann: i'll redifine those things then, tyvm
[13:59] sorens3n: i think you need an abstraction above what you are defining
[13:59] sorens3n: to handle the interactions
[13:59] seemann: u're probably right
[13:59] sorens3n: i really hope i helped, i'm not sure
[14:00] seemann: you did hehehehe
[14:00] cbibler_ has joined the channel
[14:00] seemann: tyvm, later! =D
[14:00] sorens3n: ah good, just takes another set of glasses now and then
[14:00] sorens3n: adios! happy coding!
[14:00] sorens3n: *sigh*
[14:01] aheckmann has joined the channel
[14:01] rfay has joined the channel
[14:01] bronson has joined the channel
[14:01] vipaca has joined the channel
[14:01] vipaca has joined the channel
[14:02] robhawkes has joined the channel
[14:02] ewdafa has joined the channel
[14:03] devrim has joined the channel
[14:07] yhahn has joined the channel
[14:07] jbpros has joined the channel
[14:08] broofa has joined the channel
[14:08] chjj has joined the channel
[14:09] viz has joined the channel
[14:09] Remoun has joined the channel
[14:09] mendel_ has joined the channel
[14:10] timmywil has joined the channel
[14:11] jakehow has joined the channel
[14:11] MikeMakesIt has joined the channel
[14:12] bingomanatee: seeman it is perfectly legitimate inside a function of b to include a again; its an order of operations thing.
[14:12] amacleod has joined the channel
[14:12] bingomanatee: sorens3n: that reminds me of a problem I was working on with SVN; my company wanted me to do a utility in which
[14:13] pietern has joined the channel
[14:13] bingomanatee: I tracked the SVN commits in which were annotated with JIRA stamps.
[14:13] fakewaffle has joined the channel
[14:13] ceej has joined the channel
[14:13] bingomanatee: that is, Jira tickets had one or more commits
[14:13] zmbmartin has joined the channel
[14:13] bingomanatee: and svn commits could address zero or more tickets.
[14:13] mobius-: sorry for the stupid question but i think i am stuck. I have a var Dummy = function(); Dymmy.prototype = { func: function() { ...} }; exports.dummy = new Dummy();
[14:13] bingomanatee: There is no natural heirarchy to that topology.
[14:14] mobius-: and then I am doing a var dummy = require('./dummy'); but when i try from a callback to execute dummy.func i get an error object has not method 'func'
[14:14] mobius-: makes any sense to anyone?
[14:14] raphdg has joined the channel
[14:14] stagas: mobius-: you need to require('./dummy').dummy
[14:14] stagas: mobius-: or module.exports = new Dummy()
[14:15] mobius-: stagas, !!
[14:15] mobius-: i've probably spend an hour or so looking for this
[14:15] bingomanatee: mobius - the simple way is function Dummy (){}; module.exports = Dummy; Dummy.prototype.foo = function(){ } ...
[14:15] mobius-: thanks
[14:16] skiz has joined the channel
[14:16] bingomanatee: You don't use new in the module context - you use it upon the module definition after you call it as in var Dummy = require ('lib/dummy'); var d = new Dummy();
[14:16] brianc has joined the channel
[14:17] devrim1 has joined the channel
[14:17] mobius-: i understand
[14:17] bingomanatee: good luck.
[14:17] mobius-: thanks :)
[14:17] devrim has joined the channel
[14:20] col3 has joined the channel
[14:20] calebc has joined the channel
[14:21] XaKBooT has joined the channel
[14:22] davidwalsh has joined the channel
[14:23] xtianw has joined the channel
[14:23] Venom_X has joined the channel
[14:25] brolin has joined the channel
[14:25] colinclark has joined the channel
[14:26] Bj_o_rn has joined the channel
[14:26] pifantastic has joined the channel
[14:26] boehm has joined the channel
[14:26] k1ttty has joined the channel
[14:27] lukegalea: rgabo: Thanks for your suggestion! Worked great.
[14:27] rgabo: glad to hear it
[14:30] sorens3n: bingomanatee: i wish i could have put it like that in the first place
[14:30] sorens3n: tooooo much beer
[14:30] chjj: no such thing^
[14:30] fairwinds has joined the channel
[14:30] sorens3n: oh good, cuz its 9.30 am and i just opened another
[14:30] hij1nx has joined the channel
[14:30] sorens3n: though i also woke up.... yesterday....
[14:30] chjj: no shame in that!
[14:31] bingomanatee: Its not common but there are situations in software development where heirarchical thinking doesn't properly model your problem.
[14:33] sorens3n: yes, i just couldnt find the words to put it
[14:33] sorens3n: all i could think is that A is including B which needs A to include B that needs A
[14:33] sorens3n: which is a mindfuck
[14:33] m64253 has joined the channel
[14:33] sorens3n: i thought i was being trolled for a minute
[14:33] sorens3n: honestly
[14:33] bingomanatee: its essentially the social network.
[14:34] bingomanatee: A and B are friends :D
[14:34] sorens3n: thats a bit of a stretch sir
[14:34] bingomanatee: not really - members join groups, groups contain members
[14:34] sorens3n: A and B are frriends, sure, but then in that case they are controlled by the application, C
[14:34] sivy has joined the channel
[14:35] sorens3n: then we're not really talking about a pure programing paradigm
[14:35] bingomanatee: You don't have to model groups to define members, or members to define groups, as long as you bury the references in methods.
[14:35] sorens3n: i guess i see that as ultimately flawed
[14:35] bingomanatee: Or a third joining construct.
[14:35] sorens3n: without the third joining construct
[14:36] sorens3n: its really the chicken and the egg thing without the third construct
[14:36] sorens3n: and why do that to yourself?
[14:36] bingomanatee: I don't think a join class is required per se, at least not in noSQL :D
[14:37] jamey-uk has joined the channel
[14:37] mbrevoort has joined the channel
[14:38] sorens3n: we're not to the point of bringing in DB's in this case though
[14:38] bingomanatee: You can have any number of nondeterministic joins with a join constrct that has typeA: string, idA: int, typeB: string, joinB: int, but you'll end up with Drupal and your logic gets tortured.
[14:38] sorens3n: you are going beyond the paradigm
[14:38] bingomanatee: I tend to
[14:38] bingomanatee: what is the use case?
[14:38] sorens3n: exactly
[14:38] sorens3n: his use case was that a function A required B which required A
[14:39] sorens3n: and nothing more
[14:39] sorens3n: which is the flaw
[14:39] bingomanatee: ah.
[14:39] sorens3n: of course it can be solved with a third party
[14:39] sorens3n: which is why i suggested to bring in the abstract, C
[14:39] sorens3n: to control both A and B
[14:39] xandrews has joined the channel
[14:39] sorens3n: involving problems / solutions beyond that is just not relevant to his problem
[14:40] sorens3n: not that your not absolutely right in what you said
[14:40] bingomanatee: not really , module foo = module.exports = function(a, b, c){ var barred = require('bar')(a, b, c); } .... and the converse
[14:40] bingomanatee: You just have to figure out yourself how to avoid recursion.
[14:41] robhawkes has joined the channel
[14:41] sorens3n: yep
[14:41] sorens3n: but you go further than the given problem
[14:41] bingomanatee: It is convention to require all modules in the global context - however it is not required and in this case, not useful.
[14:41] lupomontero has joined the channel
[14:41] Viriix has joined the channel
[14:42] sorens3n: i think we should probably just end this thread, we're not necesarrily talking about the same thing anymore
[14:42] sorens3n: forgive my lack of spelling ability
[14:42] bingomanatee: Have you actually tried doing it the insane way?
[14:42] sorens3n: >implying i know what you mean
[14:42] bingomanatee: k
[14:42] markwubben has joined the channel
[14:42] sorens3n: im just still drinking
[14:43] sorens3n: no offense to you
[14:43] sorens3n: i'm just the one that is lost
[14:43] bingomanatee: go for it
[14:43] bingomanatee: You have a real world case of the Farnsworth Paradox.
[14:43] sorens3n: just so that we can disagree to disagree cuz im retarded
[14:43] sorens3n: :D
[14:44] Gic has joined the channel
[14:44] cloudhead2 has joined the channel
[14:44] sorens3n: yes, well put
[14:44] sorens3n: thats exactly what i was being asked
[14:44] sorens3n: lol
[14:44] HerrTopf has joined the channel
[14:44] sorens3n: nice catch
[14:44] tsesame_ has joined the channel
[14:45] sorens3n: and actually, upon a pure whim, its amazing that its an actual wiki article
[14:45] sorens3n: http://en.wikipedia.org/wiki/The_Farnsworth_Parabox
[14:45] sorens3n: lol?
[14:45] xandrews has joined the channel
[14:46] bingomanatee: Yeah.
[14:46] bingomanatee: I actually think Node would let you do that. I'm going to test it quickly.
[14:47] d0k has joined the channel
[14:48] sorens3n: i probably shouldnt comment further on the matter
[14:48] Corren has joined the channel
[14:48] strmpnk has joined the channel
[14:48] sorens3n: it may be just a personal preference of mine that you shouldnt try to do such things
[14:48] rafidude_ has joined the channel
[14:48] flippyhead has joined the channel
[14:49] sorens3n: though i'm sure i've done it without realizing it
[14:50] sorens3n: http://mashable.com/2011/05/19/anonymous-transparent-infographic
[14:50] strmpnk has joined the channel
[14:52] nibblebot has joined the channel
[14:53] jamey-uk has joined the channel
[14:54] dsirijus has joined the channel
[14:54] doki_pen has joined the channel
[14:54] sorens3n: omfg i fucking hate chrome some days
[14:54] sorens3n: i just get blank screened
[14:55] sorens3n: it could at least crash and tell me what went wrong, rather then just act like nothing fucking happened
[14:55] sorens3n: "gee thanks, so glad you never crash, i really love the non-responsive browser"
[14:56] Silly_Wabbit has joined the channel
[14:57] bingomanatee: sorens3n: you can model a farnsworth paradox in node.
[14:57] sorens3n: nice
[14:58] sorens3n: but: is it really worth doing
[14:58] sorens3n: being as clever as you can when you program doesnt help anyone
[14:58] ryanfitz has joined the channel
[14:58] jamey-uk has left the channel
[14:59] sorens3n: id rather make the 20 extra loc to make things obvious and simple
[14:59] kmiyashiro has joined the channel
[14:59] sorens3n: buuuuut thats just me ;)
[14:59] FireFly|n900 has joined the channel
[15:00] sorens3n: or am i off base?
[15:01] sorens3n: (not trying to troll you, want honest feedback)
[15:02] novumordo: sorens3n: one shouldn't worship at the altar of complexity
[15:02] sorens3n: agreed
[15:02] sorens3n: :)
[15:03] JulioBarros has joined the channel
[15:03] FireFly has joined the channel
[15:03] gazumps has joined the channel
[15:03] philtor has joined the channel
[15:05] aho has joined the channel
[15:05] ryah has joined the channel
[15:06] boaz has joined the channel
[15:07] samsonjs has joined the channel
[15:08] rgabo has joined the channel
[15:09] mikegerwitz: O.o woah what just happened
[15:09] LacKac has joined the channel
[15:09] samsonjs: mikegerwitz: http://en.wikipedia.org/wiki/Netsplit
[15:10] mikegerwitz: lol I was just reading over the conversation, that's all
[15:10] openpercept has joined the channel
[15:11] truedat101 has joined the channel
[15:13] mikegerwitz: Oh, nvm. Skimming didn't work. Had to go back further. I was worried that using cyclic dependencies was being encouraged. All's good. I like the futurama reference in there too ;) heh
[15:13] Adman65 has joined the channel
[15:13] Viriix has joined the channel
[15:13] w_wilkins has joined the channel
[15:14] jakehow has joined the channel
[15:15] marshall has joined the channel
[15:15] marshall: hey node :D
[15:15] sub_pop has joined the channel
[15:15] briznad has joined the channel
[15:15] ryankirkman: For people with cluster experience: I am getting "Socket is not writable" in my workers.access.log, and I can't connect (to port 3000). How would I solve this?
[15:15] hwinkel has joined the channel
[15:16] bentruyman has joined the channel
[15:17] hdon has joined the channel
[15:18] else- has joined the channel
[15:18] jarek has joined the channel
[15:19] cloudhea1_ has joined the channel
[15:19] cloudhea1 has joined the channel
[15:19] jarek has joined the channel
[15:19] jarek has joined the channel
[15:20] tjholowaychuk has joined the channel
[15:20] binarypie has joined the channel
[15:20] jarek has joined the channel
[15:20] jarek has joined the channel
[15:24] tsesame_: ryankirkman: Try asking your Q one more time
[15:24] ryankirkman: For people with cluster experience: I am getting "Socket is not writable" in my workers.access.log, and I can't connect (to port 3000). How would I solve this?
[15:24] ryankirkman: tsesame_: Thanks
[15:24] Swizec has joined the channel
[15:25] jgv has joined the channel
[15:26] harth has joined the channel
[15:27] sorens3n: havnt run across that problem yet with cluster
[15:28] cryptix has joined the channel
[15:28] tjholowaychuk: ryankirkman any stack trace?
[15:29] tjholowaychuk: that should point you to the issue
[15:29] MikeMakesIt has joined the channel
[15:29] tk has joined the channel
[15:29] AvianFlu has joined the channel
[15:30] ryankirkman: tjholowaychuk: Will get a stack trace
[15:31] cloudhead_ has joined the channel
[15:33] ryankirkman: tjholowaychuk: https://gist.github.com/981041
[15:33] tjholowaychuk: no method on, that's strange..
[15:33] tjholowaychuk: looks like the local IPC sock
[15:34] tjholowaychuk: is fucked up
[15:35] jarek has joined the channel
[15:35] bingomanatee: looking for universe universeA
[15:35] bingomanatee: looking for universe universeB
[15:35] bingomanatee: looking for universe universeA
[15:35] bingomanatee: looking for universe universeB
[15:35] bingomanatee: doesn't look good :D
[15:35] tsesame_: It's supposed to be universe1
[15:36] cloudhead has joined the channel
[15:36] openpercept has joined the channel
[15:37] bartmax has joined the channel
[15:37] bartmax has joined the channel
[15:37] jaket has joined the channel
[15:37] mc_greeny has joined the channel
[15:37] LowValueTarget has joined the channel
[15:37] ryankirkman: tjholowaychuk: It turns out I'm a retard. I was overriding module.exports with nothing, essentially. Although I think putting that on a Troubleshooting page for idiots/people like me would be helpful
[15:38] tjholowaychuk: oh weird haha
[15:38] tjholowaychuk: that makes sense
[15:38] tjholowaychuk: for the missing on)(
[15:38] tjholowaychuk: on()
[15:38] bingomanatee: https://github.com/bingomanatee/farmsworth-paradox
[15:38] bingomanatee: can anyone else bust the farnsworth paradox?
[15:38] vipaca has joined the channel
[15:38] vipaca has joined the channel
[15:38] indutny has joined the channel
[15:40] sh1mmer has joined the channel
[15:40] indutny has joined the channel
[15:41] amerine has joined the channel
[15:41] brettgoulder has joined the channel
[15:42] c4milo has joined the channel
[15:42] romainhuet has joined the channel
[15:43] jarek has joined the channel
[15:43] jarek has joined the channel
[15:43] brolin has joined the channel
[15:43] tjholowaychuk: wow ppl i used to work with actually use LESS in the browser
[15:43] tjholowaychuk: on a production site
[15:43] tjholowaychuk: that's... a terrible idea
[15:44] flazz has joined the channel
[15:44] flazz: somehow i got ~/node_modules created, what is it? can i get rid of it?
[15:44] Kryckan has joined the channel
[15:44] seyz has joined the channel
[15:45] rfay has joined the channel
[15:45] tsesame_: looks like you installed a module locally
[15:45] chjj: tj: terrible for production, but kind of novel for personal use
[15:45] johnnywengluu_ has joined the channel
[15:46] chjj: i like the idea because you could actually turn a css preprocessor into something dynamic
[15:46] chjj: and alter the cssom
[15:46] tjholowaychuk: you could, but that's not what it is
[15:46] tjholowaychuk: so it doesnt make any sense to me haha
[15:46] chjj: which is what real css variables are going to do anyway
[15:46] tjholowaychuk: other than having a little preview text editor
[15:46] tjholowaychuk: with css generating from less
[15:47] chjj: its not particularly useful, i just like theorycrafting about that
[15:47] chjj: in maybe ...5-10 years once the cssom is fixed, things will get interesting
[15:47] chjj: ;)
[15:48] tjholowaychuk: totally
[15:48] ditesh|cassini has joined the channel
[15:48] supjeff: anybody know if css3 has a more comprehensible way of containing floated children?
[15:49] chjj: what do you mean?
[15:49] supjeff: overflow: hidden; makes no sense to me
[15:49] chjj: "containing"
[15:49] chjj: overflow: hidden creates a new block formatting context
[15:49] supjeff: and clearfix is a hack
[15:49] chjj: so margins actually bounce off the edge of the containg block
[15:49] supjeff: when you float all of an element's children, the element collapses completely
[15:50] chjj: yes, because the float element is still relative to the most ancestor BFC
[15:50] supjeff: that's almost never the desired outcome
[15:50] chjj: floated*
[15:50] supjeff: yeah, it makes sense
[15:50] chjj: "clearfix" is a horrible term
[15:50] seyz has joined the channel
[15:50] chjj: not even accurate
[15:50] supjeff: but there needs to be a comprehensive option for containing it's children
[15:50] supjeff: yeah don't blame me
[15:50] zmbmartin: tjholowaychuk: can jade be used as client side template. I tried handlebars but jade threw errors?
[15:50] supjeff: all the current "solutions" are stupid
[15:51] patcoll has joined the channel
[15:51] chjj: ive never used "cleafix" for anything almost
[15:51] tjholowaychuk: zmbmartin yeah the repo has jade.js and jade.min.js
[15:51] tjholowaychuk: though i think it breaks in Ie
[15:51] tjholowaychuk: IE*
[15:51] chjj: overflow: hidden to create a new bfc, or i just dont use float to position everything
[15:51] tjholowaychuk: right now
[15:51] supjeff: what does bfc mean
[15:51] hsttlrjeff has left the channel
[15:51] zmbmartin: tjholowaychuk: is there something else I can use?
[15:52] chjj: absolute positioning is an amazingly underrated method of positioning, and its the only method that allows you to dynamically change the containing block of a box currently
[15:52] supjeff: lol
[15:52] chjj: try not to use float as the only way to position something, there might be a better way
[15:52] tjholowaychuk: i use absolute all the time
[15:52] tjholowaychuk: most the time actually
[15:52] tjholowaychuk: haha
[15:52] chjj: yes
[15:52] chjj: real csser's do ;)
[15:52] stephank has joined the channel
[15:52] tjholowaychuk: floating just pisses me off
[15:53] supjeff: don't give me that
[15:53] supjeff: floating is appropriate
[15:53] supjeff: much of the time
[15:53] tjholowaychuk: totally
[15:53] hsttlrjeff has joined the channel
[15:53] supjeff: I use absolute positioning when it's appropriate too
[15:53] tjholowaychuk: i just find i end up using absolute more often
[15:53] chjj: some of the time, yes
[15:53] systemfault: supjeff: Block Formatting Context IIRC
[15:53] tjholowaychuk: and stylus has sexy syntax
[15:53] tjholowaychuk: "absolute: top left"
[15:53] tjholowaychuk: absolute: top 5px left 10px etc
[15:53] chjj: i usually end up using float for small things, non-layout things
[15:53] tjholowaychuk: booyah
[15:53] supjeff: yeah, I had a look at stylus
[15:54] supjeff: it looks good, nice work man
[15:54] jarek has joined the channel
[15:54] jarek has joined the channel
[15:54] tjholowaychuk: I like that you can craft your own props
[15:54] tjholowaychuk: or like the augmented border-radius
[15:54] tjholowaychuk: "border-radius: top 5px"
[15:54] tjholowaychuk: for top left/right
[15:54] supjeff: you're doing a lot of good stuff on github, tjholowaychuk
[15:54] tjholowaychuk: thankya
[15:55] supjeff: I've seen people put node behind nginx, why would they do that?
[15:55] AvianFlu: fear of change?
[15:55] chjj: safer for production
[15:55] chjj: or so they say
[15:55] supjeff: mm
[15:55] chjj: ;)
[15:56] Yuffster_work has joined the channel
[15:56] timmywil has joined the channel
[15:56] bingomanatee: Okay I can do a Farnsworth paradox, I just have to use loose token based binding - output at https://gist.github.com/981095
[15:56] halfhalo: I do it to help manage more than one node app at a time plus the other apps on the server. nginx does that just fine
[15:56] supjeff: halfhalo: ah, good point
[15:56] adambeynon has joined the channel
[15:57] supjeff: vhosts and stuff
[15:57] ryankirkman: tjholowaychuk: Is the repl in cluster only available on localhost, or do I have to firewall off port 8888?
[15:57] rfay has joined the channel
[15:58] Kryckan has left the channel
[15:59] tjholowaychuk: ryankirkman could be anything but i wouldn't recommend exposing it
[15:59] AvianFlu: bingomanatee: farnsworth paradox?
[15:59] indutny has joined the channel
[15:59] bingomanatee: two universes with two professor farnsworths in them each of which have a box that contains the other universe.
[15:59] sjbreen has joined the channel
[15:59] squaretone has joined the channel
[15:59] bingomanatee: Its a Futurama thing.
[16:00] chjj: lol
[16:00] zmbmartin: tjholowaychuk: sorry if I missed your response. what is a good client side template to use with express if jade does not work in IE?
[16:00] blueadept has joined the channel
[16:00] AvianFlu: I know what it is, I'm missing the connection to coding
[16:00] bingomanatee: can you require modules in each other
[16:00] tjholowaychuk: zmbmartin dunno, whatever you want mustache etc. im sure jade doesn't need much of a tweak to work
[16:00] squaretone has joined the channel
[16:00] chjj: zmbmartin: the more elegant solution: dont support IE
[16:00] bingomanatee: module a: var b = require('b'); module b: var a = require('a');
[16:00] AvianFlu: lol +1 chjj
[16:00] bingomanatee: I don't think you can do it in real time
[16:01] bingomanatee: but you can probably assign them after the fact.
[16:01] zmbmartin: chjj: Yeah but with my clients I need to support the latest ie?
[16:01] bingomanatee: https://github.com/bingomanatee/farmsworth-paradox
[16:02] zmbmartin: tjholowaychuk: yeah in jade when I try using mustache it complains about {{}}
[16:02] chjj: then your clients are the problem, the people using ie are the problem, the people using the horribly written intranet systems that depend on ie on the problem, the people writing those terrible systems are the problem, you might be able to keep tracing it back
[16:02] trotter has joined the channel
[16:03] tjholowaychuk: zmbmartin why are you using mustache IN jade?
[16:03] chjj: but at some point the whole world decided it was a good idea to depend on a terrible browser forever
[16:03] halfhalo: Best answer to anything: Shits N Giggles.
[16:03] mike5w3c has joined the channel
[16:03] AvianFlu: bingomanatee: I get it now. lol.
[16:03] samsonjs has joined the channel
[16:04] tsesame_: IE's days are numbered..
[16:04] chjj: yes
[16:04] zmbmartin: tjholowaychuk: I was trying add the mustache script type templates
[16:04] halfhalo: IE9 Isn't bad, IE8... different story
[16:04] chrislorenz has joined the channel
[16:04] tsesame_: IE9 isn't AS bad
[16:04] sorens3n: fuck IE
[16:04] sorens3n: really
[16:04] chjj: i hope ie9 fails, nothing will EVER allow me to forgive microsoft for what they did to web development
[16:04] AvianFlu: I mean do they ever get away from the bad rep of IE6?
[16:04] halfhalo: ACTION sometimes uses ie9 instead of chrome
[16:05] tjholowaychuk: chjj i swear they do it on purpose
[16:05] tjholowaychuk: so people need their shitty ass browser
[16:05] chjj: singlehandedly inhibiting the progress of web development for over a decade
[16:05] tjholowaychuk: to test shit
[16:05] supjeff: bingomanatee is up to no good...
[16:05] AvianFlu: ACTION sometimes uses IE if he absolutely has to
[16:05] tjholowaychuk: ACTION doesn't have IE
[16:05] mikegerwitz: ACTION still has to support IE6 where he works
[16:05] tjholowaychuk: ACTION never will have it
[16:05] mikegerwitz: Complete waste of development time
[16:05] postwait has joined the channel
[16:05] fostah has joined the channel
[16:05] supjeff: I think IE9 is out already
[16:05] AvianFlu: I started hating them the first time I had to write different javascript cause IE just had its own javascript style
[16:05] chjj: so dont mention ie9, i dont care how good it is, it needs to fail, if it succeeds, microsoft will just sit on their marketshare for 5 years and not update it, like they did with ie6
[16:06] timmywil has joined the channel
[16:06] supjeff: ie6 was like 9 years
[16:06] chjj: they started making ie7 after 5
[16:06] tsesame_: nah I think MS learned their lesson, they can't play fast and loose in the browser market like they used to
[16:06] AvianFlu: that's why monopolies are bad
[16:06] chjj: but the plague of ie6 is still lingering slightly
[16:06] AvianFlu: no pressure to improve your product
[16:06] halfhalo: nah, it finally clicked in MS's head that they need a web browser that was up to date/leading the pack with ie8, they pushed out ie9, and are already on ie10
[16:06] supjeff: ms is changing, but they're still a bunch of used car salesmen
[16:06] kmiyashiro has joined the channel
[16:06] chjj: no, microsoft doesnt deserve the benefit of the doubt
[16:07] tsesame_: lol
[16:07] chjj: and they certainly dont deserve forgiveness
[16:07] chjj: dont give it to them
[16:07] chjj: :)
[16:07] supjeff: we can thank IE for firefox and chrome
[16:07] halfhalo: yup
[16:07] sorens3n: alright guys
[16:07] sorens3n: i have a serious problem
[16:07] AvianFlu: from that point of view, they're awesome LOL
[16:07] chjj: id rather thank mozilla for firefox
[16:07] halfhalo: but also safari, ... fuck safari
[16:07] supjeff: lol
[16:07] tsesame_: If it weren't for IE we'd still have Netscape
[16:07] sorens3n: my little sister is joining the marines
[16:07] sorens3n: wtf do i do
[16:07] supjeff: whoa whoa, safari isn't that bad
[16:07] chjj: although firefox is dead now, it was an important step
[16:07] sorens3n: she's 19, shy, bashfull, doesnt know wtf to do
[16:07] chjj: safari is a terrible browser with a decent layout engine
[16:07] chjj: thats all
[16:07] halfhalo: it takes a good 10 seconds to load on my mac! why the hell does it take that long!
[16:08] adelgado has joined the channel
[16:08] tsesame_: FF is dead? What world do you live in?
[16:08] supjeff: safari is old webkit
[16:08] supjeff: that's all
[16:08] sorens3n: IE6 we should all be thankfull for, everything after that.....
[16:08] halfhalo: (load as in open + fully render the homepage)
[16:08] supjeff: it's not bad
[16:08] chjj: the creative lead and project director for firefox both resigned this year
[16:08] chjj: as its gotten progressively slower and worse
[16:08] AvianFlu: chrome ftw
[16:08] tsesame_: well but I wouldn't call RIP just yet
[16:08] chjj: and decided to convert the chrome entirely to XUL to make everything slow as shit
[16:08] sorens3n: firefox has been going downhill for a while now, or maybe its just my affinity for chrome
[16:09] supjeff: yeah, for me its really between chrome and safari
[16:09] chjj: ff4 is really unfortunate
[16:09] supjeff: it has been going downhill
[16:09] sorens3n: and i fought the move to chrome
[16:09] chjj: chrome is the only browser worth using now
[16:09] AvianFlu: more accurately, v8 ftw
[16:09] dsirijus has joined the channel
[16:09] halfhalo: I use chrome most of the time, but ie9 for some ms sites on my windows pc
[16:09] supjeff: I use safari
[16:09] TheDeveloper has joined the channel
[16:09] supjeff: I like Reader
[16:09] chjj: yeah, v8 + webkit + everything else in chrome = good stuff
[16:09] supjeff: yes, I know, readability project
[16:10] norviller has joined the channel
[16:10] skiz: you got your node in my ruby!
[16:10] halfhalo: weee!
[16:10] halfhalo: wait, still haven't done a new rails project with node in it yet...
[16:10] aberry has joined the channel
[16:11] zmbmartin: tjholowaychuk: sorry I meant I am using handlebars and I was adding the template script to my jade template. I thought that was how I was suppose to do it. is add a script with type x-handlebars-tempalte
[16:11] tjholowaychuk: that's one way to do i guess yeah
[16:11] tjholowaychuk: but things might conflict with jade's logic
[16:11] zmbmartin: tjholowaychuk: that is what is happening.
[16:12] supjeff: I can code a site with no Handlebars
[16:12] supjeff: no handlebars
[16:12] tjholowaychuk: that's just what happens when people try to nest templates, to some degree the syntax will get in the way of the other
[16:12] tjholowaychuk: depending on what it is
[16:12] tjholowaychuk: personally i think having templates in templates
[16:12] tjholowaychuk: is just annoying
[16:12] pita1 has joined the channel
[16:12] donaldpcook has joined the channel
[16:13] supjeff: it's kind of necessary though, for one template to extend another
[16:13] supjeff: like the way express extends a layout template
[16:13] pita1: Anyone knows how I can change the Cache-Control Header with express?
[16:13] zmbmartin: tjholowaychuk: what do you recommend I do then?
[16:13] tjholowaychuk: well no that's not what i mean
[16:13] Wizek: Hi! Is there a way to make a global variable which is visible troughout the entire node app regardless of modularity?
[16:13] supjeff: tjholowaychuk: what do you mena?
[16:13] tjholowaychuk: pita1 for what? static()?
[16:13] supjeff: *mean
[16:14] pita1: tjholowaychuk: for sendFile
[16:14] tjholowaychuk: pita1 there is a maxAge option
[16:14] tjholowaychuk: if that's what you are looking for
[16:14] pita1: yes I think this is is what I need
[16:14] pita1: tjholowaychuk: thx
[16:14] chjj: make sure you set the expires header for http 1.0!
[16:15] chjj: everyone always forgets about Expires :(
[16:15] Yuffster_work has joined the channel
[16:16] jerrysv has joined the channel
[16:17] musashi0011 has joined the channel
[16:18] sandropadin has joined the channel
[16:18] iori has joined the channel
[16:18] voidx has joined the channel
[16:18] mattp_ has joined the channel
[16:18] springmeyer has joined the channel
[16:18] iori has joined the channel
[16:19] voidx: I just installed node and npm, then used npm to install express
[16:19] chjj: cool
[16:19] voidx: but the express executable does not work
[16:19] tjholowaychuk: npm install -g express
[16:19] chjj: uhoh, did you npm install -g i
[16:19] chjj: t
[16:20] voidx: no I did not
[16:20] mike5w3c has joined the channel
[16:20] trotter has joined the channel
[16:20] tjholowaychuk: it's a bit confusing since you have to basically install things with executables twice
[16:21] beriberikix has joined the channel
[16:21] voidx: so g flag meant install the package globally
[16:21] tjholowaychuk: yup
[16:22] chjj: there should be a bot in here, that responds to npm questions with "npm install x -g"
[16:22] steph021 has joined the channel
[16:22] chjj: that wasnt mean to be a knock on voidx either ;)
[16:22] voidx: ok, thank you guys
[16:22] voidx: appreciate your helps
[16:23] TheDeveloper has joined the channel
[16:23] chjj: no problem sir
[16:23] aconbere has joined the channel
[16:23] indutny has joined the channel
[16:24] TooTallNate has joined the channel
[16:24] jmazzi has joined the channel
[16:25] Corren has joined the channel
[16:25] AvianFlu: chjj I'm totally gonna add that to my bot now that you said it
[16:26] supjeff: bot on github?
[16:26] chjj: lol
[16:26] AvianFlu: my bot is gonna be open-sourced soon, it's getting cleaned up a little first
[16:26] AvianFlu: it's only 3 days old or so lol
[16:26] supjeff: ok
[16:27] puffpio has joined the channel
[16:27] tsesame_: I'd like a bot that will log everything in this channel so I can later do searches
[16:27] jtsnow has joined the channel
[16:28] chjj: doesnt debuggable already do that?
[16:28] drudge: yeah it's not in the topic anymore
[16:29] chjj: http://nodejs.debuggable.com/
[16:29] kkaefer: what's the best way to read hex data that is encoded as ascii into a buffer?
[16:29] jet18 has joined the channel
[16:29] baudehlo has joined the channel
[16:29] tsesame_: oh nice
[16:29] chjj: didnt there used to be new Buffer(str, 'hex') or something??
[16:30] jetienne has joined the channel
[16:30] baudehlo: not used to. Coming in 0.5.0
[16:30] chjj: ah
[16:30] tjholowaychuk: /clear
[16:30] tjholowaychuk: WTF
[16:32] Yuffster_work has joined the channel
[16:32] ewdafa has joined the channel
[16:34] aberry has left the channel
[16:34] drudge: /clear
[16:34] fakewaffle: im so confused about git submodules :`(
[16:36] brownies has joined the channel
[16:37] calebc has joined the channel
[16:38] tanepiper: fakewaffle: your not the only one, but you get used to them
[16:38] eguest309 has joined the channel
[16:39] aconbere has joined the channel
[16:41] calebc has joined the channel
[16:44] eguest309: hello guys
[16:46] eguest309: hello guys.i wrote some code to read some data from a file.the thing is that i want to continously read data from that file.i want to know wheter i should use a timer which runs probalby every second or there is a native method for doing this
[16:46] yozgrahame has joined the channel
[16:47] galaxywatcher_ has joined the channel
[16:47] tsesame_: maybe execute "tail -f file" as a child process?
[16:48] perezd has joined the channel
[16:49] eguest309: okay will try that
[16:49] NuckingFuts has joined the channel
[16:49] deepthawtz has joined the channel
[16:50] caolanm has joined the channel
[16:50] edude03 has joined the channel
[16:51] baudehlo: there's fs.watchFile too
[16:52] eguest309: fs.watchFile .will look into taht too
[16:52] ExsysTech has joined the channel
[16:54] tsesame_: I think watchFile only triggers the callback if the file was accessed by some other process, it doesnt tell you what was appended, I think that's what you're looking for right?
[16:54] fakewaffle: tanepiper: will you help me understand for a sec?
[16:54] eguest309: yeah
[16:55] eguest309: i wnat to continously read from a file and then process the content as new content is added
[16:55] fakewaffle: tanepiper: https://github.com/fakewaffle/piejs -- i want to start using this, so sites/my-new-site/ i want to have a git repo, what is the submodule of what?
[16:56] tayy has joined the channel
[16:56] johnnywengluu_ has joined the channel
[16:57] skiz has joined the channel
[16:57] altamic has joined the channel
[16:58] jbpros has joined the channel
[16:59] sorens3n: rage: the state of being when a marine recruiter takes your little sister from you
[16:59] sorens3n: mother fuckers
[17:03] cagdas_ has joined the channel
[17:04] xandrews has joined the channel
[17:04] baudehlo: tsesame_: yeah it doesn't tell you what was added, but it allows you to trigger further reading.
[17:06] wafflesburger has joined the channel
[17:07] eguest309: okay
[17:07] tsesame_: baudehlo: You're right that would work too
[17:07] aliem has joined the channel
[17:07] ryanfitz has joined the channel
[17:09] qbit_ has left the channel
[17:09] kern has joined the channel
[17:10] Venom_X has joined the channel
[17:11] eguest309: so u read it once and then use that fs.watch to watch for changes to the file then read the file whenever there is a change to the file
[17:11] keikubo has joined the channel
[17:12] tsesame_: You'd continue reading to EOF each time the callback is triggered
[17:12] tsesame_: The callback is triggered when the file is accessed not necessarily modified
[17:13] kmiyashiro has joined the channel
[17:14] harth has joined the channel
[17:14] josephboyle has joined the channel
[17:16] dambalah has joined the channel
[17:17] indexzero has joined the channel
[17:19] confoocious has joined the channel
[17:19] bingomanatee has joined the channel
[17:21] brolin has joined the channel
[17:22] thalll has joined the channel
[17:22] viz has joined the channel
[17:22] wadey has joined the channel
[17:23] sreeix has joined the channel
[17:23] eguest309: i used this .fs.watchFile(path_printer, function (curr, prev) {
[17:23] eguest309: fs.readFile(path_printer,'utf8', function(e, data) {
[17:23] eguest309: console.log(data);
[17:23] eguest309: })
[17:23] eguest309: });
[17:23] eguest309: what do you think.sorry for the paste
[17:24] ryah has joined the channel
[17:25] ryankirkman: tjholowaychuk: Would there be any reason my workers are dying like crazy on a linode instance?
[17:25] ryankirkman: tjholowaychuk: with cluster
[17:25] tjholowaychuk: broken code
[17:25] tjholowaychuk: :p
[17:25] tjholowaychuk: but no without seeing code / stack traces i haev no clue
[17:26] ryankirkman: tjholowaychuk: do I get stack traces somewhere?
[17:27] zeade has joined the channel
[17:27] tsesame_: eguest309: readFile will always read the file from the beginning, you'll need to open the file to get a descriptor and use read to keep the pointer at the end of the file
[17:27] puffpio_ has joined the channel
[17:28] tsesame_: so when new data is added, you'll read from the pointer until EOF each time
[17:28] jaket_ has joined the channel
[17:29] baudehlo: also you need to compare curr to prev
[17:29] aliem has joined the channel
[17:30] MarkusT has joined the channel
[17:30] tsesame_: Well if nothing was appended wouldn't it just hit EOF immediately?
[17:30] ryankirkman: tjholowaychuk I don't see stack traces in any of my .log files
[17:31] robhudson has joined the channel
[17:31] Remoun has joined the channel
[17:31] kjeldahl has joined the channel
[17:32] dguttman has joined the channel
[17:32] pyrony has joined the channel
[17:32] eguest309: will try that out and see
[17:33] MarkusT: I know this is more a general noob question than node.js specific, but nevertheless: I'm going to read two files (asynchronously). What's a sane way to check if both files are loaded? If I use two callbacks, both files would be read after each other. Do I use some kind of global boolean to store the success? Feels wrong. How do you solve this in an elegant way?
[17:33] codeisforevea has joined the channel
[17:33] col3: watchs ry video on the node js home page
[17:33] broofa_ has joined the channel
[17:33] col3: rys*
[17:35] ryankirkman: MarkusT: Use an async library like async perhaps
[17:35] JustCute has joined the channel
[17:36] astropirate has joined the channel
[17:36] ryankirkman: specifically, the async.parallel function
[17:36] aliem has joined the channel
[17:37] wafflesburger has left the channel
[17:37] astropirate: Is the zombie.js package in NPM precompiled into JavaScript from CoffeeScript? Or does it compile on every call?
[17:37] dksl has joined the channel
[17:38] MarkusT: ryankirkman: I don't understand your advice. I'm already reading the files asynchronously, I just need someone to tell me how to "resync" (kind of) the requests in order to continue the program.
[17:38] ryankirkman: astropirate: Almost 0 probability of files be dynamically compiled
[17:38] CIA-90: node: 03David Trejo 07master * rf4e69e4 10/ doc/api/readline.md : readline docs - http://bit.ly/jyvnAJ
[17:38] CIA-90: node: 03Ryan Dahl 07master * r3ac0ada 10/ (doc/index.html doc/pipe.css): Merge branch 'v0.4' - http://bit.ly/jnrcqn
[17:38] CIA-90: node: 03Ryan Dahl 07master * r4b60e87 10/ (24 files in 4 dirs): Upgrade libuv to 9c2dd6bea970b2376696aba070bdfc2873843cfb - http://bit.ly/mwB5UU
[17:38] chjj: ryankirkman: abstractions arent a good thing if you dont know whats happening beneath the surface
[17:38] deedubs has joined the channel
[17:39] chjj: MarkusT, the simplest way to do that by hand would be to nest the callbacks, and continue your code from there
[17:39] astropirate: ryankirkman: Excellent!
[17:39] chjj: not necessarily the fastest way though
[17:39] deedubs: This is a pretty funny ruby scalling tip https://twitter.com/rbates/status/71265407541051392
[17:39] ryankirkman: chjj: If I'm wrong, by all means correct me
[17:39] wadey: MarkusT: there is a library called "async" which provides helpers for doing what you asked
[17:39] chjj: youre not wrong, i just dont think thats good advice to someone who is new to node
[17:40] q_no has joined the channel
[17:40] chjj: to recommend immediately start using an abstraction without learning the basics first
[17:40] ryankirkman: Nesting callbacks is synchronous though, so doesn't that defeat the purpose of node?
[17:40] MarkusT: chjj: That would mean (in my understanding) that both request would be server after each other (synchronously). I'd love to avoid that, since I'm reading a lot more files than two and would like to do it async.
[17:40] drudge: i love vim
[17:40] ryankirkman: Additionally, it could make for some good reading
[17:40] chjj: its not synchronous, are you kidding?
[17:40] chjj: its serial
[17:40] rauchg has joined the channel
[17:40] baudehlo: tsesame_: yes, but it seems fs.watchFile fires every second after it has been fired once, with curr=prev
[17:40] chjj: like i said, its not the fastest way, but the simplest way to do by hand
[17:41] chjj: and no, its not synchronous
[17:41] ryankirkman: lol, my apologies (it is 4am)
[17:41] ryankirkman: I did mean serial
[17:41] chjj: yes, i made it clear that its not the fastest
[17:41] MarkusT: ryankirman: There's async and async.js. I guess you're referring to the first one?
[17:41] chjj: MarkusT: what you want is a paralell loop
[17:41] ryankirkman: MarkusT: As chjj said, it might be a good idea to understand what it is doing first
[17:42] ryankirkman: MarkusT: But I am specifically referring to https://github.com/caolan/async which is an npm install -g async away
[17:42] mehsiu has joined the channel
[17:42] tsesame_: baudehlo: My understanding was that the check was done every second, and the callback is fired only if the file has been accessed since the last check.
[17:42] MarkusT: chjj: Sorry, meant serial. As I said: noob :-)
[17:42] Dandan has joined the channel
[17:42] baudehlo: well that's what happened when I tested it. YMMV?
[17:43] Dandan: hey everyone
[17:43] MarkusT: ryankirman: Thanks, will look into it. Very much appreciated.
[17:43] Dandan: is "Error: EACCES, Permission denied" a common error?
[17:43] Dandan: I installed on Ubuntu 10.x, using the copy in git
[17:43] Dandan: and make/make install
[17:44] telemachus: Dandan: if you're installing to /usr/local, you probably need make but sudo make install
[17:44] MarkusT: ryankirman: Aah, now I get it. Found another async module first (after you hinted to "async" in general), which didn't have a parallel function. No it all makes sense. Thanks :-)
[17:44] telemachus: but maybe don't install to /usr/local?
[17:45] Dandan: telemachus: thanks, I forgot to mention I did use sudo make install
[17:45] chjj: MarkusT: yeah if youre reading big files, a serial loop could serve you better because you dont have to read everything into memory at once
[17:45] telemachus: See here http://blog.nodejs.org/2011/04/04/development-environment/
[17:45] Dandan: telemachus: if I run it with sudo it works fine
[17:45] telemachus: ah, whoops
[17:45] telemachus: nvm
[17:45] Dandan: telemachus: but that seems messed up. If I install with sudo apt-get install nodejs, that works fine
[17:45] telemachus: which around here isn't clearly nevermind, lol
[17:45] Dandan: telemachus: but it seems to be an older version, and console.log won't work
[17:46] chjj: MarkusT: it all depends on what youre doing, always try to use parallel loops when they make sense, because theyre faster, but some situations will specifically call for a serial loop
[17:46] telemachus: Dandan: Right, APT tools will install a precompiled version of whatever is in your repos (which may be old - very old even)
[17:47] Marak has joined the channel
[17:47] MarkusT: chjj: Right, I see you point. I'm reading a few dozens small json files (from a non local source) in order to transform them via jsont. So reading is actually the bottleneck.
[17:47] stalled has joined the channel
[17:48] ryankirkman: MarkusT: How much of a bottleneck?
[17:48] eguest309: thaks everyone for the help.will try it out and get back to you
[17:49] MarkusT: ryankirkman: I did not quantify it, it seems to be obvious for me :-)
[17:50] tsesame_: eguest309: best of luck
[17:51] jbpros has joined the channel
[17:51] bene1 has joined the channel
[17:51] telemachus: Dandan: So, sorry, now I'm confused. It did install, but you get permission complaints when you try to use node? Or, is it not installed?
[17:51] Dandan: telemachus: it is installed via git, but it gives permission issues
[17:52] keikubo has joined the channel
[17:52] Dandan: arrrgh
[17:52] Dandan: its ubuntu's fault
[17:52] Dandan: http://computertechnologiez.blogspot.com/2010/11/re-nodejs-permissions-issue-with-ubuntu.html
[17:52] jlecker has joined the channel
[17:52] Dandan: cool
[17:52] Dandan: thanks!
[17:53] telemachus: Ah, that's not so uncommon actually (that you would need to use a much higher port as a regular user)
[17:53] telemachus: But cool
[17:54] dksl: hello
[17:54] zeade has joined the channel
[17:54] stagas: hm where should I list example specific dependencies in a package.json? devDependencies?
[17:56] dksl: i'm trying to install node.js on cygwin and the build keeps failing with the following error:
[17:56] dksl: Build failed: -> task failed (err #-1): {task: cc ares_getsock.c -> ares_getsock_1.o} make: *** [program] Error 1
[17:56] tsesame_: node.js + cygwin = bad
[17:56] mscdex: dksl: are you building master or 0.4.7?
[17:56] dksl: 4.7
[17:56] mscdex: dksl: gist the whole output
[17:58] dksl: https://gist.github.com/981345
[17:58] tayy has joined the channel
[17:59] romainhuet has joined the channel
[17:59] flippyhead_ has joined the channel
[18:00] mraleph has joined the channel
[18:00] leet has joined the channel
[18:01] dksl: mscdex: thanks for taking a look - here's the clone url: git://gist.github.com/981345.git
[18:01] mscdex: dksl: run this in your cygwin terminal: rebaseall -v
[18:01] langworthy has joined the channel
[18:02] mscdex: er wait, i think you may have to do that under cmd.exe or some other *nix shell instead of bash
[18:02] taf2 has joined the channel
[18:03] mscdex: dksl: yeah, fire up cmd.exe then change to your \cygwin\bin dir and execute `ash`
[18:03] sechrist has joined the channel
[18:03] mscdex: dksl: then type: PATH=. rebaseall -v
[18:04] pietern has joined the channel
[18:04] broofa has joined the channel
[18:05] dgathright has joined the channel
[18:06] mikeal has joined the channel
[18:07] broofa has joined the channel
[18:07] ako has joined the channel
[18:08] dksl: mscdex: i'm a bit skeptical about that working as I tried rebase previously for another error and it was ineffective. I finally got around it by installing a fresh copy of cygwin.
[18:08] mscdex: dksl: i dunno, it worked for me when i had that problem once
[18:08] avalanche123 has joined the channel
[18:08] mscdex: but you have to do it outside bash
[18:09] dksl: mscdex: yeah i did. ok let me try rebooting
[18:10] Samot has joined the channel
[18:11] keikubo has joined the channel
[18:12] dksl_ has joined the channel
[18:13] dksl_: yup still the same error
[18:14] mischief has joined the channel
[18:14] stalled has joined the channel
[18:15] ryanfitz has joined the channel
[18:17] aguynamedben has joined the channel
[18:18] Wa has joined the channel
[18:19] dominictarr has joined the channel
[18:20] ryanfitz_ has joined the channel
[18:20] romainhuet_ has joined the channel
[18:21] adambeynon has joined the channel
[18:21] highermath_away has joined the channel
[18:24] meetar has joined the channel
[18:24] romainhuet has joined the channel
[18:25] altamic has joined the channel
[18:25] altamic has joined the channel
[18:27] aguynamedben: is anybody familiar with the Step library? is there a way to return a value or access variables outside each step function's scope? all the examples I see are just sys.puts or console.log as their end action
[18:27] aguynamedben: https://github.com/creationix/step
[18:27] josephboyle has joined the channel
[18:28] indutny: aguynamedben: yes, it's possible to access values that're outside of function's scope
[18:29] jasong_at_apache has joined the channel
[18:29] indutny: aguynamedben: but returning values is impossible
[18:29] ryanfitz_ has joined the channel
[18:29] coreb has joined the channel
[18:29] dksl: mscdex: thanks anyway for the help. I'm going to start over as whatever changes i made now makes configure fail again
[18:31] pdelgallego has joined the channel
[18:31] robhawkes has joined the channel
[18:32] aguynamedben: indutny: okay, hmm, are there issues with putting a Step call inside another step function? let me boil down my test case
[18:32] chjj: why would there be?
[18:33] chjj: if step couldnt handle something like that i dont think it would be so widely used ;)
[18:37] beriberikix has joined the channel
[18:38] ryanfitz_ has joined the channel
[18:39] jgv has joined the channel
[18:40] aaronblohowiak has joined the channel
[18:41] aaronblohowiak: in my package.json how do i expose a "submodule" such that require("packageName/submodule") works ?
[18:43] baudehlo: just stick it in a directory named packageName
[18:43] baudehlo: no need for anything in package.json
[18:44] aaronblohowiak: baudehlo: i am publishing an npm package named packageName
[18:44] aaronblohowiak: that has a "main" : "index.js"
[18:45] dexterous has joined the channel
[18:46] context: uhhh
[18:46] context: baudehlo: add it as a dependency ?
[18:46] dexterous: ryah: I realize it redirects, but shouldn't we change the URL to the wiki in the chanserver welcome message?
[18:47] baudehlo: *shrug* I don't now... hopefully someone else will answer.
[18:47] ryah: dexterous: sure - just tell me how
[18:47] insin has joined the channel
[18:48] dexterous: ryah: not a clue! i'm still pretty much a noob when it comes to irc commands
[18:48] indutny: ryah: how stable is current dgram implementation?
[18:48] dexterous: ryah: how'd you set it in the first place?
[18:48] indutny: ryah: I can 100% reproduce segfault when using it
[18:48] _jdalton has left the channel
[18:48] ryah: indutny: stacktrace?
[18:49] aaronblohowiak: ryah /TOPIC #Node.js foo should work
[18:49] ryah: indutny: i haven't heard many complains about it
[18:50] jarek has joined the channel
[18:50] dexterous: aaronblohowiak: no, not the topic; that's fine. i was talking about the message ChanServ throws at you when you join
[18:50] aaronblohowiak: oh
[18:50] kristsk has joined the channel
[18:51] hosh_work has joined the channel
[18:52] aaronblohowiak: then it is /msg ChanServ SET ENTRYMSG #Node.js foo
[18:52] aaronblohowiak: i believe
[18:52] indutny: ryah: no stack trace, just segfault
[18:53] ryah: indutny: open it with gdb
[18:53] ryah: indutny: and/or show me how to reproduce
[18:54] ryanfitz has joined the channel
[18:54] dgathright has joined the channel
[18:54] harth has joined the channel
[18:55] hij1nx has joined the channel
[18:56] stagas: yay another crappy lib: https://github.com/stagas/lwink
[18:56] jiggliemon has joined the channel
[18:56] dexterous: ryah: here's the command - /msg chanserv SET #Node.js ENTRYMSG [#node.js] Visit the wiki page https://github.com/joyent/node/wiki
[18:57] tbranyen: stagas that guy writes the worst code
[18:57] stagas: :P
[18:57] tbranyen: i mean who uses prototype inheritance anyways
[18:58] stagas: me!
[18:58] ryah: done
[18:58] ra1f has joined the channel
[18:58] taf2: ACTION i like prototype inheritance
[18:58] pkrumins: hey guys, when did the patch land which allows node_modules/ to contain other node_module dirs if they are dependencies?
[18:58] dexterous: ryah: cool ;)
[18:58] dexterous has left the channel
[18:58] systemfault: What's wrong with prototypal inheritance? :/
[18:58] dexterous has joined the channel
[18:58] pkrumins: like node_modules/dnode/dependent-lib/node_modules/more-deps
[18:58] pkrumins: ryah: you know?
[18:59] dexterous: ryah: yup that did it
[18:59] tbranyen: pkrumins: i dunno man, what if more than one module shares it
[18:59] tbranyen: seems like anti-DRY
[18:59] pkrumins: tbranyen: that's how it works
[18:59] SubStack: tbranyen: but you can have concurrent dependency versioning this way
[18:59] aaronblohowiak: tbranyen: it is also the only way to keep the package manager correct but simple
[19:00] SubStack: and plus npm can figure out all that stuff
[19:00] context: tbranyen: npm 1.0 changed how deps work
[19:00] indutny: ryah: could same udp socket be used for sending and listening?
[19:00] ryah: indutny: yeah, i think so
[19:01] taf2: ACTION is madly in love with npm and node :P
[19:01] mjr_: indutny: yes it can.
[19:01] ryah: pkrumins: before v0.4
[19:01] pkrumins: before!
[19:01] pkrumins: i wonder why it doesn't work for me today
[19:02] namelessnotion_ has left the channel
[19:02] dexterous has left the channel
[19:02] joe_ingersoll has joined the channel
[19:02] indexzero has joined the channel
[19:02] aaronblohowiak: pkrumins: please add examples for bucket to node-lazy thanks
[19:02] dyer_ has joined the channel
[19:02] dyer_ has joined the channel
[19:02] indutny: ryah: that wasn't a udp problem, I just called : new Buffer('"pong"', 0, 6, 8031, '127.0.0.1')
[19:03] indutny: v8: new Buffer('"pong"', 0, 6, 8031, '127.0.0.1')
[19:03] v8bot: indutny: ReferenceError: Buffer is not defined
[19:03] context: uhh
[19:03] context: pretty sure Buffer has nothing to do with ip addresses or port numbers
[19:03] ryah: indutny: :)
[19:03] aaronblohowiak: SubStack: is there an example of browserify.bundle({ base: objectMap }) ?
[19:03] ryah: indutny: you win
[19:04] indutny: ryah: :)
[19:04] indutny: ryah: is it a normal behaviour ? :D
[19:04] deedubs: stagas: is the tiny extractor for lwink extractable
[19:04] ryah: indutny: bug. fix coming up.
[19:04] chjj: indutny stumped ryah
[19:04] stagas: deedubs: what do you mean? it's just a HEAD request and looks for res.headers.location
[19:05] deedubs: ah okay
[19:05] deedubs: stagas: true enough
[19:05] pkrumins: aaronblohowiak: what is bucket?
[19:05] zed0: Does anyone know if there's an easy way to convert from RGB to ansi terminal 256 colours?
[19:05] maushu has joined the channel
[19:05] aaronblohowiak: pkrumins: https://github.com/pkrumins/node-lazy/blob/master/lazy.js#L139
[19:06] deedubs: stagas: I'll need to be able to run an extractor over a string and have its urls expanded is why i asked
[19:06] SubStack: aaronblohowiak: in the unit tests there is
[19:06] pkrumins: aaronblohowiak: i didnt add that/don't know what it does.
[19:06] context: i dont see what indutny did :x
[19:06] aaronblohowiak: pkrumins: oh, ok
[19:07] pkrumins: SubStack knows, something to do with buckets, but forgot what they were.
[19:07] stalled has joined the channel
[19:07] pkrumins: queues or something, not sure.
[19:07] SubStack: yeah so lazy could have .lines
[19:07] SubStack: buffering mechanism for events
[19:07] pkrumins: i knew the day SubStack added it
[19:07] stagas: deedubs: oh you can extract all that from lwink, lines 84-88 extract the urls, and then I just HEAD serially and then text.replace(oldurl, newurl)
[19:08] aaronblohowiak: SubStack: ahh, okay. cool.
[19:08] indutny: context: you're lucky one
[19:09] pkrumins: aaronblohowiak: you want to add docs for that? :)
[19:09] aaronshaf2 has joined the channel
[19:09] aaronblohowiak: pkrumins: :P i might add some docs for foldr, sum, product
[19:10] pkrumins: that would be sweet
[19:10] pkrumins: cause we got no docs for it at all
[19:10] pkrumins: yeah SubStack should add bucket docs
[19:10] aaronshaf2: "curl http://npmjs.org/install.sh | sudo sh" hangs on my fresh installed Ubuntu 10.0 instances at Rackspace
[19:10] pandeiro has joined the channel
[19:10] aaronshaf2: It hangs at this part: "fetching: http://registry.npmjs.org/npm/-/npm-1.0.6.tgz"
[19:10] aaronblohowiak: well, i think `lines` is more important than bucket.. bucket might be private if it is just an impl detail of lines
[19:11] aaronblohowiak: "undocumented" is the new convention for private
[19:11] aaronblohowiak: lol
[19:11] skiz has joined the channel
[19:11] stagas: deedubs: I chose not to make the expander separate because I'm only expanding unique urls here
[19:11] jayfresh has joined the channel
[19:12] pdelgallego has joined the channel
[19:13] deedubs: stagas: That attempts to expand all urls correct?
[19:13] stagas: deedubs: yep
[19:13] deedubs: ah
[19:13] ryanfitz_ has joined the channel
[19:13] johnnywengluu: are the videos for node.js conf 2011 online?
[19:14] CIA-90: node: 03Ryan Dahl 07v0.4 * r5e409c2 10/ (src/node_buffer.cc test/simple/test-buffer.js): makeFastBuffer should not segfault but rather throw on non-buffer - http://bit.ly/jbsped
[19:14] deedubs: stagas: think I'll be porting something like this http://barkingiguana.com/2009/05/07/expanding-shortened-urls-in-a-ruby-string/ I like the white listing of URL's to expand
[19:14] ryah: indutny: fix --^
[19:14] indutny: ryah: thanks!
[19:15] deedubs: stagas: now to come up with a name ....
[19:15] indutny: ryah: what's about my ssl patches?
[19:15] aaronblohowiak: SubStack: got it! https://github.com/substack/node-browserify/blob/master/test/multibase.js
[19:15] deedubs: stagas: if this were ruby I'd call it expandomatic
[19:15] jayfresh has left the channel
[19:16] johnnywengluu: :(
[19:16] edude03 has joined the channel
[19:16] ryah: indutny: yes..
[19:16] jbpros has joined the channel
[19:16] stagas: deedubs: expanda :P
[19:17] pkrumins: yo tjholowaychuk, your code is good, but SubStack has the best modules of all time. OF ALL TIME.
[19:17] tbranyen: woah
[19:17] tjholowaychuk: ALL TIME
[19:17] aaronshaf2: is anyone here able to successfully install npm right now?
[19:17] tbranyen: those are some fighting words
[19:17] aaronshaf2: using "curl http://npmjs.org/install.sh | sudo sh"
[19:17] mjr_: indutny: what did you fix in SSL?
[19:17] deedubs: stagas: extremepanda
[19:18] chjj: its a shame theres no efficient way to "uniquify" an array
[19:19] chjj: v8: Array.prototype.uniquify
[19:19] v8bot: chjj: undefined
[19:19] stagas: deedubs: one thing I noticed is that some people tiny url the tiny urls, so the ideal is to head until it doesn't redirect, but I was too lazy
[19:19] chjj: v8: 'Array.prototype.uniquify'.blink()
[19:19] v8bot: chjj: ""
[19:19] SubStack: aaronblohowiak: so many tests...
[19:19] mjr_: ryah: so I patched lib/net.js to have readImpl not emit error on ETIMEDOUT or EHOSTUNREACH, and no crashes in about 12 hours.
[19:20] ryah: mjr_: sigh :/
[19:20] superjudge has joined the channel
[19:20] springmeyer has joined the channel
[19:20] mjr_: I know, sucks.
[19:20] ryah: mjr_: well at least your not crashing
[19:20] mjr_: I'm going to figure out how to reproduce this.
[19:20] ryah: would suck if that revealed yet another problem
[19:20] mjr_: Throw some vms at the problem.
[19:20] indutny: mjr_: that's not fixes
[19:20] SubStack: chjj: in-place uniq/nub or immutable?
[19:20] SubStack: chjj: also sorted or unsorted?
[19:20] context: v8: Array.prototype.unique
[19:20] v8bot: context: undefined
[19:20] context: v8: Array.prototype.uniq
[19:21] v8bot: context: undefined
[19:21] SubStack: 'cause you can just whip up a reduce() for that
[19:21] mjr_: ryah: if we had a simple repro that worked under no load, I'm sure we could figure it out.
[19:21] context: :(
[19:21] ryah: mjr_: yes
[19:21] mjr_: ryah: but I'll bet it'll require iptables magic, so it'll be hard to integrate into the test suite.
[19:21] Marak has joined the channel
[19:21] SubStack: v8: Object.keys([ 4, 1, 7, 2, 1, 4, 3, 1, 5, 5, 7 ].reduce(function (acc, x) { acc[x] = true; return acc }, {})
[19:21] v8bot: SubStack: SyntaxError: Unexpected end of input
[19:22] SubStack: v8: Object.keys([ 4, 1, 7, 2, 1, 4, 3, 1, 5, 5, 7 ].reduce(function (acc, x) { acc[x] = true; return acc }, {}))
[19:22] v8bot: SubStack: ["1","2","3","4","5","7"]
[19:22] Marak: v8: var f = this; f.arguments.callee.toString();
[19:22] v8bot: Marak: TypeError: Cannot read property 'callee' of undefined
[19:22] SubStack: well that stringifies but
[19:22] mehsiu has joined the channel
[19:22] Marak: v8: arguments.callee.toString();
[19:22] v8bot: Marak: "function (code){\nvar res\ntry{res=eval(code)}\ncatch(e){return e.name+': '+e.message}\nif(console.out.length)return console.out.join('\n')\nreturn pp(res)\n}"
[19:22] Marak: v8: arguments.callee.arguments.callee.toString();
[19:22] v8bot: Marak: "function (code){\nvar res\ntry{res=eval(code)}\ncatch(e){return e.name+': '+e.message}\nif(console.out.length)return console.out.join('\n')\nreturn pp(res)\n}"
[19:25] ryah: indutny: hey - can you rebase https://github.com/joyent/node/pull/958
[19:25] phil_ has joined the channel
[19:26] chjj: Marak: stop hacking
[19:26] phil_: I'm having some trouble setting the connection timeout on a request, if anyone has a second to help me out.
[19:26] kmwallio has joined the channel
[19:26] chjj: phil_: whats the problem
[19:27] phil_: So, I'd like to set it like this: req = http_module.get(http_options); req.connection.setTimeout(10000)
[19:27] phil_: But at that point there's no connection.
[19:27] phil_: And it looks like the first event I have is "response", which is already too late.
[19:28] indutny: ryah: let me see
[19:28] indutny: ryah: yep, give me a 2 minutes
[19:29] indutny: ryah: rebase to what?
[19:29] indutny: 0.4 or master
[19:29] ryah: v0.4
[19:29] indutny: k
[19:29] chjj: phil_: that sets a timeout on the socket, what you could do is listen for the first data event, and set some closure variable to true, and then having a setTimeout that checks for the closured variables verity
[19:29] chjj: and destroy the request otherwise
[19:30] phil_: That's what I have been doing actually. I thought there was possibly a better way. haha
[19:30] phil_: Okay, well, thanks for the help!
[19:30] chjj: or you could do, req.socket.setTimeout on a nexttick, or a settimeout
[19:30] hij1nx has joined the channel
[19:30] context: i take it there are no videos from nodeconf online? :x
[19:31] phil_: Is .socket the same as .connection?
[19:31] context: oh wait
[19:32] chjj: phil_: yes, connection is an alias for .socket
[19:32] indexzero has joined the channel
[19:32] ryanfitz_ has joined the channel
[19:32] phil_: Cool, thanks.
[19:32] markwubben has joined the channel
[19:33] chjj: i also think theres a 'response' event on a client request too, im not sure, thats one more event to hook though, might be easier to just do a clearTimeout in the first data event
[19:34] q_no has joined the channel
[19:35] chjj: @phil_*
[19:35] phil_: Yeah, there's a "response" event, but wouldn't that be too late since I'm trying to check if there was no response?
[19:36] indutny: ryah: oh, rebasing is really a black magic :D lol
[19:36] Remoun has joined the channel
[19:36] indexzero has joined the channel
[19:37] indutny: ryah: https://github.com/joyent/node/pull/1072
[19:37] eksmith has joined the channel
[19:37] Votaguz has joined the channel
[19:37] wadey has joined the channel
[19:38] indutny: ryah: seems like I'd added some extra code
[19:38] indutny: ryah: shouldn't it be here?
[19:38] indutny: ryah: https://github.com/joyent/node/pull/1072/files#L0R60
[19:39] ryah: indutny: currently there is no flags
[19:39] indutny: ryah: yep, I see. I'll create new pull request
[19:40] ryah: k
[19:41] CIA-90: node: 03Ryan Dahl 07v0.4 * r6461af1 10/ test/simple/test-buffer.js : Fix buffer test - http://bit.ly/l9FM1e
[19:42] eksmith has joined the channel
[19:43] indutny: ryah: that should be better https://github.com/joyent/node/pull/1073
[19:44] patcito has joined the channel
[19:44] chjj: v8: var s, func = function() { var i = 0xfffff; while (i--) {} };s = Date.now(); try { func(); } catch(e) {} print(Date.now() - s); s = Date.now(); func(); print(Date.now() - s);
[19:45] ryah: indutny: thanks
[19:45] ryah: indutny: testing now
[19:45] indutny: ryah: k, I'll be here for some time
[19:45] ryanfitz_ has joined the channel
[19:45] chjj: v8: print.toString()
[19:45] v8bot: chjj: "function print(x){console.log(x)}"
[19:45] squaretone_ has joined the channel
[19:46] chjj: hmmm
[19:46] skiz has joined the channel
[19:46] squaretone_ has joined the channel
[19:46] josephboyle has joined the channel
[19:47] chjj: v8: var s, func = function() { var i = 10000000; while (i--) {} };s = Date.now(); try { func(); } catch(e) {} print(Date.now() - s); s = Date.now(); func(); print(Date.now() - s);
[19:47] chjj: v8: ah you made cause im stylin on you
[19:47] v8bot: chjj: SyntaxError: Unexpected identifier
[19:48] rbranson: Gil Yehuda:
[19:48] rbranson: Yahoo! uses Node.JS for some things.
[19:48] rbranson: oh noes
[19:48] stalled has joined the channel
[19:51] ryah: the tests take too long :(
[19:52] ryah: 7min and counting
[19:52] ryah: 63% complete
[19:52] pifantastic has joined the channel
[19:52] indutny: ryah: someday they'll take weeks
[19:52] indutny: :D
[19:53] mraleph: chjj: what are you trying to benchmark?
[19:53] chjj: benchmarks for my function seem faster wrapped in a trycatch
[19:53] chjj: no idea why
[19:54] chjj: *significantly* faster
[19:54] ryah: i think the sqlite tests take many hours
[19:54] mraleph: chjj: does it manipulate with doubles?
[19:54] chjj: not really no
[19:54] kkaefer: ...or days
[19:54] kkaefer: they have a very interesting article about testing
[19:54] mraleph: chjj: suspicious.
[19:54] kkaefer: http://www.sqlite.org/testing.html
[19:55] chjj: mraleph: its a css selector engine
[19:55] josephboyle has joined the channel
[19:55] mraleph: chjj: do you have the code somewhere?
[19:55] chjj: mraleph: not yet, going to release it soon, just want to make sure its faster than sizzle for the right reasons
[19:56] mraleph: try catch should not affect the perf of the callee much.
[19:56] chjj: its just the function for the entire thing wrapped in a trycatch, i wrap it in a trycatch, and if somebody inputs something stupid, i just return an empty array
[19:57] hassox has joined the channel
[19:57] chjj: so its only 5 or so lines
[19:57] mraleph: chjj: ping me when you release the code, would be interesting to investigate.
[19:57] indutny: ryah: so how it's going?
[19:57] chjj: mraleph: roger
[19:58] ryah: indutny: fine - i need to test it a bit
[19:58] jacobolus has joined the channel
[19:58] pomodoro has joined the channel
[19:58] indutny: ryah: k, ttyl. I'm going to sleep
[19:59] mraleph: chjj: it might be that try catch affects the timing of the gc, cause entering function with try catch usually causes allocation of local context, this might cause gc that was otherwise happening in some other place. or something like that… or stack alignment, but stack alignment should not affect perf much.
[19:59] brownies has joined the channel
[19:59] chjj: mraleph: that sounds plausible, ive noticed funky things happening with trycatch before
[20:00] dominic_ has joined the channel
[20:00] mcluskydodallas has joined the channel
[20:00] chjj: i mean, my engine is still faster even without the try catch, but with the trycatch, it rivals the native document.querySelector
[20:00] chjj: stupidly fast
[20:01] harth has joined the channel
[20:02] ExsysHost has joined the channel
[20:03] mraleph: chjj: very fishy
[20:04] jgautier has joined the channel
[20:05] admc1 has joined the channel
[20:07] beriberikix has joined the channel
[20:09] skiz has joined the channel
[20:09] Votaguz_ has joined the channel
[20:13] mattrobenolt has joined the channel
[20:14] nlco has joined the channel
[20:14] steffkes has joined the channel
[20:15] omni5cience has left the channel
[20:16] ksmith has joined the channel
[20:17] MrTopf has joined the channel
[20:17] supjeff: how do you guys feel about coffeescript?
[20:17] mikeal: supjeff: :(
[20:17] mikeal: more accurately :/
[20:18] supjeff: yeah, same
[20:18] rbranson: :/
[20:18] supjeff: I usually code python, so coming back to js was kind of hard
[20:18] chjj: another CS discussion inc
[20:18] softdrink: i like it the same way i like haml/sass/etc
[20:18] supjeff: and coffeescript is supposed to ease the pain
[20:18] chjj: but its not the same
[20:18] chjj: not NEARLY the same
[20:18] supjeff: but it seems like just another layer
[20:18] chjj: css and html = purely declarative
[20:19] softdrink: i meant in the way that it adds clarity and saves typing for me… but that's about it :)
[20:19] supjeff: yeah
[20:19] blkcat: i should try coffeescript sometime
[20:19] blkcat: but then i really dislike python so that worries me a little bit ;)
[20:20] chjj: my opinion on the whole cs situation is, compiling to a high level language is bad
[20:20] supjeff: what's to dislike about python?
[20:20] jmoyers: nothing to do with python
[20:20] supjeff: yeah, seems that way chjj
[20:20] tsesame_: the biggest complaint I've heard so far about coffeescript is not being able to match line numbers while debugging
[20:20] softdrink: whitespace
[20:20] wadey has joined the channel
[20:20] supjeff: I wonder if you can compile js into cs
[20:20] burg has joined the channel
[20:20] matbee: tsesame, same
[20:20] mikeal: i wrote python for a long time, there is plenty to dislike about it :)
[20:20] jmoyers: line numbers are indeed a pain
[20:20] jmoyers: def need to look at the 'compiled' code a bunch
[20:20] supjeff: mikeal: ... like what.
[20:20] ksmith: hey guys … I've just installed a few packages via npm and wondered why there's a folder ~/node_modules … is it safe to make it ~/.node_modules or even move it to /usr/local/... ?
[20:20] jmoyers: which luckily is not hard
[20:21] kersny has joined the channel
[20:21] supjeff: ksmith: you'd have to explicitly use the paths to your installed modules in your app
[20:21] jmoyers: ksmith: its supposed to install locall, so your packages are project specific
[20:21] jmoyers: you can use -g to install globally
[20:21] mikeal: threading is horrible, multiprocess is a joke, GIL, they broke that language and made the vm twice as slow so that print could be a function
[20:21] tprice has joined the channel
[20:21] mikeal: but mostly
[20:21] ksmith: well, I don't like them to be inside my home folder though
[20:22] ksmith: at least not as a visible folder
[20:22] mikeal: the python core community is not interested in what you are doing
[20:22] mikeal: they are working on a perfect syntax
[20:22] mikl has joined the channel
[20:22] mikl has joined the channel
[20:22] wadey: ksmith: you aren't support to run "npm install" from your home folder
[20:22] tsesame_: I don't know python that well, but I had thought they got multithreading right
[20:22] jmoyers: node is aware of the folder for require()
[20:22] mikeal: that's their concern, not you, not your app
[20:22] wadey: ksmith: you are supposed to run it from the project you want the packages for
[20:22] ksmith: well, where should I run npm install then to install coffee-script?
[20:22] supjeff: mikeal: hmm
[20:22] wadey: ksmith: do "npm install -g"
[20:22] wadey: to install globally
[20:22] supjeff: mikeal: but what do you think of the syntax?
[20:22] tprice: what would the install folder of nodejs on debian 5?
[20:22] supjeff: :p
[20:22] wadey: the default is to install "locally"
[20:22] chjj: i wish the python syntax were less ugly
[20:23] mikeal: the syntax is beautiful, i'm just over it :)
[20:23] chjj: the colons throw me off
[20:23] supjeff: chjj: whoa, what?
[20:23] ksmith: wadey: ah, ok. is there a way to make it global by default?
[20:23] stalled has joined the channel
[20:23] mikeal: syntax doesn't protect me from side effects and not block me from writing my app
[20:23] chjj: a colon after a right paranthesis by itself just looks ugly to me
[20:23] mikeal: there are more important things than syntax
[20:23] wadey: ksmith: read the FAQ here: https://github.com/isaacs/npm/blob/master/doc/faq.md
[20:23] Bonuspunkt has joined the channel
[20:24] tsesame_: a colon after a right parens makes me feel sad for some reason
[20:24] chjj: it does!
[20:24] supjeff: chjj: do you prefer the staches?
[20:24] ksmith: hmm and why ain't it recommended?
[20:24] chjj: dont know why, but that language was never aesthetically pleasing to my eye
[20:24] nlco: why is this occuring? https://gist.github.com/981638
[20:24] wadey: ksmith: because you will run into dependency hell :)
[20:24] mikeal: i actually hate { }
[20:25] mikeal: but i'm over it
[20:25] chjj: everyone hates curly braces
[20:25] chjj: why?
[20:25] supjeff: ksmith: so you can run multiple projects that are completely sealed off from each other
[20:25] jmoyers: object.__RIDICULOUS__
[20:25] chjj: i like them, i actually like them more than significant whitespace
[20:25] mikeal: that's the thing about syntax, even when you don't like it, you get over it pretty quick
[20:25] tjholowaychuk: braces are nice, nothing worse than 100 lines of crap
[20:25] tjholowaychuk: that you cant tell where it ends
[20:25] chjj: significant whitespace just looks so fragile to me
[20:25] tjholowaychuk: because it's indented
[20:25] tjholowaychuk: i've had tons of people show me CS for express config
[20:26] tjholowaychuk: and it's broken
[20:26] tjholowaychuk: because they indented shit wrong
[20:26] skiz has joined the channel
[20:26] supjeff: yeah, but if they had the braces and indented shit wrong, their code would look stupid
[20:26] tsesame_: IMO significant whitespace only belongs to the realm of declarative langs
[20:27] chjj: tsesame_: agreed
[20:27] supjeff: I don't know, I like significant whitespace
[20:27] chjj: in a declarative language it looks nice and declaritive languages are usually more concise
[20:27] supjeff: I write my code that way anyway
[20:27] supjeff: saves me having to type {s
[20:27] tjholowaychuk: it only looks good when it's your code
[20:27] xtianw has joined the channel
[20:27] tjholowaychuk: and if you're not an idiot
[20:28] tjholowaychuk: writing massive methods
[20:28] tjholowaychuk: and tons of nesting
[20:28] ksmith: thanks guys :) it was just a couple of packages anyway … I guess if I'll ever get serious about node programming I'll appreciate the ability to install packages locally
[20:28] supjeff: huge, swinging methods
[20:28] ksmith: ls
[20:28] supjeff: ksmith
[20:29] supjeff: if you're just doing it casually, stick to local. Make a dir for your test project, cd in there and npm install your stuff
[20:29] supjeff: then when youre done, just delete the dir
[20:29] supjeff: no mess
[20:30] supjeff: or if you want to make a few test projects, make a dir called 'node_projects'
[20:30] supjeff: cd in there, npm install your shit, then make subdirectories for each throwaway project
[20:31] ksmith: well, I really can't see the benefit of doing that vs. installing the packages globally, as long as I'm just playing around
[20:31] supjeff: node.js will crawl your directory tree looking for node_modules
[20:31] supjeff: when you're done playing around, you'll have a bunch of node packages installed somewhere in /var/opt or whatever
[20:31] Renegade001 has joined the channel
[20:31] ksmith: it's basically what I'm used to from other package managers
[20:31] supjeff: ACTION doesn't know where npm installs stuff with -g
[20:32] supjeff: oh, in that case
[20:32] ksmith: it's /usr/local/lib
[20:32] supjeff: mm
[20:33] supjeff: tjholowaychuk: you can set textmate to show invisible characters. It would show you indentation levels.
[20:33] supjeff: just sayin
[20:33] chjj: a parallel universe
[20:33] tjholowaychuk: haha
[20:33] jbpros has joined the channel
[20:33] chjj: @supjeff
[20:34] jmoyers: yeah, THAT looks nice
[20:34] jmoyers: a bunch of whitespace markers
[20:34] andi5 has joined the channel
[20:35] supjeff: it's just a little mark for a tab, and a mark for a line break
[20:35] wookiehangover has joined the channel
[20:35] supjeff: I know, it looks lame
[20:35] jmoyers: and a { is just a little curly brace :-)
[20:35] mahna has joined the channel
[20:35] ksmith: what do you guys like about node and/or javascript in particular?
[20:35] bene1 has joined the channel
[20:35] jmoyers: dont get me wrong, i've written some coffeescript for small projects
[20:35] jmoyers: i like it
[20:35] chjj: ksmith: we dont like it, were just here for the lively conversation
[20:35] supjeff: I like that node is small, simple and fast
[20:36] tsesame_: node is trendy yo
[20:36] supjeff: the evented paradigm is appealling to me
[20:36] rbranson: i like how it V8 a garbage collector not designed for server applications
[20:36] tilgovi has joined the channel
[20:36] tilgovi has joined the channel
[20:36] rbranson: and how I have poor grammar skills
[20:36] supjeff: all these other server packages are trying to figure out how to do more than one thing at the same time efficiently
[20:36] andi5: The API correlates best with what webservers are today.
[20:37] supjeff: and javascript was built that way
[20:37] chjj: i like its simplicity yeah, it just gives you v8 with a unified, consistent io api
[20:37] supjeff: yeah
[20:37] chjj: it doesnt assume youre writing a webserver, or what youre doing with it
[20:37] ksmith: I'm just asking as I'm only exposed to JS in frontend dev and I never thought of actually doing something else with it until recently.
[20:37] chjj: it doesnt make assumptions
[20:37] chjj: omg
[20:37] supjeff: and there are factors that compete with each other to make javascript run faster and faster
[20:38] chjj: a real live clientside javascripter!
[20:38] supjeff: lol
[20:38] chjj: i love my bias againt clientside only JSers, sorry ;p
[20:38] supjeff: does js run on the clientside?
[20:38] chjj: haha
[20:38] chjj: apparently
[20:39] supjeff: can I get the github for client-side js?
[20:39] supjeff: that would be crazy
[20:39] tsesame_: so then was is vbscript?
[20:39] jiggliemon has joined the channel
[20:39] supjeff: ksmith: I think nodejs is the future of web servers
[20:40] taf2: i think you're the future of webservers :P
[20:40] tbranyen: different kind of coding, i see so many mistakes and misunderstandings in a lot of node.js projects
[20:40] tbranyen: doesn't mean i mock node.js coders
[20:40] Opaque has joined the channel
[20:40] burg has joined the channel
[20:40] tbranyen: chjj: shouldn't be a competition between client and server, but the competency of the coder
[20:40] jmoyers: i see a lot of mistakes and misunderstandings in every programming language
[20:40] supjeff: ksmith: imagine you make a form on a site, you write some scripts to validate the user input. You could use the same exact validation on the server.
[20:40] yozgrahame has joined the channel
[20:40] tbranyen: jmoyers: exactly
[20:40] chjj: tbranyen: i didnt say it was a competition
[20:41] tbranyen: thanks for assisting with my point :D
[20:41] tjholowaychuk: a few days ago i saw /&/.test(str) in defunkt's code
[20:41] tsesame_: the problem I think is that server code tends to be more complex, and the callback styling of coding doesn't really scale well, at least for beginners
[20:41] tjholowaychuk: fail
[20:41] chjj: haha
[20:41] skiz has joined the channel
[20:41] tbranyen: tsesame_: thats what i don't get, jquery the most popular js lib does just fine with loads of nested callbacks
[20:41] tjholowaychuk: but at least all the ruby ppl are using CS
[20:41] tjholowaychuk: so i know not to use it
[20:42] tbranyen: and its very noob friendly
[20:42] supjeff: tsesame_: that's event driven programming
[20:42] chjj: tsesame_: wait, you said there was a problem somewhere?
[20:42] jmoyers: every single day
[20:42] supjeff: it's the documentation
[20:42] jmoyers: callbacks are hard
[20:42] skiz: tbranyen: you can easily use the events also
[20:42] jmoyers: every single day
[20:42] jmoyers: mailing list
[20:42] tsesame_: tbranyen: But I don't think you approach the complexity on a clientthat you would on a full-blown server app
[20:42] skiz: all jquery methods generally also fire events
[20:42] jmoyers: some new library for COMPILING callbacks out of the code
[20:42] jmoyers: thats insane
[20:42] tbranyen: skiz: all events have callbacks...
[20:42] chjj: tsesame_: i completely agree
[20:42] jmoyers: it takes like 20 minutes to research a flow control library and move on
[20:43] chjj: i dont even think you can use JS to its full potential on the client
[20:43] ksmith: tjholowaychuk: is there any reason for you to not like it?
[20:43] tsesame_: express and other frameworks seem to mitigate a lot of that
[20:43] tbranyen: chjj: yeah nobody is writing awesome client side web apps
[20:43] jmoyers: oh yeah
[20:43] Samot: anyone tried node.js clustering on linode?
[20:43] jmoyers: ajax.org isn't doing shit
[20:43] jmoyers: really
[20:43] supjeff: I understand the difficulty in thinking about everything evented
[20:43] jmoyers: when you think about it
[20:43] ksmith: tjholowaychuk: I mean … have you actually tried it or is it just … well, I don't know, you don't like the concept?
[20:43] chjj: no, i mean, client side js simply doesnt give you the opportunity to really *USE* javascript
[20:43] gazumps has joined the channel
[20:43] tjholowaychuk: ksmith yeah i've tried it
[20:43] tjholowaychuk: i'm not getting started
[20:44] Lorentz has joined the channel
[20:44] supjeff: chjj: what are you talking about
[20:44] mikegerwitz: chjj: I disagree. I've written some fairly large cleint-side apps that have taken advantage of JS far more than my server app.
[20:44] Samot: could you elaborate chjj?
[20:45] supjeff: yeah really
[20:45] ryanfitz has joined the channel
[20:45] chjj: lol
[20:45] supjeff: WTF chjj
[20:45] mikegerwitz: (if by "taking advantage of JS", you mean features of the language itself)
[20:45] chjj: im surprised at so many disagreements
[20:45] Samot: not disagreeing
[20:45] Samot: just don't understand what you mean by USE
[20:45] supjeff: ^
[20:45] tsesame_: mikegerwitz: Large isn't always more complex, just saying.. when you start talking about DB calls and other forms of I/O...
[20:46] chjj: i mean use to its fullest potential, for lack of a better phrase
[20:46] Samot: hrm?
[20:46] tsesame_: I mean I guess you could be doing a lot of crazy AJAX
[20:46] ksmith: good night :)
[20:46] ksmith has left the channel
[20:46] supjeff: tsesame_: it only got weird for me when I made this big pyramid of callbacks with redis
[20:46] chjj: client side js, doesnt have anything *terribly* complex going on
[20:46] taf2: client side js is the shit
[20:46] Samot: I am working on something which uses intense js lol http://protosal.com
[20:46] rbranson: lol
[20:46] rbranson: " client side js, doesnt have anything *terribly* complex going on"
[20:47] mikegerwitz: tsesame_: I personally find client-side logic more complex, beacuse I deal less with GUIs. Whereas I've dealt with low-level stuff my entire career.
[20:47] supjeff: chjj: what if you write an email client or other nutty web app
[20:48] mikegerwitz: I'm not going to argue tha server-side software can be more complex, though. I generally agree with that.
[20:48] chjj: how many streaming parsers do you have to write on the client side, why did all the async tools almost exclusive get created because of node?
[20:48] chjj: etc
[20:48] mikegerwitz: argue the point that*
[20:48] chjj: exclusively*
[20:48] supjeff: chjj: why do opposites attract?
[20:48] supjeff: fucking magnets.
[20:49] nibblebot has joined the channel
[20:49] supjeff: so anyway
[20:49] systemfault: Well.. I won't judge you if you like magnet pr0n
[20:49] ryanfitz_ has joined the channel
[20:49] supjeff: anybody played with backbone.js?
[20:49] tsesame_: supjeff: There was ways to get around that
[20:50] Samot: supjeff i am working on http://backbonetutorials.com
[20:50] puffpio has joined the channel
[20:50] Samot: I haven't ever used in node.js though only as a client framework
[20:50] tsesame_: My head starts spinning when I try to connect code spread out over different modules in an elegant way
[20:50] supjeff: cI can't wait to try backbone
[20:50] tsesame_: Backbone looks cool I just don't know how to use it yet
[20:50] Samot: follow my tutorials lol
[20:50] supjeff: but I don't feel like I have a strong enough grasp of oop and evented stuff yet
[20:51] chjj: so im confused, people really think client side code is as complex as serverside code?
[20:51] Samot: client side code can be pretty complex
[20:51] tsesame_: Samot: Will def check them out when the time comes
[20:51] syskk has joined the channel
[20:51] chjj: confused and surprised*
[20:51] supjeff: clientside can be crazy
[20:51] supjeff: but let's agree
[20:52] Samot: i have asynchronous working code on the client
[20:52] tsesame_: chjj: I think it has the potential to be, but on average I think server code is usually more complex
[20:52] supjeff: the burden of the web experience can be shifted between client and server fairly equally
[20:52] tsesame_: It all comes down to the application you're writing right
[20:52] chjj: i used to be more of a client side guy
[20:53] supjeff: look at it this way, a back-end that did nothing but return database records in JSON could still be a damn-good back end.
[20:53] tsesame_: I think the server code of a simple chat server using something like now.js will have more complex client code
[20:53] tsesame_: er I mean will be simpler than the client code
[20:53] Samot: Try writing a single page app
[20:54] supjeff: I can't say which is generally more complex, it's all about how you divide up the labour
[20:56] chjj: a lot of it is my personal bias: before i came to node, any coder's js for the browser made me want to vomit, it was all horrible, it was only once i came to node that i saw real programmers writing good code in js
[20:56] supjeff: yeah, I do my best not to look at my colleagues front-end code
[20:56] rbranson: heh
[20:56] Samot: writing js for the browser is not easy though
[20:57] hij1nx has joined the channel
[20:57] tsesame_: Is it safe to say that if you write bad node.js code you'll pay a heavier price than writing bad client code?
[20:57] supjeff: I'm finding myself more repulsed by front-end dev every day
[20:57] chjj: tsesame_: i was about to bring that up actually, hehe
[20:57] supjeff: tsesame_: but why would you say that
[20:58] fakewaffle: is there a module for image resizing?
[20:58] tsesame_: more things can go wrong and for worse at the server
[20:58] chjj: bad serverside code will segfault and drop your entire server, bad code in the browser may only effect one person
[20:58] rbranson: eh
[20:58] supjeff: eh
[20:58] rbranson: segfault?
[20:58] supjeff: stacktrace and whatnot
[20:58] duncanbeevers has joined the channel
[20:58] chjj: rbranson: yes
[20:59] supjeff: it'll say Yo. Shit's all fucked up.
[20:59] skiz has joined the channel
[20:59] rbranson: you've been able to produce segfaults with node?
[20:59] tsesame_: at the least things can get confusing faster I think
[20:59] tsesame_: granted there are exceptions to everything I'm thinking alon the lines of your run of the mill web app
[20:59] chjj: no, i havent, i havent...tried...
[20:59] chjj: although
[21:00] chjj: maybe i should so i can win the semantics argument next time!
[21:00] chjj: :)
[21:00] andi5: I close a server on exit, why is the address in use after restart?
[21:00] rbranson: a segfault is a very specific thing
[21:00] beriberikix: Where's the best place to find out about node.js events? meetups, training, etc?
[21:00] fakewaffle: git st
[21:00] fakewaffle: lol!!
[21:01] rbranson: lulz bro
[21:01] rbranson: at least it wasn't your r00t password
[21:01] fakewaffle: damn you synergy!
[21:01] CoinOpeBoy has joined the channel
[21:01] fakewaffle: haha yeah
[21:01] fakewaffle: moved my mouse a bit too far to the right and windows xp captured it
[21:01] supjeff: lol
[21:01] Nican has joined the channel
[21:02] andi5: Or how can I make node trigger the exit event when I press strg+z or on killall node?
[21:02] supjeff: does node have a mailing list or anything?
[21:02] mikeal: yup
[21:02] mikeal: nodejs@googlegroups
[21:02] supjeff: link?
[21:02] supjeff: ok
[21:02] rbranson: lmgtfy link
[21:02] supjeff: thanks
[21:02] supjeff: ...
[21:03] andi5: So the port is not freed when the process exits
[21:03] rbranson: damn it's even on the wikipedia page
[21:03] syskk: unrelated http://cdn.theatlantic.com/static/infocus/miss051911/m01_14381413.jpg
[21:03] jaket has joined the channel
[21:03] andi5: To demonstrate: https://gist.github.com/981737
[21:04] col3: when i run the 'hello-world' example for the first time and then telnet localhost 1337, I then say GET / HTTP1.1 and it before the 'Hello World' body it has a 'c' and after it there is a zero...any idea why?
[21:04] andi5: The exit event is never fired, does somebody know why?
[21:05] dcelix has joined the channel
[21:06] TheCowby has joined the channel
[21:07] dcelix has joined the channel
[21:09] beriberikix_ has joined the channel
[21:09] mc_greeny has joined the channel
[21:09] skm has joined the channel
[21:09] syskk: andi5: because the process never exits?
[21:10] mscdex: they closed the page heh
[21:10] syskk: andi5: I believe the process never exits as long as you are listening on the port
[21:10] mscdex: syskk: they can't hear you :P
[21:10] supjeff: syskk: have you tried ctrl+c?
[21:10] syskk: uh?
[21:11] supjeff: ok, so you run the app with node app.js right?
[21:11] supjeff: have you tried hitting the interrupt key combo?
[21:11] pquerna: i'm spawning a subprocess with spawn; I want stderr to be the same as my existing one.
[21:11] pquerna: process.stderr doesn't expose the fd number
[21:11] pquerna: i wanted to avoid hard coding a 'good' guess
[21:11] pquerna: is there some way to get at what stderr is using?
[21:12] tjholowaychuk: pquerna process.binding('stdio').stderrFD maybe
[21:12] jerrysv: pquerna: that and posix defines stderr as 2
[21:13] pquerna: well right, I was trying to avoid just hard coding 2 :)
[21:13] pquerna: process.binding('stdio').stderrFD gives it correctly
[21:13] jerrysv: pquerna: understood, but it is standard :)
[21:13] syskk: supjeff: I was replying to andi5's question
[21:14] pdelgallego has joined the channel
[21:15] dcelix has joined the channel
[21:16] adambeynon has joined the channel
[21:16] __tosh has joined the channel
[21:18] Kryckan has joined the channel
[21:19] tokumine has joined the channel
[21:19] amaudy has joined the channel
[21:19] ryanfitz_ has joined the channel
[21:21] jamey-uk1 has joined the channel
[21:21] m64253_ has joined the channel
[21:22] andi5 has joined the channel
[21:22] ryanfitz has joined the channel
[21:23] hellp has joined the channel
[21:23] Poetro1 has joined the channel
[21:24] LowValueTarget has joined the channel
[21:24] ryanfitz__ has joined the channel
[21:25] MikeMakesIt has joined the channel
[21:26] ryanfitz_ has joined the channel
[21:26] orospakr: anyone got any favourite HTTP/REST/etc. middleware modules/packs to recommend? there's a crapload of libraries out there, so figured I would see what people are using.
[21:27] ryanfitz_ has joined the channel
[21:31] tsesame_ has joined the channel
[21:31] slloyd has joined the channel
[21:32] Rob- has joined the channel
[21:33] syskk has joined the channel
[21:33] tanepiper: Marak: So are you becoming a BC kingpin? :D
[21:33] syskk has left the channel
[21:33] olalonde has joined the channel
[21:33] Marak: tanepiper: i dont know about all that
[21:34] jerrysv: marak: how much have you spent in real $$$ so far? (just curious)
[21:34] Marak: actual cash? $0.00
[21:34] Marak: at least of my money
[21:35] chjj: marak is bit coin rich?
[21:36] ezmobius has joined the channel
[21:36] tanepiper: The problem with bitcoins is, just like real money only the rich can afford to get lots of it
[21:37] rbranson: isn't that an innate property of currency
[21:37] rbranson: ?
[21:37] olalonde: you're mistaking cause and effect ;)
[21:37] mikey_p: in other words, the problem with money is that only people with alot of money have alot of money.
[21:38] stonebranch has joined the channel
[21:38] jerrysv: oh, 17qop[...] is me
[21:38] jerrysv: yeah
[21:39] olalonde: who needs a node.js module written? I'll work for bitcoins
[21:39] olalonde: :)
[21:40] aaronblohowiak has joined the channel
[21:40] AAA_awright: olalonde: One in C++?
[21:40] olalonde: AAA_awright: yep JS or C++
[21:40] AAA_awright: I'm not sure how serious I am but it's worth noting...
[21:41] skyloid has joined the channel
[21:41] AAA_awright: olalonde: How much are you familiar with databases?
[21:41] jamey-uk1 has left the channel
[21:42] AAA_awright: olalonde: I'm looking for a native Node.js module for 4store
[21:42] rbranson: MS SQL Server module
[21:42] rbranson: close
[21:42] olalonde: AAA_awright: as a user very familiar (wrote an orm for instance), as a database developer no experience
[21:43] AAA_awright: Well that's not stopping me either so
[21:44] olalonde: looking it up
[21:44] TokyoDan has joined the channel
[21:46] draginx has joined the channel
[21:47] CIA-90: node: 03Fedor Indutny 07v0.4 * r21724ec 10/ (lib/crypto.js lib/tls.js):
[21:47] CIA-90: node: Share SSL context between server connections
[21:47] CIA-90: node: Fixes #1073. - http://bit.ly/iCKYl4
[21:47] draginx: Looking for a module/project on github… it allowed u to render graphs in real time with very smooth curves =/ anyone have any idea?
[21:47] Marak: errr
[21:47] Marak: http://news.ycombinator.com/x?fnid=ra3ETfzHHt
[21:47] olalonde: AAA_awright: not sure what you mean by native extension, 4store's protocol seems to be HTTP based
[21:47] Marak: http://news.ycombinator.com/item?id=2565377 there we go
[21:47] Marak: who did that
[21:48] draginx: bitcoins is unhackable
[21:48] nlco: nlco
[21:48] AAA_awright: olalonde: It has various frontends, but only one can be attached to the backend at a time, one of them is HTTP yeah
[21:48] draginx: Marak: funny
[21:48] draginx: you know why i asked about that graph project?
[21:48] AAA_awright: My problem with it is that it's not flexible enough
[21:48] tjgillies: you can hack bitcoins. lose faith in them. their value will drop
[21:48] draginx: its because im making a real time bitcoin thing xD
[21:48] draginx: u cannot hack btc lol
[21:48] sechrist: oh god bitcoins
[21:48] chjj: how long have bit coins been around anyway>?
[21:49] AAA_awright: draginx: Hey I'm thinking about that too
[21:49] sechrist: so I have a computing cluster that isn't being used
[21:49] Marak: tjgillies: no need to hack the tech, hacking the economy is way more fun
[21:49] draginx: chjj 1+ years at least
[21:49] sechrist: is it beneficial to generate these things
[21:49] draginx: AAA_awright: awesome :D you'll probably do it better and faster than me since Im a newb at node :(
[21:49] Marak: tjgillies: no central authority means i can do whatever the fuck i want, try to stop me :-)
[21:49] draginx: sechrist: atm no the difficulty is way to high imo
[21:49] draginx: unless ur in a pool
[21:49] tjgillies: ACTION has over 200 bitcoin ;)
[21:49] ryah: Marak: your buying bitcoins?
[21:50] AAA_awright: draginx: I'm making a platform designed for displaying and formatting data, like Bitcoin, I think I've told you about it http://magnode.org/
[21:50] draginx: yup yup
[21:50] draginx: didnt realize that was for bitcoins though
[21:50] AAA_awright: draginx: It's one purpose I'm designing for
[21:50] draginx: aye i see
[21:50] jbpros has joined the channel
[21:50] draginx: why not just do RRD?
[21:50] Marak: tjgillies: ill take for 2k usd ;-)
[21:50] Marak: 1CNuFPYtXfCWtey2fCGHnS7sZVwURzahQH
[21:50] Marak: ryah: i almost got 10k now
[21:50] tjgillies: Marak: seriously? i'll send them
[21:51] draginx: 10k bitcoins o-o hoyl shit
[21:51] chjj: bitcoins are nerd-fabulous
[21:51] draginx: ok so yeah still looking for that module
[21:52] draginx: AAA_awright: ill send u alink to it once find it :) its really cool graphical display
[21:52] chjj: this channel has two modes now: discussing whether CS sucks or not, and talking about bitcoins
[21:52] draginx: CS comp sci?
[21:52] chjj: no, coffee script
[21:52] draginx: or counter strike? ;x jk but why does cs suck?
[21:52] draginx: ooo
[21:53] draginx: not a fan of CS but i do see its practicality
[21:53] chjj: no no no
[21:53] chjj: i didnt mean to switch into the other mode now
[21:53] chjj: dont start this
[21:53] chjj: we already had a cs discussion today
[21:53] tjgillies: im writing a bitcoin client in coffeescript
[21:53] tjgillies: ;)
[21:53] chjj: omg
[21:53] chjj: two modes at once
[21:53] chjj: my head exploded
[21:54] CIA-90: node: 03Alexandre Marangone 07v0.4 * r5d9dc1c 10/ src/platform_sunos.cc : Adding os.totalmem() and os.freemem() for SunOS - http://bit.ly/jLsdZZ
[21:54] CIA-90: node: 03Alexandre Marangone 07v0.4 * r6c28fcf 10/ src/platform_sunos.cc :
[21:54] CIA-90: node: (char *) casting for all strings args to kstat function to avoid warnings
[21:54] zed0: OOC how does one verify that bitcoins are in fact unhackable?
[21:55] puffpio has joined the channel
[21:55] draginx: AAA_awright: sorry mate cant find it anymore :( will do a google search
[21:55] AAA_awright: draginx: Can't find what?
[21:55] dominic_: zed0: you try and hack it and see if it works.
[21:55] draginx: AAA_awright: super slick graph displaying for nodejs in real time
[21:56] viz has joined the channel
[21:56] zed0: "No one has done it yet" doesn't seem like a terribly valid basis for a currency.
[21:56] AAA_awright: draginx: docket.io?
[21:56] Marak: tjgillies: 1CNuFPYtXfCWtey2fCGHnS7sZVwURzahQH just pm your address so i can verify
[21:56] zcopley has joined the channel
[21:56] tjgillies: Marak: what address?
[21:56] tjgillies: oh my send address?
[21:57] draginx: AAA_awright: not sure what that is?
[21:57] Marak: your bt addy so i can verify
[21:57] Marak: after you send
[21:57] Marak: crap, i think the feds are here
[21:57] AAA_awright: draginx: It's duplex browser/Node.js networking
[21:57] AAA_awright: draginx: Seriously you haven't heard of it? It's the killer product for Node.js
[21:57] draginx: link me plz?
[21:58] draginx: docket.io did not work
[21:58] AAA_awright: http://socket.io/
[21:58] dnyy: draginx: socket.io
[21:58] bronson has joined the channel
[21:58] draginx: oh socket.io
[21:58] draginx: yeah u said docket.io
[21:58] draginx: i thought that was something diff :S sorry
[21:58] actonapp has joined the channel
[21:58] chjj: zed0: "no one has done it yet" is a good enough answer in the field of cryptography
[21:58] draginx: nah i dont mean that i mean like actually displaying graphs in real time
[21:58] draginx: like drawing lines
[21:58] AAA_awright: Typo sorry
[21:58] dominic_: zed0: but surely everyone is trying or thinking about trying. I know I am.
[21:58] AAA_awright: socket.io
[21:58] draginx: yup i know what that is :D lol
[21:58] jhurliman: dumb question, but what is the difference between socket.io and dnode?
[21:59] chjj: dnode is rpc
[21:59] jhurliman: ah
[21:59] chjj: socket.io abstracts away things like xhr, websockets, etc
[21:59] chjj: into one api
[22:00] gm___ has joined the channel
[22:00] jhurliman: dnode is also bidirectional and operates on top of xhr, websockets, etc, correct? so it's one layer higher in the stack than socket.io, so to speak?
[22:00] tilgovi has joined the channel
[22:00] tilgovi has joined the channel
[22:01] jhurliman: or did i get that wrong
[22:01] jmoyers: dnode
[22:01] jmoyers: is rpc
[22:01] jmoyers: is it not
[22:01] chjj: yeah, dnode doesnt necessarily have to be client to server rpc though
[22:01] jmoyers: its not the same thing
[22:01] Kryckan has left the channel
[22:01] tjgillies: where did marak go?
[22:01] nlco has left the channel
[22:01] mscdex: he went bitcoin shopping!
[22:01] jmoyers: also
[22:02] jmoyers: dnode uses socket.io or in the case of server to server, can use tcp methinks
[22:02] jmoyers: not totally sure about that
[22:02] chjj: jmoyers: yeah, i explained that to him, he was asking if dnode could sit on top of socket.io
[22:02] jmoyers: it.. does
[22:02] jmoyers: by default
[22:02] jmoyers: pretty sure
[22:02] jhurliman: got it, thanks
[22:02] chjj: yes, i was explaining this to him
[22:02] jmoyers: indeed: https://github.com/substack/dnode/blob/master/package.json#L25
[22:03] materialdesigner has joined the channel
[22:03] Jalava has joined the channel
[22:03] jhurliman: bidirectional browser<->server rpc sounds amazing
[22:03] chjj: right, but i was saying, it doesnt necessarily have to sit on top of socket.io
[22:03] beriberikix__ has joined the channel
[22:04] chjj: its rpc, it doesnt have to be client -> server
[22:04] jmoyers: like i said
[22:04] jmoyers: tcp if server to server
[22:04] jmoyers: it would be nice if it did ipc for process to process too
[22:04] Aikar has joined the channel
[22:04] Aikar has joined the channel
[22:04] chjj: i know that, it just sounded like you were correcting me by saying the same thing i was
[22:04] jmoyers: no.. i didn't see it brother
[22:04] jmoyers: im like a child
[22:04] jhurliman: jmoyers, i suppose someone could write a zeromq transport for it
[22:04] jmoyers: walking into the middle of a conversation
[22:04] jmoyers: :-)
[22:05] jmoyers: the zeromq node module seems a little hairy around the edges
[22:05] slickplaid: Anyone know of a good guide or previous work on interacting with a unix socket through node?
[22:05] jhurliman: :-\
[22:05] sherod has joined the channel
[22:05] fakewaffle: who made nodemon?
[22:05] giby has joined the channel
[22:06] mikey_p: http://github.com/remy/nodemon/
[22:06] fakewaffle: remy? is that there user name in here?
[22:06] jmoyers: slickplaid, the docs are pretty good
[22:07] jmoyers: http://nodejs.org/docs/v0.4.7/api/net.html#net.Socket
[22:08] chjj: fakewaffle: remy sharp, hes like a well respected clientside js guy
[22:08] gmgl_ has joined the channel
[22:08] fakewaffle: chjj: ok... thanks, just wanted to tell him how fucking cool nodemon is
[22:08] sjbreen has joined the channel
[22:08] novumordo has joined the channel
[22:09] hasenj has joined the channel
[22:09] chjj: haha
[22:09] pquerna: in express, is there a good way to dump all routes, for all sub-apps?
[22:09] vnguyen has joined the channel
[22:09] herenowc1der has joined the channel
[22:09] tjholowaychuk: dump?
[22:09] pquerna: doh
[22:09] tjholowaychuk: what do you mean
[22:09] tjholowaychuk: just to view what's been defined?
[22:09] pquerna: print out every route
[22:09] pquerna: yes
[22:10] tjholowaychuk: not baked in nope
[22:10] tjholowaychuk: i could whip something up though
[22:10] aaronblohowiak: rake routes
[22:10] aaronblohowiak: i mean, whoops
[22:10] aaronblohowiak: ;)
[22:10] pquerna: we have a chain of apps, and its hard to know why something is 404ing right now
[22:11] pquerna: wanted to dump the whole top level app to see if we messed up a path somewhere in the middle
[22:11] tjholowaychuk: pquerna i also have a middleware tracer
[22:11] tjholowaychuk: for that
[22:11] tjholowaychuk: somewhere
[22:11] tekky has joined the channel
[22:14] dyer has joined the channel
[22:14] dyer has joined the channel
[22:14] jgautier has joined the channel
[22:15] sherod_ has joined the channel
[22:15] olauzon has joined the channel
[22:16] eikaas has joined the channel
[22:16] quackslike has joined the channel
[22:17] chrislor_ has joined the channel
[22:18] orospakr: wow. I guess Marak spawned up a pile of EC2 instances and mined bitcoins?
[22:18] pyrony has joined the channel
[22:18] roar1 has joined the channel
[22:18] LowValueTarget has joined the channel
[22:18] jaket has joined the channel
[22:18] jiggliemon has joined the channel
[22:18] Renegade001 has joined the channel
[22:18] ryah has joined the channel
[22:18] mbrevoort has joined the channel
[22:18] frodenius has joined the channel
[22:18] jano has joined the channel
[22:18] __class__ has joined the channel
[22:18] AntelopeSalad has joined the channel
[22:18] mscdex has joined the channel
[22:18] sion2k has joined the channel
[22:18] zined_ has joined the channel
[22:18] rkioski has joined the channel
[22:18] mikey_p: orospakr: according to twitter he's been buying them
[22:18] orospakr: that too.
[22:19] LowValueTarget has joined the channel
[22:19] jaket has joined the channel
[22:19] jiggliemon has joined the channel
[22:19] Renegade001 has joined the channel
[22:19] ryah has joined the channel
[22:19] mbrevoort has joined the channel
[22:19] frodenius has joined the channel
[22:19] jano has joined the channel
[22:19] __class__ has joined the channel
[22:19] AntelopeSalad has joined the channel
[22:19] mscdex has joined the channel
[22:19] sion2k has joined the channel
[22:19] zined_ has joined the channel
[22:19] rkioski has joined the channel
[22:21] perezd_ has joined the channel
[22:21] alek_br has joined the channel
[22:21] Tobsn has joined the channel
[22:21] Tobsn: mornin
[22:22] Renegade001 has joined the channel
[22:22] Tobsn: anyone a suggestion how to best fetch multiple http requests at the same time and work through them when its done?
[22:23] aaronblohowiak: Tobsn: seq might make that easy
[22:23] aaronblohowiak: or async or any of those
[22:23] Tobsn: im looking at step right now
[22:24] Tobsn: you think seq would give me any benefits?
[22:24] chjj: Tobsn: you should use a parallel loop if you want to buffer them all and look at them as one collection
[22:24] Tobsn: so step and this.parallel() ?
[22:24] chjj: push them onto an array
[22:24] chjj: yeah, that would work in step
[22:24] Tobsn: k
[22:24] Tobsn: still trying to understand step haha
[22:24] Tobsn: its so simple its hard to understand :P
[22:25] Tobsn: i basically need to read 3-4 different xml feeds and mix them up based on a single field within each feed
[22:26] chjj: in step you would do step(function() { request('..', this.parallel()); request('..', this.parallel()); }, function() { // and one big collection here });
[22:27] Tobsn: yeah
[22:27] Tobsn: hmm
[22:27] Tobsn: last function would have function( result1, result2, result3 ) or would you somehow push the result in an array and if so, where do you specify that with this.parallel() ?
[22:28] chjj: or at least i think, i dont really use step
[22:28] Lorentz has joined the channel
[22:28] Tobsn: yeah it somehow works like that
[22:28] chjj: i think it just gives you a big array of the results
[22:28] tjholowaychuk: pquerna: i'll have a module soon, i've wanted a tracer as well
[22:28] chjj: not sure, i usually just include my own little step function if i need one
[22:28] chjj: its easy to write a really simple one in a couple lines
[22:29] Tobsn: the example with two read files shows step( function load(){ fs.read( file1, this.parallel() ); fs.read( file2, this.parallel(); );}, function show( err, file1, file2 ){ ... })
[22:30] Tobsn: but i dont see how i would push the read() output into an array
[22:30] chjj: i think it does that for you, it concatenates the arguments into a big array i think
[22:31] pibi_home has joined the channel
[22:31] chjj: not sure though, lemme look
[22:31] edude03 has joined the channel
[22:31] Tobsn: maybe there is something in the this object but i cant see it
[22:32] chjj: yeah it does
[22:32] chjj: it will give you a `results` array
[22:32] chjj: oh, it actually does .apply
[22:32] chjj: so it will be multiple arguments
[22:33] Tobsn: ah, i see, maybe just Step( function() { req(..., this.parallel(); ) req( ...same.. ); }, function( err, result ){} );
[22:33] Tobsn: ah okay
[22:33] aaronblohowiak: chjj: Why was the Priest tough on the orphan functions?
[22:33] chjj: Tobsn, thats what im telling you
[22:33] Tobsn: i just gonna try it
[22:33] chjj: hehe
[22:33] Tobsn: yep
[22:33] Tobsn: hehe
[22:33] aaronblohowiak: chjj: they didn't .apply themselves
[22:33] Tobsn: i was stuck in different function name() blah with one receiving end function that needs arguments
[22:33] Tobsn: lemme just try it
[22:33] Tobsn: :P
[22:34] chjj: arronblohowiak: oh i see what you did ther
[22:34] liar has joined the channel
[22:36] Tobsn: would be http.request( {options}, this.parallel() ); right?
[22:37] piscisaureus__ has joined the channel
[22:38] chjj: http.request by itself is evented
[22:38] chjj: you cant just give a callback
[22:38] Tobsn: what you mean?
[22:38] pquerna: tjholowaychuk: sweet, thanks
[22:38] Tobsn: i actually never requested anything external over http so i have no clue
[22:39] tjholowaychuk: pquerna pretty much done just going to polish it up a bit
[22:39] chjj: youll need to do var req = http.request(options, function(res) { res.on('data', function() { ... } }); req.end();
[22:40] chjj: so youll have to write your own little function that abstracts that into a simpler interface first
[22:40] chjj: and buffer the response data
[22:40] Tobsn: oh jezz
[22:40] truemedia has joined the channel
[22:40] chjj: its not as hard as it sounds
[22:41] chjj: only a few lines
[22:41] truemedia: wow this channel really does have a lot of people lol
[22:41] Tobsn: yep
[22:41] Tobsn: and its like the opposite of #php - people actually try to help you :P
[22:42] aho: 616 is the number of the beast, by the way
[22:42] aho: :>
[22:42] truemedia: btw i got here by searching node.js irc in google 4th result google group
[22:42] ExsysTech has joined the channel
[22:43] eyesUnclouded has joined the channel
[22:43] fakewaffle: how do a serve a static .js or .css file with express?
[22:43] Tobsn: cause its kinda obvious anyway... go on freenode and join #{language|OS|OSS project}
[22:43] nsolsen has joined the channel
[22:43] chjj: Tobsn, i can gist you an example of how to do it
[22:44] Tobsn: fakewaffle, app.use("/styles", express.static(__dirname + '/styles'));
[22:44] Tobsn: chjj, that would be extremely nice
[22:44] Tobsn: fakewaffle, http://senchalabs.github.com/connect/http.html - see static
[22:44] tjholowaychuk: fakewaffle: app.use(express.static(__dirname + '/public'))
[22:44] tjholowaychuk: is the norm
[22:45] tjholowaychuk: for say GET /javascripts/app.js -> ./public/javascripts/app.js
[22:45] kriszyp has joined the channel
[22:45] fakewaffle: ok
[22:46] chjj: Tobsn: https://gist.github.com/981977
[22:46] chjj: theres a really simple generic request function
[22:46] tprice: anyone use this http://grumdrig.com/node-sqlite/
[22:47] chjj: just do request(url, [body], callback)
[22:47] tprice: is it good to use?
[22:47] chjj: and the cb gets a request object
[22:47] chjj: err
[22:47] chjj: response
[22:47] chjj: with res.body on it
[22:47] cafesofie has joined the channel
[22:49] skm has joined the channel
[22:49] ryanj has joined the channel
[22:50] fakewaffle: server.get('/:site/public/:resource/:file', ....) what if i dont know how many folders deep "file" might be?
[22:50] Tobsn: tprice, http://howfuckedismydatabase.com/sqlite/
[22:50] fakewaffle: resource would be css, js, and goes into that folder,
[22:51] jmoyers: why have a flat namespace
[22:52] jmoyers: but in theory, if you want to expose everything as /, then can't you recurse through your public directory and set more static handlers?
[22:52] fakewaffle: i dunno haha
[22:52] tjholowaychuk: uh
[22:52] tjholowaychuk: that doesnt sound right
[22:52] tjholowaychuk: lol
[22:52] tjholowaychuk: you can just set the root
[22:52] tjholowaychuk: and still GET /foo/bar/baz.js
[22:53] jmoyers: right
[22:53] Tobsn: chjj, well that will work i guess
[22:53] Tobsn: thanks so much ;)
[22:53] skiz has joined the channel
[22:53] jmoyers: but he seemed to want to expose all files in all folders ;-)?
[22:53] fakewaffle: yeah
[22:53] skm has joined the channel
[22:53] tjholowaychuk: that's kinda wrong
[22:53] tjholowaychuk: haha
[22:53] jmoyers: seems whacky
[22:53] fakewaffle: why?
[22:53] chjj: Tobsn: no problem, you might want to tailor it to your needs a little bit, but its a good template
[22:53] jmoyers: why have them in directories
[22:54] jmoyers: if you are going to want to serve them out of one 'directory'
[22:54] jmoyers: generally static file servers respect the file system
[22:54] jmoyers: for a reason
[22:54] fakewaffle: organization?
[22:54] jmoyers: you organize things thematically or functionally
[22:54] jmoyers: javascript, css, etc
[22:54] fakewaffle: yes
[22:54] fakewaffle: and if i want to use jquery, other things, those go into /javascrip/jquery/...
[22:54] jmoyers: so why is serving different?
[22:55] fakewaffle: im confused on the routing?
[22:55] tjholowaychuk: so do GET /javascripts/jquery/whatever.js
[22:55] jmoyers: ^^
[22:55] fakewaffle: this isnt just for one app though, sorry
[22:55] fakewaffle: i guess i didnt make that clear
[22:55] skm has joined the channel
[22:55] jmoyers: two apps doesn't preclude respecting the directory structure for serving
[22:56] jmoyers: or three or four
[22:56] jmoyers: look at CDNs
[22:56] jmoyers: they usually still have some directory
[22:56] jmoyers: what if two different directories both hae a lib.js? or a util.js
[22:56] jmoyers: just seems like trouble to me
[22:56] tjholowaychuk: yeah you could iterate and set up static()s per "app"
[22:56] tjholowaychuk: but
[22:56] fakewaffle: im not following, it doesnt sound like what i want
[22:56] tjholowaychuk: i wouldnt do it that way
[22:57] jmoyers: my guess is, you just want one static()
[22:57] jtsnow has joined the channel
[22:57] jmoyers: it treats what you pass in to static() as the document root
[22:57] jmoyers: in apache speak
[22:58] fakewaffle: im more confused now...
[22:58] fakewaffle: haha
[22:58] sh1mmer has joined the channel
[22:59] jmoyers: what do folks use to simulate a socket.io *client* for testing server side code?
[22:59] jmoyers: is there a simple module that simulates server side?
[23:00] tbranyen: jmoyers: simulate client or server side
[23:00] jmoyers: simulate client side
[23:00] mcantelon has joined the channel
[23:00] jmoyers: like i have a test suite im writing
[23:00] jmoyers: that needs to simulate 3-4 clients connecting and sending updates to the server handlers
[23:00] riven has joined the channel
[23:00] riven has joined the channel
[23:00] jmoyers: i've seen this stuff from the socket.io node project
[23:00] jmoyers: https://github.com/LearnBoost/Socket.IO-node/blob/master/tests/transports.websocket.js#L27-30
[23:00] jmoyers: but im not too familiar with this api
[23:01] jmoyers: and its requiring something deep in /support/
[23:01] gazumps has joined the channel
[23:03] amaudy has joined the channel
[23:03] skiz has joined the channel
[23:04] puffpio has joined the channel
[23:04] ChrisPartridge has joined the channel
[23:05] _fat has joined the channel
[23:07] broofa has joined the channel
[23:08] Tobsn: chjj, looks like its working :D
[23:08] Tobsn: request( 'http...', null, this.parallel() )
[23:09] tilgovi has joined the channel
[23:10] ryah has joined the channel
[23:10] pibi_home has left the channel
[23:11] hij1nx has joined the channel
[23:12] ericzz has joined the channel
[23:14] DTrejo has joined the channel
[23:16] aaronblohowiak: Kami_: whiskey should fail the test if the test function throws, instead of timing out
[23:17] devdazed has joined the channel
[23:19] bartt has joined the channel
[23:19] indexzero has joined the channel
[23:19] skiz has joined the channel
[23:20] hermanjunge has joined the channel
[23:20] jmalloc has left the channel
[23:22] jesusabdullah: assert(whiskey.proof >= 80)
[23:23] DTrejo: indexzero: workin on that right now, getting an example going, it's coming along
[23:23] _fat has joined the channel
[23:27] vikstrous: What do you guys think of stylus sprite? https://github.com/andris9/stylus-sprite
[23:27] vikstrous: I want to make something similar but better
[23:28] tjholowaychuk: vikstrous haven't seen it
[23:28] tjholowaychuk: until now
[23:28] tjholowaychuk: haha
[23:28] eee_c has joined the channel
[23:28] vikstrous: oh hi tjholowaychuk, just the right person to talk to about this :P
[23:28] tjholowaychuk: i would use node-canvas
[23:28] iori has joined the channel
[23:28] maqr has joined the channel
[23:29] vikstrous: the point of this is to combine icons into sprites to reduce bandwidth and improve load times
[23:30] tjholowaychuk: totally
[23:30] skiz has joined the channel
[23:30] tjholowaychuk: I'm aware of spriting no worries
[23:30] vikstrous: so how would canvas do the same thing?
[23:30] tjholowaychuk: yeah
[23:30] tjholowaychuk: oh
[23:30] tjholowaychuk: how
[23:30] tjholowaychuk: haha
[23:30] chjj: screw sprites, use base64'd images in your stylesheet ;)
[23:30] vikstrous: isn't canvas the html5 canvas??
[23:30] tjholowaychuk: well it's the canvas api you can manipulate images however you like
[23:30] tjholowaychuk: chjj yeah that's what we do
[23:31] chjj: yeah, its amazing
[23:31] chjj: its amazing how great things are when you ignore IE
[23:31] vikstrous: huh? really?
[23:31] yhahn has left the channel
[23:31] maqr has joined the channel
[23:31] rauchg: chjj they work on IE8/9 too :)
[23:31] chjj: hm, i thought ie8 was broken with them
[23:31] dnyy has joined the channel
[23:32] vikstrous: that sounds pretty sweet...
[23:32] tjholowaychuk: vikstrous stylus has it built in
[23:32] chjj: i guess i dont pay attention to ie so i wouldnt know ;)
[23:32] chjj: i dont pay attention anymore at least
[23:32] vikstrous: the base64 images?
[23:32] chjj: freed myself from being a slave to that terrible browser
[23:32] tjholowaychuk: $ cat lib/functions/url.js
[23:33] BillyBreen has joined the channel
[23:33] vikstrous: ok well in any case it doesn't sound like any of these things are actual sprites...
[23:33] vikstrous: so i can still make it for whoever wants to use sprites
[23:33] duncanbeevers: https://github.com/duncanbeevers/stylus/commit/009f3994559ed619dd190565e228eca223583a31
[23:33] rauchg: wuph
[23:34] tjholowaychuk: Y U NO PULL REQUEST
[23:34] tjholowaychuk: :p
[23:34] amaudy has joined the channel
[23:34] tjholowaychuk: jk
[23:34] duncanbeevers: Seems a little niche. I haven't actually benchmarked the performance of inlining fonts.
[23:34] jmoyers: noooo, don't remind me of the black hole that is reddit rage comics
[23:35] duncanbeevers: I've been moving to two stylesheets per page with inlined assets in the 2nd one, referenced at the bottom of the page.
[23:35] jmoyers: i will go there and emerge hours later, haggard and spent
[23:35] shimondoodkin has joined the channel
[23:35] vikstrous: tjholowaychuk: well, do you have any ideas of what i should make? i want to make something for node, but it seems like everything cool is already being done
[23:36] tjholowaychuk: vikstrous i kinda want node-canvas stuff
[23:36] tjholowaychuk: for stylus
[23:36] tjholowaychuk: to draw shapes
[23:36] tjholowaychuk: and data-uri those
[23:36] tjholowaychuk: for common shapes like tip nipples
[23:36] tjholowaychuk: haha
[23:36] tjholowaychuk: because i hate photoshop
[23:36] vikstrous: can you explain a bit more?
[23:36] chapel: for nipples
[23:37] chapel: wow tjholowaychuk
[23:37] tjholowaychuk: ahahaha
[23:37] tjholowaychuk: you know, arrows
[23:37] skm has joined the channel
[23:37] Marak has joined the channel
[23:38] Marak: fuck man, can anyone buy me some dominos i lost all my money
[23:38] Marak: HOW WILL I PAY OUR DEVELOPERS FUCK
[23:38] hermanjunge: Marak, did you recover anything?
[23:38] tjholowaychuk: vikstrous http://onehackoranother.com/projects/jquery/tipsy/
[23:38] tjholowaychuk: for example
[23:38] tjholowaychuk: if those tooltip arrows
[23:38] Marak: all is lost
[23:38] tjholowaychuk: are little images
[23:38] tjholowaychuk: but
[23:38] hermanjunge: Damned, I'm sorry man
[23:38] Marak: my only hope now is to write more node.js code
[23:38] tjholowaychuk: canvas could easily generate those
[23:38] tjholowaychuk: and color them
[23:38] Marak: hermanjunge: :-p
[23:38] vikstrous: ahh interesting
[23:38] tjholowaychuk: so if you want to change the tip color
[23:38] hermanjunge: you really spent 6k on bitcoins?
[23:38] tjholowaychuk: you dont have to do photoshop work
[23:39] hermanjunge: I almost start to invest
[23:39] Marak: hermanjunge: lol fuck no
[23:39] Marak: :-D
[23:39] vikstrous: sounds good. what was that about data uris?
[23:39] hermanjunge: HA! how many money did you spent?
[23:39] abraham has joined the channel
[23:39] tjholowaychuk: vikstrous: thats how you inline the image data in the css
[23:39] tjholowaychuk: so you don't have external files
[23:39] tjholowaychuk: since they are tiny
[23:39] Marak: hermanjunge: $0.00
[23:40] hermanjunge: I don't get it. I thought you were spending like crazy on those bitcoins
[23:40] hermanjunge: :P
[23:40] vikstrous: tjholowaychuk: oh i've never done that. i'll have to look into it
[23:40] tjholowaychuk: should be on wikipedia
[23:40] jTNT has joined the channel
[23:40] vikstrous: would this be a part of stylus or a separate module?
[23:40] tjholowaychuk: separate
[23:41] vikstrous: and what kind of things other than tooltips would it draw?
[23:41] tjholowaychuk: hmMmm
[23:41] tjholowaychuk: good question haha that was the obvious one that i wanted before
[23:41] vikstrous: pretty list bullets?
[23:41] tjholowaychuk: hmm
[23:41] tjholowaychuk: yeah maybe
[23:41] vikstrous: navigation triangle thingies...
[23:41] hermanjunge: Marak: I've read one article of yours where you talked about the 10 apps TODO on nodejs,
[23:42] Marak: hermanjunge: aye, a bit outdated, but still good
[23:42] hermanjunge: marak: Question: Has someone started to code a CMS on nodejs?
[23:42] tjholowaychuk: vikstrous i guess maybe just look around at designer sites n whatnot
[23:42] Marak: hermanjunge: im sure many initiatives, there are listings on the node.js wiki
[23:42] tjholowaychuk: see what can be generalized
[23:42] vikstrous: tjholowaychuk: alright. I'll do some research and i'll see what i come up with
[23:43] tjholowaychuk: cool man
[23:43] tjholowaychuk: im sure you could use svg for icons or something too
[23:43] tjholowaychuk: but i guess icons
[23:43] tjholowaychuk: are already made
[23:43] tjholowaychuk: so i dont have to open photoshop anyway
[23:44] vikstrous: hmm i've never used svg icons on a site
[23:44] vikstrous: do you normally render them as png for compatibility anyways?
[23:44] vikstrous: or do you keep them as svg?
[23:44] tjholowaychuk: there's a font called iconic or something with little icons
[23:44] tjholowaychuk: pretty cool idea
[23:44] tjholowaychuk: i have it in nib
[23:45] jTNT: hermanjunge: I'm working on a cms. I've spoken to others who are too.
[23:45] AaronMT has joined the channel
[23:45] vikstrous: oh interesting. if we take a font with icons and then use it to build an appropriate image we can use that for bullets
[23:47] hermanjunge: jTNT: Really? Great. What's its name?
[23:47] AAA_awright: hermanjunge: Like me
[23:47] broofa has joined the channel
[23:47] AAA_awright: I'm in my third redesign because the old paradigms of coding just don't translate well
[23:48] AAA_awright: And that's been the dying reason for existing blog systems/content management systems
[23:48] hermanjunge: Lol, I've had some trouble getting the event-oriented paradigm. I'm hardwired to OOP
[23:49] AAA_awright: It's not just OOP
[23:49] Marak: hermanjunge: EventEmitter is a fun place to start
[23:49] AAA_awright: It's templates more than anything else
[23:49] jTNT: hermanjunge: sorry, no name. nothing to share yet. but I'm happy to discuss approaches and share snippets if you're gonna have a go at it too.
[23:50] hermanjunge: Yesterday I was day-dreaming in some abstract approach for content. The same way RDF sweeps over the structure of SQL-like databases
[23:51] rchavik has joined the channel
[23:52] hermanjunge: I think the way to start something asbtract is defining what the tipical contents have in common... Anyway, talk is cheap, and want to code something light
[23:53] copongcopong has joined the channel
[23:54] hermanjunge: Back into planet Earth, the question is: Do we already have User management modules on nodejs? Chat modules? Blog modules? Doc Modules?
[23:55] captain_morgan has joined the channel
[23:56] baoist has joined the channel
[23:56] jTNT: hj: have a look at the node.js community wiki
[23:56] hermanjunge: jTNT: is this:http://nodejs.org/docs/v0.2.6/api.html?
[23:56] hermanjunge: (don't flame me, I'm new)
[23:57] jTNT: um, I meant : https://github.com/joyent/node/wiki/modules
[23:57] dnolen has joined the channel
[23:57] hermanjunge: THX
[23:57] ericzz has left the channel
[23:58] jakehow has joined the channel
[23:58] olalonde: hermanjunge: http://search.npmjs.org/