[00:02] misterinterrupt has joined the channel [00:03] thinkjson: j/k - I need to send back a little more info [00:03] rchavik has joined the channel [00:03] rchavik has joined the channel [00:06] sdwrage has joined the channel [00:08] onethirtyfive has joined the channel [00:09] onethirtyfive has joined the channel [00:09] davidwalsh has joined the channel [00:13] eliziario has joined the channel [00:16] gregmoreno has joined the channel [00:19] AvianFlu has joined the channel [00:20] pingtickle has joined the channel [00:21] stalled has joined the channel [00:22] marcello3d has joined the channel [00:22] CarterL has joined the channel [00:25] cryptopsy has joined the channel [00:26] JumpMast3r has joined the channel [00:27] freeformz has joined the channel [00:29] Nuck has joined the channel [00:31] boehm has joined the channel [00:31] jimt has joined the channel [00:32] JWarm has joined the channel [00:33] netlemur has joined the channel [00:35] binaryjohn has joined the channel [00:36] ji0n has joined the channel [00:36] JWarm: Hey All, I'm running Node.js for the first time (along with Nginx) and I'm getting this error: Object http has no method 'createServer' [00:36] jimt_ has joined the channel [00:37] tmzt: JWarm: soudns like you aren't requiring it right [00:37] tmzt: pastebin your code [00:37] JWarm: alright [00:38] JWarm: ohh... [00:38] JWarm: :( [00:38] JWarm: Thanks [00:39] tmzt: curious [00:39] JWarm: syntax error [00:39] JWarm: Thanks, tmzt! [00:39] tmzt: ah [00:39] JWarm: lol [00:44] convictedfelon has joined the channel [00:45] JWarm: Okay… how do I get back control of my server without shutting node off: I just ran this command node app.js [00:46] MooGoo: use a server that supports multitasking [00:46] spathi has joined the channel [00:46] JWarm: I'm using slice host? [00:46] JWarm: should i just open up another terminal window? [00:47] MooGoo: slice what [00:47] JWarm: ubuntu [00:47] MooGoo: well you can always kill the node app [00:47] MooGoo: unless it's supposed to be doing whatever it is doing [00:48] JWarm: I want it to continue running, but as soon as I exit the terminal I can't access my website from the browser. [00:48] okuryu has joined the channel [00:49] MooGoo: you might wanna use nohup [00:49] MooGoo: or better yet tmux [00:49] JWarm: I'll check these out. Thanks [00:50] Aikar: whats the min to put in a package.json for node.js to load it as a module? [00:50] Aikar: i put name ver and main [00:50] perezd: author I think [00:50] perezd: is required [00:50] perezd: or email [00:50] perezd: something [00:50] neoesque has joined the channel [00:50] Aikar: why does node.js require author O.o? [00:50] Aikar: i understand for npm [00:51] neorab has joined the channel [00:51] Aikar: but this module isnt intended to be on npm [00:51] Aikar: doing it for testing [00:51] benburkert has joined the channel [00:52] Aikar: Error: Cannot find module '/home/aikar/projects/nodeib/modules/foo' [00:52] Aikar: >>> ls /home/aikar/projects/nodeib/modules/foo [00:52] Aikar: ./ ../ lib/ package.json [00:52] Aikar: my package.json has name author version main [00:52] benburkert: is there a way to explicitly require Buffer? i'm getting weird "ReferenceError: Buffer is not defined" errors [00:52] skm has joined the channel [00:52] Aikar: benburkert: that shouldnt be possible, its in global scope [00:52] Aikar: if your using VM, you need to pass it to the VM [00:53] benburkert: Aikar: i'm not using a VM [00:53] Aikar: benburkert: what node -v? [00:53] benburkert: Aikar: https://gist.github.com/20c3f2d63744ac345641 [00:53] benburkert: both 0.4.9 and 0.4.10 [00:54] Aikar: oh that hubot is using eval [00:54] Aikar: and must be running in some kind of diff scope [00:54] benburkert: oh, it must be the script loading code then [00:54] Aikar: if your the author of hubot-classic... dont use eval :P [00:55] convictedfelon: Could anybody help me with a sugarsync referral? It's a cool program that let's you sync between different computers, you get an extra 500 MB with this link! Thanks :) https://www.sugarsync.com/referral?rf=ctkt7tnqpjamn&utm_source=txemail&utm_medium=email&utm_campaign=referral [00:55] benburkert: all other globals are defined, like console [00:55] Aikar: use vm.runInNewContext if you want to sandbox, and pass Buffer to it [00:55] hasta84 has joined the channel [00:56] slajax has joined the channel [00:56] Aikar: convictedfelon: you mean like Dropbox? lol [00:56] AvianFlu: he's a spam bot, I bet [00:56] benburkert: Aikar: that was it, runInNewContext wasn't passing Buffer [00:56] benburkert: Aikar: thanks for the help! [00:56] Aikar: np [00:56] davidbanham: So is no.de free while it's in beta or something? I can't see any pricing information, and I seem to have just spun up a machine without entering any cc details or anything. [00:57] Aikar: benburkert: you may want to pass all globals, make a copy of global obj (look at the node.js module loader) [00:57] Aikar: require() is not in the global scope, so you wont be passing that [00:57] webbower has joined the channel [00:58] webbower: Is anyone having problems installing npm with MacPorts on Lion? [00:58] isaacs: webbower: gist output! [00:58] chjj: youre on a lion? [00:58] webbower: ya [00:58] davidbanham: I'm on a horse. [00:58] MikhX has joined the channel [00:59] webbower: isaacs: Is Pastie ok? I'm not familiar with how to make gists. Still a bit of a github n00b [00:59] benburkert: Aikar: what file would i find this module loader in? [01:00] Wizek has joined the channel [01:00] dshaw_ has joined the channel [01:00] Aikar: benburkert: lib/module.js [01:01] isaacs: webbower: go to http://gist.github.com/ [01:01] benburkert: ahh, https://github.com/joyent/node/blob/master/lib/module.js#L400 [01:01] isaacs: webbower: it's like pastie, but no ads, easier to read, syntax highlighting for more languages, and forkable. [01:01] isaacs: webbower: and there's a cli util for it [01:01] AphelionZ has joined the channel [01:02] isaacs: webbower: <3 gist :) [01:02] SubStack: and you get internet points for making gists [01:03] webbower: isaacs: Fancy. Must move to top of list to learns its delicious secrets. Please hold. You want whole log Gist'd or just the error output? [01:03] hakasela_ has joined the channel [01:04] tbranyen: the only problem with making gists is clouding up the gists you want to remember [01:04] Me1000 has joined the channel [01:04] tbranyen: so instead you have to make a new private tab or a new browser window [01:04] tbranyen: so that its anonymous [01:04] SubStack: you can star your gists [01:04] tbranyen: far more convenient to just make pasties [01:04] SubStack: true story [01:05] chjj: tbranyen: substack just schooled you with robot knowledge [01:05] tbranyen: if i could award him a star i would [01:05] tbranyen: SubStack++ [01:05] v8bot_: tbranyen has given a beer to SubStack. SubStack now has 7 beers. [01:05] tbranyen: ya drunk bastard [01:05] kriszyp has joined the channel [01:06] Aikar: isaacs: any idea why require wont load my module? [01:06] everton has left the channel [01:06] isaacs: Aikar: it's not in a node_modules folder locally maybe? [01:06] isaacs: Aikar: that's just a guess. [01:06] Aikar: i give it an absolute path to the dir, and the dir has package.json with name/author/version/main [01:07] isaacs: Aikar: [01:07] isaacs: ok [01:07] isaacs: reproducible test, please? [01:07] Vertice has joined the channel [01:07] torsd has joined the channel [01:07] webbower: isaacs: whole log or just error portion? [01:07] isaacs: Aikar: if the package.json has a main, then you should be able to require teh folder in node >= 0.4 [01:07] isaacs: webbower: the whole thing [01:08] isaacs: c++ [01:08] v8bot_: isaacs has given a beer to c. c now has 1 beers. [01:08] webbower: isaacs: https://gist.github.com/e9115a90e6a194ecd3de [01:09] Sorella: C deserves no beers though. [01:09] chjj: so that is what c++ is...c with a beer [01:09] Draggor: C deserves all the beers [01:10] chjj: this ^ [01:10] Sorella: Drunk C. I should've guessed :3 [01:10] Sorella: No wonder it takes so long to compile things. [01:10] Draggor: it takes a long time to compile things? [01:10] Draggor: In the before time maybe. [01:11] mike5w3c has joined the channel [01:11] Sorella: Draggor: try compiling any Sepples app that uses loads of templates and you'll see~ [01:11] akiva has joined the channel [01:11] dgathright has joined the channel [01:12] enhydra has joined the channel [01:12] thinkjson: C is way easier to use than C++ [01:12] thinkjson: it's actually quite elegant in its own way [01:12] jslatts has joined the channel [01:12] RyanW: C is easy [01:12] thinkjson: C++ takes some mind-bending at times [01:12] dynacker: you're easy [01:12] Draggor: like my mom! [01:13] thinkjson: lol [01:13] Draggor: wait [01:13] thinkjson: on that note... [01:13] Draggor: *ding* [01:15] webbower: isaacs: Any insight? [01:17] JakeyChan has joined the channel [01:17] sam350 has joined the channel [01:18] hasta84: Has anyone made some experience with an ORM for node? [01:20] maushu has joined the channel [01:20] Aikar: isaacs: ah i figured it out. I forgot I moved my js file and entry in package.json was wrong [01:21] sdwrage has joined the channel [01:22] ericmuyser has joined the channel [01:22] mynyml has joined the channel [01:23] toreym has joined the channel [01:25] _jhs has joined the channel [01:26] sleek has joined the channel [01:27] Aikar: hmm, if i have a bin in ~/foo/bin/bar that loads a module in ~/foo/node_modules/, then loads a module from ~/modules/bar/ (so not in the same root folder), and process.cwd() is ~/ (ie not ~/foo or ~/modules), best way to access the module? will require() hit it from cache? [01:27] Aikar: i want the module in ~/modules/ to use the module in ~/foo/node_modules [01:28] enhydra has joined the channel [01:28] davidbanham: My no.de smartmachines have been in provisioning status for half an hour now. Is that normal? [01:29] isaacs: Aikar: it'll only hit the cache if it would be the same filename [01:29] isaacs: Aikar: there's some implementation detail optimizations there, but semanticaly, that's how it works [01:29] isaacs: Aikar: if it'll resolve tot he same file, it'll be the same object. [01:30] descipher has joined the channel [01:30] isaacs: webbower: oh, wtf? you're installing *npm* wiht macports? [01:30] isaacs: webbower: i didn't even know that was possible. [01:32] isaacs: webbower: anyway, looks like macports is pulilng the git repo, not the released tarball. [01:32] isaacs: webbower: the docs aren't built, so it's failing to build them [01:32] isaacs: webbower: also unclear as to why it's running "make" rather than "make install" but maybe they do that in a second step or something [01:33] isaacs: oh, no, they're explicitly making the docs. [01:33] isaacs: && /usr/bin/make -j4 -w doc " [01:33] isaacs: that's weird [01:34] CIA-54: libuv: 03Ryan Dahl 07master * r2f18cf5 10/ uv.gyp : Fix gyp build - http://git.io/3uNKMA [01:34] dshaw_ has joined the channel [01:35] webbower: isaacs: Ya. I mentioned MacPorts in my initial comment :-p. I was able to successfully install npm on another computer with MacPorts and I'm trying to install it on my new computer here with Lion, but I ran into this problem [01:35] dshaw_1 has joined the channel [01:36] isaacs: webbower: if you have node, you can just download the install script and run it [01:36] isaacs: or curl|sh it [01:36] isaacs: ircretary: inst webbower [01:36] ircretary: webbower: `curl http://npmjs.org/install.sh | sh` (or, if there are permission issues, you can try: `curl http://npmjs.org/install.sh | sudo sh`) [01:40] dthompso99 has joined the channel [01:40] mikeric_ has joined the channel [01:40] webbower: isaacs: hrm. I really want MacPorts to manage that stuff for me....... I guess I'll wait a couple days and see if the port package gets updated to fix the problem. I guess I should get in touch with the Port maintainer for this. Thanks for the help [01:41] isaacs: webbower: ok [01:41] losing has joined the channel [01:41] marcello3d: anyone here good with canvas? [01:41] isaacs: webbower: you can also just download thenpm source code, and run `node cli.js install -g` to install it [01:41] isaacs: webbower: it's really easy. just uses itself to install itself [01:42] webbower: isaacs: I'll try that out if the port maintainer doesn't fix it soon [01:43] isaacs: webbower: ask them why they're running `make docs` when the docs are already up to date in the release package. (or, if they're not getting the release package from registry.npmjs.org, why not?) [01:43] monokrome: isaacs: Are there any tricks you've come across for putting non-global executable files into the PATH? I tried adding ./node_modules/*/bin but that obviously doesn't work. [01:43] isaacs: monokrome: add ./node_modules/.bin [01:43] webbower: isaacs: ok. Anything else that seems weird? [01:44] kbni has joined the channel [01:44] isaacs: monokrome: or just execute your dep bins via npm "scripts" hash (npm test, npm start, preinstall, etc.) and it'll do that for you [01:44] isaacs: webbower: nope [01:44] micheil has joined the channel [01:45] isaacs: webbower: oh, also this: [01:45] isaacs: :debug:patch Executing command line: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_npm/npm/work/npm-1.0.30" && /usr/bin/patch -p0 < '/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/devel/npm/files/patch-scripts-doc-build.sh' [01:45] isaacs: what's that about? [01:46] isaacs: you shouldn't have to patch npm to make it work on a mac. it's developed on a mac. [01:46] rfay has joined the channel [01:47] micheil: isaacs: you never know, perhaps with macports it's required.. strangely enough. [01:48] isaacs: no, this is kind of busted and unnecessary. [01:48] isaacs: ACTION sigh. [01:48] micheil: isaacs: more or less what I was hinting at. [01:48] tk has joined the channel [01:48] Emmanuel has joined the channel [01:49] monokrome: isaacs: What does npm start do? Is there any documentation for commands? `npm --help start` just shows: npm start [01:49] isaacs: monokrome: npm help start [01:49] isaacs: monokrome: not --help [01:49] isaacs: --help is a flag. "npm help" is a command [01:50] saikat has joined the channel [01:52] monokrome: Oh, cool. Thanks. [01:54] yuwang has joined the channel [01:54] monokrome: isaacs: npm start add it to the path? Sorry for all of the questions. I am trying to figure out how to run coffee from my Makefile [01:54] meso has joined the channel [01:55] monokrome: s/npm start/Does npm start/ [01:56] isaacs: monokrome: { "scripts": { "start": "coffee server.coffee", "preinstall": "cake build", "test": "vows *.js" }, "dependencies": {"coffee-script":"*"}, "devDependencies":{"vows":"*"} } [01:56] isaacs: monokrome: like that^ [01:57] isaacs: monokrome: then you can run `npm start` in the root of the project to run the local coffee script, and installing your app will run `cake build` first, and tests will use the local vows, etc. [01:57] zeade has joined the channel [01:57] isaacs: there is very rarely a need to install something globally because one package needs it. [01:57] isaacs: global installs are for things you want to be in the PATH always, everywhere. [01:59] amigojapan has joined the channel [02:01] slajax has joined the channel [02:03] sfoster has joined the channel [02:08] jacobolus has joined the channel [02:10] ryanmcgrath has joined the channel [02:11] dominictarr has joined the channel [02:12] joshkehn has joined the channel [02:12] zemanel: hi [02:12] joshkehn has left the channel [02:12] ericmuyser: im trying to convert byte arrays to byte strings. ideas? cant find a function for it. result is like this: "\241\201\2505h$A`\t|\005\033\021\250\177\004" <-- so each byte is \xxx unless it's ascii or \t or \n etc [02:13] andrewfff has joined the channel [02:13] JakeyChan has joined the channel [02:14] ChrisPartridge has joined the channel [02:16] mikeric_ has joined the channel [02:18] spathi has joined the channel [02:22] tilgovi has joined the channel [02:25] jldbasa has joined the channel [02:25] jakehow has joined the channel [02:25] maqr has joined the channel [02:26] shipit has joined the channel [02:27] cryptopsy has joined the channel [02:29] zemanel: i have a silly question. if, from module "A" i "var foo = require('B')" and do "foo.myfunc()", how can i, from inside "myfunc()" add functions to A's context ? [02:30] isaacs: zemanel: you can't [02:30] isaacs: zemanel: just pass objects back and forth [02:30] isaacs: var b = require("b"); b.decorate(myObject); myObject.thingFromB() [02:30] zemanel: i see [02:30] isaacs: or at least, that'd be one way to do it [02:30] isaacs: there's not really a "the" way, since the language is so flexible [02:31] zemanel: the question is sillier than that [02:31] zemanel: what i want exactly is to share a configuration dict across modules [02:31] akujin- has joined the channel [02:31] isaacs: var c = require("./config.js") [02:31] isaacs: do that in all the modules. [02:31] isaacs: and you can decorate c, and they'll all have the same exact object, so changes will be seen everywhere [02:32] zemanel: erhm its not exactly that [02:32] zemanel: i'm doing a small module for "recipes" for Cakefile's [02:33] isaacs: k [02:33] hacksparrow has joined the channel [02:33] isaacs: well... you can't get at the function scope from outside of it. [02:33] zemanel: very early stage [02:33] isaacs: yeah. i'd recommend that you do a different thing. [02:33] zemanel: atm it works by the dev doing "require "cakery/recipes/hello_world" on his Cakefile [02:33] isaacs: just export functions, and let your caller handle it [02:33] zemanel: yeah that works [02:34] isaacs: zemanel: hello = require("cakery/recipes/hello_world") <-- what's wrong with that? [02:34] zemanel: because a recipe is 1 or more tasks [02:34] arg0s has joined the channel [02:34] isaacs: right [02:34] isaacs: (not getting it, i guess) [02:34] zemanel: https://github.com/zemanel/node-cakery/blob/master/src/cakery/recipes/hello_world.coffee [02:34] zemanel: it basically includes the recipe functions on the dev Cakefile [02:34] isaacs: hm... this language confuses me. [02:35] zemanel: no worries its all js [02:35] isaacs: can you express that in javascript? [02:35] zemanel: ca Cakefile is a js file [02:35] isaacs: i mean https://github.com/zemanel/node-cakery/blob/master/src/cakery/recipes/hello_world.coffee [02:35] zemanel: with functions, "task('foobar') [02:35] isaacs: is task a function, then? [02:35] zemanel: yes [02:35] isaacs: why not just export it? [02:36] isaacs: oh, are you calling the function? or defining it? [02:36] zemanel: a cakefile is just a js file with Task() functions [02:37] zemanel: pretty much like fabric [02:37] zemanel: (dunno if you know what it is [02:37] isaacs: the only .akefiles i know are Makefiles [02:37] zemanel: yeah like a Makefile [02:37] isaacs: but... this isn't in make syntax. [02:37] isaacs: you're not defining a target and the things it depends on, and then zero or more shell commands [02:37] zemanel: its in coffeescript sintax [02:38] zemanel: you can define a task like 'task "cakery:recipe:compile"' [02:38] dgathright has joined the channel [02:38] isaacs: is that a function call? [02:38] zemanel: and call $cake cakery:recipe:compile [02:38] zemanel: yeah coffee compiles it to a js funct [02:38] isaacs: like task("cakery:recipe:compile")? [02:38] tim_smart: isaacs: https://github.com/jashkenas/coffee-script/blob/master/src/cake.coffee [02:38] isaacs: or like function task () { cakery:recipe:compile } [02:39] isaacs: i actually don't know coffee script very well at all. [02:39] nerdy_ has joined the channel [02:39] isaacs: i find it disastrously confusing to look at. [02:39] zemanel: heh :-) [02:39] zemanel: anyway its a file of functions [02:39] isaacs: so, you want your module to be "inlined" in another module, then? [02:40] isaacs: so that you can call task() in there, instead of in your module? [02:40] tim_smart: isaacs: Basically it extends the global object with task, invoke and option methods. [02:40] zemanel: no [02:40] isaacs: zemanel: i'm completely not grokking what it is you're trying to do [02:40] _jhs has left the channel [02:40] zemanel: basically on a cakefile (js file), i require another js file [02:40] schwab has joined the channel [02:40] isaacs: k [02:40] zemanel: and it adds those functions to the 1st [02:40] deedubs has joined the channel [02:40] zemanel: wihtou module exports and etc [02:41] zemanel: which is good [02:41] isaacs: "adds those functions to the 1st" [02:41] isaacs: what does that mean? [02:41] zemanel: because when you run $cake [02:41] isaacs: it calls functions? [02:41] heavysixer has joined the channel [02:41] isaacs: or it adds stuff into the scope of the original cakefile module? [02:41] zemanel: it will list the Cakefile task, plus tho ones inline [02:41] zemanel: yep exactly [02:41] isaacs: (it was multiple choice, not true/false) [02:41] tylerstalder has joined the channel [02:42] zemanel: it adds stuff into the scope of the original cakefile module [02:42] kriszyp has joined the channel [02:43] zemanel: http://paste.pocoo.org/show/478325/ [02:43] isaacs: dominictarr: the acronym should be for: Streaming, Lightweight, Event-Emitting, Persistence [02:44] isaacs: dominictarr: SLEEP [02:44] isaacs: dominictarr: like REST [02:44] zemanel: isaacs: so, if on an empty Cakefile, i add 'require "cakery/recipes/hello_world"' [02:44] dominictarr: but better! [02:44] isaacs: right! [02:44] zemanel: it will add the hello_world functs to the cakefile, hence the 'recipes' thing [02:45] dominictarr: 'cos that is what your servers will be doing [02:45] isaacs: zemanel: well, it'll call "task" in that other module, yeahj. [02:45] zemanel: so i can create common tasks, that are useful across projects, like building, cleaning, etc [02:45] zemanel: tha tcan be shared with the community [02:45] zemanel: prety much like Homebrew doees [02:46] zemanel: for example, express has a command ("express") to jumstart a new project, right? [02:47] paulwe has joined the channel [02:48] zemanel: what i want is to create a dict config that an be accessible from the Cakefiles and other modules [02:48] tim_smart: zemanel: require('cakery').bake('hello_world') or something? [02:48] zemanel: that was about replacing the inlining approach [02:49] zemanel: i was looking into something like [02:49] zemanel: var cakery = require('cakery') [02:49] tim_smart: Does require('module_name/submodule') work? [02:49] zemanel: cakery.set("someconfig", "some value") [02:49] zemanel: which is easy [02:50] isaacs: tim_smart: sure. [02:50] isaacs: tim_smart: the require('foo') just maps to a folder named 'foo' [02:50] isaacs: so you can dive right in there [02:50] isaacs: require("npm/lib/install") [02:50] tim_smart: isaacs: node_modules/module/submodule/index.js? [02:51] panfist: 2 [02:51] isaacs: tim_smart: sure, if that's where the file lives [02:51] tim_smart: isaacs: Cool [02:51] dgathright has joined the channel [02:51] tim_smart: ACTION should look at module.js or w/e [02:52] isaacs: tim_smart: you don't need the 'node_modules/' bit on there, though [02:52] tim_smart: isaacs: That was just an example path from project root [02:52] isaacs: tim_smart: all described here: http://nodejs.org/docs/v0.5.7/api/modules.html [02:54] onethirtyfive has left the channel [02:54] zemanel: isaacs: anyway nvmd i think im messing up different concepts [02:54] isaacs: ACTION requires sushi [02:57] zemanel: the project is this https://github.com/zemanel/node-cakery , the README is verbose :-) [02:57] zemanel: gonna play some HL2 on the quest for answers [02:57] JWarm: Hey guys, I'm trying to choose a solution for deploying node.js: Forever or upstart… or is using nohup really enough? [02:57] skm has joined the channel [02:59] dynacker: using node.js in production? [02:59] dynacker: i've used forever, it felt pretty good [03:00] JWarm: Alright… that is good enough for me ;) [03:00] dynacker: http://blog.nodejitsu.com/keep-a-nodejs-server-up-with-forever [03:00] JWarm: Thanks dynacker [03:00] dynacker: np [03:01] toreym has joined the channel [03:01] AvianFlu: JWarm: nodejitsu uses forever in production, it's a solid tool [03:02] Isaiah has joined the channel [03:02] JWarm: Thanks, AvianFlu [03:02] JWarm: Right on! [03:02] brianseeders has joined the channel [03:02] Votaguz has joined the channel [03:04] dominictarr: mikeal: are you about? [03:04] joshkehn has joined the channel [03:04] mbrevoort has joined the channel [03:06] robhawkes has joined the channel [03:07] Votaguz has joined the channel [03:08] joshkehn has left the channel [03:08] Votaguz has left the channel [03:08] Votaguz has joined the channel [03:11] JakeyChan has joined the channel [03:14] k1ttty has joined the channel [03:14] sub_pop has joined the channel [03:15] socketio\test\56 has joined the channel [03:18] NetRoY has joined the channel [03:18] cliffano has joined the channel [03:20] temp01 has joined the channel [03:22] stash1 has joined the channel [03:24] socketio\test\32 has joined the channel [03:26] akiva: Anyone have any good "deploying a Node.js site" articles? Tips, optimizations, etc? [03:30] tilgovi has joined the channel [03:30] tilgovi has joined the channel [03:32] jldbasa has joined the channel [03:33] nerdy_ has joined the channel [03:36] z6Dabrata has joined the channel [03:36] rfay has joined the channel [03:40] Spion has joined the channel [03:40] deedubs_ has joined the channel [03:41] dexter_e has joined the channel [03:43] rurufufuss has joined the channel [03:45] Skyec has joined the channel [03:47] Skyec: hi guys. I found this channel through a google search about debugging. Is it still true that ndb is buggy and using eclipse V8 plug-in is preferred? [03:50] dmkbot has joined the channel [03:50] jeffContext has joined the channel [03:52] EvRide has joined the channel [03:53] raidfive has joined the channel [03:55] pen has joined the channel [03:56] andoriyu has joined the channel [03:56] cjm has joined the channel [03:57] jldbasa has joined the channel [03:57] andoriyu: I was asking couple days ago about http basic auth in expess.js. Is there any easy way to enable auth to all routes, but one? [03:59] slifty has joined the channel [04:00] arg0s has joined the channel [04:00] CarterL has joined the channel [04:00] Drakonite has joined the channel [04:01] mynyml has joined the channel [04:02] jetienne has joined the channel [04:03] piscisaureus__ has joined the channel [04:06] boltR has joined the channel [04:08] arg0s has joined the channel [04:09] torsd has joined the channel [04:12] saikat_ has joined the channel [04:14] shipit_ has joined the channel [04:14] meso has joined the channel [04:18] davidbanham: andoriyu: Are you looking for something even less verbose than just adding your auth middleware to each route you want to protect? [04:18] shedinja has joined the channel [04:19] shedinja: In node is there a variable like `window` in the browser that allows me to set global variables dynamically? [04:19] bombworm has joined the channel [04:20] arg0s has joined the channel [04:21] sneakyness has joined the channel [04:22] pen has joined the channel [04:22] hermanjunge has joined the channel [04:22] jetienne has joined the channel [04:23] mikeal has joined the channel [04:23] chjj: shedinja: the global object in node is just called global [04:24] chjj: shedinja: or root [04:24] losing has joined the channel [04:25] shedinja: chjj: thank you [04:25] isaacs has joined the channel [04:29] jldbasa has joined the channel [04:30] andoriyu: davidbanham, something less [04:31] davidbanham: andoriyu: I've always just been pretty happy to type app.get('/cpadd', requiresAdmin, function(req, res) { or similar for each route. Haven't felt the need to go sparser. [04:32] JWarm: Hey all, I just installed node.js. How do I set the node path? [04:33] davidbanham: JWarm: What OS? [04:33] JWarm: Ubuntu 11.4 [04:33] losing has joined the channel [04:33] CIA-54: node: 03Ryan Dahl 07domains * r517604b 10/ lib/dns_uv.js : Fix test-domains.js - http://git.io/hQpqRg [04:33] CIA-54: node: 03Ryan Dahl 07domains * re1eee5b 10/ (lib/domains.js lib/timers_uv.js test/simple/test-domains2.js): domains: handle not being removed correctly - http://git.io/sNFZTA [04:33] CIA-54: node: 03Ryan Dahl 07domains * rafa08ad 10/ (lib/domains.js lib/timers_uv.js src/node.js): Fix test-domains2.js - http://git.io/RSb6NQ [04:34] davidbanham: JWarm: Add this to your .bashrc - export PATH=/path/to/dir:$PATH [04:34] JWarm: Okay [04:34] JWarm: Thanks david [04:34] davidbanham: No probs. [04:34] JWarm: Quick question. I just npm'ed Forever… should I uninstall or npm install forever again? [04:34] JWarm: I don't know how this affects everything else... [04:35] jmoyers has joined the channel [04:35] guillermo has joined the channel [04:35] davidbanham: Did you npm install -g Forever or just npm install Forever? [04:36] JWarm: the latter. [04:37] andoriyu: davidbanham, I solved problem very brute way — no public routes :) but thx anyway [04:38] davidbanham: So you've installed it into whatever directory you happened to be in at the time. This is the preferred behaviour for most npm modules, because it means you can have different versions of packages etc for different apps you're working on. I don't use Forever, but I'm guessing (maybe wrongly) that it's like nodemon in that it makes more sense to install it globally. [04:38] andoriyu: hmm, what about digest auth... [04:38] davidbanham: andoriyu: No worries. [04:38] gxdssoft has joined the channel [04:39] svnlto has joined the channel [04:39] JWarm: Okay. Thanks a lot David!! [04:39] skm has joined the channel [04:39] JWarm: You the man@ [04:39] JWarm: ! [04:39] davidbanham: JWarm: No probs, best of luck with it all! [04:40] towski has joined the channel [04:40] avih has joined the channel [04:42] stonebranch has joined the channel [04:42] andoriyu: can't find how to use digest auth O_o [04:43] saikat__ has joined the channel [04:43] luke`_ has joined the channel [04:45] saikat___ has joined the channel [04:45] JaKWaC has joined the channel [04:46] skratool has joined the channel [04:48] JWarm: Hey all, I just installed forever globally and tried running it, but I'm getting this error: Cannot find module '../build/default/daemon' [04:48] andoriyu: davidbanham, how to use digest auth with express.js? [04:48] trevorgreen_ has joined the channel [04:49] dshaw_ has joined the channel [04:49] davidbanham: andoriyu: No idea, never used http authentication with express. I rolled my own authentication code, which is easier than you may think with express. This also looks pretty slick: https://github.com/bnoguchi/everyauth [04:50] fangel has joined the channel [04:51] Daegalus has joined the channel [04:52] andoriyu: davidbanham, i need something very flexible — Basic/Digest + via token [04:53] JaKWaC has joined the channel [04:53] mikeal has joined the channel [04:53] skiz has joined the channel [04:53] chrisdickinson: any node folk at strangeloop? [04:53] davidbanham: andoriyu: I'm not sure, I'm afraid. It's not a problem I've ever had to solve. [04:54] andoriyu: ok, how to use next() ? [04:55] davidbanham: andoriyu: http://expressjs.com/guide.html#route-middleware [04:58] jchris has joined the channel [04:58] liveink has joined the channel [04:58] andoriyu: oh, that's easy [04:59] lovesh has joined the channel [05:00] JWarm: Sorry to repost this guys, but I've just installed forever (npm install forever -g) but when I try to run it I get this error: Cannot find module '../build/default/daemon' [05:00] ben_ has joined the channel [05:00] jl_2 has joined the channel [05:00] JWarm: Any solutions or links would be super appreciated! [05:00] lovesh: have a trouble installing socket.io from npm. someone has a minute? [05:00] ecin has joined the channel [05:01] dexter_e has joined the channel [05:02] maxdev has joined the channel [05:03] meso has joined the channel [05:04] lovesh: @meso hi have a minute? [05:05] nuck has joined the channel [05:05] sebastianedwards has joined the channel [05:07] crescendo|laptop has joined the channel [05:07] crescendo|laptop has joined the channel [05:07] sebastia_ has joined the channel [05:07] Aikar: SubStack: if im reading it right, node-markov stores the db in memory?, any plans to make it read from a db on .respond() etc to not store entire db in memory? [05:08] topaxi has joined the channel [05:08] davidbanham: JWarm: lovesh: Could you both put your full error outputs in a gist? Really helps to have everything available when trying to diagnose this kind of thing. [05:08] JWarm: Sure [05:09] lovesh: yes [05:09] crescendo|laptop: Anyone have an example of using express.js routing for faye channel subscriptions? [05:09] lovesh: @davidbanham> but the error lisying is very long.should i enter it here? [05:09] beeviz has joined the channel [05:10] davidbanham: lovesh: No, pop it in a gist and then just give us the URL to it. https://gist.github.com/ [05:10] lovesh: ok doing that [05:11] andoriyu has joined the channel [05:11] JWarm: davidbanham: http://jsfiddle.net/jwarmkessel/wYFKV/ [05:12] alnewkirk has joined the channel [05:12] lovesh: @davidbanham here is the url https://gist.github.com/1226006 [05:12] JWarm: I'm running node 0.5.8-pre [05:13] davidbanham: JWarm: Looks like it hasn't installed its dependencies correctly. Tried npm install -g daemon ? [05:13] akiva_ has joined the channel [05:13] JWarm: not yet..should i specify a version or is "daemon" good [05:13] lovesh: ok [05:13] davidbanham: JWarm: Just try daemon, first. There's every chance that 0.5 will break it, though. [05:14] rfay has joined the channel [05:15] JWarm: Still getting the same error [05:15] davidbanham: lovesh: I have absolutely no idea what is going on there. [05:15] max_dev has joined the channel [05:15] lovesh: @davidbanham daemon istalled successfully [05:16] davidbanham: JWarm: It might just be that daemon or forever or both are broken on 0.5 Maybe try installing 0.4.11 and see what happens? [05:16] jacobolus has joined the channel [05:16] JWarm: Okay, what is the cleanest way to delete the current version of node? [05:16] davidbanham: lovesh: Sorry, I was telling JWarm to install daemon. I have no idea at all what will help the issues you're seeing. [05:16] JWarm: can i just rm the node file? [05:16] lovesh: but the same error with installing socket.io [05:17] lovesh: @davidbanham ok [05:17] davidbanham: JWarm: Not sure if it's completely kosher or not, but I've just installed over the top of it in the past and not had any problems. Node is pretty clean in the way it installs. [05:17] JWarm: Cool, thanks! [05:18] SubStack: Aikar: no plans to do that, I only use node-markov for silly rap battles [05:18] lovesh: @@issacs i have some trouble installing socket.io with npm have a minute [05:18] SubStack: Aikar: but if you want to make the backend pluggable, pull requests accepted! [05:22] shipit has joined the channel [05:23] stash1 has joined the channel [05:23] lovesh: @stash1 hi [05:24] stash1: hi? [05:25] linkgoron has joined the channel [05:26] shipit_ has joined the channel [05:26] boltR has joined the channel [05:27] blueadept`: anyone know how i can get my JSON data formatted like it's structure instead of on a 1 line? http://pastie.org/private/kgol7xaxrnnyslsrku7g [05:27] pt_tr has joined the channel [05:29] thalll has joined the channel [05:31] andrewff1 has joined the channel [05:31] Aikar: blueadept`: JSON.stringify(json, true) prettifies it [05:31] ecin has joined the channel [05:33] blueadept`: hm [05:33] blueadept`: still didn't work [05:34] blueadept`: hm [05:34] blueadept`: JSON.stringify(a, null, '\t') works [05:34] blueadept`: but only in curl [05:34] JWarm: Hey David, I tried installing node 0.4 over 0.5 and did this: node --version (output still: node 0.5) [05:35] JWarm: So I removed the files and tried installing again, but now I can't find node at all anymore. I used this example: http://davestevens.us/articles/setting-up-nodejs-on-webfaction-revised [05:35] blueadept`: doesn't seem like the right way to do it though [05:35] chapel: blueadept`: where are you outputting the data? [05:35] chapel: or where do you want it to be formatted? [05:36] blueadept`: having it formatted for curl is fine, and it works if i stringify it, but i'd rather have the JSON formatted without stringifying it [05:36] JWarm: Nevermind.. I tried something different and its working again [05:37] blueadept`: chapel: i'm just outputting it into terminal [05:37] chapel: is it json already? [05:37] blueadept`: yes [05:37] blueadept`: hm, wait, perhaps not [05:37] blueadept`: it's an object, but not json per se [05:38] chapel: then just util.inspect or console.dir it [05:38] blueadept`: ah [05:40] blueadept`: yeah that's it [05:40] blueadept`: awesome, ty [05:40] JWarm: Hey guys, I just tried installing Forever on my ubuntu 11.4 server and node 0.4 and it's not working. I get an error about something with the Daemon module. [05:40] JWarm: Would you guys recommend going with upstart instead? [05:40] JWarm: Forever was pretty highly rated, but I can't get it working. [05:41] JWarm: Here's the error: http://jsfiddle.net/jwarmkessel/wYFKV/ [05:41] joe-f2 has joined the channel [05:41] dexter_e has joined the channel [05:41] JWarm: If anyone has a solution for this that would be awesome. If not, do you guys recommend upstart? [05:42] Net_RoY has joined the channel [05:43] stepheneb has joined the channel [05:44] saikat has joined the channel [05:44] neoesque has joined the channel [05:47] JakeyChan has joined the channel [05:50] Aikar: TypeError: Illegal access to a strict mode caller function. [05:50] Aikar: err, tried my code on 0.5.7 [05:50] Aikar: why is strict mode getting enforced on my code? [05:53] sebastianedwards has joined the channel [05:55] Peniar has joined the channel [06:00] SamuraiJack has joined the channel [06:01] blueadept`: chapel: do you know if there is a way to do pretty json with res.json ? [06:01] blueadept`: using express [06:01] JWarm: Does anyone have any experience using upstart on ubuntu 11.4? [06:01] chapel: umm, thats up to the receiving end [06:01] chapel: any formatting you do would break the json [06:01] shedinja: Is there a simple node.js smtp server for unit testing? I'm testing a service that sends an email and I want to confirm that the email is send and want to be able to read it. [06:02] JWarm: I just modified the upstart-udev-bridge.conf file and it's not working [06:02] JWarm: I deleted the entire content and replaced it with an example I found online: http://howtonode.org/deploying-node-upstart-monit [06:03] mraleph has joined the channel [06:05] Aikar: any idea why im getting strict errors on 0.5.7 but not 0.4.12? I didn't put "use strict" anywhere.. [06:05] Aikar: i checked node source, cant find what could be doing it [06:05] andoriyu: Aboyt deploy — https://github.com/nodejitsu/haibu might be useful [06:05] andoriyu: about* [06:07] sneakyness has left the channel [06:07] kenperkins has joined the channel [06:09] trevorgreen_ has joined the channel [06:09] Frippe has joined the channel [06:09] blueadept`: chapel: figured it out, stringify then set contentType to 'json' [06:10] t_ has joined the channel [06:11] cryptopsy has joined the channel [06:12] andoriyu: blueadept`, if you have ruby — gem install json and then send ugly json into the pipe "| prettify_json.rb" [06:13] mikl has joined the channel [06:14] jonrohan has joined the channel [06:19] ph^ has joined the channel [06:19] den512 has joined the channel [06:20] ajpiano has joined the channel [06:21] bEEEviz has joined the channel [06:21] jmoyers has joined the channel [06:24] kbni has joined the channel [06:24] andoriyu: another question about expess.js and auth [06:25] thalll has joined the channel [06:25] andoriyu: I'm trying to make my own middleware for auth, in adition to express.basicAuth [06:26] andoriyu: before I performe basciAuth i want to perform tokey auth, and if client already recived cleranc I wanto skip basicAuth [06:28] jetienne has joined the channel [06:31] yozgrahame has joined the channel [06:31] tyler-iphone has joined the channel [06:33] DoNaLd` has joined the channel [06:34] ttpva has joined the channel [06:35] ajpiano has joined the channel [06:37] rendar has joined the channel [06:38] stonebranch has joined the channel [06:38] blaenk has joined the channel [06:38] blaenk has joined the channel [06:39] cjheath has joined the channel [06:40] ako has joined the channel [06:40] tylerstalder has joined the channel [06:43] SamuraiJack_ has joined the channel [06:44] den512 has left the channel [06:44] ivanfi has joined the channel [06:47] rknLA has joined the channel [06:49] `3rdEden has joined the channel [06:50] ajpiano has joined the channel [06:52] admc has joined the channel [06:52] levi501d has joined the channel [06:52] dexter_e has joined the channel [06:53] garrensmith has joined the channel [06:53] rknLA: does anyone know if cradle automatically encrypts passwords? [06:54] robotmay has joined the channel [06:55] pen has joined the channel [06:55] githogori has joined the channel [06:55] FIQ|screen has joined the channel [06:56] guidocalvano has joined the channel [06:59] max_dev has joined the channel [06:59] kurtzhong has joined the channel [07:01] emattias has joined the channel [07:01] groom has joined the channel [07:03] sub_pop has joined the channel [07:05] Margle has joined the channel [07:05] fangel has joined the channel [07:10] beevi7 has joined the channel [07:10] mike5w3c has joined the channel [07:11] __doc__ has joined the channel [07:12] simenbrekken has joined the channel [07:13] Pierre_N has joined the channel [07:15] dshaw_ has joined the channel [07:16] raphdg has joined the channel [07:19] FireFly|n900 has joined the channel [07:19] wye has joined the channel [07:19] wye has left the channel [07:20] AAA_awright has joined the channel [07:21] djcoin has joined the channel [07:22] mikedeboer has joined the channel [07:22] SubStack: hmmm search.npmjs.org has stars now! [07:22] ppcano_ has joined the channel [07:23] cjheath_ has joined the channel [07:23] ppcano_ has joined the channel [07:25] pgherveou has joined the channel [07:26] AvianFlu: sweet [07:26] descipher has joined the channel [07:28] bingomanatee__ has joined the channel [07:29] jacobolus has joined the channel [07:30] swestcott has joined the channel [07:31] Xano has joined the channel [07:32] AAA_awright_ has joined the channel [07:32] ablomen has joined the channel [07:33] spathi has joined the channel [07:34] [AD]Turbo has joined the channel [07:34] madsleejensen has joined the channel [07:34] daglees has joined the channel [07:34] daglees has joined the channel [07:35] dexter_e: Anyone know how to limit the use(static) to only match files in one route? [07:36] dexter_e: basically prevent static file lookups for everything except /static/ [07:36] Emmanuel: do you guys know of a web crawler that interprets JS ? [07:37] AAA_awright: Like Googlebot? [07:37] Emmanuel: I'm suppose to scrap a website who was generated to avoid SEO [07:37] Emmanuel: (I'm not kidding) [07:37] Emmanuel: all the links are javascript string, concatenated then ducoment.written [07:37] Emmanuel: AAA_awright: maybe [07:37] AAA_awright: Googlebot does run scripts on pages [07:37] Emmanuel: so basically I want something that get the page, built the DOM by executing the JS [07:38] AAA_awright: That doesn't mean it's a good idea [07:38] Emmanuel_ has joined the channel [07:38] Emmanuel_: d'oh [07:38] dexter_e: Emmanuel: JSDOM+Jquery works great [07:38] Emmanuel_: yeah, but I'll have to write it :) [07:39] dexter_e: Well, you'll have to know what you're looking for [07:39] dexter_e: It will be easy to snapshot the state of the page [07:40] Emmanuel`: then I loop through all the links [07:40] secoif has joined the channel [07:40] Emmanuel`: and start again [07:41] grekko has joined the channel [07:42] Druid has joined the channel [07:44] Emmanuel`: well, I guess I'll come up with something with JSDOM [07:44] Emmanuel`: ACTION has bad memories of doing stuff with JSDOM [07:45] dexter_e: really ? [07:45] dexter_e: like what [07:45] Emmanuel`: but I reckon it is freakingly awesome [07:45] Emmanuel`: like understanding how it works :) [07:45] Emmanuel`: but this case should be simpler [07:45] _kud has joined the channel [07:45] Emmanuel`: don't even need jquery I think [07:45] Emmanuel`: just generate the DOM, save it, parse links, start again [07:46] Emmanuel`: just a bit of logic to avoid processing several time the same page [07:46] _JSilva has joined the channel [07:46] meso has joined the channel [07:47] DoNaLd` has joined the channel [07:47] iFire has joined the channel [07:48] [AD]Turbo: hi there [07:49] admc has joined the channel [07:50] joshthecoder has joined the channel [07:50] TheJH_phone has joined the channel [07:52] sdwrage has joined the channel [07:52] uchuff has joined the channel [07:53] BigWookie has left the channel [07:54] MrGoodbyte has joined the channel [07:56] Margle has joined the channel [07:56] dexter_e: Yeah good call [07:56] nuck: So, mikeal got quoted in Brendan Eich's presentation haha [07:57] ph^ has joined the channel [07:57] Skola has joined the channel [07:57] bergelmir has joined the channel [07:58] Skola: Are there any sublime text 2 plugins yet for node.js [07:59] sdwrage has left the channel [07:59] mpavel has joined the channel [07:59] confoocious has joined the channel [07:59] Nss has joined the channel [08:03] felixhummel has joined the channel [08:03] socketio\test\90 has joined the channel [08:03] FireFly|n900 has joined the channel [08:03] fly-away has joined the channel [08:05] arnee has joined the channel [08:06] Margle has joined the channel [08:06] nab has joined the channel [08:08] Phunky has joined the channel [08:15] mikl has joined the channel [08:16] bergelmir has joined the channel [08:16] irahgel has joined the channel [08:17] hellp has joined the channel [08:17] confoocious has joined the channel [08:18] mikl1 has joined the channel [08:20] liveink_ has joined the channel [08:20] liveink_ has left the channel [08:20] stalled has joined the channel [08:20] bergie has joined the channel [08:21] eldios has joined the channel [08:22] cosmincx has joined the channel [08:23] sebastia_ has joined the channel [08:23] vguerra has joined the channel [08:23] confoocious has joined the channel [08:24] robotmay has joined the channel [08:24] aron_ has joined the channel [08:25] groom has joined the channel [08:25] sylvinus has joined the channel [08:26] Nuck has joined the channel [08:26] Sebastien-L has joined the channel [08:27] Margle has joined the channel [08:30] niftylettuce: Skola: what are you looking for exactly? [08:30] FireFly|n900 has joined the channel [08:31] Glenjamin: Nuck: the harmony summary one? [08:31] pietern has joined the channel [08:31] Margle has joined the channel [08:31] hakaselab has joined the channel [08:31] jbpros has joined the channel [08:31] Nuck: Glenjamin: Huh? [08:31] Nuck: >_> [08:31] Nuck: <_> [08:31] Glenjamin: oh, time delay [08:31] mikeric_ has joined the channel [08:31] Glenjamin: heh - nuck So, mikeal got quoted in Brendan Eich's presentation haha [08:32] Glenjamin: which presentation? [08:32] Nuck: Glenjamin: At capjs iirc [08:32] k1ttty has joined the channel [08:32] hermanjunge: anybody here is on expressjs / jade? [08:33] hermanjunge: want to see how he/she configured vim [08:33] Epeli: hermanjunge: o/ [08:34] pgherveou has joined the channel [08:37] hermanjunge: good [08:37] kulor-uk has joined the channel [08:37] hermanjunge: what conf did you put to avoid making tabs at new lines? [08:38] piscisaureus_ has joined the channel [08:38] TheJH_phone: Yaaay! “npm star“ :) [08:39] TheJH_phone: Isaacs already starred mikeals “request“ :D [08:40] Glenjamin: npm star? [08:40] pen has joined the channel [08:41] TheJH_phone: Glenjamin, look at request in the registry, “people who starred npm“ [08:41] mikola has joined the channel [08:42] TheJH_phone: Glenjamin, the command for that is in npm master, but not in the current release [08:42] mikola: Hi, is anyone awake at this odd hour? [08:42] TheJH_phone: mikola, 10:42 here, im at school :( [08:43] beeviz has joined the channel [08:43] mikola: ok, I was wondering if there was a good way to tie together two connections in dnode [08:43] andoriyu has joined the channel [08:43] mikola: for example, I have a process which is acting as a gateway, and a number of worker processes [08:43] mikola: I would like to accept a connection at the gateway, then pass it off to one of the workers [08:44] mikola: though perhaps this is not an amazingly great idea [08:44] Glenjamin: it might be simpler to use nginx for that - assuming this is a cluster of web servers [08:44] adambeynon has joined the channel [08:45] mpavel has left the channel [08:45] mikola: hmmm [08:45] mikola: well, it is kind of a hobby project so I suppose I won't worry about it for now [08:46] anoop has joined the channel [08:46] TheJH_phone: mikola, you can pass a callback from one worker to another [08:46] mikola: yeah, but it would introduce some overhead [08:46] necrodearia has joined the channel [08:46] mikola: due to copying data through the center node twice [08:47] mikola: also passing the interface between the two dnode processes would be a bit annoying [08:47] liar has joined the channel [08:47] mikola: the main issue actually is figuring out how to get the RPC stuff to show up on the server on the other side of the router, if that makes any sense [08:47] mikola: ah, I am tired and I guess it probably won't matter so at this point I figure I might as well just leave it alone for now [08:48] Esteb has joined the channel [08:48] Skola: niftylettuce: a bit late, but anything really [08:48] Skola: actually not just node.js related [08:49] Skola: but I've just switched from vim to ST [08:49] Skola: and I'm trying to find out what's out theree [08:49] pibi has joined the channel [08:50] niftylettuce: Skola: https://github.com/uipoet/sublime-jshint [08:50] Margle has joined the channel [08:50] niftylettuce: Skola: http://www.sublimetext.com/docs/plugin-examples [08:50] niftylettuce: Skola: gl [08:51] ivanfi has joined the channel [08:51] niftylettuce: build snippets and then bind to hotkeys, workflow hyperspeed [08:52] pibi has left the channel [08:53] skm has joined the channel [08:53] kertz has joined the channel [08:54] aaronmcadam has joined the channel [08:54] pen has joined the channel [08:55] icebox has joined the channel [08:56] arg0s_ has joined the channel [08:56] kersny has joined the channel [08:57] Margle has joined the channel [08:57] Glenjamin has joined the channel [08:58] kulor-uk has joined the channel [08:59] davidbanham has joined the channel [09:00] pietern has joined the channel [09:00] burningdog has joined the channel [09:01] mhiku has joined the channel [09:05] klokie has joined the channel [09:06] kimico has joined the channel [09:07] irahgel has left the channel [09:08] klokie has joined the channel [09:08] Vertice has joined the channel [09:08] replore has joined the channel [09:08] replore_ has joined the channel [09:14] bzinger has joined the channel [09:15] dob_ has joined the channel [09:15] TomY has joined the channel [09:19] irahgel has joined the channel [09:19] irahgel has left the channel [09:21] Margle has joined the channel [09:22] klokie1 has joined the channel [09:22] JaKWaC has joined the channel [09:24] JaKWaC has joined the channel [09:26] versicolor has joined the channel [09:27] kurtzhong_ has joined the channel [09:27] JakeyChan_ has joined the channel [09:29] r00t__ has joined the channel [09:31] adrianmg has joined the channel [09:31] adrianmg has left the channel [09:32] Murvin has joined the channel [09:32] pen has joined the channel [09:33] dsirijus has joined the channel [09:35] bzinger has joined the channel [09:37] sylvinus has joined the channel [09:38] blup has joined the channel [09:39] himakumar has joined the channel [09:41] jetienne has joined the channel [09:44] junkee[] has joined the channel [09:45] Slashbunny has joined the channel [09:45] Shrink has joined the channel [09:47] jadeco has joined the channel [09:48] jadeco: hi [09:48] jadeco: i done a 'sudo npm install xx' .. where can i find the installed package ? [09:49] jadeco has left the channel [09:50] devaholic: node_modules [09:51] netlemur_ has joined the channel [09:52] jadeco has joined the channel [09:52] mikl has joined the channel [09:53] jadeco: hi all [09:53] blueadept has joined the channel [09:53] blueadept has joined the channel [09:54] jadeco has left the channel [09:54] Skomski has joined the channel [09:54] k1ttty has joined the channel [09:54] shipit has joined the channel [10:04] wolftankk has joined the channel [10:08] eldios: how do I use a value inside the package.json? file= fs.ReadFileSync(file) ; var value = file.value ; [10:09] Glenjamin: JSON.parse [10:09] eldios: how do I use a value inside the package.json? file= JSON.parse(fs.ReadFileSync(file)) ; var value = file.value ; [10:09] eldios: uops sorry [10:09] eldios: file= JSON.parse(fs.ReadFileSync(file)) ; var value = file.value ; [10:09] eldios: like this? [10:09] Glenjamin: yup [10:09] eldios: k thanks [10:12] wee has joined the channel [10:12] aaronmcadam has joined the channel [10:16] bzinger has joined the channel [10:17] Ezku\ has joined the channel [10:18] kulor-uk has joined the channel [10:18] vns has joined the channel [10:20] Remoun has joined the channel [10:20] thalll has joined the channel [10:22] pgherveou: hello there I am building a module I would like to require in different locations in my app how do I make sure the class I define inside the module is created only once is there some kind of singleton pattern I should use ? [10:23] Glenjamin: why do you think you need a singleton? [10:24] whitman has joined the channel [10:24] konobi: pgherveou: all required modules are only loaded once [10:25] svnlto has joined the channel [10:26] jetienne has joined the channel [10:26] pgherveou: so if I instanciate an object and export it in my module second call to require will just give me te object without creating a second time ? [10:27] SubStack: correct [10:27] Glenjamin: yeah, but singletons are generally a pain to test properly [10:27] bergie: pgherveoy: What I do in NoFlo to solve this is: exports.getComponent = -> new Component [10:28] pgherveou: that works for me, do you have any resource to point me so I can understand the process better [10:28] irahgel has joined the channel [10:28] pgherveou: bergie what if my constructor take parameters ? [10:30] DennisRasmussen has joined the channel [10:31] pgherveou: supid question got you [10:33] stagas has joined the channel [10:34] davidbanham has joined the channel [10:38] cjroebuck has joined the channel [10:41] cosmincx has joined the channel [10:46] madsleejensen has joined the channel [10:46] pickels has joined the channel [10:46] azeroth_ has joined the channel [10:47] jldbasa has joined the channel [10:47] jmoyers has joined the channel [10:48] kbni has joined the channel [10:50] andrewthemerry has joined the channel [10:51] andrewthemerry has joined the channel [10:51] andrewthemerry: join #nodester [10:51] xerox: I refuse [10:52] uchuff has joined the channel [10:52] andrewthemerry: lol [10:52] andrewthemerry: trying to work this webchat [10:52] andrewthemerry: to ask about fatal errors [10:53] necrodearia has joined the channel [10:59] koo6 has joined the channel [10:59] weepy has joined the channel [10:59] weepy: hi - I want to stream a file that's being written live. E.g. a bit like tail -f [11:00] weepy: the trouble is that once the read stream gets to the end - it emits an "end" event and no more reads happen [11:00] weepy: anyone know how to get around this ? [11:00] pen_ has joined the channel [11:02] netlemur_: weepy, you have to watch the file for changes [11:03] weepy: thanks netlemur_ , so fs.watchFile( "", -) [11:04] netlemur_: weepy, https://github.com/cloudkick/cast/blob/develop/lib/util/tail.js perhaps that helps [11:04] secoif has joined the channel [11:04] chjj: weepy: yeah you could do that, it will get a little more complicated because youll want to open the file and directly read the last few bytes that were written [11:05] netlemur_: I use that for a monitoring app that reads logfiles and outputs graphs [11:05] netlemur_: in realtime [11:05] weepy: aah sweet [11:05] weepy: im generating audio [11:05] weepy: and i want to stream it in real time to an audiotag [11:05] weepy: right now it's appending to a tmp.wav file [11:05] netlemur_: oh. don't know anything about audio :-) [11:06] weepy: it's basically the same [11:06] netlemur_: what's writing into the file? sounds interesting [11:07] weepy: ive written a little audio processing language in C++ and Lua [11:07] weepy: so im running it as a child process to a node server [11:08] weepy: then im streaming the audio back to the client [11:08] wbednarski has joined the channel [11:09] meso has joined the channel [11:12] Glenjamin: could you have the script write back down stdout instead of via a file? [11:13] jtsnow has joined the channel [11:14] weepy: Glenjamin: yes - stout is a file essentially - why do you ask ? [11:18] Glenjamin: if you had the C++ process pipe the data over stdout, you wouldn't get an end event unless you closed the stream [11:19] Glenjamin: the problems you're having seem to be because of the file as an intermediary [11:19] groom has joined the channel [11:19] weepy: oh i see [11:19] mc_greeny has joined the channel [11:19] weepy: the process is Lua [11:20] weepy: im using stdout for reporting events back [11:20] thalll has joined the channel [11:20] brianseeders has joined the channel [11:20] weepy: it would be great to be able to open a file as a stream ? [11:21] Glenjamin: you can, but theres no way to know if its a clean end or not if the lua process is still writing it seems [11:21] _kud has joined the channel [11:22] davidbanham has joined the channel [11:23] weepy: is it possible to just assume that it never ends [11:23] weepy: need createReadStream allowHalfOpen: true [11:25] beevi7 has joined the channel [11:26] klokie has joined the channel [11:27] temp02 has joined the channel [11:28] thalll has joined the channel [11:29] bzinger has joined the channel [11:29] JakeyChan has joined the channel [11:30] eduke has joined the channel [11:36] guidocalvano has joined the channel [11:41] zastaph has joined the channel [11:43] z6Dabrata has joined the channel [11:50] bshumate has joined the channel [11:50] bshumate has joined the channel [11:50] Cromulent has joined the channel [11:50] NewCoder has joined the channel [11:53] Shrink has joined the channel [11:56] josch has joined the channel [11:57] josch: hi, I need CoAP support for node - would a patch that adds this functionality desirable? [11:57] josch: I would implement it using libcoap [11:58] hkjels has joined the channel [11:58] avih has joined the channel [11:58] hkjels: how can I check if a user has homebrew installed using node? [11:59] hkjels: try { exec } or is there a better way..? [11:59] JakeyChan has joined the channel [11:59] swestcott_ has joined the channel [11:59] konobi: josch: doubtful that it would go in core... any reason you couldn't implement it as an npm module? [12:00] k1ttty has joined the channel [12:00] josch: konobi: no, i was just wondering if as module or not [12:01] konobi: yeah, i'd go for it as a module [12:01] mehtryx has joined the channel [12:02] mpavel has joined the channel [12:05] avih has joined the channel [12:05] mpavel has left the channel [12:08] mac^ has joined the channel [12:08] avih has joined the channel [12:08] davidbanham has joined the channel [12:11] avih has joined the channel [12:11] jakehow has joined the channel [12:13] boaz has joined the channel [12:13] bzinger has joined the channel [12:14] ryanmcgrath has joined the channel [12:16] Lemon|mbp has joined the channel [12:19] cjm has joined the channel [12:21] geojeff has joined the channel [12:24] tom123 has joined the channel [12:24] tom123: Anyone here use Mongoose? [12:25] tom123: I have a question about populate; [12:25] tom123: How do I create a query that populates recursively? [12:25] Poetro has joined the channel [12:26] _kud has joined the channel [12:26] xavier__ has joined the channel [12:26] madsleejensen has joined the channel [12:27] xavier__: Hi, want to write a node.js module to access civicrm api. Which of the existing API modules you find the best? I'm looking for "inspiration" and in the mood of stealing with pride ;) [12:28] irahgel has joined the channel [12:29] Morkel has joined the channel [12:29] Raynos: If someone says "Hey we should have file based routing like PHP". And he does not see reason. How does one shut him down [12:29] fumanchu182 has joined the channel [12:30] fumanchu182 has joined the channel [12:30] Raynos: Is there actually good reason to want file based routing? [12:30] Morkel: Does anyone know a service like archive.org [12:31] stepheneb has joined the channel [12:32] Poetro has joined the channel [12:32] madsleejensen has left the channel [12:34] marcello3d has joined the channel [12:34] crodas has joined the channel [12:34] kriszyp has joined the channel [12:34] adrianmg1 has joined the channel [12:36] adrianmg has joined the channel [12:36] BillyBreen has joined the channel [12:36] Glenjamin: Raynos: who's "we" in this scenario? [12:36] Glenjamin: there's no reason some middleware couldn't do file-based routing [12:37] Raynos: "we" he was implying file based routing should be a defacto standard for everyone. [12:38] Glenjamin: well thats silly [12:38] Raynos: But I see your point, it wouldnt be too hard to do it with middleware [12:38] adrianmg has left the channel [12:38] deedubs has joined the channel [12:39] Guest_ has joined the channel [12:39] hebz0rl has joined the channel [12:40] ceej has joined the channel [12:40] madsleejensen has joined the channel [12:41] thoolihan has joined the channel [12:41] Vertice has joined the channel [12:42] thalll has joined the channel [12:43] cole_gillespie has joined the channel [12:43] deadman87 has joined the channel [12:44] ph^ has joined the channel [12:46] bzinger has joined the channel [12:47] erichynds has joined the channel [12:48] unomi has joined the channel [12:51] Morkel has joined the channel [12:52] cjheath has joined the channel [12:53] febits has joined the channel [12:55] petrjanda has joined the channel [12:55] jess has joined the channel [12:55] rootslab has joined the channel [12:59] skript has joined the channel [13:00] davidsklar has joined the channel [13:00] hacksparrow has joined the channel [13:01] normanrichards has joined the channel [13:03] robotmay has joined the channel [13:04] random123 has joined the channel [13:05] davidc_ has joined the channel [13:06] irahgel has joined the channel [13:06] davidc_ has joined the channel [13:10] davidwalsh has joined the channel [13:12] luke` has joined the channel [13:12] mike5w3c has joined the channel [13:13] vns has joined the channel [13:14] amigojapan has joined the channel [13:14] fangel has joined the channel [13:14] criswell has joined the channel [13:15] slifty has joined the channel [13:16] d_low_ has joined the channel [13:18] adambeynon has joined the channel [13:19] thomblake has joined the channel [13:19] thomblake has left the channel [13:22] fly-away has joined the channel [13:23] patrickgamer has joined the channel [13:23] patrickgamer has left the channel [13:25] aron_ has joined the channel [13:26] yept has joined the channel [13:27] mehlah has joined the channel [13:28] olivier__ has joined the channel [13:28] Aikar: hmm weird. Optimist takes 176ms to load through Traceur O.o.. i really like traceur but really starting to doubt being able to use it if performance is gonna be this bad [13:29] Aikar: i guess ima have to just fall back to joose [13:30] ksheurs has joined the channel [13:32] sfoster has joined the channel [13:32] cjroebuck has joined the channel [13:34] MUILTFN has joined the channel [13:35] jslatts has joined the channel [13:36] cclever has joined the channel [13:37] bzinger has joined the channel [13:38] cclever: Hi there. Does anyone know about a way to access php sessions from node.js stored in memcache. I want to authenticate a user by checking, if there is a valid session for him [13:40] rubenhop has joined the channel [13:40] DrMcKay has joined the channel [13:43] SimonR has joined the channel [13:45] eee_c has joined the channel [13:46] arg0s has joined the channel [13:46] spcshpopr8r has joined the channel [13:46] asdf_ has joined the channel [13:48] joshkehn has joined the channel [13:48] issackelly_ has joined the channel [13:49] devongovett has joined the channel [13:50] markwubben has joined the channel [13:51] issackelly_ has joined the channel [13:53] baudehlo has joined the channel [13:53] PuffTheMagic has joined the channel [13:53] blueadept: anyone know that the node-validator npm is broken? [13:53] blueadept: https://github.com/chriso/node-validator [13:53] c4milo has joined the channel [13:53] JakeyChan has joined the channel [13:53] c4milo: `3rdEden: hey [13:54] baudehlo has left the channel [13:54] nuck has joined the channel [13:54] baudehlo has joined the channel [13:54] c4milo: `3rdEden: if you happen to be thinking on implementing a pure javascript version of orderly, let me know :) [13:54] hellp has joined the channel [13:55] Vennril has joined the channel [13:55] `3rdEden: Hello [13:55] `3rdEden: c4milo i actually gave up and went with my own schema validator [13:56] `3rdEden: I want to use javascript to validate my code, not JSON or a other compiled language [13:56] chjj has joined the channel [13:57] JakeyChan_ has joined the channel [13:57] `3rdEden: c4milo this is my current schema validation: https://gist.github.com/1226543 [13:58] `3rdEden: and then it's just validate(json).against('randomschemaexportname') [13:59] Margle has joined the channel [13:59] c4milo: I see [13:59] c4milo: `3rdEden: what does mongoose use? [14:00] `3rdEden: c4milo they only restict types like author: String, date:Date [14:00] `3rdEden: which is to simple for my usecase [14:00] _kud has joined the channel [14:01] `3rdEden: and i don't like the syntax ;$ [14:03] _jhs has joined the channel [14:05] Fabryz has joined the channel [14:07] jetienne has joined the channel [14:08] c4milo: `3rdEden: I don't like the syntax either [14:08] TechCel has joined the channel [14:09] mbrevoort has joined the channel [14:09] stepheneb has joined the channel [14:09] CarterL has joined the channel [14:09] bnoordhuis has joined the channel [14:10] markwubben has joined the channel [14:10] pen has joined the channel [14:10] jetienne: node rocks [14:11] netlemur_: hello guys [14:11] sneakyness_wk has joined the channel [14:11] sneakyness_wk has joined the channel [14:12] Malar has joined the channel [14:12] vicapow has joined the channel [14:12] netlemur_: I'm want to build a small app for file uploads + progress bar. Do you know if that was already done with node? [14:12] netlemur_: s/I'm/I [14:12] c4milo: `3rdEden: I like orderly actually, but it's a bummer that it's written in C : / [14:12] jakehow has joined the channel [14:13] jetienne: netlemur: http://stackoverflow.com/questions/6366463/nodejs-express-and-file-uploading this may help [14:13] JasonJS has joined the channel [14:13] blup has joined the channel [14:13] baudehlo has joined the channel [14:14] jslatts has joined the channel [14:14] `3rdEden: c4milo http://zaach.github.com/orderly.js/ [14:15] rbuck_ has joined the channel [14:16] netlemur_: jetienne: thanks! looking into connect-form... [14:17] rbuck has joined the channel [14:17] c4milo: `3rdEden: ah, that's great, thanks man [14:17] netlemur_: I guess I could send the progress status with socket.io to the client. this is going to be fun :-) [14:17] jetienne: `3rdEden: interesting [14:17] ap3mantus has joined the channel [14:18] stonebranch has joined the channel [14:19] thalll has joined the channel [14:19] k1ttty has joined the channel [14:19] EyePulp has joined the channel [14:20] markwubben has joined the channel [14:20] nuck: Wow. Isaacs' new twitterpic looks so... normal? [14:21] guidocalvano has joined the channel [14:21] vpereira has joined the channel [14:21] Aikar: im having an issue where node.js v0.5.7 is enforcing "use strict" on my modules. 0.4.12 doesnt do it. I searched node source for "use strict" and i cant see what could be causing it... any ideas? [14:21] nuck: No neckbeard. [14:21] `3rdEden: jetienne which part is interesting ;o [14:21] nuck: I'm amazed. [14:21] phiggins has joined the channel [14:21] `3rdEden: lol. [14:21] nuck: izs has no neckbeard, what the hell. [14:21] socialhack has joined the channel [14:21] jetienne: `3rdEden: the fact people tries to put some order in json by coding verifiers of the formats [14:21] vpereira: questions about express can be asked here? [14:22] Lemon|mbp has joined the channel [14:22] nuck: jetienne: If you need a verifier, there's a problem. [14:22] jetienne: `3rdEden: it is usefull when you have a lot of json. especially when you change the format [14:22] nuck: If somebody wrote a spec for JSON, it'd be 5 lines long [14:22] jetienne: nuck: yep this problem is called 'human programming' [14:22] `3rdEden: jetienne i'm using it as validator for receiving json. So i know it's not tampert with [14:23] nuck: jetienne: I have a great syntax checker [14:23] `3rdEden: not for database schemas [14:23] nuck: It's my syntax highlighter [14:23] c4milo: jetienne: it's useful to control what you get through your services [14:23] c4milo: jetienne: rest services (json) [14:23] jetienne: `3rdEden: c4milo: exactly my opinion [14:24] paz1200 has joined the channel [14:24] blueadept: anybody use this method for json validation? http://davidwalsh.name/json-validation [14:25] jetienne: i need a cool name for a dead-simple physical 3D engine. any idea ? [14:25] davidwalsh: JSON Schema is pretty sweet [14:25] blueadept: by that i mean the commonjs-utils method [14:25] joshkehn: I've used it. [14:25] blueadept: oh hey its david walsh [14:25] blueadept: hah [14:25] skm has joined the channel [14:25] nuck: haha [14:25] nuck: beautiful [14:25] joshkehn: Pretty good for enforcing a schema on JSON. The spec is pretty easy to follow as well. [14:25] nuck: Dontcha just love how that happens in here? [14:26] nuck: You ask about a piece of JS and the maker responds [14:26] blueadept: that happens a lot in here btw [14:26] blueadept: too often [14:27] nuck: haha inorite [14:27] nuck: blueadept: And it's not even just that we have 5 module makers [14:27] slicky: davidwalsh++ [14:27] dsirijus has joined the channel [14:27] nuck: Ah fuck [14:27] nuck: ACTION brings v8bot back [14:27] slicky: herm [14:27] slicky: heh [14:27] slicky: Love david's blog. [14:28] Fabryz: does node.js/express have anything to minify on-the-fly js code sent to the client? [14:28] v8bot_ has joined the channel [14:28] ericography has joined the channel [14:28] slickplaid: davidwalsh++ [14:28] v8bot_: slickplaid has given a beer to davidwalsh. davidwalsh now has 1 beers. [14:28] slickplaid: tada :D [14:28] nuck: :D [14:28] gxdssoft has joined the channel [14:28] slickplaid: ty nuck [14:28] nuck: Yeah, internet cut out late last night [14:28] davidwalsh: ACTION chugs it [14:28] eldios: will anyone be @ nodejaconf.it this saturday? [14:28] vipaca has joined the channel [14:28] vipaca has joined the channel [14:29] eldios: nodejsconf.it [14:29] slickplaid: eldios, nawp, not in my area. [14:29] CIA-54: node: 03Ben Noordhuis 07master * r243c218 10/ lib/tls.js : tls: remove superfluous setOptions() call - http://git.io/BcPlzQ [14:29] eldios: ^^ [14:29] nuck: Well, off I go to take a shower and then learn some business. [14:29] AphelionZ has joined the channel [14:29] cyub has joined the channel [14:29] slickplaid: I have 4 hours of conference calls to take today. meh. [14:30] Fabryz: found https://github.com/joyent/node/wiki/modules [14:30] slickplaid: davidwalsh: Will we be seeing a lot more node.js stuff on your site now? :D [14:31] davidwalsh: I'd like to but in all honesty, I don't have much time to work with Node [14:31] davidwalsh: Though I'd like to do a few MooTools + Node posts [14:32] smtlaissezfaire has joined the channel [14:32] slickplaid: very nice [14:33] edwardmsmith has left the channel [14:34] isaacs has joined the channel [14:34] astropirate has joined the channel [14:34] thalll has joined the channel [14:36] nrstott has joined the channel [14:36] sneakyness_wk has left the channel [14:38] mc_greeny has joined the channel [14:44] CIA-54: node: 03Ben Noordhuis 07master * r3aa1975 10/ wscript : build: make wscript work with python 2.4 - http://git.io/cqNDug [14:44] Aikar: https://github.com/aikar/nodeib/blob/master/lib/NodeIB/NodeIB.js#L21 anyone know why this line under node v0.5.7 is triggering strict errors even when you can see i havent defined "use strict" anywhere...? is something in V8 changed about using arguments.callee? [14:45] thoolihan has joined the channel [14:46] blueadept: would anyone know why I might be getting a TypeError with this? http://pastie.org/private/xpr5grrgiwogzcowvw69g [14:47] blueadept: davidwalsh: might you know? [14:47] joshkehn: I think I do [14:48] joshkehn: Because you haven't specified it as an array. [14:48] thinkjson has left the channel [14:48] aelien27 has joined the channel [14:48] joshkehn: The last time I was writing a JSON schema you had to say "type":"array" and then "item" : {"type":"object", "properties" : .... [14:48] blueadept: it has "items" there, doesn't that specify it? [14:49] blueadept: hm [14:49] joshkehn: Oh shoot me. I missed that nesting. [14:49] uchuff has joined the channel [14:49] jchris has joined the channel [14:49] blueadept: it says typeError: object is not a function, but i'm not sure what it's talking about [14:49] joshkehn: Normally the validator gets pretty specific. Are you printing out all the messages? [14:49] jetienne: this is cute, it makes json almost as cute as xml :) [14:49] joshkehn: Maybe `validate` isn't a function? [14:50] blueadept: it is [14:50] blueadept: i can see it in the function tree [14:50] Venom_X has joined the channel [14:51] blueadept: hm [14:51] blueadept: i thinking i might just go with this: https://github.com/chriso/node-validator [14:51] kevwil has joined the channel [14:51] blueadept: sanitation + validation [14:53] jomoho has joined the channel [14:53] tjholowaychuk has joined the channel [14:54] dnjaramba has joined the channel [14:55] torsd has joined the channel [14:56] ivanfi has left the channel [14:56] Morkel has joined the channel [14:57] Cromulent has joined the channel [14:57] pr2012 has joined the channel [14:58] dob__ has joined the channel [14:58] blueadept: joshkehn: figured it out, you were write, i wasn't chaining .validate to my commonjs-utils require [14:58] blueadept: right* [14:58] joshkehn: ;) [14:58] link has joined the channel [14:58] rbuck has joined the channel [14:58] kevwil has joined the channel [14:59] CIA-54: libuv: 03Ben Noordhuis 07master * r8f6f324 10/ common.gypi : [14:59] CIA-54: libuv: build: use -m32 only when host_arch != target_arch [14:59] CIA-54: libuv: Unbreaks the gyp build on x86_64 linux systems. - http://git.io/TxMHDA [14:59] Voxxit has joined the channel [14:59] Voxxit has left the channel [14:59] fatjonny has joined the channel [15:00] marcello3d has joined the channel [15:02] cadorn has joined the channel [15:03] mendel_ has joined the channel [15:03] Morkel_ has joined the channel [15:04] brianc has joined the channel [15:05] TheJH_phone: DrMcKay, isaacs pulled my npm use thing, it's xalled npm star now [15:05] TheJH_phone: *called [15:06] wbednarski has joined the channel [15:06] benperth has joined the channel [15:06] benperth: hi [15:06] joshkehn: benperth: Hi [15:07] benperth: I have a list of around about 100 users, which needs to be sorted based on their points... Would it be best to do this on the server and push the result to all users, or is it wiser to push the raw data to the clients and have it sorted on the client side? [15:07] joshkehn: 100 users? [15:07] benperth: 100 players in a game [15:07] joshkehn: That's easy to do client side. [15:08] blueadept: as a side note though, anyone know why npm install validator is failing? [15:08] joshkehn: blueadept: What does npm say? [15:08] benperth: yeah, i guess i'm asking what the best principle is - to make the client side do as much processing as possible to take load off the server? [15:08] blueadept: failed to fetch https://registry.npmjs.org/validator/-/validator-0.2.8.tgz [15:08] blueadept: if you check the url, there's a cert warning, but thats all i can gather [15:08] blueadept: error 404 it says [15:09] blueadept: oh wait [15:09] panfist: j #lopsa [15:09] blueadept: haha [15:09] joshkehn: Cert warning is probably what's preventing it. [15:09] panfist: sorry [15:09] gazumps has joined the channel [15:09] blueadept: yeah its totally gone [15:09] Glenjamin: sort them on insert and always return the sorted list :p [15:09] blueadept: reason: Document is missing attachement [15:09] blueadept: wtf [15:09] gxdssoft has joined the channel [15:09] joshkehn: Glenjamin: Only works if you pull the list out and resort it. [15:10] aheckmann has joined the channel [15:10] benperth: joshkehn, mind if i PM you? [15:10] joshkehn: benperth: No problem. [15:11] Glenjamin: well yeah, but the question was what's the optimal way, and the answer is to sort once and store the result [15:12] bEEEviz has joined the channel [15:12] CIA-54: libuv: 03Erick Tryzelaar 07master * r70e1032 10/ (src/unix/core.c test/test-getaddrinfo.c): [15:12] CIA-54: libuv: unix: Fix uv_getaddrinfo from deleting invalid data [15:12] CIA-54: libuv: If the uv_getaddrinfo_t handle is owned by its [15:12] CIA-54: libuv: data pointer, deleting the data in the callback [15:12] CIA-54: libuv: could cause uv_getaddrinfo_done to call freeaddrinfo [15:12] CIA-54: libuv: on an invalid pointer. - http://git.io/c4kcwQ [15:13] nibblebot has joined the channel [15:13] JulioBarros has joined the channel [15:13] joshkehn: Glenjamin: I would call that a premature optimization. ;) [15:13] joshkehn: You have 100 users. [15:13] balaa has joined the channel [15:13] joshkehn: It's easier to just sort on the client. [15:14] joshkehn: And if you're sorting the users you might have other sort options, making it easier to keep the sorting client side. [15:14] joshkehn: Anything <1k I don't see a problem sorting client side. [15:14] spasquali has joined the channel [15:14] benperth: yeah, was thinking the same. I guess will have to do some benchmarking to see when the processing get's too much for client side [15:14] mynyml has joined the channel [15:14] benperth: thanks [15:15] spasquali: anyone else have trouble compiling on CentOS 6? [15:15] joshkehn: spasquali: People still use Cent? [15:15] jmar777 has joined the channel [15:15] spasquali: joshkehn: about 100 or so [15:16] robertfw has joined the channel [15:16] jtsnow has joined the channel [15:17] Chris_ has joined the channel [15:18] DrMcKay: TheJH_phone: great :). [15:19] DrMcKay: ACTION goes to star things in npm [15:20] jonrohan has joined the channel [15:21] esmevane has joined the channel [15:21] Vertice has joined the channel [15:21] Guest523 has left the channel [15:21] guy has joined the channel [15:21] AvianFlu has joined the channel [15:21] guy: npm WARN prefer global forever@0.6.7 should be installed with -g [15:21] spasquali has left the channel [15:21] guy: I get this error after typing npm install forever [15:21] shanez has joined the channel [15:21] carichardson has joined the channel [15:21] guy: anything I should care about? [15:22] netlemur_: guy: well. you could install it with "-g" :-= [15:22] netlemur_: :-) [15:22] guy: what would it do? [15:22] Aphelion has joined the channel [15:23] DennisRasmussen has joined the channel [15:23] netlemur_: -g = global afaik [15:23] TheJH_phone: guy, do you want to have forever as command or as module? [15:23] guy: yeah, I get that. but what that'd change? [15:23] TheJH_phone: -g for command [15:23] guy: TheJH_phone: I am pretty sure that's CLI only. Don't imagine how'd work as a module.. [15:23] CIA-54: libuv: 03Ben Noordhuis 07master * r37e8bf2 10/ src/unix/core.c : unix: fix dangling pointer free() bug - http://git.io/gdaLRQ [15:23] guy: anyway, I reinstalled it with -g. [15:24] jesusabdullah has joined the channel [15:24] nuck has joined the channel [15:24] pietern has joined the channel [15:24] TheJH_phone: DrMcKay, did you see npm star? [15:26] RORgasm has joined the channel [15:26] gxdssoft_ has joined the channel [15:27] guy: when trying to long run the script using forever, I got the following error [15:27] guy: Error: Cannot find module '../build/default/daemon' [15:27] guy: so, is it as simple as npm install daemon [15:27] guy: ? [15:27] jakob has joined the channel [15:27] eldios has joined the channel [15:27] fangel has joined the channel [15:27] riven has joined the channel [15:27] TheJH_phone: guy, i dont think so [15:28] guy: TheJH_phone: what is it then? [15:28] bEEEviz: uhm guys [15:28] guy: https://gist.github.com/4ce174388eeec7f2ead9 [15:28] bEEEviz: i'm trying to load a .txt file via fs.readFile() [15:28] guy: the full error looks like this [15:28] TheJH_phone: guy, i'd say maybe forever is broken [15:28] bEEEviz: but data seems to contain hex data instead of my plain text content [15:29] bEEEviz: can anyone tell me how to do it right? [15:29] Glenjamin: so, wacky idea: Function.prototype.bindThis = function() { this.bind.call(this, arguments) } - thoughts? [15:29] Venom_X has joined the channel [15:29] N0va has joined the channel [15:29] TheJH_phone: Beeeviz, you forgot to specify an encoding [15:30] bEEEviz: ah, that's necessary? [15:30] stonecobra has joined the channel [15:30] guy: ok. how do I delete forever? [15:31] TheJH_phone: Beeeviz, you get a buffer otherwise [15:31] bEEEviz: yep [15:31] TheJH_phone: guy, nom uninstall forever -g [15:31] bEEEviz: and what if i dont know the encoding of the file? just use utf-8 or is there a way to determine a file's encoding? [15:31] TheJH_phone: Npm [15:32] TheJH_phone: Beeeviz, not sure [15:32] guy: Ok. I've tried unstailling it & installing again. No good. [15:32] DrMcKay: TheJH_phone: it can be done only from cli, right? [15:32] erichynds has joined the channel [15:32] anveo has joined the channel [15:33] TheJH_phone: DrMcKay, at the moment, yes [15:33] bEEEviz: another question. where can i find documentation about how to create own libraries? [15:33] TheJH_phone: guy, maybe try an older version of forever [15:34] TheJH_phone: Beeeviz, the npm docs [15:34] bEEEviz: i've created a js library which runs in a browser (and makes use of the window global) but not in node [15:34] p4r0 has joined the channel [15:34] bEEEviz: i'll have a look. thanks [15:35] jj0hns0n has joined the channel [15:35] kerko has joined the channel [15:35] kerko has left the channel [15:36] jakehow has joined the channel [15:36] rpeterson1 has joined the channel [15:36] kevwil has joined the channel [15:36] mykhal has joined the channel [15:37] jzacsh has joined the channel [15:37] jzacsh has joined the channel [15:38] guy: Checking for node path : not found [15:38] guy: I've just noticed this in the log, while installing Forever [15:39] rpeterson1: bnoordhuis: okay, so Python update didn't fix the issue [15:39] guy: https://gist.github.com/5beaccce994068b0a68a [15:39] guy: this is how I installed node.js/npm [15:40] context: do you have node installed ? [15:40] dshaw_ has joined the channel [15:40] context: why are you installing HEAD of both ? [15:41] blup: start-uppers/entrepreneurs: i have a nodejs product id like to launch, but ive never gone about it. could someone pm to help me with a couple of questions? [15:41] jetienne: blup: why not ask here ? [15:41] bzinger has joined the channel [15:42] damjan has left the channel [15:42] rpeterson1: bnoordhuis: nm, was poiting to wrong python path [15:42] jmoyers has joined the channel [15:42] blup: jetienne: didn't think it was relevant to the channel [15:42] rpeterson1 has left the channel [15:42] bnoordhuis: rpeterson1: okay, glad you got it solved [15:42] DrMcKay: ugh. can I query custom DNS server with node? [15:42] context: node is pretty relevant to node [15:42] TheJH_phone: blup, everyone asks questions here [15:42] balaa has joined the channel [15:42] bnoordhuis: DrMcKay: not right now [15:42] jetienne: blup: shoot [15:43] jetienne: blup: if not relelvant we may point you in another direction [15:43] DrMcKay: bnoordhuis: gah. want a patch or is it WONTFIX? [15:43] blup: well, i'm wondering whether i have to make a company to make ad profit, and eventually premium memberships [15:44] bnoordhuis: DrMcKay: it's on the list of todo's - it needs to be a libuv patch though [15:44] jetienne: blup: ah ok this is about business model ? yep this channel may not be the most suitable. try #startups [15:44] p4r0: Someone know what exactly is the "library z" required by node-compress and gzbz2 and where node-waf is looking for it ? [15:44] blup: jetienne: thanks :) [15:44] socialhack has joined the channel [15:44] bnoordhuis: p4r0: it's libz, a compression library, installed on most any unix system [15:45] Glenjamin: p4r0: probably zlib [15:45] eee_c has joined the channel [15:45] rpeterson1 has joined the channel [15:45] rpeterson1: bnoordhuis: spoke too soon [15:45] p4r0: i've installed zlib-dev pkg but node-waf doesn't seem find it [15:45] rpeterson1: failed again, just seemed to get a little further [15:46] DrMcKay: bnoordhuis: this will take some time but I will try :) [15:46] voodootikigod has joined the channel [15:46] Nuck|mobile has joined the channel [15:46] p4r0: maybe it's a path issue with my debian 64 bit, but i don't know where it's searching for it [15:46] dingomanatee: the "business_model" module is not available before Node 5. It's not considered "Stable" :D [15:46] guy: https://gist.github.com/51f8250ead0b2b86ee46 when I do this. does this mean that the node.js was installed in /root/node/[..] or somewhere else? [15:47] sub_pop has joined the channel [15:47] navaru has left the channel [15:48] alvaro_o has joined the channel [15:48] bnoordhuis: rpeterson1: can you gist the build log? [15:48] bnoordhuis: DrMcKay: ping me when you get started on it, probably needs some fine-tuning so it doesn't bite other work-in-progress [15:49] andrewfff has joined the channel [15:49] rpeterson1: bnoordhuis: yeah, I am trying with ./configure --snaptshots=off here [15:49] rpeterson1: once its done I will gist the latest for you here [15:50] DrMcKay: bnoordhuis: libuv/src/ares is a dependency or, right? [15:50] broofa has joined the channel [15:50] bnoordhuis: DrMcKay: it's bundled [15:50] pizthewiz has joined the channel [15:51] gregoryigelmund has joined the channel [15:51] daveo has joined the channel [15:51] DrMcKay: bnoordhuis: yes, I just wanted to know it touching it was a no-no [15:51] cclever has joined the channel [15:51] guy: anyone? [15:51] DrMcKay: guy: sup? [15:52] guy: https://gist.github.com/51f8250ead0b2b86ee46 when I do this. does this mean that the node.js was installed in /root/node/[..] or somewhere else? [15:52] bnoordhuis: DrMcKay: you mean patching it? only if the changes get accepted in upstream c-ares too [15:52] TheJH has joined the channel [15:52] TheJH has joined the channel [15:52] robi42 has joined the channel [15:52] cclever: HI there, I am fetching a PHP-Session from memcache to authorize the current user. Can anyone tell me how to parse the php session to json? [15:52] DrMcKay: guy: no, it's probably in /usr/local/bin/node [15:52] DrMcKay: bnoordhuis: OK, thank you [15:52] bnoordhuis: cclever: are you looking for #php? [15:53] smathy has joined the channel [15:53] Glenjamin: cclever: try the PHP folks, i assume there's a channel on freenode [15:53] daveo: i'm trying to install node.js on a linuxmint-xfce install (debian based) and configure runs fine, but make errors out with collect2: ld returned 1 exit status [15:53] cclever: no, javascript [15:53] context: ... [15:54] context: no you said php. [15:54] kevwil_ has joined the channel [15:54] context: you should read what you type before pressing the enter button [15:54] daveo: ld cannot find -luv (well, I'm not getting love either) [15:54] context: so install libuv [15:54] knifed has joined the channel [15:54] daveo: I cloned the git directory, should i have cloned specific branch or something? [15:55] cclever: PHP puts the session to memcache. On node.js I get the somehow serialized php-session as a string. [15:55] bEEEviz: guys, i'm trying to use this piece of code in node [15:55] bEEEviz: https://github.com/manuelbieh/Geolib/blob/master/geolib.js [15:55] JakeyChan has joined the channel [15:55] caolanm has joined the channel [15:55] bEEEviz: i have: var geolib = require('./geolib.js'); which works fine [15:55] context: cclever: yes. you need to ask the 'php people' how the fuck the session is serialized. THEN you will have a better idea on how to de-serialize it. [15:56] motill has joined the channel [15:56] bEEEviz: when i console.log(geolib) all methods and properties are shown correctly [15:56] bEEEviz: but when i try to call a function using geolib.getDistance [15:56] TheJH: cclever, you could at least give us an example of serialized stuff from php... [15:56] context: daveo: you're asking the "node people" how do deal with your craptastic "php data" [15:56] bEEEviz: my nodejs output says "undefined" [15:56] context: err, cclever [15:56] bnoordhuis: daveo: libuv is bundled with node. can you gist the build log? [15:57] context: im still wondering why they are installing from source [15:57] daveo: bnoordhuis: i'm sorry don't know how to gist the build log [15:58] Croms has joined the channel [15:58] daveo: I copied out the errors at the end if that's what you mean... [15:58] guy: https://gist.github.com/dc090f1e42178732de3c [15:58] guy: ok [15:58] guy: I keep getting this error no matter what I do [15:58] DrMcKay: so, I wanted to see how REPL works [15:58] DrMcKay: https://github.com/joyent/node/blob/master/lib/repl.js#L572 [15:58] mikeal has joined the channel [15:58] Fabryz: anyone can suggest a minification/caching module for express? better than minj, seems it's not updating the minified files [15:58] TheJH: guy, which node version? [15:59] guy: v0.5.8-pre [15:59] TheJH: guy, well, there's your fault - you shouldn't use the latest master [15:59] guy: ok.. all I did, was git clone git://github.com/joyent/node.git [15:59] DrMcKay: guy: no no [15:59] DrMcKay: guy: it's simple [16:00] DrMcKay: guy: node-waf got changed at some point [16:00] tbranyen: its also simple to fix the installation instructions as to not confuse every single person who is new to node [16:00] DrMcKay: guy: give me a sec [16:00] tbranyen: =( [16:00] TheJH: guy, then do "git checkout v0.5.v0.5.7" [16:00] tbranyen: TheJH: was node-waf removed? [16:00] guy: ACTION waiting for what DrMcKay has to say [16:00] TheJH: err, whoops [16:00] DrMcKay: guy: also, do what TheJH says [16:00] TheJH: guy, "git checkout v0.5.7" after you cloned [16:00] DrMcKay: guy: wait, I'm looking on how I've fixed it [16:01] guy: ok. though, first of all: I should delete everything I've already installed, right? [16:01] context: do any of these people have an excuse for running -pre ? [16:01] DrMcKay: guy: no [16:01] DrMcKay: context: I do, but I don't [16:02] bnoordhuis: i do and i do [16:02] DrMcKay: though I [16:02] DrMcKay: though I do have it easily accessible [16:02] context: my thought track is "if i cant build the source, i dont need to be using 'unreleased' code" [16:03] astrolin has joined the channel [16:03] daveo: DrMcKay: so after cloning node.git then git checkout v0.5.v0.5.7 ? then configure/make/make install? [16:03] superjudge has joined the channel [16:03] DrMcKay: guy: sudo mv /usr/local/lib/node_modules/forever/node_modules/daemon/build/Release /usr/local/lib/node_modules/forever/node_modules/daemon/build/default [16:03] ckpcw has joined the channel [16:03] bnoordhuis: daveo: are you a windows or a unix user? [16:03] ckpcw has left the channel [16:03] DrMcKay: guy: this command should do it ^ [16:04] daveo: bnoordhuis: using linuxmint-xfce debian based [16:04] rpeterson1: bnoordhuis: --snaptshots=off seemed to circumvent the issue now, I will test node once it buillds and see where things are [16:04] bnoordhuis: daveo: oh right, you said that :) [16:04] rpeterson1: bnoordhuis: spoke too soon, just failed with same error again [16:04] bnoordhuis: daveo: either `git checkout v0.4.12` (stable) or `git checkout v0.5.7` (unstable) [16:04] rpeterson1: bnoordhuis: let me gist it [16:04] random123: Should you try to put all your "require" at the top, and use a method's instead if you need certain code to run a certain time, ie a require "start" function? [16:05] AaronMT has joined the channel [16:05] random123: Is there any convention about that, keeping all require at the top of source code? [16:05] DrMcKay: random123: it's nice :) [16:05] daveo: bnoordhuis: remove the cloned git.node first or from that directory? [16:06] p4r0: i'm really about to kill a kitten on this "npm install compress" fail [16:06] __doc__ has joined the channel [16:06] daveo: I like git, but should really read up on it I'm thinking ... [16:06] bnoordhuis: daveo: err... git.node? maybe rm what you have and do a fresh clone [16:06] amigojapan has joined the channel [16:06] context: wtf [16:06] p4r0: i have zlib1g-dev installed but node-waf doesn't see it [16:07] Sami_ZzZ has joined the channel [16:07] DrMcKay: bnoordhuis: you guys do git push --force sometimes? I'm kinda woried, because branch domains is a forced update [16:07] p4r0: the msg i get is "Checking for library z : no such environment: default" [16:07] daveo: bnoordhuis: righto I did the git clone git://github.com/joyent/node.git [16:07] bnoordhuis: DrMcKay: only sometimes and only for very recent commits [16:08] guy: https://gist.github.com/487395553c86d01b211b [16:08] guy: how do I tell which one is stable? [16:08] wbednarski has joined the channel [16:08] kriss has joined the channel [16:08] bnoordhuis: daveo: good, now checkout the tag you want, v0.4.12 or v0.5.7 [16:08] DrMcKay: bnoordhuis: I'm afraid of something when I see it. [16:08] daveo: ok, thanks I'll try that [16:08] context: guy: you install from a package and know its stable. [16:08] tiagobutzke has joined the channel [16:09] guy: context: what? [16:09] DrMcKay: I think it's some primal fear humanship developed at the early ages. [16:09] bnoordhuis: guy: 0.4.x is stable, 0.5.x is unstable a.k.a. dev [16:09] rpeterson1: bnoordhius: https://gist.github.com/597191888e9d8ce680b3 [16:09] guy: so, should I use 0.4.7? [16:09] guy: so, should I use 0.4.12* [16:09] bnoordhuis: DrMcKay: i like force push, i remember svn and its indestructible commits [16:09] bnoordhuis: guy: if you want stable, yes [16:10] context: guy: you tell us [16:10] guy: bnoordhuis: and the tradeoff? [16:10] davididas has joined the channel [16:10] Glenjamin: there's a few things in 0.5.x which aren't in 0.4.x, but in general stuff seems to break [16:10] rpeterson1: bnoordhius: this actually looks like a different issue now, hmm [16:10] bnoordhuis: guy: you won't be one of the cool kids [16:10] DrMcKay: bnoordhuis: I like that git allows you to do so. git filter-branch saved my ass once. but there's something bad in it. [16:11] bnoordhuis: guy: but you won't have to deal with mysterious failures either :) [16:11] DrMcKay: but again, it may get you raptors. [16:11] bnoordhuis: rpeterson1: yes, that really can't happen [16:11] bnoordhuis: DrMcKay: no, only goto does that [16:11] bnoordhuis: rpeterson1: is that a 0.4.12 from source tarball? [16:12] DrMcKay: bnoordhuis: so `git push -f` gets you sharks? [16:12] rpeterson1: yeah [16:12] DrMcKay: no, sharks spawn when you try to dualboot BSD [16:12] adrianmg1 has joined the channel [16:12] VeXii has joined the channel [16:12] guy: ok. let's play 0.4.12. though, is it easy to update/downgrade node.js? [16:12] aho has joined the channel [16:12] rpeterson1: I can do it from git clone too as wel [16:12] Glenjamin: git checkout v0.4.12 && make [16:12] Cromulent has joined the channel [16:12] Glenjamin: maybe a configure first, but yeah - it's easy enough [16:13] simenbrekken has joined the channel [16:13] bnoordhuis: rpeterson1: the reason it can't happen is because i tested the tarball myself when we released it :/ [16:13] patcito has joined the channel [16:13] balaa has joined the channel [16:13] bnoordhuis: rpeterson1: let me verify it [16:13] guy: anyone? [16:13] bnoordhuis: guy: yes, it's easy [16:13] guy: good [16:13] guillermo has joined the channel [16:14] rpeterson1: bnoordhuis: I fully expect it to be User error in some manner [16:14] Glenjamin: DrMcKay: push -f is fine as long as no-one else is developing against that branch [16:14] rpeterson1: I have never had an issue building node [16:15] Spion has joined the channel [16:15] DrMcKay: Glenjamin: I know. I'm just afraid. [16:15] p4r0: anyone on debian 64 have successfully "npm install compress" out of the box ? [16:15] bnoordhuis: rpeterson1: what version of g++ are you using? [16:16] Poetro has joined the channel [16:16] d_low_ has joined the channel [16:16] FireFly|n900 has joined the channel [16:16] rpeterson1: bnoordhius: gcc version 4.1.2 20080704 (Red Hat 4.1.2-50) [16:16] devinus has joined the channel [16:16] devinus: anybody having a problem compiling 0.5.7 on lion? [16:16] superjudge has joined the channel [16:17] context: devinus: just use homebrew and watch everything just work. [16:17] bnoordhuis: rpeterson1: can you upgrade to 4.5? i think you may be running into a gcc bug [16:18] rpeterson1: sure, let me do that here [16:18] devinus: context: using nvm [16:18] heavysixer has joined the channel [16:19] cjm has joined the channel [16:21] knifed has joined the channel [16:21] FireFly has joined the channel [16:22] daveo: bnoordhuis: thankyou! it built (0.4.12) and installed fine. one question is npm builtin or installed seperately? [16:22] showcase has joined the channel [16:23] Aikar: anyone know what might be enforcing "use strict" on my modules when im not specifying it with node v0.5.7? doesnt error in 0.4.12 [16:23] Poetro1 has joined the channel [16:23] replore_ has joined the channel [16:23] replore has joined the channel [16:23] jonrohan has joined the channel [16:24] p4r0: here's my npm error when i try to "npm install compress": http://pastebin.com/DapTMVWV any clues ? [16:24] jonrohan has joined the channel [16:24] bnoordhuis: daveo: it's a separate program [16:25] isaacs has joined the channel [16:25] sylvinus has joined the channel [16:25] nibblebot: tjholowaychuk: having trouble with cluster.in('devevelopment').listen(3000).in('staging').listen(3020) throwing an error. it seems .listen() is not returning a copy of master, have you seen this before? [16:25] daveo: bnoordhuis: thanks, google should find it right? [16:25] dexter_e has joined the channel [16:26] jaequery has joined the channel [16:26] CIA-54: node: 03Ryan Dahl 07domains * r9acb93f 10/ src/node.cc : Do not try-catch in MakeCallback when using domains - http://git.io/QolMQw [16:26] CIA-54: node: 03Ryan Dahl 07domains * rb8023a7 10/ (5 files in 2 dirs): Stop lazy loading domains - http://git.io/TWGIHg [16:26] CIA-54: node: 03Ryan Dahl 07domains * r7d5b38e 10/ (lib/domains.js lib/net_uv.js lib/timers_uv.js): surround a bunch of stuff with domains.enable branches - http://git.io/t1w8fw [16:26] CIA-54: node: 03Ryan Dahl 07domains * r983d421 10/ test/simple/test-domains3.js : add another domain test - broken - http://git.io/MdyfXw [16:26] bnoordhuis: daveo: yes, or http://npmjs.org/ [16:26] p4r0: daveo: curl http://npmjs.org/install.sh | sh [16:26] daveo: bnoordhuis: thanks again [16:27] daveo: p4r0: oh, even simpler thanks [16:27] jtrudeau has joined the channel [16:28] kevwil has joined the channel [16:28] Nuck|mobile has joined the channel [16:29] mandric has joined the channel [16:29] JaKWaC has joined the channel [16:30] colinclark has joined the channel [16:30] zastaph: i presume it's ok that port.h, event.h and kqueue are not found with ./configure [16:30] hkjels has joined the channel [16:31] Ezku\ has joined the channel [16:31] Nuck|mobile has joined the channel [16:31] bnoordhuis: zastaph: depends on your OS [16:31] zastaph: ubuntu server LTS [16:32] bnoordhuis: yes, that's okay - node uses epoll on linux [16:32] zastaph: i had to apt-get install pkg-config to make it detect openssl [16:32] dshaw_ has joined the channel [16:32] hkjels: Is there a ´which´ or ´wheris´-command in node? [16:33] hkjels: `whereas` even [16:33] hkjels: man [16:33] hkjels: hehe [16:33] hkjels: whereis [16:33] hkjels: ;) [16:33] TheJH: hkjels, uhm, for what puprose? or was that irony/joking? [16:33] Glenjamin: for npm's installed programs? [16:33] Glenjamin: "npm which" might be handy [16:33] TheJH: *purpose [16:34] hkjels: for cli-tools [16:34] Glenjamin: i also quite fancy "npm exec", which would look in node_modules/.bin [16:34] Poetro has joined the channel [16:34] hkjels: like brew [16:35] hkjels: I'd like to use it to set some paths & test for dependencies [16:35] ronnieboy has joined the channel [16:35] guy: https://gist.github.com/cccea0e8f38f0595d576 [16:35] guy: bnoordhuis: [16:36] panfist has joined the channel [16:36] guy: well, I did reinstall everything, however, node.js (stable 0.4.12) doesn't want to work with Forever. [16:36] dshaw_1 has joined the channel [16:37] vguerra has joined the channel [16:37] bnoordhuis: guy: sorry, i don't do third-party support [16:37] guy: anyone else can assist me with Forever? [16:38] irahgel has left the channel [16:38] vpereira: any way to check if an object is empty ? [16:38] vpereira: in node.js/javascript? [16:39] p4r0: vpereira: define 'empty' [16:39] Nuck has joined the channel [16:39] tjholowaychuk: vpereira Object.keys(obj).length == 0 [16:39] Glenjamin: ^^ that [16:39] Glenjamin: faster typer :( [16:40] Glenjamin: or just if(Object.keys(obj).length) - truthiness ftw [16:40] grieve has joined the channel [16:40] vpereira: hm [16:40] rpeterson1: bnoordhuis: doesn't look like I am going to be able to upgrade g++ on this system without getting into some dependancy pergatory [16:40] vpereira: yes i have a object and when i dump it, i have a {} [16:41] vpereira: its really strange, actually the ldapjs is just killing me [16:41] vpereira: after a search it should fire an event [16:41] vpereira: but it doesnt do it [16:42] bnoordhuis: rpeterson1: you can cheat by replacing the NO_HINTS in src/node_buffer.cc with (WriteHints)0 [16:42] bnoordhuis: rpeterson1: that's a less than ideal solution, of course [16:42] TooTallNate has joined the channel [16:42] creationix has joined the channel [16:42] rpeterson1: bnoordhuis: yeah, less than ideal is fine for now [16:42] Glenjamin: vpereira: util.inspect doesn't do non-enumerable properties by default [16:43] Glenjamin: try util.inspect(obj, true) [16:43] vpereira: i will try, i just want avoid this hacks, but the ldapjs doesnt give me any other option [16:43] balaa has joined the channel [16:43] akiva has joined the channel [16:43] bnoordhuis: rpeterson1: if you're in a daring mood, you can upgrade to 0.5.7, we dropped the NO_HINTS thing in 0.5.x [16:44] rpeterson1: I can try it [16:44] isaacs has joined the channel [16:44] rpeterson1: its really basic node required for a simple rails app we have running some things in our wearhouse [16:44] rpeterson1: just need to get it online so they can use the app [16:44] bnoordhuis: rpeterson1: for production stuff, i'd recommend 0.4.12 [16:45] rpeterson1: yeah, well, if it runs … I consider it production for internal use [16:45] tiagobutzke has joined the channel [16:45] JaKWaC has joined the channel [16:45] TheJH: hello isaacs :) [16:45] isaacs has left the channel [16:45] TheJH: :( [16:46] isaacs has joined the channel [16:46] StanlySoManly has joined the channel [16:46] kenperkins has joined the channel [16:46] isaacs: hi, TheJH [16:46] isaacs: Glenjamin: npm exec would be super easy to do [16:46] TheJH: isaacs, I want to try "npm star", but "make" doesn't work because of the request submodule issue :( [16:46] wadey has joined the channel [16:47] isaacs: TheJH: my latest master should be pulling the latest request submodule from mikeal [16:47] nuck_ has joined the channel [16:47] Skomski has joined the channel [16:47] isaacs: TheJH: should be pointing to eaf073fe4c027f9f4b10c1665533de61b457d5d6 [16:47] markdaws has joined the channel [16:48] Glenjamin: isaacs: yeah, I have no real excuse for not submitting a patch - i thought of it months ago =/ [16:48] isaacs: TheJH: this might fix the problem: rm -r node_modules; make [16:48] pizthewiz_ has joined the channel [16:48] bzinger has joined the channel [16:48] TheJH: isaacs, yes, works [16:48] isaacs: TheJH: and make sure HEAD is at 62a88a5576528d679e5af9566a6025239a0d8755 [16:48] isaacs: ok, kewl :) [16:48] isaacs: git submodules check the node_modules chain for "./.bin/cmd" fall back to system path [16:50] broofa_ has joined the channel [16:50] Aphelion has joined the channel [16:50] isaacs: TheJH: are you trying to publish npm...? [16:50] isaacs: TheJH: oh, wait, i see the issue. [16:51] isaacs: will fix today [16:51] p4r0 has left the channel [16:51] isaacs: haha, it worked for me because i'm a server admin ;) [16:51] TheJH: isaacs, what's the cause? did I do something wrong in my code? [16:51] Nuck: isaacs: I learned that you don't have a neckbeard. This cannot be true. All great coders have neckbeards. [16:51] isaacs: TheJH: no, i changed some stuff, and broke it. [16:51] alexpbrown has joined the channel [16:51] TheJH: isaacs, :D [16:52] isaacs: Nuck: The conclusion is obvious. Either not all great coders have neckbeards, or I am not a great coder, or I do in fact have a neckbeard, or logic is broken. [16:52] TheJH: isaacs, btw, I think you didn't push the merged npmjs.org to github [16:52] Fabryz: is there any way to obfuscate an email address in JADE? other than using the :markdown filter [16:52] joshontheweb: got some dude randomly DMing me questions from this room [16:52] Nuck: isaacs: I pick C. [16:52] Nuck: isaacs: You now have a neckbeard. [16:52] joshkehn: joshontheweb: Can't you just block them? [16:52] chjj: i pick a, or d, because i do not have a neckbeard [16:52] chjj: those are the only two possible answers [16:53] TheJH: joshkehn, use /ignore or whatever your client calls it [16:53] isaacs: Nuck: i shaved yesterday, actually, and have woefully sparse facial hair that i shave rather often. [16:53] joshontheweb: didn't know you could do that [16:53] Nuck: isaacs: Haha your twitterpic is not at all how I imagined you'd be [16:53] Nuck: I saw it and went "nahhhhhhhh" [16:53] joshkehn: TheJH: Ah the wonders of being the first `josh-TAB`. [16:53] isaacs: Nuck: but in fact, i'm not a great coder, just a diligent debugger, which it turns out is more useful. [16:53] TheJH: joshkehn, sorry :D [16:54] Nuck: isaacs: haha that is a very valid point [16:54] joshkehn: Np [16:54] synkro has joined the channel [16:54] VeXii: im going to save that quote isaacs [16:55] TheJH: ACTION bad debugger :( [16:55] Nuck: I'm not either, really, but I'm great at thinking a problem through [16:55] cadorn has joined the channel [16:55] towski has joined the channel [16:55] tylerstalder has joined the channel [16:55] Fabryz: no one knows I guess [16:56] Nuck: My greatest skill is the ability to analyze something [16:56] chjj: i am great at not growing neckbeards [16:56] TheJH: I think I'm good at "what could go wrong" :D [16:56] er1c_ has joined the channel [16:57] eee_c has joined the channel [16:57] cadorn has joined the channel [16:57] broofa has joined the channel [16:57] Nuck: I honestly rather suck at programming, but since programming is 90% distilling a process and 10% programming, I can do 90% of it really well [16:59] socialhack has joined the channel [17:00] jkridner has joined the channel [17:00] skiz has joined the channel [17:00] Glenjamin: being able to read code is far more useful than being able to write it [17:01] Glenjamin: which is why i spend my time trying to write code thats easy to read [17:01] japj has joined the channel [17:01] jkridner: hi all, I work on the beagleboard project (which currently runs node.js and Cloud9 IDE) but I want to extend node.js to have more general ioctl and/or syscall support. [17:02] AaronMT has joined the channel [17:02] jkridner: I want to do that because I believe the closure model for node.js could be very friendly for embedded system development, but we need to do more than just read/write handles to talk to device drivers. [17:03] Nuck: I approve of that idea :D [17:03] tylerstalder has joined the channel [17:03] Nuck: ACTION just wants Node.js on embedded devices [17:03] jkridner: the problem for me is that JavaScript doesn't seem to handle arbitrary data blocks passed into or returned from ioctl very well. [17:03] stalled has joined the channel [17:03] jkridner: I run node.js daily on my beagleboard. [17:03] Nuck: (mostly arduino though) [17:03] jkridner: bit harder there. [17:03] micheil has joined the channel [17:04] Nuck: jkridner: Well, there's always writing a C module? [17:04] jkridner: perhaps on the new Due. [17:04] mbrevoort has joined the channel [17:04] Nuck: If Node can't do it in JS, that's what native modules are for :D [17:04] jkridner: I can create C modules for each ioctl, but then I end up creating a huge library in C. [17:04] Nuck: hmm [17:04] rpeterson1: bnoordhuis: nope, build 0.5.7 resulted in same error [17:04] jkridner: I'm wondering there is a way that I can write just a minimal portion in C so that as much as possible is written in JavaScript. [17:05] bzinger has joined the channel [17:06] rpeterson1: I will ahve to just find another server or something at this point, I can't spend anymore time on it or I will get even further behind [17:06] sirdancealot has joined the channel [17:06] Nuck: Well, I suck rather awfully when it comes to such system-level things, so I'll let the better programmers answer you, jkridner :P [17:07] Nuck: (and by that I mean I had to look up ioctl to check that it meant what I thought it did) [17:07] random123: Glenjamin, I think if it comes down to writing something that works in a straight foward way instead of writing some mystifying algorithm, straight forward has way more utility, I think PHP's success can attest to that [17:07] Skola has joined the channel [17:07] jkridner: I wish not so many things took ioctls. I think driver writers just do them out of laziness more often than not. [17:08] spasquali has joined the channel [17:09] random123: Unfortunately PHP sucks with concurrency :( [17:09] spasquali has left the channel [17:09] jkridner: In the Linux kernel, a lot of things are exposed rather nicely through sysfs, but that interface is dynamic and not all sysfs entries are well supported. [17:10] Nuck: sysfs is definitely nice [17:10] blup: is there a channel for mobile apps? [17:10] jkridner: many, many driver features cannot be reached through read/write on dev/sysfs entries at all. [17:10] `3rdEden has joined the channel [17:10] wink_ has joined the channel [17:11] adambeynon has joined the channel [17:11] robertfw has joined the channel [17:11] jkridner: blup: with node.js specifically? [17:12] lazyshot has joined the channel [17:12] blueadept: would anyone know how i can reference params.amount in line 17's assignment while at the same time calling its value? http://pastie.org/private/vsb9odrh5vzjhalkaynzq [17:12] perezd has joined the channel [17:12] Nuck: jkridner: things would be so much easier if hard drives were JSON :P [17:12] Nuck: Or rather, JS objects [17:12] Nuck: cdrom.eject(), sda0.free :D [17:12] blup: jkridner: prefferably, but i'd settle for js apps [17:13] gkatsev: Nuck: write an fs in node? [17:13] gkatsev: there's already a wm in node [17:13] junkee[]: creationix: ping [17:13] creationix: pong [17:13] Nuck: gkatsev: haha I would totally do that if I weren't so lazy and I weren't so busy [17:13] balaa has joined the channel [17:14] jkridner: nuck: I can do GPIO pretty well with just sysfs entries, but even basic events require using IOCTLs to poll. [17:14] adrianmg1 has left the channel [17:14] jtsnow has joined the channel [17:14] gkatsev: Nuck: yeah, me too [17:15] junkee[]: do you have time? [17:15] jkridner: Nuck: if there were some way to translate the ioctls into JS objects, that would be awsome. [17:15] siculars has joined the channel [17:15] Nuck: jkridner: If you write a generic ioctl-interface (forgive me for not knowing anything about how such things work, it' probably not possible), you could do that [17:15] creationix: junkee[]: ? [17:16] thalll has joined the channel [17:16] junkee[]: creationix: just want to talk about node-gir [17:16] stash1 has joined the channel [17:16] zeropx has joined the channel [17:16] creationix: junkee[]: sure [17:16] neilk_ has joined the channel [17:16] jkridner: the only node-ioctl projects I've seen were extremely rudimentary and not particularly extensible----and didn't give any clue how to make that void * something JavaScript can pass/use. [17:18] junkee[]: creationix: have you red https://github.com/creationix/node-gir/issues/7#issuecomment-2135188 ? Is [17:18] knifed has joined the channel [17:18] gr-eg has joined the channel [17:18] hornairs has joined the channel [17:18] Nuck: jkridner: I'm sure there's a few native module developers in here who can help you? [17:18] bengrue has joined the channel [17:18] arnee has joined the channel [17:18] creationix: junkee[]: yeah, who are you in that thread? [17:19] Sidnicious: So, how do signal handlers work in node? I'm guessing that JavaScript functions aren't signal handler safe, so when/how do they run? [17:19] junkee[]: creationix: sry, I'm swick [17:19] rpeterson1 has left the channel [17:20] freeformz has joined the channel [17:20] junkee[]: junkee[]: I like the concept. But i would just make the function call async if the last parameter is a function [17:20] creationix: junkee[]: so I think bergie's latest comment makes sense [17:20] Morkel has joined the channel [17:20] creationix: junkee[]: that works too, but it's a little more magical for a public API [17:20] creationix: junkee[]: but then again, this is already pretty magical ffi stuff, so it fits [17:21] creationix: i wish the gi repository had annotations about if a function did disk or network I/O [17:21] junkee[]: creationix: okay, nice. I just asked the people in introspection about it [17:21] junkee[]: no response yet :/ [17:22] creationix: I wouldn't expect it, I don't know of any event-loop based systems using gir [17:22] ako has joined the channel [17:22] creationix: they are all old-school style interfaces with blocking I/O and threads for concurrency [17:22] junkee[]: btw, do you think that locking a mutex should be async, too? I'm just wondering [17:22] creationix: junkee[]: how would you make it async [17:23] creationix: eio_custom uses a thread pool which itself has a mutex lock [17:23] JSManiacs has joined the channel [17:23] Lemon|mbp has joined the channel [17:23] junkee[]: o.0 [17:23] creationix: it depends on what's it waiting for [17:24] creationix: simply providing a callback does make a function async, it's only if the callback is registered to some event source and then executed later in a new tick [17:24] creationix: s/does/does not/ [17:24] hydrozen has joined the channel [17:25] junkee[]: right... [17:25] brion has joined the channel [17:25] brion has joined the channel [17:25] creationix: If I understand node correctly, there are 4 kinds of event sources... [17:25] Twisol has joined the channel [17:25] creationix: there are events from the high-performance select multiplexer, this is things like network sockets and other sockets [17:25] creationix: then there are timer events, that may also be in the same multiplexer [17:26] murvin has joined the channel [17:26] creationix: there is process.nextTick, which is just an event loop hack that simulates a new event by having access to the event loop [17:26] creationix: then there is the thread pool that makes otherwise blocking functions async [17:26] creationix: it's used for the filesystem in node [17:27] creationix: I'm pretty sure gir bindings would only be able to use the thread pool to make things async [17:27] junkee[]: right. and we only need to care about file and network io [17:28] creationix: but sadly, even network I/O won't be able to integrate with the multiplexer [17:28] creationix: gir won't give enough information to make that happen [17:28] Twisol: I have some binary network data in a Buffer, representing characters from a specific codepage. What's the best way to translate from the binary data to a UTF-8 string? For example, 0xFF would need to become U+00A0. [17:28] ecin has joined the channel [17:28] Country has joined the channel [17:28] cjm has joined the channel [17:29] creationix: my reason for wanting gir is not to use gnome network or filesystem APIs, but to have access to desktop widgets [17:29] hankK has joined the channel [17:30] halcyon918 has joined the channel [17:30] junkee[]: some for me but bergie likes the network/filesystem stuff also. We should at least try to make it work (more or less) [17:30] tylerstalder has joined the channel [17:30] junkee[]: *same [17:31] creationix: junkee[]: well, if he wants to use gnome's network stack, that's fine. node can work as a blocking system. You just have to understand that node's network stack or timers won't work after that [17:31] blueadept: anyone know a better way of writing this? http://pastie.org/private/gdqfgzewodlysuqxvktiq [17:31] creationix: or we can wrap the network stack in the node thread-pool, but it's going to perform pretty badly [17:31] creationix: which may be ok [17:32] creationix: how about make the bindings as generic as possible, and there can be both node-gir and vanilla v8-gir [17:32] mjr_ has joined the channel [17:32] creationix: the v8 version is meant to be used blocking [17:32] tnorris has joined the channel [17:33] tnorris: what's the command line options for max memory usage? [17:33] tnorris: i've tried several, but can't use more than a gig. [17:33] junkee[]: i thought about it too. i would gir just give a flag (gir.blocking = true) or sth like that [17:33] creationix: tnorris: are you on 32 bit? [17:33] jonrohan has joined the channel [17:34] tnorris: creationix: nope. 64bit. [17:34] AvianFlu has joined the channel [17:34] creationix: tnorris: I think there is both a compile-time limit and a run-time limit [17:34] tnorris: ah, ok. makes sense. compiled mine from source. [17:34] creationix: tnorris: but I'm not a v8 expert, so I don't remember what they are [17:35] chrislorenz has joined the channel [17:35] dmkbot has joined the channel [17:35] jakehow has joined the channel [17:36] creationix: junkee[]: maybe we could have a repository annotating the functions that are blocking? [17:36] creationix: not sure if I want to maintain that though [17:36] dmkbot has joined the channel [17:36] hankK has joined the channel [17:36] dmkbot has joined the channel [17:37] joshontheweb has joined the channel [17:37] dmkbot has joined the channel [17:37] cpetzold has joined the channel [17:37] creationix: junkee[]: I think bergie's latest comment is good for now [17:38] freeformz has joined the channel [17:38] dmkbot has joined the channel [17:38] creationix: just ask the gir people if they could add such a flag so we could throw a warning or something when used wrong [17:38] junkee[]: okay, thanks :) [17:38] vicapow has joined the channel [17:38] dmkbot1 has joined the channel [17:38] ryah: DrMcKay: your bot is bouncing [17:39] DrMcKay: ryah: I was deploying [17:39] mehlah has joined the channel [17:39] CarterL has joined the channel [17:39] DrMcKay: ryah: *should* be fine now [17:39] mehlah has joined the channel [17:39] DrMcKay: or not... [17:40] dmkbot has joined the channel [17:40] DrMcKay: ryah: also, I will take care about diffing issues this week [17:40] dmkbot has joined the channel [17:40] bergie: hey creationix, junkee[] [17:40] DrMcKay: `killall node` is super-effective [17:41] DrMcKay: oh. wait. my server was node. [17:41] junkee[]: bergie: hi [17:41] ryanj has joined the channel [17:41] brion_ has joined the channel [17:42] Guest7047 has joined the channel [17:42] jmayfield has joined the channel [17:42] robi42 has joined the channel [17:42] creationix: bergie: I just commented on the thread [17:42] creationix: your last comment sounds good [17:42] dmkbot has joined the channel [17:43] fizx has joined the channel [17:43] dmkbot has joined the channel [17:43] DrMcKay: it's getting timeouts :/ [17:43] adambeynon has joined the channel [17:44] navaru has joined the channel [17:44] avian__ has joined the channel [17:44] balaa has joined the channel [17:44] creationix: bergie, junkee[], sorry I haven't had time to contribute to node-gir. I'm glad others are helping with it [17:44] tnorris has left the channel [17:45] wadey has joined the channel [17:46] dmkbot has joined the channel [17:47] bergie: creationix: I'm also happy to see it progressing. I'll try to ask Piotras if he has time to work a bit on it as well [17:47] dmkbot has joined the channel [17:47] DrMcKay: stop it, I hate you. [17:47] sylvinus_ has joined the channel [17:47] gregpascale has joined the channel [17:48] dmkbot has joined the channel [17:48] DrMcKay: OK, a brain teaser, why would a bot do that ^ ? [17:49] eliziario has joined the channel [17:50] zeade has joined the channel [17:51] thinkjson has joined the channel [17:52] hakaselab has joined the channel [17:52] thinkjson: isaacs: ping [17:53] dmkbot has joined the channel [17:53] DrMcKay: don't. [17:53] DrMcKay: please? [17:53] sub_pop has joined the channel [17:53] dmkbot has joined the channel [17:54] thinkjson: DrMcKay: are you talking to me? [17:54] junkee[]: xD [17:54] softdrink has joined the channel [17:54] link_ has joined the channel [17:54] DrMcKay: thinkjson: no, to my bot [17:54] thinkjson: k [17:54] DrMcKay: thinkjson: but I'm afraid he's ignoring me [17:55] balaa_ has joined the channel [17:55] sfoster has joined the channel [17:58] pgherveo_ has joined the channel [17:59] jetienne has joined the channel [17:59] blueadept: anyone know a better way of writing this? http://pastie.org/private/9tlgoyllcs8db432lmvyaa [18:00] joshkehn: Allow sanitize to take null / undefined and return '' [18:00] joshkehn: So you can just say [18:00] joshkehn: params.cc.cvs = sanitize(params.cc.cvs) [18:01] thinkjson: blueadept: https://developer.mozilla.org/en/JavaScript/Reference/Operators/Special/Conditional_Operator [18:01] joshkehn: Then write a wrapper around `sanitize` that is called `sanitizeParams` and does all those calls. [18:01] blueadept: thinkjson: yeah i was trying them out but it wasn't working [18:01] blueadept: hm, i think i got it [18:01] joshkehn: You could do that, but it still looks ugly IMO. [18:02] AvianFlu has joined the channel [18:02] Nuck: github should switch from an autoreloading page to socket.io on their status page haha [18:02] davidc_ has joined the channel [18:03] joshkehn: Nuck: Why? [18:03] thinkjson: then the status page would be down, too [18:03] thinkjson: right now it's a static HTML file, and nginx never falls over [18:03] Nuck: joshkehn: because realtime is awesome haha [18:03] Nuck: thinkjson: haha very true :D [18:03] `3rdEden: haters [18:04] `3rdEden: ;9 [18:04] `3rdEden: ;D [18:04] netlemur: slow github is slow... [18:04] netlemur: :-) [18:04] ako: github D: [18:04] Nuck: netlemur: load balancer failed apparently [18:04] joshkehn: Nuck: Auto-refresh is so much easier... [18:04] Nuck: http://status.github.com/ [18:04] joshkehn: I hate how everyone is trying to shove “real time” into everything they do. [18:04] Nuck: ACTION is having a staring contest with the octocat [18:04] cody-- has joined the channel [18:04] Nuck: joshkehn: haha well, real-time is awesome [18:05] Nuck: And it's node's forte [18:05] aho: octocat picks nose [18:05] aho: it's super effective [18:05] synkro has joined the channel [18:05] thinkjson: netlemur: you implement a source hosting site for tens of millions of users and get back to me [18:05] aron_ has joined the channel [18:05] d_low_ has joined the channel [18:05] netlemur: thinkjson: don't want to do that :) [18:05] aho: ah... github loaded [18:05] aho: woo [18:05] netlemur: thinkjson: didn't say i could do it better [18:05] Nuck: Looking at their history, I'd wager github will be back online fully within 15-20 minutes [18:06] netlemur: glad there's something like github. but still. performance is getting worse [18:06] randylien has joined the channel [18:06] Nuck: They're calling this one minor and previous things have been major [18:06] Nuck: netlemur: Well, they used Ruby [18:06] Nuck: What did you expect? [18:06] Nuck: Amazing scaling? [18:06] DrMcKay: ACTION goes to implement it in node [18:06] thinkjson: oh dear [18:07] netlemur: DrMcKay: will you offer free accounts? haha! [18:07] Nuck: DrMcKay: I think GH is already doing some things in Node [18:07] thinkjson: ACTION checks to make sure he's not in ##php [18:07] DrMcKay: lol, it's OK [18:07] g4 has joined the channel [18:07] g4 has left the channel [18:07] DrMcKay: (gh, I mean) [18:07] Nuck: Namely the repo .tar.gz and .zip downloads [18:07] DrMcKay: netlemur: yes, free accounts for everyone! [18:07] Nuck: DrMcKay: Still saying partial outage [18:07] DrMcKay: Nuck: yes, file download [18:07] cody--: anyone feel like reviewing some code i've wrote and giving advice? [18:07] Nuck: But all three lights are green :D [18:08] g4 has joined the channel [18:09] DrMcKay: GREEN LIGHTS. IT HAS TO WORK. [18:09] Nuck: That page is static HTML that loads JSON objects [18:10] DrMcKay: btw, their API server == their gist server [18:10] Murvin has joined the channel [18:10] Nuck: DrMcKay: Really? [18:10] DrMcKay: Nuck: yes [18:10] Nuck: DrMcKay: How can you tell? [18:10] DrMcKay: Nuck: ping api.github.com and gist.github.com [18:11] jhurliman has joined the channel [18:11] DrMcKay: Nuck: also, nmap it and see how it introduces itself [18:11] bzinger has joined the channel [18:11] Raynos: can we popularise a standard routing mechanism that allows applications to be deployed to a server simply by dumping a folder in an application directory [18:11] Raynos: if this is not a good idea why is it not a good idea [18:11] Nuck: DrMcKay: ping www.github.com too ;) [18:11] Nuck: It's all one IP [18:11] hkjels has joined the channel [18:11] Nuck: Many different servers behind that [18:12] Nuck: DrMcKay: Reverse proxies, man [18:12] DrMcKay: gah, so it's a proxy [18:12] Nuck: haha [18:12] DrMcKay: I wouldn't do it like that [18:12] Nuck: DrMcKay: Yeah, there's a hell of a lot more than 1 server for gists [18:12] DrMcKay: but whatever [18:12] Nuck: I'd have separate load balancers [18:12] DrMcKay: yup [18:12] Nuck: gist, git, web, and api [18:13] Nuck: And servers behind each [18:13] Nuck: Also, we have go! [18:13] DrMcKay: or, do that: http://www.zytrax.com/books/dns/ch9/rr.html [18:13] Twisol: Just to be sure, the "binary" Buffer encoding encodes a string as its UTF-8 codepoint number (below 256)? [18:13] Nuck: DrMcKay: I prefer a reverse proxy setup [18:13] DrMcKay: `git clone` cannons, go! [18:14] guy has joined the channel [18:14] guy: how do I tell which one is a stable release? (NPM, forever) [18:14] esmevane has joined the channel [18:14] guy: https://gist.github.com/0d184c6827e0b275ca68 [18:14] wojohowitz has joined the channel [18:14] isaacs: guy: hey [18:14] guy: isaacs: oh. hello. [18:14] guy: ha. I think I've just sent you an email. [18:14] isaacs: i saw :) [18:14] isaacs: guy: i'm almost always on here, if you ever want faster response. [18:14] isaacs: but email is fine, too [18:15] isaacs: so, the latest is usually what you want. if you run the install script, it'll download the latest version of npm. [18:15] isaacs: if you have the git repo, you can run `make install`, and it'll pull down the submodules and then install npm [18:16] isaacs: if you've downloaded a tarball from github, sorry, it's broken. dont' do that. [18:16] guy: ok. that's easy [18:16] guy: I did that few times though, but. it simply doesn't work. [18:16] guy: I have error log if you are curious to know, though, I doubt that you are the person responsible for the forever NPM? are you? : ) I did't find any website or anything about forever. [18:17] Poetro has joined the channel [18:17] Poetro has joined the channel [18:17] isaacs: guy: yes, please gist the error log. [18:17] stisti has joined the channel [18:17] isaacs: i'm not responsible for forever, but i am responsible for npm [18:17] guy: sure. give me a second. the log is quite long. [18:17] isaacs: guy: forever is these folks: https://github.com/indexzero/forever [18:17] isaacs: guy: there are a few gist command line clients, whcih are really handy [18:18] isaacs: guy: then yo ucan just `gist npm-debug.log` and it'll spit out a url [18:19] DrMcKay: ok, bot seems stable now [18:19] tbranyen: hmmm trying to use async module's parallel to monitor two different paths with watchFile, but the callback is only ever called once, is there a method that can trigger whenever watchFile triggers a callback? [18:19] tbranyen: i need like a async.monitor or something [18:20] thinkjson: isaacs: did I see you're working on native gzip support? [18:20] gajus has joined the channel [18:20] gajus: https://gist.github.com/dc0eb058dff2a930460e [18:20] gajus: connection lost, sorry. isaacs, those are the two most common errors. [18:21] dmkbot1 has joined the channel [18:21] isaacs: gajus: run `npm install` in the forever dir. [18:21] Poetro has joined the channel [18:21] isaacs: gajus: or `npm rm -g forever; npm install forever` and then gist the log of that when/if it fails [18:22] dmkbot has joined the channel [18:22] netlemur: argh. all this async stuff is messing with my head [18:22] isaacs: gajus: looks like the forever deps weren't installed. [18:22] astropirate has joined the channel [18:22] netlemur: perhaps some can point me in the right direction how to solve this? https://gist.github.com/1227175 [18:23] Vince has joined the channel [18:23] JSManiacs has left the channel [18:23] TheJH: netlemur, I think i don't understand what's your goal there [18:24] gajus: isaacs: just in case, you probably meant "npm install forever -g" not "npm install forever", right? [18:24] Vince: hi, I'm looking for information of integrating node.js with asp.net mvc 3 [18:24] netlemur: I got a list of events, events have a location id. i need to get the location from this id and put it in the event object [18:24] netlemur: TheJH: using mongoose... [18:24] davidc_ has joined the channel [18:25] tbranyen: heh monitor was actually really easy to write, i should pull req it to async module [18:25] tbranyen: http://pastie.org/2558966 [18:25] guy has joined the channel [18:25] guy: https://gist.github.com/d7be2ef5f2e89a0c99f0 [18:26] guy: isaacs: ^ [18:26] Twisol: What's the best way of emulating the "binary" Buffer encoding without actually using it? [18:26] isaacs: guy: there should be a bit more [18:26] isaacs: doesn't look like it finished [18:27] guy: ups.. https://gist.github.com/fa5d394a8fd7821e059a [18:27] srijan4 has joined the channel [18:27] Nuck: Ugh [18:27] isaacs: guy: yeah, this looks like either a forever or an nconf bug [18:27] Nuck: I hate all templating engines ;~; [18:28] netlemur: Nuck: I hate HTML :) [18:28] DrMcKay: Nuck: render client-side? [18:28] Nuck: lol [18:28] TooTallNate: konobi: do we talk to you about Joyent hosting problems? [18:28] Nuck: I'm just really picky I guess [18:29] jarek has joined the channel [18:29] guy: isaacs: the system says to report it to you: https://gist.github.com/7388f9cb47009c917921 [18:29] maushu has joined the channel [18:30] Nuck: I'd love a template engine that resolves partials first and lets them set variables that the outer template can then use [18:30] Nuck: So I could create an array in the , which I could push to from in a partial [18:30] Nuck: And add the CSS [18:30] tilgovi has joined the channel [18:30] tilgovi has joined the channel [18:30] Nuck: Jade would be nice, if not for the hideous syntax [18:31] ryanmcgrath has joined the channel [18:31] netlemur: Nuck: I actually like the Jade syntax [18:31] softdrink: people still use templating engines? ¬¬ [18:31] aho: "still"? [18:32] DrMcKay: aho: today we render at client-side [18:32] willwh has joined the channel [18:32] willwh has joined the channel [18:32] Nuck: netlemur: I find it absolutely apalling. [18:32] aho: DrMcKay, that also requires a template engine [18:32] Nuck: heh I think I'm gonna head off to the Magic Lab [18:32] Nuck: I should work on my Photoshop assignment. [18:32] Nuck: bbl [18:33] DrMcKay: aho: or that: http://knockoutjs.com/ [18:33] vns has joined the channel [18:33] DrMcKay: but well, it's still a templating engine, technically [18:33] Nuck|mobile has joined the channel [18:33] aho: it surely isn't pixie dust :>~ [18:34] erichynds has joined the channel [18:34] guy has joined the channel [18:34] trevorgreen_ has left the channel [18:35] guy: isaacs: I keep losing connection for unknown reasons, so if there's any fix that'd you come up with, please email that to g.kuizinas@anuary.com. Much appreciated. [18:36] Nuck|mobile_ has joined the channel [18:37] thalll has joined the channel [18:37] Nuck|mobile_: Oh god there's a petition for "lower gas prices" out today [18:37] blax has joined the channel [18:37] Nuck: Dunno what good a petition will do [18:38] jarek: do you know of any desktop app that would be build on top of Node.js? [18:39] DrMcKay: jarek: like, purely desktop? [18:39] taf2 has joined the channel [18:39] jarek: DrMcKay: I mean an app that would be bundled with Node.js server and would rely on it heavily [18:40] Brandon_R has joined the channel [18:40] Brandon_R: hi [18:40] joshkehn: Brandon_R: Hi! [18:40] jarek: so far I have found only Kod editor, but it seems to be using Node only as a scripting engine [18:40] Brandon_R: Not much [18:40] Brandon_R: I wonder why someone doesn't make a textmate port for Linux [18:40] Brandon_R: Seems like a simple program [18:41] DrMcKay: jarek: it's hard to achieve, I'm not sure if there are proper bindings for DE [18:41] joshkehn: Because Sublime already exists? [18:41] jarek: Brandon_R: have you tried Sublime Edit 2? It's a "new textmate" [18:41] Cromulent has joined the channel [18:41] DrMcKay: Brandon_R: scribes [18:41] joshkehn: TextMate is probably going to be OS X only forever. [18:41] Brandon_R: lemme check it out [18:41] blax: hi there, what can I do to properly handle failing (with exception) callback? [18:41] joshkehn: And while I love it, I'm using S2 more these days. [18:41] jarek: s/Sublime Edit/Sublime Text [18:41] joshkehn: blax: Clarify? [18:41] lazyshot has joined the channel [18:42] blax: I have a system with memcache and db, when memcache doesn't have the answer my app should go and ask db; question is: how to handle situation where memcache fails and throws exception? I could catch it by unhandledException event, but how to continue handling request with db? [18:42] DrMcKay: jarek: check out nide editor [18:42] EvRide has left the channel [18:42] joshkehn: DrMcKay: Link would be good. ;) [18:42] DrMcKay: jarek: it's still in-browser, but it might count as a desktop app, I think [18:42] tbranyen: i hear vim is an up-and-coming editor [18:42] DrMcKay: http://coreh.github.com/nide/ [18:42] joshkehn: tbranyen: I still do about 40% of my work in vim [18:42] blax: normally I pass response object to the memcache callback and when it doesn't have the answer it passes it on to db [18:42] wadey: blax: what memcache client are you using? it should be calling you back with the error, not throwing it [18:42] DrMcKay: and yes, vim <3 [18:43] jarek: DrMcKey: it's very easy to communicate between Cocoa and Node.js server [18:43] joshkehn: And vico looks great as well. http://www.vicoapp.com/ [18:43] mattly has joined the channel [18:43] blax: 3rdeden's memcached [18:43] blup has joined the channel [18:43] DrMcKay: jarek: I haven't played with Cocoa yet, worth trying [18:43] joshkehn: blax: Memcache throws exceptions? That's weird. [18:43] jarek: Node.js + WebKit webview could be used for building some very powerful apps [18:43] blax: it throws exception when memcached client isn't listening [18:43] jarek: I don't understand why no one is using it for this purpose [18:44] blax: in other cases it's just fine; actually it's already working on production [18:44] DrMcKay: jarek: be the first one :) [18:44] `3rdEden: blax my driver shouldn't throw exceptions, if it does that, it's definitly a bug [18:44] jarek: DrMcKay: I will be publishing my first desktop app based on Node.js next month :) [18:44] `3rdEden: blax: can you post a issue with a small reproducible test case on the github repo? [18:44] DrMcKay: jarek: great to hear :) [18:44] DrMcKay: jarek: what app, exactly? [18:45] Brandon_R: does sublime work for linux [18:45] blax: `3rdEden: well it seams it's easy to reproduce, just try talking to memcached when the daemon is down [18:45] blax: `3rdEden: will check and post it! [18:45] `3rdEden: your amazing <3 thanks [18:45] guidocalvano has joined the channel [18:46] jarek: DrMcKay: http://i.imgur.com/47QW3.png [18:46] jarek: DrMcKay: it's half done now [18:46] DrMcKay: jarek: well, wow, looks nice [18:46] DrMcKay: jarek: (is it open source?) [18:47] heavysixer has joined the channel [18:47] DrMcKay: also, seeing how nice Mac OS X UI, I'm totally getting myself one [18:47] DrMcKay: s/UI/UI is/ [18:47] jarek: DrMcKay: the UI is done entirely with HTML5/CSS/SVG [18:48] jarek: Node.js is responsibe for accessing the filesystem [18:48] DrMcKay: jarek: also, you have a typo. it's exercise [18:48] DrMcKay: ACTION is nitpicking [18:49] DrMcKay: jarek: still, it's very nice :) [18:49] d_low_ has joined the channel [18:49] DrMcKay: jarek: it it open source? [18:49] level09 has joined the channel [18:49] jarek: DrMcKay: no, but it will be available for free on Mac App Store [18:50] thinkjson has left the channel [18:50] DrMcKay: ACTION goes to choose his Mac [18:50] DrMcKay: jarek: btw, would you please put up some demo on GitHub? [18:50] TheJH: aaaah! DrMcKay is going to the evils! [18:50] DrMcKay: jarek: I mean, simply barebone [18:51] DrMcKay: jarek: how did you get those two to interact, etc. [18:51] DrMcKay: jarek: some really simple app would help a lot of people :) [18:51] TheJH: DrMcKay, let me give you ONE link from the ##security topic: "THIS is why we don't deploy the latest software: http://www.defenceindepth.net/2011/09/cracking-os-x-lion-passwords.html" [18:52] DrMcKay: TheJH: are you assuming that I will actually use it for serious stuff ;> ? [18:52] TheJH: DrMcKay, I'm just being cautionous [18:52] DrMcKay: ah, great, Apple has a Polish store now [18:52] vidi has joined the channel [18:53] Brandon_R_ has joined the channel [18:53] Brandon_R_: hello [18:53] DrMcKay: I kinda like the price [18:54] DrMcKay: ACTION is going crazy [18:55] jarek: DrMcKay: here is the code responsible for communication: https://gist.github.com/1227267 [18:55] devongovett has joined the channel [18:56] DrMcKay: jarek: nice one, thanks :) [18:56] DrMcKay: jarek: you're using pipe to talk to node? [18:56] jarek: It's a bit primitive (I'm reading data from standard output), there is defenitely a more elegant way to do this [18:56] davidascher has joined the channel [18:57] DrMcKay: jarek: yeah, like some socketor even HTTP server [18:57] DrMcKay: jarek: but still, it's neat [18:57] RichardNode has joined the channel [18:57] jarek: it's very easy to exchange data between Node.js and WebKit webview via websockets [18:57] RichardNode: Hey there everyone, is there anyone here familiar with the mustache template engine? [18:57] jarek: but calling Ojbective-C functions from WebKit2 webview is tricky [18:57] DrMcKay: well, whoah. why the hell do I understand ObjC? [18:58] DrMcKay: I haven't tried it before. [18:58] jarek: so I use WebKit1 for now [18:58] DrMcKay: jarek: those are build-in components? [18:58] rasztasd has joined the channel [18:59] softdrink: objc makes me want to tear my face off [18:59] pizthewiz has joined the channel [18:59] softdrink: just sayin' [18:59] rasztasd has left the channel [18:59] DrMcKay: softdrink: I'm seeing it for the very first time, and it seems understandable [18:59] Lemon|mbp has joined the channel [18:59] DrMcKay: I have no real idea how it works, though [19:00] TheJH: DrMcKay, then it can't be good. have a look at coco! :D [19:00] AaronMT has joined the channel [19:00] DrMcKay: TheJH: link? [19:00] spotzero has joined the channel [19:01] DrMcKay: TheJH: or maybe it's a language I don't want to see? [19:01] max_dev has joined the channel [19:01] TheJH: DrMcKay, https://github.com/satyr/cup/blob/gh-pages/cup.co [19:01] DrMcKay: OK, MacBook Pro 13", which one? [19:01] TheJH: DrMcKay, it's a coffeescript fork [19:01] DrMcKay: TheJH: I give up. [19:02] DrMcKay: TheJH: @@? [19:02] TheJH: DrMcKay, satyrs name on irc is matyr, he's here [19:02] softdrink: all messages in objc get run through pretty much a single C function: objc_msgsend() [19:02] DrMcKay: TheJH: possibly, and? [19:02] TheJH: DrMcKay, go here, paste and click compile: http://satyr.github.com/cup [19:02] DrMcKay: softdrink: that seems like a design problem [19:02] mike5w3c_ has joined the channel [19:02] shanebo: hey guys is this the most concise way to create an array of 50 items 1-50? http://jsfiddle.net/Y2Mse/ [19:03] Renegade001 has joined the channel [19:03] TheJH: DrMcKay, you said "I give up." - I thought that, in that case, the language creator would maybe be able to help :D [19:03] joshkehn: shanebo [19:03] joshkehn: shanebo: No [19:03] joshkehn: You could do [19:03] aho: shanebo, that one creates 0 to 50 (inclusive) though [19:03] TheJH: !coffee compile [0..50] [19:03] jhbot: var _i, _results; (function() { _results = []; for (_i = 0; _i <= 50; _i++){ _results.push(_i); } return _results; }).apply(this, arguments); [19:04] DrMcKay: TheJH: no, I think I will just cry in my pillow :p [19:04] joshkehn: new Array(50) and then .map or something [19:04] mbrevoort has joined the channel [19:04] artnez has joined the channel [19:04] TheJH: DrMcKay, yes, it looks weird :D [19:04] DrMcKay: wait, these Macbooks differ by a price and CPU? [19:04] yozgrahame has joined the channel [19:05] aho: is there a reason why you want to create that array ahead of time? [19:05] aho: i'd just start with an empty one and push [19:05] TheJH: DrMcKay, double-@ is "arguments" [19:06] aho: i mean... an array which got 0 at 0, 1 at 1, and so forth is kinda useless, isn't it? [19:06] slifty has joined the channel [19:06] DrMcKay: store.apple.com is bullshit. [19:06] shanebo: aho, well I could add one to each [19:07] jhurliman: custom signal handling is segfaulting node master, and it appears to be like that for about a month (running OSX). is anyone else seeing this? [19:07] aho: someNumber + 1 is faster than arr[someNumber] though... also, it makes more sense :> [19:07] DrMcKay: I want to compare them. I can do that in every sane shop. [19:07] jarek_ has joined the channel [19:08] bnoordhuis: jhurliman: can you define custom signal handling? [19:08] bnoordhuis: or rather, specify [19:08] jhurliman: bnoordhuis, let me paste the code that is segfaulting, hold on. my first attempt at a small repro is not doing the same thing, so something else is going on [19:08] shanebo: aho http://jsfiddle.net/Y2Mse/1/ [19:09] aho: i still don't know why you might want to do something like that :) [19:09] lazyshot has joined the channel [19:09] DrMcKay: wait, whoa. [19:09] metellus has joined the channel [19:09] jacobolus has joined the channel [19:10] shanebo: aho, I'm using mustache for templating and I need an array to 50 so I can dynamically create a select dropdown with up to 50 options [19:10] beeeviz has joined the channel [19:10] aho: ah ok [19:10] DrMcKay: they've forgot enthernet port in MacBook Air [19:10] aho: that answer is acceptable :> [19:10] DrMcKay: *ethernet [19:10] DrMcKay: indeed, Apple. [19:10] aheckmann has joined the channel [19:10] jhurliman: bnoordhuis, ack, false alarm. it's something i did [19:10] mikeric_ has joined the channel [19:11] ako has joined the channel [19:11] bnoordhuis: jhurliman: np, i like false alarms better than real bugs [19:11] TheJH: DrMcKay, no ethernet? :D [19:11] piscisaureus_ has joined the channel [19:11] TheJH: @3rdEden Wooot! The new garbage collector for chrome just landed in bleeding edge, no more 1gb memory limit in #nodejs http://t.co/lTaUNk97 [19:11] DrMcKay: TheJH: in MacBook Air, it looks like [19:11] TheJH: awesome! [19:12] blax has joined the channel [19:12] DrMcKay: wait, seriously? no ethernet port? are they totally insane or what? [19:13] aho: shiver me timbers! :v [19:13] joshkehn: Who needs an ethernet port? [19:13] joshkehn: Plus you can get an external one. IIRC [19:13] DrMcKay: joshkehn: well, I use it on daily basis [19:13] joshkehn: I can't remember the last time I used my ethernet port. [19:13] joshkehn: Then don't get an Air. [19:13] joshkehn: Apple is very cut and dry in terms of product selection. [19:14] DrMcKay: joshkehn: yeah, I think I will get MBP. lack of ethernet just doesn't feel right [19:14] joshkehn: MBP's are great. [19:14] joshkehn: But I wouldn't get a 13" [19:14] DrMcKay: joshkehn: why? [19:14] joshkehn: I think the 15" is the best of that line. [19:15] DrMcKay: joshkehn: I need portability, I don't think 15" is portable enough [19:15] joshkehn: It's a minor cost for a large upgrade. [19:15] joshkehn: Jump ti the i7's [19:15] cjm has joined the channel [19:15] joshkehn: Better graphics. [19:15] DrMcKay: joshkehn: 13" has i7 [19:15] joshkehn: Only if you bump it. The 15's have it by default. [19:16] joshkehn: And they only have the dual core. [19:16] DrMcKay: joshkehn: no, it's by default [19:16] joshkehn: Let me check on that. [19:16] joshkehn: The 2.3 has an i5 [19:16] joshkehn: The 2.7 has an i7 [19:16] DrMcKay: joshkehn: and yes, number of cores differs [19:16] blax: `3rdEden: sorry, that was false alarm, error seems to be somewhere else. thanks though for pointing me in the right direction! ;) [19:16] knifed has joined the channel [19:16] `3rdEden: :D! good to know [19:16] joshkehn: For an extra $300 you get much better graphics, plus a quad i7 [19:16] joshkehn: I find my 15" very portable. [19:17] heavysixer has joined the channel [19:17] DrMcKay: I've had that neat formula for calculating screen width somewhere... [19:18] joshkehn: Plus the 15" has the antiglare screen. [19:18] joshkehn: Which really rocks. [19:19] DrMcKay: oh. it may get useful. [19:19] joshkehn: You can also stick a 7200 drive in there, if you aren't going the SSD route. [19:20] blax: go for seagate momentus xt! [19:20] blax: i'm using it in my 15'' mbp and it's awesome for it's price [19:21] _kud has joined the channel [19:21] DrMcKay: blax: looks good, I'll check it out [19:21] epsas: our laptops are overpowered [19:21] jesusabdullah: I wish mine was op :( [19:22] jlilly has joined the channel [19:22] DrMcKay: mine is 2x1.2 GHz, I *need* to upgrade [19:22] jlilly has left the channel [19:23] broofa has joined the channel [19:23] chapel: ryah: what are your thoughts on the new v8 gc? [19:23] joshkehn: My laptop runs faster then most desktops. But I keep it clean and light [19:23] jesusabdullah: Mine's a Dell mini 9 [19:24] mak_ has joined the channel [19:24] DrMcKay: I have a Dell 11z [19:24] pplcf has joined the channel [19:24] DrMcKay: the more powerful one [19:24] jesusabdullah: It used to be serviceably fast but it's getting a bit crufty and I'm running too much webstuff on it [19:24] jesusabdullah: also I broke the spacebar, hopefully temporarily [19:25] jesusabdullah: I tried ordering a laptop a few weeks ago but that's been a total snafu from the start [19:25] jesusabdullah: fucking lenovo [19:25] mak_: can someone guide me to the best tutorial written for Node.js [19:25] jesusabdullah: also, fucking credit union [19:25] joshkehn: lenovo [19:25] joshkehn: For those who do. [19:25] joshkehn: HAHaha [19:25] DrMcKay: joshkehn++ [19:25] joshkehn: mak_: Absolutely! [19:25] v8bot_: DrMcKay has given a beer to joshkehn. joshkehn now has 2 beers. [19:25] joshkehn: mak_: Go for http://nodejs.org/docs/v0.5.7/api/ [19:26] DrMcKay: lenovo *really* sucks, it gets overheated and they totally bloat OS [19:26] mak_: Joshkehn: Thanks [19:26] reid has joined the channel [19:26] jesusabdullah: Well, I'm nuking the OS obviously [19:26] jesusabdullah: I gotta get shit done, can't do it in windows [19:27] jesusabdullah: idk how people get much done in windows sometimes :( [19:27] DrMcKay: in my home, single windows hasn't been booted for a year or so [19:27] joshkehn: I'm considering nuking my servers and putting FreeBSD on them. [19:28] DrMcKay: I even got my father to use Fedora! [19:28] stagas has joined the channel [19:28] jarek_: DrMcKey: I have switched from Ubuntu to Fedora few months ago and I'm really dissapointed with it [19:29] DrMcKay: jarek_: why? [19:29] joshkehn: Fedora is just RH without the junk, right? [19:29] jarek_: DrMcKay: Fedora seems to be beta-quality distro, they are putting to much bleeding-edge stuff into it [19:29] DrMcKay: jarek_: yup, I kinda like it :) [19:29] jesusabdullah: I like Fedora kind of [19:29] blup has joined the channel [19:29] jesusabdullah: but I don't really like yum [19:29] jesusabdullah: or rather, rpm [19:29] bnoordhuis: fedora is RHEL's testing ground, of course it's going to be buggy [19:30] Lemon|mbp has joined the channel [19:30] jesusabdullah: because I've actually gotten DATABASE ERRORS with yum/rpm but never with apt-get [19:30] joshkehn: I had my own http://joshuakehn.com/2011/2/4/Upgrading-Python-on-CentOS.html [19:30] joshkehn: Can't do links it seems. [19:30] joshkehn: [fun with yum](1) [19:30] joshkehn: It requires Python 2.4 and dislikes you trying to upgrade [19:31] jesusabdullah: That's pretty typical iirc [19:31] jesusabdullah: not necessarily with 2.4 [19:31] bnoordhuis: that's true for debian based systems too, though [19:31] jesusabdullah: but with stale python versions being required on "stable" OS's [19:31] bnoordhuis: upgrading the system python is a recipe for pain [19:31] DrMcKay: Fedora 15 does fine with 2.7 [19:31] DrMcKay: and with 3.2 [19:31] jesusabdullah: Well yeah, because they bothered to upgrade F15 [19:31] jesusabdullah: it's not the "stable" branch yo [19:31] joshkehn: DrMcKay: That's because they upgraded it. It's not mainline though. [19:31] chapel: bnoordhuis: have you played with the new v8 gc that landed in bleeding edge? [19:32] bnoordhuis: chapel: no, not yet [19:32] bnoordhuis: there are bugs to fix first :( [19:32] chapel: bnoordhuis: sure nuff :) [19:34] davidascher has joined the channel [19:34] parshap has joined the channel [19:35] joshthecoder has joined the channel [19:35] TomY has joined the channel [19:36] hornairs: hey anyone have experience with UglifyJS' AST? whats the best way to remove an entire statement (stat node) from the tree? [19:36] chapel: hornairs: best example Ive seen is burrito [19:36] bergie has joined the channel [19:36] chapel: !npm search burrito [19:36] jhbot: package burrito: Wrap up expressions with a trace function while walking the AST with rice and beans on the side [19:37] Cromulent has joined the channel [19:37] stagas has joined the channel [19:37] Fabryz has joined the channel [19:37] Daegalus: Would anyone be interested in a Node.js Recipe Book App? [19:37] AvianFlu: Daegalus, what do you mean? [19:38] Fabryz: why am I not able to render an anchor tag inside a p tag in JADE? [19:38] joshkehn: Fabryz: Because jade sucks? [19:38] Aikar: an app to store recipes? [19:38] AvianFlu: joshkehn++ [19:38] v8bot_: AvianFlu has given a beer to joshkehn. joshkehn now has 1 beers. [19:38] cjm has joined the channel [19:38] AvianFlu: nothing against jade, I'm just anti-server-side-templating [19:38] tjholowaychuk: lol [19:38] joshkehn: I'm anti dumb templating. [19:38] tjholowaychuk: AvianFlu there are times for it [19:38] Daegalus: AvianFlu: An app for storing/sharing recipes online. I am planning to write one for my family's recipes, was wondering if anyoen would be interested in me open-sourcing it [19:39] tjholowaychuk: rendering client only is very wrong at times [19:39] tjholowaychuk: depends on the case [19:39] joshkehn: jade, haml, all the same. [19:39] AvianFlu: Daegalus, that sounds cool [19:39] joshkehn: I really hate them. [19:39] Aikar: wait, so youd rather output some json blob and render the entire ui fully through JS? lol [19:39] AvianFlu: tjholowaychuk, I agree, no one view is right all the time, on most subjects [19:39] Daegalus: I like jade, I am using it for my Forum Software, but I am also using caching so unless something changes, the HTML generated from teh Jade is cached [19:39] Fabryz: joshkehn yep. It's starting to be REALLY frustrating [19:39] jetienne has joined the channel [19:40] joshkehn: Aikar: No, I would rather do my HTML markup with something designed to work with HTML. [19:40] tjholowaychuk: Fabryz p foo a(href='#') bar is ambiguous [19:40] joshkehn: Weld is really nice. [19:40] hornairs: thanks chapel [19:40] Aikar: joshkehn: ah ok, the way you said it sounded like you dont want any html dynamically generated based on server logic [19:40] joshkehn: But personally? Don't use Node to serve dynanic HTML. [19:41] joshkehn: Use node for what node is really good at. [19:41] chapel: hornairs: ? [19:41] joshkehn: And templating HTML it is not [19:41] tjholowaychuk: lol [19:41] Fabryz: tjholowaychuk it's just a

