[00:00] saikat_ has joined the channel [00:00] yept has joined the channel [00:01] daleharvey has joined the channel [00:01] te-brian has joined the channel [00:01] CIA-48: libuv: 03Ben Noordhuis 07 * rf7f518a 10/ src/unix/process.c : [00:01] CIA-48: libuv: sunos: fix uv_spawn() [00:01] CIA-48: libuv: SunOS does not set POLLHUP when the read end of a pipe is closed. - http://git.io/LGojxg [00:01] joeytwiddle has joined the channel [00:01] bnoordhuis: darkf: the actual error is probably a few lines below that one [00:02] DennisRas has joined the channel [00:02] neurodrone has joined the channel [00:02] bnoordhuis: wereHamster: empty require.cache [00:02] nyrb has joined the channel [00:03] DennisRasmussen has joined the channel [00:05] CIA-48: node: 03Ryan Dahl 07 * r75cfc77 10/ (deps/uv/src/unix/process.c deps/uv/uv.gyp): Upgrade libuv to f7f518a - http://git.io/XFIB6A [00:06] slifty_corsair has joined the channel [00:06] fread228_ has joined the channel [00:07] norviller_ has joined the channel [00:08] wereHamster: bnoordhuis: empty how, delete all entries? [00:08] dynacker: derp [00:08] bnoordhuis: wereHamster: yes -> require.cache = {} [00:09] tbranyen: doesn't that screw stuff up? [00:09] tbranyen: i did that and it seemed that destroying the reference stopped future requires from working [00:10] Misao-chan has joined the channel [00:12] sh1mmer has joined the channel [00:15] jaequery has joined the channel [00:17] sghazzaw has joined the channel [00:17] lightcap has joined the channel [00:19] perezd has joined the channel [00:20] CIA-48: node: 03Ben Noordhuis 07 * r9bbca99 10/ deps/v8/src/platform-solaris.cc : v8: implement VirtualMemory class on SunOS - http://git.io/rGQNcQ [00:24] ryah: please test http://nodejs.org/dist/v0.5.9/node-v0.5.9rc2.tar.gz [00:26] gplg has joined the channel [00:26] mbrevoort has joined the channel [00:27] neilk_ has joined the channel [00:29] PhilK has joined the channel [00:30] skm has joined the channel [00:32] fbartho: @ryah Is it possible to have a native-node addon that dynamic links to libraries? [00:32] aakour has joined the channel [00:32] gavin_huang has joined the channel [00:35] norviller_ has joined the channel [00:36] brianseeders has joined the channel [00:36] bnoordhuis: fbartho: yes [00:36] patcito has joined the channel [00:36] fbartho: how do I specify it in wscript? [00:36] bnoordhuis: fbartho: through the LINKFLAGS [00:37] fbartho: dyld: lazy symbol binding failed: Symbol not found: _fuse_main_real [00:37] heavysixer has joined the channel [00:38] cthulhu_lovecraf has joined the channel [00:38] bnoordhuis: fbartho: in configure() -> ctx.env.append_value('LINKFLAGS', '-lfuse') [00:38] fbartho: nifty! [00:38] cbobo has joined the channel [00:41] cbobo: Can I write a server.broadcast("Write Test"); outside of a 'server.addListener("connection", function(connection) {' ? [00:41] aguynamedben has joined the channel [00:41] zackattack has joined the channel [00:44] chrislorenz has joined the channel [00:44] piscisaureus has joined the channel [00:45] neoesque has joined the channel [00:47] k1ttty has joined the channel [00:47] throughn1thing has joined the channel [00:48] throughn1thing has joined the channel [00:48] CarterL has joined the channel [00:48] ppcano has joined the channel [00:49] shanebo has joined the channel [00:49] groovebucket has joined the channel [00:50] smtlaissezfaire_ has joined the channel [00:53] smtlaissezfaire_ has joined the channel [00:59] piscisaureus_ has joined the channel [00:59] CIA-48: node: 03Ryan Dahl 07 * r3b1d656 10/ (282 files in 23 dirs): [00:59] CIA-48: node: Revert "Upgrade V8 to 3.6.6" [00:59] CIA-48: node: Not stable enough. [00:59] CIA-48: node: - Windows snapshot linking broken [00:59] CIA-48: node: - Linux crash on ./node_g test/simple/test-stream-pipe-multi.js [00:59] CIA-48: node: This reverts commit 56e6952e639ba1557a5b22333788583e9e39fa29. - http://git.io/sFDgAw [01:00] mynyml has joined the channel [01:01] YamahaAlex has joined the channel [01:03] Guest25624 has joined the channel [01:03] BillyBreen has joined the channel [01:03] Guest25624: hey, question. I'm using socketIO, and I'm wondering if there's a way to identify sockets? [01:04] diogogmt has joined the channel [01:04] oneofone has joined the channel [01:05] Guest25624: my use case is an async callback from a worker program, and I need node to be able to know which socket to route it to [01:07] gxdssoft has joined the channel [01:09] ryah: http://nodejs.org/dist/v0.5.9/node-v0.5.9rc3.tar.gz [01:09] ryah: please test [01:09] AvianFlu_ has joined the channel [01:11] icewhite has joined the channel [01:12] ossareh has joined the channel [01:15] trotter has joined the channel [01:16] wadey has joined the channel [01:17] ag4ve_ has joined the channel [01:17] AvianFlu_ has joined the channel [01:18] CIA-48: node: 03Ryan Dahl 07 * r07703fa 10/ deps/v8/src/platform-solaris.cc : [01:18] CIA-48: node: Revert "v8: implement VirtualMemory class on SunOS" [01:18] CIA-48: node: This reverts commit 9bbca99107652906a060679ee95bf1ad7381cbb5. - http://git.io/dOSuSQ [01:19] rchavik has joined the channel [01:20] cbobo: If I write a bunch of functions in another .js file. To get access to them I simply do require("myother.js"); ?? [01:21] dynacker: need to export it [01:21] cbobo: o [01:21] cbobo: export("myother.js"); ? [01:21] cbobo: because I have a bunch of functions that I want in a different file, otherwise I am not going to read it after line 400 [01:22] Aria has joined the channel [01:22] dynacker: nah exports in the actual myother.js [01:22] DennisRas has joined the channel [01:23] dynacker: http://howtonode.org/how-to-module [01:23] ryah: http://nodejs.org/dist/v0.5.9/node-v0.5.9rc4.tar.gz [01:24] fairwinds: anyone compiling their server side js? [01:24] shedinja_ has joined the channel [01:24] JasonSmith: isaacs: Dude. Global modules. What a bunch of bullshit. [01:25] isaacs: ? [01:25] JasonSmith: I've almost completely converted all my code to local modules [01:25] isaacs: oh, yeah [01:25] JasonSmith: i.e. local is way better [01:25] isaacs: way better. [01:25] isaacs: global modules are for npm link, and command line utils [01:25] isaacs: npm link is fabulous [01:25] isaacs: i <3 it [01:26] JasonSmith: well I had dozens of packages npm linked previously, but I'm hating the life [01:26] isaacs: i guess, i should say, link is fabulous for the things you actually dev on [01:26] JasonSmith: now I'm getting into mikeal's thing of just running npm install and committing that into git [01:26] isaacs: oh... yeah, i'm not a huge fan of that [01:26] JasonSmith: yeah no doubt. I had like log4js and optimist npm linked. It became trouble [01:26] isaacs: make sure to strip out .gitignore files postinstall [01:27] jcarouth has joined the channel [01:27] JasonSmith: It seems nice, so if you git clone, you get all the packages you need. But if I npm publish, none of them push up, it's package.json that takes care of that. (I keep package.json in sync with npm_modules/* in git) [01:28] JasonSmith: I'm a pretty heavy git submodule user but it seems like headache for this due to the version churn [01:28] isaacs: JasonSmith: you may be interested in the `npm submodule` command [01:28] JasonSmith: Love it. I'll check it out. [01:28] isaacs: it checks the registry for the git remote url, and then adds a submodule for you [01:28] isaacs: if you run it again, it's basically the same as `git submodule update --init` [01:28] JasonSmith: Thanks [01:28] isaacs: thereafter, to pull changes, you can do `npm explore request -- git pull origin master` [01:29] Guest25624: anyone? Socket identification with Socket.IO? [01:29] postwait has joined the channel [01:29] Carter has joined the channel [01:29] aguynamedben has joined the channel [01:30] gplg has left the channel [01:30] JasonSmith: isaacs: Do you know how the request module has a .defaults() command? Are there any modules to add that functionality to your own module? [01:31] JasonSmith: I wrote my own (https://github.com/iriscouch/defaultable) but wondering if I am duplicating somebody's effort [01:32] _jhs has joined the channel [01:32] devaholic has joined the channel [01:33] andrewfff has joined the channel [01:34] ditesh|cassini has joined the channel [01:34] thedudewiththeth has joined the channel [01:35] abravo has joined the channel [01:36] githogori has joined the channel [01:37] diogogmt has joined the channel [01:39] isaacs: JasonSmith: i use a prototype list in npm's configs to do this [01:40] jldbasa has joined the channel [01:40] isaacs: JasonSmith: https://github.com/isaacs/proto-list [01:40] isaacs: JasonSmith: but yeah, that seems like a good way to do it. [01:41] JasonSmith: hehe, everybody's rolling their own. prototype is clever, not to mention what it's made for :) [01:41] sarlalian has joined the channel [01:41] isaacs: yep [01:42] isaacs: so i just put the defaultConf object at the bottom of the list, then comes builtin, global, user, env, cli [01:42] JasonSmith: isaacs: Do you ever have a problem where node-tap is truncating output by exiting too soon? [01:42] isaacs: and i can then just look at the top object [01:42] isaacs: JasonSmith: yes, all the damn time. [01:42] JasonSmith: yeah that's way sweet (the prototypes, not the truncation) [01:43] isaacs: JasonSmith: it's because i process.exit() before it's actually done [01:43] isaacs: JasonSmith: pipe to cat, or use node 0.4, or fix node-tap for me so it doesn't do that [01:43] isaacs: :) [01:43] JasonSmith: Yeah, I added a setTimeout with 100ms delay just to get work done [01:43] JasonSmith: cool [01:43] softdrink has joined the channel [01:43] JasonSmith: I'm getting the bug in 0.4.8 fwiw [01:43] isaacs: ryah's making process.stdout blocking when it's not a file, so it should be less of an issue. [01:43] isaacs: yeah [01:43] isaacs: tap needs more love than i give it [01:43] isaacs: 24 is not a big enough number of ours. [01:44] JasonSmith: I'm still a fan. A lot of the bitch work is done [01:44] isaacs: *hours [01:44] jetienne has joined the channel [01:44] JasonSmith: tap is the perfect amount of framework. IMO [01:44] tilgovi has joined the channel [01:44] tilgovi has joined the channel [01:44] JasonSmith: speaking of... see you [01:46] brianloveswords has joined the channel [01:46] Yuffster_work has joined the channel [01:47] Jay has joined the channel [01:48] aguynamedben has joined the channel [01:48] JakeyChan has joined the channel [01:48] abraxas has joined the channel [01:49] briandh has joined the channel [01:50] yuwang has joined the channel [01:52] SubStack: isaacs: ok x-forwarded-{for,proto,port} are all sent by default in bouncy@0.2.0 [01:52] SubStack: a bit fewer reqs/sec but still faster than http-proxy [01:52] ryah: please test http://nodejs.org/dist/v0.5.9/node.exe [01:53] cbobo: ./node.exe [01:53] cbobo: don't work ;x [01:53] ryah: cbobo: ? [01:53] cbobo: i don't even have a windows vm any more ;p [01:54] xerox: this passed through hackernews some days ago http://chocolatey.org/ it includes node, does it use that binary ^ ? [01:54] ryah: xerox: yes [01:54] ryah: v0.5.9 isn't released yet [01:55] ryah: so - not that binary but binaries from us [01:55] xerox: gotcha [01:55] russfrank: doesn't run in wine ;P [01:57] russfrank: well apparently i cant do android simulator and virtualbox at the same time [01:59] bradleymeck has joined the channel [01:59] scott_gonzalez has joined the channel [02:00] cbobo: If I write some functions in ./FilterStuff.js; What do I need to do in order to call it in my current node? If I try; node > require('./FilterStuff.js');console.log(testFilter("data")); //It will say testFilter is undefined [02:00] adriftatsea has joined the channel [02:00] JakeyChan_ has joined the channel [02:02] hij1nx has joined the channel [02:03] wadey: cbobo: you need to export your functions: http://nodejs.org/docs/v0.4.12/api/modules.html#module.exports [02:03] cbobo: okay- thanks; let me try this [02:03] wadey: simpler example here: http://nodejs.org/docs/v0.4.12/api/all.html#modules [02:05] herbySk has joined the channel [02:07] a_suenami has joined the channel [02:07] sub_pop has joined the channel [02:07] iszak has joined the channel [02:07] iszak: Does NPM support git repositories in package.json? [02:07] isaacs: iszak: yes. [02:08] iszak: I specified a repository now what? [02:08] isaacs: { "sax": "git+https://github.com/isaacs/sax-js.git" } [02:08] willwhite has joined the channel [02:08] iszak: oh. [02:08] isaacs: oh, you mean for deps, or what? [02:08] iszak: yeah [02:08] isaacs: yeah [02:08] isaacs: just like urls [02:08] isaacs: npm faq, "what is a package?" [02:08] isaacs: npm help json, "dependencies" [02:08] dean[w] has joined the channel [02:09] schwab has joined the channel [02:09] CIA-48: node: 03Ryan Dahl 07 * r3bd9b08 10/ (5 files in 3 dirs): Bump version to v0.5.9 - http://git.io/wiAq_Q [02:09] CIA-48: node: 03Ryan Dahl 07 * r24dabec 10/ src/node_version.h : now working on v0.5.10 - http://git.io/dHRfsA [02:09] ninjapig has joined the channel [02:09] iszak: I was using CommonJS repositories declaration. [02:10] iszak: oh noes, can't unpack. [02:11] perezd has joined the channel [02:11] jtsnow has joined the channel [02:12] darinc has joined the channel [02:13] cbobo: okay thanks, that was easy now that i know =] [02:14] iszak: isaacs, it's a real shame to see node package manager packages not being updated and people being forced to use repositories directly. [02:14] isaacs: iszak: bug the author [02:14] iszak: personally I think it should just pull directly from the repository [02:14] isaacs: iszak: they're "npm" packages, though, not "node package manager packages" [02:14] iszak: and they can use branches to prevent dev releases going into npm [02:14] isaacs: iszak: can't do that. it's too normal to dev on master. [02:15] isaacs: npm doesn't tell you how to do things. it just makes the right way easier. [02:15] iszak: "the right way" being? [02:15] joshkehn has joined the channel [02:15] isaacs: local installs, explicit publishes, declared main module, etc. [02:16] isaacs: isolated modules [02:16] iszak: failing a bit if we have to use repositories to get the latest packages. [02:17] iszak: I'm guessing npm repositories break with heroku.. great [02:18] iszak: So now I have to include node_modules in my repository, and uncomment the line in the package.json [02:18] iszak: I suppose this is what happens when you try and run shell commands [02:18] wadey: iszak: you can specify git urls in your package.json [02:19] iszak: I know and I've done that, but heroku doesn't like it. [02:19] joshkehn has left the channel [02:19] iszak: presumably to do with the git call which it doesn't support. [02:19] harthur has joined the channel [02:19] iszak: Sure enough it's not NPM's fault [02:20] isaacs: iszak: then just install them locally with -S, add them to git or whatever. [02:20] isaacs: iszak: i mean, htey're just javascript files. [02:20] isaacs: it's not so bad, really :) [02:21] isaacs: you could also do `npm submodule ` to create a git submodule in ./node_modules/blah [02:21] iszak: well heroku advises you not to include your node_modules folder. [02:21] jesusabdullah: Or, use a better node provider [02:21] isaacs: if you're into that kind of thing [02:21] iszak: because it does it for you. [02:21] isaacs: iszak: sure. [02:21] iszak: so now I have to go against heroku's ways [02:22] iszak: also is there any way to comment out a line in package.json? [02:23] iszak: I'm assuming not simply because it's not javascript but instead passed directly to a JSON encoder/decoder. [02:23] skiz: js comments :P [02:23] iszak: I got an error, hmm don't know what I'm doing [02:26] chovy has joined the channel [02:27] dexter_e has joined the channel [02:27] jakehow has joined the channel [02:27] isaacs: iszak: no, you cannot comment it, it must be proper json [02:27] iszak: skiz, ^ thought so [02:27] Aria: But you can wreck the key so it's not recognized. [02:27] iszak: and bitch at me that it's not a valid npm package? [02:28] Aria: "disabled - dependencies": [02:28] Aria: npm is pretty tolerant, but the json parser is not [02:28] andrewfff has joined the channel [02:28] isaacs: iszak: why do you want to comment something out? [02:28] isaacs: iszak: you know, you can just list any dependencies as bundledDependencies? [02:29] isaacs: iszak: read `npm help json`. very very informative. [02:29] iszak: not sure what I'm looking for [02:30] iszak: Okay I'll try bundledDependencies [02:30] JakeyChan has joined the channel [02:30] OneOfOne has joined the channel [02:30] JakeyChan_ has joined the channel [02:31] Aria: Aw, nuts. master's giving me build errors. [02:33] fread2281 has joined the channel [02:34] iszak: isaacs, doesn't seem to have worked... [02:34] iszak: fucking heroku [02:34] isaacs: iszak: you still have to add them to your node_modules folder. [02:34] iszak: I have [02:34] isaacs: iszak: and to your git repo, i mean [02:34] iszak: what? [02:34] isaacs: you're doing a git push to heroku, right? [02:34] iszak: yep [02:34] isaacs: and then heroku does `npm install` [02:34] iszak: correct [02:35] iszak: and it fails on git based dependencies. [02:35] isaacs: so... you have to add node_modules to git, or else `git push` won't push your node_modules folder [02:35] iszak: it is [02:35] isaacs: oh, ok [02:35] iszak: and all I get is this vague error [02:35] isaacs: well... dont' use git based dependencies, then :) [02:35] isaacs: or bug the heroku folks :0 [02:35] zeade has joined the channel [02:35] iszak: or.. you could pull from git for npm packages. [02:35] eboyjr_ has joined the channel [02:35] iszak: because they're too lazy to update npm packages making npm a bit useless. [02:36] isaacs: iszak: right. let's rearchitect the system that works for everyone because heroku's setup isn't ideal for you ;P [02:36] iszak: the problem will still exist where npm packages are out of date. [02:36] isaacs: iszak: are they pulling from the main npm registry? [02:36] isaacs: iszak: npm owner ls [02:36] isaacs: iszak: then use email [02:37] isaacs: iszak: but really, i think that putting the thing in your node_modules folder directly, adding to git, and pushing it should work fine. [02:37] matyr_ has joined the channel [02:37] isaacs: iszak: maybe you might have to remove a .gitignore or two [02:38] iszak: isaacs, done. [02:38] isaacs: automatically pulling updates from git into the npm registry would be incredibly hazardous, and that hazard would add cost to innovation. can't do it. [02:38] iszak: emailed [02:39] isaacs: if you don't get a response within 4 weeks, email me, and let me know. i@izs.me [02:39] isaacs: i try to only step in when people can't resolve it on their own, though [02:40] iszak: isaacs, yeah I understand but does the functionality exist for the maintainer of the package to atleast specify a repository + branch so they don't have to manually update the NPM package. [02:40] davidsklar has joined the channel [02:40] isaacs: there was a git post-receive hook kicking around somewhere. [02:41] iszak: Can you actually use a post-receive hook on github tho? [02:41] isaacs: but to do that, you'd have to write a url that gets pinged by github, then knows to fetch the repo, and has write access to your registry. [02:41] jtsnow has joined the channel [02:41] isaacs: yeah, that's what i'm saying, someone had a github post-receive url that did that [02:41] isaacs: but i don't want to maintain something like that. [02:41] isaacs: s/write access to your registry/write access to your package on the registry/ [02:42] iszak: but can you see the appeal for developers of node.js components to not have to worry about pushing updates to npm and just push it to a branch or something. [02:42] isaacs: sure, i guess. but someone wrote it, and no one uses it. [02:42] isaacs: so... maybe it's not all that appealing? [02:42] isaacs: http://search.npmjs.org/#/npm-github-service [02:42] iszak: I'm sure a lot of people don't know about it too [02:43] isaacs: bradleymeck built it, i think [02:43] isaacs: email him :) [02:43] franciscallo has joined the channel [02:43] isaacs: maintainers: 'npm-github-service ', [02:43] wilmoore has joined the channel [02:43] isaacs: or you could crack it open and take a look at it. the source is open. [02:44] iszak: yeah maybe when I get a MBA/MBP [02:44] chilts: wow, tried mongooose for 3 hrs - didn't work, tried node-mongodb-native and it worked in 20 mins of playing [02:44] rmzg has joined the channel [02:44] chilts: I must have been doing something wrong, but yeah, mongodb-native works like a charm :) [02:45] dthompso99 has joined the channel [02:45] iszak: yeah sounds about right. [02:46] djbell has joined the channel [02:46] briandh has joined the channel [02:50] dthompso99: does a "skeleton" utility exist within node for making new extensions? [02:50] iszak: isaacs, seems that since I specified node-twitter via package.json the ones I specify in node_modules are ignored. [02:50] iszak: so I need to either a) get heroku to support git based repositories in npm or b) get the guy to update it [02:51] isaacs: iszak: or not list it as a dependency [02:51] isaacs: iszak: or copy it to deps/node-twitter/ instead [02:51] isaacs: iszak: or write your own twitter client, and compete with the guy who doesn't update :) [02:51] AvianFlu: I have an updated fork of that lib [02:51] iszak: isaacs, he does update it.. just on git [02:51] AvianFlu: try ntwitter [02:51] isaacs: iszak: or publish as node-twitter-iszak [02:51] iszak: no cba [02:51] AvianFlu: http://github.com/AvianFlu/ntwitter [02:51] isaacs: iszak: ok. [02:51] ninjapig has joined the channel [02:51] iszak: iszak, when using bundledDependencies do I put it in deps/ [02:51] iszak: ? [02:52] isaacs: iszak: no, bundledDependencies go in node_modules. [02:52] isaacs: but npm doesn't exclude them from package tarballs. [02:52] darinc has joined the channel [02:52] iszak: so why would I place it in deps? I tried bundledDependencies with node_modules but heroku still has the npm package version or something [02:52] isaacs: that's how npm can install itself, even though npm needs npm's deps to install npm [02:52] isaacs: iszak: you have so many options, it's ridiculous [02:53] isaacs: what would you do if there was no such thing as npm? just put it somewhere else, refer to it with a relative url, bug the author to update it. [02:53] isaacs: it's not such a big deal, really. [02:53] isaacs: also, bug heroku and ask them why they are npm installing stuff that's already bundled and explicitly unnecessary [02:53] iszak: isaacs, I've emailed the author, but if npm didn't exist I would not nede to email the author. [02:54] isaacs: iszak: if npm didn't exist, you'd have nothing to email the author about :) [02:54] iszak: if npm didn't exist I wouldn't be in this situation, I would simply clone it and place it in node_modules [02:54] isaacs: so.... clone it and place it somewhere other than node_modules. [02:54] isaacs: this is a heroku bug, not my problem, sorry. [02:54] iszak: I know it's heroku's problem, I'm emailing them. [02:54] isaacs: npm has given you adn them the tools to do what you're trying to do. [02:54] isaacs: but i didn't build heroku's platform [02:54] isaacs: i built no.de, which is even more broken at the moment ;) [02:55] isaacs: ACTION goes back to fixing... [02:56] iszak: isaacs, one last question, this line is correct right, "twitter-node": "git+https://github.com/technoweenie/twitter-node.git" [02:56] slifty_corsair has joined the channel [02:57] jakehow has joined the channel [02:58] iszak: pretty sure it is, thanks anyway [02:58] Aria: Looks right. [02:59] issackelly_ has joined the channel [02:59] runvnc: you guys are giving away the smartmachine things then [03:00] infynyxx has joined the channel [03:00] OneOfOne has joined the channel [03:01] isaacs: iszak: yessir. [03:01] towski has joined the channel [03:01] isaacs: iszak: any idea what version of npm heroku's using? [03:01] isaacs: iszak: this git url thing is pretty new [03:01] meso has joined the channel [03:01] isaacs: iszak: you can also use https://github.com/technoweenie/twitter-node/tarball/master [03:01] isaacs: iszak: npm has supported tarball urls forever. [03:01] isaacs: and this doesn't require git stuff. [03:02] balaa has joined the channel [03:02] iszak: ah that could be it... [03:02] iszak: isaacs, npm ERR! npm -v 1.0.27 [03:02] isaacs: oh, that should be fine, then [03:02] isaacs: try with the tarball url. [03:02] iszak: I think they just don't have git installed will try tar, should work! [03:03] runvnc: provisioning is disabled at the moment [03:07] jacobolus has joined the channel [03:07] ckknight has joined the channel [03:10] abraxas has joined the channel [03:10] AAA_awright has joined the channel [03:10] stepheneb has joined the channel [03:11] beawesomeinstead has joined the channel [03:12] mosen has joined the channel [03:13] mosen: I realise this might be totally wrong, but i put a tarball dependency into my package.json pointing to github. github seems to issue http 302 with a new Location header pointing to the tarball but npm fails with an error. Anyone seen this before? [03:14] iszak: isaacs, so I've got a feeling that npm isn't picking up changes in the package.json for example I know the current twitter-node is broken, so I specify the repo, then change it to twitter-node but it doesn't update it in node_modules. [03:14] mosen: I'm pretty reluctant to publish my module to the registry because it's basically hardly working :) [03:14] isaacs: mosen: npm should be following those redirects. make sure you're using the most recent version,a nd post an issue if it's not working. [03:14] nroot7 has joined the channel [03:15] isaacs: iszak: npm picks up those changes immediately, since it's reading it each time. heroku, otoh, i have no idea. [03:15] mosen: isaacs, sure thing [03:15] iszak: isaacs, it can't be [03:15] isaacs: iszak: post an issue wiht all the information that leads you to that conclusion. what you describe is impossible. [03:16] isaacs: or i'm severely mistaken, which *is* possible :) [03:16] isaacs: but at least one of these is true: a) you're wrong, b) i'm wrong, c) it's broken [03:16] nroot7: I wrote the simplest hello world in nodejs and to understand more about asynchronous and concurrent connection did a simple experiment and I cant make sense of the results. [03:17] nroot7: as I increase the number on concurrent connections in ab -c parameter the time taken per request is increased. [03:18] nroot7: but neither the cpu, nor the network on server are saturated [03:18] fbartho has joined the channel [03:18] nroot7: then why is there a increase in time taken to service a request [03:18] iszak: isaacs, does NPM cache packages anywhere? [03:19] isaacs: iszak: yes. npm cache clean [03:19] isaacs: iszak: but if you're runnign `npm install` locally, it's reading it each time. [03:19] isaacs: iszak: and if your'e fetching from the registry, then it's comparing the etag [03:19] isaacs: iszak: so... i don't think that's th eissue. [03:20] iszak: isaacs, giving it a whirl now. [03:20] Aria: nroot7: There's a bunch of variables to that. Are you using separate machines to test and serve? [03:20] nroot7: Aria: yes [03:20] Determinist has joined the channel [03:21] Aria: nroot7: What's your OS's raw accept rate like? Have you tuned for much concurrency? [03:21] Aria: There's OS-level stuff that can go on. [03:21] nroot7: Aria: the number i am looking at is x% request were served within y ms [03:22] Aria: Any particular reason you're focusing on that number, too? [03:22] Aria: What are you trying to measure? [03:22] nroot7: y keeps increasing as i increase the c parameter in ab [03:23] nroot7: I am new to this so just trying to understand. Basically time to measure time taken to service a request, limit of number of requests serviced per second [03:23] mosen: Looks like a reported issue "Cannot resume() closed Socket." that has come up from time to time. there has to be a malformed package.json or something that causes this and not purely a connection issue :) [03:24] iszak: isaacs, yeah something is definitely becoming stale and not being updated. [03:24] Determinist has joined the channel [03:24] Aria: Yeah, that's not a simple test there, nroot7. You have to start understanding accept queue backlogs, among other things. What's the latency on your network? [03:24] Aria: (also, ab is a horrible tool) [03:25] Aria: (definitely not the most reliable thing ever) [03:25] mosen: isaacs: interestingly enough if I npm link with a https://github dependency it works, but not through plain http :) [03:25] Aria: github doesn't support plain http anymore do they? [03:25] mosen: ok maybe thats my main problem [03:25] mosen: haha [03:26] balaa has joined the channel [03:26] JaKWaC has joined the channel [03:26] mosen: Aria, through the browser it seems to redirect and then download the tarball [03:26] Determinist has joined the channel [03:26] mosen: but that may be redirecting back to httsp [03:26] mosen: lemme see [03:26] Aria: Yeah. Not sure what magic's being done (could check), but perhaps npm isn't supporting it. [03:27] nroot7: Aria: I dont know the latency (ping is not installed) but that should not be a factor across multiple tests [03:27] mosen: Aria, yeah that seems to be the case [03:27] nroot7: I hope [03:27] mosen: Aria, http redirects back to https and somehow that breaks :) thanks for the idea [03:27] iszak: isaacs, if the folder exists in node_modules does it still check for updates? example case; package.json references twitter-node, npm install, then change package.json to reference repo, npm install - errors, if I do rm -rf node_modules*; npm install solves it. [03:27] Aria: nroot7: Sure it is. TCP handshakes take a multiple round-trips. That's latency-sensitive. [03:28] Aria: nroot7: welcome to your first evidence that benchmarking isn't as simple as people believe. [03:28] mosen: Aria, maybe the transport had already been established and doesn't change after the redirect [03:28] mosen: shrug [03:29] Aria: mosen: Yeah, I'd have to go look at the code. Anyway: with github, always https. It's the new world order over there for some months [03:29] springmeyer has joined the channel [03:30] mosen: Aria, sure no problem [03:30] dthompso99: anyone familiar with this error? TypeError: object is not a function [03:30] dthompso99: at Object.CALL_NON_FUNCTION_AS_CONSTRUCTOR [03:30] iszak: isaacs, I can confirm 100% that when going from package to repository it does not update the package in node_modules. [03:30] Aria: dthompso99: yes. It's what happens when you "new undefined" or "new aString" [03:31] dthompso99: Nod... attempting to write a new addon.... it "should" be there =P [03:31] iszak: Anyone want to test a bug for me? [03:31] Aria: Addon in C++? [03:32] dthompso99: yes [03:32] vidi has joined the channel [03:32] dthompso99: sure iszak [03:32] Aria: Perhaps confusing a functiontemplate with its instance? [03:32] iszak: dthompso99, PM? [03:33] k1ttty has joined the channel [03:33] dthompso99: probably... these templates are still a bit confusing to me [03:33] vidi has joined the channel [03:33] Aria: Yeah. It's one level more abstract than you deal with on the JS side. [03:33] dexter_e has joined the channel [03:34] bradleymeck has joined the channel [03:34] Aria: functionTemplate:the text of the function definition::function:the actual compiled function. [03:39] brianseeders has joined the channel [03:39] dexter_e has joined the channel [03:41] digman543 has joined the channel [03:44] iszak: isaacs, so what did you want me to do when I found a bug? [03:44] isaacs: iszak: post an issue at https://github.com/isaacs/npm/issues [03:45] isaacs: i assme you mean a bug in npm? [03:45] isaacs: steps to reproduce make it easier to fix [03:45] iszak: yeah I know, getting someone to run through a test I gave them [03:46] neilk_ has joined the channel [03:47] jakehow has joined the channel [03:50] iszak: isaacs, got 5 minutes to try and reproduce it? got a guide, saves a useless issue if I'm wrong. [03:51] isaacs: iszak: not really, sorry [03:51] iszak: it's alright [03:51] isaacs: just trying to finish something up before heading home [03:51] isaacs: if you post an issue, i'll definitely see it. [03:51] isaacs: those things sit in my inbox annoying me :) [03:51] JaKWaC has joined the channel [03:51] isaacs: and occasionally thejh gets to them before i can, whihc is always nice [03:52] iszak: anyone who want to try and reproduce can follow this guide v [03:52] iszak: http://pastie.org/2674940 [03:53] JakeyChan_ has joined the channel [03:53] dherman has joined the channel [03:54] dexter_e has joined the channel [03:57] hij1nx has joined the channel [03:59] Aria: iszak: I get @0.0.2 in both cases, nothing changes in git [03:59] iszak: Aria, great now remove the node_modules, re-run npm install and then do git status [03:59] Aria: But after the remove and re-npm install, twitter-node has. [03:59] iszak: yep :) [03:59] iszak: so basically npm doesn't update node_modules when it should have. [03:59] Aria: Should it update? The version didn't change. [04:00] iszak: well I don't know where it's getting the version from in the git repository [04:00] Aria: package.json? [04:00] iszak: maybe that's it, the version didn't change so it doesn't update, bad author I guess. [04:00] isaacs: iszak: running "npm install" with no args only installs *missing* dependencies [04:00] iszak: would be nice if it did a checksum tho [04:00] isaacs: iszak: so, no, that's not a bug; [04:00] isaacs: iszak: it just skips right over it, and does nothing [04:00] iszak: yeah it seems that way, just bad authoring [04:01] isaacs: npm help install <-- explains this, i believe [04:01] iszak: okay so what I have to do is fork the repo, update the version, then bam done [04:01] fairwinds: isaacs: is there an option to label the node_modules to something else within folder? I was thinking of .node_modules so that it is not visible [04:01] isaacs: iszak: if you did `npm install twitter-node`, ie, explicitly name the dep you want installed, then it'll install it [04:01] isaacs: fairwinds: no. [04:01] isaacs: that ship sailed long long ago. [04:02] fairwinds: heh [04:02] Aria: fairwinds: patch node and npm ;-) [04:02] Aria: And thank goodness it's visible. I hate .files that are significant with a passion. [04:02] iszak: isaacs, not sure what you're on about - but basically the problem lies where files have changed but the version number hasn't so it doesn't update it seems. [04:02] Aria: iszak: 'npm install' bare NEVER updates. [04:03] iszak: why not? [04:03] Aria: Because that's what npm update is for. [04:03] Aria: You don't want to mix the two, really. [04:03] iszak: heh. [04:03] iszak: well let me try and fix this on heroku [04:04] Aria: (nothing like adding a dependency, npm installing, and having something unrelated change) [04:05] isaacs: Aria: it would be nice if it was clever enough to update known-broken stuff. [04:05] Aria: True that. [04:05] isaacs: Aria: like, if you change the dep version, then do install, it should update to that thing [04:05] Aria: ++ [04:05] isaacs: but, meh. not done. [04:05] isaacs: :) [04:06] iszak: all of this could have been solved if people update their freaking npm registry packages [04:06] Aria: Argh, whose bot is Karmalicious. It keeps messaging me privately. [04:06] replore has joined the channel [04:06] replore_ has joined the channel [04:07] Lorentz: Should be like my bot that doesn't do anything [04:07] Aria: Super annoying. (only time I mind private messages is a bot. Figures.) [04:08] iszak: yay! [04:08] iszak: success, forked, updated version, redeployed and FIXED [04:08] davidascher has joined the channel [04:09] iszak: going to send the developer a disgruntled email. [04:10] iszak: Thank you isaacs, dthompso99, Aria for your patience and support. [04:10] isaacs: iszak: no problem :) [04:10] dthompso99: np [04:10] Aria: Sure thing. [04:11] isaacs: Aria: the nice thing about bots is that they don't get upset with you /ignore them [04:11] isaacs: Karmalicious++ [04:11] isaacs: see how HE likes it... [04:12] Aria: Heh. True that. [04:12] dthompso99: anyone know of another c++ addon that uses the "new" syntax? [04:13] Aria: The one I've written ;-) [04:13] sub_pop has joined the channel [04:13] Aria: What are you struggling with? [04:14] cconstantine_ has joined the channel [04:15] dthompso99: sec, i'll paste it... still that constructor issue [04:15] nroot7 has joined the channel [04:16] dthompso99: http://pastebin.com/2Ta2E89V [04:16] zackattack has joined the channel [04:16] cliffano has joined the channel [04:18] dthompso99: i've stripped it down to the most simple example... clearly missing something "less than intellegent" [04:18] sub_pop has joined the channel [04:21] versicolor has joined the channel [04:22] Aria: Aright. Let's see here. [04:23] Aria: (also: args.This should be args.Holder. But that's not what's biting you here. This works in most cases.) [04:23] fangel has joined the channel [04:24] Aria: Heh. var Cm15a = require("./build/default/cm15a"); ... [04:24] Aria: var Cm15a = require("./build/default/cm15a").Cm15a; [04:24] Aria: You're setting a property on the target in your constructor. [04:24] Aria: Er. Initializer. [04:26] dthompso99: indeed... that works =) [04:26] dthompso99: seems... wrong to have to do it that way? [04:27] dthompso99: ahh, but i see it i think... that way i could wrap several classes in the same package [04:29] Aria: Yeah. [04:29] dthompso99: awsome... i feel silly now, the issue was not my rusty c++, but the JS that i thought i was up with [04:29] Aria: target in initializer = exports in js [04:30] dthompso99: i think a re-factor to fix naming is in order before i start un-remming things then [04:43] tylerstalder has joined the channel [04:45] langworthy has joined the channel [04:45] dthompso99: cool... some refactoring and life looks better [04:45] markdaws has joined the channel [04:47] boehm has joined the channel [04:48] navaru has joined the channel [04:48] navaru has left the channel [04:56] jhurliman: question... i want to add https support to my site and touch as little of the existing codebase as possible. can i run an https proxy app that listens on port 443 and simply proxies all traffic to localhost:80? [04:57] Aria: ACTION starts porting to node 0.5. [04:57] Aria: jhurliman: Sure. [04:57] mike5w3c has joined the channel [04:57] jhurliman: cool [04:57] Aria: As long as the app doesn't need to be aware of the SSL [04:57] tbranyen: browserify.nodejitsu looks like a neat experiment, but i dunno if i'd ever use it [04:57] jhurliman: right. i'm just doing this to meet the new facebook app requirements [04:58] Frippe has joined the channel [04:58] Aria: Just be aware that generating self-links might surprise you [04:59] Ezku\ has joined the channel [05:01] jsurfer has joined the channel [05:03] OmidRaha has joined the channel [05:05] te-brian has joined the channel [05:09] pquerna: process.env.NODE_PATH = root + ":" + orig; [05:09] pquerna: require('module')._initPaths(); [05:09] pquerna: whatcha gonna do now isaaaaaacs [05:09] Isaiah has joined the channel [05:12] jonaslund_ has joined the channel [05:13] pik has joined the channel [05:14] Frippe has joined the channel [05:14] davidascher has joined the channel [05:14] replore_ has joined the channel [05:14] replore has joined the channel [05:14] chovy has joined the channel [05:14] aakour has joined the channel [05:14] joshgillies has joined the channel [05:14] luke` has joined the channel [05:14] necrodearia has joined the channel [05:14] DJBouche has joined the channel [05:14] SanbarComputing has joined the channel [05:14] wookiehangover has joined the channel [05:14] _sri has joined the channel [05:14] matt_c has joined the channel [05:14] xerox has joined the channel [05:14] DrPizza has joined the channel [05:14] sstephenson has joined the channel [05:14] mrkurt has joined the channel [05:14] a11235 has joined the channel [05:14] pandark_ has joined the channel [05:14] mbruce has joined the channel [05:14] rick_h_ has joined the channel [05:14] matti has joined the channel [05:14] flexd has joined the channel [05:14] kei has joined the channel [05:14] FireFoxIXI has joined the channel [05:14] siculars has joined the channel [05:14] jn has joined the channel [05:14] dabailey has joined the channel [05:14] romainhuet has joined the channel [05:14] owenb has joined the channel [05:14] tmzt_ has joined the channel [05:14] 52AAAC9AE has joined the channel [05:14] RushPL has joined the channel [05:14] cconstantine has joined the channel [05:14] iFire has joined the channel [05:14] silky has joined the channel [05:14] tmm1 has joined the channel [05:14] rgmarcha has joined the channel [05:14] franck34 has joined the channel [05:14] finsken has joined the channel [05:14] pct has joined the channel [05:14] Hosh has joined the channel [05:14] whoops has joined the channel [05:14] gaving has joined the channel [05:14] jesusabdullah: https://gist.github.com/1277339 :D [05:14] a11235 has joined the channel [05:14] DrPizza has joined the channel [05:14] mrkurt has joined the channel [05:14] sstephenson has joined the channel [05:14] xerox has joined the channel [05:15] xerox has joined the channel [05:15] brianloveswords has joined the channel [05:15] replore has joined the channel [05:15] riven` has joined the channel [05:15] Aria: Cute, jesusabdullah [05:16] ph^_ has joined the channel [05:20] Spion_ has joined the channel [05:21] bulatshakirzyano has joined the channel [05:24] Aria: Oh wow. libuv's API is MUCH nicer than libev's. [05:24] Aria: All the little things I hate are cleaned up. [05:24] Aria: And it works, too! [05:30] innociv: How do I use tcpdump to watch node.js? [05:31] illumina has joined the channel [05:31] pquerna: $ grep -R sys node_modules/ | grep require | wc -l [05:31] pquerna: 89 [05:31] fangel has joined the channel [05:31] pquerna: oh yeah, this 0.5 thing will be *easy* [05:31] Wizek-other has joined the channel [05:31] hwinkel has joined the channel [05:31] futini has joined the channel [05:32] illumina: What is the currently preferred practice for importing JS files from within another JS file *for use on the browser*? The current state of affairs on google seems to be all over the place [05:33] innociv: And what do I do about node.js messing up and no longer responding to requests at all? Not 404, or anything like that as if it's not running, but it won't deliver *anything*. [05:34] jacobolus has joined the channel [05:34] dmwuw has joined the channel [05:34] versicolor has joined the channel [05:37] fangel has joined the channel [05:37] chjj: illumina: build everything into a single file and use synchronous requires, thats what i prefer [05:38] illumina: chjj: that's nuts. it won't scale. I'm trying to work on a simple multiplayer game [05:38] chjj: ...? [05:38] jacobolu_ has joined the channel [05:38] __main__ has joined the channel [05:38] illumina: i mean, putting everything in one file would technically *work* but it'll be really hard to maintain [05:38] chjj: how will that not scale? that will scale extremely well because there is only 1 http request [05:39] illumina: i meant scale to a production team environment with multiple programmers [05:39] illumina: not performance scale. sorry ;-) [05:39] chjj: illumina: its extremely easy to maintain, just write a little build script, you can have as many files as you want [05:39] SubStack: beh I have no idea what io is still pending in this program [05:39] SubStack: test why won't you just die already? [05:39] chjj: ask substack, hes down with the sync requires in the browser [05:40] illumina: hmm. I suppose a preprocessor thing that generates a single big js file that is required, would b einf [05:40] illumina: would make it hard to figure out whats going on when debugging though [05:41] SubStack: illumina: if you write it with browserify you can test using node [05:41] chjj: webkit inspector can help with that part, its easy to decipher where the problem is [05:41] SubStack: I need to roll out debug mode for browserify already [05:41] SubStack: I've already got all this instrumentation code sitting around [05:43] illumina: Substack: browsify looks like it may do what I want. Is it a PITA to match up line numbers when debugging though? [05:43] SubStack: not really [05:43] innociv: pquerna, what is that returning? [05:43] SubStack: you just look at what the adjacent lines are [05:44] Epeli has joined the channel [05:45] illumina: hmm. [05:45] versicolor has joined the channel [05:45] illumina: lame, but i'll try it [05:45] illumina: :-) [05:45] jesusabdullah: curl li225-26.members.linode.com:9000 is better than my last thing [05:45] icewhite has joined the channel [05:45] jesusabdullah: well, a better one of the same thing [05:45] SubStack: ++ [05:48] dshaw_ has joined the channel [05:49] stagas has joined the channel [05:49] dexter_e has joined the channel [05:49] langworthy has joined the channel [05:51] pquerna: innociv: the number of dependency files for a $project that pull in require('sys'), which is deprecated in 0.5 [05:52] innociv: what does that have to do with checking the tcp on it? [05:52] dexter_e: How to check if process is busy processing a request or safe to reboot ? [05:52] pquerna: hrm? [05:53] innociv: What do I do about node.js messing up and no longer responding to requests at all? Not 404, or anything like that as if it's not running, but it won't deliver *anything*. [05:53] pquerna: gdb? [05:53] cconstantine_ has joined the channel [05:53] dexter_e: I want to periodically restart the app if it exceeds a memory threshold [05:53] dexter_e: but I don't want to restart it in the middle of a request [05:54] innociv: Erg. How would I use it? [05:55] pekim2 has joined the channel [05:56] wilmoore has joined the channel [05:56] vns has joined the channel [06:00] shedinja_ has joined the channel [06:00] Carter has joined the channel [06:02] AvianFlu has joined the channel [06:03] jetienne has joined the channel [06:05] fairwinds has joined the channel [06:06] bergelmir has joined the channel [06:06] bergelmir has joined the channel [06:07] nforgerit has joined the channel [06:07] reid has joined the channel [06:09] runvnc has joined the channel [06:16] Trisox has joined the channel [06:16] Bonuspunk has joined the channel [06:17] andree has joined the channel [06:17] maletor has joined the channel [06:18] bulatshakirzyano has joined the channel [06:18] matjas has left the channel [06:21] stagas has joined the channel [06:21] vns has joined the channel [06:21] cosmincx has joined the channel [06:23] JSManiacs has joined the channel [06:26] SamuraiJack has joined the channel [06:27] Lemon_BE has joined the channel [06:29] jetienne has joined the channel [06:32] Margle has joined the channel [06:33] Margle has joined the channel [06:33] Margle has joined the channel [06:33] mraleph has joined the channel [06:34] Margle has joined the channel [06:35] Morkel has joined the channel [06:35] flamboz has joined the channel [06:36] Emmanuel` has joined the channel [06:37] jetienne has joined the channel [06:37] sub_pop has joined the channel [06:40] clu3 has joined the channel [06:40] ph^ has joined the channel [06:44] metellus has joined the channel [06:44] `3rdEden has joined the channel [06:44] simenbrekken has joined the channel [06:46] mc_greeny has joined the channel [06:46] maletor has joined the channel [06:46] stagas has joined the channel [06:48] dgathright has joined the channel [06:49] pid_ has joined the channel [06:50] Manuel_ has joined the channel [06:52] franciscallo has joined the channel [06:54] AAA_awright: Is there some way to re-use an open TCP connection used in another process, or pass the fd to another process? [06:54] mAritz has joined the channel [06:57] stagas has joined the channel [06:58] bombworm has joined the channel [06:59] guidocalvano has joined the channel [06:59] navaru has joined the channel [06:59] navaru has left the channel [06:59] groom has joined the channel [07:01] emattias has joined the channel [07:03] fangel has joined the channel [07:03] joshgillies has joined the channel [07:04] Wizek has joined the channel [07:05] stagas has joined the channel [07:05] Ginlock has joined the channel [07:05] r04r has joined the channel [07:08] stagas has joined the channel [07:08] bEEEeviz has joined the channel [07:08] d-snp has joined the channel [07:08] harthur has joined the channel [07:09] Ginlock: moin [07:10] ph^_ has joined the channel [07:10] sfoster has joined the channel [07:11] innociv: What do I do about node.js messing up and no longer responding to requests at all(Does at one point, then fails until I kill it and start it again)? Not 404, or anything like that as if it's not running, but it won't deliver *anything*. The request just times out. [07:12] raphdg has joined the channel [07:12] freewil: might be a bug in your code [07:13] TheJH_phone has joined the channel [07:14] AAA_awright: innociv: Sounds like a function isn't calling a callback when it should [07:14] AAA_awright: Callbacks are supposed to be called exactly once [07:14] innociv: Hm. [07:14] innociv: I thought it was because all my cpu is being used up. Would it give an error if they happens? I was just sending output to /dev/null. [07:15] einaros: "callbacks are supposed to be called exactly once" -_- [07:15] innociv: How do I get rid of those connected, handshake, etc notices in output? [07:15] r04r has joined the channel [07:18] ivanfi has joined the channel [07:18] lunetics has joined the channel [07:18] zackattack has joined the channel [07:19] metaverse has joined the channel [07:19] ayaz has joined the channel [07:21] markwubben has joined the channel [07:24] stagas_ has joined the channel [07:27] ivanfi1 has joined the channel [07:28] kenperkins has joined the channel [07:28] r04r has joined the channel [07:28] r04r has joined the channel [07:29] bEEEeviz has joined the channel [07:29] ninjapig has joined the channel [07:30] predat0r has joined the channel [07:33] alphahydrae has joined the channel [07:34] DrMcKay has joined the channel [07:34] hwinkel has joined the channel [07:34] topaxi has joined the channel [07:34] jetienne: AAA_awright: it is possible to pass fd with unix [07:34] pgherveou has joined the channel [07:34] jetienne: AAA_awright: node have the feature. i dont remember how. but it was used for early webworker implementation by creationix [07:35] jetienne: pgriess my bad [07:35] bEEEeviz has joined the channel [07:35] jetienne: AAA_awright: http://developer.yahoo.com/blogs/ydn/posts/2010/07/multicore_http_server_with_nodejs/ [07:36] jetienne: it is passed off to some number of child processes using net.Stream.write() (under the covers this uses sendmsg(2) and FDs are delivered using recvmsg(2)). [07:36] r04r has joined the channel [07:36] luke` has joined the channel [07:37] dsirijus has joined the channel [07:37] JakeyChan: hi [07:37] saikat has joined the channel [07:37] JakeyChan: I ust node.js http to request REST web service [07:37] JakeyChan: but it doesn't work [07:38] JakeyChan: do you have example ? [07:38] cjheath_ has joined the channel [07:39] ninjapig has joined the channel [07:39] solidus-river has joined the channel [07:40] solidus-river: guys i'm having one hell of a time installing npm [07:40] solidus-river: endles permissions problems and i do not want to open up my /usr/lib to a non root account [07:40] alphahydrae: Hi. I'm making a tool which executes commands and stores the output. I see that with child_process.spawn I can collect data events from stdout and stderr separately, but there must be buffering involved because I don't get back each line of output in the order it was printed. Typically, I get all output on stdout in one block and all output on stderr in one block. Is there a way to get back the lines in the order they are printed? [07:40] AAA_awright: jetienne: Thanks [07:41] ablomen has joined the channel [07:41] davidascher has joined the channel [07:41] AAA_awright: jetienne: Actually I'm looking to exit the parent process [07:43] paulwe has joined the channel [07:43] solidus-river: npm is crazy why wouldn't you put it in the users home directory [07:43] vns has joined the channel [07:44] tokuzfunpi has joined the channel [07:45] abraxas_ has joined the channel [07:45] solidus-river: anyone on help with npm? [07:45] AAA_awright: don't use npm? [07:45] freewil: solidus-river, whats your issue [07:45] solidus-river: freewil: i cant seem to install or use any modules [07:46] solidus-river: freewil: there are permissions issues with npm install -g and if i install locally i don't know how to invoke the module [07:46] bergie has joined the channel [07:46] briandh has joined the channel [07:47] freewil: solidus-river, in the latest versions of npm its recommended to install using sudo [07:47] daglees has joined the channel [07:47] freewil: it is supposed to run any install scripts as nobody [07:47] KaL_ has joined the channel [07:47] solidus-river: freewil: ok, then once its installed how to i evoke the command? [07:48] nforgerit has joined the channel [07:48] freewil: solidus-river, if the module has a command then you should install it with -g [07:48] vns_ has joined the channel [07:49] freewil: otherwise you will have to create an alias/symlink/fullpath or something [07:50] solidus-river: ok, last question i think, how do i auto resolve dependencies? it appears to have installed the package now, however the deps are missing [07:50] freewil: it should auto install dependencies [07:50] freewil: unless the author left them out accidently in their package.json file [07:52] sirdancealot has joined the channel [07:52] olivier has joined the channel [07:54] solidus-river: well the author of js2coffee is lacking [07:55] freewil: how do you know the deps are missing? [07:55] solidus-river: because it listed the deps as coffee-script and underscore [07:56] solidus-river: and when i run js2coffee it says "coffee" command not found [07:56] solidus-river: so i install coffee-script with npm [07:56] solidus-river: now when i run the command it does nothing [07:56] solidus-river: so i install underscore just in case [07:56] solidus-river: still does nothing [07:57] solidus-river: whateer, it will be slow because i have like 18 files to convert but i guess http://js2coffee.org/ is the only option [07:57] solidus-river: wonderfull [07:58] freewil: did you do npm install -g js2coffee [07:58] freewil: i would try npm install -g coffee-script if the above doesnt work [08:00] _kud has joined the channel [08:00] [AD]Turbo has joined the channel [08:00] whitman has joined the channel [08:00] solidus-river: freewil: theres the output http://www.pastie.org/private/dt42nmi8jzjsgn8t1uhng [08:01] [AD]Turbo: hi there [08:01] cjheath has joined the channel [08:02] freewil: hmm well looks like it installed properly [08:02] freewil: if its hanging its probably an issue with the module [08:02] freewil: never used that before so cant say [08:03] __tosh has joined the channel [08:03] solidus-river: grr, i hate converting by hand, this is going to be a fun hour... [08:05] robhawkes has joined the channel [08:05] freewil: solidus-river, did you read the readme file [08:05] freewil: looks like you need to install glob as well [08:06] jetienne: mraleph is still coming here ? [08:06] freewil: that might be only if you are developing it though [08:07] solidus-river: freewil: install glob fails [08:08] solidus-river: som c error, according to git its only if your developing [08:09] fairwinds_ has joined the channel [08:09] freewil: ACTION shrugs [08:09] fairwinds__ has joined the channel [08:10] wbednarski has joined the channel [08:10] gut4 has joined the channel [08:10] HardPhuc has joined the channel [08:12] TomY has joined the channel [08:13] k1ttty has joined the channel [08:13] Wizek has joined the channel [08:15] __doc__ has joined the channel [08:15] djcoin has joined the channel [08:16] Wizek-other has joined the channel [08:16] nforgerit has joined the channel [08:16] aaronmcadam has joined the channel [08:16] sfoster has joined the channel [08:18] jimit has joined the channel [08:18] chirag has joined the channel [08:20] gut4 has joined the channel [08:21] Andeye has joined the channel [08:21] uchuff has joined the channel [08:21] jbpros has joined the channel [08:22] markwubben has joined the channel [08:23] toabi has joined the channel [08:24] digman543 has joined the channel [08:25] fairwinds has joined the channel [08:25] DennisRasmussen has joined the channel [08:25] JakeyChan has joined the channel [08:28] socketio\test\78 has joined the channel [08:28] mikl has joined the channel [08:30] fangel has joined the channel [08:31] kurtzhong has joined the channel [08:31] nyholt has joined the channel [08:32] adrianmg has joined the channel [08:33] adambeynon has joined the channel [08:33] adrianmg has left the channel [08:34] solidus-river: freewil: thanks for helping me out with the npm commands :) [08:34] freewil: solidus-river, you're welcome [08:36] DennisRasmussen has joined the channel [08:37] fairwinds has joined the channel [08:37] eldios has joined the channel [08:38] neekers: does socket.io try to reconnect if it loses a connection? [08:41] Aphelion has joined the channel [08:41] Trisox has joined the channel [08:42] `3rdEden: neekers yes [08:42] Wizek-other2 has joined the channel [08:45] OmidRaha has joined the channel [08:45] toabi: Did somebody yet manage to build npm c++ modules on windows? [08:45] mraleph has joined the channel [08:46] rendar has joined the channel [08:48] whitman has joined the channel [08:50] louissmit has joined the channel [08:51] hellp has joined the channel [08:51] Circlefusion has joined the channel [08:51] piscisaureus has joined the channel [08:53] rendar has joined the channel [08:53] riven has joined the channel [08:57] HardPhuck has joined the channel [08:58] eddyb has joined the channel [08:58] kuebk has joined the channel [08:58] eddyb: hi guys [08:58] kuebk: hi [08:58] eddyb: http://www.dartlang.org/ [08:58] eddyb: I hope at least some of you heard about Dart [08:58] eddyb: I'm curious how it will affect node.js' future [08:59] freewil: good question [09:00] ablomen has left the channel [09:00] ablomen has joined the channel [09:00] freewil: just another tool i guess [09:00] Frippe has joined the channel [09:01] eddyb: var odd = items.filter((i) => i % 2 == 1); [09:01] Frippe has joined the channel [09:01] eddyb: that's genius [09:01] eddyb: and unlike some weird languages, you're not restrained to that [09:01] eddyb: you can write like in C++ [09:01] eddyb: you can write like in PHP [09:01] eddyb: or like in Haskell [09:05] eddyb: #dart seems present, but not active [09:07] bzinger has joined the channel [09:07] ditesh|cassini has joined the channel [09:07] freewil: optional typing is nice [09:07] freewil: but i dont really see what dart does that you cant do with javascript [09:08] eddyb: freewil: it's cleaner [09:08] cthulhu_lovecraf has joined the channel [09:08] eddyb: there were failures in the past [09:08] freewil: meh [09:08] eddyb: like, initial JS, possibly GoLang [09:08] eldios has joined the channel [09:08] ppcano has joined the channel [09:08] eddyb: Dart is intended as a "more perfect" language [09:10] freewil: yeah its a little nicer [09:11] `3rdEden: how is it nicer when it requires semi colons everywhere [09:11] `3rdEden: and a silly main {} [09:12] Trisox[work] has joined the channel [09:13] jackbean: hi guys [09:13] jetienne: `3rdEden: coffeedart ? coffeedart to dart to js :) [09:13] fairwinds has joined the channel [09:14] `3rdEden: I don't drink coffee [09:14] jackbean: i'm looking for a good way to handle uncaught exception [09:14] jetienne: same here bad for you health [09:14] aliem has joined the channel [09:15] jetienne: jackbean: none really. [09:15] jbpros has joined the channel [09:15] jackbean: i know it might be impossible to completely avoid it, but I want to do it as possible as i can. [09:15] jetienne: jackbean: i do understand. but there is no secret [09:16] jetienne: jackbean: try catch and a ident [09:16] jetienne: jackbean: dont catch too far from the exception or you will the intented meaning of the exception [09:17] jackbean: jetienne yeah, i know. [09:17] analphabet has joined the channel [09:18] jetienne: jackbean: ok then i dont understand what you are looking for [09:18] ppcano has joined the channel [09:18] ppcano_ has joined the channel [09:18] SubStack: beep boop new blog post [09:19] SubStack: http://substack.net/posts/5bd18d [09:19] ppcano_ has joined the channel [09:19] ppcano has joined the channel [09:19] ppcano has joined the channel [09:19] SubStack: also this: http://news.ycombinator.com/item?id=3097835 [09:19] ppcano has joined the channel [09:20] ppcano has joined the channel [09:20] jackbean: jetienne sometimes the things are not so complicated, i guess there's some good practice to be handy. [09:21] vampi-the-frog has joined the channel [09:21] jetienne: jackbean: you try to avoid them as much as possible. you catch exception close to the trigger. you got it already i think [09:22] jetienne: jackbean: but this is cool i will let other answer [09:22] vampi-the-frog: hi guys. i'm defining a function and then i want to include a file that uses that function (new FunctionName). require seems to bomb out saying FunctionName is not defined. any idea how i can just 'include' the file like a C program would #include? [09:22] jetienne: what are the best practice when it comes to exceptions ? [09:22] adambeynon has joined the channel [09:22] vampi-the-frog: try and catch them all! [09:22] Frippe has joined the channel [09:23] ppcano_ has joined the channel [09:23] ayaz has joined the channel [09:23] freewil: vampi-the-frog, if you are using require() where the function is defined [09:23] freewil: you have to export the function in the file you are requiring [09:23] ppcano has joined the channel [09:24] ppcano has joined the channel [09:24] kulor-uk has joined the channel [09:24] mikey_p: anyone have a recommendation of a good role or acl addon for everyauth? [09:24] ppcano has joined the channel [09:24] vampi-the-frog: hm well the file i am requiring actually just runs some js code, instantiating the class [09:24] jetienne: vampi-the-frog: to include, read the file and then eval() it [09:24] eddyb: `3rdEden: really, it's "coffee or semicolons" [09:24] vampi-the-frog: oh ok [09:24] eddyb: or "python or semicolons" [09:24] ppcano has joined the channel [09:24] ppcano has joined the channel [09:25] fangel has joined the channel [09:25] jackbean: express tried to handle exceptions handling requests. [09:25] joshgillies has joined the channel [09:25] jackbean: you got exceptions handled so node will keep running. [09:26] pid_ has joined the channel [09:26] ppcano_ has joined the channel [09:26] ppcano_ has joined the channel [09:27] ppcano has joined the channel [09:27] Wizek has joined the channel [09:28] bzinger has joined the channel [09:28] jackbean: but when it comes the exception when receiving data from mongodb before rendering your page. it will crash your node instance. [09:29] ppcano has joined the channel [09:30] wbednars_ has joined the channel [09:30] ppcano has joined the channel [09:30] ppcano_ has joined the channel [09:30] ppcano has joined the channel [09:31] ppcano_ has joined the channel [09:31] ppcano_ has joined the channel [09:31] ppcano has joined the channel [09:31] ppcano_ has joined the channel [09:32] ppcano_ has joined the channel [09:32] ppcano has joined the channel [09:32] wbednars_ has joined the channel [09:32] irahgel has joined the channel [09:33] ppcano has joined the channel [09:33] swick has joined the channel [09:34] fairwinds has joined the channel [09:34] xsyn has joined the channel [09:34] fairwinds_ has joined the channel [09:36] ppcano has joined the channel [09:37] FireCat has joined the channel [09:37] azeroth_ has joined the channel [09:41] jetienne has joined the channel [09:43] davidbanham has joined the channel [09:44] c4milo has joined the channel [09:44] mattp_ has joined the channel [09:45] kuebk: is there a way to install npm not globally? [09:46] eldios has joined the channel [09:46] ixti has joined the channel [09:46] elijah has joined the channel [09:48] aaronmcadam: kuebk: you tried installing it into ur home? [09:48] cosmincx has joined the channel [09:50] syrio has joined the channel [09:55] darinc has joined the channel [09:55] fermion has joined the channel [09:56] jackbean: uh... maybe catch exception close to the trigger + writing tests would be the best practice so far... :) [09:57] jackbean: thanks everyone! [09:57] vns has joined the channel [10:01] fly-away has joined the channel [10:02] TomY has joined the channel [10:03] azeroth_ has joined the channel [10:04] mikeal has joined the channel [10:08] Casan has joined the channel [10:08] ayaz has joined the channel [10:09] icewhite has joined the channel [10:13] fairwinds has joined the channel [10:13] agnat_ has joined the channel [10:14] Casan: I'm experiencing npm install problems with several packages, it says.. npm ERR! gzip "--decompress" https://gist.github.com/1277758 [10:15] Casan: I wonder if it is related to my environment, but gzip works, and other npm's work.. only some have the problem.. eg calipso and mongoose-auth as the most recent [10:17] coreb1 has joined the channel [10:17] Glenjamin_ has joined the channel [10:17] dob_ has joined the channel [10:17] Glenjamin_: Hi guys, does anyone know how to get forever to use a different root without passing it on the command line every time? [10:18] chirag has joined the channel [10:19] dob_: nginx or varnish in front of node.js application? [10:24] vampi-the-frog: how do I add plugins in my application? I have a Server function/class that i instantiate and run, and I want it to be able to load plugins/add some plugins to it somehow. any ideas? [10:24] jomoho has joined the channel [10:24] vampi-the-frog: i could add a loadPlugin() method, but maybe there's a better way [10:27] matyr has joined the channel [10:28] _kud has joined the channel [10:32] Glenjamin_: vampi-the-frog: the 'vm' module might be the sort of thing you're after [10:33] Glenjamin_: but utimately you're going to need to decide on a plugin API of sorts [10:33] kuebk: aaronmcadam [10:33] kuebk: yea something like that [10:33] fairwinds_ has joined the channel [10:33] kuebk: I'm configuring env for hudson [10:33] vampi-the-frog: thanks i'll look it up [10:33] Glenjamin_: anyone having trouble installing the latest version of forever? I get an unresolvable dependency error [10:33] kuebk: and don't want to install npm globally [10:33] syrio has joined the channel [10:35] cjroebuck has joined the channel [10:35] ninjapig has joined the channel [10:36] davidbanham has joined the channel [10:36] ninjapig: so what's the advantage of writing js in a seperate file rather than placing it in the html file? [10:36] ninjapig: besides reusability [10:37] freewil: better caching [10:37] freewil: if you reuse it across multiple pages [10:38] einaros has joined the channel [10:39] hellp has joined the channel [10:39] dexter_e has joined the channel [10:44] jldbasa has joined the channel [10:45] pgherveou has joined the channel [10:46] Casan: gzip problem identified, problem was in the node-xml2js package. [10:46] fairwinds_ has joined the channel [10:46] navaru has joined the channel [10:48] fairwinds_ has joined the channel [10:49] xsyn has joined the channel [10:50] navaru has left the channel [10:50] mike5w3c_ has joined the channel [10:53] d0k has joined the channel [10:55] bicranial has joined the channel [10:57] xsyn1 has joined the channel [10:58] vns_ has joined the channel [10:59] robi42 has joined the channel [11:00] broofa has joined the channel [11:03] pgherveou has joined the channel [11:03] xsyn has joined the channel [11:04] wbednarski has joined the channel [11:05] rkjaer has joined the channel [11:06] pgherveou has joined the channel [11:07] rkjaer has left the channel [11:07] ditesh|cassini has joined the channel [11:08] Trisox has joined the channel [11:10] JakeyChan has joined the channel [11:10] depy has joined the channel [11:11] neurodrone has joined the channel [11:11] cosmincx has joined the channel [11:17] Morkel has joined the channel [11:19] jetienne has joined the channel [11:20] secoif has joined the channel [11:20] max_dev_ has joined the channel [11:22] TomY has joined the channel [11:24] pig has joined the channel [11:24] Guest25624 has joined the channel [11:26] analphabet: thanks to everyone developing node [11:26] analphabet: it's just brilliant [11:26] gavin_huang has joined the channel [11:26] analphabet: keep on running [11:27] analphabet has left the channel [11:35] herbySk has joined the channel [11:38] xsyn has joined the channel [11:39] _kud has joined the channel [11:43] nickadeemus2002 has joined the channel [11:43] Epeli: How I can put space between two a-elements in jade? I don't wan't that space to be in the a-element [11:44] Epeli: this http://pastie.org/2676460 will render to to _foobar_ [11:44] Epeli: when I wan't it be _foo_ _bar_ [11:50] gut4 has joined the channel [11:52] mikeal has joined the channel [11:53] chiggy has joined the channel [11:53] TheJH has joined the channel [11:55] brianseeders has joined the channel [11:55] Ang3 has joined the channel [11:55] c4milo has joined the channel [11:56] Ang3: hey ! [11:56] Shrink has joined the channel [11:56] Renegade001 has joined the channel [11:58] guidocalvano has joined the channel [11:58] ph^ has joined the channel [12:03] scott_gonzalez has joined the channel [12:05] dreamdust has joined the channel [12:05] schwab has joined the channel [12:08] timmillwood has joined the channel [12:11] timmillwood: if I wanted to build something like a simple blog or basic cms in node, where would I start? [12:11] ayaz has joined the channel [12:12] cjm has joined the channel [12:13] simenbrekken: I'm trying to load test a HTTPS server that does client/server SSL auth, does anyone know of any tools that does HTTPS testing? [12:14] gut4 has joined the channel [12:15] felixhummel has joined the channel [12:16] aheckmann has joined the channel [12:16] i42n has joined the channel [12:17] fairwinds has joined the channel [12:19] mikeal has joined the channel [12:19] dreamdust has joined the channel [12:20] jbpros has joined the channel [12:21] gooseus has joined the channel [12:22] gooseus: hey, anybody have some good resources for reading on node design patterns? It seems like there are a lot of new ones (to me) and I want to understand when to use which ones (promises, traits, etc…) [12:22] enmand has joined the channel [12:22] Vennril has joined the channel [12:22] nerdy_ has joined the channel [12:24] pgherveo_ has joined the channel [12:24] hernan has joined the channel [12:26] pgherveou has joined the channel [12:27] pgherveou has joined the channel [12:27] niefba has joined the channel [12:29] _kud has joined the channel [12:29] erichynds has joined the channel [12:29] pgherveou has joined the channel [12:29] niefba: hello, I have an error when building de last version of Node.js on Debian Squeeze: task failed (err #1): {task: cc eio.c -> eio_1.o} . Someone could help, please? [12:30] russfrank: niefba: need more output [12:30] russfrank: copy the last 100 lines or so of the build, put in a pastebin [12:30] niefba: Waf: Entering directory `/root/src/node/build' DEST_OS: linux DEST_CPU: ia32 Parallel Jobs: 1 Product type: program [ 1/75] cc: deps/libeio/eio.c -> build/default/deps/libeio/eio_1.o /usr/bin/gcc -rdynamic -D_GNU_SOURCE -DHAVE_CONFIG_H=1 -pthread -m32 -g -O3 -DHAVE_OPENSSL=1 -DEV_FORK_ENABLE=0 -DEV_EMBED_ENABLE=0 -DEV_MULTIPLICITY=0 -DX_STACKSIZE=65536 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DEV_MULTIPLICITY=0 -DHAVE_FDATASYNC=1 [12:30] niefba: oups [12:31] russfrank: don't paste it all in here! [12:31] niefba: sorry [12:31] enmand_ has joined the channel [12:32] mikeal has joined the channel [12:33] fumanchu182 has joined the channel [12:35] piscisaureus has joined the channel [12:36] dreamdust has joined the channel [12:36] fumanchu182 has joined the channel [12:36] AaronMT has joined the channel [12:36] willwhite has joined the channel [12:37] briemens has joined the channel [12:37] niefba: I have an error when building de last version of Node.js on Debian Squeeze: you can see the complete message in the pastebin http://pastebin.wikistuce.info/?908 [12:38] guidocalvano has joined the channel [12:39] replore has joined the channel [12:40] replore_ has joined the channel [12:40] russfrank: niefba: try an aptitude reinstall linux-headers-`uname -r` [12:40] mehtryx has joined the channel [12:46] heavysixer has joined the channel [12:46] timmillwood: is node any good for stand alone web sites? [12:46] gooseus: Does anyone here use traits.js? Does anyone have any good examples of some applications implemented using traits? [12:47] russfrank: timmillwood: sure, why not [12:47] timmillwood: russfrank, most of the examples and uses I see are using node as a backend service for other apps. [12:48] timmillwood: I am looking to setup a portfolio type site just to play with and learn node but not sure it's the best use case. [12:48] russfrank: timmillwood: what do you consider to be the difference between 'backend service for other apps' and 'standalone web sites' [12:48] Trisox has joined the channel [12:48] russfrank: do you mean non-dynamic? well then no, of course [12:49] russfrank: ie static, just serve it out with lighty or nginx [12:49] russfrank: but sure you can use node for that [12:49] russfrank: make it dynamic [12:49] russfrank: make a login page where you login and add new stuff to your portfolio [12:49] niefba: russfrank, I've done a reinstall of linux-headers (apt-get install --reinstall linux-headers-`uname -r`) but it doesn't solve the issue when building node.js (same error) [12:49] Lorentz: Remind me to do my resume site up again [12:49] russfrank: yeah, I need to do some self promotion myself [12:50] russfrank: my domain is literally just a resume link haha [12:50] russfrank: niefba: that's strange.. the problem isn't with node, there's a missing kernel header [12:50] bzinger has joined the channel [12:51] timmillwood: russfrank, where would I start to create a dynamic site like that? [12:51] chiggy: i want to make an app such that users will write something in the page and it will be broadcasted to all the users [12:51] chiggy: just like a chat app [12:51] chiggy: where should i start with? [12:51] russfrank: oh whoops [12:51] russfrank: niefba: its in the -common package [12:51] chiggy: any good study material for this? [12:51] russfrank: niefba: linux-headers-version-common instead of your arch [12:51] timmillwood: chiggy, you can try https://github.com/ry/node_chat [12:51] Circlefusion has joined the channel [12:52] jakehow has joined the channel [12:52] chiggy: ok timmillwood [12:52] chiggy: cool thanks [12:52] russfrank: timmillwood: expressjs + mongodb! [12:52] russfrank: express is fun. [12:52] Glenjamin_: gooseus: there's only about 4 guidelines to follow to keep your node code clean [12:53] Glenjamin_: 1) The callback is always the last argument of an async function [12:53] chiggy: anyone can suggest me some good study materail for node part from nodebeginner [12:53] davidsklar has joined the channel [12:53] Glenjamin_: 2) The error is always the first argument when calling a callback, and should be null or an Error instance [12:54] Glenjamin_: 3) If you get to ~5 indents, refactor into another method; 4) Use an async control flow library to make your life easier [12:54] zivester has joined the channel [12:54] mAritz has joined the channel [12:55] paul_k has joined the channel [12:55] zivester has joined the channel [12:55] icebox has joined the channel [12:56] Poetro has joined the channel [12:56] Poetro has joined the channel [12:56] fairwinds: hi. looking for a quick method to determine whether machine is connected to internet [12:57] stagas has joined the channel [12:57] fairwinds: scanned 'net' module for a method [12:57] sfoster: oops. express' index middleware's HTML output is busted in IE. No addEventListener. [12:58] gooseus: glenjamin_ cool, but what about traits.js? I kind of knew that stuff, what I'm looking for is deeper understanding of using traits.js for object composition [12:58] gooseus: I get the simple examples I've come across, but I want to see it implemented in a larger project or used as a core creational design pattern [12:58] sfoster: gooseus like this? https://github.com/kriszyp/compose [12:59] gooseus: or I want to hear that it's a bunch of fluff and that no one uses it for X reason... [12:59] smplstk_ has joined the channel [13:00] gooseus: sfoster yes, this certainly looks like something along the lines of the information I'm after [13:00] darinc has joined the channel [13:01] niefba: russfrank, re-installation of the linux-headers-version-common doesn't change anything... [13:01] jzacsh has joined the channel [13:03] simenbrekken has joined the channel [13:03] stagas has joined the channel [13:03] enmand has joined the channel [13:04] thinkt4nk has joined the channel [13:05] russfrank: niefba: find /usr/src | grep asm/errno.h ? [13:06] deedubs has joined the channel [13:06] niefba: the result is: "/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/errno.h" [13:07] dexter_e has joined the channel [13:07] ksheurs has joined the channel [13:07] jetienne has joined the channel [13:08] r04r: Having some issues with TLS... After a client tries to connect for a second time I'm getting `(node SSL) error:140D9115:SSL routines:SSL_GET_PREV_SESSION:session id context uninitialized` [13:09] Glenjamin_: gooseus: others might disagree, but i do all my object/class stuff using util.inherits, .prototype and the new operator [13:09] Glenjamin_: I've never had a need for anything else [13:09] Squax has joined the channel [13:10] ayaz has joined the channel [13:10] joshkehn has joined the channel [13:11] lazyshot has joined the channel [13:12] russfrank: niefba: may be this bug ... http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=638418 [13:15] bnoordhuis has joined the channel [13:15] mikeal has joined the channel [13:15] chiggy has joined the channel [13:15] gavin_huang has joined the channel [13:18] markdaws has joined the channel [13:21] skiz has joined the channel [13:21] CarterL has joined the channel [13:22] OmidRaha has joined the channel [13:24] skm has joined the channel [13:24] bshumate has joined the channel [13:24] bshumate has joined the channel [13:25] dob_: i am using mongoose auth. Somebody with knowledge about here? I want to post a object of type news. How can/should i create the reference to the mongoose-auth user? [13:25] Migaaresno has joined the channel [13:29] JasonJS has joined the channel [13:30] jroes: anyone here use node-orm? seems like there's no way to define a schema without a db connection. makes it a bit awkward to use sometimes [13:31] willwhite has joined the channel [13:31] mendel_ has joined the channel [13:31] thomblake has joined the channel [13:31] enmand has joined the channel [13:31] thomblake has left the channel [13:33] jtsnow has joined the channel [13:37] davidsklar has joined the channel [13:41] jscheel has joined the channel [13:41] vns has joined the channel [13:41] dthompso99 has left the channel [13:42] CrisO has joined the channel [13:43] CrisO has joined the channel [13:44] dthompso99 has joined the channel [13:46] syrio has joined the channel [13:46] postwait has joined the channel [13:47] Trisox has left the channel [13:48] robi42 has joined the channel [13:48] mikl has joined the channel [13:49] sirdancealot has joined the channel [13:51] dexter_e has joined the channel [13:52] flimmern has joined the channel [13:53] stepheneb has joined the channel [13:54] djcoin has joined the channel [13:54] JasonJS: How much memory usage are people seeing per node process? [13:55] infynyxx has joined the channel [13:55] colinclark has joined the channel [13:56] pandeiro has joined the channel [13:56] miccolis has joined the channel [13:56] mynyml has joined the channel [13:56] jstash has joined the channel [13:56] russfrank: JasonJS: 25m res, been running for weeks [13:56] russfrank: it probably leaks, was a crappy test thing [13:57] JasonJS: russfrank: How much vsz? [13:57] slifty_corsair has joined the channel [13:58] russfrank: JasonJS: 710 [13:58] russfrank: mb [13:59] JasonJS: russfrank: Ok - that's around what I'm seeing too. Thanks for providing your numbers. [13:59] baudehlo has joined the channel [13:59] russfrank: no problem [13:59] JasonJS: russfrank: The 500+Mb vs is concerning me a bit but I'll see how things go. [14:00] niefba: russfrank, I've made a symlink (ln -s /usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm asm) and building finished successfully! Thank you for your help, I'm gonna to play with node.js :-) [14:01] russfrank: niefba: yeah, i figured, it looks like it was due to that debian bug [14:01] trose: anyone have experience with multipart.js? I'm trying to follow the readme here: https://github.com/isaacs/multipart-js/ but i'm getting the error 'Error: Expected multipart message (did you set the headers?)' i've excluded the line from the example 'parser.boundary('foo')' because i wasn't sure what it doesn or what I should replace 'foo' with [14:01] russfrank: they fucked up placement of kernel headers.. noooot good [14:01] xetorthio has joined the channel [14:01] aude has joined the channel [14:02] siculars has joined the channel [14:03] smtlaissezfaire has joined the channel [14:04] pik has joined the channel [14:06] gooseus: so what's the latest and greatest node things people are playing with these days? I've been checking in every few months to learn as much as I can to stay up to date while I wait for a monetized reason to work with node fulltime [14:08] trose: idk, I'm trying to use node to create a socket access point for a script I wrote... not exactly latest and greatest though... [14:08] JasonJS: gooseus: If you aren't familiar with socket.io yet definitely give it a run through [14:08] tmedema has joined the channel [14:09] tmedema: SubStack: hey, just wanted to thank you for publishing Bouncy (https://github.com/substack/bouncy).. I'll use it together with Round robin DNS to appoint requests randomly to each of my nodes, which are then directed to the least-used node using bouncy. Thanks! [14:09] mandric has joined the channel [14:10] tmedema: and something like couch base 2 to inform each node about the cluster availability etc. [14:10] Wizek has joined the channel [14:10] SixView has joined the channel [14:11] djcoin has joined the channel [14:13] brianc has joined the channel [14:14] Stilvoid has joined the channel [14:14] Stilvoid: ircretary: good work [14:14] ircretary: Stilvoid: I'm not sure what to do with that command. Ask for help in PM. [14:14] Stilvoid: heh [14:15] DrMcKay has joined the channel [14:17] joshkehn has joined the channel [14:18] JSManiacs has joined the channel [14:19] Migaaresno: wth? [14:19] [1]kuebk has joined the channel [14:19] trose: LOL [14:19] trose: server maintenance? [14:19] paul0 has joined the channel [14:20] _sri has joined the channel [14:21] RushPL has joined the channel [14:21] piscisaureus has joined the channel [14:21] aaronmcadam: netsplit baby [14:21] devaholic: bouncy? [14:21] swick has joined the channel [14:22] franck34 has joined the channel [14:22] devaholic: substack, tmedema oh thats kinda cool [14:22] jstash has joined the channel [14:22] devaholic: could be cooler if you got it to load up the server list from a db [14:22] FireFoxIXI has joined the channel [14:23] matti has joined the channel [14:23] matti has joined the channel [14:23] CrisO has joined the channel [14:23] Hosh has joined the channel [14:23] igl has joined the channel [14:24] romainhuet has joined the channel [14:24] whoops has joined the channel [14:24] Guest18468 has joined the channel [14:24] infynyxx has joined the channel [14:24] jzacsh has joined the channel [14:24] Circlefusion has joined the channel [14:24] Shrink has joined the channel [14:24] cjroebuck has joined the channel [14:24] coreb1 has joined the channel [14:24] jacobolus has joined the channel [14:24] Spion_ has joined the channel [14:24] chovy has joined the channel [14:24] aakour has joined the channel [14:24] necrodearia has joined the channel [14:24] DJBouche has joined the channel [14:24] SanbarComputing has joined the channel [14:24] wookiehangover has joined the channel [14:24] matt_c has joined the channel [14:24] pandark_ has joined the channel [14:24] mbruce has joined the channel [14:24] rick_h_ has joined the channel [14:24] flexd has joined the channel [14:24] jn has joined the channel [14:24] dabailey has joined the channel [14:24] tmzt_ has joined the channel [14:24] cconstantine has joined the channel [14:24] iFire has joined the channel [14:24] silky has joined the channel [14:24] tmm1 has joined the channel [14:24] rgmarcha has joined the channel [14:24] finsken has joined the channel [14:24] pct has joined the channel [14:24] DrPizza has joined the channel [14:24] mrkurt has joined the channel [14:24] sstephenson has joined the channel [14:24] xerox has joined the channel [14:24] a11235 has joined the channel [14:24] gaving has joined the channel [14:27] kei has joined the channel [14:28] Lars_unique has joined the channel [14:28] JJMalina has joined the channel [14:29] predat0r has joined the channel [14:30] owenb has joined the channel [14:30] gooseus: JasonJS I've seen socket.io mentioned before and looked through it briefly… most people using that with Express? [14:31] tmedema: devaholic: well you have to code that yourself of course, is outside the scope of bouncy IMO [14:31] tmedema: it is not a load balancer, but can be used to create one [14:31] devaholic: indeed [14:32] devaholic: but it would be neat [14:33] Squeese has joined the channel [14:34] pietern has joined the channel [14:34] boaz has joined the channel [14:35] paul_k has joined the channel [14:36] jetienne: what are the main tech part for a website in node ? db with mongoose, mvc with express.js.. im sure im missing a lot of part, but which one ? :) [14:36] joshkehn: “Main tech part” ? [14:36] joshkehn: I don't understand [14:36] trose: So I'm trying to send a file to a nodejs socket and i'm getting this 'FATAL ERROR: JS Allocation failed - process out of memory' ... any ideas? [14:36] grekko has joined the channel [14:36] jetienne: joshkehn: big stuff to understand/master to easily make website in node [14:36] JasonJS: gooseus: You would make use of it whenever you need 'socket' type communications - that is, whenever you want the server to be able to push info to the client [14:37] Destos has joined the channel [14:37] shanebo has joined the channel [14:37] jetienne: trose: you allocate a LOT of memory and the computer cant allocate more [14:37] jetienne: trose: find where :) [14:37] zastaph has joined the channel [14:38] JasonJS: jetienne: I would start with base principals - try to make a really simple website without using any modules. Once you understand that try the same with express [14:38] zmbmartin has joined the channel [14:38] jetienne: JasonJS: ok but i got express in the list already. [14:38] gooseus: jasonjs sounds pretty useful… what about promises/deferred objects? Is that a popular flow control pattern or are most people using step? [14:39] jetienne: JasonJS: oh ok miscommunication, im have done the code already. im just trying to fill all the buzzword in my resume :) [14:39] trose: jetienne, the file i'm sending is 6mb... is it not okay to take input data and cat it together? [14:39] Manuel_ has joined the channel [14:40] jetienne: trose: ??? unlikely [14:40] jetienne: trose: you are allocating much more than that [14:40] devaholic: jetienne: lol? [14:40] jetienne: devaholic: no, im serious [14:40] briemens has joined the channel [14:40] JasonJS: gooseus: A lot of the pub/sub models (dnode, jsnow) make use of socket.io so I personally find it very useful to understand how the underlying stuff works [14:40] jetienne: trose: maybe you read many time those 6mbyte [14:40] devaholic: well dont forget about mongodb native driver [14:41] jetienne: trose: monitor the process to see how the size grow [14:41] devaholic: and something to make workers, like cluster [14:41] JasonJS: and don't forget forever [14:41] jetienne: devaholic: ok for cluster [14:41] jsurfer has joined the channel [14:41] devaholic: i dont knoow, what else? [14:41] jetienne: well cluster/forever are more little cmdline tool, not really a techno [14:41] ablomen: trose, the lib you are using says it's very early alpha, i'd try something like https://github.com/felixge/node-formidable [14:41] _kud has joined the channel [14:41] trose: jetienne, i'm sending the data to my socket with nc to test and it's going as several hundred packets... [14:42] devaholic: its not a command line tool... [14:42] jetienne: devaholic: i got socket.io too [14:42] jetienne: i got npm stuff via my nmod [14:43] devaholic: nmod? [14:43] trose: ablomen, oh cool. I've been looking for something like this. multipart seemed like it had been abandoned... [14:43] gooseus: jasonjs I agree, this socket.io stuff is real nice [14:44] Stilvoid: Yeah, I've just recently used formidable and it worked very nicely [14:44] jetienne: devaholic: a node module installer in a single js file. https://github.com/jeromeetienne/nmod [14:44] devaholic: oh, interesting [14:44] zmbmartin has left the channel [14:44] kevwil has joined the channel [14:44] flamboz has joined the channel [14:45] jetienne: devaholic: yep the single file makes it easy to install. and the doc is straight forward. npm compatible [14:45] BillyBreen has joined the channel [14:46] pixel13 has joined the channel [14:46] pixel13 has left the channel [14:47] slifty_corsair has joined the channel [14:48] jocafa has joined the channel [14:49] trose: ablomen, is formidable capable of just receiving a data stream? I'm not sure from reading the api... [14:49] ablomen: trose, no idea, just the first good looking result on google [14:49] ablomen: have not tried it myself [14:49] OmidRaha has left the channel [14:49] fatjonny has joined the channel [14:50] trose: okay [14:50] hij1nx has joined the channel [14:51] jaequery has joined the channel [14:52] ceej has joined the channel [14:53] CIA-48: libuv: 03Ben Noordhuis 07 * rb3a003f 10/ (test/test-list.h test/test-spawn.c): test: uv_process_kill(proc, 0) should not kill the process - http://git.io/u5tjkQ [14:53] CIA-48: libuv: 03Ben Noordhuis 07 * r69bd8c3 10/ src/unix/kqueue.c : unix: stub kqueue support functions on old platforms - http://git.io/eq8C1w [14:53] DrMcKay: bnoordhuis: thanks for ^^ :) [14:53] stbg has joined the channel [14:54] inpho has joined the channel [14:54] CIA-48: libuv: 03Ben Noordhuis 07 * r47d22ac 10/ src/unix/kqueue.c : unix: stub kqueue support functions on old platforms - http://git.io/ZpsVog [14:54] jerrysv has joined the channel [14:54] neurodrone has joined the channel [14:54] bnoordhuis: DrMcKay: sorry, i shouldn't have pushed that yet - it's not finished [14:54] Poetro has joined the channel [14:54] Poetro has joined the channel [14:54] zemanel has joined the channel [14:56] fatjonny has joined the channel [14:56] mikeal has joined the channel [14:57] joshkehn has left the channel [14:57] CIA-48: node: 03Ben Noordhuis 07 * rc215262 10/ deps/uv/src/unix/kqueue.c : uv: upgrade to 47d22ac - http://git.io/SqgcNg [14:58] inph0 has joined the channel [14:59] knifed has joined the channel [14:59] agupta has joined the channel [15:01] iFire` has joined the channel [15:02] jzacsh_ has joined the channel [15:02] finsken_ has joined the channel [15:02] tmzt has joined the channel [15:03] JSManiacs has left the channel [15:03] rgmarcha_ has joined the channel [15:03] SanbarCo1puting has joined the channel [15:03] mbruce_ has joined the channel [15:03] pandark__ has joined the channel [15:05] wookiehangover_ has joined the channel [15:05] rick_h_ has joined the channel [15:05] colinclark has joined the channel [15:06] Shrink has joined the channel [15:06] vipaca has joined the channel [15:06] vipaca has joined the channel [15:06] jacobolus has joined the channel [15:06] simenbrekken has joined the channel [15:07] coreb has joined the channel [15:07] Morkel has joined the channel [15:07] matt_c has joined the channel [15:08] shanebo: mape, you around? [15:09] jakehow has joined the channel [15:10] davidsklar has joined the channel [15:10] tekky has joined the channel [15:11] jtsnow has joined the channel [15:11] dshaw_ has joined the channel [15:11] rhymes has joined the channel [15:12] mape: shanebo: yup [15:12] tjholowaychuk has joined the channel [15:13] rhymes has left the channel [15:13] shanebo: hello mape, I'm running into a problem with connect-assetmanager and connect vhost, where if I use your module on two projects, the latter assets get used on both projects [15:13] FireCat has joined the channel [15:13] mape: so you aren't linking files but http** ? [15:14] inpho has joined the channel [15:14] shanebo: mape, can you restate the question? :) [15:14] negrete has joined the channel [15:14] mape: can you page the options you pass? [15:14] mape: *paste [15:14] avih has joined the channel [15:16] shanebo: sure one sec [15:16] formotion has joined the channel [15:17] shanebo: mape: http://cl.ly/1G2u1p2i2i153x2J001z [15:17] formotion: hello all... could any of you explain me what's the difference between child_process.spawn and child_process.exec? [15:18] formotion: please? [15:18] smtlaissezfaire has joined the channel [15:18] mape: shanebo: hmm and the dir var is pointing to the correct path on both instances? [15:20] avih has joined the channel [15:20] hydrozen has joined the channel [15:20] shanebo: mape, yes, when I don't have both projects using your module, it works [15:21] shanebo: mape, if i make each individually use your module with the other turned off, it works [15:21] shanebo: mape if I have both on the last project uses the first projects assets [15:21] mape: does the dir variable change depending on if you use the module? that sounds odd [15:21] mape: what does the dir var come from? [15:21] jstash: formotion: the docs are the best explanation: http://nodejs.org/docs/v0.4.12/api/child_processes.html#child_process.spawn [15:22] shanebo: mape, dir is just --> __dirname + '/..' [15:23] CIA-48: node: 03Ben Noordhuis 07 * r6cb1d26 10/ deps/v8/build/common.gypi : v8: fix gyp build on windows - http://git.io/dJ7HGw [15:24] neurodrone has left the channel [15:24] formotion: jstash: thanks! however I want to understand the differences between the two as I can have the same result with both of them... that's what confuses me :S [15:25] cbrad has joined the channel [15:25] jstash: formotion: in that case, think of exec as "easy" (grab all the stdout/stderr at once) and spawn as "advanced" [15:25] HT has joined the channel [15:25] mape: shanebo: well does that mean that you move dirs testing the different scripts? [15:26] jocafa: Hey guise, dart roolz lawl [15:26] cbrad has left the channel [15:26] dthompso99: do node addons (c++) automatically start in a separate process? [15:26] formotion: jstash: thanks a lot!!! [15:26] jstash: formotion: for example, if you wanted to stream the output of a child process to some other stream (file, http response, etc.) you'd use spawn [15:27] bnoordhuis: dthompso99: no [15:27] formotion: jstash: it makes sense now, thank you, really :) [15:27] CoverSlide: also, exec takes a string as an argument, and passes it to sh -c, whereas spawn requires a list of arguments, so it's just a quick and simple thingamajig if you just want to run a string [15:27] dthompso99: dang... so if i need to run a loop to watch a usb device, i better make a process for it [15:27] jstash: formotion: you're welcome. [15:27] shanebo: mape, that gets me to the root of my project [15:28] dthompso99: thanks bnoordhuis [15:28] fermion has joined the channel [15:28] CoverSlide: you don't need a loop, you can use a timer [15:28] CoverSlide: the timer won't block [15:28] CoverSlide: a loop will [15:28] dthompso99: even better [15:28] CoverSlide: or use process.nextTick [15:29] edwardmsmith has joined the channel [15:29] cbrad has joined the channel [15:29] cbrad has left the channel [15:33] Cromulent has joined the channel [15:33] wilmoore has joined the channel [15:34] mwillhite has joined the channel [15:34] kenperkins has joined the channel [15:34] sonnym has joined the channel [15:34] fangel has joined the channel [15:34] shanebo: mape, with connect's vhost middleware, I'm guessing your module see's a route match and delivers the first one. Seems like it needs to make sure the asset path matches and the route matches before resolving? [15:35] jhurliman has joined the channel [15:35] pixel13 has joined the channel [15:36] pixel13 has left the channel [15:36] mape: shanebo: hmm k, never used the vhost one [15:36] caolanm has joined the channel [15:37] shanebo: mape: http://senchalabs.github.com/connect/middleware-vhost.html [15:38] isaacs has joined the channel [15:38] chrislorenz has joined the channel [15:39] Spion has joined the channel [15:41] mape: hmm k, never seen it used [15:41] markdaws has joined the channel [15:41] mandric has joined the channel [15:41] stepheneb has joined the channel [15:46] ultramagnus has joined the channel [15:47] Wizek has joined the channel [15:49] lux_ has joined the channel [15:49] djbell has joined the channel [15:49] shanebo: mape any suggestions? [15:50] Margle has joined the channel [15:50] mape: shanebo: sorry no, I'm at work and can't really spare the time right now [15:50] shanebo: mape, okay thanks man, sorry about that [15:50] mape: no worries [15:51] ilikeit has joined the channel [15:52] davidascher has joined the channel [15:53] dshaw_ has joined the channel [15:56] boaz has joined the channel [15:56] ultramagnus: i find it really hard to decide how to make my object structures in js.. so many alternatives [15:56] harthur has joined the channel [15:57] ultramagnus: pseudo-classical, prototypal, functional, mixins etc [15:57] smathy has joined the channel [15:57] balaa has joined the channel [15:58] Ang3 has left the channel [15:58] jtrudeau has joined the channel [15:59] sixtus42 has joined the channel [16:00] sixtus42: Hi, anybody got an example how to pass a Buffer to an async c++ method. i.e. how to keep the Buffer valid through a eio_custom() … or do I need to make a copy? [16:01] darinc1 has joined the channel [16:01] versicolor has joined the channel [16:01] casper_ has joined the channel [16:03] bnoordhuis: sixtus42: buffer->Ref() or wrap it in a Persistent [16:03] ritch has joined the channel [16:04] dherman has joined the channel [16:04] bnoordhuis: sixtus42: or have a look at the zlib bindings in master, it's async and works on buffers [16:05] skm has joined the channel [16:05] sixtus42: bnoordhuis: thanks! uv_queue_work() is the new eio_custom() ? [16:05] bnoordhuis: sixtus42: yes, that's correct [16:06] stelleg has joined the channel [16:06] diogogmt has joined the channel [16:06] ritch has left the channel [16:07] socialhack has joined the channel [16:07] skm has joined the channel [16:09] vampi-the-frog has joined the channel [16:09] vampi-the-frog has joined the channel [16:09] guillermo has joined the channel [16:10] wadey has joined the channel [16:10] darinc has joined the channel [16:11] sixtus42: bnoordhuis: All I see is in = reinterpret_cast(Buffer::Data(in_buf)); and that is passed along. Where is the guarantee, this sucker is not gc'd until I am done with the "in" pointer? [16:12] dob_: MyObject.find({}, {}, { sort: '_id', skip: skp, limit: lmt }, function(err, docs) { [16:12] dob_: How can i reverse the sort? [16:12] slifty_corsair has joined the channel [16:12] dob_: Hope somebody has an idea [16:12] simenbrekken: dob_: this is a MongoDB query [16:12] xerox: dob_: what library are you using? [16:12] bnoordhuis: sixtus42: i think you may have found a bug :/ [16:12] versicolor has joined the channel [16:13] sixtus42: bnoordhuis: sorry, at least I am getting it ;-) [16:13] dob_: xerox: I am using mongoose [16:13] simenbrekken: dob_: you should be asking in #mongodb [16:13] simenbrekken: dob_: http://stackoverflow.com/questions/4299991/how-to-sort-in-mongoose [16:14] simenbrekken: dob_: for future reference if you Google your problem first you'll spend less keystrokes than asking about it on IRC, results are almost instant too. "reverse sort mongoose" in 0.24 seconds [16:14] siculars has joined the channel [16:15] dob_: simenbrekken: There are so many different approaches, some are using execFind, some are using run etc... [16:15] edwardmsmith has left the channel [16:16] sixtus42: bnoordhuis: so I guess I put a Object * into the struct I am passing to eio_custom() or where should I keep that? [16:16] jtsnow has joined the channel [16:16] fennec has joined the channel [16:16] fennec has joined the channel [16:17] te-brian has joined the channel [16:17] jstash: would a node_queue_work() (or something that can auto ->Ref() and ->Unref()) be a good addition? [16:17] bnoordhuis: sixtus42: yes a Persistant (but not a pointer to one) [16:17] defunctzombie has joined the channel [16:18] defunctzombie: bnoordhuis: hey, I pulled down the latest node master and built with clang, it complains about line 4054 in node_crypto.cc [16:18] jstash: better to use Persistant<> then? [16:18] defunctzombie: I saw that was something you added recently [16:18] casper__ has joined the channel [16:18] defunctzombie: bnoordhuis: ../src/node_crypto.cc:4054:19: warning: self-comparison always evaluates to true [-Wtautological-compare] [16:18] Aikar: warnings are not fatal [16:19] defunctzombie: I realize this, however warnings may be a sign of something else [16:19] bnoordhuis: jstash: yes (and: Persistent) (mistyped it myself too) [16:19] jstash: (right) [16:19] defunctzombie: and just wanted to double check that line had the intended logic [16:20] bnoordhuis: defunctzombie: that warning is harmless [16:21] bnoordhuis: the idea is that the compiler optimizes it away [16:21] bnoordhuis: it's a template with two concrete instances, in one the comparison is always true, in the other it's always false [16:22] JulioBarros has joined the channel [16:23] defunctzombie: fair enough [16:23] gxdssoft has joined the channel [16:23] sixtus42: jstash: so int the struct I have a Persistant<> foo; and assign foo = args[0]->ToObject() ? How do I kill foo when I am done? (just double checking) [16:23] rudolfrck has joined the channel [16:23] langworthy has joined the channel [16:23] defunctzombie: on another note: I pushed the updated multicast patch to my fork [16:23] Carter has joined the channel [16:23] defunctzombie: still haven't implemented the setTTL methods or loopback [16:23] defunctzombie: but shouldn't be hard to get those in as well [16:24] defunctzombie: would be nice to have multicast back in node master :) [16:24] bnoordhuis: defunctzombie: did you sign the cla? [16:24] bnoordhuis: (i think you did) [16:24] criswell has joined the channel [16:25] defunctzombie: bnoordhuis: indeed I did [16:25] bnoordhuis: defunctzombie: okay, i can probably merge it tonight [16:25] defunctzombie: gracias [16:27] piscisaureus has joined the channel [16:28] alvaro_o has joined the channel [16:28] stepheneb__ has joined the channel [16:28] CIA-48: libuv: 03Ben Noordhuis 07 * r6936d60 10/ config-unix.mk : [16:28] CIA-48: libuv: build: don't set CC and AR [16:28] CIA-48: libuv: Allows user to override compiler and archiver through the CC and AR environment [16:28] CIA-48: libuv: variables. Note that this already worked as expected with `make CC=clang`. - http://git.io/uhpEkA [16:29] errordeveloper: hm .. so I have a function which essentially parses a text file, sets a variable and then emits an event - [16:29] errordeveloper: the question is how do I wait for this even in the other function ? [16:29] errordeveloper: just do if(varx === '') { setTimeout() } ? [16:30] eignerchris has joined the channel [16:31] errordeveloper: or is there a way to check for event history .. i.e. if hadThereBeen('someEvent') ? [16:31] Venom_X: errordeveloper, eventemitter [16:31] berasa has joined the channel [16:32] paul_k has joined the channel [16:32] errordeveloper: ok .. i got EV=require('events') and the rest of the stuff to get events working [16:32] errordeveloper: but the question was if there is a way to check whether an event has ever occured? [16:33] Venom_X: errordeveloper, http://elegantcode.com/2011/02/21/taking-baby-steps-with-node-js-implementing-events/ [16:33] errordeveloper: otherwise I just do the checks on the string that I'm actually waiting for .. [16:33] boehm has joined the channel [16:33] Venom_X: errordeveloper, oh. Well. On your listener you could set a property/var that you could check. But, that's a slippery slope [16:34] errordeveloper: Venom_X: yeah, that's what I was thinking .. however in fact what I'm doing is [16:34] d0k has joined the channel [16:35] spcshpopr8r has joined the channel [16:35] errordeveloper: on('reloadFile')->Read(file)->Parse(data)->Emit('dataReady') [16:36] devaholic: what is this doing? https://github.com/bnoguchi/everyauth/blob/master/index.js#L41-47 [16:36] sh1mmer has joined the channel [16:36] ninjapig has joined the channel [16:36] errordeveloper: meanwhile I start a webserver and wait for requests, I really think that I don't have to wait for the data while it's being parsed .. [16:37] errordeveloper: i.e. it's basically reloading/parsing the data when the file had been updated [16:37] errordeveloper: but the user really doesn't have to get the same update .. well, I suppose [16:37] saesh has joined the channel [16:37] errordeveloper: that node won't overwrite half of the string .. will it ? [16:37] stagas has joined the channel [16:39] errordeveloper: i.e. two functions will not write/read variable at the same time or am I wrong? [16:39] issackelly_ has joined the channel [16:39] gigawatt has joined the channel [16:39] chrislorenz has joined the channel [16:40] anveo has joined the channel [16:40] errordeveloper: basically I only intend to wait for the event 'dataReady' once at the start-up [16:40] springmeyer has joined the channel [16:40] Aikar: ok thats sorta nice [16:40] Aikar: mt [16:41] Venom_X: errordeveloper, I don't see the problem. Once the 'dataReady' even it emitted, then your file read and parse are complete. What are you worried about? [16:42] caolanm has joined the channel [16:43] errordeveloper: Venom_X: hm, well .. you answered one of the questions already - there is no eventHistory log object of any kind [16:43] kulor-uk has joined the channel [16:43] piscisaureus has joined the channel [16:43] gr-eg has joined the channel [16:44] irahgel has left the channel [16:44] errordeveloper: so I'll just rely on the artifact, i.e. before the event myGlobalVar === '', but after it's not empty anymore [16:45] errordeveloper: but I wonder if there may be a case that when I'm trying to retrive the string, cause it may be quite long - some part of it would be overwritten already .. [16:45] errordeveloper: i.e. I'm trying to figure out how asynchronous Node could be in terms of access to vars [16:45] Venom_X: errordeveloper, test it. My guess is no. [16:45] ayaz has joined the channel [16:46] errordeveloper: Venom_X: you mean that it's very unlikely going to asynchronously overwrite half of my stupidly long string [16:46] errordeveloper: ok [16:46] Venom_X: errordeveloper, as far as I understand, this all works in a single queue. So there are no threads to worry about locking etc. [16:46] errordeveloper: that's what my guess was, just though it would be a good question to ask ;( [16:46] errordeveloper: s/;(/;)/ [16:47] Venom_X: errordeveloper, I'd still test that "Extreme" scenario. [16:47] errordeveloper: sure [16:48] errordeveloper: I might put this on SO, though I would suppose this sort of approach to async desing would be really to dangerouse [16:48] dob_: i am using express, now.js and everyauth. Now i am not sure how i can pass the user information securely to the socket. Thought about passing the user id to the socket, but that will not be very secure, cause the id could be changed. [16:48] errordeveloper: i.e. split writes and reads .. that's just crazy in fact! [16:48] TooTallNate has joined the channel [16:48] igl: reading a string var is synchronous [16:49] maletor has joined the channel [16:50] mike5w3c_ has joined the channel [16:50] perezd has joined the channel [16:50] errordeveloper: igl: kewl, that's all I wanted to hear :) [16:50] greg has joined the channel [16:50] igl: node provides async methods, like buffers and stream, and fs [16:50] springmeyer has joined the channel [16:50] igl: toString indexOf etc etc is all sync [16:51] errordeveloper: igl: and am I right in presuming that array access may be async? [16:51] stagas: errordeveloper: no code runs in sync, no two functions run at the same time [16:51] Margle has joined the channel [16:51] stagas: errordeveloper: only i/o is async [16:51] igl: if you dont provide a callback function its syncronous [16:51] Margle has joined the channel [16:51] firebus has joined the channel [16:52] igl: line by line [16:52] towski has joined the channel [16:52] Aikar: igl: thats a broad and can be wrong statement :P [16:52] firebus: hi node.js [16:52] Aikar: futures for example [16:52] igl: futures? [16:52] firebus: i'm using express. i'd like to log each request to console and to a file. is it possible to do that with connect.logger()? can i set up multiple loggers? [16:52] topaxi has joined the channel [16:52] Aikar: var foo = someAsyncFunc(); [16:52] tjholowaychuk: firebus { stream: streamhere } [16:52] versicolor has joined the channel [16:53] Aikar: the code in someAsyncStarts running [16:53] tjholowaychuk: firebus or redirect stdio [16:53] tjholowaychuk: that's the best way [16:53] gooseus: igl promises or deferred objects == futures [16:53] Aikar: then foo(function(err, val) {// use it somewhere else }); [16:53] firebus: or i could try winston, but i'm not sure if there's an easy way with winston to hook into the route requests? [16:53] tjholowaychuk: firebus no that's lame [16:53] magnetik__ has joined the channel [16:53] firebus: tj: i want to do something more than redirect stdio. if i set the stream, then i no longer get the console logging? [16:53] tjholowaychuk: use tee(1) [16:54] aguynamedben has joined the channel [16:54] JaKWaC has joined the channel [16:54] firebus: also, if i set stream: "filename" life is sad. [16:54] firebus: ugh. [16:54] tjholowaychuk: pass an fs.WriteStream to it [16:54] magnetik__: Hi [16:54] tjholowaychuk: not a filename [16:54] firebus: thanks! [16:54] igl: sigh [16:54] Aikar: errordeveloper: you need to read docs on a func to know if its sync or not. node functions have Sync in their name if they are sync, others expect a callback [16:54] rev087ipad has joined the channel [16:54] firebus: still kills the console - tee() is really the best bet if i want console and file? [16:54] tjholowaychuk: yes [16:54] tjholowaychuk: that's what it's for [16:54] lightcap has joined the channel [16:55] inph0 has joined the channel [16:55] josephboyle1 has joined the channel [16:55] magnetik__: Is there any way to start a node.js application in Eclipse ? (I'm using the VJET plugin) [16:55] langworthy has joined the channel [16:55] Aikar: isnt that a generic feature of eclipse? [16:56] Aikar: specify the interpreter to run the file with some how? [16:56] magnetik__: I have a few things like "VJET Js application" (witch is not used) [16:56] magnetik__: Well if it exists I don't find it [16:56] Sami_ZzZ has joined the channel [16:56] pid_ has joined the channel [16:56] firebus: we're talking tee() in the shell? it's not granular. for example, you want certain log levels to hit the console, but everything in a log file. or different settings depending on NODE_ENV. i suppose i could pipe tee to grep, and write a start up script to call tee correctly depending on NODE_ENV, but i'd rather have that code in the application [16:56] hnan has joined the channel [16:56] madsleejensen has joined the channel [16:56] dshaw_ has joined the channel [16:57] magnetik__: http://img163.imageshack.us/img163/1130/sansrezwi.png here is what I have [16:57] lazyshot has joined the channel [16:57] vidi has joined the channel [16:58] pizthewiz has joined the channel [16:58] Aikar: magnetik__: prolly change node-webid to node [16:58] magnetik__: it's the name of the project, not the executable [16:58] magnetik__: there is no option here where to set the executable. VJET is using some internal thing to run JS [16:59] Aikar: no clue then, i dont use eclipse anymore (use to use aptana but moved on due to eclipse==slow) [16:59] errordeveloper: magnetik__: have you tried this - https://github.com/joyent/node/wiki/Using-Eclipse-as-Node-Applications-Debugger ?? [16:59] magnetik__: I've seen it, but if I want to just run not debug [17:00] magnetik__: well, i'll check again [17:00] `3rdEden has joined the channel [17:00] errordeveloper: magnetik__: what stops you from just opening a terminal widget ? [17:00] magnetik__: Just to be simplier [17:00] magnetik__: and more integrated [17:00] davidascher has joined the channel [17:00] magnetik__: I can start it manually yep [17:00] bnoordhuis: Aikar: YOU'RE SLOW YOURSELF [17:00] Aikar: >:O [17:01] Aikar: I BITE [17:01] errordeveloper: I don't understand, sorry .. I'm a vi user [17:01] bnoordhuis: i would've typed that earlier but i'm using eclipse's built-in irc client [17:01] Aikar: LOL [17:01] DrMcKay: lulz [17:01] magnetik__: lol [17:01] socialhack has joined the channel [17:01] Aikar: the irc client uses 300mb of memory i bet! [17:02] versicolor has joined the channel [17:02] magnetik__: I guess there is no Eclipse fan here [17:02] magnetik__: Thanks for your time anyway ! [17:02] DrMcKay: but it's enterprise-grade! [17:02] Aikar: its just too resource hungry [17:02] davv3: i only use eclipse for the api [17:02] davv3: and oracles lack of [17:02] DrMcKay: ACTION pets his vim [17:02] errordeveloper: magnetik__: I suppose the best bet is to go to #eclipse [17:02] magnetik__: yep [17:02] socketio\test\03 has joined the channel [17:03] Aikar: http://yfrog.com/nyf0mnzj [17:03] blup has joined the channel [17:03] CIA-48: node: 03Ryan Dahl 07 * r6a37183 10/ (14 files in 2 dirs): [17:03] CIA-48: node: Remove cmake build system [17:03] CIA-48: node: This removes one of the three build systems. CMake has never been officially [17:03] CIA-48: node: supported and is not updated with WAF and GYP. WAF itself is considered [17:03] CIA-48: node: legacy and will be removed once the GYP system is feature complete on [17:03] lightcap has joined the channel [17:03] CIA-48: node: Unixes. GYP is used currently on Windows/MSVS. - http://git.io/G8czqg [17:04] errordeveloper: magnetik__: just ask them how do I add custom button/shortcut to pass the file name to a command [17:04] bnoordhuis: bye bye webos, we hardly knew ye *snif* [17:04] jocafa: eclipse makes me stabby [17:04] Aikar: I thought you said stubby... [17:04] jocafa: potentially... [17:04] DrMcKay: I'll try to buy myself some webos device [17:05] errordeveloper: bnoordhuis: oh well, however the moblin guys announced html5 as official new way to go with ui [17:05] errordeveloper: DrMcKay: there some going for 99.99 [17:05] errordeveloper: :) [17:05] michaeldeol has joined the channel [17:05] DrMcKay: errordeveloper: seriously?! where? [17:05] jocafa: we're doing html5 for our mobile stuff here at work. significantly cheaper and easier to maintain than native apps everywhere [17:06] errordeveloper: DrMcKay: have a look ... I got to go now, but if you don't find it, I can find you the link when I get back home :) [17:07] DrMcKay: errordeveloper: I will try to, thanks :) [17:07] errordeveloper: I think it was linuxfoundation.org blog or something ... [17:07] errordeveloper: not to sure ... may be check linuxfordevices.com also [17:07] firebus has left the channel [17:07] topaxi has joined the channel [17:07] patrickgamer has joined the channel [17:07] CIA-48: node: 03Ryan Dahl 07 * ra29421b 10/ CMakeLists.txt : Delete another CMake file - http://git.io/Q0k1vg [17:08] patrickgamer has left the channel [17:08] Aikar: RIP CMAKE [17:08] CIA-48: node: 03Ryan Dahl 07 * r4f4f6df 10/ TODO : Remove old TODO list - http://git.io/K03O9Q [17:08] CoverSlide: ACTION sheds a tear, plays `Taps` [17:09] CIA-48: node: 03Ryan Dahl 07 * rb280a2d 10/ TODO.win32 : Remove ANOTHER old TODO list - http://git.io/uVp8vg [17:09] hij1nx has joined the channel [17:09] Aikar: //cleanup [17:10] CoverSlide: ACTION adds `Remove all TODO lists` to his TODO list [17:11] TheNumb has joined the channel [17:11] StanlySoManly has joined the channel [17:11] equark has joined the channel [17:11] JasonJS: CoverSlide: Error: Can't remove element 'TODO' from undefined. [17:11] fbartho has joined the channel [17:11] metellus has joined the channel [17:12] topaxi has joined the channel [17:12] ryanj has joined the channel [17:12] Morkel has joined the channel [17:13] coreb has left the channel [17:13] equark: noob question: what's the current best practice stack for node.js? I'm thinking express.js and backbone.js. But I am unclear if this is still viewed as a good choice. I'm also less clear on asset packaging, what's the best practice solution there? [17:14] CoverSlide: there are no best practices [17:14] CoverSlide: the project's a bit too young for them [17:14] CoverSlide: express is ind of the standard web framework [17:14] colinclark has joined the channel [17:15] equark: what about asset packaging? browserify? [17:15] colinclark_ has joined the channel [17:15] CoverSlide: if you want mvc, backbone is popular too, but that's only if you really need mvc, and most people don't [17:16] jocafa: ♥ backbone [17:16] CoverSlide: there are lots of options there. browserify is a great tool, and well-used, but far from what I'd call a `best practice` [17:16] airhorns has joined the channel [17:16] mcluskydodallas has joined the channel [17:16] yankov has joined the channel [17:17] jetienne has joined the channel [17:17] ayaz has joined the channel [17:17] equark: well that's what I'm missing, a best practice build tool. I've currently been using python + closure compiler. but i'd prefer an all node.js setup. [17:17] yankov: what's the best tool to monitor node.js application? like number of connected clients, cpu load and all this stuff [17:17] CoverSlide: ender is another one [17:17] bartt has joined the channel [17:18] patcito has joined the channel [17:20] Margle has joined the channel [17:20] dnyy has joined the channel [17:20] Me1000 has joined the channel [17:20] gut4 has joined the channel [17:21] Margle has joined the channel [17:21] sixtus42: bnoordhuis: last dumb question: how do I console output when inside a c++ method? Something is wrong and printf() doesn't seem to work. [17:21] jetienne has left the channel [17:21] Margle has joined the channel [17:21] zombor has joined the channel [17:22] innociv has joined the channel [17:22] Margle has joined the channel [17:22] bnoordhuis: sixtus42: printf() should work, your code probably isn't run [17:22] bnoordhuis: attach it to a debugger and place some breakpoints [17:22] Margle has joined the channel [17:22] zombor: hello, im trying to debug a zombie.js problem. the software im using spawns a node.js server for zombie.js, but I think some exception is causing it to fail. is there any way i can get logs or some kind of output from the server which is in a background process? [17:23] Margle has joined the channel [17:23] Aikar: zombor: did you try feeding it brains? [17:23] zombor: Aikar: i did not. [17:24] zombor: have some handy? [17:24] reid has joined the channel [17:24] Margle has joined the channel [17:24] Margle has joined the channel [17:25] Margle has joined the channel [17:25] akudryk has joined the channel [17:25] equark: forget about best practices: what are the default three choices for asset packages in node? can't really find the links [17:26] devaholic: what asset packages [17:26] Bigblah has joined the channel [17:27] equark: something like jammit for rails [17:27] equark: packages js, css, etc. [17:27] devaholic: i dont know what that is [17:27] devaholic: oh [17:27] equark: basically a glorified build tool [17:27] scott_gonzalez: is this the best way to get the path of the currently running script? path.dirname( process.argv[ 1 ] ) [17:28] devaholic: for js, uglify-js is pretty nifty [17:28] bnoordhuis: scott_gonzalez: __dirname [17:28] devaholic: but it probably depends on what u need to do [17:29] scott_gonzalez: bnoordhuis: thanks [17:29] MatthewS has joined the channel [17:29] albertosh has joined the channel [17:29] CIA-48: node: 03Tomasz Janczuk 07 * r6fadbec 10/ (7 files in 2 dirs): [17:29] CIA-48: node: wix project to create msi installer for windows [17:29] CIA-48: node: Fixes #1706. - http://git.io/Dmb8Lg [17:29] figital has joined the channel [17:30] nyrb has joined the channel [17:30] PatF has joined the channel [17:31] ph^_ has joined the channel [17:31] CoverSlide: uglify-js is great for compressing js files, it's a helluva lot faster than closure and the results are similar [17:31] skm has joined the channel [17:32] nibblebot has joined the channel [17:32] kuebk^ has joined the channel [17:34] yept has joined the channel [17:34] Aiden has joined the channel [17:34] trotter has joined the channel [17:34] chjj has joined the channel [17:35] Manuel_ has joined the channel [17:35] bj0rn2 has joined the channel [17:35] Vertice has joined the channel [17:36] bj0rn2: if I understand correctly v8 now supports "any" size heaps... isn't that big/great news for node? [17:36] mcluskydodallas has joined the channel [17:36] yankov has joined the channel [17:36] ayaz` has joined the channel [17:37] context: bj0rn2: its big/great news for node users that need that size heap. [17:37] context: albeit, most probably dont. [17:38] jerrysv: context: so, me ... [17:38] sixtus42 has left the channel [17:38] eddanger has joined the channel [17:39] Aikar: there is over 9000 people building multiplayer games in node. it can matter there if any get big :P [17:40] ayaz has joined the channel [17:40] jerrysv: in my day, you could run a "giant" multiplayer game in 4 megs or less ... [17:40] dgathright has joined the channel [17:40] nibblebo_ has joined the channel [17:40] Aikar: these days people dont play MUDs :P [17:40] jerrysv: aikar: no comment :) [17:41] JasonJS: Aikar: Speak for yourself :P [17:41] CoverSlide: jerrysv is not people [17:41] CoverSlide: JasonJS is not people [17:41] bradleymeck has joined the channel [17:41] jerrysv: CoverSlide: hmph. [17:41] Aikar: id rather be coding than playing a mud :P [17:41] bradleymeck: what is a clean way to resolve the no leading 0's from jslint when i am using them for file perms... [17:41] jerrysv: ACTION used to boot his muds on his amiga, and liked it. [17:41] Aikar: bradleymeck: '0222' ? [17:42] jerrysv: but, that said, i am happy about the heap increase, as i tend to cache aggressively [17:42] Aikar: time to rewrite mongo in node of course! [17:42] lmorchard has joined the channel [17:42] jerrysv: aikar: please, no. [17:43] jerrysv: gc is still slow, especially when there is a lot in memory [17:43] jerrysv: and javascript to native hasn't really improved all that much that i've seen [17:43] defunctzombie: bj0rn2: link to posting about v8 heap being larger? [17:44] jonaslund: hm [17:44] jonaslund: does people use mongo in-process or out of process mostly ? [17:44] jerrysv: aikar: see: https://github.com/JerrySievert/node-judy [17:44] whitman has joined the channel [17:44] wdbl has joined the channel [17:45] Aikar: jerrysv: sarcasm.youCanHaveThis(); :P [17:45] bj0rn2: defunctzombie: http://code.google.com/p/v8/issues/detail?id=847 [17:45] jerrysv: aikar: just keeping on topic :) [17:45] defunctzombie: bj0rn2: thanks [17:45] CIA-48: libuv: 03Igor Zinkovsky 07 * r4ac1309 10/ (include/uv-private/uv-win.h src/win/winsock.h): fix mingw build - http://git.io/UYH_Mg [17:45] defunctzombie: jerrysv: I wrote something similar to node-judy that let you store whole objects [17:45] defunctzombie: not just strings [17:45] defunctzombie: to get around that 1gb limit :) [17:46] jerrysv: defunctzombie: i was storing whole objects as well, as long as the key was string-based [17:46] jerrysv: and mine was just to play with judy, but found how much faster it could be [17:46] Aikar: jerrysv: why do you export as .Judy if its the only export. why not just module.exports = Judy, then var Judy = require('judy'); then new Judy(); [17:46] jerrysv: defunctzombie: see http://legitimatesounding.com/blog/Faster_sometimes_Associative_Arrays_with_Node_js.html [17:47] MatthewS has joined the channel [17:47] sirdancealot has joined the channel [17:47] jerrysv: Aikar: laziness, it is very far from a production module, pure experimentation [17:47] enmand has joined the channel [17:48] jerrysv: Aikar: i threw the bulk of that together at nodeconf, after polotek's talk [17:48] solidus-river has left the channel [17:49] fmeyer has joined the channel [17:49] chrislorenz has joined the channel [17:49] Aikar: seems like a simple STL map would be a simpler approach, why this judy? [17:50] eldios has joined the channel [17:50] innociv has joined the channel [17:50] defunctzombie: ryah: long live git submodules!! [17:51] defunctzombie: Aikar: because handles die with scope [17:51] Aikar: defunctzombie: what spawned that? ry doesnt use submodules :P [17:51] slaskis: SubStack: hey, know what would be nice in https://github.com/substack/bouncy/blob/master/bin/bouncy.js? A shebang! I was just gonna try it out (it looks awesome) but the cmd is read as bash in my term :P [17:51] jerrysv: judy arrays are built to be much faster -- much faster [17:51] dob_: any ideas how i cann pass session information through now.js? I want to be sure my user is authenticated. [17:51] defunctzombie: Aikar: heh, it was related to a google groups post :) [17:51] Aikar: is ry switching the deps to submodules? [17:51] jerrysv: and this was simply exposing judy arrays directly [17:51] defunctzombie: Aikar: and if you make a persistent handle then you eat away at the heap space [17:51] defunctzombie: Aikar: no [17:51] bnoordhuis: Aikar: never [17:52] jerrysv: aikar: http://judy.sourceforge.net/doc/10minutes.htm [17:52] Aikar: good :P [17:52] Aikar: ACTION bundles all my deps [17:52] balaa has joined the channel [17:52] CIA-48: node: 03Ryan Dahl 07 * r728b040 10/ (3 files in 3 dirs): [17:52] CIA-48: node: Upgrade libuv to 4ac1309 [17:52] CIA-48: node: Fixes #1857 - http://git.io/DVBk5A [17:52] jetienne has joined the channel [17:55] bj0rn2 has left the channel [17:55] baudehlo: W16 looks really neat: https://github.com/sheremetyev/w16 [17:56] jerkelens has joined the channel [17:56] vampi-the-frog has joined the channel [17:56] vampi-the-frog has joined the channel [17:56] tdegrunt has joined the channel [17:57] EvRide has joined the channel [17:57] Skomski has joined the channel [17:57] broofa has joined the channel [17:58] eee_c has joined the channel [17:58] towski has joined the channel [17:59] boaz has joined the channel [17:59] Aikar: hmm [17:59] Aikar: then theres the complication of getting that into node :P [17:59] mmalecki: OK, just in case anybody was wondering, I'm DrMcKay [17:59] Aikar: go away [18:00] Aikar: we want DrMcKay back [18:00] topaxi has joined the channel [18:00] slickplaid: agreed [18:00] slickplaid: stargate reference? [18:00] mmalecki: no, just making it easier for people [18:01] mmalecki: (that's my github handle) [18:01] slickplaid: so DrMcKay wasn't a stargate reference? [18:01] mmalecki: DrMcKay was [18:01] mmalecki: changing nickname wasn't [18:01] HT_ has joined the channel [18:01] slickplaid: gotcha [18:02] Aikar: go back to mckay, he was enjoyable [18:03] kickingvegas has joined the channel [18:03] mmalecki: I know, but, well, it should be easier for people [18:04] mmalecki: ACTION will reconsider this [18:04] Aikar: you can rename your github :P [18:05] sindresorhus has joined the channel [18:06] sindresorhus has joined the channel [18:06] sindresorhus has joined the channel [18:07] sindresorhus has joined the channel [18:08] sindresorhus has joined the channel [18:08] tjholowaychuk has joined the channel [18:08] neilk_ has joined the channel [18:08] sindresorhus has joined the channel [18:08] miccolis has joined the channel [18:09] Fuu has joined the channel [18:09] sindresorhus has joined the channel [18:10] harthur has joined the channel [18:10] jellosea has left the channel [18:10] gsmcwhirter has joined the channel [18:10] darinc has joined the channel [18:10] ambroff_ has joined the channel [18:11] jerkelens has joined the channel [18:11] robi42 has joined the channel [18:12] mmalecki has joined the channel [18:13] jetienne: but only once:) [18:13] jetienne: no typo allowed [18:13] MatthewS has joined the channel [18:14] paul_k has joined the channel [18:15] uchuff has joined the channel [18:15] defunctzombie: anyone gotten node to build using gyp on a 64bit ubuntu system? [18:15] defunctzombie: anything other than the makefile-gyp need to be used? [18:16] ph^ has joined the channel [18:16] defunctzombie: (with clang that is) [18:16] DennisRasmussen: Say I'm creating this irc bot (yes it's been done multiple times before, not the point) and I'd like to create support for bot modules. How would you emit the events to the modules from the main object? Would you have the module register its event listeners to the main object or would you create an API for the main object which modules should react to? [18:17] bnoordhuis: defunctzombie: yes [18:17] rauchg has joined the channel [18:17] robotmay has joined the channel [18:18] DennisRasmussen: if you require a file and then make a change to the file, can you require the file again with the new changes? [18:18] robotmay has joined the channel [18:19] bnoordhuis: DennisRasmussen: yes, clear require.cache [18:19] TheJH: DennisRasmussen, you'll have to manually remove it from the require cache [18:19] DennisRasmussen: Thanks [18:20] DennisRasmussen: Trying to make this application where importing modules can be done without restarting the application [18:20] defunctzombie: bnoordhuis: did you have to do anything to define __x85_64_ for clang? If I try to build with clang using make -f Makefile-gyp I get an error because it is trying to use the wrong file for stubs.h [18:20] Ang3 has joined the channel [18:20] Ang3: hey guys want is the good way to slice arrays in a non blocking way with node ? [18:21] bnoordhuis: defunctzombie: wfm last time i tried it [18:21] darinc has joined the channel [18:21] isaacs has joined the channel [18:22] balaa has joined the channel [18:22] bnoordhuis: defunctzombie: oh, there *is* an issue (i forgot) [18:22] bnoordhuis: it compiles with -m32 by default [18:22] defunctzombie: any reason why? [18:22] stagas: Ang3: use process.nextTick [18:23] bnoordhuis: defunctzombie: because chrome only has 32 bit builds, i think [18:23] bnoordhuis: i stripped the -m32 switches out but the last v8 upgrade probably undid that [18:23] bnoordhuis: *stripped out the [18:23] defunctzombie: ah [18:24] gregeh has joined the channel [18:25] Skomski has joined the channel [18:25] Ang3: hum stagas how can i do that ? [18:26] kurokikaze has joined the channel [18:26] kurokikaze: hello all [18:27] bnoordhuis: Ang3: counter question: why would you want to do that? [18:27] kurokikaze: I have a problem with Zlib module [18:27] kurokikaze: it doesn't seem to do anything [18:27] langworthy has joined the channel [18:27] Ang3: lol bnoordhuis simple answer : bcz i dunno how :) [18:27] Ang3: literaly [18:28] CIA-48: node: 03Ryan Dahl 07 * r53c163c 10/ (3 files in 3 dirs): Disable test-child-process-custom-fds.js - http://git.io/7Ivk0g [18:28] bnoordhuis: Ang3: slicing an array is not a cpu intensive operation, no need to do it async [18:28] bnoordhuis: kurokikaze: can you be a little more specific? code gist, say? [18:29] kurokikaze: bnoordhuis: https://github.com/kurokikaze/BlackStone/blob/zlib-native/server.js#L37 [18:30] Ang3: ok, but it's a blocking way no ? [18:30] kurokikaze: it's a calculation task, why would it be asynchronous? [18:31] Ang3: hm [18:31] aguynamedben_ has joined the channel [18:31] Ang3: k [18:31] dguttman has joined the channel [18:32] stagas: Ang3: it will block but for a very short period. if you're not slicing 1000+ arrays with 1000+ of items, 1000+ times then you don't need nextTick [18:32] Ang3: no i don't :p [18:32] Ang3: i'll do in the regular way then yes ! [18:32] aheckmann has joined the channel [18:32] Ang3: thx stagas bnoordhuis [18:32] stagas: Ang3: for reference, process.nextTick allows you to schedule functions to run in the next event loop, so you can do tasks like this in pieces [18:34] bnoordhuis: kurokikaze: the zlib bindings do their work async [18:34] aguynamedben_ has joined the channel [18:34] zombor has left the channel [18:35] siculars_ has joined the channel [18:35] bnoordhuis: kurokikaze: more specifically, that line creates a zlib object but doesn't do any actual compression [18:35] xetorthio has joined the channel [18:36] fairwinds has joined the channel [18:37] jtrudeau has joined the channel [18:37] akudryk has left the channel [18:37] dob_: can i check if the user has a valid session via now.js? [18:37] gut4 has joined the channel [18:39] sh1mmer has joined the channel [18:40] franciscallo has joined the channel [18:42] hnan has joined the channel [18:42] CarterL has joined the channel [18:42] AvianFlu has joined the channel [18:44] kulor-uk has joined the channel [18:44] rauchg has joined the channel [18:46] kurokikaze: bnoordhuis: api docs doesn't really help here :) I'll try to use it as a stream [18:46] bnoordhuis: kurokikaze: it's not documented atm, you'll have to read the source [18:47] CIA-48: libuv: 03Igor Zinkovsky 07 * r40b64a8 10/ src/win/fs.c : windows: don't alloc readdir buffer for empty dirs - http://git.io/J2wsbg [18:48] stepheneb has joined the channel [18:48] jerrysv: ryah: does this mean we're close to 0.6? [18:48] tilgovi has joined the channel [18:48] bnoordhuis: jerrysv: close-ish yes [18:49] jerrysv: bnoordhuis: awesome [18:49] jstash: API-stable? [18:49] bnoordhuis: jstash: stable-ish yes [18:49] bnoordhuis: stable if no major bugs are found [18:50] bnoordhuis: s/bugs/shortcomings/ [18:50] mmalecki: bnoordhuis: but it'll change in 0.8, right? [18:50] jstash: good enough for me. :) [18:50] bnoordhuis: mmalecki: what will? [18:50] mmalecki: I want changing API! stable APIs are boring [18:50] mmalecki: bnoordhuis: API [18:50] bnoordhuis: oh that [18:50] ryah: https://groups.google.com/d/msg/nodejs-dev/1z4PTv7fHro/8x1KtRXOcCEJ [18:50] bnoordhuis: 0.8 will be written in dart [18:50] mmalecki: lulz [18:50] jstash: i really should subscribe to that list. [18:50] jstash: except i hate email. [18:50] jstash: ACTION ponders what's worse. [18:51] jstash: or do Groups work with Plus? [18:51] lz has joined the channel [18:52] mmalecki: is new assert() an API change? [18:52] jerrysv: bnoordhuis: dart, then compiled to js and run on top of v8? sounds sexy [18:52] lmatteis has joined the channel [18:52] mmalecki: technically, it is, but it isn't breaking [18:52] lmatteis: hello [18:52] lmatteis: what's a good irc library for node? [18:52] mmalecki: ryah: should I include it in this document? [18:52] balaa_ has joined the channel [18:52] N0va` has joined the channel [18:52] jhurliman has joined the channel [18:53] mmalecki: yeah, nvm, I will [18:53] bnoordhuis: mmalecki: no need [18:53] bnoordhuis: it's not a true api change, it doesn't break existing code [18:53] bnoordhuis: well... unless there is code out there that assumes typeof assert === 'object' [18:53] defunctzombie has joined the channel [18:54] ryah: mmalecki: yes [18:54] Ang3: back with my arrays pb :) is it possible to get indexOf an object ? [18:54] mmalecki: done :) [18:54] Ang3: in a array fill with obj [18:54] wdbl: hello - I'm just getting started with node on Debian squeeze. Is everyone pretty much installing from github master trunk? Or, should I start with stable 4.12? [18:55] `3rdEden: start with stable wdbl [18:55] `3rdEden: it's called stable for reason... [18:55] wdbl: ok I'll accept that :) [18:55] wdbl: ty [18:55] ryah: mmalecki: thanks [18:56] mmalecki: ryah: :) [18:56] slickplaid: im using v0.8.2 of nodejs that i downloaded from thepiratebay [18:56] mmalecki: appendMessage disappeared as well, IIRC [18:57] tdegrunt_ has joined the channel [18:57] paulwe has joined the channel [18:58] RORgasm has joined the channel [18:58] narayan82 has joined the channel [18:59] HardPhuck has joined the channel [18:59] solidus-river has joined the channel [18:59] solidus-river: hey guys i'm new to node.js and trying to get js2coffee working, however it just hangs [19:00] solidus-river: it installs fine then when running it hangs like none other and produces no output [19:00] inder has joined the channel [19:01] sirdancealot has joined the channel [19:01] robi42 has joined the channel [19:01] mbrevoort has joined the channel [19:02] jaequery: what do you guys prefer, 2 space tabs, or 4 space tabs? [19:02] mmalecki: 2 spaces [19:02] bnoordhuis: 2 [19:02] mmalecki: no tabs [19:02] DennisRasmussen: 4 [19:03] mmalecki: FIGHT! [19:03] jstash: smart-tabs! (j/k) [19:04] MatthewS has joined the channel [19:04] jerrysv: 2 spaces [19:04] jerrysv: no tabs [19:04] shanebo: hey guys, does connect's static middleware not set the proper headers for static assets? [19:05] diogogmt has joined the channel [19:05] solidus-river has left the channel [19:06] CIA-48: node: 03Ben Noordhuis 07 * r49c3a91 10/ doc/api/child_processes.markdown : docs: fix typo in code snippet - http://git.io/_rE7nA [19:06] sirdancealot has joined the channel [19:06] drudge: Guest54968:real pimps use 2 spaces [19:06] drudge: and apparently fail at tab completion [19:07] Tobsn has joined the channel [19:11] defunctzombie: why is customFds to child_process.spawn deprecated? [19:11] darinc has left the channel [19:11] bnoordhuis: defunctzombie: because you don't have file descriptors on windows [19:12] jbpros has joined the channel [19:12] ppcano_ has joined the channel [19:12] defunctzombie: bnoordhuis: does this mean that it will also be deprecated for fork? [19:13] defunctzombie: what if I want to capture the output? [19:13] xy has joined the channel [19:13] ppcano_ has joined the channel [19:13] ppcano has joined the channel [19:13] dob_: I need some help with accessing a cookie with express and nowjs.http://pastebin.com/Mq6NfkZU [19:14] ppcano has joined the channel [19:14] ppcano_ has joined the channel [19:14] bnoordhuis: defunctzombie: you still have streams, you just can pass in arbitrary fds any more [19:14] ppcano has joined the channel [19:15] ppcano_ has joined the channel [19:15] digman543 has joined the channel [19:15] defunctzombie: gotcha [19:15] ppcano has joined the channel [19:16] ppcano has joined the channel [19:16] jarek has joined the channel [19:16] ppcano has joined the channel [19:17] ppcano__ has joined the channel [19:17] ppcano__ has joined the channel [19:17] sarlalian1 has joined the channel [19:18] trose: hey so I'm trying to work with some large files in node.js. Right now I'm using Formidable to transfer a file into node.js but this isn't ideal for my end product. I'd like to have a system where I can simply pipe a file to the socket and then somehow compile it into one string and feed that to my scripts. Does anyone know a good way to do this? [19:18] tjholowaychuk has joined the channel [19:18] poppiez has joined the channel [19:19] poppiez: hi, I'm creating a pageflipper using HTML+JS+CSS. when downscaling images they get kind of blurry. so I thought of using node.js to resize images on the fly to fit the viewport. would that be a proper solution? [19:20] xerox: maybe using a canvas [19:20] MrNibbles has joined the channel [19:20] xerox: for the whole thing [19:20] poppiez: xerox: has to work in IE as well ;-) [19:20] eddyb has joined the channel [19:21] xerox: I'm sorry! [19:21] eddyb: just looked at the Dart VM [19:21] eddyb: here's the API: https://code.google.com/p/dart/source/browse/branches/bleeding_edge/dart/runtime/include/dart_api.h [19:21] stagas has joined the channel [19:21] dob_: I have the cookie sid and how can i now get the whole cookie with express? [19:21] eddyb: more C-like than V8 [19:21] xerox: dob_: you already have the whole session with req.session [19:22] tjholowaychuk has joined the channel [19:22] xerox: no need to do the lookup yourself [19:22] mmalecki: is defining "-DEV_MULTIPLICITY=0" the right way to get rid of undefined symbol error? [19:23] balaa_ has joined the channel [19:23] dob_: xerox: Sorry, i have only the id, cause i am in the now.js function context. [19:23] tjholowaychuk: dob_ i recently added Store#load(sid, fn) [19:23] ppcano has joined the channel [19:23] magnetik__ has joined the channel [19:23] ppcano has joined the channel [19:24] ppcano has joined the channel [19:24] ppcano__ has joined the channel [19:24] sirdancealot has joined the channel [19:25] shanebo: tjholowaychuk, does connect's static middleware set proper headers on static assets? [19:25] tjholowaychuk: shanebo yes [19:26] drudge: tjholowaychuk: have you used populate() with mongoose 2? [19:26] tjholowaychuk: nope [19:26] shanebo: tjholowaychuk hmmm, weird. All my images are showing as 'text/plain' [19:26] CIA-48: libuv: 03Roman Shtylman 07 * ra3d1f6f 10/ (6 files in 5 dirs): [19:26] CIA-48: libuv: add uv_udp_set_membership for unix multicast support [19:26] CIA-48: libuv: - test-udp-multicast-join tests that multicast packets can be received [19:26] CIA-48: libuv: - stub src/win/udp.c until support added - http://git.io/JoQUpw [19:26] drudge: i have some questions for guille then :P [19:26] tjholowaychuk: shanebo that's odd, the default content-type is based on the extension so it should be fine [19:27] errordeveloper has joined the channel [19:28] ppcano has joined the channel [19:28] hdon has joined the channel [19:28] ppcano has joined the channel [19:28] dob_: tjholowaychuk: Not express.session.Store.get(sid, function)? [19:28] euforic has joined the channel [19:28] inpho has joined the channel [19:28] shanebo: tjholowaychuk http://cl.ly/1K2l310T3f011p3X3A34 [19:29] tjholowaychuk: dob_ nope that's slightly different [19:29] tjholowaychuk: shanebo hmm wtf [19:29] defunctzombie: bnoordhuis: cool, thanks. I will do the setTTL and loopback methods as well to bring feature parity back for those that want it [19:29] bnoordhuis: defunctzombie: cool, thanks [19:30] stbg has left the channel [19:30] Renegade001 has joined the channel [19:30] shanebo: tjholowaychuk, i'm on node 0.4.12 and connect 1.7.1 [19:31] shanebo: tjholowaychuk it looks like it's only a problem with all image type [19:31] shanebo: types [19:32] tjholowaychuk: what does curl -i output? [19:32] tjholowaychuk: make sure it's not a chrome bug [19:32] shanebo: tjholowaychuk http://cl.ly/3h0U1R2m2G3D022e0C2f [19:32] shanebo: I'm in Safari btw [19:33] tjholowaychuk: curlll [19:33] ppcano_ has joined the channel [19:33] tjholowaychuk: works fine for me [19:33] shanebo: tjholowaychuk, is this IP, mine? [19:33] tjholowaychuk: Content-Type: image/png [19:34] ppcano_ has joined the channel [19:34] dob_: tjholowaychuk: This doesn't seem to work express.session.store.load(this.user.cookie['connect.sid'], function (error, session) { [19:34] shanebo: tjholowaychuk http://cl.ly/1T092V360u1X1f313I2b [19:34] ppcano_ has joined the channel [19:35] tjholowaychuk: dob_ it has to be an instance of the store [19:35] tjholowaychuk: so say you have { store: new RedisStore } [19:35] tjholowaychuk: do var store = new RedisStore; store.load(...) [19:35] ppcano has joined the channel [19:36] dob_: i thought express.session.Store points to a default memory store. [19:36] tjholowaychuk: no [19:36] tjholowaychuk: that's a constructor [19:37] CIA-48: libuv: 03Ben Noordhuis 07 * racc98ca 10/ (test/test-list.h test/test-spawn.c): test: uv_process_kill(proc, 0) should not kill the process - http://git.io/AbFPHw [19:37] CIA-48: libuv: 03Ben Noordhuis 07 * ra3d495c 10/ src/win/process.c : win: make uv_process_kill(proc, 0) report process status - http://git.io/FhXeDQ [19:38] bnoordhuis: mmalecki: ^ [19:38] mmalecki: bnoordhuis: thank you! :) [19:39] creationix|work has joined the channel [19:39] Morkel has joined the channel [19:40] stagas has joined the channel [19:42] alex_____ has joined the channel [19:42] deedubs has joined the channel [19:42] Xano has joined the channel [19:42] harthur has joined the channel [19:45] whse has joined the channel [19:45] TomY has joined the channel [19:45] CIA-48: node: 03Fedor Indutny 07 * r178e2ce 10/ (3 files): docs: improve addons, readline, repl documentation - http://git.io/S7O65A [19:45] whse: Hello, anyone familiar with the crypto core module in 0.4.2 ? [19:46] Aikar: ugh... why does fd passing support over unix pipes and cp.spawn customFds need to be removed? why not leave it there so the people who run node on sane systems can use it... [19:46] bnoordhuis: whse: yes - but please note that 0.4.2 is ancient by now [19:46] wbw72 has joined the channel [19:46] bnoordhuis: crypto has undergone *a lot* of changes since [19:47] neilk_ has joined the channel [19:47] whse: I'm aware, but that's what I've got on my ArchLinux ARM plug at the moment, and my code appears to be functional in either. [19:47] bnoordhuis: Aikar: because we don't want to maintain two code bases, one legacy, one libuv [19:47] Aikar: bnoordhuis: alot of changes in stable? lol [19:47] bnoordhuis: Aikar: lots of bug fixes [19:47] Aikar: ah [19:47] Aikar: bnoordhuis: why not put the support in libuv under preprocessor flags? [19:48] Aikar: removing fd passing kills alot of implementation potential [19:48] mwillhite has joined the channel [19:48] mcluskydodallas has joined the channel [19:48] bnoordhuis: Aikar: it's not gone - it just works differently now [19:48] bnoordhuis: cross-platform, for one [19:48] Aikar: You can no longer send a file descriptor through a unix pipe. Instead you can send a handle via child_process.fork. [19:49] Aikar: makes it sound like it can only be done on process creation [19:49] liquidproof has joined the channel [19:49] bnoordhuis: check out the ipc stuff in libuv, that's the new fd passing [19:49] whse: ok, then in relation to the crypto, and using the cipher API with aes-192-cbc .. I stare at WTF from issues getting GNTP implemented with encryption [19:50] xerox: https://github.com/mncaudill/flickr-conduit [19:50] AphelionZ has joined the channel [19:51] Yuffster__work has joined the channel [19:51] AphelionZ: If I use express in my project does it have access to connect.utils? I need to use the parseCookie function but I dont feel like I should have to require('connect') if I'm already requiring express [19:51] Aikar: bnoordhuis: ok so i see you pass the "fd" with .send() [19:52] Aikar: on nix handle==fd essentially right? [19:52] bnoordhuis: it wraps the fd, yes [19:52] tjholowaychuk: AphelionZ yes you do lol [19:52] tjholowaychuk: it's a module [19:52] tjholowaychuk: you require modules [19:52] AphelionZ: yeah i see that here http://www.danielbaulig.de/tag/express/ [19:52] AphelionZ: alright [19:53] AphelionZ: was just hoping express would have access to that one function, but its coo [19:53] tjholowaychuk: AphelionZ though i dont think some of that post applies anymore [19:53] FireCat has joined the channel [19:53] AphelionZ: I really only need parseCookie so I *think* that I can just use the first line in his second code example [19:53] balaa has joined the channel [19:53] AphelionZ: I'll try it and report back [19:54] tjholowaychuk: i have socket.io sessions [19:54] tjholowaychuk: without any of that [19:54] AphelionZ: oh interesting [19:54] AphelionZ: here let me show you what I'm doing then - you can probably show me a better way [19:55] AphelionZ: http://pastie.org/2678905 [19:55] zemanel has joined the channel [19:55] Aikar: bnoordhuis: https://github.com/joyent/node/blob/master/lib/child_process_uv.js#L81 [19:55] Aikar: this could be slightly improved for performance [19:56] AphelionZ: I'm storing the session.id in the db and when I need to do something with the socket I'm just matching the cookie to the db for some extra security [19:56] guidocalvano has joined the channel [19:56] Aikar: https://github.com/aikar/wormhole/blob/master/lib/wormhole.js#L59 [19:56] stagas has joined the channel [19:57] Aikar: theres no reason to modify the buffered string until you know your done reading all messages, incase you get more than 1 message on a buffer [19:58] AphelionZ: I was doing it based off this answer here http://stackoverflow.com/questions/4641053/socket-io-and-session/4755045#4755045 but that's like 10 months old now lol [19:58] Aikar: i guess i can submit a pull req to improve it [19:58] bnoordhuis: Aikar: yes :) [19:59] Aikar: is there a git-command way to fully resync your fork to be exactly like the project you forked off, or is delete/refork the best way? [19:59] Aikar: cause i think i littered up my node fork before i learned git better [19:59] jesusabdullah: reset --hard maybe? [19:59] Aikar: that does your working index [20:00] Aikar: i meant like branches, abandon unmerged commits, etc [20:00] jesusabdullah: oh [20:00] creationix|work has left the channel [20:00] jesusabdullah: re-clone, push --force [20:00] jesusabdullah: maybe? [20:00] Aikar: yeah hmm that should do it [20:01] Aikar: i keep trying to type :ry/node [20:01] gut4 has joined the channel [20:01] Aikar: ACTION /OG [20:02] hotch has joined the channel [20:02] Aikar: hmm [20:02] Aikar: maybe i was in sync [20:03] Aikar: it didnt say anything about forced update [20:03] KaL__ has joined the channel [20:03] Aikar: >>> git push --force [20:03] Aikar: Total 0 (delta 0), reused 0 (delta 0) [20:03] Aikar: To github:aikar/node 4cc0a08..178e2ce master -> master [20:03] bnoordhuis: Aikar: git pull --rebase && git reset --hard origin/master [20:03] mwillhite has left the channel [20:03] magnetik_ has joined the channel [20:03] bnoordhuis: and then simply force-push everything to your repo [20:03] Aikar: i just git cloned joyent/node, edit .git/config to be aikar instead of joyent, then git pushed [20:03] CIA-48: node: 03Ryan Dahl 07 * rd2b8037 10/ (test/disabled/test-sendfd.js test/simple/test-sendfd.js): disable test-sendfd - http://git.io/KoEV_w [20:04] mmalecki: Aikar: aww. that's not how it should be done [20:04] stagas_ has joined the channel [20:04] Aikar: lol [20:05] mmalecki: Aikar: http://help.github.com/fork-a-repo/ [20:06] Aikar: mrmckay: (damn you making me manually type it) my repo was (thought to be) dirty and i wanted to just be at a clean state now that I understand how to properly work with git [20:06] deedubs has joined the channel [20:07] Aikar: /sanick mmalecki MrMcKay [20:07] mmalecki: lulz [20:07] mmalecki: Aikar: why u hatin' on mmalecki? [20:07] vineyard has joined the channel [20:07] mmalecki: it's just meant to be easier for people [20:08] Aikar: cause rodney mckay was a cooler name! [20:08] nibblebot has joined the channel [20:08] AvianFlu: is /sanick "set alias nick"? [20:08] AvianFlu: I've not seen that one before [20:08] Aikar: its an ircop command to force a nick change [20:08] Aikar: at least on Anope services [20:08] Aikar: err Unreal IRCd* thats ircd level command, not services [20:09] Aikar: /sanick potato MyTabstopIsZero [20:09] jacobrask has joined the channel [20:09] Aikar: [04:09:00pm] -OperServ(services@services.ffochat.com)- The nick potato is now being changed to MyTabstopIsZero. [20:09] Aikar: [04:09:00pm] -!- potato is now known as MyTabstopIsZero [20:09] dhasenan_ has joined the channel [20:09] davidsklar has joined the channel [20:09] Aikar: he doesnt indent his code >_> [20:09] Aikar: we give him alot of crap for it lol [20:10] Aikar: and he codes in VB [20:10] Daegalus: wow, sounds like he has go back to the basics [20:10] Aikar: i think he partially does it for job security lol [20:10] githogori has joined the channel [20:10] Daegalus: job security? [20:10] Aikar: noone would be able to take over his code... [20:10] Daegalus: oh [20:11] Daegalus: Unless you just run it through a Tidy like formatter [20:11] Daegalus: or Ctrl E,C in Visual Studio [20:11] Aikar: someone wrote a code beautifier for VB? what a waste of time :P [20:11] Daegalus: Its built in :P [20:11] Aikar: i wonder if i can trick him into pressing Control ECS [20:11] Daegalus: well EC is for Resharper [20:12] Daegalus: i forget the default combo [20:12] Aikar: S for save [20:12] Daegalus: for VS's [20:12] xy has joined the channel [20:12] Aikar: oh [20:12] CIA-48: node: 03Ryan Dahl 07 * rbe0bb2d 10/ (15 files in 3 dirs): Remove net_legacy timers_legacy - http://git.io/zu1IWQ [20:13] Aikar: man its a miserable day today [20:13] Aikar: hope it stop sraining before i leave [20:13] Daegalus: http://stackoverflow.com/questions/1435691/visual-studio-format-entire-file CTRL+K,D seems valid [20:13] Aikar: had to park far from building due to traffic this morning >< [20:13] Daegalus: its been raingin all week here [20:13] dob_: tjholowaychuk: sessionStore.load(this.user.cookie, function(error, session) { error and session are both empty. sessionStore has sessions, this.user.cookie is filled with the correct id [20:15] Aikar: he pasted code the other day that was formatted and looked respectable outside the fact it was VB, and i almost cried in joy. but then he started bashing the code [20:15] Aikar: it wasnt his [20:15] swick has joined the channel [20:16] zipR4ND has joined the channel [20:16] zipR4ND: hi all, trying to hack node.js for freebsd-arm, i get one error which i just cannot explain: http://pastebin.com/9CmLSDQm [20:16] CIA-48: node: 03Ryan Dahl 07 * r96e423a 10/ (10 files in 3 dirs): Remove child_process_legacy - http://git.io/IMttGQ [20:16] stagas has joined the channel [20:17] er1c_ has joined the channel [20:19] i42n has joined the channel [20:19] whse: zipR4ND: this is a common issue on arm, as snapshot likes to make ARM barf like hell. [20:20] zipR4ND: whse: ok, so how do i get around it? [20:20] zipR4ND: (and what is barf?) [20:20] Aikar: ... [20:20] Aikar: dont google it [20:21] whse: see our discussion from ArchLinux ARM forums http://archlinuxarm.org/forum/viewtopic.php?f=15&t=1694 [20:21] bnoordhuis: only when combined with 'japanese girls' [20:21] Aikar: lol... [20:21] bnoordhuis: zipR4ND: you probably need to compile with --without-snapshot [20:21] CoverSlide: barf is when tubgirl wants to have a lemonparty with two girls and a cup [20:21] CIA-48: node: 03Ryan Dahl 07 * r58e892d 10/ (10 files in 3 dirs): Remove dns_legacy - http://git.io/g97BBg [20:22] jldbasa has joined the channel [20:22] zipR4ND: ok, ill try, thx [20:22] trose: hey all I need to save data into a file. I'm concerned about writing to a static location since node.js may simulate multiple threads [20:22] whse: oh good, im not /that/ ancient. I'm actually on 0.4.11 [20:22] trose: is there an easy solution? [20:23] Brandon_R has joined the channel [20:23] Brandon_R: Hello guys [20:23] Brandon_R: what's new? [20:23] Aikar: trose: what? you can save data to file just fine o.o [20:23] josdehar has joined the channel [20:23] bnoordhuis: zipR4ND: let me know if it works, arm+freebsd is kind of troublesome [20:24] Brandon_R: w00t [20:24] vicapow has joined the channel [20:24] vicapow: anyone from pittsburgh using node.js? [20:24] Brandon_R: seems like an update for nodejs is coming soon [20:24] Brandon_R: ryan just removed all the legacy modules :) [20:24] Aikar: yep [20:24] trose: Aikar, would there be problems if multiple events are triggered that access the file? [20:24] Aikar: he just posted .6 is near [20:24] Brandon_R: where? [20:24] Brandon_R: twit? [20:24] Aikar: trose: node is single threaded [20:24] FireCat has joined the channel [20:24] Aikar: groups [20:24] Aikar: http://groups.google.com/group/nodejs/browse_thread/thread/baee2683db27f7a7# [20:25] josdehart has joined the channel [20:25] toabi has joined the channel [20:26] Brandon_R: cool [20:26] jacobolus has joined the channel [20:26] jakehow has joined the channel [20:26] Brandon_R: still need to remove dgram_legacy [20:26] Aikar: subscribing to the group for digest emails is a great way on keeping up on everything going on [20:26] defunctzombie: bnoordhuis: honestly, not sure I know how to best test loopback or ttl in a single process setup. My first thought is to capture the raw packet and look at the ttl field. [20:26] Aikar: and nodejs-dev [20:26] CIA-48: node: 03Ryan Dahl 07 * r71cce3f 10/ (5 files in 3 dirs): Remove dgram_legacy - http://git.io/OT5JOw [20:27] Aikar: haha [20:27] Aikar: there you go [20:27] chjj: so is every lib statically linked in the windows node executable? anyone know? just curious [20:27] errordeveloper has joined the channel [20:27] Aikar: chjj: yes [20:27] chjj: k, figured it would be [20:27] bnoordhuis: defunctzombie: well, maybe not ttl [20:27] Brandon_R: lol [20:27] Brandon_R: he just did it [20:27] Brandon_R: i love social coding [20:27] Aikar: openssl might not be... i dont think it is on nix, since its optional [20:27] bnoordhuis: defunctzombie: you can have test helpers that run in another process btw [20:27] Brandon_R: GIT FTW [20:27] chjj: trying to convince a client to use node on a windows server, and i said it was easy to install ;) [20:28] Aikar: precompiled binaries are distributed, so download, and run, :P [20:28] whse: Anyone happen to know which padding is used by node in aes-192-cbc ? [20:28] aguynamedben_ has joined the channel [20:28] jhurliman: has anyone had success running http+https servers in one process with express+cluster? [20:28] trose: aikar: oops my mistake... what's the term for the way node runs? IIRC it has callbacks and multiple instances of a callback can be running at once [20:28] heavysixer has joined the channel [20:30] aguynamedben has joined the channel [20:30] stagas: Ang3: well, I added a .slice to my nexttick lib if you still need it https://github.com/stagas/nexttick [20:30] Aikar: trose: async i/o. I dont know what would happen if you opened a file multiple times and wrote to it, im sure node has proper mutexes and such in that regard though [20:30] Aikar: trose: and only 1 line of javascript code will be running at a time in a process [20:31] skm has joined the channel [20:31] whse: trose: I dont think you'd ever actually have multiple callbacks running at the exact same time, just /really/ close together. Single thread for = 1 step at a time after all [20:31] Aikar: with the evented model, its that it constantly unwinds the stack and r [20:31] fennec: "multiple instances of a callback can be running at once"? yeah, that's not really the case [20:31] trose: okay [20:31] trose: i misunderstood [20:31] trose: :P [20:31] zipR4ND has left the channel [20:31] fennec: :) [20:31] bnoordhuis: whse: pkcs5 [20:31] trose: you don't learn unless you say a few stupid things first right? [20:32] Aikar: in synchrnous styles, if : is an event loop and | is a function call and white space is dead time its doing nothing [20:32] Aikar: your call stack may look like this [20:32] fennec: no need to get defensive :) it's ok. [20:32] whse: arg... wtf then... encodes/decodes fine in node, but C# end at the reciver (GfW w/ GNTP) shits the bed on it [20:32] toabi has left the channel [20:32] Aikar: :||||| || || [20:32] Aikar: in async, its [20:32] Aikar: :|||| [20:32] Aikar: ://do other stuff [20:32] Aikar: :| [20:32] whse: thanks bnoordhuis .. I'll keep huning with the lead dev @ GfW [20:32] Aikar: :||// pick up those 2 bars after the call returned [20:32] Aikar: : [20:33] Aikar: :|| pickup final 2 bars [20:33] trose: okay [20:33] bnoordhuis: whse: make sure you don't mix strings and buffers (the crypto module is kind of awkward in that respect) [20:33] CoverSlide: GfW? [20:33] whse: Growl for Windows [20:33] whse: and technically now Growl on a Mac now runs GNTP too [20:33] skoom has joined the channel [20:33] Aikar: id like a nice growl implementation for ubuntu that isnt the crappy libnotify :| [20:34] trose: thanks for the info :) [20:34] kuebk^: stupid question [20:34] kuebk^: while debuging [20:34] kuebk^: how can i print anything out [20:34] kuebk^: in c [20:34] kuebk^: printf [20:34] kuebk^: doesn't print [20:34] Ang3: gotta check this tomorrow stagas thx ! [20:34] Aikar: you gotta use the version that lets you pass a stream [20:34] Aikar: and pass it STDOUT/STDERR [20:34] jstash: fprintf(stderr,...) [20:34] Aikar: ry told me it before, i cant remember [20:34] Aikar: yeah that [20:34] kuebk^: k [20:34] kuebk^: was printing to stdout [20:35] Bonuspunkt has joined the channel [20:35] whse: bnoordhuis: take the input string and turn it into a buffer of utf prior to cipher.update() [20:35] hydrozen has joined the channel [20:35] Aikar: im not sure WHY printf doesnt print to stdout though [20:35] Brandon_R: hey guys [20:35] Brandon_R: anyone know of the google dart talk introduction is up yet? [20:35] Aikar: ACTION ducks [20:36] whse: Aikar: that's what I'm working on for node [20:36] stagas has joined the channel [20:36] Aikar: whse: working on what? [20:36] whse: native GNTP support, so far so good, until I hit ^&(^^$ crypto problems [20:36] Aikar: oh [20:37] Aikar: but what about displaying a nice fancy popup for it in ubuntu? :P [20:37] whse: in the end it will be able to send/receive them for najs [20:37] dthompso99: is there a C++ equivelent to process.nextTick? [20:37] whse: Aikar: snarl with growl bridge ? [20:37] Aikar: but yeah crypto is a pain i had to mess with it to match encryption to a php system [20:37] Aikar: was a pain [20:38] natebeck has joined the channel [20:38] parshap has joined the channel [20:38] whse: this: bnoordhuis & Aikar http://www.growlforwindows.com/gfw/help/gntp.aspx#security [20:39] Aikar: whse: are you encrypting/decrypting or hashing? [20:39] Aikar: hashes are simple [20:39] whse: yes, hashes are :p [20:39] whse: they work. [20:39] whse: its the encrypting bit. [20:40] whse: GNTP supports : AES, specifically aes-192-cbc, DES, and 3DES [20:40] Xano_ has joined the channel [20:40] balaa has joined the channel [20:40] bnoordhuis: whse: does it work with `openssl s_client`? [20:40] whse: everything is all well and good inside of node, but send that across the wire and BOOM [20:41] whse: ? [20:41] fermion has joined the channel [20:41] nibblebo_ has joined the channel [20:41] Aikar: whse: https://gist.github.com/1279367 thats what I did for DES-CBC [20:42] bnoordhuis: whse: can you connect from the command line with `openssl s_client`? [20:42] Aikar: dont ask me about pad... thats how some other coworker defined it in php and i have no clue why he went to all that effort, but i said screw it ill copy it just incase he had reason [20:42] whse: manually padded? [20:42] whse: or pre-padded ? [20:42] Aikar: the func calls a pad func [20:43] jhurliman: dthompso99, sort of, sleep(0); [20:43] CIA-48: node: 03Ryan Dahl 07 * rcdf5d91 10/ (12 files in 3 dirs): Remove tty_legacy - http://git.io/uHJcUw [20:43] Aikar: oh forgot to strip a urlencode [20:43] Aikar: but that should give you the gist of it [20:43] whse: Aikar: yeah, you're pre-padding [20:43] Aikar: that code let me match up with a PHP endpoint [20:44] jhurliman: that will cause the current thread to yield. it's not quite the same though, because process.nextTick() will put a function to execute in the event queue and keep executing the current function, while sleep(0) yields the current thread [20:44] jhurliman: to get the exact behavior in C++ you would need an event queue model [20:45] liar has joined the channel [20:47] ehisme has joined the channel [20:47] whse: nope.. [20:48] ehisme has left the channel [20:48] dthompso99: jhurliman: cool, thanks... was hoping v8 or node provided some sort of access to the event queue [20:49] Wizek-other has joined the channel [20:50] jhurliman: v8 is not aware of the event queue... in the latest versions of node the event queue is implemented in libuv which is bolted into node. i think there is access to queueing up events but you would have to peek at the process.nextTick() source code to see how they do it [20:51] rhymes has joined the channel [20:52] dthompso99: guess I'll implement that part in JS =) just seemed silly to go back and forth between j and c so many times [20:53] hotch has joined the channel [20:53] AvianFlu: going back and forth between js and c is what you should avoid, it's the expensive part of the situation [20:53] mcluskyd_ has joined the channel [20:53] hotch: is it possible to test an express instance within a vows batch? [20:53] Aikar: google needs to make the new groups interface default. im tired of opting in to the new interface yet every time i go back to groups im back on old [20:53] AvianFlu: "as little as possible" in other words [20:54] hotch: i have a middleware provider that i use to test being active within vows and it works … but i no such luck on vows, and it would suck to have to run it separately then run tests [20:54] brianc: anyone able to point me in the direction of the best example of emitting event from C++ in v0.5.x? [20:54] whse: bnoordhuis would socket.write() munge something? [20:54] brianc: also...is there a cross version way to do this? like...not having to maintain two separate branches of c++ modules because eventemitter is gone now? [20:54] bnoordhuis: brianc: https://github.com/bnoordhuis/node-event-emitter [20:54] mcluskyd_ has joined the channel [20:54] bnoordhuis: whse: not if you write a buffer [20:55] brianc: thanks bnoordhuis [20:55] whse: hmm [20:55] AntelopeSalad has joined the channel [20:55] whse: bnoordhuis: thats what I am doing, but apparently the other end may not be recieving it correctly. [20:56] Aikar: someone should just write an .h file thatll lookup process from global, then get a reference to eventemitter in C from JS [20:58] blup has joined the channel [20:58] whse: http://pastie.org/2679223 - thats how I am sending it [20:59] Aikar: Global->get('process')->get('binding')->Call(Global, "modules")->Get("require")->Call(Global, "events")->get("EventEmitter"); [20:59] Aikar: some crazy stuff like that :P [21:00] hernan: clear [21:00] hernan: cls [21:00] hernan: clear [21:00] Aikar: this is irc [21:00] Aikar: not bash [21:00] ninjapig has joined the channel [21:00] mikeal has joined the channel [21:01] deedubs: :D [21:01] kurokikaze has joined the channel [21:02] kurokikaze: okay, seems I got zlib.deflate at least partially working [21:02] AvianFlu: hernan, you can try /clear [21:02] fbartho has joined the channel [21:03] Metal3d has joined the channel [21:06] whse: Aikar bnoordhuis seems the dev @ GfW gets a totally different output using the same key/iv [21:06] wadey has joined the channel [21:06] Aikar: whse: no clue man, im just as noob with it as you are, i just got it working to bare minimum requirements lol [21:07] whse: Aikar: on what version ? [21:07] vineyard: Is it possible to reload modules? [21:07] jp323 has joined the channel [21:07] Aikar: 0.4.11/12? [21:07] vineyard: yea [21:07] N0va` has joined the channel [21:07] vineyard: oh nevermind... [21:07] Aikar: vineyard: yes with hackery [21:07] vineyard: So, how? [21:07] Aikar: youll have to remove the entry from cache [21:07] mikeal has joined the channel [21:08] vineyard: require.cache? [21:08] whse: Aikar: alright, :/ [21:08] Aikar: vineyard: maybe, sec checking node source [21:08] whse: you probably weren't on ARM though :p [21:09] Aikar: whse: nope lol [21:09] joshgillies has joined the channel [21:09] kurokikaze: Still, I don't know what zlib is returning me [21:09] i42n has joined the channel [21:09] kurokikaze: it's not a buffer [21:10] kurokikaze: oh wait [21:10] ppcano_ has joined the channel [21:10] trotter_ has joined the channel [21:10] davidbanham has joined the channel [21:10] ppcano has joined the channel [21:11] ppcano_ has joined the channel [21:11] Aikar: vineyard: something like this https://gist.github.com/1279462 [21:11] vineyard: thanks =) [21:11] Aikar: thatll need to be in the file your calling it from though to keep relative paths correct [21:11] kurokikaze: I was casting it to String myself [21:13] Aikar: vineyard: note i looked at 0.5.x source to build that code, so it may not work on 0.4.x, but ry just announced .6 is near, so you should be targetting all of your code on .5.x anyways [21:13] vineyard: okay, so i checked 0.4.x and it does have require.cache on repl [21:13] SanbarComputing has joined the channel [21:13] Aikar: its renamed to _cache in 0.5 [21:13] m00p has joined the channel [21:14] ppcano has joined the channel [21:14] Aikar: ohh [21:14] Aikar: nvm [21:14] Aikar: require.cache = Module._cache [21:14] vineyard: it's fine [21:14] Aikar: so you can change the delete line to delete require.cache[file]; [21:14] tylerstalder has joined the channel [21:14] Aikar: that line is more likely to remain consistant [21:14] zackattack has joined the channel [21:14] ppcano has joined the channel [21:15] ppcano has joined the channel [21:15] icebox has joined the channel [21:16] Aikar: ryah: are you opposed to wrapping try/catch on require.resolve and return null if it doesnt exists? would be a little cleaner for checking module existance [21:16] slifty has joined the channel [21:16] Martin1982 has joined the channel [21:17] Wa has joined the channel [21:17] equark has joined the channel [21:19] ryah: Aikar: uh [21:19] ryah: Aikar: why? [21:20] CIA-48: libuv: 03Ben Noordhuis 07 * r61343ec 10/ (include/uv.h src/unix/error.c src/uv-common.c): common: add UV_ENOSYS error code - http://git.io/D_415A [21:20] CIA-48: libuv: 03Ben Noordhuis 07 * r04daabd 10/ src/win/udp.c : win: unbreak build, use UV_ENOSYS - http://git.io/5PSjhg [21:22] aheckmann: is there any reason why node 0.5.x has yet another alias for global? now we have root, global, and GLOBAL [21:22] tjholowaychuk: root? [21:22] Aikar: ryah: to me it seems like more desired behavior. when your trying to resolve a filename, your not trying to load a module, so why error. [21:22] tjholowaychuk: wtf [21:22] aheckmann: yeah [21:23] Aikar: aheckmann: i think all 3 of those have been there? [21:23] aheckmann: root is new in 0.5x [21:23] aheckmann: not sure if that was a mistake [21:23] ppcano has joined the channel [21:23] kurokikaze_ has joined the channel [21:23] ppcano has joined the channel [21:24] sindresorhus has joined the channel [21:24] ryah: Aikar: discuss with isaacs - i don't particularly want to change API - but if i you can convince isaacs and he can convince me - then okay. [21:25] sindresorhus has joined the channel [21:25] ryah: aheckmann: hm - root - we should remove that [21:25] ryah: aheckmann: i'm not sure what that's there [21:25] Aikar: why is GLOBAL there ? [21:25] tjholowaychuk: MOAR_GLOBAL [21:25] aheckmann: ryah sounds good to me [21:25] eee_c1 has joined the channel [21:25] sindresorhus has joined the channel [21:26] Aikar: people should use global if they want global, not a GLOBAL [21:26] CIA-48: node: 03Ryan Dahl 07 * r4f59041 10/ (node.gyp src/node.cc): Fix windows build - http://git.io/XQ48Ww [21:26] ppcano has joined the channel [21:26] sindresorhus has joined the channel [21:26] localhost has joined the channel [21:27] sindresorhus has joined the channel [21:27] Xano has joined the channel [21:27] sindresorhus has joined the channel [21:28] Aikar: and ry, is the third_party_main removed in 0.5.x, i dont see it in the gyp file? [21:28] sindresorhus has joined the channel [21:29] mehtryx has joined the channel [21:29] sindresorhus has joined the channel [21:29] mjr_ has joined the channel [21:30] eee_c has joined the channel [21:30] sindresorhus has joined the channel [21:33] joshgillies has joined the channel [21:33] Fuu has joined the channel [21:37] CarterL has joined the channel [21:37] trotter has joined the channel [21:38] mikeal has joined the channel [21:38] aheckmann: oh it looks like root is a global in at least 0.4.12 [21:39] aheckmann: so nvm i guess [21:40] linusoleander has joined the channel [21:40] linusoleander: How do I uninstall node.js in OS X, I've installed it using make install [21:41] sirdancealot has joined the channel [21:41] mikeric has joined the channel [21:41] stagas has joined the channel [21:42] wadey: root === GLOBAL, I always wondered what it was there for [21:42] wadey: its been there for a while [21:42] wadey: global !== GLOBAL though [21:43] kurokikaze_: what's the simplest method to gather "data" event arguments if they are all Buffers? [21:44] mbrevoort has joined the channel [21:46] zackattack has joined the channel [21:46] aheckmann: wadey what is the diff between global and GLOBAL [21:47] stagas has joined the channel [21:48] dob_ has joined the channel [21:49] patcito_ has joined the channel [21:49] cruxst has joined the channel [21:49] CIA-48: node: 03Ryan Dahl 07 * rc8dbaf5 10/ (src/node.cc src/node.js): Remove --use-legacy and --use-uv - http://git.io/tbcUcA [21:49] CIA-48: node: 03Ryan Dahl 07 * r9631e29 10/ (3 files in 2 dirs): Remove tests relying on !process.features.uv - http://git.io/dzpaLA [21:49] CIA-48: node: 03Ryan Dahl 07 * r0e2bbac 10/ test/simple/test-module-load-list.js : Fix test-module-load-list.js - http://git.io/opgDcA [21:52] JaKWaC_ has joined the channel [21:53] JmZ has joined the channel [21:53] JmZ: hey [21:53] Tprice: yo [21:53] JmZ: is there a recommended method to serve a large file in node [21:54] JmZ: because i imagine there'd be high memory usage if you just read the entire thing in then write it out [21:54] Tprice: you would pipe the file stream [21:54] wadey: aheckmann: I don't completely understand, I know that GLOBAL === global.GLOBAL though :) [21:54] TheJH: JmZ, doing stuff in steps isn't the node way anyway. the node way is streaming [21:55] JmZ: so how would you recommend i go about "streaming" it? [21:55] AvianFlu: fs.createReadStream(filename).pipe(response) [21:55] AvianFlu: where response is an http response in a request handler [21:55] JmZ: also, node claims to not use threads, so how does it handle multiple connections simultaneously in that case? [21:56] AvianFlu: JmZ sockets are non-blocking, file I/O is multithreaded [21:56] JmZ: ah i see [21:56] TheJH: JmZ, well, it uses threads for file I/O under the covers, but that shouldn't matter for you - your javascript code is single-treaded [21:57] JmZ: yeah it makes no difference to me i was just interested [21:57] Tprice: jmz look at thie https://github.com/FLYBYME/rpc-socket/blob/master/lib/servers.js find Servers.prototype.handleStaticFile [21:57] Tprice: it was pulled out of express [21:57] AvianFlu: JmZ: when you call read() on a socket down in C land, there may or may not be data on it [21:57] stagas has joined the channel [21:57] AvianFlu: a blocking socket, your program waits for there to be data [21:58] JmZ: yeah i understand that [21:58] AvianFlu: non-blocking, it tells you "not yet, boss" so you can check the other sockets [21:58] JmZ: originally i wondered this when thinking about setInterval [21:58] AvianFlu: so each socket in node is just a file descriptor [21:58] JmZ: how it runs a given callback at intervals while also handling connections [21:58] sub_pop has joined the channel [21:58] JmZ: well, requests [21:58] AvianFlu: an event loop [21:58] AvianFlu: it spins really fast, and just takes care of business [21:59] JmZ: but does that mean everything else is stopped until the interval callback is complete? [21:59] AvianFlu: you're only doing one thing in JS at a time, but there's more than just your JS thread in play [21:59] AvianFlu: all that I/O only calls into javascript when there's results or errors for you, mostly [22:00] AvianFlu: so you process your results in a really fast loop, and as long as you aren't slowing it down with heavy math or stuff like that, it Just Works (tm) [22:00] CIA-48: node: 03Ryan Dahl 07 * r83fce75 10/ (4 files): Remove stdio binding source - somehow this was missed in cdf5d91 - http://git.io/JUQR_g [22:00] JmZ: i see [22:01] JmZ: so if you were to write some ridiculously inefficient, slow function to run at a given interval, it would affect other... tasks? [22:01] Tprice: on the js side yes [22:01] jerrysv: if you write ridiculously ineffient code in any language it will have an affect [22:01] issackelly_ has joined the channel [22:01] JmZ: true, although that wasn't what i was getting at, i was more wondering about threading and what not [22:02] AvianFlu: JmZ if you try to add every number from 1 to 1,000,000 for every request that comes in, your web server will be really, really, really slow, yes [22:02] jerrysv: but, that said, the cpu is bound until the task is complete [22:02] AvianFlu: but you should use node for network i/o stuff, not for number crunching [22:02] JmZ: yeah i know, i was just interested in how it worked at a lower level [22:03] AvianFlu: if you've got C/C++ reading comprehension, libuv is worth a look [22:03] jerrysv: jmz: i/o typically doesn't block the event loop [22:03] JmZ: sure ill take a look [22:03] AvianFlu: some pretty cool code in there, and it's most of the platform involved except for v8 [22:04] errordeveloper: bnoordhuis: okay, I expanded the bit on fs.Stats: https://gist.github.com/1279593 [22:04] errordeveloper: bnoordhuis: does it look better this way ? [22:05] jocafa: jslint y u no support Object.defineProperty? (屮゜Д゜)屮 [22:06] fmeyer has joined the channel [22:06] brainproxy: any nwm users around? [22:07] sid3k has joined the channel [22:09] crunchmaster has joined the channel [22:12] errordeveloper: bnoordhuis: omg, why would you use that ? [22:13] errordeveloper: I mean .. there many people using awesome wm, which can be extended with lua scripts ... why bother to use something what's only great feature is that it uses node ? [22:14] gut4 has joined the channel [22:15] errordeveloper: plus the readme says - 'For now, the internal API is a bit messy, but you can use tab completion with the REPL to figure it out.' [22:16] MatthewS has joined the channel [22:17] errordeveloper: why not pick something more isoteric .. like one of the wm's written in pure common lisp? [22:17] sonnym has joined the channel [22:17] MUILTFN has joined the channel [22:18] CIA-48: node: 03Ryan Dahl 07 * r7085a04 10/ src/node.cc : Remove process.ENV - http://git.io/M1tMDg [22:18] freshmilk: what is WM [22:20] CIA-48: node: 03Ryan Dahl 07 * re0b59e7 10/ src/node.cc : Remove more dead code - http://git.io/4a-EZA [22:20] brainproxy: errordeveloper: were you responding to me? [22:20] JSManiacs has joined the channel [22:20] cjheath has joined the channel [22:20] errordeveloper: freshmilk: Window Manager, what adds title bars to XServer's clients .. [22:20] brainproxy: assuming you were, well, I was just experimenting [22:20] ronnieboy has joined the channel [22:21] errordeveloper: brainproxy: oops, yeh that was in response to your question [22:21] brainproxy: i had heard some folks talking about xmonad, then heard that nwm was trying to be the same thing, but dev'd with node.js [22:22] errordeveloper: brainproxy: yeah .. my friend told me about xnomad [22:22] errordeveloper: I used fluxbox for quite a few years [22:23] errordeveloper: and now switched to awesome cause it actually has a fresh fast growing community [22:23] errordeveloper: and supports various things which fluxbox doesn't [22:23] errordeveloper: awesome uses lua for config files [22:24] errordeveloper: I haven't gone very far with it yet, but I don't have too much problems with the default settings [22:24] errordeveloper: sorry for OT [22:25] bnoordhuis: errordeveloper: lgtm [22:26] errordeveloper: bnoordhuis: kewl :) [22:26] errordeveloper: bnoordhuis: you can point me at some any other wholes in docs if you like .. [22:26] davidsklar has joined the channel [22:26] errordeveloper: I'll pull-req that one then ;) [22:27] kenperkins: anyone have any insight on request throttling with node? [22:27] maushu has joined the channel [22:27] markwubben has joined the channel [22:28] bnoordhuis: errordeveloper: if you want a challenge: docs for the zlib module [22:28] Drockna has joined the channel [22:28] Drockna has left the channel [22:28] Dreamer3 has joined the channel [22:28] Drockna has joined the channel [22:28] isaacs has joined the channel [22:29] Drockna: is https://github.com/christkv/node-mongodb-native the best mongodb driver for node? [22:29] JmZ: Drockna: i was looking at them recently, i'd say so yes [22:29] JmZ: although they all pretty much do the same anyway [22:32] Drockna: JmZ: thanks. I will keep tinkering [22:33] Sorella has joined the channel [22:35] willwhite has joined the channel [22:37] MatthewS has joined the channel [22:37] brianc: woo! node-postgres native bindings working under v0.5.x and v0.4.x now [22:39] brianseeders has joined the channel [22:39] fmeyer has joined the channel [22:39] halcyon918 has joined the channel [22:39] EyePulp has joined the channel [22:40] EyePulp: yo ho ho [22:41] halcyon918: hey folks, I'm playing with socket.io, installed 0.8.5, but it seems the examples on the github site don't jive with this version... it says to use "io.sockets.on" but the "io" object doesn't have a "sockets" object and I get "cannot call method 'on' of undefined" when I try to listen to connection events on the socket [22:41] freshmilk: what is socket.io [22:41] EyePulp: anyone have a good strategy for redis in order to overwrite a value atomically? [22:41] OneOfOne: halcyon918: take a look at http://nowjs.com/ [22:42] [[zzz]] has joined the channel [22:42] halcyon918: is nowjs a repalcement for socket.io? [22:42] `3rdEden: halcyon918 it would be more useful if you posted example code [22:42] halcyon918: freshmilk: a library for websockets [22:42] `3rdEden: as you are propbably not listening correctly [22:42] halcyon918: `3rdEden: let met get a snapshot [22:43] `3rdEden: OneOfOne you do know that nowjs uses socket.io right.../? [22:43] crunchmaster has joined the channel [22:43] OneOfOne: `3rdEden: yes [22:44] freshmilk: why do we have to use websockets [22:44] errordeveloper: bnoordhuis: oh yeah .. I can see there is almost nothing there .. [22:44] errordeveloper: :) [22:44] halcyon918: http://pastebin.com/ez1Tiw5g [22:44] freshmilk: what are websockets [22:44] errordeveloper: bnoordhuis: ok, i'll see what I can do ;) [22:44] `3rdEden: halcyon918 do: [22:44] isaacs has joined the channel [22:45] `3rdEden: var io = require('socket.io').listen(httpServer) [22:45] `3rdEden: .listen returns a socket.io instance [22:45] halcyon918: doh [22:46] freshmilk: wtf is socket.io [22:46] `3rdEden: freshmilk http://socket.io [22:46] bnoordhuis: errordeveloper: can you sign the cla? http://nodejs.org/cla.html [22:46] Drakonite has joined the channel [22:47] halcyon918: `3rdEden: that did it.. thanks.. silly mistake on my part [22:47] `3rdEden: no problem :) [22:48] JaKWaC has joined the channel [22:49] jroes: does anyone use relational databases with node? if so, are you using any orm? [22:49] jroes: I can't seem to find anything that is as fleshed out as activerecord. I can't tell if I'm spoiled or doinitwrong [22:50] JmZ: jroes: ORMs are generally quite inefficient and create relatively "ugly" queries which don't scale well [22:50] mike5w3c_ has joined the channel [22:50] JmZ: but i don't know of a popular one for node [22:51] jroes: I'm not quite sure that's a commonly held belief [22:51] JmZ: it's pretty much common sense [22:52] JmZ: ORMs aren't for efficiency, they're to quickly and easily interact with a database without writing SQL [22:52] JmZ: if you want an efficient app, you write the queries yourself [22:52] jroes: well, the first issue is the assumption that software runtime efficiency is a higher priority than developer time [22:53] AvianFlu: for certain systems, it is and always will be [22:53] jroes: but also, most ORMs can generate queries that are as efficient as any hand-written SQL [22:53] AvianFlu: if you're making something that isn't life or death and you have a tight deadline, then your dev time wins [22:53] WarheadsSE has joined the channel [22:53] AvianFlu: but sometimes, performance is all that matters [22:54] markwubben has joined the channel [22:54] JmZ: jroes: ORMs don't really produce the best queries, in the case of performance writing them yourself is always better [22:54] freshmilk: what is socket.io the same as node.js? [22:54] freshmilk: its like the same purpose [22:54] tjholowaychuk: freshmilk no lol they are much different :p [22:54] tjholowaychuk: read the readme [22:55] jroes: JmZ: unless you are doing something very complex, say something that *needs* common table expressions, that's not really the case [22:55] isaacs has joined the channel [22:55] tjholowaychuk: or read anything to do with socket.io [22:55] andrewreedy has joined the channel [22:55] nibblebot has joined the channel [22:55] JmZ: jroes: its hard to make a very simple query inefficient since there's not really many ways to write them [22:55] SubStack: slaskis: fixing it! [22:55] JmZ: jroes: but in general, taking into account more complex queries and joins, ORMs are not as efficient [22:55] jroes: JmZ: exactly, and the common web app use case is simple CRUD operations [22:56] jroes: joins are easily accomplished through most developed ORMs [22:56] jroes: s/developed/mature [22:56] JmZ: they are accomplished, not in the best way in most cases though [22:56] SubStack: slaskis: fixed [22:57] freshmilk: someone tell me what socket.io is for [22:57] andrewreedy: websockets [22:57] SubStack: slaskis: also I think there is a bug in transfer-encoding chunked but I need to write a test to demonstrate it [22:57] wankdanker: andrewreedy++ [22:57] freshmilk: socket.io is for websockets, which is embeded into HTML5, so why the fuck do we need socket.io [22:58] skm has joined the channel [22:58] jroes: I have yet to have legitimate ORM issues that haven't been solved in smarter ways. but, to each his own. I'm not writing balls-to-the-walls high frequency trading apps. undoubtedly there are a wealth of cases out there that either argument works for [22:58] `3rdEden: freshmilk are there websockets in IE8? [22:58] `3rdEden: are there websockets in ie 9 [22:58] `3rdEden: are there websockets in opera? [22:58] freshmilk: yeah [22:58] freshmilk: ie 9 [22:58] tjholowaychuk: haha [22:58] tjholowaychuk: yikes [22:58] freshmilk: yes [22:58] freshmilk: with html 5 [22:58] `3rdEden: no there is not [22:58] freshmilk: yeah there is [22:58] tjholowaychuk: freshmilk html 5 crap is not always available [22:58] Dmitrijus: freshmilk: socket.io is also a very nice API for websockets, and you can still use socket.io for non html5 stuff [22:58] tjholowaychuk: get over it [22:58] freshmilk: ill prove it to you [22:59] JmZ: jroes: its mostly whenever you want to do a query which isn't as basic as you can possibly get. as soon as you want to do something uncommon, an ORM is inefficient [22:59] JmZ: jroes: its generally just a good idea to write the queries yourself so you know what's going on and can optimise as needed [22:59] Dmitrijus: freshmilk: i mean, even if you have websockets, you still need an easy way to deal with them, and here you have socket.io :) [22:59] andrewreedy: not all browsers support websockets [23:00] freshmilk: you guys are right [23:00] freshmilk: but why would u need websockets [23:00] jocafa: socket.io will fall back to other transports if websockets are not available [23:00] andrewreedy: socket.io falls back to other methods such as flash sockets long polling [23:00] freshmilk: because websockets just talk to open pages right [23:00] andrewreedy: jocafa ++ [23:01] jocafa: andrewreedy++ [23:01] jocafa: hehe [23:01] tjholowaychuk: haha omg [23:01] jzacsh has joined the channel [23:01] jzacsh has joined the channel [23:01] tjholowaychuk: why do you need webpages [23:01] tjholowaychuk: screw them [23:01] Aikar: is there a git command that REALLY resets dir to clean standards, deleting untracked files and files on .gitignore? [23:01] tjholowaychuk: get rid of xhr too [23:01] andrewreedy: web pages are for newbs [23:01] Aikar: reset --hard doesnt remove untracked/ignored [23:01] jocafa: telnet like a boss [23:01] tjholowaychuk: Aikar git clean -fd [23:01] tjholowaychuk: is maybe what you're looking for [23:01] tjholowaychuk: but be careful [23:01] tjholowaychuk: haha [23:02] freshmilk: seriously why do u need [23:02] freshmilk: websockets [23:02] tjholowaychuk: why do you need [23:02] tjholowaychuk: anything [23:02] freshmilk: all it does is communicate with a currently open page with another currently open page [23:02] freshmilk: ive never even heard of this being done in practice [23:02] Dmitrijus: freshmilk: for user notification, like, lets say, if a message arrives [23:02] Aikar: tjholowaychuk: also need -x [23:02] jzacsh_ has joined the channel [23:02] tjholowaychuk: i smell trolllLLLllLl [23:02] `3rdEden: freshmilk it does not communicate with a other open page, it communicates with your server [23:03] freshmilk: it does? [23:03] `3rdEden: but then again... you server serves the open page.. full circle again! [23:03] T0aD: does it ? [23:03] Aikar: tjholowaychuk: but yes thanks thats what i wanted. i wanted to clean a checkout after compiling in it [23:03] tjholowaychuk: Aikar ah cool. It's bit me a few times haha [23:03] andrewreedy: http headers take up a lot of bandwidth [23:03] tjholowaychuk: removing things but meh [23:03] andrewreedy: websockets = no http headers [23:03] Aikar: well i wanted to reset back to as if i just cloned the repo :P [23:03] freshmilk: but what webservers are able to read [23:03] freshmilk: socket.io data [23:03] `3rdEden: websockets = http headers andrewreedy [23:03] freshmilk: apache can interpret my socket.io data? [23:04] halcyon918: freshmilk: websockets are psuedo-socket-level commication with a server from a web browser... [23:04] EyePulp: freshmilk: IRC works on the principle of sockets - a continuous channel over which we're sending data back and forth - no polling, no waiting. web sockets is intended to provide the same option for webclient/server interaction. [23:04] Aikar: web sockets have an http handshake [23:04] `3rdEden: no but your roxen server can freshmilk [23:04] andrewreedy: oh really *shutsup haha [23:05] paul_k has joined the channel [23:06] freshmilk: yeah i guess why arent all browser/server connections sockets [23:06] freshmilk: ? [23:06] andrewreedy: so socketstream doesnt have any http handshacking / headers right [23:06] Aikar: they are [23:06] topaxi has joined the channel [23:06] freshmilk: right so how is this different [23:06] Aikar: "WebSockets" are sockets [23:06] Aikar: http connections are sockets [23:07] Aikar: the difference is the protocol [23:07] freshmilk: oh i see [23:07] jocafa: and they stay open [23:07] Aikar: "WebSockets" has an "initiation" but then its simple back and forth long lived connection [23:07] freshmilk: but that must cause some sort of larger strain on the server, that they stay open [23:07] Aikar: http protocol sends a block of headers each request, and dies off either instantly or very shortly after [23:07] freshmilk: i see [23:08] jocafa: depends on the server [23:08] Aikar: "keep alive" keeps an http connection alive for a short time to reuse [23:08] jocafa: node handles it beautifully [23:08] Aikar: so its semi like a WebSocket [23:08] Aikar: but it also sends header blocks each request [23:08] freshmilk: so with socket.io [23:08] Aikar: but then usually dies within 30 seconds [23:08] freshmilk: i mean socket.io is both front end and backend [23:08] freshmilk: this means, right [23:08] andrewreedy: http://www.readwriteweb.com/hack/2011/06/socketstream-a-real-time-node-framework.php [23:08] jocafa: right [23:08] Aikar: yes [23:08] freshmilk: its a webserver [23:09] freshmilk: and i guess...how does this differ from node... [23:09] freshmilk: or rather [23:09] Aikar: node is just an interpreter [23:09] freshmilk: why would one want to use socket.io [23:09] freshmilk: aikar: node is an interpret? i thought v8 was the interpret? [23:09] Aikar: freshmilk: it is, but node is a binding around it [23:09] Aikar: you dont execute files as 'v8 foo.js' :P [23:10] freshmilk: ok.. [23:10] freshmilk: but node is also a webserver [23:10] zackattack has joined the channel [23:10] Aikar: no [23:10] Aikar: its not [23:10] freshmilk: it is [23:10] chjj: v8 is not an interpreter [23:10] JmZ: no its not freshmilk [23:10] freshmilk: v8 is an interpreter [23:10] jocafa: node *has* a http server module [23:10] JmZ: node ALLOWS you to create a web server [23:10] JmZ: it isnt a web server its self [23:10] jonjamz has joined the channel [23:10] bartt has joined the channel [23:11] freshmilk: so what is it in itself? [23:11] bwinton has joined the channel [23:11] freshmilk: just a library? [23:11] freshmilk: for v8? [23:11] chjj: v8 is not an interpreter, it doesnt use an interpreter, it compiles js directly to machine instructions [23:11] freshmilk: that has modules where u can do stuff? [23:11] JmZ: i dunno what you'd class it as, a wrapper around v8 i guess [23:11] MatthewS has joined the channel [23:12] Aikar: chjj: "Interpreter (Computing)" from wiki: translates source code into some efficient intermediate representation (code) and immediately executes this [23:12] Aikar: how does v8 not fall into that? [23:12] chjj: because it doesnt use an intermediate representation [23:12] chjj: it doesnt use byte code, it compiles to machine code instead [23:12] Aikar: ASM :P [23:13] chjj: no, asm != machine code [23:13] freshmilk: google classifies it as a [23:13] freshmilk: interpreters [23:13] freshmilk: interpreter [23:13] andrewreedy: jonjamz ++ [23:14] freshmilk: so could V8 be connected to the client side without node [23:14] Aikar: ... [23:14] Aikar: it is... [23:14] julioj has joined the channel [23:14] Aikar: its called Google Chrome [23:14] andrewreedy: lol [23:14] jonjamz: haha [23:14] eee_c1 has joined the channel [23:14] JmZ: lol [23:14] MatthewS: i can't tell if you guys are being quietly trolled or not. [23:15] jonjamz: that's what i was thinking [23:15] JmZ: shame there isn't a facepalm character [23:15] freshmilk: u arent [23:15] freshmilk: why is this [23:15] freshmilk: always a question [23:15] Aikar: ('-')(''') [23:15] jocafa: :) [23:15] andrewreedy: freshtroll [23:15] JmZ: lol [23:15] chjj: "V8 compiles JavaScript source code directly into machine code when it is first executed. There are no intermediate byte codes, no interpreter." [23:15] chjj: http://code.google.com/apis/v8/design.html [23:15] chjj: i cant believe im having to argue that point [23:15] freshmilk: right V8 is a compiler [23:15] JmZ: yes [23:16] JmZ: the whole point in v8 is to do JS -> machine code rather than bytecode [23:16] chjj: yes, that is my point, it doesnt use an interpreter [23:16] JmZ: so of course its not an interpreter [23:16] Aikar: I just saw that, so ill give in :P [23:16] freshmilk: so what the fuck is an interpreter than, u have the compiler, what do u need an interpreter for, does php even have an interpreter [23:16] markwubben has joined the channel [23:16] chjj: exactly, but people here were saying it is an interpreter, which is why i posted that link just now [23:16] chjj: to prove its not [23:16] jonjamz: php and ruby for example are interpreted languages [23:16] chjj: even though i shouldnt have to prove that [23:16] pandeiro has joined the channel [23:16] JmZ: php, ruby, python [23:16] chjj: ... [23:16] jonjamz: they get interpreted every time you run them [23:17] freshmilk: who is doing the itnerpreting with php [23:17] jonjamz: v8 basically "interprets" once [23:17] jonjamz: but in a more efficient way [23:17] asdadsa has joined the channel [23:17] andrewreedy: you have to higher a translator [23:17] andrewreedy: hire [23:17] JmZ: are you sure we're not being trolled [23:17] JmZ: lol [23:17] andrewreedy: freshtroll++ [23:17] lmorchard has joined the channel [23:17] jocafa: more like "compiles to machine code but doesn't save the result to disk" or something [23:18] freshmilk: who is interpreting the php [23:18] T0aD: my mom is a php interpreter [23:18] JmZ: freshmilk: why does it matter? this is #Node.js not #php [23:18] adriftatsea has joined the channel [23:18] jocafa: ಠ_ಠ [23:18] jonjamz: that's why all the corporations use php [23:18] jonjamz: because they can hire so many interpreters [23:19] freshmilk: no one knows the answer [23:19] andrewreedy: thats why nodejs is awesome you dont need all the interpreter salary overhead [23:19] freshmilk: it matters because why is Node necessary? [23:19] joshgillies: wtf [23:19] JmZ: what? O_o [23:19] jonjamz: andrewreedy++ [23:19] JmZ: ok i quit this must be troll [23:19] freshmilk: if v8 can compile on its own [23:19] JmZ: stop answering him lol [23:19] freshmilk: and i can send stuff to it [23:19] freshmilk: this isnt trollin [23:19] tjholowaychuk: trollll [23:20] freshmilk: if v8 can compile on its own and i can send stuff to it [23:20] freshmilk: why do u need a node intermediary unless node has some cool features to spice up your code/process/etc [23:20] T0aD: you dont need anything [23:20] tjholowaychuk: because without node [23:20] tjholowaychuk: you could do pretty much nothing [23:20] T0aD: you can just go out and smoke weed [23:20] freshmilk: and why wasnt v8 used widely before node [23:21] Aikar: node adds on functionality to v8 to make it useful, like sockets, filesystem access, networking [23:21] chjj: i cant even tell whos a troll and who isnt right now [23:21] chjj: im lost [23:21] davidascher has joined the channel [23:21] Aikar: that stuff is not in v8 [23:21] lz has joined the channel [23:21] Aikar: v8 by itself would be a giant calculator [23:21] JmZ: this face is relevant right now: http://troll.me/images/jackie-chan-whut/jackie-chan-whut.jpg [23:21] joshgillies: is this channel logged? [23:21] Aikar: yes [23:21] joshgillies: This discussion needs to be preserved [23:22] freshmilk: Aikar: but you could build a script to do that stuff and have it be sent to the interpreter with the results displaed [23:22] freshmilk: Node just makes it easier [23:22] Aikar: no [23:22] freshmilk: to do all this stuff [23:22] Aikar: v8 has absolutely no functionality to do it out of the box [23:22] freshmilk: sent to the compiler i mean [23:22] EyePulp has joined the channel [23:22] Aikar: v8 is the engine to build things on [23:22] Aikar: browsers build the dom [23:22] tjholowaychuk: freshmilk just look at node's source lol [23:22] tjholowaychuk: everything there [23:22] tjholowaychuk: is not in v8 [23:23] tjholowaychuk: so there you go [23:23] Aikar: node builds the networking and file system [23:23] tjholowaychuk: you shouldnt even have to ask [23:23] joshgillies: ^ this [23:23] JmZ: indeed [23:24] freshmilk: so V8 is just a collectoin of scripts sitting there [23:24] freshmilk: Node makes it functional in various ways [23:24] schwab has joined the channel [23:24] Aikar: freshmilk: would you buy a car engine without a car chassis to put it in (if not for the purpose of reselling) [23:24] freshmilk: including webserver [23:24] lz has left the channel [23:24] lz has joined the channel [23:24] Drockna has left the channel [23:24] JmZ: ugh [23:24] tjholowaychuk: this convo [23:24] tjholowaychuk: makes me want to die [23:24] Aikar: lol [23:24] jonjamz: yeah i was just thinking that [23:24] JmZ: yeah im out of responses [23:24] jonjamz: i'm about to choke myself to death [23:24] JmZ: mass suicide? [23:24] lz: what did I miss [23:24] T0aD: my dad is a skilled v8 compiler [23:24] tjholowaychuk: JmZ ahahaha [23:24] lz: ? [23:24] joshkehn has joined the channel [23:25] JmZ: you missed a group facepalm [23:25] jonjamz: put the poison in some...v8? [23:25] jonjamz: and drink it down baby [23:25] freshmilk: am i right about what i said [23:25] freshmilk: the last iteration of what i said [23:25] T0aD: yes you are absolutely not right [23:25] JmZ: lol [23:25] JmZ: V8 isnt a collection of scripts.. [23:26] jonjamz: it's a collection of vegetable concentrates that provides a full daily serving of vegetables in one drink [23:26] Acolyte has joined the channel [23:26] joshgillies: I'm lost [23:26] JmZ: true, that [23:26] Aikar: freshmilk: v8 is the engine in your car. node is everything else that makes that engine usable as a product [23:26] freshmilk: what is it then!! [23:26] errordeveloper: I have just replied to this SO question - [23:26] errordeveloper: http://stackoverflow.com/questions/5525162/how-to-embed-node-js-interpreter-into-c-c [23:26] joshgillies: Why is he so concerned about V8? [23:27] tjholowaychuk: freshmilk looooook atttttttt nodessssssssss sourrrrrrrrccccceeeeeee [23:27] joshgillies: haha [23:27] JmZ: joshgillies: don't think anyone knows, hes a non-troll-troll [23:27] freshmilk: there is no v8 command so wtf is it, its a compiler, its a collection of scripts that do something when they are called to do it, which is to take javascript from node.js and turn it into machine code [23:27] joshgillies: JmZ: GOLD! [23:27] errordeveloper: being quite new to node I suppose this still a reasonable answer, what do "mature" node users think? [23:27] Guest95202: how do you include an instance of one module into the other? [23:27] T0aD: freshmilk, scientists are still trying to find out what it is [23:28] joshgillies: hahaha [23:28] JmZ: lol [23:28] joshgillies: The LHC, it was built mainly to figure out waht V8 is... [23:28] joshkehn has left the channel [23:28] JmZ: haha [23:28] chrislorenz: exit [23:29] freshmilk: so am I right with what I said [23:29] syrio has joined the channel [23:29] joshgillies: no one will ever know [23:29] enmand has joined the channel [23:29] freshmilk: this is not helpful [23:29] jonjamz: there's a video on youtube that google put out where an engineer talks about v8 [23:29] jonjamz: go watch that video [23:30] jonjamz: you'll get it [23:30] freshmilk: why cant someone just friggin tell me [23:30] jonjamz: it's not that simple, go watch the video [23:30] tjholowaychuk: ACTION headdesk [23:30] errordeveloper: freshmilk: hey .. V8 is an java script engine which was originally embedded in Google Chrome, but was released separatelly also [23:31] Aikar: errordeveloper: please do not put a space after java [23:31] errordeveloper: freshmilk: it doesn't have an exuctable, but it can be built into an excutable [23:31] T0aD: can i has v8 [23:31] errordeveloper: Aikar: omg [23:31] joshgillies: LOL [23:31] JmZ: lol [23:31] errordeveloper: s/java\ script/JavaScript/ [23:32] stagas has joined the channel [23:32] joshgillies: freshmilk: http://www.youtube.com/watch?v=FrufJFBSoQY [23:32] joshgillies: enjoy [23:32] joshgillies: errordeveloper: I'm of the opinion it's Javascript [23:32] joshgillies: flamewar? [23:32] freshmilk: errordeveloper: exactly, and obviously while it was in chrome it didnt compile stuff down to machine language, it only does that on the seperate release [23:33] Aikar: freshmilk: seriosly, V8 == Cars engine, Node == Everything else that makes up the car, User Scripts fed into Node == The driver of the car [23:33] shipit has joined the channel [23:33] errordeveloper: Aikar: +10 [23:33] joshgillies: Yup, there's a reason they call it a Javascript __engine__ [23:33] T0aD: steering wheel = emacs [23:33] freshmilk: Aikar: I get it but ur not going deep enough. V8 is not literally a cars engine. I get the analogy, im asking how the fuck it works... [23:33] joshgillies: VIM [23:33] JmZ: vim [23:33] JmZ: totally vim [23:33] T0aD: EMACS ! [23:33] JmZ: VIM! [23:34] joshgillies: freshmilk: watch the video [23:34] Aikar: freshmilk: go look at v8's source [23:34] joshgillies: that'll keep him occupied for at least an hour [23:34] joshgillies: him/her** [23:34] JmZ: it [23:34] T0aD: joshgillies, doubt it [23:34] errordeveloper: emacs for ecma [23:34] joshgillies: haha [23:34] errordeveloper: lol [23:34] joshgillies: trolls gonna troll [23:34] JmZ: unintentional troll [23:34] freshmilk: im not trolling [23:35] errordeveloper: no, i'm a vim user [23:35] joshgillies: ok [23:35] freshmilk: v8s source? so it is a bunch of scripts, exactly [23:35] T0aD: someone that cannot browse online to read some doc before asking thousand of questions [23:35] chrislorenz: o_O [23:35] JmZ: D: [23:35] joshgillies: errordeveloper: you're also not a Javascript engine [23:35] chjj: vim is too godly [23:35] joshgillies: too much powa?? [23:35] Aikar: freshmilk: its a compiled application written in C [23:35] dynacker: TOO MUCH POWA [23:35] T0aD: s/godly/nerdly [23:35] Aikar: C++* [23:35] chrislorenz: Your mom is a bunch of scripts [23:35] joshgillies: lol [23:35] chjj: godly == nerdly [23:36] T0aD: god was a nerd ? [23:36] JmZ: lol [23:36] T0aD: how dare you [23:36] joshgillies: freshmilk: http://www.youtube.com/watch?v=FrufJFBSoQY [23:36] joshgillies: ok I'm done [23:36] freshmilk: Aikar: it's compiled? so its executable? [23:36] fbartho: Context: Native AddOn [FUSE Bindings] Question: How can I register a custom callback to be fired once per event loop? [23:36] Aikar: not everything compiled is an executable, but yes you can [23:36] Aikar: you generically compile it WITH another application [23:36] Aikar: as a static library [23:37] Aikar: node == another app [23:37] Aikar: chrome == another app [23:37] Aikar: both compile it with their own code [23:37] T0aD: lies [23:37] joshgillies: freshmilk a windows user [23:38] freshmilk: how the hell does node get compiled with [23:38] freshmilk: v8 [23:38] T0aD: he sounds closer to a vegetable so far [23:38] dynacker: turbo car [23:39] freshmilk: do u do that at installation? [23:39] freshmilk: and how the fuck does something get compiled with some else [23:39] joshgillies: mannnnnnnnnnnnnnn [23:39] dynacker: mount the intercooler in [23:39] errordeveloper: freshmilk: vood people - magick people! [23:39] Aikar: freshmilk: are you in college? [23:39] dynacker: primary school or something [23:39] freshmilk: no [23:39] freshmilk: out of college [23:39] joshgillies: right [23:39] joshgillies: WHAT? [23:39] T0aD: mental institution ? [23:39] Aikar: what degree? [23:39] joshgillies: lol [23:39] JmZ: lol [23:39] freshmilk: i went to a top 10 u.s. institution [23:39] briemens has joined the channel [23:39] Aikar: what profession are you in [23:39] joshgillies: kk [23:40] JmZ: a degree in trolling [23:40] Aikar: cause programming isnt your thing [23:40] freshmilk: software engineering [23:40] dynacker: a degree in stupidity [23:40] T0aD: a top 10 us mental institution ? [23:40] JmZ: lol [23:40] Aikar: you should try marketing [23:40] freshmilk: why [23:40] freshmilk: im pretty good at programming [23:40] Aikar: cause you obviously dont 'get it' [23:40] joshgillies: Seriously, freshmilk is a troll [23:40] errordeveloper: freshmilk: that bottom ten I presume .. 10 [23:40] freshmilk: im just new to it [23:40] joshgillies: this has gone on too long [23:40] tjholowaychuk: freshmilk being resourceful is key [23:40] dynacker: freshnitwit [23:40] JmZ: i agree joshgillies [23:40] tjholowaychuk: either try or give up [23:40] Aikar: how are you 'new to it' if you graduated from a top 100 institution? [23:40] Aikar: colleges make you write code [23:41] freshmilk: no i went to a top 10 us instituion studied philosophy and now am transitioning to become a software engineer and just got hired at a Fortune 20 company making 71k a year and they want to move their systems over to Node.js from whatever they use now [23:41] dynacker: he just said he's pretty good at programming [23:41] Aikar: and wtf @ major performance degradation in node 0.5? [23:41] hij1nx has joined the channel [23:41] Aikar: v0.5.9: Received 42k messages - Rate: 141.6k messages/sec [23:41] errordeveloper: freshmilk: ok, so tell them to book you a training course [23:42] Aikar: v0.4.12: Received 34k messages - Rate: 241.5k messages/sec [23:42] freshmilk: in what? [23:42] dynacker: He is making 71k a year! RICH RICH RICH [23:42] gravity13 has joined the channel [23:42] JmZ: lol [23:42] freshmilk: dynacker: how much are u making [23:42] JmZ: a corporation wants to move their systems over to node? [23:42] wdbl: freshmilk: node is like a bikeshed. A bikeshed is made from many parts. v8 is one of those parts; a component like a 2x4 piece of wood or something. [23:42] freshmilk: a consumer facing corporation [23:42] jonjamz: fortune 20 companies are run by people who know better than to give you a decent salary [23:42] dynacker: i'm making a lot more than that [23:42] wdbl: that's all i have to say about that. [23:43] errordeveloper: freshmilk: start with basics of operating systems, then a bit of C and compilers [23:43] errordeveloper: freshmilk: and then perhaps high level languages [23:43] freshmilk: dude i am past this [23:43] JmZ: i highly doubt a fortune 20 company would just decide to migrate to node [23:43] AvianFlu: he's also connecting from sweden [23:43] freshmilk: qwll [23:43] freshmilk: im on to [23:43] freshmilk: tor [23:43] JmZ: do want svenske tjej [23:43] T0aD: pirate [23:43] JmZ: lol tor [23:43] errordeveloper: anyway, freshmilk, stop trolling and go home [23:43] freshmilk: jmz: happens all the time: linkedin, nytimes [23:43] AvianFlu: no you're not, tor comes up with a special hostname on freenode [23:43] JmZ: tor isnt pirates, tor is creepy guys [23:44] freshmilk: yeah actually i am connecting ith tor [23:44] enmand_ has joined the channel [23:44] freshmilk: they cant "know" all the tor nodes [23:44] T0aD: yes they can [23:44] T0aD: YES WE CAN ! [23:44] Aikar: ok this is serious... what the hell is wrong with my code? 40-50% loss of performance going from 0.4.12 to 0.5.9: https://github.com/aikar/wormhole/blob/master/lib/wormhole.js [23:44] freshmilk: i am asking how node interacts with v8, i dont know why this is so crazy. no one has given actual answers just analogies they read on the internet [23:44] joshgillies: V8 knows all tor nodes [23:44] JmZ: lol [23:44] joshgillies: read the code and you'll learn how [23:44] errordeveloper: so how come freshmilk get how to use tor while he doesn't get all these other things!?! [23:45] Aikar: all tor nodes are public knowledge [23:45] Aikar: they are in a public db [23:45] T0aD: freshmilk, its because its related to something very secret that shouldnt be told [23:45] ninjapig has joined the channel [23:45] syrio has left the channel [23:45] T0aD: freshmilk, actually node doesnt use v8 at all ! [23:45] freshmilk: Aikar: if that's true why am i using it and not having a special hostname [23:45] errordeveloper: freshmilk: node the extend version of v8 if that makes sense to you [23:45] T0aD: its just a marketing move [23:45] Aikar: freshmilk: because you are a lying troll [23:46] freshmilk: i can prove it to you [23:46] Aikar: now back on subject, what has killed nodes performance in 0.5.x ; ; ? [23:46] errordeveloper: freshmilk: and by being based on something so cool it's being event cooler [23:46] freshmilk: Oct 11 18:43:27.986 [Notice] Opening Socks listener on 127.0.0.1:9050 [23:47] fbartho: FUSE has it's own event loop that manages pthread pools to handle requests from the filesystem, running these two event loops side-by-side causes them to clobber each other because FUSE uses pthreads [23:47] ninjapig has joined the channel [23:47] errordeveloper: Aikar: that's interesting ... [23:47] fbartho: any ideas how I can plug into node's event loop? [23:47] freshmilk: Oct 11 18:07:45.998 [Notice] Tor v0.2.2.33 (git-56122e2e9be4c477). This is experimental software. Do not rely on it for strong anonymity. (Running on Linux i686) [23:47] joshgillies: cool story bro [23:48] errordeveloper: 00:41 < Aikar> v0.5.9: Received 42k messages - Rate: 141.6k messages/sec [23:48] errordeveloper: 00:42 < Aikar> v0.4.12: Received 34k messages - Rate: 241.5k messages/sec [23:48] freshmilk: errordeveloper: i do understand what u mean by extend, but i am saying how does node physically or programatically pass code to V8? [23:48] errordeveloper: something is wrong .. [23:48] joshgillies: just so everyone is sure, the video I linked to freshmilk is pretty bad ass [23:48] wdbl: freshmilk: read this - http://code.google.com/apis/v8/embed.html [23:48] joshgillies: I can also recommend this one: http://ontwik.com/javascript/javascript-engines-under-the-hood/ [23:48] iszak has joined the channel [23:48] iszak: So I'm using http.request and I'm getting an error from the server that it requires a content-length parameter, does http.request provide one? [23:49] ej_ has joined the channel [23:49] freshmilk: exactly [23:49] julioj: damn it, just lost 10 minutes of my life reading thru the last 200 lines of chat [23:49] bnoordhuis: fbartho: what node version? [23:49] errordeveloper: Aikar: how come the rate is lower, but the count is higher ? [23:50] freshmilk: so wdbl: V8 IS A LIBRARY [23:50] freshmilk: it is scripts [23:50] Aikar: diff sampling periods [23:50] freshmilk: fuck yeah [23:50] errordeveloper: ah .. that's right [23:50] Aikar: Received 1010k messages - Rate: 146.3k messages/sec [23:50] errordeveloper: sure [23:50] Aikar: (0.5.9) [23:50] davidwalsh has joined the channel [23:50] CIA-48: libuv: 03Ben Noordhuis 07 * r7b01ad1 10/ test/test-get-memory.c : [23:50] CIA-48: libuv: test: don't assert that total_mem > free_mem [23:50] CIA-48: libuv: Assertion fails when running in a resource container, like a Solaris zone. [23:50] CIA-48: libuv: The total reported is the container's hard limit, the free memory that of [23:50] CIA-48: libuv: the whole system. - http://git.io/pPJ0CQ [23:51] freshmilk: who here makes more than 71k a year [23:51] freshmilk: and has a gf who makes 50k [23:51] tjholowaychuk: lol [23:51] freshmilk: meaning their household income is over 120k [23:51] tjholowaychuk: [23:51] fbartho: bnoordhuis: 4.8 or newer? I can use the newest version of node that is relevant to the question at hand. [23:51] errordeveloper: Aikar: are the figure quite steady? [23:52] Aikar: yea [23:52] freshmilk: does socket.io work on its own or with other things like node? [23:52] Aikar: >>> node examples/benchmark_recv.js [23:52] Aikar: Received 1031k messages - Rate: 255.1k messages/sec [23:52] Aikar: on 0.4.12 [23:52] bnoordhuis: fbartho: the api has changed in 0.5.x [23:52] Sorella has joined the channel [23:52] bnoordhuis: fbartho: in 0.4.x you'd use ev_io_start() and friends [23:52] freshmilk: does socket.io work on its own or with other things like node [23:53] bnoordhuis: fbartho: you want to monitor a file descriptor for changes, right? [23:53] fbartho: nono [23:53] errordeveloper: Aikar: the good news is that you can try doing this in SmartOS with dtrace :) [23:53] fbartho: I want to plug in to FUSE [23:53] bnoordhuis: fbartho: define 'plug in' [23:53] errordeveloper: s/doing/profiling/ [23:54] freshmilk: no one is answering my questions and i came here to learn [23:55] jhurliman: learning costs $1.05 [23:55] T0aD: freshmilk, you get what you deserve [23:55] freshmilk: wtf [23:55] freshmilk: i came here to learn [23:55] bnoordhuis: freshmilk: and you are [23:55] freshmilk: and now ur telling me i get what i deserve [23:55] T0aD: now go use that money you have to buy some glasses and take reading classes [23:55] bnoordhuis: learning to ask the right questions [23:55] bnoordhuis: the path is long but you'll get there [23:55] fbartho: bnoordhuis: I'm trying to make FUSE bindings so that I can make FUSE filesystems that have their logic controlled by Node [JS code] [23:55] fbartho: so that's a node_addon [23:56] Aikar: ryah: https://github.com/joyent/node/issues/1863 [23:56] freshmilk: come on ppl [23:56] bnoordhuis: fbartho: right, but how? fuse is callback driven [23:56] fbartho: so... not at all using the libeio because I don't want to *reimplement* FUSE [23:56] fbartho: fuse_lowlevel_ops [23:57] fbartho: are asynchronous [23:57] deedubs has joined the channel [23:57] T0aD: jhurliman, freedom costs 1.05 ! [23:57] fbartho: so you get the incoming calls from native on multiple threads, and then you have to use one of several callbacks to respond to the incoming calls [23:57] hernan: freshmilk, what's your question? [23:57] JmZ: no dont hernan you'll start it all again [23:57] JmZ: lol [23:57] mbrevoort has joined the channel [23:57] kickingvegas has left the channel [23:58] freshmilk: socket.io [23:58] bnoordhuis: fbartho: i'm familiar with fuse [23:58] freshmilk: how does that work if socket.io isnt a webserver [23:58] fbartho: bnoordhuis: this means I could potentially farm out all the incoming calls to JS, and then respond to them later [23:58] jhurliman: :p [23:58] bnoordhuis: i think you want fuse in single-threaded mode [23:59] fbartho: bnoordhuis: Oh really? Why is that? [23:59] bnoordhuis: fbartho: because you cannot call into v8 from another thread [23:59] fbartho: why can't you use ev_async_send?