[00:01] estrathmeyer: tjholowaychuk: so that's a resounding "don't do it"? [00:01] tjholowaychuk: IMO yeah [00:01] estrathmeyer: k. [00:01] estrathmeyer: cloudhead ever com in here? [00:01] estrathmeyer: *come [00:02] maushu_ has joined the channel [00:03] Validatorian has joined the channel [00:03] mscdex: estrathmeyer: yeah [00:04] estrathmeyer: Hmm... maybe I can write a shell script to watch for file changes and run vows. [00:05] estrathmeyer: or just run it my damn self. (It's amazing how much effort I'll expend in order to theoretically save myself time.) [00:05] rachelderp has joined the channel [00:07] siong1987 has joined the channel [00:07] mraleph: ryah: what kind of debugger? :-) [00:08] ryah: mraleph: a console client for v8's debugger [00:08] ryah: (built into node) [00:08] Throlkim has joined the channel [00:09] isaacs_ has joined the channel [00:10] mraleph: kinda d8 [00:10] ryah: yeah [00:13] KeyboardWarrior has joined the channel [00:14] castral1 has left the channel [00:14] KeyboardWarrior: Is there a way to embed server-side JS in an HTML file? [00:14] KeyboardWarrior: Like, ) and have the prototypes global [00:42] mexis: so if you do: exports.myfunct = myfunct = function() { }, myfunc would beable to be access from any file as myfunct [00:43] mexis: i wanna do that with prototypes [00:43] mexis: =P [00:43] mexis: without writing a native lib [00:44] mexis: node.js is pretty awsome i just started playing with it over the weeekend [00:44] mexis: damn i suck at typing [00:45] r00s: mexis: a global prototype? like Object.prototype? [00:46] mexis: yes [00:46] mexis: like array.prototype.each = function (value) { [00:46] mexis: } [00:47] mexis: i was reading you can do it with native extensions, but cant find any info on it what so ever [00:47] r00s: you could just write a function that adds stuff to Object.prototype, and then run that [00:47] r00s: but i don't think it's a good idea to add stuff to Object.prototype or Array.prototype [00:48] mexis: whys that? [00:48] mexis: just curious [00:48] r00s: (1) other libraries might do so as well, and then the function names collide [00:49] r00s: (2) if you iterate over all stuff in an object, you'll get the new functions as well [00:49] mexis: well [00:49] mexis: i am going for a "framework" i guess [00:49] mexis: so i dont care about other libs [00:49] mexis: =P [00:50] mexis: wow did i over think that [00:51] mexis: i didnt realize i could just do Array.prototype.function and it would be global [00:51] mexis: i had no idea that node would allow that. thats what i get for not trying i guess =P [00:52] jakehow has joined the channel [00:52] matt_c has joined the channel [00:55] r00s: mexis: i sometimes use for...in on objects, and adding stuff to Object.prototype would make that more complicated [00:56] r00s: because if i don't take care, i'd also get that function i added in my for loop [00:56] Figaroo has joined the channel [00:57] JojoBoss has joined the channel [00:57] Figaroo: Is there something like GD for dealing with images in node.js? [00:58] mexis: um [00:58] tjholowaychuk: Figaroo: http://github.com/learnboost/node-canvas [00:58] tjholowaychuk: Figaroo: https://github.com/aheckmann/gm [00:59] Figaroo: how does C play with JS in node? [00:59] mexis: pretty well from what i understand [01:00] mexis: you gotta compile it as a native extension [01:00] mexis: from what i undestand [01:00] mexis: use the v8 headers [01:00] Figaroo: so node.js has an extension system? [01:00] tjholowaychuk: Figaroo: yup [01:00] mexis: here [01:00] tjholowaychuk: a node "addon" [01:00] mexis: ill show you the url [01:00] Figaroo: k [01:01] tjholowaychuk: Figaroo: its a dynamic library [01:01] Figaroo: dll? [01:01] tjholowaychuk: the ".node" is just for being fancy [01:01] Figaroo: so it's really a .dll? [01:01] Tuckerberg: The extension is js [01:01] Tuckerberg: no [01:01] mexis: https://www.cloudkick.com/blog/2010/aug/23/writing-nodejs-native-extensions/ [01:01] mexis: there you go [01:01] mexis: theres some blogs too if you google [01:02] Figaroo: thanks mexis [01:02] Figaroo: so could you port existing C libraries to node? [01:02] mexis: no idea [01:02] mexis: read the article [01:02] mexis: i am sure you could [01:02] tjholowaychuk: Figaroo: yup [01:02] tjholowaychuk: well not really a port [01:03] tjholowaychuk: if you are using the library [01:03] tjholowaychuk: you write bindings for them yeah [01:03] Figaroo: js bindings to them? [01:03] tjholowaychuk: yeah. for example node-canvas implements the canvas api through a bunch of custom c++ and bindings for http://cairographics.org/ [01:03] tjholowaychuk: libcairo [01:04] mexis: seee [01:04] mexis: thats pretty fucking awesome [01:04] Figaroo: so node's js code is pretty close to the actual binaries of the framework [01:04] Tuckerberg: madonna.com uses node.js [01:04] paulrobinson has joined the channel [01:05] heavysixer has joined the channel [01:05] Figaroo: you sure tuckerberg? [01:05] dgathright has joined the channel [01:05] Figaroo: Why would madonna.com use node? [01:07] arpunk has joined the channel [01:07] Tuckerberg: Because Madonna likes Javascript and asynhroneous programming [01:07] postwait has joined the channel [01:07] tjholowaychuk: haha [01:08] arpegius has joined the channel [01:10] isaacs has joined the channel [01:10] sh1mmer has joined the channel [01:10] Figaroo: madonna's a nerd? [01:12] brianmario has joined the channel [01:12] stepheneb has joined the channel [01:12] dnolen has joined the channel [01:16] aheckmann has joined the channel [01:17] sh1mmer: mape: ping [01:18] sh1mmer: mape: npm install profile is failing on a fresh install of node master [01:20] Tuckerberg: Madonna is a nerd: http://richardcormanstore.com/images/products/131/79532-591.jpg?1266870199 [01:20] Tuckerberg: wtf happened ot the cars [01:20] Tuckerberg: They look like 1900 cars [01:21] yozlet: I don't know that she likes Javascript though. I think she's more Into The Groovy. [01:22] yozlet: *tumbleweed* [01:23] Tuckerberg: She has a nice tumbeweed [01:30] BillyBreen has joined the channel [01:31] arpegius has joined the channel [01:34] paulrobinson has joined the channel [01:40] isaacs_ has joined the channel [01:40] sh1mmer has joined the channel [01:42] alek_br has joined the channel [01:43] Yuffster has joined the channel [01:46] mikew3c has joined the channel [01:46] BrianTheCoder has joined the channel [01:48] timemachine3030: how do I coerce `node-waf build` find my header files in ~/local ? [01:49] sh1mmer has joined the channel [01:50] masahiroh has joined the channel [01:50] JojoBoss: Anyone in here that uses express and knows how to use partials in views? [01:51] baoist_ has joined the channel [01:51] JojoBoss: I could use a simple example as the documentation mentions them, but doesnt give a great example of how to make use of them. [01:52] tjholowaychuk: JojoBoss: look at the examples in the repo [01:52] tjholowaychuk: 1.x if you are using it from npm [01:52] JojoBoss: k. [01:52] tjholowaychuk: or master if from the git repo or tarball [01:53] tjholowaychuk: JojoBoss: ./examples/ejs or ./examples/jade should help a bit [01:53] tjholowaychuk: let me know if you have questions [01:53] slaskis has joined the channel [01:53] JojoBoss: thanks. looking into it now [01:54] mjr_ has left the channel [01:54] zorzar_ has joined the channel [01:58] slaskis has joined the channel [02:01] zentoooo has joined the channel [02:02] stepheneb has joined the channel [02:05] zeroonea has joined the channel [02:06] pt_tr has joined the channel [02:06] zeroonea: anyone built node on windows? [02:08] mscdex: zeroonea: it's only available through cygwin at the moment [02:08] tjholowaychuk: ACTION looks forward to this new debugger ryan is working on [02:09] pHcF: how can i use assert.response with my var app = express.createServer() blah? [02:09] pHcF: in expresso, i mean [02:09] tjholowaychuk: pHcF: export your app [02:09] tjholowaychuk: var app = module.exports = ... [02:09] pHcF: ohh [02:10] pHcF: i'll need to export all the modules? [02:10] tjholowaychuk: no [02:10] tjholowaychuk: just what you want to test [02:10] isaacs has joined the channel [02:11] pHcF: i have the things i wanna test in a controller folder [02:12] pHcF: i mean, i have a app.get('/', adminController.myAction); [02:12] tjholowaychuk: assert.response() works with the http server [02:12] tjholowaychuk: no mocking [02:13] tjholowaychuk: so you want to just export the app [02:13] zeroonea: What I will get after build node.js on windows with cygwin? node.exe file? [02:13] gkatsev: anyone thought about making a podcatcher in node? [02:14] pHcF: tjholowaychuk: is there any example? [02:15] tjholowaychuk: pHcF: just export it like I showed you lol and do assert.response(app, { request stuff }, { response assertion stuff }) [02:16] pt_tr has joined the channel [02:17] pHcF: tjholowaychuk: TypeError: Cannot call method 'request' of undefined [02:17] pHcF: :/ [02:19] zeroonea: where I can get node.js windows binary? [02:22] DanielSim has joined the channel [02:22] wasabist has joined the channel [02:23] gkatsev: zeroonea: you can't have a windows binary of node.js, you can only use it within cygwin. [02:23] gkatsev: (if you can get it working there, I've had trouble) [02:24] mscdex: gkatsev: what trouble? [02:25] gkatsev: mscdex: I don't remember. Doesn't matter anymore. I used an ubuntu VM instead and now I switched back to linux as my OS, so, it's all good. [02:26] possibilities has joined the channel [02:27] rachelderp has joined the channel [02:27] baddogai has joined the channel [02:27] baddogai has left the channel [02:27] baddogai has joined the channel [02:27] baddogai has left the channel [02:27] JojoBoss has joined the channel [02:27] ben_alman has joined the channel [02:29] zeroonea: http://node-js.prcn.co.cc [02:29] Tuckerberg: Is it okay to use JSP for some things? [02:33] c4milo1 has joined the channel [02:36] deepthawtz has joined the channel [02:36] ryan[WIN] has joined the channel [02:38] pydroid has joined the channel [02:40] JojoBoss: tjholowaychuk: can you use the partials in a layout like includes, so for like a sidebar or menu to seperate it out? in EJS [02:41] isaacs_ has joined the channel [02:41] tjholowaychuk: JojoBoss: yup you could [02:42] tjholowaychuk: literal includes would be better for that, but neither ejs nor jade have that ATM [02:43] JojoBoss: tjholowaychuk: with that being the case, would there be a reason that using it like that would duplicate a partial 5 times when being provided a string as the variable [02:43] tjholowaychuk: what?? [02:43] tjholowaychuk: oh [02:43] tjholowaychuk: well what is your partial() call like? [02:44] JojoBoss: I come from a PHP background and like seperating things out like sidebars and whatnot. [02:44] JojoBoss: just a sec. ill grab it [02:44] JojoBoss: <%- partial('login.html', login) %> [02:44] tjholowaychuk: what is login [02:44] JojoBoss: right now i'm just testing a login form [02:45] tjholowaychuk: ? [02:45] JojoBoss: res.render(page+'.html', { locals: { site: siteVars, login: "test" } }); [02:46] tjholowaychuk: well passing a string to parial() wont do any good [02:46] tjholowaychuk: partial* [02:46] JojoBoss: i'm not using the variable at all in the partial [02:46] tjholowaychuk: good because that doesnt work :p [02:46] JojoBoss: i just want to use it like an include [02:46] JojoBoss: okay [02:46] JojoBoss: hehe [02:46] JojoBoss: that would explain a lot [02:47] tjholowaychuk: partial accepts an array, which will iterate each value and call the partial in context to that value [02:47] JojoBoss: although it is actually including the login.html, but including it 5 times [02:47] aguynamedben has joined the channel [02:47] tjholowaychuk: so a list of comments might be <%- partial('comment', comments) %> [02:47] tjholowaychuk: yeah [02:47] tjholowaychuk: because it has a .length [02:47] tjholowaychuk: so express is trying to iterate it [02:47] JojoBoss: k [02:47] tjholowaychuk: as a collection [02:47] tlrobinson has joined the channel [02:47] JojoBoss: so partial is not intend for my use case [02:48] tjholowaychuk: if you want to pass locals use partial('header', { locals: { title: 'My Site' }}) [02:48] tjholowaychuk: etc [02:48] JojoBoss: i dont really care to pass anything right now. but it 500 errored out without it [02:48] tlrobinson has joined the channel [02:48] tjholowaychuk: but the partials inherit locals from the parent view, so render(...., { locals: { title: 'foo' }}) will work [02:49] tjholowaychuk: JojoBoss: did it? [02:49] tjholowaychuk: might be a bug then [02:49] tjholowaychuk: one sec [02:49] tjholowaychuk: bit of a silly bug [02:49] tjholowaychuk: maybe partial() with on a string should be a literal include [02:49] tjholowaychuk: only* [02:50] JojoBoss: now it is working [02:50] JojoBoss: without the error [02:50] JojoBoss: maybe I typo'd something [02:51] tjholowaychuk: oh ok fewf haha [02:51] JojoBoss: k. yeah. its working now. I must have made a typo [02:51] tjholowaychuk: depending on what you are doing you can omit .html too btw [02:52] JojoBoss: yeah, i'm gonna try to do that. [02:52] JojoBoss: This is really my first real project i'm working on with node, other then just testing stuff [02:52] daniellindsley has joined the channel [02:53] JojoBoss: so still testing and learning basiacally [02:56] c4milo1 has joined the channel [02:57] zeroonea: I'm installed node.js in shared dreamhost. Then how I could run my first server? [03:11] isaacs has joined the channel [03:13] alek_br has joined the channel [03:15] rachelderp has joined the channel [03:15] CIA-93: node: 03Ryan Dahl 07debugger * r4227e9d 10/ src/node.cc : process.kill coerces args to integers - http://bit.ly/f0qaPq [03:15] CIA-93: node: 03Ryan Dahl 07debugger * r2ab9a28 10/ src/node.cc : start debug agent on SIGUSR1 - http://bit.ly/i8j7GT [03:15] CIA-93: node: 03Ryan Dahl 07debugger * rdc2669f 10/ (3 files in 3 dirs): [03:15] CIA-93: node: Add beginning of build-in debugger [03:15] CIA-93: node: + test-debugger-client (which is currently broken) - http://bit.ly/eoIFdt [03:16] CIA-93: node: 03Ryan Dahl 07master * r4227e9d 10/ src/node.cc : process.kill coerces args to integers - http://bit.ly/f0qaPq [03:16] zeroonea has joined the channel [03:17] shinmei has joined the channel [03:18] jimt has joined the channel [03:20] bruce has joined the channel [03:21] c4milo1 has joined the channel [03:22] fugoki has joined the channel [03:22] endian has joined the channel [03:25] mikeal has joined the channel [03:27] endian: there are a lot of GitHub issues open... and even some where the problem's been fixed [03:27] endian: e.g. https://github.com/ry/node/issues#issue/224 https://github.com/ry/node/issues/issue/240 [03:28] paparent has joined the channel [03:30] fmeyer has joined the channel [03:35] vastak has joined the channel [03:36] derferman has joined the channel [03:37] esigler has joined the channel [03:40] shinmei has joined the channel [03:41] wasabist has joined the channel [03:42] wilmoore has joined the channel [03:42] dipser_ has joined the channel [03:42] endian has left the channel [03:47] Wyverald has joined the channel [03:51] tlrobinson_ has joined the channel [03:59] skmidry has joined the channel [04:03] gf3 has joined the channel [04:06] spoobie has joined the channel [04:07] rpflo has joined the channel [04:09] dipser has joined the channel [04:11] jacobolus has joined the channel [04:14] EyePulp has joined the channel [04:15] dnolen has joined the channel [04:16] ossareh has joined the channel [04:16] EyePulp has joined the channel [04:16] ben_alman has joined the channel [04:19] brianc: zeroonea: you can't run a node server on shared dreamhost [04:20] sechrist has joined the channel [04:21] brianc: aaaand you're not even in the room anymore so it doesn't matter [04:23] m32311 has joined the channel [04:25] spoobie: phew, why is WebDAV so hard... [04:25] wasabist_ has joined the channel [04:25] JojoBoss: ls [04:25] JojoBoss: oops. hehe [04:26] JojoBoss: wrong window [04:27] noahcampbell has joined the channel [04:28] Aria has joined the channel [04:29] JojoBoss: anybody use the mailer module? [04:29] kriszyp has joined the channel [04:32] vborja has joined the channel [04:36] mikeal has joined the channel [04:37] ajpiano has joined the channel [04:41] spoobie: nope, looks like jsDAV doesn't work with OS X finder. Segmentation fault? [04:47] pandark_ has joined the channel [04:50] JojoBoss has joined the channel [04:51] Validatorian has joined the channel [04:53] SubStack: new (forever.Forever) makes me wince :/ [04:54] brianc: should have been forever.Ever [04:54] brianc: new(forever.Ever?foreverEver:forever).sorryMissJackson(); [04:54] SubStack: module.exports ftw [04:56] ajpiano has joined the channel [04:56] estrathmeyer has joined the channel [04:57] sechrist: throw Err("OOOOO, I am fo reeeeel"); [04:58] sechrist: Can Forever be easily made to replace upstart [04:58] sechrist: and monit [04:58] sechrist: and runit [04:58] sechrist: and traditional /etc/init.d scripts [04:59] SubStack: maybe [04:59] SubStack: I'm using it to automate cross-server deployment [04:59] sechrist: deployment or running services? [04:59] sechrist: I've been using chef and I'm quite pleased [04:59] SubStack: yes [04:59] sechrist: though a node-based chef would kickass [05:00] sechrist: I hate ruby [05:00] SubStack: the hell does chef do [05:00] SubStack: reading the readme, it just tells you about contributing [05:01] brianc: why do you hate ruby? (just wondering, not trying to start a holy war) [05:01] Aria: Ruby rocks. Shame about its user-base lately though. [05:01] SubStack: ruby is ok [05:01] brianc: what happened to it's user-base lately? [05:02] estrathmeyer has left the channel [05:02] SubStack: it has some good ideas and some not-so-good ones [05:02] estrathmeyer has joined the channel [05:02] brianc: victim of it's own success? [05:02] SubStack: I don't like it's scoping model very much [05:02] brianc: it's too slow for my liking [05:02] Aria: Lots and lots and lots of 'clever' libraries, and then things built with said clever libraries. [05:02] SubStack: but expressions that return values is a good idea [05:02] Aria: It's built like a house of cards often. [05:02] SubStack: and blocks are pretty great, even if the semantics are a bit inconsistent [05:02] brianc: "rake test" on a new macbook pro with a start up rails 3 app takes 5-10 seconds to execute. [05:02] SubStack: oh hell, s/it's/its/ [05:02] SubStack: >_< [05:03] Aria: Well, that's rails, which is a HUGE stack. [05:03] Aria: Ruby itself is plenty fast. [05:03] brianc: i know, still anoooooys me [05:03] SubStack: I do dislike rails [05:03] estrathmeyer: Puppet, Chef and Capistrano all let you run scripts on multiple servers simultaneously. They're mostly used for for server deploys. (caveat: I haven't used them myself.) [05:03] Aria: Yeah, that pile is a bit steaming. Much improved lately, but .. .still smells. [05:04] SubStack: estrathmeyer: can you see aggregated live log updates? [05:04] brianc: anyone here use emacs? [05:04] estrathmeyer: damned if I know! o_0 [05:04] SubStack: what I am writing is all about that feature [05:06] sechrist: I don't understand ruby syntax [05:06] sechrist: I relate more with python [05:06] sechrist: and I learned python after nodejs came around, so I don't really care about it either [05:06] sechrist: defined? blah = O.o [05:06] Aria: ACTION laughs. [05:06] SubStack: I like ruby syntax for the most part [05:06] Aria: I dig Ruby syntax, but not when people abuse it to create new mini-languages. [05:07] estrathmeyer: SubStack: check this out... [05:07] Aria: defined? is weird though, being a language construct. [05:07] estrathmeyer: http://snippets.dzone.com/posts/show/2484 [05:07] estrathmeyer: Tail Multiple Log Files At Once With Capistrano [05:07] sechrist: we have splunk here [05:07] aurynn: If you're going to create a new language, please write a full language [05:07] sechrist: splunk is pretty baller stuff [05:07] sechrist: well chef's dsl isn't really a dsl [05:07] sechrist: it's full ruby [05:07] sechrist: unlike puppet [05:07] SubStack: estrathmeyer: does that run over multiple hosts? [05:08] saikat has joined the channel [05:08] estrathmeyer: not 100% sure [05:08] sechrist: chef and knife is quite powerful [05:08] estrathmeyer: it could mean "tails mult logs on one machine" [05:08] sechrist: and there's a community behind it [05:08] SubStack: communities ruin everything [05:08] SubStack: YOU HEARD ME [05:08] strixv has joined the channel [05:09] SubStack: good thing node is still small [05:09] sechrist: in addition to a community, they have a real company behind it, opscode [05:09] estrathmeyer: haha [05:09] estrathmeyer: I'm asking over in #chef [05:09] sechrist: I learned ruby to write chef recipes, and I'm very pleased [05:10] sechrist: the whole architecture is pretty cool [05:10] sechrist: you execute non-blocking code that queues up events that get 'converged' into a run queue after the recipe runs on your nodes [05:10] estrathmeyer: estrathmeyer: knife ssh role:whatever-www "tail -F /var/log/apache2/access.log" [05:10] rpbertp13 has joined the channel [05:10] sechrist: that's shitty [05:11] sechrist: if you need consolidated logging, why aren't you using syslogd [05:11] estrathmeyer: don't shoot the messanger! ;) [05:11] SubStack: system logs suck [05:11] sechrist: there's more efficient syslogd implementations now, but people have been consolidating logs amongst a lot of nodes for like 30 years [05:11] SubStack: I want to see that shit /live/ [05:11] SubStack: I don't even care if it gets saved [05:12] sechrist: why would you want to see a syslog live [05:12] mattcodes has joined the channel [05:12] sechrist: you would want to see nagios/icinga / cacti / munin live [05:12] SubStack: sechrist: because I want to see what my processes are doing [05:12] SubStack: and they run on lots of servers [05:12] mattcodes: looking at various example, is it an antipattern to pass arguments with require('module') [05:12] yozlet has joined the channel [05:12] sechrist: SubStack: do you have anything like nagios deployed? [05:13] SubStack: no [05:13] SubStack: nagios sucks too [05:13] SubStack: everything sucks [05:13] estrathmeyer: mattcodes: what do you mean? [05:13] sechrist: icinga is pretty cool [05:13] SubStack: I want something tiny [05:13] sechrist: but it's pretty much an evolution of nagios [05:13] sechrist: that's what she said [05:13] SubStack: "enterprise grade" is a major turn-off [05:13] datapimp has joined the channel [05:13] estrathmeyer: mattcodes: most examples I've seen use var moduleName = require('moduleName'); [05:13] sechrist: I don't know if I agree with you or you're just trolling [05:13] sechrist: ACTION laughs [05:14] sechrist: SubStack: go look at Esper, and tell me enterprise-grade stuff sucks [05:14] sechrist: I was sold on using java for that one piece of software for one use-case we have [05:14] estrathmeyer: ACTION hates on The Man. [05:14] SubStack: wall of text [05:14] SubStack: I'm not going to read that [05:14] SubStack: it doesn't even have any code on it [05:15] vborja_ has joined the channel [05:15] sechrist: basically think of this machine [05:15] sechrist: where you pump in events [05:15] sechrist: and tell it SQL-like queries, but constant "When cpuLoad > 50% for 10 minutes" etc [05:15] SubStack: that sounds terrible [05:16] sechrist: it's kickass [05:16] estrathmeyer: select avg(price) from StockTickEvent.win:time(30 sec) [05:16] sechrist: that's a shitty example [05:16] estrathmeyer: haha [05:16] estrathmeyer: it's the first they give on http://esper.codehaus.org/tutorials/tutorial/tutorial.html [05:16] DanielSim: ha, what a great time to bring this window to the front [05:16] SubStack: I hate SQL queries [05:16] estrathmeyer: select fraud.accountNumber as accntNum, fraud.warning as warn, withdraw.amount as amount, [05:16] estrathmeyer: MAX(fraud.timestamp, withdraw.timestamp) as timestamp, 'withdrawlFraud' as desc [05:16] estrathmeyer: from FraudWarningEvent.win:time(30 min) as fraud, [05:16] estrathmeyer: WithdrawalEvent.win:time(30 sec) as withdraw [05:16] estrathmeyer: where fraud.accountNumber = withdraw.accountNumber [05:16] sechrist: setInterval(function(){ giveMeAvg(); },30); [05:17] sechrist: I agree that a CEP/ESP would be better written in Node.JS, but it's enterprise-grade stuff that nobody has written yet [05:17] sechrist: it should be though imo [05:17] SubStack: I'll just write this program that solves my own problems [05:17] sechrist: good man [05:17] sechrist: when your cloud has cascading failure, read up on how everybody with experience does infrastructure management [05:18] sechrist: and SLA guarantees [05:18] SubStack: I don't have the money for that. [05:18] sechrist: joke company [05:18] sechrist: oh my god, blendtec blended a cr-48 [05:18] sechrist: those bastards [05:19] sechrist: ChromeOS should be NodeOS imo [05:19] SubStack: webos is [05:20] sechrist: that only runs on a dying platform [05:20] SubStack: sechrist: scrappy startups have different priorities [05:21] sechrist: actually if I could run webos on other hardware I might use it [05:29] aguynamedben has joined the channel [05:30] c4milo1 has joined the channel [05:32] c4milo2 has joined the channel [05:32] derren13 has joined the channel [05:32] c4milo1 has joined the channel [05:33] c4milo1 has joined the channel [05:34] mjr_ has joined the channel [05:35] mexis: i dont like the cr-48 honestly [05:35] mexis: lol [05:35] mexis: its a sweet machine [05:35] mexis: but i aint huge into the os [05:36] sascha_ has joined the channel [05:36] brianmario has joined the channel [05:36] fugoki_ has joined the channel [05:39] sechrist: SubStack: so with optimist, how can I differentiate from node foo.js --foo -foo foo ? [05:41] SubStack: differentiate? [05:41] sechrist: ya [05:41] SubStack: that reduces do { foo : true, f : true, o : [ true, 'foo' ] } [05:41] SubStack: *to [05:42] SubStack: it groups single letter options [05:42] sechrist: where did I declare f? [05:42] sechrist: O.o [05:42] SubStack: -f [05:42] sechrist: oid [05:42] sechrist: oic* [05:42] sechrist: like mysql -ppassword [05:42] sechrist: wait no [05:42] SubStack: no [05:42] SubStack: like tar -xzf file.tar.gz [05:43] sechrist: ah [05:45] SubStack: sechrist: I'm still not sure what you mean by differentiate [05:45] sechrist: the way I understood the docs was wrong [05:46] sechrist: so ignore me [05:46] SubStack: k [05:47] SubStack: this is annoying [05:47] SubStack: "You can use forever to run any kind of script continuously (whether it is written in node.js or not)" [05:47] SubStack: but then https://github.com/indexzero/forever/blob/master/lib/forever.js#L356 [05:48] gkatsev: is it a good thing or a bad thing that I memorized the url to the modules page of node's wiki? [05:49] gkatsev: I'm leaning towards good but wanted a second opinion [05:49] SubStack: gkatsev: npm ls is better [05:49] brianc: gkatsev: welcome to the club but I agree with SubStack [05:49] SubStack: also there's http://search.npmjs.org/ and http://npm.mape.me/ [05:49] mape: Soon to be one :) [05:49] c4milo1 has joined the channel [05:50] gkatsev: SubStack: cool, thanks. [05:51] brianc: Brian Eno pandora station is awesooooome [05:51] SubStack: mape: \o/ [05:51] gkatsev: brianc: have you heard of the app pianobar? It's a terminal-based app for pandora. [05:52] brianc: gkatsev: nice. I just have my iphone plugged into my room stereo right now but I will check it out [05:52] gkatsev: apt-get install pianobar [05:52] brianc: gkatsev: iphone pandora app not too shabby [05:53] gkatsev: yeah [05:53] gkatsev: better than the online/pandora one apps [05:53] brianc: nice it's in homebrew [05:53] SubStack: ACTION created an issue for forever [05:53] SubStack: I'll tackle this myself if I make some progress with this other stuff [05:54] brianc: installing now. :) [05:54] gkatsev: :) [05:55] gkatsev: it was yet another reason that compelled me to switch back to linux as my main desktop [05:55] gkatsev: though, I am annoyed that I cannot get adobe air working since I am addicted to tweetdeck [05:55] brianc: switch from what to linux? [05:55] Garo_ has left the channel [05:55] sechrist: ok I am kind of in love with htracr [05:56] gkatsev: brianc: I was using windows 7 on my desktop [05:56] c4milo1 has joined the channel [05:57] gkatsev: brianc: because when I originally got this desktop the driver for the wifi card didn't work as the drivers built-in were old and building the new ones didn't work. Also, I wanted my second monitor to be portrait mode (though, I settled for that) [05:58] gkatsev: brianc: before I was running portable ubuntu on windows which uses co-linux to run linux as a service on windows, kind of like wine. But when I tried to install node on it, it totally crapped out. [05:58] gkatsev: and a VM is clunky [05:58] mjr_: gkatsev: thanks for the non-node tip on pianobar. Glad to get rid of more Flash on my computer. [05:58] gkatsev: mjr_: :) [05:58] brianc: gkatsev: just installed pianobar. loving it. [05:59] gkatsev: isn't it awesome? [05:59] gkatsev: the only down side is you have to store the password in cleartext if you want it to autologin [06:00] gkatsev: now I need to figure out how to ssh into this machine [06:00] sechrist: hmm I'm curious how I should deploy node3 on my machines [06:00] AAA_awright_ has joined the channel [06:01] sechrist: I want to write code for node3 but node3 has a new release every few days [06:01] sechrist: that will piss the ops guys off [06:01] gkatsev: node 0.3.x? [06:01] gkatsev: that is also the unstable branch. [06:01] brianc: sechrist: nave? [06:01] sechrist: unstable schamble [06:01] sechrist: I haven't seen it crash [06:01] sechrist: I run haproxy unstable [06:01] sechrist: which is quite stable [06:02] gkatsev: sechrist: well, it might be stable but it still the 'unstable' branch :) [06:02] sechrist: but I don't want to write a bunch of node2 code and port it later [06:02] gkatsev: does the api change much? [06:02] brianc: Somebody hit my webserver with 25,000 requests while I wasn't looking. It's a 512 linode running node 3.1 & node-postgres (explodemy.com) and it didn't crash. [06:03] sechrist: 25,000 over how long of time? [06:03] mjr_: The API doesn't change much, but differences do creep in. [06:03] c4milo1 has joined the channel [06:03] sechrist: that's the whole point of the major rev in node , iirc [06:03] sechrist: api changes [06:04] sechrist: brianc: oooh, you were showing off a postgres plugin [06:04] mjr_: I've been living on the edge and developing against node 0.3.x for the past few months. So far, I've been happy with that choice. [06:04] sechrist: somebody decided to abench you? :P [06:04] Aria: Yea, but they're still not big changes. [06:04] brianc: sechrist: I think so, though there was actually no user-agent information in the requests [06:04] Aria: Some change to the refiring of events, emitter.once vs disarming inside. [06:05] techwraith has left the channel [06:05] sechrist: stable is getting most of the breaking changes it appears [06:05] amerine has joined the channel [06:05] sechrist: like utils being aliased etc [06:05] brianc: sechrist: but still good to know the ol' postgres plugin withstood the pressure. and irssi didn't even disconnect! [06:05] sechrist: the client of the future! [06:06] brianc: man this pianobar is really nice [06:06] brianc: "?" gives you a list of commands, fyi [06:06] gkatsev: yep [06:07] sechrist: CLI for pandora? [06:07] sechrist: oh my [06:07] gkatsev: sechrist: yep [06:07] sechrist: screw pandora [06:07] gkatsev: brianc: do 'man pianobar' to see how to set up the config file for autologin [06:07] brianc: and bonus points (??) it's written in C [06:07] sechrist: grooveshark is where it's at [06:07] gkatsev: brianc: we should port it to node, lol [06:07] brianc: gkatsev: haha [06:07] sechrist: gkatsev: if you do, write a reusable cli library out of it [06:07] gkatsev: actually, I want to write a cli podcatcher in node. [06:08] sechrist: there isn't one -- I've been planning one for my elusive spare time now for weeks [06:08] gkatsev: sechrist: write a podcatcher? [06:08] sechrist: no, reusable cli library [06:08] sechrist: var blah = new CLI("npm>"); [06:08] gkatsev: ah [06:09] gkatsev: what about node-repl? [06:09] sechrist: not reusable for shite [06:09] c4milo1 has joined the channel [06:09] gkatsev: ok [06:09] sechrist: it's readline is likely fine [06:09] sechrist: but the actual repl.js isn't very useful [06:09] sechrist: for other projects [06:10] gkatsev: ok [06:11] gkatsev: haven't really done as much as I'd like with node [06:11] gkatsev: but have vacation next week [06:11] mjr_: sechrist: you can even combine pianobar with htracr to explore the pandora protocol [06:11] mjr_: Which is HTTP [06:12] gkatsev: so, I hope to get my website in it and then work on the podcatcher idea [06:12] sascha_ has joined the channel [06:13] sechrist: I'd rather explore grooveshark's protocol [06:14] sechrist: itunes extension to play the full version of songs you find in itunes store in pandora = win [06:15] sechrist: actually some nodejs stuff to hack on with airplay would be interesting [06:15] c4milo1 has joined the channel [06:20] c4milo1 has joined the channel [06:22] MikhX has joined the channel [06:24] JimBastard has joined the channel [06:26] c4milo1 has joined the channel [06:26] matjas has joined the channel [06:34] c4milo1 has joined the channel [06:35] c4milo2 has joined the channel [06:35] KUHRT has joined the channel [06:36] c4milo1 has joined the channel [06:37] c4milo2 has joined the channel [06:38] c4milo1 has joined the channel [06:40] JojoBoss has joined the channel [06:41] c4milo1 has joined the channel [06:42] c4milo2 has joined the channel [06:43] c4milo1 has joined the channel [06:48] dandaman has joined the channel [06:49] briznad has joined the channel [06:49] JusticeFries has joined the channel [06:51] noahcampbell has joined the channel [06:58] linac has joined the channel [06:59] linac: how to add listener to "send buffer empty" when do http response? [07:02] mikeal has joined the channel [07:04] desaiu has joined the channel [07:06] zentoooo has joined the channel [07:07] mjr_: linac: res.on("drain", function () { // do something }); [07:08] linac: mjr_, does it work on ssl link? [07:08] mjr_: I dunno, I've never tried [07:08] mjr_: SSL has a number of known issues. [07:08] muk_mb has joined the channel [07:09] muk_mb has left the channel [07:12] desaiu has joined the channel [07:13] rpbertp13 has joined the channel [07:13] jchris has joined the channel [07:14] emgee has joined the channel [07:14] emgee: ... [07:14] emgee: mape: ... :) [07:14] derferman has joined the channel [07:14] mape: emgee: :) [07:15] emgee: too close for a line.. :/ [07:16] mape: Jup, no good for close proximity fun [07:17] aguynamedben has joined the channel [07:18] emgee: make the missiles go around abit before going back then! [07:19] ewdafa has joined the channel [07:27] sascha_ has joined the channel [07:28] sascha_ has joined the channel [07:29] SubStack: silly vows [07:29] SubStack: oh wait it is just this lib [07:31] JojoBoss has joined the channel [07:31] mexis has joined the channel [07:32] SubStack: wait why is options an array? O_O [07:33] SubStack: meh seems to work [07:36] hobodave has joined the channel [07:38] SamuraiJack has joined the channel [07:38] JojoBoss: anyone know how to get bcrypt working in cygwin? [07:40] dandaman1 has joined the channel [07:42] mikew3c_ has joined the channel [07:44] Throlkim has joined the channel [07:46] strixv has joined the channel [07:46] bruce has joined the channel [07:48] SamuraiJack has joined the channel [07:50] arrty has joined the channel [07:52] emgee_ has joined the channel [07:53] mikeal has joined the channel [07:53] peritus_ has joined the channel [07:54] ph^ has joined the channel [07:54] peritus_ has joined the channel [07:54] tob1 has joined the channel [07:57] tekky has joined the channel [07:58] cafesofie has joined the channel [07:58] ossareh has joined the channel [08:01] aklt has joined the channel [08:01] Sami_ZzZ has joined the channel [08:04] dthompson has joined the channel [08:08] mAritz has joined the channel [08:14] liar has joined the channel [08:18] ivanfi has joined the channel [08:18] fangel has joined the channel [08:19] stephank has joined the channel [08:21] thinkingpotato has joined the channel [08:22] Gruni has joined the channel [08:22] emgee has joined the channel [08:26] Druid_ has joined the channel [08:32] [AD]Turbo has joined the channel [08:32] [AD]Turbo: yo all [08:33] stride: hey [08:33] mAritz has joined the channel [08:34] cjm has joined the channel [08:39] arrty has joined the channel [08:40] mraleph has joined the channel [08:40] SubStack: wheee pull requests [08:40] pquerna: http://www.godaddy.com/hosting/mac-hosting.aspx?ci=18037 [08:41] SubStack: pquerna: :D [08:42] SubStack: pquerna: this makes me very happy [08:42] pquerna: cloud macminis? [08:43] SubStack: ACTION can host browsers out of that [08:43] pquerna: oh [08:43] pquerna: i guess [08:43] pquerna: aren't there places that spec in that? [08:43] pquerna: i've used browsermob, liked it [08:44] pquerna: but it was only FF clones [08:44] pquerna: and it didn't work with orbited/longpolling [08:44] SubStack: http://browserling.com/ [08:44] SubStack: my startup [08:45] pquerna: oh awesome [08:45] pquerna: i'll send the frontend people that way :) [08:45] SubStack: super! [08:45] mikeal has joined the channel [08:45] SubStack: it's getting more stable [08:45] felixge has joined the channel [08:46] Yuffster has joined the channel [08:46] SubStack: once we switch over the hosting it should be a hell of a lot faster too [08:46] SubStack: we're already running across on 3 providers [08:46] SubStack: just now getting to the geographic load balancing phase [08:47] SubStack: and I'm writing a system to manage the instances in a less insane way [08:47] pquerna: libcloud :) ? [08:48] CIA-93: node: 03Ryan Dahl 07debugger * r4f8dbf2 10/ (lib/_debugger.js test/simple/test-debugger-client.js): Fix test-debugger-client - http://bit.ly/hNXgMX [08:48] CIA-93: node: 03Ryan Dahl 07debugger * rdf9ec97 10/ lib/_debugger.js : keep track of current frame. eval works for global scope - http://bit.ly/g6wyMU [08:49] SubStack: ah very nice [08:49] SubStack: could be useful [08:49] pquerna: i;ve been thinking about makking a node version, but.. doesn't gernetae much value [08:49] pquerna: and ssl would need to work first really [08:50] SubStack: anyhow this latest thing is called telescreen [08:50] augustl has joined the channel [08:51] SubStack: it aggregates and filters stderr and stdout from all your processes running on all your systems [08:51] SubStack: and then I'll have it be able to start, stop, and restart services through forever [08:51] pquerna: cool [08:52] sascha_ has joined the channel [08:52] pquerna: lots of cool things you can do with it [08:52] pquerna: like build in a node-pcap/htracer url for every session [08:55] SubStack: I can just finish up dnode-python to use libcloud [08:55] SubStack: or jesusabdullah can! >:D [08:58] mraleph has joined the channel [08:58] seth_ has joined the channel [09:00] daglees has joined the channel [09:00] seth_: When I try and compile nodejs (versions v0.2.5 and v0.3.2) on cygwin according to instructions I get the following error when I run make (configure runs fine, gcc is version 4.3.4): [09:00] seth_: Build failed: -> task failed (err #2): {task: libv8.a SConstruct -> libv8.a} [09:00] seth_: Anyone know how to fix this? [09:02] Pym has joined the channel [09:02] fud has joined the channel [09:05] fud has joined the channel [09:06] fud has joined the channel [09:07] SamHasler has joined the channel [09:07] aklt has joined the channel [09:07] prinzdezibel has joined the channel [09:09] virtuo has joined the channel [09:11] teemow has joined the channel [09:11] SamuraiJack has joined the channel [09:14] mikedeboer has joined the channel [09:14] romeo_ordos has joined the channel [09:14] romeo_ordos has left the channel [09:14] sriley has joined the channel [09:16] mscdex: seth_: what's the text say prior to that? [09:21] glenngillen has joined the channel [09:23] Throlkim has joined the channel [09:23] SamuraiJack has joined the channel [09:24] adambeynon has joined the channel [09:26] RevoOf has joined the channel [09:26] marlun: I need a glob feature i node.js which can handle patterns like **/*.js anyone tried https://github.com/isaacs/node-glob who knows if it supports it? The tests doesn't do show the use of such recursive patterns. [09:28] peritus_ has joined the channel [09:29] cafesofie has joined the channel [09:31] siong1987 has joined the channel [09:32] SamuraiJack has joined the channel [09:39] SubStack: marlun: npm install glob and see for yourself [09:39] SubStack: **/*.js seems to work [09:39] SubStack: > require('glob').glob('**/*.js', function (err, xs) { console.dir(xs) }) [09:40] felixge has joined the channel [09:40] pdelgallego has joined the channel [09:45] bzinger has joined the channel [09:48] marlun: SubStack: Couldn't test it untill I got home so I thought maybe someone here knew allready :) Thanks! [09:48] zomgbie has joined the channel [09:48] stagas has joined the channel [09:49] Pym has left the channel [10:01] tek has joined the channel [10:02] saikat has joined the channel [10:03] cognominal has joined the channel [10:03] sechrist: sup guyz [10:05] markwubben has joined the channel [10:06] jetienne has joined the channel [10:22] MikhX has joined the channel [10:26] vineyard has joined the channel [10:27] sascha_ has joined the channel [10:30] Vertice has joined the channel [10:30] jacobolus has joined the channel [10:30] mscdex: sechrist: sup [10:31] sechrist: mscdex: http://balldroppings.com/js/ [10:31] mape: crashes in chrome [10:31] mape: seems like ball -> line collition is no fun [10:31] proppy has joined the channel [10:32] mape: or rather has no method playSound [10:32] mscdex: works for me in chromium [10:32] sascha__ has joined the channel [10:32] mape: oh flash blockers kill it >_< [10:33] mattcodes has joined the channel [10:33] sechrist: this is so fun [10:33] mscdex: node.js is more funner! [10:33] sechrist: yeah when I landed on the page I was unsure how they were playing the sound so accurately [10:33] sechrist: figured it was flash and sure enough [10:34] sechrist: html5 really has no decent audio anything [10:34] mscdex: because they can't decide on a standard [10:37] Lorentz: Corporate interests! [10:38] sechrist: http://blueballfixed.ytmnd.com/ [10:38] jacobolus has joined the channel [10:38] JimBastard has joined the channel [10:39] JimBastard: SubStack: you awake? [10:43] SubStack: JimBastard: yep! [10:43] SubStack: pesky, he's gone [10:45] RevoOf: SubStacK: Client quit, this time [10:46] mscdex: ryah: any chance we can rename the class in platform.h to something else, like Platform or some such? [10:47] sechrist: O.o -- if I re-use a canvas context in node-canvas for a large loop (benching) I get worse performance than if I use a new one [10:47] sechrist: I am so confused [10:47] sechrist: actually it's like 3x faster [10:48] jetienne has left the channel [10:49] jetienne has joined the channel [10:49] jetienne: anybody ran nodejs with the new v8 ? any noticable difference ? [10:49] sechrist: crankshaft make zoom zoom [10:50] su_aska has joined the channel [10:51] tahu has joined the channel [10:52] fermion has joined the channel [10:53] felixge: jetienne: crankshaft doesn't seem to kick in for my node-mysql project [10:54] jetienne: felixge: and you got significant cpu usage in node itself ? [10:55] felixge: jetienne: the benchmarks runs for 4-5 seconds, executing certain functions hundred thousands of times. [10:56] felixge: jetienne: I talked with one of the v8 guys about it, and he wasn't sure why no optimization was taking place either [10:56] felixge: jetienne: that is, --trace_opt didn't produce any output [10:56] proppy: felixge: maybe a compile flag --enable-crankshaft-magic :) [10:56] mscdex: any v8 c++ gurus awake? [10:56] felixge: proppy: it should be enabled by default in node [10:57] Throlkim has joined the channel [10:58] mraleph has joined the channel [10:59] femtoo has joined the channel [11:00] SamHasler_ has joined the channel [11:01] Throlkim has joined the channel [11:01] marcostoledo has joined the channel [11:11] whyme has joined the channel [11:11] _mql has joined the channel [11:13] cheney has joined the channel [11:18] mr_daniel has joined the channel [11:19] stagas has joined the channel [11:19] mikedeboer_ has joined the channel [11:31] MattJ has joined the channel [11:31] flashingpumpkin has joined the channel [11:34] sriley has joined the channel [11:51] iszak has joined the channel [11:51] iszak has joined the channel [11:52] hellp has joined the channel [11:52] mattcodes has joined the channel [11:52] mattcodes: option(value:"#{key}") #{item} ] [11:52] mattcodes: how do I do this in Express [11:52] konobi: felixge: you're using the bleeding-edge branch of v8? [11:53] mattcodes: key is not subsitutated [11:53] mattcodes: subsituted [11:54] felixge: konobi: I was using the bleeding edge of node ;) [11:54] SubStack: mattcodes: is that jade? [11:55] SubStack: if so, option(value=key) #{item} [11:55] mattcodes: so yes jade [11:56] mattcodes: substack, thanks, i obviously didnt think that one through [11:57] konobi: felixge: maybe an extra build flag to v8? [11:57] konobi: pgo or something? [11:57] Throlkim has joined the channel [11:59] tisba has joined the channel [12:00] felixge: konobi: afaik there should be no extra flag needed [12:07] konobi: felixge: try pgo=optimize prof=oprofile [12:07] jimt_ has joined the channel [12:08] herbySk has joined the channel [12:08] mraleph: felixge: what are you trying to do. I missed the start :-) [12:08] d0k has joined the channel [12:09] felixge: konobi: well, I won't be able to try right away since I'll have to fire up another ec2 instance with node etc.. My local system is 64bit, so no crankshaft ;) [12:09] felixge: mraleph: konobi was saying that I need a special ./configure for getting node to use crankshaft [12:10] mraleph: konobi: no extra flags needed [12:10] felixge: mraleph: a while back we talked about node-mysql not triggering any --trace_opt output [12:10] mraleph: yeah. [12:10] mscdex: gah, openbsd has no /proc/self/exe equivalent [12:10] mscdex: ACTION shakes a fist at openbsd [12:11] mraleph: it think most node apps spend too much time in C++ side. crankshaft profiler probably becomes confused. [12:11] konobi: just noting that the pgo stuff is disabled by default according to the v8 scons stuff [12:11] mraleph: pgo staff is too optimize v8 itself with pgo embedded into C++ compiler [12:12] mraleph: too much pain not much gain AFAIK [12:13] konobi: ah [12:13] felixge: mraleph: node-mysql definitely spends a good amount of time in C++ [12:14] felixge: mraleph: which is another problem I'll try to fix :) [12:14] felixge: mraleph: but you're saying the heuristics are based on time? [12:15] mraleph: felixge: yes. they are profile guided. [12:16] felixge: mraleph: well, that's good news. It means if I can fix my slow buffer->string conversion issue I mays see two performance boosts at once :) [12:16] mraleph: felixge: well. I doubt. [12:16] felixge: mraleph: why? [12:17] Throlkim has joined the channel [12:17] mraleph: felixge: one of the problems: crankshaft can't handle Buffer elements access as well as I can handle plain Array access. [12:18] mraleph: of course I can't predict anything (especially because I have not seen actual code). [12:19] felixge: mraleph: well, sure. But there is also lots of regular array/object stuff going on. So unless having a buffer in a function means it can't be optimized, I'm hopeful :) [12:19] cheney: how can I test if a posted file contains binary or character data? [12:20] SubStack: what's the difference? [12:20] cheney: SubStack: was that directed at me? [12:20] SubStack: sure [12:20] SubStack: do you just want to scan for high and low bytes? [12:20] SubStack: but then that gets tricky where unicode is concerned [12:21] cheney: SubStack: I want to verify that the data is binary so that I can reject JS processing upon the file's contents [12:21] SubStack: a lot of binary formats have magic numbers in the first few bytes [12:22] SubStack: that would be a better way to verify uploads [12:22] cheney: k [12:22] SubStack: that's how `file` works [12:22] SubStack: for the most part [12:23] SubStack: looking up what database it uses [12:23] SubStack: I wrote a script to check them a while back [12:27] SubStack: right, this http://search.cpan.org/~pardus/File-MimeInfo-0.15/lib/File/MimeInfo/Magic.pm [12:28] SubStack: comes from the xdg data dir [12:30] SubStack: aha, it's in /usr/share/file/magic.mgc on my debian system [12:32] SubStack: also there's the magic command which has something to do with it [12:32] cheney: cool [12:32] cheney: now for a far more basic question [12:33] cheney: how do I take the contents of an uploaded file out of the file for interpretation? [12:34] jetienne: is there a simple, yet standard way to handle template in js ? [12:34] jetienne: as in text template. not oo style of template [12:34] cheney: jetienne: please be more specific [12:34] SubStack: cheney: you mean once the file is already sitting on disk or while it's being uploaded? [12:34] cheney: text template? [12:34] jetienne: cheney: i need to have simple template in my webapps. small part of html [12:34] SubStack: jetienne: there are loads of types [12:35] SubStack: jade, ejs [12:35] cheney: SubStack: Is a file uploaded separate from other post data? [12:35] jetienne: cheney: currently im building it with jquery. i guess more efficient/readable possibility [12:35] jetienne: SubStack: ok thanks [12:35] cheney: I so completely loathe jquery [12:35] SubStack: http://github.com/ry/node/wikis/modules has a whole section devoted to template engines [12:35] cheney: they use it at work and I cannot stand it [12:35] SubStack: but jquery is <3 [12:35] cheney: jquery is such a bad idea, imo [12:35] SubStack: for whycome? [12:36] cheney: jquery is slightly less evil than GWT, but not much less and both are evil for the same reasons [12:36] SubStack: jetienne: plus if you're building your webapp with express it'll already know about common template extensions and integrates pretty well with ejs and jade anyways [12:36] cheney: incompetent people who are not willing to understand JavaScript should not be given an excuse to write it anyways thanks to inefficient frameworks [12:36] jetienne: http://ejohn.org/blog/javascript-micro-templating/ this one seems to enter in the "standard yet simple" criteria [12:37] SubStack: cheney: I disagree and GWT and jquery are pretty starkly different [12:37] cheney: they are very different [12:37] SubStack: jquery normalizes and DOM across browsers [12:37] cheney: but they are still evil for the same rasons [12:37] SubStack: insofar as that is possible to do [12:37] SubStack: and it provides a nice concise interface to do it [12:38] jetienne: cross browser, well tested [12:38] SubStack: GWT is some java abomination that generates javascript as far as I can tell [12:38] jetienne: well documented [12:38] SubStack: totally different idea [12:38] cheney: jquery is SLOW [12:38] prinzdezibel has joined the channel [12:38] cheney: DOM access should be minimized and avoided until necessary, which is the opposite of jquery [12:38] jetienne: i sure wish every piece of code were as bad as jquery :) [12:39] SubStack: hah [12:39] cheney: further more, imo jquery significantly increases code maintenance costs [12:39] SubStack: cheney: if you want to create a rich interactive web application you don't always get that luxury [12:39] SubStack: cheney: you really need to qualify that with some data [12:39] cheney: SubStack: that is what competent UI developers are for [12:39] SubStack: or at least some examples [12:39] cheney: not jquery [12:40] jetienne: cheney: you seem bitter [12:40] SubStack: what are these "ui developers" anyways [12:40] cheney: i am bitter [12:40] SubStack: I didn't know developers were so specialized [12:40] cheney: jquery makes me horribly bitter [12:40] cheney: SubStack: depends where you work [12:42] SubStack: I do frontend ui, backend, system automation, art, whatever [12:42] SubStack: I couldn't stand to be doing the same thing every day [12:42] bob_: anyone seen an error like this befor? [12:42] bob_: http://pastebin.com/UYkdCN0i [12:42] cheney: I work in a Java shop so when there is not enough of me around the Java developers use GWT, which makes me cry [12:43] SubStack: cheney: sounds like the problem is more with your compatriots and less with jquery [12:43] SubStack: quit [12:43] SubStack: do a startup [12:43] cheney: maybe I will [12:43] SubStack: rawk [12:44] cheney: I have thought of what I would do if I were provided with venture capital to write software to interpret my email language [12:44] SubStack: just write it [12:44] cheney: not that simple [12:44] SubStack: capital is really hard to get [12:45] jetienne: stop complaining on irc and use this time to do real work ? :) [12:45] jetienne: but i agree this is much less fun. this is why i still complain on irc :) [12:45] cheney: jetienne: i am, i am building an api for my Pretty Diff application [12:45] cheney: http://prettydiff.com/ [12:46] Nacho has joined the channel [12:46] cheney: at any rate I would love to see my email language absorbed into user agents, but that is something severely more ambitious than writing user agents for HTML [12:47] jetienne: http://prettydiff.com/documentation.php <- if you plan for startup, avoid asking people to read all that before using your tools [12:47] SubStack: well anyways just build something that people will pay you money for [12:47] jetienne: cheney: initial acceptance is key [12:47] SubStack: yeah I am not going to read any of that [12:47] cheney: jetienne: i would not plan a start up around pretty diff, pretty diff is just something I enjoy building [12:47] SubStack: I always just scroll down until I hit code [12:47] SubStack: and if I get to the bottom of the page I give up and close the tab [12:47] jetienne: cheney: the number of tl;dr you will get is huge [12:48] jetienne: ok [12:48] cheney: tl;dr ? [12:48] cheney: what is that [12:48] SubStack: to long, didn't read [12:48] SubStack: *too [12:49] cheney: ah, i am not really bothered by that [12:49] cheney: if people are afraid of documentation they should not be surprised when things do not work as expected [12:49] SubStack: see that is not how most people think [12:49] SubStack: myself included [12:49] SubStack: there are too many things to read [12:50] SubStack: you can't expect that people will devote much time to your project [12:50] cheney: you have to pick your poison [12:50] SubStack: so make an impact [12:50] Eber has joined the channel [12:50] SubStack: and do it quickly [12:50] SubStack: code helps [12:50] SubStack: excellent example: http://www.sinatrarb.com/ [12:50] cheney: all of my code for pretty diff is available and well documented [12:50] cheney: its on the documentation [12:50] SubStack: well documented sucks [12:50] Eber: Does anyone knows if there is a jade syntax highlighting plugin for gedit? [12:51] SubStack: for me, having a few quick examples is much better than being well documented [12:51] cheney: you dont have to read the documentation to use my tool [12:52] cheney: but if you encountered something unexpected the documentation is available [12:52] SubStack: cheney: and yet, all you have is the documentation [12:52] SubStack: whip up a brief synopsis! [12:52] SubStack: otherwise nobody will care [12:52] Eber: cheney: what are you guys talking about? [12:52] cheney: no, i have the actual application completely available on the client and soon as a service via api [12:52] cheney: Eber: my tool http://prettydiff.com/ [12:53] SubStack: anyways I need to get this automations system up [12:53] SubStack: so I can write the api for external business parters [12:53] SubStack: ners [12:54] Jonasbn_ has joined the channel [12:56] _mql has joined the channel [12:58] ben_alman_ has joined the channel [13:00] vineyard has joined the channel [13:06] ianward has joined the channel [13:10] maushu has joined the channel [13:12] fly-away has joined the channel [13:18] booths has joined the channel [13:19] m32311 has joined the channel [13:22] mattcodes has joined the channel [13:26] clyfe has joined the channel [13:27] mattcodes has joined the channel [13:28] mattcodes: is creationx step the only lib for handling callbacks nicely in nodejs? [13:28] mattcodes: what are the alternatives libs? [13:28] clyfe: I try to biuld node on cygwin but I get http://pastie.org/1397790 [13:29] stagas: clyfe: git checkout v0.3.1 [13:29] stagas: clyfe: then: ./configure && make install [13:30] clyfe: stagas: ok ty [13:31] dtrasbo has joined the channel [13:31] chapel: mattcodes: try seq from substack [13:31] mattcodes: investigating thanks [13:33] mischievious has joined the channel [13:35] mertimor has joined the channel [13:35] arpegius has joined the channel [13:36] mattcodes: seq it is. very nice [13:36] chapel: :) [13:36] chapel: I have yet to use it, but I like how it looks [13:38] SubStack: me! [13:38] chapel: yes you SubStack [13:38] chapel: :) [13:39] SubStack: there is a whole section dedicated to flow control on https://github.com/ry/node/wiki/modules too [13:42] Wyverald has joined the channel [13:44] omni5cience has joined the channel [13:46] mattcode_ has joined the channel [13:47] kenbolton has joined the channel [13:49] jimt has joined the channel [13:51] ceej has joined the channel [13:51] mikew3c has joined the channel [13:52] virtuo_ has joined the channel [13:52] romeo_ordos has joined the channel [13:53] romeo_ordos has left the channel [13:53] Rv has joined the channel [13:53] Rv: hi [13:56] emgee has left the channel [13:59] pHcF has joined the channel [13:59] mscdex: ryah: ping [14:00] kenbolton has joined the channel [14:03] markwubben has joined the channel [14:03] Guest8935 has joined the channel [14:04] losing has joined the channel [14:05] pHcF: why im getting TypeError: Cannot call method 'request' of undefined when trying to run that test?http://pastie.org/private/pur6ihcpnlagqxcrhmhyw [14:11] chapel: pHcF: because assert doesn't have request? [14:12] pHcF: yeah [14:12] pHcF: but i dont know what im doing wrong [14:12] chapel: http://nodejs.org/docs/v0.3.2/api/assert.html [14:13] ysynopsis has joined the channel [14:13] pHcF: does it works on 0.2.5? [14:14] chapel: http://nodejs.org/docs/v0.2.5/api.html#assert-280 [14:14] chapel: doesn't look like much changed [14:14] pHcF: yeah [14:14] pHcF: but i dont know why assert.response specifically isn't working [14:14] pHcF: i exported the app [14:15] chapel: uhh assert.response doesn't exist [14:15] chrischris has joined the channel [14:15] pHcF: and i have the routes defined as app.get("/", runPlugin, postsController.index); [14:15] pHcF: chapel: its from expresso [14:15] chapel: oh [14:15] sooli has joined the channel [14:15] chapel: well that could have saved some time [14:15] sooli: Hi all [14:15] RevoOf has left the channel [14:15] pHcF: sorry [14:15] sooli: I'm working with socket-io and node.js and I have somteimes this error [14:15] sooli: node.js:30 if (!x) throw new Error(msg || "assertion error"); [14:15] sooli: any idea ? [14:16] Insanity5902 has joined the channel [14:16] pHcF: sooli: take a look at the line 30 of the file node.js? :P [14:17] DoNaLd`: has somebody info, what is the situation cloud9 with nodejs (0.3.1 - 0.3.2) ? [14:17] mattcode_: want to bring in something like jQuery map (to do some projection on an array), whats the simplest? [14:17] sooli: well this is not help so much :/ [14:18] pHcF: sooli: yeah i know,but i have no idea too [14:19] mraleph: v8: [1,2,3],map(function (x) { return x*x; }) [14:19] v8bot: mraleph: ReferenceError: map is not defined [14:19] mraleph: v8: [1,2,3].map(function (x) { return x*x; }) [14:19] v8bot: mraleph: [1, 4, 9] [14:20] mraleph: mattcode_: ^^^^ [14:20] mattcode_: ahh its built in. sweet [14:20] sooli: no one now how to fix this pb ? [14:20] sooli: now/know [14:21] chapel: pHcF: looking at your code, it looks fine [14:21] pHcF: yea [14:21] chapel: do you have the stack trace? [14:22] mraleph: mattcode_: ecma-262 defines some basic stuff: map, reduce, filter, every, some [14:22] WhyLovedAynRand has joined the channel [14:23] WhyLovedAynRand: Can I embed Javascript in HTML with <% things? [14:23] chapel: ejs sure [14:25] broofa has joined the channel [14:28] chrischr_ has joined the channel [14:28] JusticeFries has joined the channel [14:29] mattcode_: mralpeh: thanks [14:33] cheney has joined the channel [14:33] stagas has joined the channel [14:34] tahu has joined the channel [14:34] hobodave has joined the channel [14:38] jetienne: WhyLovedAynRand: yes. ejs does it or http://ejohn.org/blog/javascript-micro-templating/ does it too [14:40] WhyLovedAynRand: Hmm, ejs is server-side right? [14:41] chapel: yes [14:42] WhyLovedAynRand: Are you sure? It looks client-side to me [14:44] chapel: ejs is for node.js [14:46] masahiroh has joined the channel [14:48] jetienne: WhyLovedAynRand: both works both side [14:50] stagas has joined the channel [14:50] tprice: im trying to write to file [14:50] WhyLovedAynRand: Looks like we are going to use v8cgi as a stand-in for JSP where we need to embed server-side JS in HTML and node.js for the async stuff [14:50] tprice: the file is been streamed in [14:50] tprice: how do i go about this [14:50] chapel: sorry WhyLovedAynRand [14:50] tprice: it does not act like other write apis [14:50] chapel: I think I misunderstood you [14:50] WhyLovedAynRand: np [14:50] markwubben has joined the channel [14:51] broofa: Anyone here know why my simple "hello world" socketpair() test isn't emitting 'data' events? http://pastie.org/1397946 [14:51] ben_alman has joined the channel [14:51] jvolkman_ has joined the channel [14:51] davglass has joined the channel [14:52] stagas has joined the channel [14:53] stagas has joined the channel [14:53] Aikar: broofa: call inner.resume() and outie.resume() [14:53] Aikar: new net.Stream starts it in a paused state [14:54] stagas has joined the channel [14:54] dnolen has joined the channel [14:54] Aikar: and you could just use outie.write('Hello, World!') dont need to make a buffer out of it. send buffer or string [14:55] stagas has joined the channel [14:55] stagas has joined the channel [14:55] tprice: on the fs.createWriteStream [14:56] tprice: its there a stream.write? [14:56] broofa: Aikar: thx! that did the trick. So... is that bit about new streams being paused documented anywhere? [14:56] Aikar: dont know [14:56] herbySk has joined the channel [14:57] stagas has joined the channel [14:57] tprice: it says its a "WriteStream object" [14:57] stagas has joined the channel [14:57] tprice: so it should act just like other write stream [14:57] tprice: well should [14:57] jashkenas has joined the channel [14:58] stagas has joined the channel [14:58] stagas has joined the channel [14:58] tprice: if im doing it right it should have all the events shown here http://nodejs.org/docs/v0.3.2/api/streams.html#writable_Stream? [15:00] pdelgallego has joined the channel [15:03] mattcode_: dumb question, and a little OT, if I just want to set an environment variable for onetime run of node (without export) how, [15:03] mattcode_: e.g. node myapps.js (with env=fast) without populating the shell env [15:03] mattcode_: or subseqeunt commands if called in a batch file [15:05] dylang has joined the channel [15:05] mattcode_: MYVAR=2 node myapp.js works [15:07] broofa: mattcode_: wow. that's not at all obvious... but cool. :) I was gonna suggest just rolling your own support using one of the modules for command-line parsing. [15:08] stagas has joined the channel [15:08] stagas has joined the channel [15:08] tprice: haha i had it all wrong [15:08] stagas has joined the channel [15:09] amacleod has joined the channel [15:09] stagas has joined the channel [15:09] stagas has joined the channel [15:10] maushu has joined the channel [15:10] stagas has joined the channel [15:10] stagas has joined the channel [15:11] stagas has joined the channel [15:11] jakehow has joined the channel [15:12] aheckmann has joined the channel [15:14] eee_c1 has joined the channel [15:14] ewdafa has joined the channel [15:15] hobodave has joined the channel [15:15] stagas has joined the channel [15:16] stagas has joined the channel [15:16] wilmoore has joined the channel [15:17] amacleod has joined the channel [15:17] stagas has joined the channel [15:18] stagas has joined the channel [15:19] stagas has joined the channel [15:20] stagas has joined the channel [15:20] stagas has joined the channel [15:20] stagas has joined the channel [15:23] stagas has joined the channel [15:23] stagas has joined the channel [15:24] chapel: stagas [15:24] stagas: hey [15:24] chapel: fix your connection :) [15:24] chapel: btw hello [15:24] stagas: I was testing something :) [15:24] stagas: https://gist.github.com/751640 [15:24] chapel: oh [15:24] chapel: :) [15:25] stagas: loses the ~ from the username [15:25] stagas: probably useless as clients usually have identd themselves [15:27] jetienne: WhyLovedAynRand: btw i just found jquery.tmpl is now official [15:27] WhyLovedAynRand: coolz [15:30] bob_ has joined the channel [15:31] arrty has joined the channel [15:32] jtsnow has joined the channel [15:32] davidc_ has joined the channel [15:34] arrty_ has joined the channel [15:38] kenbolton has joined the channel [15:41] B2oba has joined the channel [15:42] Tidwell has joined the channel [15:44] Tasser: how to handle source that's in more than one file? [15:47] augustl has joined the channel [15:47] jetienne: Tasser: rephrase your question. [15:47] dandaman has joined the channel [15:48] brianmario has joined the channel [15:48] Tasser: jetienne, I got a bunch of data files (containg some const and JSON [JS lacks Symbols, so I use consts + integers instead of strings]) and a bunch of source files that would like to be loaded into my nodejs app. [15:49] B2oba: I have build error when trying to build node.js using cygwin :( What to do? [15:49] jetienne: Tasser: ? you want to read a file ? [15:49] pt_tr has joined the channel [15:49] Tasser: jetienne, I suppose http://nodejs.org/docs/v0.3.2/api/modules.html looks good. [15:49] jetienne: ok [15:50] Tasser: jetienne, what to use in JS if Symbols (named integers) are missing? [15:50] stagas: B2oba: git checkout v0.3.1 && ./configure && make install [15:51] ceej has joined the channel [15:51] jetienne: Tasser: dunno. what is a symbols for you ? [15:51] Tasser: jetienne, it's a named integer. Like what type of resources are on that field and so on. [15:52] jetienne: Tasser: ok maybe another approach. where have you seen this "symbol" you are talking about [15:52] gkatsev: Tasser: use an object and name your integers? [15:52] gkatsev: kind of like old-school enums in java? [15:52] B2oba: stagas: I have checked out, and configured succesfully. (I'm following this guide: https://github.com/ry/node/wiki/Building-node.js-on-Cygwin-%28Windows%29). Upon "make" I get "task failed {task: libv8.a SConsctruct -> libv8.a}" [15:53] jetienne: enums in js is possible [15:53] gkatsev: jetienne: can you have true enums in js? [15:53] jetienne: http://stackoverflow.com/questions/287903/enums-in-javascript [15:54] jetienne: gkatsev: true ? unlikely [15:54] stagas: B2oba: you need to checkout v0.3.1 later don't build [15:54] B2oba: ahh ok [15:54] jetienne: gkatsev: the link i have given is a possibility [15:54] B2oba: stagas: I'll give that a try, thanks. [15:54] gkatsev: jetienne: yeah, so, basically what I said. [15:55] jetienne: yt [15:55] softdrink has joined the channel [15:55] Hello71 has joined the channel [15:55] Hello71 has joined the channel [15:56] jvolkman_ has joined the channel [15:57] davidsklar has joined the channel [15:58] Tasser: jetienne, it's a ruby construct. It's basically const NORTH = 0; NORTH used in the source. [15:59] elijah-mbp has joined the channel [15:59] possibilities has joined the channel [15:59] Tasser: and if you output it, it's "NORTH" [15:59] flashingpumpkin: guys, how can i stop a Script ? [15:59] Tasser: flashingpumpkin, ^C ? [16:00] flashingpumpkin: Tasser, http://nodejs.org/api.html#script-100 [16:00] Tasser: oh. [16:00] dandaman has joined the channel [16:02] sonnym has joined the channel [16:02] flashingpumpkin: hmm [16:03] gkatsev: v8bot: const foo = 5; foo = 6; foo; [16:03] v8bot: gkatsev: Use v8: to evaluate code or "`v commands" for a list of v8bot commands. [16:03] B2oba: stagas: Worked, thanks! [16:03] gkatsev: v8: const foo = 5; foo = 6; foo; [16:03] v8bot: gkatsev: 5 [16:03] gkatsev: fwiw [16:04] possibilities: flashingpumpkin, why not run it as a child process so you can call .kill() ? [16:04] gkatsev: Tasser: ^ [16:05] flashingpumpkin: possibilities, i'm trying to extract the full requirements of a script [16:05] possibilities: Just noticed the docs have this paragraph twice: [16:05] possibilities: "Note that running untrusted code is a tricky" [16:05] possibilities: flashpumkin, sorry, i dont follow [16:05] mattcodes has joined the channel [16:06] flashingpumpkin: easiest way was to grep the require's recursively from each file, but that breaks when require is used with variables. eg: sys = 'sys'; require(sys) [16:06] Tasser: gkatsev, looks like I gotta do stuff liek SIZE.MEDIUM [16:06] gkatsev: well, you'll probably want to parse it then. [16:06] jetienne: Tasser: ok (btw symbol in ruby are something else :) [16:07] gkatsev: Tasser: yeah, pretty much. But you can also just have a const in local/global scope or w/e. Or you can also just freeze the object. [16:07] Tasser: jetienne, whut? [16:07] jetienne: Tasser: i was talking about the :supersymbol in ruby [16:07] Tasser: gkatsev, freezing the object doesn't give me what I want [16:08] flashingpumpkin: gkatsev, i'd rather do: Script.runInNewContext('require(script); Object.keys(require.cache);', {require: require, script: './path/to/script'}) - and then somehow kill it [16:08] Tasser: jetienne, they're named integers. That's what I'm looking for in JS [16:08] mattcodes: in expressjs if I do next(err) from a middleware handler, how is err passed to actually request route [16:08] gkatsev: Tasser: I don't really see the point of named integeers, isn't just 'var foo = 5' a named integer? [16:08] mattcodes: as the signature is (req,res) [16:08] jetienne: Tasser: ok lets not argue [16:09] Tasser: gkatsev, yep, but you need to declare it. [16:09] Tasser: jetienne, or explain your point to me in query? [16:09] gkatsev: Tasser: and in ruby you don't? [16:09] jashkenas: Tasser: you don't need symbols in JS -- strings are immutable. [16:09] Tasser: gkatsev, nope [16:09] Tasser: jashkenas, but more expensive to compare [16:09] jashkenas: no, they're not, in JS. [16:10] Tasser: hmm [16:10] gkatsev: Tasser: == and === compare strings in js. [16:10] jashkenas: They're immutable -- O(1) comparison. [16:10] jashkenas: "a" is the same object as "a". [16:10] Tasser: jashkenas, good, -1 misinterpretation [16:10] tmedema has joined the channel [16:10] Tasser: it pays to argue ;-) [16:11] Tasser: thanks! [16:11] jashkenas: you're very welcome. [16:11] Tasser: you just saved me from a lot of cursing. [16:11] jetienne: Tasser: ruby symbol have nothing to do with "named integer". ruby symbol may be seen as a weirdo string with no duplication in ram. http://glu.ttono.us/articles/2005/08/19/understanding-ruby-symbols for details [16:11] jashkenas: It's nice to not have to deal with two different string-like things ... keeps it simple. [16:11] mraleph: jashkenas: strictly speaking not every string comparison is O(1). [16:11] mraleph: at least not in V8 [16:12] JusticeFries has joined the channel [16:12] gkatsev: mraleph: like if it tried to convert it or something? [16:12] Tasser: jetienne, well, they're used like named integers. [16:12] JusticeFries has joined the channel [16:12] mraleph: not all strings are interned. [16:12] gkatsev: ACTION still doesn't see the point of 'named integers', look like variables to me. [16:12] jashkenas: mraleph: short ones are though, yes? [16:13] tmedema: Hi there, I was wondering, have there been any attempts in creating a sophisticated node based crawler that tries to detect black holes/loop holes/spider traps? [16:13] jashkenas: the ones you would use as faux-enums. [16:13] jetienne: gkatsev: enum are nice as they give easy way to add/remove members. and it explicitly say "cant be modified" [16:14] gkatsev: jetienne: right, I get the point of enums, but are named integers just enums? don't enums technically have no value? [16:14] jetienne: gkatsev: btw you used const before. is that official js ? [16:14] jetienne: gkatsev: i never heard of "named integer" before today :) [16:14] gkatsev: jetienne: only some places :P [16:15] jetienne: enums have values. it is just set automatically if not explicitly given [16:15] gkatsev: ok [16:15] paulrobinson has joined the channel [16:15] maushu has joined the channel [16:16] flowlo has joined the channel [16:16] flowlo: hi [16:16] mraleph: jashkenas: string literals should be interned, but results of operations (e.g. concatenation) aren't. [16:17] gkatsev: jetienne: I guess the 'named integer' confused me. [16:18] flowlo: i want to write a small http server, which should scan the url and then dynamically load other node.js code ... so i think i'll filter the url for an extension to indicate that this is a node.js file to "execute" ... i don't want to use 'js' because i want to use this for client javascript ... does anybody use a specific extension, or is there no definitaion for the extension? [16:19] hansek has joined the channel [16:21] ceej has joined the channel [16:22] jashkenas: mraleph: that sounds like the best of both worlds. [16:23] Yuffster has joined the channel [16:24] ceej_ has joined the channel [16:25] gkatsev: jetienne: const was originally a mozilla-only extension. (let is also nice), but apparently, v8 has it now as well, and opera and safari have partial support as well. IE does not. [16:25] jamund has joined the channel [16:27] teemow has joined the channel [16:27] gf3 has joined the channel [16:27] hobodave: hmm [16:27] hobodave: node's configure script doesn't support --prefix ?! [16:28] nonnikcam has joined the channel [16:29] gkatsev: jetienne: also, looks like const isn't in ES5 but it is marked as a reserved word. [16:29] hobodave: hm I think I typod [16:29] hobodave: retard [16:32] B2oba: I played with Node, and I like it. I would like to use it for a real application (as opposed to a local prototype) but I don't have any dedicated server (too pricy for me). Is there a cheap option to have an online website running node? [16:33] Aria has joined the channel [16:35] hobodave: B2oba: get a VPS [16:35] tekky has joined the channel [16:35] softdrink: why didn't i add a finder keyboard shortcut to open the current file in macvim before? [16:35] softdrink: i are teh dumbs [16:36] hobodave: B2oba: linode, rackspace cloud, slicehost, prgmr -- check those out [16:36] B2oba: hobodave: What is a VPS? [16:36] prinzdezibel has joined the channel [16:36] hobodave: virtual private server [16:36] tjholowaychuk has joined the channel [16:36] B2oba: hobodave: forget last question, looked it up in greater detail :) [16:37] softdrink: i <3 linode so much [16:38] booths: ^ [16:39] B2oba: so a VPS is basically a hosted machine where i can remote, and through which i can install any server I want? (e.g. node, apache etc..?) [16:39] hobodave: think of it as a dedicated server [16:39] hobodave: but cheaper [16:39] booths: they give you a vps and say "here, have fun" [16:39] hobodave: you manage the operating system and everything [16:39] Aria: Yeah. . . A slice of "real" hardware, but running a separate copy of the operating system just for you. [16:40] hobodave: they all have one button installs [16:40] hobodave: for the OS [16:40] hobodave: after that you're on your own [16:40] B2oba: do I need to be an expert in terms of securing my own machine then? [16:40] hobodave: you need to be a competent sysadmin [16:40] hobodave: if you go with slicehost they have a great series of articles [16:40] Aria: Not if you use a reasonably sane OS and keep it up to date. And keep backups, so if things go really awry, you can start over. [16:40] flowlo has left the channel [16:40] hobodave: well their articles are open to everyone [16:41] mattcodes has joined the channel [16:42] B2oba: alright I'll look it up, sounds like the best and prefered option. I'll just have to learn along the way.. [16:42] Aria: (Simple version: Don't run things as root if you can avoid it, don't run services you don't need, always use good passwords (8-letter random is a good start), manage over SSH (or NX, since it uses SSH!), and if you can, make a separate user on the system for different things, so they're isolated from each other.) [16:43] pHcF: i have this assert http://pastie.org/private/plo6bntfbtzum8dn52qga but when i run it with expresso, i don't get the test results, but i get the 'response is ok...' the problem keeps running until i press control + c (to end the process) and it will show me the results of the test (100% ok ) [16:43] hobodave: B2oba: the articles are here: http://articles.slicehost.com/centos [16:43] hobodave: B2oba: most will recommend Ubuntu, I recommend CentOS, but that's just me [16:43] prinzdezibel has joined the channel [16:43] jetienne: gkatsev: thanks for the details [16:43] hobodave: dont' do Gentoo [16:44] jspiros has joined the channel [16:44] B2oba: hobodave: Thanks for the link, any reason why CentOS vs. Ubuntu? [16:44] Aria: I'd use Fedora over CentOS, especially for node and newer stuff. It's dated until they get v6 out the door. And Ubuntu is pretty darn nice. [16:45] hobodave: B2oba: I prefer its package manager yum over Ubuntu's apt. And it's much easier to get good advice on CentOS than Ubuntu [16:45] derren13 has joined the channel [16:45] hobodave: the level of incompetence presence in the Ubuntu community can lead to you following some very bad advice if you're googling things [16:45] Aria: Yeah. Definitely true there. [16:46] hobodave: Ubuntu also does weird things with paths that are unlike any other distro, particularly apache [16:46] yanick_ has joined the channel [16:46] Aria: (That said, most of the goodness of CentOS is present in Fedora. And it's up to date.) [16:46] Aria: Heh. So does CentOS ;-) [16:46] Aria: Just redhatisms rather than debianisms. [16:46] hobodave: I abhor sites-available and mods-available :) [16:46] yanick_: hi, what Javascript specification is V8's node.js implemented with? (Node 0.3.2) [16:46] hobodave: CentOS at least makes sense in the traditional *NIX FS layout [16:47] yanick_: Javascript 1.6, 1.7, 1.8... ? [16:47] hobodave: B2oba: but yea, if you want the latest greatest, Fedora is probably better than CentOS [16:47] Aria: ACTION laughs. Anyone who thinks that hasn't used many other unixes. [16:47] Aria: yanick_: ECMAScript 3. With a couple things from ES5. [16:47] tjholowaychuk: pHcF: because you still have an active database connection [16:47] hobodave: not trying to start a debate Aria [16:47] stagas: yanick_: https://github.com/ry/node/wiki/ECMA-5-Mozilla-Features-Implemented-in-V8 [16:47] nonnikcam has joined the channel [16:48] mraleph: Aria: ES5 is almost fully supported. [16:48] yanick_: Aria, I was reading https://developer.mozilla.org/en/JavaScript/Guide/Iterators_and_Generators and "for (let (i, j) in arr)" but it's not a recognized statement for Node.Js [16:48] Aria: Yeah, it's gettin' there fast. [16:48] mraleph: only strict mode is not supported. [16:48] Aria: yanick_: Yeah, that's a mozillaism. [16:49] yanick_: Aria, I see [16:49] spolu has joined the channel [16:50] hobodave: is npm a de facto standard ? [16:50] robotarmy has joined the channel [16:51] B2oba: hobodave, aria: Thanks for the advice, coming from a Windows background (heh ^^) both are new to me :) From that perspective, either solution will work. I'll go shopping for a VPS then. Thanks a lot for the prompt and accurate answer [16:51] hobodave: no problem [16:51] Aria: Sure thing! [16:51] ceej_ has left the channel [16:51] tlrobinson has joined the channel [16:51] Aria: It'll be a bit of a mind-twist after using Windows where there's no batteries included and no way to play nice with the OS [16:52] hobodave: Is npm the de facto standard package manager for node? [16:52] Aria: IT is. [16:52] hobodave: I'm a little concerned about the author's OMG warning about installing it as root. That is bizarre for a PM [16:52] Aria: CentOS is the bedrock of a lot of hosting companies and servers; Fedora's the community testbed that feeds into CentOS and Redhat Enterprise Linux; Ubuntu's aimed at end-users, and so it's good and reliable, but also weird and has a lot of bad advice floating around. [16:53] msekimura has joined the channel [16:53] skohorn has joined the channel [16:54] Aria: Oh, man. I was thinking 'let' was an ES5 feature. [16:54] MikhX has joined the channel [16:54] Aria: I wish the spec wasn't such a pain to read. [16:54] softdrink: what's the point of the chrome web store? anyone? [16:54] bruse: hobodave: the packages you install gets to run their own scripts for installation, if you run npm as root you run these scripts as root [16:54] possibilities: hobodave, he's recommending that node & friends are not installed as root, not just npm [16:55] briznad has joined the channel [16:55] bruse: hobodave: so if some packet author suddenly turns malicious and you install his package, there's no telling what could happen :) [16:55] hobodave: bruse: that's how nearly every package manager works [16:55] hobodave: yum, apt, gem, pear [16:55] bruse: yes, but for most packet managers there is a central authority that checks the packages [16:56] hobodave: ah so npm is just a community free for all? [16:56] bruse: as of right now, pretty much [16:56] hobodave: well that's really on me then [16:56] bruse: yep [16:57] hobodave: if I weren't to use NPM [16:57] hobodave: and I have node installed to /opt/node , where would I "install" packages manually? [16:58] gkatsev: hobodave: you can have the packages in your project folder [16:58] hobodave: gkatsev: so node doesn't have a native concept of a "library" path? [16:58] Aria: I'd imagine /opt/node/lib/node/ , but I'd have to check. [16:58] Aria: It does. [16:59] Aria: It's usually relative to the executable, but I've never looked at where it looks when it's in a path in /opt [16:59] hobodave: I see an /opt/node/lib/node dir [16:59] hobodave: it just contains a wafadmin subdir currently [16:59] possibilities: hobo, you can add paths to require.paths, sometimes i add libs as submodules to my project then i use require.paths.unshift to make them available [17:00] Aria: Yeah. . . Look at require.paths to see where it's looking, too. [17:00] Aria: (I use my ~/.node_libraries while developing) [17:00] possibilities: usually i do all the unshifting in support/index.js then i can require('support') to make them all available [17:01] Aria: (And then system copies in /usr/local/lib/node/ for me.) [17:01] Aria: Yeah. For single projects with dependencies, I have a 'vendor/' directory, and just add that to the require paths. [17:02] pHcF: tjholowaychuk: is there any way to "force" the assert? [17:02] hobodave: thanks guys [17:02] tjholowaychuk: ? what do you mean [17:03] hobodave: gettin ready for alpha 0.1 of my log tailer :) [17:03] pHcF: tjholowaychuk: in my tests, the assert is not being called, and the process keeps running after receiving the callback [17:03] pHcF: tjholowaychuk: http://pastie.org/private/plo6bntfbtzum8dn52qga [17:03] muk_mb has joined the channel [17:03] tjholowaychuk: pHcF: if that callback is invoked the assert will be as well.. [17:04] tjholowaychuk: sys.puts is really old BTW [17:04] tjholowaychuk: use console.log() [17:04] tjholowaychuk: so your getPosts is probably failing [17:04] bingomanatee has joined the channel [17:04] tjholowaychuk: and like I said, the process will be active if you have connections, so you have to close them [17:04] booths has joined the channel [17:04] hobodave: yea there's a lot of dated tuts out there [17:04] possibilities has joined the channel [17:04] hobodave: node moves fast [17:05] daniellindsley has joined the channel [17:06] pHcF: tjholowaychuk: hmm gotcha [17:07] tjholowaychuk: pHcF: think about it this way, there is no real way for node to be like "oh, ok, the db connection is established, but hes running a test, so we can close now" [17:07] tjholowaychuk: so you need to take care of things like that, and setInterval()s [17:07] pHcF: hmm [17:07] pHcF: gotcha [17:08] kawaz_home has joined the channel [17:08] hobodave: what is the "name" of node? [17:09] hobodave: node? NodeJS? Node.JS? [17:09] Aria: Yes. [17:09] Aria: mostly node or node.js. [17:09] Aria: (Huh. require.async. .. when did that land?) [17:10] isaacs has joined the channel [17:13] clarkf has joined the channel [17:14] stephank has joined the channel [17:14] noahcampbell has joined the channel [17:15] mape: Wha? [17:15] arrty has joined the channel [17:16] cjm has joined the channel [17:17] mape: So, does that make me a bad person using sync require? :S [17:17] tjholowaychuk: i thought require.async was removed [17:17] tjholowaychuk: at least the http stuff was i think [17:17] mape: stranger things have happened [17:19] Aria: Huh. require.async is in my 0.2.5 [17:19] Aria: Not that I'd expect there to be http stuff in there. [17:19] V1 has joined the channel [17:21] tilgovi has joined the channel [17:22] Aredridel has joined the channel [17:24] jacobolus has joined the channel [17:26] shinmei has joined the channel [17:28] losing has joined the channel [17:29] sriley has joined the channel [17:29] devinus: anybody know where console.log/dir/warn is defined? [17:29] rauchg_ has joined the channel [17:29] dandaman1 has joined the channel [17:30] dgathright has joined the channel [17:31] broofa: devinus: node/src/node.js, looks like. [17:31] luke` has joined the channel [17:32] springmeyer has joined the channel [17:32] thinkingpotato has joined the channel [17:33] JusticeFries_ has joined the channel [17:34] herbySk has joined the channel [17:36] hobodave: hmm is there a way to install node into /opt? [17:36] hobodave: it seems to force itself into ~ [17:36] nooder has joined the channel [17:36] davidwalsh has joined the channel [17:36] nooder: hello. can someone recommend better querystring.parse function? [17:38] nooder: somehow on some request parse give wrong results [17:40] slloyd has joined the channel [17:40] sandy has joined the channel [17:41] mape: Aria: So how is the html parsing going? [17:41] yozlet has joined the channel [17:42] Aria: It works, mostly. I haven't had a chance to work on it lately. [17:42] Aria: I don't have any open issues with things that go boom, but I'm sure some exist. [17:42] bruce has joined the channel [17:42] mape: But no working with jsdom in the works? [17:42] mape: Or well, have you checked if it is faster the the current implementation? [17:44] mape: Seems like jsdom for scraping right now is suboptimal [17:44] mape: At least if you are running other stuff in the same loop [17:49] hobodave: man node libs are really expecting everyone to use npm [17:49] hobodave: that's annoying [17:49] bartt has joined the channel [17:50] mape: hobodave: not really? [17:50] mape: hobodave: npm is just doing things for you [17:50] JusticeFries has joined the channel [17:50] mscdex: hobodave: what's wrong with getting it from github? [17:50] mape: feel free to do them yourself :) [17:50] jchris has joined the channel [17:51] hobodave: mape: I am, it's just inconvenient [17:51] mscdex: almost all packages are on github [17:51] hobodave: mscdex: that's what I'm doing [17:51] mape: hobodave: And that is why you use npm? [17:51] hobodave: but a lot of them have expectations that they be "built" in some fashion [17:51] hobodave: mape: I don't use npm [17:51] mscdex: built how? [17:51] mape: Well then, what is the issue? :) [17:51] mscdex: example? [17:51] tjholowaychuk: hobodave: yeh i know what you mean [17:51] tjholowaychuk: its annoying [17:51] hobodave: mscdex: glob, mustache [17:52] tjholowaychuk: i like to be able to clone a lib and have it usable [17:52] hobodave: yea tjholowaychuk, I'm adding them as submodules and trying to work around the expectations [17:52] tjholowaychuk: hobodave: the worst is with the bins, due to the shimming but i dont know a good way around that [17:53] stagas: tjholowaychuk: you can do npm install in the cloned directory and have that one installed [17:53] tjholowaychuk: stagas: yeah [17:53] tjholowaychuk: we are just talking without npm all together though [17:53] tjholowaychuk: I like it much more now with the bundlign [17:53] tjholowaychuk: I dont want ANY global stuff [17:53] tjholowaychuk: ever [17:53] mape: stagas: btw what happened to your war? :S wanted to show it to coworkers [17:54] hobodave: I would try npm if it didn't force itself into ~ [17:54] hobodave: that's just silly [17:54] dandean has joined the channel [17:54] springmeyer_ has joined the channel [17:54] mape: tjholowaychuk: So without npm, do you think the node community would be better off? [17:54] tjholowaychuk: hobodave: try npm bundle, takes some submod hell away, adds some of its own hell haha [17:54] hobodave: unless there's some magic hidden way to get it into /opt/npm [17:54] tjholowaychuk: but its a bit better [17:54] tjholowaychuk: mape: no, its great for people wanting to try things out and get started [17:55] mape: hobodave: I'm sure you can fix that, and if you can't, I'm sure isaacs want to know about it [17:55] mape: tjholowaychuk: Ie me? :) [17:55] tjholowaychuk: woah weird my v8 was totally messed [17:55] hobodave: tjholowaychuk: I used it on my laptop, it's unacceptable for our production servers though [17:55] tjholowaychuk: hobodave: yeah agreed [17:55] stagas: mape: some crazy connect limits on the grnet servers, were breaking the irc client and half of the times it didn't start at all [17:55] tjholowaychuk: best to have it packaged up for deploys [17:55] mape: stagas: :/ [17:55] teddy_ has joined the channel [17:56] Yuffster has joined the channel [17:56] MikhX has joined the channel [17:56] mape: hobodave: What about it is an issue with production? Have you talked to isaacs about it? [17:56] hobodave: mape: no I haven't, I don't know him [17:56] hobodave: mape: it doesn't meet our standards of quality [17:57] hobodave: the only place it is allowed is /opt/npm, period [17:57] mape: hobodave: And node does? [17:57] Yuffster_ has joined the channel [17:57] hobodave: in /opt/node, yes [17:57] davglass has joined the channel [17:57] mape: Well he isn't that hard to get a hold of [17:57] mape: I could probly fly over the the US and get a bunk to sleep if I asked him [17:58] hobodave: I can't find in the npm code where it installs itself to ~ [17:58] derferman has joined the channel [17:58] hobodave: annoying character to search for [17:58] mape: If you stick around for more then a bit you are more the likely to talk to him [17:58] broofa: hobodave: I believe that's controlled by the --prefix flag on the configure script [17:58] hobodave: broofa: there is no configure script [17:59] broofa: hmmm.... oh, wait, I'm thinking of npm, not node. hobodave , sorry. [17:59] mape: hobodave: So.. You don't know him but yet he is here? [17:59] broofa: hobodave: no, wait, it is node. and there is a configure script. [18:00] JusticeFries has joined the channel [18:00] hobodave: mape: I appreciate you trying to help me, but could you please stop phrasing all of your communications to me as a question? It comes across as condescending and is frustrating me. [18:00] hobodave: broofa: I'm talking about npm :P [18:00] broofa: hobo: it installs into your node directory. [18:01] mape: hobodave: They are all questions, since isaacs is here, and if you talk to him you are more likely to find an answer/help [18:01] hobodave: broofa: and pollutes ~ [18:01] Wizek has joined the channel [18:01] broofa: hobodave: urr... in what way? All I have is a .npmrc file, which seems reasonable. [18:01] mape: hobodave: If your issue is an issue the can't be solved then I understand that, I'm just saying that isaacs isn't a hard person to talk to, so rather do that and solve the issue [18:02] hobodave: broofa: I'll double check, but on my laptop I have crap all in ~/.node_libraries [18:02] broofa: hobodave: install node into ~/local (--prefix=$HOME/local) and I believe npm will play nicely [18:03] brainproxy: I've been having a lot of luck using nvm and npm together [18:03] hobodave: broofa: I'll double check on a clean machine [18:03] brainproxy: which effectively does what broofa is suggesting, installs it locally in the user's home folder [18:05] hobodave: brainproxy: if npm behaves as broofa claims, then I am mistaken and it should be good enough [18:05] Imperion has joined the channel [18:05] mape: hobodave: But yeah, make sure to poke isaacs to fix issue, unless it doesn't make sense it usually isn't an issue [18:05] hobodave: mape: it might be just a misunderstanding on my part [18:05] mwilliams_ has joined the channel [18:06] mape: hobodave: Then it is all good :) [18:06] hobodave: node takes some serious time to compile [18:06] mertimor has joined the channel [18:07] hobodave: I'm used to 5-15 second compilations :) [18:07] tjholowaychuk: hobodave: shouldnt be more than a minute. $ make JOBS=8 [18:07] tjholowaychuk: etc [18:07] hobodave: I think macports does that for me [18:07] tjholowaychuk: macports sucks [18:07] tjholowaychuk: brew sucks [18:07] tjholowaychuk: lol [18:07] hobodave: does the job :P [18:07] tjholowaychuk: a side from then finding the tarball for me I hate those things [18:07] mape: Seems like brew and macports breaks more things then they fix [18:08] hobodave: I've never had an issue with macports [18:08] hobodave: brew is just silly [18:08] Imperion: I'm trying to use Jade for templating, but it seems to get stuck in an infinite loop [18:08] Me1000 has joined the channel [18:08] tjholowaychuk: Imperion: lets see your template [18:09] hobodave: broofa: you're correct! I must have created the ~/.npmrc on my laptop and told it to install in ~/.node_libraries without understanding what I was doing [18:10] broofa: hobodave: np [18:10] Imperion: tjholowaychuk: http://codepad.org/YHf5vPCd [18:10] mwilliams_: Are there any really good blog posts out there comparing the various frameworks build on Node? Has anyone provided any valuable science against them? [18:10] tjholowaychuk: Imperion: some funky indentation on that site there lol [18:11] proppy: tjholowaychuk: thanks for pulling in expresso :) [18:11] Imperion: tabs? [18:11] tjholowaychuk: proppy: np [18:11] tjholowaychuk: oh [18:11] tjholowaychuk: tabs [18:11] tjholowaychuk: Imperion: it could be those empty divs [18:11] tjholowaychuk: try removing them and see if that fixes it [18:11] tjholowaychuk: could be a bug on my part [18:12] Imperion: nope [18:12] yozlet has joined the channel [18:12] mape: hobodave: Btw if you ever feel like someone is being condescending in here please voice it, don't think I've ever been around a more helping community, if you feel like people are being dicks it is most likely because they are from sweden (I am...) and things get wonky in translation [18:12] tjholowaychuk: hmm [18:12] tjholowaychuk: Imperion: oh, dont indent html [18:12] tjholowaychuk: "html" [18:13] tjholowaychuk: !!! doesnt expect a block [18:13] Imperion: thank you [18:13] hobodave: mape: thank you. I don't have a problem pointing it out, clearly. :) [18:13] amerine has joined the channel [18:13] Imperion: now fix that :P [18:13] Imperion: make it throw an error or something [18:13] JAAulde has joined the channel [18:13] tjholowaychuk: haha yeah I probably should [18:13] tjholowaychuk: seen that a few times now [18:14] strixv_ has joined the channel [18:14] JAAulde: sup achristianson [18:14] mape: hobodave: Hehe, just make sure you solve it rather then just bottling it, this community is fast about fixing bad things [18:15] JAAulde has left the channel [18:17] femtoo has joined the channel [18:18] Imperion: tjholowaychuk: hm, I don't suppose there's a way to tell a template to include another one? [18:18] riven has joined the channel [18:18] tjholowaychuk: Imperion: not straight from jade no [18:19] mape: isn't that what partials are? [18:19] tjholowaychuk: yeah [18:19] tjholowaychuk: but that is express [18:19] tjholowaychuk: its not a literal inclusion [18:19] tjholowaychuk: which would be nice for some things [18:19] TheEmpath: hail nodites [18:20] tjholowaychuk: I was thinking eventually maybe partial('header') etc without args could do a literal include [18:20] qFox has joined the channel [18:20] sriley has joined the channel [18:21] tlrobinson has joined the channel [18:26] cjm has joined the channel [18:26] Imperion: tjholowaychuk: could it be done with the filter thing? [18:26] tjholowaychuk: Imperion: it could be done with the ast easily [18:26] Me1000 has joined the channel [18:26] tjholowaychuk: you could have a tag named "include" execute a routine [18:27] tjholowaychuk: for example at learnboost [18:27] tjholowaychuk: we take all of our link(rel='stylesheet', ...) tags and transparently compress/aggregate them in production [18:27] tjholowaychuk: same with js [18:28] wasabist_ has joined the channel [18:28] rpbertp13 has joined the channel [18:29] Imperion: so, um, how would I go around modifying the AST? [18:29] tjholowaychuk: Imperion: I have some examples in the jade lib [18:29] tjholowaychuk: its just a visitor, so you can define visitTag() etc and add more nodes to the ast or alter them as needed [18:30] pt_tr has joined the channel [18:30] bingomanatee: Is there a function in node core to decode raw bodys from POST? [18:31] rauchg_: bingomanatee: use connect and bodyDecoder middleware [18:33] bingomanatee has joined the channel [18:34] bingomanatee: Is there a node,js core function to decode a raw post body? [18:34] bingomanatee: I am getting - how do I decode back to the string that was sent? [18:34] tjholowaychuk: bingomanatee: toString() [18:35] Druid_ has joined the channel [18:36] bingomanatee: damn. Thanks. Out of curiosity - what is the actual thing that I am getting - i.e., what is its native "class"? [18:37] elijah-mbp has joined the channel [18:37] tjholowaychuk: its a Buffer [18:37] tjholowaychuk: binary data, you can .setEncoding('utf8') for example on the stream [18:37] tjholowaychuk: to get strings [18:38] dandaman has joined the channel [18:38] MikhX has joined the channel [18:39] maushu has joined the channel [18:42] BrianTheCoder has joined the channel [18:44] sascha_ has joined the channel [18:45] ceej_ has joined the channel [18:46] mexis has joined the channel [18:46] bingomanatee: Ah! [18:46] bingomanatee: Makes sense - now [18:46] CIA-93: node: 03Ryan Dahl 07master * rd02131d 10/ Makefile : Add 'make test-valgrind' - http://bit.ly/e2KXE6 [18:46] bingomanatee: I really appreciate your help - thanks once again. [18:46] CIA-93: node: 03Tom Hughes 07master * r4b55509 10/ src/node_net.cc : [18:46] CIA-93: node: Fix memory corruption with unnamed AF_UNIX sockets. [18:46] CIA-93: node: AF_UNIX sockets can have a pathname, be unnamed, or abstract (Linux [18:46] CIA-93: node: only). If an unnamed socket is returned by getsockname, getpeername, or [18:46] CIA-93: node: accept, sun_path should not be inspected. - http://bit.ly/hBZXfY [18:46] CIA-93: node: 03Tom Hughes 07master * rb38f471 10/ src/node_crypto.cc : [18:46] CIA-93: node: Fix memory leak in node_crypto.cc. [18:46] CIA-93: node: Both HexDecode and unbase64 allocate buffers, which weren't being freed. - http://bit.ly/f7qdCl [18:46] CIA-93: node: 03Tom Hughes 07master * r0d58353 10/ test/simple/test-buffer.js : [18:46] CIA-93: node: Don't access buffer data before initializing it. [18:46] CIA-93: node: Prevents valgrind from complaining and still tests that buffer data is [18:46] CIA-93: node: treated as unsigned. - http://bit.ly/dFcw6l [18:47] ryah: mscdex: os.getCPUs() ? [18:47] strixv_: tjholowaychuk: Noticed from the update in express partials object resolution (and removing the underscore) that partials that still begin with an _ will now be given capital objects [18:47] bingomanatee: CIA-93: it would be best to learn how to use something like https://gist.github.com/ to encapsulate code on the web somewhere instead of dumping it into IRC. [18:47] CIA-93: node: 03Tom Hughes 07v0.2 * r6681024 10/ src/node_net.cc : [18:47] CIA-93: node: Fix memory corruption with unnamed AF_UNIX sockets. [18:47] CIA-93: node: AF_UNIX sockets can have a pathname, be unnamed, or abstract (Linux [18:47] CIA-93: node: only). If an unnamed socket is returned by getsockname, getpeername, or [18:47] CIA-93: node: accept, sun_path should not be inspected. - http://bit.ly/gO9yGU [18:47] CIA-93: node: 03Tom Hughes 07v0.2 * ra4c5353 10/ src/node_crypto.cc : [18:47] CIA-93: node: Fix memory leak in node_crypto.cc. [18:47] CIA-93: node: Both HexDecode and unbase64 allocate buffers, which weren't being freed. - http://bit.ly/gpFQDq [18:47] CIA-93: node: 03Tom Hughes 07v0.2 * rea3b78c 10/ test/simple/test-buffer.js : [18:47] CIA-93: node: Don't access buffer data before initializing it. [18:47] CIA-93: node: Prevents valgrind from complaining and still tests that buffer data is [18:47] CIA-93: node: treated as unsigned. - http://bit.ly/gX7Ldi [18:47] bingomanatee: CIA-93 I did the same thing when I started out but its just good manners. [18:48] chapel: lol bingomanatee [18:48] chapel: what are you talking about? [18:48] chapel: its a bot [18:48] bingomanatee: is that a bot? [18:48] chapel: yeah [18:48] bingomanatee: dur. [18:48] chapel: any updates to node [18:48] tjholowaychuk: ahahah [18:48] tjholowaychuk: :) [18:48] strixv_: tjholowaychuk: So _partial.jade will iterate through Partial instead of partial. Mind if I change that? [18:48] pHcF: lolololol [18:48] danielrmz has joined the channel [18:48] isaacs has joined the channel [18:48] tjholowaychuk: strixv_: woah what? [18:48] tjholowaychuk: really? [18:48] bingomanatee: well I never [18:48] chapel: good advice [18:48] tjholowaychuk: strixv_: I removed the prefix [18:48] tjholowaychuk: that must be why [18:49] strixv_: tjholowaychuk: Yeah we have a bunch of _partial files left over from before when express had the prefix [18:49] strixv_: tjholowaychuk: But since the method to find the object name resolves this_thing into thisThing [18:49] tjholowaychuk: oh I see, we should still allow for them I suppose [18:49] strixv_: right exactly [18:49] strixv_: I can make the change, just wondering if I should fork it or just push an update to your github [18:49] tjholowaychuk: right. it would be nice if the lookup considered '_' as well IMO [18:49] KUHRT has joined the channel [18:49] tjholowaychuk: sure, just a gist diff is fine [18:49] strixv_: k [18:50] tjholowaychuk: i prefer to apply via curl | git am [18:50] tjholowaychuk: ideally partial('name') would try _name and then name [18:50] bingomanatee: This is not "node" (as such) but is there a way in cURL to send the contents of a file directly to a URL as post body? [18:50] strixv_: right, and then within _name or name, it would reference "name" as its object [18:50] tjholowaychuk: bingomanatee: yup you can [18:51] bingomanatee: okie - looked through the manpage -- will do more research [18:51] tjholowaychuk: bingomanatee: curl --help | grep POST [18:51] joeshaw: has the stacktraces-across-mainloop-boundary problem been solved yet? [18:51] bingomanatee: thx [18:51] tjholowaychuk: strixv_: for both yeah [18:52] tjholowaychuk: strixv_: do you guys prefer the prefix? not sure if I should just phase it out all together [18:52] tjholowaychuk: or not [18:52] tjholowaychuk: i think its fine, but preferably transparent [18:52] strixv_: the _? personally I like it. Makes it easy to see the difference without making the nesting look like java [18:52] strixv_: like we have /views/projects/_summary [18:52] splashs has joined the channel [18:52] tjholowaychuk: yeah, i think it can be a little misleading otherwise, since "summary" could be the page template [18:52] strixv_: and I prefer that to /views/projects/partials/summary [18:53] strixv_: exactly [18:53] tjholowaychuk: ok well lets do what we talked about [18:53] strixv_: k [18:54] strixv_: Chris also just sent you guys a pull request about ndistro [18:55] strixv_: we've been using aliases like that so we don't depend on the repository name for the require('name') [18:55] tjholowaychuk: ah, yeah I do symlinks for those [18:55] Ond has joined the channel [18:55] tjholowaychuk: in the .ndistro file [18:55] tjholowaychuk: but I will check it out [18:55] strixv_: yeah us too [18:55] strixv_: the pull just puts the symlink name as an option along with the version [18:56] tjholowaychuk: awesome [18:56] Zenwolf has joined the channel [18:58] Imperion: tjholowaychuk: uh, I'm stuck [18:58] Imperion: tjholowaychuk: are you sure there's a new-keyword-adding example? [18:58] creationix has joined the channel [18:58] tjholowaychuk: Imperion take a look at the model one, or conditionals [18:59] Imperion: yeah, but you said keyword not filter :S [18:59] Imperion: or I might've misunderstood that :S [18:59] tjholowaychuk: oh, yeah sorry you can pass the custom compiler as an option { compiler: myCompilerInstance } [18:59] tjholowaychuk: then you dont need filters [19:00] Ari-Ugwu has joined the channel [19:02] tlrobinson_ has joined the channel [19:02] tilgovi has joined the channel [19:03] femtooo has joined the channel [19:04] tlrobinson_ has joined the channel [19:05] cgutierrez has joined the channel [19:06] elijah-mbp has joined the channel [19:06] Imperion: tjholowaychuk: blech, I'll stick with a filter [19:06] Imperion: but can I make it all on the same line like [19:06] Imperion: :include foo.jade [19:06] Imperion: ? [19:06] tjholowaychuk: filters require a block so no [19:07] ryah: mscdex: looks good [19:07] ryah: mscdex: this runs on mac and cygwin? [19:07] Imperion: oh well [19:07] mscdex: ryah: cool [19:07] tjholowaychuk: Imperion: might wanna stick with the express partials or something [19:07] Imperion: not using express [19:07] mscdex: ryah: i haven't tried cygwin as my netbook is out of commission, but it runs also fine on osx yes [19:07] tjholowaychuk: or a local function that renders the other template [19:08] tjholowaychuk: Imperion: what are you using? [19:08] mscdex: at least 10.6 [19:08] Imperion: custom shishkabob [19:08] ryah: mscdex: ok [19:08] tjholowaychuk: Imperion: ah :) [19:08] Imperion: don't need the power of a framework at all [19:09] tjholowaychuk: I see [19:09] Imperion: it's just a couple of unrelated pages [19:09] Imperion: (and a very special one which needs some magic) [19:11] deepthawtz has joined the channel [19:11] _mql1 has joined the channel [19:12] mjr_ has joined the channel [19:12] chapel: mscdex: what are you talking about? [19:12] cgutierrez_ has joined the channel [19:12] mscdex: chapel: additions to the os module [19:12] chapel: oh [19:15] sechrist has joined the channel [19:17] sechrist: skype is down [19:17] sechrist: the magnetic poles are shifting [19:17] sechrist: 2012 is upon us [19:18] tjholowaychuk: haha [19:18] isaacs has joined the channel [19:19] gkatsev: sechrist: wait, isn't there still a year to go? [19:21] sechrist: two [19:22] mscdex: i for one, am awaiting 2112 [19:22] skampler has joined the channel [19:23] gkatsev: what about 2038? [19:24] davglass_ has joined the channel [19:25] Imperion: gkatsev: if there's anyone left on a 32-bit system by then, I'll be a jar of peanut butter [19:26] gkatsev: lol [19:26] mscdex: fat free? [19:26] gkatsev: cory doctorow has a cool story about the epoch [19:27] Imperion: mscdex: sure [19:27] mraleph: ryah: Scavenge 6203.8 -> 6203.8 MB, 912 ms. [19:27] gkatsev: chunky or smooth? [19:28] mscdex: jif or peter pan? [19:28] mscdex: :p [19:28] Imperion: Ion Cannon or Rift Generator? [19:28] mscdex: i don't think peter pan has a license for either of those [19:29] gkatsev: chocolate swirl or regular? [19:29] mraleph: ryah: I doubt that anybody will ever allocate 6gb of JS objects though... [19:29] Imperion: stop. [19:29] devinus: ryah: i've got a tiny pull req for you https://github.com/ry/node/pull/528 [19:29] Imperion: portal time. [19:29] gkatsev: lol [19:30] ryah: mraleph: sweet [19:30] isaacs: mraleph: i wouldn't be so sure. [19:30] Imperion: ACTION uses a portal to send gkatsev to the moon [19:30] gkatsev: mmm cheese [19:30] isaacs: mraleph: it'd be neat to build a memcache-like thing in js [19:30] gkatsev: ACTION blows up the Nazi hideout [19:30] isaacs: property access is SUPER fast. [19:30] isaacs: and you could just load tons of memory on the box [19:30] chapel: isaacs: memcache/redis like thing [19:30] isaacs: sure [19:30] chapel: :) [19:31] mraleph: isaacs: GCed languages are bad choice for such applications IMHO. [19:31] devinus: isaacs: what do you mean property access? [19:31] ryah: mraleph: is erik there still? [19:31] isaacs: devinus: i mean: return x.y [19:31] devinus: MemcacheJS[key] [19:31] devinus: lol [19:31] ryah: mraleph: i guess it's night there actually [19:31] isaacs: devinus: looking up a property of an object, especially if the object is defined by a constructor and the property is on the prototype [19:31] devinus: isaacs: that may be oversimplifying the problem, no? [19:31] mraleph: ryah: 20 pm :-) [19:31] mraleph: 8 pm [19:32] isaacs: devinus: my point is, "6gb is enough for any js program" is probably an untrue statement. [19:32] tmedema: Hi there, I'm interested in creating a web crawler in node.js but have questions specifically about spider traps. If anyone is interested in helping out, please check out my question on StackOverflow: http://stackoverflow.com/questions/4512936/what-techniques-can-be-used-to-detect-so-called-black-holes-a-spider-trap-whe [19:32] devinus: oh right [19:32] isaacs: not necessarily that JS is the ideal language for a memcached rival [19:32] isaacs: (though it'd be fun to write) [19:33] tjholowaychuk: /clear [19:33] tjholowaychuk: NOOO [19:33] tlrobinson has joined the channel [19:35] dtrasbo has joined the channel [19:35] ncursestest has joined the channel [19:36] V1: mraleph / ryah I would love to be able to allocate more memory than 6 gig per node process.. [19:36] ncursestest: :-D [19:36] mraleph: V1: JS heap? [19:36] V1: Especially if you are working with allot of socket connections, and you want to fit as many socket connections as possible on one single server. [19:37] V1: mraleph: yes [19:37] fugoki has joined the channel [19:38] mraleph: ACTION sighs. [19:39] Imperion: tjholowaychuk: is there any way I can evaluate the variables inside the text passed to a node? [19:39] Imperion: :include [19:39] Imperion: template #{page} [19:39] tjholowaychuk: Imperion: yeah you have access to all the nodes [19:39] mraleph: such GC managed heaps are beyond my comprehension... It's a nice GC implementation challenge though... [19:39] tjholowaychuk: its kinda awkard because you have to think of them as nodes, and not regular js [19:39] tjholowaychuk: its like inception [19:39] tjholowaychuk: haha [19:39] tjholowaychuk: you have to think nesting :p [19:40] Imperion: right [19:40] Imperion: so... could you just show me an example? [19:40] Imperion: please? [19:41] muk_mb has joined the channel [19:41] tjholowaychuk: cant right now sorry [19:41] Imperion: sigh [19:41] tjholowaychuk: maybe after work if my gf doesnt rage [19:41] muk_mb has left the channel [19:41] mscdex: heh [19:41] tjholowaychuk: (unlikely) [19:41] Imperion: by then I'll have probably solved it on my own [19:41] mraleph: just imaging that I need to locate a memory leak in an application with such a huuuuge heap makes me writhe in pain [19:41] mraleph: *imagining [19:42] mikew3c_ has joined the channel [19:43] V1: debugging memory leaks are always painfull [19:43] mscdex: it's designed that way on purpose. job security! [19:43] mscdex: :D [19:44] V1: =p [19:45] ysynopsis has joined the channel [19:47] sechrist: Does anybody maintain deb packages of node builds? [19:47] naturalethic has joined the channel [19:47] sechrist: of 0.3** [19:47] admc_ has joined the channel [19:48] possibilities has joined the channel [19:48] pt_tr has joined the channel [19:48] brianm_ has joined the channel [19:48] isaacs has joined the channel [19:49] jamesarosen has joined the channel [19:49] Validatorian: tjholowaychuk: is there any way to output the version of express I am using? [19:50] fermion has joined the channel [19:50] tjholowaychuk: Validatorian: yup require('express').version [19:50] tjholowaychuk: all my libs have .version [19:50] benburkert has joined the channel [19:50] mscdex: sechrist: i did awhile back [19:51] mscdex: i had a node script that automatically built and packaged as commits rolled out [19:51] possibilities: i don't see a way to listen to all of an EventEmitters events, is that correct? [19:51] mscdex: possibilities: right [19:51] possibilities: cool, thank you [19:52] mscdex: possibilities: unless you override EventEmitter's emit function of course [19:52] mscdex: but that's global [19:52] mscdex: heh [19:53] possibilities: my gut is telling me i'm looking at a bigger design issue (in my app)... need to take a shower and think about it. [19:53] mscdex: ah [19:54] baoist has joined the channel [19:56] sepehr has joined the channel [19:57] mwilliams_ has joined the channel [19:57] tlrobinson_ has joined the channel [20:01] tlrobinson has joined the channel [20:01] rpbertp13 has joined the channel [20:02] maushu has joined the channel [20:03] dgathright has joined the channel [20:03] chapel: Validatorian: if you are using npm, you can do npm list installed [20:04] chapel: and see what versions you have, and also if they are latest [20:04] Validatorian: chapel: yea -- I had a rogue express in .node_libraries that was throwing things off :) [20:04] mwilliams_ has joined the channel [20:04] Validatorian: npm was saying latest, but .version was saying 1.0 [20:04] femtoo has joined the channel [20:05] tjholowaychuk: 1.0 is the latest [20:07] sechrist: tjholowaychuk: so I found something weird last night with canvas [20:07] strixv_: tjholowaychuk: When I pull with ndistro I get 2.0.0 something [20:07] dgathright has joined the channel [20:07] tjholowaychuk: strixv_: yeah master is 2.0.0-pre [20:07] sechrist: I took your clock example, and put clock(ctx) in a loop for an unscientific bench.. and it was slower than recreating a new canvas for each iteration [20:07] chapel: hmm, who here works at github? [20:07] gerad has joined the channel [20:07] sechrist: people in #github work at #github [20:07] tjholowaychuk: sechrist: hmm interesting [20:08] sechrist: any way to explain that? it defied my logic [20:08] chapel: well someone chats here often that works for #github [20:08] sechrist: in fact making a new canvas object before clock(ctx) was about 2x faster [20:08] sechrist: until I ran out of memory [20:08] mscdex: chapel: technoweenie [20:08] tjholowaychuk: sechrist: could be that clearRect() is slower than reallocating the canvas [20:08] chapel: thats it [20:08] chapel: :) [20:08] chapel: thanks mscdex [20:08] sechrist: tjholowaychuk: O.o why on earth [20:08] mscdex: np [20:09] tjholowaychuk: sechrist: that is my guess at least [20:09] CIA-93: node: 03Brian White 07master * rd75c338 10/ (14 files in 5 dirs): Add more functionality to the os module - http://bit.ly/gmHBdA [20:09] ryah: mscdex: cheers [20:09] mscdex: \o/ [20:13] mscdex: sechrist: how big is the canvas? [20:15] chrischris has joined the channel [20:15] tlrobinson_ has joined the channel [20:16] tjholowaychuk: sechrist: clearRect() probably just has more overhead since it: saves the state, draws the rect path, sets the clear operator, fills, then restores state [20:17] tjholowaychuk: vs a single call to cairo_image_surface_create(CAIRO_FORMAT_ARGB32, w, h); [20:17] tjholowaychuk: sechrist: might want to play with clearing via .width= (or height=) [20:18] tjholowaychuk: that will realloc [20:18] sechrist: hmm [20:18] tjholowaychuk: but might still be faster than a full clearRect() [20:18] sechrist: I was thinking I was going to gain some efficiency by reusing canvas contexts [20:18] tjholowaychuk: probably not good to thrash memory like that though lol [20:18] sechrist: creating news ones is killing my memory [20:19] sechrist: I'm doing 720p frames at 30fps [20:19] isaacs has joined the channel [20:19] tjholowaychuk: well yeah typically you use the same canvas/ctx [20:19] tjholowaychuk: depending on what you are doing [20:20] sechrist: I mean I was [20:20] sechrist: but I was squeezing like 2x performance out by recreating it [20:20] sechrist: with a shitload more memory usage and GC usage [20:21] tjholowaychuk: yeah [20:21] sechrist: 5ms to generate a frame vs 2.1 [20:21] tjholowaychuk: hmm [20:21] sechrist: I also have to to RGB to YUV before throwing it into our encoder thing, so every ms counts [20:21] tjholowaychuk: considering clearRect() is often just to clear the entire ctx [20:22] tjholowaychuk: I could add something specific [20:22] tjholowaychuk: I could just have .clear() [20:23] jpld has joined the channel [20:23] sechrist: I guess what I'm getting at is [20:23] sechrist: shouldn't clearing it be more efficient? [20:23] sechrist: if it isn't, isn't that a bug? [20:24] gerad_ has joined the channel [20:24] sechrist: creating a canvas fills the same amount of pixels as clearRect behind the scenes I'm assuming [20:24] creationix: tjholowaychuk: is this node-canvas you're talking about? [20:24] tjholowaychuk: creationix: yup [20:24] tjholowaychuk: sechrist: yeah but there is no state management etc involved [20:25] tjholowaychuk: im sure it can be improved [20:25] gerad__ has joined the channel [20:25] sechrist: cairo or your bindings? [20:25] tjholowaychuk: probably a bit of both [20:25] tjholowaychuk: mostly mine [20:25] tjholowaychuk: hah [20:25] Gruni has joined the channel [20:25] tjholowaychuk: but one thing for example [20:25] tjholowaychuk: is to check if w == canvas.width and h == canvas.height [20:25] tjholowaychuk: then we can optimize for that [20:25] tjholowaychuk: which is often the case [20:26] creationix: tjholowaychuk: is there a way to draw the canvas to the screen, or does it only generate bitmap data? [20:26] sechrist: wait so is clearRect clearing more pixels than the size of the canvas? [20:26] sechrist: creationix: I'm generating h264 with it :) [20:26] sechrist: with skype endpoints and stuff [20:26] tjholowaychuk: creationix: would need bindings for that, right now it just works with memory [20:26] tjholowaychuk: but I will eventually add PDF and SVG support [20:27] sechrist: but I'm grabbing out the RGB buffer from cairo and mangling it [20:27] creationix: sechrist: that's really cool, but probably overkill to just display it locally [20:27] tjholowaychuk: sechrist: no, but it just takes a rect, its hard to explain but im sure we can optimize [20:27] sechrist: creationix: oh sure.. I originally did it with socket.io but base64 overhead along with png encoding killed my framerate [20:27] sechrist: socket.io with canvas in the browser to paint a base64 png generated by node-canvas [20:28] tjholowaychuk: yeah I only get slow buffers in c++ land too :( [20:28] tjholowaychuk: sucks [20:28] sechrist: when I get around to teaching people internally how to develop with this to transition our UI, I'll make something that renders it quickly locally [20:29] creationix: sechrist: which project? [20:29] sechrist: I work at a teleconference startup [20:29] creationix: nice [20:29] sechrist: we need dynamic ui inside the video [20:29] sechrist: and we're using flash currently [20:29] sechrist: node-canvas is what i'm experimenting with [20:30] tjholowaychuk: sechrist: im going to try something [20:30] sechrist: next option is just to scrape a webkit framebuffer, but i'm trying to be more optimal than that [20:30] tjholowaychuk: one sec [20:31] sechrist: tjholowaychuk: you're planning SVG support? kickass. Raphael is something I've been kind of longing for [20:31] sechrist: I don't see a simple way to do it serverside without a browser (efficiently) [20:34] tjholowaychuk: nono I meant you can output svg from the canvas data [20:34] tjholowaychuk: and paginated pdfs [20:34] sechrist: ahhh [20:34] ceej_ has left the channel [20:34] sechrist: we do serverside pdf manipulation so that may be interesting [20:34] sechrist: pdfs have to sync with the conference ;) [20:36] mscdex: pdf streaming! [20:36] mscdex: :P [20:37] BHSPitMo1kay: tjholowaychuk: hey, I've been looking for you [20:37] tjholowaychuk: aha hey [20:38] BHSPitMo1kay: when I use the Image class from node-canvas, its onload never fires [20:38] BHSPitMo1kay: even after setting the src [20:38] tjholowaychuk: BHSPitMo1kay: you probably get onerror [20:38] tjholowaychuk: I have a bug there [20:38] BHSPitMo1kay: I haven't tried in a couple weeks, though, so correct me if things are different [20:38] tjholowaychuk: not catching properly [20:39] tjholowaychuk: so if you dont have .onerror defined it just gets lost in limbo [20:39] BHSPitMo1kay: hmm [20:39] BHSPitMo1kay: I think I had covered that [20:39] dandaman has joined the channel [20:40] BHSPitMo1kay: but I'll git pull and see if it's still doing it [20:40] tjholowaychuk: its a little messed up. I will have to see if node exposes the uncaughtException stuff or what it does [20:40] tjholowaychuk: and do the same if onerror isnt there [20:41] tjholowaychuk: same with errors thrown in .onerror right now they just magically disappear :) [20:42] tek has joined the channel [20:42] jchris1 has joined the channel [20:43] BHSPitMo1kay: tjholowaychuk: you're right, onerror was being called [20:44] BHSPitMo1kay: simple test case http://bhspitmonkey.pastebin.com/b8ewxVu0 [20:44] tjholowaychuk: ah :) [20:44] tjholowaychuk: yes [20:44] siong1987 has joined the channel [20:44] BHSPitMo1kay: but it errors with basically any src I deliver [20:44] jchris2 has joined the channel [20:45] tjholowaychuk: i dont have http support for it [20:45] BHSPitMo1kay: well I'm trying to set the src to a data url [20:45] tjholowaychuk: all you can do right now is local images [20:45] BHSPitMo1kay: I just used the http-based src as an example [20:45] BHSPitMo1kay: oh [20:45] tjholowaychuk: I was adding data url support but node doesnt expose any base64 stuff in c++ land [20:45] tjholowaychuk: and I didnt get around to finding a decent lib to inline yet [20:46] Figaroo has joined the channel [20:46] BHSPitMo1kay: so for now I need to try to write the data url to a file, maybe... [20:46] genbit has joined the channel [20:46] tjholowaychuk: data uri support would be really nice [20:46] tjholowaychuk: i just dont have time atm [20:49] isaacs_ has joined the channel [20:52] aklt has joined the channel [20:54] strixv_: tjholowaychuk: just sent you the _ prefix stuff, with an /example [20:54] tjholowaychuk: strixv_: awesome thanks [20:54] Aria has joined the channel [20:56] hobodave: hey guys [20:57] hobodave: my first node.js project has reached 0.1 alpha status :D [20:57] hobodave: I should probably call it prealpha [20:57] hobodave: https://github.com/hobodave/logrum [20:57] hobodave: feedback more than welcome [20:58] ben_alman has joined the channel [20:59] dgathright has joined the channel [20:59] fumanchu182 has joined the channel [21:00] mikedeboer has joined the channel [21:03] mraleph has joined the channel [21:04] pt_tr has joined the channel [21:06] matjas has joined the channel [21:10] Draggor has joined the channel [21:12] Ari-Ugwu has joined the channel [21:14] arrty_ has joined the channel [21:16] mikew3c_ has joined the channel [21:16] pekim: nodejs dnode [21:18] genbit has left the channel [21:20] jakehow has joined the channel [21:21] fugoki_ has joined the channel [21:27] fugoki has joined the channel [21:27] technoweenie has joined the channel [21:28] wilmoore_ has joined the channel [21:34] technoweenie: ryah: i think the 3gb memory limit is a bug in our process watcher [21:35] technoweenie: not memory limit, 3gb memory usage [21:35] chapel: technoweenie: is there any promise of gist creation api? [21:35] technoweenie: chapel: no [21:35] technoweenie: not a hard promise, pinky swear [21:35] technoweenie: but yea it'll most likely happen :) [21:36] chapel: sucks, cause I would love to be able to make them using scripts [21:37] technoweenie: there are a few cli utilities for gist [21:37] technoweenie: and a chrome app [21:37] chapel: well Ill look into it [21:37] rwaldron: whats the chrome app? [21:37] rpflo has joined the channel [21:37] WakiMiko has joined the channel [21:38] technoweenie: https://chrome.google.com/webstore/detail/ppnkhbfageapcimnniepboocoaggcbbd# [21:38] mischief has joined the channel [21:38] rwaldron: slick [21:38] SvenDowideit_ has joined the channel [21:38] mjr_: technoweenie: did you figure our your memory leak issue? [21:38] springmeyer has joined the channel [21:39] technoweenie: mjr_: we think its a bug in our process watcher [21:39] mjr_: oh? How did downgrading node change that? [21:39] technoweenie: no clue [21:39] ceej has joined the channel [21:39] technoweenie: maybe something about the way child_process works? i really dont know [21:40] technoweenie: even if you took the memory of node and all its spawned child processes (for `git archive`) and multiplied by 100 you wouldnt be at 3gb [21:41] technoweenie: i also had `git archive | tee somepath` which dumped it to stdout, i changed it to `git archive > somepath` [21:41] ceej_ has joined the channel [21:42] technoweenie: so ChildProcess.spawn isnt seeing a ton of data go through stdout [21:42] technoweenie: i originally wanted to simultaneously stream the archive git data to the filesystem and the output web response, which is why i was using tee [21:43] ryah: technoweenie: what? [21:44] ryah: 3gb ? [21:44] technoweenie: what what [21:45] mjr_: computers are hard [21:45] technoweenie: [13:37:39] arch1.rs.github.com - nodeload-7003 [trigger] memory out of bounds [*2583117824kb, *2584002560kb] (MemoryUsage) [21:46] mjr_: If node really was using 3GB, that would be pretty surprising. [21:46] mjr_: Maybe not if you have a lot of very large buffers. But otherwise, 3GB is bad. [21:53] aurynn has joined the channel [21:55] meandi has joined the channel [21:58] vmthehut has joined the channel [21:59] isaacs has joined the channel [21:59] jesusabdullah: So, javascript has officially become my go-to language <_< [21:59] jesusabdullah: whups ;) [21:59] jesusabdullah: https://gist.github.com/752118 [22:00] jesusabdullah: Family's going on a cruise, Dad's all about the roulettes [22:01] stagas: jesusabdullah: lol there are patterns! [22:01] stagas: :) [22:02] dthompson has joined the channel [22:02] chapel: you know [22:02] c4milo has left the channel [22:02] chapel: I wonder why no one has made an html5 poker game [22:02] chapel: I think node.js and websockets would be good for it [22:02] tjholowaychuk: im sure they have [22:02] tjholowaychuk: that one pool game was awesome [22:02] jacoblyles has joined the channel [22:03] sepehr has joined the channel [22:03] stagas: chapel: I started one but was too lazy to continue when I got to the algorithms of deciding winning poker hands [22:03] jesusabdullah: I think part of it is that gambling isn't particularly interesting [22:03] chapel: heh yeah [22:03] jesusabdullah: Also, a lot of gambling computer game effort is put into completing the illusion of it being a physical system [22:04] stagas: there's a fairly new one that's pretty good though [22:04] jesusabdullah: Otherwise you're just mashing the random button on the computer ;) [22:04] jesusabdullah: I think poker is more interesting than roulette [22:05] jesusabdullah: I think it'd actually be pretty easy to make a roulette table interface on a computer, then use dnode or something to communicate bets, winnings, etc. to a node instance [22:05] jesusabdullah: Add accounts and paypal and you have a sketchy online casino business! [22:06] yozlet has joined the channel [22:06] jesusabdullah: Alright, computer power is almost gone [22:06] jesusabdullah: ACTION & D: [22:08] mischief has joined the channel [22:08] peritus_ has joined the channel [22:11] wilmoore has joined the channel [22:11] traviscline has joined the channel [22:12] traviscline: does anyone have information on the relationship with upstream libeio [22:13] traviscline: it doesn't seem like all the changes are making it back there, essentially making the version in node a fork [22:14] paulrobinson_ has joined the channel [22:15] arrty has joined the channel [22:18] pdelgallego has joined the channel [22:21] jsninja has joined the channel [22:22] desaiu has joined the channel [22:27] rpbertp13 has joined the channel [22:29] isaacs has joined the channel [22:29] jsninja has joined the channel [22:29] ossareh has joined the channel [22:31] c4milo has joined the channel [22:31] Me1000 has joined the channel [22:32] CIA-93: node: 03Ryan Dahl 07debugger * r3e83de9 10/ (lib/_debugger.js test/simple/test-debugger-client.js): Add more debugger tests - http://bit.ly/gB2CE1 [22:34] tjholowaychuk has joined the channel [22:36] mw has joined the channel [22:36] pt_tr has joined the channel [22:38] nooder has left the channel [22:39] siong1987 has joined the channel [22:41] CIA-93: node: 03Ryan Dahl 07debugger * r4ebbbd4 10/ (lib/_debugger.js test/simple/test-debugger-client.js): Debugger client emits ready after recving initial res - http://bit.ly/f2Mcm4 [22:45] sechrist: how do I get a list of files that are installed with node? [22:45] sechrist: looking through wscript for install_files doesn't seem to be everything [22:46] AAA_awright: It only seems to be about a dozen or so... make install will tell you [22:46] AAA_awright: Try it without sudo maybe? [22:46] sechrist: it just fails out without sudo [22:46] AAA_awright: I wonder if there's a pretend [22:46] sechrist: configure if I can set a prefix [22:46] sechrist: s/configure/wonder [22:46] AAA_awright: Yeah set PREFIX=. [22:50] sonnym has joined the channel [22:51] wilmoore has joined the channel [22:52] sechrist: ~/node/nodeinstall$ find . | wc -l [22:52] sechrist: 80 [22:52] sechrist: 80 files [22:53] skohorn has joined the channel [22:55] possibilities has joined the channel [22:55] namelessnotion_ has joined the channel [22:57] Twyndyllyngs has joined the channel [22:57] Twyndyllyngs has joined the channel [22:58] Twyndyllyngs has joined the channel [22:58] Twyndyllyngs has joined the channel [22:59] isaacs has joined the channel [23:00] sh1mmer has joined the channel [23:00] skohorn has joined the channel [23:05] robotarmy has joined the channel [23:07] jperras has joined the channel [23:09] zz_raja has joined the channel [23:13] vastak has joined the channel [23:14] sh1mmer: anyone know if dannycoates hangs out on IRC? [23:15] tjholowaychuk: not sure, for some reason i dont think so [23:15] tjholowaychuk: unless his nick is really different [23:16] vastak has joined the channel [23:16] sh1mmer: I'm trying to get the v8-profiler working [23:16] sh1mmer: the npm install doesn't work [23:17] tjholowaychuk: yeah messed up for me too both < 0.3.x and 0.3.x [23:17] sh1mmer: I'm on 0.3.3-pre [23:18] sh1mmer: and the latest github commit says fixing for 0.3.2-pre [23:18] sh1mmer: so I'm going to try and roll back to that with nave [23:19] tjholowaychuk: no luck for me, really wanted to check it out [23:20] dthompson has joined the channel [23:21] sh1mmer: yeah [23:22] sh1mmer: are you building on a mac? [23:22] sh1mmer: I might try on ubuntu and see how that goes [23:23] tjholowaychuk: yup [23:23] tjholowaychuk: 10.6.5 [23:24] [[zz]] has joined the channel [23:29] jashkenas has joined the channel [23:29] maqr has joined the channel [23:29] isaacs_ has joined the channel [23:34] tlrobinson has joined the channel [23:35] kenbolton has joined the channel [23:35] tlrobinson has joined the channel [23:37] dnolen has joined the channel [23:39] JusticeFries has joined the channel [23:40] stepheneb has joined the channel [23:41] sh1mmer: tjholowaychuk: have you had any luck with mape's node-profile on 3.x? [23:41] tjholowaychuk: sh1mmer: havent tried on 3.x [23:41] sh1mmer: ACTION tries on 2.x [23:42] arrty has joined the channel [23:43] tjholowaychuk: i remember it breaking a while back so I went back to using the boring non-colored tick processor [23:43] tjholowaychuk: but colors are nice :D [23:45] quirkey has joined the channel [23:45] siong1987 has joined the channel [23:53] jchris1 has joined the channel [23:53] blowery has joined the channel [23:55] mscdex: someone ought to rewrite phpvirtualbox to use node.js on the backend instead [23:55] mscdex: ;> [23:56] omygawshkenas has joined the channel