[00:00] dmkbot: joyent/node: rwky: Ubuntu package in ppa don't contain node-waf - https://github.com/joyent/node/issues/1653 [00:00] random123: between modules [00:01] davidbanham has joined the channel [00:02] tylerstalder has joined the channel [00:04] savage- has joined the channel [00:04] abiii has joined the channel [00:04] jeremywho has joined the channel [00:04] Ratty_: random123: how'd you mean? [00:05] astropirate has joined the channel [00:05] dlg: anyone familiar with http_parser.c here? [00:05] random123: Ratty_: Like if you are using socket.io, and you have the io object, and you have a bunch of pages like require('index'), require('about_us'), etc. you have to somehow get that same io object in each require [00:06] TokyoDan has joined the channel [00:06] tylersta_ has joined the channel [00:06] random123: to make it avaliable, you might even have your database objects too, mongodb object, redis object, etc. [00:06] random123: maybe even "app" which is express [00:06] random123: you have to get those variables to each require('') [00:07] Ratty_: Wouldn't they just require your io module? [00:09] replore has joined the channel [00:09] replore_ has joined the channel [00:09] jeremywho: hi everyone. I've watched the video on nodejs.org and saw some of the neat things you can do, but I'm trying to understand the point of node.js. Just to use server-sive javascript? [00:10] Ratty_: Like you have exports.io = require('socket.io').listen(app); and then inside aboud_us you have: var io = reqire('/foo').io [00:10] tylerstalder has joined the channel [00:10] astropirate: jeremywho, thats the main reason I use it :) [00:10] CIA-69: node: 03Bert Belder 07master * rd01b87d 10/ vcbuild.bat : win: vcbuild.bat should attempt to run vcvarsall.bat - http://git.io/T8uqZg [00:10] CIA-69: node: 03Bert Belder 07master * rae2ac4f 10/ node.gyp : gyp: add js files to node project - http://git.io/bKiSZQ [00:10] CIA-69: node: 03Bert Belder 07master * re20d0c1 10/ (3 files in 3 dirs): [00:10] CIA-69: node: net-uv: correctly set socket.remoteAddress and -port [00:10] CIA-69: node: closes #1345 - http://git.io/uKeirw [00:11] jeremywho: astropirate: and you use the built-in http server functionality instead of a common wen server? [00:11] jeremywho: webserver* [00:11] astropirate: jeremywho, aye [00:11] fr0stbyte has joined the channel [00:12] astropirate: jeremywho, you don't have to constrcut a server every single time though, you can use the Express.js framework for instance [00:12] astropirate: it will do most of the low level stuff for you [00:12] random123: Ratty_: I'll try that out [00:12] matyr has joined the channel [00:13] jeremywho: express is built on top of node ? [00:13] CIA-69: libuv: 03Ryan Dahl 07master * rb6ede6c 10/ src/unix/fs.c : [00:13] CIA-69: libuv: unix: uv_fs_readdir sync skips . and .. [00:13] CIA-69: libuv: Fixes test fs_async_dir - http://git.io/djIAuQ [00:13] licnep has joined the channel [00:13] bshumate has left the channel [00:14] mobile has joined the channel [00:14] jeremywho: is/was node and express built to be a replacement for traditional server stacks? [00:14] astropirate: jeremywho, http://expressjs.com/ [00:15] licnep: when i try to compile nodejs i get an error while linking "/usr/bin/ld: cannot find -luv" anyone has any idea how to solve this? [00:17] CIA-69: node: 03Ryan Dahl 07master * r01bf209 10/ (deps/uv/src/unix/fs.c deps/uv/test/test-fs.c): [00:17] CIA-69: node: Upgrade libuv to b6ede6c [00:17] CIA-69: node: Fixes require('fs').readdirSync on unix. - http://git.io/ThGVIQ [00:21] [[zz]] has joined the channel [00:21] kenperkins has joined the channel [00:22] Yuffster_work has joined the channel [00:22] tylerstalder has joined the channel [00:23] nerdy_ has joined the channel [00:24] michaelrice has joined the channel [00:26] blup has joined the channel [00:26] TokyoDan has joined the channel [00:27] TokyoDan_ has joined the channel [00:27] matyr has joined the channel [00:28] tylerstalder has joined the channel [00:28] michaelrice has left the channel [00:28] matomesc_ has joined the channel [00:31] matyr has joined the channel [00:31] febits has joined the channel [00:32] TokyoDan has joined the channel [00:33] swhit has joined the channel [00:33] TokyoDan has joined the channel [00:35] tylerstalder has joined the channel [00:37] TokyoDan has joined the channel [00:40] godzirra has joined the channel [00:41] godzirra: The last part of my project (well, one of them) is basic javascript kicking my butt. :/ [00:42] matyr has joined the channel [00:44] ditesh|cassini has joined the channel [00:44] shipit has joined the channel [00:45] sebastianedwards: What happens when you have more node processes than CPU cores? [00:45] tbranyen: death [00:46] boogyman: sounds like a Try it and See question [00:46] sebastianedwards: Just wondering about things like HookIO. Should you never attach more hooks than you have cores? [00:50] leahciMic has joined the channel [00:52] matyr has joined the channel [00:52] mike5w3c_ has joined the channel [00:53] neoesque has joined the channel [00:53] leahciMic: mmm, need some help with closures etc [00:53] leahciMic: for (i=0; i<4; i++) { [00:53] leahciMic: fs.readFile(i + '.txt', function(err, data) { [00:53] leahciMic: // how can I pass i's value to here? [00:53] leahciMic: }); [00:53] leahciMic: } [00:54] leahciMic: obviously if we did console.log(i); it would always be 3ish right, as the 3rd iteration will overwrite it ? [00:54] leahciMic: depending on how quick the file can be read [00:55] isaacs has joined the channel [00:58] leahciMic: var a;a.i = i; a.readFile = fs.readFile(..., function(err, data) { console.log(this.i); }); [00:58] leahciMic: will that work ? [00:59] micheil has joined the channel [01:00] mykul|Home has joined the channel [01:01] TokyoDan has joined the channel [01:02] matyr_ has joined the channel [01:02] TokyoDan: test [01:02] leahciMic: doesn't appear to work :( [01:03] TokyoDan has joined the channel [01:04] TokyoDan: test [01:06] dmkbot: joyent/libuv: ry: windows: need uv_fs_t.path implementation - https://github.com/joyent/libuv/issues/177 [01:06] CIA-69: libuv: 03Ryan Dahl 07master * ra18860a 10/ (include/uv.h src/unix/fs.c test/test-fs.c): [01:06] CIA-69: libuv: Add uv_fs_t.path on unix and tests [01:06] CIA-69: libuv: Windows implementation missing https://github.com/joyent/libuv/issues/177 - http://git.io/P90Pbw [01:07] simon1 has joined the channel [01:07] dmkbot: joyent/libuv: ry: windows: need uv_fs_t.path implementation - https://github.com/joyent/libuv/issues/177 [01:09] TokyoDan has joined the channel [01:12] TokyoDan_ has joined the channel [01:13] TokyoDan_ has joined the channel [01:13] dmkbot: joyent/libuv: ry: windows: need uv_fs_t.path implementation - https://github.com/joyent/libuv/issues/177 [01:13] TokyoDan has joined the channel [01:15] infynyxx has joined the channel [01:17] enhydra has joined the channel [01:17] devongovett has joined the channel [01:19] kdng-devrim has joined the channel [01:20] dmkbot has joined the channel [01:22] JumpMast3r has joined the channel [01:22] __sorin__ has joined the channel [01:23] random123: is it possible to change an exported objects function after it is declared in a require so that all other files which use require and receive that object get the new function? [01:23] CStumph has joined the channel [01:24] blup has joined the channel [01:24] CrypticSwarm has joined the channel [01:25] random123: basically, can you change the export object so that if another file does the same require (resolves to same file) that it recieved the updated object? [01:26] Ond: You want a require singleton. [01:26] Ond: Not sure if that's possible myself [01:27] matyr has joined the channel [01:29] jakehow__ has joined the channel [01:29] jakehow_ has joined the channel [01:29] jakehow has joined the channel [01:30] bwinton has joined the channel [01:30] _bat has joined the channel [01:30] CIA-69: node: 03Bert Belder 07master * rb5d58f1 10/ lib/dgram_uv.js : [01:30] CIA-69: node: dgram-uv: black hole incoming messages after closing [01:30] CIA-69: node: Fixes test/simple/test-dgram-pingpong.js on windows - http://git.io/Nm-oQA [01:31] kadnare has joined the channel [01:31] licnep has left the channel [01:32] kiv has joined the channel [01:33] kiv: why node installation guide do not show how to install on solaris(10), what's the meaning of "Node should install out of the box on Linux, Macintosh, and Solaris." ? [01:34] Lorentz: It's probably near-identical process and other unix-likes? [01:34] Lorentz: s/and/as [01:35] ditesh|cassini has joined the channel [01:35] H4ns`` has joined the channel [01:36] Ratty_: I've never seen a real solaris system [01:36] bnoordhuis: Ratty_: if you use no.de, it's sunos (solaris) [01:37] bnoordhuis: kiv: what's the problem you're running into? [01:37] blup has joined the channel [01:38] CIA-69: libuv: 03Peter Bright 07master * re1af07e 10/ src/win/fs.c : [01:38] CIA-69: libuv: Open files with sharing enabled. Fixes node's issue #1449. [01:38] CIA-69: libuv: https://github.com/joyent/node/issues/1449 - http://git.io/8jEQ7A [01:38] CIA-69: libuv: 03Ryan Dahl 07master * rbe3b378 10/ src/win/fs.c : win: initialize req.path = NULL. - http://git.io/yBjhbg [01:39] m0: Anyone uses Joyent here? [01:41] stonecobra: m0: I do [01:41] tim_smart: m0: I use them a bit [01:41] m0: stonecobra: I found #joyent, I am asking there, I am getting "Invalid request parameters" When I enter hostname for smartmachines/new [01:42] stonecobra: m0: can you pastebin/gist your code? [01:42] stonecobra: or are you just trying with curl? [01:43] m0: stonecobra: all I am doing is entering a hostname in https://no.de/smartmachines/new [01:43] kiv: on solaris 10, when i exec ./configure , it says "/app/nodejs/wscript: error: Traceback (most recent call last): File "/app/nodejs/tools/wafadmin/Utils.py", line 274, in load_module exec(compile(code, file_path, 'exec'), module.__dict__) File "/app/nodejs/wscript", line 222 "-pre" if node_is_release == "0" else """ [01:44] derferman has joined the channel [01:44] Acolyte has joined the channel [01:44] matyr has joined the channel [01:45] stonecobra: m0: I get an error: "5,0You do not have sufficient quota to provision" [01:45] thinkt4nk has joined the channel [01:45] kadnare: Anyone here using node on windows? [01:45] Acolyte: is there a plugin for node.js that is used to manage user privileges, i.e. a mini-framework? [01:46] CIA-69: libuv: 03Ryan Dahl 07master * r991f6ee 10/ src/unix/fs.c : [01:46] CIA-69: libuv: unix: Set req->result to -1 on async uv_fs_readdir error [01:46] CIA-69: libuv: fixes test/simple/test-fs-error-messages.js in node. - http://git.io/Njyhsg [01:47] bnoordhuis: kiv: use a newer python, i bet yours is <= 2.4 [01:47] mecablaze has joined the channel [01:47] random123: Is there any way to modify an Object that has been exported using require so that subsequent requires can have the updated object/variable or can this only be done using Global vars? [01:48] kiv: thanks BNOORDHUIS [01:48] mecablaze: How can I make child_process.exec a synchronous call? Or more generally, is there a way to make an asynchronous call synchronous? [01:48] CIA-69: node: 03Ryan Dahl 07master * r7272dbd 10/ (4 files in 4 dirs): Upgrade libuv to 991f6ee - http://git.io/8dIKkQ [01:48] CIA-69: node: 03Ryan Dahl 07master * rf5e486e 10/ (deps/uv/src/unix/fs.c src/node_file.cc): Fix test-fs-error-messages.js - http://git.io/HqQ9rQ [01:49] kiv: my python verson is 2.4.4 , is it too old? [01:50] JaKWaC has joined the channel [01:50] bnoordhuis: kiv: yes, you need 2.5.2 [01:50] bnoordhuis: kiv: but you might get away with patching the wscript file by hand [01:51] bnoordhuis: kiv: replace the offending line with -> node_is_release == "0" and "-pre" or "" [01:51] kiv: is the file in node pack , wsscript? [01:51] bnoordhuis: yes, it's in the root of node's source tree [01:51] kiv: change the code to fit into old version of python? [01:52] bnoordhuis: kiv: yes [01:53] Acolyte has left the channel [01:56] kiv: bnoordhuis, is ok , thanks a lot [01:56] kiv: bnoor... , but a new error occured "ld.so.1: c++: fatal: libiconv.so.2: open failed: No such file or directory" [01:56] kiv: I have been tried install libiconv, but failed. [01:56] bnoordhuis: kiv: can you gist the full build log? [01:57] kadnare has left the channel [01:57] bnoordhuis: node shouldn't link to iconv [01:57] kiv: gist the full build log? what's it? [01:58] bnoordhuis: kiv: gist / pastie / pastebin [01:58] Nexxy has joined the channel [02:00] kiv: I think i should learn git more first, thanks bnoor... [02:01] kiv: but node installation process maybe use iconv [02:02] bnoordhuis: kiv: i'm pretty sure it doesn't [02:02] bradleymeck has joined the channel [02:02] boehm has joined the channel [02:03] FireFly|n900 has joined the channel [02:03] blup has joined the channel [02:04] matyr_ has joined the channel [02:04] traviscooper has joined the channel [02:05] random123: If using exported variables via require() is the preffered way instead of using global variables then how can you modify that object so subsequent calls to require give you the new object? [02:05] infynyxx has joined the channel [02:05] kiv: bnoor.. , node installation error on solaris 10, gist number is git://gist.github.com/1193895.git [02:07] a_suenami has joined the channel [02:08] bnoordhuis: kiv: can you post the http link of your gist? [02:08] leahciMic has joined the channel [02:09] kiv: https://gist.github.com/1193895 [02:10] bnoordhuis: kiv: okay, that's not a problem with node itself [02:11] bnoordhuis: the solaris c++ binary itself uses libiconv but it's missing [02:11] snowinferno has joined the channel [02:11] bnoordhuis: s/binary/compiler/ [02:12] snowinferno: Hi all, is it possible to send arguments to the callback of fs.rename? [02:13] kiv: I'll try add the libiconv [02:13] Ratty_: snowinferno: you can wrap callbacks in a function. : function() { mycallback(foo, bar); } [02:15] snowinferno: Ratty_: the thing is I'm trying to check if a file with a dynamic name exists, if it does rename it, then save the new file with that name [02:15] matyr has joined the channel [02:16] zeissoctopus has joined the channel [02:20] Me1000 has joined the channel [02:22] dexter_e has joined the channel [02:22] dexter_e_ has joined the channel [02:22] matyr has joined the channel [02:23] blup_ has joined the channel [02:23] NegativeK has joined the channel [02:30] Daegalus: Whats better to use, markdown-js or node-discount [02:31] chjj: Daegalus: https://github.com/chjj/marked [02:31] chjj: ;) [02:32] jesusabdullah: What do y'all use for sandboxing these days? vm.runInNewContext? [02:32] jesusabdullah: Nothing somehow better? [02:33] CIA-69: libuv: 03Bert Belder 07win32rw * rc188843 10/ (src/uv-common.h src/win/fs.c): win: use win32 api for file reading and writing - http://git.io/2iTYIg [02:33] Daegalus: chjj: perfect that looks great. I will use it in my Node.js forum. IM thinking of calling it Jello.js or just Jello, not sure [02:33] Daegalus: or Gel.js or just Gel [02:33] snowinferno: hmmm I'm trying to read a directory using node in interactive mode but nothing seems to come back [02:33] infynyxx has joined the channel [02:34] matyr has joined the channel [02:34] chjj: Daegalus: cool :) [02:34] meso has joined the channel [02:35] snowinferno: the only way i can get the list is with a callback which is optional according to the documentation [02:35] meso has joined the channel [02:36] CIA-69: libuv: 03Bert Belder 07win32rw * r013d2a1 10/ (src/uv-common.h src/win/fs.c): win: use win32 api for file reading and writing - http://git.io/oXTn1Q [02:36] eric_f has joined the channel [02:39] eric_f: Is there a way to point the root domain (zone apex) to a Joyent no.de smart machine using an 'A' record? Or is the IP of the machine dynamic in some way where that would eventually break? [02:39] kiv: install nodejs on cgywin : f:\s\Python26\python.exe: can't open file '/node-v0.5.5/tools/waf-light': [Errno 2] No such file or directory [02:40] pen_ has joined the channel [02:40] chbrown has joined the channel [02:40] kiv: but I can vi the file '/node-v0.5.5/tools/waf-light' ??? [02:40] Cyrone has joined the channel [02:44] CIA-69: node: 03Ryan Dahl 07master * r39ea274 10/ (src/node_file.cc src/req_wrap.h): Return ReqWrap from internal fs functions - http://git.io/cXgEDQ [02:45] dgathright has joined the channel [02:46] nakkor has joined the channel [02:47] enmand has joined the channel [02:49] meso has joined the channel [02:49] blup has joined the channel [02:49] CIA-69: node: 03Ryan Dahl 07master * rfcfec07 10/ src/node_file.cc : internal fs functions called with this == ReqWrap - http://git.io/rxKC4Q [02:50] CStumph has joined the channel [02:51] c4milo1 has joined the channel [02:53] jamesarosen has joined the channel [02:53] bolden has joined the channel [02:58] Nuck has joined the channel [02:59] brianseeders has joined the channel [02:59] WRAz has joined the channel [03:00] dexter___ has joined the channel [03:00] dexter_e_ has joined the channel [03:01] Daegalus: Is there any IDE or Text editor that has Intellisense/Completion features for Node? [03:01] Nuck: haha what [03:01] Nuck: IntelliSense? [03:01] zackattack has joined the channel [03:01] Nuck: ACTION giggles at what he assumes is an MS product name [03:01] boogyman: i'm guessing it's some sort of Auto-complete [03:02] tbranyen: intellisense is a very colloquial term [03:02] kriszyp has joined the channel [03:02] nakkor has joined the channel [03:02] RichardNode has joined the channel [03:02] RichardNode: anyone have any advice on setting up npm on windowS? [03:02] RichardNode: having trouble getting it to recognized NODE_PATH [03:03] RichardNode: ( I'm assuming thats the environment variable it looks at for some base things it needs ) [03:03] Nuck: RichardNode: NPM in Windows or Cygwin? [03:03] Daegalus: Nuck: its what MS calls their auto-complete thing. When you type say "express." as soon as you hit the period, it gives you a dropdown of all public functions and variables, etc. I guess AutoComplete in other IDEs [03:03] isaacs: RichardNode: npm on the windows native node.exe will be a while [03:04] RichardNode: Thanks, yah , just using straight up binaries [03:04] Nuck: Until then, there's plenty of ways to get it [03:04] RichardNode: node.exe is running pretty wonderful actually! =) [03:04] Nuck: A VM of Linux or Cygwin (preferably the prior) [03:04] Nuck: isaacs: I'll get that cert file from you somehow! [03:04] smathy has joined the channel [03:04] Nuck: ACTION shakes his fist [03:04] Daegalus: I personally really like nide at the moment, but i would like a Auto-Complete feature, and it would seal teh deal for me [03:04] RichardNode: I am able to run express and socket.io and all that good stuff on windows node.exe =) [03:05] Nuck: ACTION devises a plan involving dropping an anvil on him [03:05] isaacs: Nuck: fist shaking probably won't do it [03:05] RichardNode: Great job on this whoever is working on it [03:05] rurufufuss has joined the channel [03:05] Nuck: isaacs: I'll go all ACME on yo' ass [03:06] Nuck: RichardNode: Pretty sure Windows support was thanks to some bodies that Microsoft donated to help set it up [03:06] Nuck: Not that anyone here complained [03:06] matyr_ has joined the channel [03:06] Nuck: Windows users still have it harder [03:06] kenperkins has joined the channel [03:06] Nuck: Simply because Linux sucks less [03:07] isaacs: Nuck: several people are working on the windows port (incl ryah) [03:07] isaacs: Nuck: i'm working full time now on making npm work on it. [03:07] Nuck: Windows support will be badass [03:07] isaacs: Cygwin node needs to be put down. [03:07] JulioBarros_ has joined the channel [03:07] Nuck: I can't wait [03:07] eastender has joined the channel [03:07] Nuck: isaacs: Agreed [03:07] Nuck: I hate Cygwin [03:07] Nuck: But I have one question [03:07] Nuck: CONSOLE COLORS. [03:07] Nuck: Will they work on the new Windows node.exe? [03:08] isaacs: Nuck: not likely, not for a while [03:08] Daegalus: the only downside to windows support is CMD is HORRIBLE, makes me rage so much [03:08] Nuck: :'( [03:08] Nuck: Daegalus: Agreed [03:08] Daegalus: I should technically start using PowerShell [03:08] Nuck: isaacs: You should set up building servers for all the addons to work on Windows :P [03:08] Daegalus: its closer to linux [03:08] Nuck: Er, modules [03:09] ceej has joined the channel [03:09] __sorin__ has joined the channel [03:09] Nuck: Microsoft would make this so much easier if they distributed make and gcc for Windows [03:09] Daegalus: ehh, isnt there mingw? [03:10] Nuck: Daegalus: Yeah, but we want pure Windows [03:10] Nuck: And MinGW itself isn't pure windows [03:10] Daegalus: http://cloud9ide.com/ <--- this look soo bad ass, but even if it is open source, I like to code in private >.> [03:10] Daegalus: looks* [03:10] Nuck: Daegalus: I'm probably gonna set one up for myself [03:10] Daegalus: ya, but see the downside is it says anyone can hope in and watch you code [03:10] Daegalus: i dont like that [03:11] Daegalus: everything else is fine and dandy [03:11] Nuck: Daegalus: What no [03:11] Nuck: That's false [03:11] Nuck: :V [03:11] ericmuyser has joined the channel [03:11] Nuck: Private projects, dude [03:11] RichardNode: CloudIDE <3 [03:11] RichardNode: Those guys are so effing impressive =) [03:11] Daegalus: "can be viewed by anyone, even while editing." [03:11] Nuck: RichardNode: I just want an iPhone version [03:11] Daegalus: oh well thats if you pay the $15 a month [03:11] RichardNode: One day i'mma gonna be able to do all my work on a chromebook :P [03:11] Nuck: Daegalus: Not a private project [03:11] Nuck: Yeah [03:12] Daegalus: i meant the free version [03:12] Nuck: But I assume the open source one lacks that :P [03:12] Nuck: And if not, I can cut that chunk out :P [03:12] Daegalus: free version is no private projs, or anything [03:12] Daegalus: what do you mean cut that chunk out? [03:12] Nuck: the public chunk [03:12] RichardNode: 15 bucks a mo for premium isn't that bad [03:12] Nuck: I can rip it out [03:12] Nuck: If I must [03:12] Nuck: RichardNode: Yeah, but I'm a cheapskate [03:12] RichardNode: I earn 15 bucks at work making coffee :P [03:13] Ratty_: You work at starbucks? [03:13] Nuck: I set up Gitolite just so I wouldn't have to buy a Github premium account [03:13] Nuck: Still might though [03:13] isaacs: Nuck: here, add this to your keychain: http://npmjs.org/ca.crt (since you asked so nice) [03:13] RichardNode: Ratty_: hah [03:13] Daegalus: Nuck: rip it out how? it runs in your browser. Im notgetting something [03:13] Nuck: Since their issue tracker is godly [03:13] Nuck: isaacs: hahahaha [03:14] Ratty_: gitorious would be cool if it wasn't such a pain to setup [03:14] Nuck: agreed [03:14] Nuck: Also, it lacks an issue tracker [03:14] Nuck: Which is ghey [03:15] Nuck: isaacs: Cheater :P [03:16] devongovett has joined the channel [03:16] Nuck: public key file [03:16] hij1nx has joined the channel [03:16] Nuck: isaacs: Also, iPhone doesn't trust you [03:16] isaacs: Nuck: that's why you have to add it to your keychain. [03:17] isaacs: Nuck: then you can enjoy the pretty green lock icon on https://registry.npmjs.org/ [03:17] Nuck: egads it's just a JSON object [03:18] Nuck: some of these packages [03:18] Nuck: "Array.prototype.forEachAsync" [03:18] Nuck: Uncreative much? [03:18] MrNko has joined the channel [03:19] Nuck: isaacs: And it's a blue lock on iPhone, TYVM [03:19] isaacs: oh, nice [03:20] Nuck: Not like Github's green lock [03:20] isaacs: it's green in chrome, the Proper Browser [03:20] Nuck: Dunno the difference [03:20] Nuck: isaacs: Agreed, but I'm waiting for that to startup [03:20] Nuck: Windows dun crashed earlier [03:20] Nuck: Chrome is the new Firefox [03:20] meatmanek: nuck: it takes up all my memory? yeah [03:21] isaacs: Nuck: get a proper web browser. chrome is the fastest on osx and linux [03:21] Nuck: isaacs: Sure is, it's also best on Windows. [03:21] Nuck: That's why I use it. [03:21] Nuck: I switched from Firefox almost half a year ago [03:21] isaacs: oh, i see [03:21] isaacs: i thot you were disparaging it, with the "new firefox" comment ;P [03:21] Nuck: I just switched all my icons and set it as my default browser about a month ago tho [03:22] Nuck: isaacs: Nah, don't you remember when Firefox was So Amazing? [03:22] Nuck: you know, pre-4.0 [03:22] isaacs: yeah, like around 1.0 or so [03:22] meatmanek: nuck: you mean 1.5? [03:22] Nuck: 4.0 was a nice drop-off point [03:22] Nuck: Suddenly, thing started crashing more and more [03:22] Nuck: I just said fuckit, addons aren't worth this [03:23] matyr has joined the channel [03:23] Nuck: Recently I went through chrome's flags and set a ton of them [03:23] Nuck: Still hate font rendering on Chrome 14 [03:23] Nuck: All liney and shit [03:24] Nuck: Luckily for my screenshots, I use Safari for its text rendering when I want to make something look super-sexy [03:24] thepatr1ck has joined the channel [03:24] Ratty_: On windows? [03:24] Nuck: yeah [03:24] Ratty_: chrome and safari look the same on mac [03:24] Nuck: haha yeah [03:24] Nuck: All fonts look the same on mac [03:25] Nuck: But we get the Mac font rendering in Windows Safari, if you set the right settings :P [03:25] JulioBarros has joined the channel [03:26] devongovett has joined the channel [03:27] skm has joined the channel [03:27] Daegalus: damn it, Cloud9 doesn't have auto complete either. [03:31] dshaw_ has joined the channel [03:32] eazyigz has joined the channel [03:33] snowinferno: Hi all, can I pass arbitrary arguments to any callback? [03:34] Daegalus: http://cloud9ide.lighthouseapp.com/projects/67519/tickets/433-i-have-been-billed-three-times-and-am-still-not-upgraded#ticket-433-4 looks like upgrading Cloud9 atm isnt that great of an idea [03:35] hekkwan has joined the channel [03:36] toki_kanno_ has joined the channel [03:36] Spion_ has joined the channel [03:37] balaa has joined the channel [03:42] tk has joined the channel [03:43] amigojapan has joined the channel [03:46] matyr_ has joined the channel [03:47] blaenk has joined the channel [03:47] blaenk has joined the channel [03:48] Daegalus: So question, whats the best MongoDB package atm? Mongoskin? Mongoose? direct use of mongodb-native or whatever its called [03:49] matyr has joined the channel [03:49] Nexxy: Daegalus, you're going to get 6 different answers to that ;P [03:49] Nexxy: (give or take) [03:49] Daegalus: So pretty much all 6 different MongoDB implementations? [03:50] Nexxy: well mongoose has cool schemas [03:51] blkcat: i would recommend mongoose [03:51] Nexxy: and you can always fall back to plain mongo [03:51] blkcat: 1.x was pretty rocky to say the least but mongoose 2 looks pretty solid. [03:51] Nexxy: I agree w/ blkcat [03:51] Nexxy: not that I've used it extensively [03:51] mecablaze has joined the channel [03:51] c4milo1: Daegalus: being a mongoose user since a while. I'd recommend mongoskin [03:51] Nexxy: and thus it begins! [03:52] c4milo1: but it also depends as always :) [03:52] blkcat: Daegalus: as with any such question the best answer is "research them and decide for yourself" :) [03:53] c4milo1 has joined the channel [03:53] Daegalus: Well, I like to get opinions of people that have probably worked with this a bit. Im a node.js noob. I will choose on my own, but I like to get opinions on what more seasoned developers choose and why [03:53] tylerstalder has joined the channel [03:54] fitzgen has joined the channel [03:54] blkcat: Daegalus: well, i can't speak for any of the other layers but i've used mongoose in production [03:55] blkcat: Daegalus: but if you don't think you need the plugins, schemas, validators etc. etc. then mongodb-native is fine - simple and well-designed [03:55] Guest43583: personally I prefer mongodb-native, it suits me better (I wasn't looking for something that has schemas or tries to be an ORM) [03:55] c4milo1 has joined the channel [03:55] blkcat: yeah, it really just comes down to whether you want the orm or not [03:55] Guest43583: (argh, cursed forgetting to auth and forced name change) [03:55] mecablaze: I am writing a build script for my website (flattening js, css, etc). I am nesting async.parallel to perform sets of tasks that can be executed concurrently. The way I am passing information from one "layer" to another (the callback of one async.paralell contains another async.paralell, etc etc) is by basically having file-wide globals declared for every variable i need to pass down. this [03:55] abraxas has joined the channel [03:55] mecablaze: seems kind of icky. is there a better way to do this type of thing? [03:56] Daegalus: ORM i am assuming is Object Relational Mapping? [03:56] abraxas has joined the channel [03:57] clu3 has joined the channel [03:57] fangel has joined the channel [03:58] nakkor has joined the channel [03:58] dshaw_ has joined the channel [03:59] bicranial has joined the channel [03:59] Yuffster_work has joined the channel [04:01] snowinferno: I am writing a program, part of which requires the write-out of a file with a dynamic name. If the file already exists, rename it then write the new version. As far as I can tell, the only way I can do this asynchronously is by using the callbacks, but my roadblock is how to get the dynamic name into the callback. [04:02] snowinferno: does anybody know of a way I can get the dynamic file name into the callback? [04:03] JulioBarros has joined the channel [04:03] thepatr1ck has joined the channel [04:06] Daegalus: Has anyone used Mongolian Deadbeef? [04:12] blup has joined the channel [04:25] fangel has joined the channel [04:26] rchavik has joined the channel [04:34] jesusabdullah: I've never heard of it Daegalus [04:34] Daegalus: apparently its a MongoDB driver that trys to stick as close as possible to the Mongo Shell [04:37] temp01 has joined the channel [04:41] davidbanham has joined the channel [04:43] matyr has joined the channel [04:47] DennisRasmussen has joined the channel [04:49] astropirate has joined the channel [04:50] phluffy has joined the channel [04:57] micheil_mbp has joined the channel [04:58] vidi has joined the channel [05:01] eazyigz has joined the channel [05:02] sebastianedwards has joined the channel [05:02] jakehow__ has joined the channel [05:02] jakehow_ has joined the channel [05:02] jakehow has joined the channel [05:05] meatmanek has joined the channel [05:07] JulioBarros has joined the channel [05:08] snowinferno has joined the channel [05:09] indutny: ryah: committing late? :) [05:09] indutny: hi [05:11] snowinferno: Hi, is there usually a delay between when you write a file with fs.writeFile and when the callback gets executed? I'm writing a single line but I never see the console.log from the callback. [05:11] ryah: indutny: yep :) [05:12] JulioBarros has joined the channel [05:13] abiii has joined the channel [05:14] secoif has joined the channel [05:16] Charuru has joined the channel [05:17] CIA-69: node: 03isaacs 07master * ref523e5 10/ src/node_file.cc : fix test-fs-realpath - http://git.io/WOcNOQ [05:18] torsd has joined the channel [05:19] sivy has joined the channel [05:20] nXqd has joined the channel [05:22] nXqd: anyone here is successful in installing nodejs + npm in windows ? [05:22] mynyml has joined the channel [05:22] isaacs: nXqd: yeah, i've done that a few times [05:22] isaacs: oh, in windows [05:22] nXqd: sometimes, I switch to windows to playgames and being lazy to get back [05:22] isaacs: nvm [05:22] isaacs: nXqd: yeah, i'm working on making npm work on windows. ryah and piscisaureus and DrPizza are working on making node work on windows :) [05:22] nXqd: isaacs: woa, can you guide me through this ? [05:22] isaacs: and igorzi [05:23] isaacs: nXqd: it doesn't work yet. [05:23] isaacs: nXqd: many things are busted. [05:23] nXqd: wow, it's cool :) [05:23] isaacs: you can use Cygwin if you hate yourself, or you can get vmware or virtualbox and run linux in it [05:23] nXqd: I just see a little html code and I miss jade lang :P [05:24] toki_kanno_ has joined the channel [05:24] nXqd: I have linux dual boot, i don't love visualization much. I think I will wait for you guys :) [05:25] nXqd: does cygwin work well ? [05:25] tbranyen: just use linux on everything [05:25] tbranyen: your life will start to have deeper meaning [05:25] nXqd: tbranyen: I use linux most of my time but gaming holds me back :) [05:25] tbranyen: gaming is for children! [05:25] tbranyen: :-p [05:25] nXqd: xD [05:25] nXqd: :P [05:25] Daegalus: nXqd: Wine covers most games [05:26] tbranyen: and blows [05:26] Daegalus: unless they are games with hackshield/etc. [05:26] chjj: i would rather run cygwin on windows imo, vm too heavyweight [05:26] tbranyen: cygwin is so damn slow [05:26] chjj: cygwin works from what ive seen, as long as it gets the job done [05:26] Daegalus: tbranyen: not really, I play most games in it, it works same speed, if not faster. [05:26] nXqd: Daegalus: I don't think it will work with garena + warcraft III :) [05:26] snowinferno: Any ideas what would cause a large delay in a file write and the callback being executed? [05:27] nXqd: Daegalus: faster ? really ? I don't think it will be faster than in windows :) [05:27] nXqd: [05:27] chjj: are we talking about wine now? [05:27] Daegalus: nXqd: it can, and is at times. I have games that jsut work better. And I know WC3 works, not sure what garena is [05:28] tbranyen: install IIS via wine and run node though that [05:28] tbranyen: node.exe in wine xD [05:28] nXqd: xD [05:28] chjj: haha [05:28] nXqd: damn xD [05:28] chjj: im going to try that right now [05:28] tbranyen: same [05:28] chjj: wonder if its faster than node in cygwin [05:29] Daegalus: nXqd: http://appdb.winehq.org/objectManager.php?sClass=version&iId=14147&iTestingId=33770 seems GArena works just fine [05:29] tbranyen: welp [05:29] chjj: try wine -> cygwin -> node [05:29] tbranyen: http://sharefilewith.me/u/851893.png [05:29] steffkes has joined the channel [05:29] Daegalus: http://appdb.winehq.org/objectManager.php?sClass=application&iId=5335 for all the version compatiblity. But Gold compatibility is reall good for stuff like this [05:29] chjj: no wait, wine -> virtualbox -> linux -> wine -> cygwin -> node -> ive gone crosseyed [05:30] nXqd: Daegalus: really thanks you for that information. I'm gonna try it after lunch :d [05:30] Daegalus: no no, doing it wrong. Wine -> VMware -> Windows -> VirtualBox -> Linux -> Wine -> Node [05:30] nXqd: oh man xD xD [05:31] Daegalus: You know you are doing it right when you have a VM inside a VM [05:31] chjj: hehe [05:31] Daegalus: mmmm, time to setup a few basic Jade templates. [05:31] nXqd: it's too complicated let me makes it more simple : wine > wine > wine > wine > wine > ... {n} xD [05:32] Daegalus: nXqd: wine cant launch itself [05:32] nXqd: how about wmware ? [05:32] matyr has joined the channel [05:32] Daegalus: if its a Windows install of Vmware [05:33] Daegalus: im actually surprised people still play WC3 [05:33] Frippe has joined the channel [05:33] Daegalus: well then again, people still play the original SC [05:33] chjj: debian wheezy Y U NO HAVE WINE PACKAGE [05:33] snowinferno: I'm making a call to fs.writeFile, the file gets created but the data doesn't get written to the file and the callback never triggers. Does anybody have an idea of what could be going on? [05:33] snowinferno: this is in Linux if it matters [05:33] Daegalus: chjj: you need to add the wine repo [05:34] chjj: i know, i wish the wheezy repos would add wine 1.3 though :( [05:34] MUILTFN has joined the channel [05:35] nXqd: Daegalus: WC3 is still alive with dota :) [05:35] Daegalus: ehhhhh HoN > Dota [05:35] Daegalus: or Lo [05:35] Daegalus: LoL whichever you fancy [05:40] mikeal has joined the channel [05:42] MrNko has joined the channel [05:43] matyr has joined the channel [05:45] ptlo has joined the channel [05:48] astropirate has joined the channel [05:52] robbiet480 has left the channel [05:55] sirdancealot has joined the channel [05:57] mendel_ has joined the channel [05:58] javaanse_jongens has joined the channel [05:58] dividinglimits has joined the channel [05:59] ChrisPartridge has joined the channel [05:59] matyr_ has joined the channel [06:00] Yuffster_work has joined the channel [06:02] hij1nx has joined the channel [06:02] abiii has joined the channel [06:03] stephank has joined the channel [06:05] dgathright has joined the channel [06:06] stonebranch has joined the channel [06:06] arcthur has joined the channel [06:08] Daegalus: Whats really lacking atm for a lot of Node libraries [06:08] Daegalus: its proper documentation [06:08] dividinglimits has joined the channel [06:08] Daegalus: Im looking through Jade, and i am not quite sure how to use some of it, unless i try to figure it out from reading the source code [06:09] mraleph has joined the channel [06:10] eric_f has left the channel [06:10] jetienne_ has joined the channel [06:10] astropirate: Daegalus, lets do something about it :D [06:10] ditesh|cassini has joined the channel [06:11] Daegalus: i would, if I wasnt busy trying to figure out what i do after I compile a jade file with jade. I got var output = jade.compile(data). then output(locals); then I have no clue how to output the HTML so that I can send it as a response [06:11] boogyman has joined the channel [06:11] astropirate: sorry never used jade can't help ya [06:12] dmkbot: joyent/node: kingkaeru: on windows v0.5.3 fs.unlink() fails if called after fs.readFile() - https://github.com/joyent/node/issues/1449 [06:13] _boogyman has joined the channel [06:15] depy has joined the channel [06:17] Xano has joined the channel [06:18] TooTallNate: Daegalus: the result of 'output(locals)' is the compiled HTML [06:18] Daegalus: TooTallNate: thank you. [06:18] dividinglimits has joined the channel [06:18] TooTallNate: np [06:22] boogyman has joined the channel [06:23] depy: any1 can give me a good example when to use mediator pattern? I know how the observer pattern works (publish/subscribe) but I have no idea when to use mediator? [06:24] dividinglimits has joined the channel [06:24] FireFly has joined the channel [06:25] matyr has joined the channel [06:26] mikl has joined the channel [06:27] Daegalus: TooTallNate: do you happen to know why jade.renderFile says there is no such method? even though all the examples in the "examples" folder use it. [06:27] _boogyman has joined the channel [06:27] rchavik has joined the channel [06:27] rchavik has joined the channel [06:27] TooTallNate: Daegalus: I think tj may have removed it recently, in favor of reminding you to cached the compiled function [06:28] TooTallNate: not sure though [06:28] ph^ has joined the channel [06:28] TooTallNate: Daegalus: https://github.com/visionmedia/jade/blob/34966f60f73b8b7dec709fb9396e50613b977db2/lib/jade.js [06:28] TooTallNate: ;) [06:29] TooTallNate: err [06:29] TooTallNate: https://github.com/visionmedia/jade/commit/34966f60f73b8b7dec709fb9396e50613b977db2 [06:30] boaz has joined the channel [06:30] godzirra has joined the channel [06:31] godzirra: Hey guys. I'm using mongoose, and I'm connecting to my mongodb like so: mongodb://localhost/test. My question, is using hte mongo command line client, how do I access the same data? [06:31] CIA-69: libuv: 03Igor Zinkovsky 07master * rb90459f 10/ (include/uv-private/uv-win.h src/win/fs.c): windows: use _stati64 - http://git.io/LusXCQ [06:32] jetienne_: hi [06:32] jetienne_: godzirra: yes [06:32] SamuraiJack has joined the channel [06:32] Daegalus: TooTallNate: ok cool, it all works fine and dandy now. [06:32] jetienne_: godzirra: both access the same database server which is running on your box. [06:32] dividinglimits has joined the channel [06:33] godzirra: jetienne: Thats what I thought, but when I do this (which I thought was supposed to show everything in the database) it doesn't show anything. db.test.find().forEach(printjson); [06:33] godzirra: errr db.things.find().forEach(printjson); [06:33] jetienne_: godzirra: this is another matter :) [06:34] godzirra: well, thats the heart of my problem. ;) [06:35] CarterL has joined the channel [06:36] ivanfi has joined the channel [06:36] boogyman has joined the channel [06:38] `3rdEden has joined the channel [06:38] _boogyman has joined the channel [06:39] TheJH_phone has joined the channel [06:39] TheJH_phone has joined the channel [06:40] Drakonite has joined the channel [06:40] kdng-tr7 has joined the channel [06:41] dividinglimits has joined the channel [06:42] tomtomaso has joined the channel [06:43] binarychef has joined the channel [06:44] simenbrekken has joined the channel [06:44] kiffness has joined the channel [06:45] JWarm has joined the channel [06:45] JWarm: Hi guys, I'm trying to install node.js for the first time and I'm getting a SyntaxError when I run the ./configure [06:45] JWarm: Any help would be appreciated [06:46] godzirra: Anyone have any ideas about my mongodb issue? :) [06:46] jesusabdullah: So, I'm trying to port the couchdb views engine to node, and it hasn't been too bad so far but I'm starting to come up against a thing [06:47] jesusabdullah: Basically: Should I start bringing in mad dependencies, or keep it barebones? [06:47] emattias has joined the channel [06:47] SoulRaven has joined the channel [06:47] jesusabdullah: I was thinking about rewriting the logging system to use forever, for example [06:47] jesusabdullah: good or bad idea [06:47] jetienne_: barebone [06:48] jetienne_: if you want it to be used i mean :) [06:48] jesusabdullah: How come? [06:48] jesusabdullah: I don't necessarily disagree of course [06:48] jetienne_: the more deps you add, the less it gonna be sustainable [06:48] Nuck: OH GOD MY IPHONE HAS TITANIC'D [06:48] Nuck: No, seriously, it's syncing. [06:48] jetienne_: and people likes their code to be sustainable :) [06:49] jesusabdullah: Well, I'm not too worried about sustainability [06:49] jetienne_: 'do one thing and do it well' [06:49] jetienne_: if you dont care if it gonna be used or not [06:49] jetienne_: just do as you wish, nobody will complain :) [06:49] nXqd has joined the channel [06:49] thalll has joined the channel [06:51] chjj: jesusabdullah: my philosophy is, if your module is a library of some kind, ideally try to have no dependencies [06:52] jetienne_: it is something you depends on, it goes down, you go down [06:52] mike5w3c_ has joined the channel [06:53] matyr_ has joined the channel [06:53] mykul_ has joined the channel [06:53] Nuck: There are SOME constants we can rely on though [06:53] godzirra: I'm connecting to my mongodb in my node.js code like so: mongodb://localhost/test. My question, is using the mongodb command line client, how do I access the same data? I was trying something I saw in a tutorial, but its not working: db.things.find().forEach(printjson); [06:53] jetienne_: godzirra: try something else :) [06:53] Nuck: Things which are widely-adopted are more accepted [06:53] Nuck: godzirra: If it's all local, just do mongo [06:53] Nuck: And done [06:54] chjj: Nuck: i still dont think thats justification for having a library depend on underscore or something [06:54] jesusabdullah: hmm [06:54] godzirra: Nuck: in node.js? Or in the client? [06:54] Nuck: Fuck underscore [06:54] jesusabdullah: I'm not huge on underscore [06:54] Nuck: async.js <3 [06:54] jesusabdullah: because it's kind of a kitchen sink [06:54] JWarm: noob in need: I'm getting an error like this: "-pre" if node_is_release == "0" else "" SyntaxError: invalid syntax ….when I run ./configure in my node directory [06:54] jesusabdullah: a really awesome kitchen sink [06:54] jesusabdullah: but I like bathroom sinks [06:54] chjj: Nuck: sure, whatever, im just saying, a library shouldnt depend on other general purpose libs like that [06:54] nXqd: is mongodb the best in key-value db ? I concern speed and performance for medium project :) [06:54] nXqd: small and medium * [06:55] chjj: Nuck: i would never put out a module that depended on underscore or async or anything else [06:55] Nuck: nXqd: IT's not a key-value store [06:55] Nuck: It's a similar niche to MySQL [06:55] Nuck: It's a fully queryable database system [06:56] Nuck: Except, instead of using a relational setup, it takes an approach using JSON [06:56] jetienne_: nXqd: yes [06:56] Nuck: If you want a key-value store, nXqd, just use Redis [06:56] nXqd: thanks Nuck, my bad :( [06:56] godzirra: Nuck: in the node.js code, it works just fine. I just don't know how to access my data from the mongo command line client. [06:56] Prometheus: redis is more appropriate called a data structure server =) [06:56] Prometheus: not a key-value store, that does it no justice [06:56] Prometheus: s/appropriate/appropriately [06:56] Nuck: Prometheus: They asked for a good key-value store [06:57] Nuck: And that's what Redis is [06:57] jetienne_: they are all keyvalues guys come on [06:57] Nuck: godzirra: Probably can just use mongo in shell [06:57] nXqd: I'm thinking of using a small and fast db with key-value driven to my small proj. Relation db is overwhelm I think :) [06:57] edude03 has joined the channel [06:57] jetienne_: the rest is marketing [06:57] djcoin has joined the channel [06:57] chjj: damn, i hope linus beats john resig in followers [06:57] Nuck: jetienne: Not Mongo [06:57] Nuck: Mongo is an array [06:57] Nuck: So not at all [06:57] Nuck: Very un-key-value [06:57] godzirra: Nuck: I'm using mongo from the shell.. I'm in the client, I just don't know how to acces my data =p [06:57] chjj: 2.1k followers in a little over a day [06:57] Nuck: godzirra: Go learn the shell from mongly.com [06:57] jesusabdullah: Nuck: [ [key, value] ] ? [06:57] godzirra: Thanks. [06:58] jetienne_: chjj: you should see when he posts something on google plus :) [06:58] jesusabdullah: BAM key value store [06:58] groom has joined the channel [06:58] mraleph has joined the channel [06:58] godzirra: Thats' exactly what I needed. [06:58] godzirra: And no, thats not sarcasm. ;) [06:58] chjj: jetienne_: haha, i should start using google plus more [06:58] jetienne_: chjj: "going to the beach" give like 130 comments :) [06:58] chjj: jetienne_: rofl [06:58] den512 has joined the channel [06:58] chjj: he is the man himself, what do you expect [06:58] Nuck: jesusabdullah: Actually, you'd set it up as {'key': key, 'value': value} as an object [06:58] nXqd: honestly, at small and medium proj, I don't care it's relation or key-value. I think we just need something fast and reliable :D [06:59] Nuck: Then query for {'key' : key} [06:59] jetienne_: nXqd: the answer is yes :) [06:59] jesusabdullah: You can't store a list in yo' list? [06:59] jesusabdullah: weak [06:59] Prometheus: nXqd: got it, try some of the projects mentioned above and see which you like best [06:59] Nuck: jesusabdullah: I can do anything JSON can do [06:59] Nuck: But I can also query anything [06:59] nXqd: jetienne_: thanks xD I really want to see the cons and pros with two competitor redis vs mongodb when people discuss here [06:59] jesusabdullah: then JSON can do [ key, value ] [06:59] Nuck: Mongo is, simply put, Mongo + SQL [07:00] jesusabdullah: how many times over? [07:00] jesusabdullah: or is sql 0? [07:00] chjj: Nuck: " I can do anything JSON can do" -- quote of the century [07:00] jetienne_: nXqd: you shouldnt. take a day or two for each [07:00] Nuck: chjj: haha [07:01] jesusabdullah: couchjs communicates with the couchdb core with newline-termintated json via stdin and stdout [07:01] jesusabdullah: as it turns out [07:01] felixhummel has joined the channel [07:01] jetienne_: nXqd: the speed estimation you will get here are say... not reliable :) [07:01] jetienne_: nXqd: and 4 days ? what is it compare to the full length of your project [07:01] shapeshed has joined the channel [07:02] Nuck: Listening to The Dodos [07:02] Nuck: good music [07:02] nXqd: jetienne_: Actually, my proj doesn't need something that big but I just need something small and cool to play with. But if it's good so I can be used to it :) [07:03] nXqd: Nuck: youtube plz xD [07:03] Nuck: nXqd: Lrn2google [07:03] Nuck: The dodos [07:03] Nuck: The season [07:03] Nuck: The first song I heard from them [07:03] jetienne_: nXqd: in my opinion mongodb is more serious, and more likely to stay around for a long time. so more worthy to learn [07:03] jetienne_: going back to my work now :) [07:03] CIA-69: libuv: 03Igor Zinkovsky 07master * ra8017fd 10/ (src/win/fs.c test/test-fs.c): windows: update uv_fs_* functions to work with req.path - http://git.io/lgvUsw [07:03] Nuck: Mongo is the MySQL of NoSQL [07:03] boogyman has joined the channel [07:04] Nuck: It's got a query language, but it works on JSON [07:04] Nuck: Redis is very simple [07:04] Nuck: But for what it does, it is by far the best [07:04] nXqd: jetienne_: thansk for your time [07:04] Nuck: A simple key-value store [07:04] bicranial has left the channel [07:04] nXqd: thanks Nuck, i think redis is appropriate for my deadly simple proj :P [07:05] nXqd: see you guys later [07:05] nXqd: ACTION is listening to The Dodos - Walking - nice song :P [07:05] bicranial has joined the channel [07:05] fangel has joined the channel [07:05] Nuck: hehe [07:05] Nuck: nXqd: I just finished that song [07:05] dividinglimits has joined the channel [07:05] Nuck: Like, 5 seconds ago [07:05] nXqd: :D [07:06] Nuck: actually, 105 seconds [07:06] Nuck: ACTION picked up their album [07:06] Nuck: Visiter, to be exact [07:07] JWarm: Can anyone help with a node install? [07:07] sgimeno has joined the channel [07:07] abiii_ has joined the channel [07:08] _boogyman has joined the channel [07:10] astropirate: JWarm, whats your question? [07:11] kiffness has joined the channel [07:11] matyr has joined the channel [07:11] kdng-tr7 has left the channel [07:11] ablomen has joined the channel [07:13] dividinglimits has joined the channel [07:13] CIA-30 has joined the channel [07:14] While has joined the channel [07:14] mykul|Home has joined the channel [07:16] _boogyman has joined the channel [07:17] fangel has joined the channel [07:19] __doc__ has joined the channel [07:19] NetRoY has joined the channel [07:20] ericmuyser has joined the channel [07:21] Daegalus: Anyone might know why this doesnt work: https://gist.github.com/1194300 ? says the array is missing a ] but I dont see it [07:22] H4ns: Daegalus: you have a syntax error. the literal syntax for objects is {foo: bar}, not [foo: bar] [07:22] Nuck: I want to make a toaster print something :D [07:24] Daegalus: H4ns: awesome, that worked, thanks. Guess I got my arrays and objects confused [07:24] cachemoney has joined the channel [07:24] H4ns: Daegalus: yw. [07:25] eazyigz has joined the channel [07:25] topaxi has joined the channel [07:26] z6Dabrata has joined the channel [07:29] astropirate: JWarm, that sounds like an amazon issue not a node one. I have no idea why it disapeard [07:29] cosmincx has joined the channel [07:29] JWarm: So I'm just trying to reinstall again [07:29] phluffy has joined the channel [07:29] phluffy has joined the channel [07:30] JWarm: but I'm getting a syntax error [07:30] boogyman has joined the channel [07:31] astropirate: JWarm, what is the error? [07:31] dividinglimits has joined the channel [07:33] matyr_ has joined the channel [07:34] _boogyman has joined the channel [07:34] JWarm: "-pre" if node_is_release == "0" else "" SyntaxError: invalid syntax [07:35] boogyman has joined the channel [07:36] [AD]Turbo has joined the channel [07:36] Nuck: rut roh [07:36] Nuck: My countdown to Node > Rails died again :'( [07:36] Nuck: How I forever? [07:37] dexter_e_ has joined the channel [07:37] dexter_e has joined the channel [07:38] [AD]Turbo: hi there [07:43] dmkbot: joyent/node: Kos: Misleading console output for arrays with undefined - https://github.com/joyent/node/issues/1651 [07:46] christophsturm has joined the channel [07:47] blup has joined the channel [07:50] mykul|Home has joined the channel [07:51] bergie has joined the channel [07:52] XniX23_ has joined the channel [07:52] deimos has joined the channel [07:53] fangel has joined the channel [07:53] eazyigz has joined the channel [07:54] slifty has joined the channel [07:55] FireyFly|n900 has joined the channel [07:55] markwubben has joined the channel [07:57] adambeynon has joined the channel [07:59] serbo has joined the channel [07:59] Daegalus has joined the channel [08:00] mhauri has joined the channel [08:00] Druid_ has joined the channel [08:01] mynameisbender has joined the channel [08:01] matyr has joined the channel [08:03] godzirra: Bleh. I can't figure out why mongoose refuses to update my doc. [08:03] replore has joined the channel [08:03] replore_ has joined the channel [08:03] eazyigz has joined the channel [08:04] skunkape has joined the channel [08:04] skunkape: does anyone know how to use express methodOverride on a link to delete an item? [08:05] aaronmcadam has joined the channel [08:06] skunkape: I want the delete action to "DELETE /blog/:id" but when I click on the link, it send "GET /blog/:id". [08:06] andree has joined the channel [08:07] AAA_awright: skunkape: I don't think web browsers send DELETE [08:07] AAA_awright: You have to use POST [08:07] whitman has joined the channel [08:08] abraxas: Does anyone have any advice on how to implement cluster when it's not in the main js-file of your app? I'm having very odd problems. [08:09] webben: skunkape: use a form, use POST http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.5 , use a button, style the button to look like a link with CSS if you must [08:10] skunkape: AAA_awrite, correct. the browser doesn't "PUT" either. I was able to use methodOverride to override POST to a PUT by using a hidden input with the name "_method". How can I use methodOverride on a link to delete an item. without needing a form? [08:10] abraxas: I'm probably doing it wrong, but I find the docks lacking. [08:10] abraxas: docs [08:10] AAA_awright: skunkape: You can't. You never, ever use GET to delete something [08:11] AAA_awright: Or edit something, or even log a user out, don't do it [08:11] skunkape: AAA_awright, you misunderstand [08:11] jomoho has joined the channel [08:11] _kud has joined the channel [08:12] dividinglimits has joined the channel [08:12] AAA_awright: Links don't change the state of the webserver, you shouldn't have a "delete" link, unless it redirects you to a page that has a "Are you sure you want to delete?" button+form [08:12] skunkape: webben, do I have to use a form to get methodOverride to work? [08:12] fangel has joined the channel [08:13] skunkape: AAA_awright, you are talking about the olden times when such a simple task required a dedicated page. [08:13] AAA_awright: It's a UI thing and a technical thing, a GET request MUST NOT change the state of a web server, you can't override it [08:13] skunkape: that simple "confirm" can be easily wrapped into a javascript widget that can run on any webpage [08:14] AAA_awright: And it's a UI thing because people have to know clicking links won't make any state changes, only buttons will [08:14] tiagobutzke has joined the channel [08:15] AAA_awright: If you have a form, you have "Save" as a button and "Cancel" as a link, most people get that right but it's amazing how many people want to make "Cancel" a button too [08:16] ph^ has joined the channel [08:17] webben: skunkape: You definitely shouldn't use a link for a delete action. [08:17] AAA_awright: skunkape: If you have a small pop-up when you click a link that shows a button, that works [08:17] webben: skunkape: Since clients may automatically request such links assuming they're safe. [08:18] webben: skunkape: This is how a load of Rails sites had Google Web Accelerator start deleting their records.... [08:18] farhadi has joined the channel [08:18] sriley has joined the channel [08:18] webben: skunkape: Ignore the fundamental protocols of the web at your peril. [08:18] thalll has joined the channel [08:18] hackband has joined the channel [08:19] webben: skunkape: methodOverride as you put it is purely a matter of how the server chooses to interpret the request (incorrectly, if used on a GET). it's meaningless to clients [08:20] skunkape: lol, thanks guys. so if I if I have a link that triggers something like if(confirm(blah){.. will that be acceptable? [08:20] webben: skunkape: http://blog.moertel.com/articles/2005/10/25/google-web-accelerator-vs-unsafe-linking-round-two [08:21] webben: skunkape: Well that would be less likely to break so catastrophically, but also introduces entirely unnecessary JS dependence, so is still failsome. [08:21] webben: (and you're still using a UI for a non-destructive action for a destructive action) [08:21] Sebastien-L has joined the channel [08:22] bergelmir has joined the channel [08:22] bergelmir has joined the channel [08:23] booo has joined the channel [08:23] skunkape: webben, I see your point. thanks for the tips guys [08:23] AAA_awright: skunkape: Just don't do it. Don't even style buttons to look like links and vice versa even if it does send the correct method. Delete/save/create actions are for buttons, loading information is for links. [08:24] JaKWaC has joined the channel [08:24] kiffness has joined the channel [08:24] webben: skunkape: any time [08:24] ttpva has joined the channel [08:25] zackattack has joined the channel [08:25] dexter_e has joined the channel [08:26] [AD]Turbo has joined the channel [08:26] frega has joined the channel [08:27] farhadi has left the channel [08:30] zemanel has joined the channel [08:30] temp02 has joined the channel [08:33] abraxas: With cluster, should I really replace everything I normally use httpServer for, by the cluster? Like, if I attach a Socket.IO on it...? [08:34] abraxas has left the channel [08:34] abraxas has joined the channel [08:34] abraxas has left the channel [08:34] kiffness has joined the channel [08:35] christophsturm has joined the channel [08:35] godzirra: Can anyone show me an example of updating a record with mongoose? Mine isn't working. [08:35] zackattack has joined the channel [08:35] zackattack: How can I profile my Node app to see where I'm using up memory and CPU resources? [08:36] zackattack: I posted more details about this Question on StackOverflow: http://stackoverflow.com/questions/7305613/how-can-i-profile-my-node-app-to-see-where-im-using-up-memory-and-cpu-resources [08:36] mpavel has joined the channel [08:36] jetienne_ has joined the channel [08:39] sfoster has joined the channel [08:40] H4ns: zackattack: not a real answer, but did you look at dtrace to maybe narrow down your search yet? [08:40] ditesh|cassini has joined the channel [08:40] zackattack: What's dtrace? [08:40] jetienne: a solaris thing :) [08:40] christophsturm: zackattack: node has a built in profiler [08:40] TomY has joined the channel [08:40] H4ns: dtrace is a tracing framework that is supported by node, too. [08:40] avalanche123 has joined the channel [08:43] Glenjamin: node-inspector + v8-profiler seems to work reasonably well for profiling [08:44] TheJH_phone has joined the channel [08:44] zackattack: node-inspector, v8-profiler, and dtrace, the tracing ramework for solaris that's supported by node. Those are my best bets, eh? [08:46] zackattack: Thanks! [08:46] pointlessjon has joined the channel [08:46] zackattack: I'll pass that info on to my squad. [08:46] jspiros has joined the channel [08:47] zackattack: Glenjamin: upvoted. [08:48] Glenjamin: i'm not too fussed about stackoverflow score, it's just nice to have these things written down and googleable :) [08:48] markwubben has joined the channel [08:49] hellp has joined the channel [08:49] jbpros has joined the channel [08:50] zackattack: :) [08:50] anubhaw has joined the channel [08:50] levi501d has joined the channel [08:50] zackattack: Well, *I* always appreciate acknowledgment. [08:51] luke` has joined the channel [08:51] kiffness has joined the channel [08:52] kiffness_ has joined the channel [08:54] balaa has joined the channel [08:54] abraxas has joined the channel [08:55] abraxas: With cluster, should I really replace everything I normally use httpServer for, by the cluster? Like, if I attach a Socket.IO on it…? [08:55] zackattack: OK, folks, battery's about to die. Thanks for your help. Shout-outs to jetienne H4ns chrisbuchholz and Glenjamin , and abraxas too :) [08:55] kuebk has joined the channel [08:56] `3rdEden: abraxas no socket.io does not work [08:57] `3rdEden: when you cluster it* [08:57] abraxas: Are you serious? [08:57] `3rdEden: Yes [08:57] abraxas: Both projects are from the same people. [08:57] `3rdEden: Yes because I work on socket.io [08:57] `3rdEden: so I'm pretty sure [08:57] `3rdEden: it doesn't work [08:57] `3rdEden: ;D [08:57] `3rdEden: It doesn't work (YET) [08:58] abraxas: I'm very curious about this "YET" :) [08:58] `3rdEden: because http polling needs to go to the same server it started with [08:58] pen has joined the channel [08:58] `3rdEden: because other node processes are not aware of the sessions ids [08:58] `3rdEden: but we plan on changing that by introducing a Redis backed storage engine [08:58] pen has joined the channel [08:59] `3rdEden: this will pub/sub & replicate details across multiple process [08:59] pen has joined the channel [08:59] abraxas: Why not use IPC? [08:59] sriley: that would only affect polling right? websocket, flash proxy etc would be fine [08:59] `3rdEden: abraxas state sharing [08:59] `3rdEden: Socket.io's client objects also have get/set methods [09:00] `3rdEden: so you can store values and still have them accessible across different processes [09:00] garrensm_: does socket.io work on mobile phones? [09:00] Xano has joined the channel [09:00] pen has joined the channel [09:00] `3rdEden: yes [09:00] pen has joined the channel [09:01] `3rdEden: depending on the phone ofcourse [09:01] `3rdEden: phones without javascript wont work ;) [09:01] pen has joined the channel [09:01] `3rdEden: but decent smart phones are working [09:01] `3rdEden: either using xhr-polling or with WebSockets (depends on you phone's platform) [09:01] pen has joined the channel [09:01] radiodario has joined the channel [09:02] kulor-uk has joined the channel [09:02] pen has joined the channel [09:04] abraxas: Is there a way to replace Socket.IO's sessions with our own? Because our sessions are already cross-server. [09:04] kiffness has joined the channel [09:06] abraxas: We currently use 2 sessions. Socket.IO's, and our own… kinda redundant it seems. [09:06] `3rdEden: abraxas they are `connection` sessions [09:06] pen has joined the channel [09:06] `3rdEden: not the regular connect / express sessions [09:06] abraxas: Right, it's true… it's not exactly the same. [09:07] pen has joined the channel [09:07] pen has joined the channel [09:07] avalanche123: is anyone from joyent here? my mating is not ssh-able and the node service is down [09:08] avalanche123: this is for our knockout entry - we just got our first one start review because of that [09:08] avalanche123: stupid autocorrect, the machine is down that is :) [09:08] abraxas: `3rdEden: any idea on when Socket.IO would be compatible with Cluster? Of course there's no exact date, but .. ballpark? [09:09] piscisaureus_ has joined the channel [09:09] H4ns: did anyone here look at libuv yet? will the existing extension interface (i.e. libev and libeio) still be available in the libuv based node? [09:09] eazyigz has joined the channel [09:13] pen has joined the channel [09:13] abraxas: `3rdEden: and would you use this redis setup also for storing queued up responses? [09:19] FireFly|n900 has joined the channel [09:19] garrensm_: `3rdEden: so will socket.io work on blackberrys iphones and android pretty much? [09:20] meatmanek has joined the channel [09:20] uho has joined the channel [09:21] adambeynon has joined the channel [09:22] matyr has joined the channel [09:23] mape_ has joined the channel [09:23] mape_ has joined the channel [09:23] toki_kanno_ has joined the channel [09:24] abiii has joined the channel [09:24] rendar has joined the channel [09:24] mape_ has joined the channel [09:25] meatmanek_ has joined the channel [09:25] Net_RoY has joined the channel [09:26] dexter_e has joined the channel [09:26] dexter_e_ has joined the channel [09:26] Margle has joined the channel [09:26] Voxxit has joined the channel [09:26] kiffness has joined the channel [09:27] Voxxit has left the channel [09:27] fangel has joined the channel [09:28] dob_ has joined the channel [09:28] kiffness has joined the channel [09:28] skm has joined the channel [09:28] `3rdEden: abraxas idk if queue it up in redis [09:30] ttpva: do I need to create a model using Mongoose in order to use find()? [09:30] mape has joined the channel [09:31] dob_: ttpva: As far as i know, yes! [09:32] ttpva: but having to use schemas, isn't it a bit against what MongoDB should be? [09:32] cachemoney has joined the channel [09:32] kiffness has joined the channel [09:33] MUILTFN has joined the channel [09:33] sgimeno has joined the channel [09:33] dob_: ttpva: not really. It's not a real schema. It's a abstraction layer. [09:34] dob_: ttpva: I am always creating documents of nearly the same type and want to order or search by this type. Escpecially i also develop object oriented in my code and want to use mongodb as my persistence layer. [09:34] kiffness_ has joined the channel [09:35] Margle has joined the channel [09:35] ttpva: ok dob_. thanks [09:37] dividinglimits has joined the channel [09:40] boehm has joined the channel [09:40] dividinglimits has joined the channel [09:40] chrisbuchholz: I have added, in my setup.py, data_files=('man/man1',['man/man1/stonebear.1']), and i see the man/man1/stonebear.1 getting included in MANIFEST, but it still doesnt show up anywhere when i install my application. Shouldnt it be put somewhere in /usr/local? [09:41] Margle has joined the channel [09:42] _boogyman has joined the channel [09:42] mikl has joined the channel [09:43] zeiris has joined the channel [09:44] boogyman has joined the channel [09:44] kiffness has joined the channel [09:46] kiffness has joined the channel [09:46] Marak: does anyone like writing tests? [09:46] jetienne: https://github.com/jeromeetienne/MicroCache.js houray new microlibrary [09:46] dividinglimits has joined the channel [09:46] SoulRaven has joined the channel [09:46] H4ns: Marak: i usually do [09:46] kwk has joined the channel [09:47] hackband has joined the channel [09:47] Marak: H4ns: https://github.com/hookio/hook.io/issues/56 :-D [09:47] Marak: it does get harder then writing tests for a distributed event emitter [09:47] Marak: doesnt* [09:48] Marak: writing the tests is hard then the code [09:48] H4ns: Marak: ah, oh well. i've been to terse, so here: "i usually like writing tests for code that i write" [09:48] H4ns: too* [09:48] H4ns: :) [09:48] Marak: ahahaha [09:48] Marak: i need tests for other people [09:50] kwk has left the channel [09:51] eldios has joined the channel [09:51] dividinglimits has joined the channel [09:53] abraxas: Is anyone else experiencing issues when trying to install websocket-client? [09:53] kiffness has joined the channel [09:54] uchuff has joined the channel [09:55] jetienne: $ nmod install websocket-client <- this just worked [09:56] dpritchett has joined the channel [09:57] a_meteorite has joined the channel [09:57] v3ctR has joined the channel [09:58] incon has joined the channel [10:01] booo has joined the channel [10:02] Margle has joined the channel [10:03] abraxas: jetienne: thanks [10:04] adambeynon has joined the channel [10:04] abraxas: jetienne: can you tell me which OS and nodejs version you used with that? [10:04] grekko has joined the channel [10:05] abraxas: jetienne: I get an assertion error.. but those aren't very descriptive [10:05] eazyigz has joined the channel [10:05] `3rdEden: which os abraxas? [10:05] adambeynon has joined the channel [10:05] `3rdEden: are you using centos? [10:06] abraxas: yes [10:06] abraxas: I am [10:08] dexter_e_ has joined the channel [10:08] dexter_e has joined the channel [10:09] mikl has joined the channel [10:09] N0va has joined the channel [10:09] abraxas: Is this a tar version issue by any chance? [10:10] burningdog has joined the channel [10:10] fangel has joined the channel [10:10] `3rdEden: yup [10:10] `3rdEden: if you upgrade to latest verion [10:10] `3rdEden: its done [10:11] abraxas: lol, this is funny... [10:12] kiffness has joined the channel [10:12] Glenjamin: jetienne: any plans to add expiry/size management to that cache thing? [10:14] jetienne: Glenjamin: hmm not really. i would like to keep it simple [10:14] jetienne: true that it is super simple to add tho... [10:15] Nuck|mobile has joined the channel [10:15] Glenjamin: cache expiry is the hard one [10:15] Glenjamin: emptying is easy enough, LRU is harder [10:15] Nuck|mobile: God I always forget #startups is filled with critical assholes. [10:15] jetienne: oh no, no lru and such [10:15] Glenjamin: I had a similar thing in use then I'd empty at ~600MB and it didn't always seem to get reclaimed by the GC [10:15] Nuck|mobile: Why the fuck I still go in there is beyond me [10:16] jetienne: Glenjamin: in my case it is to keep track of which textures i push in the gpu for webgl [10:16] jetienne: Glenjamin: so no lru or timeout :) [10:16] cjroebuck has joined the channel [10:16] Glenjamin: so now when we get into enough memory use that GC cycles get low we just restart the process :D [10:16] Glenjamin: s/low/slow/ [10:16] jetienne: Glenjamin: hehe foolproof [10:17] jetienne: Glenjamin: you check circular dependancies ? [10:17] Glenjamin: there's something quite conforting about a process which is designed to retsart easily [10:17] Glenjamin: jetienne: how do you mean? [10:17] jetienne: Glenjamin: in theory, gc should get rid of it. so "why it doesnt" is the question [10:18] jetienne: Glenjamin: and it could be because you got circular dependancies, so the gc bails out [10:18] CStumph has joined the channel [10:18] Voxxit has joined the channel [10:18] Voxxit has left the channel [10:19] Glenjamin: seems the most likely, each element in the cache was supposed to be self contained and use the cache to fetch parents/children [10:20] Glenjamin: we're probably going to move the caching to something out-of-process at some point anyway, so not too worried [10:20] jetienne: Glenjamin: ok cool :) [10:20] dmkbot: joyent/node: Kos: Misleading console output for arrays with undefined - https://github.com/joyent/node/issues/1651 [10:22] kiffness has joined the channel [10:22] idefine has joined the channel [10:24] matyr has joined the channel [10:24] Margle has joined the channel [10:25] core00 has joined the channel [10:25] core00 has left the channel [10:26] Emmanuel_ has joined the channel [10:27] confoocious has joined the channel [10:27] confoocious has joined the channel [10:27] dmkbot: joyent/node: Skomski: Added new win32 platform function: getNetworkInterfaces() - https://github.com/joyent/node/issues/1652 [10:30] Croms has joined the channel [10:30] andrewfff has joined the channel [10:31] FireFly|n900 has joined the channel [10:31] nforgerit has joined the channel [10:32] nforgerit has left the channel [10:32] kiffness has joined the channel [10:33] matyr_ has joined the channel [10:34] nforgerit has joined the channel [10:34] kiffness has joined the channel [10:37] matyr has joined the channel [10:38] kiffness has joined the channel [10:38] thalll has joined the channel [10:39] kulor-uk has joined the channel [10:39] bogomips has joined the channel [10:43] Voxxit has joined the channel [10:43] kiffness has joined the channel [10:43] Voxxit has left the channel [10:46] kiffness has joined the channel [10:49] dmkbot: joyent/node: Skomski: Added new win32 platform function: getNetworkInterfaces() - https://github.com/joyent/node/issues/1652 [10:51] dmkbot: joyent/node: Skomski: Added new win32 platform function: getNetworkInterfaces() - https://github.com/joyent/node/issues/1652 [10:52] kiffness has joined the channel [10:53] matyr_ has joined the channel [10:55] kiffness_ has joined the channel [10:56] fangel has joined the channel [10:58] sfoster: I'm getting a "Can't render headers after they are sent to the client" error. This is an express app using http-proxy to do reverse proxying [10:59] sfoster: the error is a result of a request timing out. That's fine, but it shouldn't kill my server, and it shouldn't be attempting to render headers after they are already sent. [10:59] sfoster: I'm thinking I messed up configuring my middleware somehow? [11:00] fly-away has joined the channel [11:03] kiffness has joined the channel [11:03] eldios: sfoster, you're proably doing a double-render request somewhere [11:05] sfoster: I think this error exposes my total ignorance of how the middleware and its config actually works. [11:05] sfoster: is there a good writeup of that somewhere? The docs aren't enlightening they assume I'm already familiar with this concept from Sinatra or something [11:06] adrianmg has joined the channel [11:10] mc_greeny has joined the channel [11:11] booo has joined the channel [11:14] adrianmg has joined the channel [11:15] junkee[] has joined the channel [11:19] davidbanham has joined the channel [11:20] kiffness_ has joined the channel [11:23] hlindset_ has joined the channel [11:23] bnoordhuis has joined the channel [11:23] sebastianedwards has joined the channel [11:23] beawesomeinstead has joined the channel [11:27] kiffness has joined the channel [11:27] pen has joined the channel [11:34] Croms has joined the channel [11:36] dmkbot: joyent/node: Skomski: Added new win32 platform function: getNetworkInterfaces() - https://github.com/joyent/node/issues/1652 [11:37] kiffness has joined the channel [11:38] CStumph has joined the channel [11:38] _kud has joined the channel [11:39] mikedeboer has joined the channel [11:40] dmkbot: joyent/node: Skomski: Added new win32 platform function: getNetworkInterfaces() - https://github.com/joyent/node/issues/1652 [11:41] kiffness has joined the channel [11:42] industrial: microsofties wanna play too :D [11:42] thalll has joined the channel [11:42] industrial: (too scared to move to *nix to run it?) [11:45] dmkbot: joyent/node: Skomski: Added new win32 platform function: getNetworkInterfaces() - https://github.com/joyent/node/issues/1652 [11:45] kulor-uk has joined the channel [11:46] dmkbot: joyent/node: Skomski: Added new win32 platform function: getNetworkInterfaces() - https://github.com/joyent/node/issues/1652 [11:47] NegativeK has joined the channel [11:48] rfay has joined the channel [11:49] daed has joined the channel [11:52] kiffness_ has joined the channel [11:53] dmkbot: joyent/node: Skomski: Added new win32 platform function: getNetworkInterfaces() - https://github.com/joyent/node/issues/1652 [11:54] cognominal has joined the channel [11:55] kiffness_ has joined the channel [11:58] kiffness has joined the channel [12:00] kiffness has joined the channel [12:01] simenbrekken: Can anyone recommend a good SSL cert provider? [12:01] bnoordhuis: diginotar! [12:01] jobim: :) [12:01] H4ns: simenbrekken: selfssl.com worked for me. i chose it for the low price and ease of use. [12:02] kulor-uk has joined the channel [12:02] simenbrekken: H4ns: it's ze german! [12:02] H4ns: simenbrekken: damn! [12:03] cjroebuck has joined the channel [12:05] kulor-uk has joined the channel [12:05] micheil has joined the channel [12:10] boehm has joined the channel [12:11] kiffness has joined the channel [12:11] mynameisbender has joined the channel [12:14] kiffness_ has joined the channel [12:15] fairwinds has joined the channel [12:15] micheil has joined the channel [12:16] hackband_ has joined the channel [12:20] replore has joined the channel [12:20] replore_ has joined the channel [12:20] kiffness has joined the channel [12:20] spcshpopr8r has joined the channel [12:24] hydrozen has joined the channel [12:26] ditesh|cassini has joined the channel [12:27] dmkbot has joined the channel [12:30] CarterL has joined the channel [12:30] hdon has joined the channel [12:31] c4milo1 has joined the channel [12:32] dmkbot has joined the channel [12:35] kiffness has joined the channel [12:37] kulor-uk has joined the channel [12:39] adambeynon has joined the channel [12:41] kiffness has joined the channel [12:44] XniX23 has joined the channel [12:46] kiffness_ has joined the channel [12:48] MUILTFN has joined the channel [12:50] MrTopf has joined the channel [12:53] mike5w3c_ has joined the channel [12:53] kiffness has joined the channel [12:53] SvenDowideit has joined the channel [12:53] etienne has joined the channel [12:54] agnat_ has joined the channel [12:56] etienne: hi everyone, just one simple question, I would like to use sugarjs with nodejs. I have installed sugarjs via npm, add the line which declare that I requite sugarjs in my file, but after that, I'm confused. How can I use it? var sugar = require('sugar'); myObject.isFunction() doesn't work :-/ any idea? [12:57] kiffness has joined the channel [12:58] raphdg has joined the channel [12:59] tcurdt has joined the channel [12:59] kiffness_ has joined the channel [13:00] grekko has joined the channel [13:03] ilya has joined the channel [13:03] ilya: hi [13:03] ilya: I can see that node uses libev, however I cannot see libev on the dpendency list [13:04] ilya: and macports give me an error: Error: Target org.macports.configure returned: libev is installed [13:04] kriszyp has joined the channel [13:05] kiffness has joined the channel [13:05] ilya: so node has an in-tree version of libev, right ? [13:05] etienne_ has joined the channel [13:06] kmox83 has joined the channel [13:07] __sorin__ has joined the channel [13:08] kiffness has joined the channel [13:08] bnoordhuis: ilya: that's correct [13:08] icebox has joined the channel [13:09] ilya: :) [13:09] ilya: and can I uninstall libev on mac and let ports install node [13:09] versicolor has joined the channel [13:09] ilya: and other apps will use libev built as part of node ? [13:10] kiffness_ has joined the channel [13:11] JulioBarros has joined the channel [13:12] soapyillusions has joined the channel [13:12] Silex has joined the channel [13:13] bnoordhuis: ilya: that probably won't work [13:13] Silex: hi, in the source there's a cmake's CMakeLists.txt, a waf's wscript, and make's makefile. Can someone explain why all 3? [13:14] kiffness_ has joined the channel [13:15] fairwinds has joined the channel [13:16] FireyFly|n900 has joined the channel [13:17] bnoordhuis: Silex: we like build systems [13:18] bnoordhuis: Silex: in master we have gyp files too now so that makes 4 [13:18] Silex: bnoordhuis: hehe, so changing something requires changes in 4 places? neat :) [13:19] Silex: okay, thanks for the info [13:19] bnoordhuis: Silex: it was tongue in cheek [13:19] bnoordhuis: Silex: well mostly anyway [13:19] kiffness has joined the channel [13:19] bnoordhuis: Silex: the cmake files are for webos, waf is the real build system and the makefile is for convenience so people can just type `make` [13:20] bnoordhuis: Silex: but we're moving to gyp eventually [13:20] Frippe_ has joined the channel [13:20] pandeiro has joined the channel [13:21] kiffness has joined the channel [13:21] Silex: bnoordhuis: okay... so gyp is what you think is best, okay [13:21] Silex: for my projects I moved from scons to cmake, and now I'm considering waf [13:21] Silex: but I'll add gyp to the considerations list :) [13:21] bnoordhuis: Silex: stick to scons or cmake, waf is one giant clusterfuck [13:21] bnoordhuis: pardon my french [13:22] Silex: yeah? based on the documentation is looks pretty neat [13:22] Frippe has joined the channel [13:22] jobim: Une fuck dans clustre! [13:22] c4milo1 has left the channel [13:22] kiffness has joined the channel [13:23] bnoordhuis: Silex: it's not - every time i change the wscript, things break with obscure error messages that i have to read the waf source for to understand what's going on [13:23] bnoordhuis: i hate waf with a passion >:( [13:23] Silex: bnoordhuis: oh, the implementation sucks... ok [13:24] kiffness has joined the channel [13:25] Silex: I think cmake's syntax is horrendous, but it's maturity is sexy, stuffs just works and the features are nice. Scons is nicer in theory but in practice the doc is unclear, you have to create everything yourself and reusing other's stuffs is always bound to some debugging first [13:25] Silex: I had thought waf would be my savior but apparently not :) [13:25] JumpMast3r has joined the channel [13:26] nimstr has joined the channel [13:26] nimstr has joined the channel [13:27] bnoordhuis: Silex: i kind of like cmake but what gyp has going for it, is that it's able to generate decent project files for msvc [13:27] bnoordhuis: makes the windows guys on our team happy [13:28] Silex: gyp looks... funny and isn't it too restrictful about what you can do? [13:28] bnoordhuis: Silex: depends - what do you want to do? [13:28] Silex: yeah, cmake's project generation is boring, as soon as you do smart stuffs all it can do is "make" inside msvc without being able to load the errors in the IDE or debug-attach to executable [13:29] Silex: bnoordhuis: stuffs like library finders, build external dependencies.. [13:29] Silex: run some tests etc [13:30] bnoordhuis: right, we did have to add some python glue code [13:31] bnoordhuis: another drawback is that support for non-windows/linux/mac is practically non-existent [13:31] bnoordhuis: i still have to finish up the sunos support and forward it upstream :/ [13:31] mrdoodles has joined the channel [13:31] igl has joined the channel [13:31] kiffness has joined the channel [13:32] kiffness_ has joined the channel [13:33] Deegie has joined the channel [13:34] kiffness_ has joined the channel [13:36] Silex: alright, thanks for the infos [13:37] Silex: out of curiosity, why did the move to scons failed? this seems to have happenned to several projects [13:38] c4milo1 has joined the channel [13:39] kenperkins has joined the channel [13:40] bnoordhuis: Silex: you know, i'm not sure - it was never considered [13:40] bnoordhuis: two guys on the team fervently hate scons so it was not really a matter of discussion :) [13:40] kuebk: j0 [13:40] kuebk: have a question about net.Socket [13:41] kuebk: i have a server, lets call it A [13:41] kuebk: and a client, lets call it B [13:41] kuebk: B creates connects to the socket of A [13:41] Silex: bnoordhuis: "Ability to incrementally transition on Windows. It took us about 6 months [13:41] Silex: to switch fully to gyp. Previous attempts to move to scons had taken a long [13:41] Silex: time and failed, due to the requirement to transition while in flight." [13:41] Silex: in the CmakeVsGyp wiki entry [13:41] kuebk: B connects to the socket of A* [13:42] N0va has joined the channel [13:42] kiffness has joined the channel [13:42] kuebk: and keeps the connection [13:42] kuebk: I mean doesn't create new connection everytime the data is needed from A [13:43] kuebk: but on B I do end() [13:43] kuebk: the A doesn't accepts more connections [13:43] kuebk: how should I solve this? [13:46] kiffness_ has joined the channel [13:47] bnoordhuis: kuebk: don't call .end(), it shuts down the socket [13:49] boogyman has joined the channel [13:49] _kud has joined the channel [13:53] Poetro has joined the channel [13:53] Poetro has joined the channel [13:53] kiffness has joined the channel [13:55] zemanel has joined the channel [13:56] Margle has joined the channel [14:00] crash82 has joined the channel [14:01] boaz has joined the channel [14:02] DrMcKay has joined the channel [14:04] kiffness_ has joined the channel [14:05] kiffness_ has joined the channel [14:05] DrMcKay: wait, what? [14:05] DrMcKay: node.php?! [14:06] tuhoojabotti: ;DD [14:06] DrMcKay: bnoordhuis: you're trolling, right? [14:06] kuebk: bnoordhuis ok [14:06] kuebk: but when I only use write [14:06] kuebk: at some point [14:06] tuhoojabotti: node-php [14:06] kuebk: I'm not getting correct data [14:07] tuhoojabotti: Inline PHP Server Running on Node.js ;D [14:07] DrMcKay: tuhoojabotti: https://github.com/bnoordhuis/node.php [14:07] tuhoojabotti: async php :D [14:08] tuhoojabotti: Did you just tell me to fuck myself? [14:08] thinkt4nk has joined the channel [14:08] DrMcKay: no, he *has* to be trolling us. [14:08] DrMcKay: right? [14:08] bnoordhuis: hahaha [14:08] tuhoojabotti: Ok. [14:08] ilya: does anyone run their code as bytcode in node ? [14:08] bnoordhuis: awesome innit? [14:08] random123: It is sort of pushed that you should use "exports" instead of "global" to share variable/state between modules if you split up your app, however using exports is lacking some behavior, you can't actually modify them? [14:08] bnoordhuis: it's a side project of piscisaureus and me [14:08] ilya: I mean .. does node support compile/exec bytecode or some sort of caching ... ? [14:08] tuhoojabotti: bnoordhuis: You really made me laugh. [14:08] ilya: just to know ... [14:08] tbranyen: yo sup ilya [14:09] ilya: not sure if it makes huge sense [14:09] tuhoojabotti: ilya: Don't think so, v8 does the job for you. [14:09] DrMcKay: bnoordhuis: my eyes hurt now. and it's because of you. [14:09] tuhoojabotti: ilya: Better not think about that. [14:09] DrMcKay: my head hurts. [14:09] tbranyen: bnoordhuis: why why why why [14:09] piscisaureus: tuhoojabotti: yes, we do it for the trolling karma [14:09] ilya: lol [14:09] tbranyen: i guess it ahd to be done [14:09] bergie has joined the channel [14:09] piscisaureus: we even figured that php trunk already contains ryah's http parser [14:10] DrMcKay: but it's a blasphemy! [14:10] ilya: i can see in node.gyp there is a list of all 'lib/*.js' files and it says 'v8_use_snapshot' [14:10] bnoordhuis: i come from a land of atheists! [14:10] bnoordhuis: ilya: v8 snapshotting is something that makes the vm start up quicker [14:10] DrMcKay: bnoordhuis: I believe node is actually a religion [14:11] tuhoojabotti: I come from the land downunder [14:11] tuhoojabotti: For those who live in Australia. [14:11] DrMcKay: lol [14:11] ilya: ah, ok .. so that's a good thing then [14:11] bnoordhuis: ilya: only if you like fast start-up times [14:11] ilya: but one might as well do suspend-to-ram or hybernate [14:11] ilya: in the os [14:12] ilya: provided the app doesn't crash :() [14:12] tuhoojabotti: ilya: it's better not worry about stuff, just write code and let other people do the worrying. :3 [14:12] ilya: ok ok [14:12] bnoordhuis: ilya: in a nutshell: string, array, date, etc. are real javascript classes in v8, not just stubs for the c implementation [14:12] pkrumins: New blog post! We open-sourced 90 node.js modules at Browserling! http://www.catonmat.net/blog/browserling-open-sources-90-node-modules/ [14:13] pkrumins: We crazy! [14:13] bnoordhuis: ilya: what snapshotting does is compile that javascript in machine code in advance [14:13] ilya: yeah, that's what I was thinking of [14:13] TheEmpath has joined the channel [14:13] TheEmpath: hail nodelings [14:14] tbranyen: heil [14:14] TheEmpath: I'm wrapping my tineh brain around mixins/traits so I can share code/data between Node and the browser [14:14] ilya: suppose I have such an application where this would quite right, because cause there the code woudn't change [14:14] FireFly has joined the channel [14:14] bnoordhuis: ilya: unless your app is short-lived and starts up often, don't worry about it [14:14] ilya: embedded node.js and the app would be included in the firmware [14:15] ilya: bnoordhuis: yeah, that may be the case really :) [14:15] TheEmpath: so think of a venn diagram where in the center is a basic data structure... when i use the data structure on the client, i get methods to interface with the client cache of that data as well as modifiers to send change requests server side... when i use that data structure on node, i get methods to interface mongoose as well as ways to push change requests client side [14:15] bnoordhuis: ilya: node wouldn't be my first pick for such environments [14:15] ilya: but then, may be it would be more comfortable to include my code in lib and build node executable with it :) [14:16] bnoordhuis: ilya: what are you doing / what platform are you targeting? [14:16] TheEmpath: the structure is shared in both environments and the chance for reusability is very high... mixins look like they can do the job, but there are performance limitations that bother me [14:16] ilya: bnoordhuis: I'm thinking of sub-ghz arm SoCs [14:16] TheEmpath: traits.js is neet, but how collisions are handled are irksome [14:16] ilya: for home and entertainment stuff [14:16] schwab has joined the channel [14:16] deedubs has joined the channel [14:16] ilya: s/stuff/appliances/ [14:16] TheEmpath: curious what the brain pit thinks and suggests about this issue, if at all [14:17] bnoordhuis: ilya: node's probably a poor fit, v8 is rather memory hungry [14:17] butu5 has joined the channel [14:17] ilya: hm .. good to know [14:17] bnoordhuis: ilya: even a do-nothing vm probably uses at least 10M [14:17] TheEmpath: woah... vms in firmware... i dunno about that [14:17] Cromulent has joined the channel [14:18] ilya: yeah, but memory is not that expensive anymore [14:18] TheEmpath: that would radicalize the amount of people who can make their own hardware, but it will add lots of overhead and what not [14:18] TheEmpath: at least with C, when it busts, you know up front [14:18] ilya: and there people using wince+dotnet on their "embedded" applications [14:18] TheEmpath: imagine the GC causing stop light to not function :X [14:19] bnoordhuis: TheEmpath: you realize that blueray code runs in a vm? :) [14:19] bnoordhuis: a rather more limited one than v8 though [14:19] ilya: sure .. well, I would do a small C lib to it as well, just use node for some things which it's good for [14:20] TheEmpath: i'd imagine there would be vms for firmware, but those would be much different than usual server applications [14:20] ilya: ah, yeah .. sure [14:20] TheEmpath: well cheers to ilya for dreaming big [14:20] TheEmpath: +1 beer ilya [14:21] bnoordhuis: ilya: it could work but you'll have to do a lot of tweaking [14:21] ilya: I'll get it to run in qemu first without and mmu on uclinux ;] [14:21] bnoordhuis: ilya: v8 is optimized for desktops, node for servers [14:21] ilya: ok, but things like Plug Computer [14:21] ilya: I'm sure rails would be a bit of killer [14:22] bnoordhuis: oh sure, there is no hardware where rails runs on properly [14:22] bnoordhuis: rails is like those key stretching algorithms, only worse [14:23] _kud has joined the channel [14:23] ilya: some people say linux does too [14:23] jj0hns0n has joined the channel [14:24] industrial: if you want really small, Lua :-) [14:24] industrial: (and fast) [14:24] TheEmpath: Lua is the future! [14:25] Net_RoY has joined the channel [14:25] industrial: Lua could be more but it lacks 'hipster kids' in its community [14:25] TheEmpath: once you get OnLive cloud FPS as the standard, all browsers will benefit from being nothing more than Lua processors [14:25] arthurdebert has joined the channel [14:26] enmand has joined the channel [14:26] industrial: kinda funny, I'm developing in NodeJS but not all that jolly about putting my data on someone elses computer (or cloud) [14:27] TheEmpath: the object of the game is to collect and monetize data [14:27] TheEmpath: if you are leveraging someone elses hardware, they will charge cheap for the access but skim the real cash from the data [14:28] TheEmpath: everything has its tradeoffs [14:30] mrdoodles: i worked a ton with the twitter api about a yr ago / oauth, but i can't seem to find a 'working' lib? [14:31] devongovett has joined the channel [14:32] kiffness has joined the channel [14:35] cognominal_ has joined the channel [14:35] kiffness has joined the channel [14:35] Silex has left the channel [14:36] reid has joined the channel [14:38] boehm has joined the channel [14:39] bosphorus has joined the channel [14:39] tuhoojabotti: SubStack is crazy. [14:39] FireFly|n900 has joined the channel [14:40] schwab has joined the channel [14:40] TheEmpath2 has joined the channel [14:40] TheEmpath2: basically, this is my problem: http://i56.tinypic.com/juwqcl.png [14:40] DrMcKay: tuhoojabotti: why? [14:40] Margle: Anyone from Africa here? [14:40] tuhoojabotti: 143 public repos :D [14:40] DrMcKay: oh man. [14:41] DrMcKay: I want to be like him someday :D [14:42] DrMcKay: why do people quit right after I finish searching GH for library -.- ? [14:42] DrMcKay: btw, anyone to rupy.eu here? [14:44] TheEmpath2: ACTION shakes his trout. [14:45] DrMcKay: TheEmpath2: you're attending? [14:46] TechCel has joined the channel [14:48] TheEmpath: i ma not [14:49] CoinOpeBoy has joined the channel [14:49] mynyml has joined the channel [14:50] DrMcKay: wait, what does it mean "to shake a trout"? it's some idiom (Google says nothing)? [14:50] TheEmpath: oh lol [14:50] TheEmpath: its a mixture of expression [14:50] TheEmpath: shaking head = no [14:50] TheEmpath: trout = legendary IRC fish [14:50] DrMcKay: ah, ok, sorry for being a noob ;) [14:50] TheEmpath: im needlessly oblique at times [14:51] TheEmpath: which is why i write plenty of documentatoin! [14:51] tuhoojabotti: ACTION slaps himself with a large trout [14:51] DrMcKay: :D [14:51] tuhoojabotti: ACTION then eats it. [14:53] dob__ has joined the channel [14:54] DrMcKay: I think I know why my bot randomly decides to quit [14:54] DrMcKay: I've a dynamic IP [14:55] kiffness has joined the channel [14:55] DrMcKay: it disconnects over night, just for few seconds [14:55] DrMcKay: but it seems like connection doesn't get back on [14:55] tuhoojabotti: Get a server [14:55] DrMcKay: tuhoojabotti: it's on my home server, you think I should move him to VPS? [14:56] tuhoojabotti: Doesn't need to be vps. :u [14:56] tuhoojabotti: I'm running my stuff on this irc-shell thingy. ;D [14:56] DrMcKay: meh, I have a VPS, that's why I'm calling it like that [14:56] tuhoojabotti: Btw, how old are you? [14:56] DrMcKay: 17 [14:57] tuhoojabotti: Ha [14:57] DrMcKay: why? [14:57] tuhoojabotti: I had a fine guess. :D [14:57] tuhoojabotti: Because you remind me of myself (and I'm 17. ;D) [14:57] ericmuyser has joined the channel [14:58] socialhack has joined the channel [14:58] DrMcKay: hah, I haven't even though about guessing how old people here are [14:58] tuhoojabotti: Neither have I. [14:59] tuhoojabotti: It just happened. [14:59] tuhoojabotti: I'm terribly sorry. [14:59] bnoordhuis: DrMcKay: sign up for a no.de smartmachine, problem solved [15:00] DrMcKay: bnoordhuis: good point [15:00] tuhoojabotti: Free :O [15:01] tuhoojabotti: as in freedom of speech? [15:01] DrMcKay: I already have a nodejitsu account, so I could use it [15:01] brianseeders has joined the channel [15:02] dmkbot has joined the channel [15:02] Margle has joined the channel [15:02] matomesc has joined the channel [15:02] DrMcKay: what?! [15:02] DrMcKay: he just joined?! [15:02] DrMcKay: it shouldn't happen [15:03] tuhoojabotti: lol [15:03] bnoordhuis: DrMcKay: http://en.wikipedia.org/wiki/Skynet_%28Terminator%29 [15:03] bnoordhuis: kill it now before it's too late [15:03] DrMcKay: !killitwithfire [15:04] DrMcKay: (that's actually a real command, it stops GH reporting) [15:04] bnoordhuis: you should implement !nukeitfromorbititstheonlywaytobesure :) [15:04] DrMcKay: !resurrection [15:05] DrMcKay: :D [15:05] tuhoojabotti: Yeah. [15:05] tuhoojabotti: So I can develop a test-multiplayer support for my webgl game with no.de? [15:06] tuhoojabotti: without pissing of the irc shell admins ;D [15:06] kenperkins has joined the channel [15:07] hydrozen has joined the channel [15:07] bnoordhuis: tuhoojabotti: sure [15:07] tuhoojabotti: Nice [15:07] bnoordhuis: if you mess up too bad, we just suspend you [15:07] spcshpop` has joined the channel [15:07] tuhoojabotti: that's okay. [15:07] tuhoojabotti: >D: [15:07] kiffness has joined the channel [15:08] paul0 has joined the channel [15:09] DrMcKay: and stay dead! [15:11] tuhoojabotti: !ping [15:11] tuhoojabotti: :( [15:11] floby has joined the channel [15:12] DrMcKay: tuhoojabotti: I will get him up in a sec [15:13] tuhoojabotti: DrMcKay: omg you're right. :D [15:13] tuhoojabotti: I can't get the older version of my game to work. [15:13] tuhoojabotti: Weird. [15:14] Fabryz has joined the channel [15:14] tuhoojabotti: random TypeError [15:14] mikeal has joined the channel [15:15] DrMcKay: -????????? ? ? ? ? ? authorized_keys [15:15] DrMcKay: that's how my .ssh dir listing looks like [15:15] tuhoojabotti: Cool story, bro. [15:15] DrMcKay: and I was wondering why the hell wouldn't keys work [15:15] tuhoojabotti: :D [15:16] DrMcKay: now, how do I fix it? [15:16] tuhoojabotti: reinstall windows. [15:16] tuhoojabotti: ":D" [15:16] DrMcKay: lol [15:17] Sami_ZzZ has joined the channel [15:18] TheJH has joined the channel [15:19] jj0hns0n has joined the channel [15:19] boaz has joined the channel [15:19] isaacs has joined the channel [15:20] socketio\test\41 has joined the channel [15:20] Fabryz: Hello [15:20] Fabryz: is there any way to share only loadMap between client and server? https://gist.github.com/ee21280f020fee9bc0a8 [15:21] Fabryz: trying to put it out from that file, but i'm not able to include it on the server [15:21] Fabryz: I just need to share a matrix tilemap between client/server [15:22] eastender has joined the channel [15:25] Insekticid has joined the channel [15:27] binaryjohn has joined the channel [15:28] mynyml has joined the channel [15:28] enmand has joined the channel [15:29] ivanfi has left the channel [15:29] Poetro has joined the channel [15:29] Poetro has joined the channel [15:30] DrMcKay: Insekticid: I got myself those tickets :) [15:30] Insekticid: DrMcKay: Wow, nice! :-) [15:30] dnjaramba has joined the channel [15:30] madsleejensen has joined the channel [15:31] DrMcKay: Insekticid: fast decision ;). have you decided yet? [15:31] Minax has joined the channel [15:32] boaz has joined the channel [15:34] jzacsh has joined the channel [15:34] jzacsh has joined the channel [15:34] Insekticid: DrMcKay: Not yet, 60% is for no..But I will know for sure after the week. [15:34] hekkwan: hi all [15:35] hekkwan: relatively new to NodeJS, and Im looking for something that will log what my program is doing. Im console.log() for now... but need to change this for production [15:35] DrMcKay: Insekticid: k, take your time :) [15:35] hekkwan: any suggestions? [15:36] tjholowaychuk has joined the channel [15:36] Spion has joined the channel [15:36] micheil has joined the channel [15:37] hekkwan: nevermind, found https://github.com/joyent/node/wiki/modules [15:37] mavus has joined the channel [15:37] z6Dabrata has joined the channel [15:37] varun has joined the channel [15:38] Insekticid: DrMcKay: :-) [15:38] Insekticid: Hey, I just want to built some kind of REST-JSON server...Is there any good module? [15:39] EvRide has joined the channel [15:39] Vertice has joined the channel [15:40] altamic has joined the channel [15:40] DrMcKay: Insekticid: barista router maybe? [15:40] mikeal has joined the channel [15:41] dob__: If somebody is interested in using jquery autocomplete, node.js, sockets and mongodb you can have a look at my new blogpost. http://bit.ly/omb2JQ [15:41] Insekticid: DrMcKay: Thanks, I will give it a try [15:42] criswell has joined the channel [15:42] m4rvellous has joined the channel [15:42] m00p has joined the channel [15:43] varun: Hi I wanted to know the security aspects of nodejs [15:44] varun: are there any frameworks [15:44] varun: or libraries [15:44] varun: that already take care of these [15:44] varun: ? [15:44] bnoordhuis: varun: security covers a broad range of topics [15:44] bnoordhuis: varun: what specifically are you after? [15:45] varun: For a web based application [15:45] TheJH: varun, depends on what you want to secure and what kinds of attacks you want to secure your code aganist [15:45] TheJH: varun, are you using something liek socket.io? or just http? [15:45] TheJH: *like [15:46] varun: I am still through the design phase [15:46] TheJH: varun, is your page going to be with much client-side JS and server->client live updates? [15:46] varun: mostly as its a real time web based application [15:47] albertosheinfeld has joined the channel [15:47] blueadept: varun: have you looked at nowjs? [15:47] stagas has joined the channel [15:48] varun: nope [15:48] TheJH: varun, then you'll have to decide whether you want message-passing or RPC [15:48] varun: let me open [15:48] blueadept: take a look at that, its an abstraction for realtime data streams, uses socket.io [15:49] TheJH: varun, socket.io is JSON message passing, dnode is RPC with callback-passing support and so on on top of it and nowjs (which I personally don't like) is a wagic box that uses dirty tricks to keep being half-sqnced [15:49] blueadept: ha [15:49] varun: ah ok [15:49] blueadept: yeah done is another one [15:49] blueadept: dnode* [15:49] TheJH: blueadept, it's not just another one, it's written by substack! :D [15:49] TheJH: evil robot power :D [15:50] blueadept: actually i'm going to start using dnode, i need to get familiar with it [15:50] blueadept: just no time lately [15:50] descipher has joined the channel [15:50] dmkbot has joined the channel [15:50] TheJH: varun, but be careful with all those RPC and message-passing things, they usually allow sending arbitrary-length messages, which allows people to fill up the RAM [15:51] DrMcKay: !ping [15:51] dmkbot: DrMcKay, pong [15:51] DrMcKay: good [15:51] z6Dabrata has joined the channel [15:51] DrMcKay: he will report all issues once/10 minutes [15:51] varun: k [15:51] hybsch has joined the channel [15:52] tiagobutzke has joined the channel [15:52] igl has joined the channel [15:52] bogomips has joined the channel [15:52] fangel has joined the channel [15:53] hdon: hi guys :) is there an event representing when node decides it's time to exit because there's no more events being listened for? one that i could use to pre-empt exiting? [15:53] hdon: i can think of other ways to accomplish what i want, but i was just curious about that one in particular [15:55] captain_morgan has joined the channel [15:55] TheJH: hdon, http://nodejs.org/docs/latest/api/process.html#event_exit_ [15:55] hdon: TheJH, thanks :) [15:56] Glenjamin: hdon: unfortunately you can't continue the event loop from it [15:56] fatjonny has joined the channel [15:56] hdon: ah, too bad [15:56] hdon: i suppose [15:56] robi42_ has joined the channel [15:57] rook2pawn: TheJH: checkout https://github.com/rook2pawn/node-dnode-ez [15:57] fatjonny has joined the channel [15:57] rook2pawn: it makes it really easy to use dnode IMO :p [15:58] cjm has joined the channel [15:58] descipher has joined the channel [15:58] aah has joined the channel [15:58] guillermo has joined the channel [15:58] jakehow has joined the channel [15:58] jakehow__ has joined the channel [15:58] jakehow_ has joined the channel [15:59] mikl has joined the channel [15:59] TheJH: rook2pawn, and I have something to make dnode more secure: https://github.com/thejh/node-hungarian-magic [16:00] TheJH: rook2pawn, hungarianWrap(function(numA, numB) { return numA + numB; }) magically adds type safety! [16:00] some1else has joined the channel [16:01] rook2pawn: cool! [16:03] metaverse has joined the channel [16:03] Brandon_R has joined the channel [16:03] Brandon_R: hello [16:04] tiagobutzke: hi.. i'm starting learn about node.js. anyone have any suggestions of lecture? [16:05] nforgerit has joined the channel [16:05] Brandon_R: yeah [16:05] Brandon_R: check out the nodejs talks on youtube [16:05] torsd has joined the channel [16:05] Brandon_R: and read open source apps on github [16:06] fangel has joined the channel [16:06] tiagobutzke: hmm.. thanks Brandon_R [16:08] mikedeboer has joined the channel [16:09] teadict: http://www.catonmat.net/blog/browserling-open-sources-90-node-modules/ [16:09] DrMcKay: teadict: umm, what? [16:11] DrMcKay: but dnode was open sourced from the beginning [16:11] binaryjohn has joined the channel [16:12] aconbere has joined the channel [16:13] teadict: yeah, I was hoping someone jumped and critic the dude [16:13] teadict: I've RSSed his blog for a long time now and I find him kind of. mmm [16:13] teadict: a prick [16:13] teadict: but dunno [16:13] teadict: plus, go through the list, they're mostly utility modules [16:13] tjholowaychuk: would be nice if mkdirp wasnt broken [16:14] tjholowaychuk: dont want to have to publish "mkdir" instead haha [16:14] jesusabdullah: I used mkdirp the other day, didn't remember it being broken [16:14] tjholowaychuk: you have to use absolute paths [16:14] jesusabdullah: and peteris is a nice guy [16:14] kiffness has joined the channel [16:14] jesusabdullah: If you want not-so-absolute paths make a pull request? [16:15] jesusabdullah: sounds like a feature to me, not a bug [16:15] tjholowaychuk: no he explicitly passes an error if it's not absolute [16:15] tjholowaychuk: for some reason [16:15] mehlah has joined the channel [16:15] jesusabdullah: I believe you [16:16] storrgie has joined the channel [16:16] isaacs has joined the channel [16:16] m4rvellous has left the channel [16:17] Croms: Why does fs.stat() act all weird when put in for-loops? Am I missing something? [16:17] bnoordhuis: Croms: gist? [16:17] matyr has joined the channel [16:17] ronit has joined the channel [16:18] TooTallNate has joined the channel [16:18] captain_morgan has joined the channel [16:19] Croms: bnoordhuis: http://pastebin.com/YSyGutMC Run this and check the console. [16:19] JDBound has joined the channel [16:20] JDBound: can anybody help me with an error im getting [16:20] jesusabdullah: idk JDBound [16:20] socialhack has joined the channel [16:20] Croms: bnoordhuis: Err, just point the dir var to an existing folder on your HDD. [16:21] Insekticid: DrMcKay: Thanks for the tip, I have chosen Connect + connect_json [16:21] dshaw_ has joined the channel [16:21] DrMcKay: Insekticid: :) [16:21] JDBound: installing in windows with cygwin [16:21] bnoordhuis: Croms: nothing strange happening, i think - what kind of behaviour are you seeing? [16:21] stelleg has joined the channel [16:21] bnoordhuis: JDBound: what version of node? [16:21] DrMcKay: any issue I could shamelessly comment to test my bot? [16:22] mikl has joined the channel [16:22] JDBound: latest stable? [16:22] DrMcKay: ah, I will just +1 bnoordhuis' way of displaying this array [16:22] Croms: bnoordhuis: Outside fs.stat() it shows 0 and 1, inside it shows 2 and 2 for index. [16:22] booo has joined the channel [16:22] JDBound: used git tag and git checkout [16:23] bnoordhuis: Croms: oh that - your index variable is a global [16:23] bnoordhuis: JDBound: do a `git checkout v0.4.11`, master is known not to work with cygwin right now (and possibly never again) [16:24] JDBound: ok [16:24] JDBound: then ./configure and make? [16:24] bnoordhuis: JDBound: yes [16:25] JDBound: ok thanks, I'll let you know if i encounter any more issues [16:27] jchris has joined the channel [16:28] Croms: bnoordhuis: Are you sure? I put the var keyword in front of it? [16:28] bosphorus has joined the channel [16:28] [diecast] has joined the channel [16:29] DrMcKay: !ping [16:29] dmkbot: DrMcKay, pong [16:29] DrMcKay: ah, 10 minutes, k [16:30] bnoordhuis: Croms: yes though maybe global is not the right word for it [16:30] bnoordhuis: !eval var index = 0; for (index = 0; index < 2; ++index) process.nextTick(function() { console.error(index) }); [16:30] DrMcKay: bnoordhuis: nope. [16:30] bnoordhuis: oh, dmkbot is gone [16:30] dmkbot: joyent/node: Kos: Misleading console output for arrays with undefined - https://github.com/joyent/node/issues/1651 [16:30] DrMcKay: bnoordhuis: no, he's here, but it wasn't safe. [16:31] bnoordhuis: DrMcKay: let me guess - vm escaping? [16:31] DrMcKay: bnoordhuis: yup :/ [16:31] TheJH: bnoordhuis, you can crawl up the caller chain until you reach the module... and then you can get require from the module wrappers arguments property [16:32] DrMcKay: bnoordhuis: I will put him in a chroot [16:32] TheJH: !issue search caller strict [16:32] jhbot: found issues: 1 [16:32] jhbot: Issue: https://github.com/joyent/node/issues/1469 : leaking references inside new contexts [16:32] DrMcKay: that would be it ^ [16:32] TheJH: yaaay, he actually managed to find the right one :D [16:32] DrMcKay: :D [16:33] [diecast] has left the channel [16:33] DrMcKay: there's another one [16:33] DrMcKay: !issue search vm [16:33] jhbot: found issues: 17, showing the first 3 [16:33] jhbot: Issue: https://github.com/joyent/node/issues/637 : Memory leak in vm.runInContext() [16:33] jhbot: Issue: https://github.com/joyent/node/issues/723 : Exceptions in getters/setters with vm.runInNewContext don't get raised [16:33] jhbot: Issue: https://github.com/joyent/node/issues/724 : vm.runInNewContext incompatible with getters/setters [16:33] DrMcKay: no, not really, give me a sec [16:35] DrMcKay: this: https://github.com/joyent/node/issues/898 [16:35] augustl: is there a way to concatenate buffers? [16:35] augustl: need to make one buffer out of the many buffers I get from the "data" event on a HTTP request. [16:36] TheJH: !@augustl npm search buffertools [16:36] jhbot: augustl, package buffertools: Working with node.js buffers made easy. [16:36] JDBound: bnoordhuis: worked, thanks! [16:37] augustl: hmm [16:38] augustl: it alters the Buffer object, meh [16:39] slifty has joined the channel [16:39] augustl: looks great but I need it for a library and I'd rather not my library modify Buffer or other built-ins. [16:41] augustl: I guess I could use http://nodejs.org/docs/v0.4.11/api/buffers.html#buffer.copy [16:41] matyr has joined the channel [16:42] DrMcKay: ACTION shamelessly bumped that VM issue [16:42] pointlessjon has joined the channel [16:43] Chopinn has joined the channel [16:43] some1else has left the channel [16:43] augustl: aww, it can't be resized. No wonder. [16:43] DrMcKay: and, oh. GH doesn't accept open,closed as valid issue state [16:43] bartt has joined the channel [16:44] igl has joined the channel [16:44] TheJH: augustl, yes, you have to allocate a new buffer for the result and then copy the parts in it [16:45] augustl: I see [16:45] mavus has joined the channel [16:46] TheJH: !admin eval var bufA = new Buffer("123"), bufB = new Buffer("456"), bufC = new Buffer(bufA.length+bufB.length); bufA.copy(bufC); bufB.copy(bufC, bufA.length); "augustl, "+bufC.toString() [16:46] jhbot: augustl, 123456 [16:47] Croms: bnoordhuis: You're right: http://blog.mixu.net/2011/02/03/javascript-node-js-and-for-loops/ Thanks. [16:48] augustl: http://pastie.org/2486707 seems to work fine [16:48] CarterL has joined the channel [16:49] matyr_ has joined the channel [16:49] TheJH: augustl, I think it'll break for more than one chunk [16:49] augustl: hmm [16:49] augustl: how come? [16:49] TheJH: augustl, you always need to copy both buffers in a new one [16:50] TheJH: augustl, with your code, everything but the stuff from the last chunk will be random data [16:50] dmkbot: joyent/node: herby: runInThisContext does not run in context of the caller - https://github.com/joyent/node/issues/898 [16:50] augustl: ah [16:51] febits has joined the channel [16:53] dexter_e has joined the channel [16:53] dexter_e_ has joined the channel [16:54] ap123 has joined the channel [16:55] ap123: All, I am reading http://nodebeginner.org/ and basically get the idea of "coding for action". Seems very "functional". My question is: how do I test if I've written some blocking code instead of non-blocking code? [16:56] kiffness has joined the channel [16:57] TheJH: ap123, you can't really write blocking code in node [16:58] dmkbot has joined the channel [16:58] __sorin__ has joined the channel [16:58] sivy has joined the channel [16:58] rfay has joined the channel [16:59] z6Dabrata has joined the channel [17:00] Me1000 has joined the channel [17:00] Vertice has joined the channel [17:01] pen_ has joined the channel [17:01] augustl: ap123: test in what way? Automated unit testing? [17:02] Cromulent has joined the channel [17:02] mike5w3c has joined the channel [17:03] wookiehangover has joined the channel [17:04] ingenthr has joined the channel [17:04] DrMcKay: bnoordhuis: you think that util.format should output [2,,3] like [2, , 3]? (I'm working on it) [17:05] felixhummel has joined the channel [17:06] ap123: augustl: I am thinking performance testing [17:07] ap123: my general question is: how do i detect blocking code? [17:07] dmkbot: joyent/node: herby: runInThisContext does not run in context of the caller (new issue) - https://github.com/joyent/node/issues/898 [17:08] DrMcKay: nah, I'm reverting it, it would have to build a db first [17:08] DrMcKay: tricky stuff [17:08] Prometheus has joined the channel [17:10] dmkbot has joined the channel [17:10] navaru has joined the channel [17:10] olegp: ap123: grep 'Sync' * [17:11] navaru has left the channel [17:11] ap123: olegp: huh? [17:11] matyr has joined the channel [17:11] olegp: only the filesystem Sync calls block [17:11] ap123: oic [17:13] adrianmg has joined the channel [17:14] olegp: you could have cpu intensive callbacks, but its quite hard to intentionally write one [17:14] olegp: unless you put in while(true) {} intentionally [17:14] olegp: and that would hang, not block ;) [17:15] augustl: ap123: the only ways to block is to use one of the blocking APIs which is always called somethingSync, or do an ininite loop or something in a event handler. [17:15] ap123: correct [17:15] olegp: now, the amount of processing you do per callback does vary [17:16] olegp: so as a result if say you want to process http requests, the variance in response times will be great [17:16] sudhirjonathan has joined the channel [17:16] olegp: scroll down to the benchmarks section here: https://github.com/olegp/common-node#readme [17:16] ap123: so, if i have a heavy callback, will it block other requests to the same callback? [17:16] olegp: if you look at ringo (java webapp container), its often a flat line, ie all responses take the same time to return [17:17] olegp: with node/v8 its all over the place [17:17] thalll has joined the channel [17:17] ceej has joined the channel [17:17] jesusabdullah: YOU're all over the place! [17:18] olegp: ap123 itll "block" all callbacks [17:18] olegp: since the callbacks are called serially in one process [17:18] ap123: jesusabdullah: wow, buddha feels lonely though [17:18] willwhite has joined the channel [17:18] ap123: olegp: got it [17:19] balaa has joined the channel [17:19] ap123: is there a way to keep that from happening? [17:19] jesusabdullah: wat [17:19] ap123: i.e. blocking all callbacks? [17:19] olegp: ap123 fork another process [17:19] enmand has joined the channel [17:19] olegp: if you know youll be doing cpu heavy stuff, like calculating pi or something, then spin up another process [17:20] dmkbot: joyent/node: Kos: Misleading console output for arrays with undefined - https://github.com/joyent/node/issues/1651 [17:20] DrMcKay: ryah: ping? [17:20] icebox has joined the channel [17:21] ap123: but forking another process kinda defies the point around writing non-blocking code…. [17:21] olegp: not really [17:21] olegp: I mean, you want to avoid blocking IO [17:22] olegp: cpu heavy stuff can happily run in another process on another cpu core [17:23] Prometheus has joined the channel [17:24] ap123: oic [17:25] fitzgen has joined the channel [17:26] olegp: blocking the io process would introduce jitter (http://en.wikipedia.org/wiki/Packet_delay_variation) [17:26] olegp: so a worse case scenario would be that some pages would take 1ms to load whereas others took 1000ms [17:26] eldios: ->IT'S SURVEY TIME<- how much RAM does your NodeJS website powered blog eats (average)? Thanks for your answer =) [17:26] olegp: s/worse/worst [17:26] tuhoojabotti: ok! [17:27] tuhoojabotti: eldios: But my server does more, it handles irssi-notifys for my tasker profile on my phone. ;D [17:27] eldios: lulz [17:27] perezd has joined the channel [17:28] eldios: all the same.. just spit your RAM usage over the table [17:28] eldios: (also with average stats, if you have them.. visitors per day) [17:28] tuhoojabotti: 0-1 [17:28] tuhoojabotti: ":D" [17:28] tuhoojabotti: what's the easiest way to see memory consumption hmm [17:29] cole_gillespie has joined the channel [17:30] eldios: XD [17:30] eldios: ok.. I'm goint away.. pff [17:30] eldios: going* [17:30] tuhoojabotti: :( [17:30] eldios: just joking.. I need to go before my wife kills me as I'm very late here at office :P [17:30] febits has joined the channel [17:30] guybrush: tuhoojabotti: i like htop :D - also `console.log('mem-usage: %s MB (RSS)',process.memoryUsage().rss/1048576)` [17:30] grekko has joined the channel [17:31] matyr has joined the channel [17:31] eldios: byeeeeeeeee [17:32] tuhoojabotti: Yeah [17:32] tuhoojabotti: But it's not that human-readbale. :D [17:33] tuhoojabotti: I think it's about 4K [17:33] tuhoojabotti: :D [17:34] bshumate has joined the channel [17:36] xerox: image resizing in node? [17:37] guybrush: xerox: `require('gm').size()` [17:37] guybrush: `require('gm')('/path/to/pic').size()` [17:37] xerox: https://github.com/aheckmann/gm [17:38] guybrush: right [17:38] guybrush: i use that [17:38] xerox: I like your nickname [17:38] xerox: so this is pure JS [17:38] xerox: that does not depend on having imagemagick or something installed [17:39] guybrush: you have to install GraphicsMagick first :/ [17:39] xerox: argh [17:39] garrensmith has joined the channel [17:39] ap123: olegp and august: thanks for your help [17:39] xerox: is there something more lightweight that you know of [17:39] xerox: just for resizing [17:40] olegp: ap123 no probs [17:40] guybrush: xerox: maybe you can find something here https://github.com/joyent/node/wiki/modules#wiki-graphics [17:41] xerox: ok [17:41] prettyrobots has joined the channel [17:42] madsleejensen has joined the channel [17:42] Poetro has joined the channel [17:42] DrMcKay: fuck yeah, restarting works in forever! :D [17:43] dimroc has joined the channel [17:43] DrMcKay: but, mikeal's watch is behaving weirdly [17:43] grekko has joined the channel [17:43] DrMcKay: it doesn't care about ignoreDotFiles [17:44] guybrush: xerox: this looks like it works with plain js (?) https://github.com/devongovett/pdfkit [17:45] cjm has joined the channel [17:45] dnjaramba has joined the channel [17:45] xerox: let's see : ) [17:46] xerox: umm but it produces PDF right [17:46] guybrush: :D [17:46] xerox: heheh [17:46] guybrush: and still pure js [17:46] xerox: pretty cool uh [17:46] DrMcKay: there's no module for working with images in js?! [17:46] TheEmpath has joined the channel [17:46] tjholowaychuk: xerox you can use node-canvas to resize, but it's nice to have GM do it because then it's async haha [17:46] ericmuyser has joined the channel [17:47] xerox: GM is pretty awesome [17:47] tjholowaychuk: but if you're resizing a ton of them you're probably better off doing a job queue + node-canvas [17:47] xerox: but I don't feel like installing it at the moment, so many things [17:47] devongovett: imagemagick? [17:47] aaronmcadam has joined the channel [17:47] ericnakagawa has joined the channel [17:48] Rshelley has joined the channel [17:48] Rshelley has left the channel [17:48] nitinb has joined the channel [17:48] guybrush: ye gm is just awesome (i think GraphicsMagick is also a little bit faster than imagemagick - in my tests at least :p) [17:48] djbell has joined the channel [17:50] hekkwan has joined the channel [17:50] Rshelley has joined the channel [17:53] d0k has joined the channel [17:53] human has joined the channel [17:54] NegativeK has joined the channel [17:55] hybsch has joined the channel [17:56] Rshelley: hey folks, I saw that node.js is installed by compiling it on the OS... I was curious if it's possible to compile and run node.js from a shared mount point across a common set of VMs, or if it has to be recompiled for each instance [17:56] liar has joined the channel [17:57] amigojapan has joined the channel [17:57] CarterL has joined the channel [18:01] binaryjohn has joined the channel [18:01] mynameisbender has joined the channel [18:03] kiffness has joined the channel [18:05] Tobbe_ has joined the channel [18:06] cjroebuc_ has joined the channel [18:08] stisti has joined the channel [18:10] guybrush: tjholowaychuk: is it a good idea to use node-canvas for pattern-recognition? [18:10] `3rdEden has joined the channel [18:10] DrMcKay: TheJH: I thought you were joking about JS formatting. [18:10] TheJH: DrMcKay, MWAHAHA :) [18:10] tjholowaychuk: guybrush yah sure why not [18:10] TheJH: DrMcKay, https://gist.github.com/1195583 :) [18:11] DrMcKay: I know. [18:11] DrMcKay: I feel quite unsure now. [18:11] DrMcKay: I mean, when did "Pythonify all languages you know" challange start? [18:11] robhawkes has joined the channel [18:11] DrMcKay: *challenge [18:12] TheJH: now I'll take a file from node core :) [18:12] DrMcKay: somebody stop him, please [18:12] topaxi has joined the channel [18:12] Renegade001 has joined the channel [18:13] kiffness has joined the channel [18:13] socialhack has joined the channel [18:13] jbpros has joined the channel [18:14] TheJH: ryah, how do you like this code style? :D https://gist.github.com/1195593 [18:14] DrMcKay: SOMEONE STOP HIM NOW! [18:15] TheJH: ping ryah [18:15] DrMcKay: we're all gonna die. [18:15] guybrush: TheJH: looks beautifully [18:15] guybrush: much better than coffee [18:16] TheJH: guybrush, thanks. and it's valid JS, but only if you count the stuff that you can't see unless you click on "raw" because github doesn't show the far-right border [18:16] DrMcKay: I think I will actually start shooting. [18:16] TheJH: guybrush, click "raw" and say WTF??? [18:16] guybrush: hihihi [18:16] guybrush: awesome [18:17] tjholowaychuk: TheJH haha clever trick [18:17] tylerstalder has joined the channel [18:17] cjroebuck has joined the channel [18:17] tjholowaychuk: still sucks when you scroll down and you have no clue what block you're looking at anymore [18:17] tjholowaychuk: but in this case that's mostly a design issue [18:18] DrMcKay: my OCD hurts [18:19] jamescarr: grrr [18:19] jamescarr: vows could really use a "after all specs are finished" hook [18:19] jamescarr: tjholowaychuk, hey, I think I was away when you sent me that repo of your latest project [18:20] jamescarr: the successor to expresso? [18:20] jamescarr: (or something like that) [18:20] tjholowaychuk: it's not public yet [18:20] tjholowaychuk: one sec [18:20] JaKWaC has joined the channel [18:21] jamescarr: tjholowaychuk, you know my github username right? [18:21] tjholowaychuk: there's a james-carr too [18:21] tjholowaychuk: haha [18:21] kenperkins has joined the channel [18:21] tjholowaychuk: wtf [18:21] jamescarr: yeah [18:21] jamescarr: I separate them [18:21] jamescarr: I have jamescarr for personal/side work [18:21] tjholowaychuk: ah [18:21] jamescarr: james-carr for carfax related work [18:21] TooTallNate: TheJH: did you code that by hand? [18:22] TheJH: TooTallNate, https://github.com/thejh/flowerjs/blob/master/flowerify.js [18:22] TheJH: 63 lines of JS [18:22] tjholowaychuk: jamescarr: I'll have to add some tests/ examples etc, i have some locally that are not part of the repo though [18:22] jamescarr: really hoping the push to github pans out. if it does, I'll successfully move 150 developers to git from CVS :) [18:22] TooTallNate: ah, interesting [18:22] TooTallNate: I had a feeling [18:22] jtmkrueger has joined the channel [18:22] jamescarr: tjholowaychuk, ah I see [18:22] TooTallNate: nobody would have the patience to code that way by hand :p [18:23] matyr_ has joined the channel [18:23] tjholowaychuk: TheJH way cooler than coffeescript [18:23] jamescarr: tjholowaychuk, looks sweet [18:23] paul0 has joined the channel [18:23] jtmkrueger: hey node.js peeps [18:23] jtmkrueger: got a nebbish question [18:24] jtmkrueger: *noobish [18:24] Prometheus: jtmkrueger: pro tip: ask away ;) [18:24] jtmkrueger: Just installed node with brew [18:24] TheJH: tjholowaychuk, I actually did a java program some while ago that compiles java with less parens, curlies and semicolons (implicit calls, ...) to normal java :D [18:24] jamescarr: tjholowaychuk, I have a preference for BDD style, but dislike some of the things vows does [18:24] jtmkrueger: in the caveats [18:24] jtmkrueger: got this: [18:24] jtmkrueger: ==> Caveats [18:24] jtmkrueger: Please add /usr/local/lib/node_modules to your NODE_PATH environment variable to have node libraries picked up. [18:24] jamescarr: I'd use jasmine, but it sucks for async stuff [18:24] tjholowaychuk: jamescarr yeah totally, you lose the benefit of closures [18:24] tjholowaychuk: with vows [18:24] TheJH: tjholowaychuk, but no real parser, just quick and dirty [18:25] jtmkrueger: where is my NODE_PATH? [18:25] jtmkrueger: I can't find it in my .bash_profile [18:25] jamescarr: tjholowaychuk, how would you implement after callbacks? [18:26] jamescarr: I've been a little curious on how to do that myself [18:26] jtmkrueger: ACTION installed node a different way last time, and is trying to do everything with homebrew this time [18:26] tjholowaychuk: jamescarr i haven't fully decided what to do as far as parallelism yet etc [18:26] tjholowaychuk: vows and friends are really slow [18:26] tjholowaychuk: BUT [18:26] tjholowaychuk: much easier to manage [18:26] guybrush: ACTION would like to install node with npm [18:26] jamescarr: tjholowaychuk, parallelism isn't too important really [18:27] enhydra has joined the channel [18:27] jamescarr: it takes awhile before the benefits even become relevant [18:27] tjholowaychuk: i think it is [18:27] jamescarr: really? [18:27] chrisdickinson: the problem is that with testing, the goal is accuracy, then speed. [18:27] jamescarr: well, for really large projects it might [18:27] tjholowaychuk: most of my < 1s tests would be roughly 15s with the other frameworks [18:27] tjholowaychuk: not a huge PITA but still not ideal [18:27] tjholowaychuk: i have a plan though [18:27] chrisdickinson: tjholowaychuk: how so? [18:27] matyr has joined the channel [18:27] d0k_ has joined the channel [18:27] chrisdickinson: re: the 15s / 1s bit? [18:27] tjholowaychuk: because serial == slow [18:28] chrisdickinson: ah. but serial == accurate, as well. [18:28] tjholowaychuk: doesn't really have anything to do with accuracy, but yeah it's important sometimes [18:28] tjholowaychuk: and easier to work with [18:28] tjholowaychuk: but we can have both [18:28] tjholowaychuk: in a sense you could argue that parallel == accurate as race-conditions could pop up etc [18:28] chrisdickinson: i'd like to see something that defaults to serial and can be provided with environment setup instructions for parallel testing. [18:28] jtmkrueger: did anyone in here install node with homebrew? [18:28] jamescarr: tjholowaychuk, AH [18:29] jamescarr: tjholowaychuk, now I get it [18:29] matyr__ has joined the channel [18:29] jamescarr: I didn't even think about race conditions [18:29] tjholowaychuk: chrisdickinson yeah i plan on allowing you to specify if the default is parallel or serial [18:29] tjholowaychuk: and then with little function helpers you can scope the test cases [18:29] tjholowaychuk: to the opposite [18:29] jamescarr: I assume testing for race conditions becomes pretty important for the framework things you do [18:29] BrianTheCoder has joined the channel [18:30] chrisdickinson: tjholowaychuk: hm. see, i'm writing tests for an orm (which eventually may support transaction-less environments); so serial is the right way to go in my case. [18:30] tjholowaychuk: yeah for sure [18:30] tjholowaychuk: for cases like that when you want to flush the db each time [18:30] tjholowaychuk: it definitely makes sense [18:30] stelleg: has anyone gotten websockets to work with any build of firefox? [18:30] tjholowaychuk: for the express/connect tests etc i can easily run them all parallel without trouble [18:30] cjm has joined the channel [18:31] stelleg: websocket [18:31] chrisdickinson: that's true. unless someone starts stubbing. [18:31] tjholowaychuk: yup [18:31] chrisdickinson: slash mocking. [18:31] `3rdEden: stelleg socket.io 0.8.x works in FF6 and should work with FF7 as well [18:31] ryah: TheJH: i like braces [18:31] TheJH: ryah, well, they're still there, just hidden :D [18:31] chrisdickinson: which, in a lot of cases, can be super useful -- stubbing out req.send / next to capture params so you don't have to run the full http server stack in your test suite [18:32] chrisdickinson: plus being able to grab metadata about the response -- what template was used, what's in context, etc. [18:32] ap123 has left the channel [18:32] ronnieboy has joined the channel [18:32] stelleg: `3rdEden: yeah I should check out socket.io, but I was hoping to just use vanilla websockets [18:32] `3rdEden: Not a lot of people support the latest specifications yet [18:33] stelleg: `3rdEden: do you know if it falls back to flash websockets for firefox? [18:33] jamescarr: stelleg, it does [18:33] jamescarr: stelleg, socket.io works in IE5 [18:33] jamescarr: I mean [18:33] tjholowaychuk: chrisdickinson im not a fan of mocking [18:33] jamescarr: IE5.5 [18:33] tjholowaychuk: when you dont have to [18:33] tjholowaychuk: i dont [18:33] tjholowaychuk: which is almost never [18:33] stelleg: jamescarr: wow [18:33] DrMcKay: ryah: issues once per 10 minutes? [18:33] `3rdEden: stelleg: it should for FF 5 [18:33] `3rdEden: ff6 and ff7 have native websockets [18:33] `3rdEden: so the fallback will not be used there [18:33] ryah: DrMcKay: yeah [18:34] chrisdickinson: tjholowaychuk: fair enough. i think it's useful in cases where you want to specifically test certain execution paths, and not others. [18:34] ryah: DrMcKay: or maybe every 5 minues/ [18:34] stelleg: `3rdEden: yeah, although I haven't been able to get ff6,7,8,or 9 to work with any websocket examples [18:34] random123: Off question I've been trying to get an answer to: If using module.exports is a nice way to bring in variables into the local namespace and avoid using globals, how can you modify those variables so they affect all future requires [18:34] chrisdickinson: (testing the req / res cycle without testing the template/view layer, in the above example.) [18:34] zeade has joined the channel [18:34] DrMcKay: ryah: ok [18:35] `3rdEden: stelleg: that is because they implement the latest version of the WebSocket draft. Most example online only work with old drafts [18:35] tjholowaychuk: chrisdickinson plus if we dont run the entire thing serial, it can be strategic, so it's still reasonably fast [18:35] random123: Because if you could modify those variables then I think they could actually replace globals and be safer, but I see no way to do this within globals... [18:35] pifantastic has joined the channel [18:35] tjholowaychuk: while giving you the flexibility you need for mocking etc [18:35] random123: without globals*** [18:35] tjholowaychuk: i think vows does that with "batches" or something [18:35] jtmkrueger: would using npm be smarter [18:35] tjholowaychuk: still seemed slow though, node-http-proxy doesn't have many tests and it was 7x slower than express [18:35] jtmkrueger: than /usr/local/lib/node_modules to your NODE_PATH environment variable [18:35] jtmkrueger: ? [18:36] stelleg: `3rdEden: I guess I assumed the websocket-server node.js library would be up to date [18:36] jamescarr: ACTION likes the fact that Mongoose ORM is now Mongoose ODM [18:36] kiffness has joined the channel [18:36] `3rdEden: stelleg supporting all websocket drafts is a lot of work, and the developer of that module is already working adding support for that [18:36] Nexxy has joined the channel [18:36] `3rdEden: we (socket.io) just implemented it faster ;) [18:37] TheEmpath2 has joined the channel [18:37] pifantastic: Is it not possible to export a function from a module? i.e.: "exports = function() { return new Something() }" [18:37] jbpros has joined the channel [18:37] chrisdickinson: pifantastic: module.exports = function [18:37] stelleg: `3rdEden: awesome, I'll check out socket.io, thanks dude [18:38] mike5w3c has joined the channel [18:38] pifantastic: chrisdickinson: rad, thanks man. Do you mind explaining why my approach was wrong? [18:38] jamescarr: `3rdEden, btw, outstanding job on the express session support in socket.io [18:38] slifty_corsair has joined the channel [18:38] jamescarr: `3rdEden, it's a major component of my most recent work [18:38] tjholowaychuk: jamescarr i didnt do that [18:38] chrisdickinson: pifantastic: the `exports` global actually lives in `module.exports`. [18:38] `3rdEden: jamescarr yeah it's amazingly easy :p [18:38] tjholowaychuk: i haven't worked on socket.io [18:38] `3rdEden: tjholowaychuk thats why he highlighted me ;) [18:38] jamescarr: tjholowaychuk, I know, I was praising `3rdEden :) [18:38] TheEmpath2: so mongoose.... mongoose is nice... me likey... but i wonder if there was a way to get a "client-friendly" version of the model? say when i access the model in node, i get the mongo interface, but when i access it from a