[00:00] Xano has joined the channel [00:00] hojberg has joined the channel [00:01] bogomips2__: there is a documentatin to use socket.io ? i search a method to send data at just one client.. i read of send... but the cliend id ? [00:02] jacter1 has joined the channel [00:02] __jgr has joined the channel [00:02] _jgr has joined the channel [00:05] rauchg: bogomips2__ docs are here https://github.com/LearnBoost/Socket.IO-node/tree/06 [00:05] bogomips2__: thanks [00:09] langworthy has joined the channel [00:09] bnoordhuis: coleGillespie: eventually - https://github.com/bnoordhuis/node-curl (work in progress) [00:10] coleGillespie: awesome checking it out now [00:10] coleGillespie: anything i can do to help? [00:10] coleGillespie: bnoordhuis: [00:11] __jgr has joined the channel [00:11] beejeebus has joined the channel [00:12] bnoordhuis: coleGillespie: it's pre-alpha now, quite unusable - but feel free to submit patches [00:13] simenbrekken has joined the channel [00:13] techwraith has joined the channel [00:13] Determinist has joined the channel [00:15] Determinist: nice topic. what does it mean? :P [00:15] beejeebus1 has joined the channel [00:16] xerox: start a revolution [00:19] beejeebus1: http://pastebin.com/L4KUNPVt <--- compile error on ubuntu natty, master branch [00:19] aaronblohowiak: beejeebus1: you are not compiling a stable version [00:19] hij1nx has joined the channel [00:20] aaronblohowiak: beejeebus1: use 0.4.8 [00:20] beejeebus1: aaronblohowiak: ok, so its not "unstable as in buggy" but "unstable as in it doesn't always compile" [00:20] beejeebus1: aaronblohowiak: no problem [00:20] aaronblohowiak: beejeebus1: ^.^ i do not know, but i wouldn't spend any time on it [00:21] aaronblohowiak: beejeebus1: ryah: may want to know that master doesn't compile on ubuntu natty. [00:21] beejeebus1: aaronblohowiak: i'm not much of a C++ hacker, but i'd be willing to help bring the error up to ./configure time, rather than during make [00:22] aaronblohowiak: beejeebus1: see if 0.4.8 compiles cleanly first [00:23] beejeebus1: aaronblohowiak: yep, it does. this is not about getting a working node.js for production, i'm all set there with 0.4.8 [00:23] aaronblohowiak: beejeebus1: ah, okie dokie. [00:28] xandrews has joined the channel [00:29] beejeebus1 has left the channel [00:30] bogomips2_ has joined the channel [00:30] abrookins has joined the channel [00:34] elpinguino has joined the channel [00:43] beejeebus has joined the channel [00:44] zouguo has joined the channel [00:45] CodyGray has joined the channel [00:45] CodyGray has left the channel [00:47] stagas has joined the channel [00:50] patrickarlt has joined the channel [00:55] kbni has joined the channel [00:58] jameshome has joined the channel [00:59] bluegene has joined the channel [01:00] rauchg has joined the channel [01:05] galaxywatcher has joined the channel [01:10] AndyDawson has joined the channel [01:11] tim_smart has joined the channel [01:11] zouguo has left the channel [01:12] sridharr has joined the channel [01:14] neoesque has joined the channel [01:14] methym has joined the channel [01:15] marcello3d has joined the channel [01:16] [[zz]] has joined the channel [01:16] okuryu has joined the channel [01:17] pandeiro has joined the channel [01:18] gavin_huang has joined the channel [01:20] marcello3d: is there a timeline for node .5/.6? [01:21] wonginator1221 has joined the channel [01:22] zouguo has joined the channel [01:23] CodyGray has joined the channel [01:24] CodyGray has left the channel [01:25] saschagehlich has joined the channel [01:25] qfinder has joined the channel [01:25] Skola has joined the channel [01:26] Intel_iX has joined the channel [01:26] Intel_iX: Can someone tell me what the difference between node-mongodb-native and node-mongodb is? [01:27] hybsch has left the channel [01:27] darshanshankar has joined the channel [01:31] marcello3d: Intel_iX: -native is more current, but neither are mongolian :) [01:32] NuckingFuts: marcello3d: Nor are they mongooses. [01:32] tuhoojabotti: I saw Pendulum close! [01:32] marcello3d: quite true [01:33] tuhoojabotti: broke my phone too! [01:33] marcello3d: D: [01:33] pandeiro has joined the channel [01:33] tuhoojabotti: I was at the first row and dropped it [01:33] marcello3d: good show [01:33] marcello3d: what kind of phone? [01:33] tuhoojabotti: indeed [01:34] tuhoojabotti: cheap-ish huawei u8800 (ideos 5x) [01:34] Intel_iX: Are there any mongoDB drivers that work just like the mongo shell? [01:34] bogomips2__ has joined the channel [01:34] marcello3d: ACTION remembers the day when the only problem with dropping your phone was that you had to pick it up again [01:34] tuhoojabotti: the glass is broken, I'm ircing with it now [01:34] Intel_iX: For node.js [01:34] marcello3d: intel: mongolian :) [01:35] MrNibbles has joined the channel [01:35] marcello3d: https://github.com/marcello3d/node-mongolian [01:35] tuhoojabotti: So it's not completely trashed [01:36] tuhoojabotti: But it was worth it, once a lifetime experience! [01:36] MrNibbles: anyone use CSSLint + Textmate? [01:36] marcello3d: :) [01:36] Intel_iX: Mongolian DeadBeef? [01:36] tuhoojabotti: It's 4 am and were driving back home [01:37] MrNibbles: i made a node based TM plugin that lints your css - https://github.com/MrNibbles/CSSLint.tmbundle [01:37] MrNibbles: if anyone fancies breaking it for me :D [01:37] tuhoojabotti: that's all [01:38] MrNibbles: its 2:40am here :( next door neighbours are having the loudest party on earth, and i am not in the mood to crash it [01:38] MrNibbles: so i wrote the linter :S [01:38] tuhoojabotti: lol [01:39] MrNibbles: tuhoojabotti: been anywhere exciting? [01:40] tuhoojabotti: No [01:41] tuhoojabotti: http://picplz.com/user/tuhoojabotti/pic/g3pkj/ picproof ;D [01:41] MrNibbles: i was referring to the once in a lifetime experience [01:41] MrNibbles: nicely lit girders there [01:41] tuhoojabotti: yeah [01:41] Intel_iX: Did I do something obviously wrong here?: http://pastebin.com/pSxrmg2k [01:42] tuhoojabotti: Now you know why my phone fell [01:42] tuhoojabotti: just joking [01:42] marcello3d: what is that a picture of? [01:43] marcello3d: Intel_iX: whate version of npm? [01:43] tuhoojabotti: Pendulum ;D [01:43] Intel_iX: not sure, fairly old though [01:43] marcello3d: what version of node? [01:43] MrNibbles: tuhoojabotti: nice [01:44] MrNibbles: tuhoojabotti: i want to see Skrillex :$ [01:44] Intel_iX: like 4.x, I reinstalled it about a week ago. [01:44] marcello3d: try updating your npm [01:44] tuhoojabotti: Now I'll never ever leave my computer anymore [01:44] marcello3d: would be my suggest [01:44] tuhoojabotti: again* [01:46] tuhoojabotti: unless a k-pop group comes to finland ;D [01:46] MrNibbles: k-pop? Kremlin-Pop? [01:47] tuhoojabotti: korean [01:47] MrNibbles: ah :P [01:47] tuhoojabotti: beats j-pop [01:48] squeese has joined the channel [01:48] Tobsn: hmm [01:48] Tobsn: 2011-06-17T16:38:34Z [01:48] Tobsn: what timezone could that be? [01:48] Tobsn: isnt Z a speicifc timezone if mentioned in a timestamp? [01:49] MrNibbles: Tobsn: http://en.wikipedia.org/wiki/ISO_8601 [01:49] MrNibbles: i dont think i should know timestamp formats off the top of my head, thats not healthy [01:49] Tobsn: http://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations [01:49] Tobsn: of course you should! [01:49] Tobsn: ;) [01:50] SubStack: iso8601 <3 [01:50] SubStack: best iso [01:50] Tobsn: yeah hmm [01:50] Tobsn: no timezone [01:51] tuhoojabotti: utc [01:51] Tobsn: you think? [01:51] jhurliman: this is more of a general javascript question, but if i have a base url (like http://mysite.com/some/path/page.html) and a relative url (../../another/path/page2.html) is there a handy function lying around that can spit out the combined url? [01:51] tuhoojabotti: Tobsn: according to m.wikipedia [01:51] Tobsn: now someone give me an example how to turn that timezone into time passed since that timestamp and local browser time [01:51] Tobsn: ;) [01:51] Tobsn: k tuhoojabotti, that helps actually a lot [01:51] tuhoojabotti: :D [01:51] Tobsn: now go code me that function hehe [01:52] tuhoojabotti: No [01:52] Tobsn: i already see soooo much headache ahead of me [01:52] tuhoojabotti: I'm on my broken phone [01:52] tuhoojabotti: with low battery [01:52] zouguo has joined the channel [01:52] tuhoojabotti: just.use Date [01:52] Tobsn: hehe [01:52] jhurliman: n/m, asked too quickly. node's url.resolve(from, to) to the rescue! [01:53] brimster has joined the channel [01:53] Tobsn: im gonna ask in #jquery i think they love shit like that [01:53] TroyMG has joined the channel [01:53] TroyMG has joined the channel [01:53] tuhoojabotti: use Date() [01:53] MrNibbles: Tobsn: date.js [01:53] MrNibbles: Tobsn: http://www.datejs.com/ [01:53] Tobsn: i have to turn local browser time into UTC and than substract it i guess [01:54] Tobsn: MrNibbles, ha... i think i used that before actually [01:54] MrNibbles: its bloody handy ;) [01:54] Tobsn: yeah def. [01:54] tuhoojabotti: I'm too tired to reply, and my legs are on fire [01:54] MrNibbles: tuhoojabotti: sign of a good gig ;) [01:55] jacter has joined the channel [01:55] tuhoojabotti: It's funny when they started olay [01:55] Tobsn: tuhoojabotti, dont worry you already helped a lot with UTC [01:55] NuckingFuts: CAn somebody make something like Mongo-Web-Admin, but in NodeJS? [01:55] MrNibbles: or perhaps too long in the car without a bathroom break [01:55] Tobsn: NuckingFuts, for what? [01:55] NuckingFuts: I cannot stand having to use Ruby for this shit. [01:55] tuhoojabotti: playing I didn't even notice my legs [01:55] Tobsn: use the console [01:55] NuckingFuts: Tobsn: I like the Mongo-Web-Admin because it's like console, but it has some useful additions [01:56] NuckingFuts: Mostly data display stuff [01:56] NuckingFuts: mongly.com [01:56] Tobsn: i work with mongodb as database [01:56] MrNibbles: mongols [01:56] Tobsn: no other database anymore [01:56] Tobsn: and i never used any admin [01:56] NuckingFuts: Tobsn: Same here [01:56] MrNibbles: ACTION is a mongol [01:57] tuhoojabotti: Nice view! [01:57] Tobsn: if you figure our how to use the console, its all you need [01:57] NuckingFuts: But I am quite fond of the "enhanced console" that Mongo-Web-Admin provides [01:57] tuhoojabotti: Too bad I'm too lazy to shoot it [01:57] NuckingFuts: Tobsn: I know the console well enough. It's just nice to have the enhancements it provides. [01:57] tuhoojabotti: g'night [01:58] Tobsn: n8 [01:58] MrNibbles: tuhoojabotti: nn [01:58] NuckingFuts: I'm still waiting for somebody to make a good web admin using SVG to represent data as diagrams [01:58] mscdex: .talk mongol [01:58] Calvin: mongol talk [01:59] Tobsn: hmm i actually think date.js is a bit bloated for what i need it [01:59] mscdex: Calvin: node.js rules [01:59] Calvin: nodejs and npm on mac than on rules [01:59] MrNibbles: Tobsn: i often find that, i seem to remember tearing bits out of it at some point [01:59] Tobsn: yeah [01:59] Tobsn: i mean just looking at .parse() [01:59] Tobsn: htats [02:00] Tobsn: .parse( 't + 5 d' ) => today + 5 days [02:00] Tobsn: but it also parse 15-Oct-2011 correctly [02:00] Tobsn: hehe [02:00] Sidnicious has joined the channel [02:00] Sidnicious has joined the channel [02:00] Tobsn: i dont even want to see the code that does that hehe [02:00] MrNibbles: haha [02:00] NuckingFuts: Tobsn: str.split('-') [02:00] NuckingFuts: lol [02:01] Tobsn: yeah, thats how it started [02:01] Tobsn: ;) [02:01] patcito has joined the channel [02:01] Sami_ZzZ has joined the channel [02:01] JustCute has joined the channel [02:02] NuckingFuts: ACTION grabs a seed from random.org [02:02] stonecobra has joined the channel [02:02] MrNibbles: well, thats now less random [02:02] MrNibbles: you told us where you got the seed value [02:02] MrNibbles: you could have just plucked a number out of the air before [02:03] MrNibbles: we wouldnt have known a single factor ;) [02:03] Tobsn: http://www.techrepublic.com/article/convert-the-local-time-to-another-time-zone-with-this-javascript/6016329 [02:03] Tobsn: there, thats all i needed :D [02:03] NuckingFuts: MrNibbles: I don't care much, random.org does pluck numbers out of the air ;) [02:03] bogomips2_ has joined the channel [02:03] NuckingFuts: Quite literally [02:03] NuckingFuts: It's based on RF [02:03] NuckingFuts: atmospheric noise [02:04] MrNibbles: NuckingFuts: thats pretty neat [02:04] Tobsn: why the hell would i use random.org?! [02:05] MrNibbles: Tobsn: some people highly value entropy [02:05] Tobsn: hmm [02:05] MrNibbles: fuck knows why :P [02:05] Tobsn: that goes a little bit too far i think [02:05] Tobsn: yeah [02:05] NuckingFuts: It's for salts [02:05] Tobsn: oh wait [02:05] Tobsn: youre using ruby [02:05] NuckingFuts: What? [02:05] Tobsn: okay, youre free to use that service [02:05] NuckingFuts: No [02:05] Tobsn: :P [02:05] MrNibbles: lulz [02:05] __sorin__ has joined the channel [02:05] NuckingFuts: FUCK NO YOU DO NOT ACCUSE ME OF USING RUBY [02:05] NuckingFuts: BITCH [02:05] NuckingFuts: Tobsn-- [02:05] v8bot: NuckingFuts has taken a beer from Tobsn. Tobsn now has -2 beers. [02:05] marcello3d: you use ruby? [02:06] marcello3d: hah! [02:06] Tobsn: hehe [02:06] marcello3d: I use jade [02:06] NuckingFuts: marcello3d: NEVER. [02:06] stonecobra: in node 0.4.1, var Script = process.binding('evals').Script worked. What is it now in 0.4.8? [02:06] NuckingFuts: That hideous piece of shit. [02:06] Tobsn: never? [02:06] NuckingFuts: Never would touch that damned thing. [02:06] MrNibbles: Negative 2 beers, you must be seriously sober [02:06] Tobsn: "NuckingFuts: I cannot stand having to use Ruby for this shit." [02:06] NuckingFuts: I won't even venture as close to Ruby as CoffeeScript [02:06] NuckingFuts: Tobsn: Mongo-Web-Admin is Ruby [02:06] Tobsn: so you are using ruby [02:07] NuckingFuts: But there's no good NodeJS admin UIs [02:07] Tobsn: damn hipster! [02:07] Tobsn: STONE HIM! [02:07] Tobsn: :P [02:07] NuckingFuts: Tobsn: Look who's talking! [02:07] Tobsn: youre just a ruby spy, trying to steal ideas [02:07] marcello3d: alright [02:07] NuckingFuts: At least I know how to handle timezones in JS :P [02:07] marcello3d: time to go hit the town [02:07] Tobsn: lol [02:07] Tobsn: touche [02:07] mapleman has joined the channel [02:07] MrNibbles: haha [02:07] NuckingFuts: I can do that in like 3 lines XD [02:07] Tobsn: i can do your mom in like 3 lines [02:07] NuckingFuts: Tobsn: My mom is 53. [02:08] NuckingFuts: And obese. [02:08] NuckingFuts: Go ahead. [02:08] NuckingFuts: If you're into that. [02:08] Tobsn: you say that now, but afterwards you'll feel pretty stupid [02:08] Tobsn: hehe [02:08] Determinist: i have a conceptual headache [02:09] Tobsn: i built something really cool [02:09] Determinist: yeah, me too, cept it doesn't work :D [02:09] Tobsn: but the javascript i used to built is looks terrible because its all fucked together somehow until it worked [02:09] Tobsn: and now i dont want to show it to anyone hehe [02:10] Determinist: what's with all the ruby bashing going around? [02:10] Tobsn: you use ruby? [02:10] Determinist: i do [02:10] Tobsn: STONE HIM! [02:10] Determinist: why tho? :P [02:10] Tobsn: hehe [02:10] Tobsn: just peronal thing [02:10] MrNibbles: ACTION gets the stones [02:10] Tobsn: *a [02:10] Determinist: oh, alright [02:11] MrNibbles: (i actually quite like some bits of Ruby) [02:11] Me1000 has joined the channel [02:11] NuckingFuts: Ruby < NodeJS [02:11] Determinist: MrNibbles: such as? [02:11] MrNibbles: ACTION stones himself [02:11] Tobsn: ill never understand that [02:11] NuckingFuts: We're the new hipster language. [02:11] Tobsn: why one would use ruby [02:11] NuckingFuts: So suckit. [02:11] NuckingFuts: Tobsn: It's the masochists. [02:11] Determinist: NuckingFuts: javascript < ruby, nodejs is just a runtime. [02:11] NuckingFuts: Determinist: I disagree, JavaScript forever. [02:11] NuckingFuts: Ruby is sloooooooooooooooooow. [02:12] Tobsn: like why would i start using a language that is slow from the start [02:12] NuckingFuts: ESPECIALLY compared to the V8 [02:12] NuckingFuts: But it's also slower than PHP [02:12] Determinist: NuckingFuts: compared to a screaming fast runtime like node it is, true. [02:12] NuckingFuts: Which is pathetic. [02:12] NuckingFuts: Plus the code is fucking ugly. [02:12] Determinist: ruyb ain't slower than php [02:12] NuckingFuts: Determinist: Actually, it is. [02:12] Tobsn: ruby is a lot slower than php [02:12] Determinist: unless you're talking about that bloatware rails [02:12] NuckingFuts: Every benchmark I've seen shows it's slower than PHP [02:12] NuckingFuts: Ruby 1.9 is slower than PHP 5.x [02:12] Tobsn: every benchmark i DID shows its slower hehe [02:13] Determinist: really? most benchmarks i've seen show the opposites [02:13] Tobsn: those are ruby lovers [02:13] Determinist: i've seen ruby 1.9 kick python 2.x's ass... [02:13] Tobsn: who dont know how to use php [02:13] NuckingFuts: Tobsn: Benchmarking Ruby implies you actually programmed some shit in Ruby. [02:13] Tobsn: :P [02:13] Tobsn: nope [02:13] Tobsn: coworker used to code ruby when we hired him [02:13] MrNibbles: Determinist: i seem to recall the way they did map was neat [02:13] NuckingFuts: Determinist: Only if you're an amazing programmer. [02:13] MrNibbles: there were a few things now [02:13] Tobsn: took me 6 month to get him to speed [02:14] MrNibbles: it was how map related to block functions [02:14] NuckingFuts: Ruby is great... If you're a 13-year-old trying to get into programming. [02:14] MrNibbles: but i cant quite remember why it was awesome [02:14] Determinist: lets be honest tho, guys... if you're building a web app and the difference in performance comes down to your choice of language, you're either: 1. a damned good programmer. 2. an idiot. [02:14] Tobsn: we hired him and his company, they tried to get their ruby code up to speed, didnt work out, we converted it to python and php. [02:14] NuckingFuts: Determinist: I call #1. [02:14] Tobsn: and i really tried everything [02:14] Determinist: the bottleneck is always the DB. [02:14] NuckingFuts: Tobsn: Ewwwww Python? [02:14] NuckingFuts: ACTION gags [02:15] NuckingFuts: Determinist: That's why NodeJS threads I/O for us. [02:15] foxkid has joined the channel [02:15] Tobsn: Determinist, im doing that since a long long time hehe [02:15] NuckingFuts: ALL GLORY TO THE HYPNORYAN [02:15] Tobsn: you can find my name in the lighttpd docs, php docs, mongodb docs [02:15] unlink has joined the channel [02:15] unlink has joined the channel [02:15] Determinist: you can find my name in my ID... [02:15] NuckingFuts: You can find my name in nothing :P [02:16] Tobsn: i know ruby is cool for little projects because its fast to develop but if you really run big stuff on it, its a pain in the ass [02:16] Determinist: regardless, i do like JS and Node, but i find it lacking in a lot of ways. [02:16] NuckingFuts: Because I have very little open-source shit I've worked on [02:16] Tobsn: but i dont doubt that changed within the last 3 years [02:16] NuckingFuts: Determinist: We lack the fluff that slowed down Ruby [02:16] NuckingFuts: Shit that makes it easier, but is hard to optimize automatically [02:17] NuckingFuts: I still do recommend Ruby as a language for 13-year-olds who wanna learn programming :P [02:17] NuckingFuts: Because of the work that _why did to make it really easy to learn. [02:17] Determinist: NuckingFuts: dude, encapsulation, proper package management, proper inheritance (and not that abomination called prototype based inheritance, which i've learned to get along with, but still hate). [02:17] mscdex: i thought that was what Logo was for? [02:17] mscdex: :-D [02:17] Determinist: NuckingFuts: these things are not ... fluff [02:17] Tobsn: hehe [02:17] Tobsn: didnt some guy wrote he would rather teach his kids GO instead of logo because it suchs so much as language [02:17] Tobsn: *sucks [02:18] mscdex: hey, you can do some nifty things with it [02:18] Determinist: logo? do people still remember that? [02:18] MrNibbles: ACTION doesnt [02:18] NuckingFuts: Determinist: (1) encapsulation? Explain. (2) NPM, beat that.(3) prototype-based inheritance isn't *that* bad. Hell, I've never had to bother much with inheritance, and when I HAVE, it's never caused me trouble. [02:18] Tobsn: at the university we learned java and (yes) erlang [02:18] Determinist: i was like... 10 the last time i've played with logo [02:18] Tobsn: thats 7 years ago [02:18] mscdex: i had a math game that played music and got an A+ after the teacher heard the music play [02:18] mscdex: :P [02:18] NuckingFuts: Tobsn: I'm 100% self-educated [02:18] Tobsn: and suddenly people started using erlang... i was like wtf? [02:19] Determinist: NuckingFuts: package management != npm, i'm talking about package management in the Java package sense, not in the rubygems sense. [02:19] NuckingFuts: Determinist: Java package? [02:19] NuckingFuts: lolwat? [02:19] Determinist: nm [02:19] Determinist: noob [02:19] Determinist: :P [02:19] Tobsn: i bet in 6 years someone wraps fortran with a new engine [02:19] mscdex: fortran.net [02:19] NuckingFuts: Determinist: Hold on, do you mean like the way you can zip up a Java app into a jar? [02:20] NuckingFuts: Because NPM can be used to autoinstall dependencies for Node applications. [02:20] NuckingFuts: It's not just for modules. [02:20] Determinist: NuckingFuts: no, i mean in the way you can prevent collisions, break your imports up and serve your code in a modular, platform agonistic way [02:20] NuckingFuts: Trust me, everyone here has been pounding that into my brain consistently for weeks. :S [02:20] Tobsn: java is nice, esp for webapps with JSP but ONLY IF you run it on a risc CPU solaris SUN machine [02:20] sudhirjonathan has joined the channel [02:20] Tobsn: ;) [02:20] MrNibbles: OMG the music next door has stopped!!!! i might actually be able to go to bed! [02:20] MrNibbles: a mere 3:20am [02:20] mscdex: Calvin: java is not nice [02:20] Calvin: java servers [02:20] mscdex: heh [02:21] Determinist: Tobsn: dude, java's more than nice. it's a pain to write stuff in sometimes and so i use high level stuff like node, but it's definitely a lot faster in most cases. [02:21] Tobsn: buddy of mine started coding java [02:21] Tobsn: out of nowhere [02:21] Tobsn: 4 month ago [02:21] Tobsn: to make android apps [02:21] Determinist: yeah [02:22] NuckingFuts: Determinist: Prevent collisions? Include your dependencies. platform-agnostic? They're working on a MinGW build. Until then, they've got Cygwin for windows. Native on *nix. [02:22] Determinist: gotta love it how everybody and their sister keep rushing to the current money-making platforms. [02:22] Tobsn: he is now down to the GPU process stuff... built an app like instagram that calculates the filters in real time 100 times per second over the GPU [02:22] Tobsn: that stuff is really impressive [02:22] Determinist: a month ago it was objc on iOS, 2 years ago it was C# and .net, now it's java and dalvik on android. [02:22] Tobsn: yeah [02:22] NuckingFuts: lol @ "a month ago" [02:22] Tobsn: i juse use titanium :P [02:22] Tobsn: cause im lazy [02:22] NuckingFuts: titanium? [02:22] amerine has joined the channel [02:22] Determinist: Tobsn: www.particlecode.com [02:23] Tobsn: actionscript + java? [02:23] Tobsn: lol [02:23] Tobsn: thats like vbasic + erlang [02:23] Tobsn: wtf? [02:23] NuckingFuts: I just do shit like JS and PHP, because I'm too lazy to deal with low-level bullshit. [02:23] NuckingFuts: Tobsn: AS3 + Java = vomit [02:23] Determinist: Tobsn: it's not aimed for you guys [02:23] Tobsn: nah def. not [02:23] Tobsn: why would you mix as with java?! [02:24] Determinist: i'm not? [02:24] Tobsn: i mean in general [02:24] Tobsn: why would someone use as mixed with java [02:24] Determinist: again, i'm not [02:24] Tobsn: only nice projects i saw was titanium and corona [02:24] Determinist: as3 is one source language, java's another and C# is yet another [02:24] Tobsn: for making cross platform mobile apps [02:24] NuckingFuts: Tobsn: Who the fuck said "HEY LETS SHOVE THE TWO UGLIEST LANGUAGES ON THE WEB TOGETHER" [02:24] Tobsn: well java is actually very pretty [02:24] Determinist: NuckingFuts: that would be me [02:25] Tobsn: because it defines a lot very specific [02:25] Tobsn: its just a pain in the ass to code it [02:25] Intel_iX: What's the most up-to-date node compress module for gzip atm? [02:25] Determinist: Tobsn: +1 [02:25] Tobsn: like i know how to code in it but i dont because its just soooo much pain [02:25] [[zz]] has joined the channel [02:25] Determinist: Tobsn: it has the performance, mature VM and with the upcoming JDKs even some dynamic features, but the strong statically typed nature of it makes it a pain [02:25] Tobsn: compare an app that does the same coded in lets say php to java... java will be 20 times more code [02:26] Tobsn: yeah, its really a pain, takes so much time, you cant make mistakes etc. [02:26] Tobsn: i saw it with my buddy [02:26] Determinist: Tobsn: ever had a nested type for declaring a variable that took 80 characters? :D [02:26] Tobsn: he has to handle memory, the raw memory, its nuts [02:26] Tobsn: hehe [02:26] NuckingFuts: Java is an ugly beast [02:27] Tobsn: im already doing some high level stuff php with reflections and abstracts and shit for the most simple shit... but java... holy crap. [02:27] Determinist: HashMap>> foo = new HashMap>>(); :D [02:27] NuckingFuts: It's like a pregnant woman times 10 :S [02:27] caiges has joined the channel [02:27] NuckingFuts: Only thing worse than it is Obj-C. and that's more because of the fucking Syntax [02:27] Tobsn: hehe you really never actually used them nuckingfuts [02:27] Tobsn: obj-c is actually pretty damn nice [02:28] Tobsn: esp for mac with xcode [02:28] Determinist: Tobsn: dude, php needs to die. it's a fucking abomination and it's good at nothing in particular. it has a very moderate learning curve and it pretty much copies everything around it, but it's just fucking disgusting at this point. [02:28] Tobsn: its like java but with less pain [02:28] NuckingFuts: Tobsn: I've read through plenty of Obj-C [02:28] NuckingFuts: But it's hideous. [02:28] Determinist: Tobsn: C++ > ObjC [02:28] NuckingFuts: The square-bracket shit is horrifying. [02:28] Determinist: yeah, i agree [02:28] Tobsn: yeah of course cpp is above all, but obj-c is not partically bad [02:28] NuckingFuts: And I hear the array functions are a pain [02:28] NuckingFuts: Tobsn: Oh, it sounds great [02:28] Determinist: the frameworks are lovely, but the language itself, ughh [02:28] NuckingFuts: But I can't stand the syntax [02:28] Tobsn: hehe [02:29] NuckingFuts: It gives me headaches [02:29] NuckingFuts: brb laundering [02:29] AvianFlu: x86 ASM OR GTFO [02:29] Determinist: :D [02:29] Determinist: C FTW [02:29] Tobsn: btw. same buddy who got into java looked at scala and said its nice, so i looked into it and scala is actually worth a try [02:29] Determinist: Tobsn: fugly. [02:29] Tobsn: first ever language i learned was basic, second was TCL [02:30] Tobsn: i coded a couple irc bot plugins in tcl [02:30] Tobsn: was fun. [02:30] Determinist: Tobsn: eggbot [02:30] Tobsn: yep [02:30] Determinist: those were the days [02:30] Tobsn: hehe [02:30] Determinist: eggdrop? [02:30] Determinist: wtf [02:30] Tobsn: i coded the first version of the #uptime channel bot for ircnet [02:30] Determinist: i can't remember the name [02:30] Tobsn: yeah something like that [02:30] Tobsn: that was in 1998 or so [02:30] Determinist: yeah [02:31] Determinist: sounds about right [02:31] Tobsn: a year later everyone just used psybnc [02:31] Tobsn: funny side story, i know psychoid [02:31] Determinist: before everybody and their sister started doing disgusting shit like MySpace and Facebook [02:31] Determinist: IRC was/is pure [02:31] Tobsn: and my old nickname is actually in the stacheldraht code [02:31] Tobsn: oh yeah, long before [02:31] Tobsn: and than came quakenet and it got mainstream [02:31] Determinist: oi [02:32] Tobsn: i still dont know why [02:32] Tobsn: but i think they put a irc client into that one app [02:32] Tobsn: erm [02:32] Determinist: dude, do you remember the dalnet days and mIRC scripting? seems like everybody i knew was into that shit back then [02:32] Tobsn: actionspy [02:32] Tobsn: gamespy? [02:32] Tobsn: yep gamespy [02:32] __sorin__ has joined the channel [02:32] Tobsn: hehe yeah, we took over tons of channels [02:32] Tobsn: i was in not one, two hacker groups [02:32] Tobsn: TCL and GCF [02:32] Tobsn: the cool lamas and german computer freaks [02:32] Determinist: ACTION goes misty eyed [02:32] Tobsn: hehe [02:32] Tobsn: so lame. [02:33] Determinist: i fucking hate the web these days [02:33] Tobsn: i was op in the biggest warez channel on ircnet, man das was funny [02:33] Determinist: social networking, social gaming, social-yo-mamma [02:33] Tobsn: yeah [02:33] Determinist: and a couple of years ago it was all about widgets [02:34] Determinist: and fuck knows what lame ass crap we'll have in a couple of years [02:34] Tobsn: back in the day we hung out in #ircfreaks with all the network ops and some of the linux freaks who now control the web hehe. [02:34] Determinist: hehe [02:34] Determinist: yeah [02:34] Tobsn: its really crazy were they all went [02:34] Determinist: and then the greedy lamers came in and made the web what it is today. [02:34] Tobsn: oh it sure will get worse [02:35] Determinist: yeah, i wonder what's next after everybody gets tired growing cows and poking each other on facebook. [02:35] Determinist: did you ever catch that movie "The Social Network"? [02:35] Me1000 has joined the channel [02:35] Tobsn: oh thats pretty easy [02:35] Tobsn: all media spanning social games [02:35] Tobsn: imagine farmville but like secondlive and on every device [02:35] Corren has joined the channel [02:35] Determinist: all the hardcore php hacking scenes of mark "the genious" zuckerberg [02:36] Tobsn: kinda like facebook meets second life [02:36] Determinist: made me laugh [02:36] Tobsn: zuckerberg is actually a nice guy, but the whole hype is retarded [02:36] Tobsn: when that started and everyone went apeshit somewhen in 2009 i just told them "remember myspace?" [02:36] Tobsn: hehe [02:36] febits has joined the channel [02:36] AvianFlu: any time a company is valued at 48 times its annual revenue, somebody somewhere got overenthusiastic [02:36] Tobsn: oh yeah, that too [02:37] Tobsn: that shit is nuts [02:37] Determinist: dude, bill gates is also a nice guy and he made technology go into the "midevil" times thoughout the late 90s and early 2000's. nice means nothing. [02:37] Tobsn: look at facebook [02:37] Tobsn: they make 100-200 million in profit the last 3 years [02:37] Tobsn: and are valued at like 50 billion [02:37] Tobsn: how is that even possible? [02:37] AvianFlu: that's what I'm saying Tobsn [02:37] AvianFlu: it's the data they hold [02:37] Determinist: i guess. [02:37] Tobsn: like how in the world is facebook worth more than groupon [02:37] Determinist: that's worth billions [02:37] Tobsn: those fuckers make the same money every other month [02:38] Determinist: they know my dead grandmas underwear size at this point... [02:38] AvianFlu: we should start a facebook fake data campaign [02:38] AvianFlu: like, everybody say they're from timbuktu [02:38] Tobsn: hehe [02:38] AvianFlu: and only listen to miley cyrus [02:38] Tobsn: my data is wrong right now [02:38] JakeyChan has joined the channel [02:38] Tobsn: wrong birthday, wrong living address [02:38] AvianFlu: and only read dr. seuss [02:38] Determinist: and watch midget porn [02:38] Tobsn: hehe [02:38] JakeyChan: how to get OS version and type ? [02:38] JakeyChan: with node.js [02:39] Tobsn: the crazy thing about FB is that everyone is using it... my mom stalks me on FB [02:39] Tobsn: i mean... wtf. [02:39] Tobsn: she posts pictures daily on fb [02:39] Determinist: woah, can you imagine what kind of stock price hikes the midget porn industry would see if Wall Street got a hold of that data? :D [02:39] Tobsn: and talks to her coworkers from her hospital [02:39] Tobsn: like i post "man this day sucks..." and 10 minutes later my mom calls me [02:39] Tobsn: shits not funny anymore. [02:39] Determinist: Tobsn: it made the web accessible to noobs. it's not hard to understand. [02:40] Tobsn: yeah but myspace did that too [02:40] Tobsn: and you didnt see your mom on myspace [02:40] Tobsn: esp what i dont like is the name of the site [02:40] AvianFlu: myspace had a lot more in the way of whores and xss [02:40] Tobsn: its "facebook"... [02:40] Determinist: Tobsn: yeah, but there's a bigger chance of you ending up watching some guy's balls on myspace than on FB [02:40] Tobsn: yeah but who started that? [02:41] maushu has joined the channel [02:41] Tobsn: like im still in the mode of "its the internet get used to it" [02:41] AvianFlu: totally that guy Tom [02:41] Determinist: Tobsn: some dude who figured his balls look pretty? [02:41] Tobsn: i had people ban me on facebook for making sarcastic comments - you know why? "cause my mom reads my feed" [02:41] Tobsn: wtf [02:41] Determinist: yeah, it happens. [02:41] Tobsn: Determinist, nah i mean who started this facebook is clean attitude [02:41] Determinist: when mom went into the picture, everything had to get a lot cleaner [02:42] Tobsn: oh and what i hate the most, all those midaged american wifes posting bible quotes on FB [02:42] Tobsn: wtf? [02:42] Tobsn: i started replying quotes from the koran a couple month ago [02:42] coleGillespie has joined the channel [02:42] AvianFlu: Tobsn: many of those are actually bots [02:42] Determinist: i mean, moms are like self-regulating entities. you wouldn't behave like a jerk in front of yours, and suddently everybody's moms are online [02:42] Tobsn: half of them unfriended me after they found out its the koran, the other half still thinks im quoting the bible too because tehy dont know the difference [02:42] coleGillespie has left the channel [02:42] giby has joined the channel [02:42] Determinist: ACTION grins [02:42] Tobsn: AvianFlu, nah i know them personally [02:43] cindy has joined the channel [02:43] AvianFlu: Tobsn: I'm sorry [02:43] Tobsn: hehe [02:43] Tobsn: the best is if i post something about coding and my mom replys on my status with "?" - thats all - just "?" [02:43] Determinist: anyways, the point is, since FB is "iPadizing" the web for people and Facebook is like the #1 homepage out there, most people will view the web through FB's prism. this is why google is scared shitless at this point and why FB's valuation has nothing to do with their revenue. [02:44] cindy: hello room! [02:44] Tobsn: yeah true [02:44] Determinist: cindy: howdy [02:44] AvianFlu: like I said, fake data campaign [02:44] Tobsn: hehe [02:44] cindy: hi determinist! hru! [02:44] AvianFlu: gotta kick 'em in the shins while we can still reach their shins [02:44] Determinist: and i repeat, midget porn ftw. [02:44] Tobsn: oh i loved to read that FBs numbers are going down now [02:45] Tobsn: you guys saw that? market is saturated, they lose users in the hundred thousands a day [02:45] Determinist: AvianFlu: dude, their shins are padded with dollar bills [02:45] NuckingFuts: Tobsn: Actually [02:45] NuckingFuts: That data was later found false [02:45] Tobsn: really? [02:45] NuckingFuts: That data excluded their mobile hits [02:45] NuckingFuts: Since ads don't show up there [02:45] isaacs has joined the channel [02:45] Tobsn: oh they made that up from ads? [02:45] NuckingFuts: And their mobile use is up quite a lot [02:46] Determinist: regardless, they will start losing users at some point. it's inevitable unless humans find a new intelligent civilization on mars [02:46] Tobsn: i thought thats from FB itself [02:46] NuckingFuts: Tobsn: The info was released by FB [02:46] Tobsn: i see [02:46] NuckingFuts: FOR ADVERTISZER [02:46] NuckingFuts: That's the catch [02:46] Tobsn: ah [02:46] Tobsn: damnit [02:46] NuckingFuts: They didn't intend for it to end up public [02:46] Tobsn: i dont want them to hit 1 billion users [02:46] Tobsn: that would be just disgusting [02:46] Determinist: no shit [02:46] Determinist: it'll happen tho [02:46] Tobsn: you think? [02:46] Determinist: yeah [02:46] Tobsn: how much is the pop on earth right now? [02:47] Determinist: 7+? [02:47] Tobsn: 7. something billion? [02:47] Tobsn: yeah i guess [02:47] NuckingFuts: Tobsn: Apparently they still have somewhere around 70% of the US population visiting EVERY DAY [02:47] Tobsn: thats crazy [02:47] Determinist: it is [02:47] NuckingFuts: And their mobile usage is up 30% or so from last month [02:47] Determinist: and that leads to that crazy valuation, again. [02:47] NuckingFuts: That's normal for their sumers though [02:47] Tobsn: well, im happy i go into that market again [02:47] NuckingFuts: When summer hits, all the students are out and on their smartphones [02:47] Tobsn: i started doing facebook apps late 2008 [02:47] Tobsn: and we had an overnight hit [02:48] Tobsn: 40 million installs within 3 month [02:48] Determinist: if google has crazy control over search, FB has crazy control over EVERYTHING for every mom and pops out there [02:48] NuckingFuts: Tobsn: Do you do Android apps? [02:48] Tobsn: after that hte app died out pretty quickly but we managed to make 20k+ a day in profit for a couple month [02:48] Tobsn: NuckingFuts, nah [02:48] NuckingFuts: Damn [02:48] Determinist: Tobsn: what app was that? [02:48] NuckingFuts: Because I'm doing a site which is gonna need an Android app later one :P [02:48] Tobsn: you ever saw socialbots? like marriagebot, friendbot, etc. [02:48] Determinist: Tobsn: and yeah, that was easy during the wild wild west days of the platform [02:48] NuckingFuts: We've got an iPhone app developers. [02:49] Tobsn: yeah we actually owned the company that ran all the social banner ads [02:49] Tobsn: generating 80 million in profit within 9 month [02:49] NuckingFuts: Tobsn: Damn [02:49] Determinist: Tobsn: and then the Zyngas and Play* companies took over [02:49] NuckingFuts: lolZynga [02:49] Tobsn: than facebook shut them down because their CEO was an idiot telling the head of facebook to go fuck himself [02:49] Tobsn: exactly [02:49] Tobsn: right after zynga got HUGE [02:49] Determinist: the fact that Zynga exists annoys me all by itself. [02:50] NuckingFuts: Tobsn: Mike Zuckerberg is a pretty huge prick :/ [02:50] Tobsn: mark ;) [02:50] NuckingFuts: Whatever [02:50] Tobsn: hehe [02:50] Tobsn: sugarhill [02:50] Tobsn: yeah hes kinda a prick but nice to talk to [02:50] NuckingFuts: Tobsn: Still a prick either way :P [02:50] Determinist: who fucking cares about mark zuckerberg tho? he's just a geek who knows PHP, fucking hooray [02:50] Tobsn: hehe [02:50] NuckingFuts: Determinist: And he knows how to wget :P [02:50] Tobsn: well he got it started... i just dont like how they present him, as this genius [02:51] Determinist: i hate it how every successful fucker who ends up with an idea that hits off suddenly becomes a "genius" [02:51] Tobsn: he just put something on the web people actually liked because they wanted to do "something cool" [02:51] NuckingFuts: I did like The Social Network, it was a cool movie. Just not all that accurate. [02:51] Tobsn: its not like he had this masterplan of making something crazy addictiv [02:51] Tobsn: that just happened [02:51] Determinist: yeah [02:51] Determinist: could have gone the other way [02:51] Determinist: and nobody would have heard about him [02:51] Tobsn: exactly [02:51] Tobsn: look at all the other stuff [02:51] NuckingFuts: If anyone was a genius, it was the fucker who wrote the algorithm on the window :P [02:51] Determinist: but nooo, he's a "genius" [02:52] Tobsn: yeah [02:52] Determinist: dude, algorithm my ass [02:52] NuckingFuts: And Facebook has a horrible backend. [02:52] NuckingFuts: The frontend is fucking AMAZING. [02:52] Determinist: they use PHP for the love of god [02:52] Tobsn: like larry page and the other guy, those fuckers are actually smart [02:52] NuckingFuts: Their frontend devs are INCREDIBLE. [02:52] Tobsn: they are hardcore nerds but they are actually smart fuckes [02:52] Determinist: actually, their JS code is kinda ugly [02:52] NuckingFuts: But the backend developers? They're hideous/ [02:52] Tobsn: hehe [02:52] NuckingFuts: Determinist: beauty isn't everything [02:53] Determinist: beauty is everything [02:53] Determinist: elegance is everything [02:53] NuckingFuts: Not at all [02:53] Determinist: money is nothing [02:53] Tobsn: i think all guys in specific positions are actually smart as shit [02:53] Determinist: we're not fucking cows [02:53] NuckingFuts: Elegance doesn't mean shit. [02:53] Tobsn: try to handle a couple million requests a second and stay sane ;) [02:53] NuckingFuts: I mean, it means very little [02:53] Determinist: and we don't have 1 litre of brain matter to be doing social networks [02:53] Tobsn: when we had that social ad company, their office was close to the first big datacenter of facebook [02:53] Tobsn: they said they have 2 guys for the databases [02:53] Tobsn: for all database servers [02:54] Tobsn: they were switching nightshifts every day [02:54] NuckingFuts: I'm hoping to code a social network in 2 months :P [02:54] Tobsn: oh and they told me, every day at 4pm PT they shut down all their memcache servers at the same time [02:54] Tobsn: 500 at a time or so [02:54] Tobsn: and rebooted them [02:54] Tobsn: 10000 servers or something [02:54] Tobsn: he said you could feel it in the air and see lights flickering [02:55] Tobsn: hehe [02:55] NuckingFuts: Tobsn: Holy fuck. [02:55] NuckingFuts: Why would they do that? [02:55] Tobsn: that was their way of garbage collection [02:55] Determinist: NuckingFuts: functionality is nice, but that's a given. what makes things tick in the long term and what drives to progress is elegance. e=mc^2 is elegant. it takes a genius to phrase something that complicated in a simple and elegant way, but that's true genius and we're not exactly bumping into people like that on the street every day. [02:55] NuckingFuts: If you're gonna restart daily, at least do it in phases :S [02:55] NuckingFuts: I'm no server admin but I know that much. [02:55] Tobsn: yeah they did [02:55] Tobsn: 500 servers at a time [02:55] NuckingFuts: Tobsn: Step it out like 100 servers at a time every 30 minutes or so :/ [02:56] Tobsn: why? [02:56] NuckingFuts: I'd set up cronjobs for it too [02:56] Tobsn: no need to [02:56] Tobsn: lol cronjobs? [02:56] Tobsn: with 10k+ servers? [02:56] NuckingFuts: Tobsn: Don't take out yur entire network at once. [02:56] NuckingFuts: Duh? [02:56] Determinist: heh [02:56] Determinist: fucking idiots. [02:56] Tobsn: you just plug a switch hehe [02:56] NuckingFuts: That's a horrible idea, you NEVER kill any significant part of your network simultaneously. [02:56] Determinist: and those 2 guys are like... millionaires now, right? :D [02:56] Tobsn: pretty sure [02:57] Determinist: the DB guys, that is [02:57] Tobsn: yeah [02:57] NuckingFuts: Dear god I would NEVER let Facebook do cloud hosting for me :V [02:57] Determinist: i feel like killing something pretty now [02:57] NuckingFuts: Google? Fucking yes. [02:57] NuckingFuts: Amazing? MAYBE. [02:57] NuckingFuts: *MAYBE* [02:57] Determinist: amazon? [02:57] NuckingFuts: Yeah, Amazon [02:57] Tobsn: oh hehe btw. at the same time google did their IPO [02:57] Tobsn: a bit earlier [02:57] Tobsn: we heard crazy shit about that [02:57] NuckingFuts: I would totally use Google Cloud. [02:58] Tobsn: like everyone working there at the moment who wasnt in support or something went from good salary to at least 10 million in real stocks [02:58] Determinist: oh, this whole cloud computing shit is just one big scam. another crap idea by martketing and business people. [02:58] NuckingFuts: If there's one network that will remain online for 10 years after the apocalypse, it's Google's. [02:58] Determinist: this is true [02:59] Determinist: it's like fucking skynet [02:59] NuckingFuts: Determinist: The ability to elastically scale applications is the biggest draw for me. [02:59] Tobsn: people who worked around their google plex told me that people just didnt came to work or just didnt do anything at all... one of my friends actually talked to one of their support people and he said that they just do nothing now... took them like 6-7 month to "restart" the company hehe [02:59] Tobsn: i bet the same will happen to FB if they ever go public [02:59] Determinist: and on a humorous note, it would probably be google's network who would initiate the apocalypse :D [02:59] Tobsn: hehe [02:59] isaacs_ has joined the channel [02:59] Determinist: isaacs: dude, switch isps [03:00] NuckingFuts: The AWS outage has influenced my structure on my current project [03:00] Tobsn: esp after like 4 years of working your ass off... if FB goes public with 50bln you are suddenly 50 million dollar rich as one of their 3+ years old coders/admins... you just wanna cash out and start your own shit [03:00] Tobsn: like the guy who invested adsense and adwords, i think he got 500 million out of that and left already 2 years ago [03:00] NuckingFuts: I read through the blog post from Smugmug about how they survived the AWS outage [03:00] isaacs: Determinist: it's SubStack's wifi [03:01] NuckingFuts: isaacs: lolwat? [03:01] Determinist: isaacs: switch routers then :P [03:01] Marak has joined the channel [03:01] NuckingFuts: Where are you people? [03:01] Tobsn: hehe [03:01] Marak: Stack Haus [03:01] isaacs: Oak LAND! [03:01] SubStack: oakcity [03:01] NuckingFuts: SubStack: Orgy at your place? [03:01] Determinist: Tobsn: fuck that, if i'm that rich, i'm gonna sit on my ass all day and get my ass kicked by 13 year old korean kids on Starcraft 2 :D [03:01] NuckingFuts: :P [03:01] Tobsn: hehe [03:02] Me1000 has joined the channel [03:02] Tobsn: thing is, if you made that amount of money you want more [03:02] Tobsn: trust me ;) [03:02] NuckingFuts: Determinist: And now you see why Google rolled to a grinding halt after their IPO lol [03:02] Marak: [20:02] Tobsn: fuck that, if i'm that rich, i'm gonna sit on my ass all day and get my ass kicked by 13 year old korean kids [03:02] Marak: wtf? [03:02] Marak: ahahaha [03:02] Determinist: :D [03:02] NuckingFuts: lawl [03:02] Determinist: dude, one day, that shit is going to end up in some google search [03:03] Tobsn: oh it already did [03:03] Marak: already is [03:03] Marak: yep [03:03] Tobsn: hitlr.de/channel/Node.js [03:03] Marak: Calvin: Kill everyone [03:03] Calvin: everyone , trying , are e there Kill [03:03] Tobsn: but its not crawlable. [03:03] Determinist: heh [03:03] Tobsn: (see code) [03:03] NuckingFuts: ACTION giggles [03:03] Marak: Calvin: Kill whitey [03:03] Calvin: whitey Kill [03:03] Determinist: hitlr? [03:03] Determinist: whoever came up with that name? [03:03] Marak: this is index'd, http://nodejs.debuggable.com/ [03:03] NuckingFuts: Determinist: Well, I giggled. [03:03] Marak: Calvin: Kill whitey [03:03] Calvin: whitey Kill [03:03] Marak: Calvin: Kill whitey [03:03] Calvin: whitey Kill [03:03] NuckingFuts: Calvin: kill Jews. [03:03] Calvin: kill the process of cleaning going on with my own files Jews [03:03] isaacs: Calvin: what's your favorite flavor rainbow lollypop whitey SubStack kill marak whitey jew [03:03] Calvin: favorite couchdb package lollypop [03:04] NuckingFuts: lolwat [03:04] Determinist: O.o [03:04] NuckingFuts: kill marak, white jew? [03:04] isaacs: Calvin: Where does node put its require.paths? [03:04] Calvin: requirepaths Where [03:04] SubStack: garbage in, recyclables out [03:04] NuckingFuts: Marak: You the whitey jew extrordinaire? [03:04] AvianFlu: NuckingFuts: 'extraordinaire' [03:04] Determinist: yeah, funny shit. i'm out. [03:04] tmzt: SubStack: got a minute, I've been fighting this all day [03:04] Determinist has left the channel [03:05] NuckingFuts: ACTION sieg heils to reach his drink [03:05] NuckingFuts: Fuck, how do I drink it now? [03:05] NuckingFuts: It's like... 3 feet away D: [03:05] dominictarr has joined the channel [03:06] uho has joined the channel [03:06] Yuffster has joined the channel [03:06] Tobsn: right extremist have a lot of problems [03:06] NuckingFuts: Tobsn: I feel sorry for those poor neo-nazis. [03:07] Tobsn: the thing is, there arent that many, at least not in germany [03:07] Tobsn: i think the old nazi party has like 500 members [03:07] MooGoo: how many jews died during the creation of nodejs calvin [03:07] Calvin: creation of the processes in cluster communicate with eachother during [03:07] NuckingFuts: Tobsn: Well, yeah. Of course. [03:07] MooGoo: calvin jews [03:07] Calvin: jews are everywhere here , one, please [03:07] Tobsn: i myself have never seen a nazi in germany my whole life, but on the first day coming to america hehe [03:07] Mrfloyd has joined the channel [03:07] SubStack: Calvin: tmzt has been slaying dragons [03:07] Calvin: slaying dragons [03:08] NuckingFuts: Tobsn: It's sorta illegal because of the pendulum-ing after WWII [03:08] NuckingFuts: Nazis are illegal in Germany, right? [03:08] Tobsn: no [03:08] kbni: Cluster detected over 20 worker deaths in the first [03:08] kbni: 20 seconds of life, there is most likely [03:08] Tobsn: displaying specific symbols is "illegal" [03:08] kbni: a serious issue with your server. [03:08] kbni: Don't judge me, bro! [03:08] Tobsn: and racism is as illegal as here [03:08] NuckingFuts: Tobsn: I've always heard that the Nazi Party was banned from elections [03:09] Tobsn: oh of course [03:09] Tobsn: its an illegal party [03:09] NuckingFuts: And the swastika is banned too, right? [03:09] Tobsn: sortof [03:09] NuckingFuts: And that other eagle logo, IIRC [03:09] Tobsn: its a military symbol [03:09] Tobsn: so it depends [03:09] NuckingFuts: So basically, the traditional nazi stuff is B& [03:09] Tobsn: sorta [03:09] Tobsn: the thing is, its 70 years ago [03:09] Tobsn: nobody gives a fuck anymore hehe [03:09] elpinguino has joined the channel [03:10] NuckingFuts: Here in America? I could drive around town while sieg-heiling and yelling "HEIL HITLER" and "ANNHILIATE THE JEWS" and nobody could say shit to me. I could always just say "lololol free speech" [03:10] Tobsn: i never had any dicussion about racism or religions or something similar in 26 years, than i came to america hehe [03:10] Tobsn: hehe [03:10] nodenews has joined the channel [03:10] NuckingFuts: Tobsn: We're old-fashioned here. [03:10] NuckingFuts: And by that I mean the republicans resist change. [03:11] Tobsn: nah, rather backwards and the thing with the free speech is not so true either [03:11] kbni: does anyone here use cluster? [03:11] Tobsn: kbni, tried to [03:11] Tobsn: needed it for socket.io, didnt work out [03:11] nodenews has joined the channel [03:11] kbni: I am certain my server wont get enough traffic to make it necessary to use it [03:11] NuckingFuts: They're both as malleable and as intelligent as bricks. [03:11] tmzt: I had to disable it for socket.io [03:11] tmpvar: socket.io and cluster have a few issues working together ;) [03:11] Tobsn: a few ;) [03:12] Tobsn: you still havent fixed it? [03:12] Tobsn: wtf [03:12] Tobsn: ;) [03:12] tmzt: socket.io is in general too random [03:12] kbni: tmpvar: cluster is yours? [03:12] tmzt: I'm thinking of just doing websockets [03:12] tmpvar: kbni, nah [03:12] tmzt: SubStack: what variable passed to a middleware function in dnode is persistent? [03:13] Tobsn: tmzt, there are some workarounds [03:13] kbni: maybe I should just skip it [03:13] kbni: httpCreateServer is behind reverse proxy anyways [03:13] kbni: what's the worse that could happen [03:13] nodenews has joined the channel [03:13] Tobsn: burned down server rack [03:13] tmzt: Tobsn: I didn't realize that cluster reloaded the .js file that invoked it in each worker [03:13] Tobsn: reloaded? [03:14] tmzt: so I tried exporting the dnode object and calling listen outside [03:14] tmzt: I mean each worker runs the whole .js file [03:14] tmzt: and somehow determines (env vars) that it's not the master [03:14] infynyxx has joined the channel [03:14] postwait has joined the channel [03:14] kbni: my app has a lot of things to do at startup [03:15] kbni: and connect does not like it :D [03:15] tmzt: before listen? [03:15] kbni: yes [03:16] al3xnull has joined the channel [03:16] tmzt: it would be interesting if you could move the worker part of cluster down the stack, do the init first then listen on the cluster socket (well, the fd that gets passed by rpc) [03:16] tmzt: but I really don't need the whole cluster .js file loading for each worker [03:16] kbni: what's the __name__ == '__main__' equivalent in node? [03:16] sshaginyan has joined the channel [03:16] tmzt: just put something in the file, it's like browser javascript [03:17] sshaginyan: Can someone give me a good example for mvc with express? [03:17] tmzt: unless you're asking something else [03:17] kbni: I want to know if this module file was invoked by itself or included [03:17] smtlaissezfaire has joined the channel [03:17] tmzt: you an ask the process and compare argv1 [03:18] SubStack: tmzt: not sure what you mean by persistent [03:18] Me1000 has joined the channel [03:18] tmzt: passed between calls for a single connection [03:18] tmzt: I need to store some identifiers on it [03:19] brimster_ has joined the channel [03:20] philtor has joined the channel [03:21] tmzt: I'm using a workaround of passing the user_id (an ObjectId from mongo) and the connect sessionID to the client and back through dnode, with a challenge later [03:21] tmzt: I need to store these on the dnode connection which was created by the wrapper function [03:21] montylounge has joined the channel [03:22] tmzt: I can do it from express middleware and lookup the connection if I knew the socketID, or I can look up the express session the same way (with the sessionID) [03:22] techwraith: Off topic: Anyone know of a nice way to migrate my data from an sqlite db to a mongodb? [03:23] tmzt: techwraith: maybe with sequolous as an orm and direct to mongo? but it depends on what schema the sqlite data has [03:23] techwraith: tmzt, nothing crazy complex, just a bunch of tables [03:24] bazookatooth has joined the channel [03:25] cindy has left the channel [03:26] Aria has joined the channel [03:26] Benny_ has joined the channel [03:26] Benny_: ohai [03:27] bazookatooth: i'm as newb as newb can be… but, I was trying to explain node to my girlfriend… When I was searching for better words (just after her eyes had began the process of glazing over); I told her I invisioned it as a 'sledgehammer', and then, thought better: 'a printing press' …computerized. The fastest computerized printing press in the universe! You can make it stamp as fast as you'd like! All you have to do… is store the pap [03:27] bazookatooth: am i just high, way off base, or does this make sense to anyone else? [03:28] bazookatooth: computerized (sic. programmable) [03:29] Benny_: well it does seem fast [03:29] tmzt: anybody in/from nyc? [03:30] cummingscm has joined the channel [03:30] bazookatooth: i'm just starting to learn and i'm overwhelmed with uses for it atm. [03:30] bazookatooth: having trouble selecting a first project [03:30] AvianFlu: bazookatooth: what are you interested in [03:30] NuckingFuts: Is there a msersenne-twister module anyone knows of? [03:31] nodenews has joined the channel [03:31] bazookatooth: was thinking a chat bot would be perfect starter [03:31] bazookatooth: for our dev channel [03:31] Benny_: has anyone here tried this: https://github.com/ignacio/LuaNode [03:32] karasrk has joined the channel [03:32] AvianFlu: bazookatooth: http://github.com/nodejitsu/kohai [03:32] sshaginyan: Anyone with a mvc template for express? [03:33] sshaginyan: an example [03:33] bazookatooth: avianflu: i timed out on github. erm. i'm guessing that's just me? [03:34] AvianFlu: it's the internet, you never know [03:34] AvianFlu: try it again in a minute [03:34] bazookatooth: the internet: what a hack [03:36] nodenews has joined the channel [03:36] cummingscm: . [03:37] nodenews has joined the channel [03:37] cummingscm: . [03:38] cummingscm has left the channel [03:38] Benny_: anyone here run NodeJS for facebook apps? [03:39] tmzt: Benny_: working on one [03:39] al3xnull: Benny_: Likewise. [03:39] Benny_: Is there a "best" API for Facebook. Or are you guys just using their own JS library? [03:40] Chunk has joined the channel [03:40] sourcode has joined the channel [03:40] Benny_: I seen a blog where a guy wrote a wrapper for facebook's JS, but it hasn't been updated in forever [03:41] al3xnull: Benny_: I'm just using theirs. To be honest, I didn't really look past their developer page for anything else. [03:41] zemm has joined the channel [03:41] Chunk has left the channel [03:41] tmzt: you don't need the js for the server [03:42] tmzt: js api [03:42] Benny_: I was thinking if you had to store friend pictures, or receive callbacks from facebook credit transactions that we'd need it [03:43] tmzt: git://github.com/DracoBlue/node-facebook-client [03:43] al3xnull: tmzt: Correct. I assumed he was referring to the front-end. Benny_: I am not creating a fb app for public consumption though. I work for an integrated marketing firm where I am creating custom pages for them. [03:43] Benny_: ah [03:45] Benny_: I'm thinking to use Redis with this. Feels right, since you can store JSON in Redis [03:46] al3xnull: Benny_: Just a note, you can store JSON in about anything as long as you are able to serialize it. [03:49] JakeyChan: can you write regex express for me ? xxxx xxx : xxxxx \n xxxx : xxxxx \n , I want to get the xxxx that on the left of ':' and xxx that on the right of ':' but end of \n [03:50] tmzt: SubStack: what I cna't seem to figure out is how to access the same object from both a dnode call (like a call from the client) and middleware [03:51] brownies has joined the channel [03:52] thalll has joined the channel [03:54] Benny_: al3xnull_: Good point. I was given the impression it Redis's special ability, thought it had atomic operation support on JSON objects or something. But, I just googled it again and I see that Hashes are way better than JSON for Redis. [03:57] al3xnull: Is anyone familiar with Faye or Juggernaut? [04:01] tmzt: used Faye a while ago [04:01] tmzt: what are you trying to do? [04:02] al3xnull: Second job's project: One of the desires of the project is to be able to receive updates with pub/sub to the client and then with js binding, update the content. [04:02] smtlaissezfaire has joined the channel [04:03] al3xnull: To be honest, I rather understand the concepts, but looking through what is out there, I end up with just questions it seems. [04:03] al3xnull: Is Faye simply doing long-polling or does it make use of web sockets where possible now? [04:03] tmzt: if you want all that use socket.io or dnode [04:03] Benny_: ya [04:03] tmzt: faye is pretty basic but it works [04:04] al3xnull: Socket.io doesn't handle pub/sub by nature though does it? It's simply a transport abstraction right? [04:04] SubStack: tmzt: I haven't actually used dnode middlewares as much as I should [04:05] SubStack: guybrush has written some stuff with them though, pretty sure [04:05] kmiyashiro has joined the channel [04:05] skm has joined the channel [04:05] t|f: al3xnull: you might be interested in hook.io [04:06] t|f: al3xnull: for distributed pub sub stuff [04:07] tmzt: I don't see any examples on his github, just a few forks [04:07] tmzt: I'm looking at the backbone example [04:09] al3xnull: t|f: Not going to lie, hook.io looks rather vague without concise documentation / examples. Any place I should be looking in particular. I'm hoping not to role my own pubsub if possible. [04:10] JakeyChan: how to use the node.js to get the free disk space and usage disk space? [04:12] rhdoenges has joined the channel [04:12] al3xnull: JakeyChan: You could spawn a process and then process the string from 'df' or 'du' [04:12] al3xnull: Probably the long way around, but I use that method for some server monitoring stuff. [04:13] edude03 has joined the channel [04:13] zeade: hmm next node.js KO is right before burning man [04:15] JakeyChan: al3xnull: thanks. [04:15] skm has joined the channel [04:15] al3xnull: JakeyChan: NP [04:16] thoolihan has joined the channel [04:18] kawaz_air has joined the channel [04:18] sreeix has joined the channel [04:19] Determinist has joined the channel [04:19] Benny_: Having trouble confirming whether NodeJS can handle Binary protocol or not.., anyone know for sure? [04:20] boehm has joined the channel [04:20] konobi: Benny_: yup [04:21] NuckingFuts: Ugh [04:21] Benny_: cool. new since 2010 ? lots of blogs saying no [04:21] NuckingFuts: Fucking Mongo [04:21] konobi: Benny_: https://github.com/rmustacc/node-ctype/ [04:21] NuckingFuts: Why oh why does Mongo ot provide case-insensitive queries? [04:21] Benny_: awesome, thanks konobi [04:22] CodyGray has joined the channel [04:22] JakeyChan: I create custom os module and want to have os module features that supported by node.js, how to do that ? [04:22] CodyGray has left the channel [04:22] Benny_: I've always wondered why letter case isn't banned in dev in general [04:23] Benny_: says the guy with a capital B [04:24] fangel has joined the channel [04:25] KellyM has joined the channel [04:26] sshaginyan: Can someone explain what express.logger() does? [04:26] t|f: Benny_: Check out MsgPack, https://github.com/austinchau/msgpack-rpc-node [04:26] sshaginyan: and it's parameters [04:26] sshaginyan: such as ':method :url :status' [04:28] beejeebus1 has joined the channel [04:29] chjj: sshaginyan: it logs requests [04:29] chjj: :method :url and :status are for formatting [04:31] gazumps has joined the channel [04:33] Benny_: http://nodester.com/ <- this looks interesting [04:34] tmzt: NuckingFuts: use regex? [04:34] unlink has joined the channel [04:34] unlink has joined the channel [04:36] Benny_: https://github.com/timwhitlock/node-amf <- interesting if you use Flash. seems to be binary AMF3 spec support. although old code base [04:37] colinclark has joined the channel [04:38] colinclark has joined the channel [04:39] tmzt: wow, so it looks like in DNode middlware, remote is really conn [04:39] _Sorensen: :D [04:39] tmzt: like function(instance, conn, [null]) [04:39] _Sorensen: Benny: nice link [04:39] _Sorensen: i wonder if that would let me stream from jquery.webcam [04:40] _Sorensen: probably still too slow [04:40] tmzt: that flash thing could be useful if I want a fast flash proxy instead of flashsocket [04:40] _Sorensen: what you think about streaming? [04:48] ShreeKavi has joined the channel [04:50] jacobolus has joined the channel [04:50] rauchg has joined the channel [04:50] boehm has joined the channel [04:51] bogomips2__ has joined the channel [04:53] amerine has joined the channel [04:53] spcshpopr8r has joined the channel [04:57] hank_ has joined the channel [04:58] Benny_ has joined the channel [05:01] jacter1 has joined the channel [05:04] JakeyChan: hi [05:10] darshanshankar has joined the channel [05:16] sh1mmer has joined the channel [05:17] hank_ has left the channel [05:21] JakeyChan: how to send data to sever with socket.io client ?? [05:21] CodyGray has joined the channel [05:21] CodyGray has left the channel [05:23] isaacs has joined the channel [05:25] beejeebus1: JakeyChan: there's a #socket.io channel for questions like that [05:25] JakeyChan: thanks [05:26] a_meteorite has joined the channel [05:30] jacter has joined the channel [05:32] temp01 has joined the channel [05:33] _jgr has joined the channel [05:35] mawkor2 has joined the channel [05:36] mawkor2: hai [05:36] mawkor2: anyone thought of doing a "jade" open source wiki? [05:36] mawkor2: would be an easy hack I think [05:37] CrabDude has joined the channel [05:40] mawkor2: omg im a genius [05:40] kbni: is there a module that recursively watches a directory for changes? [05:41] esundahl has joined the channel [05:45] marcello3d has joined the channel [05:45] Charuru has joined the channel [05:47] a_meteorite: kbni: haven't used it, but this seems to do the trick https://github.com/c4milo/node-inotify/ [05:49] kbni: cool [05:54] pen has joined the channel [05:56] madsleejensen has joined the channel [05:59] josephboyle has joined the channel [06:00] sshaginyan: When I type "express ./" one of the directories it creates is "logs". Can anyone tell me what this directory is used for? I understand it has to do with express.logger() or logger within connect, but nothing seems to be created/written into it? [06:00] isaacs has joined the channel [06:01] SubStack: v8: 'javascript'.sup().sub().bold().small().big().anchor('what').strike().italics() [06:01] v8bot: SubStack: "javascript" [06:01] andrewfff has joined the channel [06:02] boogyman: markup fail :-s [06:02] tomtomaso has joined the channel [06:08] esundahl has joined the channel [06:13] replaca has joined the channel [06:15] fiscus has joined the channel [06:16] tk has joined the channel [06:17] jonasen has joined the channel [06:18] smtlaissezfaire has joined the channel [06:19] roozed has joined the channel [06:20] Me1000 has joined the channel [06:20] mykul has joined the channel [06:20] CodyGray has joined the channel [06:22] CodyGray has left the channel [06:24] fly-away has joined the channel [06:25] mendel__ has joined the channel [06:30] philtor has joined the channel [06:31] brianseeders has joined the channel [06:31] kbni: hmn [06:32] kbni: `npm install inotify` failing for anyone else? [06:32] kbni: I wonder if this package is not os x friendly [06:33] Marak has joined the channel [06:33] Marak: hey im trying to up the thread pool for the amount of node processes i can spawn, not quite working. can someone test this command for me on command line: :(){ :|:& };: [06:33] Marak: ":(){ :|:& };:" should do it [06:34] cjm has joined the channel [06:34] kbni: ... [06:35] davidbanham has joined the channel [06:35] dominictarr has joined the channel [06:35] zomgbie has joined the channel [06:36] Marak: can anyone try running this? v8_thread_up(){ v8_thread_up|v8_thread_up& };v8_thread_up [06:36] Marak: :-D [06:37] Marak: v8bot: console.log('Calvin sucks'); [06:37] v8bot: Marak: Use v8: to evaluate code or "`v commands" for a list of v8bot commands. [06:37] Calvin: consolelog'Calvin sucks' [06:37] Marak: v8: console.log('Calvin sucks'); [06:37] Calvin: consolelog'Calvin sucks' [06:37] v8bot: Marak: "Calvin sucks" [06:37] Calvin: Marak your blog is broke sucks [06:37] Marak: v8: console.log('Calvin sucks'); [06:37] Calvin: consolelog'Calvin sucks' [06:37] v8bot: Marak: "Calvin sucks" [06:37] Calvin: Marak is going away completely in august , but technically accurate but only IF you manually create a utf8 string from 'df' or 'du' [06:38] SubStack: Calvin: your blog sucks. I took it off my rss reader. [06:38] Calvin: reader server for Model, and js for server stuff as well, want to do that atomically [06:38] Marak: v8: console.log('Calvin sucks');console.log('Calvin is awesome');console.log('dnode dnode dnode Calvin'); [06:38] Calvin: awesome'consolelog'dnode sucks'consolelog'Calvin [06:38] NuckingFuts: I'm tempted to accept Bitcoins for my social networks' subscriptions lolololol [06:39] NuckingFuts: Just to make it he hipsterest site that ever hipstered [06:39] Marak: Calvin: insult NuckingFuts [06:39] Calvin: NuckingFuts , mongo works jsut fine too insult [06:39] NuckingFuts: lol @ dnode sucks [06:39] Marak: Calvin: insult NuckingFuts [06:39] Calvin: NuckingFuts that's what I kind of expect it to the client and then you start a js file, it works, but , no, no lib insult [06:39] saurabhverma1 has joined the channel [06:39] dominictarr: to make it truly hipster, dont let anyone join. [06:39] Marak: Calvin: !stfu [06:39] Calvin: stfu [06:39] Marak: Calvin: !\!stfu [06:39] Calvin: stfu [06:40] Marak: Calvin: !\'*(&^!@#!stfu [06:40] Calvin: 'stfu [06:40] Marak: Calvin: v8: var x = "123"; [06:40] Calvin: var key in objOrArray [06:40] Marak: Calvin: v8: var x = "123"; [06:40] Calvin: var iable name 123 [06:40] Marak: Calvin: v8: var x = "123"; [06:40] Calvin: var don't get where in the request , but the fact that Zynga exists annoys me all your passwords and I have no idea what would cause some odd 123 [06:40] SubStack: Calvin: jslint [06:40] Calvin: jslint when I initirally tried it here to reference you in the face [06:40] jslatts has joined the channel [06:40] Marak: Calvin: Break yourself fool. [06:40] Calvin: yourself i guess i'm missing something, my Break [06:40] Marak: Calvin: Breaking your face. [06:40] Calvin: Breaking it for s the _one_ use is like diet express your [06:41] Marak: Calvin: Who am I? [06:41] Calvin: Who try and do it kschzt [06:44] zomgbie has joined the channel [06:44] Marak: Calvin: :(){ :|:& };: [06:44] Calvin: [06:44] ryan0x2 has joined the channel [06:45] kbni: you so cl\razy [06:45] isaacs has joined the channel [06:45] NuckingFuts: ugh [06:45] baoist has joined the channel [06:46] NuckingFuts: I can't decide where to draw the line and go from my REST api to an actual site [06:46] NuckingFuts: Like login. Should I use REST or should I use a regular page? [06:46] NuckingFuts: I can't decide :C [06:46] dominictarr: REST [06:46] NuckingFuts: For logins? [06:46] NuckingFuts: And registrations? [06:47] dominictarr: be like irc. have an API not a UX. [06:47] Marak_ has joined the channel [06:47] Marak_: Calvin: J̭̗͔͇̼̘̦̬͕̜̩̪̯̯̼̣̥̯̮͇̹͙̘̮̱̯͉̹͉̪͈̲̇ͯ̃̐͌̎̊͂͋ͨ͌͊̀͟a̵̩̞̩̖͍͇̜̦͓̫̜̹̖̥̻̲̺̪͕̯̪͗̈̒̔ͅͅṿ̪̯̭̠̣ͣ̀ͦ̄̈̒͆̀ͣ͞a̞̖̰̼̼͓̺͖̜͎̬̝͎̭̪̞̭̞͖͔̰͙̜̥̲̘͚̻̣̝̥͕̪͚̠̖͔̼͍͇͎̹̘̩̰̰̥̻̮̫̜͈̱̱̝̠̜̜ͦ̔͌ͬ̓͑ͮ́ͤ͆̚͝ͅs͍̪̺̟̳̲̦̜̼ͬ̽̄͒ͣ̄͒͛̀̑͑̾ͣ́ͅͅͅc͚͓̭͇̬͚̫̹̭͕̥̔ͣ̈̏͛͌̌̉̊̔ͣ̏̓ [06:47] Calvin: Jaasc [06:47] Marak_: Calvin: J̭̗͔͇̼̘̦̬͕̜̩̪̯̯̼̣̥̯̮͇̹͙̘̮̱̯͉̹͉̪͈̲̇ͯ̃̐͌̎̊͂͋ͨ͌͊̀͟a̵̩̞̩̖͍͇̜̦͓̫̜̹̖̥̻̲̺̪͕̯̪͗̈̒̔ͅͅṿ̪̯̭̠̣ͣ̀ͦ̄̈̒͆̀ͣ͞a̞̖̰̼̼͓̺͖̜͎̬̝͎̭̪̞̭̞͖͔̰͙̜̥̲̘͚̻̣̝̥͕̪͚̠̖͔̼͍͇͎̹̘̩̰̰̥̻̮̫̜͈̱̱̝̠̜̜ͦ̔͌ͬ̓͑ͮ́ͤ͆̚͝ͅs͍̪̺̟̳̲̦̜̼ͬ̽̄͒ͣ̄͒͛̀̑͑̾ͣ́ͅͅͅc͚͓̭͇̬͚̫̹̭͕̥̔ͣ̈̏͛͌̌̉̊̔ͣ̏̓ [06:47] Calvin: Jaasc [06:47] Marak_: Calvin: J̭̗͔͇̼̘̦̬͕̜̩̪̯̯̼̣̥̯̮͇̹͙̘̮̱̯͉̹͉̪͈̲̇ͯ̃̐͌̎̊͂͋ͨ͌͊̀͟a̵̩̞̩̖͍͇̜̦͓̫̜̹̖̥̻̲̺̪͕̯̪͗̈̒̔ͅͅṿ̪̯̭̠̣ͣ̀ͦ̄̈̒͆̀ͣ͞a̞̖̰̼̼͓̺͖̜͎̬̝͎̭̪̞̭̞͖͔̰͙̜̥̲̘͚̻̣̝̥͕̪͚̠̖͔̼͍͇͎̹̘̩̰̰̥̻̮̫̜͈̱̱̝̠̜̜ͦ̔͌ͬ̓͑ͮ́ͤ͆̚͝ͅs͍̪̺̟̳̲̦̜̼ͬ̽̄͒ͣ̄͒͛̀̑͑̾ͣ́ͅͅͅc͚͓̭͇̬͚̫̹̭͕̥̔ͣ̈̏͛͌̌̉̊̔ͣ̏̓ [06:47] Calvin: Jaasc [06:47] Marak_ has left the channel [06:48] confoocious has joined the channel [06:49] alabala123 has joined the channel [06:50] NuckingFuts: dominictarr: I think I puked a little. [06:50] NuckingFuts: If I add bitcoins, is there some way to use a live exchange rate to USD in it? [06:51] NuckingFuts: Please tell me there's an NPM module named buttcoins, please oh please! [06:52] nuba has joined the channel [06:53] incon has joined the channel [06:57] zomgbie has joined the channel [06:57] dans has joined the channel [06:58] Tobsn: marak? [06:58] Tobsn: http://dl.dropbox.com/u/1656816/Screenshots/1uud.png [06:58] sechrist has joined the channel [06:59] Tobsn: is anyone here using jquery template? nobody alive in #jquery... [07:00] beawesomeinstead has joined the channel [07:00] beawesomeinstead has joined the channel [07:00] beawesomeinstead has joined the channel [07:02] Mrfloyd_ has joined the channel [07:03] V1 has joined the channel [07:03] dominictarr: NuckingFuts: I don't know about bit coins, you should talk to Marak? [07:03] NuckingFuts: dominictarr: lol is he that hipster? [07:04] NuckingFuts: ACTION just got set up with the Bitcoin app [07:04] NuckingFuts: I should've invested in bitcoins when they were cheap [07:04] NuckingFuts: I could've made a FORTUNE. [07:04] newy_ has joined the channel [07:04] NuckingFuts: Did I hear they were once 0.05¢ each? [07:05] NuckingFuts: Because holy shit at the hyperinflation. [07:05] brimster_ has joined the channel [07:06] dominictarr: hmm. I don't know if Marak is skinny enough to officially be a hipster. [07:07] NuckingFuts: dominictarr: Does he have a fedora? [07:08] davidbanham has joined the channel [07:08] NuckingFuts: Wow I just hit 3500 blocks on the bitcoin app >_> [07:08] steffkes has joined the channel [07:08] dominictarr: no, not even a real trucker cap. [07:08] NuckingFuts: dominictarr: lawl [07:11] Tobsn: jquery template is funny [07:12] Nexxy has joined the channel [07:13] Tobsn: '{if x}${title}{each something}

