[00:01] Swimming_bird has joined the channel [00:02] n2liquid_ has joined the channel [00:02] javaanse_jongens has joined the channel [00:05] zedas has joined the channel [00:05] sivy has joined the channel [00:06] dnolen has joined the channel [00:07] javaanse_jongens has joined the channel [00:07] doubletap has joined the channel [00:08] doubletap has left the channel [00:08] SubStack: isaacs: is it supposed to be the case that `npm link` doesn't pull down dependencies anymore? [00:09] hoodow has joined the channel [00:09] hoodow has joined the channel [00:09] river_t: tjholowaychuk: just got back to looking at express-resource. I don't think there are tests for defining a custom action, I read them wrong. I'll keep an eye out for the next version [00:10] SubStack: in 1.0.1rc6 [00:10] wadey: ryah: I'll do a pull request so you can look at it later [00:11] bnoguchi has joined the channel [00:12] xandrews_ has joined the channel [00:12] jano has joined the channel [00:13] tjholowaychuk: river_t: sounds good, yeah it will be coming [00:14] saikat_ has joined the channel [00:14] pyrotechnick has left the channel [00:15] rchavik has joined the channel [00:16] k1ttty has joined the channel [00:17] charlenopires_ has joined the channel [00:18] saikat__ has joined the channel [00:18] cjfont: any modules for scheduling that aren't cron-based? [00:19] [[zzz]] has joined the channel [00:19] gazumps has joined the channel [00:20] CIA-72: node: 03Scott McWhirter 07v0.4 * re8cf98c 10/ (src/platform.h src/platform_sunos.cc test/simple/test-os.js): Add os.cpus() and os.uptime() support for sunos - http://bit.ly/gX4hq2 [00:23] isaacs: SubStack: just fixed that today [00:23] isaacs: SubStack: npm i npm -g [00:23] Aria has joined the channel [00:27] SubStack: isaacs: that deleted my npm install :\ [00:28] isaacs: SubStack: oh? it should have just overwritten it with the new one [00:28] SubStack: but it errored out [00:28] isaacs: oh, maybe it's unbuilding before building... [00:28] shiawuen has joined the channel [00:28] isaacs: ops [00:28] SubStack: https://gist.github.com/918705 [00:29] isaacs: curl http://npmjs.org/install.sh | npm_install=sh sh [00:29] isaacs: curl http://npmjs.org/install.sh | npm_install=rc sh [00:29] isaacs: (the second one) [00:29] [[zz]] has joined the channel [00:30] isaacs: ohhhh.... [00:30] isaacs: shoudl've been npm i npm@rc -g [00:30] isaacs: since it's not "latest" yet. [00:30] isaacs: SubStack: ^ [00:31] blueadept: anyone know why this line won't go through? http://pastie.org/private/cr49jqrbl6tueh1i8lnicq [00:31] blueadept: record will not update [00:32] eventi has joined the channel [00:32] javaanse_jongens has joined the channel [00:32] CIA-72: node: 03Ryan Dahl 07v0.4 * r2f98451 10/ (4 files in 3 dirs): [00:32] CIA-72: node: Revert "Add os.cpus() and os.uptime() support for sunos" [00:32] CIA-72: node: Cherry-pick fail. Breaks linux. Will land again shortly. [00:32] CIA-72: node: This reverts commit e8cf98c841c8aa80975fa2bd96187f49a6cbb760. [00:32] CIA-72: node: This reverts commit d953856d87f2b12740332940011f9fd0e2cb41a2. [00:32] CIA-72: node: This reverts commit 752bbd6b426d4be9fc8a352c7bec0f89839828d7. - http://bit.ly/h7fZp5 [00:34] b3f0r3 has joined the channel [00:35] breakpointer has joined the channel [00:36] breakpointer has joined the channel [00:37] jjmalina has joined the channel [00:37] neeks: I can't npm install node-router http://pastebin.com/zUkQRcJq [00:37] javaanse_jongens has joined the channel [00:38] isaacs: neeks: that's because it's not published [00:38] isaacs: neeks: you should bug the author [00:38] neeks: oic [00:38] kmiyashiro: npm -i npm@rc -g has never worked for me [00:38] breakpointer: Hi, I'm looking for something like 'rm -rf' are there any node packages out there that might have this? fs just has 'rmdir' [00:38] isaacs: kmiyashiro: it works in the latest rc :) [00:39] kmiyashiro: I'm on rc7 [00:39] tbranyen: breakpointer: rimraf [00:39] isaacs: kmiyashiro: ok, that should work [00:39] kmiyashiro: just tried it [00:39] isaacs: oh, kmi, not -i [00:39] isaacs: just i [00:39] isaacs: npm install npm@rc -g [00:39] isaacs: npm i npm@rc -g [00:39] isaacs: i == "install" [00:39] kmiyashiro: oh right [00:39] tbranyen: breakpointer: i use it in my unit testing [00:39] kmiyashiro: yes, just i, that's what I did [00:39] isaacs: kmiyashiro: gist the results? [00:40] deedubs has joined the channel [00:40] breakpointer: tbranyen: cool! thanks! [00:40] themarmot has joined the channel [00:41] tylerstalder has joined the channel [00:41] kmiyashiro: the whole npm-debug? [00:41] isaacs: kmiyashiro: sure, why not? [00:41] kmiyashiro: ok [00:41] themarmot: anyone have tips on install nodejs/npm on debian squeeze ... just finished a bunch of dev on an arch system and now node app.js returns all sorts of errors(modules not found although i've installed them via npm) [00:42] isaacs: kmiyashiro: here's what i'm seeing: https://gist.github.com/918718 [00:42] isaacs: kmiyashiro: it at least works with 1.0.1rc7 and 8 [00:42] kmiyashiro: I have to use sudo, does that matter? [00:42] themarmot: i'm currently rebuilding nodejs from source and same w/ npm but I'm not sure why npm install module tries to put them in my app directory [00:43] isaacs: themarmot: http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/ [00:43] techwraith: themarmot: npm defaults to local installs now, not global [00:43] kmiyashiro: https://gist.github.com/918719 [00:43] techwraith: themarmot: it helps with deploys [00:43] CIA-72: node: 03Scott McWhirter 07v0.4 * r90348a6 10/ (src/platform_sunos.cc test/simple/test-os.js wscript): Add os.cpus() and os.uptime() support for sunos - http://bit.ly/hN1pTJ [00:43] patzak has joined the channel [00:43] patzak has joined the channel [00:44] dguttman has joined the channel [00:44] isaacs: kmiyashiro: ah, i see. there is no "nobody" user on your system, it seems [00:44] isaacs: kmiyashiro: try this: sudo -u nobody whoami [00:44] xla has joined the channel [00:44] NuckingFuts has joined the channel [00:44] kmiyashiro: nobody [00:44] isaacs: or sudo -u nobody id [00:44] kmiyashiro: uid=4294967294(nobody) gid=4294967294(nobody) groups=4294967294(nobody),61(localaccounts),12(everyone),102(com.apple.sharepoint.group.1) [00:44] isaacs: hm. wonder why it's failing to get the uid and gid, then [00:44] themarmot: techwraith: so I just pass the -g switch when I install the module? [00:45] isaacs: themarmot: if you want it to be installed in the global place, sure [00:45] isaacs: read that blog post [00:45] NuckingFuts: Okay, what's the font used on the NodeJS logo? [00:45] techwraith: themarmot: Only if you want to install it globally [00:45] breakpointer: tbranyen: so since this is all async, do you make your callback create the test directory you need for the next test run? [00:45] techwraith: themarmot: But why do you want to install it globally? [00:46] themarmot: techwraith: i guess it doesn't matter ... i just assumed that's the way it was b/c arch seems to default to global install [00:46] tbranyen: breakpointer: sec i'll link you to my tests [00:46] isaacs: kmiyashiro aha!! reproduced. [00:46] isaacs: kmiyashiro: that's tricky!! [00:46] themarmot: i had no idea of local vs. global install [00:46] isaacs: i see it now [00:46] isaacs: themarmot: it's a new thing :) [00:46] tbranyen: breakpointer: https://github.com/tbranyen/nodegit/blob/master/test/raw-repo.js#L111 [00:47] Gotham has joined the channel [00:47] prettyrobots: piscisaureus_: How's DDoS coming along. [00:47] Gotham: What's the best way to get today's date in v8? [00:47] isaacs: kmiyashiro: the fix for that's a bit more involved. [00:47] piscisaureus_: prettyrobot: :p [00:47] isaacs: v8: new Date().toISOString() [00:47] v8bot: isaacs: "2011-04-14T00:47:54.739Z" [00:47] tbranyen: Gotham: new Date isn't sufficient? [00:48] piscisaureus_: *prettyrobots [00:48] isaacs: v8: Date.now() [00:48] v8bot: isaacs: 1302742083372 [00:48] kmiyashiro: I guess I'll just run the script everytime [00:48] Gotham: sweeet [00:48] isaacs: kmiyashiro: for now, sure [00:48] breakpointer: tbranyen: oic. cool. so uh this looks cool, what are you making here? a package to read git repos? [00:48] xandrews has joined the channel [00:48] kmiyashiro: I wonder why I have a nobody [00:48] Gotham: But I only want the day/month/year [00:48] tbranyen: breakpointer: heh yeah its not nearly done yet, samcday's gitteh is further along [00:48] tbranyen: this is just a pet project of mine [00:49] isaacs: kmiyashiro: it's built into the OS [00:49] isaacs: kmiyashiro: it's a no-rights user [00:49] breakpointer: tbranyen: kick ass... [00:49] kmiyashiro: ic [00:49] isaacs: kmiyashiro: specifically for doing package managery type stuff where you want to restrict access [00:49] themarmot: techwraith: I ran npm install express connect mysql from w/in my working directory .. it installed mysql in the new node_modules dir but not the others? [00:49] breakpointer: tbranyen: I'm going to use this real soon [00:49] tbranyen: ha breakpointer cool, please file bugs [00:49] c4milo1 has joined the channel [00:50] isaacs: themarmot: works for me [00:50] breakpointer: will do tbranyen [00:50] techwraith: themarmot: You'll have to chat with isaacs on that one [00:50] isaacs: themarmot: file a bug if it's not working in the latest npm [00:50] isaacs: gotta run. class time :) [00:50] llkazu: ACTION demands to know why socket.io sucks behind cluster :-p [00:51] deedubs: man I wish node-mongo-native supported $inc [00:51] llkazu: +1 [00:51] llkazu: implement it! [00:51] techwraith: llkazu: What sucks about it? [00:52] llkazu: techwraith, depending on which worker the cluster master decides to throw the request at, it either works or doesn't work [00:52] llkazu: my theory is that only one of 2 workers has the session info for the connection [00:52] techwraith: Ah, that does suck [00:52] llkazu: ya :-/ [00:53] techwraith: Seems like you need to to keep session info in some external db (redis or something) [00:53] tjholowaychuk: llkazu: I think guillermo is working on the scalability issues for socket.io [00:53] llkazu: whew. [00:54] tjholowaychuk: AFAIK it will support drivers for whatever persistance you want [00:54] tjholowaychuk: not sure what will be supported out of the box [00:54] llkazu: you think socket.io is using the built-in connect sessions for this? [00:54] llkazu: ACTION ponders [00:55] piscisaureus_: prettyrobots: so you finished your first test? [00:55] prettyrobots: Getting back to it. [00:55] techwraith: llkazu: guillermo would know more, but it would surprise me if it does [00:55] prettyrobots: Stepped away. [00:55] piscisaureus_: ACTION should be a manager [00:56] llkazu: techwraith, i would be too. [00:56] tyler-iphone: v8bot: Time.now.to_i [00:56] v8bot: tyler-iphone: Use v8: to evaluate code or "`v commands" for a list of v8bot commands. [00:56] prettyrobots: I'll collaborate, but I won't be managed. [00:56] llkazu: v8: 1/0 [00:56] v8bot: llkazu: Infinity [00:56] llkazu: nice. [00:57] llkazu: v8: def meh() { meh() }; meh() [00:57] v8bot: llkazu: SyntaxError: Unexpected identifier [00:57] llkazu: er [00:57] Draggor: What happens if you infinite stack it? [00:57] llkazu: I'm a dolt and mixign python and js [00:57] llkazu: lol [00:57] llkazu: v8: var meh = function() { meh() }; meh() [00:57] v8bot: llkazu: RangeError: Maximum call stack size exceeded [00:57] llkazu: nice. [00:57] tyler-iphone: unfortunately js doesn't have TCO [00:58] tyler-iphone: which is kinda weird for something that does so much continuation passing [00:58] chrisdickinson: tyler-iphone: you can work around it [00:58] llkazu: indeed. [00:58] chrisdickinson: v8: var meh = function() { setTimeout(meh, 0); } meh() [00:58] v8bot: chrisdickinson: SyntaxError: Unexpected identifier [00:59] chrisdickinson: v8: var meh = function() { setTimeout(meh, 0); }; meh(); [00:59] v8bot: chrisdickinson: ReferenceError: setTimeout is not defined [00:59] chrisdickinson: aw. [00:59] llkazu: pwn't. [00:59] chrisdickinson: setTimeout does exist in node, though. [00:59] chrisdickinson: (or ``process.nextTick``) [00:59] llkazu: v8: var meh = function() { process.nextTick('meh()'); }; meh() [00:59] v8bot: llkazu: ReferenceError: process is not defined [00:59] llkazu: ha [01:00] llkazu: v8: var process = require('process'); var meh = function() { process.nextTick('meh()'); }; meh() [01:00] v8bot: llkazu: ReferenceError: require is not defined [01:00] Gotham: what is nextTick? Why is it called tick? [01:00] techwraith: process is only available in node, I'm pretty sure v8bot is just v8 [01:00] llkazu: gotham, just like a real processor, the JS VM has a clock that ticks. [01:00] llkazu: every tick some chunk of byte code is run. [01:00] tyler-iphone: tick is the next firing of the event loop [01:01] techwraith: with a few things removed of course :) [01:01] chrisdickinson: llkazu: I'm pretty sure process.nextTick will wait until the current stack is exhausted. [01:01] Gotham: Are there any counterpoints to building a SaaS project on node.js? [01:01] llkazu: chrisdickinson, hmm, it might. I'm not actually sure. [01:01] tyler-iphone: thats kinda cool though [01:01] chrisdickinson: llkazu: I think it works exactly the same as setTimeout(, 0). [01:01] tyler-iphone: ACTION goes to play with setimeout self returning functions [01:01] chrisdickinson: which, it's important to note, does not work exactly the same in browser [01:02] llkazu: ACTION nods [01:02] ryah: perezd: had a chance? [01:02] chrisdickinson: (setTimeout in browser is throttled to "only fire at maximum every 5ms") [01:02] tyler-iphone: yeah setTimeout(function(){},0) and process.nextTick are the same [01:02] CIA-72: node: 03Theo Schlossnagle 07v0.4 * rd0e84b0 10/ lib/tls.js : [01:02] CIA-72: node: Pass secureProtocol through on tls.Server creation [01:02] CIA-72: node: The secureProtocol option to building the SSL context was not being properly [01:02] CIA-72: node: passed through in the credentials in the tls code. This is fixed. - http://bit.ly/hWpMpV [01:03] blueadept: would anyone happen to know why this update command isn't working? http://pastie.org/private/cr49jqrbl6tueh1i8lnicq [01:03] chrisdickinson: can't find the original offhand, but setZeroTimeout is pretty cool, at least for in-browser stuff: https://gist.github.com/885388 [01:03] NuckingFuts: Okay, on no.de, is the console output piped to a file? [01:03] NuckingFuts: And if not, is that possible to set up? [01:04] perezd: ryah: not yet, freaking out right I'll get back to you [01:04] Gotham: FuckingNuts: Yes [01:04] btipling has joined the channel [01:04] NuckingFuts: Gotham: To what? [01:04] Spion has joined the channel [01:04] pyrotechnick has joined the channel [01:04] bnoguchi: deedubs: mongoose supports $inc implicitly when you work with Numbers https://github.com/LearnBoost/mongoose [01:04] pyrotechnick: tjholowaychuk: ping [01:05] NuckingFuts: Mongoose confuses me /vomit [01:05] llkazu: NuckingFuts, how so? [01:05] NuckingFuts: I am much preferring MongoDB-native [01:05] deedubs: bnoguchi: Really? hmmm interesting I didn't see that code :/ [01:05] pyrotechnick: mongooses can be quite deceiving [01:05] Gotham: FuckingNuts: You can log console.log() with a module [01:05] pyrotechnick: crafty critters they are [01:05] tjholowaychuk: pyrotechnick: hey [01:05] pyrotechnick: tjholowaychuk: i have a proposal for you [01:05] pyrotechnick: you make us this amazing superset of js you speak of [01:06] llkazu: NuckingFuts, what aren't you liking about mongoose? (I'm just now getting into using mongodb with nodes, been using it with python though for years and have always preferred the native driver) [01:06] pyrotechnick: so basically coffee with js syntax [01:06] pyrotechnick: default params [01:06] pyrotechnick: etc [01:06] pyrotechnick: we can all meet eachother halfway [01:06] NuckingFuts: llkazu: It's clunky, and has confusing errors. Oh, and only 1 person I talked to in the 4 days I tried it had actually been able to set it up and use it :B [01:06] pyrotechnick: i mean i like the syntax of coffee but id prefer everyone on the same page just like you would [01:07] pyrotechnick: there's a few attempts already but they tend to do completely fucking insane things like strict typing [01:07] tjholowaychuk: i still dont want it [01:07] tjholowaychuk: i dont want to compile my dynamic language [01:07] tjholowaychuk: :p [01:07] prettyrobots: piscisaureus_: 3 out of 4 tests passing. [01:07] jesusabdullah: YES YOU DO [01:07] NuckingFuts: I like JS over CS [01:07] piscisaureus_: prettyrobots: ah that's expected right? [01:07] themarmot: node.js:178 throw e; // process.nextTick error, or 'error' event on first tick -- anyone know why? [01:07] NuckingFuts: It WOULD be cool if we could get an EXE from JS :P [01:08] pyrotechnick: you can [01:08] piscisaureus_: mv foo.js foo.exe [01:08] pyrotechnick: google windows coffeescript theres a project on github with a compiled coffeescript compiler as an exe [01:08] NuckingFuts: ACTION facepalms [01:08] prettyrobots: piscisaureus_: Right. So, I'm at parity with you. I'll check in that port number problem fix. [01:08] pyrotechnick: it doesnt matter that its coffeescript its just an example [01:08] pyrotechnick: but what im saying is that its possible [01:08] NuckingFuts: pyrotechnick: That's an interesting thing >_> [01:09] Gotham: Is node.js going to crusher Ruby? [01:09] piscisaureus_: prettyrobots: you are failing fail_allways I presume :p [01:09] pyrotechnick: Gotham: in certain sects of serverside yes [01:09] pyrotechnick: in others, no [01:09] bnoguchi: deedubs: https://github.com/LearnBoost/mongoose/blob/master/lib/mongoose/types/number.js#L34 [01:10] pyrotechnick: for instance if you're a scrub who enjoys interacting with douchebags you'll probably never leave ruby [01:10] deedubs: bnoguchi: Yeah I'm checking it out [01:10] prettyrobots: pyrotechnick: What's this superset of JS? [01:10] NuckingFuts: Gotham: for hipster language of the year, yes [01:10] steveklabnik: pyrotechnick: just so you know, comments like those are a GREAT way to get rubyists using node. [01:10] steveklabnik: ;) [01:11] chrisdickinson: ACTION whistles innocently, sliding his python code under the rug [01:11] pyrotechnick: steveklabnik: why the hell would you want that? [01:11] prettyrobots: pyrotechnick: If you like to spend your days arguing about how many HTTP verbs can dance on the head of the pin, you'll never leave Ruby. [01:11] pyrotechnick: if anything i want .net people [01:11] Saurus has joined the channel [01:11] NuckingFuts: chrisdickinson: what's this "python" you speak of? is that some ancient language? [01:11] steveklabnik: pyrotechnick: ... k. [01:11] steveklabnik: just making sure. [01:11] pyrotechnick: theyd actually get here and appreciate it instead of bitch about how it doesnt have methodMissing [01:12] chrisdickinson: NuckingFuts: it's a secret, whispered from generation to generation for ... tens of years. [01:12] chrisdickinson: also, it has generators. [01:12] tbranyen: python reminds me of hieroglyphs [01:12] jesusabdullah: I like to think of python as the FORTRAN of scripting languages [01:12] prettyrobots: If you need a model/view/controler architecture for stdout, you'll probably never leave Ruby. [01:12] NuckingFuts: chrisdickinson: wow that's.... prolly older than Google :| [01:12] pyrotechnick: pythons are fucking snakes what are you talking about [01:12] jesusabdullah: The more user-friendly version with dynamic typing and The Whitespace Thing [01:12] tbranyen: :# [01:13] jacter has joined the channel [01:13] steveklabnik: just don't go to python.com when you're looking for documentation [01:13] jesusabdullah: lol, yeah [01:13] llkazu: lol [01:13] NuckingFuts: ACTION goes [01:13] chrisdickinson: haha [01:13] jesusabdullah: I hate Sphinx so much >_< [01:13] llkazu: +1 jesusabdullah [01:13] jesusabdullah: or rather, I hate all documentation I've EVER seen that has been put together using Sphinx. [01:13] jesusabdullah: It's CRAPPY [01:13] jesusabdullah: EVEN if Sphinx itself isn't that bad [01:14] NuckingFuts: jesusabdullah++ [01:14] v8bot: NuckingFuts has given a beer to jesusabdullah. jesusabdullah now has 6 beers. [01:14] chrisdickinson: jesusabdullah: really? I've seen some pretty comprehensive docs put together using sphinx. [01:14] llkazu: er, well, django's docs are good. python's docs are good. [01:14] jesusabdullah: Well [01:14] chrisdickinson: I mean, don't get me wrong, I hate writing docs using sphinx. readthedocs.org helps a bit [01:14] llkazu: its just… sphinx requires that you have a masters degree in sphinxology to use properly. [01:14] jesusabdullah: I've never tried django, so they may be the exception [01:14] themarmot: how do i tell where node is looking for modules? [01:14] prettyrobots: piscisaureus_: So... [01:14] chrisdickinson: llkazu: agreed [01:14] jesusabdullah: and I think python's are relatively complete, just poorly organized. [01:14] jesusabdullah: Hard to find what you're looking for a lot of the time. [01:15] jesusabdullah: Matplotlib's are terrible [01:15] jesusabdullah: Scipy/Numpy's are *okay*. [01:15] prettyrobots: piscisaureus_: My thought is to build a Makefile to build on Windows, then run test in cygwin using something like... [01:15] llkazu: jesusabdullah, the secret to python's documentation is: the module index. [01:15] llkazu: that all you need :-p [01:15] chrisdickinson: until recently, JavaScript's docs have been... well, of an interestingly varied quality [01:15] jesusabdullah: I always have to look up basic shit [01:15] prettyrobots: http://gcc.gnu.org/onlinedocs/gcc/Gcov-Intro.html#Gcov-Intro [01:15] llkazu: chrisdickinson, yaaaa, node's docs make me cry, for example. [01:15] prettyrobots: http://covtool.sourceforge.net/ [01:15] jesusabdullah: Oh, yeah, I have to give that to python--better than the Javascript status quo! [01:15] llkazu: "sooo fix it" [01:16] llkazu: http://jsdocs.org/ [01:16] jesusabdullah: That reminds me, I have to tweet to ddg/yegg about how w3schools pages are the top results for my javascript searches. [01:16] llkazu: this is a good reference. [01:16] steveklabnik: jesusabdullah: ouch. [01:16] chrisdickinson: llkazu++ [01:16] v8bot: chrisdickinson has given a beer to llkazu. llkazu now has 1 beers. [01:16] steveklabnik: when i first found out that w3schools wasn't associated with w3c, i was kinda shocked. then i realized how bad they were, and it made sense. [01:16] NuckingFuts: Speaking of Twitter, who's seen http://yes.thatcan.be/my/next/tweet/ <-- this? [01:16] llkazu: mmm, beer. [01:16] piscisaureus_: prettyrobots: did ryah tell you to do code coverage? [01:16] NuckingFuts: cB [01:17] chrisdickinson: I usually troll MDC for docs. [01:17] prettyrobots: Ryah told me to do tests. [01:17] sivy has joined the channel [01:17] NuckingFuts: chrisdickinson: Same here lol [01:17] piscisaureus_: prettyrobots: ah. ok. [01:17] chrisdickinson: though it usually leads to me finding some feature that's in Jaegermonkey that I wish V8 had :\ [01:17] zentoooo has joined the channel [01:17] soulofpeace has joined the channel [01:18] NuckingFuts: llkazu: OH GOD! It linked me to.... W3SCHOOLS? NOES! [01:18] piscisaureus_: prettyrobots: I doubt that you can get it to compile on cygwin. On cygwin the posix implementation must be used, but ryah needs to catch up with that first. And the test runner doesn't run on posix yet. [01:18] NuckingFuts: llkazu-- [01:18] v8bot: NuckingFuts has taken a beer from llkazu. llkazu now has 0 beers. [01:18] NuckingFuts: BAD llkazu! [01:18] NuckingFuts: NO W3SCHOOLS [01:18] prettyrobots: Creating tests without coverage is too painful. [01:18] CIA-72: node: 03Ryan Dahl 07master * r598792b 10/ (41 files in 12 dirs): [01:18] CIA-72: node: Merge branch 'v0.4' [01:18] CIA-72: node: Conflicts: [01:18] CIA-72: node: src/platform_sunos.cc [01:18] CIA-72: node: test/simple/test-os.js (+5 more commits...) - http://bit.ly/ibzSHZ [01:18] prettyrobots: Really, can't Cygwin just call to the Win API? [01:18] piscisaureus_: prettyrobots: well it can [01:18] ExsysTech has joined the channel [01:19] malkomalko has joined the channel [01:19] NuckingFuts: http://w3fools.com/ <-- This helped solidify my opinion of w3schools :B [01:19] piscisaureus_: prettyrobots: but you have to be careful because calling the windows api can fuck up the inner workings of cygwin [01:19] jesusabdullah: Same. [01:20] mattikus has joined the channel [01:20] piscisaureus_: prettyrobots: besides, I think that liboio on cygwin should use libev and libeio -- but check with ryah to be sure [01:20] jesusabdullah: Sweet, tweeted [01:20] prettyrobots: http://www.cygwin.com/cygwin-ug-net/using.html#pathnames-win32-api [01:21] NuckingFuts: The MDC (Mozilla's Doc Center) takes over at intermediate CSS and *covers JavaScript better than anyone.* [01:21] NuckingFuts: So true. [01:21] NuckingFuts: ACTION <3 w3fools [01:21] javaanse_jongens has joined the channel [01:21] prettyrobots: piscisaureus_: I'm not trying to build it for production use. I'm trying to build it to get a test coverage report. [01:21] NuckingFuts: It should have also listed A List Apart though C: [01:21] piscisaureus_: prettyrobots: ok :-) [01:21] NuckingFuts: Because that site is wonderful for CSS hackery [01:22] NuckingFuts: (and it has an EXTREMELY sexy design) [01:22] prettyrobots: Whatever it takes to generate the report, but the report is the goal, not Cygwin. [01:22] chrisdickinson: the only thing MDC doesn't do is talk about compatibility (which it shouldn't, really!) [01:22] NuckingFuts: YAY! I got my NodeJS deviantART Chat Server past the handshake and on to the chatroom joining 8D [01:23] jesusabdullah: Oh snap, this jsdoc site is in sphinx! >:O [01:23] chrisdickinson: but I think there's a space for a site that covers browser eccentricities exclusively [01:23] jesusabdullah: I feel like JS docs should be in node.js [01:23] jesusabdullah: lol :3 [01:23] NuckingFuts: chrisdickinson: I generally use jQuery for browser JS, so I don't worry much there, and I generally assume both V8 and JaegerMonkey are gonna be highly similar (seeing as they're both pretty much standards-compliant) [01:24] chrisdickinson: jesusabdullah: http://readthedocs.org/docs/fabric/en/1.0.1/ see? sphinx docs can be pretty! [01:24] andi has joined the channel [01:24] blueadept: would anyone happen to know why this update will not go through on these schema? http://pastie.org/private/cr49jqrbl6tueh1i8lnicq [01:24] jesusabdullah: I still recognize it as sphinx though XD [01:24] jesusabdullah: I HAVE AN EYE FOR THESE THINGS [01:24] jesusabdullah: It's like recognizing LaTeX when you see it, I think [01:24] chrisdickinson: NuckingFuts: jQuery (mostly, jQuery-isms and plugins, not the actual library) are an almost constant thorn in my side when in-browser [01:24] jesusabdullah: Certain hallmarks [01:24] NuckingFuts: For the browser JS that jQuery doesn't handle, I code & test in V8 & Firefox, then when I'm finishing up, I test it on IE7+ [01:24] trollzie has left the channel [01:24] chrisdickinson: NuckingFuts: might want to check Safari, too :) [01:25] Poetro has left the channel [01:25] jesusabdullah: NuckingFuts: And then Safari, Chrome and Opera right? :V [01:25] jesusabdullah: NuckingFuts: http://browserling.com [01:25] systemfault: V8 is chrome [01:25] NuckingFuts: chrisdickinson: I figure Safari is gonna be similar to the other standards-compliant ones :P [01:25] chrisdickinson: NuckingFuts: nope. [01:25] jesusabdullah: Oh, derp [01:25] NuckingFuts: jesusabdullah: I test my sites @ browsershots.org :P [01:25] jesusabdullah: Missed the V8 [01:25] chrisdickinson: NuckingFuts: best example of this is the "Date" module [01:25] jesusabdullah: BROWSERSHOTS?! [01:25] jesusabdullah: WHAT IS THIS THATS NOT EVEN IN NODE.JS [01:25] SubStack: I know right? [01:26] SubStack: shots pfft [01:26] NuckingFuts: jesusabdullah: Oh, there's a NodeJS one now? /me eagers [01:26] pyrotechnick: browserlings better [01:26] jesusabdullah: NuckingFuts: fwiw I think browserling is getting a screenshots system pretty soon [01:26] SubStack: interactiveness is where it's at [01:26] pyrotechnick: SubStack++ [01:26] v8bot: pyrotechnick has given a beer to SubStack. SubStack now has 23 beers. [01:26] pyrotechnick: SubStack++ [01:26] v8bot: SubStack is getting too many beers. Don't let SubStack get drunk! [01:26] pyrotechnick: OH MAN SUBSTACK WATCH YOUR SHIT MAN [01:26] blkcat: two beers and substack gets drunk? [01:26] blkcat: what a lightweight ;) [01:26] jesusabdullah: Yeah, Browserling runs in node.js and lets you interact with the pages directly. Also, it's free if all you need is a few minutes. [01:26] pyrotechnick: hes cadbury [01:26] SubStack: pretty much! [01:26] SubStack: actually it's more like 3 or 4 [01:26] jesusabdullah: Y'know, one more minute to hack into the mainframe [01:26] ryah: browsershots? [01:26] SubStack: 2 doesn't usually phase me [01:26] pyrotechnick: then you're in his pants [01:26] blkcat: haha. [01:26] NuckingFuts: To be fair, browsershots has a HUGE selection of browser/os combos [01:26] jesusabdullah: ^_~ [01:27] chrisdickinson: but yeah, jQuery glosses over too much, and the plugin libraries usually are written in a particularly barf-worthy way :\ [01:27] SubStack: so yeah I just got screenshots working on our admin panel last night in fact [01:27] jesusabdullah: Yeah, that's fair NuckingFuts [01:27] pyrotechnick: he'll show you his module [01:27] SubStack: going to start rolling this into the product after tunnels land [01:27] andi: Implications of the digital nervous systems. Better you got your own ;) [01:27] pyrotechnick: for 3 beers [01:27] seivan has joined the channel [01:27] pyrotechnick: he'll half open your socket for 4 [01:27] NuckingFuts: For a while I've also been debating if I wanted to make my own testing setup, all on one PC [01:28] NuckingFuts: Use a few VMs [01:28] pyrotechnick: and for the low low price of 5 beers you can have his stack overflow all over your GUI [01:28] SubStack: sounds like hard work [01:28] jesusabdullah: Even though I'm emotionally invested in browserling, if that's what you're looking for I would seriously recommend at least checking it out NuckingFuts [01:28] NuckingFuts: And install a bunch of versions of the top few browsers on all those. [01:28] jesusabdullah: Give it a looksee and all that [01:29] NuckingFuts: Then script it all so I could send a link to my computer and it'd handle it from there... [01:29] chrisdickinson: NuckingFuts: bonus points if you set it up so you can point all the browsers at one, node-hosted URL and trigger tests on those clients from your work computer [01:29] davidvanleeuwen has joined the channel [01:29] llkazu has joined the channel [01:29] vnguyen has joined the channel [01:29] chrisdickinson: use socket.io to stream down serialized test cases, and have it broadcast them back up to the server. [01:29] prettyrobots: piscisaureus: Works with MSVC: http://www.testcocoon.org/download.html [01:29] cloudhead2 has joined the channel [01:29] jesusabdullah: NuckingFuts: Seriously sounds suspiciously where Browserling is going, with tunnels and screenshots together [01:29] jesusabdullah: and I'm not just saying that. [01:29] vnguyen: is there an easy way to bundle up all the npm modules used on one machine and install that same set on another? [01:29] NuckingFuts: jesusabdullah: Orly? Great minds think alike? lol [01:30] piscisaureus: prettyrobots: awesome. and good luck :0 [01:30] jesusabdullah: NuckingFuts: Indeed [01:30] prettyrobots: vnguyen: Yes, there's a utility called tar. [01:30] cloudhead2: is there anything I need to get TLS 1.0 on https, vs SSL 3.0 ? [01:30] NuckingFuts: I had the idea of modding the browsershots stuff to do this for me a while back, but I just never got around to it lol [01:30] ryah: cloudhead2: you should get tls1.0 by default [01:30] prettyrobots: Only works if you're either a) moving between the same platform or b) have no binaries. [01:30] gazumps has joined the channel [01:31] NuckingFuts: jesusabdullah: So you're one of the folks working on browserling I take it? [01:31] llkazu: whoa. browserling is trippy. [01:31] JimBastard has joined the channel [01:31] cloudhead2: ryah: does it need a certain version of libssl or something? [01:31] cloudhead2: ryah: cause I'm getting ssl 3.0 [01:31] ryah: cloudhead2: *shrug* [01:31] cloudhead2: hmm ok [01:32] javaanse_jongens has joined the channel [01:32] abraxas has joined the channel [01:33] Remoun has joined the channel [01:33] rphillips has joined the channel [01:34] jano has joined the channel [01:34] tobmaster has joined the channel [01:35] zakabird has joined the channel [01:35] NuckingFuts: I think an interesting approach to the whole screenshot-taking thing would be to modify the rendering engines on open-source browsers (or something like that) to output directly to an image >_> [01:36] pyrotechnick: will soon be possible [01:36] pyrotechnick: there's a headless webkit in the works\ [01:36] hassox has joined the channel [01:36] tonymilne has joined the channel [01:36] pyrotechnick: cant wait for it because then we can test webgl properly ^w^ [01:36] willwhite has joined the channel [01:36] techwraith: Is there any way to make exec() synchronous? [01:36] pyrotechnick: without selenium [01:36] CIA-72: node: 03Theo Schlossnagle 07master * r2a88dd3 10/ (5 files in 2 dirs): [01:36] CIA-72: node: TLS: Add secureOptions flag [01:36] CIA-72: node: Also, secureOptions flag was added (and passed through) and allows [01:36] CIA-72: node: the context to have all supported SSL_OP_* set via createCredentials. [01:36] CIA-72: node: All SSL_OP_ flags (outside of ALL) have been added to constants. - http://bit.ly/f3epe0 [01:37] CIA-72: node: 03Theo Schlossnagle 07master * rd6f5b8a 10/ (lib/crypto.js lib/tls.js): [01:37] CIA-72: node: allow setting of ciphers in credentials [01:37] CIA-72: node: fixes #873 - http://bit.ly/eVEfjV [01:37] CIA-72: node: 03Theo Schlossnagle 07master * re2d9018 10/ src/node_constants.cc : [01:37] CIA-72: node: SSL_OP_CRYPTOPRO_TLSEXT_BUG [01:37] CIA-72: node: fixes #873 - http://bit.ly/hTTHQg [01:37] pyrotechnick: techwraith: no just put everything in the callback [01:37] jesusabdullah: NuckingFuts: I don't work for browserling...YET. [01:37] piscisaureus: prettyrobots: you could also modify the test runner to use threads not processes. Then you could VS's builtin instrumentation [01:37] NuckingFuts: For browsers that aren't open-source, I think using Windows' DWM API might work too :P [01:37] trollzie has joined the channel [01:37] piscisaureus: ... may be difficult though [01:37] techwraith: I'm iterating through an array of things I need to exec one after another [01:37] jesusabdullah: NuckingFuts: I've been too busy getting a masters degree and worrying about paying off my debts to jump into the startup game just yet, but my masters is almost done and Browserling is looking to get an employee or two... [01:37] techwraith: pyrotechnick: ^ [01:38] trollzie: humm, I have a project I wanna demo to somone, are there any free node.js hosts? [01:38] NuckingFuts: Hell, why not use a modded Linux OS and intercept draw calls? [01:38] pyrotechnick: techwraith: use a flow library [01:38] pyrotechnick: ill find you the list [01:38] jesusabdullah: ...at any rate, I've been following the project since before it was browserling. Hell, before it was node.js even [01:38] jesusabdullah: C: [01:38] pyrotechnick: techwraith: https://github.com/joyent/node/wiki/modules#async-flow [01:38] jesusabdullah: Ah, so where was I? Turned in thesis as best I can, fixed bitches' homework, graded bitches' homework, took exam... [01:39] NuckingFuts: jesusabdullah: What was it before? [01:39] jesusabdullah: ...I guess I get a night off! [01:39] NuckingFuts: As in, before it was Nodejs? [01:39] pyrotechnick: techwraith: i dont use any so i cant tell you which is the best but i know step is okay [01:40] pyrotechnick: can anyone help techwraith out with a sequential flow library [01:40] jesusabdullah: NuckingFuts: They pivoted. Originally there were a lot of ideas for using virtual machines, but web testing ended up being the focus, at least to start with. Also, the original prototype for StackVM (the precursor to Browserling, probably over a year ago by now) was actually written in Haskell! [01:40] jesusabdullah: techwraith, pyrotechnick: I believe the common ones are async.js and node-seq [01:41] NuckingFuts: jesusabdullah: lolrly? [01:41] jesusabdullah: Indeedy. [01:41] jesusabdullah: SubStack is a big Haskell fan. [01:41] jesusabdullah: Actually, I believe parts of browserling are written in Haskell, on the windows side of things [01:41] zakabird: : not totally free but you may find this useful http://blog.nowjs.com/get-started-with-nodejs-for-002-and-two-minut [01:41] jesusabdullah: Haskell runs surprisingly well on windows, so it's actually a pretty good fit if you're comfortable writing it [01:42] jesusabdullah: and by Haskell I mean GHC [01:42] deedubs: How would you guys handle generation of unique incrementing ids with a string component ie DW1002 DW1001 and then ML1001 ML1002 etc [01:42] realazthat_ has joined the channel [01:43] timmywil has joined the channel [01:43] jesusabdullah: since it's one of those languages with a spec and implementations, not one where the spec is the implementation [01:43] jesusabdullah: Like JS in that regard, actually :) [01:43] tonymilne: deedubs: are you persisting those to a database? [01:43] jesusabdullah: Anyways: I am running LATE to my appointment with PARTYING AT HOME and DOING HOMEWORK >:D [01:43] jesusabdullah: PEACE! [01:43] CIA-72: node: 03Ryan Dahl 07v0.4 * r050bbf0 10/ lib/tls.js : TLS use RC4-SHA by default - http://bit.ly/gbL3t0 [01:44] deedubs: tonymilne: Yeah they are ids so yeah they'll be persisted into mongo [01:44] unomi has joined the channel [01:44] zakabird: whats the CIA-72 stuff? [01:44] tonymilne: ok, well in Mongo, I used a collection called sequences which had a document in it along the lines of: [01:44] tonymilne: array ( [01:45] tonymilne: '_id' => '4d9ab1a68ead0e5200020000', [01:45] tonymilne: 'collection' => 'products', [01:45] tonymilne: 'id' => 1001, [01:45] tonymilne: ) [01:45] deedubs: tonymilne: Yeah that's the direction I was going in [01:45] deedubs: right now I use redis to do it which I want to pull it into mongo [01:45] tonymilne: then [01:45] tonymilne: var query = { collection: model.COLLECTION_NAME }; [01:45] tonymilne: var sort = []; [01:45] tonymilne: var update = { $inc: { id: 1 } }; [01:45] zakabird: well i know what, i guess why but nvm [01:45] tonymilne: collection.findAndModify(query, sort, update, true, false, function(err, result) { [01:45] tonymilne: callback(err, result); [01:45] tonymilne: }); [01:46] indiefan2a has joined the channel [01:46] deedubs: and result is your new id [01:46] tonymilne: its not amazingly scalable, but it would probably suffice [01:46] deedubs: I was looking at zookeeper [01:46] tonymilne: the code basically gets a row and increments the value. [01:46] tonymilne: like i++ does [01:46] tonymilne: returns i current value and adds one to it [01:47] Booths has joined the channel [01:47] deedubs: yeah atomically [01:47] tonymilne: I used code like this to generate some short urls, where i converted the id to a base 60 string. [01:47] tonymilne: give me a shout if you need more direction, [01:50] timcosgrove has joined the channel [01:50] timcosgrove has left the channel [01:51] patzak_ has joined the channel [01:51] patzak_ has joined the channel [01:51] Jckf: How does Node like it when I try to override a built-in prototype? [01:52] ilowhy has joined the channel [01:52] gazumps has joined the channel [01:54] sub_pop has joined the channel [01:54] piroshi has joined the channel [01:55] patzak_ has joined the channel [01:55] llkazu: Jckf, I'm betting it enjoys it about as much as v8 does [01:55] mscdex: with regards to garbage collection, does anyone know if there is any difference between these two scenarios?: https://gist.github.com/b3e9e8a105f03f8e12bf [01:55] llkazu: anyone know the status of web workers in node/v8? [01:55] llkazu: i hear chrome supports it fairly well [01:55] llkazu: so I'm assuming the support is in v8 [01:55] llkazu: v8: new Worker('lolwut.js'); [01:55] v8bot: llkazu: ReferenceError: Worker is not defined [01:55] llkazu: bah [01:55] llkazu: :-p [01:56] Jckf: llkazu: That's not what I'm experiencing. It's crashing quite spectacularly [01:56] llkazu: Jckf, damn :-( [01:57] Jckf: llkazu: Not very helpful http://pastebin.com/PWnnGbuV [01:57] Jckf: I'm guessing "undefined" is supposed to be a trace [01:58] llkazu: o.O [01:58] llkazu: well, a) wtf are you doing on windows :-p, b) ya, thats a little weird... [01:58] llkazu: paste bin your code? [01:58] Jckf: Working on it ;) [01:58] Jckf: There we go http://pastebin.com/f543NReE [01:59] javaanse_jongens has joined the channel [01:59] llkazu: interesting, it doesn't die on my linux box. [01:59] llkazu: what version of node? [01:59] JulioBarros has joined the channel [01:59] Jckf: Good question [01:59] Jckf: Let me check [01:59] llkazu: I'm running 0.4.5 [01:59] Jckf: 0.4.5 [01:59] Jckf: x| [01:59] prettyrobots: piscisaureus: It's not built into Express. [02:00] llkazu: Jckf, well, my solution is: get the heck off of windows :-) [02:00] prettyrobots: Instrumentation. [02:00] piscisaureus: hmm you're so fucked. [02:00] Jckf: llkazu: I'll look for a different build before I abandon my workstation =P [02:00] prettyrobots: piscisaureus: No. I'm just going to use this other. [02:00] Jckf: Thanks for your help though =) [02:00] llkazu: Jckf, why not just borrow a shell on a friend's machine or something? [02:01] piscisaureus: prettyrobots: allright [02:01] llkazu: (or use cloud9ide) [02:01] Jckf: I have a Linux box, but I want to be able to run the code on this machine [02:01] Booths: I'd go with the ditch windows as well, I had sooo many problems with code on windows that went away when I finally got a linux box [02:01] llkazu: Jckf, ah. well, i do know that nodes has some weird issues on windows. [02:01] llkazu: its "not supported" [02:01] Jckf: So I've heard =/ [02:01] timmywil has joined the channel [02:02] muk_mb has joined the channel [02:02] eventi has joined the channel [02:02] llkazu: in reference to web workers, have you seen https://github.com/pgriess/node-webworker jckf? [02:04] Jckf: I haven't looked into web workers at all. Why do I want them? [02:04] llkazu: if you ever need to do multi-process work they seem interesting. [02:04] Booths: So, anyone have any recommendations for somewhere to pickup C, something that doesn't spend 4 chapters teaching me loops and flow control? [02:05] Jckf: llkazu: I haven't grown out of my single thread yet ;) [02:05] eventi has joined the channel [02:05] llkazu: :-p [02:05] Tsesame has joined the channel [02:06] mikegerwitz: Booths: K&R is generally the "standard" for learning C. Otherwise, visit ##C. The topic has some info [02:06] tfe_ has joined the channel [02:06] tfe_ has joined the channel [02:06] Booths: @mikegerwitz: thanks [02:06] mikegerwitz: Booths: (K&R = The C Programming Language) [02:07] astropirate has joined the channel [02:08] devkorcvince has joined the channel [02:08] Booths: yeah google turned that up, must be pretty well known by that name [02:08] indexzero has joined the channel [02:09] mikegerwitz: Booths: Very popular book/authors :) One being the original designer of the language. [02:09] eventi: ACTION knows it by K&R [02:09] eventi: ACTION but can't spell K's name [02:09] Booths: Guess you can't go wrong with a book called "The C Programming Language" that comes recommended [02:09] mikegerwitz: eventi: heh, I can't say that I can either ;) Fortunately K&R has always been sufficient [02:11] matschaffer has joined the channel [02:11] Sami_ZzZ___ has joined the channel [02:13] copongcopong has joined the channel [02:13] Bloc has joined the channel [02:14] ohtogo has joined the channel [02:15] blueadept has joined the channel [02:16] jesusabdullah: Kerrighan? [02:16] Emmanuel__ has joined the channel [02:16] eventi: jesusabdullah++ [02:16] v8bot: eventi has given a beer to jesusabdullah. jesusabdullah now has 7 beers. [02:16] iFire has joined the channel [02:17] newy has joined the channel [02:17] indutny has joined the channel [02:17] vnguyen has joined the channel [02:18] eventi: Booths - K&R (the people) wrote C [02:19] techwraith: http://nodejs.org/docs/v0.4.5/api/fs.html#fs.mkdir << what is "mode" here? [02:19] blueadept has joined the channel [02:19] llkazu: a unix mode i assume? [02:19] SubStack: techwraith: the sort of mode that you pass to chmod in octal [02:19] tylerstalder has joined the channel [02:19] llkazu: ^ this [02:19] llkazu: ol [02:19] llkazu: lol [02:20] techwraith: example valid things to pass in? [02:21] Gotham: What would be the best way to take a date, and then add a day? [02:21] techwraith: like 755? [02:22] eventi: techwraith: 0755 [02:22] blueadept: would anyone happen to know why this update won't go through? http://pastie.org/private/azr1i0ysnnvcfn4hf9gpog [02:22] eventi: 755 is decimal [02:22] eventi: 0755 is octal [02:22] blueadept: is there anything special i have to do with nested fields? [02:22] llkazu: 755 is truncated octal. heh. [02:23] eventi: well translate 755 in base ten to octal - it's not the mode you meant :) [02:24] llkazu: ummmm [02:24] llkazu: sure it is [02:24] llkazu: er, sorry, the other way is [02:24] llkazu: 0755 in oct to dec is the same as 755 in oct to dec [02:24] llkazu: and vice versa really [02:25] JianMeng has joined the channel [02:25] river_t has joined the channel [02:25] llkazu: leading 0 has no significance in any base (except big-endian binary) [02:27] zakabird: hi, can anybody tell me the best way to find out if im running on localhost? im using connect [02:27] tfe_ has joined the channel [02:27] tfe_ has joined the channel [02:28] llkazu: …do you mean if you're bound ONLY to localhost? [02:28] llkazu: look at your listen() [02:28] llkazu: observe an IP given as the first argument [02:28] llkazu: if that IP is 0.0.0.0, then you're bound to ALL IPs available to your machine [02:28] llkazu: if its 127.0.0.1, then its only localhost [02:28] zakabird: im using server.listen(port); [02:29] llkazu: hmm, maybe host is the second arg [02:29] llkazu: you're probably bound to 127.0.0.1 [02:29] zakabird: this is working for me on both localhost and no.de [02:29] zakabird: but there are some things i want to deactivate if not on local host [02:30] llkazu: i /believe/ no.de puts a load balancer in front of you, and the app itself is only bound to localhost:port. [02:30] zakabird: i guess im looking for a function that gives me the ip the server is using [02:30] llkazu: the lb on the machine you run on then proxies from the external interface to your machine on the internal. [02:30] llkazu: anyway, check the HOST header on the incoming http request. [02:30] zakabird: hmm interesting [02:30] indutny: ryah: can I give you an advice on ciphers selection? [02:30] llkazu: and remote_addr [02:30] indutny: ryah: in tls.js [02:30] llkazu: and if there's an x-forwarded-for header [02:31] llkazu: remote_addr = 127.0.0.1 and host is 127.0.0.1 or localhost, and there's no x-forwarded-for header, then the traffic is probably coming from localhost [02:31] zakabird: thanks llkazu - i'll need to look into that. it's more complex than I realized. thanks for the info! [02:32] llkazu: np [02:32] matschaffer has joined the channel [02:32] llkazu: as always your mileage may vary, please consult a doctor before using, if you suffer seizures or loss of conscious call 911, etc [02:34] zakabird: I think this is probably something other people will need - its convientent (at least for me) to send code over to the server and exec it - but thats way to insecure to allow out in the wild... [02:34] llkazu: not insecure if you sandbox it! :-) [02:34] llkazu: cloud9ide allows all sorts of arbitrary code execution by users [02:34] robotarmy has joined the channel [02:35] btipling: pquerna: I like whiskey [02:35] btipling: I mean I like the node.js test framework whiskey [02:35] btipling: not the kind you drink :P [02:35] zakabird: well im giving myself total access to fs and exec [02:35] llkazu: i like whiskey! that is, the add-on for the python web micro framework Flask... [02:35] indutny: ryah: https://github.com/joyent/node/commit/050bbf0bc482178b4b5f4c81c50e22f6bbcb6b13 I've added a comment [02:35] prettyrobots: ryah: What's the status of cmake? [02:35] prettyrobots: Wondering if WAF is outgoing or if CMake is a failed experiement. [02:36] skm has joined the channel [02:36] jtsnow has joined the channel [02:36] zakabird: so i can use the browser as a kind of development hq - cant really vm that if you want to be able to run sh, launch programs etc [02:36] llkazu: zakabird, interesting [02:37] zakabird: its the future! lol [02:37] llkazu: lol [02:38] tonymilne: Anyone know if there is something to hook into in expresso when all tests have run for a given .test.js file? [02:38] btipling: pquerna: one thing I don't get about pquerna is why all the exports statements in the examples use the exports['test_blah'] format instead of exports.test_blah dot notation? [02:38] btipling: is there a reason for that? [02:39] MikhX has joined the channel [02:39] davidwalsh has joined the channel [02:40] charlenopires has joined the channel [02:40] btipling: I don't get why assert.ok isn't called assert.isTrue [02:41] javaanse_jongens has joined the channel [02:41] Swimming_bird has joined the channel [02:41] iammerrick has joined the channel [02:42] entro has joined the channel [02:43] iammerrick: is there a standard MySQL driver for the node community ? [02:43] kkaefer: does anyone have insight into how v8 optimizes functions that are declared inside another function? [02:43] kkaefer: will it start optimizing that from the beginning for each outer function call? [02:43] jimt_ has joined the channel [02:43] kkaefer: iammerrick: felixge's node-mysql seems to be widely used [02:43] iammerrick: kkaefer: Thank you :-) [02:44] jakehow has joined the channel [02:45] matschaffer1 has joined the channel [02:46] tim_smart has joined the channel [02:47] javaanse_jongens has joined the channel [02:47] indutny: ryah: any thoughts on cipher selection? what do you think? [02:47] pyrotechnick: does anyone know if you're supposed to be able to collaborate on a cloud9 trial? [02:47] intel_ix has joined the channel [02:47] JulioBarros has joined the channel [02:47] intel_ix: Can someone tell me if node.js has a websocket library available to download? [02:48] intel_ix: Which ones the best anyway [02:49] pyrotechnick: intel_ix: socket.io [02:49] pyrotechnick: it can also fall back to XHR, htmlfile (IE), etc [02:49] pyrotechnick: otherwise theres some pure websocket libraries here ... [02:50] tbranyen: i know what you mean but its funny that you mention XHR which was invented by the IE team and then list htmlfile (IE) [02:50] jeff_horton has joined the channel [02:50] pyrotechnick: https://github.com/joyent/node/wiki/modules#ws-ajax [02:50] pyrotechnick: that's not funny [02:50] tbranyen: i found it comical /shrug [02:50] pyrotechnick: :p [02:51] pyrotechnick: id probably know more and not sound so noob if i cared [02:51] pyrotechnick: ie is the butthole of the internet [02:51] indexzero has joined the channel [02:51] tbranyen: IE 9 on Windows 7 is the only way to experience native HTML5 [02:51] pyrotechnick: ie 10 preview and theyre only just putting in css gradients [02:51] tbranyen: its the fastest most beautiful way to experience the web [02:51] javaanse_jongens has joined the channel [02:51] pyrotechnick: haha [02:51] tbranyen: All browsers pale in comparison [02:52] Tsesame: Anyone know of a module for scheduling event executions? [02:52] pyrotechnick: cool [02:52] pyrotechnick: you wanna play some webgl with me? [02:52] intel_ix: FF4 is a lot better [02:52] pyrotechnick: how about use some websockets? [02:52] intel_ix: on standards support, and speed [02:52] pyrotechnick: how about some css gradients? [02:52] tbranyen: webgl is for heathens [02:52] tbranyen: how many games have been written in opengl ... [02:52] intel_ix: Nightly FF is amazing, it even beats chrome [02:52] pyrotechnick: umm [02:52] pyrotechnick: portal 2 [02:52] tbranyen: seems directx is still teh gold standard [02:52] jjmalina: lol. justt lol [02:53] tbranyen: if you want a game done right [02:53] pyrotechnick: if you're not writing your games in at least opengl then you're fucking insane [02:53] pyrotechnick: what do you think the playstation runs? [02:53] tbranyen: tell that to all the game devs that are windows only because of the fantastic directx library [02:53] pyrotechnick: what do u think the iphone/ipad run? [02:53] iammerrick: If you guys can't tell I am really n00b is there any documentation on maybe multifile usage with express? [02:53] pyrotechnick: you [02:53] pquerna: btipling: only so they can be more descriptive [02:53] tbranyen: i dunno i'll have to wait until they run windows phone 7 for tablets [02:53] pyrotechnick: are so violently misinformed [02:53] iammerrick: so everything isn't run in app.js + views [02:53] pyrotechnick: im not sure you should be discussing this [02:54] pquerna: btipling: but you can use the other notation [02:54] intel_ix: Linux is taking over the corporate market, hint: no direct x on linux, hint2: desktops usually follow [02:54] newy has joined the channel [02:54] tbranyen: linux isn't enterprise ready, Windows 2008 Server is the only true enterprise ready operating system [02:54] pyrotechnick: ask someone in finance [02:54] pyrotechnick: man i didnt realise you were trolling [02:54] pyrotechnick: sorry [02:55] intel_ix: Linux has 70% enterprise share [02:55] intel_ix: ._. [02:55] tbranyen: pyrotechnick: :-) [02:55] tbranyen: i could keep going [02:55] pyrotechnick: yeah [02:55] pyrotechnick: if you want [02:55] pyrotechnick: nobody else is talking [02:55] jjmalina: i found this entertaining at least [02:55] pyrotechnick: we should talk about the amazing upcoming features of windows 8 [02:55] jimt has joined the channel [02:56] pyrotechnick: i heard you can use videos as your wallpaper [02:56] tbranyen: they just released a kinect sdk which will change the world again, microsoft keeps innovating, everyone else is a step behind [02:56] pyrotechnick: hey man [02:56] realazthat_ has joined the channel [02:56] pyrotechnick: xbox/kinect is the one product i actually give microsoft credit for, they're dominating in terms of awesomeness [02:56] tbranyen: you want all those fancy interfaces you see in movies, avatar, minority report? you'll have to go microsoft :) [02:56] llkazu: any tips on dynamically loading js files? [02:56] pyrotechnick: they mightent have the sales but they certainly deserve them [02:57] llkazu: i was trying to do something like: require("./mod_" + name + ".js"); [02:57] llkazu: but it freaks [02:57] pyrotechnick: the kinect is one of the most innovative products to come out in years [02:57] javaanse_jongens has joined the channel [02:57] pyrotechnick: it's very very compelling [02:57] pyrotechnick: whilst sony went away and blatently copied nintendo with the move [02:57] llkazu: lol [02:57] pyrotechnick: microsoft actually took a risk and made something new [02:57] pyrotechnick: and by god did it pay off [02:57] intel_ix: kinect is just a wii copy [02:57] intel_ix: Done much better [02:57] pyrotechnick: oh yeah? [02:58] llkazu: kinect is wii without the wiimote [02:58] llkazu: lol [02:58] pyrotechnick: the camera is in the wiimote with wii [02:58] tbranyen: not quite :-p [02:58] pyrotechnick: camera is centralised in kinect [02:58] tbranyen: speaking of which i should release my wiimote bindings tonight if i can [02:58] jjmalina: you cant talk to your wii [02:58] pyrotechnick: two completely different ballgames [02:58] pyrotechnick: it also doesnt rely on accelerometers and gyros [02:58] llkazu: jjmalina, bullshit, i have a mic on my wii :-p [02:58] tbranyen: llkazu: you have a speaker [02:58] pyrotechnick: although it's impossible to play if you have a coffeetable lol [02:58] intel_ix: technically, not conceptually [02:58] tbranyen: i don't think there is a mic in there [02:58] intel_ix: it's the same [02:59] pyrotechnick: no its not bro [02:59] llkazu: tbranyen, i have a microphone attached via usb. its an accessory. [02:59] intel_ix: Same idea, Microsoft just copied an idea. [02:59] tbranyen: ah i see [02:59] pyrotechnick: no its not bro [02:59] pyrotechnick: u know what the wiimote sees? [02:59] pyrotechnick: two fucking red dots on the wiibar [02:59] pyrotechnick: you know what the kinect sees? [02:59] tbranyen: well it can read more than that [02:59] pyrotechnick: color 3d footage [02:59] intel_ix: I said they did it a lot better. [02:59] intel_ix: It's still a copy, just done better. [02:59] pyrotechnick: dude [03:00] JianMeng has left the channel [03:00] pyrotechnick: just [03:00] pyrotechnick: no [03:00] iammerrick: So anyone have any tutorial or code sample of using more then just app.js for application logic [03:00] Tsesame: Scheduling on node.js? I'm not a big fan of cron folks [03:00] tbranyen: pyrotechnick: if you're interested in the kinect, i have a project starded working with it in node [03:00] mikegerwitz: >.> I had to double-take; am I still int he right room? [03:00] pyrotechnick: tbranyen: same [03:00] llkazu: ok, conceptually the kinect the and the wiimote do the SAME things. track 3d body motion. the wiimote is more LIMITED than kinect, in that the kinect can theoretically track body movements in more detail with more accuracy. [03:00] tbranyen: pyrotechnick: o rly [03:00] pyrotechnick: we're doing some stuff with webgl/kinect [03:00] pyrotechnick: private though [03:00] llkazu: but what do you expects for 4+ years of extra dev time? [03:00] tbranyen: pyrotechnick: openni? [03:00] pyrotechnick: nope [03:01] tbranyen: why bother then! [03:01] blueadept: would anyone be able to tell me why Example 1 works, and example 2 doesn't work when trying to update a doc? http://pastie.org/private/azr1i0ysnnvcfn4hf9gpog [03:01] tbranyen: openni is basically what was written for the xbox [03:01] pyrotechnick: because we needed a fuller featureset [03:01] tbranyen: although thats not to say thats anything to brag about [03:01] tbranyen: since the xbox fails horribly with menu systems [03:01] pyrotechnick: we also have some blackmarket dev kits lol [03:01] pyrotechnick: so it made it kind of easy to use ms code [03:02] tbranyen: ah i'm use libfreenect in linux [03:02] tbranyen: using* [03:02] pyrotechnick: yeah we tried a handful before we settled on this [03:02] intel_ix: Also, what's a good websocket library? [03:02] pyrotechnick: its fucked up and cant be distributed but we're not handing the kinect stuff over to players [03:02] pyrotechnick: its for dev [03:02] pyrotechnick: i linked you intel_ix [03:02] pyrotechnick: https://github.com/joyent/node/wiki/modules#ws-ajax [03:02] pyrotechnick: socket.io [03:02] iammerrick has left the channel [03:02] intel_ix: > implying not websocket library [03:02] intel_ix: ._. [03:02] pyrotechnick: what? [03:03] tbranyen: link him a few more times [03:03] realazthat__ has joined the channel [03:03] tbranyen: just to be safe [03:03] pyrotechnick: https://github.com/joyent/node/wiki/modules#ws-ajax [03:03] pyrotechnick: https://github.com/joyent/node/wiki/modules#ws-ajax [03:03] llkazu: soooooo any ideas on this dynamic js loading? [03:03] [[zz]] has joined the channel [03:03] intel_ix: >implying best library does not mean list of random ones [03:03] llkazu: http://pastebin.com/3sFJpQg3 [03:03] tbranyen: intel_ix: best is a relative term [03:03] intel_ix: >implying there can only be one best [03:03] llkazu: seriously wtf [03:04] tbranyen: llkazu: looking [03:04] themiddleman has joined the channel [03:04] intel_ix: >implying lists have multiple [03:04] tbranyen: intel_ix: you have high expectations for a free support channel at 11pm est [03:04] Twelve-60 has joined the channel [03:04] jimt_ has joined the channel [03:04] tbranyen: figure out which is best for your own needs [03:05] tbranyen: you've already been linked a list and told socket.io is a fine choice [03:05] intel_ix: I just want to know which one other people have worked for them [03:05] intel_ix: socket io isn't websocket [03:05] pyrotechnick: what is it then? [03:05] halfhalo: it can use websockets... plus others, so its double win [03:05] tbranyen: intel_ix: well i could tell you it is, but you'll just find some random excuse that makes no sense [03:05] llkazu: intel_ix, socket.io is websocket++ [03:05] pyrotechnick: is he trolling or what? [03:05] intel_ix: not the socket io I found ,._., [03:05] tbranyen: well you can disable everything and just use webscokets [03:05] pyrotechnick: trolls are sposed to be at least semifunny [03:06] halfhalo: trollintrollingtrolling... [03:06] llkazu: intel_ix, http://socket.io? [03:06] pyrotechnick: not funny troll is not funny [03:06] tbranyen: ilowhy: uhhh [03:06] halfhalo: TO THE TROLLDEN OF TROLLS! [03:06] tbranyen: dude [03:06] tbranyen: er [03:06] tbranyen: llkazu: [03:06] tbranyen: did you even look at the error? [03:07] tbranyen: worker_sendEmail is not defined [03:07] llkazu: oh dammit. sorry. that was the wrong paste. [03:07] wilmoore has joined the channel [03:07] tbranyen: heh [03:07] tbranyen: well i hope so! [03:07] tbranyen: Can you accept the challenge? [03:07] tbranyen: http://www.microsoft.com/windowsphone/en-us/features/default.aspx?cmpid=47E1E5D1-A5BF-46E9-85D1-A7426F4DBAB9 [03:08] intel_ix: socket io isn't a real websocket program ._. [03:08] halfhalo: it uses it as one of the transports, which is what matters [03:08] pyrotechnick: intel_ix: let it go [03:08] llkazu: tbranyen, http://pastebin.com/b6yzPBBx [03:08] llkazu: packet.func = "sendEmail" [03:08] intel_ix: I need a websocket interface. Socket io isn't that. [03:08] llkazu: line 2 is the worker_name variable. [03:08] llkazu: 7-13 is the code being executed to try and load the module [03:08] intel_ix: It is an abstraction layer. [03:09] pyrotechnick: a websocket interface? [03:09] tbranyen: intel_ix: node-websocket then [03:09] eventi has joined the channel [03:09] tbranyen: thats a direct implementation iirc [03:09] pyrotechnick: then get the websocket spec and implement it on top of the http server [03:09] pyrotechnick: its not that hard [03:09] pyrotechnick: ive done it in 30 LOC [03:09] llkazu: intel_ix, http://search.npmjs.org/ [03:10] tbranyen: llkazu: ./worker_sendEmail.js exists in that folder? [03:10] llkazu: yup! [03:10] llkazu: akrill@ip-10-84-119-109:~/projects/taskforce$ ls [03:10] llkazu: master.js slave.js worker_sendEmail.js [03:10] tbranyen: can you fs.readFile( './worker_sendEmail.js', function( data ) { console.log( data.toString() ); }); ? [03:10] newy has joined the channel [03:10] tbranyen: see if it spits out the file [03:11] dylang has joined the channel [03:11] tbranyen: require( 'fs' ).readFile * [03:11] llkazu: ACTION tries [03:11] pyrotechnick: haha tj has lost his mind [03:11] llkazu: { message: 'Cannot call method \'toString\' of null', [03:11] llkazu: filename: 'file://slave.js', [03:11] llkazu: lineno: 5 } [03:11] llkazu: :-/ [03:11] pyrotechnick: i think all the trolling has gone to his head [03:11] tbranyen: llkazu: ha whoops [03:11] tbranyen: err, data [03:11] tbranyen: in the callback [03:12] tbranyen: all null tells me there wasn't an error [03:12] tbranyen: :-/ [03:12] tbranyen: altho* [03:12] tbranyen: llkazu: do you have a module.exports in there? [03:13] ryah: indutny: could you verify https://gist.github.com/918661 fixes your issue [03:13] indutny: ryah: yeah, on sec [03:13] drunknbass has joined the channel [03:13] llkazu: tbranyen, exports.process = function() { [03:13] llkazu: return { lol: 123 }; [03:13] llkazu: }; [03:13] indutny: ryah: btw, I'd added a comment [03:13] ryah: indutny: i saw [03:13] llkazu: (in worker_sendEmail.js) [03:14] llkazu: ACTION ponders [03:14] llkazu: tbranyen, hmm, I'm wondering if perhaps the module I'm using to implement web workers for some reason shoves the subprocess to some different working directory [03:15] tbranyen: i dunno [03:15] indutny: ryah: that should work, but IMHO we need to emit drain (I'm building patche version...) [03:15] ryah: indutny: drain is emitted elsewhere [03:16] breakpointer has joined the channel [03:16] indutny: ryah: by who? [03:16] ryah: _pull [03:16] bartt has joined the channel [03:16] indutny: ryah: yeah [03:17] llkazu: tbranyen, so, for some reason require() stops looking in the current working directory in my slave. if i first get the cwd then prepend that to the module name, it works. [03:17] indutny: ryah: building v8 is quite long process, please wait few minutes - I'll report [03:17] llkazu: o.o [03:17] sh1m has joined the channel [03:17] ryah: indutny: thanks [03:17] tbranyen: llkazu: game over man [03:17] llkazu: lol [03:19] javaanse_jongens has joined the channel [03:20] llkazu: anyone using amazon's sqs with nodejs? [03:20] patzak has joined the channel [03:20] patzak has joined the channel [03:22] warz has joined the channel [03:23] indutny: ryah: yeah! woot, test is passing and my server is working [03:23] indutny: ryah: thanks [03:23] jeffmoss has joined the channel [03:24] indutny: ryah: looking forward for correct ciphers selection and NPN! [03:24] indutny: ;) [03:24] intel_ix: Is there any single low level websocket library? ._. [03:24] dnunes has joined the channel [03:24] intel_ix: I just want something that I don't have to piece together the packet protocol ._. [03:25] indutny: ryah: btw, I'm planning to refactor my NPN patch, if I'll do git push -f - will pull request be updated? [03:25] indutny: ryah: or better create new? [03:27] ryah: indutny: i don; tknow [03:27] indutny: ryah: ok, better create new and reference it [03:28] indutny: ryah: actually, are you against it? or there're chances that it'll be pulled? [03:29] intel_ix has left the channel [03:29] ryah: im not against it. do your refactor and update the pull [03:29] ryah: maybe better to just do a new one [03:29] indutny: ryah: yeah, I'll do new one [03:29] indutny: ryah: I'm thinking about hasNPN, probably it'll be better to put it in node_constants? [03:29] indutny: ryah: like OPENSSL_NPN [03:30] indutny: or OPENSSL_NPN_ENABLED [03:30] eventi has joined the channel [03:32] secoif: ryah: what did you think about the discussion in groups regarding currying the callback? [03:32] indiefan2a has joined the channel [03:33] secoif: if anything [03:33] SubStack: cloudhead: optimist 0.1.9 now out, supports -I/foo/bar/baz [03:34] indexzero: dtrejo you around? [03:34] indexzero: oops ... guess not [03:35] Tsesame has joined the channel [03:36] MikhX has joined the channel [03:36] astropirate has joined the channel [03:36] max_dev has joined the channel [03:37] Me1000 has joined the channel [03:37] bsdguru has joined the channel [03:38] mike5w3c_ has joined the channel [03:38] DTrejo has joined the channel [03:40] seivan has joined the channel [03:42] ziro` has joined the channel [03:42] sechrist has joined the channel [03:46] cloudhead: SubStack: <3 [03:47] dnolen has joined the channel [03:47] cloudhead: anyone know if it's possible to set a timeout on keep-alive? [03:50] realazthat__: humm [03:51] trolzies: is there any libs that persist objects to the FS? [03:51] trolzies: or some sort of thrid db? [03:51] cloudhead: thrid? [03:54] MikhX has joined the channel [03:54] Tsesame: Can't just write the json to a file? [03:55] newy has joined the channel [03:55] tylerstalder has joined the channel [03:56] kmwallio has joined the channel [04:00] sechrist has joined the channel [04:00] mattikus has joined the channel [04:01] jtsnow has joined the channel [04:01] indutny: ryah: patch is semi-ready! [04:02] secoif: trolzies: question is why? [04:02] indutny: ryah: I's decided to use NODE_NPN_ENABLED in constants and in tls module [04:02] techwraith has joined the channel [04:02] llkazu has joined the channel [04:02] indutny: ryah: so in the end it looks like: require('tls').NODE_NPN_ENABLED [04:02] trolzies: secoif: well, I need to share session info between different instances on the cloud [04:02] sechrist has joined the channel [04:04] secoif: trolzies: a shared redis db as the session store? [04:05] timcosgrove has joined the channel [04:05] muk_mb has joined the channel [04:05] timcosgrove has left the channel [04:05] trolzies: secoif: yes, but what lib is there in node.js to access a db? [04:06] techwraith: trolzies: https://github.com/mranney/node_redis [04:06] secoif: trolzies: https://github.com/joyent/node/wiki/modules#database [04:07] trolzies: ty guys [04:07] techwraith: secoif, trolzies: Yeah, that's a much better list :) [04:09] ryah: indutny: why the "NODE_" prefix? [04:09] indutny: ryah: your suggestion? [04:09] ryah: NPN_ENABLED [04:09] saikat has joined the channel [04:09] warz has joined the channel [04:09] indutny: ryah: np [04:09] indutny: ryah: that'll be in constants binding and in tls module, ok? [04:09] Mike_R has joined the channel [04:14] ryah: indutny: that's okay [04:14] indutny: ryah: https://github.com/joyent/node/pull/925 [04:15] bits58 has joined the channel [04:15] Emmanuel__ has joined the channel [04:16] norviller has joined the channel [04:16] ziro` has joined the channel [04:16] mbrevoort has joined the channel [04:16] bnoguchi has joined the channel [04:16] bingomanatee has joined the channel [04:17] tim_smart has joined the channel [04:17] indutny: ryah: not so big refactor, just a little bit tidy [04:18] jimt has joined the channel [04:19] indutny: ryah: oops some errors [04:20] indutny: fck [04:21] ryah: please test http://nodejs.org/dist/node-0.4.6.tar.gz [04:21] ryah: (still uploading) [04:24] ryah: (done) [04:24] harth has joined the channel [04:24] Astro has joined the channel [04:25] indutny: ryah: is it without CryptoStream fixes? [04:25] troyan has joined the channel [04:25] tim_smart: mscdex: ping. "wrong ELF class: ELFCLASS32" trying to run example in node-ncurses after compiling on Ubuntu 10.10 amd64 [04:26] tim_smart: Well the arch is intel 64bit [04:26] ryah: indutny: with fix to #892 [04:26] indutny: ryah: cool! [04:26] indutny: ryah: /cc https://github.com/joyent/node/pull/926 [04:27] indutny: ryah: why I can't see fix on github? [04:27] ryah: i haven't pushed yet [04:27] gh0stz has joined the channel [04:28] indutny: great! [04:29] mscdex: tim_smart: can you upload the ncurses.node binary somewhere? [04:30] Me1000 has joined the channel [04:31] indutny: ryah: btw, RC4 cipher selection doesn't work [04:31] bojicas has joined the channel [04:31] indutny: ryah: arrgh... sorry, different branch [04:33] sivy has joined the channel [04:33] indutny: ryah: but anyway it's using AES :) [04:33] mscdex: tim_smart: do you have any of the ubuntu 32-bit support packages installed? [04:34] ryah: indutny: we shoudl expose a getter for the cipher selection [04:35] tim_smart: mscdex: http://dl.dropbox.com/u/396394/ncurses.node [04:35] tim_smart: mscdex: Not on purpose [04:35] indutny: ryah: nope, we should add option SSL_OP_CIPHER_SERVER_PREFERENCE [04:35] indutny: ryah: and only than add getter [04:36] indutny: ryah: and change default ciphers list to what I'd proposed [04:36] ryanfitz has joined the channel [04:37] ryah: ok:) [04:39] mscdex: tim_smart: that binary works fine on my 10.04 server, but i do have 32-bit compatible libs installed [04:39] indutny: ryah: :D [04:39] mscdex: tim_smart: i'll do a vanilla install of 10.10 and see if i can recreate the issue [04:40] briznad has joined the channel [04:41] indutny: ryah: any comments on NPN? ;) Is that pull request looks good, or have something that's need to be fixed? [04:41] Yuffster has joined the channel [04:42] m64253 has joined the channel [04:44] ryah: indutny: i'll look at it tomorrow [04:45] indutny: <3 love node.js community [04:45] indutny: thanks [04:45] tim_smart: mscdex: I probably don't have the 32-bit compat packages installed. [04:45] tim_smart: Can ncurses not be compiled as x86_64 or something? [04:49] trolzies: what are the major differences that I should be worried about when choosing among the backend dbs? [04:49] tbranyen: tim_smart: there an x64 version of ncurses in arch linux repos [04:49] davidascher has joined the channel [04:49] trolzies: three I can choose from easily: mysql, mongoose, redis [04:49] indutny: ryah: btw, anything else related to openssl, that I can do on that weekend? [04:49] tbranyen: so it def can [04:50] ryah: indutny: if you're interested there is a large refactor that needs to be done [04:50] bnoguchi: trolzies: depends on your use case [04:50] ryah: indutny: basically servers need to use SSL_new instead of SSL_CTX_new [04:50] indutny: ryah: interesting [04:51] trolzies: bnoguchi: I've used mysql before, and I know it'd work here, but what are some example use cases that make a difference? [04:51] bnoguchi: trolzies: mysql is fully acid. the other 2 are not. mongodb comes with auto-sharding; the other 2 do not. redis is great for subfeatures of your site but not for the whole site [04:51] ryah: indutny: so that each server-side connection inherits the ca_store from the SSL_CTX associated with the server object [04:51] indutny: ryah: wow, got it [04:52] indutny: ryah: cool :) [04:52] bnoguchi: trolzies: these observations only touch the surface. but there's a lot more nuance [04:52] trolzies: bnoguchi: ty, i'll think on that [04:52] indutny: ryah: actually, it's already using SSL_new, but context is created on every connection, right? [04:53] bnoguchi: trolzies: you might find this useful - http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis [04:53] indutny: ryah: so how can I help you? [04:53] ryah: indutny: yes [04:53] ryah: there needs to be a single context per server [04:54] trolzies: bnoguchi: ty [04:54] chrisdickinson: oof, making myself feel dirty by using this: https://gist.github.com/918906. [04:55] ngs has joined the channel [04:56] indutny: ryah: k, I'll experiment w/ that. Probably I'll pool something from flip_server [04:56] indutny: ryah: not copy, b/c it's BSD licensed [04:58] ryah: indutny: if you copy anything it needs to be in a seperate file with its own copyright header [04:58] indutny: ryah: k, but I won't. I'm using it as example [05:00] losing has joined the channel [05:00] realazthat_ has joined the channel [05:00] Rodtusker has joined the channel [05:03] mscdex_ has joined the channel [05:04] CIA-72: node: 03Ryan Dahl 07v0.4 * rbb621f7 10/ lib/tls.js : [05:04] CIA-72: node: CryptoStream.write returns false when queue > 128kb [05:04] CIA-72: node: Previously the return value of write was dependent on if it was paused or [05:04] CIA-72: node: not which was causing a strange error demoed in the previous commit. [05:04] CIA-72: node: Fixes #892 - http://bit.ly/h4Xg3q [05:04] CIA-72: node: 03Ryan Dahl 07v0.4 * r58002d5 10/ (AUTHORS ChangeLog doc/index.html src/node_version.h wscript): Bump to v0.4.6 - http://bit.ly/dLCHZr [05:04] CIA-72: node: 03Ryan Dahl 07v0.4 * r6110078 10/ src/node_version.h : Now working on v0.4.7 - http://bit.ly/hfoz58 [05:05] meder has joined the channel [05:06] realazthat__ has joined the channel [05:06] Gotham: CIA-72: Stop streaking the channel. [05:06] briznad has joined the channel [05:08] Bonuspunkt has joined the channel [05:08] ph^ has joined the channel [05:14] aguynamedben has joined the channel [05:17] indutny: ryah: [offtopic] are you using vim for C++? [05:18] ryah: indutny: yes [05:18] indutny: cool [05:18] robotarmy has joined the channel [05:20] H4ns has joined the channel [05:21] esundahl has joined the channel [05:22] gkatsev: vim ftw [05:22] seivan has joined the channel [05:23] javaanse_jongens has joined the channel [05:23] ziro`_ has joined the channel [05:23] mjr_: ryah: you guys fixing more TLS issues? [05:23] mjr_: Think that'll fix my mystery connection leaks? [05:25] meso has joined the channel [05:25] astropirate: Don't believe what people tell you. Unexpected errors are the best kind hands down. [05:26] ryah: mjr_: not likely - but there are some good fixes in there [05:26] mjr_: That's good. [05:26] mjr_: I want to move everything to HTTPS as soon as I can [05:26] mjr_: But node seems not quite ready [05:26] ryah: "Don’t strangely drop out of event loop on HTTPS client uploads #892 [05:26] ryah: " [05:26] ryah:  [05:27] ryah: ^- awful bug [05:27] mjr_: oh yeah [05:27] Druide_ has joined the channel [05:27] mjr_: I saw that one. Looks awful [05:27] mjr_: I'm starting to do some https client stuff to talk to Facebook. I hope I don't run into that one. [05:27] javaanse_jongens has joined the channel [05:27] ryah: Don’t error on ENOTCONN from shutdown() #670" [05:27] ryah: ^-- also good [05:28] ryah: that's the req.emit req undefined one [05:28] mjr_: classic [05:28] mjr_: So if you queue up like 10,000 requests in an agent, is it doing some silly shift on an array or something to work through its list? [05:28] mjr_: seems really slow [05:29] ryankirkman has joined the channel [05:29] ryankirkman_ has joined the channel [05:29] Bonuspunkt: ryah https://github.com/joyent/node/issues/824 is still present at node v0.4.6 :( [05:29] tk has joined the channel [05:30] Gotham: What is node.js doing for the Japan relief effort/ [05:30] ryah: Bonuspunkt: oh no [05:30] Gotham: Does anyone know of some examples in action? [05:30] ryah: mjr_: i wonder if it's the shift - someone else was complaining about that [05:31] mcantelon_ has joined the channel [05:31] mjr_: ryah: have you seen Tim's double array shift technique? I use it in node_redis and it's awesomely fast. [05:31] ryah: Bonuspunkt: run it with NODE_DEBUG=tls,net and post the output on that issue [05:31] ryankirkman_ has joined the channel [05:31] Gotham: npm is so sick I need 911! [05:31] Bonuspunkt: ryah on 824 or 670? [05:31] mjr_: ugh, is github broken? [05:32] ryah: 824 [05:32] mjr_: ryah: very fast shift() able queue: https://github.com/mranney/node_redis/blob/master/lib/queue.js [05:32] sivy has joined the channel [05:33] mbrevoort has joined the channel [05:34] mjr_: sucks that you need a magical getter to use .length like a property, but you could always make a .length() function instead [05:39] ryankirkman has joined the channel [05:40] llkazu has joined the channel [05:40] llkazu: any idea what Property '_onTimeout' of object # is not a function means? [05:41] cloudhead1: llkazu: you tried to call _onTimeout as a function, but it isn't one. [05:41] llkazu: actually, i did "setTimeout("doMagic()", 500);" [05:42] llkazu: :-( [05:42] reid has joined the channel [05:43] adulteratedjedi has joined the channel [05:44] yenz: llkazu: it's unlikely that "doMagic()" is what you wanted to put there [05:44] yenz: try setTimeout(doMagic, 500) ? [05:45] coreb has joined the channel [05:45] llkazu: interesting. that works. [05:45] llkazu: blech. [05:45] llkazu: thanks, I'm a dork. [05:45] yenz: ACTION shrugs [05:45] yenz: everyone's a newb at some point :) [05:46] llkazu: XD [05:46] JojoBoss has joined the channel [05:47] tk has joined the channel [05:47] plutoniix has joined the channel [05:51] jacter1 has joined the channel [05:52] JulioBarros has joined the channel [05:53] k1ttty has joined the channel [05:54] adulteratedjedi: nah, I've always known everything :-p [05:54] H4ns: hi, where would i look for documentation on node-waf/wscript? i have an extension that consists of a binary module and a supporting .js file and i need to add the latter to the list of files that need to go into the installation directory. [05:55] temp02 has joined the channel [05:57] _Buzzz_ has joined the channel [05:58] Bonuspunkt: ryah how can i run node run it with NODE_DEBUG=tls,net ? just type "NODE_DEBUG=tls,net" at my bash and rerun my script? [05:59] Shrink has joined the channel [05:59] Shrink has joined the channel [06:00] FireFly|n900 has joined the channel [06:02] mikl has joined the channel [06:02] mikl has joined the channel [06:04] kmiyashiro has joined the channel [06:07] derferman has joined the channel [06:08] stagas_ has joined the channel [06:09] EyePulp has joined the channel [06:09] jeffmoss: how do you duplicate an integer? I use str.concat(); to duplicate strings [06:10] jeffmoss: wish there were a dup() function on everything, or something like that [06:10] mscdex: duplicate an integer? [06:11] jeffmoss: I am inside a for loop, I need to basically preserve i in a closure [06:11] SubStack: don't use for loops then [06:11] SubStack: forEach it [06:11] SubStack: or map [06:11] mscdex: fo reach [06:11] tyler-iphone: or 'do' [06:11] mscdex: or while [06:12] mscdex: or goto [06:12] mscdex: ! [06:12] mscdex: :-D [06:12] tyler-iphone: rm -fr / works well also [06:12] mscdex: gosub go! [06:12] tyler-iphone: heh [06:12] path[l] has joined the channel [06:12] jeffmoss: so what if I want to create a new object, not a reference [06:13] jeffmoss: I use str.concat() for strings, isn't that pretty common? [06:14] kawaz_air has joined the channel [06:15] saikat_ has joined the channel [06:15] mscdex: tim_smart: i just got node and node-ncurses installed on a brand new 10.10 amd64 install and the examples work without a hitch [06:15] mscdex: tim_smart: no multilib stuff installed, just build-essential [06:15] mscdex: :\ [06:16] Nexxy has joined the channel [06:16] mscdex: tim_smart: there must be something wonky with your setup somewhere is the only thing i can think of [06:17] mscdex: i haven't had anyone else come to me with that kind of error before [06:19] patcito has joined the channel [06:19] tbranyen: oh boy new node breaks node-waf for me i'm boned [06:19] tbranyen: ImportError: No module named js2c [06:20] tbranyen: Oh god whatever will i do [06:20] Gelegrodan: damn..isnt there any listner for mysql triggers? like LISTEN for postgres :( [06:22] bnoguchi: jeffmoss: other option is to wrap the code that needs i per iteration in a self-executing function - e.g., (function (i) { /* code with i */ })(i) [06:23] tbranyen: oh wait i was running node-waf in the node dir [06:23] tbranyen: good lord its 2:30am [06:23] jeffmoss: mind explaining to me why that works? I've been a little confused on that, I did some tests and realized that it would copy the argument [06:23] jeffmoss: bnoguchi: [06:24] SubStack: jeffmoss: when you use a for loop the variables you declare are in the same scope [06:25] SubStack: so when you for (var i = 0; i < 10; i++) {} or whichever, inside that block `i` is the same `i` for every iteration [06:25] seivan has joined the channel [06:25] bnoguchi: jeffmoss: a function defines a new scope [06:25] SubStack: when you do something like [1,2,3].forEach(function (i) { ... }), `i` is bound at a new function scope so it's in a sense a new `i` every time the callback runs [06:26] bnoguchi: jeffmoss: so the i in function (i) {...} is bound to that new scope [06:26] bnoguchi: jeffmoss: Exactly what SubStack said [06:26] soulofpeace_ has joined the channel [06:26] jeffmoss: yeah is that just the nature of the language? it's not "pass by reference" ? [06:27] bnoguchi: jeffmoss: It's pass by reference for most types [06:27] SubStack: it's more a consequence of how `for` works [06:27] yenz: it's a byproduct of JS's scoping system [06:27] bnoguchi: jeffmoss: Just not for Number [06:27] bnoguchi: jeffmoss: and others [06:27] yenz: namely, function-only scope [06:27] yenz: which is what confuses /everybody/ when they start out w/ JS [06:27] ollie has joined the channel [06:27] bnoguchi: jeffmoss: So e.g., Number and Boolean are not passed by reference; Objects are passed by reference [06:27] jeffmoss: ok, that makes sense thanks [06:27] springmeyer has joined the channel [06:28] JimBastard has joined the channel [06:28] jeffmoss: err, so wait one more question [06:28] rubydiamond has joined the channel [06:28] jeffmoss: eh, nevermind I got it [06:29] jeffmoss: hey does anybody write scrapers in node? [06:29] jeffmoss: I've been using ruby www::mechanize [06:29] jacter has joined the channel [06:30] Bloc has joined the channel [06:30] cphang has joined the channel [06:30] jeffmoss: Ho ho! https://github.com/rpm33/node-mechanize [06:30] jeffmoss: what a great project [06:30] ryah: Bonuspunkt: export NODE_DEBUG=tls,net [06:31] soulofpeace has joined the channel [06:32] bojicas has joined the channel [06:32] bnoguchi: jeffmoss: node.io [06:33] bnoguchi: jeffmoss: https://github.com/chriso/node.io [06:34] aguynamedben has joined the channel [06:35] profynet has joined the channel [06:35] ollie has joined the channel [06:36] SamuraiJack has joined the channel [06:36] Kudos has joined the channel [06:36] jeffmoss: bnoguchi: that looks like a good start, but it's missing the fake browser [06:37] bnoguchi: jeffmoss: ?? [06:37] jeffmoss: it would be such a great language to do scraping in because I used to use ruby www::mechanize and fire up spidermonkey for certain things [06:37] bnoguchi: jeffmoss: You can use jsdom with it [06:37] jesusabdullah: jsdom is actually pretty good for scrapage these days [06:37] jesusabdullah: No, really! [06:38] jeffmoss: hmm, interesting [06:38] tbranyen: jesusabdullah: just gotta remember to disable script execution [06:38] d0k has joined the channel [06:38] bnoguchi: lols [06:38] tbranyen: that bit me in the ass [06:38] tbranyen: when scraping gist's [06:38] jeffmoss: page.forms[0].submit(); [06:38] jeffmoss: could do something like that in it? [06:38] chapel: tbranyen: why would you scrape gists? [06:38] bnoguchi: jeffmoss: dunno. but easy enough to add [06:38] hwinkel has joined the channel [06:38] tbranyen: chapel: get the latest head [06:38] tbranyen: no way to do that atm [06:39] tbranyen: without scraping :-/ [06:39] chapel: not using git? [06:39] tbranyen: chapel: the point would be quickly getting the contents of a gist by id [06:39] jesusabdullah: tbranyen: disable script execution where? [06:39] tbranyen: pulling down a repo isn't efficient [06:39] jesusabdullah: In jsdom? [06:39] tbranyen: jesusabdullah: in jsdom [06:39] tbranyen: yea [06:39] jesusabdullah: What for? You lost me :/ [06:39] tbranyen: so it doesn't execute injected scripts [06:39] jesusabdullah: ah [06:40] bnoguchi: tbranyen: Can't you use the github api to grab gists? [06:40] azeroth_ has joined the channel [06:40] tbranyen: bnoguchi: obv not if i'm scraping ;-) [06:40] tbranyen: they've only implemented creating gists with their api [06:40] soulofpeace has joined the channel [06:40] tbranyen: it a work in progrss [06:40] tbranyen: welp keyboard fail [06:40] bnoguchi: http://develop.github.com/p/gist.html [06:40] profynet has left the channel [06:40] chapel: they haven't done creating tbranyen [06:40] chapel: lol [06:40] jeffmoss: why do you scrape gists? [06:40] chapel: its only get [06:40] tbranyen: chapel: check out node-gist [06:40] bnoguchi: tbranyen: :D [06:41] jesusabdullah: tbranyen: https://gist.github.com/882647 So, am I fucking up here? [06:41] chapel: tbranyen: I made ngist [06:41] tbranyen: jesusabdullah: get raw content [06:41] jesusabdullah: I have to admit, I don't find jsdom to be that user-friendly yet [06:41] bnoguchi: tbranyen: You can grab the gist content via their api [06:41] mytrile has joined the channel [06:41] chapel: `v github ngist [06:41] v8bot: chapel: No such command. [06:41] chapel: hmm [06:41] bnoguchi: tbranyen: see prior link [06:41] chapel: whats the command [06:41] tbranyen: mine blown [06:41] tbranyen: bnoguchi: good link ! [06:41] matjas has joined the channel [06:41] tbranyen: wtf [06:42] tbranyen: i swear i went there, but hey i'm glad i'm wrong [06:42] mscdex: gah i wish Buffers were easier to manipulate and search [06:42] tbranyen: this code sucked [06:42] chapel: tbranyen: where did you find out about node-gist? [06:42] tbranyen: chapel: i googled or somthing [06:42] chapel: :( [06:42] tbranyen: started a rewrite [06:42] tbranyen: well rewrite is harsh, a clean up [06:42] chapel: I made ngist, for creating gists, was the first cli and module for gists on node [06:43] mscdex: it's impossible trying to implement a protocol that can have both plain text and binary, without giving you the byte count for binary data ahead of time [06:43] mscdex: :/ [06:43] chapel: didn't have any code for getting gists [06:43] tbranyen: oh nice [06:43] chapel: but it wouldn't be hard since there is an api [06:43] tbranyen: well really all i wanted was an easy way to install scripts i've written in github [06:43] tbranyen: gists [06:43] tbranyen: this curl command is perfect [06:43] saschagehlich has joined the channel [06:44] groom has joined the channel [06:44] tbranyen: https://gist.github.com/902154 << was working on a convoluted node approach [06:44] dmojoryder has joined the channel [06:45] javaanse_jongens has joined the channel [06:46] tbranyen: this is soooo dope [06:46] tbranyen: i had no idea this existed !!! [06:46] llkazu: o.o [06:46] jimt_ has joined the channel [06:46] tbranyen: llkazu: curling gists [06:46] llkazu: ah [06:46] tbranyen: why the fuck did i waste hours on a scraping solution [06:46] tyfighter has joined the channel [06:47] chapel: funny how that works [06:47] llkazu: cause you're silly :-) [06:47] chapel: now you know why I was confused you were scraping [06:47] tbranyen: lol [06:47] tbranyen: yea [06:47] tbranyen: i must have been high on glue or something [06:47] bnoguchi: tbranyen: better late than never [06:49] jaket has joined the channel [06:50] esundahl has joined the channel [06:51] tyfighter: :) [06:52] ajnasz has joined the channel [06:53] jetienne: node 0.4.6 deb is uploading [06:55] stonebranch has joined the channel [06:56] lukstr has joined the channel [06:56] emattias has joined the channel [06:56] Bonuspunkt: ryah https://github.com/joyent/node/issues/824#issuecomment-999533 - should i also reopen the issue? [06:57] pdelgallego has joined the channel [06:58] ryah: Bonuspunkt: oh sorry, please post in #670 [06:59] ryah: Bonuspunkt: can you reproduce that reliably? [07:00] TomsB has joined the channel [07:00] ivanfi has joined the channel [07:01] ceebee has joined the channel [07:01] kawaz_air has joined the channel [07:03] teemow has joined the channel [07:04] V1 has joined the channel [07:04] harlanji has joined the channel [07:05] Twelve-60 has joined the channel [07:06] JojoBoss has joined the channel [07:07] niftylettuce has joined the channel [07:08] niftylettuce: if i have an an array 'companies', with each company in the first level of array having its own array... how do I create a new item for each company? (e.g. companies[i].total_members = 4) [07:08] niftylettuce: i might be having a major brainfart [07:09] niftylettuce: or just not getting syntax right? [07:09] beejeebus has left the channel [07:09] niftylettuce: companies[i]["total_members"] = 5; ? [07:10] tonymilne: companies[i].members = new Array(4); [07:10] skm has joined the channel [07:10] tonymilne: companies[i].members.push('Tony'); [07:10] fangel has joined the channel [07:10] tonymilne: companies[i].members[0] // Tony [07:10] tonymilne: something like that? [07:10] teemow has joined the channel [07:11] niftylettuce: tonymilne: http://pastie.org/private/d0yeisi4r1elnqqac9flg [07:11] raphdg has joined the channel [07:11] meso has joined the channel [07:11] saschagehlich has joined the channel [07:11] ngs has joined the channel [07:11] lorhko has joined the channel [07:11] Bonuspunkt: ryah yes, this always happens as long as no new request occure [07:12] ngs has joined the channel [07:12] mraleph has joined the channel [07:12] Bonuspunkt: after the request is processed wait 120sec --> execption [07:12] Bonuspunkt: but i can only reproduce it at that host [07:12] tonymilne: niftylettuce: you actually might be able to refactor your query to include a count aggregate. [07:12] ph^ has joined the channel [07:12] niftylettuce: tonymilne: yeah I heard of that I just don't know how atm [07:12] niftylettuce: tonymilne: suggestions welcome :) :) [07:13] troessner has joined the channel [07:13] tonymilne: sec, firing up a mysql (thats what you're using ya?) [07:13] niftylettuce: tonymilne: yeah [07:13] hwinkel has joined the channel [07:14] javaanse_jongens has joined the channel [07:14] Druide_ has joined the channel [07:15] saschagehlich_ has joined the channel [07:15] tk has joined the channel [07:16] Bonuspunkt: ryah https://gist.github.com/882204 / http://localhost:7000/Modules/ClientFX/images/gray/qtip/tip-sprite.gif --> after 120sec node crashes - 100% reliable [07:16] tonymilne: Try a query like: [07:17] tonymilne: select companies.*, count(users.id) [07:17] tonymilne: from companies, users.id [07:17] tonymilne: where companies.id = users.company_id [07:17] tonymilne: group by company.id; [07:17] tonymilne: that way you should have a user count for each company. [07:17] tonymilne: You can also give that column a label to with the as clause. [07:17] realazthat_ has joined the channel [07:18] tonymilne: If you maintain companies without users yet, you might need an outer join. [07:19] tonymilne: ** from companies, users.id should be: [07:19] tonymilne: from companies, users ** [07:19] niftylettuce: i dont know why I didnt think of altering the SQL to begin with ... [07:19] niftylettuce: sometimes we get so close to stuff we forget the basics [07:19] tonymilne: anywhoo, see how it drops in, and yell if you need more help. [07:19] niftylettuce: yea bout to test [07:20] TomY_ has joined the channel [07:20] jonathantaylor has joined the channel [07:20] tonymilne: It's amazing what the rails era did to database understanding... [07:20] tonymilne: It's like people forgot about all this amazing functionality databases offer and started doing it all in the application. [07:24] MikhX has joined the channel [07:24] konobi: tonymilne: what... databases aren't just there to store my broken concept of "objects" mapping to "tables" !?!?!?!?!? [07:25] jacter has left the channel [07:25] tonymilne: konobi: database triggers, constraints, transactions, WTF ARE ALL OF THESE!?! [07:25] konobi: tonymilne: what!? there's actually MATH behind databases!??!?!?!?! [07:25] konobi: =0) [07:25] niftylettuce: tonymilne: hey it worked, but some companies don't have any users assigned to them, so is there a way to default return 0 if the count is 0 for count(users.id) ? [07:25] mAritz has joined the channel [07:25] littke has joined the channel [07:26] niftylettuce: tonymilne: http://pastie.org/private/subd2gqc2qwlxhzrkg7iaw [07:26] tonymilne: niftylettuce: yeah, i saw that coming ;) Two secs. [07:26] niftylettuce: <3 [07:26] wscherphof has joined the channel [07:27] konobi: tonymilne: sounds like you're the sort of person who would appreciate dbix-class [07:27] tonymilne: dbiyf class? Xavier Shay? [07:28] tonymilne: konobi: o.O sorry, it's an actual software class. hehe. Friend of mine Xav has been running a physical educational class. [07:29] konobi: tonymilne: http://search.cpan.org/~abraxxa/DBIx-Class-0.08127/lib/DBIx/Class.pm [07:29] mytrile has joined the channel [07:30] niftylettuce: tonymilne: do I need something like: CASE WHEN [hire_date] IS NULL THEN 'default_date' ELSE [hire_date] END AS hire_date," ? [07:31] niftylettuce: tonymilne: if so, not sure how to format that syntax for my purposes [07:31] pomodoro has joined the channel [07:32] realazthat__ has joined the channel [07:33] tonymilne: niftylettuce: you should just need to swap the join condition over from: [07:33] tbassetto has joined the channel [07:34] tonymilne: from companies, users [07:34] tonymilne: to [07:34] tonymilne: from posts [07:34] tonymilne: left outer join comments on (posts.id = comments.post_id) [07:34] tylerstalder has joined the channel [07:34] tonymilne: (note the two lines are needed in the condition) [07:34] tonymilne: oops - [07:34] tonymilne: was testing with posts + comments [07:35] KungFuHamster has joined the channel [07:35] niftylettuce: got it :) :) :)!!! [07:35] niftylettuce: tonymilne: ty sir [07:35] tonymilne: from companies [07:35] tonymilne: left outer join users on (companies.id = users.company_id) [07:35] tonymilne: ;) [07:35] niftylettuce: tonymilne: ps- nice site [07:35] tonymilne: hehe. thanks. it's collecting dust. [07:35] tonymilne: seem to be busy doing "real work" to write stuff. ;) [07:36] tonymilne: got about 2,359 articles to write to help people on Node stuff. [07:36] [AD]Turbo has joined the channel [07:36] [AD]Turbo: hi there [07:37] path[l] has joined the channel [07:37] niftylettuce: tonymilne: I would be willing to help [07:37] jaket_ has joined the channel [07:38] niftylettuce: tonymilne: as would my time [07:38] niftylettuce: team** [07:38] k1ttty has joined the channel [07:39] tonymilne: Thank you for your offer. :) I'm thinking of getting a macbook air through work, [07:39] Shinuza has joined the channel [07:39] tonymilne: currently my home pc is at a friends house (has been for way too long) [07:39] tonymilne: so if i do that, i can use it at home and work, and write about what i do at work in my spare time at home. [07:39] niftylettuce: tonymilne: check out http://slickdeals.net [07:39] niftylettuce: under search type 'mac' or laptop [07:39] niftylettuce: great deals :) [07:40] niftylettuce: there was macbook air for $800 other day [07:40] niftylettuce: USD [07:40] aabt has joined the channel [07:42] bkozal has joined the channel [07:42] tonymilne: Anyone able to explain Jasmin spies briefly for me? [07:43] cheater_ has joined the channel [07:43] tonymilne: (basically, i want to avoid running a function on an object, and either run a mock of that function, or just return a value) [07:48] augustl: new Buffer([0x00, 0x00, 0x00, 0x0c]) === new Buffer([0x00, 0x00, 0x00, 0x0c]) is false, so is new Buffer([0x00, 0x00, 0x00, 0x0c]) == new Buffer([0x00, 0x00, 0x00, 0x0c]) [07:48] Levi has joined the channel [07:49] augustl: how should I check if buffers are identical? [07:50] ryah: augustl: loop through and check each value [07:50] augustl: I see, thanks [07:51] skm has joined the channel [07:51] shiawuen has joined the channel [07:51] sendark_ has joined the channel [07:51] niftylettuce: tonymilne: hmmm http://pastebin.com/5t5Tn1Yb [07:52] niftylettuce: tonymilne: its limiting to two results, there are 4 companies, only 1 of which has users, and only 2 get shown from that SQL output [07:53] llkazu: ok, anyone here know how to publish npm stuff? [07:53] llkazu: i did the npm adduser step. [07:53] tonymilne: try swap the last line to companies.id [07:53] llkazu: then tried npm publis [07:53] llkazu: *publish [07:53] llkazu: and it didn't work [07:54] llkazu: "Error: Cannot insert data into the registry without authorization" [07:55] sako has joined the channel [07:59] niftylettuce: tonymilne: worked like a charm [07:59] tonymilne: niftylettuce: neat. good work. [08:00] ElDios has joined the channel [08:00] niftylettuce: tonymilne: tyvm, lmk if i can help [08:00] ElDios: morning everyone [08:00] niftylettuce: ElDios, \o [08:01] javaanse_jongens has joined the channel [08:02] ElDios: \o/ [08:02] aho has joined the channel [08:04] mraleph has joined the channel [08:04] eschnou has joined the channel [08:05] herelately has joined the channel [08:05] Remoun has joined the channel [08:06] ph^ has joined the channel [08:06] bergie has joined the channel [08:09] Emmanuel__ has joined the channel [08:10] JimBastard: npm rap coming next [08:10] jesusabdullah: XD [08:10] V1: o, dear [08:10] saschagehlich has joined the channel [08:10] JimBastard: jesusabdullah: you see https://github.com/nodejitsu/jitsu yet? [08:10] JimBastard: its started to look niiiiice [08:11] JimBastard: gettinnnn....there.... [08:11] augustl: what exactly is console.log doing to objects? [08:11] augustl: not calling toString at least [08:11] roidrage has joined the channel [08:12] augustl: http://wiki.commonjs.org/wiki/Console#log.28object.5B.2C_object.2C_....5D.29 doesn't seem to mention [08:13] javaanse_jongens has joined the channel [08:17] msucan has joined the channel [08:17] javaanse_jongens has joined the channel [08:17] tfe__ has joined the channel [08:18] saschagehlich: V1: [08:18] saschagehlich: oops, ping! [08:18] V1: pong! [08:18] saschagehlich: looks like I finally fixed the connect_failed thing [08:19] V1: it was a proxy issue? [08:19] patzak has joined the channel [08:19] saschagehlich: three reconnect attempts seemed to fix it [08:19] patzak has joined the channel [08:19] V1: huh? o_o? [08:19] saschagehlich: nope - the port thing didn't fix it [08:19] __tosh has joined the channel [08:19] V1: Well that's just odd [08:19] KungFuHamster_ has joined the channel [08:19] saschagehlich: on a connect_failed I now just try to .connect() again [08:19] saschagehlich: three times [08:19] saschagehlich: reduced the connect_failed bugs by 99.5% [08:19] V1: =// [08:20] tfe_ has joined the channel [08:20] V1: but it does make you wonder, why it occurred in the first place [08:20] saschagehlich: sure [08:20] saschagehlich: many people told me that this error appears - in all browsers [08:20] robhawkes has joined the channel [08:20] piscisaureus has joined the channel [08:21] V1: Anyways, we have started to do some proxy block testing of our own. As we want to run socket.io on port 4000 so it doesn't mess with our current deployment stack [08:21] V1: and we measure that about 5% of all our traffic is using a proxy that blocks that port [08:21] mjr_: sad, but you pretty much need to use port 80 or 443 for everything [08:22] saschagehlich: V1: did some cool configuration with haproxy + nginx + node [08:22] V1: mjr_: yup, but our whole apache stack runs on 80 already, and we are not in the position of moving that, or adding a proxy to that [08:22] mjr_: need another IP, unfortunately [08:23] mjr_: We went through this a while back. We ended up just getting a bunch of IPs. [08:23] mjr_: Unfortunately the only way to really handle it. [08:23] mjr_: And boy, the proxy issues are CRAZY [08:23] V1: mjr_: yup, we considered that, but that would mean that we would have to run Socket.IO in a cross domain fasion.. which causes some high quality transports to be disabled [08:23] mjr_: Did you know: many companies are still behind a proxy that does not support chunked encoding? [08:23] mjr_: Sad, but true. [08:24] mjr_: If you make a POST through this proxy with chunked specified, you'll get a 501 back. [08:24] V1: So at this point we consider adding a port check, and if users pass they will connect to port :4000 for real time data streaming, and if they fail, they will connecting to a different subdomain on port 80.. [08:24] herbySk has joined the channel [08:25] mjr_: Fallback is another way to go, but has a whole serious of additional complexity. [08:25] asdfsafdsa: if i'm making a sync function that needs to be passed in a func that gets called when it's finished, should I pass a possible error into that function or should there be a separate function passed in to handle the error? [08:25] V1: which would mean that about 5% of our users will be forced to use less ideal transports, but so be it [08:25] mjr_: whole serious pile, that is [08:25] mjr_: As far as I can tell, the only real way around all of these proxy issues is to use HTTPS. [08:25] V1: saschagehlich: but if you find out what the issue was for the connect_fails in the first place, do share it :p [08:26] V1: mjr_: yeah, I considered that.. But before we do that I want high quality HTTPS support in node.js =p [08:27] mjr_: sigh, yeah, me too [08:27] mjr_: We are using it anyway though [08:28] V1: mjr_: Yup, but I rather avoid it if i have the option [08:28] mjr_: for a lot of captive portals and proxies, HTTPS is the only way to go for streaming. [08:28] saschagehlich: V1: sure, I definitely will [08:28] mjr_: Plus, then it's HTTPS, which is where everything needs to go anyway. [08:28] V1: Id rather see everything go SPDY :) [08:28] mjr_: sure [08:28] mjr_: I would also like a pony [08:29] mjr_: Actually, my daughter would. I would like a Ferrari. [08:29] V1: no, ponies produce a load of shit [08:29] asdfsafdsa: ponies are nice [08:30] V1: id rather have unicorn [08:30] ElDios: a rainbow robot unicorn? [08:30] V1: yup [08:30] saschagehlich: ElDios++ [08:30] v8bot: saschagehlich has given a beer to ElDios. ElDios now has 1 beers. [08:30] mjr_: You can have a unicorn. I'll roar past your rainbow party in my new Ferrari. [08:30] asdfsafdsa: how about a rainbow robot unicorn pegasus pony? [08:30] ElDios: ACTION starts singin "open you eeyeeees"... noooooooo! >_<" [08:30] ph^ has joined the channel [08:31] ElDios: I won't get rid of it for the whole day now! [08:31] V1: mjr_: Why don't you just get a motorcycle [08:31] saschagehlich: do all node.js coders smoke pot? [08:31] asdfsafdsa: i don't do any drugs [08:31] ElDios: only with friends [08:31] mjr_: V1: I already ride this: http://www.aprilia.com/en-US/Model/24/TUONO+1000+R/Overview.aspx [08:31] V1: only when we need to work with HTTPS [08:31] ElDios: better if while coding in a techie meeting [08:31] mjr_: When I'm in SF anyway. [08:32] saschagehlich: V1: April 21st 12:00 CET => nodecamp.eu tickets [08:32] path[l] has joined the channel [08:32] ElDios: a week from now? [08:32] saschagehlich: yep [08:33] V1: mjr_: Sweet, I'm driving a Ducati 848 [08:33] asdfsafdsa: what goes on in these coding meetings? [08:33] ElDios: you rich bastards :) [08:33] niftylettuce: V1: nice ride [08:33] mjr_: V1: big Italian twins [08:33] mjr_: way to go [08:33] V1: saschagehlich: Yeh I'm so gonna camp behind my pc :) [08:33] niftylettuce: mjr_: nice ride [08:33] aslakhellesoy has joined the channel [08:33] ElDios: I'm Italian and I can only afford a suzuki gsxf 600 '01 :) [08:33] ElDios: darn you! [08:34] niftylettuce: I'm college student and afford rent :) [08:34] saschagehlich: I'm German and I don't even have a driving license :X [08:34] ElDios: ducati bikes are made no more than 250km from my home [08:34] niftylettuce: whilst putting up with the boring-est of classes [08:34] niftylettuce: ElDios, lol dang [08:34] ElDios: °_° [08:34] niftylettuce: ferrari factory [08:34] aslakhellesoy: Has anyone managed to `npm build` a package? It just fails for me [08:34] ElDios: that one too [08:35] V1: ElDios: You could be there in one hour if you had a ducati ;) [08:35] ElDios: bla bla bla [08:35] ElDios: :P [08:35] V1: :D [08:36] ElDios: I can be there in an hour and still be able to walk after it with my bike [08:36] V1: :P [08:38] V1: saschagehlich: So did you submit a talk yet for nodecamp? [08:39] saschagehlich: V1: lol. no. [08:39] V1: ;D [08:39] saschagehlich: V1: I guess you didn't either? [08:39] V1: saschagehlich: :$ [08:39] hecticjeff has joined the channel [08:40] V1: "Didn't find the time for it yet" [08:40] saschagehlich: same here... [08:42] saschagehlich: V1: gnah - now what? Now as I think about that connect_failed issue again I guess that people just close the site after the first or second reconnect since this takes pretty long [08:42] saschagehlich: that's why I don't get the connect_failed messages anymore... [08:43] V1: saschagehlich: You are your hard to debug issues @; ;D [08:43] saschagehlich: yup... [08:43] V1: saschagehlich: You are still serving socket.io from a different port than :80 right [08:43] saschagehlich: sometimes I just tell people to use chrome instead of firefox and then it works [08:43] saschagehlich: nope, everything running on port 80 now [08:45] Phunky has joined the channel [08:46] philhawksworth has joined the channel [08:46] ehedenst has joined the channel [08:46] V1: saschagehlich: I really have no clue [08:47] saschagehlich: :( [08:47] V1: especially because we can't reproduce it [08:47] littke has joined the channel [08:48] V1: saschagehlich: when you send your self a connect_failed notification, can you send the transport type that people would have been used if they where connected? [08:48] saschagehlich: eehm maybe [08:48] saschagehlich: is it socket.transport? [08:49] V1: saschagehlich: socket.getTransport( socket.options.transports ).type [08:49] saschagehlich: V1: k [08:51] V1: saschagehlich: var transport = socket.getTransport( socket.options.transports ), type = transport.type || 'notransport'; <-- would probably be better [08:51] saschagehlich: alright [08:53] realz: humm, sometimes my npm doesn't install correctly, but downloads to a directory instead [08:54] realz: so for example: $ npm install node-static [08:54] realz: node-static@0.5.3 ./node_modules/node-static [08:55] bzinger has joined the channel [08:55] V1: npm install node-static -g [08:55] V1: for global installation instead of you current pwd [08:55] realz: V1: ty :D [08:55] xla has joined the channel [08:55] realz: why does it work at other times then? [08:56] augustl: will "close" inevitabely be called after "end" on a socket? [08:57] V1: realz: you probably updated to npm 1 [08:57] V1: 1.0* [08:58] augustl: also, what is net.Stream vs net.Soket? [08:58] augustl: node-mysql uses a net.Stream, but it's not documented as far as I can tell [08:59] augustl: ah :) https://github.com/joyent/node/blob/e2d90185351b1d1b93f3/lib/net.js#L242 [09:03] k1ttty has joined the channel [09:03] realz: humm, I am still getting "Cannot find module" errors even after installing the modules [09:03] niftylettuce: tonymilne: yt? [09:08] littke has joined the channel [09:09] niftylettuce: sql query to get all records from 'files' table, use files.owner_id to lookup in users the users.id that matches, then lookup in companies table the companies.id that matches users.company_id of the user.id? [09:09] niftylettuce: never did JOIN statements before [09:09] niftylettuce: mysql [09:09] augustl: is it possible to trap writing to a net.Socket that isn't writable? [09:09] V1: realz: export NODE_PATH=$(npm root -g) [09:09] augustl: having an error callback doesn't seem to be enough [09:09] V1: or actually: https://gist.github.com/916451 <-- instructions for default global installation for npm 1.0 [09:10] realz: V1: ty again [09:10] cmlenz has joined the channel [09:14] pyrotechnick1 has joined the channel [09:14] emattias has joined the channel [09:15] pietern has joined the channel [09:17] ceebee: what templaing engine with expressjs ? HAML ? jade ? [09:17] realazthat_ has joined the channel [09:18] jesusabdullah: I've used jade. It's alright. [09:18] jesusabdullah: You know it has a short list of supported ones, right? [09:18] ElDios: jade is awesome [09:18] snearch has joined the channel [09:18] ElDios: it only *REALLY* misses a better doc [09:18] pyrotechnick1: we used to use haml, then coffeekup [09:19] pyrotechnick1: now we just use DOM ^w^ [09:19] pyrotechnick1: and our life is alot better [09:19] jesusabdullah: I think jade has some warts, but nothing show-stopping [09:19] niftylettuce: can anyone help with a little complex SQL query? [09:19] niftylettuce: i know this isnt /topic [09:19] niftylettuce: but it is for a node.js app ;) [09:19] pyrotechnick1: how complex nifty? [09:19] niftylettuce: i keep getting NULL records on my join [09:19] ElDios: nifty gist it [09:19] jesusabdullah: idk my SQLs, but I just wanted you to know I'm not ignoring you! [09:20] jesusabdullah: I also like using the DOM, pyrotechnick1 [09:20] ElDios: jesus you cannot ignore anyone sorry.. it's your due to listen to humanity complaints [09:20] littke has joined the channel [09:20] pyrotechnick1: you'd want an innerjoin niftylettuce [09:20] niftylettuce: basically I want to display files, and then also display the name of the company associated, but the only foreign key in the files table is owner_id, which relates to an id in the users table, in the users table there is a company_id, which relates to companies table's id, in turn I need to join an extra column for companies.name [09:20] niftylettuce: http://pastebin.com/9H5tHMzE [09:21] jesusabdullah: It's true ElDios! [09:21] pyrotechnick1: left allows null on right, right on the left, outer allows null on both (cartesian) and inner doenst allow any [09:21] jesusabdullah: This is why Jesus doesn't answer prayers. Because he doesn't really understand what you're wanting to do [09:21] jesusabdullah: "Man I'd help you but...I don't know shit about computers." [09:22] sreeix has joined the channel [09:22] jesusabdullah: I know inner and outer in the context of x'y and xy', where ' is a matrix transpose [09:23] jesusabdullah: AS YOU CAN SEE THIS IS NOT MY FIELD [09:24] augustl: setTimeout seems to have no effect on my socket. I have a server on one box and a socket on another. When I disconnect the network cable on the server box, and with my socket to a timeout of 1000, it doesn't time out after one second. [09:24] Shrink has joined the channel [09:24] Shrink has joined the channel [09:26] aconran has joined the channel [09:26] niftylettuce: gah [09:27] jimt has joined the channel [09:31] javaanse_jongens has joined the channel [09:32] augustl: so. I star a net.Server. I write to it with a net.Socket. Then I remove the network plug from the separate machine running the server. Then the socket is still written to without any error or timeout callbacks being called. When I reconnect the server, all the writes in the meantime are received. [09:33] ukev has joined the channel [09:33] augustl: is this buffering something node does? If so can I disable it? Or is it at the OS level? [09:34] tokumine has joined the channel [09:34] RusAlex has joined the channel [09:35] niftylettuce: grrr [09:35] niftylettuce: 5:30 AM [09:35] niftylettuce: i gotta figure this out [09:35] M3l7D0wN has joined the channel [09:35] dcelix has joined the channel [09:37] mike5w3c_ has joined the channel [09:38] jaxdahl has joined the channel [09:39] seivan has joined the channel [09:39] Astro has joined the channel [09:40] aslakhellesoy: Is anyone building and publishing npm packages in private repos? i.e. not on the public npm repo? [09:40] WT has joined the channel [09:40] niftylettuce: I got this so far... http://pastebin.com/RihwFP6Y ... now I need to add in the SQL query to JOIN the companies.name where users.company_id=companies.id [09:40] niftylettuce: any advice? [09:41] coreb has joined the channel [09:42] robhawkes has joined the channel [09:42] mc_greeny has joined the channel [09:43] Guest29496: Yo, can anybody help me please. I use Express.js and Mongo. So, I write a middleware (and used it by app.use(require('./middleware/get_user.js')()) - How can I share Mongo variable from application with this middleware? I try to create new mongo instance but this give 2 connection from 1 app. Thank yo [09:44] mape: Guest29496: app.use(require('./middleware/get_user.js')(mongoInstance)) ? [09:44] mape: or collection [09:47] davidcoallier has joined the channel [09:47] Guest29496: O... shit, shame on me. Night develop is a bad idea :D Thank you very much! [09:47] Shrink has joined the channel [09:47] Shrink has joined the channel [09:48] niftylettuce: nvm got it [09:48] niftylettuce: i was being dumb [09:48] niftylettuce: :) [09:49] javaanse_jongens has joined the channel [09:49] cmlenz has left the channel [09:49] monokrome has joined the channel [09:50] monokrome: Hey. I'm wondering what different users here are using for deployment [09:50] monokrome: As far as making sure the Node servers are running and staying up in a multi-application environment [09:51] monokrome: I'm thinking about Monit [09:51] monokrome: but want to see what else is out there [09:53] saikat has joined the channel [09:53] Guest29496: maybe uncaughtException ? [09:53] SubStack: monokrome: the nodejitsu peeps put together forever [09:54] Gruni has joined the channel [09:54] monokrome: SubStack: forever? [09:55] monokrome: ACTION found it with that awesome Google thing [09:57] monokrome: Hmm. Looks cool. [09:57] monokrome: Guest29496: I'm aware of uncaughtException, but I'm more concerned with when even that fails :) [09:58] monokrome: and with automatically getting things started if the system restarts or something to that effect [09:59] monokrome: SubStack: Does forever take care of the second part? Doesn't look like it [10:00] monokrome: A pretty simple rc script, though [10:01] FireFly|n900 has joined the channel [10:01] Guest29496: It's not, this is job for OS :) [10:01] FireFly has joined the channel [10:01] saschagehlich: V1: looks like all the connect_failed errors appear on a flashsocket connection [10:01] seivan: Anyway of streaming Facebook from node? [10:01] fermion has joined the channel [10:01] monokrome: Guest29496: Other things do it. Starting forever is a job of the OS - but forever could easily have a configuration with an array of files to execute on startup. [10:02] monokrome: So, it's a matter of me wondering if I'm handling that array in bash or a forever configuration :) [10:02] V1: saschagehlich: aah [10:03] saschagehlich: maybe that's because that's the last possible transport? [10:03] V1: saschagehlich: is that last transport in your available transports list? [10:03] V1: or are you using the default setup [10:03] saschagehlich: V1: I'm using the default transports list [10:03] V1: the last transport would be JSON polling [10:05] Sami_ZzZ___ has joined the channel [10:06] V1: saschagehlich: is your flash policy file served correctly? [10:06] saschagehlich: eeehm [10:07] saschagehlich: that config.xml? [10:07] V1: saschagehlich: if you do a request to port 843 is the pocliy file send? [10:07] saschagehlich: yes [10:09] V1: without restrictions? [10:11] saschagehlich: http://http://s19.filsh.net:843/ [10:11] saschagehlich: oops http://s19.filsh.net:843/ [10:13] seivan has joined the channel [10:13] V1: saschagehlich: I have the same issue in firefox o_o [10:13] saschagehlich: V1: HIGH FIVE! [10:14] matyr has joined the channel [10:14] V1: [WebSocket] invalid Connection: undefined [10:14] V1: [Break On This Error] console.error(decodeURIComponent(message)); [10:14] realtroll: http://spitbin.duostack.net/editor.html << prototype of a collaborative pastebin editor using node.js + mozilla ace + jininote [10:14] realtroll: tell me what u guys think :D [10:15] niftylettuce: \o/ goodnight/day to all from the east coast [10:15] realtroll: it might collapse under the load though lol [10:15] realtroll: and there is only one cursor .... :( [10:15] realtroll: needs some work, but wanted to show off my node.js project :D [10:15] V1: saschagehlich: But it does fallback to XHR-multipart [10:16] saschagehlich: V1: does xhr-multipart support cross-domain stuff? [10:16] ceebee: whats the best pratice for serving static content like images etc ? [10:17] muz1 has joined the channel [10:17] monokrome: What are your needs? [10:17] V1: saschagehlich: YUP [10:17] saschagehlich: huh strange [10:18] V1: btw your ads.yeild.com is throwing errors in FF [10:18] ceebee: serving some images etc ... [10:18] V1: same counts for view.atdmt.com saschagehlich [10:18] saschagehlich: eehm what? [10:18] V1: Errors! :D [10:18] saschagehlich: ah okay [10:19] saschagehlich: eeh [10:19] saschagehlich: what? still don't unterstand you :D [10:19] V1: saschagehlich: In Firefox 3.6.3: Permission denied for to call method Location.toString [10:19] V1: [Break On This Error] id = isNode ? elem[ jQuery.expando ] : null, [10:20] V1: line 1137, errrorr [10:20] ph^ has joined the channel [10:20] hwinkel has joined the channel [10:21] saschagehlich: erm [10:21] saschagehlich: are you talking about filsh or what [10:21] V1: saschagehlich: I did notice that the WebSocket fallback had a connection bug [10:21] V1: yes [10:21] V1: https://github.com/gimite/web-socket-js/commit/93034d8baa85ebf01915dd71d9a3c7ebeb36bee4 <-- [10:21] saschagehlich: ah ok [10:21] V1: so if you update your WebSocketMain to the latest version [10:22] tokumine has left the channel [10:22] V1: https://github.com/Hotelsnl/Socket.IO/blob/master/socket.io.js <-- and thats a build to support the latest web-socket-js fallback [10:24] saschagehlich: alright, deploying... [10:24] saschagehlich: V1: deployed... [10:25] V1: that was fast [10:25] saschagehlich: but no difference I guess.. [10:26] V1: saschagehlich: nope didn't make a difference [10:27] saschagehlich: alright - I'll be back in a few hours, got a meeting [10:28] saschagehlich: maybe I'll find out what goes wrong then... cya later [10:28] V1: bye [10:31] ElDios: realtroll I was the one writing :) [10:31] realtroll: ElDios: :D [10:31] ElDios: are you willing to share the code? [10:31] realtroll: yes, it will probably me MIT [10:31] ElDios: github? [10:31] realtroll: I just rehacked some MIT stuff for it anyhow [10:31] realtroll: ElDios: I can do github sure [10:32] ElDios: ok.. I will fork it for sure :) [10:32] realtroll: I probably won't have time to actively maintain it though :D [10:32] ElDios: as soon as you'll post it [10:32] realtroll: I'll be sure to notify everyone in the node.js community [10:34] tschundeee has joined the channel [10:37] yozgrahame has joined the channel [10:39] breakpointer has joined the channel [10:39] tmedema has joined the channel [10:39] tmedema: when do I need to use an async control-flow library and which one is most commonly used nowadays? [10:40] breakpointer has joined the channel [10:40] matyr has joined the channel [10:41] javaanse_jongens has joined the channel [10:41] augustl: tmedema: promises are nice, if I understand you correctly [10:41] augustl: in general, I use them when I have to track state of multiple callbacks, or when I have to nest callbacks and I can't abstract away the nesting in a sensible way. [10:42] tmedema: augustl: if I need to do something simple like, insert something to a database and wait for the callback, would I benefit from such library? [10:43] augustl: not imo [10:43] ryankirkman has joined the channel [10:43] augustl: but if you were to execute two sql queries and do something when both finish, I'd use promises [10:43] augustl: rather than manually tracking callCount == 2 or whatever [10:44] tmedema: augustl: ah I get it, I actually do need such logic, will look into promises [10:44] tmedema: there is also a library called "Step" [10:45] augustl: promises is a generic pattern that's in (or suggested at least) for the commonjs spec [10:45] Ezku\: which promise implementation are you guys using btw? [10:45] tmedema: wondering the same [10:45] augustl: Ezku\: I'm currently working on a larger project where we have our own implementation [10:46] augustl: I've used https://github.com/kriszyp/node-promise as well [10:48] tmedema: augustl: I don't understand how such libary can know when all callbacks have fired [10:48] tmedema: can they? [10:48] augustl: it's not drop-in like that [10:49] augustl: you have to wrap the mysql bindings, or use a mysql lib that already supports promises [10:49] augustl: a common pattern is to have i.e. foo(function () {}); or var promise = foo(); [10:49] augustl: i.e. the same function returns a promise if no callback is given [10:49] tmedema: augustl: alright [10:50] augustl: then you can do promise.all([promiseA, promiseB, promiseC]).then(function () {}); [10:50] augustl: the then function will be called when all the promises are "resolved", i.e. called [10:50] k0Nn3c739 has joined the channel [10:50] Ezku\: i've used node-promise as well, just wondering how standard it is [10:52] tmedema: augustl: I'm just going with a normal counter, the libraries I use do not have a promise variant [10:53] augustl: tmedema: you can still sort of make it work with promises [10:55] augustl: tmedema: http://pastie.org/1794596 [10:55] javaanse_jongens has joined the channel [10:56] tmedema: augustl: pastie seems to be down [10:56] augustl: hmm works for me [10:56] augustl: tmedema: http://pastebin.com/7iqUKrGc [10:56] aabt has joined the channel [10:56] augustl: there are also ways to do actual error handling with promises by not resolving them but doing something else [10:57] TomsB has joined the channel [10:58] augustl: by calling reject instead of resolve [10:58] tmedema: augustl: well that's an easy one though, I am calling one function with a callback which then gets called multiple times until all clients have responded [10:58] tmedema: also, after initiating the function, it is possible that more clients connect [10:58] tmedema: thus the count is dynamic [10:59] augustl: sure, promises aren't the end of all ;) [11:00] tmedema: augustl: so I guess I should just do a if (counter == getMaxClients()) finalCallback(); [11:00] tmedema: inside that callback that is called multiple times [11:00] TomsB: Error: Socket.end() called already; cannot write. [11:00] M3l7D0wN has joined the channel [11:01] augustl: tmedema: sounds good [11:01] TomsB: but I'm writing only when if (stream.writable === true){ [11:01] TomsB: so, why I am getting this error? [11:01] beejeebus has joined the channel [11:01] beejeebus: random question - anyone know of any 'valid chess move' libraries in js? my google fu is failing me [11:01] Shinuza has joined the channel [11:02] yozgrahame has joined the channel [11:03] augustl: beejeebus: http://ichess.morfik.com/ seems cool [11:03] littke has joined the channel [11:03] augustl: my google fu wins! [11:03] augustl: "javascript chess AI" [11:04] beejeebus: augustl: "the google fu is strong in this one" [11:04] beejeebus: thanks [11:04] beejeebus: augustl: i don't want a chess engine necessarily [11:04] beejeebus: just something that doesn't allow invalid moves [11:05] muz1: how do I view the objects saved in mongodb easily? [11:06] mischief has joined the channel [11:08] gmanika has joined the channel [11:09] javaanse_jongens has joined the channel [11:10] pyrotechnick1 has joined the channel [11:11] ElDios: what's still not clear to me about github is.. if I fork a project, how do I include commits made to the original one? [11:11] rvaj has joined the channel [11:13] shaunau: ElDios: you clone your fork, make changes, commit to GH and then send a pull request to the original author (AFAIC) [11:14] shaunau: clone/pull [11:14] shaunau: ..fetch [11:14] Stan____ has joined the channel [11:14] ElDios: what if anyone makes some changes to the *original* one? did those commit goes on my fork too? [11:14] ElDios: if not is it possible to merge them? [11:15] Spookz has joined the channel [11:15] shaunau: no, yeah you need to pull in the chages from the original [11:15] lupomontero has joined the channel [11:15] naneau: ElDios: you set up a remote [11:15] naneau: then you git pull from it [11:15] max_dev has joined the channel [11:15] naneau: ElDios: http://help.github.com/remotes/ [11:15] ElDios: let's see [11:15] naneau: or http://consttype.blogspot.com/2008/10/git-how-remotes-work.html [11:15] ElDios: thanks [11:17] monokrome: git makes that stuff awesomely simple :D [11:17] beejeebus has left the channel [11:18] ElDios: that wasn't exactly what I was going to say XD [11:19] ElDios: I suppose I'll read it slower during my lunch :) [11:19] monokrome: git remote add name_the_origin your_git_url_for_the_base_repsitory [11:19] monokrome: git pull name_the_origin [11:19] monokrome: not very difficult [11:19] jesusabdullah: ElDios: Where are you from? :) [11:20] jesusabdullah: If you don't mind me asking [11:20] ElDios: Italy [11:20] jesusabdullah: Ah! [11:20] monokrome: Cool =] [11:21] jesusabdullah: I was making a Spanish connection with your nick, tbh, but I didn't think it felt right [11:21] ElDios: well.. not that cool in these days.. having a pig prime minister going around squeezing tits and telling sex jokes to other country delegates -_-" [11:21] monokrome: :( [11:21] jesusabdullah: Most Spanish speakers these days are in more similar time zones to me, than you [11:21] monokrome: ACTION wants to go there [11:21] dberlinger has joined the channel [11:21] jesusabdullah: We've all had our lackluster world leaders [11:21] ElDios: jesusabdullah my nick is spanish indeed and it's related to the Diablo Blizzard game [11:21] jesusabdullah: Ah [11:21] monokrome: Berlusconi? [11:21] jesusabdullah: That explains. [11:22] pHcF has joined the channel [11:22] ElDios: monokrome yes he is.. and I care to point out I'm at the exact opposite side (politically speaking) [11:23] hellp has joined the channel [11:24] Poetro has joined the channel [11:24] ElDios: well gotta get s/thing to eat :) l8r [11:25] monokrome: ah [11:25] monokrome: cya [11:26] jesusabdullah: ElDios: Good times! Our last few presidents have all been divisive, and my family loves to argue politics so I get an earfull [11:27] robhawkes has joined the channel [11:27] jesusabdullah: Huh. He sounds relatively conservative, which doesn't fit American stereotypes of European leaders at all! [11:27] jesusabdullah: This is according to the wikipedia article. [11:30] boaz has joined the channel [11:38] jetienne has joined the channel [11:41] jetienne: 5sudo add-apt-repository ppa:jerome-etienne/neoip && sudo apt-get update && sudo apt-get install nodejs <- to install node.js 0.4.6 on ubuntu [11:41] jetienne: without 5 at the begining :) [11:42] KungFuHamster_ has left the channel [11:42] ohtogo has joined the channel [11:43] littke has joined the channel [11:43] herbySk has joined the channel [11:44] ElDios: jesusabdullah last comment on this OT-topic before I start to blame on him: his a criminal, his kneeling justice to save his fuck*in ass from prison or worse, his kneeling girls (in every position... search for bunga-bunga) because he's an ill freaking old-man full of money and power and italians are pretty dumb people.. dumbed in that way in the past few decades by his (mr B's) own television.. and I didn't started the bad part [11:45] ElDios: well the first 2 "his" actually should be "he's" [11:45] ElDios: =) [11:45] Squeese has joined the channel [11:45] muz1: not sure I quite like jade yet [11:45] muz1: very different to what I am used to I guess [11:46] lukus has joined the channel [11:46] pdelgallego has joined the channel [11:47] jonpacker has joined the channel [11:47] dberlinger has joined the channel [11:49] steffkes has joined the channel [11:50] demastrie has joined the channel [11:53] dmcquay has joined the channel [11:58] tiagoa has joined the channel [11:59] nephics has joined the channel [11:59] okuryu has joined the channel [11:59] dnolen has joined the channel [12:00] Levi has joined the channel [12:01] javaanse_jongens has joined the channel [12:01] http402 has joined the channel [12:03] ElDios: muz1 so what are you using instead of jade? [12:03] brolin has joined the channel [12:04] muz1: nothing :) [12:04] monokrome: lol [12:04] muz1: any sugestions? [12:04] monokrome: ElDios: You don't like Jade? [12:04] muz1: I'm still just playing around and learning the frameworks [12:05] muz1: how do I set a style name in jade ? [12:05] max_dev has joined the channel [12:05] monokrome: style name? [12:05] ElDios: I do like jade [12:05] ElDios: style name? [12:05] monokrome: ACTION remembers when he found jade... A few weeks after writing this http://blog.monokro.me/2010/10/reversing-css-selectors-for-node.html [12:05] monokrome: I happyfaced. [12:06] monokrome: ElDios: Can you show me what you want in normal HTML format? [12:06] ElDios: I didn't ask that.. muz1 did :) [12:07] monokrome: Oh, sorry about that. [12:07] monokrome: muz1: ^ [12:07] muz1: heh [12:07] muz1: figured it out [12:07] monokrome: :) [12:07] javaanse_jongens has joined the channel [12:07] monokrome: you mean the style's title? [12:07] muz1: something like
[12:07] muz1: but you just go #welcomePage [12:07] muz1: cool [12:08] monokrome: yep [12:08] monokrome: since div is the default container [12:08] monokrome: brb [12:08] ceebee: a little bit offtopic , but I am searching a good video converter which can be used from within node ... to integrate in a workflow like upload video -> convert to mp4 -> stream [12:09] monokrome: ceebee: You want transcoding? [12:09] ceebee: monokrome : yes [12:09] muz1: cool bed time for me, more tomorrow night [12:09] muz1: cheers all [12:09] monokrome has joined the channel [12:09] monokrome: back :) [12:09] monokrome: back :) [12:11] ceebee: monokrome : yes transcoding [12:11] javaanse_jongens has joined the channel [12:12] sledge: good morning everyone [12:14] augustl: anyways, nå er jeg med på notene, takk for info [12:14] augustl: grrr... silly os x window manager [12:15] V1: pew pew! [12:15] TomY_ has joined the channel [12:16] ryankirkman has joined the channel [12:16] monokrome: augustl: Yes, very silly :( [12:16] V1: Is there a way to compare the contents of 2 buffers? [12:17] monokrome: ceebee: I don't know of any apps that do transcoding for NodeJS [12:17] TomsB: Error: Socket.end() called already; cannot write. Why I am getting this error if I am checking before write like this: if (stream.writable === true){stream.write(...)} [12:17] monokrome: :( [12:17] peter__ has joined the channel [12:17] oskude has joined the channel [12:17] asdfsafdsa: is there a merge options module like jquery's extend function? [12:17] ceebee: monokrome : any framework would be nice that can be started from node.js (via shell ... etc ... ) [12:19] augustl: V1: I just wrote a function that does that [12:19] augustl: V1: 1. compare .length, 2. compare contents byte by byte [12:20] ceebee: monokrome: maybe something like vlc transcode ... [12:20] V1: augustl: happen to have a gist of that :) [12:21] stride: asdfsafdsa: util.extend might be what you're looking for [12:21] dsyer has joined the channel [12:22] unomi has joined the channel [12:22] andi5 has joined the channel [12:23] augustl: V1: for (var i = 0; i < b1.length; i++) { b1[i] == b2[i] } [12:23] augustl: V1: before that, compare b1.length and b2.length [12:23] V1: augustl: oh, that was easy :p [12:24] Ori_P has joined the channel [12:24] monokrome: ceebee: If you don't mind forking the work out to the shell - you can use vlc, ffmpeg, mencoder, or gstreamer [12:25] monokrome: ACTION never does anything directly via shell in NodeJS :/ [12:25] ceebee: monokrome : I will try this ... the tty module would help me there ... [12:25] ceebee: monokrome : I think in my area it will we oky working with the shell ... [12:25] monokrome: ceebee: Not sure how happily async that will work [12:26] ceebee: monokrome : do you know a better way ? [12:26] skm has joined the channel [12:26] monokrome: Aside from writing bindings to your favorite transcoding library in C++? :D [12:27] monokrome: and I guess that depends on your idea of "better" [12:27] hellp has joined the channel [12:27] ceebee: monokrome : thats the solution I was thinking about when a first protype is up and running ... [12:27] jscheel has joined the channel [12:28] ceebee: monokrome : for a first try forking would be sufficient I think ... when i get more time for this project i wil think about writing a binding ... [12:29] monokrome: :) [12:30] monokrome: ACTION gets back to trying to figure out why a random domain is being redirected to localhost [12:30] ceebee: monokrome: but the c++ doesn't look so easy ... and my c++ skills are a little bit rusted in -.- [12:34] Nevtus has joined the channel [12:34] hackband has joined the channel [12:37] criswell has joined the channel [12:37] broofa has joined the channel [12:37] ElDios: hell if "pew pew" make me laugh everytime I read it! [12:37] ElDios: XD guys I feel disturbed in these moments [12:39] realz_is_sleepin has joined the channel [12:40] tiemonster has joined the channel [12:40] roidrage has joined the channel [12:41] jonpacker has joined the channel [12:42] lukus has joined the channel [12:43] kuebk has joined the channel [12:43] kuebk: jo [12:43] kuebk: how can I compile [12:43] kuebk: node.js [12:43] kuebk: with --oprofile [12:43] kuebk: ? [12:44] kuebk: I've installed oprofile package on my debian [12:44] kuebk: but configure keeps giving me [12:44] kuebk: Checking for library ['bfd', 'opagent'] : not found [12:44] incon has joined the channel [12:45] oskude: kuebk: did you install the -devel package too? [12:46] kuebk: oprofile-debug [12:46] kuebk: ? [12:46] oskude: IIRC, on debian you need -devel to get the headers. so you can build against that library [12:46] kuebk: there is no oprofile-debug package :< [12:46] oskude: not debug, devel [12:46] kuebk: root@node:/mnt/node/node-v0.4.5# apt-cache search oprofile | grep oprofile [12:46] kuebk: oprofile-gui - system-wide profiler for Linux systems (GUI components) [12:46] kuebk: oprofile - system-wide profiler for Linux systems [12:47] kuebk: that's what i have [12:47] oskude: hmm [12:47] miccolis has joined the channel [12:48] gorekee has joined the channel [12:48] MacDiva_ has joined the channel [12:48] thiessenp has joined the channel [12:49] Marnixvdb has joined the channel [12:50] kuebk: oskude you have any other idea? [12:50] oskude: kuebk: whats that 'bdf' in that list? maybe it fails on that already [12:50] oskude: eh, bfd [12:50] kuebk: unforntunately no idea [12:50] kuebk: what is this [12:51] Marnixvdb: I'm probably overlooking something simple, but can someone explain me how to populate POST and GET variables when doing a http.request()? [12:52] kuebk: oskude I found it in logwatch [12:52] kuebk: and binutils package [12:53] kuebk: how can I found out what test it makes to find out there is no such commands available? [12:56] apoc: Marnixvdb: you send GET variables in the path option, ...?foo=bar ..., POST variables are written later by request.write(...) [12:56] matschaffer has joined the channel [12:56] sreeix has joined the channel [12:57] oskude: kuebk: dunno. i cant even build the vanilla thanks to python PEP 394 :P [12:58] Marnixvdb: thanks apoc, I'll give it a try [13:00] sirkitree has joined the channel [13:00] no-gooder has joined the channel [13:00] sirkitree has joined the channel [13:01] bzinger has joined the channel [13:01] eb4890 has joined the channel [13:02] bergie has joined the channel [13:03] arpegius has joined the channel [13:04] lupomontero has joined the channel [13:04] lukus has joined the channel [13:05] kuebk: oskude downloaded the oprofile source [13:05] kuebk: will try to build [13:05] Spion has joined the channel [13:06] copongcopong has joined the channel [13:07] graysky has joined the channel [13:07] eldar has joined the channel [13:08] Remoun has joined the channel [13:09] jlecker has joined the channel [13:09] soulofpeace has joined the channel [13:13] aradj has joined the channel [13:13] aradj: hi everybody ;) [13:14] kuebk: hi [13:14] aradj: I need help please, there is someone how can help me ? [13:15] gkatsev: `ask [13:15] gkatsev: hm... [13:15] ekes: http://workaround.org/getting-help-on-irc [13:15] gkatsev: aha, it worked. [13:15] hebz0rl has joined the channel [13:15] gkatsev: lol [13:15] ekes: ;-) [13:15] ElDios: lol [13:16] matclayton has joined the channel [13:16] mikegerwitz: is it a v8bot thing? [13:16] mikegerwitz: `v ask [13:16] v8bot: mikegerwitz: No such command. [13:16] mikegerwitz: guess not! [13:16] gkatsev: should be a gbot2 thing [13:16] gkatsev: gbot2: ask [13:16] aradj: I want install node.js in windows, after launch ash.exe, i can't do a rebaseall [13:16] gkatsev: oh, it's a jsbot thing in ##javascript [13:17] sivy has joined the channel [13:17] tbranyen: aradj: what do you mean you can't? [13:17] tbranyen: is there an error? [13:18] saschagehlich has joined the channel [13:18] aradj: the console tell me to exit all Cygwin processes and stop all Cygwin services ... i don't launch any processes and services ... i don't understand [13:19] thomblake has joined the channel [13:19] xandrews has joined the channel [13:20] aradj: error : rebaseall: only ash and dash processed are allowed during rebasing [13:21] tbranyen: aradj: check running processes for anything resembling cygwin, ssh/shells/etc [13:21] jelveh has joined the channel [13:21] tbranyen: they are all 32bit, so it shouldn't be hard to spot if you have a 64bit machine [13:22] rfay has joined the channel [13:22] malkomalko has joined the channel [13:23] aradj: only bash process ... I'm in 64bit [13:23] jano has joined the channel [13:23] javaanse_jongens has joined the channel [13:23] tbranyen: aradj: kill the bash process? [13:23] willwhite has joined the channel [13:24] aradj: if I kill bash process, I kill the console ? [13:24] tbranyen: you do know that you run ash.exe from run [13:24] tbranyen: its a separate thing [13:24] fumanchu182 has joined the channel [13:25] kuebk: is there any changelog for 0.4.6 [13:25] kuebk: ? [13:25] aradj: From run ?? [13:25] gkatsev: kuebk: yes. ryah sent out an email. May be on the site as well. Need a link? [13:26] tbranyen: its on the node blog [13:26] tbranyen: http://blog.nodejs.org/ [13:26] gkatsev: tbranyen: there's a blog? since when? [13:26] gkatsev: just about a month, I guess [13:27] gkatsev: ACTION subscribes [13:27] javaanse_jongens has joined the channel [13:27] koo6 has joined the channel [13:28] BHSPitMonkay has joined the channel [13:28] joshbaptiste has joined the channel [13:28] Gruni has joined the channel [13:29] drudge has joined the channel [13:31] lukus has joined the channel [13:31] davidsklar has joined the channel [13:31] shiawuen has joined the channel [13:31] javaanse_jongens has joined the channel [13:32] shiawuen_ has joined the channel [13:32] aradj: that's work ... thanks ;) [13:32] littke has joined the channel [13:33] devdazed has joined the channel [13:34] devdazed: hi all, what would be the best way to append to a file without holding an open file handle? [13:35] Me1000 has joined the channel [13:37] arpegius has joined the channel [13:38] Lorentz has joined the channel [13:38] SSgtSpoon|work has joined the channel [13:39] kuebk: gkatsev [13:39] kuebk: thanks [13:39] bradleymeck: devdazed, grab the file handle again and again. either way something is going to hold open the file otherwise [13:39] matyr_ has joined the channel [13:40] devdazed: bradleymeck, is there a convenience method for opening, appending then closing a file? [13:40] bradleymeck: not to my knowledge [13:40] devdazed: ok, thanks [13:41] hwinkel has joined the channel [13:41] garrensmith has joined the channel [13:41] jetienne: sudo add-apt-repository ppa:jerome-etienne/neoip && sudo apt-get update && sudo apt-get install nodejs <- to install node.js 0.4.6 on ubuntu [13:45] cbiscardi has joined the channel [13:46] sub_pop has joined the channel [13:46] trotter has joined the channel [13:46] timmywil has joined the channel [13:46] saschagehlich has joined the channel [13:47] V1: firewalls should DIE@ [13:47] V1: So annoyed that they are block ports :! [13:47] eventi has joined the channel [13:48] V1: *I'm so annoyed that they are blocking ports [13:54] koo6 has joined the channel [13:54] augustl: mmm I love to block ports on my firewall [13:54] augustl: correction: I love to block all ports on my firewall [13:56] V1: ._. [13:59] timmywil has joined the channel [14:01] dmojoryder has joined the channel [14:03] m64253 has joined the channel [14:04] shaunau_ has joined the channel [14:05] dguttman has joined the channel [14:06] c4milo has joined the channel [14:06] MaSch: is there a library that allows me to format a date with a format string like the date() function in php? [14:06] ceej has joined the channel [14:08] mikegerwitz: MaSch: http://phpjs.org/functions/date:380 [14:08] MaSch: oh yes..thanks :D [14:09] justinTNT has joined the channel [14:09] augustl: MaSch: or http://www.google.com/search?q=javascript+strftime [14:09] justinTNT: G'day [14:10] justinTNT: anyone here clear on the diff between the jsdom and jquery modules? [14:10] augustl: they're not related in any way shape or form? :) [14:10] bradleymeck: jquery can run on jsdom. it cant run on node w/o jsdom [14:10] cbibler_ has joined the channel [14:11] tokumine has joined the channel [14:11] justinTNT: no bradleymeck, there is a jquery module. I have it installed. I'm just wondering if jsdom is necessary at all ... [14:12] bradleymeck: justinTNT, it runs ontop of jsdom [14:13] bradleymeck: https://github.com/coolaj86/node-jquery/blob/master/package.json < look at deps [14:13] pashky` has joined the channel [14:13] justinTNT: oooh ... thanks [14:13] sh1mmer has joined the channel [14:13] justinTNT: do you know, does it run scripts by default, or not? [14:14] aphelion has joined the channel [14:14] Yuffster has joined the channel [14:16] justinTNT: ie: if I make a fragment by wrapping jquery around html data that includes script, does it try to call the script or not? [14:16] kkaefer: MaSch: https://github.com/kkaefer/chrono.js [14:16] asabil has joined the channel [14:17] ph^ has joined the channel [14:17] MaSch: kkaefer: thx, thats what i needed [14:17] saschagehlich: Is there a plugin that can convert japanese characters to valid filenames? [14:18] kkaefer: saschagehlich: transliterating characters to latin characters? [14:18] jtsnow has joined the channel [14:19] bradleymeck: justinTNT idk, havent used node-jquery personally [14:19] mc_greeny has joined the channel [14:19] yhahn has joined the channel [14:20] ph^_ has joined the channel [14:20] saschagehlich: kkaefer: yup [14:21] kkaefer: saschagehlich: you could also just use the actual characters as file names\ [14:22] lukus has joined the channel [14:22] justinTNT: ok thx. guess I'll suck and see [14:22] kkaefer: most file systems support them [14:22] brianloveswords has joined the channel [14:22] davidvanleeuwen has joined the channel [14:22] V1: saschagehlich: like libiconv? https://github.com/bnoordhuis/node-iconv [14:23] saschagehlich: well, converting japanese stuff via node-iconv would give me an empty string [14:23] sendark: god almighty parsing JSON on Java is costly (at least with gson, googles implementation) [14:23] V1: saschagehlich: you setting correct encoding? [14:23] mattmcmanus has joined the channel [14:24] V1: UC-JP, SHIFT_JIS, CP932, ISO-2022-JP, ISO-2022-JP-2, ISO-2022-JP-1, EUC-CN, HZ, GBK, CP936, GB18030, EUC-TW, BIG5, CP950, BIG5-HKSCS, BIG5-HKSCS:2001, BIG5-HKSCS:1999, ISO-2022-CN, ISO-2022-CN-EXT [14:24] V1: all different encoding types :$ [14:24] Know1edge has joined the channel [14:24] unomi has joined the channel [14:24] V1: saschagehlich: but a uber hack would probably be using google translate :D [14:24] V1: jp > en with a simple API call ;) [14:25] V1: or jp > de in your case ;) [14:25] saschagehlich: urgh oO [14:26] bits58 has joined the channel [14:26] V1: 日本語 would be translated to japanese [14:27] V1: filty hack, but it's working :) [14:27] saschagehlich: hmmm [14:28] saschagehlich: I'll try that.. [14:29] shiawuen has joined the channel [14:29] bradleymeck: saschagehlich translate.js will make it easy for quick testing [14:29] ryankirkman has joined the channel [14:29] nibblebot: are there any editors/ide's that create function lists of a javascript source files correctly? for php and c, this is easy, but it seems like the JS syntax is not amenable to this [14:29] nibblebot: e.g. functions defined as object.method = function(){} [14:29] MaSch: i think it would be better to use jp > en as there a now special characters in the english language. in de you have to handle the umlauts [14:30] matyr has joined the channel [14:31] copongcopong has joined the channel [14:31] msucan has joined the channel [14:32] colinclark has joined the channel [14:32] peter__ has joined the channel [14:33] postwait has joined the channel [14:33] mattly has joined the channel [14:33] Swimming_bird has joined the channel [14:33] postwait: thanks ryah [14:34] bingomanatee has joined the channel [14:35] vipaca has joined the channel [14:35] vipaca has joined the channel [14:35] andi5 has joined the channel [14:36] jasong_at_apache has joined the channel [14:36] MaSch: is it (easy) possible to extend Writeable Streams in nodejs? [14:37] V1: HA! [14:37] V1: MySQL 5.6 supports memcached protocol XD [14:38] AAA_awright_ has joined the channel [14:38] V1: I lol'd [14:38] naneau: come again? O_x [14:38] V1: http://dev.mysql.com/tech-resources/articles/whats-new-in-mysql-5.6.html#nosql [14:38] shaunau_: Does anyone know of a paypal module to do process transactions and create invoices or anything like that? [14:39] shaunau_: the process looks fairly simple.. but i thought i'd ask first.. [14:39] mraleph has joined the channel [14:40] thiessenp has joined the channel [14:41] V1: maybe paynode has something like that [14:41] V1: https://www.x.com/docs/DOC-2508 ? [14:42] kmiyashiro has joined the channel [14:42] tmzt has joined the channel [14:43] alessio_alexAFK has joined the channel [14:43] shaunau_: V1: thanks for the link - i'll have a poke around [14:44] mytrile has joined the channel [14:44] EyePulp has joined the channel [14:45] ianfarrell has joined the channel [14:45] davidwalsh has joined the channel [14:45] justinTNT: anyone used weld with express? [14:46] matyr_ has joined the channel [14:46] CiRlE has joined the channel [14:47] naneau: V1: that's just scary [14:48] V1: naneau: I'm wondering how it would compare against a regular memcached instance and a membase instance.. [14:48] alessio_alexAFK has joined the channel [14:48] V1: naneau: I know the "Handlersocket" for MySQL was really fast.. So i wonder how this will perform [14:48] ohtogo has joined the channel [14:48] naneau: it's an interesting development to say the least [14:49] V1: Now my memcached driver has to support 3 different server types -_-' memcached, membase and mysql [14:50] jakehow has joined the channel [14:50] mbrevoort has joined the channel [14:51] eee_c has joined the channel [14:52] losing has joined the channel [14:53] kioopi has joined the channel [14:55] kioopi: hi there, jimbastard send me :-) got problems running the test for connect: after a clean checkout from github the tests (make test) fail with a ECONNREFUSED, latest node 0.4.6 [14:55] SSgtSpoon|work has joined the channel [14:55] norviller has joined the channel [14:58] Twelve-60 has joined the channel [14:58] mtsl has joined the channel [14:58] bradleymeck: kioopi, are you on cygwin? [14:59] bits58 has joined the channel [14:59] kioopi: no, ubuntu 10.10 [15:00] arpegius_ has joined the channel [15:01] xtianw has joined the channel [15:01] kioopi: have git cloned, git submodule updated and make test'ed: ECONNREFUSED at Socket._onConnect [15:01] necromancer has joined the channel [15:02] BillyBreen has joined the channel [15:02] colinclark has joined the channel [15:03] daniellindsley has joined the channel [15:03] Croms has joined the channel [15:03] hwinkel has joined the channel [15:06] brolin has joined the channel [15:07] demastrie has left the channel [15:09] NewUser has joined the channel [15:09] boaz has joined the channel [15:09] NewUser: on this page: [15:09] NewUser: https://github.com/joyent/node/wiki/Installation [15:09] NewUser: I see: [15:10] NewUser: export JOBS=2 # optional, sets number of parallel commands. [15:10] NewUser: does anybody knows what is the JOBS variable used for? [15:11] steph021 has joined the channel [15:12] halfhalo: number of threads that are used [15:13] bradleymeck: newuser, number of threads during compilation (not during running) [15:14] thiessenp has joined the channel [15:14] justinTNT: anyone used weld at all?? [15:14] EyePulp: is there a way to name the process your node app runs under? Just to make it more identifiable in ps and other locations [15:16] halfhalo: EyePulp yes there is... I saw it done on webos, but can't rember how... [15:17] sub_pop has joined the channel [15:17] Bj_o_rn has joined the channel [15:17] halfhalo: process.something I think [15:17] mbrevoort has joined the channel [15:18] bradleymeck: eyepulp http://nodejs.org/docs/v0.4.5/api/process.html#process.title [15:19] indiefan2a has joined the channel [15:19] boaz has joined the channel [15:19] EyePulp: bradleymeck: I was just looking at that. [15:19] aabt has joined the channel [15:20] EyePulp: now to figure out where to intercept that when I'm using cluster.... [15:20] EyePulp: so that all workers share the title [15:20] zylo has joined the channel [15:20] springmeyer has joined the channel [15:21] tjholowaychuk has joined the channel [15:21] prettyrobots: Is it okay to use an object as a hash key? [15:22] mraleph: no [15:22] mrcaron1 has joined the channel [15:22] mraleph: there is no hashes in javascript [15:22] EyePulp: tjholowaychuk: any advice on intercepting/setting the process.title() if I'm running via cluster? [15:22] mraleph: there are only objects with named properties [15:22] halfhalo: mmmmmmmmm....... hash browns..... [15:22] Swizec has joined the channel [15:22] tjholowaychuk: EyePulp: cluster(server).set('title', 'whatever you want').set('worker title', 'worker number {n}') [15:23] davidvanleeuwen has joined the channel [15:25] bkozal has joined the channel [15:25] mrcaron1 has left the channel [15:26] dmcquay has joined the channel [15:28] jjmalina has joined the channel [15:28] bojicas has joined the channel [15:28] EyePulp: tjholowaychuk: hmm... I'm not seeing anything different on a ps -aux [15:28] tjholowaychuk: EyePulp: what os? [15:28] tjholowaychuk: it doesnt work on osx [15:28] EyePulp: osx [15:28] briznad has joined the channel [15:28] tjholowaychuk: osx is lame [15:28] Venom_X has joined the channel [15:28] EyePulp: ha [15:28] EyePulp: all right [15:28] tjholowaychuk: activity monitor is the only thing that shows it (AFAIK) [15:28] tjholowaychuk: nor top or htop [15:28] tjholowaychuk: super lame [15:29] eventi: almost bsd [15:29] EyePulp: yeah, there it is on act. mon [15:30] michaelku has joined the channel [15:30] harth has joined the channel [15:31] EyePulp: well nuts. the problem is sometimes I get to a point where I can't telnet to cluster.sock, but there are worker processes still running, so I have to do a manual kill - I was just looking for a easy way to do that without the ps aux | grep node /kill ### two step [15:31] tk has joined the channel [15:31] arpegius has joined the channel [15:32] softdrink has joined the channel [15:32] kioopi: so, nobody else having problems running the tests for connect? [15:32] Henke has joined the channel [15:33] indutny: ryah: around? ;) can I remind you about NPN? [15:34] Henke: Hello, I've followed the tutorial "Building node.js on Cygwin (Windows)" at github, but failed with the ./configure part. getting error: could not configure a cxx compiler. I don't really understand what I should do, any suggestions? [15:35] tbranyen: Henke: did you install g++? [15:35] tbranyen: that was one for the first dependancies listed [15:35] Henke: I think so, how can I check which software I have installed? [15:35] tbranyen: rerun the cygwin setup.exe [15:35] tbranyen: once you get to the packages thing, run through the dependancy list again [15:36] Henke: so I have to reinstall everything? [15:36] fangel has joined the channel [15:36] realazthat_ has joined the channel [15:36] roidrage has joined the channel [15:36] M3l7D0wN has joined the channel [15:39] Spion_ has joined the channel [15:39] Spion_ has joined the channel [15:40] mbrevoort has joined the channel [15:41] jakehow has joined the channel [15:42] d0k has joined the channel [15:42] jeffmoss has joined the channel [15:42] robotarmy has joined the channel [15:43] SSgtSpoon|work has joined the channel [15:45] piscisaureus has joined the channel [15:45] Tsesame has joined the channel [15:47] Tsesame: What should I use to schedule events in node.js? [15:48] Yuffster_work has joined the channel [15:50] briznad has joined the channel [15:50] matyr has joined the channel [15:50] bits58 has joined the channel [15:50] mbrevoort has joined the channel [15:50] bradleymeck: tsesame settimeout/interval/just fire them w/ emit [15:51] timcosgrove has joined the channel [15:52] tjholowaychuk: EyePulp: yeah before the title thing killall -kill node [15:52] tjholowaychuk: worked fine [15:52] Tsesame: I need something a little more complex than just a timer, but I'm not a fan of the cron-based solutions [15:52] gkatsev: Henke: it will just install the new packages. Not reinstall all of cygwin. [15:52] tjholowaychuk: EyePulp: however if you use the cli() plugin $ node app.js stop [15:52] tjholowaychuk: should work [15:53] EyePulp: tjholowaychuk: ooh [15:53] tjholowaychuk: EyePulp: but yeah I think otherwise killall -kill cluster wont really work, not sure I like the proc title thing to much [15:53] tjholowaychuk: or maybe they should all be "cluster" by default [15:53] ryanfitz has joined the channel [15:53] bojicas has joined the channel [15:53] tjholowaychuk: its easy to tell which are the children [15:54] tjholowaychuk: via the pid /pgid anyway [15:54] tjholowaychuk: so i dunno [15:54] hij1nx has joined the channel [15:55] matclayton has left the channel [15:55] mytrile has joined the channel [15:56] piscisaureus: howdy [15:58] piscisaureus: is anyone aware of a module that lets you observe a data model? So I can do stuff like model.onChange('name', function () { ... } ); [15:58] piscisaureus: model.set('name'); // Calls the onChange event handler [15:59] stephank has joined the channel [15:59] philhawksworth has joined the channel [15:59] tbranyen: whats the build flag to enable multicore? [15:59] deedubs: piscisaureus: your data model doesn't have events? [15:59] tbranyen: is there such a thing or did i dream it [15:59] deedubs: tbranyen: dream [15:59] tbranyen: haha [15:59] tbranyen: oke doke [15:59] deedubs: haha [16:00] max_dev has joined the channel [16:00] piscisaureus: deedubs: my datamodel doesn't even exists [16:00] piscisaureus: deedubs: I'd like it to have some support for recursion [16:00] piscisaureus: like model.get('foo.bar'); [16:00] deedubs: piscisaureus: okay so when your writing your datamodel you make it inherit from eventEmitter and have it emit events [16:00] bradleymeck: piscisaureus there are a couple of esharmony proxy modules [16:00] wilmoore_ has joined the channel [16:00] tbranyen: deedubs: isn't that what the jobs flag is? [16:00] piscisaureus: bradleymeck: yeah I'm aware of the proxies [16:01] pastak has joined the channel [16:01] piscisaureus: I'm just looking for a library thatdoes it all [16:01] arpegius_ has joined the channel [16:01] piscisaureus: I know sproutcore has support for it but it's so damn bloated [16:01] ngs has joined the channel [16:01] aho has joined the channel [16:02] guybrush: piscisaureus: backbone [16:02] timcosgrove has left the channel [16:02] mbrevoort has joined the channel [16:02] tbranyen: deedubs: i did JOBS=4 and it compiled 3 times faster [16:02] tbranyen: /shrug [16:03] tbranyen: i've never had it compile in 58seconds before [16:03] mytrile has joined the channel [16:03] deedubs: tbranyen: okay... I thought you were talking about multicore in node... not in the build process itself [16:03] piscisaureus: guybrush: thanks. Backbone looks worth investigating [16:03] tbranyen: deedubs: oh lol [16:03] tbranyen: heh [16:04] piscisaureus: The name is familiar but I never cared to look at it [16:04] chrislorenz has joined the channel [16:04] jetienne: piscisaureus: +1 [16:04] guybrush: piscisaureus: it is considered as "client-side" js-thing [16:04] yhahn: it can be used server side [16:05] guybrush: works with node just fine though :) [16:05] tjholowaychuk: why wouldnt you just use EventEmitter on the SS [16:05] guybrush: right! [16:05] tjholowaychuk: backbone kinda doesnt do anything you cant do with a constructor and a template engine haha [16:05] guybrush: streams are awesome! [16:05] tjholowaychuk: but meh [16:05] jdalton has joined the channel [16:05] Henke: tbranyen: I allready had all dependancies installed, and other suggestions? [16:05] piscisaureus: tjholowaychuk: EventEmitter is the zero-option [16:05] tbranyen: Henke: rebasing your dlls [16:06] tbranyen: kill all cygwin processes including bash and then run ash.exe and rebaseal [16:06] guybrush: tjholowaychuk: backbone is cool because of a good pattern for CS js [16:06] tbranyen: kill all cygwin processes including bash and then run ash.exe and rebaseall * [16:06] Henke: ok thanks [16:06] guybrush: everything is a view backed by collections/models that is a good pattern [16:06] tjholowaychuk: yeah its a good pattern [16:06] tjholowaychuk: but you dont need a lib for it [16:06] guybrush: agree [16:06] tjholowaychuk: its just what people should do regardless [16:06] guybrush: yes [16:06] aconran_ has joined the channel [16:06] guybrush: it is good in a team [16:06] guybrush: for consense [16:07] guybrush: otherwise everyone is doing his own "style" [16:07] guybrush: where every style might be awesome but consense is important [16:08] guybrush: but use streams (eventemitter) every time you can! [16:08] guybrush: even on the clientside [16:08] tjholowaychuk: event emitters dont have to be associated with streams [16:08] tbranyen: i've been thinking of ways to use event emitters for async iterations [16:08] tjholowaychuk: but ya they are handy little things [16:08] tbranyen: clean looking [16:09] tjholowaychuk: I wish you could do foo.on('*', app.io.emit.bind(app.io)); (socket.io) [16:09] tjholowaychuk: and relay the event/data [16:09] tjholowaychuk: but JSON [16:09] tjholowaychuk: is a bitch [16:09] tjholowaychuk: circular shit should NOT throw [16:10] tjholowaychuk: stupid thing [16:10] matyr has joined the channel [16:10] bradleymeck: events activities services and handlers are all different flow controls, streams buffers and distributed data are all different data flows [16:10] bradleymeck: tjholowaychuk there are a couple circular dep impls for json [16:10] JimBastard has joined the channel [16:10] tjholowaychuk: bradleymeck: even if it had a flag to just insert some lame string I would be more happy [16:11] tjholowaychuk: '__CIRCULARSHIT__' [16:11] JimBastard: anyone gonna be in SF on the 28th? http://blog.nodejitsu.com/javascript-trampoline-party [16:11] jeffmoss has left the channel [16:11] bradleymeck: the party is undefined? hehe, and not here [16:11] piscisaureus: JimBastard: undefined [16:11] JimBastard: fuck [16:11] doubletap has joined the channel [16:12] Emmanuel__ has joined the channel [16:12] JimBastard: wtf wheat [16:12] JimBastard: bradleymeck: screenshot? [16:12] guybrush: there is not that much to make a screenshot of :p [16:12] JimBastard: im on it, i think its wheat cache, gotta restart on updates now [16:12] JimBastard: before i could just pull [16:13] doubletap has left the channel [16:14] H4ns has joined the channel [16:14] bradleymeck: http://www.dumpt.com/img/viewer.php?file=m0xzdoa98rgrlkscnz0l.png [16:14] JimBastard: oops [16:14] JimBastard: brb [16:15] michaelku has left the channel [16:15] threeve has joined the channel [16:15] mbrevoort has joined the channel [16:16] threeve: what happened to the really nice online docs node used to have? the docs I see now are completely unstyled, basic html. [16:16] tylerstalder has joined the channel [16:16] bradleymeck: http://nodejs.org/docs/latest/api/ ? they are simple i actually pref them, kinda match whatwg [16:17] pyrotechnick1 has joined the channel [16:17] threeve: okay so those are it? I just wanted to make sure I wasn't missing something. Thanks. [16:18] aguynamedben has joined the channel [16:20] DennisRasmussen has joined the channel [16:21] JimBastard: okay [16:21] JimBastard: i think i got it now [16:21] bradleymeck: working here [16:21] mbrevoort has joined the channel [16:21] intel_ix has joined the channel [16:22] intel_ix: How do you fix an FATAL ERROR: CALL_AND_RETRY_2 Allocation failed - process out of memory error? [16:22] intel_ix: I had free ram ._. [16:22] mytrile has joined the channel [16:22] galaxywatcher has joined the channel [16:22] JimBastard: you guys wanna try again? lol http://blog.nodejitsu.com/javascript-trampoline-party [16:23] guybrush: works [16:23] guybrush: sad i cant be there :/ sounds cool [16:23] dguttman has joined the channel [16:24] kriszyp has joined the channel [16:24] shiawuen: jump jump jump [16:24] jeff_horton has joined the channel [16:25] pquerna: JimBastard: undefined [16:25] JimBastard: FUCK FUCK FUCK [16:25] JimBastard: pquerna: did you just click it? [16:25] pquerna: yes [16:25] JimBastard: thats so lame, something is wrong with wheat [16:26] JimBastard: or maybe i made a bad date [16:26] JimBastard: if you refresh does it go away? [16:26] threeve has left the channel [16:26] boaz has joined the channel [16:26] pquerna: the / works, the http://blog.nodejitsu.com/javascript-trampoline-party continues to be undefined [16:26] jdalton has joined the channel [16:27] intel_ix: I'm getting out of ram erros when putting about 20,000,000 elements into a hash... [16:27] intel_ix: But there is ram left ._. [16:27] shiawuen: getting 'Cannot GET' with /, was working just now for the one without / [16:27] davidsklar has joined the channel [16:28] ElDios: awww man.. this is when I bloody wish to be in san francisco --> "trampoline party" :.( [16:28] tjholowaychuk: woah thats an old version of connect [16:28] DennisRasmussen: JimBastard, undefined [16:29] jollyroger has joined the channel [16:29] tjholowaychuk: it still has tim's version exposing in the headers [16:29] tjholowaychuk: for maximum security [16:29] tjholowaychuk: haha [16:29] intel_ix: Anyone know how to fix? ._. [16:29] intel_ix: or no [16:29] halfhalo: intel_ix: v8 has a memory limit that you most likely are running into. [16:29] intel_ix: How do I make it larger? [16:29] coreb has joined the channel [16:30] intel_ix: I'm able to do 2 million elements fine, but when I get to 20 million it dies ._. [16:30] intel_ix: somewhere around there [16:30] creationix has joined the channel [16:30] halfhalo: No idea [16:30] intel_ix: Darn it. [16:30] Gruni has joined the channel [16:30] DennisRasmussen: I've been wondering guys. Are we always having to compile NodeJS in the future or will there ever be a compiled version for use? [16:30] lukstr: Is there a good LDAP module available? I've looked at a few and they are pretty unreliable. NPM support would be nice too [16:30] halfhalo: back to working on nodewire [16:31] intel_ix: I can't boast about my fast array being able to do 20 million insertions in 30 secs if it crashes before that >_> [16:31] arpegius has joined the channel [16:31] coreb: DennisRasmussen: debian has (old) node.js packages in their reps [16:31] DennisRasmussen: 20 million? what the hell are you doing? [16:32] ElDios: intel_ix looks like nodejs 32 bit can use objects at max of 2gb [16:32] ElDios: 2GB [16:32] JimBastard: DennisRasmussen: again? http://blog.nodejitsu.com/javascript-trampoline-party [16:32] JimBastard: pquerna: could you try again? http://blog.nodejitsu.com/javascript-trampoline-party [16:32] intel_ix: got to 5 million [16:32] DennisRasmussen: JimBastard, website [16:32] JimBastard: i have no fucking idea why wheat is doing that, its 100% in the blog app [16:32] ElDios: if you need more just compile the 64bit edition (if exists) and you won't (possibly) have any error [16:32] saikat has joined the channel [16:32] intel_ix: and EIDios: http://pastebin.com/BdW2CR5B [16:33] intel_ix: right now I get 6 seconds [16:33] pquerna: JimBastard: i also now see a website, great success [16:33] DennisRasmussen: JimBastard, is that a website running on nodejs? [16:33] ElDios: var d = +new Date; <-- is this regular? [16:33] JimBastard: DennisRasmussen: the whole fucking stack is, from LB to templating engine [16:33] intel_ix: Just converts it into a number [16:34] JimBastard: pquerna: i have literally no idea why that happened, do you think its possible that after your first connection it somehow fixes itself? a couple of people reported same issue [16:34] Henke: tbranyen: Thanks a lot, got everything working now! [16:34] ElDios: @_@ [16:34] intel_ix: 5.19 seconds for 5 million loops [16:34] halfhalo: ACTION has decided to make a node app communication server for different apps to talk with each other [16:34] intel_ix: I wonder if I can get it faster using a closure [16:34] ElDios: l8r [16:37] zakabird has joined the channel [16:37] halfhalo: will make it much easier for me to scale my apps, plus will be pretty abstracted from the actual client/server stuff [16:37] kjeldahl has joined the channel [16:38] V1 has joined the channel [16:38] tyfighter has joined the channel [16:39] mytrile has joined the channel [16:40] broofa has joined the channel [16:40] Draggor: blah I need to move my butt on bigfloat [16:40] bradleymeck: as long as its abstract enough to be reusable on multiple protocols (though i tend to just make a jsonrpc server w/ emits for things) [16:40] jelveh has joined the channel [16:41] sdecastelberg has joined the channel [16:41] Gelegrodan: Damn.. grandma is over her bw-limit on her ipad :\ [16:42] DennisRasmussen: Could someone test my local nodejs connection with a browser: http://62.199.176.131:1337 (setting up my router) [16:42] xandrews has joined the channel [16:42] Gelegrodan: "Connected to server :)" [16:42] Gelegrodan: DennisRasmussen: [16:42] DennisRasmussen: Thanks [16:42] ryah: 1337 \o/ [16:42] DennisRasmussen: Time to go nuts [16:42] Gelegrodan: ryah: oh yes. [16:42] tjholowaychuk: DennisRasmussen: works [16:42] halfhalo: bradleymeck: Planning on making it so that you just stick in the endpoint, message, and messagetype and it takes care of the rest [16:42] ryah: i'm going to start using 1337 instead of 8000 as my default port [16:42] tjholowaychuk: ryah: hahaha [16:43] eb4890 has joined the channel [16:43] tjholowaychuk: I liked the 0xFAB thing [16:43] tjholowaychuk: pretty slickkk [16:43] tjholowaychuk: 0xEXPRESS haha.. damn.. [16:43] dsyer has joined the channel [16:43] pyrotechnick1: ryah: we've used 1337 for years ^w^ [16:43] swaj: damn tj.. reading the rage on the rails coffee-script stuff. Didn't know you hated coffee so much :P [16:43] tjholowaychuk: swaj: shush lol im not starting again today [16:43] pyrotechnick1: welcome to the party [16:44] swaj: haha [16:44] halfhalo: plus provisions for sending it to a group of apps, and simple file transfers over udp [16:44] Gelegrodan: ryah: you collide with "WASTE encrypted file sharing program"... aka whatever, go for it. [16:44] intel_ix: mfw I go from 5 million in 5.1 sec to 8 secs ._. closures slower.... [16:45] Gelegrodan: why isnt there any "LISTEN" command in mysql? :( [16:45] jetienne: i did a game in webgl + nodejs http://pacmaze.com [16:46] JimBastard: im not gonna be able to go to sleep now [16:46] tjholowaychuk: jetienne: baha, awesome [16:46] JimBastard: im gonna have nightmwares about the blog not working [16:46] intel_ix: http://pastebin.com/ttwLTFsH <- who thinks this might be useful? [16:46] Gelegrodan: jetienne: nice one [16:46] intel_ix: It only has shift, pop, unshift, and push though [16:46] andi5 has joined the channel [16:46] jetienne: tjholowaychuk: the web is starting to be nice hey :) [16:46] jetienne: Gelegrodan: thx [16:47] tjholowaychuk: jetienne: yup, when I no longer have to look at any browser but chrome I'll be super happy [16:47] tjholowaychuk: eventually [16:48] jetienne: tjholowaychuk: +1 for efficient clean browser [16:48] A_Nub has joined the channel [16:48] Jack has joined the channel [16:48] beawesomeinstead has joined the channel [16:49] Guest46199: Hiya, trying to install nodeJS/mongoDB on a mac (snow) - run through a few how too but can't seem to get it working, new to this terminal game which does not help. Any pointer to sites etc would be great [16:49] A_Nub: Guest46199: have you installed Xcode? [16:50] A_Nub: I assume so. [16:51] pyrotechnick1: Guest46199 you need to provide way more information [16:51] pyrotechnick1: so we can try help you [16:52] A_Nub: Guest46199: if you have Xcode installed then installing node is quite easy [16:53] A_Nub: you can even use a package manager [16:53] V1: Victory!! Our cat just said her first 'nom nom' ^_^ [16:53] A_Nub: such as homebrew or mac ports [16:53] gh0stz has joined the channel [16:53] gh0stz has joined the channel [16:53] A_Nub: but [16:53] A_Nub: after you use those [16:53] A_Nub: I suggest [16:53] A_Nub: disabling it [16:53] A_Nub: and building it yourself [16:53] A_Nub: because they get screwy with permissions and paths [16:53] A_Nub: and cause npm to freak out [16:54] matjas has joined the channel [16:54] sako has joined the channel [16:55] jacobolus has joined the channel [16:57] indutny: ryah: NPN? [16:57] indutny: :) [16:57] sdecastelberg has joined the channel [16:57] arlolra has joined the channel [16:57] ryah: indutny: soon. [16:58] JimBastard: ryah: http://blog.nodejitsu.com/javascript-trampoline-party :-D [16:58] indutny: ryah: k, feel free to ping me [16:58] ryah: JimBastard: that looks awesome [16:58] indutny: JimBastard: could you send me an airplane ticket? :) [16:58] JimBastard: ryah: i hope you can make it! its right after normal joyent office hours [16:59] ryah: today? [16:59] A_Nub: JimBastard: Those places are fun, I have one down here in Orange County [16:59] ryah: ah, next wee [16:59] JimBastard: ryah: the 28th of april, two thursday [16:59] piscisaureus has joined the channel [16:59] ryah: JimBastard: dang, im out of town :( [16:59] JimBastard: you can bring as many guests as you'd like, just rsvp [16:59] JimBastard: dammmn [16:59] A_Nub: I also have a trampoline in my backyard :D Its fun I can do a Double Full (Backflip + 720) [17:00] JimBastard: it aint no javascript party without ryah [17:00] JimBastard: next time! [17:00] A_Nub: I want to come! [17:00] A_Nub: why does it have to be in SF [17:00] A_Nub: haha [17:00] KannanPK has joined the channel [17:01] A_Nub: hmm if I head up on 4/27 and come back 4/29 I could still make my friends going away party on 4/30 [17:01] rsms has joined the channel [17:01] KannanPK has left the channel [17:01] arpegius_ has joined the channel [17:01] ukev has joined the channel [17:02] pyrotechnick1: ryah: that's freaking sweet man [17:03] patcito has joined the channel [17:03] apoc has joined the channel [17:03] tedsuo has joined the channel [17:03] marcosvm has joined the channel [17:04] mjr_ has joined the channel [17:05] cheater_ has left the channel [17:05] gxblast has joined the channel [17:05] Draggor: So apparently SF is the place to be, huh [17:05] indiefan2a1 has joined the channel [17:05] gxblast has left the channel [17:05] pastak_ has joined the channel [17:06] harth has joined the channel [17:06] Aikar: sadly [17:06] pyrotechnick1: i heard they have an entire valley made of silicon [17:06] Aikar: but js meetups arnt worth moving away from family and prolly pay decrease (due to COL) [17:06] zcopley has joined the channel [17:07] mattly has joined the channel [17:07] tomgallacher has joined the channel [17:07] jjmalina has joined the channel [17:07] spaceinvader has left the channel [17:09] indiefan2a has joined the channel [17:10] ardcore has joined the channel [17:10] Prometheus has joined the channel [17:11] shepazu has joined the channel [17:11] A_Nub: ryah: signed up :) [17:11] A_Nub: too bad its a 7hour drive. [17:11] A_Nub: couldnt make it in time, lll have to just sit on IRC [17:12] mjr_: SF is a fine place to be if you do computer stuff. [17:12] ryah: A_Nub: we'll be on irc [17:12] ryah: we also have a phone in line [17:12] wadey has joined the channel [17:13] JackF has joined the channel [17:13] Aikar: mjr_: true, but raleigh nc is adequate enough for me ;) tons of tech companies out here [17:14] A_Nub: Ok I have been using OS X 10.7 Dev Preview 2 [17:14] A_Nub: its great [17:14] A_Nub: but buggy :( [17:14] A_Nub: Safari and Chrome Constantly quit out on me [17:14] necromancer: is there an AWS lib for node.js? [17:14] indiefan2a has joined the channel [17:14] A_Nub: apps occasionally stop responding [17:14] necromancer: i know it's a tall order, but... :) [17:15] Gelegrodan: ryah: too lazy to convert.. how many hours left? [17:16] A_Nub: 4pm pst, so −8GMT [17:16] A_Nub: or is it −9 right now? [17:16] A_Nub: Daylight savings [17:16] A_Nub: screws me [17:16] A_Nub: -7? [17:16] Gelegrodan: yes its a mess [17:16] Aikar: necromancer: a lib to manage EC2? best bet is to search on http://search.npmjs.org [17:16] ryah: 6 [17:16] necromancer: Aikar: i'm more interested in a lib to interface with S3 and RDS [17:16] necromancer: oh wow [17:16] necromancer: there it is [17:17] necromancer: npm registry rules! thanks Aikar [17:17] bingomanatee: does anyone have a handy pathfinding algorithm in a node module? [17:17] Aikar: bingomanatee: searching for files? [17:17] bingomanatee: no as in grid / game [17:17] Aikar: ohh [17:17] A_Nub: like A*? [17:18] bingomanatee: yeah [17:18] bingomanatee: I could code it myself I would just rather rip off someone elses code [17:18] ukev has joined the channel [17:18] Aikar: lol [17:18] A_Nub: bingomanatee: https://github.com/bgrins/javascript-astar [17:18] A_Nub: Google is friend ;) [17:18] bingomanatee: thx [17:19] A_Nub: its not a node module [17:19] A_Nub: but its JS/ [17:19] A_Nub: making it a module shouldn't be hard. [17:19] andi5: bingomanatee: For small graphs a JS solution is surely OK [17:19] Aikar: hmm i need to bookmark that too [17:19] A_Nub: Aikar: bookmark google? [17:19] A_Nub: :P [17:20] Aikar: yarp! [17:20] Aikar: i meant that lib [17:20] bingomanatee: I'm sure when I get the basics working I will do precalcuations for the whole grid and bake them in mingo [17:20] Aikar: still got a while before i would need that for my project, but even if i dont use it its good research :P [17:21] A_Nub: that lib could be made a module super easy! [17:21] aheckmann has joined the channel [17:21] pdelgallego_ has joined the channel [17:21] A_Nub: But, usually wouldnt pathfinding be done client side? [17:21] Aikar: NPC AI would be SS [17:21] A_Nub: Unless its a online game I guess. [17:22] Aikar: dont want to rely on client side code for managing NPC AI :P [17:22] jasong_at_apac-1 has joined the channel [17:22] Aikar: (in an online game) [17:22] A_Nub: thats what I said ;) [17:22] shepazu: s/I/she/ [17:22] shepazu: oops [17:23] A_Nub: oh heres a js question I have yet to fogure out [17:23] A_Nub: how do I list all the keys in a object? [17:23] A_Nub: is it possible? [17:23] Aikar: yes [17:23] halfhalo: Object.keys [17:23] Aikar: ^ [17:24] A_Nub: hehe i feel silly now [17:24] Aikar: and note thats not a prototype method [17:24] Aikar: var keys = Object.keys({foo:1, bar:2}); [17:24] A_Nub: thats part of the true object? [17:24] tschundeee has joined the channel [17:25] halfhalo: There you go... On iPad which doesn't like ()'s [17:25] A_Nub: Thanks [17:26] jpick has joined the channel [17:27] jpick has left the channel [17:29] synkro has joined the channel [17:30] V1: Is there a relaiable way of transporting a over a tcp connection, and than re-storing in a buffer? [17:30] indiefan2a1 has joined the channel [17:30] perezd has joined the channel [17:31] realazthat_ has joined the channel [17:31] perezd has joined the channel [17:32] tiemonster has left the channel [17:32] A_Nub: who here uses stylus? [17:32] indiefan2a has joined the channel [17:32] sirkitree has joined the channel [17:32] tjholowaychuk: A_Nub: not me [17:32] mattijs has joined the channel [17:32] rudolfrck has joined the channel [17:32] timcosgrove has joined the channel [17:32] A_Nub: It looks quite awesome, but im afraid to use it because then testing locally means I have to be running the node server [17:33] V1: tjholowaychuk has secret crush on coffeescript ;) [17:33] A_Nub: and I might fall in love with it and when I develop for someone that doesn't have a node server I might get mad [17:33] timcosgrove has left the channel [17:33] A_Nub: Oh then again I could just render. [17:33] A_Nub: hmm [17:33] indiefan2a has joined the channel [17:33] tjholowaychuk: A_Nub: lots of options for that [17:33] A_Nub: yeah just realized that [17:33] tjholowaychuk: A_Nub: you could just have some automated thing shell out and use the executable, or run a tiny stand-alone connect server [17:33] tjholowaychuk: lots of options still [17:33] A_Nub: Well what im thinking. [17:33] V1: https://github.com/visionmedia/expresso/blob/master/bin/expresso#L22-30 <-- why ;) [17:34] perezd: ryah: testing your patch now [17:34] A_Nub: is moddifying stylus to steal incoming requests [17:34] dabailey has joined the channel [17:34] tjholowaychuk: V1: haha dont worry, I dont accept CS specific stuff anymore [17:34] tjholowaychuk: gets to annoying [17:34] V1: tjholowaychuk: aah legacy code ;) [17:34] tjholowaychuk: I didn't patch that [17:34] liquidproof has joined the channel [17:34] tjholowaychuk: had similar ones for cluster [17:34] tjholowaychuk: but fuck that [17:35] indiefan2a has joined the channel [17:35] sh1mmer has joined the channel [17:35] A_Nub: anyone use html renderers too? [17:35] A_Nub: Im just scared to switch over [17:35] V1: just compile your coffeescript to regular javascirpt and use that file.. I don't get the point of coffeescript specific code anyways [17:35] A_Nub: I mean its cool and all, but I would loose all my syntax highlighting and auto complete in Coda [17:35] perezd: ryah: so this patch is feeling slower to run, but it works [17:36] perezd: ryah: jk it threw this randomly https://gist.github.com/0b4fdf9376825d4de151 [17:36] eee_c has joined the channel [17:37] ryah: perezd: please run with NODE_DEBUG=tls,net [17:37] indiefan2a1 has joined the channel [17:37] ryah: damn. [17:37] gxblast has joined the channel [17:37] rfay_ has joined the channel [17:38] perezd: ryah: refresh [17:38] perezd: that gist, I added the trace [17:39] ryah: meh [17:40] unomi has joined the channel [17:40] ryah: perezd: can you update the ticket? [17:40] perezd: okay sure one sec [17:40] ryah: #893 i think [17:40] ryah: https://github.com/joyent/node/issues/892 [17:41] confoocious has joined the channel [17:42] indiefan2a has joined the channel [17:43] sechrist has joined the channel [17:43] A_Nub1 has joined the channel [17:43] CIA-72: node: 03Ryan Dahl 07v0.4 * r8417870 10/ lib/net.js : [17:43] CIA-72: node: Don't emit error on ECONNRESET - just close [17:43] CIA-72: node: Fix #670 - http://bit.ly/evsc6P [17:44] mjr_: Keep those TLS fixes coming, everybody! [17:45] DennisRasmussen: any alternative to telnet on win7 ? [17:45] V1: install linux :)? [17:46] DennisRasmussen: got ubuntu as well, but not used to it yet [17:46] tbranyen: DennisRasmussen: why not just install telnet? [17:46] DennisRasmussen: already on [17:46] tbranyen: i dunno what an alternative would do that telnet doesn't [17:46] harlanji has joined the channel [17:47] rudolfrck has joined the channel [17:47] DennisRasmussen: neither do I which is why i was asking :) anyway I just wanted to see if there was something else so I could avoid creating a line buffer [17:47] DennisRasmussen: (for testing) [17:48] DennisRasmussen: it's no biggy, if there's no alternative then that's cool. was just looking for a quick lazy solution (don't roll your eyes, you've all been there ;) [17:48] no-gooder has joined the channel [17:48] owenm has joined the channel [17:48] tedsuo has joined the channel [17:50] wink_: DennisRasmussen: putty is a pretty good alternative [17:50] indutny: ryah: perezd: wtf, I swore it's working on my PC [17:50] DennisRasmussen: yeah okay thanks anyway, writing a buffer takes less time than installing that :P [17:50] perezd: indutny: my problem is really weird [17:50] indutny: ryah: perezd: seamlessly and test is passing, perezd what OS are you running? [17:50] perezd: mac os [17:51] indutny: ryah: can this be OS specific? [17:51] perezd: certaily [17:51] perezd: certainly yes [17:51] indutny: ryah: or are you running Mac OS too? [17:51] reid has joined the channel [17:52] mjijackson has joined the channel [17:52] isaacs has joined the channel [17:52] Croms_ has joined the channel [17:53] isaacs: llkazu: hey, you get your publish issue worked out? [17:54] postwait has joined the channel [17:54] stonebranch has joined the channel [17:55] jjmalina has joined the channel [17:55] beriberikix has joined the channel [17:55] pHcF has joined the channel [17:55] eee_c1 has joined the channel [17:56] V1: tjholowaychuk: Is there a way to attach a "finish" hook to express? I want to destroy all the changes I made to a data store once my tests are done [17:56] indutny: ryah: btw, I'm digging into your shared OpenSSL context proposal [17:56] beriberikix: Does anyone know if you can run multiple instances of Node on Cygwin? [17:56] indutny: ryah: probably I'm mistaken, but looks like it can be all done in tls.js file, doesn' it? [17:56] tjholowaychuk: V1: I do that stuff on boot instead of on exi [17:56] tjholowaychuk: t [17:57] indutny: beriberikix: just open multiple windows ? :) or type node 1.js & node 2.js [17:57] ziro` has joined the channel [17:57] brianm has joined the channel [17:57] indutny: beriberikix: in case of second, first process will be run in backgroung [17:57] indutny: background* [17:57] V1: tjholowaychuk: Yeh for some servers that works, but for Memcached it can take a while before all key's are deleted out memory so they could still be available once the test suite is running [17:57] tjholowaychuk: V1: ah, yeah, it's lacking in a bunch of features like that [17:58] tjholowaychuk: I rarely need more than what it has since I mostly work on libs [17:58] tjholowaychuk: expresso was mostly just a quick hack for connect [17:58] tjholowaychuk: at the time nothing else was really available [17:58] ElDios has joined the channel [17:58] andi5: Do you guys know a good node restarter that looks for ALL files in a dir tree that change kills the current process, and executes the same command [17:58] timcosgrove has joined the channel [17:58] tjholowaychuk: nothing that was not serially executed at least [17:58] ElDios: nodemon [17:58] timcosgrove has left the channel [17:58] V1: tjholowaychuk: atleast it's better than vows :p [17:58] tjholowaychuk: w/ test cov [17:59] andi5: The most just check for JS files [17:59] tjholowaychuk: he put wayyyy more effort into vows haha, expresso is one of my worst projects [17:59] timcosgrove has joined the channel [17:59] tjholowaychuk: I just hate writing test frameworks [17:59] tjholowaychuk: way to boring [17:59] ElDios: andi5 nodemon [17:59] timcosgrove has left the channel [17:59] blueadept has joined the channel [17:59] andi5: ElDios: nodemon ignores everything besides js [17:59] beriberikix: indutny: ya, that works if I run them on diff ports. Is there a way to run them from the same win? A trailing '&' doesn't seem to do the trick [18:00] andi5: Doesn't it? [18:00] indutny: beriberikix: are you trying to run them on same port? [18:00] ElDios: andi5 it ignores what you told him [18:00] ElDios: s/him/it [18:00] V1: tjholowaychuk: Yeh I totally understand that, I'm just gonna do a quick and dirty hack, adding "quit.test.js" to my test suite that cleans the servers. If I have time I'll see if i can add a "finish" hook to express [18:01] tjholowaychuk: V1: I started a rewrite so that its not all shoved in expresso(1) [18:01] tjholowaychuk: but [18:01] tjholowaychuk: yeah got bored of that too [18:01] tjholowaychuk: haha [18:01] tjholowaychuk: might finish it some time [18:01] beriberikix: indutny: nope. trust trying to run them from the same console. When the server launches, it takes over the stdin [18:01] felixge has joined the channel [18:01] felixge has joined the channel [18:01] felixge: ryah: ping [18:01] tjholowaychuk: lately I've just used a 5-line bash test runner with a bunch of files [18:01] felixge: ryah: https://github.com/joyent/node/blob/master/lib/stream.js#L58 shouldn't this also listen to "close" ? [18:01] tjholowaychuk: its much slower [18:01] tjholowaychuk: but meh [18:01] felixge: ryah: I noticed socket connections don't always emit "end" [18:02] arpegius has joined the channel [18:02] indutny: beriberikix: dunno, I was using cygwin for few months and trailing & was always working [18:02] piscisaureus: popular ryah is popular [18:02] Charuru has joined the channel [18:02] tedsuo has joined the channel [18:02] andi5: ElDios: Problem: I start lib/index.js, but the dependent file is not in src/views/*.eco - the lib is compiled CS, and so I don't want to put my views there [18:03] andi5: ElDios: -not [18:03] ElDios: should work all the same [18:03] andi5: ElDios: Will try some restructuring [18:04] ElDios: yes [18:07] pedrobelo has joined the channel [18:07] M3l7D0wN has joined the channel [18:09] ElDios: sooooo .. do I get any extra karma because I'm willing to help in here almost 8 hrs/day random people as a true "Joyent node.js workup"-daily assistant? :) [18:09] kmiyashiro has joined the channel [18:09] telemachus has joined the channel [18:10] ryah: felixge: already listen to close https://github.com/joyent/node/blob/master/lib/stream.js#L105 [18:10] felixge: ryah: cleanup will only remove the event listeners, it won't called end() on the destination stream [18:10] felixge: ryah: I had problems pumping to files where the files never got closed [18:10] ryah: indutny: msotly in tls.js - i think you need a new binding to "inherit" a new SSL* from a SSL_CTX [18:11] felixge: and it's because the connection doesn't emit "end" but only "close" instead sometimes [18:11] felixge: and pipe() doesn't handle that [18:11] indutny: ryah: k, I'll think more [18:11] andi5: ElDios: Thanks [18:11] ryah: felixge: ah, yeah - i guess [18:11] isaacs: tjholowaychuk: hey. any idea what might be necessary to get jscoverage to compile on solaris? [18:11] ElDios: andi5 you're welcome ;) is it workin now? [18:11] MacDiva_ has joined the channel [18:11] tjholowaychuk: isaacs: no clue [18:11] felixge: ryah: what's the proper way to fix? Listen to "end" and "close", but only call end() on the destination once? [18:11] isaacs: tjholowaychuk: it seems like it's failing at the part where it's compiling spidermonkey, but we've got a spidermonkey already on the system. [18:12] isaacs: tjholowaychuk: the thing that's lame is that it means that no packages that depend on expresso can be installed on no.de [18:12] felixge: ryah: I think I know how to patch this, I'll go ahead [18:12] ElDios: felixge something like --> on('end',function(){ if (object.stillOpen) object.close() } ; [18:12] sechrist: felixge: do you still do php work? [18:13] ryah: felixge: have a flag to see if end()'s been called [18:13] ElDios: or the other way round :) [18:13] felixge: sechrist: hardly [18:13] andi5: ElDIos: Yes, as expected, just 1 line change. [18:13] ElDios: andi5 neat! :) [18:13] felixge: ryah: ok [18:13] andi5: ElDios: Now it's fun ;) [18:14] bartt has joined the channel [18:14] tjholowaychuk: havent tried node-canvas on their either [18:15] tjholowaychuk: isaacs: that's strange about SM. they shouldn't depend on expresso anyway [18:15] tjholowaychuk: it takes way to long [18:15] tjholowaychuk: and its just a dev dep [18:15] kmwallio has joined the channel [18:15] jgv has joined the channel [18:15] tjholowaychuk: but I do think a few put it in "dependencies" for some reason [18:15] isaacs: tjholowaychuk: yeah, but, oh well. [18:15] pyrotechnick1 has joined the channel [18:15] isaacs: tjholowaychuk: also, if you do `npm set npat`, then you get dev deps as well [18:15] isaacs: since it runs tests on installation [18:16] tjholowaychuk: gotcha [18:16] pifantastic has joined the channel [18:16] isaacs: is there a way to tell it to use the system-installed SM? [18:16] isaacs: (ideally, we'd do jscoverage using v8, rather than installing another interpreter) [18:16] tjholowaychuk: yeah ideally ditch the c all together [18:16] tjholowaychuk: not really a reason for it [18:17] piscisaureus: felixge: when does that happen (a socket not emitting end)? [18:17] pquerna has joined the channel [18:17] felixge: piscisaureus: I have a http server where I listen to 'connection' and 'request' events [18:17] V1: I'm an idiot.. I have been debugging a non issue for 40 mins now, just because I'm blind and missed 1 single char -_-' [18:17] felixge: piscisaureus: each incoming request I respond to with: res.writeHead(200, {connection: 'close'}) [18:18] felixge: piscisaureus: the client honors that and closes the connection [18:18] mape: V1: ; is important! just as isaacs ;D [18:18] felixge: piscisaureus: but the connection object only emits a "close" event, no "end" [18:18] qbert has joined the channel [18:18] langworthy has joined the channel [18:18] qbert: so the new npm installs modules in the current directory ? [18:18] felixge: (Btw. the reason I do this is because I write a little utility to record http requests for later replay, trying to record http uploads from all browsers / flash shit for formidable 2.0) [18:19] V1: mape: grmmbl [18:19] mape: V1: mrmrmbbbl [18:19] mape: V1: Good idea for next nko? [18:19] dyer has joined the channel [18:19] dyer has joined the channel [18:19] V1: mape: Probably! [18:19] isaacs: V1: that's what convinced me to use the style i do. [18:19] isaacs: V1: put the meaningful delimiters at the beginning of lines, so that you can see them. [18:19] mape: V1: What about it? [18:20] isaacs: qbert: yes. [18:20] isaacs: qbert: install your require()-able dependencies into your project [18:20] V1: isaacs: to bad the jslint doesn't like that preference [18:20] TomsB has joined the channel [18:20] V1: mape: it's still a secret! :D [18:20] isaacs: qbert: install cli apps using --global (or -g) [18:20] felixge: piscisaureus: does that make sense? [18:20] isaacs: V1: when you use a style that is easy to visually verify, linters become less necessary. [18:20] piscisaureus: felixge: my gut feeling is saying no, but I'm still figuring it out [18:21] felixge: piscisaureus: I can provide a test case [18:21] piscisaureus: felixge: let me think a bit [18:21] isaacs: V1: but if you're using a linter, how did it take you 40 minutes to find a single missing char? ;P [18:21] felixge: piscisaureus: k [18:21] shoebat has joined the channel [18:21] graysky has left the channel [18:21] isaacs: V1: sounds like it's not doing its job. [18:21] bartt1 has joined the channel [18:22] qbert: isaacs, kk thx, this is to remove global dependencies when installing on other servers ? [18:23] piscisaureus: felixge: I would think node only implicitly closes the socket after either a graceful disconnect *or* a socket error. [18:23] felixge: piscisaureus: I think there is a graceful disconnection when sending {Connection: "close"} to a client, no? [18:23] piscisaureus: felixge: So you should see either a 'end' or a 'error' event prior to the socket being closed [18:23] felixge: piscisaureus: even if I call destroy() or end() on the socket, I still get no end event [18:23] felixge: no error event [18:23] felixge: that would blow up [18:24] felixge: I'd have noticed it [18:24] TomsB: Why I am getting this error? [18:24] TomsB: Error: Socket.end() called already; cannot write. [18:24] V1: isaacs: I'm not using a linter because they always complain about my personal coding preferences :p [18:25] TomsB: I am checking for socket.writable... [18:25] piscisaureus: felixge: does the close event give you hadError = true? [18:25] isaacs: qbert: this is to make a lot of things simpler, but that's one use-case thatis better served by this new architecture, yes [18:25] isaacs: V1: you're tellin me!! [18:25] felixge: piscisaureus: good question, let me check [18:27] felixge: piscisaureus: nope, it's false [18:27] felixge: piscisaureus: let me know if you want an isolated test for this [18:27] felixge: but it might be another bug [18:27] CiRlE has joined the channel [18:28] kawaz_work has joined the channel [18:28] CiRlE_ has joined the channel [18:28] blueadept: would anyone be able to tell me why example 1 works, and example 2 doesn't work? http://pastie.org/private/hfrpcuzvkptt3qew3cfdg [18:29] intel_ix: For some reason, the speed my code is executing at is affected by where I place it... [18:29] Andreas has joined the channel [18:29] intel_ix: Would that be a v8 bug? [18:29] intel_ix: or is it suposed to do that. [18:29] felixge: btw. I just found another flaw in pipe() [18:30] intel_ix: like something to do with registers or w/e [18:30] felixge: if multiple readable streams are piped to the same writeable stream [18:30] felixge: the pipe will call end() on the destination, effectively breaking all remaining pipes [18:30] felixge: not sure if that's desirable [18:31] hornairs has joined the channel [18:31] hij1nx has joined the channel [18:31] piscisaureus: felixge: I think it is the http server that does this. There are many circumstances where it just bluntly calls destroy on the socket. [18:31] leahculver has joined the channel [18:31] felixge: piscisaureus: ok, so you think fixing this in pipe() is good? [18:31] A_Nub1: Man I wish websockets where raw sockets. [18:31] A_Nub1: would make life easier. [18:32] piscisaureus: felxige: yeah I think it is unavoidable. I just hope it will not hide real bugs. [18:32] arpegius has joined the channel [18:32] eee_c has joined the channel [18:32] leahculver has joined the channel [18:32] rsms has joined the channel [18:32] A_Nub1: Is there a bette alternative to Socket.io? [18:32] piscisaureus: felixge: and this multi-pipe issue is serious. Maybe the auto-end / auto-destroy behaviour should be optional [18:32] felixge: piscisaureus: I think we should keep track of the pipes [18:32] felixge: piscisaureus: I'll do a patch for it [18:33] intel_ix: https://github.com/mitchellhislop/twitter-nodejs-websocket/blob/master/vendor/ws.js [18:33] intel_ix: much better [18:33] piscisaureus: felixge: yes, interesting [18:33] intel_ix: took me forever to find [18:33] intel_ix: (this chat was no help) [18:33] shoebat: what is bad about socket.io? [18:33] eee_c1 has joined the channel [18:33] mattly has joined the channel [18:33] piscisaureus: shoe [18:33] A_Nub1: it doesnt always work [18:33] A_Nub1: random errors with socket.io [18:33] norville_ has joined the channel [18:34] V1: lies :D [18:34] [AD]Turbo has joined the channel [18:34] thall_ has joined the channel [18:34] V1: A_Nub1: There are no "random" errors that we are aware of with Socket.IO :p [18:34] shoebat: hmmmm [18:34] V1: but a alternative would be faye.. [18:34] TomsB: stream.writable [18:34] TomsB: A boolean that is true by default, but turns false after an 'error' occurred or end() / destroy() was called. [18:34] A_Nub1: V1 well me and my friend both have had it randomly fail connections [18:34] piscisaureus: V1: there are only errors when the tide is high? [18:34] piscisaureus: :p [18:34] TomsB: Is it a Node bug? [18:34] intel_ix: if ( Math.random() > 0.5 ) { throw new Error("Random error"); } [18:35] TomsB: error Message: Socket.end() called already; cannot write. [18:35] V1: A_Nub1: on the latest version? [18:35] shoebat: ya.. i saw that line in there.. was wondering what it did [18:35] A_Nub1: V1 ya from npm [18:35] V1: piscisaureus: Socket.IO works really well under stessy conditions :p [18:35] Ori_P has joined the channel [18:35] sdecastelberg has joined the channel [18:35] V1: A_Nub1: odd, do you have more info about it.. Or is just a with all transports? [18:35] piscisaureus: :-) [18:36] intel_ix: the pure websocket library is great [18:36] intel_ix: works like the http server [18:36] V1: And are you running on port 80? So no nasty proxy [18:36] A_Nub1: V1 [18:36] A_Nub1: well I havent logged it [18:36] A_Nub1: I would just hit refresh [18:36] A_Nub1: and the error would go away [18:36] A_Nub1: it only happens occasionally. [18:36] A_Nub1: next time ill be sure to log it [18:37] A_Nub1: im using port 8080 right now [18:37] intel_ix: A_Nub1: Use the raw library, it's better ._. [18:37] A_Nub1: intel_ix: websockets dont support raw connections. [18:37] CiRlE has joined the channel [18:37] intel_ix: I mean, socket io has an abstraction layer [18:37] V1: A_Nub1: I have done some testing on my own, with port 4000. And about 4.50% of all our users are unable to connect to that port due to proxies [18:37] intel_ix: It has fallbacks and stuff [18:37] intel_ix: Not fully websocket [18:37] V1: Port 80 is not point what so ever [18:37] intel_ix: it also has random stuff like logging [18:38] A_Nub1: V1 this isnt a proxy problem [18:38] bartt has joined the channel [18:38] insin has joined the channel [18:38] A_Nub1: because I can connect [18:38] A_Nub1: and it works [18:38] V1: good point :p [18:38] A_Nub1: but occasionally my client throws a bunch of errors [18:38] A_Nub1: from the socket.io [18:38] sh1mmer has joined the channel [18:38] V1: Odd, If you can reproduce it, we can fix it ;) [18:39] Guest68549: gah [18:39] A_Nub1: stupid irc client [18:39] A_Nub1: Yeah [18:39] A_Nub1: Ill make sure to log it [18:39] A_Nub1: I was just busy working on it [18:40] A_Nub1: and since it only happened occasionally [18:40] A_Nub1: I put it aside [18:40] robotarmy has joined the channel [18:41] shoebat: i have a general noob question. is it possible to have PHP and nodejs working on the same website? [18:41] shoebat: i dont need them to communicate with each other.. [18:41] A_Nub1: I don't see why not. [18:41] A_Nub1: but. [18:41] A_Nub1: you could have port problem [18:41] A_Nub1: s [18:41] Billbad has joined the channel [18:41] A_Nub1: depends on what you are trying to accomplish [18:41] shoebat: where would i start? i have node running.. i have apache running.. [18:42] bradleymeck: reverse proxy in front of it before you actually hit your servers is what i usually see done to make it work [18:42] A_Nub1: Whats the goal? [18:42] shoebat: i have a node chatroom in a div.. and thats all i want with node [18:42] mytrile has joined the channel [18:42] shoebat: everything else i want to be php ajax [18:43] A_Nub1: Well just run the node on a port other than 80 [18:43] bartt1 has joined the channel [18:43] A_Nub1: and it should work fine [18:43] kkaefer: how can I find out the hostname of the machine node is running on in node 0.2? [18:43] A_Nub1: just put the div and your client javascript [18:43] kkaefer: it doesn't have os [18:43] A_Nub1: in the phpp [18:43] shoebat: i am.. [18:43] A_Nub1: then whats the problem?? [18:44] shoebat: i guess im unsure which is the MAIN one.. [18:44] A_Nub1: Well I think you are looking at it wrong then [18:44] shoebat: say i have http://localhost/blah.php [18:44] A_Nub1: it seems you have php generating the client. [18:44] shoebat: which parses some php stuff.. and i want a node chatroom IN THERE [18:44] A_Nub1: and node is just handling message dispersion. [18:44] TomsB: This is serius... Server is crashing after this error: [18:44] TomsB: Error: Socket.end() called already; cannot write. [18:44] TomsB: Anyone? [18:45] TomsB: I'm writing only if stream is writable [18:45] TomsB: and It continues to fail. [18:45] TomsB: Node v4.0.3 [18:46] TomsB: oops, v 0.4.3 [18:46] flippyhead has joined the channel [18:47] TomsB: Any workarounds? [18:47] johnciacia has joined the channel [18:49] Adman65 has joined the channel [18:49] ako has joined the channel [18:50] __tosh has joined the channel [18:51] bradleymeck: TomsB there is something about write being fixed in 0.4.4 in the changelog not sure if that affects socket.io [18:51] TomsB: I'm not using Socket.IO [18:51] jesusabdullah: YOU ARE NOW [18:51] jdalton has joined the channel [18:52] realazthat__ has joined the channel [18:52] tokumine has joined the channel [18:52] TomsB: But I'll update to newest Node and see.. [18:53] max_dev has joined the channel [18:53] V1: lol [18:53] jesusabdullah: :o Marak and Zed are chattin' on the twitters! [18:53] jesusabdullah: THE CROSSOVER I NEVER SAW COMING [18:53] felixge: ryah: https://github.com/felixge/node/commits/pipe [18:53] felixge: what do you think? [18:53] jesusabdullah: By the way, if anyone asks, Marak : Zed :: Archie : The Punisher [18:54] cmlenz has joined the channel [18:55] Rodtusker has joined the channel [18:56] TooTallNate has joined the channel [18:57] telemachus: ACTION is so confuzzled [18:57] realazthat_ has joined the channel [18:57] felixge: (ryah the branch passes all tests and fixes my problem) [18:58] JimBastard: jesusabdullah: you better be coming to http://blog.nodejitsu.com/javascript-trampoline-party [18:58] amacleod has joined the channel [18:59] Swizec has joined the channel [19:00] path[l] has joined the channel [19:00] jdalton has left the channel [19:00] johnciacia has joined the channel [19:01] jesusabdullah: JimBastard: I'll be stuck up here until June! :( [19:01] jesusabdullah: JimBastard: But if I were in the area I would definitely show [19:02] JimBastard: baaah [19:02] JimBastard: tell your friends then :-) [19:02] arpegius_ has joined the channel [19:03] troessner has joined the channel [19:03] deepthawtz has joined the channel [19:03] Billbad has joined the channel [19:04] pifantastic_ has joined the channel [19:05] hosh_work has joined the channel [19:05] Billbad has joined the channel [19:05] ukev has joined the channel [19:05] hij1nx_ has joined the channel [19:05] tylerstalder has joined the channel [19:06] qbert_ has joined the channel [19:07] andi5 has joined the channel [19:07] andi5: Can you point me to module that allows proper http request query parsing [19:08] jscheel has joined the channel [19:08] andi5: Should work with Connect bodyParser [19:08] deepthawtz has joined the channel [19:10] springmeyer has joined the channel [19:11] mt3 has joined the channel [19:11] mytrile1 has joined the channel [19:12] symbel has joined the channel [19:12] andi5: OK https://github.com/jazzychad/querystring.node.js [19:12] symbel has left the channel [19:13] kmiyashiro has joined the channel [19:13] blueadept: anyone here contribute to mongoose? i'm getting a weird bug, where when i try to update a doc with a timestamp, but it's resulting in null. http://pastie.org/private/hfrpcuzvkptt3qew3cfdg [19:13] blueadept: it only happens in nested fields [19:14] hij1nx_ has joined the channel [19:15] Billbad has joined the channel [19:15] piscisaureus has joined the channel [19:16] mt3 has left the channel [19:17] doki_pen: what is the best way to load your package.json now? [19:18] no-gooder has left the channel [19:18] andi5: How can I make qs work with connect and bodyParser? [19:19] doki_pen: require('mypackage/package.json') doesn't seem to work anymore [19:19] andi5: Especially for GET requests ... [19:21] tbranyen: doki_pen: require('mypackage') ? [19:21] tjholowaychuk: andi5: it should work as long as "qs" is available [19:21] tjholowaychuk: so npm install connect [19:21] tjholowaychuk: haha p [19:21] tjholowaychuk: :p [19:22] doki_pen: tbranyen: this is from inside mypackage [19:22] doki_pen: would that work? [19:22] tbranyen: doki_pen: require('./') [19:23] tschundeee has joined the channel [19:23] doki_pen: tbranyen: that won't cause infinite looping or something? [19:23] chrisdickinson: doki_pen: pkg = JSON.parse(require('fs').readFileSync(require('path').join(__dirname, '../package.json')).toString()) ? [19:23] doki_pen: tbranyen: oh, it works! [19:23] doki_pen: tbranyen: thanks [19:23] tbranyen: np [19:24] synkro: hi [19:24] pietern has joined the channel [19:24] matschaffer has joined the channel [19:24] synkro: is Math.random() good enough for crypto? [19:24] blueadept: tjholowaychuk: do you contribute to mongoose? [19:25] aho: synkro, it's initialized with the current time [19:25] aho: so eh... bad choice :> [19:25] V1: Hmzz when I send Buffer.toString() over a memcached TCP connection, and receive it, i will be missing 5 bytes :! [19:25] tyler-iphone: fibonacci = function(n){ [19:25] tyler-iphone: return Math.round(Math.pow((Math.sqrt(5) + 1) / 2, Math.abs(n)) / Math.sqrt(5)) * (n < 0 && n % 2 ? -1 : 1); [19:25] tyler-iphone: }; [19:25] A_Nub1: synkro: there are crypto modules. [19:25] andi5: tjholowaychuk: Is there a way to create Array instances, if the object only has integer keys? [19:26] Billbad has joined the channel [19:26] synkro: aho(); could be worse [19:26] A_Nub1: synkro: and writing a simple crypto algo wouldnt be hard [19:26] saschagehlich: did anyone ever get a "Parse Error" causing connections staying in FIN_WAIT2 which causes an EMFILE (too many files open)? [19:26] sdecastelberg has joined the channel [19:26] A_Nub1: synkro: Math.random isnt good it doesnt have a seed or a way to reverse [19:26] synkro: A_Nub1(); there is no random function in the crypto module [19:26] tjholowaychuk: andi5: you can iterate them and set the array [19:26] adulteratedjedi has joined the channel [19:26] aho: my prng of choice is xorshift (even if it's kinda awful with js) [19:26] tjholowaychuk: andi5: nothing fancy [19:26] A_Nub1: synkro: why do you want random? [19:27] A_Nub1: how would you decode it? [19:27] synkro: as salt for my hashes [19:27] A_Nub1: I repeat [19:27] A_Nub1: How do you replicate. [19:27] A_Nub1: salt is something known [19:27] A_Nub1: only by the server. [19:27] jacobolus has joined the channel [19:27] A_Nub1: if its random [19:28] synkro: yes but the salt should be sufficent random [19:28] A_Nub1: you could never compare. [19:28] tyler-iphone: aho: https://github.com/maxogden/node-prng-server [19:28] aho: synkro, cat + keyboard [19:28] A_Nub1: salt needs to be static or able to be regenerated. [19:28] A_Nub1: salt can't be random. [19:29] A_Nub1: otherwise it just will make useless hashes. [19:29] synkro: huh? it should be another salt for every hash [19:29] aho: tyler-iphone, i just use that prng for games ;) [19:29] A_Nub1: synkro: why? [19:29] aho: it's comparable to the mersenne twister [19:29] andi5: tjholowaychuk: No big deal, but should work automatically [19:29] doki_pen: maybe he means the initial creation of salt should be random? [19:29] tjholowaychuk: andi5: nah [19:29] synkro: A_Nub1(); an attack then will need a rainbow table for every salt [19:30] tjholowaychuk: this aint ruby man [19:30] tjholowaychuk: dont expect magic [19:30] tjholowaychuk: embrace the non-magic :D [19:30] A_Nub1: synkro: write a simple algo to jumble your hashes ;) [19:30] synkro: what does "jumble hashes" mean? [19:30] A_Nub1: a hash is a string [19:31] tfe_ has joined the channel [19:31] tfe_ has joined the channel [19:31] A_Nub1: use the hash to manipulate itself [19:31] A_Nub1: or be manipulated by a pattern [19:31] A_Nub1: and only have that code on the server [19:31] A_Nub1: or run a series of hashes [19:31] A_Nub1: no one will be able to reverse those. [19:31] A_Nub1: its nonsense [19:32] synkro: hmm... I'll think about it [19:32] A_Nub1: sha1("saltysalt"+md5("saltedcrackers"+value)) [19:32] A_Nub1: that should be enough [19:32] A_Nub1: to avoid any reversal [19:32] arpegius has joined the channel [19:32] dve has joined the channel [19:32] synkro: A_Nub1(); I agree [19:33] blueadept: what about using a 512 hash? [19:33] A_Nub1: my point is [19:33] A_Nub1: as long as it stays serverside, the algo used [19:33] A_Nub1: its secure. [19:33] A_Nub1: just make it nonsense [19:33] stisti has joined the channel [19:33] A_Nub1: it doesnt have to make alot of sense [19:34] A_Nub1: to how it works [19:34] A_Nub1: the less sense the algo makes [19:34] A_Nub1: the more it works [19:34] A_Nub1: Now if you are wanting to encrypt data [19:34] A_Nub1: you have to change the technique a bit [19:35] A_Nub1: the idea is to jumble the data based on a key [19:35] A_Nub1: how you do it doesnt matter [19:35] Sbioko has joined the channel [19:35] Sbioko: hello guys [19:35] A_Nub1: just so long as its reversable using the key [19:35] Sbioko: how to get the content of remote file? [19:35] aho: md5(value + ' dfxGTRGSFCXV4t$%&SXfd') [19:35] Sbioko: this is .txt file [19:35] aho: is good enough [19:35] Sbioko: Node.js v0.4.x [19:35] doki_pen: Sbioko: with http? [19:35] Sbioko: doki_pen: yeah [19:36] Epeli: how does one render plain html with Jade templates? eg. google analytics code [19:36] doki_pen: Sbioko: google http.createClient [19:36] tjholowaychuk: Epeli: one sec [19:36] mscdex: it's http.request now [19:36] mscdex: :) [19:37] A_Nub1: http://nodejs.org/docs/v0.4.5/api/http.html#http.ServerRequest [19:37] doki_pen: mscdex: oh man! [19:37] doki_pen: everything changes so fast! [19:37] Sbioko: so ServerRequest? [19:37] mscdex: Sbioko: http://nodejs.org/docs/v0.4.6/api/http.html#http.request [19:37] tjholowaychuk: Epeli: https://gist.github.com/a60257ff40525f87f23d [19:37] A_Nub1: Epeli: http://jade-lang.com/ [19:37] blueadept: tjholowaychuk: would you happen to know why this timestamp is being created as null, when it works for non-nested fields? http://pastie.org/private/hfrpcuzvkptt3qew3cfdg is this a bug, or am i doing it wrong? [19:37] Sbioko: thx all [19:38] A_Nub1: Epeli: https://github.com/visionmedia/jade heres the source to it [19:38] tjholowaychuk: Epeli: you can add raw html to any text block, so trailing "." means it's text-only, or use pipes etc [19:38] tjholowaychuk: Epeli: or just convert it to jade instead [19:38] tjholowaychuk: blueadept: dunno [19:38] doki_pen: mscdex: but createRequest still works, right? [19:39] doki_pen: *createClient [19:40] mscdex: doki_pen: yes, but it's recommended that people use http.request now, since 0.4.x [19:40] sdecastelberg has joined the channel [19:40] doki_pen: mscdex: what do people do about libraries that are used accross versions? [19:40] Sbioko: maybe there are other solutions? [19:41] Sbioko: simplier? [19:41] piscisaureus has left the channel [19:41] Sbioko: simpler [19:41] doki_pen: Sbioko: sorry, it's going to be async, it's node! [19:41] Sbioko: like file_get_contents('http://remote/text.txt'); [19:41] Sbioko: in PHP [19:41] Sbioko: yeah, I know [19:41] box2 has joined the channel [19:41] Sbioko: no modules for that? [19:41] doki_pen: Sbioko: what are you doing that you wouldn't want async? [19:41] Sbioko: yeah, I want async :-D [19:41] mscdex: doki_pen: depends on the module author. some put more effort into keeping compatibility than others [19:42] NuckingFuts has joined the channel [19:42] mscdex: Sbioko: yes, look at the http.request example in the docs [19:42] tbranyen: doki_pen: shell script? might be easier to just do synchronous [19:42] Sbioko: mscdex: ok, how to get the whole response? not just chunk as in the example [19:42] piscisaureus has joined the channel [19:42] mscdex: Sbioko: buffer the chunks if you need to then [19:43] doki_pen: Sbioko: here is an example: https://github.com/embedly/embedly-node/blob/master/lib/embedly.js#L97 [19:43] hij1nx_ has joined the channel [19:43] mscdex: Sbioko: if it's text, just have a blank text variable that you append each chunk to [19:43] doki_pen: Sbioko: just look at the data collection part [19:43] mscdex: Sbioko: then when the response's 'end' event fires, do something with the contents of your buffer variable [19:43] Sbioko: yeah I got it [19:43] Sbioko: thanks! [19:44] saschagehlich has joined the channel [19:44] llkazu has joined the channel [19:44] NuckingFuts: mscdex: But isn't string concatenation slow? [19:44] stisti: Hi! I'm a javascript and node newbie. I wrote a script and have been trying to make it faster than a perl script that does the same. Could someone give me some tips on what I could improve? Most of time seems to be spent in utf8 string allocation, which is strange because I'm using Buffers. Please comment at https://github.com/stisti/nodestuff/blob/master/sha256.js [19:45] mscdex: NuckingFuts: anything in js is slow compared to pure c++ ;-) [19:45] Me1000 has joined the channel [19:45] stisti: I'm comparing it to a *perl* script [19:45] box2: stisti: he was talking to NuckingFuts [19:46] stisti: oh, sorry [19:46] NuckingFuts: mscdex: I meant it's supposed to be faster to use an array then .join() it [19:46] NuckingFuts: Isn't it? [19:46] Sbioko: http://pastie.org/1795528 [19:46] chrisdickinson: stisti: taking a look [19:46] Sbioko: what am I doing wrong? [19:46] Sbioko: Nothing in console and in browser [19:46] mscdex: NuckingFuts: i doubt it's going to be worth worrying about for text files .... [19:47] Remoun has joined the channel [19:47] mscdex: hrmm... can't reach pastie.org [19:47] doki_pen: heh, me neither [19:47] mscdex: Sbioko: can you paste it to gist.github.com ? [19:47] NuckingFuts: Nor can I >_> [19:48] Sbioko: hm [19:48] doki_pen: domain expired? [19:48] Sbioko: what's wrong with it? [19:48] breakpointer has joined the channel [19:48] doki_pen: I can't resolve it [19:48] box2: i always use pastebin.ca [19:48] mscdex: gist is superior anyway ;) [19:48] mscdex: you can fork and everything [19:48] box2: i do like gist [19:48] mscdex: :-D [19:48] NuckingFuts: gist is the best :3 [19:48] Sbioko: http://pastebin.com/htS7CEmL [19:48] doki_pen: yeah, look at it from your editor [19:48] NuckingFuts: I used to use pastebin, now it makes me /vomit [19:49] NuckingFuts: Fucking pastebin and their copy+pasting of line numbers [19:49] Sbioko: Express + Mongoose there [19:50] boaz has joined the channel [19:50] Sbioko: so what's wrong there? [19:50] doki_pen: Sbioko: do you get an exception? [19:50] NuckingFuts: That code looks highly inefficient and/or ineffective :/ [19:50] Sbioko: nope [19:50] Sbioko: NuckingFuts: why? [19:51] doki_pen: probably string concat [19:51] V1: Sbioko: you sure your res.send() is called? [19:51] Sbioko: V1: nope [19:51] mscdex: Sbioko: https://gist.github.com/b548869e172dee905ea7 [19:51] Sbioko: it does not called [19:51] NuckingFuts: SbiokoIS that loading through localhost? :/ [19:51] V1: Or even your on data? [19:51] Sbioko: NuckingFuts: yeah [19:52] V1: yay for error handlers [19:52] NuckingFuts: Sbioko: May I ask... lolwat? [19:52] mscdex: oops, now check: https://gist.github.com/b548869e172dee905ea7 [19:52] gmanika: node is awesome [19:52] gmanika: just in case you didn't know [19:52] Sbioko: wait guys [19:52] mytrile has joined the channel [19:53] Levi has joined the channel [19:53] doki_pen: Sbioko: it's probably better to put the data into an array then join it at the end or something [19:53] MacDiva_ has joined the channel [19:53] cbiscardi has joined the channel [19:53] mscdex: imho it doesn't matter really [19:53] mscdex: you're going to end up concatenating the same chunks [19:53] Sbioko: problem solved [19:54] Sbioko: thanks guys [19:54] mscdex: whether you do it explicitly or v8 does it [19:54] Sbioko: u are awsm [19:54] doki_pen: mscdex: but each time a new string is alloc'd [19:54] mscdex: meh [19:54] doki_pen: mscdex: causes gc, no? [19:54] alexgordon has joined the channel [19:54] doki_pen: mscdex: try it with 1kk strings and see the diff [19:55] NuckingFuts: Yeah, I figure it's best to just .join() whenever feasible :B [19:55] mscdex: i think you'd probably have more serious bottlenecks before string concatenation becomes a major issue [19:55] doki_pen: Sbioko: if you have big files, then append data to and array and then do .join('') in 'end' event [19:55] doki_pen: mscdex: it's not the concat [19:55] Sbioko: doki_pen: ok, thanks :-) [19:55] doki_pen: mscdex: it's the memory [19:55] bnoguchi has joined the channel [19:56] NuckingFuts: doki_pen: I like my code nicely optimal :P [19:56] sreeix has joined the channel [19:56] doki_pen: thanks for the help mscdex , gotta run [19:56] mscdex: Sbioko: if you're just transferring the file as-is, you could do this too: https://gist.github.com/b548869e172dee905ea7 [19:57] mtsl: mscdex ... something I remember from the dark ages [19:57] Sbioko: mscdex: thanks :-) [19:57] mscdex: mtsl: ;-) [19:58] tyfighter has joined the channel [19:58] mtsl: it was a way new experience to access CD-ROMs back then. wow. [19:58] kriszyp has joined the channel [19:59] Levi has joined the channel [19:59] deedubs: wouldn't you want to use buffers in that case? [19:59] mscdex: deedubs: buffers are always emitted unless you do stream.setEncoding() [20:01] Sbioko has left the channel [20:02] konobi has left the channel [20:02] arpegius has joined the channel [20:02] stonebranch has joined the channel [20:04] hij1nx has joined the channel [20:05] a|i has joined the channel [20:06] a|i: is now.js something like socket.io? [20:06] V1: now.js is build ontop of socket.io [20:06] tjholowaychuk has joined the channel [20:06] V1: so yes [20:08] tedsuo has joined the channel [20:08] a|i: V1: any other libs comparable to now.js? I'm trying to make a chat-room-like app, wanted to evaluate available libs. [20:09] A_Nub1 has left the channel [20:09] V1: Well you can just use socket.io for chat, you don't really need now.js for that.. [20:09] techwraith: a|i: DNode is there [20:09] V1: You also have dnode that is build on top of socket.io as well [20:09] techwraith: but yeah, socket.io is really what you're looking for [20:09] a|i: thanks. [20:09] techwraith: unless you need a persistant namespace between the server and client for storing variables and functions... [20:10] V1: nowjs and dnode are basiclly frameworks that allows your server to call clientside functions or the other way around [20:10] V1: + state syncing [20:10] a|i: why now.js says beta suppoert for ie < 9? doesn't socket.io fallback to flash or something? [20:10] jonaslund has joined the channel [20:10] techwraith: Yeah, it works just fine [20:11] V1: a|i: because nowjs also ships with a HUGE now.js file, that mmight not be compatible with older browser versions [20:11] V1: Socket.IO is compatible for IE 5.5 > IE 9 etc [20:11] techwraith: Oh, nowjs, nevermind [20:11] a|i: you mean the clientside .js file has a big file size, or the lib is too big? [20:12] cloudhead2 has joined the channel [20:12] V1: client [20:12] a|i: any performance measurements, benchmarking, any stats at all for nowjs or dnode performance, eg how many concurrent connections they can handle? [20:13] V1: thousands [20:13] gxblast_ has joined the channel [20:14] RusAlex has left the channel [20:14] V1: but it always depends on the application you are building on top of the frameworks [20:15] a|i: flash media server (which is basically js + c++ like node) can handle thousands per decent server instance, but it also pushes video images too. I would expect nodejs to be faster than fms? [20:15] creationix has joined the channel [20:16] a|i: V1: let's say a typical chat room, which is active, ie, people send and receive many messages in public and private. [20:17] herelately has joined the channel [20:18] V1: 50k / 100k at a minimum on a decent server if you scale correctly [20:18] a|i: that's impressive. [20:18] V1: that probably a bit to low as well.. [20:18] pita has joined the channel [20:18] pita: https://github.com/Pita/etherpad-lite [20:18] bradleymeck: a|i the video streaming is quite optimized in fms, but more important, we dont have rtmp in node. on my home trashtop i can get 10k, but it really is straining at that (but for simple flow style programs i bet you could get higher) [20:19] a|i: any real-world real-time apps built on top of nodejs which has many many users? [20:19] a|i: bradleymeck: you mean rtmp is more effcient than http for data pushing? [20:20] bradleymeck: it is different, didnt know if you needed compatibility [20:21] isaacs: SubStack: hey, your "ssh" thingie [20:21] isaacs: SubStack: would that work if it talks to libssh2? or does it need libssh? [20:24] gxblast has joined the channel [20:25] jasong_at_apac-1 has left the channel [20:25] box2: liblib [20:25] cloudhead: any reason why client.request would be `null` in a Socket.io "connection" event? [20:25] iFire has joined the channel [20:25] V1: cloudhead: you are using a polling transport [20:25] V1: cloudhead: so the connection is probably answerd, closed before you can access the 'request' object [20:25] nephics has left the channel [20:26] V1: cloudhead: you will probably notice, if you are using a websocket connection, that you do have access to the client.request object [20:26] cloudhead: V1: yea, it's just when it drops to xhr that I have this problem [20:26] cloudhead: V1: but I need to check the cookies to authenticate the user [20:26] V1: let me guess, you are trying to read out cookies [20:27] V1: ha! I'm a mind reader [20:27] cloudhead: yes ^.^ [20:27] jimt has joined the channel [20:27] V1: I would say, there is no way to do that reliable at this point. Without making some considerable hack to the code [20:27] bradleymeck: cloudhead cookies arent always sent for things (had some flash and xhr bugs last i checked) :( [20:27] bradleymeck: s/xhr/ws [20:28] bingomanatee: I have put a pathfinding module up as https://github.com/bingomanatee/astar-node - should help game devs out there. Repackaging of A* [20:28] cloudhead: frack [20:28] bradleymeck: cloudhead, 3 leg it [20:29] mape has joined the channel [20:29] V1: cloudhead the best thing you can do is hijack the Listener.prototype._onConnection function as it's function that delegates the requests to the transports [20:29] buddha_ has joined the channel [20:29] cloudhead: hmmm [20:29] buddha_: who [20:29] cloudhead: all this is Firefox's fault [20:29] rburhum has joined the channel [20:29] cloudhead: if it just supported the damn WS [20:29] buddhamagnet: hey nodeheads [20:29] cloudhead: but no... it has to *everything* differently [20:29] V1: cloudhead: but socket.io will hopefully be more "developer" friendly in 0.7 ;P [20:30] cloudhead: ok [20:30] Rixius has joined the channel [20:30] buddhamagnet: so node.js is on fire right [20:30] V1: but it's possible to hack it in :p [20:31] bradleymeck: ... odd person [20:31] box2: yes... odd [20:31] cloudhead: V1: so basicaly, when an xhr client reconnects, it might not send headers? [20:32] V1: cloudhead, when a user connects to socket.io for the first time, socket.io will send back a response, with the session id [20:32] V1: cloudhead: and because it sends a message the browser will just close the connection and your request would be gone. [20:33] owenm has left the channel [20:33] cloudhead: yea [20:33] arpegius_ has joined the channel [20:33] esundahl has joined the channel [20:33] cloudhead: so it leaves it hanging [20:33] leahculver has joined the channel [20:33] leahculver has joined the channel [20:33] devdazed: hi all, can i shamelessly plug my contribution in here? [20:34] V1: Anyways I'm going to bed [20:34] box2: with a $5 donation [20:34] patzak has joined the channel [20:35] CiRlE has joined the channel [20:35] rsms_ has joined the channel [20:36] devdazed: well anyways, i created a project that automatically logs event emitter events [20:36] devdazed: its called eventful [20:36] devdazed: http://bit.ly/hYRX3b [20:36] devdazed: it's fully customizable also [20:37] devdazed: great for not having to deal with adding a listener to all the events you want to log [20:37] MaSch: does someone have experience with VideoJS? Can't find a channel for this project. My codes does not work :-( here it is: http://pastebin.com/5ApQnZww [20:37] devdazed: you can go to the github or just npm install eventful [20:39] devdazed: this is just the beginning though, i look forward to requests and making this the pinnacle of EventEmitter logging [20:40] stagas: devdazed: can you register on all events? [20:40] devdazed: yeah, if you dont specify anything in "only" or "exclude" it will register all events for that emitter [20:41] cloudhead: devdazed: looks good [20:42] devdazed: cloudhead: thanks! [20:42] springmeyer has left the channel [20:42] cloudhead: I think a simpler way to specify what events you want to listen to would be nice though, like the ability to maybe just pass an array as the 2nd param, which would be equivalent to `{info:only: [...]}` [20:42] konobi has joined the channel [20:43] cloudhead: or better, have it intelligently know 'error' should be logged as an error, and 'success' as `info` and 'data' as `debug` [20:44] dmcquay has joined the channel [20:44] cloudhead: that could be customizable at the module level [20:44] devdazed: i can set that in the defaults. it already automatically logs error and error and everything else as info. making it do data as debug would be trivial [20:44] cloudhead: eventful.configure({ error: 'error', data: 'debug', ...}) [20:44] devdazed: when you create a new instance of Eventful, you can pass in the defaults. that will be applied to all attaches [20:44] cloudhead: cool [20:44] cloudhead: that's good [20:46] devdazed: it does it the correct way too, by using non-enumerable properties so if you happen to enumerate your emitter, it wont break existing code [20:46] devdazed: also, it doesnt use listeners, so you wont get any unnecessary warnings or issues [20:47] a|i: when hosting node and a web app, eg rails, on the same host, does node has to use a port other than 80? [20:47] rsms has joined the channel [20:47] tbranyen: a|i: not if you proxy it [20:48] a|i: tbranyen: how about performance? [20:48] tbranyen: i have no idea you'd have to test it [20:48] devdazed: nginx is great for proxying [20:48] a|i: putting nginx in the middle just to support port 80 [20:48] tbranyen: you don't have to run it on port 80 [20:48] devdazed: i have an app that (on a high cpu xlrg on amazon) can do 15k/secong with nginx load balancing [20:48] tbranyen: thats complete a cosmetic reason [20:48] a|i: hat I meanis, is it ok for node to use port 81 or something, and the js client has to communicate through port 81? [20:48] tbranyen: completely* [20:49] tbranyen: a|i: sure use websockets or jsonp [20:49] geoffeg has joined the channel [20:49] tbranyen: or something that isn't affected by the SOP [20:49] devdazed: a|i: be careful about using non-standard ports though. your users could be behind a firewall [20:50] a|i: devdazed: taht's exactly why I asked this question. [20:51] devdazed: if you want to run it beside rails or somehting then run it on a different port and use a reverse proxy like nginx to forward the correct requests to node or rails [20:51] a|i: devdazed: sure, just wondering if the extra step of nginx could be avoided [20:52] devdazed: not really, but nginx is so lightweight that you wont see a performance hit, especially when using rails [20:52] JeffWillden_ has joined the channel [20:52] doki_pen: is there a decent websocket client lib for node? [20:52] a|i: devdazed: how would a request to node , or rails can be serapated from each other? based on path or what? [20:52] tbranyen: a|i: how could two servers serve on the same port? [20:52] devdazed: liek i said, i use it on a machine that does 15k per second [20:52] a|i: tbranyen: I wish they could share a port :) [20:53] tbranyen: doki_pen: no there are no decent libraries none might as well not even google... [20:53] clee: you could split it by virtualhost, instead of path [20:53] a|i: devdazed: so how is it possible to distinguish betweeh webapp request and node requests? [20:54] devdazed: nginx can do it by path [20:54] ewdafa has joined the channel [20:54] a|i: okay. [20:54] devdazed: so you put in the config /node goes to node app running on port 8000 and /everything else goes to rails app on 3000 [20:54] a|i: devdazed: I see. [20:54] doki_pen: tbranyen: of course, I found some googling, I want opinion [20:55] a|i: is there something like appengine for node? [20:55] miccolis has joined the channel [20:55] devdazed: nodejitsu is beta testing i think [20:55] a|i: cloud foundry is in beta. [20:55] devdazed: its like heroku for node [20:55] konobi: no.de [20:55] bingomanatee has joined the channel [20:55] mattmcmanus has joined the channel [20:56] SubStack: isaacs: libssh2 doesn't have a server component [20:56] techwraith: Yeah, no.de works really well [20:56] techwraith: Or get a joyent smartmachine if you need some more power [20:56] realazthat__ has joined the channel [20:57] a|i: why is that no.de doesn't have any pricing pages? [20:57] techwraith: It's free [20:57] bradleymeck: for now [20:57] a|i: so what's the catch? [20:57] sivy has joined the channel [20:57] a|i: any limits for concurrent users etc? [20:57] aguynamedben has joined the channel [20:57] techwraith: It's great for developing on, but it's not super powerful [20:57] techwraith: for a production type app, it would be best to upgrade to a smartmachine [20:58] a|i: none of these micro companies would provide the decent free quota like appengine. [20:58] tilgovi has joined the channel [20:58] Stan____ has left the channel [20:59] devdazed: hey what do you all use for deployment? capistrano? or other? [20:59] a|i: I was thinking of rsync. [21:00] cloudhead: devdazed: custom bash script [21:00] tjholowaychuk: devdazed: bash [21:00] tjholowaychuk: ruby people like to complicate things with complicated things [21:00] konobi: git! [21:00] devdazed: cloudhead: yeah, thats what im using now. just hoped there was something easier [21:00] devdazed: konobi: how do you use git to deploy to say 20 servers? [21:01] tbranyen: hooks? [21:01] esundahl has left the channel [21:01] esundahl has joined the channel [21:01] tokumine has left the channel [21:01] devdazed: hooks? [21:01] cloudhead: git's a pain to deploy with in my experience, but some people like it [21:01] tjholowaychuk: cloudhead: yeah I agree [21:01] devdazed: my bash script pulls from git, and just does everything else via ssh [21:01] a|i: devdazed: chef is not bad if you want to manage many servers. [21:01] ewdafa has left the channel [21:01] tjholowaychuk: its not really meant for that [21:02] tjholowaychuk: (obviously) [21:02] konobi: i tend to agree [21:02] tjholowaychuk: no reason to use git pushes to deploy, just as easy with a script [21:02] devdazed: yeah, i looked at wayne sequins BDSM [21:02] devdazed: but the lack of documentation makes it difficult [21:02] tbranyen: tjholowaychuk: heh it sucks when my no.de reload fails because of something wrong on the server and i need to do whitespace commit to restart [21:03] tjholowaychuk: tbranyen: ahaha yeah [21:03] konobi: tbranyen: you can log in and restart yourself [21:03] tbranyen: konobi: allegedly [21:03] arpegius has joined the channel [21:03] flippyhead has joined the channel [21:03] tbranyen: i've never gotten node-service-restart to do anything but whine [21:03] konobi: yeah... there was a "warning" [21:03] tbranyen: although i think i royally screwed up my smart machine [21:04] tbranyen: :( [21:04] konobi: but it was a misnomer [21:04] felixge: ryah: https://github.com/joyent/node/pull/929 / https://github.com/joyent/node/pull/930 when you find a chance [21:04] tbranyen: ah okay [21:04] jelveh has joined the channel [21:04] konobi: tbranyen: should be some nice updates in the next day or two for a lot of that stuff [21:04] robotarmy has joined the channel [21:05] miccolis has joined the channel [21:05] tbranyen: konobi: nice, i'm fairly *nix savvy and i dunno how i completely borked my smart machine by just trying to use latest node [21:06] c4milo: devdazed: shell scripts [21:06] c4milo: hehehe [21:07] devdazed: yeah, that's what i use now, well a makefile anyways [21:07] tjholowaychuk: devdazed +1 [21:07] tjholowaychuk: make is the shit [21:07] triptych_ has joined the channel [21:07] tjholowaychuk: fuck cake [21:08] devdazed: rake blows too [21:08] tjholowaychuk: sure does [21:08] realazthat_ has joined the channel [21:08] konobi: tbranyen: we do update the versions... we just got a little behind due to other work [21:08] triptych_: anyone know a good db for node? couchdb? mongodb? [21:08] c4milo: how stable is smartmachines for a production app [21:08] c4milo: ? [21:08] devdazed: i use mongodb religiously [21:08] tylerstalder has joined the channel [21:09] konobi: c4milo: depends what smartmachines you're talking about [21:09] box2: mongodb is web scale [21:09] dnyy has joined the channel [21:09] triptych_: hmm ok [21:09] triptych_: thx all [21:09] c4milo: konobi: ? [21:09] c4milo: http://www.joyentcloud.com/ [21:09] c4milo: ? [21:10] triptych_: anyone here tried out nodester.com yet? I've been able to get some apps going on it pretty quickly [21:10] c4milo: konobi: I guess this https://no.de [21:10] konobi: c4milo: very... disclaimer... i work at joyent [21:10] triptych_: plus, they are actually giving out coupons [21:10] sh1mmer has joined the channel [21:10] devdazed: yeah i put in for one and was told i was waitlisted [21:11] devdazed: or added to the queue as they put it [21:11] dnyy1 has joined the channel [21:11] c4milo: konobi: no.de very disclaimer? [21:12] konobi: c4milo: smartmachines are very production ready [21:12] dnyy2 has joined the channel [21:12] konobi: (the disclaimer is that i'm a joyent employee) [21:12] tylerstalder has joined the channel [21:12] c4milo: konobi: when we are talking about smartmachines, that includes no.de too, am I right? [21:12] jimt_ has joined the channel [21:13] konobi: c4milo: yes... though no.de is a little different than the a smartmachine you would buy [21:13] c4milo: konobi: why? [21:14] bingomanatee has joined the channel [21:14] Gelegrodan: npm registry <33 hangs both firefox and chrome :) [21:14] bits58 has joined the channel [21:14] konobi: c4milo: it's a "free" service, so the T&C are different [21:15] mikl has joined the channel [21:15] isaacs: Gelegrodan: works for me. maybe you've got some kind of jsonview plugin or something that's taking a long time to parse all the data? [21:15] Gelegrodan: isaacs: nopp, nothing on now [21:15] isaacs: Gelegrodan: try http://registry.npmjs.org/-/short [21:15] isaacs: Gelegrodan: or curl [21:15] c4milo: konobi: I see [21:15] techwraith: So, if I have an array of functons and I want them to be called as callbacks, in order, what's the best way to go about doing that? [21:15] c4milo: konobi: thanks [21:15] bingomanatee has joined the channel [21:16] techwraith: [func1, func2, func3, etc...] [21:16] devdazed: techwraith: forEach ? [21:16] techwraith: I need func1(func2(func3))); [21:16] devdazed: oh [21:16] Gelegrodan: isaacs: if it hangs firefox thats ok.. firefox 4 is damn slow anyway, but i launched chrome just to search and it hang [21:16] dnyy has joined the channel [21:17] konobi: c4milo: so if you want to be totally sure for a production app... buy a smartmachine... you can always use an no.de smartmachine for development [21:17] Gelegrodan: firebug /web developer off [21:17] tbranyen: techwraith: pass an array to each one and trim off every time its successful? [21:17] isaacs: Gelegrodan: what are you actually viewing? what url? [21:17] Gelegrodan: hm [21:17] Gelegrodan: lets see [21:17] c4milo: konobi: got it, that sounds reasonable [21:17] devdazed: techwraith: recursive method? [21:17] Gelegrodan: isaacs: write log � [21:17] isaacs: Gelegrodan: what's in the "url" field? [21:17] Gelegrodan: i mispelld [21:17] Gelegrodan: and hit � [21:17] Gelegrodan: thats when it hangs :) [21:17] onar has joined the channel [21:18] isaacs: Gelegrodan: what url? [21:18] Gelegrodan: isaacs: it dosent change url.. just hangs the tab [21:18] techwraith: These are tests, and I have a ton of them (some not written by me) can you think of any way to do it without modifying the functions themselves? [21:18] isaacs: let's start there. what url are you doing this on. [21:18] Gelegrodan: pm [21:18] isaacs: Gelegrodan: search.npmjs.org? registry.npmjs.org? [21:18] tbranyen: techwraith: http://pastebin.com/z4YzD29G [21:18] tbranyen: something like that maybe? [21:18] tbranyen: er callbacks.pop()() [21:18] devdazed: like this maybe: function process(ary){ if (ary.length){ process(ary.pop) } } [21:18] tbranyen: and you'd probably want a test to ensure its a function [21:19] techwraith: tbranyen: that's pretty genius :) [21:19] bits58 has joined the channel [21:19] tbranyen: if the other callbacks aren't in the same scope, feed in the array to the next one as well [21:20] tbranyen: callbacks && callbacks.pop()(callbacks) [21:20] mc_greeny has joined the channel [21:21] devdazed: tbranyen: nice [21:22] onar has joined the channel [21:22] dnyy1 has joined the channel [21:23] isaacs: tbranyen: should have a && callbacks.length in the middle there [21:23] isaacs: tbranyen: callbacks && callbacks.length && callbacks.pop()(callbacks) [21:23] a|i: why do I get 'TypeError: Object # has no method 'listen'' with node 0.5pre on a hellow world file?: http://pastebin.com/aA930ni1 [21:24] techwraith: tbranyen: mind updating the pastebin so I can take a look at the updated code? not quite grokkin' it [21:24] tbranyen: isaacs: ah yea [21:24] sivy has joined the channel [21:24] devdazed: a|i var server = http.create... [21:24] devdazed: server.listen [21:24] tbranyen: forgot empty arrays are truthy [21:24] tbranyen: heh [21:24] tbranyen: why is pastie.org down, this is an outrage [21:24] asdfsafdsa: Hello, what is a module called that helps programmers deal with calling a program using chid-process spawn? is it API, wrapper, or driver? [21:25] a|i: devdazed: didn't help! [21:25] a|i: is the listen method changed? [21:25] ghost has joined the channel [21:25] devdazed: no, the listen method is not on http [21:26] devdazed: the listen method is on the value returned by createServer [21:26] a|i: devdazed: ah sure. [21:26] devdazed: var server = http.createServer(); server.listen [21:26] a|i: I just chain it.. [21:26] devdazed: you can chain it [21:27] ryah: felixge: thanks [21:27] CIA-72: node: 03Felix Geisendörfer 07master * r80711b0 10/ (3 files in 3 dirs): [21:27] CIA-72: node: Feature: WriteStream#bytesWritten property [21:27] CIA-72: node: Implemented a new property for writable file streams that keeps track [21:27] CIA-72: node: of the bytes written (not queued). This helps when you are piping [21:27] CIA-72: node: another stream to a file, and would like to know how big the file is [21:27] CIA-72: node: without having to issue another stat call. [21:27] CIA-72: node: closes #930 - http://bit.ly/hZPk4j [21:28] CIA-72: node: 03Felix Geisendörfer 07v0.4 * r6c5b31b 10/ (lib/stream.js test/simple/test-stream-pipe-cleanup.js): (log message trimmed) [21:28] CIA-72: node: Fix: Multiple pipes to the same stream were broken [21:28] CIA-72: node: When creating multiple .pipe()s to the same destination stream, the [21:28] CIA-72: node: first source to end would close the destination, breaking all remaining [21:28] CIA-72: node: pipes. This patch fixes the problem by keeping track of all open [21:28] CIA-72: node: pipes, so that we only call end on destinations that have no more [21:28] CIA-72: node: sources piping to them. [21:29] tbranyen: techwraith: http://jsfiddle.net/YJzFC/ [21:29] tbranyen: hth [21:29] kioopi has joined the channel [21:29] rsms has joined the channel [21:29] tbranyen: although [21:29] tbranyen: pop isn't right [21:29] tbranyen: you want shift [21:29] tbranyen: heh [21:29] tbranyen: http://jsfiddle.net/YJzFC/1/ [21:29] tbranyen: date [21:29] tbranyen: dat* [21:30] Epeli: tjholowaychuk: thanks for the Jade and raw html tip. Had to leave computer for a while :) [21:30] tbranyen: http://jsfiddle.net/YJzFC/2/ mo readable [21:30] tjholowaychuk: Epeli: haha np [21:30] devdazed: why the setTimeout? [21:31] creationix has joined the channel [21:31] a|i: does node have a dev mode where the edited files are reloaded automatically when a new request is received? [21:31] tbranyen: devdazed: read the comment [21:31] felixge: ryah: Looks like you squashed two different fixes into one commit? [21:31] tbranyen: to show it works asynchronously [21:32] devdazed: oh, i should have seen that [21:32] devdazed: will it work with timeouts that are different? [21:32] devdazed: say if the next one took 10ms [21:32] kioopi: hey, everybody. trying to run the test of connect. make test throws ECONNREFUSED in Socket._onConnect. Fresh checkout of connect. node 0.4.6. any idea? [21:33] tbranyen: devdazed: so long as you run the callback execution code inside its completion [21:33] tbranyen: sure? [21:33] devdazed: hmm, cool [21:33] arpegius_ has joined the channel [21:34] copongcopong has joined the channel [21:35] sivy has joined the channel [21:35] rsms has joined the channel [21:35] jacobolus has joined the channel [21:37] maushu has joined the channel [21:38] rsms has joined the channel [21:41] jelveh has joined the channel [21:41] CIA-72: node: 03koichik 07v0.4 * r74d94b0 10/ doc/api/globals.markdown : Fix docs - Move module's description to right position - http://bit.ly/gxbMw2 [21:41] [[zzz]] has joined the channel [21:43] eb4890 has joined the channel [21:44] perlmonkey2 has joined the channel [21:44] realazthat__ has joined the channel [21:44] perlmonkey2: Is there a module that will allow you to expose events between the client and server? I was thinking it would be pretty easy to do that with dnode, but maybe someone's already done it. [21:45] devdazed: what do you mean by expose events? [21:45] devdazed: and are you talking about an http server? [21:45] dambalah has joined the channel [21:46] SubStack: perlmonkey2: http://substack.net/posts/9bac3e [21:46] esundahl has left the channel [21:46] boogyman has joined the channel [21:47] pita: http://groups.google.com/group/nodejs/browse_thread/thread/b5619a240164f1d0 [21:48] pita: http://groups.google.com/group/nodejs/browse_thread/thread/38d64afc43ddc96b [21:48] intel_ix has left the channel [21:48] pita: would be cool if I can get answers from you guys [21:48] devdazed: what's wrong with redis? [21:49] devdazed: also, if it wouldnt be too difficult to roll your own [21:49] sh1mmer has joined the channel [21:50] cognominal: how come that node JSON.parse cannot parse the content of http://registry.npmjs.org? [21:50] jgv has joined the channel [21:51] cognominal: oops, I may have made a mistale [21:51] shafire has joined the channel [21:51] shafire: hi [21:51] shafire: is someone using dreamwaver with nodejs? [21:51] tjholowaychuk: shafire: no [21:51] tjholowaychuk: never! [21:51] tjholowaychuk: nevaaaa [21:51] shafire: eva [21:52] shafire: why? [21:52] devdazed: shafire: why? [21:52] techwraith: tjholowaychuk: whoa there, calm down ;) [21:52] tjholowaychuk: techwraith: haha [21:52] tjholowaychuk: just joking around [21:52] mtsl: Kts [21:52] techwraith: tjholowaychuk: I know :) [21:52] eventi: cat's sleeping with dogs... [21:52] devdazed: textmate works wonders with node [21:52] shafire: because dreamwaver is good in html5 [21:52] mtsl: shafire...: I have to say... : what? [21:52] devdazed: node has nothing to do with html5 [21:52] tjholowaychuk: oh no [21:53] shafire: i want all in one [21:53] shafire: don't ask, i want only to know, if someone is using it with dreamwaver [21:53] devdazed: i think the answer there is no [21:53] tjholowaychuk: you may want to reevaluate your editor of choice [21:53] tjholowaychuk: and by may, I mean highly suggest not using it [21:53] Nexxy: why did I just read someone saying something about sleeping with dogs? isn't that meant for a different kind of channel? ;3 [21:54] devdazed: if you want all in one, i wouldnt go with dreamweaver [21:54] tjholowaychuk: and by highly suggest, I mean dont [21:54] shafire: i want to buy a porsche, do i need to reevaluate my car of choice?? [21:54] devdazed: dreamweaver !== porche [21:54] tjholowaychuk: dreamweaver is liek a PT cruiser [21:54] mtsl: perhaps you should dig into the underlying technologies which dreamweaver makes use of in a ... crappy way [21:54] devdazed: dreamweaver === miata [21:54] tjholowaychuk: you think its cool [21:54] tjholowaychuk: but then its not [21:54] devdazed: hahaha [21:54] max_dev has joined the channel [21:55] techwraith: People like their editors, let 'em use it [21:55] techwraith: They'll come around [21:55] tjholowaychuk: haha yeah totally, just check out some other stuff, put serious time / effort into learning a few others [21:55] cognominal: tjholowaychuk, what is a PT cruiser for the non native speakers? [21:55] devdazed: im stuck on textmate until idea comes out with bdebugging support for node [21:55] tjholowaychuk: and then you will change your mind [21:55] shafire: at moment, i am using intellij, but dreamwaver looks cool too [21:55] tjholowaychuk: cognominal: http://www.carshine.com.au/Pictures/Chrysler%20-%20PT%20Cruiser%20-%20Photo%20Gallery%20(PT-22)-done.jpg [21:55] Jckf: devdazed: The MX5 is actually quite fun. It's spesifically the Miata version that's poop [21:55] shafire: cognominal: like a fiat haha [21:55] devdazed: id stick with intellij [21:56] Jckf: *specifically [21:56] mtsl: well, the name of dreamweaver is cool, but it creates nightmares instead :) [21:56] Jckf: But back to the topic: I use Notepad++ [21:56] devdazed: tjholowaychuk: i guess you can polish a turd [21:56] devdazed: haha [21:56] tjholowaychuk: but its still a turd [21:56] tjholowaychuk: haha [21:56] tjholowaychuk: you can put spoilers on a turd [21:56] tjholowaychuk: and stickers [21:56] devdazed: dreamweaver is great for designer who dont know how to write html [21:57] devdazed: that is all [21:57] tjholowaychuk: hardly even great at that [21:57] devdazed: hahaah [21:57] cognominal: my hunch is that dreamweaver catters to a population very different from nojs people. See the previous cat/dogs analogy [21:57] mtsl: devdazed, I agree. So they shouldn't think of using node at all ;) [21:57] harth has joined the channel [21:57] devdazed: cognominal: right [21:58] Nexxy: dreamweaver caters to the influx of "professional web designers" that have come about since the dot com bubble [21:59] Nexxy: as in, "I took a VC course @ my local community college! I am now a web designer!" [21:59] devdazed: and high school kids that refer to themselves as "ninja" or "rockstar" [21:59] shafire: yeah i did :) [21:59] Nexxy: 'scuse me, keyboard cowgirl [21:59] Nexxy: ACTION coughs [21:59] shafire: where are you all from? [21:59] Nexxy: ACTION is a PDX [21:59] sh1mmer has joined the channel [22:00] shafire: portland? [22:00] mtsl: anyway, web development lead me years ago to linux, so I think it's a great opportunity for "customers" of software like dreamweaver to learn about technology [22:00] Nexxy: shafire, that is correct sir! [22:00] shafire: Nexxy: so i am from str :p [22:00] Nexxy: Echterdingen? [22:00] devdazed: did this just turn into a hookup room? [22:01] Nexxy: yeah totally, asl? [22:01] shafire: Nexxy: yeah [22:01] Nexxy: shafire, kewl ;3 [22:02] Nexxy: devdazed; I don't think getting to know other devs a little better is called 'hooking up' per se [22:02] Twelve-60: so uh.. anyone wnat to get the official way to append a string to a filee? [22:02] devdazed: Nexxy: it was in jest [22:03] devdazed: Twelve-60: how is that? [22:03] devdazed: i was just asking about this ealier btw [22:03] Nexxy: just making sure ;3 sorry if I responded too seriously, i'm just used to the ruby community [22:03] Twelve-60: devdazed: fs.write(fd, "test", null, null, null, callback) ? [22:03] devdazed: Nexxy: hahaha [22:03] kinman has joined the channel [22:04] Nexxy: I was ridiculed and cussed @ by one of their "rockstars" because I didn't agree with his view on intellectual property [22:04] lukus has joined the channel [22:04] lukus has joined the channel [22:04] devdazed: Twelve-60: that required a file descriptor. i was actually looking for a convienience method to do it all at once [22:04] Twelve-60: i dont understand why there isn't a fs.puts(string, callback) :/ [22:04] Twelve-60: well im using fs.open [22:04] Twelve-60: to get the fd [22:04] devdazed: similiar to rubys 1 line file append [22:04] Twelve-60: but the callback is never calling from fs.write [22:04] Twelve-60: so i gueess im doing it wrong or the callback doesnt work for strings [22:04] Twelve-60: :/ [22:05] Nexxy: use an array! [22:06] devdazed: Twelve-60: are you trying to write a buffer? [22:06] devdazed: fs.write takes a buffer [22:06] Twelve-60: devdazed: no a string :P [22:07] Twelve-60: i dont see any other methods [22:07] Twelve-60: O_o [22:07] devdazed: Twelve-60: also make not that the first argument of the callback is an error, then the number of bytes written [22:07] saikat has joined the channel [22:08] Twelve-60: devdazed: yeah i do [22:08] devdazed: Twelve-60: string should work, how are your creating your handle [22:08] Twelve-60: so do i have to convert a string to a buffer or something [22:08] Twelve-60: code: http://pastebin.com/LhEJZjMn [22:08] felixge has joined the channel [22:08] sh1mmer has joined the channel [22:08] devdazed: Twelve-60: nononono [22:08] Twelve-60: just a logger for application exceptions [22:08] Twelve-60: no? :o [22:08] devdazed: like this: var fd = fs.createWriteStream(log_location, {'flags': 'a'}); [22:09] devdazed: fd.write("foo") [22:09] Twelve-60: doesn't fs.open do the same thing [22:09] Dyscrete: anyone have a best practice tutorial for express for nodejs? [22:10] qbert_: our events in EventEmitter global ? I have an event called 'addUser', that I want several modules to listen for, is this doable with nodejs' event system ? [22:10] qbert_: are* [22:11] jimt has joined the channel [22:11] devdazed: Twelve-60: i dont think so, open will open it then you have to convert your string to buffer etc [22:11] Adman65 has joined the channel [22:11] devdazed: createWriteStream makes a writable stream that you can send strings to [22:12] Twelve-60: devdazed: http://pastebin.com/CFCpp4YT [22:12] Twelve-60: err [22:12] Twelve-60: forget the fs. [22:12] Twelve-60: lol [22:12] devdazed: Twelve-60: fd = fs. createWriteStream [22:13] CIA-72: node: 03Ryan Dahl 07v0.4 * red316ae 10/ doc/api/http.markdown : [22:13] CIA-72: node: Docs: some encodings contains multibyte chars. [22:13] CIA-72: node: fixes #888 - http://bit.ly/hXRWRL [22:14] devdazed: Twelve-60: fs.createWriteStream(....).on('open', function(fd){} [22:14] jelveh has joined the channel [22:14] techwraith: tbranyen: you around? [22:14] deoxxa has joined the channel [22:14] techwraith: tbranyen: I'm trying to get that callback thing you sent me working. [22:15] lstoll has joined the channel [22:15] tfe_ has joined the channel [22:15] tfe_ has joined the channel [22:15] techwraith: tbranyen: basically, I have three functions that each take a callback [22:15] tylerstalder has joined the channel [22:15] devdazed: Twelve-60: then you can do fd.write [22:15] tbranyen: techwraith: yea [22:15] jx_ has joined the channel [22:16] Twelve-60: its not function (fd) [22:16] tbranyen: techwraith: as a single arg? [22:16] techwraith: tbranyen: yeah [22:16] jimt has joined the channel [22:16] devdazed: Twelve-60: yes it is [22:16] Twelve-60: arguments = { '0': 151 } [22:16] jx_: hello [22:16] devdazed: Twelve-60: http://nodejs.org/docs/v0.4.6/api/fs.html#fs.WriteStream [22:16] Twelve-60: Object 151 has no method 'write' [22:16] techwraith: tbranyen: so func1(callback), func2(callback), func3(callback), etc... [22:16] devdazed: Twelve-60: show me code [22:17] techwraith: I've got them in an array [22:17] techwraith: I need func1(func2(func3())) [22:17] Twelve-60: http://pastebin.com/jHEHnSvV [22:17] liar has joined the channel [22:17] tbranyen: techwraith: do you want to pass the return value to each function or something? [22:17] tbranyen: becuase thats what i'm seeing [22:18] techwraith: Nope, I just want to do it in order basically [22:18] secoif_ has joined the channel [22:18] bnoguchi: techwraith: use futures [22:18] bnoguchi: techwraith: aka promises [22:18] scrogson has joined the channel [22:19] techwraith: bnoguchi: will that work for a variable number of functions? [22:19] devdazed: Twelve-60: it seems something has changed [22:19] techwraith: I'm never sure how long the functions array will be [22:19] cloudhead: hey mjr_: any idea what this is: "Error: subscriptions are active but got an invalid reply: OK" ? it happens when I unsubscribe from a pub/sub [22:19] Twelve-60: mm im not 0.4.3, i guess ill update [22:19] Twelve-60: im on* [22:19] devdazed: ryah: and idea why WriteStream open is returning an int and not a filedescriptor? [22:20] mjr_: cloudhead: hmm, sounds like a bug [22:20] mjr_: I haven't tested unsubscribe much [22:20] Twelve-60: no changelog for 0.4.6 ? [22:20] ryah: devdazed: ? [22:20] cloudhead: mjr_: ok, I just do `sub.unsubscribe(); sub.quit()` and I get that [22:21] rsms has left the channel [22:21] devdazed: ryah: according to the docs, the open event for WriteStream returnd the fd [22:21] devdazed: fs.createWriteStream('/tmp/foo.txt').on('open', function(fd){ fd.write("foo"); fd.close(); }); [22:21] devdazed: breaks [22:21] mjr_: cloudhead: does it still happen if you leave off the quit? [22:21] bnoguchi: techwraith: yeah [22:21] jasong_at_apache has joined the channel [22:21] tjholowaychuk: devdazed: the fd is represented as a number [22:22] bnoguchi: techwraith: it's not so straightforward if you don't understand promises. are you familiar with them? [22:22] johnciacia has joined the channel [22:22] tjholowaychuk: devdazed: whenever you see "fd", it's an int [22:22] devdazed: ah, i misunderstood that [22:22] Twelve-60: you still need fs.write(fd, blah blah blah....) [22:22] ryah: devdazed: fd is an integer [22:22] Twelve-60: no? [22:22] piscisaureus: devdazed: var s = 01fs.createWriteStream('/tmp/foo.txt').on('open', function(fd){ s.write("foo"); s.close(); });01 [22:22] techwraith: Not really familiar with them, but I have a kind of vague understanding [22:23] devdazed: piscisaureus: you beat me to it [22:23] cloudhead: mjr_: let me try that [22:23] mtsl has joined the channel [22:23] Twelve-60: is stream.write synchronous? [22:23] ryah: Twelve-60: no [22:23] tbranyen: techwraith: http://jsfiddle.net/YJzFC/3/ [22:23] Twelve-60: does it have a callback, wheres the docs for this lol [22:23] tbranyen: something like that? [22:24] doubletap has joined the channel [22:24] bnoguchi: techwraith: k, you should get familiar with them - http://blog.jcoglan.com/2010/02/23/evented-programming-patterns-deferrable-values/ [22:24] mjr_: cloudhead: thanks. Send me an issue with the details. I'll get to it soon, but I'm in the middle of a big rollout for the next few days. [22:24] ryah: Twelve-60: yes [22:24] techwraith: bnoguchi: Thank! [22:24] techwraith: *thanks [22:24] cloudhead: mjr_: that seems to fix it! [22:24] doubletap has left the channel [22:24] piscisaureus: 01devdazed: it is not 100% correct still. you must not call close on the stream immediately after write. [22:24] tbranyen: http://jsfiddle.net/YJzFC/4/ techwraith or something like that to feed in the arrays from an outside source [22:25] tbranyen: i don't really see hte point in using deferreds here unless you planned on running everything in parallel [22:25] reid has joined the channel [22:25] devdazed: piscisaureus: how would i open, write, closee all at once then? [22:25] mjr_: cloudhead: oh, good. [22:25] liar has joined the channel [22:25] Twelve-60: ryah: ok thanks, is it the same as http://nodejs.org/docs/v0.4.6/api/streams.html ? [22:25] piscisaureus: 01devdazed: use .end() not close [22:25] devdazed: piscisaureus: nevermind, i see i should have used the callback [22:25] devdazed: or that [22:26] cloudhead: mjr_: so it quits on its own when you unsub? [22:26] ryah: Twelve-60: fs.WriteStream net.Socket [22:26] Spion_ has joined the channel [22:27] mjr_: cloudhead: not sure. There's a bug here, for sure. quit after sub/unsub just needs to be exercised. That sequence isn't in the tests. [22:27] cloudhead: mjr_: basically I'm not going to be using the client beyond that point, so I want to close the connection [22:27] Twelve-60: im still confused on the best way to 1. open a file 2. append a string and then 3. close [22:27] cloudhead: ok cool [22:27] cloudhead: I'll post an issue so you don't forget [22:27] jpick has joined the channel [22:29] gazumps has joined the channel [22:29] Twelve-60: hows this look http://pastebin.com/UexzyMeP [22:30] devdazed: Twelve-60: var s = fs.createWriteStream('/tmp/foo.txt').on('open', function(fd){ s.end("foo"); }); [22:30] sys16384 has joined the channel [22:30] Jckf: WebSockets. How do I create a server for them with Node.js? [22:31] devdazed: Twelve-60: that looks ok [22:31] Twelve-60: seems to work [22:31] sys16384: hi all. any idea where i could find some docs for developing bindings? I'd like to write em for the gsl [22:31] piscisaureus: Twelve-60: if you really want to append add { flags: 'a' } as second parameter to CreateWriteStream [22:32] cloudhead: sys16384: I think someone wrote a tutorial on the howtonode blog [22:32] Twelve-60: piscisaureus: wha? [22:32] sys16384: thanks [22:32] piscisaureus: Twelve-60: http://nodejs.org/docs/v0.4.6/api/fs.html#fs.createWriteStream [22:33] cloudhead: sys16384: a lot of it is actually v8 related, but node has some helpers to export functions for example [22:33] Twelve-60: piscisaureus: im confused, whats your point exactly? lol [22:33] kkaefer: is there a way to find the hostname on node v0.2? [22:33] highermath_away has joined the channel [22:33] kkaefer: without shelling [22:35] piscisaureus: Twelve-60: if you omit the { flags: 'a' } you will end up writing at offset 0. [22:35] piscisaureus: ... instead of at the end of your file [22:35] Twelve-60: piscisaureus: yes, thats why i included the flag :o [22:36] sys16384: cool article on howtonode but... [22:36] sys16384: gsl@0.0.1 GNU Scientific Library for NodeJS. =david latest remote library gsl mathematics random gaussian [22:36] piscisaureus: 07[00:30] 01Twelve-60: var s = fs.createWriteStream('/tmp/foo.txt').on('open', function(fd){ s.end("foo"); });01 [22:36] no-gooder has joined the channel [22:36] Twelve-60: hows this look http://pastebin.com/UexzyMeP [22:36] Twelve-60: :D [22:36] sys16384: nodejs wins again [22:36] Twelve-60: but ty [22:37] piscisaureus: confusion all over the place :-/ [22:38] liar has joined the channel [22:41] perlmonkey2: SubStack: That pubsub is retardedly easy. I hope you are connected from your Yacht anchored off some tropical island full of rum and sun. [22:43] perlmonkey2: SubStack: heh, I might not have been clear there. Thanks for the great article. That's *exactly* what I was looking for :) [22:43] jpick has joined the channel [22:43] devdazed: just added support for file logging to eventfule :D [22:44] devdazed: *eventful [22:45] trotter has joined the channel [22:45] dmojoryder has joined the channel [22:46] Jckf: How can I execute a system command within a Node program? [22:46] SubStack: perlmonkey2: excellent! [22:47] ziro` has joined the channel [22:48] xandrews has joined the channel [22:49] rburhum has joined the channel [22:49] creationix: Jckf: child_process.exec [22:49] rburhum has left the channel [22:49] creationix: it's in the API docs [22:52] Nexxy: someone just got rtfm'd ;< [22:52] Nexxy: Jckf hang in there! [22:52] M3l7D0wN has joined the channel [22:53] jgv has joined the channel [22:53] Jckf: I expected the API index to be in alphabetical order, which is why I didn't find it. Thank you, creationix [22:53] Jckf: Nexxy: I will survive ;p [22:53] SubStack: perlmonkey2: it did take make a long time to figure out how to do pubsub easily in dnode [22:53] Nexxy: Jckf, as long as you have love to give? [22:53] prettyrobots: piscisaureus: I got test coverage working. [22:53] Jckf: All of it [22:53] Nexxy: okay, Gloria :P [22:53] SubStack: before I figured out that approach I had these stupid RemoteEmitter things [22:53] pyrotechnick1 has joined the channel [22:54] kuya has joined the channel [22:54] piscisaureus: prettyrobots: good [22:54] prettyrobots: It's just a batch (.bat) file, so, not very intrusive. [22:54] SubStack: except it was really easy to introduce race conditions since the .emit()s were all firing asynchronously so events could start flying before the listeners were bound [22:54] prettyrobots: I've got some other things to work on, so I'll have to come back to testing, probably on the weekend. [22:55] Nexxy: I'm still lost when it comes to streaming video with node ;< wat do? use gstreamer instead? [22:55] piscisaureus: prettyrobots: yes, that's ok [22:55] hij1nx has joined the channel [22:55] prettyrobots: It is going to take me a while to get oriented, so calibrate your expectations accordingly. [22:56] SubStack: Nexxy: pkrumins wrote a node-video [22:56] Nexxy: d&d nerd! [22:56] Nexxy: SubStack, well then... [22:57] perlmonkey2: SubStack: yeah, that was not at all how I was thinking of doing it. I was also thinking of some sort of RemoteEmitter. Your example is awesome. [22:59] SubStack: I changed the dnode interface up a bit just for that article [23:00] SubStack: chainable .listen()s and .listen(webserver) [23:00] SubStack: before you'd have to .listen({ server : webserver }) [23:01] SubStack: although everything else is the same [23:01] techwraith: SubStack: link? [23:01] SubStack: techwraith: http://substack.net/posts/9bac3e [23:03] blueadept: what's a good way to pass variables from a get to a post without using sessions or hidden form hacks? [23:03] kmiyashiro has joined the channel [23:03] SubStack: blueadept: what's wrong with sessions? [23:03] SubStack: you can also use ajax to POST [23:04] julionc has joined the channel [23:05] blueadept: hmm.. well actually maybe i guess i could make it a session [23:05] blueadept: n/m then, hah [23:05] micheil has joined the channel [23:06] timmywil has joined the channel [23:07] jashkenas has joined the channel [23:09] xla has joined the channel [23:10] Jckf: How about escaped URLs? How do I unescape them? [23:10] samcday: Jckf: encodeURI/decodeURI [23:10] samcday: Javascript builtins [23:10] Jckf: Oh. Thank you [23:12] julionc has joined the channel [23:13] hassox has joined the channel [23:14] nebu has joined the channel [23:15] nebu: When I run "npm install geddy", I get an error '"Error: Command failed: chown: invalid user: `undefined:undefined'^C' [23:15] a|i: in nowjs, when I define functions on the server side, I don't have them defined in the client side, how can I check if the clientside is actually connected to the node server? [23:16] nebu: The full error is several lines long, and I posted it at https://github.com/mde/geddy/issues/46 [23:16] cjfont: Anyone know of a good resource that explains under what circumstances one would need to use a promise? [23:16] dnyy has joined the channel [23:17] bradleymeck: cjfont you never *need* to use them, its just a paradigm / style some people prefer [23:18] cjfont: bradleymeck: so as an alternative to all the nested callbacks? [23:18] cjfont: just trying to understand their purpose better [23:18] bradleymeck: well, if you have a ton of nested callbacks you probably are doing it wrong, i tend never to get more than 3 [23:18] bradleymeck: but yes its an alternative [23:19] cjfont: I don't generally have a problem with that either, but I can think of cases where it might happen [23:19] no-gooder: there is function for that [23:19] no-gooder: a* [23:20] [[zz]] has joined the channel [23:20] dnyy has joined the channel [23:20] a|i: no-gooder: I had to replace **SERVER** and port for the right value in the clientside js [23:20] a|i: there was no doc for that [23:20] a|i: also, the clientside files are big [23:20] no-gooder: a|i , here it is : now.ready(function() [23:20] no-gooder: { [23:20] no-gooder: [23:20] no-gooder: }); [23:21] a|i: why don't people use google closure compiler [23:21] bradleymeck: uglifyjs rawr. [23:21] a|i: no-gooder: is now.ready a new shortcut? [23:22] a|i: why is it not in the examples? [23:22] bradleymeck: a|i i see it on http://nowjs.com/doc [23:23] jetienne has joined the channel [23:24] a|i: bradleymeck: so the official examples are not safe to use? https://github.com/Flotype/now/blob/master/examples/helloworld_example/helloworld_server.js [23:24] halfhalo: cloudfoundry.org [23:24] halfhalo: looks [23:24] halfhalo: awesome [23:24] bradleymeck: ... i never said that [23:24] a|i: bradleymeck: the examples do not use now.ready, so how do we know if now is ready? [23:24] a|i: halfhalo: got an invitation? [23:25] bradleymeck: idk didnt write them [23:25] no-gooder: also multiroomchat example doesn't work too! [23:25] halfhalo: a|i: its open source [23:28] no-gooder: also they should make connection manuel to control [23:28] jimt_ has joined the channel [23:29] azeroth_ has joined the channel [23:30] no-gooder: what is this : ..socket.io/lib/vendor/web-socket-js/WebSocketMain.swf [23:30] jelveh has joined the channel [23:30] Leonidas: isaacs: could you please change the owner of the xml2js module in the NPM registry? [23:31] isaacs: Leonidas: pm [23:31] NuckingFuts has joined the channel [23:32] shiawuen has joined the channel [23:35] jakehow has joined the channel [23:36] llkazu has joined the channel [23:37] cferris has left the channel [23:37] yozgrahame has joined the channel [23:38] hij1nx has joined the channel [23:40] A_Nub1 has joined the channel [23:40] A_Nub1: :D [23:40] ohtogo has joined the channel [23:41] A_Nub1: ryah: meeting got cancelled? [23:42] hdh has left the channel [23:45] A_Nub1: Anyone know if the meeting is still going on? [23:45] perezd: I am calling in now [23:45] piscisaureus: "the" meeting? [23:46] realazthat__ has joined the channel [23:46] jimt has joined the channel [23:46] azeroth_ has joined the channel [23:46] piscisaureus: Is it the council of elrond? [23:46] jdalton has joined the channel [23:46] perezd: I am on mute listening in [23:47] A_Nub1: I called in but it said the access code was invalid. [23:48] realazthat_ has joined the channel [23:48] ryah: perezd: oh, okay [23:48] perezd: its me [23:48] perezd: on mute [23:48] jacobolus has joined the channel [23:48] perezd: in a room with people [23:48] perezd: trying to not be rude [23:50] seivan has joined the channel [23:51] realazthat__ has joined the channel [23:51] b0t has joined the channel [23:52] robotarm_ has joined the channel [23:53] davidcoallier has joined the channel [23:53] pquerna: https://github.com/cloudkick/whiskey/blob/coverage/lib/coverage.js [23:53] jimchao has joined the channel [23:53] perezd: whiskey looks awesome [23:53] ryah: perezd: have you tried v0.4 HEAD with your bug [23:54] perezd: ryah: is it different than that gist u sent/ [23:54] ryah: perezd: i lnaded another patch this morning which may be effecting you [23:54] perezd: ryah: I can test it in a few [23:54] perezd: I am just about to get rid of expresso, glad I called :) [23:55] jonpacker has joined the channel [23:55] micheil: ryah: meeting? [23:55] graysky has joined the channel [23:56] ryah: micheil: we're having office hours now [23:56] micheil: ah, right [23:56] micheil: ACTION isn't converting times to PDT so much these days, so forgot what time it is. [23:56] realazthat__ has joined the channel [23:57] xandrews has joined the channel [23:57] demastrie1 has joined the channel [23:58] rchavik has joined the channel