[00:00] Kage: Im a weeeeeeeeeeeeeeeeeeee bit lost [00:00] erichynds has joined the channel [00:00] Kage: is Node.js part of jQuery? [00:01] TooTallNate: no [00:01] joshgillies: lol [00:01] joshgillies: if only [00:01] Kage: is Node.js alterntive to Node.js? [00:01] Kage: to jQuery* [00:01] joshgillies: Yes [00:01] Kage: ok [00:01] TooTallNate: no, it's not an alternative [00:01] TooTallNate: not even close [00:01] joshgillies: Wait, not what you said, what you said before you fixed it [00:02] joshgillies: Node is totally alternative to node [00:02] jpMcgrady: kage: http://stackoverflow.com/questions/1801160/can-i-use-jquery-with-node-js [00:02] joshgillies: And that's enough unhelpful babble from me [00:02] joshgillies: ;) [00:03] Kage: I am looking at the RealTimeMultiplayerNodeJs lib... and I am really confused on what is server vs. what is client? [00:03] captain_morgan has joined the channel [00:03] Kage: and where does drawing take place? [00:03] mikeal has joined the channel [00:04] AvianFlu_ has joined the channel [00:04] TooTallNate: Kage: node is the server [00:04] Kage: TooTallNate: I see.... how does it talk to the client though? [00:05] jpMcgrady: kage: it may be worth your time to start on something a little less built up than that module [00:05] Kage: Socket.io.js? [00:05] TooTallNate: Kage: i'd guess by starting an http server and talking to it [00:05] TooTallNate: if the project uses socket.io then it uses that for communication [00:06] Kage: I love how javascript has been hacked into doing things the original designers never intended it to do [00:07] sh1mmer: actually [00:07] sh1mmer: livescript includes a server implementaiton [00:07] sh1mmer: back before it was even called JavaScript [00:07] daneroo has joined the channel [00:08] Kage: jpMcgrady: are you refering to RealTimeMultiplayerNodeJs as the module? [00:08] reid has joined the channel [00:09] Kage: also... how does it extend classes, I thought javascript didn't have classes only instances... [00:10] Kage: maybe it means extend by combinding instances? [00:10] hdon- has joined the channel [00:11] jimt has joined the channel [00:11] sh1mmer: Kage: JavaScript has prototypal inheritence [00:11] sh1mmer: Kage: you can create various flavours of classical inheritance using it [00:12] sh1mmer: in Node we have some utility methods which overload the prototype of a Class definition to provide inheritence [00:12] jpMcgrady: kage: yes, I think starting with something more basic might be a better way of understanding node.js<=>socket.io [00:12] Kage: is socket.io part of node? [00:12] benvie has joined the channel [00:12] Kage: node.js* [00:12] _kud has joined the channel [00:12] joshgillies: nope [00:12] joshgillies: built with [00:12] sh1mmer: Kage: it's a module for Node.js [00:13] Kage: ah [00:13] Kage: ok [00:13] Kage: >.< [00:13] jpMcgrady: socket.io:node.js::mod_wsgi:apache - kinda [00:13] benvie: awemeness compiling native modules works for windows now [00:13] smtlaissezfaire_ has joined the channel [00:14] konobi: sh1mmer: why does npm hate http proxies? [00:14] sh1mmer: konobi: because Isaac has met you in RL [00:14] konobi: heh [00:15] sh1mmer: konobi: I'm not sure how I ended up volunteering to prune the issues list [00:15] sh1mmer: *le sigh* [00:17] Kage: and what about CAAT? is that a module of node.js? [00:18] HardPhuck has joined the channel [00:18] jsurfer has joined the channel [00:18] jpMcgrady: nope CAAT is a google ECMAscript library [00:18] daneroo has joined the channel [00:19] nyxtom has joined the channel [00:21] ciro_nunes has joined the channel [00:21] smtlaissezfaire_ has joined the channel [00:21] zackattack has joined the channel [00:22] benvie: ha massive github stream spam [00:26] benvie: is there a version of node-waf kicking around that's been updated to use msvc? Guessing that's a todo [00:26] benvie: works fine manually doing it in VS [00:27] matyr has joined the channel [00:29] JakeyChan has joined the channel [00:30] CIA-109: node: 03Ben Noordhuis 07master * r359a65a 10/ (lib/http.js test/simple/test-http-abort-before-end.js): [00:30] CIA-109: node: http: emit Error object after .abort() [00:30] CIA-109: node: It was emitting the net.Socket object due to misuse of the arguments object. [00:30] CIA-109: node: Fixes #1399. - http://git.io/Udsl3A [00:30] wadey has joined the channel [00:30] bnoordhuis: benvie: use gyp [00:30] ryan_stevens has left the channel [00:31] benvie: oh yeah i forgot gyp is great [00:32] benvie: need to set up a thing for doing modules [00:32] JaKWaC has joined the channel [00:32] daneroo has joined the channel [00:32] Brandon_R has joined the channel [00:34] sh1mmer: bnoordhuis: are we deprecating waf for gyp? [00:34] ciro_nunes has joined the channel [00:34] CIA-109: node: 03Igor Zinkovsky 07master * r24a69d2 10/ (4 files in 2 dirs): process.kill to use uv_kill - http://git.io/S2cmqw [00:36] JaKWaC has joined the channel [00:36] bnoordhuis: sh1mmer: eventually yes [00:36] benvie: I wouldn't be surprised if so, gyp works on windows with msvc and waf doesn't and doesn't look like any work has gone toward it. All the work for node itself has gone to gyp [00:36] benvie: node-waf just still works for that purpose on non-windows [00:38] matyr has joined the channel [00:39] tiagobutzke has joined the channel [00:42] ryan_stevens has joined the channel [00:45] sh1mmer: bnoordhuis: any objection to me closing this? https://github.com/joyent/node/issues/1446 [00:45] JaKWaC has joined the channel [00:45] quartzjer has joined the channel [00:49] secoif: Anyone got any suggestions on best way to manage key/value configuration for multiple NODE_ENVs [00:50] bnoordhuis: sh1mmer: go ahead, it's more of an observation than a real bug [00:50] sh1mmer: bnoordhuis: that was my thought. [00:50] SubStack: secoif: nvm seems popular for that [00:50] sh1mmer: I'm going to close anything that isn't actionable [00:50] SubStack: oh wait, wrong problem >_< [00:51] daneroo has joined the channel [00:51] secoif: yeah, i think i need something like nconf, but perhaps something more lightweight [00:51] akihito_s has joined the channel [00:52] secoif: I feel like I'm not learning any real node by constantly using modules though [00:52] jsurfer has joined the channel [00:52] quartzjer: npm registry question, I'm trying to replicate from http://isaacs.couchone.com/registry to my local couch (1.1.0), and it randomly fails with {"error":"json_encode","reason":"{bad_term,{nocatch,{invalid_json,<<>>}}}"} [00:52] quartzjer: is that normal? :) [00:55] ceej has joined the channel [00:55] sh1mmer: Ok enough bug queue for today [00:56] sh1mmer: time to go home and do something fun like write a book ;) [00:56] bnoordhuis: sh1mmer: how is the book coming along? [00:56] sh1mmer: meh [00:56] sh1mmer: co-author is helping a lot [00:56] sh1mmer: this week's task it to sanity check against the 0.6 drop [00:57] bnoordhuis: heh, you've got your work cut out then [00:57] sh1mmer: while the new guy finishes the chapter on express and socket.io [00:57] sh1mmer: bnoordhuis: bah humbug :) [00:57] davidwalsh has joined the channel [00:58] Kunda has joined the channel [00:59] tomlion has joined the channel [01:00] rchavik has joined the channel [01:03] daneroo has joined the channel [01:03] neoesque has joined the channel [01:04] harthur has joined the channel [01:04] dgathright has joined the channel [01:06] errordeveloper has joined the channel [01:07] jaminja has joined the channel [01:07] daneroo has joined the channel [01:07] _jhs has joined the channel [01:07] _unary_ has joined the channel [01:09] mynyml has joined the channel [01:10] wankdanker1 has joined the channel [01:11] alexdoom has joined the channel [01:12] JaKWaC has joined the channel [01:13] ciro has joined the channel [01:14] briancray has joined the channel [01:14] Skipants has joined the channel [01:14] yorick has joined the channel [01:21] RodrigoViolante has joined the channel [01:21] RodrigoViolante: Is there any guide for installing SSL support? [01:21] sineltor has joined the channel [01:21] jpMcgrady has left the channel [01:21] JaKWaC has joined the channel [01:22] criswell has joined the channel [01:22] bnoordhuis: RodrigoViolante: node compiles with ssl support out of the box, provided you have the openssl dev files installed [01:23] wankdanker2 has joined the channel [01:23] gavin_huang has joined the channel [01:23] daneroo has joined the channel [01:24] dnyy has joined the channel [01:25] fread2281 has joined the channel [01:26] eb4890 has joined the channel [01:27] jldbasa has joined the channel [01:27] alexdoom has joined the channel [01:28] postwait has joined the channel [01:28] CIA-109: node: 03Igor Zinkovsky 07master * r434ccd2 10/ src/platform_win32.cc : fix process.uptime() on windows - http://git.io/xoL75g [01:28] ninjapig has joined the channel [01:28] ninjapig has joined the channel [01:28] jackbean_ has joined the channel [01:29] n8ji_ has joined the channel [01:29] jocafa has joined the channel [01:29] Kage: it seems like RealTimeMultiplayerNodeJs module is in development, is there anything that is more... stable? [01:30] ditesh|cassini has joined the channel [01:31] ceej has joined the channel [01:32] francisl has joined the channel [01:33] wadey has joined the channel [01:34] nerdy_ has joined the channel [01:34] quartzjer has left the channel [01:34] Kage: meh [01:34] Kage: ACTION hates Javascript more and more... [01:35] willwhite has joined the channel [01:36] nodokodo has joined the channel [01:40] devdazed has joined the channel [01:41] CIA-109: libuv: 03Ben Noordhuis 07master * r77a2477 10/ src/unix/core.c : unix: add EAI_NODATA #ifdef guard, freebsd doesn't have it - http://git.io/wo7-yA [01:43] smtlaissezfaire has joined the channel [01:44] flamboz has joined the channel [01:45] fread2281 has joined the channel [01:45] secoif: Kage what are you trying to build [01:46] secoif: a real-time multiplayer game? [01:46] joshkehn has joined the channel [01:46] joshkehn has left the channel [01:47] daneroo has joined the channel [01:47] Kage: secoif: yes [01:47] boltR has joined the channel [01:47] secoif: you can pretty easily roll your own [01:47] secoif: perhaps have a look at https://github.com/tmpvar/motionjs [01:47] Kage: roll muy own wahat? [01:48] secoif: I assume the issue is sending+syncing state with multiple connected clients? [01:48] secoif: what kind of game? [01:49] Kage: secoif: MMORPG.. I need tile support, and lots more... [01:49] secoif: yeah i don't know if there's anything like that for node [01:50] Kage: I think I need to make html5 graphics engine first [01:50] secoif: Kage http://toolbox.no.de/search?q=game [01:50] secoif: That's little to do with node [01:51] secoif: you might want to check out ocanvas, it's got a pretty sweet sprite sheet system for animations http://ocanvas.org/ [01:52] secoif: coming from a flash background, it made canvas a lot more familiar [01:53] Kage: secoif: it seems Javascript is full of tons of frameworks that are great if you want a simple game up and running in like 2 minutes, but for a larger project they all far apart [01:54] secoif: Kage it's the same in Flash. If you want something decent for your needs you usually have to build your own [01:54] Kage: secoif: I love dissecting demos and thinking I understand all the methods of a class, then I go to another file and see new methods that are defined outside of the class' file [01:55] secoif: Kage that's usually a good thing. [01:55] Kage: secoif: no its not... everything associated with a class should be defined, or documented in one place [01:56] Kage: secoif: I am getting sick of seeing a class defined half way in one file, and the other half across 10 other files [01:56] Kage: its so annoying that I can't figure out what is going on cause I have to keep changing files to see what everything does [01:56] Aria has joined the channel [01:56] Kage: its such a fucking mess [01:56] Squeese has joined the channel [01:57] secoif: Kage games are typically fairly messy [01:57] jdpacker has joined the channel [01:58] Kage: secoif: not the ones I write in C++ [01:58] secoif: Do you write it all in one file? [01:58] Kage: secoif: no, but all of the class is defined in one file [01:59] devongovett has joined the channel [01:59] Kage: so when I see something is of type "Player", I can go to the player file and see all the methods and properties it has [01:59] Kage: I hate loose typing [01:59] Aria: So why develop in a language like JS? [01:59] secoif: again, sounds like you'd be happier over in Flash [02:00] Aria: JS takes a different kind of discipline. [02:00] Aria: It's hard to port thinking from C++ to JS [02:00] Kage: Aria: because these days expect games they can play without downloading [02:00] Aria: So flash? [02:00] Kage: people expect* [02:00] Aria: Compile C++ or Java to JS? [02:00] secoif: Kage: unity [02:00] Aria: Clojure? Haxe? [02:01] Kage: secoif: unity needs downloads to aid a webbrowser [02:01] secoif: not if you target flash player [02:01] Kage: well I only have Linux system, and I don't think there is a flash IDE for Linux [02:02] secoif: vim + the flex compiler [02:02] harthur has joined the channel [02:02] Aria: What secoif said. [02:02] Aria: You don't need an IDE for flash. You do for animations authoriing, but for a game, it'll only get in your way. [02:02] Aria: In fact, the Flash IDE is a steaming pile of hacked-up eclipse. [02:02] Aria: It's slow AND broken! [02:03] secoif: Kage plus, if you need an IDE, http://www.jetbrains.com/idea/download/#linux is a better choice [02:04] Kage: so you are suggesting Java applets? [02:04] Aria: No, Flash ones [02:05] secoif: no, intellij is an actionscript/flex ide on par/better than flash builder [02:05] Aria: People have Flash. Java's a download ;-) [02:05] shykes__ has joined the channel [02:05] secoif: flash also good since you can now target ios and android [02:06] toki_kanno has joined the channel [02:07] secoif: haxe also good option there too. If you really hate javascript you don't have to use it. It's probably not quite ready as a games platform anyway due to IE's canvas support [02:07] Kage: honestly, I hate flash... I want HTML5 to replace that proprietary crap... but... but meh [02:08] secoif: html5 has nothing to do with flash. [02:08] secoif: 90% of crossover is misuse [02:08] Kage: secoif: I don't hate javascript, I hate crappy frameworks people have built on it [02:08] francisl has joined the channel [02:08] secoif: Kage it's just different thinking. [02:08] Kage: Ill try flash I GUESS [02:09] Kage: secoif: I actually used Javascript before anything else, but I haven't used it in like... 5 years until a few weeks ago [02:09] Aria: It's just not going to be organized like C++ [02:10] Aria: It's functional, it's prototypical, and it's differently typed. [02:10] Me1000 has joined the channel [02:10] Aria: ActionScript in Flash would probably suit you well: It's javascript like in some pleasant ways, and C++ like in some pleasant ways. [02:11] Kage: Aria, well lots of the concepts seem the same as lua, and I LOVE lua [02:11] tomlion_ has joined the channel [02:11] Aria: YEah. Similar but different. [02:11] Kage: I wish web browsers supported lua [02:11] Kage: ACTION dreams [02:11] Aria: Javascript is quirky. In a way I love, but it's quirky. [02:11] Aria: .oO(write a lua to js compiler?) [02:11] secoif: agreed [02:12] CIA-109: libuv: 03Igor Zinkovsky 07master * r0fb3769 10/ (src/win/fs-event.c test/test-fs-event.c test/test-list.h): windows: don't emit fs-event callback after uv_fs_event handle is closed - http://git.io/Gaklgw [02:12] Twisol: There is a Lua implementation in Javascript somewhere out there [02:12] Twisol: it wasn't complete, the last time I saw it [02:12] alexdoom has joined the channel [02:13] joeyang has joined the channel [02:13] JakeyChan has joined the channel [02:15] willwhite has joined the channel [02:16] matyr has joined the channel [02:16] justmoon has joined the channel [02:17] jsurfer has joined the channel [02:17] airportyh has joined the channel [02:19] fread228_ has joined the channel [02:21] daneroo has joined the channel [02:22] matyr has joined the channel [02:22] tzmartin has joined the channel [02:22] pokoli has joined the channel [02:22] harthur has joined the channel [02:24] rchavik has joined the channel [02:25] fread2281 has joined the channel [02:26] CIA-109: node: 03Ben Noordhuis 07master * r818f0cb 10/ deps/v8/src/platform-freebsd.cc : v8: fix freebsd build, implement VirtualMemory class - http://git.io/yuq_hw [02:26] CIA-109: node: 03Ben Noordhuis 07master * r52eaac4 10/ (4 files in 3 dirs): uv: upgrade to 0fb3769 - http://git.io/8vDHxA [02:27] JakeyChan has joined the channel [02:27] torm3nt has joined the channel [02:27] AphelionZ has joined the channel [02:27] binarychef has joined the channel [02:28] kurtzhong has joined the channel [02:30] User151 has joined the channel [02:30] AD7six has joined the channel [02:31] joshkehn has joined the channel [02:32] fread2281 has joined the channel [02:36] misham has joined the channel [02:37] daneroo has joined the channel [02:38] Kage: secoif: I don't see a option in intelij for flash [02:38] willwhite has joined the channel [02:39] secoif: Kage http://www.jetbrains.com/idea/features/flex_ide.html [02:41] alexdoom has joined the channel [02:42] Kage: secoif: errrr... maybe the community edition doesn't do it? [02:42] jtsnow has joined the channel [02:43] mikeric has joined the channel [02:43] secoif: Kage it does, but I haven't used it for about 2 years so i can't recall exactly what the deal is [02:43] icewhite has joined the channel [02:43] langworthy has joined the channel [02:43] ninjapig has joined the channel [02:44] ninjapig has joined the channel [02:44] secoif: Kage this is OT though, pm if you want, but perhaps you should just do some googling [02:45] devdazed has joined the channel [02:45] secoif: Kage if you can't get it working, also have a look at FDT /lastwordontopic [02:46] xonix has joined the channel [02:46] CIA-109: node: 03Bert Belder 07debugProcess * r72c736d 10/ (src/node.cc test/simple/test-debugger-client.js): process._debugProcess - http://git.io/NZqwNQ [02:49] francisl has joined the channel [02:50] daneroo has joined the channel [02:50] jonrohan has joined the channel [02:51] JaKWaC has joined the channel [02:54] pilgo has joined the channel [02:57] kenperkins has joined the channel [02:59] tk has joined the channel [03:00] kimico has joined the channel [03:00] perezd has joined the channel [03:01] rchavik_ has joined the channel [03:02] daneroo has joined the channel [03:02] JakeyChan_ has joined the channel [03:02] justinf: bring on node 6 :) love your work! [03:03] justinf: 0.6* [03:05] aconbere has joined the channel [03:06] boehm has joined the channel [03:07] rchavik has joined the channel [03:07] rchavik has joined the channel [03:07] kitt has joined the channel [03:07] kitt has joined the channel [03:09] daneroo has joined the channel [03:12] alexdoom has joined the channel [03:15] luke` has joined the channel [03:18] flamboz has joined the channel [03:19] shykes_ has joined the channel [03:20] rodrigo_ has joined the channel [03:23] ryan_stevens has joined the channel [03:23] silverwind has joined the channel [03:25] fread2281 has joined the channel [03:25] sdwrage has joined the channel [03:26] daneroo has joined the channel [03:28] freckles has joined the channel [03:29] smtlaissezfaire has joined the channel [03:29] kenperkins has joined the channel [03:30] rodrigoviolante has joined the channel [03:31] sdwrage has joined the channel [03:33] freckles: ACTION has changed water to wine [03:34] jstash has joined the channel [03:34] kenperkins has joined the channel [03:34] teadict: what are the ideal directories permissions for a node web project? [03:35] ryan_stevens has joined the channel [03:36] teadict: also the ideal organization for paths [03:40] zilch_ has joined the channel [03:40] jgornick has joined the channel [03:40] OneOfOne_: if anyone is interested in "less" that works on 0.5.x npm install less-clean or vote for https://github.com/cloudhead/less.js/pull/444 [03:41] caffine has joined the channel [03:41] perezd_ has joined the channel [03:41] wankdanker_ has joined the channel [03:42] Skipants has joined the channel [03:45] JaKWaC has joined the channel [03:46] efbenson has joined the channel [03:46] daneroo has joined the channel [03:46] sh1mmer has joined the channel [03:48] jtsnow has joined the channel [03:51] kenperkins has joined the channel [03:51] dilvie has joined the channel [03:51] hij1nx has joined the channel [03:52] daneroo has joined the channel [03:53] davidbanham has joined the channel [03:54] daneroo has joined the channel [03:54] bombworm has joined the channel [03:55] JaKWaC has joined the channel [03:56] JaKWaC has joined the channel [03:56] chrislorenz has joined the channel [03:59] jtsnow has joined the channel [03:59] neilk_ has joined the channel [04:01] sdwrage has joined the channel [04:01] daneroo has joined the channel [04:02] ryan_stevens has joined the channel [04:05] tmpvar has joined the channel [04:05] verdoc_ has joined the channel [04:09] daneroo has joined the channel [04:12] zackattack has joined the channel [04:12] jtsnow has joined the channel [04:13] dilvie has joined the channel [04:13] reid has joined the channel [04:13] alexdoom has joined the channel [04:15] sineltor has joined the channel [04:16] daneroo has joined the channel [04:16] kenperkins has joined the channel [04:16] wankdanker_: is it always this quiet at this hour here? [04:17] domino14 has left the channel [04:24] Sami_ZzZ has joined the channel [04:25] kenperkins: depends [04:25] kenperkins: some nights is rockin [04:25] context: its hump day. get drunk [04:27] wankdanker_: drinking breckenridge small batch ipa; workin on it. :) [04:28] prudhvi has joined the channel [04:28] daneroo has joined the channel [04:29] McMAGIC--Copy has joined the channel [04:30] prudhvi: Hi i have two files with two different exports in each one. After importing(require?) when i try to call a method from the second file it is unable to execute. Why is it so? [04:30] prudhvi: I imported the parent directory these two files countains in [04:30] prudhvi: *contain [04:31] xerox: prudhvi: http://nodejs.org/docs/v0.4.12/api/modules.html [04:33] daneroo has joined the channel [04:35] kazupon has joined the channel [04:35] JakeyChan has joined the channel [04:36] Squeese has joined the channel [04:36] kenperkins: using a 24" LCD in tv mode is painful [04:37] wankdanker_: i can only imagine [04:37] sdwrage has joined the channel [04:38] kenperkins: for some reason, dell U2410 + 2011 MBP results in tv mode :( [04:39] wankdanker_: what's 2011 mbp? [04:39] wankdanker_: sounds spiffy [04:40] jerrysv has joined the channel [04:40] jerrysv: tbranyen: ping [04:42] dgathright has joined the channel [04:43] DTrejo has joined the channel [04:44] DTrejo: apparently I can't set npm's cache location to /dev/null [04:44] DTrejo: dang [04:45] KiNgMaR has joined the channel [04:45] wankdanker_: that's interesting, i've never thought about reading from /dev/null, what does happen? [04:45] joshkehn has joined the channel [04:45] joshkehn has left the channel [04:46] chilts: it's just the same as an empty file (ie. gives an EOF straigh away) [04:46] DTrejo: well, it just breaks [04:46] zmbmartin: is seq the best flow control? [04:46] DTrejo: I like async [04:46] DTrejo: npm docs async [04:46] wankdanker_: should reading /dev/null return null? [04:47] wankdanker_: it returns '' [04:47] DTrejo: dunnooo [04:47] wankdanker_: i think it makes sense that it should return '', but it is /dev/null so it seems like it should also return null [04:48] maletor has joined the channel [04:48] DTrejo: might confuse program [04:48] DTrejo: ss [04:48] DTrejo: *programs [04:50] tbranyen: jerrsv wattup [04:50] tbranyen: im in a bar [04:50] wankdanker_: idk if seq is the best. i've never used it but i've been interested to know what everyone else is doing [04:50] tbranyen: doing daws knows wat [04:51] DTrejo: yeahh tbranyen gettin smashed [04:52] tbranyen: fuck yeaaa [04:52] DTrejo: say hi to mikeal! [04:52] tbranyen: ircibg ib a barrrr [04:52] DTrejo: he'd better be there lol [04:52] tbranyen: he said hi back [04:52] DTrejo: niceeee [04:53] tbranyen: :D [04:54] jacobolus has joined the channel [04:54] kenperkins: ok theory question: lets say I have three different links in my app to launch the profile, and I want to put analytics on them to differentiate which has the best CTR [04:55] Dreamer3 has joined the channel [04:55] kenperkins: oops wrong chan :) [04:56] wankdanker_: i'm interested, what chan was that to? [04:57] daneroo has joined the channel [04:57] akihito_s has joined the channel [05:01] SrPx has joined the channel [05:02] SrPx: hello, im trying to build node.js under msys, it requires python. i downloaded python but dont know how to make msys be aware of it. im getting the error /usr/bin/env: python: No such file or directory. anyone knows? [05:03] konobi: SrPx: you can download the native windows binary [05:03] zilch_ has joined the channel [05:03] SrPx: konobi: I know just wanted to compile it... [05:03] captain_morgan has joined the channel [05:04] konobi: SrPx: not sure... might be configurable using gyp [05:05] joshgillies: how does everyone here manage testing the unstable branch of node? [05:05] joshgillies: VM or some crazy ass side by side install [05:05] fread2281 has joined the channel [05:06] joshgillies: ala $ node server.js || $ node-dev server.js from terminal [05:07] ChrisPartridge has joined the channel [05:07] jimt_ has joined the channel [05:08] wankdanker_: joshgillies: i'm struggling with this currently too. [05:08] wankdanker_: joshgillies: earlier i saw someone ask a similar question and someone suggested nvm [05:09] wankdanker_: joshgillies: https://github.com/creationix/nvm [05:09] joshgillies: wankdanker_ hrmmmm will look into this, thanks! [05:09] wankdanker_: joshgillies: you are welcome. [05:10] daneroo has joined the channel [05:11] sh1mmer has joined the channel [05:12] joshgillies: wankdanker: yup it's exactly what I was looking for [05:12] jimt has joined the channel [05:13] SrPx: konobi: Yay! did it! just had set the path wrong. the msys uses the same path as windows. [05:14] alexdoom has joined the channel [05:14] konobi: joshgillies: I just symlink using a ~/local/bin install [05:15] devongovett has joined the channel [05:15] dshaw_ has joined the channel [05:15] maletor has joined the channel [05:15] joshgillies: konobi: good idea, that's kind of what I'd intended to do originally. But I'll give this nvm thing a go and see how it fairs [05:15] errordeveloper has joined the channel [05:17] Me1000 has joined the channel [05:21] jtgiri_ has joined the channel [05:24] maletor has joined the channel [05:26] daneroo has joined the channel [05:28] boltR has joined the channel [05:29] MatthewS has joined the channel [05:31] sh1mmer has joined the channel [05:33] superjudge has joined the channel [05:35] _dc has joined the channel [05:35] flamboz has joined the channel [05:37] harthur has joined the channel [05:37] langworthy has joined the channel [05:38] zilch_ has joined the channel [05:38] sdwrage has joined the channel [05:38] shykes has joined the channel [05:40] ecin_ has joined the channel [05:41] wadey has joined the channel [05:41] sh1mmer has joined the channel [05:44] daneroo has joined the channel [05:44] Wizek has joined the channel [05:45] neoesque has joined the channel [05:46] maletor has joined the channel [05:46] icewhite has joined the channel [05:51] JumpMast3r has joined the channel [05:54] lightcap has joined the channel [05:58] IanCormac84 has left the channel [05:58] arlolra has joined the channel [06:00] AphelionZ has joined the channel [06:01] verdoc has joined the channel [06:02] fangel has joined the channel [06:02] arlolra: is it correct / intuitive that if i symlink a file and then run it, node will search up the tree from the original file, and not the symlinked location, when searching for node_modules [06:02] garrensmith has joined the channel [06:03] tokuz has joined the channel [06:03] sproates has joined the channel [06:04] maletor_ has joined the channel [06:05] sh1mmer has joined the channel [06:07] Marko has joined the channel [06:08] devongovett has joined the channel [06:10] daneroo has joined the channel [06:11] swc|666 has joined the channel [06:15] luo has joined the channel [06:15] alexdoom has joined the channel [06:15] luo: hi somebody? [06:16] luo: hi [06:16] luo: somebody? [06:16] mikeal has joined the channel [06:17] arlolra: everybody [06:17] secoif has joined the channel [06:17] luo: who know "checking for program g++ or c++" [06:18] arlolra: no compiler? [06:18] luo: is that ash.exe? [06:19] arlolra: are you on windows? [06:19] arlolra: you should just download the binary [06:19] luo: yes.I am on window 7 [06:19] luo: i use the cygwin [06:20] arlolra: ah, cygwin is deprecated [06:20] arlolra: http://nodejs.org/#download [06:20] arlolra: windows executable [06:20] arlolra: your new friend [06:21] luo: thank you.I will try [06:21] kkszysiu_ has joined the channel [06:22] daneroo has joined the channel [06:23] jaequery has joined the channel [06:25] sh1mmer has joined the channel [06:30] daneroo1 has joined the channel [06:30] dmitrig01 has joined the channel [06:30] daneroo1: in nodeup podcast episode 6, there is talk of a project called ? soden ? related to distributed http://socket.io/ any one know what that is, or perhaps the correct spelling ? [06:32] arlolra: hook.io ? [06:32] HT has joined the channel [06:32] daneroo has joined the channel [06:32] daneroo1: thanks, but that's not it, [06:33] arlolra: now i'm curious [06:33] arlolra: :) [06:33] daneroo1: arlolra: did you listen to that podcast ? [06:33] arlolra: not that episode yet [06:34] daneroo1: http://nodeup.com/ six [06:34] arlolra: listening now [06:34] arlolra: ask mikeal [06:35] daneroo1: Not sure who was talking, I think it was isaccs (npm), but not sure... [06:35] mikeal: sodn [06:36] mikeal: it's issacs [06:36] mikeal: github.com/isaacs [06:36] arlolra: thanks :) [06:36] daneroo1: mikeal: Thanks, that podcast was fantastic by the way! [06:37] mikeal: i tried to listen to it [06:37] mikeal: we all ramble and pause too much and say "like" all the time [06:38] arlolra: mikeal, like, is it correct / intuitive that if i symlink a file and then run it, node will search up the tree from the original file, and not the symlinked location, when searching for node_modules [06:38] mikeal: that's a good question and isaacs is probably the only person who knows the answer :) [06:39] arlolra: well, the answer is that's the current behaviour [06:39] arlolra: whether or not that's desireable is another story [06:40] context: yeah! go irccloud [06:40] context: gonna have to put that mask on ignore for join/part [06:40] _jhs has joined the channel [06:42] jetienne has joined the channel [06:44] arlolra has left the channel [06:47] jackbean has joined the channel [06:50] owenb has joined the channel [06:51] niftylettuce has joined the channel [06:51] matthijs has joined the channel [06:51] sh1mmer has joined the channel [06:53] NetRoY has joined the channel [06:57] chunhao_ has joined the channel [06:57] robb1e_ has joined the channel [06:59] simenbrekken has joined the channel [06:59] ryanseddon has joined the channel [07:00] maletor has joined the channel [07:00] indutny has joined the channel [07:01] daleharvey_ has joined the channel [07:01] SamuraiJack has joined the channel [07:01] RexM has joined the channel [07:01] nym has joined the channel [07:02] passionke has joined the channel [07:02] fzzzy has joined the channel [07:03] blissdev has joined the channel [07:03] luke` has joined the channel [07:03] daneroo has joined the channel [07:04] bradwright has joined the channel [07:04] DTrejo: who here likes testing? [07:05] DTrejo: night all/ [07:05] AvianFlu has joined the channel [07:06] SubStack: I do I do [07:06] felixge has joined the channel [07:09] maletor has joined the channel [07:09] wtfcoder has joined the channel [07:11] olegp has joined the channel [07:13] sh1mmer has joined the channel [07:14] daneroo has joined the channel [07:14] kejun has joined the channel [07:15] alexdoom has joined the channel [07:15] lmatteis has joined the channel [07:17] akihito_s has joined the channel [07:18] daneroo has joined the channel [07:21] maletor has joined the channel [07:21] _dc has joined the channel [07:23] JaKWaC_ has joined the channel [07:23] mikedeboer has joined the channel [07:26] matyr has joined the channel [07:27] dgathright has joined the channel [07:27] daneroo has joined the channel [07:28] dnyy has joined the channel [07:31] DennisRas has joined the channel [07:31] sh1mmer has joined the channel [07:34] AAA_awright has joined the channel [07:35] zilch_ has joined the channel [07:39] braoru has joined the channel [07:39] neshaug has joined the channel [07:39] sproates has joined the channel [07:40] daglees has joined the channel [07:40] daglees has joined the channel [07:40] daneroo has joined the channel [07:41] sh1mmer has joined the channel [07:42] loob2 has joined the channel [07:43] mmalecki has joined the channel [07:43] boltR has joined the channel [07:43] npa has joined the channel [07:44] jdpacker has left the channel [07:45] jacobolus has joined the channel [07:47] cosmincx has joined the channel [07:48] vguerra has joined the channel [07:49] Marko: hi [07:50] Marko: anyone familiar with hubot and coffeescripts? [07:52] kuya has joined the channel [07:53] lzskiss has joined the channel [07:54] lzskiss: yo [07:58] bnoordhuis has joined the channel [08:00] `3rdEden has joined the channel [08:01] zilch_ has joined the channel [08:01] akihito_s has joined the channel [08:01] gut4 has joined the channel [08:02] fangel has joined the channel [08:04] simenbrekken has joined the channel [08:05] emattias has joined the channel [08:05] Morkel has joined the channel [08:06] daneroo has joined the channel [08:06] isaqual has joined the channel [08:09] broofa has joined the channel [08:10] skunkape has joined the channel [08:12] martin_sunset_ has joined the channel [08:13] uchuff has joined the channel [08:13] domino14 has joined the channel [08:13] domino14: why doesnt this example work for me? http://stackoverflow.com/questions/4441798/how-to-use-redis-publish-subscribe-with-nodejs-to-notify-clients-when-data-value [08:14] domino14: i can get the node server running on my machine but it seems the socket is never oppened [08:14] raphdg has joined the channel [08:14] mmalecki: bnoordhuis: sorry for harassing you, but I have to leave in a second and I have nothing to do at school [08:14] mmalecki: bnoordhuis: does it look good to you: https://github.com/mmalecki/node/commit/04645c5e7405c74f37715e58221229c36978616f#commitcomment-692282 ? [08:15] bnoordhuis: mmalecki: looks good [08:15] alexdoom has joined the channel [08:15] bnoordhuis: mmalecki: i'd probably collapse the else {} clause so you have one less level of indentation [08:15] ivanfi has joined the channel [08:16] mmalecki: bnoordhuis: oh, ok [08:16] mmalecki: bnoordhuis: so, I'll use that solution, thanks for the feedback :) [08:17] bnoordhuis: mmalecki: np, my pleasure [08:19] hackband has joined the channel [08:19] ayaz has joined the channel [08:20] daneroo has joined the channel [08:20] tomb has joined the channel [08:22] rio{ has joined the channel [08:24] jimt_ has joined the channel [08:25] Marko has joined the channel [08:26] svnlto has joined the channel [08:26] aliem has joined the channel [08:26] ablomen has joined the channel [08:30] arcanis has joined the channel [08:30] daneroo has joined the channel [08:31] tomyan has joined the channel [08:33] adnasa has joined the channel [08:34] JakeyChan_ has joined the channel [08:35] Druid_ has joined the channel [08:35] rendar has joined the channel [08:35] hij1nx has joined the channel [08:36] domino14: i cant get node.js socket.io to work [08:36] domino14: i connect to the website but the connect event never fires. this is on localhost. simple little app [08:38] npa has joined the channel [08:38] tomb has joined the channel [08:41] chilts: man, I'm loving async :) [08:41] herbySk has joined the channel [08:41] chilts: I was just about to write a helper and then took a look at that and found exactly what I wanted :) [08:44] fangel has joined the channel [08:44] mc_greeny has joined the channel [08:45] _kud has joined the channel [08:46] nils_r has joined the channel [08:46] whitman has joined the channel [08:49] jdpacker has joined the channel [08:50] kazupon has joined the channel [08:54] secoif: chilts ah, you're right. I've been using Step until now, perhaps I'll give async a crack. [08:55] bergie has joined the channel [08:56] Marko has joined the channel [08:56] chilts: ACTION looks at step too [08:57] daneroo has joined the channel [08:58] animorten has joined the channel [08:59] joeyang has joined the channel [09:00] tomb has joined the channel [09:00] arcanis: do you know if burritos can handle js comments ? [09:01] Xano has joined the channel [09:02] p1d has joined the channel [09:02] pgherveou has joined the channel [09:05] gut4 has joined the channel [09:05] Esteb has joined the channel [09:05] hipsterslapfight has joined the channel [09:05] Sami_ZzZ has joined the channel [09:05] burningdog has joined the channel [09:06] arcanis: no. [09:06] jbpros has joined the channel [09:08] metellus has joined the channel [09:08] flamboz has joined the channel [09:09] vi390 has joined the channel [09:09] vi390 has joined the channel [09:09] mpavel has joined the channel [09:11] Gonzih has joined the channel [09:11] gut4 has joined the channel [09:12] matyr has joined the channel [09:13] PhilK has joined the channel [09:13] _kud has joined the channel [09:14] npa has joined the channel [09:14] ayaz has joined the channel [09:15] Wizek has joined the channel [09:15] mpavel has left the channel [09:16] gut4 has joined the channel [09:16] alexdoom has joined the channel [09:17] fangel has joined the channel [09:17] ph^ has joined the channel [09:20] m4rcs: is there any guide for using eventEmitters? [09:20] vguerra has joined the channel [09:20] daneroo has joined the channel [09:24] smtlaissezfaire has joined the channel [09:27] adrianmg has joined the channel [09:27] gut4 has joined the channel [09:28] gut4 has joined the channel [09:28] adrianmg has left the channel [09:31] akamike has joined the channel [09:32] daneroo has joined the channel [09:34] gut4 has joined the channel [09:35] secoif: m4rcs what issue are you having? [09:36] daneroo has joined the channel [09:39] JKarsrud has joined the channel [09:39] daneroo has joined the channel [09:40] ktos has joined the channel [09:41] jimmysparkle has joined the channel [09:41] hij1nx has joined the channel [09:43] m4rcs: sec secoif [09:43] daneroo has joined the channel [09:45] m4rcs: https://gist.github.com/a187d4130330c61b54c1 when I call my helper function on line 25 [09:46] m4rcs: i can't access the event on sendNotification [09:47] tisba has joined the channel [09:47] CIA-109: node: 03Ben Noordhuis 07master * r11d68eb 10/ lib/fs.js : [09:47] CIA-109: node: fs: make mkdir() default to 0777 permissions [09:47] CIA-109: node: Fixes #1999. - http://git.io/cbMwhA [09:48] _kud has joined the channel [09:49] npa has joined the channel [09:49] garrensmith: m4rcs: I think it has to do with your "this" might not be the object you think it is [09:49] m4rcs: ok [09:49] m4rcs: what is this? [09:49] m4rcs: it's not the boxcar class? [09:49] TomY has joined the channel [09:52] secoif: m4rcs sure that sendNotification is being called? I don't see where it's used [09:52] m4rcs: well [09:52] ppcano has joined the channel [09:52] m4rcs: not in this module [09:52] m4rcs: but when I load this module [09:53] secoif: ok [09:53] sfoster has joined the channel [09:53] daneroo has joined the channel [09:54] secoif: m4rcs yeah I'd make sure `this` is the object you think it is [09:55] m4rcs: would a "var this = self;" help? [09:56] Lingerance: No [09:57] zomg: 'this' related issues are probably the most common problem people have with JS itself (eg. not an issue about "how do I x with jQuery")... [09:57] ppcano has joined the channel [09:58] m4rcs: yes i've looked through some modules and I always find this = self, but I don't get for what it's useful [09:58] Ned_ has joined the channel [09:59] ppcano has joined the channel [09:59] Lingerance: m4rcs: it's self = this [09:59] tmpvar has joined the channel [09:59] mehlah has joined the channel [10:00] ppcano has joined the channel [10:00] zomg: m4rcs: perhaps you need to read more on how scoping, closures and this works :) [10:00] zomg: I seem to be using a lot of somefun.bind(this) though. Can't use that in browser JS so much since they don't support bind in functions yet [10:01] m4rcs: any suggestions for a good tutorial on this? [10:01] Lingerance: But you'll be wanting to use bind: boxcar.sendNotification.bind(boxcar) (pass that instead of boxcar.sendNotification; note bind() returns a function) [10:01] Cromulent has joined the channel [10:01] fly-away has joined the channel [10:02] ppcano has joined the channel [10:04] secoif: m4rcs http://javascriptweblog.wordpress.com/2010/08/30/understanding-javascripts-this/ [10:04] zomg: This one is also pretty good but sort of technically heavy stuff... and at least for me it isn't loading http://jibbering.com/faq/notes/closures/ [10:05] daneroo has joined the channel [10:05] ayaz has joined the channel [10:06] matyr has joined the channel [10:08] Wizek has joined the channel [10:10] swair has joined the channel [10:11] jldbasa has joined the channel [10:14] beevits has joined the channel [10:14] HardPhuck has joined the channel [10:15] aaronmcadam has joined the channel [10:16] Emmanuel` has joined the channel [10:16] daneroo has joined the channel [10:16] mc_greeny has joined the channel [10:16] alexdoom has joined the channel [10:16] dmajrekar has joined the channel [10:17] swair has joined the channel [10:21] mc_greeny has joined the channel [10:21] lauxley has joined the channel [10:22] vvo has joined the channel [10:22] ttilley has joined the channel [10:23] __doc__ has joined the channel [10:27] oiiii has joined the channel [10:29] tmpvar has joined the channel [10:29] daneroo has joined the channel [10:34] ph^ has joined the channel [10:37] sineltor_ has joined the channel [10:38] ciro_nunes has joined the channel [10:38] Shrink has joined the channel [10:38] Shrink has joined the channel [10:39] nopnop has joined the channel [10:40] HardPhuck has joined the channel [10:41] mdaisuke has joined the channel [10:41] HardPhuc has joined the channel [10:44] jaminja has joined the channel [10:44] ej_ has joined the channel [10:48] daneroo has joined the channel [10:49] adambeynon has joined the channel [10:51] olivier has joined the channel [10:51] hipsterslapfight has joined the channel [10:52] stagas has joined the channel [10:53] swair has joined the channel [10:54] zilch_ has joined the channel [10:59] akihito_s has joined the channel [10:59] k1ttty has joined the channel [10:59] tomlion has joined the channel [10:59] hackband has joined the channel [11:03] tmpvar has joined the channel [11:03] davidvanleeuwen has joined the channel [11:05] daneroo has joined the channel [11:05] maushu has joined the channel [11:05] tiagobutzke has joined the channel [11:08] davidbanham has joined the channel [11:09] CIA-109: node: 03koichik 07master * ra6dbe0f 10/ doc/api/fs.markdown : docs: make fs.mkdir()'s mode argument an option. - http://git.io/Y5z2KQ [11:10] jetienne has joined the channel [11:10] Glenjamin: i really wish there was a shortcut for obj.method.bind(object) [11:10] dubenstein has joined the channel [11:11] Glenjamin: zomg: you can Shiv .bind() for browser support [11:12] zomg: Sure [11:12] zomg: But often I'm already using some library when working on clientside code which provides an alternative facility for that [11:12] pandeiro has joined the channel [11:12] Glenjamin: mm [11:13] dubenstein has joined the channel [11:14] emerleite has joined the channel [11:16] d0k has joined the channel [11:16] EvRide has joined the channel [11:17] hipsterslapfight has joined the channel [11:18] alexdoom has joined the channel [11:18] daneroo has joined the channel [11:19] francisl has joined the channel [11:20] CIA-109: libuv: 03Carter Allen 07master * r1393ee7 10/ common.gypi : build: remove hard-coded GCC_VERSION setting (OS X/XCode) - http://git.io/yf_1YA [11:20] Kunda has joined the channel [11:26] hipsters_ has joined the channel [11:28] daneroo has joined the channel [11:29] matt_c has joined the channel [11:33] neurodrone has joined the channel [11:33] xhr has joined the channel [11:33] matyr has joined the channel [11:33] paul_uk has joined the channel [11:34] stagas has joined the channel [11:35] ohtogo has joined the channel [11:36] cosmincx has joined the channel [11:36] tmpvar has joined the channel [11:37] maushu: *sigh* I give up. [11:37] mehlah has joined the channel [11:37] kab3wm has joined the channel [11:37] maushu: It's god damn impossible to have a safe sandbox without sacrificing features. [11:38] wbednarski has joined the channel [11:38] wankdanker_ has joined the channel [11:39] stagas: maushu: what sandbox [11:39] maushu: any sandbox. [11:39] maushu: bmeck likes to ruin stuff [11:41] stagas: maushu: do you have any code? [11:41] daneroo has joined the channel [11:41] maushu: stagas: Just try using callbacks in the vm functions. [11:42] cjm has joined the channel [11:43] daneroo has joined the channel [11:43] robi42 has joined the channel [11:43] cgfuh has joined the channel [11:43] mdaisuke has joined the channel [11:44] aslant has joined the channel [11:44] wgo has joined the channel [11:46] ph^ has joined the channel [11:47] dnjaramba has joined the channel [11:49] Glenjamin: surely the callback can only run what you pass it [11:49] stagas has joined the channel [11:49] scott_gonzalez has joined the channel [11:49] Glenjamin: it can't capture a new closure scope [11:50] swair has joined the channel [11:50] zilch_ has joined the channel [11:51] matt_c has joined the channel [11:52] fatshotty has joined the channel [11:53] fatshotty: hi guys [11:53] jomoho has joined the channel [11:53] gut4 has joined the channel [11:54] matyr has joined the channel [11:55] tmpvar has joined the channel [11:56] mehtryx has joined the channel [11:56] devaholic: hey [11:58] shedinja has joined the channel [11:58] piscisaureus_ has joined the channel [11:59] felixge has joined the channel [11:59] felixge has joined the channel [12:04] maushu_ has joined the channel [12:04] emattias_ has joined the channel [12:04] blup has joined the channel [12:04] daneroo has joined the channel [12:05] shedinja: I'm trying to install 'cheerio' with npm, but I get npm ERR! Error: Not found: cheerio@'' [12:05] otih has joined the channel [12:05] otih has joined the channel [12:06] CrisO has joined the channel [12:06] ayaz has joined the channel [12:06] Cromulent has joined the channel [12:06] vkareh has joined the channel [12:07] dubenstein has joined the channel [12:08] dthompso99 has joined the channel [12:08] dthompso99 has left the channel [12:08] gut4 has joined the channel [12:09] zmbmartin has joined the channel [12:09] matt_c has joined the channel [12:10] davidbanham has joined the channel [12:11] Marko has joined the channel [12:12] xtianw has joined the channel [12:12] gut4 has joined the channel [12:12] Morkel has joined the channel [12:14] christophsturm has joined the channel [12:14] christophsturm: is there a way to trace what a node program does? [12:14] christophsturm: i have an app that just exits without outputting anything [12:16] Lingerance: Look for a nodejs debugger, there's quite a few of them now [12:17] christophsturm: Lingerance: any suggestions? actually i was looking for something like strace or rbtrace [12:17] rio{ has joined the channel [12:18] zilch_ has joined the channel [12:18] alexdoom has joined the channel [12:18] Swizec has joined the channel [12:20] daneroo has joined the channel [12:25] enmand has joined the channel [12:27] maushu has joined the channel [12:27] jomoho2 has joined the channel [12:27] madhums has joined the channel [12:27] daneroo has joined the channel [12:28] erichynds has joined the channel [12:28] tomilain1 has joined the channel [12:29] fumanchu182 has joined the channel [12:30] mehtryx has joined the channel [12:31] webben has joined the channel [12:31] jbpros has joined the channel [12:31] daneroo has joined the channel [12:31] luke`_ has joined the channel [12:32] mehtryx has left the channel [12:32] flexd has joined the channel [12:33] miccolis has joined the channel [12:33] piscisaureus_ has joined the channel [12:34] davidsklar has joined the channel [12:35] Poetro has joined the channel [12:35] Poetro has joined the channel [12:36] Bediako has joined the channel [12:38] PeteDaGuru has joined the channel [12:40] ph^_ has joined the channel [12:41] rchavik has joined the channel [12:41] rchavik has joined the channel [12:41] jpdery_ has joined the channel [12:42] jscheel has joined the channel [12:42] jscheel has joined the channel [12:43] mpoz2 has joined the channel [12:43] fermion has joined the channel [12:44] ph^__ has joined the channel [12:44] daneroo has joined the channel [12:46] jtrudeau has joined the channel [12:47] mehlah has joined the channel [12:48] Vennril has joined the channel [12:48] stalled has joined the channel [12:48] JakeyChan has joined the channel [12:48] fatshotty: hey guys, is there a way to install node and npm user scoped? in the user's home directory and not only into system directory? [12:48] nemo_nihil has joined the channel [12:48] fatshotty: thanks in advance [12:49] JakeyChan has joined the channel [12:50] deoxxombie: fatshotty: you do it the same as you would with any other software [12:50] nemo_nihil has left the channel [12:50] vvo has joined the channel [12:51] jtrudeau has joined the channel [12:51] heavysixer has joined the channel [12:51] deoxxombie: something like `make DESTDIR=/home/what-is-a-man-page/local/ install' [12:52] deoxxombie: you might also have to tell the node configure script where it's going to live [12:53] deoxxombie: `./configure --prefix=/home/my-mom-bought-me-a-puter/local' or similar [12:54] ej__ has joined the channel [12:54] madhums has joined the channel [12:55] fatshotty: yeah thanks deoxxombie, now I'm using the nvm script but I'm not sure that it is my saver ;) [12:55] fatshotty: So, I can't to set the dest folder for npm :/ I will try again, thanks man! ;) [12:57] fatshotty: ok, it wasn't mather, it was me ;) thanks again I will try [12:59] _jhs has joined the channel [12:59] ph^ has joined the channel [13:01] tomlion has joined the channel [13:02] baudehlo has joined the channel [13:03] luizlopes has joined the channel [13:03] AaronMT has joined the channel [13:04] tomlion has joined the channel [13:06] cosmincx has left the channel [13:06] gavin_huang has joined the channel [13:06] deedubs has joined the channel [13:06] ayaz has joined the channel [13:06] zilch_ has joined the channel [13:12] CarterL has joined the channel [13:12] micxer has joined the channel [13:13] kenperkins has joined the channel [13:14] stagas has joined the channel [13:16] mehlah has joined the channel [13:16] piscisaureus_ has joined the channel [13:17] cosmincx has joined the channel [13:18] daneroo has joined the channel [13:18] alexdoom has joined the channel [13:19] luke` has joined the channel [13:20] Poetro has joined the channel [13:20] Poetro has joined the channel [13:20] metellus has joined the channel [13:22] daneroo has joined the channel [13:24] xetorthio has joined the channel [13:24] daneroo has joined the channel [13:26] djcoin has joined the channel [13:26] mc_greeny1 has joined the channel [13:28] TheJH has joined the channel [13:29] _kud has joined the channel [13:29] Squeese has joined the channel [13:29] daneroo has joined the channel [13:30] shedinja: the node install instructions in the wiki install it locally [13:30] brianloveswords has joined the channel [13:31] robi42 has joined the channel [13:32] JasonJS has joined the channel [13:34] [AD]Turbo has joined the channel [13:34] daneroo has joined the channel [13:34] [AD]Turbo: hi there [13:34] storrgie has joined the channel [13:35] mpenderg1aft has joined the channel [13:40] albertosh has joined the channel [13:40] ceej has joined the channel [13:42] dilvie has joined the channel [13:44] xy has joined the channel [13:44] _kud_ has joined the channel [13:46] fermion has joined the channel [13:46] Esteb has joined the channel [13:48] akihito_s has joined the channel [13:48] divoxx has joined the channel [13:49] mraleph has joined the channel [13:49] AphelionZ has joined the channel [13:50] jstash has joined the channel [13:51] hackband has joined the channel [13:51] kazupon has joined the channel [13:51] bp_ has joined the channel [13:53] fatshotty has left the channel [13:53] Gonzih has joined the channel [13:53] malletjo has joined the channel [13:53] daneroo has joined the channel [13:55] LifterAH has joined the channel [13:55] daneroo has joined the channel [13:55] rklancer has joined the channel [13:57] iaincarsberg has joined the channel [13:57] TheJH_phone has joined the channel [13:57] daneroo has joined the channel [13:57] catshirt has joined the channel [14:00] remy_ has joined the channel [14:04] remy_ has joined the channel [14:05] emattias has joined the channel [14:06] Venom_X has joined the channel [14:06] mafintosh has joined the channel [14:06] heavysixer has joined the channel [14:08] mafintosh: Hey guys. I have a question. Is it on purpose that http.ServerResponses timeout in v.5.10 after 2 mins, even if you are writing a response chunk regularly? [14:09] embwbam2 has joined the channel [14:10] nibblebot has joined the channel [14:10] Peniar has joined the channel [14:10] joshkehn has joined the channel [14:11] davidwalsh has joined the channel [14:11] ph^_ has joined the channel [14:12] Gonzih has joined the channel [14:14] mafintosh: I created this gist that might illustrate what I'm talking about: https://gist.github.com/1336579 [14:14] JakeyChan has joined the channel [14:14] paul_uk has left the channel [14:14] joshkehn has left the channel [14:14] eboyjr has left the channel [14:15] cjroebuck has joined the channel [14:15] daneroo has joined the channel [14:17] embwbam has joined the channel [14:18] alexdoom has joined the channel [14:19] _kud has joined the channel [14:19] jbrokc has joined the channel [14:20] dharmesh has joined the channel [14:21] takezawa has joined the channel [14:21] lyte has joined the channel [14:21] lyte has joined the channel [14:21] _mafintosh has joined the channel [14:22] netlemur has joined the channel [14:22] baudehlo: Has anyone written a String/Buffer based Stream class yet? [14:23] aconbere has joined the channel [14:24] JumpMast3r has joined the channel [14:24] pixel13 has joined the channel [14:24] pixel13 has left the channel [14:26] davidvanleeuwen_ has joined the channel [14:26] _kud has joined the channel [14:26] maligree has joined the channel [14:28] wbednarski has joined the channel [14:28] k1ttty has joined the channel [14:28] lmatteis: Hello [14:28] lmatteis: having some issues with "request" [14:28] lmatteis: some characters get converted to ? [14:29] lmatteis: simple unicode characters, why? [14:29] fread228_ has joined the channel [14:29] FMJaguar has joined the channel [14:29] akihito_s has joined the channel [14:29] jnbek has joined the channel [14:29] jaequery has joined the channel [14:30] lmatteis: sorry that looks like a questions, some characters in the response body of a request get converted into question marks. [14:30] igl1 has joined the channel [14:30] Wizek has joined the channel [14:32] erichynds_ has joined the channel [14:32] c4milo has joined the channel [14:33] mogui_ has joined the channel [14:33] ixti has joined the channel [14:33] willwhite has joined the channel [14:34] fread2281 has joined the channel [14:34] m4rduk: d [14:34] neurodrone has joined the channel [14:35] dgathright has joined the channel [14:36] garrensmith: lmatteis: have you set what format the response data must be in? [14:36] aelien27 has joined the channel [14:36] thomblake has joined the channel [14:36] thomblake has left the channel [14:36] Isaiah has joined the channel [14:36] lmatteis: garrensmith: no, how do i do that [14:37] mAritz has joined the channel [14:37] lmatteis: i mean [14:37] lmatteis: i have set, 'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7' [14:37] lmatteis: if that's what you mean [14:37] garrensmith: lmatteis: just one sec, see if I can find a link [14:37] TomY has joined the channel [14:37] lmatteis: oh wait [14:37] lmatteis: maybe it's because i have Accept-Language [14:37] lmatteis: but should wokr [14:38] lmatteis: hrm nah [14:38] mAritz: i'm trying to create a node.js app that communicates with a hlds server (cs 1.6) via rcon/udp. however i don't quite get how this should be approached properly. my tries and searches all resulted in nothing so far. anyone here who can help me? [14:39] garrensmith: lmatteis: http://nodejs.org/docs/v0.5.10/api/http.html#request.setEncoding [14:39] deedubs has joined the channel [14:40] garrensmith: mAritz: you need to know what address and port the server is connected on. Then you need to know the messages are sent to the server and received [14:40] zaller has joined the channel [14:40] garrensmith: mAritz: basically the message protocol [14:41] jtgiri_ has joined the channel [14:41] mAritz: hm, guess i first need to get my understanding of udp straight. right now i don't even know how i'd get any responses from the server. :/ [14:41] boltR has joined the channel [14:42] lmatteis: garrensmith: this is a little confusing, i'm using the request() function to run a simple request and get the response back, so it's a method. while that api page shows that request is an object with the method 'setEncoding'. [14:42] lmatteis: garrensmith: i'm using var request = require('request'); [14:42] garrensmith: lmatteis: is require the built in request supported by nodejs or 3rd party library? [14:43] lmatteis: built in i'm pretty sure [14:43] garrensmith: *require("request") [14:43] zilch_ has joined the channel [14:43] lmatteis: i dunno, it's actually being used by this module, but it's built in probably [14:43] deedubs has joined the channel [14:44] jtgiri_ has joined the channel [14:44] lmatteis: i use it such as request({uri:...}, function(err, response, body){ [14:44] fread228_ has joined the channel [14:44] garrensmith: lmatteis: I dont think so, what does your package.json say [14:44] mAritz: lmatteis: request is not a built in module [14:44] lmatteis: oh you're right, request" : ">=0.10.0", [14:45] briancray has joined the channel [14:45] mAritz: https://github.com/mikeal/request [14:45] skm has joined the channel [14:46] lmatteis: ah nice [14:46] lmatteis: there's an encoding property [14:46] enda has joined the channel [14:46] lmatteis: argh [14:46] lmatteis: still, getting question marks! [14:47] garrensmith: lmatteis: yeah I thought so. Have you set the request property? [14:47] lmatteis: argh [14:47] lmatteis: not sure i can using this package [14:47] sirganya has joined the channel [14:48] trose: is it possible to round number server side using jade? [14:48] RORgasm has joined the channel [14:48] erichynds has joined the channel [14:49] deedubs: trose: Of course. - Math.floor(10.45) [14:49] MooGoo: I dunno if servers can handle rounding numbers [14:49] MooGoo: naah [14:49] maushu: deedubs: Thats not round. [14:49] MooGoo: .. ~~10.45 [14:49] catb0t: 10 [14:49] MooGoo: the best way to truncate [14:49] maushu: .. Math.round(10.65) [14:49] catb0t: 11 [14:49] sirganya: If I have what may seem like a dumb question but I'm not sure if I have my concepts in a row. If I have a request end event are all the variables in that event persistent for that request end event only. If I'm waiting for an async operation to finish within that event there's no way another request end event can take over? [14:49] garrensmith: lmatteis: what are you trying to do? [14:50] deedubs: sorry Math.round [14:50] lmatteis: garrensmith: just not show question marks for this data [14:50] dnjaramba_ has joined the channel [14:50] lmatteis: show its actual characters [14:50] sirganya: or encapsulated might be the better term [14:50] jtgiri_ has joined the channel [14:50] daneroo has joined the channel [14:52] lmatteis: garrensmith: this little request packages doesn't seem to let me call request.setEncoding [14:52] lmatteis: any ide? [14:52] lmatteis: *idea [14:52] catshirt has joined the channel [14:52] trose: deedubs, cool. I couldn't find anything in the docs about it... does it support anything in javascript or something? [14:52] eb4890 has joined the channel [14:52] deedubs: trose: Yeah its all there [14:53] trose: deedubs, ohhhhh okay [14:53] postwait has joined the channel [14:53] isaacs has joined the channel [14:53] heavysixer has joined the channel [14:53] trose: I thought it was like... a different language. They just put new syntax to js [14:53] ecin has joined the channel [14:54] garrensmith: lmatteis: can you gist you code? [14:55] zilch_: what the js guru think of joose ? should it be used ? [14:55] sirganya: I'm assuming that the event end object is created once per end event, all its vars are encapsulated for it's life cycle and I don't have to worry?? [14:55] lmatteis: i'm just running request({"uri":"http://foo.com", function(err, response, body){ console.log(body) }); [14:56] zilch_: I am talking about http://code.google.com/p/joose-js/ [14:57] lmatteis: garrensmith: ^ [14:57] lzskiss has joined the channel [14:58] lzskiss: yo [14:58] ej_ has joined the channel [14:58] yhahn has joined the channel [14:59] francisl has joined the channel [14:59] garrensmith: lmatteis: its not the library thats wrong you just need to set teh encoding on body. Maybe try console.log(body.toString()) [14:59] Industrial has joined the channel [15:00] Industrial: with the output if fs.stat(Sync) (or otherwise), how do I check if a file/node is a directory/ [15:00] lmatteis: garrensmith: hrm, same, getting ? for chars such as é [15:00] ph^ has joined the channel [15:01] Industrial: stat.isDirectory, it seems [15:01] garrensmith: lmatteis: toString('utf-16') [15:01] trose: is there an express module to do user registration. ie. captcha + email conf? [15:02] akihito_s has joined the channel [15:02] BillyBreen has joined the channel [15:02] erichynds has joined the channel [15:03] MatthewS has joined the channel [15:03] lmatteis: garrensmith: same :-( [15:03] hnan has joined the channel [15:03] lmatteis: maybe it's my terminal that's not showing it? dunno [15:03] lmatteis: i doubt it [15:04] deedubs: lmatteis: That was my guess [15:04] lmatteis: yes not that, something [15:04] JasonJS has joined the channel [15:04] seanhess has joined the channel [15:04] garrensmith: lmatteis: last attempt request({"uri":"http://foo.com", encoding:"utf8"}, function(err, response, body){ console.log(body) }); [15:04] lmatteis: deedubs: no just tried putting data in a database and also it looks weird there [15:04] lmatteis: garrensmith: also did that :( [15:04] garrensmith: lmatteis: try again that should work [15:04] lmatteis: without the -? [15:05] garrensmith: lmatteis: or utf16 else the data you getting is weird [15:05] lmatteis: tried with encoding: "utf-8", with "utf8" [15:05] lmatteis: with "utf16" it throws an error, saying "Unknown encoding" [15:06] enda_ has joined the channel [15:06] lmatteis: but none work, still getting question marks [15:07] garrensmith: lmatteis: sorry cant help. Try another website [15:07] lmatteis: :-( ok thanks anyway [15:07] enda_: Hi everybody [15:08] enda_: I'm just testing node.js [15:08] enda_: and i don't understand some things [15:08] enda_: ( sorry for my bad english ) [15:08] enda_: i had created a simple test with http server [15:08] enda_: but when a client connect [15:08] enda_: i got this error: [15:08] JakeyChan has left the channel [15:09] enda_: TypeError: Object # has no method 'sendHeader' [15:09] enda_: why method undeclared ? [15:09] JakeyChan has joined the channel [15:09] eignerchris has joined the channel [15:10] garrensmith: lmatteis: do console.log(response) [15:10] mafintosh: sendHeader was removed a long time ago - use .writeHead instead, http://nodejs.org/docs/v0.4.12/api/http.html#http.ServerResponse [15:11] JakeyChan has left the channel [15:11] enda_: oh, ok [15:11] enda_: thanks [15:12] lmatteis: garrensmith: so weird :( nope [15:12] lmatteis: garrensmith: if i do, console.log("José"); [15:12] lmatteis: the é prints just fine [15:12] plutoniix has joined the channel [15:12] lmatteis: but when it's the body of the request, it becomes a "?" character [15:13] jtsnow has joined the channel [15:13] koo6 has joined the channel [15:13] garrensmith: lmatteis: I'm not sure request is doing the conversion right. [15:13] ninjapig has joined the channel [15:13] ninjapig has joined the channel [15:13] lmatteis: garrensmith: that's my fear as well [15:13] garrensmith: lmatteis: wait until mikeal is around and then ask him to check it out [15:13] lmatteis: but their github page has zero issue on the subject, weird nobody made a request with unicode data [15:13] slickplaid: is this being displayed in a webpage? [15:14] slickplaid: and if it is, do you have set on the page if it is? [15:15] lmatteis: slickplaid: i don't have control over the webpage [15:15] lmatteis: it's a simple html page [15:15] garrensmith: lmatteis: I think this line is wrong https://github.com/mikeal/request/blob/master/main.js#L345 [15:15] garrensmith: lmatteis: doesn't take into account encoding [15:16] zmbmartin has left the channel [15:16] lmatteis: garrensmith: right, what should it be... i can change it and test [15:16] lmatteis: i'm not aware of the Request obj [15:16] lmatteis: sorry i mean Buffer [15:16] devdazed has joined the channel [15:16] lmatteis: garrensmith: body.toString() maybe that [15:16] lmatteis: but i thought in nodejs it's all utf8 [15:16] garrensmith: lmatteis: yes http://nodejs.org/docs/v0.5.10/api/all.html#buffer.toString [15:17] garrensmith: lmatteis: not its a buffer so I think its just a section in memory [15:17] MatthewS has joined the channel [15:17] IonEarth has joined the channel [15:18] trose: is there already a library/ module for doing user registration or is it so easy no one bothered? [15:18] akihito_s has joined the channel [15:18] mike5w3c has joined the channel [15:18] IonEarth: seeking some help on a node.js - trying to make a remote GET to return json, but it returns 404 and blank everytime - however, when I make the call from jQuery, the json returns fine?? [15:19] IonEarth: if i call the same url, but don't return the json - just a simple hello world, that works? [15:19] mafintosh: IonEarth: Which request headers are you sending? and do you control the service? [15:19] tjholowaychuk has joined the channel [15:19] slickplaid: trose: User registration is simple :), here's an oAuth lib for more complex things: https://github.com/bnoguchi/everyauth [15:20] alexdoom has joined the channel [15:20] IonEarth: I control the service [15:20] trose: slickplaid, well I understand that at the base it is just putting the username and password into a user table. I'm thinking as far as using a captcha and email verification as well [15:20] mafintosh: IonEarth: Could you share the example? [15:21] IonEarth: headers are: {"server":"nginx/0.6.33","date":"Thu, 03 Nov 2011 15:20:32 GMT","content-type":"text/html","transfer-encoding":"chunked","connection":"close"} [15:21] IonEarth: yes i can share sample. [15:21] divoxx has joined the channel [15:21] smtlaissezfaire has joined the channel [15:21] IonEarth: i'll put it up in a link... i think the code would not format nicely in this chat... 2 mins [15:23] IonEarth: here is my sample: http://dev-app.ionearth.com/2.0/scratchpad.php [15:23] sdudenhofer has joined the channel [15:24] IonEarth: so if you look at the code, you will see the url i'm trying to hit [15:24] kenperkins has joined the channel [15:24] IonEarth: which to save time so you guys can see it is this: http://dev.ionearth.com/api/new/agm/position_time/2612/1279654200/ [15:24] IonEarth: just json... [15:25] slickplaid: This returns 404: http://dev.ionearth.com/api/new/agm/position_time/2612/1279654200/ [15:25] mafintosh: IonEarth: I get a 404 [15:25] slickplaid: did you mistype the url? [15:25] IonEarth: let me check plz, one min. [15:26] icrusade has joined the channel [15:26] IonEarth: wait, i have to open up 80 so you guys can see it... working on AWS EC2 server... one moment - sorry guys [15:26] airhorns has joined the channel [15:26] guillermo has joined the channel [15:28] mafintosh: IonEarth: the requests goes through an returns an http response [15:28] xetorthio has joined the channel [15:28] IonEarth: can you guys try again? you might have to flushdns... http://dev-app.ionearth.com/2.0/scratchpad.php [15:28] neilk_ has joined the channel [15:29] IonEarth: crap... guys... [15:29] IonEarth: DNS issue [15:29] IonEarth: thank you so so much [15:29] IonEarth: !! :) [15:29] slickplaid: hehe [15:30] harthur has joined the channel [15:30] EyePulp has joined the channel [15:34] jocafa has joined the channel [15:34] devdazed: are we supposed to be looking at python?/ [15:34] IonEarth: no, we changed a path - thats a debug error [15:34] IonEarth: here is the url, but all is working now [15:34] reid has joined the channel [15:35] devdazed: ah [15:35] IonEarth: http://dev.ionearth.com/api/new/agm/position_time/2612/1279654200 [15:35] IonEarth: i had a dns issue on amazon [15:35] nyrb has joined the channel [15:35] IonEarth: does it matter what content-type that the python api is returning [15:36] remysharp: if I have a process intensive task in a node server - should I split it out to a separate process and talk via sockets? Or is there a better approach? [15:36] devdazed: IonEarth: probably should return application/javascript [15:36] IonEarth: i have tried it with text/html, text/json, application/json and they all work [15:36] devdazed: or json [15:36] IonEarth: but i will need to open this api up at some point, and what do peeps expect? i saw that like flickr api is just text/html [15:37] IonEarth: i like to do things as "right" as possible... [15:37] devdazed: depends on how its accessed. json if it will be accessed like this but if it will be used client side, with a callback then application/javascript is best [15:38] vipaca has joined the channel [15:38] vipaca has joined the channel [15:38] TomY has joined the channel [15:38] ecin has joined the channel [15:38] IonEarth: that particular layer will not be client-side, only this new node.js api will be client-side with the call back [15:38] hij1nx has joined the channel [15:38] lazyshot has joined the channel [15:39] IonEarth: so, in my headers for my node.js api - instead this - response.writeHead(200, { 'Content-Type': 'text/plain', 'Access-Control-Allow-Origin' : '*' }); I should change it to application/javascript for the callbacks? [15:39] mAritz: anyone here who can help me with the hlds protocol? :) [15:39] devdazed: yeah [15:40] IonEarth: devdazed: thank you so much! its so nice to be able to ask questions here, the last time I used IRC for an NGINX question i got yelled at... hehe [15:41] devdazed: lol, no problem [15:41] mynyml has joined the channel [15:41] IonEarth: we are going to use new node.js api to stream data for tracking the iditarod on a google - so you just helped with that!! thank again bro!! [15:41] IonEarth: *on a google map [15:42] devdazed: awesome, no problem :) [15:44] orangeman has joined the channel [15:45] Mokona has joined the channel [15:46] devongovett has joined the channel [15:47] arcanis has joined the channel [15:48] rchavik has joined the channel [15:48] rchavik has joined the channel [15:48] secoif: a component in my app uses S3, I'd like to perhaps mock the S3 response, any suggestions on how to go about it? [15:49] eldios has joined the channel [15:50] garrensmith: secoif: write a wrapper class around your s3 lib, and use that to mock out s3 [15:50] Marko has joined the channel [15:51] amiller has joined the channel [15:51] secoif: garrensmith that's what I was thinking, though I wasn't sure how to go about catching the request going out [15:52] Jay_Levitt has joined the channel [15:52] Jay_Levitt has left the channel [15:52] secoif: using knox, I guess I should just check out how that does it and just swap my own function in? [15:53] alvaro_o has joined the channel [15:54] tjbell has joined the channel [15:56] nyxtom has joined the channel [15:56] blup has joined the channel [15:56] garrensmith: secoif: when newing up your object pass a mock in instead of know [15:56] malletjo has joined the channel [15:56] wadey has joined the channel [15:57] secoif: oh. [15:57] fairwinds has joined the channel [15:57] secoif: IOC [15:57] secoif: of course [15:59] vguerra_ has joined the channel [16:02] mAritz has left the channel [16:03] vguerra_ has joined the channel [16:03] xsyn has joined the channel [16:03] jbrokc_ has joined the channel [16:06] aliem has joined the channel [16:06] lmatteis: garrensmith: btw, still not working [16:06] lmatteis: the buffer is a simple array, and it just does a "join" on it [16:07] stagas has joined the channel [16:07] fread2281 has joined the channel [16:07] lmatteis: garrensmith: https://github.com/mikeal/request/blob/master/main.js#L337 [16:08] lmatteis: although i'm not sure what 'chunk' is [16:08] lmatteis: and if there's anything missing there [16:08] jnbek has joined the channel [16:09] hipsterslapfight: lmatteis: "chunk can be a string or a buffer. If chunk is a string, the second parameter specifies how to encode it into a byte stream. By default the encoding is 'utf8'." [16:09] lmatteis: it is a buffer [16:10] ecto has joined the channel [16:10] divoxx has joined the channel [16:10] ecto: hey guys, I have either a brainscratcher or a really stupid question [16:10] grekko has joined the channel [16:11] boltR has joined the channel [16:11] ecto: i wrote a distrubuted event emitter, https://github.com/ecto/bolt-server/blob/master/mesh.js [16:11] kurtzhong has joined the channel [16:12] ecto: I'm running it in production with ~300 nodes connected to it. It hums along perfectly for about 2 hours at ~1.2% cpu [16:12] ecto: and then all of my nodes disconnect and it eats up the entrie CPU [16:12] ecto: am I missing something blatant? [16:12] lmatteis: hipsterslapfight: but it's not outputting the characters correctly. i'm getting weird "?" characters [16:12] cjroebuck has joined the channel [16:13] tisba has joined the channel [16:13] tisba has joined the channel [16:13] jtgiri_: HI guys, does anybody offer Node.js training ? [16:13] jbrokc has joined the channel [16:14] cjroebuck has joined the channel [16:15] brianc1 has joined the channel [16:15] lmatteis: even if i add .toString("utf8") [16:15] lmatteis: still get the same question marks :-( [16:16] dshaw_ has joined the channel [16:17] trotter has joined the channel [16:19] jtgiri_ has joined the channel [16:19] francisl: what are you guys using to unit test node.js + coffeescript? [16:19] hij1nx has joined the channel [16:19] dilvie has joined the channel [16:20] alexdoom has joined the channel [16:22] ecto: can anyone help me? [16:22] qbit_ has joined the channel [16:23] _dc has joined the channel [16:24] ecto: ACTION rage quit [16:24] isaacs: wow, i just realized i could do this: cd ~/dev ; ln -s ./js node_modules; [16:24] isaacs: now in any project, i can require() any other project. [16:25] seanhess has joined the channel [16:25] albertosh has joined the channel [16:25] garrensmith: lmatteis chunked is the little bit of the response body [16:25] EyePulp has joined the channel [16:25] n8ji has joined the channel [16:25] lmatteis: garrensmith: right, but even with buffer.toString('utf8') nothing changes :( [16:25] koo6 has joined the channel [16:26] devaholic: isaacs: whats in js? [16:26] isaacs: devaholic: oh, a ton of stuff :) [16:26] devaholic: that links what to who? [16:26] isaacs: devaholic: isaacs@cometrocket:~/dev-src/js v0.5.11-pre [16:26] isaacs: $ ls | wc -l [16:26] isaacs: 88 [16:26] devaholic: dev to js? [16:26] isaacs: it links ~/dev/js to ~/dev/node_modules [16:27] isaacs: i guess i could also rename it, but meh. muscle memory. [16:27] garrensmith: lmatteis: try doing it without using the request library and see if you get the same response [16:27] devaholic: isaacs: cool [16:28] TomY has joined the channel [16:28] Aikar: https://www.google.com/search?btnG=1&pws=0&q=do+a+barrel+roll [16:28] anddam has joined the channel [16:28] isaacs: that's awesome [16:28] anddam: hello [16:28] enmand_ has joined the channel [16:28] Me1000 has joined the channel [16:29] devaholic: aikar: lol [16:29] TheJH has joined the channel [16:31] langworthy has joined the channel [16:31] devdazed: what other easter eggs arethere? [16:31] fatjonny has joined the channel [16:32] kitt has joined the channel [16:33] TheJH: devdazed, you call something an "easter egg" because you have to FIND it, not ask for it :P [16:33] hipsterslapfight: devaholic: quite a few, if you're talking ones that employ css3 rules, then 'tilt' is another [16:33] devdazed: haha Th, touche [16:34] devaholic: devdazed: rescursion [16:34] rabbitnewb has joined the channel [16:34] jonrohan has joined the channel [16:35] tilgovi has joined the channel [16:35] tilgovi has joined the channel [16:35] rabbitnewb: hello, what's the difference between child process spawn and child process exec and are they async or block until the process is finished? [16:36] adrianmg has joined the channel [16:36] adrianmg has left the channel [16:36] jonrohan2 has joined the channel [16:36] sh1mmer has joined the channel [16:37] isaiah_ has joined the channel [16:37] Carter has joined the channel [16:37] albertosh has joined the channel [16:38] sbisbee has joined the channel [16:39] mmalecki has joined the channel [16:39] chrislorenz has joined the channel [16:39] anddam: I installed node.js and I ended up with two binaries in PATH, node and node-waf. Does node contain the js engine? [16:40] tom__ has joined the channel [16:40] anddam: (as opposed at relying on an external binary for the engine) [16:40] zaller: dose anyone have any experiance or suggestion on finding a module that supports GSSAPI for ldap or if ldapjs has any plans on eventually supporting it [16:40] anddam: s/ at / to / [16:40] wadey has joined the channel [16:40] joshkehn has joined the channel [16:41] joshkehn: I'm getting an interesting error from node's HTTP lib. [16:41] joshkehn: "This type of response MUST NOT have a body. Ignoring write() calls." [16:41] joshkehn: This happens when I call it with curl -I [16:41] joshkehn: How can I catch these messages? [16:41] mmalecki: bnoordhuis: modified the parser [16:41] hdf has joined the channel [16:41] hdf: Hi [16:42] bnoordhuis: joshkehn: `curl -l` as in ftp list? [16:42] joshkehn: -I (capital i) [16:42] hdf: Anyone know, it it is possible, or wil it be possible at some point to call a dll function from node.js? [16:42] lmatteis: garrensmith: jee, i get the same even using the raw http lib [16:42] mmalecki: hdf: it's a work in progress, iirc [16:43] bnoordhuis: joshkehn: right (stupid font) [16:43] bnoordhuis: your curl is probably sending a HEAD request [16:43] mmalecki: joshkehn: just check if req.method == 'HEAD' [16:43] joshkehn: I have mine set to a mono just for that reason. ;) [16:43] rabbitnewb: sorry for reposting this: what's the difference between child process spawn and child process exec and are they async or block until the process is finished? [16:43] joshkehn: I could but I would really rather just catch the errors. [16:43] mmalecki: rabbitnewb: exec buffers output [16:44] mmalecki: rabbitnewb: so, you receive whole output, not a stream [16:44] te-brian has joined the channel [16:44] lmatteis: garrensmith: now i have no clue what it could be :| [16:44] lmatteis: ACTION mind blows [16:44] bnoordhuis: joshkehn: there is no real error to speak of - if you send a response body to a HEAD request, it's a programmer bug [16:44] hdf: ok, so at one point it is an intended feature, to be able to call dll -s. ok, thx. [16:45] joshkehn: bnoordhuis: Hmm, I see your point. [16:45] joshkehn: Technically it's my fault. [16:45] joshkehn: Guess I'll just handle it then. :) [16:45] rabbitnewb: what if you exec/spawn a long running cpu intensive process such as video encoding.....does it block until it's finished, or does node do other stuff until it gets a callback? [16:46] ryan_stevens has joined the channel [16:46] knifed has joined the channel [16:47] joshthecoder has joined the channel [16:47] maletor has joined the channel [16:48] albertosh has joined the channel [16:48] jbrokc has joined the channel [16:48] anddam: I see in FAQ there are several version managers, what's the need to keep several node.js versions installed? [16:48] deedubs: rabbitnewb: node just gets a callback no blocking [16:48] tjholowaychuk: anddam testing [16:48] tjholowaychuk: usually [16:48] tjholowaychuk: or if you actually have several apps that require different versions of node [16:49] passionke has joined the channel [16:49] ritch has joined the channel [16:49] anddam: does compatibility break with updates? (not my case, just out of curiosity) [16:49] jonrohan has joined the channel [16:49] rabbitnewb: cool. can you spawn as many child processes as you want (as much as the hardware allows) [16:49] anddam: I'm asking as I see latest stable is 0.4.12 so there shouldn't have been any major API change [16:50] mmalecki: anddam: there are huge api changes between 0.4 and 0.5 [16:50] JaKWaC has joined the channel [16:50] ritch has left the channel [16:50] captain_morgan has joined the channel [16:50] anddam: I see [16:51] anddam: what about the V8 engine? is it hardcoded in the node executable? [16:51] zaller_ has joined the channel [16:51] jonrohan has joined the channel [16:51] fzzzy has joined the channel [16:51] anddam: I'm comparing it to narwhal where the engine is in a package [16:51] k1ttty has joined the channel [16:52] mmalecki: anddam: it's statically linked, I think [16:53] jonrohan has joined the channel [16:53] perezd has joined the channel [16:54] rabbitnewb: this is probably more of a linux question than a nodejs question, but if I spawn multiple child processes, are they limited by the fact that nodejs is single threaded and won't take advantage of multiple cpu cores? [16:54] zackattack has joined the channel [16:55] mmalecki: rabbitnewb: no [16:55] ank has joined the channel [16:55] mmalecki: rabbitnewb: kernel automagically takes care about this stuff, it will distribute the workload [16:55] rabbitnewb: cool [16:55] rabbitnewb: thanks [16:56] tjholowaychuk: rabbitnewb that's why you're spawning multiple processes [16:56] tjholowaychuk: :p [16:56] rabbitnewb: lol ya I was figuring that would be the case but I wanted to make sure [16:56] rabbitnewb: never took a os class [16:56] anddam: thanks [16:59] kenperkins has joined the channel [16:59] pizthewiz has joined the channel [17:00] grampajoe has joined the channel [17:00] tahu has joined the channel [17:01] broofa has joined the channel [17:01] grampajoe: Is there a module that works like socket.io (custom events, JSON) over regular TCP sockets? [17:01] sbisbee has left the channel [17:01] jgallen23 has joined the channel [17:04] Aikar: grampajoe: yes, my wormhole, http://github.com/aikar/wormhole [17:04] mc_greeny has joined the channel [17:04] briancray has joined the channel [17:05] michaeldeol has joined the channel [17:06] passionke has joined the channel [17:06] grampajoe: Aikar: That looks perfect, thanks! [17:06] stephank has joined the channel [17:06] jaequery has joined the channel [17:07] TooTallNate has joined the channel [17:08] martin_sunset has joined the channel [17:08] sh1mmer has joined the channel [17:08] errordeveloper has joined the channel [17:09] fread2281 has joined the channel [17:10] Aikar: grampajoe: FD support wont work in v5 though since node removed that functionality :( [17:10] jtsnow has joined the channel [17:10] albertosh has joined the channel [17:12] wbednarski has joined the channel [17:12] mmalecki: grampajoe: or dnode [17:13] jimt_ has joined the channel [17:13] Aikar: dnode uses websockets protocol iirc? i think he wants something more lightweight [17:13] takezawa has joined the channel [17:13] mmalecki: Aikar: it uses websockets and some custom protocol as well [17:14] Isaiah has joined the channel [17:14] benvie: https://gist.github.com/1337083 [17:14] hij1nx has joined the channel [17:15] chrixian has joined the channel [17:15] mmalecki: hm, cool. something happened to my DNS and I can't connect to anything now. [17:16] mc_greeny has joined the channel [17:16] grampajoe: mmalecki: That looks interesting, and cartoon turtles are cool, but all I need right now is a convenient way to pass JSON around over TCP. Thanks, though! [17:16] vereteran has joined the channel [17:17] benvie: JSON.stringify and parse do that unless you're trying to do crazy stuff like mirror the whole DOM like I am [17:18] Aikar: benvie: yeah but also gotta hamdle messages, and i think he wanted diff channels [17:18] harthur has joined the channel [17:18] benvie: oh that's something else [17:19] benvie: https://gist.github.com/1337098 would end up serializing the whole DOM via some random reference to documentElement [17:19] langworthy has joined the channel [17:19] grampajoe: Mostly I don't want to deal with framing/buffering messages [17:20] alexdoom has joined the channel [17:20] Aikar: WH does that in a very performant way :P [17:20] coreb has joined the channel [17:22] Morkel has joined the channel [17:22] mmalecki has joined the channel [17:24] nphase has joined the channel [17:24] gregpascale has joined the channel [17:24] neshaug has joined the channel [17:25] jhurliman has joined the channel [17:25] luke` has joined the channel [17:25] rklancer has joined the channel [17:28] jbrokc has joined the channel [17:28] saschagehlich has joined the channel [17:28] sarlalian has joined the channel [17:30] wankdanker: bnoordhuis: do you have time do discuss https://github.com/joyent/node/issues/1993 ? [17:30] jerrysv has joined the channel [17:31] deedubs: I think my favorite part about node is that a 'slow' test is like 200ms whereas I wait minutes for rails test suites to complete [17:31] bnoordhuis: wankdanker: sure [17:31] bnoordhuis: so both processes are bound - but do both receive datagrams? [17:31] wankdanker: bnoordhuis: yes, that is the case on my system using 4.12 [17:31] wankdanker: bnoordhuis: including from themselves [17:31] JaKWaC has joined the channel [17:32] bnoordhuis: wankdanker: `uname -a`? [17:32] wankdanker: Linux dellp390-02 3.0.0-12-generic #20-Ubuntu SMP Fri Oct 7 14:56:25 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux [17:32] ryanj has joined the channel [17:32] wankdanker: bnoordhuis: it also behaves this way on Linux 2.6.38 [17:32] bnoordhuis: hmm, maybe that behaviour changed somewhere between 2.6.32 and 3.0 [17:33] IonEarth has joined the channel [17:33] wankdanker: bnoordhuis: do you know if that behavior is possible in windows? because i imagine that would be the deal breaker [17:33] Harzilein: hmm [17:33] bnoordhuis: one reason we don't touch SO_REUSEADDR is that it behaves inconsistently across unices [17:33] storrgie has joined the channel [17:33] bnoordhuis: and apparently also across linux versions :) [17:33] Harzilein: does search.npmjs.org have a way to specify a search with a fragment? [17:33] Harzilein: so i can link a search? [17:33] wankdanker: bnoordhuis: ahh. ha! [17:34] IonEarth: Hi everyone, I have a problem with some JSON i'm requesting from my Python API - it's returning the JSON fine, but it only writes a portion of it. Is there a timeout or something that I am missing? I have examples and links to my json api and my node.js client page... [17:34] bnoordhuis: wankdanker: i discussed it with piscisaureus - iirc it depends on the windows version [17:34] bnoordhuis: ACTION digs through his log files [17:34] wankdanker: bnoordhuis: hmm. that sucks. what do you think about exposing setsockopt? [17:35] baudehlo: ACTION would love setsockopt or fcntl exposed [17:35] wankdanker: bnoordhuis: cuz at least if that was exposed then the user could set options for their environment? [17:35] StanlySoManly has joined the channel [17:35] baudehlo: but it's never going to happen. [17:35] mmalecki: baudehlo: node addon? [17:35] baudehlo: yup [17:35] hij1nx has joined the channel [17:36] mmalecki: baudehlo: sounds pretty easy to write :) [17:36] herbySk has joined the channel [17:36] purr has joined the channel [17:36] baudehlo: Yeah, probably true. [17:36] baudehlo: node-net-ext [17:36] elliottcable: <3 purr [17:36] purr: Let it be known that elliottcable hearts purr. [17:36] baudehlo: same as node-fs-ext [17:36] bnoordhuis: wankdanker: can't do - setsockopt (its options anyway) are not really portable [17:37] baudehlo: I hate that policy :) [17:37] albertosh has joined the channel [17:37] baudehlo: it reminds me of Java. [17:37] wankdanker: bnoordhuis: what if a subset of the options were exposed in a way that would make them work portably? [17:38] bnoordhuis: baudehlo: java created more jobs than anything else in this industry [17:38] wankdanker: bnoordhuis: ie; whatever options could be portable, allow those to be used [17:38] bengrue has joined the channel [17:38] bnoordhuis: wankdanker: hrm, it's a slippery slope [17:38] baudehlo: bnoordhuis: that's hugely debatable. Those jobs would have been there anyway, just using something else. [17:38] brion has joined the channel [17:38] githogori has joined the channel [17:39] wankdanker: bnoordhuis: i hear ya. [17:39] bradleymeck has joined the channel [17:39] bnoordhuis: i suppose we should look into what's possible [17:39] mmalecki: bnoordhuis: jobs taken mostly by morons. [17:39] magnetik has joined the channel [17:39] passionke has joined the channel [17:40] wankdanker: bnoordhuis: unfortunately a module i was working on depended on this behavior and without it, it's nearly useless beyond 4.12 [17:40] baudehlo: Java didn't suddenly create a load of tasks that required programming. [17:40] agnat_ has joined the channel [17:40] isaacs: "creating jobs" isn't what programming is for. [17:40] isaacs: programming is to remove jobs. [17:40] bnoordhuis: baudehlo: but it did give rise to concepts as the high-level (and high-earning) application architect [17:41] isaacs: creating jobs means creating work. [17:41] bnoordhuis: wankdanker: let's punt on it until after 0.6 is released [17:41] mmalecki: isaacs++ [17:41] bnoordhuis: mmalecki: also, i'm a recovering enterprise java programmer [17:41] Wizek has joined the channel [17:41] isaacs: the greatest success of node will be if it makes each programmer more productive, meanign that you can do more with fewer of them. [17:41] baudehlo: wankdanker: I had the same experience - the removal of a bunch of stuff made one of my modules never able to work on 0.5. [17:41] rklancer: "Java didn't suddenly create a load of tasks that required programming": I thought that was what it was for??? [17:42] isaacs: wankdanker, baudehlo: what makes your modules "never able to work on 0.5"? [17:42] rklancer: maybe it only seemed that way from the outside [17:42] n8ji has left the channel [17:42] mmalecki: bnoordhuis: sorry to hear that. also, java == enterprise, RIGHT?! [17:42] baudehlo: isaacs: the removal of netbinding.pipe and passing fds to child processes. [17:42] wankdanker: bnoordhuis: ok. [17:42] isaacs: oh, right [17:42] baudehlo: (and yes I know netbinding.pipe wasn't really exposed) [17:42] isaacs: yeah [17:42] isaacs: and it wasn't ever going to be portable. [17:43] isaacs: so, bubye [17:43] wankdanker: isaacs: for me it's broadcast/multicast and binding behavior [17:43] bnoordhuis: mmalecki: not quite - there is java and there is enterprise java and never the twain shall meet [17:43] baudehlo: neither is qmail-queue [17:43] baudehlo: some people need access to things that aren't portable. [17:43] isaacs: it would be good to have a net-ext like the fs-ext, for stuff that is unix-only [17:43] wankdanker: isaacs: see https://github.com/joyent/node/issues/1993 [17:43] baudehlo: isaacs: yeah that might be the only way to do it. [17:43] mmalecki: bnoordhuis: haha, OK, so what's the difference? [17:44] bnoordhuis: mmalecki: enterprise java is a jungle of lumbering over-designed frameworks [17:44] bnoordhuis: it's been good for consultants though [17:44] isaacs: baudehlo: while it's a little bit of a pita, i know, it's also really important that node-core be 100% consistent across all the platforms we support. [17:44] baudehlo: I haven't had change to try it yet, but do C++ extensions compile under 0.4.x and 0.5.x the same? [17:45] wankdanker: yeah, a net-ext would be nice. [17:45] isaacs: ie, node-core's exposed/documented api, that is [17:45] jxson has joined the channel [17:45] bnoordhuis: baudehlo: mostly [17:45] baudehlo: I should try fs-ext on it. [17:45] baudehlo: or has anyone? [17:45] CIA-109: node: 03Ryan Dahl 07master * r0e9c1ca 10/ (308 files in 24 dirs): Downgrade V8 to 3.6.4 - http://git.io/gqgoWQ [17:45] benvie: uh oh [17:46] baudehlo: downgrade? :) [17:46] perezd has joined the channel [17:46] mmalecki: bnoordhuis: it reminds me of those hilarious project patterns [17:46] mmalecki: like, visitor or whatever [17:46] jimmysparkle has joined the channel [17:46] CIA-109: node: 03Ryan Dahl 07master * r2dd68af 10/ deps/v8/SConstruct : Remove -Werror from V8 build - http://git.io/tWpq5A [17:46] bnoordhuis: oh, design patterns [17:46] bnoordhuis: well, not all are bad [17:46] jslatts has joined the channel [17:46] bnoordhuis: but enterprise people are a little too much in love with them [17:47] davidascher has joined the channel [17:47] mmalecki: and why are we downgrading, btw? [17:47] devdazed: down to 3.6.4, i guess that means the new GC isn't that great [17:47] bnoordhuis: bugs in v8 3.7.x [17:47] baudehlo: shame, 3.6.5 looked really good. [17:47] devdazed: 3.6.4 was the version just before the new GC [17:47] mmalecki: bnoordhuis: YOU'RE NOT ENTERPRISE READY YET. [17:47] bnoordhuis: ACTION recompiles again... [17:48] bnoordhuis: ^ that's very enterprise-y btw [17:48] baudehlo: new gc, fixed the heap size bugs... [17:49] domino14 has joined the channel [17:49] devdazed: not really, the new GC still started to thrash at about 2 gigs [17:49] devdazed: and the hard limit was still set at 2 gigs [17:49] olivier has joined the channel [17:49] mmalecki: if you need 2 GB of memory you probably shouldn't use node in the first place [17:50] devdazed: why is that? [17:50] baudehlo: I hate that attitude :) [17:50] baudehlo: we should be able to prototype any hugely memory consuming monster in node if we want to. [17:51] mmalecki: tell me why you need 2 GB of memory and I will tell you why doing it in node is a bad idea [17:51] baudehlo: Did you also think 640k would always be enough? [17:51] devdazed: I'm using node and in one project it uses up to 8 gigs [17:51] devdazed: i get past the memory issue by using a c module to store the data [17:51] scott_gonzalez has joined the channel [17:51] chrislorenz has joined the channel [17:51] mmalecki: devdazed: and what makes node go to 8 gigs of memory usage? [17:51] malkomalko has joined the channel [17:52] benvie: media encoding would be my guess, or moving around a butt ton of data [17:52] devdazed: for my particular use case, I need it to do real time decisioning of ads [17:52] devdazed: and i have to repond in 50ms [17:52] devdazed: so looping over a db is out of the question [17:52] devdazed: plus we get requests in the hundreds per second [17:53] mmalecki: benvie: media encoding is definitely not a job for node [17:53] devdazed: so having everything in resident memory is a must [17:53] baudehlo: mmalecki: I just hate arbitrary limits. Especially when OS's have so much more ram. [17:53] mraleph: devdazed: if you have a good benchmark that demonstrates thrashing of the new GC you should submit it. [17:53] domino14: hi guys. i can't get this very simple socket.io example to work: http://stackoverflow.com/questions/6411070/nodejs-socket-io-simple-client-server-example-not-working [17:53] domino14: i'm a newb [17:53] jacobolus has joined the channel [17:53] domino14: any help? the page loads but i think the socket never connects. i've tried on various browsers [17:53] mmalecki: devdazed: hm, so, a lot of data processing? [17:53] mraleph: devdazed: also hard limit is easily changeable by a command line flag. [17:53] baudehlo: Storing as a 2 level cache too is a good use case. Level 1 = ram, level 2 = redis/memcached, level 3 = go to the database. [17:53] jerrysv: mraleph: run the benchmarks from here, with gc profiling: https://github.com/JerrySievert/node-judy [17:54] plutoniix has joined the channel [17:54] devdazed: mraleph: the hard limit is set because thats when gc starts to thrash. [17:54] jerrysv: mraleph: you should be able to see it thrash [17:54] CIA-109: node: 03Maciej Małecki 07master * r481c175 10/ test/simple/test-net-pipe-connect-errors.js : [17:54] CIA-109: node: test error codes related to pipes [17:54] CIA-109: node: This tests passes on node v0.4, but fails on node v0.5. v0.5 seems to [17:54] CIA-109: node: generally lack error codes for various error events related to UNIX [17:54] CIA-109: node: pipes. [17:54] CIA-109: node: Fixes #2001 - http://git.io/YvdixA [17:54] mraleph: devdazed: not it is set to prevent tabs allocating too much memory. [17:54] domino14: has anything changed in new versions of pacakges that would mak e that code not work? [17:54] mraleph: devdazed: it should not trash unless you allocate at a very high rate. [17:55] sarlalian: domino14: I'm not sure, but Socket.io is an evolving standard if I remember correctly [17:55] mraleph: and everything survives forever [17:55] mraleph: jerrysv: I will try, thanks. [17:55] domino14: so how can i find out whats wrong [17:55] jerrysv: mraleph: no promises that it still compiles/runs under 0.5 though :) [17:55] devdazed: mraleph: do a simple for loop that pushes on to an array, then do a --trace-gc [17:55] devdazed: once it gets to about 2 gigs, the gc will pause for seconds at a time [17:56] Kireji has joined the channel [17:56] jerrysv: devdazed: that's essentially what the benchmarks i linked to do, and again with judy arrays, allocated in c [17:56] boltR has joined the channel [17:56] mmalecki: devdazed: btw, you might be better of clustering/using multiple servers [17:56] mraleph: well. as I said... nothing will help you if you constantly allocate [17:56] mmalecki: devdazed: you could use some clever routing, even [17:57] devdazed: mmalecki: clustering, yes, routing no [17:57] mmalecki: devdazed: why not? [17:57] mraleph: and it started pausing exactly because it approached the hard limit [17:57] devdazed: all decision is real time. theres no way to know ahead of time which server has the contect [17:57] fairwinds: isaacs: hi ya. I have a custom module i have installed globally from folder. This module is required by another custom module that I also attempting to install globally. The first module installs fine but emits 404 that it cannot find the first. npm -ls shows the first module installed with the correct version. There were no errors encountered with install of first global module. [17:57] mmalecki: devdazed: not exactly what I mean [17:57] mraleph: it was doing last resort GCs all the time to attempt to free some memory. [17:58] mmalecki: devdazed: you could have multiple servers query the same db, etc. [17:58] mraleph: and lastresort GCs are not incremental [17:58] mraleph: they are completely done in one go. [17:58] devdazed: again, every item in the db has to be evaluated with every request [17:58] devdazed: like a scorecard [17:58] mike5w3c has joined the channel [17:58] sarlalian: domino14: I'm a noob at node also, so I have no idea... [17:59] devdazed: mmalecki: i am, however, working on a module that will distribute tasks among other node process of its kind [17:59] MatthewS has joined the channel [17:59] devdazed: think p2p meets map reduce and socket.io [17:59] mmalecki: devdazed: nice. [17:59] mmalecki: devdazed: you may want to check out hook.io [17:59] mraleph: so if you'd bumped hard limit with a flag to say 8gb you would only see trashing once you approached 8gb [18:00] fairwinds: isaacs: not sure what the issue is - global is global is it not? [18:00] isaacs: fairwinds: global is not for require() [18:00] isaacs: global is for cli applications [18:00] devdazed: mmalecki: its a bit heavy for what i need. i want this to be very lightweight [18:00] patcito has joined the channel [18:00] mmalecki: devdazed: fair enough [18:01] jbrokc has joined the channel [18:01] tjholowaychuk: devdazed zmq would be great for that, but im assuming you already looked into zmq [18:01] isaacs: tim_smart|away: Hey, you own the "dude" package, but it's got no code in it [18:02] isaacs: tim_smart|away: mind unpublishing so that https://github.com/fhemberger/dude can go there? [18:02] devdazed: tjholowaychuk: zmq is ok, but the concept behind what I'm doing is for message queueing [18:02] devdazed: is for distributing work [18:02] tjholowaychuk: devdazed sure [18:02] devdazed: and reducing it later. [18:02] tjholowaychuk: that's what zmq .. is for [18:03] CarterL has joined the channel [18:03] Kireji: is there a community standard for people who want MVC frameworks within node? [18:03] Moko|afk has joined the channel [18:03] jimt has joined the channel [18:03] fairwinds: isaacs: thanks. the module I am attempting to install is a cli app where the first is it requires the first. What do you suggest where the first module is not a public module where I need to install second globally on system? [18:03] mmalecki: lebowski ipsum> nice. [18:03] devdazed: like map reduce, similar to how cassandra works, but not for data [18:03] devdazed: for any task [18:04] fairwinds: isaacs: sorry, wil try to say again. The second is the cli app where it requires the first module I attempted to install globally. [18:04] _sorensen_ has joined the channel [18:04] devdazed: tjholowaychuk: i meant NOT for message queueing [18:04] tjholowaychuk: ah [18:04] kuebk^ has joined the channel [18:04] isaacs: fairwinds: i'd recommend just using npm link [18:04] jxson has joined the channel [18:04] tjholowaychuk: devdazed well you can just pub [18:04] isaacs: fairwinds: cd app1; npm link; cd ../app2; npm link app1; npm link [18:04] tjholowaychuk: but i doubt you'll find something in node nearly as fast [18:04] isaacs: fairwinds: then you can do your dev, test, dev, test, all without re-installing each time [18:05] tjholowaychuk: which may or may not be a problem [18:05] fairwinds: isaacs: k, thanks [18:05] fairwinds: appreciate it [18:05] devdazed: tjholowaychuk: pub? [18:06] sdudenhofer has joined the channel [18:06] Wizek has joined the channel [18:06] rklancer has joined the channel [18:06] devdazed: its more p2p not pub-sub, if thats what you mean [18:06] Kireji: how do people typically deal with writing tests within node projects? [18:06] devdazed: its homogeneous so there is no need for a centralized server [18:06] Glenjamin: isaacs: does "npm install" still clobber links? [18:07] tjholowaychuk: devdazed zmq isnt centralized [18:07] isaacs: Glenjamin: only with --force [18:07] Glenjamin: nice one [18:07] devdazed: tjholowaychuk: but its just for message passing. this actually does work [18:07] isaacs: Glenjamin: otherwise, npm install foo will only clobber stuff that links to the foo package. [18:07] Glenjamin: i mean "npm install" in a dir with package.json where the dependency is met by the link [18:07] jxson has joined the channel [18:08] devdazed: tjholowaychuk: like if you wanted to distribute calculating fibonacci :/ [18:08] Glenjamin: Kireji: i dunno if there's a "typically", there's quite a few approaches [18:08] tlocalhos has joined the channel [18:08] isaacs: Glenjamin: oh, yeah, npm install skips over anything there already. [18:08] sh1mmer has joined the channel [18:09] Glenjamin: Kireji: vows, expresso, nodeunit, jasmine, node-tap are all pretty good - and I probably forgot some [18:09] dreamdust has joined the channel [18:10] AvianFlu has joined the channel [18:12] Kireji: Glenjamin: thanks - still doing a lot of googling, learning [18:12] Morkel has joined the channel [18:12] jimt_ has joined the channel [18:12] hackband has joined the channel [18:13] apoc has joined the channel [18:13] dnyy has joined the channel [18:14] atourino has joined the channel [18:14] Me1000 has joined the channel [18:16] JasonJS has joined the channel [18:16] domino14 has joined the channel [18:17] CIA-109: node: 03Ben Noordhuis 07master * r9c11e8a 10/ (lib/net.js test/simple/test-pipe-address.js): net: implement Server.prototype.address() for pipes - http://git.io/Vdhlcw [18:17] mandric has joined the channel [18:18] apoc has joined the channel [18:18] ayaz has joined the channel [18:18] dget has joined the channel [18:18] simenbrekken has joined the channel [18:20] perezd_ has joined the channel [18:20] kazupon has joined the channel [18:20] domino14: why is socket.io so unstable? [18:21] sh1mmer has joined the channel [18:21] domino14: this tutorial is literlaly like 2 months old and it didnt work until i changed something [18:21] alexdoom has joined the channel [18:21] mmalecki: domino14: because node.js is moving fast. [18:22] devdazed: domino14: you can always contribute ;) [18:22] mmalecki: but yeah, authors should mention which versions tutorial works with [18:22] prudhvi: is this a right place to ask about npm? [18:22] isaacs: yes [18:22] sarlalian: domino14: Node is still a relatively new platform, there are new versions every week or two, and things are moving quickly [18:22] devdazed: i think the package.json should be pinned to specific versions and not just be >0.4 [18:22] `3rdEden has joined the channel [18:23] Marko_ has joined the channel [18:23] bosphorus has joined the channel [18:23] prudhvi: i am trying to install mongodb with native extensions, on my linux machine, npm or the build system rather complains taht it could not find bson module. [18:24] prudhvi: node version is 0.5.10 [18:24] broofa has joined the channel [18:24] whitman has joined the channel [18:24] anddam has left the channel [18:25] bjhaid has joined the channel [18:25] devdazed: prudhvi: don't use native extensions with node-mongodb native [18:25] devdazed: the json parser is faster [18:26] bjhaid: hi [18:26] devdazed: s/json/JS [18:26] prudhvi: devdazed: but, i noticed that i couldn't get node@0.5.10 work with mongoose or mongodb [18:27] bjhaid: I am intending to work on a project that runs remote desktop via html5 websockets, I have researched and realised a couple of people have done something similar with node.js, I would like to know if its possible to get the screen capture with js, thanks [18:27] neilk_ has joined the channel [18:27] coderdad has joined the channel [18:27] devdazed: prudhvi: what is the exact problem you are having? i am using it fine [18:27] devdazed: with 0.5.10 [18:28] Bonuspunkt has joined the channel [18:28] mmalecki: bjhaid: most likely a C addon [18:28] magnetik: On node.js 0.5.10, I'm using a TLS server, with the "requestCert" option set to true. But is there any way to force another certificate request [18:28] cgfuh has joined the channel [18:28] prudhvi: devdazed: with node 0.5.10 amd mongoose@2.3.8. When i do something like Model.find({}, func(e,c){}); it gets stuck in an infinite loop [18:28] magnetik: To enable the user to change certificate [18:29] StanlySoManly has joined the channel [18:29] captain_morgan has joined the channel [18:29] context: can you change the cert used on an already established connection? [18:30] context: i mean... does the protocol even allow that [18:30] magnetik: humm, I suppose I have to close the connexion, but there is a way to do this ? [18:30] bjhaid: mmalecki: thanks but do you have link you can direct me to, i aint too much of a C person [18:30] magnetik: i'm using https.CreateServer.. ? [18:30] isaiah_ has joined the channel [18:30] devdazed: prudhvi: I'm not sure, i haven't seen that happen [18:31] context: magnetik: i was asking. im unaware of the ability to change cert on an already established connection. but closing/starting a new conenction with cert required obviously gives them the opportunity to change the cert... [18:32] magnetik: i'm not realy a TLS pro, but I don't think it's possible. [18:32] mmalecki: bjhaid: I have no idea if such module exists, sorry. I mentioned it because it's the only sane way to do that. [18:32] mmalecki: or, maybe some streaming stuff. [18:32] magnetik: But I don't know how to close an existing connection [18:32] apoc has joined the channel [18:34] bjhaid: mmalecki: thanks [18:35] jnbek has joined the channel [18:35] magnetik: context, there is a way to close the connection with node ? [18:36] guillermo has joined the channel [18:36] baudehlo: lots of ways [18:37] Kage has left the channel [18:37] tilgovi has joined the channel [18:38] magnetik: ? [18:39] Twisol has joined the channel [18:40] broofa has joined the channel [18:41] baudehlo: .end(), .destroySoon() and .destroy() [18:42] p1d has joined the channel [18:42] hij1nx has joined the channel [18:43] ryanrolds_w has joined the channel [18:43] mike5w3c has joined the channel [18:44] bengrue has joined the channel [18:44] ryanrolds_w: Have a bad question. So, I'm working on some socket code. I'm supposed to send an EOF. Can't figure how to do that. [18:45] heavysixer has joined the channel [18:45] isaacs: ryanrolds_w: socket.end() or socket.destroySoon() [18:45] isaacs: ryanrolds: .end() says "i'm done over here, but if you have more data, then i'll keep taking it" [18:45] mmalecki: (also know as half-close, iirc) [18:45] isaacs: ryanrolds: destroySoon() says "I'm done" and then, as soon as that's said, it forcibly terminates the connection [18:45] ryanrolds_w: Ok, doh. That makes sense. In my mind end == destroy. I'm a dunse. [18:45] ryanrolds_w: *dunce [18:45] joemccann has joined the channel [18:46] isaacs: yeah, it's a confusing api. we'll clean it up in 0.7/0.8 [18:46] joemccann: sup [18:46] isaacs: so, destroySoon will turn into .close(), basically [18:46] ryanrolds_w: It makes sense. I'm happy with with the API, just having a brain fart on this one thing. [18:47] ryanrolds_w: Thanks isaacs. [18:47] isaacs: and for most purposes, you'll use .end(), unless it's a duplex stream that you don't want to be half-open [18:47] ryanrolds_w: If I'm using .pipe() that should be calling end automatically, correct? [18:48] CrypticSwarm has joined the channel [18:48] dleonardi has left the channel [18:48] isaacs: ryanrolds: yes. [18:48] zomg: Shouldn't adding an 'error' listener to a net Connection prevent it from exploding the entire app? [18:48] isaacs: .pipe() should do the right hting [18:48] zomg: At least I thought I read somewhere that doing that will replace the standard "oh hey here's an uncatchable exception for you" handler [18:48] ryanrolds_w: Cool, going to have to chat with the person working on the other end of the socket. [18:49] apoc has joined the channel [18:49] AvianFlu has joined the channel [18:52] LifterAH_ has joined the channel [18:53] gut4 has joined the channel [18:53] fangel has joined the channel [18:54] apoc has joined the channel [18:55] balgarath has joined the channel [18:56] blup has joined the channel [18:56] baudehlo: unless you pass {end: false} to pipe() of course, but then you're expected to know what you're doing. [18:56] Isaiah has joined the channel [18:58] MatthewS has joined the channel [18:59] fread228_ has joined the channel [19:00] p1d_ has joined the channel [19:01] jhurliman has joined the channel [19:01] ninjapig has joined the channel [19:01] ninjapig has joined the channel [19:03] fread2281 has joined the channel [19:03] hij1nx has joined the channel [19:04] wankdanker1 has joined the channel [19:05] StanlySoManly has joined the channel [19:05] mandric has joined the channel [19:07] catshirt has joined the channel [19:07] franciscallo has joined the channel [19:07] jslatts has joined the channel [19:08] madhums has joined the channel [19:08] AvianFlu has joined the channel [19:09] aconbere has joined the channel [19:09] errordeveloper has joined the channel [19:09] joemccann has joined the channel [19:10] captain_morgan has joined the channel [19:10] jslatts has joined the channel [19:12] ultramagnus has joined the channel [19:13] zemanel has joined the channel [19:14] arcanis has joined the channel [19:16] trose: so I'm using socket.io to emit an 'update' message whenever my database changes [19:16] emerleite has joined the channel [19:16] emerleite: \ [19:16] trose: i linked it to my session so I can access it from an express server but it doesn't seem to work [19:16] emerleite: 17:16 *** NAMES emerleite arcanis zemanel ultramagnus jslatts captain_morgan joemccann errordeveloper aconbere AvianFlu madhums franciscallo catshirt mandric StanlySoManly hij1nx fread2281 ninjapig jhurliman p1d MatthewS Isaiah blup balgarath apoc fangel gut4 LifterAH_ bengrue ryanrolds_w broofa Twisol tilgovi jnbek cgfuh Bonuspunkt coderdad neilk_ bjhaid whitman bosphorus Marko_ `3rdEden alexdoom perezd simenbrekken [19:16] emerleite: dget ayaz JasonJS atourino dnyy jimt_ dreamdust tlocalhos jxson rklancer sdudenhofer kuebk^ _sorensen_ Moko|afk jbrokc patcito boltR plutoniix jacobolus malkomalko chrislorenz scott_gonzalez davidascher agnat magnetik bradleymeck githogori brion purr herbySk IonEarth ryanj JaKWaC jerrysv saschagehlich luke` gregpascale nphase mmalecki coreb langworthy harthur vereteran mc_greeny chrixian wbednarski jtsnow martin_sun [19:16] emerleite: set TooTallNate jaequery stephank michaeldeol briancray jgallen23 tahu grampajoe pizthewiz kenperkins ank zackattack jonrohan|away fzzzy zaller_ maletor joshthecoder knifed ryan_stevens te-brian wadey devaholic Carter kitt fatjonny TheJH enmand_ koo6 EyePulp _dc qbit_ dilvie jtgiri_ trotter dshaw_ brianc1 cjroebuck tisba kurtzhong Guest9857 stagas xsyn fairwinds malletjo nyxtom tjbell amiller lazyshot ecin nyrb jocaf [19:16] emerleite: a xetorthio airhorns icrusade smtlaissezfaire tjholowaychuk devdazed eignerchris BillyBreen ph^ Industrial francisl ej_ postwait eb4890 RORgasm deedubs zilch_ aelien27 neurodrone willwhite ixti c4milo igl1 FMJaguar maligree _kud JumpMast3r lyte dharmesh Gonzih davidwalsh mafintosh Venom_X remysharp jstash AphelionZ mraleph Esteb fermion xy ceej mpenderg1aft brianloveswords metellus Poetro @piscisaureus_ tomlion Aaron [19:16] emerleite: MT luizlopes baudehlo jtrudeau stalled Vennril mpoz2 jscheel jpdery_ PeteDaGuru davidsklar miccolis flexd webben fumanchu182 tomilain1 jomoho2 Swizec matt_c dubenstein vkareh otih shedinja tmpvar aslant cjm ohtogo Kunda EvRide d0k pandeiro tiagobutzke jaminja HardPhuc|AFK nopnop sineltor __doc__ ttilley lauxley ppcano Ned_ ktos JKarsrud PhilK vi390 flamboz Sami_ZzZ tomb joeyang animorten rendar Druid_ uchuff skunkape [19:16] emerleite: bnoordhuis kuya loob2 AAA_awright DennisRas lmatteis olegp bradwright blissdev nym RexM daleharvey_ indutny ryanseddon robb1e_ chunhao_ matthijs niftylettuce owenb HT kkszysiu_ verdoc zz_shykes Dreamer3 KiNgMaR McMAGIC--Copy prudhvi jgornick systemfault kimico xonix AD7six pokoli criswell yorick benvie hdon- akujin cha0s kawaz_home FearOfMusic DanoManion nebiros FIQ|screen chjj stisti MrNko descipher levi501d cognom [19:16] emerleite: inal___ orospakr tomh isufy berasa JohnBeales trupppOFF Alex_R_ dmwuw nodelog ddollar halfhalo mikl xandy jeromegn zpao_ alindeman Draggor mbruce paulwe mdel topaxi htoothrot slickplaid L_star te-brian2 Glenjamin christine SuMarDi Harzilein polyrhythmic Twelve-60 fson Karmalicious djbell Guest19637 context odyniec framlin morgabra nw` zinkem robashton rcaskey d4rk1ink pandark_ ekes SubStack Skyec dvf ashb jesusabdull [19:16] trose: I mean, it works sometimes but not others [19:17] emerleite: ah madari lukstr korch franck34 chilts mrkurt sstephenson DrPizza geoffeg eventualbuddha Dmitrijus MooGoo @pquerna maeldur gkatsev ByteCrunch tbranyen lgm mac^_ ralph Marak Hosh fuzzyone jburkhart rhizmoe lunchub dabailey CoverSlide nuba Liquid-Silence strmpnk mattly Daegalus thisandagain a11235_ xerox enhydra rook2pawn stutter robinduckett threedaymonk marienz tomaw Mike[tm] tellnes @ryah irclogger_com VeXii Pierre_ [19:17] emerleite: N mikegerwitz brainproxy telemachus cjackson dawolf yenz zentooo boxysean deoxxombie ryanrolds cnu jonaslund chrischris|afk nail_ tmm1 `10` jn przemoc onr jp323 kei clickmoon m4rcs janne augustl lifty visnup Tobias| rektide rphillips tg swaj lukegb Hamms NuckOff paulbaumgart wao Lartsa sugyan_ MikeW inimino zemm callumacrae mquin stelcheck naneau jakeskik munro Sembiance Lorentz krazyivan elliottcable khmer_ atiti Ne [19:17] emerleite: wky izz_ royh hotspants parse mediaslave ircretary Guest18468 DJBouche mattp_ Ezku RichardBronosky wereHamster Ober trodrigues kaarlo arkx dantalizing mct shachaf gaYak drudge Lingerance mjr_ stbuehler coffeecup guybrush Drakonite Tobbe hazridi meder Kester Lars_unique rudolfrck jspiros s0enke pransalad tim_smart|away phiggins apejens DRMacIver zedas zhware_ Connorhd Aikar Slashbunny Bodil zamolxes SlexAxton jlaire i [19:17] emerleite: smell MrNibbles doffm f1gm3nt al_ol sveisvei sriley salazr_ arpunk gregmoreno fearphage mediacoder FireFly forzan JP joc mekwall freeformz riven @piscisaureus schwab zomg versicolor kkaefer Raynos iFire Circlefusion CIA-109 SvenDowideit sris btipling plhw__ maqr omni5cience scottschecter __main__ Kami_ merlin83 einaros foobarfighter whoops yobi pzich kloeri epsas imarcusthis sander^home inarru er1c_ ossareh raydeo aa [19:17] emerleite: kour bwinton_away trose jzacsh slloyd termie rachet gwoo yogurt_truck JmZ_ Dulak Guest42432 mikey_p franksalim doki_pen jsvana Will| jamesd jrogers_ adreams T-Co thedjinn jebberjeb ollie spurge kersny actonapp Andeye anaio TheNumb dscape emostar gerard0 tlrobinson_ freewil dynacker blueadept` thepatr1ck tshpaper seb` zivester optixx sdboyer Leonidas progrock wang Gruni zorzar tiglionabbit finsken ianl` sgimeno \ask P [19:17] emerleite: eeter majek OneOfOne_ ncb000gt avih tanepiper metadaddy shenlok_ JasonSmith Epelii txxt jdparker pkrumins Pilate necromancer cce roger_raymond minerale Miko2 SargoDarya walkah aude|away Corey kiko_ duckspeaker bob2 kilnaar dhasenan joeytwiddle vkandy __sri d_low_ KevinT Riton pavelz russell_h Gregor flagg0204 ircdearia RushPL mde Typo __class__ else mrtazz r04r wookiehangover j-dev wankdanker jkridner kimico` Danielp [19:17] emerleite: k jvolkman kholo_ Sidnicious scrogson mattpardee Gekz marlun killfill pekim ajpiano iskren jeremyselier gf3 matti footyfish wink_ McPak bentruyman hoodow _mdp kraft crodas DoNaLd` srijan4 sstreza trepan ejnahc mape PuffTheMagic markatto rednul stride zpao pct teadict keeto silky maru_cc mavin|gone The_Fly up_the_irons ben_alman seqastian jackyyll davv3 ctide cconstantine Astro rgmarcha_ jcarouth don_jones ag4ve russf [19:17] maushu has joined the channel [19:17] AphelionZ: nice [19:17] DennisRas: cool [19:17] necromancer: are you kidding [19:17] Aikar: ban! [19:17] ByteCrunch: ;) [19:17] jackyyll: sweet [19:17] jeromegn: hah [19:17] amiller: neato [19:17] Swizec: holy fuck what? [19:17] nphase: KILL HIM [19:17] xy: :) [19:17] nphase: KILL [19:17] nphase: HIM [19:17] lmatteis: :| [19:17] AvianFlu: honestly, looks like an accident [19:17] dnyy: i thought i was cool for a second :( [19:17] DennisRas: die! [19:17] yobi: how did he do thaT=) [19:17] fumanchu182: that was fun [19:17] fzzzy has left the channel [19:17] ninjapig: someone punch this idiot in the face [19:17] xy: nphase: already klined [19:17] knifed: na [19:17] ByteCrunch: i'm awake again, thx [19:17] amiller: that was just what i needed todya [19:17] amiller: hit the spot [19:17] nphase: thx xy [19:17] amiller: i feel great [19:17] Corey: It requires no further comment. [19:17] knifed: kill that beast [19:17] trose: LOL [19:17] ninjapig: hello node.js [19:17] tanepiper: who awakes me [19:17] chrixian: how dare you make this window beep at me [19:17] tanepiper: oh an irc troll [19:17] nphase: cool, the next 20 minutes lf #node.js will be this. [19:17] captain_morgan: someone talked about me! squeeee [19:17] ecin_ has joined the channel [19:17] Aikar: I thought I was cool and someone was talking to me :( [19:17] amiller: well now that we're all here [19:17] RexM: he brought life to the channel [19:17] knifed: lol chrixian [19:17] ninjapig: i FARTED [19:18] willwhite: RAAAARR [19:18] mikl: lynch mob [19:18] tg: hehe [19:18] jslatts: burp [19:18] yhahn has joined the channel [19:18] dubenstein: бумп [19:18] jhurliman: :-S [19:18] knifed: room come to life [19:18] yhahn: someone said something happened here [19:18] ninjapig: Seriously, I FARTEd [19:18] dubenstein: )) [19:18] slickplaid: yay I'm popular someone said my na... oh nm :( [19:18] jonrohan has left the channel [19:18] willwhite: peas and carrots! [19:18] Marak: sup [19:18] MatthewS: guess i need to disable ctcp again [19:18] jstash: I don't think his script is working ;) [19:18] Marak: lol [19:18] luizlopes: what on earth?! [19:18] tg: this happened on #emacs couple of times recently [19:18] mikl: three's a crowd :) [19:18] amiller: okay well see all you guys next time. [19:18] yobi: he copied the names in the DIV :) [19:18] ajpiano: well, now that we have all these angry geeks in one place, anyone want to grab some pitchforks and go do a mob somewhere [19:18] jacobolus: that's a sort of grenade-and-run tactic there? [19:18] geoffeg has left the channel [19:18] sdwrage has joined the channel [19:19] sarlalian has joined the channel [19:19] slickplaid: i hear the weather is nice in oakland [19:19] tg: iirc it's an emacs irc client bug [19:19] mikl: perhaps it's time we made a Node.js IRC server :) [19:19] SlexAxton: let's go sockpuppet vote on hacker news! [19:19] michaeldeol: @ajpiano no but lunch sounds good now ;) [19:19] yobi: mikl: there is irccloud.com [19:19] mikl: yay for sockpuppets [19:19] yobi: On Erlang I think [19:19] trose: the nerds have awakened [19:19] pandeiro: excitement [19:19] slickplaid: geeks. it's geeks tyvm :) [19:19] zemanel has joined the channel [19:19] trose: that's what all the nerds say [19:20] trose: :D [19:20] pandeiro: beep beep beep-beep-beep [19:20] slickplaid: true :( [19:20] ej__ has joined the channel [19:20] pandeiro: what i killed it? [19:21] slickplaid: attention spans exceeded, back to work [19:21] przemoc: maybe channel came to life, but it was a fake life, I would say... good that the wrongdoer has been already treated accordingly. / now I can return to my dormant state. ;) [19:21] jbpros has joined the channel [19:21] alexdoom has joined the channel [19:21] jimmysparkle has joined the channel [19:21] trolly has joined the channel [19:22] trose: And like that the Awakening of the Nerds came to an end [19:23] trose: ACTION is going to tweet about this day [19:24] trolly: trolly jimmysparkle alexdoom jbpros ej__ sarlalian sdwrage yhahn ecin maushu arcanis jslatts captain_morgan errordeveloper aconbere AvianFlu madhums franciscallo catshirt mandric StanlySoManly hij1nx fread2281 ninjapig jhurliman p1d MatthewS Isaiah blup balgarath apoc fangel gut4 LifterAH_ bengrue ryanrolds_w broofa Twisol tilgovi jnbek cgfuh Bonuspunkt coderdad neilk_ bjhaid whitman bosphorus Marko_ `3rdEden perezd simenbrekken dget ayaz JasonJS atourino [19:24] trolly: dnyy jimt_ dreamdust tlocalhos jxson rklancer sdudenhofer kuebk^ _sorensen_ Moko|afk jbrokc patcito plutoniix jacobolus malkomalko chrislorenz scott_gonzalez davidascher agnat magnetik bradleymeck githogori brion purr herbySk IonEarth ryanj JaKWaC jerrysv saschagehlich luke` gregpascale nphase mmalecki coreb langworthy harthur vereteran mc_greeny chrixian wbednarski jtsnow martin_sunset TooTallNate jaequery stephank michaeldeol briancray jgallen23 tahu [19:24] trolly: grampajoe pizthewiz kenperkins ank zackattack zaller_ maletor joshthecoder knifed ryan_stevens te-brian wadey devaholic Carter kitt fatjonny TheJH enmand_ koo6 EyePulp _dc qbit_ dilvie jtgiri_ trotter dshaw_ brianc1 cjroebuck tisba kurtzhong Guest9857 stagas xsyn fairwinds malletjo nyxtom tjbell amiller lazyshot nyrb jocafa xetorthio airhorns icrusade smtlaissezfaire tjholowaychuk devdazed eignerchris BillyBreen ph^ Industrial francisl ej_ postwait eb4890 [19:24] trolly: RORgasm deedubs zilch_ aelien27 neurodrone willwhite ixti c4milo igl1 FMJaguar maligree _kud JumpMast3r lyte dharmesh Gonzih davidwalsh mafintosh Venom_X remysharp jstash AphelionZ mraleph Esteb fermion xy ceej mpenderg1aft brianloveswords metellus Poetro @piscisaureus_ tomlion AaronMT luizlopes baudehlo jtrudeau stalled Vennril mpoz2 jscheel jpdery_ PeteDaGuru davidsklar miccolis flexd webben fumanchu182 tomilain1 jomoho2 Swizec matt_c dubenstein vkareh [19:24] trolly: otih shedinja tmpvar aslant cjm ohtogo Kunda EvRide d0k pandeiro tiagobutzke jaminja HardPhuc|AFK nopnop sineltor __doc__ ttilley lauxley ppcano Ned_ ktos JKarsrud PhilK vi390 flamboz Sami_ZzZ tomb joeyang animorten rendar Druid_ uchuff skunkape bnoordhuis kuya loob2 AAA_awright DennisRas lmatteis olegp bradwright blissdev nym RexM daleharvey_ indutny ryanseddon robb1e_ chunhao_ matthijs niftylettuce owenb HT kkszysiu_ verdoc zz_shykes Dreamer3 KiNgMaR [19:24] trolly: McMAGIC--Copy prudhvi jgornick systemfault kimico xonix AD7six pokoli criswell yorick benvie hdon- akujin cha0s kawaz_home FearOfMusic DanoManion nebiros FIQ|screen chjj stisti MrNko descipher levi501d cognominal___ orospakr tomh isufy berasa JohnBeales trupppOFF Alex_R_ dmwuw nodelog ddollar halfhalo mikl xandy jeromegn zpao_ alindeman Draggor mbruce paulwe mdel topaxi htoothrot slickplaid L_star te-brian2 Glenjamin christine SuMarDi Harzilein [19:24] trolly: polyrhythmic Twelve-60 fson Karmalicious djbell Guest19637 context odyniec framlin morgabra nw` zinkem robashton rcaskey d4rk1ink pandark_ ekes SubStack minerale Skyec dvf ashb jesusabdullah madari lukstr korch franck34 chilts mrkurt sstephenson DrPizza eventualbuddha Dmitrijus Miko2 MooGoo @pquerna maeldur gkatsev ByteCrunch tbranyen lgm mac^_ ralph Marak Hosh fuzzyone jburkhart rhizmoe lunchub dabailey CoverSlide nuba Liquid-Silence strmpnk mattly [19:24] trolly: Daegalus thisandagain a11235_ xerox stylus zed0_ ivaldi Clex digiwano scoates Martz slpsys @konobi ivan` keyvan llrcombs chrisdickinson sorensen incredimike gdusbabek pradeepto chapel azend Kingdutch beejeebus-afk ricepuddin Ibuprofen __directory niclone qmx russfrank ag4ve don_jones jcarouth rgmarcha_ Astro cconstantine ctide davv3 jackyyll seqastian ben_alman up_the_irons The_Fly mavin|gone maru_cc silky keeto teadict pct zpao stride rednul markatto [19:24] trolly: PuffTheMagic mape ejnahc trepan sstreza srijan4 DoNaLd` crodas kraft _mdp hoodow bentruyman McPak wink_ footyfish matti gf3 jeremyselier iskren ajpiano pekim killfill marlun Gekz mattpardee scrogson Sidnicious kholo_ jvolkman Danielpk kimico` jkridner wankdanker j-dev wookiehangover r04r mrtazz else __class__ Typo mde RushPL ircdearia flagg0204 Gregor russell_h pavelz Riton KevinT d_low_ __sri vkandy joeytwiddle dhasenan kilnaar bob2 duckspeaker kiko_ [19:24] trolly: Corey aude|away walkah SargoDarya roger_raymond cce necromancer Pilate pkrumins jdparker txxt Epelii JasonSmith shenlok_ metadaddy tanepiper avih ncb000gt OneOfOne_ majek Peeter \ask sgimeno ianl` finsken tiglionabbit zorzar Gruni wang progrock Leonidas sdboyer optixx zivester seb` tshpaper thepatr1ck blueadept` dynacker freewil tlrobinson_ gerard0 emostar dscape TheNumb anaio Andeye actonapp kersny spurge ollie jebberjeb thedjinn T-Co adreams jrogers_ [19:24] trolly: jamesd Will| jsvana doki_pen franksalim mikey_p Guest42432 Dulak JmZ_ yogurt_truck gwoo rachet termie slloyd jzacsh trose bwinton_away aakour raydeo ossareh er1c_ inarru sander^home imarcusthis epsas kloeri pzich yobi whoops foobarfighter einaros merlin83 Kami_ __main__ scottschecter omni5cience maqr plhw__ btipling sris SvenDowideit CIA-109 Circlefusion iFire Raynos kkaefer versicolor zomg schwab @piscisaureus riven freeformz mekwall joc JP forzan [19:24] trolly: FireFly mediacoder fearphage gregmoreno arpunk salazr_ sriley sveisvei al_ol f1gm3nt doffm MrNibbles ismell jlaire SlexAxton zamolxes Bodil Slashbunny Aikar Connorhd zhware_ zedas DRMacIver apejens phiggins tim_smart|away pransalad s0enke jspiros rudolfrck Lars_unique Kester meder hazridi Tobbe Drakonite guybrush coffeecup stbuehler mjr_ Lingerance drudge gaYak shachaf mct dantalizing arkx kaarlo trodrigues Ober wereHamster RichardBronosky Ezku mattp_ [19:24] trolly: DJBouche Guest18468 ircretary mediaslave parse hotspants royh izz_ Newky atiti khmer_ elliottcable krazyivan Lorentz Sembiance munro jakeskik naneau stelcheck mquin callumacrae zemm inimino MikeW sugyan_ Lartsa wao paulbaumgart NuckOff Hamms lukegb swaj tg rphillips rektide Tobias| visnup lifty augustl janne m4rcs clickmoon kei jp323 onr przemoc jn `10` tmm1 nail_ chrischris|afk jonaslund cnu ryanrolds deoxxombie boxysean zentooo yenz dawolf cjackson [19:24] trolly: telemachus brainproxy mikegerwitz Pierre_N VeXii irclogger_com @ryah tellnes Mike[tm] tomaw marienz threedaymonk enhydra rook2pawn stutter robinduckett [19:24] dnyy: trolly: :@ [19:24] jackyyll: cool [19:24] AphelionZ: sigh [19:24] jacobolus: wtf? [19:24] lmatteis has left the channel [19:24] trolly: trolly jimmysparkle alexdoom jbpros ej__ sarlalian sdwrage yhahn ecin maushu arcanis jslatts captain_morgan errordeveloper aconbere AvianFlu madhums franciscallo catshirt mandric StanlySoManly hij1nx fread2281 ninjapig jhurliman p1d MatthewS Isaiah blup balgarath apoc fangel gut4 LifterAH_ bengrue ryanrolds_w broofa Twisol tilgovi jnbek cgfuh Bonuspunkt coderdad neilk_ bjhaid whitman bosphorus Marko_ `3rdEden perezd simenbrekken dget ayaz JasonJS atourino [19:24] trolly: dnyy jimt_ dreamdust tlocalhos jxson rklancer sdudenhofer kuebk^ _sorensen_ Moko|afk jbrokc patcito plutoniix jacobolus malkomalko chrislorenz scott_gonzalez davidascher agnat magnetik bradleymeck githogori brion purr herbySk IonEarth ryanj JaKWaC jerrysv saschagehlich luke` gregpascale nphase mmalecki coreb langworthy harthur vereteran mc_greeny chrixian wbednarski jtsnow martin_sunset TooTallNate jaequery stephank michaeldeol briancray jgallen23 tahu [19:24] trolly: grampajoe pizthewiz kenperkins ank zackattack zaller_ maletor joshthecoder knifed ryan_stevens te-brian wadey devaholic Carter kitt fatjonny TheJH enmand_ koo6 EyePulp _dc qbit_ dilvie jtgiri_ trotter dshaw_ brianc1 cjroebuck tisba kurtzhong Guest9857 stagas xsyn fairwinds malletjo nyxtom tjbell amiller lazyshot nyrb jocafa xetorthio airhorns icrusade smtlaissezfaire tjholowaychuk devdazed eignerchris BillyBreen ph^ Industrial francisl ej_ postwait eb4890 [19:24] trolly: RORgasm deedubs zilch_ aelien27 neurodrone willwhite ixti c4milo igl1 FMJaguar maligree _kud JumpMast3r lyte dharmesh Gonzih davidwalsh mafintosh Venom_X remysharp jstash AphelionZ mraleph Esteb fermion xy ceej mpenderg1aft brianloveswords metellus Poetro @piscisaureus_ tomlion AaronMT luizlopes baudehlo jtrudeau stalled Vennril mpoz2 jscheel jpdery_ PeteDaGuru davidsklar miccolis flexd webben fumanchu182 tomilain1 jomoho2 Swizec matt_c dubenstein vkareh [19:24] trolly: otih shedinja tmpvar aslant cjm ohtogo Kunda EvRide d0k pandeiro tiagobutzke jaminja HardPhuc|AFK nopnop sineltor __doc__ ttilley lauxley ppcano Ned_ ktos JKarsrud PhilK vi390 flamboz Sami_ZzZ tomb joeyang animorten rendar Druid_ uchuff skunkape bnoordhuis kuya loob2 AAA_awright DennisRas lmatteis olegp bradwright blissdev nym RexM daleharvey_ indutny ryanseddon robb1e_ chunhao_ matthijs niftylettuce owenb HT kkszysiu_ verdoc zz_shykes Dreamer3 KiNgMaR [19:24] eignerchris: serioulsly [19:24] miccolis: really? [19:24] _kud: putain [19:24] fumanchu182: wow i'm gonna leave this room [19:24] DennisRas: die! [19:24] yobi: :) [19:24] paulwe: again? [19:24] luizlopes: wtf mate?! [19:24] slickplaid: cool story bro [19:24] AphelionZ has left the channel [19:24] nphase: ah see this guy, his name is trolly [19:24] Kingdutch: eeeuh... [19:24] jslatts: my god [19:24] nphase: trolly [19:24] zemanel has joined the channel [19:24] imarcusthis: die [19:24] catshirt: WAT [19:24] aslant has left the channel [19:24] devdazed: this is getting rediculous [19:24] TheJH: meeeeh [19:24] fuzzyone: ffs [19:24] nphase: no sense of irony [19:24] yobi: its slowing everything down [19:24] nphase: "trolly" [19:24] TheJH: kill him [19:24] Kingdutch: Someone put a ban on that IP? [19:24] _kud has left the channel [19:24] madhums has joined the channel [19:24] amiller: now it's war [19:24] chrixian has left the channel [19:24] ank has left the channel [19:24] tanepiper: just ban the host/ip [19:24] neurodrone: no kickbans here? [19:24] mikl: oh, here we go again [19:24] bosphorus: trolly the troll [19:24] nphase: KLINE BITCHES [19:24] mmalecki: wtf. [19:24] TheFuzzball has joined the channel [19:24] btipling: let's all highlight everyone all day [19:24] BillyBreen has left the channel [19:24] amiller: go crowd go [19:24] aelien27 has left the channel [19:24] Martz: at least everyone is awake now :| [19:24] btipling: highlight all the things [19:24] scoates: the really ironic part is that you (we) all generated more noise than trolly (-: [19:24] luizlopes: someone please find out where this guy lives and burn his house to the ground!? [19:24] Twisol: :/ [19:24] btipling: HIGHLIGHT ALL THE THINGS [19:24] dilvie: hmm [19:25] _sorensen_ has joined the channel [19:25] magnetik: Well even If I close the connection with res.destroy() it doesn't ask for the certificate next [19:25] jaequery: this must be OCCUPY IRC day [19:25] idoru has joined the channel [19:25] imarcusthis: scoates: but not as much attention. [19:25] Marak: I LIKE TO SAY THINGS [19:25] maushu: HALP, IM BEING HIGHLIGHTED [19:25] amiller: occupynode.js [19:25] devongovett has joined the channel [19:25] wopwow has joined the channel [19:25] neurodrone: the excess flood check doesn't have "excess" defined correctly. [19:25] devaholic: when the moon hits your eye like a big pizza pie... [19:25] wopwow: trolly jimmysparkle alexdoom jbpros ej__ sarlalian sdwrage yhahn ecin maushu arcanis jslatts captain_morgan errordeveloper aconbere AvianFlu madhums franciscallo catshirt mandric StanlySoManly hij1nx fread2281 ninjapig jhurliman p1d MatthewS Isaiah blup balgarath apoc fangel gut4 LifterAH_ bengrue ryanrolds_w broofa Twisol tilgovi jnbek cgfuh Bonuspunkt coderdad neilk_ bjhaid whitman bosphorus Marko_ `3rdEden perezd simenbrekken dget ayaz JasonJS atourino [19:25] wopwow: dnyy jimt_ dreamdust tlocalhos jxson rklancer sdudenhofer kuebk^ _sorensen_ Moko|afk jbrokc patcito plutoniix jacobolus malkomalko chrislorenz scott_gonzalez davidascher agnat magnetik bradleymeck githogori brion purr herbySk IonEarth ryanj JaKWaC jerrysv saschagehlich luke` gregpascale nphase mmalecki coreb langworthy harthur vereteran mc_greeny chrixian wbednarski jtsnow martin_sunset TooTallNate jaequery stephank michaeldeol briancray jgallen23 tahu [19:25] wopwow: grampajoe pizthewiz kenperkins ank zackattack zaller_ maletor joshthecoder knifed ryan_stevens te-brian wadey devaholic Carter kitt fatjonny TheJH enmand_ koo6 EyePulp _dc qbit_ dilvie jtgiri_ trotter dshaw_ brianc1 cjroebuck tisba kurtzhong Guest9857 stagas xsyn fairwinds malletjo nyxtom tjbell amiller lazyshot nyrb jocafa xetorthio airhorns icrusade smtlaissezfaire tjholowaychuk devdazed eignerchris BillyBreen ph^ Industrial francisl ej_ postwait eb4890 [19:25] wopwow: RORgasm deedubs zilch_ aelien27 neurodrone willwhite ixti c4milo igl1 FMJaguar maligree _kud JumpMast3r lyte dharmesh Gonzih davidwalsh mafintosh Venom_X remysharp jstash AphelionZ mraleph Esteb fermion xy ceej mpenderg1aft brianloveswords metellus Poetro @piscisaureus_ tomlion AaronMT luizlopes baudehlo jtrudeau stalled Vennril mpoz2 jscheel jpdery_ PeteDaGuru davidsklar miccolis flexd webben fumanchu182 tomilain1 jomoho2 Swizec matt_c dubenstein vkareh [19:25] wopwow: otih shedinja tmpvar aslant cjm ohtogo Kunda EvRide d0k pandeiro tiagobutzke jaminja HardPhuc|AFK nopnop sineltor __doc__ ttilley lauxley ppcano Ned_ ktos JKarsrud PhilK vi390 flamboz Sami_ZzZ tomb joeyang animorten rendar Druid_ uchuff skunkape bnoordhuis kuya loob2 AAA_awright DennisRas lmatteis olegp bradwright blissdev nym RexM daleharvey_ indutny ryanseddon robb1e_ chunhao_ matthijs niftylettuce owenb HT kkszysiu_ verdoc zz_shykes Dreamer3 KiNgMaR [19:25] franciscallo has left the channel [19:25] luizlopes has left the channel [19:25] btipling: OCCUPY CAPS [19:25] berasa has left the channel [19:25] DennisRas: ACTION bets the bot did it with a nodejs server ! *derp* [19:25] catshirt: MAKE IT STOP [19:25] doubletap has joined the channel [19:25] miccolis: oh sheesh [19:25] trotter has left the channel [19:25] maushu: MOMMY IT HURTS [19:25] yhahn: ACTION expects this in a gist [19:25] nphase: alright I'm leaving this room [19:25] slickplaid: that one was quick [19:25] jerrysv: don't think i've seen the channel this active in a long time [19:25] nphase has left the channel [19:25] Twisol: That's ridiculous [19:25] Martz: haw [19:25] fairwinds has left the channel [19:25] btipling: OCCUPY HIGHLIGHTS [19:25] AvianFlu: laul [19:25] mikl: ouch, he bit the bullet :) [19:25] btipling: we are the 99% not highlighting everyone [19:25] Marak: there is 700 people here [19:25] dubenstein: /kick [19:25] jonaslund has left the channel [19:25] `3rdEden: that was a quick ban [19:25] btipling: thank you [19:25] mikl: idoru (idoru@freenode/utility-bot/ex-server/idoru) joined the channel. <- here come the cops [19:26] Me1000 has joined the channel [19:26] njan has joined the channel [19:26] pythonsnake has joined the channel [19:26] doubletap has left the channel [19:26] piscisaureus_: not a ban I'm afraid [19:26] eb4890 has left the channel [19:26] josdehart has joined the channel [19:26] Martz: o/ [19:26] Kingdutch: idoru killed him [19:26] Kingdutch: I took it to #help [19:26] Kingdutch: seems like it's being taken care of [19:26] DennisRas: Sup njan [19:26] pythonsnake: who ? [19:26] djdduty has joined the channel [19:26] pythonsnake: lol djdduty [19:26] djdduty: :D [19:26] btipling: is the party over then [19:26] djdduty: Spamming action? [19:26] btipling: ACTION goes back to work [19:26] Marak: idoru ++ [19:26] djdduty: awww [19:26] przemoc: killing maybe not enough, zombies usually return... [19:26] przemoc: s/maybe/may be/ [19:26] derp has joined the channel [19:27] mikl: what's the point of highlighting everyone? [19:27] AvianFlu: lulz, clearly [19:27] randy- has joined the channel [19:27] mape: to make friends [19:27] jbpros: this makes me say "hi" to everyone, thanks to trolly & friends. here it is: hi everyone! [19:27] trose: can you block the emacs client? [19:27] njan: mikl: maximum fallout from disruption beacuse lot sof people waste time and ask questions. [19:27] amiller: hi jbpros (sorry to highlight you) [19:27] mikl: njan: I fail to understand how one might enjoy that :) [19:27] Kingdutch: I think he's banned ^^ [19:27] Kingdutch: It's active in here for once though : P [19:28] Kingdutch: banned = k-lined* [19:28] pythonsnake has left the channel [19:28] tdubellz has joined the channel [19:28] shripad has joined the channel [19:28] jbpros: I love being highlighted amiller (sorry for that one too) [19:28] njan: mikl: which is probably a good thing ;) [19:28] Kingdutch: If someone is talking to me, please highlight me so I know I need to pay attention :') [19:28] Glenjamin has joined the channel [19:28] __doc__: "Spam is off topic on freenode" :) hmmm [19:28] trose: did everyone forget to disable the notify beep? [19:28] trose: that spam didn't bother me in the least [19:28] ultramagnus has joined the channel [19:29] __doc__: so the reason for the kick isn't that it's spam, which is generally annoying, it's that the spam wasn't ontopic. [19:29] amiller: i turned mine up loud this morning [19:29] magnetik_ has joined the channel [19:29] neilk_ has joined the channel [19:29] shripad: anyone know if it is possible to run the testCase in nodeunit manually? i want it to run after a callback has executed and not immediately... [19:29] __doc__: ACTION wonders if he can buy ontopic spam in a can [19:29] marienz: __doc__: spam is generally annoying and therefore offtopic [19:30] __doc__: no like, offtopic is what we talk right now. [19:30] __doc__: spam is lalalala [19:30] MooGoo: spam is just irc faster [19:30] marienz: sure, but offtopic chatter can be ontopic for freenode [19:30] marienz: you misinterpreted the kill message :) [19:30] joshkehn has joined the channel [19:30] snkcld has joined the channel [19:30] __doc__: marienz: intentionally [19:31] djdduty has left the channel [19:31] marienz: yeah, my humor detector for irc doesn't work right, sorry [19:31] vipaca has joined the channel [19:31] vipaca has joined the channel [19:32] yhahn has left the channel [19:33] erichynds has joined the channel [19:34] joshkehn has left the channel [19:34] kenperkins: what's with the notification spam [19:36] lauxley1 has joined the channel [19:36] patcito has joined the channel [19:36] Wa has joined the channel [19:37] hellp has joined the channel [19:37] CIA-109: node: 03Ryan Dahl 07master * r4a8088a 10/ (lib/net.js test/pummel/test-net-timeout2.js): [19:37] CIA-109: node: Socket.write should reset timeout timer. [19:37] CIA-109: node: Fixes #2002. - http://git.io/AGw19w [19:37] lauxley1: hi, just to be sure, is there no way to establish a raw tcp connection from a web page ? [19:37] magnetik_: Wezll, even with a res.destroy(), the https server does not ask for a new certificate [19:39] mmalecki: lauxley1: nope [19:39] lauxley1: damn it [19:39] TheJH: lauxley, imagine a javascript that accesses your routers telnet server or so... [19:39] TheJH: s/routers/printers/ [19:39] Xano has joined the channel [19:39] lauxley1: so multiplayer games use http requests ? [19:40] mmalecki: lauxley1: websockets [19:40] JaKWaC has joined the channel [19:40] mmalecki: or http requests [19:40] lauxley1: mmalecki: websockets use http right ? [19:40] TheJH: lauxley, websockets or flash sockets [19:40] JaKWaC has joined the channel [19:41] TheJH: lauxley, websockets start like http, but then they do something else [19:41] aslant has joined the channel [19:41] slickplaid: i think flash can open raw tcp sockets [19:41] pickels has joined the channel [19:41] necromancer: slickplaid: i think you're right because it can stream to FMS which is TCP i believe [19:41] lauxley1: TheJH: im just wondering if its ok to send like 10 http requests / sec to a client [19:42] necromancer: lauxley1: facebook does it ;) [19:42] aslant: slickplaid is right: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/Socket.html [19:42] necromancer: look at Firebug next time you're on facebook [19:42] Renegade001 has joined the channel [19:42] lauxley1: ahah ok will do [19:42] PeteDaGuru has left the channel [19:43] skm has joined the channel [19:43] slickplaid: well, that's the whole big deal about websockets... normally you can't send anything to the client unless it requests it first [19:44] Marak: necromancer: fms you say? [19:44] slickplaid: push notifications, or pushing anything to the client required code on the client to poll the server [19:44] grampajoe: Aikar: wormhole's working great, thanks again! [19:44] Aikar: np [19:44] necromancer: Marak: yeah...flash media server? [19:44] necromancer: you know, that thing that makes livestream possible ;) [19:44] Marak: necromancer: i know of this thing, are you trying to connect to it? [19:45] Marak: i wonder if Red5 is still active [19:45] slickplaid: it is, and kickin' [19:45] necromancer: i wouldn't say "kickin" but it still exists ;) [19:45] mattrobenolt has joined the channel [19:45] Marak: ive built a few streaming tv sites [19:45] Marak: with the flash [19:45] mattrobenolt: Anyone wanna take another look at: https://github.com/joyent/node/pull/1930 ? [19:46] Marak: and some server-side actionscript [19:46] necromancer: Marak: yeah i'm on a project right now where i have to record voice from the browser and mix it with a background track [19:46] Marak: fuck server-side actionscript [19:46] mattrobenolt: I'd like to see this get merged in before 0.6 is released. [19:46] necromancer: server-side actionscript? damn.. [19:46] slickplaid: +1 to that marak [19:46] necromancer: didn't even know that was possible [19:46] Marak: ohh yeah [19:46] Marak: isnt that how you script FMS? i might have been doing it wrong [19:46] necromancer: i've never touched the actual FMS product, it costs too much [19:47] necromancer: Red5, however, is configured with java [19:47] Marak: i setup a basic auth and custom role system that integrated with some coldfusion stuff [19:47] necromancer: something i haven't touched since AP computer science in high school... [19:47] Marak: in server-side AS3 [19:47] necromancer: oh wow [19:47] mmalecki: who the fuck does server-side AS3? [19:47] mmalecki: who the fuck does AS3? [19:47] slickplaid: who the fuck [19:47] Marak: i cant even remember how it works, that code is long gone [19:48] necromancer: mmalecki: easiest way to write an cross-platform mobile app imo [19:48] Marak: managed all the sessions and connection logic for cameras and broadcasters and stuff [19:48] necromancer: actually i think AS3 would be kinda nice on the server side because it would basically be javascript with classes and static typing [19:48] mmalecki: mattrobenolt: lgtm [19:48] mmalecki: necromancer: no. HTML5. [19:48] Marak: necromancer: the way i was using it, it had no tools at all. i was writing code in text editor and restarting FMS [19:48] Marak: necromancer this was a long time ago though [19:48] mmalecki: mattrobenolt: any reason this isn't getting merged? [19:49] mattrobenolt: mmalecki: I just think it has fallen under the radar. [19:49] ezmobius has joined the channel [19:49] mattrobenolt: mmalecki: (is it sad I had to google "tgtm"?) [19:49] mattrobenolt: lgtm* [19:50] necromancer: mmalecki: not yet. maybe when HTML5 apps are considered first-class citizens on iOS and Android...but right now they're still way slower than native apps [19:50] slickplaid: me too, but I admit nothing [19:50] mmalecki: mattrobenolt: +1'ed [19:50] necromancer: AND they can't access camera/microphone, which Flash can [19:50] necromancer: you can also design, build and compile a mobile app entirely from Flash [19:50] mattrobenolt: mmalecki: Thank you sir. :) [19:50] necromancer: that's pretty damn cool [19:50] necromancer: definitely a reason to keep Flash around... [19:51] mmalecki: meh. compare cpu usage when planing youtube video with flash and html5. [19:51] slickplaid: has anyone developed a flash app that can pass user camera/mic to html5's video/audio yet? [19:51] necromancer: mmalecki: i can't do that, iPhone doesn't let flash in Safari ;) [19:51] ali_and_ben has joined the channel [19:52] necromancer: slickplaid: no but i fucking WISH [19:52] tjholowaychuk: slickplaid we are [19:52] necromancer: damn that would make this project so much easier... [19:52] tjholowaychuk: but yeah we have to use flash [19:52] slickplaid: tjholowaychuk: foserious? [19:52] tjholowaychuk: because web tech sucks ass [19:52] mmalecki: necromancer: I mean, browser. [19:52] mmalecki: necromancer: on a desktop [19:52] tjholowaychuk: most of it is canvas though [19:52] slickplaid: tjholowaychuk: project page or still in dev? [19:52] ali_and_ben: Does anyone have experience testing a rails 3.1 app with zombie.js? I'm running into a problem where browser.pressButton is not submitting the form [19:52] necromancer: mmalecki: that's not what we're talking about here though, we're talking about mobile. flash is irrelevant for desktop unless you need cross-browser a/v playback [19:52] mmalecki: (not like I'm hatin', even though I am) [19:52] necromancer: and even then, you can use HTML5 when you can [19:52] rendar: mmalecki: i guess flash uses a lot more cpu than html5, am i right? [19:52] necromancer: oh yeah [19:52] mmalecki: I'm just mad at people overusing flash [19:53] necromancer: tons more [19:53] mmalecki: rendar: yeah, it does [19:53] slickplaid: i would use the shit out of that in this project i'm developing on [19:53] necromancer: tjholowaychuk: is it open? [19:53] TheFuzzball has joined the channel [19:53] rendar: but why flash is so slow and cpu consuming?! bloated code..or what? [19:53] necromancer: i'll contribute... [19:53] tjholowaychuk: necromancer nope [19:53] necromancer: eff you then ;) [19:53] tjholowaychuk: :D [19:53] tjholowaychuk: haha [19:53] slickplaid: i want a stand-in flash solution that can be switched out once html vid/aud user input gets formalized [19:53] necromancer: rendar: the API is massive [19:53] mmalecki: rendar: it's a shitty technology [19:54] necromancer: and it's old [19:54] mmalecki: + overhead of inserting one more runtime [19:54] rendar: i agree.. [19:54] necromancer: it's basically a VM [19:54] necromancer: kinda like JVM [19:54] rendar: exactly [19:54] Industrial: lua has a vm, im pretty happy with that. [19:54] slickplaid: tjholowaychuk: you guys going to be selling it or have a timeline for when it'll be available? [19:54] ppcano has joined the channel [19:54] necromancer: except while Flash's platform design has stagnated, with Adobe instead focusing on how to make the program/API better, the Java platform has focused entirely on the PLATFORM and that's why you have shit like Groovy, Scala, etc. taking the place of java on its JVM platform [19:54] blueadept`: could anyone here help me with the new require.paths move in 0.5? i have this code in a node module: http://pastie.org/private/gc3wwyyww4qktay4cjy8ma what can i change it to to work with 0.5? [19:54] ali_and_ben has left the channel [19:55] rendar: a friend of mine said that lua is one of the most fast scripting languages ) [19:55] rendar: :) [19:55] Industrial: it is [19:55] rendar: cool [19:55] necromancer: but really, any time you have to create a damn VM you're adding a ton of overhead [19:55] necromancer: that may or may not be necessary [19:55] Industrial: luajit is made of win and love [19:55] mmalecki: Scala is quite nice actually [19:55] rendar: necromancer: +1'd [19:55] necromancer: yeah the java platform rules [19:55] mmalecki: Scala - JVM would be *such* a win [19:55] franksalim: v8 is a vm [19:55] garrensmith has joined the channel [19:55] necromancer: java's a great idea, implemented poorly [19:55] mmalecki: no, Java itself sucks [19:55] necromancer: then saved by its platform [19:55] mmalecki: I just like some of Scala features [19:56] necromancer: mmalecki: i thought scala was in the JVM.. [19:56] Industrial: lua just cant get an ecosystem off the ground like ruby and node.. thats just too bad imgo [19:56] mmalecki: necromancer: yes. that's why I've said that Scala - JVM would be an epic win [19:56] Industrial: i prefer it to js.. [19:56] tjholowaychuk: Industrial yeah it's too bad [19:56] tjholowaychuk: lua would be better in the browser [19:56] necromancer: oh yeha [19:57] rendar: Industrial: you mean that lua doesn't have libraries which let lua to grow? [19:57] mmalecki: hm, this would be quite easy to implement. [19:57] Industrial: its more the kind of people that use it [19:57] Industrial: i.e. not the cool kids [19:57] necromancer: mmalecki: i disagree with that somewhat, i feel like the JVM's come a long way and it can only get better. coupled with increased computing power and bandwidth...could be pretty damn cool to see what happens [19:57] necromancer: although you may be trying to use Scala to accomplish some very low-level tasks for which i guess the JVM wouldn't make snese [19:58] necromancer: have they built a javascript VM in Java yet? [19:58] lyte_ has joined the channel [19:58] franksalim: necromancer: multiple times [19:58] mmalecki: necromancer: no. because they won't change the API now. [19:58] franksalim: (javascript in java) [19:58] necromancer: interesting [19:58] mmalecki: rhino? [19:58] necromancer: is rhino in java? [19:58] necromancer: wow [19:58] rendar: iirc rhino is C++ [19:58] context: wow/ [19:58] context: necromancer: yes. [19:58] rendar: but i'm not sure [19:58] rendar: oh, i'm wrong [19:59] mmalecki: http://www.mozilla.org/rhino/ [19:59] forzan has joined the channel [19:59] gkatsev: lolrhino [20:00] franksalim: good discussion. [20:00] isaacs has joined the channel [20:02] sdwrage has joined the channel [20:02] Marko_ has joined the channel [20:02] tomyan has joined the channel [20:02] martin_sunset has joined the channel [20:03] skm has joined the channel [20:04] sfoster has joined the channel [20:05] davida has joined the channel [20:06] davida_ has joined the channel [20:06] wankdanker: anyone have a recommendation for a decent web chat app that could be used for customer service on node? [20:07] CarterL has joined the channel [20:07] MatthewS has joined the channel [20:09] mmalecki: wankdanker: I wanted to write a campfire clone once, but I got stuck. I should get it done in a week or two. [20:09] pierrej has joined the channel [20:09] markbao has joined the channel [20:09] aconbere has joined the channel [20:09] EyePulp: wankdanker: - we built our own. Didn't find one that made us happy. mongodb + node + faye [20:10] pierrej: Hi everyone ! [20:10] mmalecki: EyePulp: open sourced somewhere, by a chance? [20:10] pierrej: I get this error on make in console on Ubuntu : [20:10] wankdanker: mmalecki: cool. got anything on github? i'll start watching progress and maybe help out if i can dedicate the time. [20:10] stelleg has joined the channel [20:10] pierrej: Build failed: -> task failed (err #1): {task: cxx_link node_main_5.o,node_5.o,node_buffer_5.o,node_javascript_5.o,node_extensions_5.o,node_http_parser_5.o,node_constants_5.o,node_file_5.o,node_script_5.o,node_os_5.o,node_dtrace_5.o,node_string_5.o,node_zlib_5.o,timer_wrap_5.o,handle_wrap_5.o,stream_wrap_5.o,tcp_wrap_5.o,udp_wrap_5.o,pipe_wrap_5.o,cares_wrap_5.o,tty_wrap_5.o,fs_event_wrap_5.o,process_wrap_5.o,v8_typed_array_5.o,node_ [20:10] pierrej: any idea ? [20:11] jldbasa has joined the channel [20:11] chrischris|afk has left the channel [20:11] EyePulp: wankdanker: nope, and unfortunately not likely to be for a while. [20:11] mmalecki: wankdanker: I can create a project, but the code I have is pretty crappy now. I'll clean it up and push ASAP :) [20:11] mike5w3c has joined the channel [20:11] mmalecki: I called it watercamp, btw :D [20:12] EyePulp: er, sorry, mmalecki, you asked me that. [20:12] mmalecki: wankdanker: https://github.com/mmalecki/watercamp [20:12] wankdanker: EyePulp: i'm afraid that's what I might end up doing; however I may integrate with xmpp so I don't have to worry about writing the backend clients; [20:12] sephora has joined the channel [20:12] wankdanker: mmalecki: cool! thanks. i'll take a look. [20:13] EyePulp: wankdanker: yeah, we needed a web based client for the internal staff side, so a manager type could keep track of the staff assigned to handle the chats. [20:13] mmalecki: wankdanker: :). expect some code tomorrow or something like that, it's a busy week [20:13] EyePulp: plus our potential market wouldn't install desktop clients, so we had to expose it all via web [20:13] wankdanker: mmalecki: sure whenever. watching your empty repo. :) [20:13] pierrej: is it necessary to install OpenSSL to use nodejs ? [20:14] EyePulp: pierrej: no, just to use https [20:14] EyePulp: (i believe) [20:14] sephora has left the channel [20:14] pierrej: ok thx. So I don't understand why I get this error : Build failed: -> task failed (err #1): {task: cxx_link node_main_5.o,node_5.o,node_buffer_5.o,node_javascript_5.o,node_extensions_5.o,node_http_parser_5.o,node_constants_5.o,node_file_5.o,node_script_5.o,node_os_5.o,node_dtrace_5.o,node_string_5.o,node_zlib_5.o,timer_wrap_5.o,handle_wrap_5.o,stream_wrap_5.o,tcp_wrap_5.o,udp_wrap_5.o,pipe_wrap_5.o,cares_wrap_5.o,tty_wrap_5.o,fs_eve [20:15] wankdanker: EyePulp: cool. makes sense. i suppose maybe using hook.io could allow using all sorts of clients. will investigate further when i get there. [20:16] EyePulp: wankdanker: I'd do some searching, as there seem to be a ton of chat projects out there - you may not have to do as much work. [20:17] wankdanker: EyePulp: yeah, i'll do that. it's not an immediate priority, but if there was already a solid project in node, i'd bump the priority. [20:17] wankdanker: EyePulp: thanks for your input [20:17] mandric has joined the channel [20:20] grampajoe has joined the channel [20:20] JaKWaC has joined the channel [20:21] isaacs_ has joined the channel [20:21] JaKWaC has joined the channel [20:22] pickels has joined the channel [20:22] lukemelia has joined the channel [20:22] alexdoom has joined the channel [20:24] StanlySoManly has left the channel [20:24] StanlySoManly has joined the channel [20:26] mmalecki: is there any reason one should connect to unix domain socket in order to check if this file name is available? [20:26] tjholowaychuk: why not just stat? [20:26] mmalecki: exactly [20:26] mmalecki: this code: https://github.com/indexzero/node-portfinder/blob/master/lib/portfinder.js#L78 is why I ask [20:27] tjholowaychuk: hm [20:27] mattrobenolt: What's up with the new uses of "~"? I just happened to notice it on L96 of that file. [20:27] tjholowaychuk: portfinder? [20:27] mattrobenolt: I see it randomly, and I'm not sure exactly what the goal of it is. [20:27] tjholowaychuk: why not just use ephemerial ports [20:27] mmalecki: tjholowaychuk: it's about unix sockets here [20:28] mmalecki: tjholowaychuk: so, like, to make sure that /tmp/forever.sock is not taken, etc. [20:28] baudehlo: can't you connect to a unix socket and delete the file but still be connected? Maybe that's what it's trying to avoid. [20:28] tjholowaychuk: right [20:28] tjholowaychuk: so not a port [20:28] mmalecki: baudehlo: yeah, that's what I'm wondering [20:28] baudehlo: Though that shouldn't matter. [20:28] jgallen23: can anybody recommend a good library for managing config files across dev/stage/prod? [20:29] baudehlo: git? [20:29] mmalecki: mattrobenolt: binary negation [20:29] benvie: ls [20:29] mattrobenolt: mmalecki: Yeah, I get it on the fundamental level. Just curious of the new found applications of it. [20:29] mmalecki: mattrobenolt: -1 -> 0, in this case [20:30] benvie: useful for indexOf [20:30] mattrobenolt: But if it is found, −1 is yielded. [20:30] benvie: !~ [20:31] mattrobenolt: Is there any benefit to doing that vs indexOf(x) != −1 ? [20:31] mattrobenolt: Or just a style/cleanliness preference? [20:31] mmalecki: mattrobenolt: no benefit, I think [20:31] benvie: it may be faster in some contexts but it's not an optimization worth making for that reason [20:31] mmalecki: and it isn't any cleaner [20:31] mmalecki: so, well. [20:32] benvie: it's easier for me to visually parse the meaning [20:32] mattrobenolt: Yeah, I just have started seeing it in Node code. I don't see it used anywhere else. [20:32] benvie: it very specifically applies to situations where the negative return is -1 [20:32] mike5w3c has joined the channel [20:32] mattrobenolt: Gotcha. I see it used like: ~~ too. [20:32] benvie: which is not the norm for negative returns in js, but is used in some common functions [20:33] mattrobenolt: And I found that that will enforce somethign to be an integer. At lesat that's how it seems. [20:33] mattrobenolt: Like: ~~options.port [20:33] mattrobenolt: If it's a string that doesn't convert, it casts to 0. [20:33] joshkehn has joined the channel [20:33] mattrobenolt: Instead of erroring. [20:34] joshkehn has left the channel [20:34] benvie: yeah it forces to integer, floors, and sets non-integers to 0 [20:34] benvie: in one fell swoop [20:34] benvie: er [20:34] benvie: non numbers [20:34] benvie: while leaving integers unchanged [20:34] benvie: pretty useful [20:34] mattrobenolt: Nice. It's just an interesting use case. For example, it's not in the entire jQuery source code. I've only ever come across uses in Node code/libraries. [20:35] joshkehn has joined the channel [20:35] joshkehn has left the channel [20:35] benvie: it's funny too because you usually see the shortcuts much less so in Node code [20:35] mattrobenolt: Yeah. [20:35] benvie: due to space not being the same factor [20:35] willwhite has joined the channel [20:35] benvie: and generally better coding also [20:35] mattrobenolt: indexOf is used quite a bit throughout jQuery. "indexOf(x) >= 0" [20:36] rklancer has joined the channel [20:36] tjholowaychuk: i wouldnt look to jquery for styling [20:36] domino14 has joined the channel [20:36] benvie: yeah and in this shortcut's case I much prefer to forced front !~ for multiple reasons [20:36] mmalecki: well, I've seen indexOf(x) == 3 once. [20:36] mmalecki: not in jquery code, just some front-end js. [20:37] mattrobenolt: tjholowaychuk: Not really using it as a styling reference, just reinforcing that I haven't seen that style anywhere except Node. No client side JS or any other languages I've used. [20:37] CIA-109: node: 03Ryan Dahl 07master * ra936768 10/ (doc/api/process.markdown lib/fs.js src/node.js): [20:37] CIA-109: node: stdout and stderr are blocking when referring to regular files [20:37] CIA-109: node: Fixes message tests. - http://git.io/moo_Mg [20:37] tjholowaychuk: mattrobenolt ah [20:38] mattrobenolt: I was confused a bit on it's meaning, actually, haha, I know it's a binary operator, but I've seen it used in weird ways not dealign with numbers. Especially since js is more flexible with types. Like, using: ~~'80' [20:38] tjholowaychuk: in ruby it just throws [20:39] tjholowaychuk: NoMethodError: undefined method `~' for 14.5:Float [20:39] benvie: this is where I first saw it used http://www.merlyn.demon.co.uk/js-logic.htm#OO [20:39] mattrobenolt: Yeah, Python throws too. [20:39] mattrobenolt: TypeError: bad operand type for unary ~: 'str' [20:39] benvie: and yeah I don't recall seeing it much or at all outside node [20:39] tjholowaychuk: you wouldnt see it much if we had richer methods [20:40] tjholowaychuk: foo.includes(bar) [20:40] tjholowaychuk: etc [20:40] tjholowaychuk: oh well [20:40] mmalecki: tjholowaychuk++ [20:40] mattrobenolt: Right. I just never typically think of Node code needing to "compress" their code as much as possible. I'd expect it more in front end code. [20:40] franciscallo has joined the channel [20:40] benvie: I understand peoples' aversion to modifying prototypes but that's honestly not a valid concern on Node and and it's can be controlled in the bropwser [20:40] mattrobenolt: Not that I'm complaining at all. It's just interesting. [20:41] tjholowaychuk: mattrobenolt for sure, it's pretty useful though like if you have a percentage that you want to console.log() or something just throw a | 0 in there to floor it [20:41] benvie: or at the very last, I'm using this in pretty much everything now https://github.com/medikoo/es5-ext [20:41] simenbrekken has joined the channel [20:42] benvie: which gets around the native prototype issue [20:42] mattrobenolt: Yeah, the | doesn't really work in anythign outside JS either, haha [20:42] mattrobenolt: Well, for flooring. [20:42] tjholowaychuk: sure, but it's there so it's nice to use [20:42] mmalecki: ok, I'm refactoring this node-portfinder [20:42] mmalecki: it's just weird [20:42] benvie: the clumsyness of Math.round makes me not feel bad for using +.5|0 [20:43] koffsyrup has joined the channel [20:43] bengrue has joined the channel [20:43] mmalecki: I suspect he has *some* reason [20:43] fread228_ has joined the channel [20:43] mmalecki: any UNIX magician in here? [20:43] levi501d: is htere a problem with node inspector in 5.11? [20:43] Mashed has joined the channel [20:43] mmalecki: 0.5.11? [20:43] Marko_: how do you set up a post body on http query? [20:44] Marko_: is it just http.query.post(body) ? [20:44] benvie: when did you build 0.5.11? As it's still dev and saw a major change in going back to an older version of V8 [20:44] benvie: the version number doesn't really tell enough [20:44] josdehart has joined the channel [20:44] coreb: is NowJS the best module for its use, or is somee other module more popular? [20:45] benvie: depends what you want to do I suppose [20:45] benvie: proxies are really nice and nowjs uses them well [20:45] coreb: simple rpc-ing both ways, sharing context and state [20:46] parshap has joined the channel [20:46] coreb: I mean, NowJS looks great, I'm just wondering whether another similar module is more popular [20:46] benvie: yeah that or dnode or a couple others are comparable [20:47] domino141 has joined the channel [20:47] tjholowaychuk: coreb just using socket.io feels more natural to me [20:47] tjholowaychuk: i would just use that [20:47] tjholowaychuk: but i havent played with the others much [20:47] tjholowaychuk: mostly because i've had no issues with regular sio [20:48] koffsyrup has joined the channel [20:48] mmalecki: coreb: hook.io, maybe? [20:49] rickharrison has joined the channel [20:49] yozgrahame has joined the channel [20:49] mmalecki: coreb: it's browser-compatible [20:49] benvie: I'm still trying to decide what the best route for getting a chromium context cleanly shared in with a node context. Considering trying to see if I get it linked just against the V8 in node running the UIthread as the main node thread and binding the running the event loop from node [20:49] mmalecki: coreb: (it's not similar to nowjs, thought you may find it nice) [20:50] rickharrison has joined the channel [20:50] cjm has joined the channel [20:50] thinkt4nk has joined the channel [20:50] benvie: but that's a little more than just regular rpc [20:51] benvie: I'm wondering if [20:51] coreb: hook.io looks huge, with a lot of dependencies [20:51] coreb: dnode being one of them [20:51] benvie: you basically take every method in a browser and every propeerty accessor and wrap them as asynchronnous if that would not be ridiculous to work with [20:51] domino14 has joined the channel [20:52] mmalecki: benvie: sure it is. but when you actually look at it, it's just a tiny wrapper around dnode [20:52] mmalecki: coreb: what's wrong with dnode? [20:52] benvie: oh no I was referring to [20:52] benvie: uh [20:52] coreb: mmalecki: nothing [20:52] coreb: afaik [20:52] spcshpopr8r has joined the channel [20:52] mehlah has joined the channel [20:53] mmalecki: coreb: ok :) (I'm not telling you that you need hook.io, it's just an alternative to nowjs) [20:53] benvie: all this functions in this reconstituted DOM in Node, from Chromiummm are just empty facade functions https://gist.github.com/1337098#gistcomment-61024 [20:53] koffsyrup has joined the channel [20:53] coreb: mmalecki: sure, but if not nowjs, I guess dnode would suffice [20:54] coreb: tjholowaychuk: socket.io's an option, I'd have to redo what nowjs does then ;) [20:54] tjholowaychuk: i dont really get what nowjs does [20:54] benvie: the whole structure is there, all the prototype chains and whatnot, so there's some room for minimizing the need to go to the browser but of course you have to to actually affect change in the browser [20:54] EvRide has left the channel [20:55] SubStack: tjholowaychuk: it's like dnode but with events and a replication pocket thing [20:55] tjholowaychuk: hm [20:55] SubStack: well I'm not sure to what extent the CPS is recursive like with dnode [20:56] coreb: tjholowaychuk: looks like a nice abstraction [20:56] coreb: but there's not a lot of acticity in the repo [20:56] blup has joined the channel [20:56] dubenstein has joined the channel [20:57] tjholowaychuk: looks like a fun toy thing [20:57] fairwinds has joined the channel [20:57] tjholowaychuk: kinda [20:58] davidascher has joined the channel [20:58] eyeOfKdng has joined the channel [20:58] kdng-meelash has joined the channel [20:58] koffsyrup has joined the channel [20:58] mmalecki: what was the command to run node with debugging, but break at the first line of code? [20:59] mmalecki: so, like, nothing gets run until you explicitely start it? [20:59] tjholowaychuk: i think --debug-brk [20:59] tjholowaychuk: cant remember [20:59] tjholowaychuk: node --help sucks [21:00] benvie: node --v8flags has it somewhere deep inside [21:00] benvie: er --v8-options [21:00] mmalecki: tjholowaychuk: seems to work, kinda. I will look into it, thanks [21:01] mattrobenolt: So, I keep coming across the problem of needing to combine Buffer objects into one large Buffer. Would it make sense to allow the Buffer class to be able to handle 'data' events and 'end' events itself and be able to return a joined buffer? [21:01] mattrobenolt: I've seen this done a few places already in Node with a repetitive task of looping over an array of Buffers and copying it's contents into a large "final" buffer. [21:02] benvie: node --expose_natives_as="__natives__" is fun [21:02] smtlaissezfaire has joined the channel [21:03] levi501d: yes 0.5.11 pre [21:03] levi501d: nodeinspector is returning an error [21:03] levi501d: just wondering if anyone else ran into this? [21:03] benvie: well [21:04] levi501d: its actually giving an error on node.js:189 [21:04] benvie: the v8 reversion changed a number of flags [21:04] koffsyrup has joined the channel [21:04] CIA-109: libuv: 03Igor Zinkovsky 07master * ree8a681 10/ src/win/process.c : windows: uv_kill and uv_process_kill to terminate the process on SIGINT - http://git.io/EYgn-g [21:04] benvie: which I wouldn't be surprised to see causing issues [21:04] heavysixer has joined the channel [21:04] benvie: there was multiple fixes made due to the --harmony flag [21:04] benvie: which now is gone [21:04] davida_ has joined the channel [21:04] jbrokc_ has joined the channel [21:05] benvie: that reversion probably caused a bunch of subtle issues that are going to pop up =x [21:05] mattrobenolt: Woudl something like this make sense? https://gist.github.com/1337782 [21:06] davida__ has joined the channel [21:06] dubenstein has joined the channel [21:07] mandric has joined the channel [21:07] kurtzhong_ has joined the channel [21:09] koffsyrup has joined the channel [21:10] kkszysiu_ has joined the channel [21:10] devdazed: mattrobenolt: what are you trying to accomplish? [21:11] isaacs_ has joined the channel [21:11] mattrobenolt: Take a look, I just updated: https://gist.github.com/1337782 [21:11] ircdearia has joined the channel [21:11] mattrobenolt: I added a method for how it's currently handled, and how it could be. [21:11] Jho_ has joined the channel [21:11] CIA-109: node: 03Fedor Indutny 07master * rb904a07 10/ test/simple/test-debugger-repl.js : report debugger's test errors - http://git.io/u4XHkA [21:12] mattrobenolt: I see this pattern repeated a few places in Node and think it might make sense to extrapolate into another class that just handles a stream of buffers to combine into a large buffer. [21:12] Jho_: can one of you mac experts help me install node 0.5.10 on my mac? brew keeps installing 0.4.11 [21:12] domino14: hey guys [21:12] devdazed: mattrobenolt: have you seen https://github.com/bnoordhuis/node-buffertools [21:12] domino14: how come i have to install packages with npm for every new folder? [21:12] domino14: it seems that it doesnt read my global npm packages but it needs new ones for every folder with js files in it [21:13] mattrobenolt: devdazed: No, but something like that would be really useful to have in Node core. At least a concat method. [21:13] mashed-deux has joined the channel [21:13] devdazed: mattrobenolt: there is buffer.copy [21:13] smtlaissezfaire: tjholowaychuk: Is there no way to run a setTimeout when a worker receives a SIGQUIT in cluster.js? [21:14] isaacs_: domino14: run `npm faq` and read it [21:14] devdazed: you create a new buffer with the size of buffer a and b and copy those into it [21:14] koffsyrup has joined the channel [21:14] mattrobenolt: Right, but it requires a tedious loop over each buffer and combines them. I'm only bringing it up because I know this is used when reading a file from disk and now in my pull request for zlib. It's a bunch of repetitive code. [21:14] devdazed: but buffer tools would be much faster as it is native [21:15] domino14: oh, so it's kind of like a python virtualenv philosophy? [21:15] domino14: i can dig that [21:15] mattrobenolt: devdazed: I think it's beneficial to have something as a helper inside Node core becuase inside core itself, it's repeated often enough. [21:16] isaacs_: mattrobenolt: yah, i think it'd be good to add a Buffer.flatten or something [21:16] zpao: Jho_: that's because 0.4.12 (brew update for newer definitions) is the latest stable. 0.5 isn't a stable branch. if you want 0.5, download & build it yourself [21:16] Jho_: ok thanks [21:16] mattrobenolt: isaacs_: Yeah, for an array of Buffers that we get back from a 'data' event for example. ;) [21:16] devdazed: mattrobenolt: for zlib you can see my https://github.com/devdazed/gzip-buffer [21:16] azend has joined the channel [21:16] Jho_: also, thanks for the explanation :) [21:16] devdazed: i agree there should be a stream wrapper [21:16] devdazed: that takes any stream and gives you one object once its ended [21:17] zpao: Jho_: no problem [21:17] mattrobenolt: devdazed: That's basically identical in concept to my pull request: https://github.com/joyent/node/pull/1930 [21:17] brianloveswords has joined the channel [21:17] EyePulp: Jho_: 0.4.12 is where a number of folks have stopped updating (from what I gather) until 0.5.x stabilizes more. [21:18] EyePulp: I could be mistaken, but that's the impression I have [21:18] devdazed: mattrobenolt: i like it [21:18] mattrobenolt: It came from a need of gzipping and base64 encoding data in Python and needing to read it in Node. [21:19] koffsyrup has joined the channel [21:20] mattrobenolt: Converting a string to a compressed buffer is a relatively common thing to do. Especially for transmitting a large block of text over HTTP or some non-binary socket. [21:20] devdazed: mattrobenolt: look in my project. i created a class called StreamCollector that does what you did for zlib in that commit, but for any stream [21:21] mattrobenolt: Yeah, I was looking through that now. [21:21] te-brian has joined the channel [21:21] PuffTheMagic: did someone in here ping me? if so your message is outside of my backlog and I cant see what you sent [21:22] isaacs_: EyePulp: 0.5 is as stable as it's gonan get. [21:22] isaacs_: EyePulp: 0.6 lands this week or next week. [21:22] devdazed: PuffTheMagic: it was some spammer [21:22] devdazed: got all of us [21:22] mattrobenolt: devdazed: Same concept. But yeah, the StreamCollector is nice. I didn't put forth the effort to extrapolate a class just for use inside the zlib library. [21:22] AvianFlu: PuffTheMagic, there were a few people/trolls/bots who sent the whole names list to the channel, thereby pinging everybody [21:22] Aria has joined the channel [21:22] mattrobenolt: If it's going to be done, it should be done globally for all of Node. [21:22] alexdoom has joined the channel [21:22] PuffTheMagic: figured that was all it was [21:23] devdazed: mattrobenolt: i agree, i think nodes stream should have a "collect" type method [21:23] isaacs_: mattrobenolt: for your patch, you could have a Buffer.copy loop [21:23] isaacs_: mattrobenolt: it's not so terrible [21:23] mattrobenolt: Or as isaacs_ said, a simple Buffer.flatter or whatever would be nice. [21:23] EyePulp: isaacs_: ah - well I'm a dummy then. Is it still considered unstable though? [21:24] isaacs_: EyePulp: technically, yes, since the api may change a little bit. [21:24] isaacs_: but not much [21:24] Freed has joined the channel [21:24] devdazed: isaacs_: what do you think about the streamcolelctor idea? i use it here: https://github.com/devdazed/gzip-buffer/blob/master/lib/gzip-buffer.js [21:24] isaacs_: it's mostly stable. [21:24] devdazed: which is exactly what mattrobenolt is doing [21:24] eb4890 has joined the channel [21:24] koffsyrup has joined the channel [21:24] isaacs_: devdazed: that's very inefficient. [21:24] isaacs_: you're doing a copy on every write. [21:24] devdazed: why so? [21:24] tomyan has joined the channel [21:24] devdazed: i see [21:24] isaacs_: and allocating a new buffer on every write [21:24] mattrobenolt: isaacs_: Are you referring to my update to the patch? [21:25] isaacs_: imagine getting 1000 writes of 10 bytes each. that's a 10 byte buffer, plus a 20 byte buffer + 30byte, ... [21:25] isaacs_: mattrobenolt: nono [21:25] devdazed: how would you do it then? [21:25] jhurliman has joined the channel [21:25] devdazed: maybe push them onto an array? [21:25] devdazed: and flush periodically? [21:26] mattrobenolt: devdazed: Push each buffer into an array of chunks as they come in, then combine them all on 'end'. [21:26] devdazed: mattrobenolt: that seems better. [21:26] isaacs_: devdazed: StreamCollector.prototype.write = function (c) { this._chunks.push(c); this._len += c.length }; StreamCollector.prototype.end = function () { var out = new Buffer(this._len), i = 0; this._chunks.forEach(function (c) { c.copy(out, i); i += c.length; }); this.emit("data", out) } [21:26] devdazed: isaacs_: what about the general concept as a part of Stream in node? [21:26] fuho has joined the channel [21:26] StanlySoManly has joined the channel [21:27] kkszysiu__ has joined the channel [21:27] fuho: Hi which version of node do you suggest to install? [21:27] isaacs_: devdazed: not going to be in for 0.6 [21:27] SargoDarya: the latest stable [21:27] jesusabdullah: fuho: 0.4.12 [21:27] fuho: 0.4.12 [21:27] jbrokc has joined the channel [21:28] isaacs: fuho: noooo!!!! [21:28] isaacs: 0.5.10 [21:28] devdazed: isaacs: maybe a point release? if i issue a pull request? [21:28] fuho: jesusabdullah: Alright, thanks. [21:28] isaacs: devdazed: discuss on nodejs-dev mailing list [21:28] devdazed: isaacs: sure thing [21:28] isaacs: devdazed: have you seen mikeal's BufferStream? [21:28] fuho: isaacs: Noo? Anyone knows when will 0.6 be released? [21:28] isaacs: fuho: very soon. [21:28] jesusabdullah: fuho: or, 0.5.10. 0.4 is the stable release and many libraries don't work with 0.5, but 0.5 is way close to a stable release (any week now) [21:28] isaacs: tomorrow or next week. [21:29] isaacs: libraries that don't work with 0.5 are broken. [21:29] fuho: oh, ok then will try 0.5.10 then [21:29] jesusabdullah: There are a lot of broken libraries. [21:29] efbenson has joined the channel [21:29] isaacs: jesusabdullah: indeed, there are! [21:29] devdazed: isaacs: no is it like the stream in BufferTools [21:29] fuho: This is my first try :) I expect broken things and it will take weeks before I produce anything probably [21:30] sirdancealot has joined the channel [21:30] tiagobutzke has left the channel [21:30] jesusabdullah: See, I'd rather use a stale version of node than deal with half the libraries I use still being broken--that is, at least, while people are actively working to port their shit [21:30] vvo has joined the channel [21:30] koffsyrup has joined the channel [21:30] ircdearia has joined the channel [21:30] Freed has left the channel [21:30] jesusabdullah: I'm probably gonna switch to 0.6 pretty soon though [21:31] tjholowaychuk: a lot of us have to stick with the older stuff for quite a while [21:31] tjholowaychuk: not sure how long, maybe a month or two [21:31] fuho: because you have apps running on it, but I just want to learn it [21:31] tjholowaychuk: we cant have shit breaking all over in production though [21:31] fuho: for now [21:32] davidbanham has joined the channel [21:35] vguerra has joined the channel [21:36] koffsyrup has joined the channel [21:36] gr-eg has joined the channel [21:36] jhbot has joined the channel [21:38] pandeiro has joined the channel [21:38] sdudenhofer has joined the channel [21:40] koffsyrup has joined the channel [21:41] bradleymeck has joined the channel [21:41] lapinferoce has joined the channel [21:42] lapinferoce has left the channel [21:43] mandric has joined the channel [21:44] coderdad has joined the channel [21:44] brianleroux has joined the channel [21:45] ixti has joined the channel [21:46] harmaz has joined the channel [21:46] koffsyrup has joined the channel [21:46] seanhess has joined the channel [21:46] iaincarsberg has joined the channel [21:47] grekko has joined the channel [21:47] donald_cook has joined the channel [21:47] jacobolus has joined the channel [21:47] harmaz: the install instructions say that 'export NODE_PATH=/opt/node:/opt/node/lib/node_modules', but my 'node/lib' folder does not contain a file called 'node_modules' [21:48] wankdanker: fuho: if you are just starting to learn I'd start with 0.5.10, yeah some modules might be broken, but i think the larger projects are working [21:48] mattrobenolt: isaacs: I updated my pull request tests to include multi byte characters. [21:48] TheJH: harmaz, what install instructions say that? [21:48] TheJH: harmaz, sounds weird/wrong to me [21:49] harmaz: TheJH: https://github.com/joyent/node/wiki/Installation [21:49] isaacs: mattrobenolt: kewl. it's really hard to test with zlib, since it's tricky to get a test that will reliably split on a mb char. [21:49] Twisol: Why would MongoDB be returning "Client Error: Next object larger than space left in message"? I'm using node-mongodb-native and I've been trying to figure this out for the past half-hour. [21:49] mattrobenolt: Yeah, I was thinking that as well. Would it be better to have a large string of multibyte characters? [21:49] isaacs: mattrobenolt: it'd be better tojust never cast to a string ;) [21:50] isaacs: serve a big buffer to the callback, let the user cast to a string if they want [21:50] isaacs: what if i want to unzip a binary buffer? [21:50] isaacs: like an mp3 file or something that's been gzipped? [21:50] isaacs: getting that as a string is'nt so useful. [21:50] fuho: tjholowaychuk: Hi, I think I just run into your site online :) expressjs.com, right? [21:50] mattrobenolt: Ahh, good point. I was just thinking of my case being a string. [21:50] tjholowaychuk: fuho yup [21:51] fuho: ...so what Plug In am I missing if I can't watch the Screencast? [21:51] koffsyrup has joined the channel [21:51] blup has joined the channel [21:52] tjholowaychuk: those are flash [21:52] fuho: thats weird, some special type of falash? [21:53] boltR has joined the channel [21:54] captain_morgan has joined the channel [21:54] mattrobenolt: isaacs: Updated to return a raw Buffer, updated docs, and the test. [21:54] isaacs: sweet [21:55] mattrobenolt: That SHOULD be all good. [21:55] mattrobenolt: Was that what you meant by removing the 'end' event listener in the event of an error? [21:56] koffsyrup has joined the channel [21:56] devdazed: isaacs: what about this: http://pastie.org/2806854 ? [21:57] djcoin has joined the channel [21:58] n8ji has joined the channel [21:58] mattrobenolt: devdazed: You should put some switch statement logic inside the onEnd function. [21:59] devdazed: mattrobenolt: what do you mean? [21:59] mattrobenolt: You can directly return chunks[0] for example, if the length == 1. [21:59] mattrobenolt: Or just new Buffer() if length == 0; [21:59] mike5w3c has joined the channel [21:59] mattrobenolt: Look at my onEnd: https://gist.github.com/1337782 [21:59] devdazed: if length == 0 it will just return the new buffer [22:00] mattrobenolt: Yeah, I guess it's very close. I'm not 100% what the different in performance would be. [22:00] mattrobenolt: What I'm using was stripped out of what was already used in Node for reading a file from disk. [22:00] devdazed: if you're concurn is performance, then get rid of the forEach and go for a standard loop [22:00] idefine has joined the channel [22:00] francisl: Hi, can someone show me an example on how to get content form data from a POST? [22:00] devdazed: *concern [22:01] magnetik_ has joined the channel [22:01] mattrobenolt: https://github.com/joyent/node/blob/master/lib/fs.js#L85-99 [22:01] smtlaissezfaire has joined the channel [22:01] koffsyrup has joined the channel [22:02] aaronmcadam has joined the channel [22:02] Morkel has joined the channel [22:02] mattrobenolt: I just stole it from there. [22:03] zomg: As much as I like socket.io, it's really annoying when your code is exactly like the samples on their website and it still does nothing [22:03] zomg: :P [22:04] TheNumb has joined the channel [22:05] domino14: zomg: i went thru the same thing. socket.io apparently changes every hour, but i finally found something that worked [22:05] djcoin has joined the channel [22:05] errordeveloper has joined the channel [22:06] elcuervo_ has joined the channel [22:06] JaKWaC has joined the channel [22:06] AvianFlu_ has joined the channel [22:06] kurtzhong has joined the channel [22:06] koffsyrup has joined the channel [22:07] devdazed: mattrobenolt: big difference: http://pastie.org/2806919 [22:07] JaKWaC has joined the channel [22:07] davidbanham has joined the channel [22:08] mattrobenolt: In that case, it's probably quick with a decrementing while loop. [22:08] harmaz has joined the channel [22:08] rogerb has joined the channel [22:08] harmaz: i installed node.js on linux, but there is no 'node' executable in the main src directory. is it usually installed elsewhere? [22:08] mattrobenolt: For for me… actually forEach ran quicker. [22:08] relative has joined the channel [22:08] devdazed: matI'm not sure about that. I'm inclined to think that the for loop will get optimized [22:08] mattrobenolt: 236ms for Regular, and 210ms for forEach. [22:09] devdazed: forEach: 214ms [22:09] devdazed: regular: 37ms [22:09] devdazed: not sure whats going on with yours [22:09] mattrobenolt: That's weird, haha [22:09] devdazed: are you on windows? [22:10] baudehlo: it's a very short period of time [22:10] mattrobenolt: Nevermind, I reran it and got similar results. [22:10] mattrobenolt: regular: 35ms [22:10] mattrobenolt: forEach: 194ms [22:10] santacruz has joined the channel [22:11] devdazed: baudehlo: the point i was trying to make is that a standard for loop is better performing than node's forEach [22:11] baudehlo: what is time() measuring? [22:11] eb4890 has joined the channel [22:11] baudehlo: wallclock or CPU time? [22:11] devdazed: wall clock [22:11] lumgwada has joined the channel [22:11] koffsyrup has joined the channel [22:12] devdazed: mattrobenolt: of course this only matters if you have large arrays. but in the case of FS the size is indeterminate so the best option should be used [22:12] mdel: im working with node.io, essentially replacing cURL in my php application [22:12] mattrobenolt: A while loop came in at exactly the same speed as a for loop. [22:12] mdel: im trying to read in a page, grab some elements, and modify them [22:12] devdazed: mattrobenolt: yeah, i figured it would get optimized [22:13] nyxtom has joined the channel [22:13] chrixian has joined the channel [22:13] mdel: but it doesnt seem I'm able to alter elements with jquery in [22:13] mdel: the callback [22:13] mdel: any ideas [22:13] baudehlo: either version you look at, V8 is really fast. There's obviously going to be overhead with .forEach. [22:14] baudehlo: but it's nice to know how little it is. [22:14] mattrobenolt: I know some languages handle a decrementing while loop faster than a for loop. [22:14] mattrobenolt: I don't really know exactly why, but it's how it is. [22:14] devdazed: yeah, thats what's nice about v8, it optimizes a lot of that stuff for you [22:15] domino14: i have a django server and i want to implement some real-time stuff with node.js and socket.io. when socket.io connects to the node server, i can pass the user's id but obviously this can be spoofed. how can i connect django's auth system to allow me to do this? [22:16] Aria: Have your node script call out to django, or read django's data store. [22:16] Aria: There's no magic to it, but it doesn't have to be complex. [22:16] koffsyrup has joined the channel [22:16] Aria: Better to pass a high-entropy token than a spoofable, guessable ID [22:17] domino14: so django would generate a token for the user, and then the user would send it back thru socket.io to node, and node would compare? [22:17] davidbanham has joined the channel [22:17] torm3nt has joined the channel [22:17] Aria: Yep! [22:17] domino14: :D [22:18] domino14: how do i generate an awesome token? [22:18] slifty has joined the channel [22:18] enmand has joined the channel [22:18] Aria: Grab 128 bits of entropy from /dev/urandom or so, and then turn it into hex digits or base64 for transmission? [22:18] mattrobenolt: domino14: A safe easy way to do it is sign your values. [22:18] mmalecki has joined the channel [22:18] Aria: Signing is good too, if you're going keyed infrastructure rather than magic token. [22:18] domino14: unfortunately not quite sure what signing entails [22:18] mattrobenolt: Like with an hmac algorithm to generate a signature with a private key. That's how lots of services work. [22:19] mattrobenolt: Basically, you have a secret key that your server has that you keep private. [22:19] Aria: (shared between django and node though) [22:19] Sorella has joined the channel [22:19] domino14: aha [22:19] mattrobenolt: Say the user id is 1. You'll create an HMAC md5 hash with the secret key, then give that signature back as well. [22:20] Aria: You do a hmac of the key + userid, and send the userid and the hashed copy to the client, that passes it to node. [22:20] Aria: Node can compare the hash to the supplied userid + its key. [22:20] mattrobenolt: The signature comes through the request, then on Node's side, you'll run an hmac on the user id again with the secret to make sure it matches. [22:20] Aria: (that's a great solution for when node and django can't directly communicate, be it for complexity or other reasons) [22:20] mattrobenolt: Thta's what Amazon S3 does for example when you use private urls and it has a Signature=XXX or wahtever. That signature is just signing the request variables to make sure they're not tampered with. [22:21] mattrobenolt: Yep Aria, that's actually exactly what we're doing in an implementation. [22:21] domino14: when you say "give that signature back" — which is the signature? [22:21] Aria: Yeah. It's a good technique. And easy if you keep your data that you sign simple. [22:21] hugodias has joined the channel [22:21] mattrobenolt: We use Django's session id and a signed session id to pass through Node. [22:21] domino14: the md5 hash for the secret key + user id ? [22:21] koffsyrup has joined the channel [22:21] Aria: Yeah. [22:21] mattrobenolt: domino14: One second, I'll give you some Python code. [22:21] Aria: You do want to HMAC, rather than just appending the key and userid together, though. [22:22] Aria: There's some clever attacks that that prevents. [22:22] domino14: thank you [22:22] mike5w3c has joined the channel [22:22] mattrobenolt: You DO NOT want to send out the key. [22:22] mattrobenolt: That is private. [22:22] mattrobenolt: https://github.com/mattrobenolt/django-snippets/blob/master/crypto.py [22:22] Aria: Yeah. [22:22] mattrobenolt: I have a little basic signature crypt module I use. [22:23] Aria: The key can be any old random data for this, too. No need for expensive things like primes that are used in public/private keys. [22:23] maushu: Marak, how did you decide to isolate your users in nodejitsu? [22:23] mattrobenolt: You can just call: signed = sign_value(user_id) [22:23] mattrobenolt: It defaults to Django's SECRET_KEY [22:23] alexdoom has joined the channel [22:24] domino14: but the user id is still plain text in the signature ? [22:24] Aria: Yeah. [22:24] Aria: You have to give it to node somehow. [22:24] domino14: ok - yes [22:24] Aria: This just gives it a way to make sure it's the right one. [22:24] eyeOfKdng has joined the channel [22:24] Aria: (now: this means that anyone can use anyone else's hash to authenticate.) [22:24] Aria: (And they don't expire short of rotating keys) [22:25] mattrobenolt: Then in node, I do this: https://gist.github.com/1338095 [22:25] felixge has joined the channel [22:25] felixge has joined the channel [22:25] tauren has joined the channel [22:25] Aria: (So that signed blob is now private data) [22:25] mattrobenolt: Right, the data is plain text. A user id isn't necessarily secret. But this signature makes sure it wasn't tampered with anything except your server. [22:25] domino14: mattrobenolt: awesome. what modules are required? hmac, crypto ? [22:25] mattrobenolt: If someone tries to forge a request, it won't validate. [22:26] domino14: mattrobenolt: i mean for the node side [22:26] isaacs: SubStack: hey, what does mkdirp do when you tell it to create a path that already exists? [22:26] OneOfOne has joined the channel [22:26] mattrobenolt: Just crypto for Node. [22:26] domino14: awesome , thanks so much [22:26] mattrobenolt: In Django, it's returning a value of: {{ value }}:{{ signature }} [22:26] isaacs: SubStack: does it set the mode? like, if there's a 0700 dir, and i do mkdirp("/that/dir", 0755, cb) will it chmod it? [22:26] mattrobenolt: So like: 1:jkfdsajfhjdasjfas [22:26] koffsyrup has joined the channel [22:27] eb4890 has joined the channel [22:27] mattrobenolt: In Node, you'll want to split it on the : to get the parts. [22:27] SubStack: isaacs: pretty sure it just calls the callback if everything already exists [22:27] isaacs: SubStack: ok, that's cool [22:27] mattrobenolt: Actually, sorry, I got that backwards. {{ signature }}:{{ value }} [22:27] joshgillies has joined the channel [22:27] snkcld has joined the channel [22:27] isaacs: SubStack: in part of this tar thingie, i'm also making a long slog towards reusing everything possible. [22:27] mattrobenolt: Also, as a fun plus, my Django library will pickle and base64 a non-string value. [22:28] mattrobenolt: So you could sign a whole object if you wanted. But Node isn't going to be able to read it. [22:28] mattrobenolt: Just FYI. So make sure you pass in your value as a string. Not an interger or long. [22:28] jsurfer has joined the channel [22:28] isaacs: SubStack: so, i'll just do fstream.Writer({ path: "/path/to/blah", type: "File", mode: 0755 }) and use mkdirp under the covers to make /path/to if it's missing. [22:28] mattrobenolt: str(user.pk) [22:28] SubStack: rock [22:28] jimt has joined the channel [22:28] isaacs: SubStack: what if it exists, but isn't a dir? [22:28] isaacs: SubStack: will that clobber, or error, you think? [22:28] isaacs: (rare edge case, but still) [22:29] SubStack: well it only checks for EEXIST [22:29] isaacs: like, if you do mkdirp("/path/to/thing/that/isnt/a/dir/then/some/more/stuff"... [22:29] isaacs: where /path/to/thing/that/isnt/a/dir is a file [22:29] SubStack: so you'll get an error in the callback [22:30] isaacs: i see. [22:30] isaacs: hm.... would you consider a patch to have it go all stabby on enotdirs? [22:30] SubStack: except if the last item in the path is a file then it will work silently even though that's wrong [22:30] SubStack: isaacs: yes that would rock [22:30] isaacs: k [22:30] isaacs: ACTION adds to mountainous todo list. [22:30] SubStack: the module is only 20 lines so should be easy [22:30] isaacs: yeah [22:30] Wizek has joined the channel [22:31] jarek has joined the channel [22:31] jarek has joined the channel [22:31] isaacs: SubStack: i'm also sort of trying to work out how to get the quasi-stickybit behavoir that npm's mkdir-p has. [22:32] isaacs: the idea being that if you create /a/b/c/d/e/f, let's say, and /a/b/c exists and is a dir owned by user "foo", then it'll set the owner of /a/b/c/d and e and f as "foo" [22:32] ChrisPartridge has joined the channel [22:32] domino14: what does "unsign_value" quite do? [22:33] mattrobenolt: It's just validating the values and returing true/false. [22:33] domino14: it checks to see if the signature is valid? [22:33] mattrobenolt: Err, validates the signature. [22:33] mattrobenolt: Yeah. [22:33] domino14: oh ok it's just verifying the one-way hash [22:33] mattrobenolt: Yep. [22:33] SubStack: isaacs: that would also be handy, I've run into problems with ownership using mkdirp before [22:33] jimt has joined the channel [22:33] domino14: awesome [22:33] mattrobenolt: And nobody can recreate that hash without knowing your secret key. [22:33] isaacs: yeah that was a huge bear that i'd rather not wrestle again... [22:34] mattrobenolt: That's the point of an HMAC. [22:34] isaacs: but... well, that's what it's looking like. [22:34] mattrobenolt: It's sorta like a salt. [22:34] domino14: can't they just brute force it [22:34] domino14: ;) [22:34] mattrobenolt: I mean, they CAN. But realistically, no. You could always bump to a higher encryption algorithm. [22:34] mattrobenolt: Like SHA512. [22:34] mattrobenolt: Instead of sha1. [22:34] elcuervo has joined the channel [22:34] isaacs: SubStack: whatever the case, i think the ownership stuff should be in fstream, not mkdirp [22:34] tlynn has joined the channel [22:34] mattrobenolt: Then your signature is going to be fucking huge. [22:34] elcuervo: Hello guys, i was wondering, is there any commonly user router, as Rack for ruby? [22:34] Aria: And a bigger key. [22:35] isaacs: SubStack: and then mkdirp just has to provide some way to get at the stat results as they're gotten [22:35] Aria: Stronger hash won't protect you if the key is weak. [22:35] mattrobenolt: Aria: Right. That too. If he's using Django, Django provides a pretty solid SECRET_KEY upon project creation. [22:35] SubStack: isaacs: the return value isn't used for anything, could be an event emitter [22:35] SubStack: then you can hook onto the stats [22:35] isaacs: hmm... [22:35] isaacs: yeah, that'd be handy [22:35] isaacs: good idea [22:35] Aria: good. (how many bits?) [22:35] SubStack: although right now it doesn't do any stats [22:35] isaacs: SubStack: right, it just does the mkdir [22:36] SubStack: yep and only cares if mkdir shits itself [22:36] isaacs: right.. [22:36] kkszysiu has joined the channel [22:36] mattrobenolt: It's 50 chars long. [22:36] mattrobenolt: And I think it's out of the whole ASCII range. [22:36] tlrobinson has joined the channel [22:37] isaacs: SubStack: so.... it'd have to notice the first mkdir that *did* work, then get the stat from the parent of that dir, and set the ownership appropriately? [22:37] mattrobenolt: For example, here's a chunk of a key: (^7q=&pd9um#a-eg+qvf*_5#8 [22:37] SubStack: it could just stat everything [22:38] captain_morgan has joined the channel [22:38] isaacs: SubStack: and catch ENOTDIRs and go stabby [22:38] mattrobenolt: According to a calculator, those specs yield 2e86 possibilities. [22:38] SubStack: sure [22:38] isaacs: ok, i'm gonna post an issue to capture this, because i won't get to it before i forget about it [22:38] mattrobenolt: 8e94 if we add capital letters into the mix. I'm not sure if Django uses caps or not. [22:38] isaacs: feel free to assign to me or whatever. [22:39] paul_k has joined the channel [22:39] SubStack: ksure [22:39] SubStack: in other news, dnode is now entirely ported over to tap [22:40] SubStack: and now uses the latest socket.io [22:40] Aria: Grr. dom.js is indeed way faster than my parser, but the code uses all kinds of mozillaisms. [22:40] SubStack: I also want to write an adapter for https://github.com/sockjs/sockjs-node now [22:41] SubStack: I'll save that for the 1.0 [22:41] jacobolus has joined the channel [22:41] Aria: Yay tap! [22:41] isaacs has joined the channel [22:41] SubStack: Aria: I know right? [22:41] Aria: Yeah! [22:41] SubStack: seems like the only test harness that *gets* async [22:42] Aria: Yeah. [22:42] Aria: isaacs: How do you feel about the tap harness only trying to run executable files? [22:42] Aria: (and perhaps implementing option parsing, like a --help or some usage hints?) [22:42] isaacs: Aria: these are wonderful ideas! [22:42] isaacs: you should send me a patch ;) [22:43] Aria: I shall. I just wanted a feeler for acceptance before I go tearing in ;-) [22:43] vvo has joined the channel [22:43] isaacs: tap-runner is probably the thing to poke at wrt only running executable files. [22:43] Aria: It feels so weird to be more developer than system admin these days. [22:43] slajax has joined the channel [22:43] Marko_: what would be way to do this in node.js? urlencode(base64_encode(hmac($api_secret_key, $signature_string))) [22:43] isaacs: node-tap is the thing that actually has the bin. i think it already uses nopt, but i could be wrong. [22:43] SubStack: automating yourself out of a job eh? [22:44] Marko_: im looking: http://nodejs.org/docs/v0.3.1/api/crypto.html [22:44] isaacs: Aria: if you add option parsing, and it doesn't arleady use it, i'm partial to nopt, since i grok it deeply and can fix its bugs easiy. [22:44] alessioalex has joined the channel [22:44] mattrobenolt: Marko_: One moment. [22:44] slajax has left the channel [22:44] Aria: Ah, spiffy. [22:45] Aria: I'd only seen the 'tap' npm module's script. [22:45] nils_r has joined the channel [22:46] jldbasa has joined the channel [22:46] Aria: SubStack: Nah, actually, I canned my old business and went to work for a company stuck in PHP-land with some strong interests in realtime communication. [22:46] dwasp has joined the channel [22:46] Aria: SubStack: and while I interviewed for both systems and dev, I ended up in dev. [22:46] SubStack: realtime eh [22:47] jarek__ has joined the channel [22:47] Aria: Yeah. Chat and payment processing. Entirely separate systems that turn out to need similar infrastructure. [22:47] SubStack: Aria: have you seen https://github.com/bergie/dnode-php ? [22:47] dwasp: ExpressJS: anyone know the api to retrieve a user's session via their session id cookie directly, outside of the normal req/res cycle? [22:47] Aria: I haven't! [22:47] CIA-109: libuv: 03Ryan Dahl 07master * r0698e3f 10/ (4 files in 3 dirs): Fix UNIX pipe connect error reporting, add test - http://git.io/dEbATQ [22:47] SubStack: looks like a nice way to plug a php stack into a node realtime thingy [22:48] eb4890 has joined the channel [22:48] jarek__ has joined the channel [22:48] mattrobenolt: Marko_: https://gist.github.com/a13284d85a2fd5032756 [22:48] mmalecki: yay! [22:48] Marko_: hasfunc im using is: sha256 [22:48] Aria: Interesting. Though I think we're leaning toward node+gearman for the server. [22:48] mattrobenolt: Then just use sha256 instead of sha1. [22:48] SubStack: Marko_++ # helping [22:48] Aria: (We have enough clients that we can't handle all the connections on one IP, possibly not on a single box, and we want failover.) [22:48] nerdy_ has joined the channel [22:48] SubStack: oh wait [22:49] SubStack: mattrobenolt++ [22:49] SubStack: that's what I meant [22:49] Aria: And then web browser and mobile apps as clients. [22:49] SubStack: hey where are the beerbots [22:49] fread2281 has joined the channel [22:49] btipling has joined the channel [22:49] Aria: Speaking of which, where's my beer? [22:49] mattrobenolt: I've been around this block a lot recently. ;) [22:50] mattrobenolt: Signing and unsigning values for transport between Node and Django. [22:50] Aria: Nice. [22:50] arcanis has joined the channel [22:50] Marko_: value = $signature_string on my example? [22:50] mattrobenolt: Well, I don't really know what you mean by that in your example. [22:50] mattrobenolt: You have a key, then a signature string. [22:51] mattrobenolt: Those are kinda contradictory. [22:51] mattrobenolt: You have a key, which signs a value. [22:51] mattrobenolt: In an HMAC> [22:51] Marko_: $signature_string = "GET" . chr(10) . $url['host'] . chr(10) . $url['path'] . chr(10) . $request; [22:51] skm has joined the channel [22:51] mattrobenolt: Ok, gotcha. So that's the value you're trying to sign. [22:51] Marko_: so its a string like salt i think? [22:51] mattrobenolt: No, secret key is the salt. [22:51] Marko_: ok, cool. im not familiar with terms [22:52] mattrobenolt: In your case signature string is the value you're trying to sign and make sure it's safe. [22:52] mattrobenolt: You wnat a signature for that value. [22:52] mattrobenolt: Encrypted with the secret key. [22:52] nyxtom has joined the channel [22:52] Marko_: yeah, it looks exactly what i need [22:52] Aria: Yeah, no salt in this: You're not doing things that are easy to break with a rainbow table. [22:52] Aria: Salts are for just that. [22:53] mattrobenolt: Oh, and for the uri encoding, just wrap it in encodeURIComponent() [22:54] SubStack: dnode@0.9.0 just landed [22:54] swair has joined the channel [22:54] SubStack: includes the latest socket.io [22:54] mattrobenolt: encodeURIComponent(encoded) [22:54] SubStack: well the latest socket.io with my patch anyhow [22:54] eddyb has joined the channel [22:54] eddyb: is there any way of determining if there's JS code somewhere down the execution path? [22:54] eddyb: like, if I were to throw an exception, can I make sure there's JS there to catch it (or pass-thru)? [22:55] Marko_: great. gosh its so late over here and id like to test this already, lol [22:55] Marko_: mattrobenolt: appreciate your help [22:55] mattrobenolt: No problem. [22:55] CarterL has joined the channel [22:56] eddyb: right now I'm relying on a hack and I have to call a function each time I enter JS (or possible JS code) [22:56] Marko_: i faced a problem on heroku. http post to port 9001 is not giving any response so i might need to use other api to retrieve information i need [22:56] mattrobenolt: Marko_: Zero Heroku experience here. I roll my own shit. ;) [22:56] Marko_: lol [22:57] Marko_: are you runnigng your apps on own clouds? [22:57] StanlySoManly has joined the channel [22:57] mehtryx has joined the channel [22:57] mattrobenolt: What do you mean? I work with a few Rackspace clusters. [22:58] davidbanham has joined the channel [22:58] mattpodwysocki has joined the channel [22:58] Marko_: ok, well i think its on clouds then [22:59] mattrobenolt: Yeah, Rackspace Cloud technically is. [22:59] mattrobenolt: But not in the sense that Heroku is. [22:59] Marko_: whats the difference then? [23:00] mattrobenolt: Heroku already has the web server and everything ready for you to deploy an app. [23:00] mattrobenolt: It handles scaling and all that fun stuff automatically. [23:00] mattrobenolt: Rackspace Cloud server is (to a sysadmin) the same thing as a bare metal server. Nothing on it. [23:00] wadey has joined the channel [23:01] chilts: Marko_: it's the difference between IaaS (Infrastructure as a Service) and PaaS (Platform as a Service) [23:01] Marko_: oh, very grass level [23:01] chilts: there is also SaaS but you probably already know that one :) [23:01] mattrobenolt: chilts: That's a better way to explain it, haha [23:01] chilts: :) [23:02] chilts: though there are certainly blurry lines between them all :) [23:02] Marko_: ive used google app engine for two years [23:02] mattrobenolt: You have much more control with a real server than you do Heroku. If you need to step outside the comfort zone a little bit, Heroku won't be able to handle it. [23:02] mattrobenolt: Yeah, that's basically the same concept. [23:02] Marko_: SaaS, PaaS, IaaS all assS are trendy today [23:02] mc_greeny has joined the channel [23:02] mattrobenolt: You're not managing the actual deployment processes and the software involved to keep shit running and healthy. [23:03] akihito_s has joined the channel [23:04] isaacs: Marko_: my favorite is aaSaaS [23:04] Marko_: So there are these three levels, we provide software as a service on my work. something else? [23:04] isaacs: Marko_: aaS as a service. you tell us what you want, we make a service out of it. [23:04] Marko_: oh, there is the answer, lol [23:04] isaacs: yeah, we can do AaaS, for sure. or LoLaaS [23:04] akihito_s has joined the channel [23:05] Marko_: Hi5aaS [23:05] rogerb has joined the channel [23:05] isaacs: ^5aaS, you mean? [23:05] mattrobenolt: Marko_: IaaS is just what Rackspace or Amazon does. They give you infrastructure. Heroku gives you a platform for your software. Heroku rents servers from Amazon. [23:05] Marko_: way to go, just playing, lol [23:05] mattrobenolt: So their PaaS is built off of Amazon's IaaS, and you're using the PaaS to deploy your SaaS! [23:06] jarek has joined the channel [23:06] jarek has joined the channel [23:06] Marko_: ah, thats why i saw amazon urls somehwere there [23:06] mattrobenolt: At least I'm almost positive Heroku uses AWS. I could be wrong. [23:07] eb4890 has joined the channel [23:07] isaacs: remember when SaaS used to be called "a website" and IaaS was called "hosting"? [23:07] chilts: mattrobenolt: just to paraphrase you - "So their PaaS is built off of Amazon's aaS ..." :) [23:07] isaacs: those were the good old days. [23:07] jerrysv: mattrobenolt: they use whoever mongohq uses [23:07] mattrobenolt: hahaha, I remember websites. [23:07] purr has joined the channel [23:08] mattrobenolt: MongoHQ… a cloud based database solution for MongoDB... [23:08] mattrobenolt: ...why? [23:08] mattrobenolt: That sounds like a terrible idea. [23:08] dynacker: crap latency to aus too [23:08] dynacker: :-) [23:08] jerrysv: mattrobenolt: not everyone wants to host their own stuff [23:08] mattrobenolt: jerrysv: Yeah, but databases need to be fast. [23:08] Marko_: Aas'es are better busines model than one time websites definitely [23:09] mattrobenolt: The only way it would be usable is if your site is on AWS as well. [23:09] jarek__ has joined the channel [23:09] jarek__ has joined the channel [23:09] mattrobenolt: So at least you can do connections over their private network directly. [23:09] jerrysv: mattrobenolt: correct, and the data charge is free for that scenario as well [23:10] Marko_: but hey, thanks, will come up after more experiments [23:10] mattrobenolt: jerrysv: That's good then. I can see if it they were targeting AWS users already. [23:10] mattrobenolt: But as a generic service… that'd be rough. Nobody on another host would want to use it. Well, shouldn't want to use it. [23:11] snkcld has joined the channel [23:11] auser has joined the channel [23:12] auser: hey all [23:12] jscheel has joined the channel [23:12] jscheel has joined the channel [23:12] auser: is anyone familiar with glob? [23:13] mattrobenolt: auser, glob… as in globbing for files? [23:13] CarterL has joined the channel [23:13] auser: yep yep [23:13] mattrobenolt: What about it? [23:13] npa has joined the channel [23:13] CIA-109: libuv: 03Ryan Dahl 07master * r147487a 10/ src/unix/error.c : UNIX: Error map ENOTSOCK - http://git.io/Bn7Bzg [23:13] auser: I'm using the flag: glob.GLOB_STAR and using a pattern with **, but I'm only seeing first-level files and directories [23:14] bingomanatee has joined the channel [23:14] neurodrone has joined the channel [23:14] mattrobenolt: Oh, sorry, I don't know too much about glob inside Node. [23:14] auser: k [23:15] jbrokc has joined the channel [23:16] romain__ has joined the channel [23:17] ninjapig has joined the channel [23:17] ninjapig has joined the channel [23:18] tomyan has joined the channel [23:18] mike5w3c has joined the channel [23:20] jocafa has joined the channel [23:20] isaacs: auser: hey [23:20] dwasp: about mongohq: some clients don't need an application server just to host an api [23:20] isaacs: auser: it's better to use the minimatch lib. [23:20] isaacs: auser: it doesn't do dir walking for you, but if you just wanna test strings, then it's way better. [23:21] isaacs: auser: and no compilation [23:21] mattrobenolt: dwasp: How could you host an API without an app server? [23:21] isaacs: auser: i'm planning to port glob over to use that for its guts, but haven't gotten to it yet [23:21] dwasp: it's document storage based on keys and ids [23:21] auser: k, perhaps I can help if I have some time... [23:21] dwasp: mongo doesn't care what kind of client connects to it, as long as it sends the proper commands [23:21] auser: thx [23:22] Zarel_ has joined the channel [23:22] mattrobenolt: dwasp: oh, so you're saying the API queries directly on the database? [23:22] dwasp: anyone know how to access an express/connect session outside of the req/res cycle? [23:22] dwasp: saying the client could, yeah [23:22] eddyb: no one knowing the answer to my question? [23:22] dwasp: similar to amazon's simpledb thing [23:22] Renegade001: Sorry for asking this but the channel list on Freenode is too damn big, is there any active UI channels or anything of the sort on Freenode? [23:22] mattrobenolt: Right, but SimpleDB is used by people who have EC2 instances. [23:23] domino14: hi mattrobenolt am i doing something wrong with your signature code? https://gist.github.com/1338244 [23:23] domino14: i took those values from your python test code, and i get 'false' [23:23] CIA-109: libuv: 03Ryan Dahl 07master * r681bd29 10/ (7 files in 5 dirs): [23:23] CIA-109: libuv: UV_EACCESS -> UV_EACCES [23:23] CIA-109: libuv: In order to match existing Node API. See [23:23] CIA-109: libuv: https://github.com/joyent/node/pull/2001 - http://git.io/W3Kpdg [23:23] mattrobenolt: domino14: Let me take a look. [23:24] auser: wait… that's not really what I'm looking for isaacs [23:24] alexdoom has joined the channel [23:24] isaacs: auser: right, so, you're looking to select from the filesystem. [23:24] isaacs: auser: glob.GLOB_STAR should work, then [23:24] isaacs: auser: you're using glob(), not glob.fnmatch(), right? [23:24] auser: I'm looking for a recursive directory walk for files of the pattern: *_test.coffee, I suppose I'll just have to write a custom function [23:24] auser: yep [23:24] isaacs: (fnmatch never supports glob_star) [23:25] isaacs: auser: check out SubStack's findit utility [23:25] auser: I'll show you what I'm doing [23:25] isaacs: i think it lets you pass in a filter. [23:25] auser: hm. rabbithole… [23:25] enmand has joined the channel [23:25] isaacs: indeed. [23:25] mattrobenolt: domino14: Hmm, that's odd. [23:26] auser: dir = require('glob').globSync('spec/**') definitely does not do recursive directory walking [23:26] shedinja: Hello, I'm trying to install 'cheerio' with npm, but I get npm ERR! Error: Not found: cheerio@'' but I do see cheerio when I search for it on npjs.org [23:26] domino14: mattrobenolt: the python tests pass. [23:26] mattrobenolt: Yeah, I'm looking at it. [23:26] mattrobenolt: Hold on. [23:26] dwasp: mattrobenolt: mobile apps aren't really limited by database response speed, at least not yet if they're not on wifi [23:26] dwasp: just an example [23:27] auser: find it works [23:27] auser: thx isaacs [23:27] auser: ugh, kinda [23:27] auser: heh [23:27] uchuff has joined the channel [23:27] McMAGIC--Copy has joined the channel [23:28] mattrobenolt: domino14: Ahh, I see. I'm doing it a bit differently. Hold on. Let me stare at this. [23:28] domino14: thanks mattrobenolt [23:28] mattrobenolt: For that unsign, in Python I'm doing: [23:29] mattrobenolt: hmac.new(self.secret, value, sha1).hexdigest() [23:29] SargoDarya: uarg. Does anyone of you do something with webgl? [23:30] takezawa has joined the channel [23:30] domino14: yeah that is the signature in get_signature [23:30] jn has joined the channel [23:30] domino14: is sha_hmac the same as sha1 ? [23:30] metellus has joined the channel [23:30] CIA-109: libuv: 03Ryan Dahl 07master * r9c7ed0d 10/ src/uv-common.c : One more EACCESS -> EACCES - http://git.io/baq6QA [23:30] mattrobenolt: Which works identically... [23:31] domino14: yep it seems it is sha1 [23:31] swair has left the channel [23:31] domino14: maybe my node install is screwed up, did you try running my gist in yours ? [23:32] mattrobenolt: No, apparently in Python, the two ways of creating an HMAC produce different results. [23:32] mattrobenolt: That's interesting. [23:33] mattrobenolt: Ohhh! I see what it's doing. [23:33] mattrobenolt: In my get_signature in python, I'm sha1'ing the key first. [23:34] Aria: Oops! Derivative key. (Which makes it automatically the right length.) [23:34] fatjonny has left the channel [23:34] domino14: should i sha the key in crypto.createHmac ? [23:35] CIA-109: node: 03Ryan Dahl 07master * rcf78d04 10/ (13 files in 6 dirs): [23:35] CIA-109: node: Upgrade libuv to 9c7ed0d [23:35] CIA-109: node: Fixes test-net-pipe-connect-errors.js on UNIX. [23:35] CIA-109: node: See #2001. - http://git.io/kGpKcQ [23:36] mattrobenolt: Yeah, I'm playing with this a bit. One second. [23:36] wankdanker_ has joined the channel [23:36] eddyb: wtf [23:37] eddyb: why are tty Read/WriteStreams Sockets? [23:37] eddyb: freaking SOCKETS?? [23:37] domino14: cuz sockets are awesome [23:37] SargoDarya: indeed they are. I'm loading all my player data over sockets [23:38] ryah: eddyb: ? [23:38] eddyb: tty.js [23:38] tjholowaychuk: moar sockets [23:38] eddyb: ReadStream WriteStream [23:38] eddyb: they both inherit Socket [23:38] domino14: i think i made it work, the === fails but they're identical now [23:38] ryah: eddyb: and? [23:38] domino14: da,,ot [23:38] domino14: dammit [23:39] eresair has joined the channel [23:39] eddyb: where's the explanation? [23:39] eddyb: how does it make sense? [23:39] ryah: node is non-blocking [23:39] ryah: sockets are the only real non-blocking thing [23:39] tilgovi has joined the channel [23:39] ryah: we treat everything as sockets [23:39] tilgovi has joined the channel [23:39] sirdancealot has joined the channel [23:39] ryah: well as much as we can get away with [23:40] eddyb: what's wrong with Stream? [23:40] blup has joined the channel [23:40] shedinja_ has joined the channel [23:40] jimt has joined the channel [23:40] ryah: you now have your explanation :) [23:40] slajax has joined the channel [23:41] slajax has left the channel [23:41] domino14: i did this now: https://gist.github.com/1338244 and the two strings are the same, but the === is failing for some weird reason [23:41] mmalecki: ryah: thanks for fixing this issues :) [23:41] mattrobenolt: domino14: I'm on crack right now or something. [23:42] ryah: mmalecki: yeah - two of those tests are going to be hard to port to windows [23:42] domino14: lol [23:42] wadey has joined the channel [23:42] ryah: mmalecki: but i need to talk with piscisaureus_ and igorzi about them [23:42] mattrobenolt: I can't even get it to create the right hash in Python now, haha, it keeps giving me the hash that Node is returning. [23:42] mmalecki: ryah: you mean my tests? [23:42] domino14: doh [23:42] ryah: mmalecki: in particular im not sure ENOTSOCK exists on windows... [23:43] eddyb: ryah: what has Socket that Stream doesn't have and it's useful for a tty? [23:43] ryah: mmalecki: since sockets have thier own "namespace" [23:43] ryah: eddyb: what's a Stream? [23:43] mmalecki: ryah: yeah, I've tried using them. once. [23:43] mmalecki: I recall crying. [23:43] ryah: mmalecki: er pipes, i mean [23:43] domino14: '8a8d431c4bee603699e3fd3e9593a3264af0f57c' [23:43] domino14: '8a8d431c4bee603699e3fd3e9593a3264af0f57c' [23:43] domino14: false [23:44] domino14: do those strings look identical to anyone else? wtf ? [23:44] mmalecki: ryah: yeah, I know [23:44] eddyb: wait [23:44] eddyb: ryah: stream.js is just Stream.pipe? [23:44] tlynn_ has joined the channel [23:44] ryah: eddyb: yes [23:44] SubStack: for now [23:44] mattrobenolt: Ok, yeah, it did a triple equal for me fine. [23:45] JaKWaC has joined the channel [23:45] eddyb: I shouldn't have assumed node.js makes sense [23:45] mmalecki: ryah: but feel free to remove these tests you guys don't like. I didn't take Windows into account when writing them. [23:45] eddyb: I think I'll head to the bed [23:45] eddyb: and finish this rewrite tomorrow [23:46] ryah: eddyb: computers are hard [23:46] mattrobenolt: Oh, domino14, you're running digest('hex') twice. [23:46] eddyb: node.js code is even worse [23:46] mattrobenolt: That's why you're getting false. [23:46] franksalim: let's go shopping^W write rants on G+ [23:46] mattrobenolt: The second time it's called, it's an empty string. [23:46] ryah: everyone keeps thinking they're easy - but then they figure it out :) [23:46] socketio\test\88 has joined the channel [23:46] mmalecki: ryah: my computers love me, they never failed me [23:46] eddyb: ryah: I once done asm -> C by hand for an ARM firmware [23:46] ryah: eddyb: when you have your own runtime let me know, we'll compare [23:47] eddyb: it was so simple compared to node.js [23:47] mmalecki: ryah: maybe you don't feed yours well? [23:47] eddyb: ryah: thanks for the challenge, I'll sure keep you posted [23:47] domino14: mattrobenolt: oh, it's a stateful thing? [23:47] mattrobenolt: domino14: I guess so. [23:47] mattrobenolt: https://gist.github.com/1338289 Makes it work for you. [23:48] mattrobenolt: Sorry, I haven't touched my crypto library in a while. And the part where I'm interacting with Node, I'm signing cookies and not using my library. :) [23:48] domino14: well everythng works now — thank you! [23:48] mattrobenolt: I forgot I was sha1 hashing my key first. [23:48] domino14: the only thing is those signatures also have to be secret huh [23:48] domino14: i mean, or someone could just submit someone else's hash [23:48] domino14: maybe i can generate the secret key dynamically [23:48] mattrobenolt: You really don't need to do that. You could take out L25 of my crypto.py and just use secret instead of key. [23:49] mattrobenolt: Right, you secret key is secret to your servers only. [23:49] mattrobenolt: If someone else gets it, they can forge a request. [23:49] mattrobenolt: Just use one of those many password generator things and make one like, 50 characters long. [23:49] domino14: but i mean even if someone gets someone else's signature they can also forge the request [23:49] mattrobenolt: No, you have one secret on the whole server. [23:50] AvianFlu_ has joined the channel [23:50] mattrobenolt: That's why in my crypto library, I'm by default using the Django SECRET_KEY that's auto generated. [23:50] mattrobenolt: I then stick that secret key in one of my configs for Node. [23:50] ej has joined the channel [23:50] domino14: but if a user is viewing another user's data and then the other user chooses to turn his data stream off [23:50] domino14: the first user can use the hash to view the data in the future [23:50] ryan_stevens has joined the channel [23:50] mattrobenolt: No. [23:51] mattrobenolt: Keys are individual. The key is global to everyone. [23:51] mattrobenolt: Using my example, you have the string 'value1'. [23:51] mattrobenolt: It's signed with the signature '8a8d431c4bee603699e3fd3e9593a3264af0f57c'. [23:51] auser_ has joined the channel [23:51] mattrobenolt: Now, if the value is changed, nobody else can generate a valid signature to match without your secret key used to sign it. [23:52] mattrobenolt: It's like a normal SHA1 hash, but with salt. Sorta. [23:52] jimt has joined the channel [23:52] Murvin has joined the channel [23:52] domino14: but if a user's name is 'value2' he can use the value1 signature to forge a request by sending node: value1signature, value1 and node will think it was user named 'value 1' who sent it [23:52] mattrobenolt: That's why the key must be kept private. [23:52] jbrokc_ has joined the channel [23:52] zmbmartin has joined the channel [23:52] Aria: Salt? [23:52] mattrobenolt: Oh, yeah, I see what you mean. [23:53] zomg: If you're hashing passwords, use node-bcrypt [23:53] mattrobenolt: That's why people typically sign a timestamp in with the request. [23:53] domino14: so i gotta make sure to handle shared data views carefully [23:53] domino14: hmm [23:53] fly-away has joined the channel [23:54] Murvin: is that right? app.register('.html', ejs) ? [23:54] mattrobenolt: People will then shove that all in a url, like: ?key=value1&expires=1320364433431&signature=8a8d431c4bee603699e3fd3e9593a3264af0f57c [23:54] domino14: oh and the expiration date can be like a few seconds in the future [23:54] mattrobenolt: That expires time might be 5 minutes in the future, just to give some slack with server times, or 10 minutes, whatever you're comfortable with. And the signature then is a hash of the entire query string without the signature. [23:54] tjholowaychuk: Murvin looks fine [23:55] domino14: sweet [23:55] mattrobenolt: Yeah. Typically you'll take all the query string parameters and normalize them by putting them into alphabetical order. Then hashing the entire query. [23:55] domino14: that sounds reasonable [23:55] mattrobenolt: Then tack on the signature key. [23:55] mattrobenolt: Make sense? [23:55] Murvin: yes.. that's what I'm doing and a lot of sites doing. [23:55] domino14: yep, that has been very helpful! [23:55] mattrobenolt: In my crypto.py, I have a "sign_query" function. ;) [23:55] Murvin: Opps. thats refer to Mattrobenolt. not my question [23:56] mattrobenolt: It takes a dictionary object to sign and inserts a signature key. [23:56] domino14: cryptography is awesome [23:57] mattrobenolt: This isn't really cryptography, it's just security. [23:57] Murvin: tjholowaychuk: so.. test.html will resolve into test.ejs, right? hmm but it doesn't seem working. [23:57] mattrobenolt: And hashing. Cryptogrophy (at least to me) implies encrypting/decrypting. [23:57] tjholowaychuk: Murvin that just means that res.render('foo.html') and the file foo.html will be considered ejs [23:57] Murvin: mattrobenolt: what u trying to do? I have done a lot of encrypting thing . [23:57] tjholowaychuk: instead of the default module "html" [23:57] mattrobenolt: These are just checksums, essentially. [23:57] tjholowaychuk: which wouldnt exist [23:58] mattrobenolt: Murvin: ? [23:58] Murvin: mattrobenolt: i just log in and see part of your conversations.. :) [23:59] mattrobenolt: Murvin: I'm fine. I'm helping domino14. [23:59] Murvin: oh... lol. [23:59] Murvin: tjholowaychuk: ok. clear. :)