BLABLA hey go here lawl

that doesn't want to work [19:41] tilgovi: dscape: I really want someone to show me where I'm wrong with that answer, but I think you _need_ fibers (or similar) [19:42] hornairs: chapel for your response above...? i still cant find an easy way to splice out a node but i think i can figure out itou [19:42] Aikar: templating engines arnt really specific "node", its "javascript", and templating engines are meant to be an easier to work with method of writing html instead of string concatenation, since it doesnt have open/close style syntax like PHP :P [19:42] chapel: oh hornairs [19:42] chapel: sorry, too many channels [19:43] Aikar: now templating engines making common stuff hard or limiting you on doing what you want yeah is [19:43] Aikar: wrong [19:43] aho: the purpose of templating is to separate your business logic from your markup [19:43] aho: hardcoded markup is f-ing horrible to deal with [19:43] joshkehn: Aikar: IIRC erb's follow a similar syntax. I haven't worked with rails in a while. [19:43] chapel: hornairs: my uneducated guess is using something like this if (node.name === 'num') node.wrap('Math.PI / %s'); [19:43] Aikar: aho: you can do that w/o a template engine by writing the HTML yourself... TEs give you a more cleaner approach to writing that html [19:43] pgherveo_: Hello there, when I exec npm list I see some green extraneous in front of some package, what deos it mean exactly, should I do something about it ? [19:44] chapel: you could look for the node you want, and then wrap it in a no execute function [19:44] joshkehn: aho: Which is why IMO everything should be an API with a HTML wrapper. ;) [19:44] chapel: or maybe even take it out [19:44] Aikar: joshkehn: EJS does too [19:44] chapel: SubStack: ping? [19:44] stephank has joined the channel [19:44] felixhummel has joined the channel [19:44] Aikar: but i wrote my own template engine called Nova, with the concept of "The template engine shouldnt restrict you from doing what you want" idea in mind. http://github.com/aikar/nova [19:45] tbranyen: Aikar: i did the same, http://github.com/tbranyen/combyne.js [19:45] Fabryz: pgherveo_ are you using a package.json? [19:45] tbranyen: writing template engines rules [19:45] aho: imo a template engine should be very restrictive [19:45] jbpros has joined the channel [19:45] tbranyen: aho: urgh i disagree [19:45] joshkehn: aho: Ala Django? [19:45] Daegalus: Fabryz: try doing an newline with indent. so like "p a(href=blah) [19:45] tbranyen: restrictive syntax, powerful extensions [19:45] Fabryz: pgherveo_ if so you are using modules under node_modules that are not listed in the package.json [19:45] aho: ala most template engines :) [19:45] pgherveo_: yes i do [19:46] Daegalus: Fabryz: i found that you cant use 2 tags on one line. it jsut doesnt work. [19:46] tbranyen: 4/20 write template engines errrrday [19:46] tjholowaychuk: fighting about templates is such a retarded thing, they all suck, hence why we have so many [19:46] joshkehn: tjholowaychuk: Hah. Good point. [19:46] pgherveo_: oj so I should list all my package in the package.json ? [19:46] DrMcKay: maybe I should write the awesome one? [19:46] DrMcKay: (xkcd reference) [19:46] Aikar: https://github.com/aikar/nova/blob/master/examples/templates/template.js [19:46] Fabryz: Daegalus goddamn why didn't it work before [19:47] TheJH: DrMcKay++ [19:47] v8bot_: TheJH has given a beer to DrMcKay. DrMcKay now has 1 beers. [19:47] Fabryz: guess I indented wrokgly [19:49] Fabryz: what do you suggest to use for js minification/caching for express? something other than minj [19:49] tbranyen: Aikar: ah your templating is more HAMLy [19:49] tjholowaychuk: Fabryz i use uglifyjs [19:49] tbranyen: i use mine general purpose [19:49] Aikar: I designed nova to be a TRUE javascript syntax engine. not JSON, but actual JS code. so you can dynamically control everything. wanna throw up a quick test page/prototype? put your code right in the middle of the template, even async db calls and such. IDC i'm not limiting you. its your choice to keep your presentation seperate from logic or not [19:49] tjholowaychuk: Fabryz i dont love it but it works [19:50] tbranyen: uglify-js hides too much in its executable [19:50] pgherveo_: Fabryz: Have a look at this one connect-assets [19:50] tjholowaychuk: tbranyen the js api [19:50] tjholowaychuk: is one of the worst things [19:50] tjholowaychuk: i've ever seen [19:50] tjholowaychuk: haha [19:50] `3rdEden: the source code is unreadable of uglify [19:50] tbranyen: haha [19:50] Aikar: tbranyen: mine doesnt look anything like haml, what do you mean? lol [19:50] Fabryz: gave a quick look to both, must try to implement something [19:50] tbranyen: Aikar: you're using it specifically for html pages [19:50] tbranyen: how would i use nova in a javascript application to replace the date in a comment or something? [19:51] Aikar: using "partialVars" [19:51] tbranyen: so its possible? [19:51] Aikar: its very similiar to EJS [19:51] Aikar: yes [19:51] tbranyen: oh okay cool [19:51] tbranyen: i was just looking at your demo [19:51] Aikar: except that the templates are rendered async [19:51] Aikar: where as ejs is sync [19:51] pgherveo_: Is there an easy way to keep in sync your json.package file or you have to manually add new entry everytimr you npm install [19:51] Aikar: so you can put custom callback functions anywhere in page [19:52] Aikar: and asynchronously control what data is written there [19:52] Fabryz: pgherveo_ I manually add [19:52] tbranyen: i was thinking about making combyne async, but it would cause a lot of overhead :-/ [19:52] tbranyen: since i would want to maintain sync behavior as well [19:52] zmbmartin has joined the channel [19:52] pgherveo_: Ok [19:52] cjroebuc_ has joined the channel [19:52] Aikar: h1(onRender(function(vars, render) { render('My H1 Tag'); })) [19:52] Aikar: would render