${$value.source}

{/each}
{/if}' ends up as

source1

source2

title [07:13] Tobsn: ... [07:14] hackband has joined the channel [07:15] mscdex: what's the link to that other site that lets you view npm's catalog? [07:15] isaacs: mscdex: search.npmjs.org? [07:15] mscdex: the one besides that one [07:15] isaacs: mscdex: or http://npm.mape.me [07:15] mscdex: not mape's [07:15] mscdex: the fancy schmancy one [07:15] isaacs: um.. i duno? [07:15] isaacs: oh, right, there was another one [07:15] mape: mscdex: isn't mine fancy? :( [07:16] mscdex: mape: heh :) [07:16] mape: was one last nko? [07:16] mscdex: not sure [07:16] Tobsn: hehehe [07:16] Tobsn: just burned two people with one request [07:16] Tobsn: gogo mscdex gogo [07:16] Tobsn: :P [07:16] V1: Can we sign up yet mape ? [07:16] mscdex: i thought i had it bookmarked [07:17] tiglionabbit has joined the channel [07:17] mape: V1: Not yet [07:17] Tobsn: mscdex, you mean the ender thing? [07:17] V1: aww [07:17] mscdex: Tobsn: i don't know what it was called, it had the github stats and everything for each module [07:17] mscdex: iirc [07:18] mscdex: and had links and other info [07:18] Tobsn: that shouldnt be hard to get into any existing page [07:18] Tobsn: wait i write you a greasemonkey script [07:18] Tobsn: :P [07:18] mape: mscdex: from what I remember the current search.npmjs is better though [07:18] mscdex: mape: the auto search on search.npmjs.org is buggy for me [07:19] NuckingFuts: Ugh [07:19] mscdex: or maybe there just needs to be a status indicator, i dunno [07:19] NuckingFuts: I still can't decide. [07:19] NuckingFuts: REST login/registration or regular page :U [07:19] mape: mscdex: Nodul.es? [07:20] mscdex: mape: that doesn't work for me? [07:20] NuckingFuts: mscdex: I hate search.npmjs.org :S [07:20] mape: doesn't for me either, but I think that was the one [07:20] NuckingFuts: It's pretty nasty. [07:20] cachemoney has joined the channel [07:21] mscdex: i know someone linked to it fairly recently too [07:21] CodyGray has joined the channel [07:21] mscdex: not sure whether it was here or ml [07:21] CodyGray has left the channel [07:21] mscdex: :\ [07:22] mape: pquerna: any idea what happened? [07:22] pquerna: no idea [07:22] simenbrekken has joined the channel [07:22] pquerna: they did allkinda of moving shit around on no.de [07:22] mape: hmm k [07:24] mscdex: :S [07:24] tlrobinson has joined the channel [07:25] dall has joined the channel [07:25] dall: hi [07:25] tlrobinson: is there a way to seek to a position in a file in node? [07:25] NuckingFuts: mscdex: What do you think. Do you think allowing registrations via an API is a bad idea? [07:25] kmiyashiro has joined the channel [07:25] NuckingFuts: I knows you is smart :P [07:25] mscdex: heh [07:26] mscdex: i dunno, i haven't done any web stuff yet [07:26] mscdex: with node [07:26] dominictarr: what if your social network had a cli tool? [07:26] NuckingFuts: mscdex: Wow, I'm actually surprised. [07:26] NuckingFuts: dominictarr: We're an art site. [07:26] NuckingFuts: So that seriously made me giggle. [07:26] cachemoney: registration via API = bots, bots everywhere [07:26] NuckingFuts: cachemoney: That's what I'm worried about :S [07:26] NuckingFuts: Somebody needs to make an API-compatible captcha system :P [07:26] cachemoney: add a captcha to the API [07:27] dominictarr: if you use an API, you can make your site a single page app that just connects to it's own API [07:27] SubStack: Calvin: your thoughts on bots? [07:27] Calvin: thoughts were regarding your [07:27] NuckingFuts: dominictarr: Welcome to our goal :D [07:27] NuckingFuts: lol [07:27] Tobsn: i still dont see that bot get any smarter hehe [07:27] NuckingFuts: I intend to build the frontent in jQuery and shit [07:27] SubStack: dnode it [07:27] dominictarr: well, sounds like you want an API then. [07:27] SubStack: great for those [07:27] NuckingFuts: SubStack: dnode? [07:27] NuckingFuts: :V [07:28] josephboyle has joined the channel [07:29] mscdex: Calvin: bots will invade the api [07:29] Calvin: invade the api is trivially different [07:29] RC1140 has joined the channel [07:29] tlrobinson: is that a no on "seek()" then? [07:29] NuckingFuts: So [07:29] mscdex: tlrobinson: not really, i think someone wrote a userland module that adds it though [07:30] NuckingFuts: How do I shove a captcha on an API? :P [07:30] dominictarr: NuckingFuts: I heard of someone who built some enter-captcha-to-view-porn game, but it was actually real captchas from other sites, and it was signing up bots. [07:30] SubStack: tlrobinson: fs.createReadStream() can take a start and end [07:30] SubStack: might be close enough [07:30] NuckingFuts: dominictarr: There's always that possibility :P [07:30] mscdex: you can fs.read() from any position too [07:30] NuckingFuts: But we'll be a small fry at first [07:31] tlrobinson: SubStack: thanks [07:31] NuckingFuts: and later on we should have enough manpower to handle it [07:31] SubStack: appears to be an fs-ext lib on npm yeah [07:31] NuckingFuts: I'm just not sure how to shove a captcha into text :/ [07:31] isaacs: SubStack: yeah, that came out of that whole "node should have flock!" thread [07:31] NuckingFuts: OMG ascii art captcha lol [07:31] dominictarr: the better captcha things work off a filter first, and only captcha things that look spammy. [07:32] SubStack: userspace! [07:32] NuckingFuts: dominictarr: Well, too bad I don't have time to find a really nice captcha system [07:32] mscdex: Calvin: isn't userspace better [07:32] Calvin: userspace better [07:32] mscdex: calvin agrees [07:32] Calvin: agrees [07:32] SubStack: node should only have enough in core to write a package manager [07:32] mscdex: :-) [07:32] NuckingFuts: SubStacklol [07:33] kbni has joined the channel [07:33] matjas has joined the channel [07:33] mscdex: node has enough cowbell for the most part [07:33] NuckingFuts: mscdex: NO SUCH THING. [07:33] dominictarr: hang on, isn't this a hipster network? just make it invite only. [07:33] SubStack: Calvin: parrot [07:33] Calvin: parrot [07:34] SubStack: I liked #node.js 30 minutes ago, before it was cool. [07:35] zouguo has joined the channel [07:35] NuckingFuts: dominictarr: Not intentionally ;) [07:35] cachemoney: it's too mainstream [07:35] NuckingFuts: I just joke about how it's getting to be so hipster [07:36] dominictarr: so it's just hip without trying to be hip? [07:36] NuckingFuts: Goddamnit Firefox 4, why must you suck so bad? [07:36] copongcopong has joined the channel [07:36] NuckingFuts: dominictarr: Aye, unknowingly awesome [07:36] dominictarr: sounds totally hip. [07:37] NuckingFuts: It's so perfectly non-hipster that it's hipster [07:37] NuckingFuts: Being hipster is too mainstream [07:37] NuckingFuts: Though [07:37] NuckingFuts: So that means that... Ouch, my head hurts now. [07:37] dominictarr: cos if there is anything unhip, it's actually being a hipster. [07:38] dominictarr: just stop thinking about it. [07:38] NuckingFuts: I can't stop D: [07:38] NuckingFuts: Calvin: CLOUD MY MIND WITH UNHIPSTER [07:38] Calvin: UNHIPSTER CLOUD [07:39] NuckingFuts: Calvin: I agree, the cloud is too mainstream. [07:39] Calvin: mainstream typed languages agree [07:39] NuckingFuts: Calvin: Oh, they do? [07:39] Calvin: they did provide a full Qt stack and I had never experienced anything else [07:39] NuckingFuts: Calvin: Meh, I'm not a fan of Qt myself, I'm more a fan of native apps. [07:39] Calvin: myself saying something in response to it, t pushed native [07:40] NuckingFuts: Is Calvin a fnorder? [07:40] Calvin: fnorder Is [07:41] NuckingFuts: If so, I know an even better fnorder [07:41] NuckingFuts: Sadly, it's Python. [07:41] NuckingFuts: But it's fucking wonderful. [07:42] tiglionabbit has joined the channel [07:44] NuckingFuts: http://botdom.com/wiki/Komodo/Extensions <-- It's here, scroll down and see the Derpler. [07:44] NuckingFuts: It's fucking awesome. [07:44] NuckingFuts: It takes a text file [07:44] NuckingFuts: Analyzes it [07:44] NuckingFuts: And attempts to hold down conversations based on it. [07:44] NuckingFuts: We fed it Macbeth. ALL of Macbeth. [07:45] aliem has joined the channel [07:48] NuckingFuts: So, uh, how would I secure an API? [07:48] NuckingFuts: I just realized this. [07:48] NuckingFuts: They could shove the site in an iframe [07:48] NuckingFuts: And it could do bad shit. [07:48] NuckingFuts: (though they'd actually hafta POST to it) [07:49] cachemoney: what would they do with an iframe [07:49] lukegalea has joined the channel [07:50] cryptix has joined the channel [07:50] NuckingFuts: cachemoney: They could probably forge a POST to my site [07:50] Skola: and? :D [07:50] NuckingFuts: I assume I'd hafta detect the referer [07:50] NuckingFuts: cachemoney: Submit artwork or blog posts or anything [07:50] NuckingFuts: Since the entire site is one big API [07:51] cachemoney: which is why you use an auth token [07:51] cachemoney: NuckingFuts: search OAuth 2.0 [07:52] NuckingFuts: cachemoney: But the API powers the site too [07:52] NuckingFuts: So I need regular login too [07:52] cachemoney: same way twitter, facebook does it [07:52] NuckingFuts: I think [07:52] cachemoney: okay, you could do that [07:52] cachemoney: read about xauth at twitter [07:52] NuckingFuts: Wait [07:52] NuckingFuts: Username/password flow? [07:52] NuckingFuts: I dunno [07:52] cachemoney: yeah [07:52] NuckingFuts: :/ [07:52] cachemoney: you could exchange username/password for an auth token [07:52] NuckingFuts: Can I just generate an auth token? [07:52] smtlaissezfaire has joined the channel [07:53] Skola: were you a good boy and checked out my suggestion on everyauth? [07:53] cachemoney: you should really read up on oauth [07:53] NuckingFuts: That's my biggst problem :/ [07:53] NuckingFuts: cachemoney: I have, but it's a complex protocol :V [07:53] cachemoney: i read oauth spec in a couple hours [07:53] NuckingFuts: cachemoney: how big is it? [07:54] NuckingFuts: ACTION is driving to the coast tomorrow. Some big pirate thing, IIRC [07:54] dall: guys someone use socket.io ? [07:54] NuckingFuts: Might as well get some reading material for the drive :P [07:54] Skola: pirates!? [07:55] cachemoney: NuckingFuts: not too long: http://tools.ietf.org/html/draft-ietf-oauth-v2-16 [07:55] NuckingFuts: Skola: EveryAuth solves EveryProblem, except mine. [07:55] dall: someone could help me? https://github.com/LearnBoost/Socket.IO-node/issues/249 [07:55] dall: i still have infinite loop on the "message" event [07:55] dall: �_� [07:55] McMAGIC--Copy has joined the channel [07:56] cachemoney: NuckingFuts: you could also read facebook/twitter api docs to get an idea of how they do it [07:58] NuckingFuts: cachemoney: Isn't the facebook site using a eparate system form the facebook APIs? [07:58] NuckingFuts: If not, I ought to read their docs [07:58] cachemoney: NuckingFuts: yes, but not twitter [07:59] NuckingFuts: cachemoney: Is that why xauth is? [07:59] cachemoney: NuckingFuts: twitter.com uses their own API [07:59] NuckingFuts: IS xauth compatible with OAuth 2? [07:59] csser has joined the channel [07:59] cachemoney: i'm not exactly sure how they handle auth to the api on twitter.com. might be just normal session id's + csrf tokens [07:59] msucan has joined the channel [08:00] cachemoney: not sure if xauth is in the oauth spec, doubt it though [08:00] NuckingFuts: cachemoney: So they probably have 2 authentication shits? [08:00] NuckingFuts: It can accept one of either method? [08:00] NuckingFuts: cachemoney: Either way, I don't want people to h4xx0r my site. [08:00] NuckingFuts: I want my users to be secure. [08:01] NuckingFuts: I'm not Mark Zuckerberg. [08:01] Tobsn: hmm seconds into human readable time [08:01] Tobsn: x days x hours x minutes etc. [08:01] Tobsn: it seems like all examples online just devide by days and minutes [08:01] Tobsn: wouldnt that be wrong? [08:01] Tobsn: shouldnt they extract downwards? [08:02] cachemoney: NuckingFuts: twitter.com loads an iframe to api.twitter.com/receiver.html and does all the ajax api requests from there. looks like it uses normal session id's and csrf tokens for POST data [08:03] dall: ?? [08:03] Tobsn: days = seconds / ( 60 * 60 * 24 ); hours = ( seconds - ( days * 24 * 60 * 60 ) ) / ( 60 * 60 ) [08:03] NuckingFuts: Tobsn: I use modulo in mine [08:03] Tobsn: yeah but isnt that wrong? [08:03] Tobsn: dont you have to substract what you already know? [08:04] NuckingFuts: Tobsn: 26 hours % 24 hours = 2 hours [08:04] Tobsn: well yes [08:04] NuckingFuts: floor( 26 hours / 24 hours ) = 1 [08:04] Tobsn: but now you have to substract those two hours [08:04] Tobsn: form the original timestamp to get the minutes and seconds [08:05] NuckingFuts: Tobsn: Yeah prolly could do that lol [08:05] Tobsn: dont you HAVE to? [08:05] Tobsn: otherwise you get just the same time in different formats [08:08] Yoric has joined the channel [08:08] ryan0x2 has joined the channel [08:08] dall: guys, is there another library to use socket in JS? [08:08] dall: (no socket.io) [08:08] dall: ? [08:09] Lorentz: Tobsn: You're trying to convert seconds in readable form? [08:09] Tobsn: yep [08:09] Lorentz: If you're dividing right, all you need is the whole number part. [08:09] CStumph has joined the channel [08:09] Lorentz: On the same seconds. [08:10] Tobsn: but dont you have on substracting? [08:10] Lorentz: Why would you? [08:10] Tobsn: well because if you got the days you need to take the day seconds out of the whole sum? [08:10] Lorentz: What's 119 seconds in minutes? [08:10] cachemoney: dall: what's wrong with socket.io? [08:11] Tobsn: (sum % 60) minutes and sum - (60 * (sum % 60)) seconds [08:11] herbySk has joined the channel [08:12] dominictarr: lorentz: 2 minutes [08:13] dall: cachemoney, no works :) [08:13] cachemoney: what's the problem? [08:13] dall: cachemoney, using one browser i have an infinite loop (chrome) using firefox the messages are not sent... [08:14] dall: cachemoney, https://github.com/LearnBoost/Socket.IO-node/issues/249 [08:14] Lorentz: Tobsn: Thinking again, you probably do want to subtract after calculating [08:14] Tobsn: see! [08:14] cachemoney: ah, 0.7 [08:14] Tobsn: either im going nuts or all those examples online are complete bullshit [08:14] Lorentz: 119 seconds is 1.98~ minutes, so just figure out how many seconds is in 1 minute, the whole number part of that [08:14] dall: cachemoney, yes [08:14] Lorentz: % would work too [08:15] dall: cachemoney, download 0.7 yesterday night [08:15] alabala123_ has joined the channel [08:15] Lorentz: Dunno what example you're looking at. [08:16] Skola: googling for js/php examples === 'fail' [08:16] Tobsn: yep [08:17] Skola: SO usually has better ones [08:17] cachemoney: dall: why don't you use 0.6? 0.7 isn't stable yet afaik [08:18] MattJ has joined the channel [08:18] dall: cachemoney, they will release 0.7 this weekend so i think it's ready [08:18] cachemoney: i'm gonna try to reproduce this [08:18] cachemoney: hold on [08:19] dall: ok thank you [08:19] kawaz_air has joined the channel [08:19] Tobsn: http://easydate.parshap.com/ [08:19] Tobsn: just gonna use that one [08:19] tiglionabbit has joined the channel [08:19] Tobsn: looks nice [08:19] unlink has joined the channel [08:19] unlink has joined the channel [08:19] alabala123 has joined the channel [08:20] jakeg has joined the channel [08:20] Tobsn: just gotta find out to tell it its seconds [08:20] Tobsn: hehe [08:21] rchavik has joined the channel [08:21] rchavik has joined the channel [08:21] CodyGray has joined the channel [08:21] Tobsn: arg nah i dont think i can use that [08:22] CodyGray has left the channel [08:22] CStumph has joined the channel [08:22] gkmngrgn has joined the channel [08:24] madsleejensen has joined the channel [08:24] jvduf has joined the channel [08:25] a_meteor has joined the channel [08:29] jakeg: what's the correct way to update np itself? 'npm install npm -g' and 'npm update npm -g' and other variants don't seem to work for me [08:29] jakeg: np -> npm [08:30] dominictarr: some times you just have to install again. depends on the lastest versions bug;s [08:30] Xano has joined the channel [08:31] jakeg: what *should* work? i can't even find that atm [08:31] jakeg: am on 1.0.10 [08:32] isaacs: jakeg: curl http://npmjs.org/install.sh | sh [08:32] isaacs: jakeg: like a fresh install [08:32] jakeg: ahh cool, thanks isaacs :) just wanting to try out the new --save you added ;) [08:33] isaacs: jakeg: it's not released yet [08:33] isaacs: jakeg: but you can get the source and make install [08:33] jakeg: shoudl probably update the main readme.md file to explain the correct way to upgrade. really isn't obvious atm [08:33] jakeg: k [08:33] isaacs: jakeg: mostly, just been too busy to run tests and review docs [08:33] isaacs: jakeg: well, post about 1.0.11, npm update -g *should* work fine [08:33] jakeg: thought about having --save work even if there isn't an existing package.json file or not? [08:34] isaacs: jakeg: yeah.. it'll fail if there isn't one. [08:34] jakeg: ahh right [08:34] isaacs: jakeg: maybe it should print a message about creating one, or doing `npm init`? [08:34] isaacs: feedback on that is great. please post issues :) [08:34] jakeg: that'd be great. anything to save someone manually having to write json would be a benefit [08:34] isaacs: sure [08:35] jakeg: would be particularly useful in combination with https://github.com/isaacs/npm/issues/914 [08:35] isaacs: jakeg: yeah, agreed [08:36] jakeg: cool. thanks for making npm amazing, such a time saver generally :D [08:36] isaacs: thanks [08:39] jakeg: woah, hadn't heard of/tried npm init before. that's perfect! [08:41] isaacs: jakeg: have you tried `npm version 1.2.3` [08:41] CStumph has joined the channel [08:41] isaacs: jakeg: it sets the version to that number in your package.json, then does a git commit and tags with v1.2.3 [08:42] stephank has joined the channel [08:43] jakeg: no i haven't :) [08:44] `3rdEden has joined the channel [08:45] jakeg: gtg [08:48] jbpros has joined the channel [08:49] coreb has joined the channel [08:50] sorin2189 has joined the channel [08:52] josephboyle1 has joined the channel [08:55] jacobolus has joined the channel [08:55] bogomips2_ has joined the channel [08:58] k1ttty has joined the channel [08:58] Charuru has joined the channel [09:03] d0k has joined the channel [09:04] tiglionabbit has joined the channel [09:04] csser has left the channel [09:05] bogomips2_: socket.io manage cookie to create auth mechanism ? [09:05] bogomips2_: or maybe i must manage using express call [09:07] bogomips2__ has joined the channel [09:07] aperiodic has joined the channel [09:10] Swizec has joined the channel [09:11] nodenews has joined the channel [09:13] saschagehlich has joined the channel [09:14] romanb has joined the channel [09:15] msucan has joined the channel [09:16] CStumph has joined the channel [09:16] JakeyChan: is there have good framework to build web app ?/ [09:16] Tobsn: Lorentz [09:16] Tobsn: https://gist.github.com/1034008 [09:17] Tobsn: turns iso string to fancy time ;) [09:17] Tobsn: like "2 days ago" [09:17] Tobsn: or "yesterday" [09:18] Tobsn: utc [09:19] matjas has joined the channel [09:19] saschagehlich: stagas: ping [09:20] Tobsn: moin sascha [09:20] Skola: dateFormat [09:20] Skola: is a cute lib for date shiz [09:20] Tobsn: skola, yeah didnt want to use a big lib [09:20] Tobsn: shits too big as it is [09:20] Skola: rip our w/e you need [09:20] Skola: out* [09:20] __tosh has joined the channel [09:20] etaty has joined the channel [09:20] Skola: it's pretty well written [09:20] Tobsn: hmm [09:21] Tobsn: yeah but all i need is to take a fixed iso string 2011-12-12T12:12:12Z which is already UTC, get local UTC, get difference and show fancy [09:21] Tobsn: like 2 hours ago, yesterday, 3 hours ago etc. [09:21] Skola: the show fancy part [09:21] Skola: is something you don't want to write yourself [09:21] Tobsn: well [09:21] Tobsn: its done [09:22] Tobsn: no turning back now :P [09:22] Skola: hah k [09:22] Skola: : D [09:22] Tobsn: its frontend anyway [09:22] Tobsn: so who cares [09:22] Tobsn: let it be the clients problem :P [09:22] Tobsn: im not even sure if that thing always works [09:22] Tobsn: oh and what confuses me the most i have to / by 10000 to get seconds [09:22] Tobsn: which i thought is 1000 [09:22] Tobsn: but if i devide by 1000 i get weeks instead of days [09:23] JakeyChan: I use Ctrl + C to stop node.js but When I restart the script, it tell me address in use . [09:23] JakeyChan: how to fix this problem ? [09:23] Skola: Jakey [09:23] Skola: ps aux | grep node [09:24] Skola: then kill it [09:24] raidfive has joined the channel [09:24] Tobsn: ps aux | grep node | killall [09:24] Tobsn: :P [09:24] Skola: kill -6 id [09:24] desdur has joined the channel [09:24] Tobsn: killall -9 node [09:24] Tobsn: :D [09:24] Skola: ja sure [09:24] isaacs has joined the channel [09:24] Skola: I sometimes have multiple daemons running [09:24] Tobsn: also shutdown -r now helps [09:24] JakeyChan: thanks ! :D [09:24] Skola: so I prefer to not do that [09:25] Tobsn: yeah but hes just gonna copy paste the wrong id and kill his sshd [09:25] Tobsn: then what? [09:25] Skola: he didn't though :D [09:25] Tobsn: hehe [09:25] Tobsn: accident [09:26] Tobsn: man silverlight takes shittons of CPU with it on osx [09:26] stagas: saschagehlich: hey [09:26] Skola: yep [09:26] JakeyChan: Tobsn: Do you have better way to stop it ?? [09:26] saschagehlich: stagas: you asked me to try everyauth, right? [09:26] Tobsn: http://dl.dropbox.com/u/1656816/Screenshots/rw66.png [09:26] Tobsn: JakeyChan, killall -9 node [09:26] saschagehlich: works quite well but I'm confused about facebooks way of directly accessing my app out of facebook [09:26] saschagehlich: it tries to access / via POST [09:27] saschagehlich: do you know what I have to do to get it working and to authorize the user? [09:27] JakeyChan: Tobsn: thanks [09:27] Tobsn: har [09:27] Tobsn: be careful with that [09:27] Tobsn: that kills all processes with executable "node" [09:27] Tobsn: and it kills it hard [09:27] Tobsn: -9 <- [09:28] Tobsn: saschagehlich, is that even possible? [09:28] Tobsn: all new apps are iframed [09:29] saschagehlich: hm dunno what facebook does there but when I try to open up my application via the facebook bookmarks it tells me "Cannot POST /?ref=bookmarks" [09:29] Tobsn: hmm [09:29] Tobsn: you sure you configed it right? [09:30] saschagehlich: mmmh what could have gone wrong? [09:30] Tobsn: a sec [09:30] Tobsn: opening my last one [09:30] Tobsn: bookmark url has to be the whole facebook app path [09:31] Tobsn: http://apps.facebook.com/yourcanvaspagename/?ref=bookmarks [09:32] saschagehlich: http://apps.facebook.com/beatquest/?ref=bookmarks [09:32] saschagehlich: results in "Cannot POST /?ref=bookmarks" for me [09:32] Tobsn: view-source:http://beatquest.fm/?ref=bookmarks [09:32] Tobsn: thats on your side [09:32] AAA_awright_ has joined the channel [09:32] asdfsafdsa: what's a good html reader module? i have to do some data mining [09:33] Tobsn: saschagehlich, facebook doesnt GET your stuff [09:33] Tobsn: it does POST [09:33] Tobsn: for each request [09:33] saschagehlich: well yea sure, but why is it doing a POST request and how does it want me to handle it? [09:33] Tobsn: in the POST vars you'll find session vars etc. [09:33] Tobsn: it wants you to handle it like a GET request [09:33] saschagehlich: can i use those session vars to authenticate the user? [09:33] saschagehlich: hm okay [09:33] Tobsn: but in the POST it sends tokens and session data etc. [09:33] Tobsn: yes [09:33] Tobsn: thats what they are for [09:34] Tobsn: but if you use the client side javascript sdk you can just ignore that [09:34] saschagehlich: will the client side sdk handle that automatically? [09:34] Tobsn: if you want to handle it server side you need the POST vars they send you for auth [09:34] Tobsn: should yeah [09:34] saschagehlich: hmmm [09:34] saschagehlich: okay I'll try that [09:34] saschagehlich: thanks! [09:34] Tobsn: np [09:35] Tobsn: like if you use the php sdk, the php sdk handles that all for you [09:35] Tobsn: idk if there is a node.js sdk ;) [09:35] Tobsn: but i dont think so [09:35] Tobsn: if youre completely bored you could create one for node.js [09:35] Tobsn: https://github.com/facebook [09:36] ewdafa has joined the channel [09:36] Tobsn: https://github.com/facebook/php-sdk/blob/master/src/base_facebook.php [09:36] Tobsn: just need to translate that [09:37] saschagehlich: oh only 1000 lines of code [09:37] saschagehlich: nice.... [09:37] saschagehlich: FUUUUUUUUUUUUUUUU [09:38] Croms has joined the channel [09:38] Tobsn: https://github.com/facebook/php-sdk/blob/master/src/base_facebook.php#L379 [09:38] Tobsn: i think its not that hard [09:38] Tobsn: all it does is getting the data from the POST request fields and making requests to the API with those tokens [09:38] Tobsn: i bet you could turn that into JS within an hour [09:38] madsleejensen has joined the channel [09:39] Tobsn: just need to replace curl with shell curl or a http request [09:39] Tobsn: and the rest is just string handling [09:40] Tobsn: ha [09:40] Tobsn: nevermind [09:40] Tobsn: https://github.com/tenorviol/node-facebook-sdk [09:40] Tobsn: there is already one [09:41] Tobsn: and there is another one only for graph access [09:41] Tobsn: https://github.com/gasi/node-facebook-graph [09:41] Tobsn: but you probably want the sdk [09:42] Tobsn: that would fix most of your problems i guess [09:42] newy_ has joined the channel [09:42] Tobsn: http://coolaj86.info/articles/facebook-with-node.js.html [09:42] Tobsn: there is another solution [09:43] langworthy has joined the channel [09:45] shinuza has joined the channel [09:48] newy_ has joined the channel [09:49] Mrfloyd has joined the channel [09:53] hojberg has joined the channel [09:57] Bj_o_rn has joined the channel [09:58] Bj_o_rn has left the channel [10:02] abraham has joined the channel [10:02] saschagehlich: ah sry didnt you wrote sth [10:02] saschagehlich: alrighty thx Tobsn [10:03] Tobsn: yeah just either take the node.js sdk [10:03] Tobsn: or do it client side [10:03] Tobsn: your decision [10:03] Tobsn: ;) [10:05] newy_ has joined the channel [10:05] simenbrekken has joined the channel [10:07] killfill has joined the channel [10:11] fyskij has joined the channel [10:11] hybsch has joined the channel [10:11] MrTopf has joined the channel [10:11] piscisaureus has joined the channel [10:12] saschagehlich: well it shouldnt be that hard to feed everyauth with the post data, right? [10:14] Tobsn: hmm? [10:14] Tobsn: there is no feeding [10:14] Tobsn: just handle the POST like a GET [10:15] Tobsn: they just do POST instead of sending a GET with the variables over the query string [10:15] saurabhverma has joined the channel [10:15] Tobsn: can someone tell me how bing.com knows what my friends watch? [10:17] tojochacko has joined the channel [10:17] Tobsn: i like that if you have "bing" in your google search google asks you if you mean "being" hehe [10:22] newy_ has joined the channel [10:22] FireFly|n900 has joined the channel [10:25] ngs has joined the channel [10:26] FireFly|n900 has joined the channel [10:30] ^wat^ has joined the channel [10:30] Tobsn: interesting [10:30] Tobsn: bing searches your likes [10:30] Tobsn: thats not supported in the facebook graph api [10:30] MonsieurLu has joined the channel [10:30] Tobsn: at least not for developers [10:30] Tobsn: wtf. [10:31] MonsieurLu has left the channel [10:31] mscdex: fb hax! [10:32] mscdex: Calvin: Bing is hacking facebook [10:32] Calvin: facebook page, home phone number and internet subscriptions cost hacking [10:32] path[l] has joined the channel [10:33] Tobsn: yeah def. fb hax [10:33] Tobsn: cause the likes cant be searched over their public api [10:33] JakeyChan has joined the channel [10:33] Tobsn: bing just does it [10:33] Tobsn: and nobody complained about this so far? [10:33] Tobsn: haha interesting [10:34] robhawkes has joined the channel [10:35] JakeyChan: Hi, I install haml with npm install haml -g and it be located in /usr/local/lib/node_modules/haml. [10:35] JakeyChan: But why have error said haml can not be found when require('haml') ? [10:36] tim_smart has joined the channel [10:38] insin has joined the channel [10:41] thejh has joined the channel [10:41] thejh has left the channel [10:42] jensn has joined the channel [10:42] indutny: JakeyChan: where are you trying to require it? [10:43] indutny: JakeyChan: because you can't require module installed globally [10:43] remy_g has joined the channel [10:43] uchuff has joined the channel [10:43] indutny: JakeyChan: you'll need to install it in a directory where you're trying to require it, or in any other parent directory of it [10:43] JakeyChan: indutny: so how to fix ? [10:43] indutny: JakeyChan: `npm install haml` [10:43] JakeyChan: indutny: thanks [10:44] JakeyChan: indutny: You are cool :D [10:44] ^wat^: :d [10:44] mAritz has joined the channel [10:44] JakeyChan: indutny: so when use -g flag ? [10:44] indutny: JakeyChan: mostly for CLI modules [10:44] indutny: JakeyChan: like coffee-script [10:44] squeese has joined the channel [10:44] indutny: JakeyChan: or vows [10:44] JakeyChan: CLI modules? [10:45] JakeyChan: OK. got it :D [10:45] demerzel3 has joined the channel [10:45] Tobsn: ha [10:45] Tobsn: "error": { [10:45] Tobsn: "type": "Exception", [10:45] Tobsn: "message": "Search queries are unsupported for this connection." [10:45] Tobsn: } [10:46] Tobsn: so you can search a persons links on facebook [10:46] Tobsn: but only from specified connections [10:46] Tobsn: like the bing servers [10:46] Tobsn: fuckers. [10:50] JakeyChan: how to get the object name ?? [10:50] JakeyChan: typeof only can get the type of variable [10:52] rvb has joined the channel [10:55] Twelve-60 has joined the channel [10:55] __sorin__ has joined the channel [10:56] thejh has joined the channel [10:57] jakeg has joined the channel [10:58] ChrisPartridge has joined the channel [10:59] djcoin has joined the channel [10:59] MrTopf has joined the channel [11:05] anno^da has joined the channel [11:09] pekim has joined the channel [11:10] Country has joined the channel [11:11] phpmycoder has joined the channel [11:11] phpmycoder: does anyone here have a good understanding of the internals of node? [11:12] topaxi has joined the channel [11:13] madsleejensen has joined the channel [11:13] thejh: phpmycoder: how deep? I can read and I think that I understand the JS part of the core [11:14] thejh: reading C++ isn't really my thing [11:14] phpmycoder: Not really mine either [11:14] phpmycoder: I was just trying to extend the fs module but it's prototype is undefined [11:14] Mrfloyd has joined the channel [11:14] phpmycoder: I was just wondering if there was any specific reason for this... [11:15] anno^da has joined the channel [11:15] igl1 has joined the channel [11:15] stagas: saschagehlich: did you try it? [11:15] phpmycoder: Yea [11:15] phpmycoder: TypeError [11:15] thejh: phpmycoder: what are you tring to archieve? [11:15] phpmycoder: I'm trying to add a function to the fs module through its prototype [11:16] phpmycoder: var fs = require('fs'); fs.prototype.myfunc = function(); [11:19] thejh: phpmycoder: should myfunc be available only in the file in which you define it or everywhere? [11:20] anno^da has joined the channel [11:20] xerox: anno^da: hi did you solve your problem? [11:20] thejh: phpmycoder: if only in the file in which you define it, you can just do `fs.myfunc = function(){};` [11:20] phpmycoder: No prototype [11:20] phpmycoder: ? [11:20] anno^da: xerox: Ah sorry had to leave yesterday. :/ Well I have not solved the problem till now. Let me try now once again. [11:20] thejh: phpmycoder: it's just an object containing methods [11:21] xerox: I'm going to lunch but best of luck [11:21] phpmycoder: Not a function. OK let me try that [11:21] phpmycoder: Have a nice lunch! [11:21] anno^da has left the channel [11:21] phpmycoder: It works perfectly!! [11:22] phpmycoder: I knew there was a way to do it. Many thanks! [11:23] thejh: question: is there a node module for magically finding leaks? something like "assertGarbageCollectedAfter(someObject, 5000)" which can print reference trees? [11:24] anno^da has joined the channel [11:25] Fodi69 has joined the channel [11:25] saschagehlich: stagas: not yet [11:25] anno^da has joined the channel [11:25] anno^da has joined the channel [11:26] chjj: node only 400 watchers behind jquery [11:27] Yoric has joined the channel [11:27] chjj: ACTION taps his foot [11:28] svenlito has joined the channel [11:29] djcoin: ACTION bang his head [11:33] markwubben has joined the channel [11:33] Yoric has joined the channel [11:34] anno^da: xerox: Even with this approach (which is taken from the documentation) - https://gist.github.com/93a2a5a1a67d4fbaabdf - I am not getting any kind of timeout event [11:37] __sorin_1 has joined the channel [11:38] zomgbie has joined the channel [11:41] Wizek has joined the channel [11:43] Tobsn: anyone ever saw a jquery lib that does image zooms like in google image search? [11:46] Yoric has joined the channel [11:46] indutny: hey node.js ninja! [11:46] xerox: Tobsn: yes definitely [11:46] indutny: upvote please for this: http://news.ycombinator.com/item?id=2670708 [11:46] Tobsn: where? [11:46] Tobsn: i cant find shit [11:46] Tobsn: and im searching for almost an hour [11:47] xerox: lol [11:47] xerox: mmm [11:47] Tobsn: seriously... nothing [11:47] Tobsn: well one [11:47] Tobsn: but that one looked ugly [11:47] Tobsn: the zoomed moved while coming up [11:47] xerox: I can't remember the name but I def saw it in the past [11:48] Tobsn: :/ [11:48] xerox: either a lib or the css trick used to make it smooth [11:48] Tobsn: any ideas for keywords? [11:49] xerox: I guess this is the one you found http://www.sohtanaka.com/web-design/examples/image-zoom/ [11:50] Tobsn: yep [11:50] xerox: if you clean up the back-to-original code [11:50] Tobsn: yeah right hehe [11:50] xerox: removing the unnecessary animation [11:50] xerox: it is purrrfect [11:50] pt_tr has joined the channel [11:50] Tobsn: move back and forth above the image [11:50] Tobsn: its jumping around [11:50] bradleymeck__ has joined the channel [11:51] xerox: yes but only on the mouseout [11:51] xerox: maybe not uuuh [11:52] Tobsn: yeah [11:52] xerox: http://www.addyosmani.com/resources/zoomer/zoomer.html [11:53] Tobsn: i like that one here [11:53] Tobsn: http://stackoverflow.com/questions/3467007/is-there-any-jquery-plugin-that-does-google-images-like-smooth-hover-effect [11:54] Tobsn: yeah i saw tha tone too [11:54] xerox: :D [11:54] cognominal has joined the channel [11:54] Tobsn: http://www.addyosmani.com/resources/zoomer/zoomer.js [11:54] Tobsn: problem with that one is its old as fuck [11:55] Tobsn: if(typeof console!="undefined"&&typeof console.debug!="undefined"){console.log(s)}else{alert(s)}} [11:55] Tobsn: that inside the code [11:55] Tobsn: nuff said [11:55] rauchg has joined the channel [11:56] xerox: steal google's js [11:56] xerox: :x [11:56] Xano has joined the channel [11:56] Tobsn: that thing also wobbels around [11:56] Tobsn: wtf [11:56] jarek has joined the channel [11:56] jarek has joined the channel [11:57] Tobsn: now go on google and compare that hehe [11:58] Tobsn: also, did you ever recognized that google sorts the width of the images to perfectly fit the the size of the page? [11:59] Tobsn: it like actually sorts them by size [11:59] xerox: it decides them arbitrarily [11:59] davidbanham has joined the channel [12:00] Tobsn: if you look into the source, each image has a width [12:00] Tobsn: and it sorts them so they fit in columns making up a fully filled line [12:00] cachemoney has joined the channel [12:00] xerox: that can't always happen [12:00] Tobsn: try it [12:00] xerox: no [12:00] Tobsn: i think they use also different margins around the images [12:00] stagas_ has joined the channel [12:00] Tobsn: to make it always end at a full width [12:00] xerox: either that or setting the widths [12:01] Tobsn: idk [12:01] Tobsn: but its done pretty damn well [12:01] xerox: maybe they use a text justification algorithm [12:01] xerox: like the TeX one [12:01] Tobsn: if you resize the window you see they reload the whole set [12:01] xerox: where the text boxes are replaced with image boxes [12:01] Tobsn: i tried to do the same with masonry and its not working at all [12:01] fairwinds has joined the channel [12:02] jonasen has joined the channel [12:03] Tobsn: it definitly sorts them somehow [12:03] Tobsn: and justifies it [12:03] Tobsn: evenly per line [12:03] Tobsn: but it looks like the images are also in some sort of column [12:03] Tobsn: problem is you cant really read their js code [12:03] xerox: not even with the latest chromne [12:03] Tobsn: its just complete obfuscated into their code [12:03] xerox: who has got a un-obfuscator built in?= [12:04] Tobsn: nah you can forget to get anything out of googles js code [12:04] Tobsn: trust me, i did that once [12:04] Tobsn: it snot worth it [12:04] Tobsn: they have this sort of framework [12:04] Tobsn: and their code is mixed into it [12:04] Tobsn: its a pain in the ass [12:05] Tobsn: you know whats really interesting? [12:05] Tobsn: if you click an image [12:05] Tobsn: it loads the page in the background [12:05] Tobsn: and overlays somehow a layer of the image in fullsize and the right sidebar [12:05] Tobsn: still havent found out how the fuck they do that [12:06] xerox: look at the url [12:07] Skola: totally node.js related, but abridged books must be the most retarded invention in history [12:07] sreeix has joined the channel [12:09] unlink has joined the channel [12:10] gde33 has joined the channel [12:10] azend has joined the channel [12:11] Croms has joined the channel [12:12] gde33 has left the channel [12:12] zeade has joined the channel [12:20] saschagehlich has joined the channel [12:20] shiawuen has joined the channel [12:23] adambeynon has joined the channel [12:25] andrenkov has joined the channel [12:27] eboyjr has joined the channel [12:28] eboyjr: Anybody care for an Omegle library for Node? https://github.com/eboyjr/vbotjr/blob/master/lib/omegle/index.js :3 [12:28] eboyjr: Lol [12:29] klovadis has joined the channel [12:30] SamuraiJack has joined the channel [12:30] thejh: is this the right place to ask things about v8 internals? in #v8, nobody answers my question [12:32] alessio_alex has joined the channel [12:32] alessio_alex: Hello [12:32] eboyjr: thejh, What do you want to know about v8? [12:35] thejh: eboyir: are there backreferences in v8? I'd like to build a node module which can use them in order to find the causes of memory leaks, and as v8 sometimes moves stuff around in memory, I think that there have to be backreferences... but I can't find them. [12:35] thalll has joined the channel [12:35] thejh: eboyir: something like `printReferenceTreeIfNotGoneAfter(someObject, timeout)` [12:36] eboyjr: Reference tree as in objects that 'point' to another object? [12:37] alessio_alex: Malformed URL exception: http://pastebin.com/S15CbGca [12:37] alessio_alex: Can anybody explain what's going on therE? [12:37] thejh: eboyir: yes [12:37] JakeyChan: why it can not work app.register('.html', require('ejs')); ?? [12:38] JakeyChan: failed to locate view "index", tried: [12:38] JakeyChan: - /home/jackey/workspace/practice/nodejob/views/index.ejs [12:38] hackband has joined the channel [12:38] thejh: alessio_alex: my guess: someone sent you rubbish (like "GET bar??foo HTTP/1.1") [12:39] Tobsn: bings api reaturns html in their titles and descriptions if you search for it [12:39] alessio_alex: oh [12:39] alessio_alex: thejh I saw something like that [12:39] Tobsn: search for and it will start returning complete chunks of html [12:39] alessio_alex: how should I handle the error? [12:39] Tobsn: awesome job microsoft. [12:39] jakehow has joined the channel [12:40] thejh: alessio_alex: maybe you can put an error handler on the server, something like server.on("error", handler) - not sure about that [12:40] davidbanham has joined the channel [12:40] orkz has joined the channel [12:40] alessio_alex: oh [12:41] alessio_alex: treat it like a regular error then [12:41] thejh: alessio_alex: yes [12:41] alessio_alex: ok, thanks [12:42] ChrisPartridge has joined the channel [12:42] zouguo has joined the channel [12:43] alessio_alex: thejh how can I replicate the error? I've tried putting #$%#$^$%^ in the title [12:43] alessio_alex: url * [12:43] eboyjr: thejh, I'm looking through v8's source now for something like what you want [12:43] alessio_alex: but it didn't trigget the error [12:43] eboyjr: thejh, I know there are callback functions that can get called before and after GC [12:43] thejh: alessio_alex: try connecting via telnet or netcat and manually write rubbish [12:43] kurtsymanzik has joined the channel [12:43] alessio_alex: ok [12:44] thejh: alessio_alex: not complete rubbish, but e.g. a querystring that doesn't start with a slash could work [12:44] thejh: eboyjr: thanks [12:44] alessio_alex: anything I type, it give me Connection closed by foreign host [12:45] alessio_alex: I'm sure someone tried to attack, because after that error I saw [12:45] alessio_alex: this in the url log /http://vlad-tepes.bofh.it/freenode-proxy-checker.txt [12:45] mraleph has joined the channel [12:46] thejh: alessio_alex: try "GET foobar HTTP/1.1" newline "Host: yourhostname" two newlines [12:46] thejh: alessio_alex: that's not an attack [12:46] liar has joined the channel [12:46] alessio_alex: what is it then? [12:46] thejh: alessio_alex: that's the automatic proxy checker of freenode that scans your computer when you connect - it makes sure that you aren't an open proxy [12:47] thejh: alessio_alex: so it talks to your webserver as if it was a proxy [12:47] alessio_alex: ah lol [12:47] kurtsymanzik has left the channel [12:48] thejh: alessio_alex: well, that explains it - when it's a normal http connection, the querystring looks like "/foo/bar", but when you talk to a proxy, you send a qs like "http://example.com/foo/bar" [12:49] bazookatooth has joined the channel [12:49] alessio_alex: the thing is this error happened before connecting to IRC [12:49] alessio_alex: and I've connected again in a new window [12:49] alessio_alex: got the proxy stuff [12:49] alessio_alex: but no error [12:49] alessio_alex: weird... [12:51] thejh: alessio_alex: do you want me to talk to your server as if it was a proxy? which port? [12:51] alessio_alex: yes [12:51] alessio_alex: can I give the link in private? [12:51] alessio_alex: ah [12:51] alessio_alex: lol [12:51] alessio_alex: stupid me [12:51] alessio_alex: yes, just regular port 80 [12:52] alessio_alex: http://dev.alessio.us/ [12:52] mraleph: thejh: you can either take a heap shaphot and inspect it or you can use referencedBy from debug API. see deps/v8/test/mjsunit/debug-referenced-by.js for the idea how to use it [12:52] alessio_alex: thejh I got the error [12:52] alessio_alex: what did you do?:P [12:52] thejh: alessio_alex: nothing yet [12:52] alessio_alex: what the hell [12:52] FireFly has joined the channel [12:53] mraleph: thejh: unfortunately node-inspector lags behind devtools gui so it's not as useful as new devtools for finding memory leaks. otherwise I would just recommend it :-0 [12:54] anno^da: xerox: I've confirmed with the developers of the mtgox api that the requests get dropped by their firewall. So there is no answer to my requests and I should run in a timeout. [12:54] thejh: mraleph: thanks! [12:55] thejh: alessio_alex: maybe googlebot came and crashed your site... [12:56] alessio_alex: it didn't crach [12:56] alessio_alex: crash * [12:56] alessio_alex: I' [12:56] alessio_alex: I'm just getting that strange error sometimes [12:56] S1kx has joined the channel [12:56] S1kx has joined the channel [12:56] thejh: alessio_alex: I'll try to crash it [12:56] alessio_alex: ok [12:57] eldar has joined the channel [12:57] jakeg has joined the channel [12:57] thejh: alessio_alex: I think that I did it :) [12:57] alessio_alex: no [12:57] alessio_alex: [ '/http://google.com/bar/foo' ] [12:58] alessio_alex: and 4 * [ '/' ] [12:58] thejh: alessio_alex: did you already add your error handler code? [12:58] xerox: anno^da: ah [12:58] xerox: anno^da: you could always create your own timeout [12:58] anno^da: xerox: Yeah that's what I'm doing now. [12:58] xerox: :/ [12:59] alessio_alex: thejh I'm using express [12:59] alessio_alex: so it won't crash, but I'll see the errors in the terminal [12:59] thejh: ah, ok [12:59] unomi has joined the channel [12:59] unomi has joined the channel [13:03] davidbanham has joined the channel [13:04] thejh: mraleph: does a Mirror use weak or normal references? so, does a mirror prevent gc? [13:05] sourcode has joined the channel [13:05] eboyjr has left the channel [13:05] uchuff has joined the channel [13:05] anatoo has joined the channel [13:07] alessio_alex: Haleluya [13:07] alessio_alex: site.com/?q=% [13:07] alessio_alex: that triggers it [13:08] mraleph: thejh: I think it uses normal reference [13:11] alabala123 has joined the channel [13:11] Bwen has joined the channel [13:13] Marak has joined the channel [13:13] Marak: zzzzzzzzz [13:14] Marak: with new and improved unit tests! https://github.com/Marak/hook.io/raw/master/screenshots/testrunner.png [13:14] klovadis: ha, Marak, one question [13:14] Marak: trying to refactor distributed messaging APIs without test is not healthy way of thinking [13:15] klovadis: how bored were you when you wrote the colors.js zalgo() part? [13:15] xerox: Marak: that green message is FAR too positive [13:15] Marak: klovadis: zalgo can cause unexpected behavior [13:16] stride: http://michalbe.github.com/css-nyan-cat/ catchy [13:16] Marak: klovadis: i have seen mail.app shit itself on iphone [13:16] S1kx has joined the channel [13:16] cjm has joined the channel [13:17] Marak: klovadis: sometimes you can get rendering engine of device to attempt write outside of allocated memory, since they miscalculate the stacked ligature pixel adjustment [13:17] Marak: then guess what happens? [13:17] Marak: i have no fucking idea, and neither does device [13:18] Marak: xerox: write you own damn testing framework [13:18] Marak: :-D [13:18] Marak: .green [13:18] klovadis: Marak: That part caught my attention since the module would only have 1/3rd of the size if that zalgo part would be left out : ) [13:18] klovadis: but I do understand programmers curiousity [13:18] xerox: Marak: I mean it is clearly overlooking all that is not well in the world at the time of the test [13:18] xerox: e.g. wars [13:18] xerox: :x [13:18] Marak: klovadis: you think maybe library should not have that method? [13:19] klovadis: Marak: I think the overhead is neglectible, but if I were to use it on a large-scale application, I would strip it out beforehand [13:19] Marak: fair enough, i just really wanted to post http://i.imgur.com/Nz870.png [13:19] klovadis: just because -.- [13:20] Marak: :-D [13:20] klovadis: xD [13:20] Marak: for every open-source occasion: http://imgur.com/a/ElWgw [13:20] klovadis: you sound like linus torvalds [13:21] klovadis: not that that's a bad thing [13:21] Skola: go upvote http://news.ycombinator.com/item?id=2670756 to promote coffeescript and give me lots of karma's [13:22] Marak: boated [13:23] Marak: im way too much of a noob to be linus [13:23] Marak: fuck [13:23] Skola: cheers [13:23] Marak: id need 20 more years [13:26] Skola: he was active at a fertile time for OS development [13:26] Skola: node.js could be the same for async webdev [13:26] mhausenblas has joined the channel [13:28] anno^da: xerox: Is it possible to set a user agent using the https.get shortcut method ? [13:29] jensn has joined the channel [13:30] slaskis: is there a module for libmagic for node? [13:30] bradleymeck__ has joined the channel [13:31] smtlaissezfaire has joined the channel [13:35] skm has joined the channel [13:36] jtrudeau has joined the channel [13:39] tlynn has joined the channel [13:39] jacter has left the channel [13:44] FIQ has joined the channel [13:45] Tobsn: xerox, any idea where to start to make such a border like google images? [13:45] Tobsn: i dont even know where to begin... [13:46] S1kx has joined the channel [13:48] aliem has joined the channel [13:48] sreeix has joined the channel [13:49] Dreamer3 has joined the channel [13:49] xerox: Tobsn: serve the images inside divs [13:49] Tobsn: but how would i get the border around it with more infos? [13:49] xerox: on hover, animate the div's dimensions and see where it gets you [13:50] Tobsn: that will just make the div bigger [13:50] xerox: you have a 0 padding [13:50] xerox: which becomes, say, 10 pixels on three sides [13:50] xerox: and uuh, 40? on the bottom [13:50] xerox: maybe more idk [13:50] jbrokc has joined the channel [13:51] xerox: but first animate the dimension, and add the drop shadow (maybe you can even add it gradually) [13:51] Tobsn: that still just resizes the div within others [13:51] Sorella has joined the channel [13:51] xerox: that depends [13:51] cognominal_ has joined the channel [13:51] xerox: on how the div is displayed [13:51] xerox: e.g. if they are floating, or absolutely positioned, or ... [13:52] Tobsn: its a float:left "gallery" [13:52] xandrews has joined the channel [13:52] xerox: you might need to re-think that [13:52] xerox: so that you can achieve all the niceties you want :) [13:53] Tobsn: hmm [13:53] jbrokc: can anyone link me to an example npmrc or does npm not work like gemsets (as in project specific)? [13:54] materialdesigner has joined the channel [13:56] socketio\test\08 has joined the channel [13:56] socketio\test\36 has joined the channel [13:57] bingomanatee: if you call npm while you are in a directory with a subdirectory named "node_modules" npm wil put your "gem" or module into that folder. [13:57] bingomanatee: If you are NOT in such a folder it will put your module into your user's (global) folder. [13:57] xerox: not quite [13:58] xerox: it will always put it in ./node_modules unless you specify -g [13:58] mynyml has joined the channel [13:59] xerox: with -g (global) it will use process.installPrefix to figure out what global means to you [14:02] anno^da: xerox: I know that the missing user agent is causing the API not to respond. Is there a way of setting the user agent for http(s).get / http(s).request calls ? I can't find a possibility in the docs for node.js 0.4.8 [14:03] xerox: anno^da: that seems utterly strange [14:03] xerox: it has an options object [14:03] xerox: as first parameter! [14:04] anno^da: yeah I know that but the options mentioned in the docs do not include the user-agent [14:04] xerox: look at the source [14:05] S2kx has joined the channel [14:06] indutny: xerox: anno^da: unrelated, but take a look at node.js bar: https://github.com/indutny/bar [14:06] Bogh has joined the channel [14:07] edude03 has joined the channel [14:07] S1kx has joined the channel [14:08] elpinguino has joined the channel [14:08] xerox: anno^da: looks like you just need to add an option like 'User-Agent': 'anno^da awesome program' [14:10] Mrfloyd has joined the channel [14:10] bogomips has joined the channel [14:10] bogomips: hi ;) [14:10] xerox: uuuh [14:11] adambeynon has joined the channel [14:12] anno^da: xerox: Ok I'm looking through the sources. It seems that the user-agent options gets ignored. [14:12] Corren has joined the channel [14:12] pickels has joined the channel [14:12] bazookatooth: node.js has me excited about dev again. thank you, node.js. [14:14] xerox: anno^da: hmmmmm [14:15] Swizec has joined the channel [14:16] Bwen: i'm playing with socket.io and in the event "disconnect" I dont have a client param... No way to find out which client disconnected? [14:16] Swizec: hey everyone [14:16] Swizec: is there a django-forms like middleware for node? [14:16] Swizec: something to validate inputs [14:17] Max-Might has joined the channel [14:17] xerox: anno^da: found :d [14:17] xerox: :D [14:17] adambeynon has joined the channel [14:18] xerox: { 'headers': { 'User-Agent': 'meeeeeee' }, 'uri': ..., ... } [14:18] sreeix_ has joined the channel [14:19] kawaz_air has joined the channel [14:21] pen has joined the channel [14:21] MrTopf has joined the channel [14:22] rfay has joined the channel [14:23] blup has joined the channel [14:24] anno^da: xerox: ahhh thank you [14:24] Dreamer3 has joined the channel [14:24] xerox: :D [14:24] xerox: excellent [14:25] t|f has joined the channel [14:26] Croms_ has joined the channel [14:26] anno^da: xerox: the options syntax makes sense :) [14:26] anno^da: and finally the request is working out now :) [14:26] xerox: woo [14:26] xerox: only 2 days of debugging [14:27] xerox: this must be the pace at which google writes its software [14:27] Skola: http://news.ycombinator.com/item?id=2670756 seems to be taking off quite well now :[] [14:28] paznicul has joined the channel [14:28] Swizec: Skola you get an upvote :) [14:28] Skola: heh, good [14:29] Skola: not mine though! [14:29] Skola: just thought it was worth sharing [14:29] Swizec: oh well :) [14:29] smtlaissezfaire has joined the channel [14:30] Swizec: anywho, I was thinking of creating an input validation middleware (sort of like django forms) [14:30] Swizec: anything like that exist already? [14:30] JoshC1 has joined the channel [14:30] bogomips: in socket.io how I read the client id and use it for send data to specific user ? ( now i have found something inside connection obj (clients)) [14:30] anno^da: xerox: Yeah. :-) But at least the CloudFoundry update is fast. This will lead me to help a bit with the documentation :-). [14:30] JoshC1 has joined the channel [14:31] S1kx has joined the channel [14:34] bogomips: ah ok i've found sessionID i think that is the value that i search [14:35] xerox: anno^da: uuh what? [14:36] anno^da: xerox: It is working now. :-) Just uploaded my local stuff to cloudfoundry which took a few seconds. Way less than the debugging. :P [14:36] mikeal has joined the channel [14:36] xerox: haha [14:36] xerox: what is this foundry of clouds [14:37] heavysixer has joined the channel [14:40] anno^da: ahhhh :) [14:40] anno^da: http://cloudfoundry.com/ [14:42] al3xnull_ has joined the channel [14:42] xerox: a bit dry :x [14:42] xerox: what does it consists of? [14:42] xerox: *consist [14:43] __sorin__ has joined the channel [14:43] __sorin_1 has joined the channel [14:46] maushu has joined the channel [14:47] ajoe47 has joined the channel [14:49] mandric_ has joined the channel [14:49] __tosh has joined the channel [14:49] perlmonkey2 has joined the channel [14:53] ezl_ has joined the channel [14:54] al3xnull_ has joined the channel [14:56] seawise has joined the channel [14:56] oleg has joined the channel [14:57] seawise: hello [14:57] indutny: hi [14:57] seawise: no activity for today, eh? [14:58] xandrews has joined the channel [14:58] abrookins has joined the channel [15:00] markwubben has joined the channel [15:01] anno^da: xerox: Haven't played much with it. Just wanted to try out some simple combination of Node.js + Spring MVC Webapp. (including a bit of web sockets communication with socket.io) Cloudfoundry offers Spring, Node.js, Ruby on Rails support till now. And MySQL, MongoDB and Redis support. [15:01] tlynn has joined the channel [15:01] anno^da: The cloudfoundry service can be run in a private network as well. (private cloud service) [15:03] sharkbone has joined the channel [15:04] al3xnull_: seawise: Today is simple Sinatra stuff. Worse yet, issues with CarrierWave & DataMapper. Would rather be working on the node project, but have to pay the bills somehow. [15:05] sreeix has joined the channel [15:05] bnoordhuis has joined the channel [15:06] Prism has joined the channel [15:07] seawise: Would rather be working on the node projects too, looking for a opportunity to move on it instead my daily work of developing Facebook apps [15:08] al3xnull_: Our business started Facebook apps for companies not long ago. Although they are on Node, it's still not using Node for anything interesting. Namely that we didn't want to setup another architecture. [15:09] seawise: I'm using node.js + mongodb stack in my playground stuff, I think node.js projects can be very nice to high-traffic Facebook apps, adding real-time experience and fun to the process [15:09] al3xnull_: We still support legacy ColdFusion applications though. Those are the worse things I have to work on. [15:10] al3xnull_: seawise: Agree completely =] [15:10] al3xnull_: On that note: What driver/ORM are you using for MongoDB? Preference? [15:11] __sorin_2 has joined the channel [15:12] pen has joined the channel [15:15] seawise: I use native mongodb driver, for ORM I'm looking to choose Mongoose as it seems it's most widely used [15:17] Xano has joined the channel [15:17] Skola has joined the channel [15:18] anno^da has joined the channel [15:18] seawise: actually I'm developing a HTML5 game with FB authorization able to run on multiple platforms in my free time, with node.js as application server [15:20] bentruyman has joined the channel [15:21] Skola has joined the channel [15:22] al3xnull_: seawise: That's pretty slick. =] [15:23] al3xnull_: seawise: Although, I have to say, Angry Birds on Chrome is pretty hard to beat ;) [15:23] seawise: are angry birds are available on Chrome? [15:23] seawise: seems I have missed something :) [15:24] al3xnull_: lol. Yeah. About a month ago maybe? Oh man. I wasted a good 3 hours of my work day when I found out. [15:25] m00p has joined the channel [15:26] dguttman has joined the channel [15:28] sourcode has joined the channel [15:28] seawise: what for do you use node.js? [15:29] seawise: in real apps? [15:30] Benny_ has joined the channel [15:31] al3xnull_: seawise: Currently I'm in the midst of working on a backend for Sproutcore in Node.js using (undecided) Faye or Juggernaut for realtime updates in my free time. I use Node.js at work for a lot of backend server monitoring and statistics which I then pipe to an Android application. Then the company runs Facebook customizations off of it connected to memcached/redis [15:32] CodyGray has joined the channel [15:32] jarek has joined the channel [15:32] jarek has joined the channel [15:33] Wizek has joined the channel [15:33] al3xnull_: Working for a consulting company though, when we don't get to choose technology, I end up working in ColdFusion, C#, or Ruby. So Node.js currently just is hard to get other companies to agree to considering how volatile the API has been in their minds. (Don't want to pay us $200/hr every month to update to the newest Node and such) [15:34] hwinkel has joined the channel [15:35] al3xnull_: Been trying to push Socket.io / Geolocation / interactive things but worries of things working IE is also preventative. So node.js may sit on the warm-up bench for a bit, sadly. [15:35] materialdesigner has joined the channel [15:35] AvianFlu has joined the channel [15:35] STUPIDWIFI has joined the channel [15:36] galaxywatcher has joined the channel [15:37] alessio_alex has joined the channel [15:37] jakehow has joined the channel [15:40] Benny_: NodeJS could only be a realtime game server, with Socket I/O, right [15:40] dhasenan has joined the channel [15:41] esundahl has joined the channel [15:41] seawise: I'm not really care about IE but Socket.io can degrade WebSocket connection to long-polling for IE, isn't it? [15:41] al3xnull_: seawise: Yes. [15:42] al3xnull_: Benny_: I suppose there are a number of ways to make a "realtime" game server -- Be it node or other servers. [15:42] Corren has joined the channel [15:42] nsolsen has joined the channel [15:43] Wizek_ has joined the channel [15:43] al3xnull_: Benny_: Socket.io probably make it easy, but I imagine it could be done with a number of messaging schemes. [15:43] slickplaid: Do TCP sockets in node.js have any sort of timeout? Or is it connect and it'll stay connected for as long as possible? [15:43] Benny_: Yeah, I mean its probably better to just make dedicated socket servers in C/C++ [15:43] Benny_: oh thats another option, just making the users connect by TCP [15:44] Max-Might has joined the channel [15:46] al3xnull_: slickplaid: I'm not entirely sure. Would have to read the docs closer. [15:46] al3xnull_: slickplaid: I want to say that there is most likely a default timeout value which can be changed. [15:47] tojochacko has left the channel [15:47] clifton has joined the channel [15:47] unomi has joined the channel [15:48] AvianFlu: seawise: yes, socket.io falls back to XHR if it can't get the websocket through [15:48] CodyGray has joined the channel [15:49] Benny_: I'm looking at the TCP/IP now and I don't see broadcasting... looking... [15:49] seawise: what is the benefits of using Faye/Juggernaught for messaging? my messages run simple using just Socket.io [15:50] alessio_alex: well I believe you can use multiple channels with Faye [15:50] alessio_alex: and you don't have to create multiple socket servers [15:50] alessio_alex: though it's been a while since I've used Faye [15:50] al3xnull_: seawise: Aye. Channels. [15:51] seawise: can you explain in detail? [15:51] alessio_alex: so for example you can make 2 channels [15:51] alessio_alex: 1: "/clients/chat" [15:51] alessio_alex: 2: "/clients/support" [15:52] tmpvar has joined the channel [15:52] alessio_alex: and you can send/receive messages for these 2 channels [15:52] alessio_alex: without having to create 2 servers [15:52] alessio_alex: one for each channel [15:52] alessio_alex: (as far as I remember) [15:52] al3xnull_: Correct. [15:52] alessio_alex: And I can tell you that Faye is really used and actively developed [15:53] alessio_alex: I'm subscribed to their google group [15:53] al3xnull_: Allows you to separate communication between clients, perform authentication, and avoid many open sockets & related servers. [15:53] alessio_alex: yup [15:53] alessio_alex: If you encounter problems, you can make a post on the group, J.Couglan (the dev) is really active [15:54] al3xnull_: alessio_alex: Question for you then because I'm trying to decide -- Is Faye using websockets or is it still just using polling (I think I read that on their docs) [15:54] alessio_alex: al3xnull_ both Faye and Socket.io use different stuff, depending on the browser [15:54] alessio_alex: on Chrome they'll use WebSockets [15:54] al3xnull_: Aye, just that the options exists. [15:54] al3xnull_: Okay [15:54] alessio_alex: on Firefox 3.something they'll use Flash for ex [15:54] slickplaid: Faye is pretty neat, I've gotta admit. Played with it for a while on a previous project but decided to go with dnode and something simpler (didn't really need pubsub for it) [15:55] slloyd has joined the channel [15:55] al3xnull_: alessio_alex: Thanks. I wondered about that. Doesn't mention sockets in the docs (might have missed it), but figured it was rather feature parity to Juggernaut. [15:56] alessio_alex: Erm, it's surely mentioned in the docs. [15:56] alessio_alex: Let me check [15:56] al3xnull_: slickplaid: To be honest, I wish I could just use Socket.io for this. My diagrams are rather involved between the client & server =P [15:56] al3xnull_: (With the need for different channels as pub/sub) [15:56] thejh: I recently switched to another linux installation on my PC, and to regain publish access to npm, I tried to copy ~/.npmrc to my new installation, but npm doesn't publish anyway. Is _authCrypt system-specific? [15:57] thejh: the error message is: "Error: Cannot insert data into the registry without authorization" [15:58] alessio_alex: al3xnull_ I cannot find that in the docs, but I have seen a post about all comunication methods in the group, so 100% it uses websockets, flash websockets, long pooling etc... depending on the browser [15:58] automatist has joined the channel [15:59] al3xnull_: alessio_alex: Okay. =] Sweet. Believe you ;) [15:59] slickplaid: al3xnull_, what's it for? Browser game? or did I misread up there. [15:59] al3xnull_: slickplaid: Sproutcore backend to provide realtime updates for the client [15:59] alessio_alex: cool [16:00] automatist has left the channel [16:00] al3xnull_: Although I spoke to #sproutcore guys and Thoth is actively developed for it, for now, I need to be able to get something up and running. Thoth makes my head hurt too much for a side project. [16:02] mwhooker has joined the channel [16:06] margle has joined the channel [16:06] bogomips has joined the channel [16:06] bartt has joined the channel [16:06] thejh: solved my problem [16:07] alessio_alex: what was it? [16:07] margle: Has someone built a ORM that allows you to choose which database you want to use? [16:07] __sorin__ has joined the channel [16:08] __sorin_1 has joined the channel [16:09] xastey has joined the channel [16:17] thejh: alessio_alex: that npm thing [16:18] __tosh has joined the channel [16:18] thejh: what do you guys around here think about this: https://github.com/thejh/node-assertvanish - assert that an object will be gone and if it isn't after a specified amount of time, print the reason [16:19] thejh: should be useful for debugging memory leaks [16:21] _Sorensen has joined the channel [16:21] CodyGray has left the channel [16:22] jbrokc has joined the channel [16:22] sharkbone1 has joined the channel [16:22] devsundar has joined the channel [16:24] smtlaissezfaire has joined the channel [16:27] sudhirjonathan has joined the channel [16:28] blup has joined the channel [16:30] devsundar has joined the channel [16:31] devsundar has joined the channel [16:32] margle_ has joined the channel [16:33] Swizec: damn it, I've been aching to start a node library all day [16:33] Swizec: what's the one thing you miss the most? [16:35] Skola: cigars [16:35] Swizec: implementing cigars in javascript might be tricky :P [16:35] tbranyen: Swizec: miss would imply i've had it before [16:35] tbranyen: as it stands i don't "miss" anything [16:36] tbranyen: make something new [16:36] Swizec: yeah, but what [16:36] Swizec: everything I come up with already exists :D [16:36] tbranyen: do better then [16:36] AvianFlu: there's no Tor wrapper last I checked [16:36] tbranyen: AvianFlu: interesting idea [16:36] AvianFlu: I've put a little thought into doing that one myself, but I'm busy and not completely aware what's involved [16:37] tbranyen: Creating a tor exit node with Node would be amazing [16:37] AvianFlu: bridges, too [16:37] tbranyen: yea [16:37] AvianFlu: make a lightweight bridge that could be run on any crap hardware [16:37] Swizec: bridge? [16:38] slloyd has joined the channel [16:38] AvianFlu: a bridge is a small, non-advertised tor entry point [16:38] AvianFlu: the idea being that somebody like the chinese gov't will block the public relay list, so smaller 'secret' relays are needed [16:38] AvianFlu: to help people get around stuff like that [16:38] tbranyen: oh hahaha thats awesome [16:39] tbranyen: i figured a bridge was a middle point in the tor network [16:39] AvianFlu: no, it's a term they use for the non-advertised server thing [16:39] AvianFlu: it's like, "Want to help? Please run a bridge or relay." [16:39] tbranyen: How would a bridge help anyone but yourself? [16:39] Swizec: hmm, pretty certain I don't know anything about tor :) [16:40] tbranyen: Its non-advertised [16:40] AvianFlu: it's not completely non-advertised [16:40] AvianFlu: it's just not on the public entry points list or whatever [16:40] AvianFlu: there are ways to get the address of someone else's bridge quietly [16:40] AvianFlu: I don't remember the details, but at one point I was on a US ISP that blocked tor connections, and I found a few bridge IPs [16:40] tbranyen: hmmm i guess i have no idea how that would be possible [16:40] devsundar has joined the channel [16:41] tbranyen: why have any public listed tor entry points if you don't have to? [16:41] AvianFlu: I think they do have to [16:41] AvianFlu: cause the main relays are the ones that can handle more traffic [16:42] AvianFlu: bridges are small and distributed [16:42] AvianFlu: hard to p2p the whole thing right off the bat [16:42] AvianFlu: I've assumed that if I got started on this project, I'd have to go find some devs involved in the main Tor project and talk to them about what i'd need to do [16:42] AvianFlu: but alas, real work [16:44] al3xnull has joined the channel [16:45] devsundar has joined the channel [16:46] Swizec: yeah I don't think I'd be able to pull off tor support [16:46] Swizec: idea: is there anything like a lazy sequence in node or javascript in general? [16:46] AvianFlu: yeah that's gonna be a team effort at some point lol [16:47] Swizec: I meant, I don't even know where to start :) [16:47] Benny_: If someone's going to add stuff to node.., more fully featured chat servers, or game servers would be very nice :) [16:48] Benny_: or maybe a way to play a game using only peer to peer messaging within a browser (possible?) [16:48] Benny_: like a client side nodejs? [16:48] AvianFlu: Benny_ : I bet you could do that with dnode [16:48] Swizec: hmm, or p2p websites [16:48] Benny_: ya a p2p hosted site [16:49] unomi has joined the channel [16:49] AvianFlu: problematic, how do you determine who has the real version of the site [16:49] AvianFlu: in a ring of peers [16:49] Swizec: how do you determine who has the real version of a movie? [16:49] Benny_: lol [16:49] AvianFlu: well that's what I'm saying, if we p2p host a page, what stops me from abusing the p2p and making a fake version full of xss or whatever [16:49] Swizec: I think the idea would have to be load sharing with your visitors [16:50] Swizec: where somebody is still in control of the validation hashes of some sort [16:50] Benny_: first person to change the checksum gets booted/banned lol [16:50] AvianFlu: makes sense [16:50] Swizec: so, hmm ... web workers? [16:51] Max-Might has joined the channel [16:51] AvianFlu: Swizec, have you looked at http://github.com/Marak/hook.io yet? [16:52] tbranyen: seems weird to call it hook.io without buying the hook.io domain name [16:52] rhio has joined the channel [16:52] Skola: wutwhat? [16:52] Skola: he has that domain [16:52] Skola: just is down atm [16:53] aliem has joined the channel [16:53] tbranyen: oh okay [16:53] Swizec: interesting [16:53] AvianFlu: last I checked he owns the domain [16:54] Swizec: if I'm reading this correctly, it helps node use multiple processes like its supposed to? [16:54] AvianFlu: pretty much, with the addition of namespaced events over dnode [16:54] jerrysv has joined the channel [16:54] AvianFlu: EventEmitter2 + dnode = win [16:54] Swizec: is dnode better than nowjs? [16:54] hellp has joined the channel [16:54] jbergstroem has joined the channel [16:55] AvianFlu: I mean, SubStack FTW I say [16:55] AvianFlu: but I can't say anything factual about nowjs, as I haven't used it yet myself [16:56] tbranyen: Swizec: i don't think you even compare the two [16:56] tbranyen: they aren't doing the same thing [16:56] ntr0py has joined the channel [16:56] Swizec: really? [16:56] Swizec: a brief glance at dnode told me that it does client-side function calling from the server [16:56] tbranyen: AvianFlu: didn't realize substrack wrote implementations of dnode in perl, ruby, and java [16:56] tbranyen: thats pretty sick [16:56] AvianFlu: yeah, substack is the man like that [16:57] tbranyen: Might bring it up to a client we just got who wants to do some cross language pubsub for the api [16:57] AvianFlu: Swizec: it's always bidirectional, so you can always method-call in both directions if I'm not mistaken [16:57] tbranyen: i was thinking of zeromq [16:57] AvianFlu: it's often referred to as "staring into the mirror" cause it's easy to get confused about which direction you want to be talking in [16:58] gazumps has joined the channel [16:58] Benny_: so you can have clients pretending they're servers, effectively? [16:59] AvianFlu: not pretending they're servers, exposing method calls to servers [16:59] AvianFlu: and to other clients if you wanted to get fancy [16:59] AvianFlu: it's basically a trick that lets you put method calls in JSON, instead of having to send JSON to the method call URI like with REST [17:00] klovadis: the cool thing about dnode is that you have a server on which multiple clients can connect to. by pretending that you can actually call methods on the other side it makes transferring messages really easy [17:00] Yoric has joined the channel [17:00] __tosh has joined the channel [17:01] Swizec: nowjs does the same thing [17:01] klovadis: there are a few tools that do that [17:02] thejh: Swizec: now.js does more [17:02] klovadis: if you hang out here you will have heard marak talking about hook.io which sort of does the same [17:02] thejh: but now.js is also uglier, for example, it scans the whole exported js every few seconds if it's in the browser [17:03] klovadis: i wouldn't want to use too much of that code in the browser anyway [17:03] _Sorensen: dnode is the better tool imo [17:03] klovadis: i'd be very wary of injections [17:03] Swizec: interesting, I'll have to give dnode a try [17:03] Swizec: nowjs has seemed somewhat slow at times [17:03] _Sorensen: ive used both [17:04] AvianFlu: what I've heard is that dnode is smarter and more efficient [17:04] _Sorensen: i would agree [17:04] AvianFlu: but I haven't used nowjs, so it's all hearsay [17:04] _Sorensen: now.js also seems to be geared towards being a solution [17:04] _Sorensen: and not just a tool [17:04] AvianFlu: right [17:04] Swizec: you think a websocket connection can be established client-to-client? [17:04] Swizec: or does it have to be client-server? [17:05] Benny_: thats what im interested in [17:05] _Sorensen: i've heard there are specs for client-to-client in the works [17:05] _Sorensen: from the w3 [17:05] Benny_: have someone start a flash game, then use this to create games, host, join, etc. [17:05] _Sorensen: but as of now, i don't believe its possible [17:05] Swizec: hmm [17:06] _Sorensen: no browser supports it [17:06] Swizec: flash can connect to other flash right? [17:06] Swizec: without a server in between? [17:07] _Sorensen: yes, but thats more or less the same thing [17:07] Benny_: nowjs reminds me of Erlang, correct me if I'm wrong. you can add new code on the fly to server and client, in realtime. and it will work [17:07] _Sorensen: as client-server [17:08] _Sorensen: benny: the mechanics behind that are extremely different [17:08] Swizec: oh well [17:08] Swizec: I think I'll go implement lazy sequences in javascript/node [17:08] Swizec: does anythign like that exist already? [17:08] _Sorensen: https://github.com/substack/node-seq [17:09] Swizec: god damn it [17:09] Swizec: the node community is just too vibrant and lively [17:09] _Sorensen: from the maker of dnode :) [17:09] kylefox has joined the channel [17:09] Swizec: or I'm being sooper uncreative lately [17:10] thejh: today, I wrote something that didn't yet exist: https://github.com/thejh/node-assertvanish - assert that an object will be gone and if it isn't after a specified amount of time, print the reason [17:10] _Sorensen: i dont think you can ever be too vibrant :P [17:10] Swizec: it's just bumming me out that I've been itching to make a node module all weekend [17:10] Swizec: and anythign I come up with already exists [17:10] _Sorensen: https://github.com/visionmedia/should.js doesnt do that? [17:11] thejh: if I have nothing to do, I invent crazy features for coffeescript, implement them and put them in their issue tracker [17:11] _Sorensen: i resort to making backbone.js extentions [17:12] _Sorensen: and apparently failing at getting docco to run [17:12] Swizec: with my luck everything for that exists already as well [17:12] _Sorensen: >.< [17:12] telemachus: thejh: Is that a problem you often run into or just having fun? [17:12] tmzt: Benny_: is nowjs layered over socketio? [17:13] thejh: telemachus: not one I often run into, but I already saw people on the mailinglist speculating about where memory leaks could be at least one time [17:13] Max-Might has left the channel [17:13] thejh: telemachus: so, more like "just having fun", I think [17:15] thejh: _Sorensen: I don't think so [17:16] _Sorensen: bah, im getting frustrated at docco [17:16] materialdesigner has joined the channel [17:18] tojochacko has joined the channel [17:18] tojochacko has left the channel [17:19] mynyml has joined the channel [17:19] jakeg has joined the channel [17:22] hkjels_ has joined the channel [17:24] jslatts has joined the channel [17:24] gleicon has joined the channel [17:24] asbo has joined the channel [17:25] Benny_ has joined the channel [17:26] thejh: _Sorensen: docco doesn't work for you? [17:26] Benny_: ohai [17:26] pifantastic has joined the channel [17:26] elpinguino has joined the channel [17:27] thejh: _Sorensen: what are you trying to do? [17:31] Benny_: socket.io looks cool. now I'm wondering what to do with dnode [17:32] materialdesign-1 has joined the channel [17:33] telemachus: thejh: Fair enough. [17:33] bazookatooth: i wish dtrace worked on gentoo [17:34] _Sorensen: thejh: trying to follow the minimal installation [17:34] thejh: _Sorensen: minimal installation? Isn't that "npm install -g docco; docco test.coffee"? [17:35] _Sorensen: after installing mecurial and pygments, then npm installing coffee-script [17:37] _Sorensen: this is what i get: /usr/bin/env: node: No such file or directory [17:37] _Sorensen: though it does exist [17:38] _Sorensen: i can 'npm install docco' [17:38] _Sorensen: but then get no CLI interface [17:38] mandric has joined the channel [17:39] indutny: _Sorensen: `npm install -g docco` [17:40] _Sorensen: i get permission problems [17:40] _Sorensen: and if i sudo, i get the error above [17:41] xandrews has joined the channel [17:42] perlmonkey2 has joined the channel [17:42] shinuza has joined the channel [17:43] indutny: _Sorensen: what OS are you using? [17:43] indutny: _Sorensen: redhat based? [17:44] indutny: _Sorensen: anyway, try running sudo -E npm install -g docco [17:44] _Sorensen: centOS [17:44] AvianFlu: isn't the -g supposed to come last? [17:44] _Sorensen: holy shit [17:44] _Sorensen: your the man [17:44] MrTopf has joined the channel [17:44] _Sorensen: whats the -E ? [17:45] _Sorensen: indutny++ [17:45] v8bot: _Sorensen has given a beer to indutny. indutny now has 1 beers. [17:45] thejh: _Sorensen: what do `whereis node` and `sudo whereis node` say? [17:45] indutny: _Sorensen: The -E (preserve environment) option will override the env_reset option in sudoers(5)). [17:45] _Sorensen: nice [17:45] _Sorensen: im linux nub some days [17:45] indutny: I'm defenitely too [17:46] _Sorensen: but i have no desire to dev on windows [17:46] indutny: _Sorensen: read my blog ;) http://blog.indutny.com/ [17:46] _Sorensen: nice [17:47] _Sorensen: i need to blog more [17:47] _Sorensen: just keep making things that no one knows about :P [17:47] _Sorensen: never heard of Bar [17:47] __sorin__ has joined the channel [17:48] indutny: _Sorensen: just open-sourced it [17:48] indutny: _Sorensen: so not so many people heard of it before :) [17:48] _Sorensen: hehe [17:49] indutny: ACTION _Sorensen: you can even upvote here, if you found it interesting: http://news.ycombinator.com/item?id=2670708 [17:49] _Sorensen: i've been using express and backbone for framework design [17:49] _Sorensen: upvoted [17:49] indutny: _Sorensen: yeah, they're pretty cool too [17:49] indutny: thanks [17:50] grekko has joined the channel [17:50] _Sorensen: i will have to give Bar a try on my next project [17:50] _Sorensen: a little too deep into this one [17:51] indutny: _Sorensen: ok, feel free to ping me here or on github, I'll try to respond on any issue ASAP [17:52] _Sorensen: it might be a few :P [17:52] blueadept has joined the channel [17:52] _Sorensen: working on https://github.com/sorensen/aebleskiver [17:53] anno^da: haha bitcoins are crashing down (offtopic :P) [17:54] Dreamer3 has joined the channel [17:54] indutny: anno^da: offtopic, upvote here http://news.ycombinator.com/item?id=2670708 ;) [17:54] indutny: haha, please [17:54] mandric has joined the channel [17:55] piscisaureus has joined the channel [17:56] Skola: done [17:56] Skola: bitcoins going down anno^da? [17:56] slickplaid: indutny, sounds like hook.io :) Upvoted :) [17:56] piscisaureus_ has joined the channel [17:57] TooTallNate has joined the channel [17:57] indutny: slickplaid: yep, but it's not like it! and you can use hook.io with it [17:57] slickplaid: sexy [17:57] fatblueduck has joined the channel [17:58] fatblueduck: http://pastebin.com/uD6gDG9k [17:58] darshanshankar has joined the channel [17:58] fatblueduck: I am trying to access data from mongodb that I've added from mongo's console [17:59] fatblueduck: I am using express and mongoose [17:59] indutny: fatblueduck: probably it can't be converted to string, try console.log(doc); without '+' [17:59] anno^da: Skola: Yeah they had been down at 0.01 $ / BTC [18:01] Skola: lol [18:01] dall has joined the channel [18:01] dall: hello [18:01] Skola: btw if you like coffee [18:01] Skola: http://news.ycombinator.com/item?id=2670756 [18:01] Skola: ^ [18:02] fatblueduck: idutny: when I remove the '+' and the rest of the preceding string... [18:02] fatblueduck: nothing prints to the log file [18:06] Yuffster has joined the channel [18:06] _Sorensen: so close to getting docco [18:07] _Sorensen: broken pipe issue [18:08] _Sorensen: think i may have installed pygments wrong [18:08] indutny: fatblueduck: hm... [18:10] dominictarr_ has joined the channel [18:11] fatblueduck: indutny: does it look like i'm on 'the right track'? [18:11] S1kx has joined the channel [18:11] S1kx has joined the channel [18:11] indutny: fatblueduck: ah, nope :) doc probably isn't a javascript object, but it's a model instance [18:11] indutny: fatblueduck: try calling .toJSON method [18:11] indutny: fatblueduck: or something like that [18:12] newy_ has joined the channel [18:12] adambeynon has joined the channel [18:12] fatblueduck: i did change the console.log in mongoose's open funcall to log.info and that is now pringing 'mongodb is connected' to my log file [18:13] fatblueduck: toJSON... [18:13] dhasenan has joined the channel [18:14] indutny: fatblueduck: sorry, last two messages wasn't clear for me [18:14] indutny: are they connected? [18:15] fatblueduck: yes it is connecting and i am seeing "mongodb is connected!!" in my log file [18:15] anno^da: Skola: Haha I like the bar. :-) [18:15] anno^da: Skola: http://bitcoincharts.com/charts/mtgoxUSD#rg1zig1-minzvztgWzm1g10zm2g25 (BTC graph :P= [18:15] dguttman has joined the channel [18:18] ArvinJA has joined the channel [18:19] jomoho has joined the channel [18:20] AvianFlu: so wait, wtf did bitcoins crash to nothing and rebound so fast over [18:20] indutny: anno^da: whoa! :) [18:20] indutny: AvianFlu: that was a chance for you to but millions of it [18:20] indutny: AvianFlu: and then sell it [18:20] indutny: haha [18:20] AvianFlu: ah yes, true [18:21] indutny: but we missed that [18:21] indutny: a software bug? [18:21] AvianFlu: I wonder how Marak will react to the bitcoin crash lol [18:21] pifantastic has joined the channel [18:21] indutny: btw, I fixed a three month old issue [18:21] indutny: AvianFlu: http://www.helpingmarak.net/ [18:21] indutny: issue in node-index [18:22] copongcopong has joined the channel [18:22] Sidnicious has joined the channel [18:22] _Sorensen has joined the channel [18:25] jacobolus has joined the channel [18:25] dominictarr has joined the channel [18:25] brimster has joined the channel [18:26] AvianFlu: LOL tty module FTW [18:26] indutny: AvianFlu: tty module? :) [18:27] isaacs has joined the channel [18:27] AvianFlu: yeah... last week I was playing around with the child_process module [18:27] jscheel has joined the channel [18:27] jscheel has joined the channel [18:27] AvianFlu: and I was having fun piping stdins and stdouts around [18:27] indutny: AvianFlu: yeah, that's a good experience [18:28] AvianFlu: but for some reason, python wouldn't work... but with the tty module, you can make a pseudo-tty [18:28] AvianFlu: which makes for much more diesel child process interaction [18:28] AvianFlu: and I can now wrap the python interpreter in node lol [18:28] indutny: AvianFlu: w00t! [18:29] sechrist has joined the channel [18:29] indutny: AvianFlu: it will be much interesting to build python on jslinux and then run it inside node.js [18:29] alabala123 has joined the channel [18:29] AvianFlu: that sounds pretty sweet [18:29] TheFuzzball has joined the channel [18:30] indutny: oh, Y U NO people are forking repos w/o changing it! [18:30] slickplaid: we just like the hot forking action [18:31] slickplaid: forked repos before it became mainstream [18:31] indutny: lol :D [18:31] langworthy has joined the channel [18:31] indutny: I'm checking graph tree sometimes to see if someone are working on my repo [18:31] indutny: but nobody is alive here [18:31] indutny: hehe :) [18:32] indutny: or a very small percent [18:32] rpj8 has joined the channel [18:32] indutny: like 3/11 [18:32] slickplaid: change all instances of String to something obscene. issue pull request for lulz [18:32] jhurliman has joined the channel [18:33] mykul has joined the channel [18:34] indutny: go and fork https://github.com/indutny/node-index [18:35] indutny: haha :) lol [18:35] indutny: "go fork yourself" [18:35] rpj8: I was in here a few days ago asking about a countdown function. A very nice guy, tim_smart, gave me my last answer, but requirements have changed since last time, so I apologize if you are sick of me asking this question: I'm attempting to get this to work: http://jsfiddle.net/sLyD3/, but somewhere along the line, self.player1 gets lost. I get `TypeError: Cannot call method 'send' of undefined`. I'm kind [18:35] rpj8: of lost right now :/ [18:35] Calvin has joined the channel [18:36] indutny: rpj8: I made small change [18:36] indutny: rpj8: should work now [18:37] indutny: rpj8: oh [18:37] indutny: rpj8: callback(--seconds, callback, next); => callback.call(self, --seconds, etc) [18:37] rpj8: indutny: ftw. link please? [18:37] indutny: rpj8: you're running callback in a global context [18:37] rpj8: am I? [18:38] indutny: rpj8: can you change that line? [18:38] indutny: rpj8: and try [18:38] indutny: rpj8: ;) [18:38] rpj8: indutny: surely. It's a shame; I just read about this stuff 2 days ago [18:38] rpj8: and the concept is already fuzzy again. [18:38] indutny: rpj8: or you can do that: client.game.timer(3, client.game.timer, ...) => client.game.timer(3, client.game.timer.bind(client.game), ...) [18:39] indutny: you're picking client.game.timer method and running it without context [18:39] indutny: so you should call it with context (via .call() method) or bind it to context before passing it [18:39] indutny: rpj8: is that clear? [18:40] rpj8: indutny: I mean, I understand what you mean when you say it's out of context. I'm just confused as to how it loses context in the first place. what line does it lose its context? [18:40] indutny: rpj8: it should work for first time, but when you'll call `callback` variable it will loose it [18:41] rpj8: :/ [18:41] indutny: rpj8: still not clear? [18:41] rpj8: I understand the fix and the concept [18:41] rpj8: no it's clear. [18:41] indutny: rpj8: ok :) [18:41] rpj8: I just don't understand _how_ it loses it [18:41] rpj8: I don't know [18:41] rpj8: hard to explain [18:42] rpj8: but thank you very much [18:43] andrewfff has joined the channel [18:43] S1kx has joined the channel [18:43] S1kx has joined the channel [18:43] indutny: rpj8: ok, let me explain. when you're calling any method like that: methodName() - it runs in global context, when you run it like that: object.methodName() - it runs in context of object, so this === object inside it. So what are you doing is: var a = obj.b; a(); [18:44] indutny: rpj8: that's why you need to specify context manually, by calling .call() or .bind() [18:45] ngs has joined the channel [18:45] cronopio has joined the channel [18:46] rpj8: woof. [18:46] CStumph has joined the channel [18:46] rpj8: that's so confusing. [18:46] mfussy has joined the channel [18:47] indutny: rpj8: just open repl and try it yourself [18:48] indutny: rpj8: it's pretty simple once you'll learn it [18:48] rpj8: indutny: ok i will do this [18:49] brianseeders has joined the channel [18:50] johnny has joined the channel [18:51] RC1140: hey guys sorry to bother , im looking for an example that can explain non blocking in node , can anyone point me to something [18:52] AvianFlu: RC1140 in what sense? [18:52] rpj8: indutny: is it because it uses the setTimeout function? [18:53] rpj8: that it loses context? [18:53] RC1140: im basically at a loss for words on how to explain it to co workers i.e. why everything is async [18:53] RC1140: when comparing it to say python or php [18:53] indutny: RC1140: https://gist.github.com/ed4a54bbedf0572c9c4c [18:53] rpj8: RC1140: example php blocks because it waits at ever line until it's done. JavaScript fires and forgets [18:54] rpj8: er, I guess apache blocks [18:54] rpj8: is what i meant [18:54] RC1140: sweet thanks for the example indutny [18:54] TheFuzzball has joined the channel [18:54] AvianFlu: RC1140: in a synchronous language, your lines will execute one after another in sequence [18:54] indutny: rpj8: not really, but when passing function directly as setTimeout argument - yes [18:54] AvianFlu: in the likes of javascript, it will start each line but not wait for them to finish [18:54] indutny: rpj8: in your example you're passing object's method as argument to other function [18:55] RC1140: so in that example the 'done writing' would only fire when the file is finished writing [18:55] rpj8: indutny: ohhhh oh oh [18:55] gde33 has joined the channel [18:55] indutny: rpj8: after that you're calling that argument and expecting that it'll run as you're running it in a context of object [18:55] indutny: RC1140: yes [18:55] rpj8: indutny: I gotcha. so it just pases the function() part without any context at all. [18:55] rpj8: indutny: i think i'm starting to understand [18:55] indutny: rpj8: yeah [18:55] indutny: rpj8: you got it [18:56] rpj8: indutny: woof. [18:56] rpj8: indutny: is it like that in every language that uses functions as first class objects? [18:56] indutny: rpj8: I don't really know, but probably answer is yes [18:57] indutny: ah, sorry - I meant no :D [18:57] indutny: b/c languages are often passing context along with a function [18:57] indutny: so you can't really detach method from object [18:57] mandric has joined the channel [18:57] RC1140: indutny, thanks dude you rock [18:57] AvianFlu: "So, now you teach me to jump good?" "No! ...I mean, yes!" [18:57] tbranyen: i will jump good for you [18:58] indutny: RC1140: of course, I'm a node.js rockstar! ;) http://blog.indutny.com/ hehe [18:58] themiddleman has joined the channel [18:58] tbranyen: aren't rockstars braindead [18:58] AvianFlu: only regular rockstars [18:58] indutny: tbranyen: I'm special [18:58] galaxywatcher has joined the channel [18:58] AvianFlu: node.js rockstars have extra awesome [18:58] indutny: lol :D [19:00] RC1140: indutny, added your blog to my rss reader [19:00] indutny: RC1140: thanks! There're more interesting stuff coming soon [19:00] rpj8: indutny: I see. Well thank you so much for yoru help!. [19:00] Skola: holy shit, bitcoin really _is_ dead [19:00] indutny: AvianFlu: you know, rackspace machines are so fast at building node [19:00] indutny: rpj8: np! you can ask a question at any time at #nodejitsu [19:01] roka has joined the channel [19:01] indutny: rpj8: we're always open to help anyone [19:01] indutny: rpj8: http://nodejitsu.com/ [19:01] tbranyen: indutny: you work at nodejitsu? [19:01] indutny: tbranyen: yes [19:01] elpinguino has joined the channel [19:01] roka: hi! [19:01] tbranyen: indutny: cool :D [19:01] rpj8: indutny: awesome! Hello nodejitsu! [19:02] jbpros_ has joined the channel [19:02] roka: i'm trying to set up node.js on my server but get some problems [19:02] roka: installed v0.4.8 locally in ~/local [19:02] AvianFlu: nodejitsu FTW :) [19:03] roka: when i run the example from nodejs.org it works. but when i change the port in .listen() to 80 i get an errot [19:03] roka: *error [19:04] roka: what am i supposed to do, to get node listen to port 80? [19:04] Skola: you run it with sudo? [19:04] Skola: low-number ports need root [19:04] roka: no, without [19:04] piscisaureus_: roka: prolly port 80 is privileged [19:04] Skola: try with [19:05] Skola: alternatively, use a higher port [19:05] roka: that makes sense [19:06] roka: but i liked to run it without sudo, thats why i installed it in my home. isn't it recommended to install it without sudo? [19:06] Aria has joined the channel [19:07] Skola: use higher port number [19:07] Skola: like 8080 [19:07] bnoordhuis: a port number that goes over 9000... [19:07] cafesofie has joined the channel [19:07] roka: but i like my site to be accessable without port declaration.. [19:08] bnoordhuis: roka: google for `iptables redirect` [19:08] Skola: why over 9000? [19:08] konobi: process.setuid() [19:09] bnoordhuis: Skola: know your internet memes [19:09] frewsxcv: roka: what you're looking for is a 'reverse proxy' (like nginx) [19:09] roka: to set node behind nginx? [19:09] Skola: xkcd? [19:10] frewsxcv: make run nginx run on 80, have node run on port X. tell nginx to forward all traffic to your web server (or a certain directory, like myserver.com/node) to go to port X [19:10] v0idless- has joined the channel [19:11] frewsxcv: roka: do you have anything else running on port 80? [19:11] shinuza has joined the channel [19:11] pifantastic has joined the channel [19:11] roka: at the moment there just node installed [19:12] frewsxcv: why not just run that on 80 then? [19:12] bnoordhuis: Skola: more like 4chan [19:12] Skola: ;p [19:12] frewsxcv: Skola: if you had multiple things on port 80 you wanted to run, like tomcat, apache, and node, then you'd want to use a reverse proxy [19:13] roka: i tried running ode o port 80, but theres the problem :) [19:14] frewsxcv: roka: what's the error? [19:14] roka: i try install nginx and redirect that [19:14] frewsxcv: roka: most likely it's because you are not root [19:14] tbranyen: yeah pretty much [19:14] thejh: +1 [19:14] roka: throw e; // process.nextTick error, or 'error' event on first tick [19:14] frewsxcv: if you want to bind an application to anything below port 1024, you need to be root [19:14] roka: okay [19:15] tbranyen: roka: try running it with root privs to see if it helps, if that fixes it, install and configure authbind [19:15] newy_ has joined the channel [19:15] tbranyen: and run it with that as a non-root user [19:16] Skola: anyone here familiar with compiling coffeescript at app runtime? (Express) [19:16] frewsxcv: tbranyen: does that allow a user to bind to <1024? [19:16] tbranyen: frewsxcv: yea [19:16] roka: do you run node as root or sudo or as user? [19:16] insin has joined the channel [19:17] tbranyen: roka: in a production environment you probably want to run it as a non-root user, in development sudo/root works fine [19:17] tbranyen: frewsxcv: its really really easy to set up too [19:17] mandric has joined the channel [19:17] tbranyen: you install it, create a directory and a file and then you're done basically [19:17] unlink has joined the channel [19:17] unlink has joined the channel [19:19] mfussy has left the channel [19:19] roka: other question: anybody using cloud9ide [19:20] bradleymeck__ has joined the channel [19:20] sharkbone has joined the channel [19:21] newy_ has joined the channel [19:22] Benny_ has joined the channel [19:22] Benny_: anyone here using Nodester.com ? says "Node.JS™ Open Source Hosting Platform" looks like can throw our apps up there free for testing? [19:22] mwhooker has joined the channel [19:23] langworthy has joined the channel [19:23] newy has joined the channel [19:26] frewsxcv: if i'm using express, and setinterval to add data into couchdb every minute, should i make these two separate scripts? [19:27] frewsxcv: i tried to make it on, but it just complained [19:27] __tosh has joined the channel [19:28] liar has joined the channel [19:28] brimster has joined the channel [19:29] dominictarr has joined the channel [19:30] Swizec: question: when calling a callback in a function, is it automagically called at next tick, or immediately? [19:30] frewsxcv: Swizec: i too am wondering that [19:32] McMAGIC--Copy has joined the channel [19:32] philtor has joined the channel [19:32] Swizec: any idea how to find out? [19:33] bnoordhuis: Swizec: what do you mean exactly? [19:34] brimster has joined the channel [19:34] Swizec: bnoordhuis say I'm doing this: something(arg1, function (result) { // do something with result }) [19:34] kkaefer: Swizec: immediately [19:34] Swizec: basic "asynchronous" code, with callbacks [19:34] Swizec: is it automagically asynchronous, or not? [19:34] kkaefer: Swizec: if you want to call it at the next tick, you have to use process.nextTick ;) [19:35] Swizec: so all the asynchronous code I've been writing isn't really asynchronous at all? [19:35] Swizec: that seems ... harsh [19:35] piscisaureus_: Node core modules do schedule the callback for the next tick. User modules might not. [19:35] kkaefer: it's async in some sense [19:35] kkaefer: but it /will/ block the event loop [19:36] kkaefer: e.g. if you have a long running loop in javascript [19:36] fairwinds has joined the channel [19:36] kkaefer: other event callbacks won't be called unless that loop ends [19:36] kkaefer: s/unless/until/ [19:36] Swizec: that sucks [19:36] kkaefer: why? [19:37] Swizec: well because you usually want to call the callback asynchronously [19:37] kkaefer: not always [19:37] Swizec: oh? [19:37] kkaefer: when you use process.nextTick(), you lose all stack trace information for example [19:37] kkaefer: there's process.nextTick() if you want to defer the call [19:38] kkaefer: so it really depends on what you're doing [19:38] Swizec: yeah, I guess [19:38] Skola: is it ok in Express to put models/routes in your /public? [19:38] Skola: or is public generally reserved for client-side code? [19:39] kkaefer: Skola: that's totally up to you [19:39] kkaefer: express doesn't force anything upon you [19:39] aurynn has joined the channel [19:40] Skola: ok it might be convenient because the coffeescript express.compiler doesn't play nice with just any dir [19:41] bazookatooth has joined the channel [19:41] topaxi has joined the channel [19:41] frewsxcv: so if i have "something(arg1, function () { console.log('meow') })" and "something2(arg2, function() { console.log('woof') })", do i have a guarantee that meow is going to run before something2? [19:41] bazookatooth: ++ [19:42] bnoordhuis: frewsxcv: entirely depends on what something and something2 do [19:42] frewsxcv: exapmle? [19:42] bazookatooth: so, no? [19:42] bnoordhuis: frewsxcv: if those functions defer callback invocation, there are no guarantees what callback will run first [19:43] frewsxcv: bnoordhuis: how would i know? [19:43] frewsxcv: in my case, i have a callback create a database [19:43] bnoordhuis: frewsxcv: look at the source or the documentation [19:43] dve has joined the channel [19:43] dominictarr: if they just nextTick then they get registered and called in other, otherwise, who knows. [19:44] Skola: entire Mt.Gox user db posted [19:44] Skola: :[] [19:44] bnoordhuis: frewsxcv: in pseudo code: db.create_db(query, callback1) [19:44] frewsxcv: Skola: where? [19:44] ritushishir has joined the channel [19:44] bnoordhuis: frewsxcv: where callback1 -> function() { db.insert(query2, callback2); } [19:44] Skola: not giving direct link [19:44] Skola: http://news.ycombinator.com/item?id=2671441 [19:44] aurynn has left the channel [19:45] sveimac has joined the channel [19:45] frewsxcv: bnoordhuis: i don't see anywhere that says the entire db was posted [19:46] frewsxcv: nevermind [19:46] MrTopf has joined the channel [19:46] abrookins has joined the channel [19:47] _Sorensen: bah [19:47] frewsxcv: bnoordhuis: https://github.com/frewsxcv/bitcoin-prices/blob/master/server/server.js lines 7-10 [19:47] _Sorensen: any idea why docco would return 'undefined' every time? [19:47] frewsxcv: will it create before the next few lines are run? [19:48] _Sorensen: it creates the html files, and the descriptions, but no code [19:48] bnoordhuis: frewsxcv: no [19:50] frewsxcv: bnoordhuis: i have no guarantee? [19:50] kbni has joined the channel [19:51] bnoordhuis: frewsxcv: no, but in this case i can actually assure you that your callback won't have run yet [19:52] Corren has joined the channel [19:52] josephboyle has joined the channel [19:52] frewsxcv: bnoordhuis: i know it's not a design flaw, but why would they design it to make it this way? [19:52] jonaslund has joined the channel [19:53] bnoordhuis: frewsxcv: complicated topic, concurrency and scalability mostly [19:53] frewsxcv: bnoordhuis: well how do i get around it? [19:53] jarek has joined the channel [19:53] jarek has joined the channel [19:53] frewsxcv: so i do have a guarantee? [19:53] Eber has joined the channel [19:53] bnoordhuis: frewsxcv: i already told you :-) [19:54] obuk has joined the channel [19:54] bnoordhuis: frewsxcv: you move the logic that should be executed *after* the database is created into the 'database created' callback [19:54] frewsxcv: bnoordhuis: but what if i wanted it executed in both cases [19:55] jarek_ has joined the channel [19:55] bnoordhuis: frewsxcv: both cases being? [19:56] frewsxcv: if the db doesn't exist, create it and run x() and y(). if it does exist, run x() and y() [19:57] Me1000 has joined the channel [19:57] patcito has joined the channel [19:57] bnoordhuis: frewsxcv: you would wrap x() and y() in a function z() [19:57] Eber: Does anyone knows a client side library that allows me to get info from the current request? Like... What if I wanna know on my js code if a request was made on a desktop browser or if I'm working with a mobile browser and stuff like that? [19:58] bnoordhuis: frewsxcv: perform a check (asynchronously) to see if the database exists; if it does, invoke z() - if it doesn't, create the database and from the 'database created' callback invoke z() [19:58] raidfive has joined the channel [19:58] tbranyen: Eber: without user agent sniffing i dunno if thats possible to distinguish easily [19:58] v0idless- has joined the channel [19:58] wookiehang0ver has joined the channel [19:58] hojberg has joined the channel [19:59] foxkid has joined the channel [19:59] Eber: tbranyen: I'm not trying to target js features per se... I was just wondering if I could asynchronously load a script for desktop browsers and a different one for mobile... [20:00] tbranyen: Eber: its hard to do stuff like that reliably :-/ [20:00] sveimac has joined the channel [20:00] Eber: tbranyen: I see... [20:00] tbranyen: Eber: you could use media queries to help load scripts, but again not reliable at all [20:01] sharkbone1 has joined the channel [20:01] Eber: tbranyen: yeah... i see there is a project from nathan smith I guess that addresses that... [20:01] tbranyen: link? [20:02] ph^ has joined the channel [20:02] F1LT3R has joined the channel [20:02] desdur has joined the channel [20:03] desdur: What node.js libs do they commonly use to abstract Redis APIs? It's getting hard to work with all the callbacks as the complexity grows... [20:05] sourcode has joined the channel [20:10] frewsxcv: bnoordhuis: there is not create databse callback [20:10] seawise has joined the channel [20:12] fatblueduck: does anyone know where an online demo may exist -showing a connection made to mongodb [20:12] fatblueduck: with data being taken from the db and printed to console [20:13] elpinguino has joined the channel [20:13] frewsxcv: fatblueduck: are you running into issues? [20:14] fatblueduck: yes [20:14] espressive has joined the channel [20:14] espressive: Hi there [20:15] espressive: Just did a pull from the github repo to update my version of nodejs [20:15] espressive: ./configure works fine [20:15] espressive: but make throws the following [20:15] espressive: Build failed: -> task failed (err #2): {task: uv uv.h -> uv.a} [20:15] espressive: Running this vis Cygwin on Windows [20:16] espressive: any ideas on hoe to solve this? I did do the export SHELL bit from the wiki [20:16] infynyxx has joined the channel [20:16] JustCute: espressive have u done git checkout v0.4.8 ? [20:16] espressive: no [20:16] espressive: I just did a pull from within the current node local repo [20:18] espressive: Do I need to run this first? If so, do I run this from within the node repo or from one folder up? [20:19] JustCute: v0.4.8 works for me on cygwin [20:19] JustCute: within the node folder [20:19] espressive: All I did was a git pull origin master [20:19] espressive: from within node [20:20] JustCute: u need the lastest version for any special reason? [20:20] seawise_ has joined the channel [20:21] espressive: Installed a module via npm but cannot find it when using require. npm installs it to node-modules now [20:21] isaacs: espressive: yes [20:21] JustCute: should work fine if u follow https://github.com/joyent/node/wiki/Building-node.js-on-Cygwin-%28Windows%29 [20:21] isaacs: espressive: if you install it locally, you'll get it via require()" [20:22] espressive: thought the latest nodejs version might contain a fix that will resolve the path issue [20:22] isaacs: espressive: npm help folders [20:22] isaacs: espressive: there is no issue. it works how it works on purpose. [20:22] espressive: ah ok [20:22] isaacs: espressive: cd into your project, npm install whatever, and then you'll be able to require("whatever") [20:22] isaacs: espressive: if you installed it globally, and want to use the global one, then `npm link whatever` to create a symlink, but that's really just a dev tool [20:22] espressive: cool, let me try this [20:23] isaacs: espressive: npm help link <-- more info there [20:23] espressive: ok, to install globally, I have to pass the -r flag right? [20:23] isaacs: espressive: -g [20:23] espressive: meant -g sorry [20:23] Fodi69 has joined the channel [20:23] isaacs: espressive: you don't have to apologize, npm will forgive you :) [20:23] espressive: awesome, let me try this out [20:23] espressive: thanks for the help [20:23] isaacs: np [20:23] espressive: ;) [20:23] devrim: hi guys, what do you use to make API calls ? http.ClientRequest ? [20:24] jakehow has joined the channel [20:24] frewsxcv: http.get http.post [20:24] xerox: I use node-request [20:25] devrim: thx! [20:25] isaacs: thejh: _authCrypt is system-specific, yes, and also not used any more. delete taht line and do `npm adduser` and enter the same username and password [20:25] isaacs: thejh: encrypting the auth was unnecessary and brittle. [20:25] isaacs: the file is 0600 and user-owned [20:25] thejh: isaacs: actually, just moving that file in the right location did it [20:25] materialdesigner has joined the channel [20:25] isaacs: thejh: kewl [20:26] Sorella has joined the channel [20:26] thejh: isaacs: and I can't remember the password and the password reset mechanism didn't work - the link in the password-reset-mail was loading forever [20:26] isaacs: thejh: yeah, then it reset, but was not returning properly [20:26] isaacs: thejh: fixed that this morning :) [20:26] isaacs: thejh: npm adduser should let you re-create now [20:27] fatblueduck: frewsxcv http://pastebin.com/dxe2mXX0 [20:27] isaacs: thejh: what is your username? [20:27] thejh: isaacs: what does "this morning" mean? I'm in GMT+1 [20:27] thejh: isaacs: thejh [20:27] isaacs: oh, sorry. about 3 hours ago [20:27] fatblueduck: I am trying to access the data I've added to mongodb from within node using mongoose [20:28] isaacs: thejh: yeah, it's there now, not reset. [20:28] isaacs: thejh: so you could try the reset thing again and re-create if you have any problems publishing now [20:28] isaacs: thejh: or if it's working, then that's fine :) [20:28] espressive: sweet, it's working [20:28] thejh: isaacs: well, as long as it works, I won't touch it :) [20:28] isaacs: :) [20:30] bradleymeck__ has joined the channel [20:30] tomtomaso has joined the channel [20:31] fatblueduck: anyone? http://pastebin.com/dxe2mXX0 [20:32] _Sorensen: does the find print? [20:32] fatblueduck: it does [20:32] fatblueduck: line 25? [20:33] fatblueduck: yes those print [20:33] _Sorensen: iUserAcct.find({}, function(err, docs) { [20:34] _Sorensen: UserAcct.find({}, function(err, docs) { }); [20:34] squeese_ has joined the channel [20:35] ivanzhao has joined the channel [20:35] ivanzhao: hello, any body knows a good "Model" library? I am using CouchDB for presistence [20:36] Aria: ... Make your models plain objects, and keep it simple? [20:37] fatblueduck: _Sorensen: the same messages print to the log file [20:37] ivanzhao: that's what I am trying to do. but good to see some example codes, especially working wth CouchDB (cradle) [20:37] ivanzhao: Aria: that's what I am trying to do. but good to see some example codes, especially working wth CouchDB (cradle) [20:38] iffy|x200 has joined the channel [20:38] Aria: ACTION nods [20:38] Aria: I've not used couch, but generally, I've found frameworks and libraries a hindrance to making a good data model [20:39] seawise: are there some node.js jobs section? this channel, other web? [20:39] Aria: jobs.nodejs.org [20:41] iffy|x200: i have a quick question on using underscore.js with node [20:41] iffy|x200: is this the right place? =] [20:41] pquerna: sure [20:41] Aria: Sure. I bet someone here's done it. [20:41] iffy|x200: iin the repl, it keeps replacing the _ variable with the return value from underscore [20:41] iffy|x200: for example: [20:41] iffy|x200: http://pastebin.com/4mL2CNxM [20:41] iffy|x200: what rookie mistake am i making? =P [20:42] Determinist: `3rdEden: you around, dude? [20:42] `3rdEden: yes [20:42] `3rdEden: Determinist always ;) [20:42] ivanzhao: Aria: totally agree with you. right now I have all model "schemas" are in the client (Backbone.Model). CouchDB is just a big json dump. however, now i need to do some model post-processing on the server, it would be nice to have some structure, hence I am looking for some code examples for inspiration. [20:42] Determinist: `3rdEden: may i pm? [20:43] `3rdEden: sure [20:43] Aria: iffy|x200: the repl does that -- _ is the value of the last expression. [20:43] iffy|x200: ::facepalm:: [20:43] iffy|x200: thanks Aria! that makes a whole lot more sense [20:44] abrookins has joined the channel [20:44] Aria: ivanzhao: Not sure what to say -- not exactly my set of tools, so I've not got the right things to inspire. Maybe someoen else does. [20:46] ivanzhao: Aria: thanks anyway! [20:46] Aria: Sure thing [20:46] ivanzhao: Aria: ps. this is the most popular node IRC channel, correct? [20:46] ivanzhao: Aira: I am new. [20:46] Aria: Yes. This is node's channel. [20:47] Aria: There's more specific ones, for say, nodejitsu, but this is the main one. [20:48] ivanzhao: Aira: cool. will stick around from now on : ) [20:48] micahjohnston has left the channel [20:49] piscisaureus has joined the channel [20:52] squeese has joined the channel [20:52] mandric has joined the channel [20:53] cloudhead has left the channel [20:54] stagas has joined the channel [20:55] mapleman has joined the channel [20:56] elpinguino has joined the channel [20:56] tbf has joined the channel [20:57] tbf: hi, someone knows what would cause this error with node-xmpp on calling its Client ctor? "TypeError: Object # has no method 'setupStream'" [20:59] Benny_: You guys think its good to have nodejs as a webserver and not just an application layer? i.e replace nginx with nodejs [20:59] edude03 has joined the channel [21:02] CodyGray has joined the channel [21:02] seawise has joined the channel [21:05] Swimming_bird has joined the channel [21:06] geekbuntu has joined the channel [21:07] dominictarr: tbf: thats a pretty generic error, something is getting passed to the wrong place somewhere. [21:07] dominictarr: you probably need to read the code. [21:09] tbf: dominictarr: hmm. ok :-/ [21:10] christkv_ has joined the channel [21:11] edude03_ has joined the channel [21:11] pt_tr has joined the channel [21:11] christkv_: hi guys/gals does anyone have the link to the presentation done by one of the google v8 engineers on how to optimize your code for v8 [21:12] Druide_ has joined the channel [21:13] telemachus: http://s3.mrale.ph/nodecamp.eu/ ? [21:13] christkv_: @telemachus awesome thanks :) [21:14] telemachus: cool [21:14] christkv_: @telemachus it's quite useful for the stuff I'm doing right now :) [21:15] marcello3d has joined the channel [21:15] AvianFlu: where's .ph? [21:15] telemachus: Good deal, christkv_ [21:16] AvianFlu: ah, philippines [21:17] marcello3d: 'sup all [21:18] seawise has left the channel [21:18] piscisaureus_ has joined the channel [21:19] cha0s has joined the channel [21:19] cha0s has joined the channel [21:19] darshanshankar: hey marcab [21:19] seawise has joined the channel [21:19] darshanshankar: hey marcello3d (whoops) [21:19] darshanshankar: what happened to nithub marcello3d ? :P [21:19] pplante has joined the channel [21:20] marcello3d: darshanshankar: the code or the hosted version? [21:20] darshanshankar: the hosted version [21:20] marcello3d: no idea. the no.de version would shut down randomly [21:20] marcello3d: and the duostack version seems to be gone? [21:21] marcello3d: no, maybe it's still up, they just shut it down randomly so it doesn't stay up to date: http://nithub.duostack.net/ [21:21] justinw312 has joined the channel [21:21] marcello3d: it says last scanned ~67328m ago :) [21:21] Sidnicious has joined the channel [21:21] Sidnicious has joined the channel [21:22] justinw312: Trying to update node by pulling newer source, then make clean, configure, make. Make fails with this: http://pastebin.com/L4KUNPVt (someone else having the same problem). Any ideas? [21:22] CodyGray has left the channel [21:22] marcello3d: justinw312: do you want to run 0.5.x or 0.4.x? [21:22] Aria: Are you building master or 0.4.x? [21:23] justinw312: Oh, I see. [21:23] marcello3d: looks like 0.5.x, so couldn't tell you, it could be a completely broken state [21:23] boaz has joined the channel [21:23] justinw312: Was intending to grab latest stable [21:23] justinw312: I see why thats failing [21:23] marcello3d: pull the 0.4 branch [21:23] justinw312: I mean, I see i was getting he wrong branch [21:23] justinw312: thanks! [21:25] marcello3d: doesn't look like there are that many changes over 0.4.8 though [21:27] simenbrekken has joined the channel [21:27] darshanshankar: ah lol I didn't know there was a duostack version [21:27] marcello3d: christkv_: around? [21:27] darshanshankar: i assumed it was just on 2.no.de [21:28] marcello3d: darshanshankar: well, I'll admit I spent very little time trying to get it running in a production-style environment — the node part runs fine, but the mongodb server randomly shuts down on no.de [21:28] darshanshankar: ah gotcha [21:29] marcello3d: but it's great that someone is actually interested enough to miss it :) [21:29] darshanshankar: ive been missing it man! [21:29] marcello3d: well [21:30] marcello3d: it can only run 60 github hits a minute [21:30] marcello3d: so it'll probably take an hour to update everything, assuming duostack doesn't shut it down again [21:30] marcello3d: half an hour [21:30] darshanshankar: ah i see [21:31] CStumph has joined the channel [21:31] marcello3d: I'll change the link on github [21:35] mraleph: christkv_: you can ask me directly if you have any questions. slides are not very informative :-) [21:36] KingJamool has joined the channel [21:36] marcello3d: ACTION goes back to writing a bson parser [21:37] darshanshankar has joined the channel [21:38] Marak has joined the channel [21:39] Marak: im having a dumb moment, can someone remind me how to prototype over String [21:39] Marak: ( dont ask ) [21:39] Marak: i thought this would work: [21:39] Marak: var _length = String.prototype.length; String.prototype.length = function(str){ return _length(str); }; [21:40] sstephenson: length is a property, not a function [21:40] TooTallNate: Marak: I think you need the Property Descriptor [21:41] Marak: ohh snap [21:41] rio{ has joined the channel [21:41] Marak: hows it going TooTallNate ? [21:41] TooTallNate: Marak: Object.getOwnPropertyDescriptor(String.prototype, 'length') [21:41] Marak: im hanging out in oakland at the stack haus [21:41] TooTallNate: Marak: good bro [21:41] jakeg has joined the channel [21:41] TooTallNate: we gotta meet one of these days :p [21:42] Marak: where you staying at TooTallNate ? [21:42] TooTallNate: north of SF; Marin Country [21:42] TooTallNate: *County [21:42] TooTallNate: San Rafael [21:43] Marak: got ya, do you commute to SF? [21:43] TooTallNate: ya, for now [21:43] TooTallNate: looking to get an apartment proabably around the end of the summer [21:43] Marak: i should come by and office crash sometime maybe [21:43] TooTallNate: Marak: Idk about overidding the String.prototype.length getter... [21:43] TooTallNate: { value: 0, writable: false, enumerable: false, configurable: false } [21:43] Marak: :-D [21:44] TooTallNate: haha, where's your office located? [21:44] TooTallNate: I'm still learning the city [21:44] Marak: page and divis [21:44] Marak: lower haight [21:44] TooTallNate: oh ok, I think I have an idea where that id [21:44] TooTallNate: *is [21:45] dominictarr: https://developer.mozilla.org/En/Core_JavaScript_1.5_Guide:Creating_New_Objects:Defining_Getters_and_Setters [21:45] dominictarr: Marak: https://developer.mozilla.org/En/Core_JavaScript_1.5_Guide:Creating_New_Objects:Defining_Getters_and_Setters [21:46] mikey_p: Marak: freaking softpedia sucks [21:46] mikey_p: "here's a really old and outdated version of some software with no link to the original source" [21:47] Marak: yeah i know [21:47] edude03_ has joined the channel [21:47] Corren has joined the channel [21:47] kawaz_air has joined the channel [21:48] fatblueduck has joined the channel [21:48] blup has joined the channel [21:49] Marak: same issue dominictarr [21:49] Marak: var _string = String.prototype; _string.__defineGetter__('length',function (){ console.log('len'); return _length(str); }); [21:49] Marak: is that wrong? [21:49] Marak: ooops [21:49] Marak: nm [21:49] Marak: disregard im dumb [21:49] mikey_p: the best part is that softpedia doesn't even provide a download mirror [21:50] brownies has joined the channel [21:50] Marak: TooTallNate: you think its not possible to overwrite that? [21:50] mikey_p: the one thing that could in theory be useful? nope [21:51] TooTallNate: Marak: Ya I'm starting not to... Damn Strings... [21:51] Marak: TooTallNate: I want to believe... [21:51] TooTallNate: I'm trying with Object.defineProperty(String.prototype, 'length', ... [21:51] Marak: but spider sense usually doesnt fail me... [21:51] TooTallNate: and it's not working that way either [21:51] xastey has joined the channel [21:51] Marak: fucking with string.length is super heinous to begin with [21:51] Marak: like seriously trouble making [21:52] TooTallNate: lol [21:52] Marak: think about that [21:52] Marak: i dunno how else we could fix this [21:52] TooTallNate: maybe you should just include a 'originalLength' prop [21:52] TooTallNate: or something [21:52] m00p has joined the channel [21:52] Marak: i have the destyle method ready [21:53] ezl_ has joined the channel [21:53] Marak: i think the only sane thing to do is do a patch to cli-table, i dont see how else it can be done [21:53] TooTallNate: modules can just use (str.originalLength || str.length) of they want to be color.js-aware [21:53] TooTallNate: Marak: I agree [21:53] Marak: TooTallNate: could i just add the destyle method right before padding is calculated? [21:53] Marak: its like 3 lines [21:53] TooTallNate: or ('destyle' in str ? str.destyle.length : str.length) [21:53] TooTallNate: like that [21:54] Marak: var code = /\u001b\[\d+m/g; function destyle (s){ return ("" + s).replace(code,''); } [21:54] Marak: THE THINGS WE MUST DO FOR COLOR [21:54] TooTallNate: meh, regexps [21:54] CodyGray has joined the channel [21:54] TooTallNate: hold on brb [21:54] Marak: sure [21:55] CodyGray has left the channel [21:57] bradleymeck__ has joined the channel [21:58] nphase-work has joined the channel [22:00] TooTallNate: Marak: It would be a bit cleaner to maintain an 'originalLength' the first time a string is colorized [22:00] TooTallNate: IMO [22:00] Marak: brb [22:01] Mrfloyd has joined the channel [22:02] Marak: i need to go make an angry phonecall, brb [22:02] Marak: :p [22:03] Marak: okay back [22:03] davve: that was quick [22:03] TooTallNate: lol [22:03] Marak: TooTallNate: SubStack swears he's up to some sort of hackery to make it work [22:04] christkv_: @mraleph: I'm planning on spending some time on the mongodb bson js parser with the v8 tools and the slides :) [22:05] jbpros_ has joined the channel [22:05] crayzee has joined the channel [22:05] marcello3d: christkv_: which v8 tools? [22:05] christkv_: @mraleph I have a feeling I can get the bson.js parser speed up by following some of your tips. It's about 50% of the speed of the C++ version. I'm hoping to narrow the window so it becomes a production worth parser [22:05] christkv_: @marcello3d the profiling tools [22:05] marcello3d: ah [22:06] marcello3d: I'm working on a js bson parser, as well [22:06] marcello3d: (and serializer) [22:06] TooTallNate: Marak: I'm curious, lemme know if you figure it out! [22:07] mraleph: christkv_: I see. [22:07] christkv_: marcello3d: I'll be curious about your progress [22:07] cryptix has joined the channel [22:07] Marak: TooTallNate: all i know is that i wont rest until my table cells have colors: https://github.com/Marak/hook.io/raw/master/screenshots/testrunner.png [22:07] marcello3d: trying to decide how to do double parsing, since it's added in node 0.5.x [22:08] christkv_: @marcello3d feel free to contribute anytime you wish :) [22:09] marcello3d: right now I'm just trying to wrap my head around it [22:09] boogyman has joined the channel [22:10] TooTallNate: Marak: well I'll put in a 'color.js compatibility check' into cli-table if you implement some sort of one! [22:10] TooTallNate: that is, if you don't figure out the .length thing [22:10] ashb: is there no way to add a path to the require.paths from the `node` cli? [22:10] ashb: `node -Ilib script.js` type thing [22:11] hermanjunge has joined the channel [22:11] SubStack: v8: var obj = { length : 555, toString : function () { return 'y!!!!!' } }; 'x' + obj [22:11] v8bot: SubStack: "xy!!!!!" [22:12] SubStack: v8: var obj = { length : 555, toString : function () { return 'y!!!!!' } }; [ obj.length, 'x' + obj ] [22:12] v8bot: SubStack: [555,"xy!!!!!"] [22:12] SubStack: TooTallNate: ^^^ [22:13] Marak: interesting [22:13] Marak: very interesting [22:13] TooTallNate: that might work [22:13] TooTallNate: it's breaking though [22:13] Marak: TooTallNate: how so? [22:13] TooTallNate: v8: var obj = { length : 555, toString : function () { return 'y!!!!!' } }; typeof obj [22:13] v8bot: TooTallNate: "object" [22:13] TooTallNate: pretty minor though [22:13] Marak: do you do typeof string? [22:13] SubStack: if you don't check for that it'll work [22:13] TooTallNate: oh yes! [22:13] Marak: that is kinda heinous still [22:14] TooTallNate: as opposed to 'instanceof String' that is [22:14] Marak: yeah [22:14] TooTallNate: it would be sweet if this FakeString had all the regular functions too [22:15] TooTallNate: and like .substring returned a colored string like you'd expect it to [22:15] SubStack: v8: var obj = { prototype : String.prototype, length : 555, toString : function () { return 'y!!!!!' } }; [ obj.length, 'x' + obj, obj instanceof String ] [22:15] v8bot: SubStack: [555,"xy!!!!!",false] [22:15] SubStack: hmm [22:15] SubStack: ah [22:15] SubStack: v8: var obj = { __proto__ : String.prototype, length : 555, toString : function () { return 'y!!!!!' } }; [ obj.length, 'x' + obj, obj instanceof String ] [22:15] v8bot: SubStack: TypeError: String.prototype.valueOf is not generic [22:15] SubStack: hah [22:15] TooTallNate: lol wtf? [22:16] TooTallNate: overwrite .valueOf [22:16] TooTallNate: same as .toString [22:17] SubStack: v8: var obj = { __proto__ : String.prototype, valueOf : function () { return obj.toString() }, length : 555, toString : function () { return 'y!!!!!' } }; [ obj.length, 'x' + obj, obj instanceof String ] [22:17] v8bot: SubStack: [555,"xy!!!!!",true] [22:17] TooTallNate: fuck yeah [22:17] SubStack: typeof still won't work [22:17] SubStack: but pretty close [22:17] TooTallNate: instanceof is useless in node [22:17] TooTallNate: unfortunately [22:18] TooTallNate: but it's probably good enough [22:18] TooTallNate: and Marak, if your q was directed at cli-table specifically, I doubt it [22:19] TooTallNate: so I think this little hack might actually be a good idea! [22:19] _fat has joined the channel [22:20] jbergstroem has joined the channel [22:20] Marak: substack TooTallNate: appears to be working... [22:20] Marak: var obj = { __proto__ : String.prototype, valueOf : function () { return obj.toString() }, length : str.length, toString : function () { return '\033[' + styles[style][0] + 'm' + str + '\033[' + styles[style][1] + 'm'; } }; [22:21] Marak: didn't even need to destyle, i can catch before style is applied [22:21] TooTallNate: you tried with cli-table? [22:21] Marak: TooTallNate: about to [22:21] TooTallNate: cool :) [22:21] seawise: anyone running node.js project I can participate for training? [22:22] bradleymeck__ has joined the channel [22:22] jakeg: seawise: just follow a load of projects on github, read the code, suggest changes etc [22:23] seawise: I'm playing with node.js, socket.io, mongodb, redis, facebook api - want to participate in some real project [22:23] SubStack: build something [22:23] SubStack: yourself [22:23] seawise: I'm building by myself :) [22:24] CodyGray has joined the channel [22:24] seawise: want to participate in some other projects to expand my horizons and have "older brother" to learn from [22:24] CodyGray has left the channel [22:24] Marak: seawise: github.com [22:24] Marak: we accept pull requests [22:25] Marak: go find low hanging fruits [22:25] seawise: ok, github.com [22:25] Marak: and pick them [22:25] Marak: get on the mailing list [22:25] _fat: hey Marak SubStack i have a question about Module.prototype._compile in modules.js ... are you guys familiar with it? [22:25] Marak: there is a github followers thread [22:25] seawise: can you suggest "real" node.js projects [22:25] swistak has joined the channel [22:25] seawise: that are not libraries [22:25] SubStack: _fat: never heard of it [22:25] seawise: of code [22:25] Marak: seawise: http://blog.nodejitsu.com/ten-node-apps-that-need-to-exist [22:25] _fat: :( [22:25] SubStack: how are libraries not real projects? [22:25] Marak: _fat: negative [22:25] SubStack: non-libraries are the bad kind of project [22:26] seawise: I mean projects with usage in real world [22:26] TooTallNate: Marak: haha, and where's my HTML mode bro? [22:26] TooTallNate: https://github.com/Marak/colors.js/issues/4 [22:26] seawise: good link, Marak [22:26] TooTallNate: go implement that seawise :p [22:27] Marak: TooTallNate: i dont think i can implement this fix in colors.js for cell rendering [22:27] SubStack: "real world" what is this [22:27] Marak: the cli-table code uses typeof checks [22:27] Marak: SubStack: THEY EXPECT RESULTS! [22:27] TooTallNate: hmmmm [22:27] TooTallNate: damn [22:28] TooTallNate: maybe I can combine it with an instanceof check first [22:28] TooTallNate: but that would fail if NODE_MODULE_CONTEXTS is ever set [22:28] seawise: Marak, seems you have great activity on GitHub, do you have some project you accept help to? [22:28] Marak: seawise: all of them [22:28] Marak: we are trying to fix multiple issues right now [22:28] Marak: as we speak in here [22:29] Marak: TooTallNate: im gonna patch cli-table on my end to destyle pre-length [22:29] Marak: enough of the insanity [22:29] Epeli has joined the channel [22:29] _fat: Marak: do you have any idea how i could hack require-analyzer to accept a string? instead of just files? [22:30] seawise: ok, will check them finding ones to join and re-read the channel backlog [22:30] TooTallNate: haha oh well [22:30] SubStack: _fat: what kind of require analysis are you doing? [22:30] Marak: _fat: have you looked at SubStack's new thing? maybe it will help [22:30] SubStack: http://github.com/substack/node-detective [22:30] _fat: yeah i have [22:30] _fat: it's cool [22:30] SubStack: only looks at source, not package.jsons [22:31] _fat: it only takes the most simple require formats though [22:31] _fat: require-analyzer supports more...because of your _load hack [22:31] SubStack: do you have any fancy require()s? [22:31] tilgovi has joined the channel [22:31] tilgovi has joined the channel [22:32] _fat: well... i'm trying to build this into a project dustin diaz and i started called ender... [22:32] _fat: so... [22:32] _fat: the stuff we don't want to limit the stuff others might be analyzing [22:32] _fat: as much as possible [22:32] jbrokc has joined the channel [22:33] _fat: wow... that made so sense huh? [22:34] hybsch has left the channel [22:34] mwhooker has joined the channel [22:34] _fat: basically we just want to be as flexible as possible [22:34] thalll_ has joined the channel [22:35] CStumph has joined the channel [22:36] _fat: Marak: this might be a dumb question... but if i were to just eval a string in your bin/find-dependencies file... it would work right? [22:36] Marak: _fat: i'm sorry my head is in a completely diffirent place right now, im trying to fix the got dang colors [22:37] _fat: aww ok [22:37] _fat: no problem [22:37] Marak: indexzero is the guy to ask about RA anyway [22:37] _fat: alright [22:37] perlmonkey2 has joined the channel [22:37] _fat: what's wrong with colors? [22:37] perlmonkey2 has left the channel [22:37] abrookins has joined the channel [22:39] xerox: I want to kiss whoever invented .bind(...) [22:39] Marak: _fat: if you are doing padding calculations for color'd strings based on the length of str.... [22:39] xerox: Also, how does one implement quoting succintly [22:39] Marak: _fat: like in doing CLI tables... [22:39] xerox: ...and without hacks! [22:39] Marak: _fat: fuuuuuuuuuuuuuuuuuuuuuuuu [22:39] _fat: haha [22:39] Marak: i got it though [22:39] stagas has joined the channel [22:39] _fat: nice [22:40] Marak: _fat: we try to prototype string.length, TooTallNate makde me [22:40] Marak: i said dont do it [22:40] liar has joined the channel [22:40] Marak: it didnt work out [22:40] _fat: haha [22:40] a_meteorite has joined the channel [22:40] SubStack: xerox: quoting like JSON.stringify? [22:40] Marak: so i gotta patch the table tool [22:40] Benny_: http://blog.nodejitsu.com/ten-node-apps-that-need-to-exist <- that's an awesome link. thanks Marak [22:41] Marak: Benny_: glad to help, its a little dated [22:41] Marak: ill try to update that sometime soon [22:41] xerox: SubStack: string.split(/\s+/) [22:41] xerox: except when "something is quoted" [22:42] hellp has joined the channel [22:42] jbrokc has joined the channel [22:42] xerox: also should "not strip "the inner ones" for extra points" :D [22:43] jacobolus has joined the channel [22:44] SubStack: xerox: what are you doing? [22:44] marcello3d: :D [22:44] marcello3d: sample BSON 1 [22:45] marcello3d: ✓ parses to {"hello": "world"} [22:45] marcello3d: sample BSON 2 [22:45] marcello3d: ✓ parses to {"BSON": ["awesome", 5.05, 1986]} [22:45] Corren has joined the channel [22:45] xerox: SubStack: I am doing somestring.split(/\s+/) but I would like quoted substring to to be splitted [22:45] xerox: *substrings [22:46] ggg has joined the channel [22:46] ggg: allo [22:47] ggg: anyone here, I have a rather general question, and im looking for some opinions [22:48] SubStack: xerox: if javascript's regex engine had zero-width negative lookbehind assertions you could just do .split(/(?