[00:00] AAA_awright: Why are we using eval? [00:00] Stephen: eval("(for(var k1=1e7,x1=0;k1>0;k1--) { x1++; };)"))(); [00:00] Stephen: What's the return for? [00:00] Stephen: Um, nevermind [00:00] ZedPepsi: AAA_awright: it would take a while to explain but it's related to some of my research in numerical analysis [00:01] ZedPepsi: <-- http://www.ma.hw.ac.uk/~loisel/ [00:01] Stephen: ZedPepsi: actually, I think the function noise is necessary now [00:01] Stephen: no way to pull the x1 value out otherwise [00:01] ZedPepsi: Stephen: I think so too! [00:02] Stephen: This has been highly educational [00:02] Stephen: Thanks for involving us ZedPepsi, this optimization will do wonders for my players later [00:02] ZedPepsi: Stephen: actually eval returns the last expression in the string but I'm worried that declaring vars inside the evals without introducing a closure will prevent optimization [00:02] ZedPepsi: Stephen: no thank you! [00:03] ZedPepsi: tip of the hat [00:03] AAA_awright: It shouldn't be necessary unless you're actually generating code code, in which case I would be using new Function("arg1", "arg2", "etc...", "return arg1*whatever;"); [00:03] ZedPepsi: and all that [00:03] Stephen: ACTION thinks "Note to self. tim_smart lives up to his name. Persue his suggestions first next time" [00:03] AAA_awright: er, code code? Just regular, plain old code [00:03] Stephen: AAA_awright: You're way late in the convo [00:03] Stephen: eval is necessary here [00:03] jsulak has joined the channel [00:03] ZedPepsi: AAA_awright: I am looking up the Function object, which I was not aware of [00:04] Stephen: We've offered him other versions, but he's doing code optimization [00:04] jamalzkhan has joined the channel [00:04] Stephen: ZedPepsi: Technically he's right. Functions can have a dynamic number of properties, made especially flexible via an array as the only parameter [00:05] tim_smart: ZedPepsi: Funny. The REPL is slower for me than the file [00:05] Stephen: But, I think we learned a lot [00:05] tim_smart: My code: var time = Date.now(); for (var k = 1e7, x = 0; k > 0; k--) { x++ }; console.log(Date.now() - time); [00:05] caolanm has joined the channel [00:05] __sorin__ has joined the channel [00:05] tim_smart: The file reports 90, where the REPL report 220 [00:06] ZedPepsi: tim_smart: the new code is much faster than the old code [00:06] ZedPepsi: tim_Smart: i also get these numbers [00:06] tim_smart: ZedPepsi: This is with no eval [00:06] ZedPepsi: AAA_awright: I just tried the Function object and it does not work for me because the Function object is unable to close over the environment of the caller, unlike eval(string) [00:06] ZedPepsi: tim_smart: I get 90 with eval [00:07] AAA_awright: ZedPepsi: That's what arguments are for [00:08] Stephen: var d1=new Date();eval("(function(){for(var k1=1e7,x1=0;k1>0;k1--) { x1++; }; return x1; })")();var d2 = new Date(); var d3 = d2.getTime()-d1.getTime();console.log(d3); [00:08] Stephen: That's my version [00:08] Stephen: and they report the same [00:08] Stephen: 68 [00:09] Stephen: ZedPepsi: You can enclose the context you are in using the Function.apply method [00:09] ZedPepsi: AAA_awright: that's not how this works. I don't want to go too much into the details, but the goal is to do metaprogramming much like LISP macros. My application is that I do z = eval(vectorize('x+y')). z, x, y are local variables (Arrays) to the caller. The vectorize function returns a string which is something like 'for(k=0;...) { z[k] = x[k]+y[x]; }' and the eval ensures that x,y,z are located in the local scope [00:10] ZedPepsi: Stephen: I don't see where you used function.apply in your snippet though [00:10] Stephen: In the end, AAA_awright, you are right, it's doable. However, looking at his current (finished) code, a rewrite like that would take much longer than what he has found here [00:10] Stephen: Oh, I didn't use it [00:10] Stephen: I was just pointing that out [00:11] ZedPepsi: Stephen, AAA_awright oh how would I do it with Function? [00:11] tim_smart: ZedPepsi: http://jsperf.com/module-vs-eval-vs-plain [00:11] fr0stbyte has joined the channel [00:12] tim_smart: You will need to use chrome for it to be relevant [00:12] tim_smart: eval add a tiny bit of overhead, but not much [00:12] tim_smart: *adds [00:12] Stephen: ZedPepsi: You'd have to move your string building function into a Function Factory [00:12] cagdas has joined the channel [00:12] ZedPepsi: tim_smart: I just saw that [00:12] ZedPepsi: Stephen: Can you elaborate? [00:13] Stephen: If javascript had custom operators your life would be much easier here, but that's not a feature I find too often [00:13] ZedPepsi: tim_smart: how can i modify the thing you posted? I see that you forgot to make x local to the eval [00:13] Stephen: ZedPepsi: Well, first off, do you understand what a factory function is? [00:14] Emmanuel__ has joined the channel [00:14] ZedPepsi: Stephen: nope [00:14] tim_smart: ZedPepsi: I declare x in the for loop [00:14] Stephen: Ok, In this case, we're talking a function which returns a function [00:14] AAA_awright: ZedPepsi: If the code is eval('(function () { for (var k = 1e7, x = 0; k > 0; k--) { x++ } })')() [00:14] AAA_awright: Probably: (new Function('for (var k = 1e7, x = 0; k > 0; k--) { x++ } }'))() [00:14] ZedPepsi: tim_smart: oh right. sorry [00:15] pibi_home has left the channel [00:15] ZedPepsi: AAA_awright: yeah that i understand but there's the environment capturing that I don't see how to do [00:15] Stephen: AAA_awright: Wow, new Function() vs eval is 50% faster [00:17] Stephen: ZedPepsi: It would appear that "new Function()" passes the same context as "eval() [00:17] Stephen: "just tested it [00:18] Stephen: At this point I see no performance gain though [00:18] Stephen: var d1=new Date();var x = new Function("var x1=0; for(var k1=1e7,x1=0;k1>0;k1--) { x1++; }; return x1;")();var d2 = new Date(); var d3 = d2.getTime()-d1.getTime();console.log(d3); [00:19] Stephen: That still gives me 68 [00:20] AAA_awright: Stephen: I'm not seeing much of a difference [00:20] Stephen: Your mileage may vary, but I think at this point the only overhead worth noting is the timing functions [00:21] Stephen: Though, technically new Function() is probably safer, seeing that you are using an array to populate the function, I see no safety issues [00:21] kriszyp has joined the channel [00:22] jamescarr__ has joined the channel [00:22] Stephen: AAA_awright: Today we have reduced a 10sec line of code down to ~.07 seconds [00:23] Stephen: Pimpology at its finest [00:23] ZedPepsi: Stephen, AAA_awright: I am not able to make Function() work [00:24] AAA_awright: ZedPepsi: I had an extra } in there, the example I gave it actually [00:24] ZedPepsi: Stephen, AAA_awright: Here is my evaly code: var step = 1; x=(eval("(function() { var k1=1e7,x1=0, s0 = step; for(;k1>0;k1--) { x1+=s0; }; return x1; })"))(); [00:24] AAA_awright: Probably: (new Function('for (var k = 1e7, x = 0; k > 0; k--) { x++ }'))() [00:24] ZedPepsi: Stephen, AAA_awright: Here is the Function code: var step = 1; x=(new Function("var k1=1e7,x1=0, s0 = step; for(;k1>0;k1--) { x1+=s0; }; return x1;")).apply(); [00:24] ZedPepsi: Stephen, AAA_awright: the error is that in the Function code, it cannot find the local variable step [00:24] Me1000 has joined the channel [00:25] AAA_awright: Do you need apply()? That binds this [00:25] ZedPepsi: AAA_awright: please clarify? [00:25] ZedPepsi: AAA_awright: you see how in the eval code it can find the step local variable? how do I get Function to do this? [00:25] AAA_awright: What's wrong with the plain old () operator? if you use call() or apply() it binds this to the first argument [00:26] AAA_awright: var step=1; x=(new Function("step", "var k1=1e7,x1=0, s0 = step; for(;k1>0;k1--) { x1+=s0; }; return x1;"))(step); [00:26] ZedPepsi: AAA_awright: i agree that this would solve it [00:26] ZedPepsi: AAA_awright: however that is not possible in my application [00:26] Stephen: ZedPepsi: You didn't declare "step" [00:26] ZedPepsi: AAA_awright: it needs to be able to automatically search the relevant scopes [00:26] Stephen: Ah [00:26] Stephen: Sorry, nm [00:26] Stephen: Got it [00:26] ZedPepsi: Stephen: right it captures it from the local scope [00:26] ZedPepsi: right [00:27] Stephen: ZedPepsi: Part of your problem was capturing the local scope [00:27] Stephen: the copy will slow things down [00:27] ZedPepsi: right [00:27] ethan__ has joined the channel [00:27] ZedPepsi: apparently it's not too bad [00:27] Stephen: I suggest adding it by adding to the string [00:27] Stephen: to take advantage of optimization [00:27] ZedPepsi: Stephen: no i am capturing arrays from the scope. i don't think they will be physically be copied [00:28] Stephen: cool, if you [00:28] ZedPepsi: pasting the array into the string will destroy performance [00:28] Stephen: 're still getting the same speed, then I'm glad I'm wrong [00:28] ZedPepsi: well it's not fully written yet but the toy examples seem to work [00:29] Stephen: I don't use eval much, but these whole shenanighans regarding eval performance have raised my blood pressure a few points [00:29] Stephen: Tell your business users they owe you a 12-pack [00:29] ZedPepsi: Stephen: haha [00:29] Stephen: And a cheese steak [00:30] ethan__: trying to install nodejs on debian squeeze. . . .got as far as make but I saw repeated messages and cancelled. . . http://pastie.org/1995676 was this the right move? [00:30] Stephen: ethan__: your build was running fine [00:30] eyesUnclouded has joined the channel [00:31] ethan__: what a dumbass ;-( will make run again? [00:31] Stephen: ethan__: I see no errors other than where you interuppted the build [00:31] Stephen: ethan__: was this make or config? [00:31] ethan__: make [00:32] Stephen: make -k [00:32] strmpnk has joined the channel [00:32] Stephen: make --keep-going [00:32] Stephen: it /might/ work [00:33] Stephen: I know the switch is there, but I've never used it [00:33] ethan__: thank you Stephen [00:33] niles|iPod has joined the channel [00:34] niles|iPod has joined the channel [00:34] themiddleman_itv has joined the channel [00:36] ethan__: Stephen: 'build' finished successfully (1m45.421s) [00:39] jmoyers: grubhub to the rescuuueeee [00:40] igl: hmm [00:40] jmoyers: ACTION nom nom nom [00:40] igl: http://jsperf.com/module-vs-eval-vs-plain [00:40] davidbanham has joined the channel [00:40] igl: Chrome 13.0.763 is weird [00:41] ZedPepsi: tim_smart: hey, i am getting a result which is different from what you posted on jsperf.com but i don't understand why. for some reason, the eval is 10x faster than the control code that i have. if you would take a quick look at http://pastebin.com/JMXFfA70, it would be much appreciated [00:41] ZedPepsi: tim_smart: I've made it very similar to your code but it's not in this perfjs framework [00:42] jaket has joined the channel [00:45] JianMeng has joined the channel [00:46] ezl: is there a javascript function for converting to/from Date.UTC objects to posixtime or strings? [00:47] SubStack: new Date().toString() [00:48] SubStack: new Date(dateString) [00:48] ezl: that sounds easy, will try [00:49] atmos has joined the channel [00:49] samsonjs has joined the channel [00:49] atmos: anyone using nvm/npm on 0.4.8? [00:49] ZedPepsi: wow i am getting 500MFLOPS which is not bad for a 2GHz laptop [00:49] strmpnk has joined the channel [00:49] ZedPepsi: in javascript [00:49] maushu has joined the channel [00:51] baudehlo has joined the channel [00:56] mandric has joined the channel [00:58] paul_k has joined the channel [00:59] tim_smart: ZedPepsi: Not sure. Lots of wierd things to take into account when running in a browser. [00:59] tim_smart: Like the DOM loading etc [00:59] ZedPepsi: tim_smart: here it is in html http://pastehtml.com/view/avicvu2ux.html [00:59] ZedPepsi: i have two repetitions [01:00] ZedPepsi: consistent timings [01:00] trotter has joined the channel [01:01] seivan has joined the channel [01:03] bartt1 has joined the channel [01:03] Druide_ has joined the channel [01:04] tim_smart: ZedPepsi: http://pastehtml.com/view/avidgo8zc.html [01:04] tim_smart: ZedPepsi: Probably some wierd browser scope issue [01:05] ZedPepsi: tim_smart: right so the one you said has also a "module" [01:05] tim_smart: The third one is just wrapped in a function, like a node module [01:05] ZedPepsi: tim_smart: the timings i get are 187/16/18/18 [01:05] ZedPepsi: tim_smart: so module or eval are both high performance is my conclusion? [01:06] ZedPepsi: 10x faster [01:06] tim_smart: This is a very limited use case, but sure [01:06] ZedPepsi: right [01:06] ZedPepsi: you just have to be careful with eval [01:07] ZedPepsi: thanks [01:07] mandric has joined the channel [01:07] ZedPepsi: tim_smart: it's weird though the perfjs link you had earlier was not like this, right? [01:09] skm has joined the channel [01:09] tim_smart: ZedPepsi: Yeah. Browser javascript performance had a lot of variables [01:09] tim_smart: has* [01:09] ZedPepsi: tim_smart: i think it might actually be faster than node.js javascript though [01:09] ZedPepsi: 16ms is very fast [01:09] perezd has joined the channel [01:10] ZedPepsi: is chrome v8 about the same version as node.js v8 [01:10] ZedPepsi: ? [01:10] Emmanuel__ has joined the channel [01:11] mundanity has joined the channel [01:12] abraham has joined the channel [01:15] k1ttty has joined the channel [01:16] ngs has joined the channel [01:16] avalanche123 has joined the channel [01:16] ezl: struggling with dates. i need to get Date.UTC(year,month,date,...) objects from strings that look like "YYYY-MM-dd HH:mm:SS" [01:16] ezl: instantiating Date objects with Date(year, month, day) doesn't give me the right type [01:17] mandric_ has joined the channel [01:18] bad_at_math has joined the channel [01:19] AAA_awright: ezl: Date.parse() [01:19] ezl: thanks [01:20] AAA_awright: Watch out for timezone [01:20] AAA_awright: I forget if that parses in local time or UTC [01:22] bencc has left the channel [01:22] abraxas has joined the channel [01:22] DelvarWorld: how to get out of a .forEach loop? [01:22] AAA_awright: How do you get out of a .forEach loop? [01:23] DelvarWorld: will break do it? [01:23] AAA_awright: You don't, and you use for(var i=...) instead [01:24] chjj: delvar: you cant break out of a .forEach [01:24] chjj: the only way to do it [01:24] chjj: would be to throw [01:24] chjj: and wrap in a try catch [01:24] chjj: but thats more work than its worth [01:24] chjj: not to mention hacky [01:24] AAA_awright: And probably not optimized well [01:25] chjj: yeah [01:25] chjj: too many things wrong with it [01:25] tilgovi_ has joined the channel [01:25] chjj: either use a regular for, or use your own helper foreach function [01:25] chjj: or underscore [01:25] chjj: etc [01:25] chjj: oh wait [01:25] chjj: underscore doesnt let you break [01:25] chjj: haha [01:25] jmoyers: used to :-( [01:25] chjj: cause it delegates to foreach [01:26] chjj: which isnt that much of an improvement actually, the underscore .each is bad [01:26] chjj: it uses a hasownproperty wrapper unconditionally [01:26] chjj: instead of delegating to Object.keys [01:26] AAA_awright: .forEach is a simplyifying function for those cases where you don't need something as complex as for()... By the time you need to break you've passed that point of simplicity [01:27] AAA_awright: In other words, please don't squash more things into anonymous functions than are necessary [01:27] chjj: honestly, i prefer to use regular javascript constructs over helper functions most of the time, even if they are more verbose [01:28] sugardave has joined the channel [01:29] neoesque has joined the channel [01:30] tim_smart: forEach is great id you need closure around your loop variables [01:30] tim_smart: *if [01:30] chjj: yeah [01:30] tim_smart: Other for loops ftw [01:30] chjj: i would definitely use it over a regular for then [01:30] tim_smart: *Otherwise [01:30] jerrysv has joined the channel [01:31] ZedPepsi: tim_smart: huzzah and hosanna! my new "recursive" eval is just as fast as boring code! [01:31] DelvarWorld: glad I could help work this out [01:31] jerrysv: hello! wondering if anyone has opinions about best-of-breed web scraping? [01:32] tonymilne has joined the channel [01:32] AvianFlu: regex or gtfo [01:32] AvianFlu: j/k [01:32] jmoyers: not sure what you mean by best-of-breed [01:32] tim_smart: jerrysv: If you care for speed at all, regex [01:32] jmoyers: but mikeal's spider [01:32] jmoyers: is good [01:32] mandric has joined the channel [01:33] tim_smart: Otherwise, crawling with jsdom and jquerys sounds like fun [01:33] jerrysv: tim_smart: normally i'd be in the speed camp, but in this case speed of development is more important (which feels odd to say) [01:33] jerrysv: tim_smart: k, sounds good, thanks [01:34] copongcopong has joined the channel [01:34] jerrysv: on that note, has anyone tried qwery in node? [01:34] MikhX has joined the channel [01:36] jamalzkhan has joined the channel [01:36] jmoyers: jerrysv no. but out of curiosity, why are you after qwery rather than jquery which seems to be working? i thought qwery's main draw was size [01:37] mykul has joined the channel [01:37] jerrysv: jmoyers: just curious, i like qwery, and all i need is a selector engine [01:37] chjj: oh, time for a shameless plug for my selector engine... [01:38] chjj: https://github.com/chjj/zest [01:38] jerrysv: ACTION falls for shameless plugs [01:41] dyer has joined the channel [01:41] dyer has joined the channel [01:43] rputikar has joined the channel [01:44] justinTNT: chjj: so does it plug in to jquery in place of sizzle? [01:46] ZedPepsi: ok thanks guys cya later [01:46] christophsturm has joined the channel [01:47] niles|iPod has joined the channel [01:47] tahu has joined the channel [01:49] dguttman_ has joined the channel [01:50] johnm1234 has joined the channel [01:50] mike5w3c has joined the channel [01:52] chjj: justinTNT: i dont see why i couldnt, i just put it out there, you can do whatever you want with it [01:53] random123: is Node actually a better performer than Apache in all benchmarks? [01:53] baoist has joined the channel [01:53] jmoyers: random123: every benchmark i've ever seen [01:54] jmoyers: by 100x [01:54] themiddleman has joined the channel [01:54] jmoyers: it all depends on what the context is, though [01:54] dyer_ has joined the channel [01:54] __sorin__ has joined the channel [01:55] mscdex: up to 1000x better in the cowbell benchmark [01:55] random123: Do you think server side JS will replace PHP? [01:55] random123: Soon? [01:55] mscdex: i think people are already beginning to replace it [01:55] jmoyers: uuh [01:55] mscdex: i know i am heh [01:56] jmoyers: hardly anything will be 'replaced' i would imagine -- legacy systems are likely to stay in the same tech stack unless there is a huge business reason to switch [01:56] jmoyers: for new projects, i'd use js [01:57] chjj: why is that such a topic? everything else is already irrelevant [01:57] jmoyers: haha [01:57] jmoyers: thats horse shit [01:57] jmoyers: but okay. [01:57] chjj: lol [01:57] jmoyers: plenty of ruby, java, php projects for years and years to come [01:57] dyer has joined the channel [01:57] dyer has joined the channel [01:58] jmoyers: php is a big steaming pile of crap, however [01:58] chjj: jmoyers: i have no doubt thats the case [01:58] random123: It would seem like Node.js will be very huge, I imagine the whole JS community like jQuery getting behind it [01:58] jmoyers: good momentum, good community [01:58] chjj: jquery is dom library [01:59] random123: And all those frameworks that are so popular [01:59] jmoyers: i think people are skiddish, still [01:59] random123: I don't think they know it exists [01:59] zeade has joined the channel [01:59] chjj: i think i scared a client away by potentially maybe suggesting nodejs as a platform [01:59] jmoyers: i doubt thats the problem [01:59] jmoyers: its topping hacker news, reddit, etc, almost every day [01:59] jmoyers: countless blogs [02:00] random123: Do you use Jade? [02:00] jmoyers: sure [02:01] random123: My biggest concern is I don't like templating engines [02:01] ChrisPartridge has joined the channel [02:01] jmoyers: random123 nobody is forcing that [02:02] jmoyers: i think i recall earlier that you were a php guy [02:02] langworthy has joined the channel [02:02] chjj: random123: i dont like highly abstracted templating engines, but theres not much of a way around using some kind of templating engine [02:02] jmoyers: php short tags is indeed a templating framework of sorts [02:02] copongcopong: cheap hosting which lamp stack is one of the hindrance for nodejs to succeed [02:02] random123: I like to have a server side language that just pushes the data into a buffer, and you can manipulate it like text in a linear fasion [02:03] random123: But the only way I can see to do that is, my storing it up in a var, like "buffer += ""; [02:03] random123: etc [02:03] random123: for each line [02:03] jmoyers: nah, thats not true [02:04] dnuke has joined the channel [02:04] random123: How can you just escape in and out of JavaScript to just write pure text that will be sent to the client [02:05] jmoyers: random123 uuuuh, you mean multi line string literals? [02:05] jhurliman has joined the channel [02:05] jmoyers: if you are talking about -- this encourages some wild and wooly shit that people don't like to see in js land [02:06] jmoyers: i'd wager most of us have embraced mvc -- split your view out into a seperate file [02:06] MrWarGames has joined the channel [02:06] z8000 has left the channel [02:07] random123: I am not a big fan of that, I like to think of the server side language as just manipulating HTML/CSS/inline JS [02:07] random123: Its like text manipulation, the templates don't work like that [02:07] jmoyers: thats not how it works in most real world situations [02:08] random123: I believe it is so [02:08] jmoyers: a big fat php file with the view mixed in with application logic is something people consider to be bad for maintainability [02:08] random123: I think many more people will use Node if its addressed [02:09] Skipants has joined the channel [02:09] chjj: jmoyers: using templates does not necessarily equal mvc [02:09] random123: I think its just a difference of opinion, I can read them just fine [02:09] jmoyers: oh sorry, mvvm also :P [02:10] chjj: i was using templates back before i had even heard of the term [02:10] jmoyers: or whatever other ridiculous pattern name [02:10] chjj: hm? [02:10] random123: In reality that is what is happening [02:11] random123: There is no reason to re-write in Jade how HTML is written [02:11] jmoyers: random123 then go forth and create the php of javascript server side [02:11] jmoyers: you don't have to do that.. [02:11] random123: HTML is a standard, it should just be wrote how it is [02:11] chjj: random123: use ejs or something [02:11] jmoyers: there are TONS of templates [02:11] random123: ejs is terrible [02:11] jmoyers: that use html in its vanilla form [02:11] tonymilne: random123: why the hate for ejs? [02:11] jamalzkhan has left the channel [02:11] tonymilne: random123: you know you can create some view helpers and do whatever it is you want with it!?! [02:12] tonymilne: E.g. <%- userAvatar(user) %> [02:12] tonymilne: renders my users image using either Facebook profile or gravatar. [02:12] chjj: random123: mustache? i dont know, im having trouble pricturing what you want [02:12] igl has joined the channel [02:12] random123: In PHP, there are two ways to send data directly to the buffer. 1) Anything outside of 2) By using the ECHO method very important. [02:13] chjj: if you can stand to alter markup at all for a template, its not a template, youre just talking about static html files at that point [02:13] jmoyers: random123 you are just describing php output buffering with ejs [02:13] jmoyers: do you know how trivial this would be to implement? [02:13] chjj: random123: that can be implemented in js in a few lines [02:14] jmoyers: it'd take you maybe 2-3 hours to get something reading a directory structure with .ejs files, evaluating it to a buffer and allowing you to do whatever you want with it [02:14] chjj: see: underscore, john resigs micro templates, etc [02:14] chjj: or ejs, which is what youre describing [02:14] jvduf has joined the channel [02:14] hunterloftis has joined the channel [02:15] hunterloftis: Best automatic docs generator? [02:15] copongcopong: anyone seen http://www.jspp.io/ ? [02:17] random123: Nope, EJS doesn't do it [02:18] chjj: "it"? [02:18] jmoyers: ACTION sees a wild troll has appeared. [02:18] chjj: i dont understand, why not write your own template engine if youre not comfortable with one? [02:19] chjj: then you can tailor it specifically to your needs, and theres never any frustration [02:19] random123: Because you can't get Node to do the paradigm correctly without modifying its source [02:19] chjj: lol [02:19] jmoyers: ACTION shakes head. [02:19] chjj: haha [02:19] chjj: good one [02:20] bbttxu has joined the channel [02:20] chjj: and as i expected, not much of an explanation to go along with that [02:20] brettgou_ has joined the channel [02:22] random123: What you need is a mode for Node.js where by default when you run a file, "node file.js" [02:22] random123: Everything by default gets added to a special buffer [02:22] random123: UNLESS [02:22] chjj: "everything"? [02:23] chjj: what do you mean by everything? [02:23] AvianFlu: you want php.js, it does everything you need [02:23] random123: You are within then you are running server-side JS in there, and you have a special function called "speak" for instance that adds to the buffer [02:23] random123: Its a all linear [02:23] random123: Then [02:24] rubydiamond has joined the channel [02:24] random123: instead of res.end() [02:24] random123: Theres a res.XXX [02:24] random123: that outputs the contents of the buffer [02:24] chjj: so you want...an output buffer? [02:25] random123: Yes, its important for web dev [02:25] random123: Because it actuality [02:25] chjj: im sorry, why do you say this cannot be implemented in node? [02:26] _jgr has joined the channel [02:26] random123: Node would have to be modified for it to behave like that [02:26] jmoyers: no, it wouldn't [02:26] random123: By default it doesn't output to a buffer [02:26] chjj: thats a good thing [02:26] jmoyers: random123 its called userland [02:26] chjj: ... [02:26] jmoyers: go forth and do [02:26] itissid: Is the author of simple auth here [02:26] chjj: i could implemented a buffer like this in maybe a couple of minutes [02:26] itissid: ? [02:26] itissid: Simple Oauth* [02:26] chjj: its absolutely trivial [02:27] niles|iPod has joined the channel [02:27] random123: Do it then [02:27] chjj: i dont see why youre complaining when you could accompish this in less than the time it took to have this conversation [02:27] indexzero has joined the channel [02:27] chjj: is that a bet? [02:27] random123: 1 second [02:28] jmoyers: my guess is.. .. roughly 14 years old [02:28] chjj: you realize, this is what ejs and numerous other template engines do, you can have embedded code, you can push output onto a buffer [02:29] truedat101 has joined the channel [02:29] __sorin__ has joined the channel [02:30] themiddleman has joined the channel [02:32] jslatts has joined the channel [02:36] Yuffster has joined the channel [02:36] pifantastic has joined the channel [02:36] themiddleman_ has joined the channel [02:37] sechrist has joined the channel [02:37] random123: Look, all I'm saying it having this optionally would fking help Node like you won't understand [02:37] random123: http://pastebin.com/3Pk3iuny [02:37] k1ttty has joined the channel [02:37] random123: Regardless of your personal feelings about it [02:38] chjj: personal feelings? [02:38] random123: Yes, its a proven paradigm for server side [02:38] random123: and 99% of people like it [02:38] random123: Thats why they use those tools [02:38] criswell has joined the channel [02:39] random123: Not the mandatory monolithic Jade that tries to make you write stardardized mark up differently [02:39] random123: its not monolithic but I mean [02:39] chjj: mandatory? [02:39] chjj: i dont use jade, i dont know that anywhere close to everyone does [02:40] pen has joined the channel [02:40] random123: Yes, or you can use some half assed short tag attempt by the same guy, or you can use some silly method to manipulate the DOM afterword [02:40] chjj: if youre using any kind of a templating engine, other than some kind of simple find & replace preprocessor, its going to be non-standard looking [02:41] random123: You are supposed to be manipulating text [02:41] random123: Before it gets sent over a web socket [02:41] chjj: now were talking about web sockets? [02:41] jmoyers: ACTION sighs [02:42] chjj: lol [02:42] random123: Technically I am right [02:42] chjj: random123: stop, jmoyers is going to overdose on facepalm [02:42] frodenius: random123㇀ you misunderstood what node is. node is not a templating runtime like PHP. it's for writing servers. servers do not necessarily work with text [02:43] chjj: random123: technically you are right about what?? [02:44] ChrisPartridge: this is gold, keep going [02:44] frodenius: if you want to make server side web-pages, stick to php [02:44] random123: Technically people are using web sockets [02:44] frodenius: no they are not [02:44] random123: http://en.wikipedia.org/wiki/WebSockets [02:44] galaxywatcher has joined the channel [02:44] galaxywatcher has joined the channel [02:44] random123: Yep [02:44] frodenius: technically they are using tcp sockets [02:44] random123: I am talking about Ajax if thats easier for you [02:44] jmoyers: ACTION repeats, a wild troll has APPEARED [02:45] frodenius: websockets is a protocol ON tcp [02:45] random123: No shit [02:45] ChrisPartridge: ajax != websockets [02:45] chjj: what the hell is going on here [02:45] jmoyers: come on dude [02:45] chjj: we went from talking about how templating engines buffer output, to talking about web sockets [02:46] random123: I don't want to use a templating system like weld for a small ajax request [02:46] chjj: what called for this change in subject? im still confused [02:46] random123: over a web socket [02:46] chjj: THEN [02:46] chjj: DONT [02:46] chjj: god [02:46] chjj: lol [02:46] ChrisPartridge: random123: try jade [02:46] chjj: rofl [02:46] ChrisPartridge: ACTION runs [02:46] frodenius: lol [02:46] random123: ;p [02:46] Lorentz: make a wrapper code around php [02:47] random123: Well, I am saying, it would be nice to handle those small requests without a OMG ROXORS BADASS full featured template engine [02:47] tim_smart: Heaps of people use HAML and Jade etc and somehow manage to be happy [02:47] tim_smart: They are pretty light engines [02:47] random123: I just want to embed a little server side JS ya know? [02:48] chjj: tim_smart: hes saying that all template engines for node are wrong, because theyre not php [02:48] chjj: dont mischaracterize his argument [02:48] tim_smart: chjj: Because PHP is SO the right way to do things [02:48] random123: Why the hell is Jade or HAML nessessary, there is a standard already, its called HTML, it works fine [02:48] frodenius: wtf [02:49] random123: To rewrite it different is silly [02:49] tim_smart: random123: ejs is html I think [02:49] chjj: i cant tell if this trolling is premeditated or not [02:49] random123: The solution is and a little function called "echo" [02:50] random123: Done, works with my brain [02:50] tim_smart: random123: http://embeddedjs.com/ [02:50] olalonde has joined the channel [02:50] Corren has joined the channel [02:50] tim_smart: Looks exactly like PHP to me [02:50] random123: tim_smart, we talked about EJS earlier [02:50] random123: It has major issues [02:50] jmoyers: ACTION almost had a troll goad him into writing php for nodejs [02:50] tim_smart: Apart from the PHP being javscript [02:50] frodenius: jmoyers㇀ has already been done [02:50] tim_smart: random123: What are the issues [02:50] frodenius: see node-ugly [02:51] jmoyers: thats not what i meant [02:51] jmoyers: theoretically, if he wasn't a troll, which for the record, im pretty sure he is [02:51] jmoyers: he's asking for exactly what apache does with php [02:52] whack has joined the channel [02:52] jmoyers: node-ugly is just a terrifying bridge to php [02:52] chjj: jmoyers: like i said, im still not sold on the idea that this trolling is premeditated [02:52] jmoyers: he's talking about an ejs driven interpreted file server [02:52] whack: Any of you use expressjs here? Is there no way to shutdown the server created with createServer? I checked the docs, no dice. [02:52] random123: jmoyers, YEP, except its not asynchronous, non-blocking, and uses the same client language (JS) is it [02:53] skm has joined the channel [02:53] tim_smart: whack: server.close() [02:53] copongcopong: random123: http://www.jspp.io/ [02:53] tim_smart: whack: It inherits from http.Server [02:53] chjj: whack: an express server inherits from nodes regular http server [02:53] chjj: yeah [02:53] chjj: that^ [02:53] whack: ahh, ok, I must've missed that [02:53] mikey_p: ACTION prepares for years of PHP newbs trying to understand node [02:53] jmoyers: haha [02:53] chjj: :( [02:53] jmoyers: you must STEEL YOURSELF lads [02:54] jmoyers: this onslaught will never end! [02:54] random123: That http://www.jspp.io/ looks very nice [02:54] mikey_p: I am so glad I'm getting out when I did, and I actually took the time to understand node [02:54] mikey_p: also, props to marak for getting me into nodeconf [02:54] whack: tim_smart, chjj: confirmed that worked. Thanks :) [02:54] jmoyers: so [02:55] jmoyers: since jspp appears to be the exact abomination you were referring to [02:55] mikey_p: Went to a meetup the other night, and another developer than just signed on with a huge PHP shop tried to tell me that node is just a fad, and not for serious stuff, and it won't catch on [02:55] jmoyers: perhaps you can move along [02:55] jmoyers: ;-) [02:55] random123: jmoyers I think the slaughter is over bro [02:55] chjj: mikey_p: thats hilarious [02:56] mikey_p: the best part was seeing all the other experienced PHP devs roll their eyes. They know. ;) [02:56] random123: Have fun with your templating engine while I write HTML and CSS [02:56] ChrisPartridge: LOL [02:56] random123: jade haml wtf [02:56] chjj: apparently, its impossible not to use jade with node [02:56] chjj: ... [02:56] mikey_p: or don't use those, and write html and css? [02:56] ChrisPartridge: in a few light years, you may understand random123 [02:56] tim_smart: This is what I have been playing with https://github.com/Tim-Smart/express-template [02:57] ebryn has joined the channel [02:57] gazumps has joined the channel [02:57] jmoyers: mikey_p was the meetup re: node? or just a general meetup [02:57] jmoyers: i wonder why people with that opinion even show up [02:58] mikey_p: it was actually a PHP meetup, it still makes up 90% of my work and pays the bills [02:58] jmoyers: yeah [02:58] jmoyers: i do php by day, also [02:58] nannto has joined the channel [02:58] ChrisPartridge: me too *cries* [02:58] jmoyers: haha [02:58] jmoyers: such is mango [02:59] chjj: yeah, i just got a client who wanted to use a php cms, and i was on the verge of slitting my wrists [02:59] chjj: i just cant...deal with php cms's [02:59] jmoyers: it can be alright [02:59] olalonde: :/ [02:59] chjj: they make me die inside [02:59] jmoyers: >= 5.3 [02:59] mikey_p: it has it's moments [02:59] jmoyers: $f = function(){} syntax makes things a little more tolerable [02:59] tonymilne: You know what would be good, is if node could buffer up output more like PHP. [03:00] tim_smart: tonymilne: You can buffer however you want in node... [03:00] itissid: hey I dont quite get everyauth. How do I make the actual requests to a GET/POST URI from the API? [03:00] chjj: jmoyers: i can deal with php, just not php cms' [03:00] mikey_p: i just love that with express I can to amazing things with very little code, yet there is no convention to override if I want to do something custom [03:01] tonymilne: tim_smart: ;) Yeah, i know. Was just having a laugh. Came back from lunch and nearly fell off my chair in shock. [03:01] jslatts: it would be good if node could be more synchronous and less asynchronous [03:01] xandrews has joined the channel [03:01] jslatts: so i can understand it. [03:01] chjj: hehe [03:01] AAA_awright: jslatts: That kinda defeats the whole point doesn't it? [03:01] chjj: you learn to love callbacks sir [03:01] AAA_awright: chjj: Which programs? [03:01] jslatts: AAA_awright: I just block everything with while (true) until the callback is back [03:02] jslatts: :) [03:02] jslatts: sorry, just reading through early convo with that guy [03:02] AAA_awright: I hope that's a joke [03:02] copongcopong: hehehe [03:02] chjj: it would be interesting if that actually worked [03:02] AAA_awright: A :p or a ;) would be nice right about now [03:02] jslatts: i did a :) [03:02] jslatts: just about 3 [03:02] AAA_awright: Mhm [03:02] jmoyers: im not sure i've even seen a decent cms [03:03] chjj: this ^ [03:03] copongcopong: he still have issues grasping the paradigm working with nodejs … and his only methapor is php at the moment [03:03] AAA_awright: jslatts: That's a correct assessment to make [03:03] AAA_awright: jslatts: Have you use Drupal? [03:03] tonymilne: PHP users are important just like Windows users. [03:03] jmoyers: maybe pyrocms? i was just looking around at the current lay of the land [03:03] jmoyers: in phpland [03:03] chjj: im scared to look at a CMS's code, its something you cant "unsee" [03:03] jmoyers: drupal is a software engineering trainwreck imo [03:03] jslatts: jslatts: no... i'm scrrd of CMS [03:03] jslatts: whups [03:03] jslatts: that was for AAA_awright [03:04] AAA_awright: So I'm actually designing a Content Management System [03:04] AAA_awright: And I think I'm doing it correctly [03:04] jslatts: AAA_awright: node-cms? [03:04] AAA_awright: No [03:04] AAA_awright: http://magnode.org/ [03:04] jslatts: not live? [03:05] AAA_awright: That website is self-hosting [03:05] AAA_awright: That's Magnode [03:05] AAA_awright: But, it's not in any usable state [03:05] jslatts: its not loading [03:05] AAA_awright: The reason you don't hear about it is because I'm not pushing it faster than it should go, I'm on the third rewrite right now [03:05] AAA_awright: hmm [03:05] jmoyers: its up [03:05] AAA_awright: It is for me but maybe there's weird DNS problems [03:05] jmoyers: plenty of 404's though :-) [03:06] AAA_awright: Just two pages I think [03:06] AAA_awright: So it works like this [03:06] jslatts: maybe my internets are clogged [03:06] AAA_awright: There's a data model called RDF [03:06] AAA_awright: Maybe you've heard of it, it's largely been a failure of computing and kept within acedemic study [03:07] chjj: hahaha [03:07] random123: jmoyers what do you use? That JSPP is not going to work for me after all [03:07] chjj: poor rdf [03:07] caolanm has joined the channel [03:07] AAA_awright: But at it's heart it's real simple [03:07] jmoyers: i dont use anything [03:07] AAA_awright: It makes statements about resources [03:07] jmoyers: im actually not a programmer [03:07] jmoyers: i just hang out here all day [03:07] stalled has joined the channel [03:07] random123: jmoyers are you serious? [03:07] chjj: lol [03:07] jslatts: and I am just a fan of jmoyers so I go where he goes [03:08] AAA_awright: So I can say, foaf:firstname "George" [03:08] Emmanuel__ has joined the channel [03:08] AAA_awright: I can also relate resources to each other [03:08] killfill has joined the channel [03:08] AAA_awright: father [03:09] random123: Well that jspp is sloppy, and then I have to figure out how to get nodemon to play with it as well as a few other issues [03:09] AAA_awright: And this is all stored in a database [03:09] AAA_awright: Right? [03:09] jslatts: k [03:09] AAA_awright: All resources are named with URIs [03:09] niles|iPod has joined the channel [03:09] jslatts: sounds restful [03:09] AAA_awright: It kinda is [03:10] AAA_awright: Well, it actually is, it doesn't quite use the entire HTTP vocabulary [03:10] AAA_awright: You can use any URI [03:10] AAA_awright: ISBN URNs,e tc [03:10] jmoyers: so, an actualy question [03:10] jmoyers: instead of fake one [03:10] jmoyers: what do people use for domain registration these days? any that aren't total crooks? [03:10] dipser has joined the channel [03:10] jslatts: namecheap works for me [03:10] AAA_awright: Here's the part that the RDF people are missing I think [03:11] AAA_awright: What happens if you ever dereferenced an RDF resource? [03:11] chjj: AAA_awright: i wish URIs in general were accepted for more things, like the @cite attribute in html [03:11] AAA_awright: The idea of RDF was you could dereference a URI, like an HTTP URL, to get more information about that resource [03:11] AAA_awright: chjj: That's exactly what this does [03:11] AAA_awright: When you request a resource [03:11] chjj: yeah, i know [03:11] AAA_awright: It actually embeds the RDF data that built that webpage, inside the webpage [03:11] chjj: thats good, im just saying, its a shame its not more widely used [03:12] admc has joined the channel [03:12] chjj: i want to be able to throw an isbn uri into a blockquote/@cite [03:12] AAA_awright: You can already do that with RDF [03:12] pifantastic has joined the channel [03:12] AAA_awright: And you can with this CMS [03:12] AAA_awright: Or at least, you will be able to [03:12] mike5w3c has joined the channel [03:13] AAA_awright: What you do is you design data templates that defines which data goes where, and when you request a webpage, it selects the correct combination of templates to apply to the resource you requested, and serves the result [03:13] mif86- has joined the channel [03:14] pifantastic has joined the channel [03:14] langworthy has joined the channel [03:14] chjj: aaa_wright: i understand, i wasnt disagreeing with you or anything, i was just saying, i wish uri's in general were used elsewhere [03:15] AAA_awright: chjj: You're exactly right about that [03:15] AAA_awright: That's what RDF does, it takes the concept of linking webpages, and applies it to data [03:15] sechrist has joined the channel [03:18] stephanepayrard_ has joined the channel [03:19] itissid: I will ask again any one has used every auth? [03:20] itissid: I am not able to quite understand how to make POST/GET requests to typical API's [03:20] itissid: After the configuration is done [03:21] Corren has joined the channel [03:22] jmoyers: itissid first time i've looked at it [03:22] jmoyers: but did you check out server.js? [03:23] jmoyers: in examples/ [03:23] brownies has joined the channel [03:23] jmoyers: i dont think its architected such that you're doing direct post/get [03:23] jmoyers: seems like its a middleware [03:23] itissid: jmoyers, So how do you actually make requests? [03:24] itissid: Say I have a URI to make POSTS request to after Oauth is complete [03:24] slaskis has joined the channel [03:25] jmoyers: oh -- presumably you have some cookies that identify you to the various services you've connted to, no? [03:25] itissid: jmoyers, Dint quite get you.. [03:25] itissid: jmoyers, http://dev.twitter.com/doc/get/statuses/public_timeline [03:25] itissid: Like this API [03:26] jmoyers: well [03:26] jmoyers: that doesn't require auth [03:26] jmoyers: but yes i understand what you're saying [03:26] jmoyers: sec [03:27] itissid: jmoyers, Well actually http://dev.twitter.com/pages/streaming_api_methods [03:27] itissid: Is what I am looking to use [03:29] skm has joined the channel [03:29] themiddleman has joined the channel [03:30] prettyrobots has joined the channel [03:35] ParadoxQuine has joined the channel [03:38] radicality has joined the channel [03:40] Corren has joined the channel [03:41] mischief has joined the channel [03:42] radicality1 has joined the channel [03:42] ditesh|cassini has joined the channel [03:44] tim_smart has joined the channel [03:44] SuMarDi has joined the channel [03:44] AvianFlu: itissid: try node-twitter [03:45] AvianFlu: it handles all the request stuff for you [03:46] AvianFlu: unless you want to build all that for your own sake [03:48] itissid: AvianFlu, I will try but I think i mught be on the cusp of it.. [03:48] itissid: might* [03:49] AvianFlu: the twitter API isn't rocket science, it won't be too hard for you :) [03:49] AvianFlu: I was just suggesting a time-saver if you were after the functionality alone [03:50] tim_smart has joined the channel [03:50] akshatj has joined the channel [03:50] itissid: AvianFlu, I have gotten the GEt part of OAuth to work just fine [03:50] itissid: Its the POST requests that are not signed properly I thnk [03:51] AvianFlu: actually, it's funny you say that [03:51] radicality has joined the channel [03:51] AvianFlu: because there's a bug in the twitter api that you need to escape for [03:52] AvianFlu: let me get you the code [03:53] itissid: We have lift off! [03:53] itissid: After a 1/2 day of debugging [03:53] rubydiamond has joined the channel [03:54] tonymilne: o.O i think i patched the same thing you faced itissid. [03:54] themiddleman has joined the channel [03:54] itissid: tonymilne, Patched? [03:54] itissid: What was that? [03:54] itissid: I did not do a patch [03:54] kriszyp has joined the channel [03:55] tonymilne: are you using oauth / _oauthservices.js [03:55] brimster has joined the channel [03:55] tonymilne: by Ciaran Jessup? [03:55] tonymilne: He had a @TODO: //TODO: Figure out how to use post params.... [03:55] itissid: tonymilne, I am using simple oauth [03:55] tonymilne: hmm, ok, maybe they are different. [03:56] tonymilne: the problem just sounded familiar. [03:56] itissid: The post requests were causing problems cause I was passing a URL encoded string instead of a JSON [03:56] itissid: The API was throwing a 401 error [04:00] opennix has joined the channel [04:00] pifantastic has joined the channel [04:00] Corren has joined the channel [04:01] opennix has left the channel [04:02] meso_ has joined the channel [04:03] sechrist has joined the channel [04:11] boehm has joined the channel [04:16] ezmobius has joined the channel [04:18] LowValueTarget has joined the channel [04:18] Corren has joined the channel [04:21] beawesomeinstead has joined the channel [04:23] quackslike has joined the channel [04:23] pamorf has joined the channel [04:24] DelvarWorld has left the channel [04:25] goatslacker has joined the channel [04:27] mike5w3c has joined the channel [04:29] slaskis has joined the channel [04:30] harth has joined the channel [04:31] langworthy has joined the channel [04:34] goatslacker has joined the channel [04:38] djazz has joined the channel [04:40] jslatts has joined the channel [04:46] strmpnk has joined the channel [04:49] stalled has joined the channel [04:50] sreeix has joined the channel [04:51] cagdas has joined the channel [04:55] addisonj has joined the channel [04:56] ChrisPartridge has joined the channel [04:59] descipher has joined the channel [05:03] ryanmcgrath has joined the channel [05:05] slaskis has joined the channel [05:06] bad_at_math has joined the channel [05:06] beriberikix has joined the channel [05:07] sreeix has joined the channel [05:10] slaskis has joined the channel [05:14] Viriix has left the channel [05:15] _rain has joined the channel [05:15] Skipants has joined the channel [05:16] SamuraiJack has joined the channel [05:16] mike5w3c has joined the channel [05:21] rain_ has joined the channel [05:23] Qbix1 has joined the channel [05:23] Qbix1: hey guys [05:23] Qbix1: can I make a toString method of an object [05:23] Qbix1: so that it can be converted to a string? [05:23] Qbix1: or no [05:24] tbranyen: Qbix1: like JSON stringify? [05:24] tonymilne: Qbix1: you mean so it's implicetly called when string concatenating? [05:24] pen has joined the channel [05:24] tonymilne: e.g. "this is my object's string representation: " + obj [05:24] tbranyen: oh you want valueOf [05:25] tbranyen: v8> "this is my obj representation: " + { valueOf: function() { return "9001"; } } [05:25] v8bot: tbranyen: "this is my obj representation: 9001" [05:26] robinhoode has joined the channel [05:27] AAA_awright: Woa [05:27] AAA_awright: Is that ECMAScript standard? [05:29] mraleph has joined the channel [05:34] superjudge has joined the channel [05:37] mynyml has joined the channel [05:38] Qbix1: I mean .toString() in java [05:38] kjeldahl has joined the channel [05:38] Qbix1: I want an object to be smart enough to make a string of itself [05:38] Qbix1: when used in a string context [05:39] Qbix1: aha, I can override toString() [05:41] pt_tr has joined the channel [05:42] tbranyen: AAA_awright: valueOf has been there as long as i can remember [05:43] tbranyen: Qbix1: or you can use valueOf like i just said... [05:46] beawesomeinstead has joined the channel [05:46] mraleph1 has joined the channel [05:48] Qbix1: oh, so toString and valueOf are same? [05:48] desdur has joined the channel [05:49] langworthy has joined the channel [05:49] Qbix1: js: typeof []; [05:49] gbot2: Qbix1: "object" [05:52] mike5w3c has joined the channel [05:53] mikeal has joined the channel [06:01] mscdex: v8: Array.isArray([]) [06:01] v8bot: mscdex: true [06:01] suresh has joined the channel [06:01] mscdex: js: Array.isArray([]) [06:01] gbot2: mscdex: true [06:01] mscdex: Qbix1: not the same [06:01] mscdex: Qbix1: see: http://stackoverflow.com/questions/2485632/valueof-vs-tostring-in-javascript [06:03] toadflax has joined the channel [06:03] toadflax has joined the channel [06:04] stephanepayrard_ has joined the channel [06:04] rstacruz has joined the channel [06:06] langworthy has joined the channel [06:08] sreeix has joined the channel [06:13] mike5w3c has joined the channel [06:13] mykul has joined the channel [06:15] mykul has joined the channel [06:16] Wa has joined the channel [06:16] dve has joined the channel [06:16] dexterous has joined the channel [06:17] thron7 has joined the channel [06:19] beawesomeinstead has joined the channel [06:19] beawesomeinstead has joined the channel [06:20] mikeal has joined the channel [06:25] skm has joined the channel [06:26] SeyZ has joined the channel [06:28] sveimac has joined the channel [06:28] jakeg has joined the channel [06:29] mehlah has joined the channel [06:30] dexterous has left the channel [06:36] admc has joined the channel [06:36] matjas has joined the channel [06:37] gausby has joined the channel [06:38] stagas_ has joined the channel [06:40] `3rdEden has joined the channel [06:41] Yoric has joined the channel [06:41] mraleph has joined the channel [06:41] Opaque has joined the channel [06:44] neshaug has joined the channel [06:48] asabil has joined the channel [06:49] mike5w3c has joined the channel [06:50] ph^ has joined the channel [06:52] bingomanatee has joined the channel [06:54] herbySk has joined the channel [06:55] SeyZ has joined the channel [06:55] simenbrekken has joined the channel [06:58] isaacs has joined the channel [06:58] sgimeno has joined the channel [06:59] FireFly|n900 has joined the channel [06:59] daglees has joined the channel [06:59] daglees has joined the channel [07:01] groom has joined the channel [07:01] qFox has joined the channel [07:04] Katip has joined the channel [07:05] brettgoulder has joined the channel [07:08] TomY has joined the channel [07:08] mAritz has joined the channel [07:10] Schmallon has joined the channel [07:10] fangel has joined the channel [07:10] jacter has joined the channel [07:14] jbpros has joined the channel [07:15] ditesh|cassini has joined the channel [07:15] Esteb has joined the channel [07:16] djcoin has joined the channel [07:17] suresh has joined the channel [07:19] mayfield has joined the channel [07:19] misaxi has joined the channel [07:21] aliem has joined the channel [07:24] tdegrunt has joined the channel [07:25] beawesomeinstead has joined the channel [07:27] SeyZ has joined the channel [07:33] amerine has joined the channel [07:34] [AD]Turbo has joined the channel [07:34] thalll has joined the channel [07:34] suresh has joined the channel [07:34] nephics has joined the channel [07:35] matjas has joined the channel [07:36] [AD]Turbo: hi there [07:38] hwinkel has joined the channel [07:39] asabil has joined the channel [07:41] robhawkes has joined the channel [07:42] Yoric has joined the channel [07:42] msucan has joined the channel [07:47] adrianmg has joined the channel [07:48] mikedeboer has joined the channel [07:50] tapan has joined the channel [07:54] gozala has joined the channel [07:54] blueadept has left the channel [07:54] jacobolus has joined the channel [07:55] tapan: are there any books or any detailed tutorials that i could refer to to get a better understanding of using node.js ? [07:57] _jgr: http://nodejs.org/docs/v0.4.8/api/all.html [07:58] framlin: http://www.nodebeginner.org/ [07:58] troessner has joined the channel [07:58] nephics has left the channel [07:58] blueadept has joined the channel [08:00] ph^ has joined the channel [08:00] meso_ has joined the channel [08:01] mscdex: tapan: http://nodebeginner.org/ http://nodetuts.com/ http://www.youtube.com/watch?v=jo_B4LTHi3I http://nodeguide.com/ http://howtonode.org/ [08:01] stonebranch has joined the channel [08:01] tapan: thanks for all the links :) [08:01] tapan: i'll look through them now [08:02] mraleph has joined the channel [08:02] asabil has joined the channel [08:04] misaxi: i am using mingw to build node [08:04] misaxi: but it tells that /usr/bin/env does not exist [08:04] misaxi: can anyone tell me what to do please? [08:06] m00p has joined the channel [08:10] bpierre has joined the channel [08:10] Katibe has joined the channel [08:11] yozgrahame has joined the channel [08:13] meso__ has joined the channel [08:13] johnm1234 has joined the channel [08:15] tapan has joined the channel [08:16] jeremyselier has joined the channel [08:18] AAA_awright has joined the channel [08:18] jetienne has joined the channel [08:19] tanepiper has joined the channel [08:21] eldios has joined the channel [08:21] dies_el has joined the channel [08:23] dk__ has joined the channel [08:26] loxo has joined the channel [08:26] meso_ has joined the channel [08:28] sriley has joined the channel [08:28] meso___ has joined the channel [08:28] Yoric has joined the channel [08:29] SubStack: heylookit http://71.198.76.38:8080/testling [08:30] SubStack: live demo of http://github.com/substack/testling [08:31] stagas: SubStack: ha nice! [08:31] k1ttty_ has joined the channel [08:32] [AD]Turbo: is Javascript strict mode (i.e. "use strict";) uspported in nodejs ? [08:32] markwubben has joined the channel [08:35] stagas: SubStack: a moment I thought it was server tests streamed to the browser :P [08:37] SubStack: nope, just node-style unit tests browser-side [08:38] bastilian has joined the channel [08:38] `3rdEden: testling is broken! [08:39] `3rdEden: Oh, it was just fcking slow :$ [08:39] stagas: SubStack: idea for a testify module :) [08:39] SubStack: yeah it's slow since my net is slow and the bundle isn't minified [08:40] ph^_ has joined the channel [08:40] `3rdEden: yeh browerify is quite big [08:40] dk__: any good convenience method collections for buffers? [08:40] jacter has joined the channel [08:41] ezmobius has joined the channel [08:43] suresh has joined the channel [08:43] pibi has joined the channel [08:44] SubStack: dk__: collections meaning what exactly? [08:44] SubStack: you want to concat a bunch of buffers together or parse them asynchronously as data comes in or... [08:46] dk__: just a bunch of general convenience methods [08:47] SubStack: that's not very specific! [08:48] gozala has joined the channel [08:51] hybsch has joined the channel [08:52] bzinger has joined the channel [08:53] gambooka has joined the channel [08:53] EyePulp has joined the channel [08:54] gambooka: can anyone help with a nodejs installation error? [08:54] viz has joined the channel [08:54] ExsysTech has joined the channel [08:55] mikl has joined the channel [08:55] lackac has joined the channel [08:56] darshan-mobile has joined the channel [08:59] olalonde: dk__: checkout underscore.js [08:59] Yoric has joined the channel [09:00] devaholic has joined the channel [09:01] ewdafa has joined the channel [09:02] devaholic: hey SubStack [09:02] devaholic: are you around? [09:02] easternbloc_ has joined the channel [09:03] pomodoro has joined the channel [09:03] suresh has joined the channel [09:03] SubStack: meow [09:03] devaholic: hey man [09:04] devaholic: seem to be having a problem with dnode [09:04] pomodoro has joined the channel [09:04] devaholic: app.use(require('browserify')({ require : 'dnode' })); [09:04] devaholic: i cant do this without getting an event listener error [09:05] SubStack: gist it [09:05] devaholic: might not be your fault at all... so sorry in advance [09:05] FireyFly|n900 has joined the channel [09:05] jaket has joined the channel [09:05] devaholic: lol [09:05] devaholic: one sec [09:06] devaholic: https://gist.github.com/1000211 [09:07] SubStack: and the error? [09:09] devaholic: i updated it [09:09] djazz has left the channel [09:10] olalonde: Can browserify execute