My H1 Tag

on page load [19:52] weezle has joined the channel [19:53] Aikar: or wrap render() wit ha setTimeout(,2000) and itll make your template take 2s to load but itll still render as expected :P [19:53] meandi has joined the channel [19:53] MarkMenard has joined the channel [19:53] johnhamelink has joined the channel [19:53] ErikCorryV8 has joined the channel [19:53] Renegade001 has joined the channel [19:53] johnhamelink has left the channel [19:53] Aikar: but it also caches all the html it can into strings and is not rebuilding the full template on render. it only builds the dynamic parts [19:54] rbuck has joined the channel [19:54] tbranyen: yeah Aikar i wanted mine to be if you return immediately inside a filter function it would be sync, but if you didn't return it would expect you to call a passed callback function [19:54] tbranyen: but i dunno how good of an idea that is, especially since checking for a valid return is really hard [19:54] tbranyen: like return undefined; lol wut [19:57] pgherveou has joined the channel [19:57] pizthewiz has joined the channel [19:57] nibblebot: tjholowaychuk: with cluster-log, how are you getting master instance inside your app to have app.error(... cluster.log())? [19:57] anveo has joined the channel [19:58] cody--1 has joined the channel [19:58] McMAGIC--Copy has joined the channel [19:59] pgherveou has joined the channel [19:59] Aikar: tbranyen: yeah performance wise i dont think that would of been different at all [19:59] _kud has joined the channel [19:59] DrMcKay: interoperability fails at *very* basic level today. [20:00] DrMcKay: I just had to use my soldering iron to replace a fan [20:00] Aikar: but basically if you do div(p(a(onRender(someFn)))) itll cache it as ['

