[00:00] aho: test elsewhere :v [00:00] test2 has joined the channel [00:00] test2: test [00:01] bnoordhuis: my /kick test passed [00:01] Draggor: goaaaaaaaaaaaaaaaaaaaaaaaaal [00:01] onlytracks has joined the channel [00:01] onlytracks has left the channel [00:03] mandric has joined the channel [00:03] marienz_ has joined the channel [00:05] davida has joined the channel [00:06] [[zz]] has joined the channel [00:06] postwait has joined the channel [00:07] thedjinn has joined the channel [00:08] kkszysiu has joined the channel [00:09] freeformz_ has joined the channel [00:11] levi501d has joined the channel [00:11] Bwen has joined the channel [00:11] eignerchris_ has joined the channel [00:11] lz has joined the channel [00:12] lz has joined the channel [00:12] boehm has joined the channel [00:12] neilk_ has joined the channel [00:15] BillyBreen has joined the channel [00:18] rc has joined the channel [00:18] matyr_ has joined the channel [00:19] Bwen: anyone knows any full MVC JS client side (not server side) framework with node.js? [00:20] Brandon_R has joined the channel [00:20] Brandon_R: hello guys [00:20] Brandon_R: what's up [00:20] \ask has joined the channel [00:20] apoc has joined the channel [00:20] tuhoojabotti has joined the channel [00:20] trupppOFF has joined the channel [00:20] halcyon918: I think you can basically get MVC-style presentations through Express, but it's not client-side [00:21] tjholowaychuk: i have client-side express (prototype), it's just not done :( [00:21] tjholowaychuk: along with a million other prototypes [00:21] freeformz has joined the channel [00:21] Bwen: there isnt really any full client-side JS MVC out there... been looking [00:22] Brandon_R: cool [00:22] Brandon_R: client side mvc [00:22] Bwen: well tied in with a backend ofcourse (hopefully nodejs ;) [00:23] dreamdust: Backbone.js? Ext? [00:24] cjheath has joined the channel [00:24] Frippe has joined the channel [00:24] mraleph has joined the channel [00:24] MooGoo: client side marvel vs capcom would rock [00:25] Brandon_R: lol [00:25] MooGoo: js could handle 2, maybe without the 3d backgrounds [00:26] MooGoo: 1 ez [00:26] trotter has joined the channel [00:26] mrryanjohnston: someone make sf1 in js [00:26] MooGoo: just write a cps emu [00:26] jvdev has joined the channel [00:26] sharkbird has joined the channel [00:27] MooGoo: I dont think we're at the point of a dreamcast emulator in js yet [00:27] bnoordhuis: we could do a cray-1 sim though [00:27] Brandon_R: what is redis good for [00:27] bnoordhuis: what fun! [00:27] dreamdust: We are? browsers aren't. [00:28] MooGoo: x86 dreamcast emulators arent even particualry good [00:28] MooGoo: its cause noone cares cause dreamcasts cost $5 and come premoded [00:29] neoesque has joined the channel [00:30] pyrotechnick: is there a channel for socket.io? [00:30] Brandon_R: yeah [00:30] Brandon_R: but i doubt its active [00:30] pyrotechnick has left the channel [00:31] tjholowaychuk: it's active lol.. [00:32] vidi has joined the channel [00:32] cconstantine: is there anyway to have a callback called when a connection attempt fails? [00:33] cconstantine: instead of an exception going to process's 'uncaughtException' event [00:33] sorensen: afternoon all [00:34] Brandon_R: not sure [00:34] \ask has joined the channel [00:34] apoc has joined the channel [00:34] tuhoojabotti has joined the channel [00:34] trupppOFF has joined the channel [00:37] bnoordhuis: cconstantine: listen for the 'error' event [00:37] JakeyChan has joined the channel [00:38] cconstantine: that'll prevent the throwing of a toplevel exception? [00:40] bnoordhuis: cconstantine: yes [00:40] cconstantine: bnoordhuis, awesome :) [00:42] Styles has joined the channel [00:44] mike5w3c_ has joined the channel [00:46] rc has joined the channel [00:46] jakehow has joined the channel [00:47] dgathright has joined the channel [00:48] davidbanham has joined the channel [00:50] matyr has joined the channel [00:50] jhurliman has joined the channel [00:51] hermanjunge has joined the channel [00:51] max_dev has joined the channel [00:52] levi has joined the channel [00:53] mehlah has joined the channel [00:55] AphelionZ has joined the channel [00:55] CarterL has joined the channel [00:57] ji0n has joined the channel [00:58] normanrichards has joined the channel [00:59] CrisO has joined the channel [01:00] gxdssoft has joined the channel [01:01] cconstantine: bnoordhuis, I'm trying to make an auto-reconnect for a socket and having problems. is there a good example of one? [01:06] smtlaissezfaire has joined the channel [01:08] davidbanham has joined the channel [01:08] JaKWaC has joined the channel [01:09] infynyxx has joined the channel [01:13] kawaz_home has joined the channel [01:14] sub_pop has joined the channel [01:16] cjm has joined the channel [01:18] saikat has joined the channel [01:19] cliffano has joined the channel [01:20] brianseeders has joined the channel [01:20] jomoho has joined the channel [01:21] AphelionZ has left the channel [01:21] marienz_ has joined the channel [01:22] rchavik has joined the channel [01:22] tokumine has joined the channel [01:23] apoc has joined the channel [01:24] issackelly_ has joined the channel [01:24] bshumate has left the channel [01:24] matyr_ has joined the channel [01:25] cliffano: what's the proper way of finding out that process.stdout already ends? (i tried process.stdout.on('end', ...); but that doesn't work.. [01:26] cliffano: also tried process.stdout.end(); [01:27] fairwinds has joined the channel [01:27] enhydra has joined the channel [01:28] wadey has joined the channel [01:28] davidwalsh has joined the channel [01:29] devongovett has joined the channel [01:33] cha0s: Is there anyone in here good with v8 embedding? #v8's always so dead. [01:34] saikat has joined the channel [01:34] amigojapan has joined the channel [01:34] AvianFlu: cliffano, process.stdout.on('drain', fn) [01:37] cliffano: AvianFlu: thanks :) [01:37] tylerstalder has joined the channel [01:38] mynyml has joined the channel [01:39] hdon- has joined the channel [01:44] jaequery has joined the channel [01:44] tk has joined the channel [01:44] saikat has joined the channel [01:45] AphelionZ has joined the channel [01:45] slifty has joined the channel [01:46] _baton_ has joined the channel [01:46] JakeyChan has joined the channel [01:50] mbrevoort has joined the channel [01:51] diamonddog has joined the channel [01:51] liveink has joined the channel [01:52] JaKWaC has joined the channel [01:52] Nuck: Having to install something for an irssi script via CPAN, and it's making me wish for NPM [01:52] saikat has joined the channel [01:53] AvianFlu: I installed an xchat plugin via copy-paste yesterday [01:53] AvianFlu: it was win [01:53] Renegade001 has joined the channel [01:55] skm has joined the channel [01:56] freeformz has joined the channel [01:56] saikat has joined the channel [01:57] d0k has joined the channel [01:58] smus has joined the channel [01:58] jzacsh: Nuck: why not just copy the script? i find my irssi scripts don't need to be portable beyond my dots repo: https://github.com/jzacsh/dotfiles/tree/master/.irssi/scripts [01:59] Nuck: jzacsh: It's an asston of dependendencies. [01:59] icewhite has joined the channel [01:59] Nuck: At least 20-25 [01:59] jzacsh: whaaa [01:59] jzacsh: Nuck: which irssi script? [01:59] Nuck: jzacsh: The one for ZNC timestamp handling [02:00] jzacsh: ACTION watches that sentence go over his head [02:00] jzacsh: Nuck: good luck! :) [02:00] Nuck: It just finished [02:00] tk has joined the channel [02:02] JaKWaC has joined the channel [02:02] meso has joined the channel [02:03] saikat has joined the channel [02:05] matyr has joined the channel [02:05] saikat has joined the channel [02:07] bartt has joined the channel [02:08] saikat has joined the channel [02:08] Murugaratham has joined the channel [02:08] JaKWaC has joined the channel [02:08] thiagopnts has joined the channel [02:08] thiagopnts has left the channel [02:09] scottschecter has joined the channel [02:09] JaKWaC has joined the channel [02:11] broofa has joined the channel [02:12] clu3 has joined the channel [02:12] arpunk has joined the channel [02:15] matyr_ has joined the channel [02:16] saikat has joined the channel [02:16] fayce has joined the channel [02:16] amigojapan has joined the channel [02:18] dylang: hate how slow watchfile is. what's a good alternative to assettmanager for merging/compiling css and js? [02:20] EyePulp has joined the channel [02:20] innociv: How do I convert an object to something readable? JSON.stringify gives me "TypeError: Converting circular structure to JSON" [02:20] jonrohan has joined the channel [02:22] MooGoo: remove circular referances? [02:22] saikat has joined the channel [02:22] matyr has joined the channel [02:23] sub_pop has joined the channel [02:23] micheil has joined the channel [02:24] innociv: Not sure what that is. Anyway I was trying to res.send() what req is [02:24] c4milo1 has joined the channel [02:24] innociv: app.get('/', function(req, res){ res.send(JSON.stringify(req)+'\n'); }); [02:25] ditesh|cassini has joined the channel [02:26] jldbasa has joined the channel [02:27] darren has joined the channel [02:28] saikat has joined the channel [02:33] davidascher has joined the channel [02:33] slifty has joined the channel [02:34] Emmanuel` has joined the channel [02:34] saikat has joined the channel [02:34] SubStack: innociv: convert or display? [02:34] innociv: What would I do if I want accept and parse something like http://localhost/?{'foo':'bar} ? [02:35] innociv: substack, I just want to display. I mean, console.log(req) shows it all, but I want to have it something "printable" to res.send() [02:35] Emmanuel` has joined the channel [02:35] SubStack: you can use traverse to strip out the circular refs [02:36] smus has joined the channel [02:37] SubStack: > JSON.parse(unescape(require('url').parse('http://localhost/?' + escape('{"foo":"bar"}')).query)) [02:37] SubStack: { foo: 'bar' } [02:38] SubStack: and this: [02:38] vidi has joined the channel [02:38] SubStack: > var obj = { a : 1, b : 2, c : [ 3 ] }; obj.c.push(obj); require('traverse')(obj).map(function (x) { if (this.circular) this.update('[ Circular ]') }) [02:38] SubStack: { a: 1, b: 2, c: [ 3, '[ Circular ]' ] } [02:38] SubStack: you can JSON.stringify() that [02:38] CIA-54: node: 03isaacs 07master * r74c0206 10/ test/simple/test-regress-GH-1726.js : Add broken test for #1726. - http://git.io/m8p_VQ [02:39] innociv: substack, if I'm going .get('/') isn't there a param that doesn't have the http://localhost/? part already? [02:39] innociv: doing* [02:39] SubStack: server-side? [02:39] SubStack: req.url [02:42] jacter has joined the channel [02:42] saikat has joined the channel [02:43] joshkehn has joined the channel [02:44] sivy has joined the channel [02:46] innociv: Alright. Well I got it where I get "/?{'foo':'bar','bars':{'one':1,'two':2}} [02:46] innociv: " from that. Should I just slice off the /? then? Then I can convert that to an object. Or is there another way I should be doing this? [02:46] langworthy has joined the channel [02:47] saikat has joined the channel [02:47] shiawuen has joined the channel [02:48] meandi2 has joined the channel [02:50] dreamdust has joined the channel [02:50] blueadept has joined the channel [02:51] davidascher has joined the channel [02:53] saikat has joined the channel [02:53] SubStack: innociv: require('url').parse(req.url).query) [02:53] jslatts has joined the channel [02:54] nmir has joined the channel [02:54] mandric has joined the channel [02:55] isaacs has joined the channel [02:56] bradleymeck has joined the channel [02:57] innociv: do I need to decodeURIComponant or something? [02:57] Sorella has joined the channel [02:57] innociv: Or is there another way I should do it? [02:59] nmir: hey guys, i was having this error in node.js -- https://github.com/joyent/node/issues/1713 -- if i install the latest version of node from git, will it fix this problem for me? [02:59] innociv: I can't figure out what .query does either. [03:00] innociv: I kind of figured node.js would do the URI encoding and decoding automatically. [03:02] dreamdust: Use encodeURI and encodeURIComponent [03:03] dreamdust: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/encodeURI [03:03] innociv: console.log( JSON.parse( decodeURIComponent(require('url').parse(req.url).query) ) ); Seems to work. What does query do, though? I google "nodejs query" and just get querystring results that seem unrelated. [03:03] saikat has joined the channel [03:03] dreamdust: Query just turns the query string into a nice JSON map [03:03] dreamdust: it's a real simple parser [03:03] dreamdust: It's a utility/convenience thing [03:04] innociv: Oh. I don't need that, do I? All I need is a string if I'm doing JSON.parse [03:05] dreamdust: Yes [03:05] dreamdust: wait why do you need to do JSON.parse? [03:06] innociv: I want to localhost/?{"foo":"bar","bars":{"one":1,"two":2}} and get a JSON object from that. [03:06] dreamdust: you can get the query already parsed to JSON with require('url').parse(req.url) [03:06] matyr_ has joined the channel [03:06] dreamdust: so var queryJSON = require('url').parse(req.url); [03:07] dreamdust: http://nodejs.org/docs/v0.4.12/api/http.html#request.url [03:07] smathy has joined the channel [03:07] innociv: Doesn't seem like it. [03:08] innociv: That gives me http://pastebin.com/5TaBDPB1 [03:08] smus has joined the channel [03:09] innociv: I'm doing a get of path/?{json} not path/?var1=foo&var2=bar [03:10] dreamdust: Your url isn't valid I don't think. You need to stuff that JSON in a url query parameter [03:10] dreamdust: http://pastebin.com/jBcGMcMD [03:10] dreamdust: so myjson would be the query parameter there [03:10] innociv: Are you positive? Seems to work 100% [03:11] hidden has joined the channel [03:12] schwab has joined the channel [03:12] JaKWaC has joined the channel [03:14] Lingerance: I kind of figured node.js would do the URI encoding and decoding automatically.<-- there are situations where you don't want this to happen. But being able to plug in an encoder/decoder would've been nice, yes. [03:15] saikat has joined the channel [03:16] kriszyp has joined the channel [03:16] matyr has joined the channel [03:19] micheil has joined the channel [03:19] freeformz has joined the channel [03:19] saikat has joined the channel [03:20] jonrohan has joined the channel [03:22] saikat has joined the channel [03:24] saikat has joined the channel [03:24] hermanjunge: conceptual question [03:25] hermanjunge: It seems obvious from the code, but I want it confirmed: [03:25] hermanjunge: you declare an object that emits events [03:25] hermanjunge: then I saw that you declare event handlers for that object [03:25] hermanjunge: the space of time between the obj is declared, and the event handler is declared [03:26] hermanjunge: if an event is emmited, /this events stays in some queue/??? [03:26] hermanjunge: and question 2: Where can I read the event queue, for debugging purposes? (I'm working with node-inspector) [03:26] Nuck: Ya know what'd be cool? If I could point Mongoose at a memcached server and say "go" and have it use that [03:27] jaequery has joined the channel [03:27] micheil: hermanjunge: no [03:27] micheil: hermanjunge: events are ephemeral [03:27] hermanjunge: ok [03:27] rfay has joined the channel [03:27] hermanjunge: then 2. Where can I see the queue of events [03:28] hermanjunge: remember that node.js runs in one thread [03:28] micheil: hermanjunge: if you want something like this, you'd likely need to implement it yourself, or look at promises / deferrables [03:28] hermanjunge: or one loop, or not [03:28] dreamdust: use emitter.listeners(event) to get an array of listeners for that event [03:28] hermanjunge: no, I'm just curious [03:28] micheil: hermanjunge: a queue of events? there's a list of listeners [03:28] hermanjunge: maybe I'm not expressing well the idea [03:28] Nuck: micheil: That was creepy. I was just reading a Postgres thingy from Urban Airship that just mentioned something called "Ephemeral" right when you said that. [03:29] hermanjunge: todo calza pollo [03:29] guillermo has joined the channel [03:29] micheil: Nuck: It's kinda like that. [03:29] hermanjunge: micheil, then, if evts are ephemeral [03:29] hermanjunge: what happens if I'm running a heavy foreach /to make a quick exampl) [03:29] hermanjunge: and someone calls the app [03:30] hermanjunge: the call is lost? [03:30] micheil: no [03:30] micheil: as you won't accept the request until that loop is done [03:31] hermanjunge: ok [03:31] hermanjunge: thanks [03:31] hermanjunge: so, I have to implement some invention to make an "event-queue" [03:31] cjm has joined the channel [03:31] jtsnow has joined the channel [03:33] micheil: hermanjunge: uhh, what for? [03:33] micheil: only events emitted without ANY listeners will get skipped / dropped. [03:33] micheil: everything else works fine. [03:34] micheil: ie, eventemitters are not retro-active when you add a listener [03:34] hermanjunge: that's it [03:34] hermanjunge: now I've got it [03:34] hermanjunge: evt emmiters are not retro-active [03:34] hermanjunge: that was my question [03:34] hermanjunge: english is not my native lang [03:34] micheil: right. [03:34] hermanjunge: :P [03:34] jesusabdullah: Does anybody here running the beta of either chrome or firefox? [03:35] jesusabdullah: I wrote https://gist.github.com/1236639 [03:35] MooGoo: what is this I dont even... [03:35] MooGoo: you're asking if events can travel back in time? [03:35] jesusabdullah: and I'm getting DOM_NOT_IMPLEMENTED errors when I copy-paste to the js console [03:37] metellus has joined the channel [03:37] jesusabdullah: Anyone willing to test it for me? If yeah that'd be great [03:37] jesusabdullah: should work good on imgur.com/gallery if at all [03:38] devongovett has joined the channel [03:38] Murugaratham has joined the channel [03:38] ctide: jesusabdullah: Error: NOT_SUPPORTED_ERR: DOM Exception 9 [03:43] jesusabdullah: Yeah, me too :C [03:43] lazyshot has joined the channel [03:45] matyr_ has joined the channel [03:47] onethirtyfive has joined the channel [03:50] jvolkman_ has joined the channel [03:53] matyr has joined the channel [03:55] moop has joined the channel [03:56] matyr_ has joined the channel [03:58] harthur has joined the channel [03:59] ronnieboy has joined the channel [03:59] nmr has joined the channel [04:00] abjorn: So anyone in here have any suggestions as far as a mail server go? I've been working on a nodejs web app and not sure if I wanna just use sendmail or something like that [04:00] moop: on osx child_process.kill properly kills my process, on linux it just kills the shell and leaves the process running, is there a way around this? [04:01] moop: im starting it with child_process.exec, and using 0.4.12 [04:02] chrislorenz has joined the channel [04:03] lazyshot has joined the channel [04:04] tmcw has joined the channel [04:06] kunalc has joined the channel [04:06] towski has joined the channel [04:08] Skyec: is there a way to know if a path is relative or not? [04:08] abjorn: if it starts with a / or not? [04:08] blueadept: quick question, if i'm making an API, is it better to just create authentication though a param, or make the api key authenticate to the server first, and leave the variables to the params? [04:08] SubStack: v8: '/beep/boop'.match('^/') [04:08] v8bot_: SubStack: ["/"] [04:09] andrewfff has joined the channel [04:09] SubStack: v8: Boolean('/beep/boop'.match('^/')) [04:09] v8bot_: SubStack: true [04:09] SubStack: oh wait, .test() [04:09] SubStack: v8: '/beep/boop'.test('^/') [04:09] v8bot_: SubStack: TypeError: Object /beep/boop has no method 'test' [04:09] SubStack: hmmm [04:09] SubStack: silly thing [04:09] Skyec: abjorn: that wouldn't work if it were on Windows [04:10] SubStack: things don't usually work on windows [04:10] SubStack: by default [04:10] abjorn: SubStack: Other way around, /^\//.test("/beep/boop"); [04:10] SubStack: aha [04:10] SubStack: see that is why I don't use test [04:10] Skyec: that's no reason to invent more things to break [04:11] kenperkins has joined the channel [04:13] abjorn: SubStack: yeah, it's so stupid how it's backwards from .match [04:13] tbranyen: v8: 'lol'.match('lol') [04:13] v8bot_: tbranyen: ["lol"] [04:14] tbranyen: v8: 'lol'.match('lo') [04:14] v8bot_: tbranyen: ["lo"] [04:14] tbranyen: hm [04:14] tbranyen: i guess that's why its reverse [04:14] meso has joined the channel [04:20] AphelionZ: jailbreaking my iPad1 finally [04:20] AphelionZ: should I have enabled multitask gestures? (I did) [04:21] chrislorenz has joined the channel [04:21] abjorn: I think what you should be asking yourself is "Should I have bought an iPad?" [04:22] moop: ok duh apparently using .spawn does the trick [04:23] tk has joined the channel [04:24] lepht has joined the channel [04:24] zeiris has joined the channel [04:26] hidden has left the channel [04:27] AphelionZ: sorry wrong room :p [04:29] tlrobinson has joined the channel [04:30] ryanmcgrath has joined the channel [04:30] tlrobinson: is it expected that the http request body won't work if you don't register for the data/end events in the same event loop? [04:31] kenperkins: so who all uses https only [04:33] lazyshot has joined the channel [04:33] tlrobinson: https://gist.github.com/1236748 [04:35] wookiehangover has joined the channel [04:35] cying has joined the channel [04:36] dandean has joined the channel [04:36] SubStack: NPM Y U NO INSTALL THE PACKAGE WITH --FORCE [04:36] SubStack: npm ERR! Required: {"node":"0.4"} [04:36] SubStack: >_< [04:37] SubStack: there should be a --fuckoff option that just fucking installs stuff anyways [04:37] SubStack: engine ranges be damned [04:37] hij1nx has joined the channel [04:38] nforgerit has joined the channel [04:39] nmr: does anyone know... if i split up my routes for express over multiple files, do i have to declare objects as app. in order to access them from the route functions? [04:40] descipher has joined the channel [04:41] nmir has joined the channel [04:41] nmir: does anyone know... if i split up my routes for express over multiple files, do i have to declare objects as app. in order to access them from the route functions? [04:42] nmir: (sorry if i sent this twice) [04:45] smus has joined the channel [04:46] saikat has joined the channel [04:46] ChrisPartridge: SubStack: im sure this is more of a socket.io question, but when using dnode - it appears the socket connection closes after a minute or so of inactivity - have you noticed this? [04:47] svnlto has joined the channel [04:48] SubStack: I haven't noticed that reliably but I do get connection drops [04:48] SubStack: socket.io needs to quit breaking in browserify >_< [04:48] SubStack: or else I would just depend on it normally [04:48] SubStack: but my patches to make it work with browserify in 0.6 regressed in 0.7+ [04:49] ChrisPartridge: :\ [04:49] lz has joined the channel [04:49] lz has joined the channel [04:49] SubStack: socket.io seriously needs more tests >_< [04:50] ChrisPartridge: it is awesome though [04:50] SubStack: kinda, it's getting a bit big lately [04:50] ekryski has joined the channel [04:50] lazyshot_ has joined the channel [04:50] SubStack: it should be split up into a dumb transport module and then fancy stuff into another thing [04:52] ecin has joined the channel [04:52] smathy_ has joined the channel [04:54] clu3_ has joined the channel [04:54] nforgerit has joined the channel [04:57] blueadept: anyone know of the top of their head if mongoose uses commonjs-utils/lib/json-schema ? [04:57] PaperT has joined the channel [04:58] jj0hns0n has joined the channel [04:58] PaperT has left the channel [04:59] blueadept: nope i think actually [04:59] blueadept: getting a bug though [05:00] ryanmcgrath has joined the channel [05:00] shiawuen has joined the channel [05:01] CIA-54: node: 03Ryan Dahl 07new-tty-binding * r11bca28 10/ (23 files in 6 dirs): upgrade libuv - http://git.io/_W0r7w [05:01] CIA-54: node: 03Ryan Dahl 07new-tty-binding * rcb362d0 10/ (5 files in 2 dirs): [05:01] CIA-54: node: Initial pass at new TTY js layer [05:01] CIA-54: node: This breaks Windows. - http://git.io/pc9_Bg [05:01] CIA-54: node: 03Ryan Dahl 07new-tty-binding * rfdeddb6 10/ (src/node.js src/tty_wrap.cc): Bind/use uv_guess_handle - http://git.io/LdnPJw [05:01] CIA-54: node: 03Ryan Dahl 07new-tty-binding * r0c4a424 10/ (lib/readline.js lib/tty_uv.js src/tty_wrap.cc): Bind uv_tty_get_winsize - http://git.io/KiH6zQ [05:01] tk has joined the channel [05:02] CIA-54: libuv: 03Ryan Dahl 07master * r0365259 10/ (include/uv.h src/unix/tty.c src/win/tty.c test/test-tty.c): unix: add uv_guess_handle and uv_tty_get_winsize - http://git.io/FrLLFA [05:02] sreeix has joined the channel [05:03] luxint has joined the channel [05:03] lazyshot has joined the channel [05:04] r04r has joined the channel [05:05] liveink_ has joined the channel [05:08] NetRoY has joined the channel [05:10] rurufufuss has joined the channel [05:10] r04r has joined the channel [05:11] knifed has joined the channel [05:12] tlrobinson: so does anyone have any insight into this: https://gist.github.com/1236748 [05:13] tlrobinson: it seems http server request events don't work if you don't register listeners in the same tick? [05:13] shiawuen_ has joined the channel [05:13] tlrobinson: ryah: ^ [05:14] isaacs has joined the channel [05:15] AphelionZ has joined the channel [05:16] max_dev has joined the channel [05:17] necrodearia has joined the channel [05:17] r04r has joined the channel [05:18] lepht has left the channel [05:18] lepht_ has joined the channel [05:18] fangel has joined the channel [05:19] Spion_ has joined the channel [05:19] kmiyashiro has joined the channel [05:20] lazyshot_ has joined the channel [05:21] devongovett has joined the channel [05:21] pizthewiz has joined the channel [05:21] lz has joined the channel [05:21] lz has joined the channel [05:22] ap3mantus has joined the channel [05:22] r04r has joined the channel [05:23] mjijackson: @tlrobinson: the "data" and "end" events fire in the same tick as the request was received. [05:24] mjijackson: so if you defer adding the event listeners until the next tick, those events have already fired. [05:24] JaKWaC has joined the channel [05:24] mjijackson: that ship has sailed, as they say. :) [05:27] anoop has joined the channel [05:27] r04r has joined the channel [05:27] mjijackson: tlrobinson: see https://gist.github.com/1236798 [05:27] chjj: ahhh, jesusabdullah was gisting again [05:28] knifed_ has joined the channel [05:28] tlrobinson: hmm [05:29] tlrobinson: mjijackson: and .pause() won't change that? [05:29] luckysmack_ has joined the channel [05:29] mjijackson: kind of awesome that 4.8M ticks went by in the time it took me to hit cmd-tab, up arrow, Enter. :) [05:29] mjijackson: tlrobinson: it should. [05:29] lepht_ has joined the channel [05:29] mjijackson: let's see. [05:30] liar has joined the channel [05:30] luckysmack_: are there any tutes out there for putting together a useable (probably basic) node.js blog? i can find tutes for general basic or advanced stuff, but kind of want to see how one would go from beginning to end on a basic usable app with node. [05:30] mjijackson: huh, guess it doesn't. [05:31] amigojapan has joined the channel [05:31] luckysmack_: i want to get a better idea on the bigger picture [05:31] ryanmcgrath has joined the channel [05:32] tlrobinson: bummer [05:32] knifed has joined the channel [05:32] isaacs: i just had the greatest idea for a node.js drinking game. you and 4 friends go to a bar, and 5 other friends of yours go to a different bar. you all order 2 beers each. you drink your first drink, then your 4 friends drink their first drink, and call someone from the other bar. once the people in the other bar are done with their first drinks, they call you back, and you have your second drink, and when you're all done wiht your sec [05:32] isaacs: drink, you call the other gang in the other bar, and they proceed. [05:32] SamuraiJack has joined the channel [05:32] r04r has joined the channel [05:32] isaacs: if anyone drinks too much and passes out or throws up, you all run home screaming. [05:32] CIA-54: node: 03Ryan Dahl 07master * r8d37b6c 10/ (23 files in 6 dirs): upgrade libuv - http://git.io/cSyDUA [05:32] CIA-54: node: 03Igor Zinkovsky 07master * r8fe5712 10/ (6 files in 4 dirs): fs watcher binding - http://git.io/txt99Q [05:33] Nuck: isaacs: You're drunk right now, aren't you? [05:33] devaholic: isaacs: why [05:33] tauren: isaacs: i like it! [05:33] lazyshot has joined the channel [05:33] isaacs: Nuck: not at all [05:33] Nuck: isaacs: High on life? [05:34] mjijackson: tlrobinson: we should fix that. :) [05:34] Nuck: woah just got my first push notification on Colloquy Mobile :D [05:34] Nuck: Looks like my bouncer is working finely [05:34] Nuck: Took a moment, but my phone did beep [05:34] zeade has joined the channel [05:34] mjijackson: streams shouldn't emit any data until next tick, imo [05:35] lepht_ has joined the channel [05:37] trevogre has joined the channel [05:37] tlrobinson: mjijackson: for the request should they even emit at all until someone registers for from? [05:38] r04r has joined the channel [05:38] r04r has joined the channel [05:38] mjijackson: tlrobinson: probably not [05:38] tlrobinson: mjijackson: though i suppose the behavior shouldn't be dependent on if/when the consumers register for events [05:39] mjijackson: tlrobinson: seems that i've seen that kind of pattern used elsewhere in the node codebase, but can't remember where [05:39] torsd has joined the channel [05:39] mjijackson: ACTION spelunking in ~/Projects/node [05:41] temp02 has joined the channel [05:41] Draggor: Is there something like gnu make but in JS/node? [05:42] kkszysiu_ has joined the channel [05:42] tlrobinson: mjijackson: i guess typically you'd only have one consumer of the request so it wouldn't matter if events are deferred until registration. and of course that behavior would be strictly better than the current behaviorvoir [05:42] r04r has joined the channel [05:42] r04r has joined the channel [05:47] copongcopong has joined the channel [05:48] eddict: Draggor: jake? [05:48] r04r has joined the channel [05:48] Draggor: eddict: I just found that, yeah, thanks! [05:48] apang42 has joined the channel [05:49] Murugaratham has joined the channel [05:50] minorblend has joined the channel [05:51] matyr has joined the channel [05:51] jacobolus has joined the channel [05:53] bEEEviz has joined the channel [05:53] DennisRasmussen has joined the channel [05:55] JWarm has joined the channel [05:56] JWarm: Hey guys, are there any recommendations for a database? [05:56] JWarm: mysql, mongodb? [05:56] stephank has joined the channel [05:56] mjijackson: JWarm: PostgreSQL [05:56] JWarm: thanks mjijackson! [05:59] mjijackson: tlrobinson: will have to continue digging around tomorrow for a solution to this. was looking in lib/http.js tonight for some clues as to how to defer events until the next tick but lack of sleep is making it difficult. :) [05:59] davidbanham has joined the channel [05:59] tlrobinson: mjijackson: ok thanks. but did we decide to wait for the following tick, or the first time an event is registered? [05:59] tlrobinson: *listener [06:00] clu3 has joined the channel [06:00] mjijackson: probably safer to just wait until the next tick. either way, the policy should be consistent across all streams. [06:01] kenperkins: lol [06:01] kenperkins: http://www.clipboard.com/clip/LR0vagB4AllnMjuQ [06:01] mjijackson: tlrobinson: wouldn't you need to buffer data if you're waiting for a listener? [06:02] tlrobinson: mjijackson: i suppose [06:03] tlrobinson: i guess node's philosophy is that if you want the data you better listen for it right away, because node won't buffer it for you [06:03] shipit has joined the channel [06:04] mjijackson: right. that's fair enough. as long as it's consistent. [06:04] mraleph has joined the channel [06:04] mjijackson: just needs to give you at least one tick to set up your listeners... [06:05] mjijackson: or rather pause it if you need to. [06:05] tauren: are there any good node projects for creating pdf files, overlaying data onto an existing pdf file, editing pdfs, etc? [06:06] SubStack: tauren: http://search.npmjs.org/ [06:06] tauren: ahh, just found pdfkit... [06:06] SubStack: there are a few pdf libs on there [06:06] SubStack: that you can install with npm [06:06] tauren: just wondering if people had preferences or opinions on them [06:07] matyr_ has joined the channel [06:07] schleg has joined the channel [06:07] tlrobinson: mjijackson: will pause() definitely stop additional events from firing or is it more of an advisory thing [06:07] mjijackson: tlrobinson: i don't believe it's specified. [06:09] tlrobinson: it would be nice if pause() on ServerRequest just deferred those data/end events [06:09] ryanmcgrath has joined the channel [06:09] matyr__ has joined the channel [06:09] jakehow has joined the channel [06:11] mjijackson: tlrobinson: would be very useful if Stream were actually defined in js [06:11] matyr has joined the channel [06:11] mjijackson: then all these types of things would be specified. [06:11] tlrobinson: mjijackson: true [06:11] mjijackson: as it is, there are several different common types of streams. [06:11] mjijackson: i wrote a buffered stream implementation in js: https://gist.github.com/1201196 [06:12] mjijackson: so i could have some consistency when writing test code that uses streams [06:12] tlrobinson: i think i wrote one of those at some point too haha [06:12] ChrisPartridge: tauren: I've tried a couple, nothing compares the alternatives from other languages (still using iText here) [06:12] mjijackson: it's very useful. for example, i always know that it won't emit any data until next tick [06:13] tauren: ChrisPartridge: thanks. i'm using apache's pdfbox and was looking for something equivalent in node. [06:13] mjijackson: tlrobinson: i just ack'ed for constructors that inherit from Stream in lib but only found two [06:13] tlrobinson: mjijackson: i'm not sure i understand how waiting until the next tick helps [06:13] Corren has joined the channel [06:14] tauren: ChrisPartridge: have you tried http://pdfkit.org/ ? The docs make it look quite capable. [06:14] tlrobinson: the test case i have in that gist was kind of contrived. but say it was a setTimeout or something async IO event thats longer than one tick [06:14] ChrisPartridge: tauren: not using pdfkit, but using an internal application that also leverages wkhtmltopdf [06:15] tauren: ChrisPartridge: ok, thanks! [06:15] mjijackson: tlrobinson: if your "data" and "end" events are firing in the same tick as when you first see the object, you have no control over whether the pause() happens before or after [06:15] mjijackson: the order is by definition undefined [06:16] topaxi has joined the channel [06:16] mjijackson: within a tick, that is. [06:16] andrewfff has joined the channel [06:16] tlrobinson: well, hopefully "end" is always after the last "data", right? [06:17] mjijackson: sure. that's defined. :) [06:17] mjijackson: what i mean is, each tick has this stack of callbacks it needs to call [06:18] saikat_ has joined the channel [06:18] robotmay has joined the channel [06:18] tlrobinson: oh and by the time you call "pause()" the data/end events might already be in the current tick's stack? [06:18] mjijackson: exactly [06:19] lepht has joined the channel [06:19] ChrisPartridge: SubStack: long shot here, but can i listen on a port and also attach to express app with a single dnode instance? [06:19] DennisRasmussen has joined the channel [06:20] mjijackson: so, i keep saying you need to wait until the next tick so that the stream can check whether or not you called pause() in the previous tick before adding any "data" or "end" callbacks to the stack [06:20] mjijackson: or rather, before emitting those events in the current tick. [06:21] tlrobinson: mjijackson: it actually wouldn't help in my case. that forEachable adapter i posted breaks in the case where you don't call forEach in the same tick [06:21] saikat_ has joined the channel [06:22] mjijackson: ah, i see. [06:22] tlrobinson: being able to call .pause() would make it a little easier i suppose [06:22] _bat has joined the channel [06:22] tlrobinson: this is what i ended up doing https://gist.github.com/1fd3e38d71637d17e799 [06:23] mjijackson: that mock stream code i linked to buffers until next tick so that it always gives you a chance to pause() before emitting anything [06:23] freeformz has joined the channel [06:23] bEEEviz: can anybody of you maybe help me to debug a module? [06:23] mraleph1 has joined the channel [06:23] bEEEviz: npm install git://github.com/manuelbieh/Geolib.git [06:23] _bat: hi mjijackson, I'm benatkin on twitter :) [06:23] mjijackson: _bat: hi! [06:23] bEEEviz: install succeeds [06:24] bEEEviz: but when I use require('./geolib') geolib, Geolib, ... I get an error that says: [06:24] bEEEviz: Error: Cannot find module 'geolib' [06:24] bEEEviz: what am I doing wrong? [06:25] ChrisPartridge: bEEEviz: require('Geolib') ? [06:25] jmoyers has joined the channel [06:25] bEEEviz: aaah yes [06:25] bEEEviz: i tried ./Geolib [06:25] bEEEviz: which, of course, cant work [06:26] ChrisPartridge: yup! [06:26] mc_greeny has joined the channel [06:26] bEEEviz: thank you :) [06:26] ChrisPartridge: nice package btw [06:26] mehlah has joined the channel [06:26] blaenk has joined the channel [06:26] blaenk has joined the channel [06:28] nmir has joined the channel [06:29] jmoyers: ACTION chuckles [06:33] sreeix has joined the channel [06:34] bEEEviz: thank you [06:35] ChrisPartridge: jmoyers: dirty mind? :P [06:35] jmoyers: just sayin' [06:35] saikat_ has joined the channel [06:37] mjijackson: jmoyers: nice package [06:38] jmoyers: ACTION looks down [06:38] jmoyers: maybe [06:38] jmoyers: lets all use Promises, amiright? [06:38] bEEEviz: will i have to publish new versions of my package to npm or is npm tracking changes in the git repo? [06:38] isaacs: bEEEviz: you'll have to publish [06:38] mjijackson: dude. what do you have going on here? https://github.com/jmoyers/doc [06:39] mjijackson: looks interesting. [06:39] isaacs: bEEEviz: npm doesn't automatically track git repos [06:39] chrislorenz has joined the channel [06:39] bEEEviz: ok [06:39] bEEEviz: ty [06:39] jmoyers: mjijackson i got lost in the AST [06:39] jmoyers: for hours [06:39] wmage has joined the channel [06:39] jmoyers: mjijackson https://github.com/jmoyers/doc/blob/master/nc.js this is the heart, a dirty hack on top of traverse [06:39] mjijackson: automatically mapping doc strings onto objects. [06:39] Remoun has joined the channel [06:40] SubStack: chrislorenz: you can indeed [06:40] SubStack: wups [06:40] SubStack: ChrisPartridge: yep just chain the listens [06:40] jmoyers: yeah, i lost steam when i found out uglify didn't parse comments inside object literals [06:40] SubStack: .listen(app).listen(5000) [06:40] ChrisPartridge: SubStack: you're a genius! [06:41] apejens: I have a node.js that seg faults from time to time (hard to reproduce), and the core dump only shows v8::internal stuff, and a bunch of ??. Any tips on how to proceed? [06:41] ChrisPartridge: got dnode going everywhere now [06:41] mjijackson: jmoyers: nice. i've been thinking lately that i wish there were a way to have python-style doc strings in js. [06:42] mjijackson: so i could say something like MyConstructor.__doc__ [06:42] jmoyers: built into the object itself? [06:42] mjijackson: yeah. [06:42] jmoyers: yeah well, multi line string literals first :-) [06:42] jmoyers: `` and shit [06:42] mjijackson: ah, yes. [06:42] ambroff has joined the channel [06:42] k1ttty has joined the channel [06:43] mjijackson: comments would do fine as well though. [06:43] jmoyers: yeah, goal of that project was to parse it into a nice strucutre -- then you can spit out whatever you want, with your own templates [06:43] mjijackson: it would need extremely simple heuristics [06:43] mjijackson: yeah. [06:43] mjijackson: that's awesome. [06:44] mjijackson: i'm not parsing the ast or anything, but i did have a similar sort of "docs as code" experiment going on in strata [06:44] mjijackson: there's actually a strata.manual object that is an array of chapters in the manual [06:44] mjijackson: each chapter has a code, text, and html property [06:44] mike5w3c_ has joined the channel [06:44] Lingerance: There's a horrible hack to get multi-line strings with Function.prototype.toString() [06:45] nmir: anyone here using express with routes in separate files? [06:45] jmoyers: interesting [06:45] jmoyers: im wondering how much SHOULD be inline [06:45] jmoyers: i see a lot of trending towards externalized documentation [06:46] jesusabdullah: https://gist.github.com/1236639 I wish this worked. :C [06:46] jesusabdullah: It would've been really cool you guys! [06:46] mjijackson: yeah. the way i see it is, writing documentation sucks. you only have time for it if your project gets huge. so you probably only have time to write one kind of docs. [06:46] mjijackson: api docs are boring. [06:46] mjijackson: everybody likes to read a good book with examples though. [06:46] davidascher has joined the channel [06:46] mjijackson: blog posts are ok, but quickly get outdated as tech changes. [06:47] mjijackson: the best thing would be to have the docs be part of the code repo, so they could evolve with the code. [06:47] andrewfff has joined the channel [06:47] jmoyers: yeah [06:47] mjijackson: and executable docs helps to make sure that API changes don't break your code examples. [06:47] Lingerance: ExtJS had nice-ish documentation, but it made the code hard to read unless you had folding. [06:47] jesusabdullah: I must be one of the few people that doesn't mind documentation [06:47] jmoyers: i like the idea of at least partially parsing the ast, even if you don't use the comment blocks [06:47] jmoyers: to generate an up to date skeleton [06:48] jesusabdullah: I'm not amazing at documenting, but I don't mind doing it. I don't consider it a chore. [06:48] KaL_ has joined the channel [06:48] KaL_: hello ! [06:49] jmoyers: its not a chore per se [06:49] ChrisPartridge: Lingerance: yeah, would be cool if they used markdown in the code [06:49] jmoyers: but writing code takes time, going to work takes time, working out takes time ;-) [06:49] jmoyers: not to mention SO's and whatever [06:49] reid has joined the channel [06:49] mjijackson: yeah. [06:49] jmoyers: so like… goddamn. there aren't enough hours [06:49] Lingerance: ChrisPartridge: I don't think that'd have helped any. [06:49] mjijackson: haha. [06:50] ChrisPartridge: Lingerance: It would atleast be readable [06:50] Lingerance: They used minimal amounts of markup, it's just they had really long examples in the comments. [06:50] mjijackson: i was talking to a guy today who was telling me he wanted to hand off his lib to some overseas coder to read through and document [06:50] mjijackson: thought he could get it done cheaply [06:50] jmoyers: hehehe [06:51] jmoyers: outsource my documentation! [06:51] jmoyers: alriiight [06:51] mjijackson: haha [06:51] mjijackson: seriously. outsource the only part of your project that most people have time to take a look at. [06:52] jmoyers: outsource the content [06:52] jmoyers: but be sure to make a hot and sexy site to house it ;-) [06:53] mjijackson: haha. that's right. gradients. lots and lots of gradients. [06:53] nforgerit has joined the channel [06:56] sreeix_ has joined the channel [06:56] sreeix has joined the channel [06:57] ivanfi has joined the channel [06:58] groom has joined the channel [06:58] sreeix_ has joined the channel [06:58] sreeix_ has joined the channel [07:00] fangel has joined the channel [07:02] jbpros has joined the channel [07:03] nforgerit has joined the channel [07:03] wmage: is there any way to focus on one test in node-unit [07:03] wmage: ? [07:04] raphdg has joined the channel [07:06] TheCode has joined the channel [07:08] cjheath has joined the channel [07:09] ErikCorryV8 has joined the channel [07:09] emattias has joined the channel [07:10] shipit has joined the channel [07:11] saikat has joined the channel [07:11] hynek has joined the channel [07:12] vguerra has joined the channel [07:12] tmcw has joined the channel [07:13] nforgerit has joined the channel [07:14] robhawkes has joined the channel [07:14] langworthy has joined the channel [07:15] stonebranch has joined the channel [07:15] mehlah has joined the channel [07:16] rendar has joined the channel [07:16] FireFly|n900 has joined the channel [07:17] piscisaureus has joined the channel [07:18] trevogre: I'm trying to get socket.io setup without installing it from npm. [07:18] trevogre: A little confused. [07:19] sfoster has joined the channel [07:21] kuebk has joined the channel [07:21] mikedeboer has joined the channel [07:21] luke` has joined the channel [07:22] TomY has joined the channel [07:23] nforgerit has joined the channel [07:24] herbySk has joined the channel [07:25] saikat has joined the channel [07:27] Murugaratham has joined the channel [07:28] Frippe has joined the channel [07:29] herbySk has joined the channel [07:29] fairwinds has joined the channel [07:30] mklappstuhl has joined the channel [07:31] herbySk has joined the channel [07:33] saikat has joined the channel [07:33] [AD]Turbo has joined the channel [07:33] cying has joined the channel [07:33] [AD]Turbo: hi there [07:35] boltR has joined the channel [07:39] Druide has joined the channel [07:39] nforgerit has joined the channel [07:39] _kud has joined the channel [07:40] minorblend has joined the channel [07:40] djcoin has joined the channel [07:43] saikat has joined the channel [07:45] johnwards has joined the channel [07:47] hellp has joined the channel [07:47] cpetzold has joined the channel [07:47] saikat has joined the channel [07:48] whitman has joined the channel [07:51] DrMcKay has joined the channel [07:52] saikat has joined the channel [07:55] andref__ has joined the channel [07:56] huskyr has joined the channel [07:56] mpavel has joined the channel [07:56] Esteb has joined the channel [07:57] mklappstuhl has joined the channel [07:58] MrNibbles has joined the channel [07:59] steffan has joined the channel [08:00] Xano has joined the channel [08:00] ph^ has joined the channel [08:00] hkjels has joined the channel [08:01] mpavel has joined the channel [08:01] micheil has joined the channel [08:02] adambeynon has joined the channel [08:03] halcyon918__ has joined the channel [08:05] uchuff has joined the channel [08:06] onethirtyfive has joined the channel [08:07] icebox has joined the channel [08:07] TheJH_phone has joined the channel [08:09] robotmay has joined the channel [08:09] wbednarski has joined the channel [08:09] Industrial: Can I change the output of console.log? I don't like the way it prints objects. [08:10] Industrial: e.g. I prefer a = {\n\tb: 'c'\n} to a =\n\t{ b: 'c' }\n [08:11] luke`_ has joined the channel [08:11] DrMcKay: Industrial: monkey patch util.format? [08:11] V1 has joined the channel [08:12] \ask has joined the channel [08:12] tuhoojabotti has joined the channel [08:12] trupppOFF has joined the channel [08:15] Xano has joined the channel [08:15] Xano has left the channel [08:16] trevogre has joined the channel [08:17] pgherveou has joined the channel [08:17] FireFly|n900 has joined the channel [08:19] Industrial: DrMcKay: I dont see a util.format [08:19] __doc__ has joined the channel [08:20] levi has joined the channel [08:22] jaequery has joined the channel [08:24] Aiden has joined the channel [08:27] benvds has joined the channel [08:27] DrMcKay: Industrial: sorry, it's formatValue https://github.com/joyent/node/blob/master/lib/util.js#L155 [08:27] DrMcKay: but it isn't exported [08:27] DrMcKay: so you have to monkey patch util.inspect [08:28] TomY has joined the channel [08:28] nforgerit has joined the channel [08:31] jetienne has joined the channel [08:34] eldios has joined the channel [08:36] ditesh|cassini has joined the channel [08:38] nforgerit has joined the channel [08:40] k1ttty has joined the channel [08:40] pickels has joined the channel [08:42] markwubben has joined the channel [08:50] nforgerit has joined the channel [08:51] temp01 has joined the channel [08:54] neilk_ has joined the channel [08:55] sveimac has joined the channel [08:55] bergelmir has joined the channel [08:55] bergelmir has joined the channel [08:56] adambeynon has joined the channel [08:57] kulor-uk has joined the channel [08:59] wbednarski has joined the channel [08:59] eldios has joined the channel [09:00] nforgerit has joined the channel [09:00] DrMcKay: TheJH_phone: pingity pong? [09:03] khinester has joined the channel [09:04] Gabe_ has joined the channel [09:04] DrMcKay: did anyone here manage to replicate isaacs' registry to his own? [09:04] Gabe_: Is it possible to perform XAuth authentication using the oauth module? [09:04] khinester: hello, i am having an issue building the latest 0.4 on freebsd. here is http://groups.google.com/group/nodejs/browse_thread/thread/cc99fb94ecc1238a post [09:05] sveimac has joined the channel [09:05] r04r has joined the channel [09:07] DrMcKay: Gabe_: XAuth is a bit different beast, but I believe that it's possible to sign you requests [09:07] nforgerit has joined the channel [09:07] thinkling has joined the channel [09:08] Gabe_: DrMcKay: I'm new to Node and OAuth in general. I tried all of yesterday to get XAuth working to no avail. Could you take just a minute to check this: http://stackoverflow.com/questions/7518795/instapaper-api-javascript-xauth [09:09] bzinger has joined the channel [09:10] Corren has joined the channel [09:10] metellus has joined the channel [09:11] nforgerit has joined the channel [09:11] DrMcKay: Gabe_: it seems like something fails during signing your request [09:12] Gabe_: Right. Any idea what that might be? [09:14] onethirtyfive has left the channel [09:15] pgherveou has joined the channel [09:16] deejay1 has joined the channel [09:18] thinkling has left the channel [09:19] DrMcKay: Gabe_: sorry, I haven't used node OAuth before. I'll look into it, but I'm quite busy now [09:19] Gabe_: No worries, then. Thanks much. [09:22] neilk_ has joined the channel [09:22] burningdog has joined the channel [09:23] Gabe_: If you guys could take a second to upvote the SO post, it'd help someone with experience find it - and I'd very much appreciate it. [09:24] madsleejensen has joined the channel [09:25] blup has joined the channel [09:27] jetienne has joined the channel [09:29] node_bro has joined the channel [09:29] k1ttty has joined the channel [09:31] node_bro: has anybody been able to get js-coverage to compile on FreeBSD 8.2? [09:33] irahgel has joined the channel [09:35] MrGoodbyte has joined the channel [09:35] minorblen has joined the channel [09:36] crescendo|laptop has joined the channel [09:36] crescendo|laptop has joined the channel [09:37] pgherveo_ has joined the channel [09:38] markwubben has joined the channel [09:38] ptlo has joined the channel [09:43] FireFly|n900 has joined the channel [09:45] cosmincx has joined the channel [09:46] fangel has joined the channel [09:48] copongcopong has joined the channel [09:48] daed has joined the channel [09:49] TheCode has joined the channel [09:49] timing has left the channel [09:50] sveimac has joined the channel [09:52] hellp has joined the channel [09:53] Gabe_: Second and last time. Just need a few upvotes: http://stackoverflow.com/questions/7518795/instapaper-api-javascript-xauth [09:53] mpavel has left the channel [09:55] sveimac has joined the channel [09:56] jetienne has joined the channel [09:57] robi42 has joined the channel [09:58] admc has joined the channel [10:05] errordeveloper has joined the channel [10:05] copongcopong has joined the channel [10:06] sveimac has joined the channel [10:07] zomgbie has joined the channel [10:07] innociv: on socket.io is there a way to tell how many users are on a room? Of course I can room.count++; when I do socket.join(room.name);, but people may leave a room by disconnecting rather than by a command that would -- it. [10:07] innociv: Or is there an event when a socket disconnects from a room? [10:08] `3rdEden: innociv there is no easyway for that [10:08] innociv: That's a big shame... [10:08] `3rdEden: but that doesn't mean it's not possible ;) [10:08] innociv: I have a ++ and -- but it's getting stuck when people disconnect. [10:08] MrTopf has joined the channel [10:08] innociv: on disconnect can I at least loop over to see what rooms the socket is in? [10:09] `3rdEden: you can patch socket.io to have that functionality [10:09] `3rdEden: lemme dig up a example [10:09] innociv: but then when I update to a new version..? [10:09] aron_ has joined the channel [10:10] innociv: Another way to do it is having objects keeping track of room joins and iterating over that on disconnect.. [10:10] `3rdEden: https://github.com/3rd-Eden/Socket.IO-node/compare/master...features%2Froom [10:11] `3rdEden: ^ that branch adds .rooms property to your clients [10:11] `3rdEden: and emits join / leave events [10:12] innociv: no documentation? [10:12] hebz0rl has joined the channel [10:12] dmkbot has joined the channel [10:12] `3rdEden: github branches don't have documentation ;)? [10:13] innociv: I'm worried aobut what's going to happen when I updated socket.io. I'm just using the npm version of it now. [10:13] `3rdEden: and the branch isn't fully completed yet, or I would have created a pull req for it [10:14] innociv: I hate to patch things like that. I prefer things running on top of so they'll still more likely work when what's underneith changes [10:15] DrMcKay: innociv: pull request your patch, then it may get into the core [10:16] r04r has joined the channel [10:16] innociv: Well, yeah, I'd like onJoin onLeave events patched into socket.io core. :p Makes lots of sense. [10:18] kuebk: can't build using branch master [10:18] kuebk: getting an error while building uv [10:20] `3rdEden: innociv it won't land untill we are able to blacklist events [10:20] `3rdEden: as users can do socket.emit('join') from the client side [10:20] `3rdEden: making you think, that you are joining a room [10:20] `3rdEden: same for socket.emit('leave') [10:21] Margle has joined the channel [10:21] DrMcKay: kuebk: I can reproduce [10:22] innociv: I mean onJoin and onLeave on the server. [10:22] innociv: when you do socket.join('room') [10:22] DrMcKay: kuebk: this: "{task: uv uv.h -> uv.a}" ? [10:22] kuebk: yea [10:22] kuebk: src/unix/tty.c: In function �uv_tty_get_winsize�: [10:22] kuebk: src/unix/tty.c:78: error: storage size of �ws� isn�t known [10:22] kuebk: src/unix/tty.c:80: warning: implicit declaration of function �ioctl� [10:22] kuebk: src/unix/tty.c:80: error: �TIOCGWINSZ� undeclared (first use in this function) [10:22] kuebk: src/unix/tty.c:80: error: (Each undeclared identifier is reported only once [10:22] kuebk: src/unix/tty.c:80: error: for each function it appears in.) [10:22] kuebk: src/unix/tty.c:78: warning: unused variable �ws� [10:23] `3rdEden: innociv thats what i'm talking about [10:23] DrMcKay: kuebk: yup, that would be it [10:23] DrMcKay: kuebk: give me a sec [10:24] onre: TIOCGWINSZ sounds like something from ncurses [10:24] onre: or something terminal-related anyway [10:24] kuebk: seems like last libuv upgrade [10:24] kuebk: fucked up this [10:25] DrMcKay: it's from termcap, I believe [10:26] kuebk: btw [10:26] fermion has joined the channel [10:26] kuebk: how can i switch git repo [10:27] kuebk: to a past commit? [10:27] DrMcKay: kuebk: git checkout [10:27] DrMcKay: kuebk: or, git checkout HEAD^ for one up, HEAD^^ for two up, etc. [10:27] DrMcKay: yup, libuv itself doesn't build as well [10:29] DrMcKay: we have to inclue linux/ioctl.h [10:29] DrMcKay: give me a sec, I'll fix it and PR [10:29] DrMcKay: but no, wait [10:30] DrMcKay: no linux/ioctl.h, we have to support BSDs, etc. [10:30] konobi: #include [10:31] DrMcKay: yup [10:31] DrMcKay: that's what c-ares does [10:32] DrMcKay: compiles now [10:32] kuebk: are you going to pull request DrMcKay? [10:32] jetienne has joined the channel [10:32] DrMcKay: kuebk: yup (unless someone else wants to :D) [10:33] kuebk: do it, otherwise i'll [10:33] DrMcKay: hardcore forking action in progress [10:36] kuebk: is there a way to run a single test instead of all? [10:36] copongcopong has joined the channel [10:37] sharkbird has joined the channel [10:37] trevogre has joined the channel [10:39] DJBouche has joined the channel [10:40] DrMcKay: pull requested [10:40] DrMcKay: https://github.com/joyent/libuv/pull/198 [10:42] DrMcKay: lol [10:42] DrMcKay: indutny did the same 5 minutes ago [10:42] DrMcKay: I'm closing mine [10:43] devaholic: da'awww [10:44] jldbasa has joined the channel [10:49] cjroebuck has joined the channel [10:50] FireFly has joined the channel [10:55] copongcopong has joined the channel [11:01] jetienne has joined the channel [11:03] fly-away has joined the channel [11:04] ph^ has joined the channel [11:04] FireFly|n900 has joined the channel [11:04] FireFly|n900 has joined the channel [11:06] pgherveou has joined the channel [11:08] pgherveou has joined the channel [11:11] indutny: DrMcKay: hehe [11:11] indutny: sorry [11:12] max_dev has joined the channel [11:14] DrMcKay: indutny: :). you were faster, nothing to apologize for [11:16] madsleejensen1 has joined the channel [11:16] DrMcKay_ has joined the channel [11:18] Vennril has joined the channel [11:18] andrewfff has joined the channel [11:18] wmage has joined the channel [11:18] sreeix has joined the channel [11:20] sreeix has joined the channel [11:25] murilobr has joined the channel [11:26] jbpros has joined the channel [11:27] icebox has joined the channel [11:28] jetienne has joined the channel [11:29] Shrink has joined the channel [11:29] Shrink has joined the channel [11:32] ditesh|cassini has joined the channel [11:32] darren has joined the channel [11:33] medice: i have very mystic problem with mongoose [11:34] medice: i have an auth module, and from app.js it is inspected to be correct too, which has a login method, but when called, it instead calls my UserSchema.statics.auth method in completely different module, which should only add the method to user model.. [11:35] kuebk: how can i check which commits [11:35] mikl has joined the channel [11:35] kuebk: i want to pull? [11:36] brianseeders has joined the channel [11:37] stonebranch has joined the channel [11:37] medice: oh well, i guess i'll forget mongoose and use something else [11:39] eee_c has joined the channel [11:40] robi42 has joined the channel [11:42] Xano has joined the channel [11:42] pickels has joined the channel [11:45] akiva has joined the channel [11:46] DrMcKay: kuebk: huh? [11:47] scott_gonzalez has joined the channel [11:47] pandeiro has joined the channel [11:48] _kud has joined the channel [11:50] FIQ|screen has joined the channel [11:51] kuebk: DrMcKay [11:51] kuebk: i have commited some files to branch master [11:52] kuebk: now i've created a new branch [11:52] kuebk: and when i want to pull request [11:52] kuebk: github wants to include commits from master and branch [11:52] Frippe has joined the channel [11:53] adnam: kuebk: if the new branch has master as its parent that makes sense [11:56] eschnou has joined the channel [11:56] DrMcKay: kuebk: you want to pull request two branches at once? [11:56] schwab has joined the channel [11:56] temp01 has joined the channel [11:58] pgherveo_ has joined the channel [11:59] captnswing has joined the channel [12:00] shipit has joined the channel [12:02] DrMcKay: kuebk: create third branch and merge those 2 branches there [12:03] kain has joined the channel [12:04] ericography has joined the channel [12:04] wbednarski has joined the channel [12:06] nyholt has joined the channel [12:08] edwardmsmith has joined the channel [12:08] Glenjamin: at the top of the pull request you can change what you're asking to merge [12:09] Glenjamin: it will try and merge any commits on the ref you give it that aren't on the target ref [12:09] dob_ has joined the channel [12:09] davidbanham has joined the channel [12:09] MATTY has joined the channel [12:10] MATTY: Hey guys, is it possible to get XAuth working using the OAuth module? [12:10] MATTY: Or no? [12:11] Juan77 has joined the channel [12:12] asdfasdfasdf has joined the channel [12:12] V1 has joined the channel [12:12] grekko has joined the channel [12:12] nyholt: My manager is pushing Ext.js4 as our next clientside MVC, while I feel more confident with Backbone.js. What would you choose and why? Sorry for being offtopic... [12:13] asdfasdfasdf: Hey guys, is it possible to get XAuth working using the OAuth module? [14:10] Or no? [12:14] `3rdEden: you can better ask your self, why on earth is your manager deciding what framework you should use nyholt [12:14] `3rdEden: unless he is also coding.. [12:15] nyholt: `3rdEden: yeah he's technically involved.. but only on the sideline. He's attracted to Ext because of the company backing it (Sencha) and the fancy widgets. [12:16] jomoho has joined the channel [12:16] nyholt: I told him that Ext provides everything but is hard to 'tame', while Backbone provides a lightweight dont-get-in-the-way-style approach... [12:18] jtsnow has joined the channel [12:19] spcshpopr8r has joined the channel [12:19] Glenjamin: have you established what you need from such a framework? [12:20] Glenjamin: unless you figure out what you need, you can't really evaluate the options effectively [12:20] AphelionZ has joined the channel [12:21] dylang has joined the channel [12:22] nyholt: We need clientside MVC which can persist through REST, clientside templating, and an iGoogle type of 'dashboard' widget. (which is provided by Ext but also by jQuery UI) - that's about it [12:23] nyholt: Basically we're converting a "90% django 10% html"-type of app to a "90% javascript, 10% django/REST" style app. [12:24] kuebk: tbg [12:24] kuebk: tbh* [12:24] kuebk: i would like to create a new branch in my repo based on master branch in node repo [12:24] CarterL has joined the channel [12:25] DrMcKay: kuebk: `git checkout master && git checkout -b whatever-name` [12:25] DrMcKay: kuebk: if you haven't changed master [12:25] kuebk: the problem is [12:25] kuebk: i have [12:25] DrMcKay: kuebk: not a problem :) [12:25] patrickgamer has joined the channel [12:26] DrMcKay: kuebk: did you add an origin pointing to joyent/node? [12:26] kuebk: ofc [12:26] DrMcKay: s/origin/remote/ [12:26] kuebk: kuebk@czupakabra:/home/httpd/vhosts/node-kubek$ git remote -v [12:26] kuebk: node git://github.com/joyent/node.git (fetch) [12:26] kuebk: node git://github.com/joyent/node.git (push) [12:26] kuebk: origin git@github.com:kuebk/node.git (fetch) [12:26] kuebk: origin git@github.com:kuebk/node.git (push) [12:26] DrMcKay: k, great [12:27] DrMcKay: then: `git checkout node/master && git checkout -b new-branch-name` [12:29] zomgbie has joined the channel [12:29] patrickgamer has left the channel [12:30] DrMcKay: did anyone manage to replicate isaacs' npm registry? [12:30] kuebk: fuck yea [12:30] kuebk: thx [12:30] DrMcKay: I'm getting "{"error":"json_encode","reason":"{bad_term,{nocatch,{invalid_json,<<>>}}}"}" after 2234 documents [12:30] DrMcKay: kuebk: :) [12:30] kuebk: other question [12:30] erichynds has joined the channel [12:31] kuebk: how can i revert my master branch [12:31] k1ttty has joined the channel [12:31] kuebk: to be 1:1 with node/master? [12:31] grekko has joined the channel [12:31] fumanchu182 has joined the channel [12:31] DrMcKay: kuebk: I think it's `git checkout master && git rebase node/master` [12:31] DrMcKay: kuebk: or wait, maybe not [12:32] DrMcKay: give me a sec [12:32] kuebk: i'm a nub if it is about git [12:34] eldios has joined the channel [12:35] DrMcKay: kuebk: in your master branch: `git reset --hard node/master` [12:35] DennisRasmussen has joined the channel [12:36] V1 has joined the channel [12:36] kuebk: kuebk@czupakabra:/home/httpd/vhosts/node-kubek$ git reset --hard node/master [12:36] kuebk: HEAD is now at 8fe5712 fs watcher binding [12:36] kuebk: kuebk@czupakabra:/home/httpd/vhosts/node-kubek$ git push [12:36] kuebk: To git@github.com:kuebk/node.git [12:36] kuebk: ! [rejected] master -> master (non-fast-forward) [12:36] kuebk: error: failed to push some refs to 'git@github.com:kuebk/node.git' [12:36] kuebk: To prevent you from losing history, non-fast-forward updates were rejected [12:36] kuebk: Merge the remote changes (e.g. 'git pull') before pushing again. See the [12:36] kuebk: 'Note about fast-forwards' section of 'git push --help' for details. [12:36] mklappstuhl has joined the channel [12:36] DrMcKay: kuebk: git push --force [12:37] eldios has joined the channel [12:37] kuebk: thank you very much [12:39] eldios_ has joined the channel [12:40] jetienne has joined the channel [12:42] davidsklar has joined the channel [12:42] aron_ has joined the channel [12:42] chia has joined the channel [12:44] mike5w3c_ has joined the channel [12:45] xetorthio has joined the channel [12:46] hynek has joined the channel [12:48] thomblake has joined the channel [12:48] thomblake has left the channel [12:51] jetienne has joined the channel [12:53] pickels has joined the channel [12:56] xDelph has joined the channel [12:56] xDelph: hi guys [12:57] xDelph: any one use node websocket and and node websocket-server ?? i have a problem [12:57] Bwen has joined the channel [12:58] xDelph: when a client use the websocket connexion, all the client on websocket-client connexion crashed, anyone? [12:58] `3rdEden has joined the channel [12:58] Bwen: anyone knows a framework that is a full MVC js client-side tided in with node.js ? [12:59] kriszyp has joined the channel [12:59] sam__ has joined the channel [12:59] wenbert_ has joined the channel [13:00] infynyxx has joined the channel [13:01] wenbert_ has left the channel [13:03] deedubs has joined the channel [13:03] bzinger has joined the channel [13:04] ph^_ has joined the channel [13:07] xDelph has left the channel [13:07] mehtryx has joined the channel [13:07] Margle_ has joined the channel [13:07] lazyshot has joined the channel [13:08] lazyshot has joined the channel [13:09] mehtryx has left the channel [13:13] OmidRaha has joined the channel [13:13] chia has joined the channel [13:14] misterncw has joined the channel [13:14] c4milo1 has joined the channel [13:14] Effilry has joined the channel [13:16] DrMcKay_ has joined the channel [13:17] wbednarski has joined the channel [13:18] cole_gillespie has joined the channel [13:19] broofa has joined the channel [13:19] Shrink has joined the channel [13:19] Shrink has joined the channel [13:21] Effilry has joined the channel [13:21] denom has joined the channel [13:22] SargoDarya has joined the channel [13:24] aconbere has joined the channel [13:24] SargoDarya: Hey guys, does someone of you know how I could do something like a private chat with socket.io? My problem is that I don't currently know how I can speak to the socket of one player. [13:24] medice: socket.emit i imagine [13:25] medice: socket being the socket instance of that particular player [13:25] SargoDarya: Ok, so I have to store those sockets in a list I guess [13:25] medice: that would be likely [13:25] SargoDarya: and look them up by the handshake [13:26] mandric has joined the channel [13:26] dmkbot has joined the channel [13:26] adambeynon has joined the channel [13:29] luke` has joined the channel [13:31] medice: also, #socket.io [13:31] kulor-uk_ has joined the channel [13:31] Twelve-60` has joined the channel [13:32] bobbylove has joined the channel [13:32] madsleejensen has joined the channel [13:33] gjohnson has joined the channel [13:34] daleharvey has joined the channel [13:34] gjohnson_ has joined the channel [13:34] justicefries has joined the channel [13:34] aheckmann has joined the channel [13:34] rfay has joined the channel [13:34] bobbylove: Quick help please: I am trying to connect to #nodejs IRC using piding. what irc server should I use? [13:34] whoops has joined the channel [13:35] sonnym has joined the channel [13:35] Industrial: bobbylove: it's #node.js and use irc://irc.freenode.net [13:35] bobbylove: *pidgin rather. when I connected using niven.freenode.net there were only 10 people in the room [13:35] bobbylove: danka. thanks!!! [13:35] jldbasa has joined the channel [13:37] evilchelu has joined the channel [13:37] evilchelu has left the channel [13:38] darinc has joined the channel [13:39] luke` has joined the channel [13:39] adambeynon has joined the channel [13:41] jakehow has joined the channel [13:41] CIA-54: node: 03Ben Noordhuis 07master * r9ad3340 10/ wscript : build: explicitly link in libz on non-win32 platforms - http://git.io/qeJXrw [13:41] ditesh|cassini has joined the channel [13:42] kawaz_h has joined the channel [13:43] darren has joined the channel [13:44] darren has joined the channel [13:45] groom: hi. i have a memory leak in my server and need to find it. can i get the exact present memory consumption of my server process? and what ressources could possibly need to be freed? i use jsdom and i spawn a process for each request. the version is 0.4.10. [13:45] jvolkman has joined the channel [13:45] kain: groom, I use console.log(util.inspect(process.memoryUsage())); [13:46] `3rdEden has joined the channel [13:47] ph^ has joined the channel [13:47] pickels has joined the channel [13:47] davidbanham has joined the channel [13:48] Tham has joined the channel [13:48] Tham: I am facing lot of issue for set up node in windows machine [13:48] Tham: Is there any clear document to follow? [13:49] devongovett has joined the channel [13:50] ksheurs has joined the channel [13:51] robotmay_ has joined the channel [13:51] dylang has joined the channel [13:51] tomh has joined the channel [13:52] ap3mantus has joined the channel [13:52] cjm has joined the channel [13:53] Poetro has joined the channel [13:53] Poetro has joined the channel [13:54] sfoster has joined the channel [13:55] DrMcKay has joined the channel [13:56] groom: kain, thank you. it confirms what i thought. each request increases all of the shown values by ~3mb [13:57] Glenjamin: i'd imagine JSdom is a major candidate [13:57] mikl has joined the channel [13:58] JakeyChan has joined the channel [13:58] Glenjamin: if you keep a reference around to the created DOM in some way it wont be GCed [13:58] cosmincx has joined the channel [13:59] rootslab has joined the channel [14:00] c4milo1: aheckmann: yt? [14:00] joshkehn has joined the channel [14:01] felixge has joined the channel [14:01] felixge has joined the channel [14:01] stash1 has joined the channel [14:03] Poetro_ has joined the channel [14:03] Poetro_ has joined the channel [14:04] bwinton has joined the channel [14:06] CarterL has joined the channel [14:07] yept has joined the channel [14:07] sonnym has joined the channel [14:07] aheckmann: c4milo1 yup [14:07] piscisaureus has joined the channel [14:07] mklappstuhl has joined the channel [14:08] piscisaureus_ has joined the channel [14:09] c4milo1: aheckmann: I'm having an issue querying a Model with {myid: {$in: [undefined]}}, a CastError in string.js line 130 [14:10] herbySk has joined the channel [14:10] c4milo1: aheckmann: sorry, not a castError, it's an exception tryting to undefined.toString [14:10] aheckmann: c4milo1 gotcha, yeah theres no check for that yet [14:10] aheckmann: surprised its never come up before [14:11] EagleCoder has joined the channel [14:11] c4milo1: aheckmann: yeah, so do you want me to fill out an issue or you got it? [14:11] aheckmann: i got it [14:11] aheckmann: thanks man [14:12] c4milo1: aheckmann: np [14:13] mbrevoort has joined the channel [14:13] dantalizing has joined the channel [14:14] robhawkes has joined the channel [14:14] mbrevoort has joined the channel [14:15] wunderboi has joined the channel [14:16] torsd has joined the channel [14:17] brianc has joined the channel [14:17] kuebk: is there a way i can take existing node.js library like http [14:17] kuebk: take all of it exports [14:17] kuebk: and add own methods? [14:18] DrMcKay: kuebk: require('http').ownMethod = function () { ... } [14:18] kuebk: ok there is [14:18] DrMcKay: kuebk: it shoud persist between requires [14:18] kuebk: you need to extend using module.exports [14:18] aheckmann: c4milo1 this means we're going to throw a CastError instead of the "toString of undefined" [14:19] aheckmann: so either way :) [14:19] xerox: foo.js: var http = require('http'); module.exports = http; http.foo = ...; ... [14:19] xerox: right [14:19] ditesh|cassini has joined the channel [14:19] kuebk: yup [14:20] stash2 has joined the channel [14:20] copongcopong has joined the channel [14:20] c4milo1: aheckmann: yeah hehe, it will be more informative at least [14:20] aheckmann: yeah [14:21] c4milo1: aheckmann: so, in general, mongoose doesn't allow undefined values for everything or just specific cases? [14:21] N0va` has joined the channel [14:21] skm has joined the channel [14:22] N0va` has joined the channel [14:22] Xeon06_ has joined the channel [14:22] Xeon06_: Hey guys [14:23] saesh has joined the channel [14:23] Xeon06_: I was wondering if there was a standard yet for where to put node files on Linux? [14:23] wunderboi: hello [14:23] wunderboi: I will try linking on linux now too [14:24] darren has left the channel [14:24] CoverSlide: Xeon06_: node files as in apps? [14:24] Xeon06_: CoverSlide: Yes, sorry. As in a complete node app that I would like to run [14:25] skm has joined the channel [14:25] Xeon06_: For example, if I had a PHP app, it would usually be around /var/www [14:25] Xeon06_: I'm not the most experienced Linux user and as such am just wondering where exactly to put them [14:25] MooGoo: /home/usernname/someproject/*.js [14:26] aelien27 has joined the channel [14:26] aheckmann: c4milo1 just specific cases. i'm looking to see why i haven't seen anything b/c of string casting before [14:26] Xeon06_: MooGoo: Thanks. That's what I'm doing atm. I'll just keep doing that then1 [14:26] CoverSlide: well, depending on which version of LSB your distro supports, either in /srv or /var [14:27] MooGoo: central directories are for apache [14:27] shanebo has joined the channel [14:27] CoverSlide: for those you want but if you want something running on startup from root, I'd rather it keep out of my user directories [14:28] CoverSlide: I tend to not use /root [14:28] jetienne has joined the channel [14:28] MooGoo: but no server needs to be running to use node [14:28] MooGoo: is all [14:29] CoverSlide: just my personal preference [14:29] junkee[] has joined the channel [14:29] Xeon06_: So it's a subjective topic then [14:30] MooGoo: its pretty arbitrary [14:30] lz has joined the channel [14:30] lz has joined the channel [14:30] MooGoo: but why stuff it in some arbitrarily deep cryptic path [14:31] CoverSlide: how is /srv/node/app more cryptic than /home/username/nodeapps/app [14:33] MooGoo: I like to think of that path as ~/nodeapps [14:33] CoverSlide: to the user, yes [14:34] CoverSlide: but if you want your app to run via upstart / init.d / cron / etc. [14:34] stash1 has joined the channel [14:34] MooGoo: yes? [14:34] CoverSlide: then it's no longer ~/nodeapp [14:35] MooGoo: how awful [14:37] fatjonny has joined the channel [14:40] Xeon06_ has joined the channel [14:41] shanebo: hey guys what's the simplest way to save a file to the file system through a post? [14:41] jdparker has joined the channel [14:41] JasonJS has joined the channel [14:42] unomi has joined the channel [14:43] dylang has joined the channel [14:43] joshkehn: shanebo: You mean like a file upload? [14:44] shanebo: joshkehn yes a jpg [14:44] hornairs has joined the channel [14:44] joshkehn: I have good luck with node-formidable. (https://github.com/felixge/node-formidable) [14:44] skm has joined the channel [14:45] shanebo: yeah I've looked into that [14:46] shanebo: I'm using enctype="application/json" on my form… is there not a way to avoid using a module? [14:46] joshkehn: You could always write your own. [14:47] ryanmcgrath has joined the channel [14:49] ceej has joined the channel [14:50] EyePulp has joined the channel [14:50] Xeon06_ has joined the channel [14:51] CoverSlide: form only takes two possible arguments for enctype [14:51] zipR4ND has joined the channel [14:51] CoverSlide: if you want something other than application/www-form-urlencoded multipart/form-data, you need to use ajax [14:51] Glenjamin: I don't even see why it's part of the HTML [14:51] hydrozen has joined the channel [14:52] Glenjamin: you'd think the user agent could figure it out based on if it has a file or not [14:52] CoverSlide: it's a shitty part of the spec [14:52] zipR4ND: hi all, trying to build nodejs on freebsd-arm with armv5t and no EABI available, is there any way to do that? [14:52] skm has joined the channel [14:52] hydrozen: is there an equivalent of the Chronic gem for NodeJS? (natural language date stuff..) [14:53] CoverSlide: maybe date.js [14:53] cying has joined the channel [14:53] er1c_ has joined the channel [14:54] CoverSlide: http://www.datejs.com/ <-- works in browser, monkeypatches date object, im sure there's a node module for it [14:54] jonrohan has joined the channel [14:54] JakeyChan has joined the channel [14:54] Glenjamin: does it use the GNU date parsing syntax rules? [14:54] CoverSlide: although this says it works ootb: http://stackoverflow.com/questions/6147532/has-anyone-used-the-excellent-date-js-library-inside-node-js [14:54] whitman: What's the best way to load 'plugin' type files, that would still have access to objects created in the main app file? [14:55] wbednarski has joined the channel [14:55] CoverSlide: Glenjamin: you mean like %m/%d/%y ? [14:55] Glenjamin: no, i mean the syntax from php's strtotime - which is actually specced somewhere [14:56] Glenjamin: but I'm having trouble finding the spec now... [14:56] sub_pop has joined the channel [14:56] Glenjamin: http://www.gnu.org/software/automake/manual/tar/Date-input-formats.html [14:56] Glenjamin: this one [14:56] CoverSlide: seems like it supports this: alert(d1.toString('dddd, MMMM d, yyyy')); [14:57] CoverSlide: oh [14:57] Glenjamin: chronic is a ruby gem which does a similar job to php's strtotime, takes human dates and makes them timestamps [14:57] xerox: https://developer.mozilla.org/en/JavaScript/Reference/ [14:57] xerox: :x [14:57] tokumine has joined the channel [14:57] patrickgamer has joined the channel [14:58] CoverSlide: well datejs is popular, tons of people use it, not one I've used, but I see people asking questions about it all the time [14:58] xerox: I like the Date object [14:59] Glenjamin: to go from an arbitrary string -> Date object is non-trivial [14:59] Glenjamin: also, the date object is awful [14:59] skm has joined the channel [14:59] patrickgamer has left the channel [15:00] Glenjamin: terrible API for UTC vs local, and zero-indexed months [15:00] Venom_X has joined the channel [15:00] hydrozen: sudo npm install datejs [15:00] Glenjamin: and no strftime [15:00] CoverSlide: agreed [15:00] kmiyashiro has joined the channel [15:01] adambeynon has joined the channel [15:02] jaequery has joined the channel [15:02] zemanel has joined the channel [15:03] ap3mantus has joined the channel [15:04] smathy has joined the channel [15:05] jspiros has joined the channel [15:05] Xeon06_ has joined the channel [15:06] gazumps has joined the channel [15:06] davidascher has joined the channel [15:07] meso has joined the channel [15:07] darinc has joined the channel [15:08] robertfw has joined the channel [15:08] TheJH_phone has joined the channel [15:09] colinclark has joined the channel [15:09] jvdev has joined the channel [15:10] tilgovi has joined the channel [15:10] tilgovi has joined the channel [15:10] tjholowaychuk has joined the channel [15:10] tjholowaychuk has joined the channel [15:10] Xeon06_ has joined the channel [15:13] k1ttty has joined the channel [15:15] aconbere has joined the channel [15:15] Xeon06_ has joined the channel [15:16] thinkt4nk has joined the channel [15:17] Renegade001 has joined the channel [15:19] gxdssoft has joined the channel [15:21] danmactough has joined the channel [15:22] knifed has joined the channel [15:22] KaL has joined the channel [15:22] knifed_ has joined the channel [15:23] BillyBreen has joined the channel [15:24] martinisoft has joined the channel [15:24] BillyBreen has joined the channel [15:25] Xeon06_ has joined the channel [15:25] eee_c has joined the channel [15:26] Vertice has joined the channel [15:28] knifed has joined the channel [15:30] smus has joined the channel [15:30] Xeon06_ has joined the channel [15:30] harthur has joined the channel [15:30] c4milo1: aheckmann: man, I've trying to combine two documents from different Models any suggestion? [15:31] tekky has joined the channel [15:31] c4milo1: aheckmann: I noticed that if I added properties to either of them, those properties are non enumerable [15:33] TheJH_phone has joined the channel [15:33] TheJH_phone has joined the channel [15:33] Fabryz has joined the channel [15:33] Dracko has joined the channel [15:34] Corion has joined the channel [15:34] sivy has joined the channel [15:35] softdrink has joined the channel [15:35] Corion: Hi all! I am writing some object/method reflection for node.js, and wanted to know if there is a way to convert a synchronous function call into an RPC function call in node.js. [15:35] brianc has joined the channel [15:36] Corion: Basically, I want to fetch the result of a function with a synchronous API (say, "window.alert()") via socket communication from a remote process (think test automation through an external process) [15:36] caolanm has joined the channel [15:36] N0va` has joined the channel [15:36] kuebk: how can i install npm package [15:36] Corion: Does node.js have any primitives for that (threads, coroutines/continuations)? Or is that just not possible? [15:36] N0va` has joined the channel [15:37] meso has joined the channel [15:37] kuebk: if it is only on my file system [15:37] DrMcKay: kuebk: npm install [15:37] kuebk: i mean i would like npm to read package.json and install package to node_modules [15:38] kuebk: hmm [15:38] kuebk: was doing npm install from that dir [15:38] kuebk: :( [15:39] Spion has joined the channel [15:39] trevogre has joined the channel [15:42] begemoth has joined the channel [15:43] begemoth has left the channel [15:43] harthur has joined the channel [15:45] Xeon06_ has joined the channel [15:46] danmactough: kuebk: doing it from that directory installs that packages dependencies [15:47] herbySk has joined the channel [15:47] danmactough: do npm install from the location where your node_modules directory is [15:47] kurtzhong has joined the channel [15:47] danmactough: or where you want it to be [15:50] Xeon06_ has joined the channel [15:51] denom has left the channel [15:52] TheJH has joined the channel [15:52] TheJH has joined the channel [15:55] dob_ has joined the channel [15:55] Xeon06_ has joined the channel [15:57] smtlaissezfaire has joined the channel [15:57] guillermo has joined the channel [15:59] pietern has joined the channel [15:59] Dracko: what is the way to go Socket.io (for websockets) or Faye (for the bayeux protocol) [15:59] kurtzhong_ has joined the channel [16:00] stelleg has joined the channel [16:00] jonrohan has joined the channel [16:00] jonrohan has joined the channel [16:00] Xeon06_ has joined the channel [16:00] muspelhe has joined the channel [16:01] tmcw has joined the channel [16:02] CoverSlide: bayeux protocol? [16:02] halcyon918_ has joined the channel [16:02] pizthewiz has joined the channel [16:03] markdaws has joined the channel [16:03] levi: Dracko: socket.io is more flexible with regard to the interaction styles you can use, while Faye is tied to the pub/sub model. [16:04] levi: CoverSlide: bayeux is the Dojo/CometD protocol, and Faye is the node.js implementation of it. [16:05] CoverSlide: how's it compare to websockets? [16:05] Dracko: ty levi, what i want to make is an app that receives a url, scraps some information and sends it back to the user [16:06] levi: They're both abstraction layers over the top of different transport mechanisms. [16:06] levi: So they'll use websockets if they're enabled and supported. [16:06] Dracko: so it opens a conection, and closes it after sending the response to the user after the scrapping has ocurred any ideas on how should i start? [16:06] pixel13 has joined the channel [16:06] pixel13 has left the channel [16:06] jacobwg has joined the channel [16:06] levi: Dracko: Why not use a regular AJAX request? [16:07] levi: socket.io and Faye are generally for longer connections where they server will need to push stuff to the client at some arbitrary times. [16:07] Dracko: i am new with node and i am exited with its rich features, why not use websockets? [16:07] kevmmmm has joined the channel [16:08] levi: Because websockets aren't for that kind of interaction. [16:08] levi: You would have to build your own request/response protocol inside of the websocket. [16:09] levi: We already have a nice request/response protocol that node.js is really good at, namely HTTP. [16:09] levi: Every browser supports it, unlike Websockets. [16:10] Dracko: and what is wrong in using websockets for that job [16:10] TheJH: levi, "You would have to build your own request/response protocol inside of the websocket." - maybe I'm missing context, but what about dnode? [16:10] Dracko: ok ty vm, ill try to get more information [16:11] levi: TheJH: He wants something that opens a connection and closes it after sending a response to the user that might be delayed a bit due to the work involved. [16:12] levi: Anything more than a regular AJAX call sounds way overkill for that. [16:12] Dracko: so i should just recive the url as a regular http request, scrapit and send an ajax response to the client [16:13] Dracko: sound simple, and how can i scale that to for example 100 req/s [16:13] murilobr has joined the channel [16:14] Corren has joined the channel [16:14] JakeyChan has joined the channel [16:14] paulwe_ has joined the channel [16:14] levi: Easier than if you were having to do a bunch of extra work setting up socket.io sessions. [16:15] levi: My proxy server is acting up, I will be idling. [16:16] jetienne has joined the channel [16:16] cpetzold has joined the channel [16:17] Dracko: ok ty vm levi [16:18] jchris has joined the channel [16:20] gxdssoft has joined the channel [16:20] eee_c has joined the channel [16:20] CIA-54: node: 03Igor Zinkovsky 07master * r66293f6 10/ lib/fs.js : fix spelling - http://git.io/xVSQeg [16:21] paulwe_ has joined the channel [16:21] torsd has joined the channel [16:21] CIA-54: libuv: 03Fedor Indutny 07master * r7ce34f2 10/ src/unix/tty.c : added missing headers file - http://git.io/YTHFIw [16:21] anveo has joined the channel [16:22] siculars has joined the channel [16:24] softdrink has joined the channel [16:26] jacobwg: I'm trying to keep a bash shell running and send its output to socket.io - any ideas? spawn and exec don't seem to work at all [16:26] jscheel has joined the channel [16:26] jacobwg: I've tried my own way of doing stuff as well as https://gist.github.com/947512/38f85051351fce46d0d4acdd59bd0c96a34ffa3a [16:26] jacobwg: still no luck [16:27] jacobwg: That gist requires modification to work with the latest socket.io, btw [16:27] asdf1234 has joined the channel [16:28] malkomalko has joined the channel [16:28] jomoho has joined the channel [16:28] eignerchris has joined the channel [16:29] yorick has joined the channel [16:30] yorick: Error: Parse Error [16:30] yorick: at Socket.ondata (http2.js:1349:22) (more backtrace for socket._onreadable)... I'm not even using http. what could this be caused by? [16:30] yorick: node v0.5.6 btw [16:31] CIA-54: libuv: 03Erick Tryzelaar 07master * r7e8645d 10/ (6 files in 4 dirs): [16:31] CIA-54: libuv: unix,win: Make uv_freeaddrinfo to clean up addrinfo [16:31] CIA-54: libuv: Fixes #196 - http://git.io/1iG-kA [16:31] anveo has joined the channel [16:32] jaequery: anybody here got a blog with some kind of custom artwork illustration done for it? like avatar or some kind of banner with their avatar on it? [16:33] davidascher has joined the channel [16:33] yorick: ok fixed it. [16:34] JaKWaC has joined the channel [16:35] devongovett has joined the channel [16:36] Aikar: anyone know how to make npm not ignore a symlink in a proj like node_modules/nope.js -> ../lib/nope.js. the tarball wont keep the symlink, i tried listing nope.js and nope inside of the bundledDependencies [16:37] Aikar: about ready to fork npm to remove the node_modules ignore code and then rebase to update ~.~ [16:37] neilk_ has joined the channel [16:38] patcito has joined the channel [16:38] smus has joined the channel [16:39] CIA-54: node: 03Fedor Indutny 07master * r1e37efb 10/ (3 files in 2 dirs): [16:39] CIA-54: node: initial tests [16:39] CIA-54: node: * Don't buffer command, before it's execution (repl) [16:39] CIA-54: node: * `quit` command, custom streams for .start, stubbed out test, disable [16:39] CIA-54: node: history repeation for non-tty (debugger) - http://git.io/VyJp9w [16:39] irahgel has left the channel [16:39] EagleCoder has joined the channel [16:39] yorick: ACTION was inheriting from http.Server by accident [16:41] ph^ has joined the channel [16:41] Frippe has joined the channel [16:42] josdehar has joined the channel [16:42] MrNibbles has joined the channel [16:43] robhawkes has joined the channel [16:45] MrTopf has joined the channel [16:45] erichynds has joined the channel [16:47] stisti has joined the channel [16:48] nibblebot has joined the channel [16:50] tokumine has joined the channel [16:54] alvaro_o has joined the channel [16:55] navaru has joined the channel [16:55] slifty has joined the channel [16:57] perezd has joined the channel [16:58] jj0hns0n has joined the channel [16:58] CIA-54: node: 03Ryan Dahl 07new-tty-binding * r9f879ce 10/ (src/node.js src/tty_wrap.cc): scope.Close in GuessHandleType; don't use uv_is_tty - http://git.io/pkgBzw [16:58] davidwalsh has joined the channel [16:59] gregpascale has joined the channel [17:00] Country has joined the channel [17:02] CIA-54: libuv: 03Ryan Dahl 07master * r03d0c57 10/ (include/uv.h src/unix/tty.c src/win/tty.c test/test-tty.c): Remove uv_is_tty. Use uv_guess_handle instead. - http://git.io/htcaEQ [17:03] anoop: is there dict in node.js? [17:03] towski has joined the channel [17:03] Corion: What would "dict" be? [17:04] anoop: something like a set or key=value type [17:04] anoop: like a map in c++ [17:04] Corion: Javascript uses objects for that: { "key": "value" } [17:04] anoop: okie [17:04] Corion: var dict = { "key1" : "value1" , ... } [17:05] anoop: so I can have an array of these objects right? [17:05] StanlySoManly has joined the channel [17:05] Corion: Yes [17:05] anoop: ok [17:06] anoop: so i have an array like this [17:06] ilikeit has joined the channel [17:07] brion has joined the channel [17:07] perezd: If I wanted to hire nodejs people, where would I start looking? [17:08] joshkehn: perezd: The IRC channel wouldn't be a bad place to start. [17:08] anoop: arr = [ "key1 : {"key11":"value11"}, "key2":{"key22":"value22"}] [17:08] anoop: Corion : ^ [17:08] Corion: Arrays don't have keys. [17:08] broofa has joined the channel [17:08] Corion: Also, I'm not sure if Javascript help is welcome on this channel [17:08] perezd: joshkehn: don't want to be a spammer :) [17:08] harthur has joined the channel [17:09] anoop: mm hum [17:09] dreamdust has left the channel [17:09] joshkehn: perezd: You could also try hitting the people on stackoverflow careers. [17:09] yozgrahame has joined the channel [17:10] perezd: you feel nodejs people hang there? [17:10] perezd: if anyone in there room is looking to work on a nodejs team, in palo alto ca area, PM me [17:10] joshkehn: Just look at the top-rated users for the node.js tag. [17:10] joshkehn: ACTION wonders why no one is ever in NYC [17:11] nail_: also, on nodejobs.com you can post for free [17:13] Aikar: http://www.internetpulse.net/ [17:13] Aikar: the internet is very upset right now [17:13] Aikar: 12.5% packet loss from Sprint to NTT [17:13] Aikar: and 145ms latency [17:14] joshkehn: Shit. [17:14] joshkehn: And that's a cool page. [17:14] liveink has joined the channel [17:14] lz: aikar: wow [17:14] Aikar: yeah i always check it when i see random mass connection drops, which i just had like 15 people disconnect from my irc network [17:14] Aikar: (not a netsplit) [17:15] klaustopher has joined the channel [17:15] creationix has joined the channel [17:15] klaustopher has left the channel [17:15] k1ttty has joined the channel [17:15] jtsnow has joined the channel [17:16] xerox has joined the channel [17:16] Aikar: i wonder if sprint is being DDOS'd due to the bandwidth cap on hotspot! [17:16] mrkurt has joined the channel [17:16] sstephenson has joined the channel [17:16] couchquid has joined the channel [17:16] Aikar: yeah getting connection timed out on my sprint phone lol... [17:17] Aikar: http://www.internetpulse.net/Main.aspx?OriginValue=Sprint&OriginLevel=1 [17:17] trotter has joined the channel [17:17] Aikar: 25% packet loss on new york tier [17:18] pizthewiz_ has joined the channel [17:18] aconbere has joined the channel [17:18] gr-eg has joined the channel [17:18] r04r has joined the channel [17:18] cognominal has joined the channel [17:18] guillermo has joined the channel [17:19] ceej: anyone using kue in production and if so how many request are you processing a day? [17:19] CIA-54: libuv: 03Ryan Dahl 07master * ree96a4c 10/ (README.md README): Add link to docs - http://git.io/vB35zA [17:20] tjholowaychuk: ceej slightly vague question [17:20] tjholowaychuk: jobs vary in sizes [17:20] smathy_ has joined the channel [17:20] tjholowaychuk: we have some that take 10+ minutes [17:20] cpetzold has joined the channel [17:21] CIA-54: libuv: 03Ryan Dahl 07master * rc226896 10/ README.md : Fix markdown headers in readme - http://git.io/HNMP_w [17:21] dguttman has joined the channel [17:21] Morkel has joined the channel [17:22] levi501d has joined the channel [17:22] ceej: tjholowaychuk: I ask because I want to use it for our queuing and someone else wants to use rabbitmq which they showed https://github.com/tnc/php-amqplib to the other people on the team… under note you see "We use it daily in prod for sending/consuming 600K + messages per day." so they are leaning towards it because of that…. so I just wanted to see if there were any stats out there for kue [17:22] isaqual has joined the channel [17:23] ryanj has joined the channel [17:23] tjholowaychuk: ceej gotcha, not much stat-wise it's really new, so it's hard to say, and like i said it _really_ depends on the size of the jobs [17:23] tjholowaychuk: and how many workers you have etc [17:24] TooTallNate has joined the channel [17:24] smus has joined the channel [17:25] medice: any good libraries built on top of socketio to help with chat/game rooms? [17:25] lz: medice, nowjs.com [17:25] TheJH: not nowjs! [17:25] TheJH: medice, use dnode [17:25] jesusabdullah: medice: dnode and hook.io as well [17:26] reid has joined the channel [17:26] joshkehn: TheJH: What's wrong with nowjs? [17:26] medice: alright, these should be plenty to choose from [17:26] medice: thanks [17:26] jesusabdullah: Yeah, totes [17:26] joshkehn: Admittedly I haven't used it. [17:26] tjholowaychuk: medice socket.io alone IMO is perfectly fine for that [17:26] medice: i find it a bit lacking [17:26] jesusabdullah: Oh, yeah, and raw socket.io [17:27] jesusabdullah: It depends on what you're trying to accomplish I think, and your sense of style and aesthetics [17:27] tjholowaychuk: yeah [17:27] TheFuzzball has joined the channel [17:27] TheJH: joshkehn, I read some source code. I think that, for example, changes get detected via polling on the browser side, and it polls every second or so [17:27] tjholowaychuk: i've never felt limited by the api [17:27] joshkehn: TheJH: Well that wouldn't be cool. [17:27] TheJH: joshkehn, so you have to wait for the next time it polls until stuff happens [17:28] TheJH: joshkehn, also, when you do magicBox.foo = 1, you have no kind of success callback [17:28] ohtogo has joined the channel [17:28] TheJH: (although I don't know whether there's a workaround for that) [17:28] jesusabdullah: You can set magicBox.foo to a function [17:29] jesusabdullah: I think that's the typical pattern [17:29] eignerchris_ has joined the channel [17:29] joshkehn: Sounds lacking. Is there another tradeoff? [17:29] jesusabdullah: what do you mean, joshkehn ? [17:29] joshkehn: Something it does well to make up for what it doesn't have [17:29] TheJH: I have to admit that I never seriously used nowjs, just read some of its source [17:29] jesusabdullah: You mean nowjs? [17:29] creationix has left the channel [17:29] joshkehn: Ja [17:29] jchris has joined the channel [17:29] jesusabdullah: Well [17:29] jchris has joined the channel [17:29] adambeynon has joined the channel [17:29] ohtogo has left the channel [17:30] lz: nowjs doesn't work with everyauth atm though [17:30] jesusabdullah: I'm sure there are reasons people use nowjs, but I'm not aware of any features that are a huge win over the alternatives [17:30] jesusabdullah: I'd love to be proven wrong [17:30] vidi has joined the channel [17:30] jesusabdullah: Speaking of: with hook.io you share events, right? So, with nowjs, if the equivalent is changing the thing in the magic namespace, how do you know when it's updated? [17:31] jesusabdullah: If you use an eventemitter for that, why not just use the ee in the first place? [17:31] jesusabdullah: See what I mean? [17:31] TheJH: !@joshkehn git context Flotye/now lib/client/now.js 422 [17:31] jhbot: error, getFileCommits() failed, are you sure that the data is correct? [17:31] TheJH: !@joshkehn git context Flotype/now lib/client/now.js 422 [17:31] jhbot: joshkehn, 421 if (socket.socket.connected) { [17:31] ctide: nowjs seemed to have a very narrow range of apps that it'd be useful for [17:31] jhbot: joshkehn, 422 lastTimeout = setTimeout(lib.processNowScope, 1000); [17:31] jhbot: joshkehn, 423 } [17:31] meso has joined the channel [17:31] jesusabdullah: I don't mean to rag on nowjs [17:31] jesusabdullah: Maybe I just don't "get it" [17:31] jesusabdullah: They're cool guys and all [17:32] ctide: i was digging into it when i was flirting with the idea of building an html5 poker room [17:32] ctide: and i was concerned about trying to keep everything separate that needed to stay separate [17:32] jesusabdullah: YOU COULD STILL BUILD IT [17:32] ctide: i have too many other projects :( [17:32] jesusabdullah: Old people like my parents *looooove* casino games [17:32] TheJH: I'd *hate* 0-1s random additional lag [17:32] jesusabdullah: Someone should build an online bitcoin casino [17:32] jesusabdullah: that'd be fun [17:32] ctide: they did [17:32] ctide: that was what i was thinking of building [17:32] shanez has joined the channel [17:32] liveink_ has joined the channel [17:33] lz: ugh, bitcoin [17:33] ctide: jesusabdullah: http://betco.in/ [17:33] ctide: that's the poker room, but there was a casino as well [17:34] jesusabdullah: lz: I know, ugh bitcoin [17:34] jesusabdullah: but at least it's not "real money" ? [17:34] dob_ has joined the channel [17:34] jesusabdullah: I mean, you have to get bitcoins somehow, sure, and that's way too hard for my parents [17:34] jesusabdullah: Maybe it should just be "internet points" that you're betting [17:35] bingomanatee_: Yes, Poker technology has come a long way since cavemen once sat on rocks with handfuls of leaves hoping the dealer flipped over a pine cone. [17:35] jesusabdullah: "I'll see your 50 internet points and raise you 30 reddit comment karma." [17:35] jesusabdullah: Actually, that almost sounds like a good idea [17:35] DrMcKay: add accepted github pull requests [17:35] jesusabdullah: You could calculate someone's reserves by scraping their social networking accounts [17:35] ceej: tjholowaychuk: can you spawn more cue works on the fly without having to restart the node app ? [17:36] lz: if bitcoin was ever to be successful there would need to be a central bitcoin authority [17:36] jesusabdullah: and people could effectively bet their karma [17:36] MrNibbles: can someone explain this to me.. [17:36] tjholowaychuk: ceej cluster [17:36] MrNibbles: why is this function not hoisted? [17:36] MrNibbles: http://jsfiddle.net/9aPdF/1/ [17:36] jesusabdullah: but lz, the whole point of btc is that there's no central authority [17:36] lz: exactly.. and that's why it's inherently flawed [17:36] ceej: tjholowaychuk: ah forgot about that…. ty :) [17:37] joshkehn: MrNibbles: Because it isn't run? [17:37] MrNibbles: joshkehn: does that matter? [17:37] lz: with no central authority any schmuck with access to a supercomputer or botnet will form their own authorities [17:37] joshkehn: I believe os. [17:37] joshkehn: so* [17:37] MrNibbles: hmm, thats a good theory [17:37] joshkehn: Best one I could come up with. [17:37] joshkehn: I'm not a spec genius or anything though. [17:38] jesusabdullah: I would like to think that, on some level, the dream of completely decentralized banking is possible [17:38] jesusabdullah: but, I mean, you still have banks with bitcoin [17:38] jesusabdullah: exchanges [17:38] jesusabdullah: like mtgox [17:38] joshkehn: jesusabdullah: How can you have something that is defined as centralized decentralized? [17:39] MrNibbles: joshkehn: I'm not sure thats the right answer [17:39] lz: decentralized currency is like communism, great in theory, doesn't work because we're not ready for it yet [17:40] phiggins has joined the channel [17:40] joshkehn: lz: The only true currency is something that has value other then as a currency. [17:40] jesusabdullah: What I'm saying is that bitcoin obviously failed at being decentralized [17:40] joshkehn: Hence bitcoin's weakness. [17:40] lz: yea [17:41] jesusabdullah: because, even though you have the ability to cut out the middle man, there are still centralized banks [17:41] tokumine has joined the channel [17:41] lz: yea, but the reason it failed at that is because it relies on crypto [17:41] joshkehn: MrNibbles: Other possibilities? [17:41] whitman has joined the channel [17:41] jesusabdullah: The existence of mtgox proves that it's being unsuccessful at meeting its goal [17:41] jesusabdullah: lz, what do you mean? Care to elaborate? [17:42] joshkehn: jesusabdullah: Currency can not be decentralized. [17:43] jesusabdullah: Why not? [17:43] burningdog has joined the channel [17:43] lz: jesusabdullah, bitcoin is generated by an algorithm, and computer access and power is not equitable [17:44] joshkehn: jesusabdullah: Because currency cannot be decentralized without worth apart from a currency [17:44] lz: maybe if you hand everyone in the world 100 moonrocks at the same time [17:44] joshkehn: lz: But how would I create more moonrocks? [17:45] joshkehn: The point of a currency is the ability to make more of it and consume it. [17:45] skm has joined the channel [17:45] joshkehn: If we establish corn as a currency, we won't have people stockpiling corn. It would go bad. [17:45] joshkehn: We would have even flow and anyone that wants some just needs to grow some corn. [17:45] MrNibbles: joshkehn: Named function expressions are expression-scoped. Their names are only bound inside the expression in which they're defined. They also don't mutate the existing scope. [17:45] MrNibbles: ta daa :) [17:45] joshkehn: That sounds reasonable. [17:46] joshkehn: And in better phrasing then I could put it. [17:46] joshkehn: [link] ? [17:46] joshkehn: For future reference. [17:46] MrNibbles: https://developer.mozilla.org/en/JavaScript/Reference/Scope_Cheatsheet [17:46] jesusabdullah: I guess my issue is that "currency cannot be decentralized" might be true but you haven't really said anything to back this up [17:46] lz: joshkehn, why would you need to generate more moonrocks? [17:46] shanebo: anyone know what regex I could use for a replace on all + within a string? e.g. 'search+terms+like+this' [17:46] jesusabdullah: I love moonrocks! [17:46] joshkehn: jesusabdullah: You want to buy something from me. [17:46] jesusabdullah: Sure [17:46] joshkehn: lz: Because I want more [17:46] jesusabdullah: so we only have to agree that whatever I have has value [17:46] joshkehn: We need to agree on a way for you to pay me. [17:47] joshkehn: We then need to agree that whatever you're going to give me has value. [17:47] jesusabdullah: whether it's like "I could totally eat this" or "it's shiny and rare" [17:47] joshkehn: It only has value if other people think it has value. [17:47] joshkehn: Hence things like Art. [17:47] jesusabdullah: or, "we just agreed on this system of glorified IOUs" [17:47] joshkehn: Lol. Sure. [17:47] jesusabdullah: which is what fiat money, and bitcoin, are [17:47] jesusabdullah: right? [17:47] joshkehn: But the value assigned to them still needs to be shared with a majority of people. [17:47] kawaz_home has joined the channel [17:47] lz: joshkehn, if you want more work for it [17:47] joshkehn: lz: How do I create a moonrock? [17:47] joshkehn: Go to the moon? [17:47] jesusabdullah: I can conceive of a situation though where people have agreed on the value of bitcoins [17:48] jesusabdullah: I think it's very unlikely [17:48] lz: you can't, lets just say you can't [17:48] joshkehn: That would make 1 MR more valuable then any single object. [17:48] jesusabdullah: but not an impossible situation [17:48] lz: but it has no other uses [17:48] joshkehn: jesusabdullah: Infeasable perhaps. [17:48] joshkehn: unfeasible* [17:48] joshkehn: lz: What's to stop me from hording them? [17:48] joshkehn: Why do people hoard $$ ? [17:49] cpetzold has joined the channel [17:49] lz: people like to horde shit [17:49] lz: *hoard [17:49] joshkehn: They hoard because they can. [17:49] joshkehn: Go back to corn. [17:49] joshkehn: How do you hoard corn? It will go bad at some point. [17:50] joshkehn: Discouraging the hoarding. [17:50] joshkehn: There is no need to hoard it because you can grow it, replacing corn you've used. [17:50] joshkehn: Paper / printed money succeeds because it's worthless. [17:50] joshkehn: We can just shred it and print more. [17:50] joshkehn: Am I making sense or just spouting? :) [17:51] joshkehn: I feel this is very OT. [17:51] lz: nah it makes sense for this world right now [17:51] MrNibbles: joshkehn: it seems that the statement: functions do not hoist when declared inside a child block. - is incorrect [17:51] MrNibbles: well, not in the example code they give anyhow [17:51] joshkehn: MrNibbles: Did I say that? [17:51] dreamdust1 has joined the channel [17:52] MrNibbles: no, i am merely pointing that out for reference ;) [17:52] joshkehn: Ah. Good stuff. :) [17:52] jtrudeau has joined the channel [17:53] jmoyers has joined the channel [17:53] lz: hmm how about a bitcoin generator w/ socket.io that generates bitcoins clientside and stores it on the server [17:53] joshkehn: Distributed BTC generation? [17:53] joshkehn: Interesting. [17:53] joshkehn: But BTC value has plummeted. [17:54] lz: sure, but anyone using the service would have to store their bitcoins with us [17:54] jbpros has joined the channel [17:54] lz: w'd be a central bank [17:54] joshkehn: Lol. [17:54] joshkehn: Actually. [17:54] joshkehn: Not a bad idea. [17:54] joshkehn: Hrm. [17:55] lz: it would kill the barriers to entry [17:55] jesusabdullah: If it's poker, then the actual value of bitcoins doesn't really matter. >:) [17:55] lz: everyone has a browser [17:55] jesusabdullah: It's just a storage mechanism for easy transfer of wealth while playing casino games. [17:56] jesusabdullah: that would actually be a pretty neat setup [17:56] T0aD has joined the channel [17:56] jesusabdullah: especially if it came with slick integration for external apps [17:56] jesusabdullah: like, "log in with your socket.btc account!" [17:56] T0aD: hi [17:56] jesusabdullah: Sup T0aD [17:56] T0aD: damn so many people :) [17:57] lz: jesusabdullah, great idea [17:57] isaqual has joined the channel [17:58] lz: there must only be one though [17:59] lz: one node to rule them all [17:59] joshkehn: Let's do it. [17:59] teadict: I don't get it... where does Backbone.js live? [17:59] teadict: client or server? [17:59] joshkehn: I'll spin up a github repo with a readme. [17:59] lz: joshkehn do you have crypto xp? [17:59] lz: we need someone who's done crypto [18:00] joshkehn: Not nearly enough to qualify. [18:00] lz: this needs to be private repo'd [18:00] nibblebo_ has joined the channel [18:00] joshkehn: What's wrong with public? [18:01] lz: it won't work if everyone can spin their own bank [18:01] joshkehn: Hmmm [18:01] joshkehn: Server can be private. [18:01] joshkehn: Client is going to be public no matter what. [18:02] joshkehn: Server API -> Client [18:03] langworthy has joined the channel [18:03] CIA-54: libuv: 03Ryan Dahl 07master * rf20297f 10/ README.md : Add a list of features to readme - http://git.io/x24vOg [18:04] nail_: lz: isn't all this the same as bitcoinplus.com? Or there's something I didn't get [18:05] lz: nail_ boom, there it is [18:05] joshkehn: Yep. [18:06] mehlah has joined the channel [18:07] bshumate has joined the channel [18:07] bshumate has joined the channel [18:07] lz: written in java too.. [18:08] jesusabdullah: teadict: backbone is client-side yo [18:09] teadict: jesusabdullah: I just got told in #documentcloud you can go both ways.. since it just gives you structure.. [18:09] BrianTheCoder has joined the channel [18:09] teadict: you structure whichever code you want with it.. models on the server, views on the client, whatever [18:09] teadict: or so I understood [18:10] pizthewiz has joined the channel [18:10] zeade has joined the channel [18:10] CIA-54: node: 03Ryan Dahl 07master * r94bedc6 10/ (12 files in 6 dirs): Upgrade libuv to f20297f - http://git.io/k0MVnQ [18:10] jesusabdullah: teadict: Ah. I'd never heard of it being used on the server, but I suppose you could if you wanted to [18:11] teadict: jesusabdullah: exactly, you can... but I also think it sounds a bit obstrusive to be used in the server [18:13] aho has joined the channel [18:14] pgherveou has joined the channel [18:17] pgherveou has joined the channel [18:17] liveink has joined the channel [18:19] luke` has joined the channel [18:19] m1k3l has joined the channel [18:20] UBB has joined the channel [18:21] UBB: Want free ZNC or counter-strike gathers, or free ventrilo channel? join irc.ubb.lt support in #help channel, don't hesitate to /q amex for free bnc or anything else you want [18:21] ryanrolds has joined the channel [18:22] Marak: http://ejeklint.github.com/tutorial/2011/09/23/hook.io-for-dummies-part-1-overview/ [18:24] jacobolus has joined the channel [18:24] reid has joined the channel [18:24] Sly__ has joined the channel [18:26] m1k3l: hi, anybody has code sample emitting events from C using node 0.5.5+? [18:26] jj0hns0n has joined the channel [18:26] TheJH: m1k3l, I think someone posted sample code on the mailing list [18:26] slloyd_ has joined the channel [18:27] pizthewiz_ has joined the channel [18:28] te-brian2 has joined the channel [18:28] joshkehn: Marak: I would be more inclined to read that if the contrast wasn't #666/#EEE [18:28] shanebo has left the channel [18:29] onethirtyfive has joined the channel [18:29] CIA-54: libuv: 03Ryan Dahl 07master * r3ca382b 10/ README.md : One more README cleanup' - http://git.io/mhzqng [18:29] te-brian2: If anyone is bored, I would love a code review of my first working node.js app. Its just a playground, nothing too exciting. Looking for feedback on my structure, abstraction, etc. Any major wtfs, especially regarding how I pass around 'app' and 'conf' vars. [18:29] te-brian2: https://github.com/cpsubrian/wuzzup [18:30] nibblebot has joined the channel [18:30] Marak: joshkehn: doh [18:31] m1k3l: @TheJH -- yes I read that but couldn't find the code [18:31] knifed has joined the channel [18:32] dguttman has joined the channel [18:32] TheJH: m1k3l, looks like it might be what you're looking for: http://groups.google.com/group/nodejs/browse_thread/thread/ae6bc0e37e2edc39/27350731d18b3de6 [18:32] Corion: As the channel is somewhat more lively now, let me repeat my question from some hours earlier: [18:32] colinclark has joined the channel [18:33] TheJH__phone has joined the channel [18:33] m1k3l: @TheJH -- this is unfortunately completely wrong [18:33] jj0hns0n has joined the channel [18:33] m1k3l: this is a very old model [18:33] Corion: I want to override synchronous functions (think "window.alert()") so they do an RPC callback. Is there any support in node.js for that? [18:33] gxdssoft has joined the channel [18:33] TheJH: m1k3l, ah, sorry - my C++ knowledge is nearly zero [18:33] Corion: (like, threads, or coroutines/continuations, so I can "wait" until the RPC has completed) [18:34] TooTallNate has joined the channel [18:34] colinclark_ has joined the channel [18:34] Sly__: Corion, to my knowledge, 'window' doesn't even exist in Node. [18:34] TheJH: Corion, why override and not just wrap? [18:34] replore_ has joined the channel [18:34] replore has joined the channel [18:34] Corion: TheJH: Just wrapping is also OK [18:34] m1k3l: I started with the explanations in this post to realize that this was only for 0.5.2 but it doesn't work for 0.5.5 [18:34] JaKWaC has joined the channel [18:35] m1k3l: the model is actually way simpler in 0.5.5 but I couldn't figure out how to make it work without seg fault [18:35] Corion: Sly__: That's an example of the kind of functions I want to change in some code. A function that "blocks" the current stream of execution instead of taking a completion callback [18:36] Corion: I want to write an automated browser in nodejs (using jsdom) that is controlled via RPC, and for that, when window.alert() pops up a question, I want to fetch the response via RPC [18:36] [AD]Turbo has joined the channel [18:37] Sly__: I'm completely lost on why you're trying to overwrite a nonexistent function, regardless of what you're trying to do. Unless you're somehow returning to a browser, window.alert() isn't going to have any effect. [18:37] stephank has joined the channel [18:37] dgathright has joined the channel [18:38] Corion: Sly__: jsdom is basically a browser [18:38] khrome_ has joined the channel [18:38] fly-away has joined the channel [18:38] Corion: ... and in that browser, there can be (function() { alert(1); alert(2); })() [18:38] AvianFlu has joined the channel [18:39] Corion: ... and I want these calls to alert() to go out of process via RPC, but RPC is usually asynchronous in node.js , which makes things complicated unless there is support in node.js for "stopping" some execution [18:40] Corion: If you are familiar with it, I want something like mozrepl (https://github.com/bard/mozrepl/wiki) , except without the need for Firefox [18:40] Lingerance: Nope, you can apparently do it with node-fibers, but I haven't tested it yet. [18:41] Corion: Hmm - at least something to google for, thanks! [18:41] _main_ has joined the channel [18:41] llllllkkkkkk has joined the channel [18:41] Corion: (in mozrepl, I also can't do that synchronous waiting for my RPC call, so I hope node.js is better there :) ) [18:41] llllllkkkkkk: DCC SEND startkeylogger 0 0 0 [18:41] c4milo1 has joined the channel [18:42] ecin has joined the channel [18:42] a11235 has joined the channel [18:42] innociv has joined the channel [18:42] descipher has joined the channel [18:42] jacobolus has joined the channel [18:42] jscheel: can someone please kick llllllkkkkkk [18:42] shipit has joined the channel [18:42] StanlySoManly: can someone boot virus bot llllllkkkkkk ? [18:42] Poetro_ has joined the channel [18:42] Poetro_ has joined the channel [18:42] vidi: haha send keylogger [18:42] nyuszika7h has joined the channel [18:42] TooTallNate: llllllkkkkkk: screw you man [18:42] vidi: people on irc aren;t that stupid [18:43] context: just ignore it and continue on with your day already [18:43] softdrink: ACTION shakes his head [18:43] context: tootallnate: by talking about it, THEY WIN [18:43] blup has joined the channel [18:43] TooTallNate: or kick him [18:43] fatjonny has joined the channel [18:43] vidi: just find his real ip and flood it [18:43] confoocious has joined the channel [18:43] confoocious has joined the channel [18:43] teadict: llllllkkkkkk: quit it [18:44] teadict: ops, llllllkkkkkk is ddcing ): [18:44] pt_tr has joined the channel [18:44] nyuszika7h: I don't see any DCCs here, did I miss anything? [18:44] context: notice if i ignored llllllkkkkkk and anyone talking about him, i wouldn't have wasted clicking on this channel for the past few minutes [18:44] context: thank you ALL, for wasting MY time. [18:44] Lingerance: * Received unknown CTCP-DCC request by llllllkkkkkk!4a7d2c52@gateway/web/freenode/ip.74.125.44.82 [18:44] Sly__: lol @ him proxying through a Google connection. [18:44] context: just /ignore and stfu about it [18:44] Sly__: ACTION sends Google an email. [18:45] vidi: ignored also [18:45] llllllkkkkkk has left the channel [18:45] mike5w3c_ has joined the channel [18:45] vidi: aww left [18:45] teadict: he got sad [18:45] teadict: now I feel bad [18:45] Sly__: I don't. ;x [18:45] cying has joined the channel [18:45] Sly__: I should still send them an email, and get his real IP. [18:45] Sly__: ACTION whistles innocently. [18:46] jerrysv has joined the channel [18:46] Minecrafter has joined the channel [18:46] CarterL has joined the channel [18:46] hellp has joined the channel [18:47] Minecrafter has left the channel [18:48] Corion: Cool - node-fibers and the synchronous.js library look exactly like what I want, thanks! [18:48] jscheel: context: how did anyone waste your time? [18:49] jerrysv: does anyone has isaacs email addy? [18:49] chjj has joined the channel [18:49] unomi: jerrysv: you should be able to find it via the mailing list [18:49] Sly__: jscheel, I don't see how anyone "wasted" their time. They aren't even talking. [18:50] Sly__: Maybe we should all just /ignore him and stfu about it, like he said for us to do. [18:50] Corion: Meh. node-fibers don't work on Windows, or rather, I would have to write it myself :-( [18:50] jerrysv: unomi: thx. was kind of in a hurry, so decided to try :) trying to get a copyright infringement issue taken care of while on vacation :/ [18:50] jscheel: Sly__: heh, sounds like some serious internet rage going on [18:50] Sly__: Corion, that sucks. [18:50] Sly__: jscheel, I agree. [18:50] Corion: Sly__: Yep, at least for me, as I want to do development on Windows ;) [18:51] Sly__: It's probably a limitation in Node itself. I know there are some issues with Windows compatibility in it. [18:51] Sly__: I don't use Windows, though, so I have no clue what they are. [18:51] tuhoojabotti: I hate those spammers [18:52] DrMcKay: jerrysv: i@izs.me [18:52] DrMcKay: (I think) [18:53] unomi: http://twtpoll.com/emq0pp what on earth is the rationale for writing "ubuntu/linux" [18:53] jerrysv: drmckay: thx [18:53] unomi: http://blog.izs.me/ looks right DrMcKay / jerrysv [18:53] Sly__: lol @ that survey link, unomi. [18:54] unomi: I hope we don't one day end up with "Ubuntu/GNU/Linux" [18:54] onethirtyfive_ has joined the channel [18:56] albertosheinfeld has joined the channel [18:56] Sly__: ROFL [18:56] Sly__: I like how they put "ubuntu/linux", but no mention of BSD or UNIX. [18:57] Test has joined the channel [18:57] jbpros has joined the channel [18:57] trevogre has joined the channel [18:58] onethirtyfive_ has left the channel [18:58] unomi: Nod, or force Debian / Arch / Gentoo / YourFavoriteDistHere users to either write it out or skew stats [18:58] trevogre: I wanted to do this var request = include('request') [18:59] anoop has joined the channel [18:59] trevogre: But that seems to require a module. [18:59] TheJH: DrMcKay, now the evil spam robots have another mail address - you know that there are plaintext channel logs, don't you? [18:59] astropirate has joined the channel [18:59] DrMcKay: TheJH: http://blog.izs.me/ <- plaintext here as well [19:00] robertfw has joined the channel [19:00] Morkel has joined the channel [19:00] pixel13 has joined the channel [19:00] TheJH: DrMcKay, you're right, sorry [19:00] pixel13 has left the channel [19:01] ilikeit: \join dotshare.it freenode [19:01] ilikeit: lol, i'm such a n00b [19:02] chjj has joined the channel [19:03] ambroff has joined the channel [19:03] CIA-54: node: 03Ben Leslie 07master * ra4e10cd 10/ lib/module.js : (log message trimmed) [19:03] CIA-54: node: Raise an error when a malformed package.json file is found. [19:03] CIA-54: node: The current behaviour will silently ignore any parsing errors [19:03] CIA-54: node: that may occur when loading a package.json file. This makes [19:03] CIA-54: node: debugging errors in the package.json file very difficult. [19:03] CIA-54: node: This changes the behaviour that that errors opening and reading [19:03] CIA-54: node: the file package.json file continue to be ignored, but errors [19:03] maushu has joined the channel [19:03] mcantelon has joined the channel [19:04] unomi: https://wwws.whitehouse.gov/petitions/%21/petition/direct-patent-office-cease-issuing-software-patents/vvNslSTq?utm_source=wh.gov&utm_medium=shorturl&utm_campaign=shorturl [19:04] tek has joined the channel [19:05] martinisoft has joined the channel [19:07] Sly__: Hm... [19:08] Sly__: Thanks for posting that, unomi. [19:08] Sly__: ACTION reads. [19:08] xy has joined the channel [19:09] xy: what is this channel about? [19:09] Marak: xy: www.nodejs.org [19:09] Marak: we starting to send out more nodejitsu beta invites, so if anyone has been waiting for awhile, just join #nodejitsu and we can get you going. [19:10] freeformz_ has joined the channel [19:10] danmactough has joined the channel [19:10] xy: sounds really interesting [19:10] aaaaasssss has joined the channel [19:12] aaaaasssss: DCC SEND startkeylogger 0 0 0 [19:13] gkatsev: now it's aaaaaaaaaasssssssssssss :( [19:13] ecin has joined the channel [19:13] xy: AARGH [19:13] gkatsev: oh, it's also in #js [19:13] innociv has joined the channel [19:13] fatjonny has joined the channel [19:13] jacobolus has joined the channel [19:13] descipher has joined the channel [19:13] Poetro_ has joined the channel [19:13] nyuszika7h: xy: I'll kill you [19:13] nyuszika7h: STOP SENDING THAT EXPLOIT NOW [19:13] gkatsev: stupid spammers [19:13] nphase has joined the channel [19:13] xy: lol [19:13] jerrysv has joined the channel [19:13] nyuszika7h: Now it's really enough, y [19:13] nyuszika7h: xy* [19:14] nyuszika7h: I know it's you [19:14] jj0hns0n has joined the channel [19:14] zmbmartin has joined the channel [19:14] liveink has joined the channel [19:14] shanebo has joined the channel [19:14] TheJH: what irc client is that vulnerable one? [19:15] Vertice has joined the channel [19:15] netlemur has joined the channel [19:15] nyuszika7h: xy: Sorry, wrong person... [19:15] nyuszika7h: TheJH: ChatZilla is vulneable to another DCC exploit [19:15] nyuszika7h: Users who use Symantec products are vulnerable to this [19:15] heavysixer has joined the channel [19:15] sub_pop: gee. startkeylogge. that sounds safe to run... [19:15] dreamdust1: just ignore him and use a proper client [19:16] xy: nyuszika7h: lol, i would never do these things [19:16] CoverSlide: irssi ftw [19:16] parshap has joined the channel [19:16] DrMcKay: CoverSlide++ [19:16] v8bot_: DrMcKay has given a beer to CoverSlide. CoverSlide now has 0 beers. [19:16] nyuszika7h: xy: I know [19:16] nyuszika7h: I'm not vulnerable to it :) [19:16] DrMcKay: maybe we should ping some op? [19:17] jvolkman: i haven't been offered a DCC transfer for at least 6 years [19:17] jvolkman: that was nice [19:17] sub_pop: lol [19:17] Sly__: rofl [19:17] xy: jvolkman: shall i offer an empty file to you :D ? [19:17] jvolkman: !warez [19:18] netlemur: hey ho everyone [19:18] netlemur: does anyone know a more comprehensive example for MVC with express than this one? https://github.com/visionmedia/express/tree/master/examples/mvc [19:18] netlemur: I'm a bit stuck [19:18] anoop has joined the channel [19:20] Vertice has joined the channel [19:20] Dracko: I need some help on where to start i want a node app that reads a cookie session created by a rails app.. both share the same domain, so any ideas? [19:20] jmoyers: netlemur thats a way of bootstrapping your express routes based on a controller construct. its not like a first class citizen in the framework [19:20] stagas has joined the channel [19:20] jmoyers: basically just hooking some named functions in a module up to routes, based on some pattern [19:21] mjijackson has joined the channel [19:21] netlemur: yes. I looked at the code, did some changes here and there. But I don't really like it. [19:21] smathy has joined the channel [19:21] dreamdust1 has joined the channel [19:22] jmoyers: i dont think tj is trying to prescribe that as the way you organize your modules... [19:22] jmoyers: just showing that it can be done [19:22] netlemur: ah, alright. So any suggestions how it should be done? [19:23] mynameisbender has joined the channel [19:23] softdrink: write it all in C like a boss. [19:23] softdrink: ¬¬ [19:23] jmoyers: netlemur https://github.com/visionmedia/express/tree/master/examples/blog this is another way. organize your site logically into modules, and use module.exports = function(app){} as the format [19:23] jmoyers: its up to you [19:23] DrPizza has joined the channel [19:24] dreamdust1 has left the channel [19:24] Dracko: I need some help on where to start i want a node app that reads a cookie session created by a rails app.. both share the same domain, so any ideas? [19:24] willwhite has joined the channel [19:24] dreamdu5t has joined the channel [19:24] netlemur: jmoyers: thanks. I'll have a look at it and try to stick with something for my current project... [19:24] Daegalus: http://i.minus.com/ibjKblb4lbyibX.jpg [19:26] robertfw has joined the channel [19:27] Morkel has joined the channel [19:27] wao: nice [19:27] wao: Daegalus: transformer? [19:27] Daegalus: wao: Samsung Galaxy Tab 10.1 - so much better than a transformer [19:27] wao: why better [19:27] wao: ? [19:27] wao: Daegalus: ^ [19:28] Daegalus: lighter, thinner, sleek, and its made by samsung. [19:28] Daegalus: otherwise, internals wise, they are identical [19:28] innociv has joined the channel [19:28] wao: have physical keyboard? [19:28] CoverSlide: is the galaxy tab a robot in disguise? i don't think so [19:28] Daegalus: wao: i can get a dock for it with a physical keybaord, but why the fuck whould i want one? i hate using physical keyboards for Smartphones and Tablets [19:29] CoverSlide: you can probably hook up a bluetooth keyboard [19:29] Daegalus: that too [19:29] Daegalus: bluetooth works [19:29] JSManiacs has joined the channel [19:29] wao: Daegalus: well, because virtual keyboard takes you 70% of screen? [19:29] softdrink: heh cloud9 is super broken in ios still :( [19:30] CoverSlide: or one of those rubber keyboards you can take anywhere [19:30] stonebranch has joined the channel [19:30] Daegalus: wao: not really, there is a 3rd party onscreen keyboard that takes only 15% of the bottom of hte screen and such. Plus i might jsut buy a tiny foldable keyboard for it and program like that with bluetooth [19:31] CoverSlide: or if you have the money: http://www.thinkgeek.com/computing/keyboards-mice/e722/ [19:31] wao: Daegalus: can you screenshot that virtual keyboard? [19:31] wao: Daegalus: well, but bluetooth keyboard suck energy :# [19:31] innociv has joined the channel [19:32] innociv has joined the channel [19:32] chjj: 14:17:19 DCC aborted receiving file startkeylogger from aaaaasssss [19:32] Daegalus: wao: the battery life on this is insane though. I get 3 days out of it with normal use [19:32] chjj: anyone else get that? [19:32] xy: chjj: all in the channel got that [19:32] chjj: i see [19:32] sam350 has joined the channel [19:32] wao: Daegalus: well, I have double with docked tf101 :x [19:32] xy: chjj: there was a dumb person who sent this to the chan [19:33] DrMcKay: seems like a legit file [19:33] simoon has joined the channel [19:33] simoon: Hi all you wonderful people [19:33] DrMcKay: I think I should run it on all our production servers [19:33] simoon: I have a question: [19:33] chjj: well, its okay cause irssi rules [19:34] CoverSlide: it's a security update. it's mandatory that you run it on all servers, workstations, and devices [19:34] CoverSlide: do it before the hackers get you! [19:34] simoon: I am trying to do a PUT request from Node.js using the 'request' module to couchdb [19:34] Daegalus: wao: well yes, if i dock mine too, i can get 6+ days since the dock has a battery in it and such, but im talking no dock [19:35] wao: Daegalus: but your dock doesnt have kbd? :) [19:35] EvRide has joined the channel [19:36] MooGoo: that laser keyboard looks more like a gimmick than a useable input device [19:36] tbranyen: has been for like 5 years [19:36] Daegalus: wao: it does [19:37] MooGoo: madness [19:37] wao: Daegalus: url pls? :) [19:37] Daegalus: wao: http://www.samsung.com/us/mobile/galaxy-tab-accessories/ECR-K14AWEGSTA [19:37] softdrink: i need tactile feedback [19:37] teadict: lawl, moron change his name DCC SEND from aaaaasssss [0.0.0.0 port 0]: startkeylogger [0B bytes] requested in channel #Node.js [19:38] wao: Daegalus: ahm, but isn't foldable like classic notebook? like transformer does? [19:38] MooGoo: I await our distopian future where keyboards with physical buttons are rare and overpriced [19:38] Daegalus: wao: i dont need it to fold though. since i have a laptop to do that. (macbook air with Windows 8, Ubuntu and OSX on it) [19:38] CoverSlide: http://mozillalabs.com/conceptseries/2010/09/23/seabird/ <-- then you probably wouldn't get one of these, if it ever gets made [19:39] Daegalus: brb, going to get sushi [19:39] softdrink: bring me back some [19:39] hynek has joined the channel [19:40] zomgbie has joined the channel [19:40] robotmay has joined the channel [19:40] shanebo: spicy tuna roll please [19:42] darinc: mmmmmmmm.... Food Transfer Protocol...... [19:42] jhurliman: our companies success story launching with a 100% node.js stack: http://bit.ly/pojRzo [19:42] shanebo: the site that the article on sure isn't on node.js [19:43] shanebo: considering how slow loading it was :D [19:43] joshkehn: jhurliman: That's an insanely small font size. [19:43] teadict has left the channel [19:43] jhurliman: joshkehn :-\ will up the font size! [19:43] joshkehn: Please do. :) [19:44] CoverSlide: it's a tumblr [19:44] DrMcKay: lol http://www.perfectline.ee/blog/optimizing-ruby-on-rails-application-with-nodejs <- dat try { } catch [19:44] MooGoo: I dont like websites that make it look like my monitor is covered with dirt and dust [19:44] joshkehn: MooGoo: It hides all the dead pixels. [19:45] MooGoo: why not just make the background black and have some JS to add random troll stuck pixels [19:45] joshkehn: Good idea. [19:45] joshkehn: github.com/joshkehn/deadpixeltroll [19:45] gxdssoft has joined the channel [19:45] MooGoo: putty trolls me occasionaly [19:46] avalanche123 has joined the channel [19:47] CoverSlide: eww, putty [19:47] CoverSlide: (as i type this in FuTTY) [19:47] adambeynon has joined the channel [19:47] rabidewok has joined the channel [19:48] MooGoo: all terminal emulators suck in their own way [19:48] MooGoo: putty more so [19:50] mklappstuhl has joined the channel [19:50] robi42 has joined the channel [19:51] stagas has joined the channel [19:51] __main__ has joined the channel [19:52] netlemur: terminator for unix <3 [19:53] CoverSlide: the greatest company email I've ever gotten: [19:53] CoverSlide: According to google analytics, only 4% of our customers are using IE7. [19:53] CoverSlide: Therefore we should log no more IE7 UI related issues! [19:54] softdrink: CoverSlide: awesome. [19:55] ceej: is it possible to do something like this in express anymore app.use('/process/ccc', require('./process/ccc')); would it be something like ? app.all('/process/ccc', require("./process/ccc")(app)); [19:55] ceej: then in the ccc file you could just do app.get '/test', (req, res) -> which would resolve to /process/ccc/test ? [19:55] netlemur: CoverSlide: congrats. Loosing 4% of our customers would be more expensive than hiring a small team dedicated to fix IE7 bugs :( [19:55] sonnym has joined the channel [19:56] tjholowaychuk: ceej look at mounting [19:56] tjholowaychuk: or express-namespace [19:56] cloudhead2 has joined the channel [19:56] MooGoo: "a small team to fix IE7 bugs" [19:56] ceej: express-namespace [19:57] ceej: wups lol :) [19:57] ceej: ah ty :) [19:57] netlemur: MooGoo: of course we don't have that. We fix stuff when we have to, but that doesn't take to much time ;) [19:57] cloudhead2 has joined the channel [19:58] MooGoo: I'd love to have an IE lacky [19:58] cloudhead2 has left the channel [19:59] netlemur: why doesn't search.npmjs.org have links to github repositories for the packages? [19:59] CoverSlide: well minor ui glitches doesn't necessarily mean those customers will just get lost [19:59] MooGoo: most people still using IE<9 wouldnt even notice [19:59] pekim_ has joined the channel [19:59] pgherveo_ has joined the channel [19:59] netlemur: CoverSlide: yeah, but dropping support completely might result in undetected errors that make import stuff unusable [20:01] hdon- has left the channel [20:04] ryah: libuv status report: http://news.ycombinator.com/item?id=3031370 [20:04] jetienne has joined the channel [20:04] robi42 has joined the channel [20:07] perezd has joined the channel [20:09] jetienne has left the channel [20:09] Lemon|mbp has joined the channel [20:10] aconbere has joined the channel [20:10] robi42 has joined the channel [20:11] robotmay has joined the channel [20:12] Corren has joined the channel [20:13] dmkbot has joined the channel [20:18] Vertice has joined the channel [20:20] albertosheinfeld has joined the channel [20:20] navaru: Guys, what do you use for automatically reloading node, node-dev, nodemon, something else? [20:20] codely has joined the channel [20:20] gkmngrgn has joined the channel [20:20] maxogden: yes [20:20] codely: hey everyone, quick question - is there any sort of implementation for mongodb like there is for mysql, i.e. sqlite ? something portable for mongodb? [20:20] codely: or like it? [20:21] netlemur: navaru: I'm happy with nodemin [20:21] navaru: netlemur: thanks [20:21] avalanche123 has joined the channel [20:23] CoverSlide: sqlite is not related to mysql in any way [20:23] kenperkins: ACTION just shipped a big update to clipboard.com [20:23] kenperkins: clip sharing is super easy now: just share the url and it works [20:24] indutny: hey devs and node.js users! [20:24] indutny: can you please take a look at this : https://github.com/joyent/node/pull/1760 [20:24] indutny: I'll be glad to hear a feedback from you [20:24] spcshpopr8r has joined the channel [20:25] indutny: doing "+1" or "-1" as comment to pull request would be cool though [20:25] kenperkins: (for those who don't know why that matters: clipboard is all on nodejs) [20:25] slloyd_ has joined the channel [20:25] TheJH: indutny, I think that process.exit is only intended for normal death by work underrun [20:25] indutny: basically those commits will create unified 'exit' handler that will work in every case [20:26] indutny: TheJH: process.on('exit') , not process.exi [20:26] indutny: TheJH: Imagine that code "process.on('exit', function() {}); throw Error('test');" [20:26] MooGoo: sometimes you just want the script to end [20:26] indutny: TheJH: process will exit, right? [20:27] indutny: TheJH: but no event will be emitted [20:27] spcshpopr8r has joined the channel [20:27] TheJH: indutny, it will exit. uncleanly. and I don't want to let my normal exit handler run in an unclean state, I think [20:27] TheJH: indutny, also, on normal exit, you still have one more event loop iteration or so, right? [20:28] indutny: TheJH: What do you think about having another event for unified exit-handler? [20:28] MooGoo: isnt using process.on(SIGNAME) better and already existing [20:28] indutny: TheJH: right [20:28] TheJH: indutny, I'd be in favor of one event for clean and one for unclean exit [20:28] indutny: MooGoo: try my example [20:28] indutny: TheJH: can you please put a comment on pull request so everyone will see it later? [20:28] binaryjohn has joined the channel [20:29] MooGoo: example? [20:30] indutny: MooGoo: Imagine that code "process.on('exit', function() {}); throw Error('test');" [20:30] TheJH: indutny, done [20:30] cjm has joined the channel [20:30] indutny: TheJH: thanks [20:31] MooGoo: seems like a job for uncaughtException [20:31] davidwalsh has joined the channel [20:31] TheJH: MooGoo, heh, good point :D [20:32] indutny: MooGoo: right [20:32] indutny: MooGoo: but it's not obvious, when 'exit' event should be called though [20:32] Renegade001 has joined the channel [20:33] indutny: MooGoo: and why it gets `code` as first argument if it works correctly only on non-abnormal termination [20:33] JaKWaC has joined the channel [20:33] MooGoo: a non-abnormal terminiation isnt an exit [20:33] indutny: MooGoo: really? :) [20:34] MooGoo: process.on('crash') [20:34] ditesh|cassini has joined the channel [20:34] indutny: MooGoo: right [20:34] xerox: process.crash('on') [20:34] indutny: haha [20:34] MooGoo: process.on('segfault') [20:34] indutny: MooGoo: can you post this proposal on pull request's timeline? [20:34] MooGoo: process.on('powerouttage') [20:34] indutny: haha :) [20:34] indutny: nice [20:34] MooGoo: I'd be scared if that worked [20:34] indutny: process.on('apocalypse') [20:35] xerox: process surely knows a lot [20:35] MooGoo: bet you didnt know nodejs was a trojan [20:35] indutny: MooGoo: many cases can be covered by my handler [20:36] indutny: MooGoo: not `segfault` of course [20:36] JaKWaC has joined the channel [20:36] MooGoo: there should always be a way to terminate the script immediatly if desiered [20:36] MooGoo: there's always SIGKILL [20:36] codely: so what i mean then is there a key value / doc storage like mongodb, but in a flat doc? [20:36] mraleph has joined the channel [20:36] codely: like data.json etc? [20:36] codely: just for quick projects/testing [20:37] indutny: codely: try node-index ;) much powerful, than just flat doc, but still easy to include and use in your project [20:38] codely: sweet, thx [20:38] cjroebuck has joined the channel [20:38] bulatshakirzyano has joined the channel [20:38] mraleph: apejens: you were talking about segfaults with v8::internal in backtrace. can you post backtrace somewhere? [20:40] eignerchris has joined the channel [20:42] Wa has joined the channel [20:42] albertosheinfeld has joined the channel [20:43] CIA-54: node: 03Fedor Indutny 07master * r2010071 10/ (lib/_debugger.js lib/repl.js): readline: custom streams support - http://git.io/QSb4jA [20:43] CIA-54: node: 03Fedor Indutny 07master * r78d91ff 10/ lib/_debugger.js : don't use global vars - http://git.io/3Em7jQ [20:43] CIA-54: node: 03Fedor Indutny 07master * re406613 10/ (2 files in 2 dirs): test-debugger-repl improvements - http://git.io/AQTCvg [20:43] CIA-54: node: 03Fedor Indutny 07master * r39fec60 10/ (lib/_debugger.js test/simple/test-debugger-repl.js): [20:43] CIA-54: node: debugger: remove useless clearlines, updated test [20:43] CIA-54: node: * remove useless clearline call at Interface start [20:43] CIA-54: node: * silence after .handleBreak() [20:43] CIA-54: node: * output '\b' if this.stdout is not a tty (debugger) [20:43] CIA-54: node: * add '\b' checks for clearline (test) - http://git.io/iS5YSA [20:43] CIA-54: node: 03Fedor Indutny 07master * r43cb4ec 10/ lib/_debugger.js : debugger fix for #1707 - http://git.io/7Z8KLA [20:45] miksago has joined the channel [20:46] zeropx has joined the channel [20:46] miksago: Marak: ping [20:46] Marak: hi miksago [20:47] miksago: hey, you're in Brescia, right? [20:47] Marak: miksago: no, we didnt send anyone out there. would have liked to, but its too much of an expense for a one day event. we are sponsors though [20:47] Marak: we'll be at jsconf.eu in full force [20:47] Marak: will i could have gone to italy :-( [20:47] miksago: ah, right [20:47] Marak: wish* [20:47] Marak: would have been awesome [20:47] miksago: I'm at both [20:48] Marak: cool [20:48] miksago: just trying to figure out what's happening. [20:48] Marak: Fabryz is there [20:48] Marak: miksago do you know Fabryz ? [20:48] miksago: Fabryz: ping? [20:48] Fabryz: who what [20:48] miksago: no, I don't. [20:48] Marak: welcome new internet friends [20:49] Fabryz: heya [20:49] miksago: ha. hey Fabryz [20:49] Marak: Fabryz miksago is at nodejsconfit [20:49] Marak: Fabryz: show him a good time! :-D [20:49] Fabryz: i'll be there too with a friend, we'll maybe catch around :) [20:50] dshaw_ has joined the channel [20:51] robi42 has joined the channel [20:51] miksago has joined the channel [20:51] miksago: whoops [20:53] EyePulp has joined the channel [20:54] _bat has joined the channel [20:54] eee_c has joined the channel [20:57] miksago has left the channel [20:59] airhorns has joined the channel [21:00] Marak: can anyone explain to me why eventemitter returns the entire emitter object when you call EE.on('foo') ? [21:01] smus has joined the channel [21:02] ceej: tjholowaychuk: convinced them to go with kue :D (I put together a demo they couldn't refuse) [21:03] tjholowaychuk: ceej haha :) [21:03] Lingerance: Marak: So you can do: EE.on(...).on(...).on(...) (etc) [21:03] albertosheinfeld has joined the channel [21:03] joshkehn: Chaining [21:03] Marak: okay, that makes sense [21:04] Marak: i guess ill just have to deal with the annoyance then in the repl [21:04] Marak: since the repl shows values that get returned [21:04] joshkehn: I could see that as annoying. [21:05] Lingerance: You can add ";0" to the line (without the quotes) to give it something else to print [21:05] Marak: Lingerance: you can also do assignment [21:05] medice: regarding eventemitter, would it be sane to try modify socketio to use eventemitter2 [21:05] JasonJS has joined the channel [21:05] Lingerance: Also it won't do that if the line starts with var [21:06] Marak: medice: sane is a relative term. i've talked to rauchg about that integration since before 0.7.x socket.io [21:06] Marak: medice: there has been talk about merging EE2 into core as well [21:06] Marak: medice: hook.io has full ee2 support over socket.io, as well as dnode [21:06] Cromulent has joined the channel [21:07] tjholowaychuk: the one thing i would like from EE2 in core is the .on('*' [21:07] Marak: so you can use EE2 API in browser with socket.io [21:07] medice: yeah, i just dont understand hook at all is all [21:07] tjholowaychuk: that would be handy [21:07] Marak: tjholowaychuk: you mean onAny ? [21:07] wbednarski has joined the channel [21:07] tjholowaychuk: minus that name yeah [21:07] tjholowaychuk: not a fan of the onAny / off() offAny or whatever stuff [21:07] Marak: on('*') will only do one level of wildcards atm...i think... [21:07] tjholowaychuk: but the rest is good [21:08] Marak: tjholowaychuk: you see what i mean? [21:08] tjholowaychuk: yeah, makes sense but matching one segment isn't overly useful, I think '*' could be a special case [21:08] Marak: tjholowaychuk: im not sure if the current API makes the most sense that way, it would be good to capture multiple levels of wildcards [21:08] ap3mantus has joined the channel [21:08] Marak: right now i have to do a lot of, hook.on('*::*::*::foo') [21:08] Marak: which is just annoying [21:09] Marak: most likely a hook.io problem at its core, but it would be nice to have that support in EE2 i think [21:09] tjholowaychuk: hmm [21:09] tjholowaychuk: yeah you almost need two chars [21:09] Marak: tjholowaychuk: that is what i was thinking [21:09] Marak: tjholowaychuk: double ** versus single * [21:09] Marak: or something [21:09] tjholowaychuk: *::foo [21:10] Marak: i am using "::" as the delimiter if its not clear [21:10] tjholowaychuk: yeah, in my mind "*:foo" would match bar:baz:foo etc [21:10] tjholowaychuk: but you would definitely need flexibility to do what you're doing there too [21:11] ceej has joined the channel [21:12] Cromulent has joined the channel [21:13] tjholowaychuk: Marak that would work out good actually, because if * was the greedy char .on( [21:13] tjholowaychuk: '*' wouldn't be special-cased anymore [21:13] tjholowaychuk: just not sure what a good char is for the other method [21:13] Marak: tjholowaychuk: exactly [21:14] tjholowaychuk: %.foo [21:14] tjholowaychuk: i dunno [21:14] liveink has joined the channel [21:14] Marak: tjholowaychuk: its a hard problem, im not sure either. i bet the jquery guys know the right answer [21:14] Marak: ben_alman or scott_g [21:14] Marak: ben_alman probably knows what to do [21:16] nerdfiles2 has joined the channel [21:18] felixge has joined the channel [21:18] felixge has joined the channel [21:19] trevogre has joined the channel [21:20] nerdfiles1 has joined the channel [21:21] Wizek has joined the channel [21:24] EagleCoder has joined the channel [21:27] blup has joined the channel [21:27] smtlaissezfaire has joined the channel [21:28] Dracko: hello i need some help with the node crypto library [21:28] Margle has joined the channel [21:29] Dracko: i have this hash encripted in sha512 and i want to decrypt it using the correct secret key [21:29] Dracko: any ideas? [21:29] Dracko: ty [21:30] stagas_ has joined the channel [21:31] JaKWaC has joined the channel [21:33] mcantelon has joined the channel [21:35] robotmay has joined the channel [21:35] tylerstalder has joined the channel [21:35] abjorn has joined the channel [21:36] TheJH: Dracko, you can't reverse a hash function - you could try all possible values until you find the right one, but there isn't really another way to reverse a hash, and you should only need to do it in case you're an evil attacker or want to do bitcoinb or so [21:36] pixel13 has joined the channel [21:36] smathy has joined the channel [21:36] TheJH: *bitcoin [21:36] pixel13 has left the channel [21:36] smus has joined the channel [21:36] Dmitrijus: Dracko: just try to google the hash [21:36] TheJH: Dracko, and that would be heavy number crunching, one of the few tasks node is really bad at [21:37] Dracko: no, its just that i am trying to read from a node app the session that a rails app created [21:37] Dmitrijus: it is funny, but it works surprising a lot [21:37] dreamdu5t: Yeah, I think he really means decrypt an encrypted value, not decrypt a hash. [21:37] TheJH: Dmitrijus, not if someone sane figured it'd be not that bad of an idea to use a salt [21:37] harthur has joined the channel [21:37] tuhoojabotti has joined the channel [21:37] trupppOFF has joined the channel [21:38] TheJH: dreamdu5t, he said sha512 [21:38] Dmitrijus: TheJH: yeah, right, and everybody write a beautiful code [21:38] Dracko: rails constantly reads that cookie and decripts it to read the session variables [21:38] TheJH: dreamdu5t, "In cryptography, SHA-2 is a set of cryptographic hash functions (SHA-224, SHA-256, SHA-384, SHA-512) designed by the National Security Agency (NSA) and published in 2001 by the NIST as a U.S. Federal Information Processing Standard. SHA stands for Secure Hash Algorithm." [21:39] dreamdu5t: @Dracko: http://nodejs.org/docs/v0.4.12/api/crypto.html#crypto.createDecipher [21:39] TheJH: Dracko, I'm sure you mistaken about something. either about the algorithm used or about how it works [21:39] Dmitrijus: TheJH: but i use salts to imprint my authorship on hash'es, like mah name, year and town! [21:39] TheJH: dreamdu5t, he said sha512. that's a hash algorithm. [21:39] dreamdu5t: TheJH: Public-key cryptography often uses SHA512. [21:40] Lingerance: rails constantly reads that cookie and decripts it to read the session variables <-- it's probably using the hash to look up the session data, which means it has that data somewhere [21:40] Dracko: yes i am not sure if rails uses sha512 or what algorithm, but i know i declare a secret_token in the configuration that is used to sign the cookies [21:40] githogori has joined the channel [21:41] dreamdu5t: Those cookies are probably not meant to be decrypted Dracko, but compared to existing hashes in the DB [21:41] neilk_ has joined the channel [21:41] Dracko: im not sure.. i declared a :cookie_store as the session store [21:42] dreamdu5t: So record A in your DB contains {user: dreamdust, session: 3uhu3h23dhudhud3hd} [21:42] rendar: the usually used sha-1 is sha-256 ? [21:42] dreamdu5t: The cookie contains 3uhu3h23dhudhud3hd [21:42] dreamdu5t: so you compare the cookie value to get that record [21:42] Dracko: so the session information is stored in the browser, but encripted by the secret_token [21:42] dreamdu5t: The secret_token is just used to create a unique hash [21:42] Dracko: so i think it would be a great way to comunicate a node app to the session information that way [21:42] dreamdu5t: I'm assuming, I don't actually use Rails. [21:43] TheJH: Dracko, I really think you should ask the rails guys about this, not us [21:43] TheJH: Dracko, we can guess around, but it won't help you much [21:44] Dracko: youre right, ill try to get more info about it.. ty for your attention [21:45] Dracko: http://stackoverflow.com/questions/3698194/rails-3-cookie-based-sessions-question [21:45] joshkehn has left the channel [21:46] Xano has joined the channel [21:46] c4milo1: somebody using node-http-proxy? [21:46] dreamdu5t: See http://guides.rubyonrails.org/security.html#sessions and #rails [21:46] constantx has joined the channel [21:47] CoverSlide: c4milo1: joyent is using it [21:47] trevogre has joined the channel [21:48] c4milo1: CoverSlide: nice, I just wanted to ask a couple of questions [21:50] trevogre: I'm trying to use npm to install packages on Arch, specificly forever. The information I have on forever is that after install I can run it from shell, but it isn't running. Do I need to add something to my path. [21:50] trevogre: what is npm not handling for me? [21:50] smathy: trevogre… you installing with the -g flag? [21:50] trevogre: meh.. I guess I'm not following instructions. [21:50] trevogre: I'll try that. [21:51] smathy: trevogre… or they left it out, that's one of those "everyone just knows" things that are occasionally overlooked in various docs. [21:51] trevogre: Well, it came up in the output that I should do that. [21:51] smathy: Ha :) [21:51] smathy: Ok, I can't defend you there :) [21:51] AvianFlu: general rule, if you're trying to install a CLI tool, use -g [21:51] trevogre: But I was ingnoring in because I'm stubborn about command line flags (I hate them). [21:52] trevogre: Whats the -g do again? [21:52] smathy: trevogre… good, much better to just ask in IRC than read the docs :) [21:52] smathy: trevogre… global [21:52] trevogre: Can I do "Verbose Flags On" [21:52] AvianFlu: it installs it to the npm node_modules directory and links any bin script to /usr/local/bin [21:52] AvianFlu: so you can run it [21:52] AvianFlu: from anyplace [21:52] trevogre: So -g always [21:52] trevogre: gotcha [21:52] AvianFlu: for CLI tools, yes [21:52] AvianFlu: if you need a project dep, don't use -g [21:53] smathy: trevogre… for some reasonable docs (could be better): npm help npm [21:53] AvianFlu: that will put it in ./node_modules/package [21:53] trevogre: smathy, unfortunately helpful people have save me a ton of time over searches and reading. Which I also do. [21:53] trevogre: Real People > Search [21:54] smathy: trevogre… you can also install in your ~ and just add ~/node_modules/.bin to your path [21:54] JSManiacs1 has joined the channel [21:54] TheJH: trevogre, but the real people will need to spend time for this, too [21:54] mandric has joined the channel [21:54] trevogre: TheJH I though that was what IRC was for?! [21:54] smathy: trevogre… just messin' with ya :) [21:55] TheJH: trevogre, first rtfm, then ask :D [21:55] MooGoo: the best strategy is to ask then start searching and reading [21:56] trevogre: TheJH I try, but when the manual comes back with -y -o -u -a -r -e -a -n -i -d -i -o -t -a -n -d -c -a -n -u -n -d -e -r -s -t -a -n -d -l -i -n -u -x [21:56] trevogre: I get a bit frustrated. [21:56] MooGoo: man pages are good I've heard [21:56] donspaulding has joined the channel [21:56] constantx_ has joined the channel [21:57] devongovett has joined the channel [21:57] trevogre: The thing I don't like about man. Is that you get a sea of flags when you need examples. [21:57] TheJH: v8> "-y -o -u -a -r -e -a -n -i -d -i -o -t -a -n -d -c -a -n -u -n -d -e -r -s -t -a -n -d -l -i -n -u -x".replace(/[- ]/g, '') [21:57] v8bot_: TheJH: "youareanidiotandcanunderstandlinux" [21:57] trevogre: nice. left out a few letters. [21:57] trevogre: can't [21:58] ceej has joined the channel [21:58] davida has joined the channel [21:58] Nuck: tjholowaychuk: Is there a reason why Mustaches of some form haven't made it into Express's builtin templates? [21:58] MooGoo: the *nix shell is kinda like PHP, a crap ton of functions/commands all which behave arbitrarily different [21:59] ceej has joined the channel [21:59] tjholowaychuk: Nuck there are no builtin templates [21:59] bicranial has joined the channel [21:59] tjholowaychuk: unless you're talking about express(1) generated apps [21:59] tjholowaychuk: in which case the answer is no one has done it :D haha but there's no reason we couldn't [21:59] Nuck: tjholowaychuk: The templating engines I meant? [21:59] MooGoo: it still irks me that scp uses -P for port and ssh uses -p [21:59] MooGoo: I mean wtf [21:59] tjholowaychuk: there are no builtin templates [21:59] tjholowaychuk: template engines* [22:00] trevogre: ls [22:00] trevogre: oops. [22:00] Nuck: tjholowaychuk: hehe true [22:00] ap3mantus has joined the channel [22:00] Nuck: tjholowaychuk: I meant the ones you list in the docs, but I guess they really aren't builtin, per say [22:00] CoverSlide: . .. porn/ xxx/ shemale/ [22:01] tjholowaychuk: Nuck yeah i just need to redo the site some time and compile a better list of extensions/template engines/applications [22:01] tjholowaychuk: all of that is pretty outdated [22:01] davida has joined the channel [22:01] Nuck: tjholowaychuk: I'm thinking of moving from EJS to some form of mustaches, because I can do basically all I want, but without breaking into JS at any point [22:02] donspaulding: is there a more appropriate forum to ask questions about a failed NPM install? [22:02] aho: windows? [22:02] aho: (npm doesnt work yet on windows) :_ [22:03] donspaulding: no, not windows, osx [22:03] donspaulding: https://gist.github.com/1238497 [22:03] TheJH: donspaulding, what's the problem you're experiencing? could you gist the error? [22:03] donspaulding: ACTION climbs out of the time machine [22:03] tjholowaychuk: Nuck yeah [22:03] Nuck: God there's so many mustaches [22:03] tjholowaychuk: i like some of the mustache variants to some degree [22:04] Nuck: D: [22:04] Nuck: Mu, mustache.js, handlebars [22:04] tjholowaychuk: one more like django templates would be better [22:04] tjholowaychuk: but still mustachy [22:04] Hosh has joined the channel [22:04] MooGoo: is there hitler-mustache.js? [22:05] n1mmy has joined the channel [22:05] trevogre: Donspaulding went back in time and killed hitler-mustache.js [22:05] TheJH: donspaulding, uh, that's weird... [22:05] donspaulding: node version is 0.5.5, built from the joyent github repo [22:05] MooGoo: using node-timetravel? [22:06] donspaulding: using python [22:06] donspaulding: ACTION ducks [22:06] MooGoo: I....dont get it [22:07] donspaulding: TheJH: I agree, and there are several issues on isaacs github that appear identical, but the common solution is to rebuild node, and I've already tried that twice. [22:07] MooGoo: ACTION throws a chair at donspaulding anyway [22:07] Daegalus: I wanna hear thoughts on using CoffeeScript to write Node.js apps [22:08] tjholowaychuk: are you sure you want to hear about that [22:08] MooGoo: coffeescript bad js good [22:08] donspaulding: ACTION uses time travel device to freeze time and switch places with MooGoo, so he hits himself with the chair [22:08] smathy: Daegalus… just as good/bad as writing any other thing with CS. [22:08] smathy: Daegalus… if you (like/hate) it elsewhere then you'll \1 it in node too. [22:08] Daegalus: smathy: i never used it, hence i am asking if its worth my time learning it [22:08] Nuck: Daegalus: Two words for you: "don't." [22:08] Daegalus: tjholowaychuk: yes [22:08] bnoordhuis has joined the channel [22:09] dreamdu5t: @Draco: Decrypt a rails cookie in node.js, I think: http://pastebin.com/T4zn1fpD [22:09] smathy: Daegalus… I love it - but it's subjective. [22:09] Daegalus: syntax wise i like it, but im curious how it fares in performance/etc when use to write a Node.js app [22:10] felixge has joined the channel [22:10] felixge has joined the channel [22:11] Daegalus: mostly I mean how is the compiled JS that it outputs vs writing JS directly [22:11] dreamdu5t: CS compiles to valid JS… so it's fine for node.js. [22:11] dreamdu5t: It's about what you prefer. [22:11] slickplaid: Has anyone tried compiling bcrypt for windows? [22:11] MooGoo: last I checked the CS compiler had no option to disable the generation of browser compatibility code [22:11] Raynos has joined the channel [22:11] Nuck: It's also about whether you're willing to ask yourself "what's the equivalent CS for this JS I'm thinking of" every 5 seconds [22:12] levi: If you look at the CS homepage, they show how all the CS forms look in javascript. It's fairly straightforward stuff, for the most part. [22:12] Daegalus: Nuck: the thing is, I don't know JS that well to think that, so if I got offeescript its like its own language to me, with no relation to JS [22:12] slickplaid: I spent about a week writing coffeescript. Then went back after it took me a day to write what should have taken me a couple hours. [22:12] Nuck: Daegalus: Oh, learn JS first [22:12] dreamdu5t: Learn JS first. [22:12] slickplaid: I know exactly what you mean nuck :D [22:12] eric_b: Daegalus, I'm in a pretty similar situation, I tried learning CS/Node at the same time, and just got confused [22:13] Nuck: Don't learn CS before JS [22:13] eric_b: this time around just sticking with JS and it's a lot easier [22:13] Nuck: That's the biggest mistake you can make [22:13] slickplaid: stick with JS, it's here to stay. [22:13] TheJH: donspaulding, could you try installing npm from git and patching lib/utils/mkdir-p.js, line 125 or so, from `if (er && er.message.indexOf("EEXIST") === 0) {` to `if (er && er.message.indexOf("File exists") >= 0) {`? [22:13] Daegalus: kk, thats what i wanted to know [22:13] tjholowaychuk: a) use CS AFTER you learn js b) DONT use CS for open-source [22:13] Daegalus: glad i already started in JS and havent bothered with CS [22:13] Nuck: slickplaid: As Brendan Eich says, "Always bet on JavaScript" [22:13] Daegalus: tjholowaychuk: oh all my projects are going to be open source, sooo no CS then [22:13] slickplaid: good man :D [22:14] Nuck: I'm curious [22:14] MooGoo: CS source isnt open now? [22:14] Nuck: Has a CS compiler been written in CS? [22:14] Lingerance: ACTION immediately closes any tab of a github project if it uses CS [22:14] Nuck: Lingerance: Same. [22:14] Lingerance: MooGoo: It's annoying to read [22:14] Dmitrijus: wth [22:14] Dmitrijus: is CS/ [22:14] donspaulding: TheJH: was already trying the git install, patched and rerunning `make install` now [22:14] MooGoo: a lot of open source code is annoying to read [22:14] Lingerance: CoffeeScript [22:14] Daegalus: Dmitrijus: CoffeeScript [22:14] slickplaid: Dmitrijus: coffeescript [22:14] Dmitrijus: ah [22:15] tomtomaso has joined the channel [22:15] Dmitrijus: boooring [22:15] Dmitrijus: :( [22:15] rfay has joined the channel [22:15] donspaulding: TheJH: same error [22:15] Lingerance: MooGoo: It's worse when they give examples in it. [22:15] TheJH: donspaulding, :( [22:15] Daegalus: Nuck: the offiical CS compiler is in CS [22:15] Nuck: Daegalus: OIC [22:15] slickplaid: honestly, i spent a lot of time in the online CS to JS compiler looking at the JS to see if that was what i was really meaning [22:15] tomtomaso has joined the channel [22:15] slickplaid: when it dawned on me... I already know JS, and I know it well [22:15] slickplaid: why the hell am i doing this to myself [22:15] Nuck: slickplaid: So why use CS haha [22:16] Nuck: I love JS [22:16] slickplaid: same here [22:16] Nuck: CS is rubbing feces on my language. I disapprove. [22:16] tjholowaychuk: ahahahaha [22:16] slickplaid: more of a pride thing, wanted another language i could say I'm familiar with [22:16] Dmitrijus: indeed [22:16] Nuck: slickplaid: CS isn't a language, it's a toy. [22:16] slickplaid: pride/resume, but then realized it really has no bearing in a resume [22:16] Daegalus: though i like the pythonesque style ot CS. no semicolons, no braces. pure indentation [22:16] MooGoo: meh [22:16] Dmitrijus: meh [22:17] slickplaid: i did too, at first [22:17] Nuck: That's like telling them "I am awesome at LEGOs" [22:17] tjholowaychuk: CS would be nice for templates, that's about it [22:17] MooGoo: you dont seed semicolons in JS [22:17] slickplaid: then i started despising it [22:17] Nuck: It's entirely irrelevant [22:17] TheJH: donspaulding, fire up the node repl. what does `require("fs").statSync("/Users").isDirectory()` say? [22:17] Nuck: tjholowaychuk: Yeah, I agree. CoffeeKup is kinda cool [22:17] tjholowaychuk: not even that [22:17] tjholowaychuk: but "if foo and bar" or whatever is nice for designers [22:17] Nuck: haha true enough [22:17] slickplaid: yeah, true [22:18] tjholowaychuk: the whole coffeekup/markaby thing has been done a million times, works ok with CS i guess [22:18] Lingerance: ACTION uses a port of ExtJS' XTemplate for templates. [22:18] donspaulding: TheJH: true [22:18] Nuck: Ugh [22:18] TheJH: donspaulding, weird... [22:18] Nuck: I don't think I can deal with the lack of dot-notation in Mustache [22:18] MooGoo: I've never seen the appeal of python-esque syntax; its only superficily easier to understand [22:18] MooGoo: but code is code [22:18] Nuck: Anyone know a variant that's got it? [22:18] Daegalus: MooGoo: less keystrokes [22:18] slickplaid: funny thing, when i was writing stylus css the other day, i realized half way through that I had been writing completely correct CSS for the past several hours and not even thinking about it [22:19] slickplaid: nice thing was, stylus didn't care :D [22:19] tjholowaychuk: haha [22:19] Nuck: slickplaid: I use LESS [22:19] tjholowaychuk: stylus dominates [22:19] Nuck: So I *am* doing CSS [22:19] Nuck: It's just... Inceptionier. [22:19] slickplaid: didn't I read something about mozilla going to start being able to parse stylus raw in the browser now? [22:20] slickplaid: or was that another css derivitive [22:20] Nuck: slickplaid: Orly? [22:20] tjholowaychuk: if you did it probably was not true [22:20] Daegalus: Blah, time to wipe my machine and reinstall Windows8 [22:20] Nuck: ACTION wants LESS in the browser [22:20] softdrink: ACTION looks at his calendar [22:20] tjholowaychuk: they should support some kind of lineno directive [22:20] softdrink: nope. not april 1st. [22:20] Nuck: tjholowaychuk: No, that encourages CoffeeScript [22:20] slickplaid: granted it was talk around a coffee machine/water cooler [22:20] slickplaid: so who knows what that person was saying was true or not [22:21] fangel has joined the channel [22:21] TheJH: donspaulding, this one? `require("graceful-fs").statSync("/Users").isDirectory()` (the repl needs to be inside the npm folder) [22:21] slickplaid: obj oriented css is sexy though [22:21] tjholowaychuk: transparent mixins is where it's at [22:21] Nuck: I think we should leave JS free of a lineno directive, simply so we can discourage CoffeeScript and whatnot [22:22] slickplaid: haha [22:22] Nuck: Also dart [22:22] slickplaid: dirty politics is what i call that [22:22] MooGoo: CS would be easier to discourage if JS syntax didnt evolve slower than IE [22:22] Nuck: It'll help discourage dart [22:22] softdrink: and visualbasic [22:22] softdrink: ACTION ducks [22:22] slickplaid: Oh yeah, getting around a law we set up? That's it, we're pulling your funding. [22:22] Nuck: MooGoo: It has problems, and CS solves them but it also solves 500 other things that didn't need solving. [22:23] tjholowaychuk: jesus [22:23] tjholowaychuk: chromium is almost 1g [22:23] Nuck: MooGoo: "I got 99 problems, but JS syntax ain't one" [22:23] slickplaid: if(~~!!!~!~~false) takePantsOff(); [22:23] MooGoo: well according to most python/CS fanbois, C-style syntax is a problem [22:23] MooGoo: it must be solved [22:23] slickplaid: my kind of russian roulette [22:23] tjholowaychuk: c-style is sweet [22:24] Nuck: MooGoo: According to me, Python-style syntax is like Herpes [22:24] MooGoo: c-style is the on true syntax [22:24] Nuck: Extremely painful and embarassing [22:24] MooGoo: one [22:24] Daegalus: i liek both, but i prefer less typing, so i tend to prefer python-style [22:24] Nuck: MooGoo++ [22:24] v8bot_: Nuck has given a beer to MooGoo. MooGoo now has 4 beers. [22:24] Nuck: jeebus all these netsplits [22:24] slickplaid: Amen. [22:24] Nuck: Are we turning into irchighway? [22:24] MooGoo: if JS got a real function literal short-hand, that would solve 90% of my issues with it [22:24] Nuck: MooGoo: IDGAF about that [22:25] MooGoo: well poo to you then [22:25] Nuck: I think prototypes weren't designed too well [22:25] Nuck: That's my problem, the prototypical stuff is kinda meh [22:25] Nuck: The idea is great, implementation is meh [22:25] MooGoo: thats what __proto__ is for [22:25] tjholowaychuk: prototypes are sweet [22:25] tjholowaychuk: js just sucks at them [22:25] MooGoo: despite its disagreable naming [22:25] tjholowaychuk: FML [22:25] softdrink: MooGoo: thanks to vim, i *have* a short version of function. if i type ƒ, it gets expanded to "function". all instances of "function" show up as ƒ… :D [22:25] tjholowaychuk: cancelled chromium [22:26] MooGoo: it would be 100% better if __proto__ was in the spec [22:26] Nuck: MooGoo: No, I use msotly Object.create and closures [22:26] tjholowaychuk: yeah [22:26] Nuck: Because I <3 Closures [22:26] slickplaid: +1 [22:26] Nuck: The best part of JS IMHO [22:26] tjholowaychuk: object.create is lame [22:26] tjholowaychuk: dont need it [22:26] tjholowaychuk: ditch constructors, ditch .prototype [22:26] softdrink: i did the same thing with "this": µ [22:26] tjholowaychuk: give us __proto__ [22:26] MooGoo: Object.create doesnt allow you to change the prototype of an already existing object [22:26] Nuck: MooGoo: And I don't care [22:26] slickplaid: i prefer __pronto__ [22:27] softdrink: __pronto__ is faster than __proto__ isn't i? [22:27] tjholowaychuk: access to the chain is far more powerful [22:27] softdrink: *it [22:27] slickplaid: usually... only on weekdays [22:27] Nuck: You can have your __proto__, just give me Object.create [22:27] MooGoo: and the ECMA5 object.create uses the awful defineProperty syntax if you want to create an object that has properties on it [22:27] tjholowaychuk: MooGoo yeah that's lame too [22:27] tjholowaychuk: totally agree [22:28] Nuck: MooGoo: I will agree with that [22:28] slickplaid: i dont think i've used .create much [22:28] tjholowaychuk: we shouldnt even have property descriptors [22:28] tjholowaychuk: fuck [22:28] tjholowaychuk: such a mess [22:28] igl has joined the channel [22:28] MooGoo: I mean...you can create a wrapper function [22:28] MooGoo: but meh [22:28] Nuck: I just like Object.create because it's got the optimizability of prototypes, with the freedom of whatever the fuck you want [22:29] softdrink: i just want to drop IE support all together... [22:29] robi42 has joined the channel [22:30] brianc1 has joined the channel [22:30] cying_ has joined the channel [22:30] softdrink: apparently my zippo hand warmer is ferrous. [22:30] tuhoojabotti has joined the channel [22:30] trupppOFF has joined the channel [22:31] harthur has joined the channel [22:31] shanez_ has joined the channel [22:31] bicranial has joined the channel [22:32] MooGoo: I'm not sure using zippos to warm your hand is the best aidea [22:32] MooGoo: idea [22:33] softdrink: http://www.zippo.com/products/handwarmer.aspx [22:33] slickplaid: haha [22:33] julio has joined the channel [22:33] MooGoo: what...no built in lighter? [22:34] MooGoo: I think lighters should be built into everything [22:34] cliffano has joined the channel [22:34] cying has joined the channel [22:34] softdrink: my shoes have built-in lighters [22:34] softdrink: [22:34] julio: lighters are handy [22:36] cying has joined the channel [22:37] hasenj has joined the channel [22:37] MooGoo: yes...yes they are [22:37] MooGoo: node-findlighter [22:37] sechrist has joined the channel [22:38] Cromulent has joined the channel [22:38] sechrist: Is there a way to use the npmjs.org/install.sh without a /dev/tty? [22:38] sechrist: I'm using dsh to issue commands and it's being problematic [22:42] davidascher has joined the channel [22:43] donspaulding: TheJH: if you're still there, I ran that second command, and it is also saying `true` for the isDirectory() call. [22:43] tylerstalder has joined the channel [22:43] TheJH: donspaulding, hmm, I really don't understand that... [22:44] dmkbot has joined the channel [22:46] kevmmmm has joined the channel [22:46] donspaulding: can someone cheer me up? my boss is choosing node for a project at work that is a rewrite of a django project. As best as I can tell, he's only choosing node because he has Shiny Object Syndrome. Is there a technical advantage to using node.js instead of python to write a custom proxying server? [22:47] donspaulding: (I probably wouldn't be so melancholy if I could just get %#$% npm installed) [22:47] MooGoo: is there anything wrong with the python version? [22:47] slickplaid: Sounds like a job for... Google Man! [22:47] MooGoo: er [22:47] gregpascale has joined the channel [22:47] MooGoo: or whatever [22:48] slickplaid: if you dont have a previous python version going, why not try node :D [22:48] maxogden: donspaulding: if you like learning things then playing with node's http streams is quite fun IMHO [22:48] slickplaid: it's easy and there are quite a few examples of proxy servers (and even some ready built ones) OSS and all that [22:48] donspaulding: MooGoo: not really, we just have to rewrite it because the client whose content we proxy has changed their webpages significantly, so instead of doing the modifications to the existing codebase, he just wants to rewrite it in node. [22:48] MooGoo: least he's not forcing you to write it in PHP [22:49] MooGoo: heh [22:49] slickplaid: MooGoo: +1 [22:49] donspaulding: MooGoo: true dat [22:49] donspaulding: ACTION pours one out for the homies still stuck in PHP [22:50] maxogden: donspaulding: theres a difference between shiny object syndrome and 'lets try out a new technology so that our engineers can expand their skillsets' [22:50] addisonj has joined the channel [22:50] MooGoo: such a thoughtful company [22:50] donspaulding: maxogden: I think I'd recognize the latter if I'd seen it. [22:50] MooGoo: has he ever suggested Ruby on Rails for a project...say around 5 years ago [22:50] Nuck: OMG Handlebars.js <3 [22:51] boogyman has joined the channel [22:51] Nuck: Just when I was thinking "ehhh, this syntax could be clunky" about Mustache, I find Handlebars and see it's solved everything [22:51] donspaulding: MooGoo: around 5 years ago I nudged the company to switch from classic ASP to Django. [22:52] simoon has left the channel [22:52] donspaulding: maxogden: I'm actually looking forward to it, but only for that reason, not for any technical one. [22:52] slickplaid: i'd jump at the opportunity to write node.js code if I were you... but then again, I love nodejs so I'm biased :D [22:52] slickplaid: donspaulding: have you read all the buzzwords surrounding node? [22:52] maxogden: donspaulding: its hard to justify a technical reason to do something before youve written it [22:53] slickplaid: donspaulding: non-blocking io, event driven, etc etc [22:53] maxogden: donspaulding: if i were your boss i would spike it out in node instead of fully committing [22:53] donspaulding: maxogden: it's hard to justify building on a new technology for in-production apps that have a due date in the not-too-distant future. [22:53] MooGoo: buzzwords, like how non-blocking-io is somehow seen as a node exclusive feature [22:53] donspaulding: ^ which it's not [22:54] Nuck: MooGoo: The style of async which Node provides is relatively uncommon [22:54] Nuck: And the amount of async too [22:54] MooGoo: I couldnt really say [22:54] donspaulding: and relatively hard-to-read and debug [22:54] Nuck: donspaulding: Not really [22:55] slickplaid: I've gotten used to it and actually enjoy it, tbh [22:55] Nuck: If it's hard to read or debug, it's only because you haven't learned it [22:55] tjholowaychuk: single stack does suck in some ways [22:55] MooGoo: twisted doesnt use callbacks? [22:55] Nuck: I'd say the same about Ruby on Rails [22:55] Nuck: Looks confusing and it's hard to read [22:55] donspaulding: MooGoo: it does, who said anything about twisted being easier to debug though. [22:55] necrodearia has joined the channel [22:55] MooGoo: I didnt...I'm wondering how nodes style of async is uncommon [22:56] StanlySoManly1 has joined the channel [22:56] MooGoo: it seems relativly straight foward [22:56] Nuck: MooGoo: The forced async [22:56] markwubben has joined the channel [22:56] tjholowaychuk: it's mostly a language issue [22:56] Nuck: Not so many environments force async [22:56] slickplaid: tjholowaychuk: but there are ways around single stack [22:56] MooGoo: nor does node [22:56] Nuck: Plus, nobody cares about Python [22:56] Aikar: MooGoo: in that it was built on a language that was event driven by design, where other languages are designed procedurally [22:56] tjholowaychuk: where ruby etc give you a mixed bag of stupid crap [22:56] tjholowaychuk: for concurrency [22:56] donspaulding: Nuck: :-) [22:56] slickplaid: lol [22:57] Nuck: MooGoo: If you use sync, I will personally stab you to death. [22:57] tjholowaychuk: slickplaid yeah, it just sucks when you're trying to create something robust [22:57] Nuck: So yes, it's forced. [22:57] tjholowaychuk: and you have 50 evnt emitters that could emit "error" [22:57] MooGoo: lol [22:57] slickplaid: tjholowaychuk: very true :D [22:57] tjholowaychuk: other than that it's fine [22:57] tjholowaychuk: but normally one try/catch [22:57] tjholowaychuk: would solve your problems [22:57] Nuck: tjholowaychuk: haha yeah [22:57] MooGoo: I go out of my way not to use sync [22:57] Nuck: tjholowaychuk: I just never throw, I next(err); [22:57] tjholowaychuk: sure [22:57] Nuck: Thanks to Express [22:57] Nuck: That's easy [22:57] tjholowaychuk: but even if you dont throw [22:57] tjholowaychuk: some things emit "error" [22:57] donspaulding: MooGoo: how far out of your way? [22:58] donspaulding: MooGoo: eventually you block on something, no? [22:58] Nuck: tjholowaychuk: Generally I don't deal with raw EventEmitters [22:58] MooGoo: spawning a child process way [22:58] Nuck: At least not on this project [22:58] MooGoo: if I have to [22:58] slickplaid: i love eventemitters [22:58] donspaulding: ^ I contend that you have to. [22:58] Aikar: i love chicken. [22:58] Aikar: sorry. that was random [22:58] slickplaid: i love lamp [22:59] aoberoi has joined the channel [22:59] Nuck: donspaulding: Honestly, I've never had to block on basically anything, except startup procedures [22:59] SubStack: I am incapable of this emotion which you call "love". [22:59] Nuck: And even then, I'm generally sticking to promise-based things in there [22:59] SubStack: beep boop [22:59] TheJH: SubStack, life must be hard for robots [22:59] Nuck: (Mongoose's startup procedures, namely) [22:59] donspaulding: sync vs. async only solves the problem of waiting on slow connections, it doesn't magically make processing/storage/retrieval of any data any faster. [22:59] Aikar: no its not, everything is either 1 or 0 for them [22:59] MooGoo: and node < .5 doesnt make using child node processes particuarliy convienent [22:59] slickplaid: substack just gave me an idea for a useless(tm) program idea [23:00] albertosheinfeld has joined the channel [23:00] Aikar: donspaulding: well it does when it comes to needing to request multiple resources to obtain a single result set [23:00] SubStack: Aikar: robots are capable of floating point calculations [23:00] SubStack: arbitrary precision floating point calculations even [23:00] Aikar: if the 3 required can run at same time instead of 1 after another as it is in like PHP, thats a time saver [23:00] slickplaid: after considering calling him a nazi, maybe create a automated godwin's law calculator with input for #node.js logs [23:00] SubStack: as computationally expensive as those can be [23:01] donspaulding: Aikar: yes, but that can easily be solved with other architectures besides async. [23:01] Aikar: how? [23:01] locksfree has joined the channel [23:01] Aikar: if you have 3 remote API calls or DB calls [23:01] Aikar: how besides threads* [23:01] donspaulding: Aikar: what's wrong with threads? ;-) [23:02] Aikar: I/O is one of the main NEEDS of threads in web programming [23:02] Aikar: with async style, you dont need them [23:02] MooGoo: wut [23:02] MooGoo: oh threads [23:02] donspaulding: Aikar: but then you need to write async code. Fixing problems with architecture keeps code cleaner. Clean code is cheap code. [23:02] Aikar: do 3 calls at same time with async, or spawn 3 threads just to get parallel result sets [23:03] TheJH: donspaulding, could you try node v0.4.x? [23:03] Aikar: whats stopping you from writing clean async code? dont blame inexperience with a system as the systems fault [23:03] donspaulding: TheJH: I can, hang on. [23:03] Lemon|mbp has joined the channel [23:03] MooGoo: nodejs is contribputing to anti-thread propoganda [23:03] TheJH: donspaulding, btw, https://github.com/joyent/node/issues/1401 is the issue [23:03] micheil has joined the channel [23:03] maxogden: another day another 'node needs coroutines' argument [23:03] MooGoo: yes [23:03] MooGoo: yes it does [23:04] Frippe has joined the channel [23:05] donspaulding: maxogden: sorry, I'll back off. [23:05] slickplaid: best case: try it and you find that it's easy to use, maintain and you learn to use nodejs [23:06] slickplaid: worst case: you hate it, blows up the company and you get fired [23:06] slickplaid: what's there to lose? [23:06] mandric has joined the channel [23:06] MooGoo: blowing up would seem like a bug [23:06] MooGoo: or an awesome feature [23:07] MooGoo: depending on how you look at it [23:07] nibblebo_ has joined the channel [23:07] MooGoo: im no expert about anything....but doesnt node/libeio use threads internally [23:08] MooGoo: for its asyncness [23:08] Aikar: for files yes [23:08] donspaulding: slickplaid: worst case: I hate it, it blows up the company, I lose my job, I sit around the house in my underwear, my wife - tired of my laziness - decides that instead of killing me in my sleep she'd rather bury me alive. [23:08] Nuck: MooGoo: Not everything [23:08] Aikar: because async file io is iffy or something [23:08] Nuck: Soem things are using system calls [23:08] donspaulding: slickplaid: if you're going to go worst case, we might as well go for broke. [23:08] slickplaid: good point [23:08] Nuck: Aikar: When there are async IOs, it uses them, IIRC [23:08] Aikar: network io is async [23:08] MooGoo: http IO is threadless? [23:08] Aikar: yes [23:09] Aikar: some people have gotten like 100k+ connections [23:09] Aikar: persistent connections* [23:09] JSManiacs has joined the channel [23:09] MooGoo: is the file IO issues a nix thing [23:09] Aikar: i think windows does have better file io calls, but yeah i believe its just nix doesnt have good ones or 'not a good library' [23:10] dominictarr has joined the channel [23:10] gazumps has joined the channel [23:10] MooGoo: I'm still not convinced of the great usefulness of async local file IO [23:10] Aikar: never wrote an app that writes and reads files? [23:10] jmoyers: uh [23:10] brianseeders has joined the channel [23:10] jmoyers: pretty damn useful [23:11] MooGoo: small files [23:11] jmoyers: in a single threaded context :P [23:11] jmoyers: so you think we should be blocking on file IO? [23:11] Nuck: MooGoo: Any File I/O requires physical moving parts [23:11] MooGoo: no [23:11] Nuck: So it should be async [23:11] jmoyers: try and do static files with readFileSync and test with ab [23:11] Aikar: the point of async is that "when its 'waiting' for something to finish, your app isnt blocked." [23:11] MooGoo: its just often it seems more trouble than it is worth [23:11] Nuck: MooGoo: Never [23:11] Nuck: It's always worth it [23:11] MooGoo: require is sync [23:12] MooGoo: is it worth it then? [23:12] Aikar: so having sync file io, even if little, still breaks the async concept and now your app is sitting there doing nothing when work could be building up in a queue [23:12] jmoyers: fs.createReadStream('file').pipe(response) is not hard [23:12] jmoyers: Streams ftw [23:12] Aikar: MooGoo: the idea is you require() all your files on app start [23:12] Aikar: then its cached [23:12] jmoyers: startup is constant. sync is fine there. [23:13] Aikar: and its very trivial to write an async module loader. [23:13] Aikar: in userland [23:13] Aikar: if you absolutely need it [23:13] MooGoo: I wrote one [23:13] MooGoo: but only cause I needed a module loader that didnt crash the entire script on syntax error [23:13] Nuck: MooGoo: There shouldn't ever be a syntax error [23:13] Nuck: Ideally [23:14] MooGoo: ideally [23:14] MooGoo: ideally I didnt want to have to restart the bot every time I forgot a comma or something [23:15] cying has joined the channel [23:15] levi: So what do people here think about node-fiber, then? [23:15] MooGoo: I like continuations/coroutimes [23:15] donspaulding: TheJH: should I use the git version of npm when I install this on 0.4.10? [23:15] MooGoo: meh [23:16] tjholowaychuk: i like em [23:16] MooGoo: cant spell [23:16] MooGoo: not sure what fibers is exactly [23:16] Aikar: way of writing sync code [23:16] MooGoo: yea [23:16] Aikar: and not block [23:16] levi: It adds code to V8 to give you coroutines. [23:16] TheJH: donspaulding, the curl|sh thing should work, too, and is the preferred method, It hink [23:16] MooGoo: but its not full coroutines [23:16] Nuck: ... coroutines? [23:16] tjholowaychuk: no point adopting it really unless everyone does though, just starts turning into ruby [23:16] MooGoo: is it [23:16] Aikar: it uses context switching, not threads, nor processes [23:16] donspaulding: node fiber is nice, but not as nice as node-metamucil, go with the brand you can trust. [23:17] donspaulding: it keeps my streams nice and regular, in an async kind of way [23:17] schwab has joined the channel [23:17] AAA_awright: Isn't that exactly what threads are? [23:17] MooGoo: I could use some node-ibuprofen [23:17] donspaulding: TheJH: it worked. [23:17] TheJH: donspaulding, :) [23:17] levi: Well, they're not full continuations, and maybe not full coroutines depending on how you define that, but they let you switch JS tasks without requiring OS threads. [23:17] Aikar: AAA_awright: no, thread stacks are alot heavier than a "Green Thread/Fiber" type stack [23:17] donspaulding: TheJH: unfortunately, my boss said to install 0.5.5 :-/ [23:18] shipit has joined the channel [23:18] MooGoo: lol [23:18] Aikar: fiber/green threads still run single threaded [23:18] MooGoo: tell him he's an idiot [23:18] Aikar: only 1 can run at a time [23:18] Aikar: but it has multiple execution stacks [23:18] AAA_awright: So do threads [23:18] TheJH: donspaulding, 0.5.x is called "unstable" [23:18] Aikar: and it switches between them when they are ready to do more work [23:18] MooGoo: long as he wants to only be able to use a fraction of node modules [23:18] donspaulding: MooGoo: apparently you didn't see the 'worst-case scenario' discussion. [23:18] levi: Threads don't scale as far as fibers or whatever you want to call them do. [23:18] TheJH: donspaulding, 0.5.x is "should work, but stuff might break" [23:18] Aikar: in normal single thread, there is a single stack, and to do something else, you unwind the stack back to the event loop, then go back up it to the new function [23:18] tjholowaychuk: AAA_awright they are non-preemptive [23:18] tjholowaychuk: so they dont fuck you over [23:18] levi: OS-threads, that is. [23:18] MooGoo: even if I did donspaulding I've probably forgoten already [23:18] donspaulding: TheJH: ah, actually I didn't know that, nice. [23:19] Aikar: where as fiber/green holds multiple "pointers" to an execution stack, and when one blocks, you simply switch context back to another and unwind down to the event loop there [23:19] MooGoo: make sure you use the git versions of all of nodes dependencies as well [23:19] Aikar: and when that blocked one is unblocked, unwind event loop, switch back to the blocked one, unwind it [23:19] maxogden: fibers let you have a more efficient bucket in which to stuff inefficient programs [23:20] maxogden: the correct way is to use node streams and write your own backpressure logic MIRITE [23:20] donspaulding: TheJH: thanks for your help, I'll check with him tomorrow to see if we can figure out which version makes the most sense to go forward with. [23:20] Aikar: threads have multiple stacks executing at the same time when you got multiple processors. [23:20] donspaulding: MooGoo: thanks for the tip, I'll look into that (although surely the joyent has appropriate git-submodules setup?) [23:20] levi: Asynchronous programs are just as blocked on a given control flow while waiting for a callback as synchronous ones are. [23:21] donspaulding: s/the joyent/the joyent github repo/ [23:21] Aikar: the node git repo bundles deps [23:21] levi: If your execution engine does something else while the synchronous flow is blocked, you lose no significant efficiency overall. [23:21] Aikar: you can just check out and compile, no submodule init needed [23:21] donspaulding: levi: nobody wants to hear that here ;-) [23:21] donspaulding: Aikar: ok, cool, that's what I did then. [23:21] MooGoo: donspaulding: some sure, but node modules are kinda shaky to begin with [23:21] MooGoo: compared to otehr languages [23:22] maxogden: donspaulding: git checkout -v0.4.8 (or whatever) && ./configure && make [23:22] jmoyers: remember this thread? [23:22] jmoyers: https://groups.google.com/forum/#!msg/nodejs/GDqkQzmnwHM/FKETaPivXH4J [23:22] levi: Just because you *can* write code in continuation passing style doesn't mean it's the only way to get the benefits it gives you. [23:22] jmoyers: how about we drop fibers [23:22] MooGoo: probably be a good idea to verify the modules you need work well before you settle on node [23:22] CrisO has joined the channel [23:23] levi: jmoyers: node-fibers exists, man. Why can't we talk about it? No one's suggesting it move into the core of node at the moment. [23:23] jmoyers: its the same thing [23:23] jmoyers: every. single. week. [23:23] jmoyers: its religious [23:23] jmoyers: who gives a shit [23:23] MooGoo: really? [23:23] MooGoo: this is a thing? [23:23] jmoyers: do you follow the mailing list? [23:23] levi: I just asked what people thought about it. I was curious if it was stable, unstable, etc. [23:24] MooGoo: fuck no [23:24] maxogden: jmoyers: put your thoughts in a blog post [23:24] MooGoo: I idle on irc [23:24] qeldroma has joined the channel [23:24] donspaulding: MooGoo: my boss has written a node app before, and it IS SEXY. [23:24] jmoyers: maxogden i suppose i could play my tiny violin on a blog :-) [23:24] donspaulding: but it's a chat app, the kind that "has lots of neat examples and some that might even work off-the-shelf" [23:25] jmoyers: i have to think we can get beyond the fibers/flow control conversation though [23:25] donspaulding: and it took FOREVER to write it, primarily because all the modules were moving targes. [23:25] donspaulding: s/targes/targets/ [23:25] jmoyers: or else how is this community going to progress [23:25] Skomski has joined the channel [23:25] levi: jmoyers: Why is it off-limits for people to write abstraction layers on top of node? Isn't that the point of having a small, well-defined core? [23:25] donspaulding: MooGoo: hence my reservation about writing an app in node that actually has a deadline :-/ [23:25] jmoyers: abstraction, it is not [23:26] jmoyers: fibers are not abstraction [23:26] jmoyers: they are an alternate concurrency model, and a language extension [23:26] MooGoo: you can make it work [23:26] jmoyers: promises are an abstraction [23:26] jmoyers: lets talk about promises! :-) [23:26] tjholowaychuk: fibers <3 [23:26] MooGoo: how is the db module support in node these days [23:26] MooGoo: still sucks for sqlite [23:26] donspaulding: MooGoo: aye, and we probably will with this app, because it's small(ish) and pretty well-defined. [23:26] TheJH: just callbacks and a good async lib <3 [23:27] medice: Marak: earlier you said dnode was using eventemitter2 also? yet as i look it seems to use eventemitter as well [23:27] levi: You guys are silly. Oh well. [23:27] MooGoo: its a proxy server? [23:27] levi: I will refrain from talking about fibers! [23:27] MooGoo: levi I think fibers is fine [23:27] MooGoo: power to the people [23:27] davidbanham has joined the channel [23:27] donspaulding: MooGoo: the new app will be, yes. [23:27] MooGoo: let them do what they want [23:27] TheJH: and maybe coco for not hitting the right border with callbacks just because I don't want to name my callback :) [23:27] TheJH: ACTION runs away and hides [23:27] Marak: medice: i said hook.io uses EE2, over socket.io and dndoe [23:28] MooGoo: why not just use a proxy server?? [23:28] medice: mm-hm [23:28] donspaulding: MooGoo: it's a custom thing, we have 1000's of domains, each pointing to a slightly different webpage. No off-the-shelf stuff is built for that, which is OK, it's how we make money ;-) [23:28] medice: oh well, dnode will probably suffice to my needs anyhow [23:29] MooGoo: sounds coool [23:29] jmoyers: oh noooo, domain sitters! [23:29] jmoyers: you guys aren't allowed to use node [23:29] jmoyers: haha [23:29] donspaulding: jmoyers: it's legit, I promise! [23:29] qeldroma has left the channel [23:30] jmoyers: i'll take your word for it, I GUESS [23:30] MooGoo: dude, it's not a real language till it can be used for evil [23:30] MooGoo: guess that would make js pretty fucking real [23:30] donspaulding: No, we're actually hired by the owner of the content to map these domains to each page, and it's not an SEO thing. Think "each fast food franchise having it's own domain, pointing to the corporate site" [23:31] MooGoo: maybe try a DNS server? [23:31] Corren has joined the channel [23:31] qeldroma has joined the channel [23:31] donspaulding: MooGoo: we have to dynamically modify certain pages to include flash vids. [23:32] donspaulding: (again, at the customer's request) [23:32] jmoyers: sounds like a virtual host, to me [23:32] donspaulding: jmoyers: a virtual host that modifies page content? how? [23:32] jmoyers: donspaulding https://github.com/visionmedia/express/blob/master/examples/vhost/app.js [23:33] jmoyers: you map domains to the same ip [23:33] jmoyers: you use vhost detection, serve different routes/content [23:33] quackquack has joined the channel [23:33] jmoyers: thats a trivial example, but i actually serve something like 12 websites off a single node app [23:33] jmoyers: each domain maps to an app [23:34] tjholowaychuk: i use it to serve like 28 [23:34] tjholowaychuk: tiny little sites [23:34] jmoyers: tjholowaychuk++ thanks for writing it ;-) [23:34] micheil has joined the channel [23:34] donspaulding: jmoyers: I'm not sure that's any simpler than a single app that just rewrites the pages how we need them. I must not be explaining myself very well. Mapping hostnames to content is not the hard part. [23:34] tjholowaychuk: haha np, that whole 15 lines [23:34] MooGoo: wonder how many irc servers I could connect the bot to [23:35] jesusabdullah: FOUR HUNDRED IRC SERVERS [23:35] davidascher has joined the channel [23:35] MooGoo: thats not even close to 9000 [23:36] StanlySoManly has joined the channel [23:36] jmoyers: donspaulding not suggesting it is, just sounded like an existing concept, so i auto-regurgitated :P [23:36] jmoyers: thats a habit of mine [23:36] jmoyers: *bad [23:36] donspaulding: anyway, I need to get going, thanks for all the help everyone. GREAT CHATROOM, WOULD VISIT AGAIN, A+++++++ [23:36] tim_smart: FOUR HUNDRED BABIES [23:36] MooGoo: why would anyone want that [23:36] tmcw has joined the channel [23:36] donspaulding has left the channel [23:36] tim_smart: POWER THIRST [23:37] kimico has joined the channel [23:37] te-brian2: General app architecture Q? Lets say you have a document-driven data backend, but the app has a lot of relationships between documents. Would it make sense to use a more structured db like Redis to hand those relationships? [23:38] mAritz has joined the channel [23:38] te-brian2: Or Lucene or something else? [23:38] TheJH: te-brian2, depends on what you're using the relationships for [23:38] mAritz: i'm looking for a node.js project. Preferable small open source projects that are desperate for more people and are game related. [23:39] dreamdu5t: You could use a graph DB too [23:39] TheJH: te-brian2, sometimes just saving document ids in a document is enough [23:39] te-brian2: TheJH: Fair enough ... simple example friends lists. Seems like Redis is perfectly suited for this. [23:39] TheJH: te-brian2, or couchdb [23:39] te-brian2: TheJH: But using say mongodb for the actual users. [23:40] te-brian2: TheJH: you could just store friends as an array on the user document.. but lets say people have 10,000 friends... [23:40] ryah has joined the channel [23:40] TheJH: te-brian2, everyone with more than 1000 friends should be kicked. reason: "liar" [23:41] te-brian2: dreamdu5t: What is an example of a graph DB? I understand the concept of graphs but don't know of a db made specifically for it. [23:41] MooGoo: the word friend doesnt really carry the weight it used to [23:41] dreamdu5t: http://neo4j.org/ and a video explaining what a graph DB is: http://www.youtube.com/watch?v=2ElGO1P8v0c [23:41] te-brian2: TheJH: In theory yeah .. heh .. but the site in question its not really 'friends' as much as it is 'connetions' [23:42] te-brian2: dreamdu5t: Thnx .. I'll bookmark that for later :0 [23:42] MooGoo: does anyone know how bad Netflix video suggestions is? [23:42] TheJH: te-brian2, I guess I'd maybe fall back to SQL for that, but graph database sounds cool, too [23:42] MooGoo: its bad [23:43] tjholowaychuk: google really needs to use github [23:43] tjholowaychuk: this gitweb thing sucks ass [23:43] te-brian2: MooGoo: Heh... yeah I watched "The L Word" and now you can guess what all my recommendations are :) [23:43] MooGoo: I watched a Buffy episodes like an hour ago, and the best it is giving me is Angel [23:44] MooGoo: hrm [23:44] MooGoo: I dont like unesecariy typing [23:44] te-brian2: wait.. you can just click the "last watched' thing int he upper left? [23:44] te-brian2: thats what I do when I'm watching a whole season [23:45] te-brian2: the video player itself has all the episodes [23:45] MooGoo: yar but if you watch something else [23:46] mAritz: I'm looking for a node.js project. Preferable small open source projects that are desperate for more people and are game related. PM me! :) [23:46] MooGoo: it has a short memory [23:46] te-brian2: ahh.. yeah I tend to blaze through a series with a singular mind :) [23:46] tjholowaychuk: mAritz OH [23:46] tjholowaychuk: dude [23:46] tjholowaychuk: give me #express [23:46] tjholowaychuk: haha [23:46] tjholowaychuk: :) [23:46] c4milo2 has joined the channel [23:47] MooGoo: I dont have the attention span of the woman and she gets bored and watches random anime in the mean time [23:48] zeropx_ has joined the channel [23:48] slifty_corsair has joined the channel [23:49] CrisO has joined the channel [23:49] mAritz: tjholowaychuk: what? :D [23:49] tjholowaychuk: the #express channel [23:49] tjholowaychuk: me wants [23:49] mAritz: what about it? [23:49] mAritz: i don't get it [23:50] edwardmsmith has left the channel [23:50] mAritz: oh, i'm founder there? wtf? why? [23:50] tjholowaychuk: you must have registered it [23:50] maxogden: lol [23:50] tjholowaychuk: back in the day [23:50] mAritz: sorry, let me fix that [23:52] replore_ has joined the channel [23:52] replore has joined the channel [23:52] justicefries has left the channel [23:54] Juan77 has joined the channel [23:54] tokumine has joined the channel [23:54] mcantelon has joined the channel [23:54] ryanrolds: I have been playing around with Cast, but it doesn't appear to have active development going on and the docs are out of date. Is there an alternative? [23:56] davidascher has joined the channel [23:56] Skomski has left the channel [23:57] JaKWaC has joined the channel [23:58] nforgerit has joined the channel [23:59] avex has joined the channel [23:59] replore has joined the channel [23:59] replore_ has joined the channel