', someFn, '

'] so and on render the someFn function is returned and fills in the data and returns the full html [20:00] amiller has joined the channel [20:01] booo has joined the channel [20:01] Aikar: im really pleased with how nova turned out. it works great. its just my documentation sucks :/ and i dont wanna publicly announce/advertise it until i make it better [20:02] Aikar: i suck at explaining things in simple less-technical ways [20:02] eboyjr has joined the channel [20:02] davidascher has joined the channel [20:03] Daegalus: Aikar: I might switch to Nova from Jade now. Not sure yet. [20:03] Aikar: cool, if you can help improve docs, pull reqs will be taken! [20:03] sirdancealot has joined the channel [20:03] mraleph has joined the channel [20:04] Aikar: and if any github-markdown experts could get it in md format... i originally wrote it in md but my editors markdown parser rendered correctly but github blew it up. githubs md parser seems diff than the other online tools >< [20:04] Daegalus: Aikar: I'll look into it, I am currently swamped with projects, not sure when I will get around to working on Node stuff [20:04] lz has joined the channel [20:04] Aikar: and their online tester even acts diff than the actual git page readme viewer too [20:04] Aikar: so i was gonna just host the doc on gh-pages [20:05] JJMalina has joined the channel [20:06] localhost has joined the channel [20:06] knifed_ has joined the channel [20:06] Aikar: v8> [1,2,] [20:07] v8bot_: Aikar: [1, 2] [20:07] Aikar: hmm so thats not a syntax error [20:07] Aikar: just realized i accidently did that in the code [20:07] knifed_ has joined the channel [20:07] mkrecny has joined the channel [20:08] mkrecny: does anyone know how to set defaultMaxSockets on an https agent? [20:08] Renegade001 has joined the channel [20:08] Aikar: another neat bit is i made nova also properly indent all the output... you know how PHP with includes your blocks are always indented wrong compared to its parent. nova keeps track of indentation levels when you use partials/includes. [20:08] Aikar: or you can turn off whitespace all together [20:08] Daegalus: well, kinda like Jade, all my jade output is like 1-2 lines [20:09] Aikar: indentation proved to be the trickiest part iirc [20:09] knifed has joined the channel [20:11] Brandon_R has joined the channel [20:11] Brandon_R: hello guys [20:11] joshkehn: Brandon_R: Heya [20:11] Brandon_R: not much [20:12] Daegalus: Aikar: Isnt there some HTML Tidy like JS script you can call to just tidy the output? [20:12] Aikar: Daegalus: could, but its done already lol [20:12] navaru1 has joined the channel [20:13] Brandon_R: what are you guys doing? [20:13] Aikar: and i try to avoid external deps if not needed. and htmltidy etc is usually external binaries, and would rather not call out to them. and it gets hairy when it comes to like your script blocks [20:13] Aikar: nova will even indent your inline script lol [20:13] joshkehn: Brandon_R: Working [20:14] eldad87 has joined the channel [20:14] Aikar: working/chatting [20:14] Brandon_R: any cool projects? [20:14] eldad87: Hi all, [20:14] eldad87: I just installed nodejs with express [20:14] joshkehn: eldad87: Why? [20:14] eldad87: can you please advice how can I use express now? [20:14] joshkehn: eldad87: What are you trying to do? [20:14] eldad87: joshkehn, it seems like a nice framework [20:15] joshkehn: Why start with a framework? [20:15] eldios has joined the channel [20:15] joshkehn: I don't understand why the first thing people do is start adding stuff to the mix. [20:15] eldad87: joshkehn, I'm developing MMORPG server, I did it in Java but... you know life are to short - so Now I'm trying to build components in node [20:15] joshkehn: Start with node. Solve a problem. Work your way from there. [20:15] joshkehn: eldad87: Are you serving HTML? [20:16] eldad87: joshkehn, no, It will just serve API calls and maybe images [20:16] savage- has joined the channel [20:16] joshkehn: eldad87: Then you don't need express. [20:16] dreamdust has joined the channel [20:16] lz has left the channel [20:16] lz has joined the channel [20:16] eldad87: joshkehn, can you explain a bit about it? [20:17] eldad87: joshkehn, I couldn't find any documentations on how to get started [20:17] joshkehn: eldad87: Can you be a bit more specific about [it] ? [20:17] eldad87: joshkehn, I'll need some ORM layer [20:17] Aikar: heh id still use express in his case, setup static dir, setup a POST handler for some endpoint, parse post to do API [20:17] Daegalus: eh, im using express for a mmorpg api, makes it easier to write the api [20:17] eldad87: joshkehn, something that will help me to manage connections [20:17] Nuck has joined the channel [20:17] joshkehn: eldad87: Have you thought about a backend? [20:18] jetienne has joined the channel [20:18] joshkehn: I thought it was easier to just setup node-static and use journey. [20:18] eldad87: Daegalus, please share your exp with me [20:18] joshkehn: I didn't need all the middleware that Express gave me. [20:18] eldad87: joshkehn, what do you mean node-static? [20:18] smathy has joined the channel [20:19] lz has left the channel [20:19] lz has joined the channel [20:19] joshkehn: https://github.com/cloudhead/node-static [20:19] eldad87: joshkehn, I'm new to node.. sorry. I'm investigating it [20:19] joshkehn: https://github.com/cloudhead/journey [20:19] Daegalus: eldad87: Nothing special, I just setup GET/POST/DELETE/PUT calls for various functions, once it was called, I did stuff. Its really straight forward and easy to setup with Express. since it has app.get app.post app.put etc. Each type of REST type has a function to call in express, makes things easier [20:20] guidocalvano has joined the channel [20:20] Daegalus: plus its easier to get stuff out of the urls [20:20] eldad87: Daegalus, thanks [20:20] Daegalus: /user/:userid/edit [20:20] Daegalus: :userid because a variable [20:20] Daegalus: in the request [20:20] Daegalus: that you can access directly [20:20] Daegalus: you can also do direct REGEX [20:20] eldad87: joshkehn, so node-static is something that manage the connection with the user? am I right? [20:20] Daegalus: in tehre too [20:20] joshkehn: eldad87: It's for all the static files. [20:21] karboh has joined the channel [20:21] gazumps has joined the channel [20:21] joshkehn: What do you mean “connections with the user”? [20:21] eldad87: joshkehn, but API isn't static.. [20:21] Nuck: eldad87: Connection manage? You mean sessions? [20:21] eldad87: joshkehn, connection with the user - GET/POST/PUSH.. [20:21] joshkehn: eldad87: I'm not following? [20:21] joshkehn: Those are request methods. [20:21] eldad87: and sessions [20:22] Nuck: eldad87: GET/POST/PUSH are request methods [20:22] eldad87: for example, will it allow me to build chat app easily? [20:22] Nuck: eldad87: That's better with a realtime library, like socket.io [20:22] joshkehn: eldad87: There are several exceppent chat apps already written. I would take influence from those. [20:22] eldad87: Nuck, I'm sorry - I reffered to Session/Cookies and requests methods [20:23] `3rdEden has joined the channel [20:24] joshkehn: s/eppe/elle/g [20:24] eldad87: I'll also need some kind of ORM and NOSQL support such as Cassandra/Redis [20:24] lz has left the channel [20:24] lz has joined the channel [20:24] joshkehn: eldad87: Please tell me more about how you are going to use Cassandra. [20:25] eldad87: just like it need to be used... key-value DB [20:25] joshkehn: So what's wrong with Riak? Or Redis? What made you choose Cassandra? [20:26] langworthy has joined the channel [20:26] smathy_ has joined the channel [20:26] eldad87: I like Cassandra more, scale better, better community etc.. I'm used to work with it. [20:27] Vertice: cassandra is webscale! [20:27] joshkehn: Lol [20:27] Vertice: =) [20:27] anveo has joined the channel [20:28] eldad87: Vertice, you mean Mongo is webscale! [20:28] joshkehn: Everything is webscale. [20:28] Vertice: the web is webscale [20:28] jetienne: but mongo is more [20:28] joshkehn: Bleh. [20:28] joshkehn: Whatever you say. [20:29] jetienne: glad you see the truth [20:29] eldad87: Nuck, so you suggest to use socket.io. is there any framework that give me ORM and that library out-of-the-box? [20:29] EyePulp: /dev/null ? [20:29] Nuck: eldad87: ORM? [20:29] Nuck: We have Mongoose? [20:29] EyePulp: eldad87: mongoose is nice [20:29] joshkehn: eldad87: What ORM do you normally use with Cassandra? [20:30] joshkehn: *stabs Mongoose to death* [20:30] eldad87: Nuck, Object Relational Mappin [20:30] joshkehn: I wonder how you do /action in adium [20:30] Nuck: eldad87: We don't do frameworks with zillions of features, pick what you wnat and npm nstall it all [20:30] Nuck: joshkehn: /me? [20:30] Nuck: eldad87: No need with Mongo [20:30] joshkehn: ACTION test action? [20:30] joshkehn: Got it [20:31] eldad87: Joshkehn, you have hector, but I used cassandra more on PHP [20:31] Nuck: joshkehn: It's /me in basically everything [20:31] joshkehn: I last used colloque, but that was a while ago. [20:31] joshkehn: ACTION hates mongoose [20:31] Nuck: Why? [20:31] jetienne: eldad87: relax and try it. it is all super easy. nothing to be impressed [20:31] killfill: is my ab broken? http://pastebin.com/wpifTB8U [20:31] Skola has joined the channel [20:32] killfill: why do i get apr_socket_recv: Connection reset by peer (54)? [20:32] joshkehn: killfill: Add a -r option. [20:32] p4r0 has joined the channel [20:32] Nuck: I hated it too, then I gave it a second chance and now I <3 Mongoose [20:32] joshkehn: I think that's the one. [20:32] eldad87: jetienne, what are you talking about? node/socket.io/mongo? [20:32] Vertice: an object relational mapper built against an document db is a bit strange. [20:32] joshkehn: Nuck: There is no reason to build schemas around Mongo [20:32] Nuck: Vertice: It's not *that* kind of ORM [20:32] Vertice: yeah i know [20:32] killfill: joshkehn: i get much "Send request failed!" with -r :S [20:32] jetienne: eldad87: node requires to understat javascript. the rest is simple [20:32] Nuck: joshkehn: It's actually quite loose. [20:32] Vertice: it seemed like it had too many assumptions for me [20:33] Nuck: joshkehn: It looks rigid at a glance, but it really isn't [20:33] Vertice: like that i was using mongodb for one [20:33] eldad87: jetienne, I know JS... it just need to understand how things need to work.. [20:33] joshkehn: It also botches all sorts of insertions and fails with the most cryptic errors when it tries to do "smart" things during updates. [20:33] Nuck: Vertice: Well, no shit, did you think it'd be non-mongo? [20:33] dreamdust: You don't have to create realtionships in Cassandra [20:33] Nuck: And that's wrong, joshkehn, you're doing it wrong. [20:33] jetienne: eldad87: try it. it is simple. give a day or two to each. you will get it [20:33] shapeshed has joined the channel [20:33] Vertice: Nuck: i was being facetious [20:33] Nuck: It's never done that for anything I've done. [20:33] joshkehn: Nuck: I guess, but now I'm not doing it and it's all working. :) [20:34] joshkehn: ACTION smiles [20:34] Nuck: Vertice: Okay, you'd be surprised how stupid some people get :P [20:34] Nuck: joshkehn: Probably handled Mongoose lik mongo-native [20:34] Nuck: I did it too [20:34] Nuck: It broke [20:34] eldad87: jetienne, thanks. this is really nice of you. but still, I'd like to understand what socket.io is for [20:34] Nuck: That happens :V [20:34] joshkehn: Nuck: I'm demo'ing mongoskin right not to see how that plays. [20:34] joshkehn: I actually treated it more like a standard lib. [20:34] jetienne: eldad87: socket.io is a websocket layer with a bunch of fallback options [20:34] Nuck: joshkehn: It's nice, I switched from mongo to mongoskin to mongoose [20:35] joshkehn: But adding new fields to models, defining a schema, etc. Just too much bullshit in the middle. [20:35] joshkehn: IMO [20:35] jetienne: eldad87: then why websocket are usefull? it is cool to make low latency transfert back and forth with the server [20:35] headz has joined the channel [20:36] jetienne: eldad87: go #socket.io and ask 3rdeden, he is skilled and helpfull [20:36] eldad87: jetienne, just websocket? what about request methods? [20:36] Nuck: joshkehn: See, for anything big, you've gotta separate the database layer from the application layer, and before, I did that with function wrappers, now I do it with schemas [20:36] Nuck: It's a lot better IMO [20:36] joshkehn: Nuck: I do that with an API... [20:36] jetienne: eldad87: what is "request method" [20:36] djcoin has joined the channel [20:36] joshkehn: And I've had excellent luck using Grails for a lot of that. [20:36] Nuck: joshkehn: uh, this *is* an api. [20:36] Nuck: What now? [20:36] Nuck: I need to separate Express from mongo there [20:37] stonebranch has joined the channel [20:37] Nuck: If I try to combine them, my code will suck ass [20:37] joshkehn: So you have one app running express [20:37] eldad87: hetienne, post/get/push [20:37] joshkehn: Another running an api. [20:37] killfill: dont knowwhat ami doing wrong.. :S http://pastebin.com/6ASjTyJk [20:38] Nuck: joshkehn: What do you mean by API? [20:38] killfill: why do i get errors? [20:38] jetienne: eldad87: this is plain http. if you want that, dont use socket.io [20:38] mekwall: hmm... my site works in browsers but with any other tool I get either 500 or 400 Bad Request (url must be absolute) [20:38] joshkehn: killfill: Add a -r option [20:38] joshkehn: To ab [20:38] mekwall: any ideas what it could be? [20:38] killfill: joshkehn, yah, with that flag, the test finished, but with like 40% request failed.. :S [20:38] joshkehn: Nuck: Just a database abstraction. I thought you were talking about from the express app. [20:38] Nuck: eldad87: For a chat app, where you have realtime bidirectional communication, use Socket.IO [20:38] joshkehn: killfill: Let me try it [20:39] Nuck: joshkehn: So you just wrap all your database functions or what? [20:39] EyePulp: eldad87: Or use Faye [20:39] joshkehn: Nuck: One sec [20:39] Nuck: like, db.addUser, etc.? [20:39] gazumps has joined the channel [20:39] Nuck: That's fine and dandy until you hit about 1000 lines. [20:39] Nuck: Then you're fucked. [20:39] phiggins has joined the channel [20:39] locksfree has joined the channel [20:39] p4r0: I FUCKING GET IT !! Beware on debian some "npm install xxx" WILL FAIL with PYTHON2.7 => use 2.6 [20:40] EyePulp: Nuck: 1000 connections you mean? (wasn't sure what you were referring to) [20:40] sirdancealot has joined the channel [20:40] joshkehn: killfill: I have no problem with that. [20:40] eee_c has joined the channel [20:40] Nuck: No, I mean 1000 lines [20:40] joshkehn: Zero [20:40] EyePulp: nuck: of Coke? [20:40] Nuck: As in lines of code [20:40] Nuck: EyePulp: :P [20:40] broofa has joined the channel [20:40] eldad87: jetienne, i want websockets and get/post/push.. [20:40] killfill: Nuck: your on osx? :P [20:40] isaacs: p4r0: yes. we must get away from the tyranny of node-waf [20:40] isaacs: p4r0: some day, maybe soon :) [20:41] eldad87: EyePulpm Faye? [20:41] jetienne: eldad87: so socket.io is nice. socket.io is websocket + bunch of fallback options for browsers which doesnt support it [20:41] joshkehn: Nuck: Once central connection class that everything else uses. Basically it's a wrapper around the HTTP api. [20:41] Nuck: ugh magic lab is closing for lunch or something [20:41] Nuck: bbl [20:41] joshkehn: I'm not sure I understand your question ”wrap all your database functions” [20:41] Nuck: joshkehn: meh [20:41] p4r0: yep :) i wasted 2 hour figuring out how to install compress or gzbz2, while other module would install just fine ... [20:41] p4r0: node-waf is a bitch ! [20:41] Nuck: joshkehn: I'll explain when I get on my iPhone [20:41] jetienne: eldad87: i think the get/post/push is just an issue of vocabulary. it doesnt exist in websocket nor in socket.io [20:41] joshkehn: Nuck: Okay. ;) [20:41] killfill: joshkehn: what do you mean by having no problems?.. :) [20:42] joshkehn: ACTION has no problems. [20:42] joshkehn: killfill: I mean when I run that it works fine. [20:42] CIA-54: node: 03Ryan Dahl 07master * r6326b04 10/ lib/net_uv.js : [20:42] CIA-54: node: Fix test-regress-GH-819 [20:42] CIA-54: node: Problem was exposed in 12798c6. - http://git.io/sCcSbQ [20:42] joshkehn: killfill: https://gist.github.com/4d8660d3270162042bf1 [20:42] `3rdEden: jetienne socket.io is get/post/push [20:42] `3rdEden: websockets are push, and most of the fallbacks are get/post ;) [20:42] jetienne: `3rdEden: what is this get/post/push ? [20:42] ako has joined the channel [20:42] jetienne: `3rdEden: arf :) [20:42] `3rdEden: get requests and post :$? [20:43] eldad87: hi 3eden [20:43] eldad87: 3rdenden [20:43] killfill: joshkehn: is that linux? [20:43] joshkehn: OS X [20:43] killfill: ACTION lost.. [20:44] killfill: im with lion [20:44] killfill: what am i doing wrong?.. :P [20:44] killfill: got node with brew.. (its 0.4.11) [20:44] eldad87: `3rdEden, can you explain about the fallback please? is it possible for desktop clients that doesn't support websocekts to connect as well? [20:45] `3rdEden: when websockets are not available socket.io will try out a bunch of different fallbacks [20:45] jetienne: flash socket are super efficient for latency [20:45] sdwrage has joined the channel [20:45] jetienne: as efficient as websocket in my test [20:45] sdwrage: Hey guys. Anyone have a no.de account? [20:45] `3rdEden: if flashsocket is enabled it will try to use that, its websocket wrapper for native flash sockets [20:45] `3rdEden: so it still allows you to have bidirectional transport without opening 2 http connections [20:45] `3rdEden: if that is not available we will fallback to xhr-long polling [20:46] `3rdEden: where it holds the connection on the server as long as possible untill it has a response to write against [20:46] `3rdEden: if that fails, we can fallback to HTMLFile which is a IE only transport that uses the ActiveX HTMLFile to create a streaming iframe to receive the data [20:47] `3rdEden: if even that fails, we fall back to jsonp polling, aka script tag injection with iframes for posting data. [20:47] AaronMT has joined the channel [20:47] `3rdEden: when that fails, you are basically fucked and you are probably hit a browser that does not support any webstandards what so ever ;P [20:47] jetienne: :) [20:47] Poetro has joined the channel [20:48] jetienne: google app engine is doing jsonp pooling last time i looked :) latency 160ms in my test [20:48] eldad87: lol :) [20:48] d_low_ has joined the channel [20:48] eldad87: thank you so much [20:48] githogori has joined the channel [20:50] jetienne: once it test all that, it remember the best solution for next time. there is an option for that [20:50] eldad87: so guys, if my demands are using: DB, Session, Cookies, routing. [20:50] eldad87: should I use a framework or no? [20:50] joshkehn: Eh. [20:50] joshkehn: I'm going to say no, everyone else would probably say yes. [20:50] jetienne: there is another option to change the transport order [20:50] stagas has joined the channel [20:50] joshkehn: Actually. If you add cookies I would say yes too. [20:50] joshkehn: Just because cookies suck. [20:50] joshkehn: ;) [20:50] sdwrage: eldad87: If you do go with a framework, check out expressjs [20:51] joshkehn: sdwrage: Did you just join the chat or is that dry humor? [20:51] eldad87: well ok, no cookies.. [20:51] joshkehn: No framework then. [20:51] sdwrage: what? [20:51] sdwrage: 0_o [20:51] joshkehn: sdwrage: He was already using express. ;) [20:51] jetienne: expressjs is well written, well documented [20:51] sdwrage: oh [20:51] eldad87: he asked if you're drunk :) [20:51] sdwrage: >.< [20:51] sdwrage: shows how much I was paying attention [20:51] joshkehn: jetienne: Um. Sure. Okay. [20:51] sdwrage: sorry [20:52] jetienne: joshkehn: glad you agree [20:52] tjholowaychuk: lol [20:52] tjholowaychuk: josh hates everything [20:52] jetienne: i guessed [20:52] joshkehn: Not everything. [20:52] softdrink: too many people named josh [20:52] jetienne: joshkehn: dont lie you know you do [20:52] softdrink: ACTION shakes his josh-fist [20:52] tjholowaychuk: sound like an angry teen [20:52] tbranyen: i was just thinking why did the node community adopt comma first, when trailing commas are allowed in v8 [20:53] tbranyen: seems kind of strange [20:53] joshkehn: tbranyen: Because the formatting with comma first generates an error if you miss a comma [20:53] joshkehn: While if you drop a comma at the end it just globalizes stuff [20:53] tbranyen: thats a reason for variable declarations sure, but that has literally nothing to do with literal definitions [20:54] mkrecny has joined the channel [20:54] joshkehn: “literally nothing to do with literal definitions” [20:54] slifty has joined the channel [20:54] mkrecny: does anyone know how to set defaultMaxSockets on an https agent? [20:54] eldad87: I've counted 1 vote for express and 1 again... any more comments? [20:54] jetienne: tbranyen: no such thing as style in the node community [20:55] jetienne: eldad87: tjholowaychuk is the author [20:55] tjholowaychuk: eldad87 build a little app with node and build a little app with express, you'll get a better idea of what you're duplicating [20:55] tbranyen: jetienne: maybe if you turn a blind eye [20:55] sylvinus has joined the channel [20:55] tjholowaychuk: or what you really need for your app etc [20:55] Brandon_R has joined the channel [20:55] joshkehn: eldad87: Is this your first time using node? [20:55] Brandon_R: hello guys [20:55] Brandon_R: i have a question [20:55] joshkehn: Brandon_R: Easy or hard? [20:55] jetienne: Brandon_R: shoot [20:56] eldad87: joshkehn, I didn't used it yet.. doing my research.. [20:56] Brandon_R: easy [20:56] joshkehn: eldad87: Follow what TJ is saying. [20:56] Brandon_R: more like a best practice question [20:56] joshkehn: Build a few small projects to get a feel for it. [20:56] devongovett has joined the channel [20:56] jetienne: Brandon_R: shoot *today* :) [20:56] Brandon_R: how should i install express global or local? [20:56] joshkehn: Brandon_R: Best practices are alway hard. [20:56] jetienne: Brandon_R: local [20:56] joshkehn: Local [20:56] chrislorenz has joined the channel [20:56] Brandon_R: with the package.json file? [20:56] joshkehn: Sweet. That was easy. [20:56] eldad87: tjholowaychuk, my project is a game server. something similar to chat because it's a MMORPG server [20:56] jetienne: Brandon_R: inside node_modules [20:57] joshkehn: Brandon_R: Probably best. [20:57] jetienne: hehe [20:57] joshkehn: jetienne: I think he means put it as a dependency in the package.json file [20:57] tjholowaychuk: eldad87 straight-up node would probably be fine for that [20:57] mkrecny: so any of you wise noders know about maxSockets over SSL? [20:57] joshkehn: mkrecny: Sorry, no [20:57] softdrink: Nethack + Minecraft. someone get on that. [20:57] jetienne: tjholowaychuk: i use express for buddymaze.com my webgl fps [20:57] mkrecny: thx neway [20:57] tbranyen: port nethack to node [20:57] jetienne: tjholowaychuk: i think i use express for image upload :) [20:57] tbranyen: async nethack [20:58] eldad87: tjholowaychuk, so what advantage the framework give me? [20:58] denom has joined the channel [20:58] eldad87: tjholowaychuk. where it really shine... [20:58] tjholowaychuk: eldad87 like everyone has been saying, try things out then you'll get an idea [20:58] eldad87: ok, I'll do that [20:59] jetienne: arf [20:59] jetienne: you have to the author to be listened [20:59] eldad87: I'm doing that jet :) [20:59] boltR has joined the channel [20:59] eldad87: so before I'll go to write some code. I need to understand how to get it running. [21:00] jetienne: eldad87: http://buddymaze.com is a webgl fps i did. the network is done by node + socket.io. the image upload is dont by express [21:00] eldad87: I built Node like: https://github.com/joyent/node/wiki/Installation [21:01] eldad87: jet. wow this is amazing!! [21:02] jetienne: eldad87: all in js :) [21:02] jetienne: i start to love it [21:02] eldad87: Jetienne, i'm after the instillation pat. what now - where I can put my code/how can I run the server? [21:02] AaronMT has joined the channel [21:03] eldad87: yep, JS is cool. but closures something can get tricky. [21:03] jetienne: eldad87: understanding js is the biggest part [21:03] eldad87: na, JS is very very simple.. [21:04] joshkehn: Depends on what you think simple is. [21:04] joshkehn: Sure it looks simple. [21:04] joshkehn: But is it simple? [21:04] eldad87: if you want, I have a great book about JS [21:04] jetienne: eldad87: all the rest is simple. to understand socket.io do a mouse sharing stuff. like everybody joining your page will see the mouse of the other visitors [21:04] jetienne: eldad87: "js is simple" means you dont get it :) [21:04] louissmit has joined the channel [21:04] jetienne: eldad87: or you are super smart [21:05] joshkehn: eldad87: Like can you understand https://gist.github.com/b1f36753d7f43e6e34ae [21:05] jetienne: eldad87: anyhow if you get js, the rest is real simple [21:05] eldad87: the page doesn't load for me [21:05] sirdancealot has joined the channel [21:06] joshkehn: eldad87: Really? [21:06] jetienne: eldad87: http://wtfjs.com and this ? [21:06] astropirate has joined the channel [21:06] joshkehn: eldad87: try http://pastebin.com/Gh0RTjqC [21:06] DrMcKay: !up? wtfjs.com [21:06] dmkbot: DrMcKay, host up (status code: 200) [21:06] eldad87: I can understand the page you sent but not the map.reduce sutff.. I never saw that on JS [21:06] eldad87: is it mongo thing? [21:06] joshkehn: Np [21:06] jetienne: v8: new Array([],null,undefined,null) == ",,,"; [21:06] joshkehn: No* [21:06] v8bot_: jetienne: true [21:07] joshkehn: Just Js [21:07] astropirate: Hey barbie, lets go party! [21:07] Brandon_R: hello [21:07] mkrecny: anyone got some resources on best practice regarding nvm and init.d / startup procedures? [21:07] joshkehn: Brandon_R: Question again? [21:07] Brandon_R: nope [21:07] joshkehn: jetienne: That wtfjs site is great. [21:07] Brandon_R: just saying Hi [21:07] Brandon_R: wtfjs is a cool site :) [21:08] jetienne: joshkehn: it is :) [21:08] eldad87: i'll take a look thanks [21:08] jetienne: v8: 9999999999999999 [21:08] v8bot_: jetienne: 10000000000000000 [21:08] jetienne: nice :) [21:08] joshkehn: eldad87: Let me know if you wrap your head around that one I send. It was fun to write out. ;) [21:08] Brandon_R: any cool projects guys? [21:08] eldad87: WTF is that map/reduce functions.. I never saw them before.. [21:08] davidascher has joined the channel [21:09] joshkehn: .map will map an array based on existing values. [21:09] aho: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/map [21:09] randylien has joined the channel [21:09] joshkehn: .reduce will combine the values in the array. [21:09] aho: same url with filter, reduce, reduceRight... [21:09] Brandon_R: ok maybe one question lol [21:09] joshkehn: See MDC and aho's link for more information. [21:09] joshkehn: Brandon_R: Easy or Hard? [21:09] progrock: lol, map, reduce, filter, forEach... no more need fo for or whil eloops 99% of the time :) [21:10] joshkehn: progrock: Unless you're looking for performance. ;) [21:10] aho: every, some, forEach... [21:10] aho: love that stuff [21:10] Brandon_R: i installed express locally but its giving command not found. how do i use express bin without cding into bin dir and making the app dir ../../../AppName [21:10] progrock: joshkehn: havent done much performance testing comparing them.. but if your that anal, just make your minifier abstract those into conventional for/while loops [21:10] progrock: no reason to make your code dirty [21:11] joshkehn: progrock: It isn't alway being anal. [21:11] joshkehn: One sec, let me dig up the jsperf I wrote. [21:11] eldad87: aho, thanks [21:11] aho: well, if you are doing something semi-heavy in that loop, the overhead becomes meaningless [21:11] progrock: joshkehn: I get that, occassionally performance really matters.. eitehr way, my answer works [21:11] aho: e.g. if you do some io or some heavy computations [21:11] Brandon_R: also what should my first version be 0.1.0 or 0.0.0? [21:12] eldad87: aho, what do you mean, why is that? [21:12] eldad87: Jetienne, i'm after the instillation pat. what now - where I can put my code/how can I run the server? [21:12] progrock: Now what I really want is to program into a minifier to remove "with" statements and rename the correct variables [21:12] aho: if it's something tiny and brain dead (e.g. particle effects in a game), a regular loop might be worth the trouble [21:12] mkrecny has left the channel [21:12] joshkehn: progrock: Not if (a) you don't want / need a minification step for server deployment and (b) because they are closures you might run into some edge cases applying the transformation. [21:13] aho: eldad87, it's tiny overhead + tiny payload vs tiny overhead + gigantic payload [21:13] aho: it's a ratio thing [21:13] joshkehn: progrock: Here is a great example. http://jsperf.com/testing-array-explosion [21:13] joshkehn: 8.5 million vs. 15k [21:14] eldad87: aho, in other words you say that its a good practice to use map/reduce [21:14] progrock: joshkehn: very interesting [21:14] joshkehn: Oh wait. That first number might not be right. [21:14] aho: clean code first [21:14] progrock: still I enjoy much mroe how my code loosk using the array functions /(i know not the best excuse) but we're a scala shop, so leads to the more fu0nctional approach [21:14] joshkehn: 331k vs 15k. [21:14] joshkehn: Plus the 331k version is much more readable. [21:15] Brandon_R: npm adduser isn't working [21:16] eldad87: joshkeha, so map reduce is much faster... this is impressive. [21:16] eldad87: guys, i'm after the instillation pat. what now - where I can put my code/how can I run the server? [21:16] joshkehn: eldad87: No, it's not faster. [21:16] joshkehn: That was my point. [21:17] joshkehn: See http://jsperf.com/testing-array-explosion/2 [21:17] joshkehn: I removed the dumb test at the bottom [21:17] eldad87: aho, just said the something else.. [21:17] socialhack has joined the channel [21:17] progrock: joshkehn: haha, I think I know peopel who know you :) [21:17] joshkehn: progrock: Whom? [21:17] progrock: joshkehn: more improtantly, I think I work where you used to [21:17] progrock: your job to be more exact [21:17] b52 has joined the channel [21:17] progrock: (jsut fullt time [21:17] cjm has joined the channel [21:17] b52: hey fellas [21:17] aho: eldad87, i said they can be slower if you aren't doing much in your loops [21:18] tbranyen: i know you, lemme be vague and weird on irc about it [21:18] artnez has joined the channel [21:18] aho: i.e. if the overhead to actual payload ratio is kinda unfavorable [21:18] b52: may some in short explain to me what "var exports = module.exports = .." does ? [21:18] aho: if you do something heavy, that overhead quickly becomes insignificant [21:18] tbranyen: b52: allows you to attach but not override exports [21:18] tbranyen: module.exports does the same thing, but allows you to override [21:18] b52: is that some sort of automagic? [21:18] tbranyen: sure [21:18] b52: looks weird to me [21:19] eldad87: aho, so if i'm doing heavy calculation? should I use map/reduce then? [21:19] tbranyen: if javascript looks weird to you... [21:19] tbranyen: i dunno what to tell ya [21:19] b52: well, the normal js behavour would be to override it, wouldnt it? [21:19] aho: if it makes your code look nicer, sure why not? [21:19] tbranyen: commonjs spec says to attach [21:20] tbranyen: not override [21:20] jmoyers has joined the channel [21:20] eldad87: aho, i'm asking performance wise.. [21:20] eldad87: Guys... i'm after the instillation pat. what now - where I can put my code/how can I run the server? [21:20] mkrecny has joined the channel [21:20] b52: so what does exports = Schema = mongoose.Schema? [21:21] b52: it attaches "Schema" to exports which is a reference to mongoose.Schema ? [21:23] Lemon|mbp_ has joined the channel [21:23] medice: a = b = c => a = ( b = c) [21:23] medice: sort of resolved backwards [21:23] mkrecny: do y'all use nvm in production? [21:24] JaKWaC has joined the channel [21:25] theCole has joined the channel [21:26] \toothrot has joined the channel [21:27] patcoll has joined the channel [21:27] khmer: ok, here's what i hope is a simple one [21:27] dandean has joined the channel [21:27] joshkehn: ACTION Poises over keyboard. [21:27] khmer: wait for iiiiiiiiiit [21:28] khmer: my script is listening on port 8000, and responds to localhost requests, but not to any external requests. [21:28] joshkehn: Is it binding to 127 or localhost? [21:28] khmer: my arguments to .listen are (8000, "0.0.0.0") [21:28] joshkehn: Hrm. [21:29] khmer: i actually wonder if it's my home router that isn't forwarding the ports correctly. [21:29] joshkehn: Try without the "0.0.0.0" [21:29] khmer: tried that. [21:29] khmer: but you know i think i'll wait until later to try and figure this out [21:29] joshkehn: The docs state it should work. [21:29] khmer: thanks for being so willing to help, though! [21:29] joshkehn: Np [21:31] denom has joined the channel [21:31] vidi has joined the channel [21:32] DrMcKay has joined the channel [21:32] paulwe has joined the channel [21:32] blup has joined the channel [21:33] zeade has joined the channel [21:34] RichardNode has joined the channel [21:34] RichardNode: hey all, how do I declare a unicode encoded string? [21:34] RichardNode: is there a literal form of doing that? [21:34] jaimerod has joined the channel [21:34] colinclark_ has joined the channel [21:35] jesusabdullah: tjholowaychuk: You around? [21:35] booo: is there any good orm for node and postgres? [21:35] tjholowaychuk: jesusabdullah somewhat yup [21:36] pgherveou has joined the channel [21:36] Wa has joined the channel [21:36] level09 has joined the channel [21:36] jesusabdullah: I'm trying to select elements with soda---anyplace I can look for docs? Or should I just ask you how to do my particular case? [21:36] medice: when i try to install validator through npm, the shasum check fails consistently [21:37] medice: is it just me [21:37] tjholowaychuk: jesusabdullah as in