[00:00] Nexxy: wow, am I that transparent? [00:00] Nexxy: dnyy: would you like to see my etchings? [00:00] Aikar: so, a fellow coworker met up with us today, who was also one of the original employees of the company im at now. he told me a story about our CEO and him that will make me never look at my CEO the same way again lol :( lets just say it involved a keg stand [00:00] dnyy: Nexxy: I'm not sure if that's an inneundo or what, lol. :( [00:01] Nexxy: lol yeah [00:02] Postmodernist: Nexxy, sag off [00:02] Nexxy: dnyy: http://en.wikipedia.org/wiki/Etching#.22Etchings.22_clich.C3.A9 [00:02] Nexxy: Postmodernist: what does that mean? [00:03] [[zz]] has joined the channel [00:03] dnyy: Nexxy: hahaha [00:03] Nexxy: role reversals are funny. [00:03] Postmodernist: Postmodernist: I lie in bed at night until my alarm clock goes off because I can't sleep [00:03] dnyy: that's a weird pick up line [00:03] perezd: socketio people around? [00:03] perezd: rauchg: yt? [00:04] Postmodernist: Then I fall asleep on the subway and wake up in Brooklyn [00:04] Nexxy: aww ;< [00:04] Postmodernist: whatever [00:04] ibrahimal-rajhi: Anyone use connect's MemoryStore to store session info in express@2.3.3? [00:04] Postmodernist: Worst is when I woke up trapped in a tunnel on Coney Island and there was no one in the train -- fortunately I had a cell [00:05] tjholowaychuk: ibrahimal-rajhi: memory store should only really be used for a test environment [00:05] marcello3d: Postmodernist: that wasn't a wake up call? [00:06] random123 has joined the channel [00:06] nlco has left the channel [00:06] ibrahimal-rajhi: What alternative is there? I was using it for an app to pass a piece of information from a request to a socket connection, but it stopped working when I upgraded express :/ [00:06] Nexxy_ has joined the channel [00:07] tjholowaychuk: well MemoryStore hasn't changed forever really [00:07] tjholowaychuk: but there are lots of alternatives [00:07] tjholowaychuk: connect-redis [00:07] tjholowaychuk: connect-mongodb [00:07] tjholowaychuk: etc [00:07] Adman65 has joined the channel [00:07] ryanfitz has joined the channel [00:07] Nexxy has joined the channel [00:08] ibrahimal-rajhi: is it terrible to use memory store for passing an integer around in production? [00:08] caligula__ has joined the channel [00:08] darshanshankar has joined the channel [00:08] tjholowaychuk: well it doesnt scale [00:08] ibrahimal-rajhi: I'll give the mongo one a look [00:08] halfhalo has joined the channel [00:08] halfhalo has joined the channel [00:08] marcello3d: ACTION is working on replica set support for mongolian deadbeef [00:09] [[zz]] has joined the channel [00:09] drogoh: Neat... it compiled [00:09] halfhalo has joined the channel [00:09] Postmodernist: marcello3d: Dunno, for some reason working more hours makes it hard to sleep [00:09] Swizec: anyone know if there's already a lib that would do something along the lines of django forms? [00:09] m0hit has joined the channel [00:09] Postmodernist: I [00:09] halfhalo has joined the channel [00:09] marcello3d: Postmodernist: your brain is active more [00:09] marcello3d: doesn't know how to relax [00:10] drogoh: Postmodernist: I suggest drinking until you reboot [00:10] Postmodernist: Maybe I should go back to jacking off to Madonna before I sleep [00:10] marcello3d: tjholowaychuk: I want to make a plugin that lets me easily embed "live" dates in jade, how would you suggest going about doing that? [00:10] marcello3d: Postmodernist: might help [00:11] marcello3d: Postmodernist: I'd start by trying to cut down your work hours [00:11] tjholowaychuk: live dates? [00:11] Postmodernist: yeah [00:11] marcello3d: Postmodernist: aim for 60 [00:11] Postmodernist: Maybe a day off a week to "reboot" [00:11] marcello3d: tjholowaychuk: like basically generate a span that uses some client-side javascript to update in the format "1 min ago" [00:12] marcello3d: tjholowaychuk: but pass a Date object into jade [00:12] marcello3d: tjholowaychuk: or reference it somehow [00:12] pengwynn has joined the channel [00:12] caligula__ has joined the channel [00:12] tjholowaychuk: not sure what that has to do with jade [00:13] tjholowaychuk: you would have to pass a { compiler: CustomCompiler } [00:13] marcello3d: tjholowaychuk: I want to be like: awesomedate(post.date) [00:13] tjholowaychuk: and grab Date objects [00:13] marcello3d: and have it do the rest [00:13] tjholowaychuk: just seems like over kill [00:13] marcello3d: how would you suggest? [00:13] drogoh: Damn, looks like no node on FreeBSD amd64 [00:13] tjholowaychuk: just using like 5 lines of client-side js [00:14] gkatsev: is there npm bash completion? [00:14] marcello3d: yes [00:14] gkatsev: where? lol [00:14] marcello3d: # Installation: npm completion >> ~/.bashrc (or ~/.zshrc) [00:14] marcello3d: # Or, maybe: npm completion > /usr/local/etc/bash_completion.d/npm [00:14] a|i has joined the channel [00:14] a|i has joined the channel [00:15] kawaz_ has joined the channel [00:15] marcello3d: npm help completition [00:15] marcello3d: spelled right :) [00:15] gkatsev: sweet, thanks [00:15] gkatsev: forgot about it [00:15] mattrobenolt has joined the channel [00:16] marcello3d: tjholowaychuk: you're probably right, I'll have to rethink :) [00:16] tjholowaychuk: :D [00:16] Corren has joined the channel [00:16] tjholowaychuk: IMO unless it's really handy and can be reutilized all the time [00:16] tjholowaychuk: no point to overkill it [00:16] marcello3d: yea [00:17] marcello3d: well I'm running into a problem [00:17] marcello3d: where I do some computation to generate a route based on the template [00:17] marcello3d: but the template doesn't get compiled until it's used [00:18] marcello3d: so like /foo generates a route and links to /hash/blah.css [00:18] gazumps has joined the channel [00:18] marcello3d: but if I restart the server, or I have a cluster, and someone happens to load /hash/blah.css before /foo, it won't be able to handle it [00:19] drogoh: Ah well, worth a shot... at least I have a box running i386 for learning me some node [00:19] crandles has joined the channel [00:19] briznad has joined the channel [00:20] Bwen: drogoh: how did that make you feel? [00:21] rmustacc: drogoh: What failed? [00:21] chjj has joined the channel [00:21] dnolen has joined the channel [00:21] drogoh: rmustacc: Nothing failed, but the process spun up to 100% CPU and became unresponsive [00:22] rmustacc: Can you use DTrace on it to find out what it's doing? [00:22] drogoh: Once I get DTrace enabled, sure [00:22] rmustacc: What FreeBSD version do you ahve? [00:22] c4milo1 has joined the channel [00:22] ryan_ has joined the channel [00:22] drogoh: 8.2-REL for now [00:22] rmustacc: Ah, so we don't have the pid provider. [00:23] rmustacc: Mmm, the node probes in question won't help much. [00:23] rmustacc: Maybe the profile provider could, but it may not be worth your time currently. [00:24] MikhX has joined the channel [00:24] rmustacc: Though if I were to take an arbitrary guess there's probably some v8 piece that's not implemented properly for FreeBSD amd64 like there was for Solaris. [00:25] moshe has joined the channel [00:26] drogoh: rmustacc: Maybe I'll jump down the rabbit hole just for shiggles [00:26] Nexxy: omg someone said shiggles [00:26] Nexxy: drogoh++ [00:26] v8bot: Nexxy has given a beer to drogoh. drogoh now has 1 beers. [00:28] devrim has joined the channel [00:29] Bwen: v8bot++ [00:29] v8bot: Bwen has given a beer to v8bot. v8bot now has 24 beers. [00:29] marcello3d: v8: /^(?:mongo:\/\/)?(?:(.+):(.+)@)?(.+)(?::([0-9]+))?(?:\/(.*))?$/.exec("mongo://user:pass@host:12345/db") [00:29] v8bot: marcello3d: ["mongo://user:pass@host:12345/db","user","pass","host:12345/db",undefined,undefined] [00:30] Postmodernist: marcello3d: Are you using solr? [00:30] marcello3d: friggen regexp [00:30] marcello3d: what's that? [00:30] marcello3d: v8: /^(?:mongo:\/\/)?(?:(.+):(.+)@)?(.+?)(?::([0-9]+))?(?:\/(.*))?$/.exec("mongo://user:pass@host:12345/db") [00:30] v8bot: marcello3d: ["mongo://user:pass@host:12345/db","user","pass","host","12345","db"] [00:30] marcello3d: woot :D [00:31] rmustacc: drogoh: I'd take a look at it and see how many signals you're getting delivered to the process just as a rough place to start. [00:31] arpegius has joined the channel [00:31] Postmodernist: marcello3d: What module are you using to access mongo from node.js? [00:31] marcello3d: https://github.com/marcello3d/node-mongolian :D [00:31] copongcopong has joined the channel [00:32] gazumps856 has joined the channel [00:33] marcello3d: hmmm, how does one specify special characters in url authentication... [00:34] marcello3d: decodeURIComponent ? [00:35] oscarkil1ed has joined the channel [00:35] dyer_out has joined the channel [00:38] shiawuen has joined the channel [00:39] jwcooper has joined the channel [00:39] arpegius has joined the channel [00:40] jwcooper: Anyone know if there are any plugins for cluster (or if it supports it natively) for maintaining session affinity to the workers? [00:41] ibrahimal-rajhi has joined the channel [00:42] balaa has joined the channel [00:43] mike_miller has joined the channel [00:46] sarkis has joined the channel [00:47] omni5cience has joined the channel [00:53] mynyml has joined the channel [00:53] mynyml_ has joined the channel [00:53] omni5cience has joined the channel [00:54] dyer_ has joined the channel [00:54] dyer_ has joined the channel [00:58] ibrahimal-rajhi has joined the channel [00:59] openpercept has joined the channel [00:59] neoesque has joined the channel [01:00] sunnyohno has joined the channel [01:01] mike_miller has joined the channel [01:02] arpegius has joined the channel [01:03] dhasenan has joined the channel [01:05] jacter has joined the channel [01:06] postwait has joined the channel [01:07] dlkinney has joined the channel [01:07] piscisaureus_ has joined the channel [01:07] openpercept has left the channel [01:09] Gruni has joined the channel [01:10] dyer_out has joined the channel [01:12] pengwynn has joined the channel [01:16] mike5w3c_ has joined the channel [01:16] jacter1 has joined the channel [01:21] mike_miller has joined the channel [01:22] eguest has joined the channel [01:22] eguest: hello [01:22] eguest: guys [01:22] shanez has joined the channel [01:22] eguest: is there a way to use nodejs to send information like html files to a pritner [01:22] eguest: and get it pritned [01:23] zivester has joined the channel [01:23] cpleppert has joined the channel [01:23] dguttman_ has joined the channel [01:24] mikegerwitz: eguest: node doesn't do any rendering. Use something like phantomjs to render a PDF and send that to a printer [01:24] kawaz_air has joined the channel [01:24] gleicon has joined the channel [01:24] Bwen: wait are we talking Client's printer? O.o [01:25] Nexxy: client printing is a tangled ball [01:25] Nexxy: server printing (with cuspd or something) should be fairly straight forward [01:25] vipaca has joined the channel [01:25] eguest: can the phantom js be included in nodejs and used to render the pdf [01:25] k1ttty has joined the channel [01:25] eguest: yeah .we were looking at the cups option but didnt know how to inplement it [01:26] mikegerwitz: eguest: I'm not sure. I've only seen it used alone. [01:26] Nexxy: ACTION thinks that might be better suited for a separate process [01:26] Bwen: an Async process :D [01:26] mikegerwitz: eguest: The easiest option, from my perspective, would be to write a basic shell script to generate the PDF and print it [01:26] perlmonkey2 has joined the channel [01:27] mikegerwitz: eguest: (the phantomjs script is in JS, though) [01:27] chjj: perlmonkey2: hows amazon working today? [01:27] piscisaureus has joined the channel [01:27] ericnakagawa has joined the channel [01:27] perlmonkey2: chjj: fine. are thre problems? [01:28] perlmonkey2: I haven't noticed anything going on? [01:28] Nexxy: O_o [01:28] chjj: perlmonkey: nah, iwas just wondering [01:29] eguest: okay [01:29] chjj: node shouldnt be polluted with PDF, i dont want node to catch PDF [01:29] chjj: ;p [01:29] Nexxy: why not something like latex [01:30] Nexxy: pdf seems kinda over-engineered for simply spitting out on paper [01:30] mikegerwitz: Nexxy: latex doesn't have anything to do with HTML ;) It can be rendered INTO html, pdf, dvi, etc [01:30] admc has joined the channel [01:30] Nexxy: mikegerwitz: I'm aware of this ;3 [01:30] perlmonkey2: Is there a trick to express-contrib? I can't remember how to make a normal require with it work. Maybe I never had it working and just used the full path with require. [01:31] dyer_ has joined the channel [01:31] dyer_ has joined the channel [01:31] Nexxy: mikegerwitz: my point is why pdf would be the first choice for a document that (as far as I can tell) is just going to be printed and dumped [01:32] mikegerwitz: Nexxy: It's not my first choice. But phantomjs is the perfect use case for rendering a HTML page in a headless environment. If it has output formats besides PDF that'd be preferred, but I've only seen coworkers use it. NEver have myself [01:33] chjj: pdf is...an unfortunate format to be using, i would use nearly anything before going near pdf [01:33] Nexxy: ^ basically this ;3 [01:33] Nexxy: especially with how troubled pdf and cupsd relationship seems to be [01:33] chjj: now that we have data URIs, why not have a single self-contained HTML file as a document format? no need for pdf! [01:33] Nexxy: in the past anyway, it may not be that way now [01:33] chjj: and it would work in almost any browser [01:34] chjj: viewable on nearly any computer [01:34] Nexxy: chjj: but what about braille [01:34] mike_miller has joined the channel [01:34] chjj: dunno about that [01:34] jacter has joined the channel [01:35] chjj: although, css implementations of the "print" media type are pathetic [01:35] chjj: ill admit that =/ [01:35] chjj: terribly supported by every browser [01:36] chjj: not css' fault, its google, mozilla, opera, apple, and microsoft's fault [01:36] dyer_out has joined the channel [01:36] ibrahimal-rajhi has joined the channel [01:37] Nexxy: postscript is the answer! [01:37] rchavik has joined the channel [01:37] perlmonkey2 has left the channel [01:37] chjj: postscript? [01:38] Nexxy: yes chjj, postscript. [01:38] perlmonkey2 has joined the channel [01:38] chjj: if its anything adobe, count me out ;p [01:38] Nexxy: oh so you are following along then ;P [01:38] Nexxy: I really like AS3 though ;< [01:39] Nexxy: but I guess that's oki since it was originally macromedia's [01:39] chjj: abode's worst two contributions to the world: flash and pdf, although i guess flash wasnt technically theirs [01:39] Nexxy: I don't think flash is bad [01:39] Marak has joined the channel [01:39] Nexxy: I blame developers that tried to crowbar it into every project [01:39] chjj: its not bad, its just bad when its put into a browser [01:39] Nexxy: instead of using it where it was appropriate [01:40] Marak: anyone need a last minute #nodeconf ticket? I got 4 [01:40] chjj: so in other words, its bad [01:40] Marak: http://news.ycombinator.com/item?id=2515864 [01:40] Marak: errr [01:40] Marak: wrong link [01:40] Nexxy: I do! ;3 [01:40] Marak: http://twitter.com/#!/maraksquires/status/65952081076420609 [01:40] Nexxy: oh, a contest ;< [01:40] Nexxy: I never win contests! [01:40] chjj: and right, like you said, when flash makes its way into web design/dev, things get nasty [01:41] Nexxy: flash sockets were a nice hack for a time though [01:41] Nexxy: and stuff like amfphp [01:42] chjj: never worked with it [01:42] pquerna has joined the channel [01:42] copongcopong1 has joined the channel [01:42] Nexxy: chjj: it's horrid and annoying [01:42] Nexxy: but it worked [01:43] dspree has joined the channel [01:43] zentoooo has joined the channel [01:43] eguest: so the concensus i think is to use a shell scritp to do the printng ?using a node systme command? [01:43] Draggor: Off topic: Anyone know how I'd go looking for a programming job that offers working remotely? [01:44] tfe_ has joined the channel [01:44] tfe_ has joined the channel [01:44] mikegerwitz: eguest: What process are you considering? A web interface for printing documents? [01:45] Nexxy: Draggor: the internet, probably [01:45] jaket has joined the channel [01:46] eguest: we are consdering a web interace for printing documents just that we dont want the pop up to be coming when we are pritnign the documetns [01:46] Nexxy: github jobs [01:47] eguest: node.js is an option so we can send info to the serial printers to do the printing [01:47] Draggor: Nexxy: forgot that existed, thanks [01:47] Nexxy: Draggor: I live to serve! perhaps github jobs? [01:48] Draggor: I hit a few things from stack overflow jobs [01:48] Draggor: we'll see what happens [01:48] marcello3d has joined the channel [01:48] chjj: stackoverflow has a jobs site? [01:48] chjj: ah, didnt even notice [01:48] Draggor: http://careers.stackoverflow.com/ [01:49] Draggor: I still hope the node.js jobs will have chicago offerings [01:49] Draggor: Or y'know, one of my things takes off and I'm that person making the offerings! [01:50] Yuffster_work has joined the channel [01:50] mikegerwitz: eguest: I'd look to see if there's any existing solutions. Otherwise, yes, if you want to use node then you're stuck executing child processes or writing libraries for rendering and printing. [01:51] sirkitree has joined the channel [01:52] sveisvei has joined the channel [01:52] eguest: @ mikegerwitz:any quick ideas for any solutions ? [01:53] ibrahimal-rajhi has joined the channel [01:56] mikegerwitz: eguest: The phantomjs suggestion was my quick idea ;) I have never had to deal with what you are doing. The problem is, it sounds like you need to render HTML like you would with a browser. PhantomJS uses WebKit, which is as close to a browser as you're going to get. Other solutions that simply "print html" will likely not produce exactly what you're looking for [01:56] mike_miller has joined the channel [01:56] eguest: okay [01:56] sveisvei has joined the channel [01:57] brianc has joined the channel [01:59] avalanche123 has joined the channel [01:59] eguest: i dont really need to render the informaton exaclty like how it would lokk in a browser ,i just need to be able to print images as well as text from a networked printer through a command from the broser .which led us to node.js [02:00] cloudhead has joined the channel [02:02] e2i has joined the channel [02:02] ChrisPartridge has joined the channel [02:03] isaacs has joined the channel [02:03] Emmanuel__ has joined the channel [02:04] jacter1 has joined the channel [02:04] mjr_ has joined the channel [02:05] jacobolus: is there any way to get npm to install stuff globally by default? [02:05] mikegerwitz: eguest: Ah. Well, alterntively you can try something like elinks or w3m if your environemnt supports rendering graphics. Your other option is to try looking at more mature languages that may have libraries to suit your needs [02:05] __sorin__ has joined the channel [02:05] isaacs: jacobolus: sure, just set the global config to true [02:05] isaacs: jacobolus: but why would you want that? [02:05] Nexxy: jacobolus: do you really want to do it that often? [02:05] jacobolus: isaacs: where's the global config? :) [02:05] mtsl has joined the channel [02:06] isaacs: jacobolus: npm help config [02:06] isaacs: jacobolus: why would you want that? that's terrible. [02:06] Nexxy: ^ [02:06] jacobolus: because every other language on my system installs stuff globally by default [02:07] jacobolus: if I want something "local", it'd be better to just use something like virtualenv [02:07] jacobolus: not sure if there's a node equivalent though [02:07] eguest: thanks @mikegerwitz.will try them out and get back to you [02:09] typn has joined the channel [02:12] niftylettuce has joined the channel [02:13] jxck has joined the channel [02:15] mike_miller has joined the channel [02:17] jacter has joined the channel [02:17] pquerna has joined the channel [02:18] gkatsev: this is relevant to everyone's interests: https://twitter.com/#!/DEVOPS_BORAT/status/65959195232571392 [02:18] e2i: Is there a roadmap or a to-do list somewhere for node.js? [02:18] markstory has joined the channel [02:18] gkatsev: e2i: making it the awesoment awesome that is awesome. [02:18] marcello3d: gkatsev: you have it wrong, ipad cluster! [02:19] gkatsev: marcello3d: you mean, borat, not me. [02:19] marcello3d: yes [02:19] gkatsev: s/,// [02:19] e2i: ha [02:19] marcello3d: the upgrade to ipad2 was a huge help [02:19] marcello3d: now they stack better [02:19] gkatsev: s/awesoment/awesomest/ [02:19] gkatsev: marcello3d: haha [02:19] e2i: I'd appreciate a serious answer though, is there a wiki somewhere? [02:20] marcello3d: e2i: it'd be on github [02:20] e2i: or is it all in Ryan's head? [02:20] marcello3d: https://github.com/joyent/node/wiki [02:20] gkatsev: https://github.com/joyent/node/blob/master/TODO [02:20] e2i: sweet, thanks marcello3d [02:20] gkatsev: and https://github.com/joyent/node/blob/master/TODO.win32 [02:20] gkatsev: notice the size difference of those two [02:21] marcello3d: ACTION is working on a new node lib :D [02:21] gkatsev: 33 for TODO and 87 for TODO.win32 [02:21] gkatsev: marcello3d: what does it do? [02:21] marcello3d: caches :D [02:23] e2i: Who's working on documentation? [02:23] sleeplessinc has joined the channel [02:23] rmustacc: There's no one person usually working on documentation. [02:23] rmustacc: It's a combination of the people who write the functions and others who come in and patch deficiencies. [02:23] mjr_: Is devops_borat at nodeconf? [02:24] evanmeagher has joined the channel [02:25] e2i: Ok, so... chaos so far [02:25] piscisaureus has joined the channel [02:26] vikstrous has joined the channel [02:27] ExsysTech has joined the channel [02:28] e2i: So, how does one go about creating and organizing documentation for node.js? Should I just create something and propose it to Ryah or is there a more formal approach? [02:28] chjj: http://groups.google.com/group/nodejs-dev/topics [02:28] dyer_ has joined the channel [02:28] dyer_ has joined the channel [02:29] e2i: Thanks chjj [02:29] ryah: e2i: what do you want to do? [02:30] e2i: ryah: well I want to document what's currently there, write some how tos, create a roadmap document that says what's going to happen, who's working on it/status of it, etc. [02:31] ryah: e2i: the wiki is publically editable [02:32] e2i: Sure, but as it is it's not really answering simple questions (I'm very new to node) [02:33] evanmeagher has joined the channel [02:33] arpegius has joined the channel [02:33] amerine has joined the channel [02:33] e2i: e.g.: What's http.cat, why is it being replaced with http.get? who's working on it? when will it be deprecated? [02:34] e2i: s/deprecated/removed/ [02:35] herenowcoder has joined the channel [02:35] rchavik has joined the channel [02:37] marcello3d: got a new 3ds game today :D [02:37] marcello3d: but haven't even opened it yet D: [02:37] marcello3d: I wish google groups hooked into gmail [02:37] admc has joined the channel [02:37] marcello3d: and figured out which emails I already read in gmail :) [02:37] jaywastaken_ has joined the channel [02:40] ChrisPartridge: marcello3d: Just subscribe to the group and get it to send you all the emails, and chuck a label on them [02:40] ryah: e2i: dont like it, old [02:40] marcello3d: ChrisPartridge: that's what I do [02:41] marcello3d: ChrisPartridge: but it'd be cool if the two systems were linked [02:42] marcello3d: ryah wants to rename it to http.coolCat [02:42] ChrisPartridge: marcello3d: But that would make it too easy :) [02:43] marcello3d: ChrisPartridge: gosh darn [02:43] kersny has joined the channel [02:43] marcello3d: maybe there's a google chrome extension [02:44] devaholic: anyone know how if mongoose can handle many to many relationships natively? [02:44] jacter has joined the channel [02:45] marcello3d: https://github.com/marcello3d/node-taxman [02:45] marcello3d: someone tell me if this already exists [02:45] gazumps856 has joined the channel [02:45] mdaisuke has joined the channel [02:45] sorens3n has joined the channel [02:46] dyer_out has joined the channel [02:51] ericnakagawa has joined the channel [02:53] jmoyers: marcello3d: is that different than memoizing? [02:53] marcello3d: it's asynchronous [02:53] marcello3d: asynchronous memoizing is a good descriptor [02:53] marcello3d: although memoizing usually involves arguments [02:53] marcello3d: this doesn't [02:54] dnyy1 has joined the channel [02:54] jmoyers: ah [02:54] marcello3d: this is more like: "I have 20 parts of my code that might need to read this file" [02:54] marcello3d: so I make a taxman with a function for reading the file [02:54] marcello3d: and the 20 parts would use the taxman [02:54] jmoyers: yeah, i get it -- i've never seen that done myself [02:55] marcello3d: I'm using it in my codebase to retrieve the user's session from the database [02:55] marcello3d: I tack on a taxman onto my req object [02:55] marcello3d: but for routes that don't even care about the user, it never gets called [02:56] marcello3d: also going to use it in mongolian deadbeef for connection management [02:56] jmoyers: only problem is that keeping that in memory means an ever expanding footprint eh [02:56] marcello3d: well no, it's tied to the request [02:56] marcello3d: once the request is garbage collected, it goes away [02:56] jmoyers: ah -- scoped to the life of the request, got it [02:58] piscisaureus has joined the channel [02:58] uho has joined the channel [02:59] indexzero has joined the channel [03:01] marcello3d: oh sweet [03:01] marcello3d: the node.js plugin for intellij detects bad requires [03:02] marcello3d: and you can command click them :D [03:02] cnu has joined the channel [03:03] timmywil has joined the channel [03:04] jtsnow has joined the channel [03:04] jakehow has joined the channel [03:06] brianc has joined the channel [03:06] cwang has joined the channel [03:08] jacter has joined the channel [03:08] Corren has joined the channel [03:10] ibrahimal-rajhi has joined the channel [03:11] kmiyashiro has joined the channel [03:12] ajpiaNOU has joined the channel [03:12] Spion_ has joined the channel [03:14] flippyhead has joined the channel [03:15] superjudge has joined the channel [03:15] vikstrous has joined the channel [03:17] beriberikix has joined the channel [03:17] ericnakagawa has joined the channel [03:19] beriberikix: Does anyone know how to pretty print the html in Express? [03:21] rchavik has joined the channel [03:22] bartt has joined the channel [03:22] abraham has joined the channel [03:24] Adman65 has joined the channel [03:25] hdon- has joined the channel [03:26] vipaca has joined the channel [03:26] vipaca has joined the channel [03:27] alek_br has joined the channel [03:32] mike_miller has joined the channel [03:33] sub_pop has joined the channel [03:34] iwinulose has joined the channel [03:35] cpleppert has joined the channel [03:38] cpleppert has joined the channel [03:39] cpleppert has left the channel [03:44] e2i has left the channel [03:44] shanez has joined the channel [03:44] e2i has joined the channel [03:45] Ond has joined the channel [03:46] XYXing: ho [03:46] XYXing: dala [03:46] XYXing: palapadala [03:47] Ond: Come again [03:50] Nican has joined the channel [03:53] harth has joined the channel [03:53] rfay has joined the channel [03:55] balaa has left the channel [03:56] ericnakagawa_ has joined the channel [03:57] Lorentz has joined the channel [03:59] ericnakagawa_ has joined the channel [04:00] zakabird has joined the channel [04:02] harth has joined the channel [04:03] mengxy has joined the channel [04:04] okuryu has joined the channel [04:05] seivan has joined the channel [04:05] Andre_Turrettini has joined the channel [04:07] joshontheweb has joined the channel [04:08] broofa has joined the channel [04:08] broofa_ has joined the channel [04:12] Ond has joined the channel [04:12] ericnakagawa_ has joined the channel [04:13] beawesomeinstead has joined the channel [04:13] ericnakagawa has joined the channel [04:13] Opaque has joined the channel [04:17] superjudge has joined the channel [04:18] olympum has joined the channel [04:18] ExsysHost has joined the channel [04:18] olympum has joined the channel [04:19] ericnakagawa_ has joined the channel [04:19] kawaz_air has joined the channel [04:21] brownies has joined the channel [04:22] path[l] has joined the channel [04:23] kmiyashiro has joined the channel [04:24] dguttman has joined the channel [04:24] joshontheweb has joined the channel [04:25] Andre_Turrettini: anybody got a sec to answer a basic socket.io question? [04:25] Draggor: Andre_Turrettini: just ask, see who answers [04:26] markc_ has joined the channel [04:28] Andre_Turrettini: Thanks Draggor. Ok, so much of it is working like I expect. I'm trying to backfill a newly connected client with recent info. So, I'm thinking right after socket.on('connection....){, I'd be able to client.send("backfillinfo") [04:28] Andre_Turrettini: but I'm not getting any messages sent from there. [04:29] Andre_Turrettini: tho, I can see a client.log message like I expect. [04:29] Andre_Turrettini: Does that make sense, I can paste it to one of those code paste sites. . . [04:32] Andre_Turrettini: client.on('connect'... doesnt seem to do anything like on the client. . . [04:32] TheDahv has joined the channel [04:32] ekryski has joined the channel [04:32] ekryski has left the channel [04:33] Apeiron`: In FunctionTemplate, what is InstanceTemplate() used for? [04:34] Apeiron`: "Get the InstanceTemplate." isn't very helpful [04:35] k1ttty has joined the channel [04:37] markc_ has joined the channel [04:38] iFire has joined the channel [04:38] jacobolus: how come both `npm install underscore -g` and `npm install underscore` are dumping it in ~/.npm ? [04:39] ChrisPartridge: jacobolus: global config set to true? [04:39] jacobolus: it wasn't a bit ago, and then I added it [04:40] jacobolus: w/ global config set to true it still adds stuff to ~/.npm? [04:41] jacobolus: here's another weird one. how come I can directly `require 'underscore'` from a coffee shell, but not require a script that itself requires it [04:41] jacobolus: (I get Error: Cannot find module 'underscore') [04:41] pyrotechnick1 has joined the channel [04:41] pyrotechnick1: http://blog.nodejs.org/2011/04/29/trademark/ [04:41] pyrotechnick1: seriously? [04:42] ryah: export NODE_PATH=$HOME/.npm [04:42] jacobolus: the new version of npm w/ the global/local changes is pretty much an order of magnitude more hassle than the previous one, which just worked [04:42] ryah: jacobolus: we enjoy pain [04:42] jacobolus: any advice for how to mitigate that? [04:43] ryah: install stuff locally [04:43] hoho has joined the channel [04:43] Apeiron`: Learn to enjoy pain? [04:43] pifantastic has joined the channel [04:43] joshthecoder has joined the channel [04:44] hoho: Hello? [04:44] jacobolus: ryah: also, why does the mac package installer version of node put stuff in /bin? [04:44] jacobolus: er, /usr/bin [04:44] hoho: Can anyone answer why big open source projects have moved to github.com? [04:44] jacobolus: instead of /usr/local/bin [04:45] mikey_p: hoho: it works? [04:45] jacobolus: I mean, I just installed from source, so it was no big deal, but still kind of annoying [04:45] mikey_p: hoho: also gives a good way for other contributor to get involved by signing up and forking [04:45] jacobolus: hoho: because it makes collaboration substantially easier than whateve they were doing before? [04:45] hoho: mikey_p: better than the others? like, source forge? [04:45] flippyhead has joined the channel [04:45] mikey_p: vastly [04:45] jacobolus: oh god, source forge is awful [04:45] mikey_p: the ads, the download redirects [04:46] jacobolus: the inability to browse code [04:46] jacobolus: the difficulty submitting patches [04:46] mikey_p: and 10,000 more items [04:46] chjj: ah, sourceforge is the worst for browsing code [04:46] mikey_p: github has seriously revolutionized how people think about contributing to open source [04:46] hoho: lol nobody seems to like source forge [04:46] hoho: mikey_p: how so? could you be more specific? [04:47] mikey_p: I helped the Drupal community convert their project hosting system to git, over 8000 repos, and the first thing everyone wanted to do was fork and issue pull requests [04:47] chjj: another thing that bugs me, is that sourceforge flatout doesnt work with JS disabled, that might bug other people less though [04:47] Andre_Turrettini: true, sourceforge got swatted from sight when github came on. [04:48] jacobolus: ryah: so is the recommendation to just install node in my home directory someplace? [04:48] mikey_p: bitbucket is probably the only thing that i've seen that's close to github, and it's hg only [04:48] pyrotechnick1: ryah: if i fork node.js at every commit and offer consulting services of that fork, is that okay? [04:48] mikey_p: pyrotechnick1: watch out for the trademark? [04:48] pyrotechnick1: a fork under a different name [04:49] mape: pyrotechnick1: why not use the main one and not use node.js in the name of the service? [04:49] pyrotechnick1: its not just the name of the service [04:49] pyrotechnick1: http://blog.nodejs.org/2011/04/29/trademark/ [04:49] pyrotechnick1: you cant refer to node [04:49] pyrotechnick1: without written consent [04:49] pyrotechnick1: everyone already is [04:49] pyrotechnick1: but it's not fly with joyent [04:49] mape: pyrotechnick1: Then don't? You still don't have to fork [04:50] ryah: pyrotechnick1: if you don't call it "node.js", yes [04:50] pyrotechnick1: that's what i thought [04:50] hoho: doing research on this online collaboration sites and your comments would greatly help.. thanks [04:51] hoho: so node.js was originally being done somewhere else and moved to github, is that right? [04:51] jacobolus: hoho: if you want a project with a long history of open collaboration, look at python [04:51] ryah: hoho: no, it started on github [04:53] ryah: pyrotechnick1: the goal is not to prevent you from offering consulting services - just to prevent random people from appearing to be "official" [04:53] fr0stbyte has joined the channel [04:53] pyrotechnick1: yeah nah i fully agree with it [04:53] hoho: jacobolus: could you kindly name a psython project you think appropriate? [04:53] jacobolus: hoho: yes, python [04:53] pyrotechnick1: i'm just running it by the legal team here and they had this question for some reason or another, they're explaining to me now [04:53] hoho: sorry typed it wrong [04:53] jacobolus: hoho: see python.org, comp.lang.python, etc. [04:54] rmustacc: Most large projects have trademarks. Linux, apache, etc. [04:54] abraham has joined the channel [04:54] ryah: pyrotechnick1: compare with http://www.apache.org/foundation/marks/ [04:55] Andre_Turrettini: Ok, so my question - easier to read - http://pastebin.com/S3SbKDjP - the why o why string? [04:56] marcello3d: Andre_Turrettini: probably because client.on('connect') never fires [04:56] pyrotechnick1: ryah: do you imagine if i were to compete with Joyent i would be granted permission to use the trademark without being "friends" of the owners? [04:57] marcello3d: Andre_Turrettini: you're already connected at that point, there's no further "connection" that can happen [04:57] markc_ has joined the channel [04:57] ryah: pyrotechnick1: don't call your company "node-xyz" [04:57] marcello3d: you patented node? D: [04:57] marcello3d: er [04:57] marcello3d: trademarked 'node' [04:57] marcello3d: or nodejs" [04:58] nexxy has joined the channel [04:58] nexxy has joined the channel [04:58] nexxy: well that was disappointing! [04:58] Andre_Turrettini: marcello3d, pyrotechnick1, yup, I'm getting that, but why is'nt it working right after the socket.on('connection'... [04:58] pyrotechnick1: I know what you're trying to achieve with all this but i must admit i'm a little disenchanted with the implementation. this comment summarises my thoughts well http://blog.nodejs.org/2011/04/29/trademark/#comment-158 [04:58] marcello3d: Andre_Turrettini: that should work :) [04:59] liquidproof has joined the channel [04:59] pyrotechnick1: I'm questioning the whether the price Joyent paid for node was high enough [05:00] pyrotechnick1: i mean they hired you, isaacs and a few others. are you guys really on all that much? was it worth it? [05:00] pyrotechnick1: for the cost of a few devs they now own node.js for all intents and purposes [05:01] marcello3d: pyrotechnick1&ryah: if the node trademark is really like the apache one, that quote from your link definitely doesn't seem to match up [05:01] ryah: They formally bought the copyright from me. [05:01] wao: mm [05:01] marcello3d: do you have to get a license from the apache foundation to be a webhost that runs apache software? [05:02] marcello3d: or to be a webhost that says you use Apache technology [05:02] rmustacc: The former is fine marcello3d [05:02] ryah: marcello3d: the trademark is only about use of the name - not the software [05:02] brianmario has joined the channel [05:02] chjj: i dont see many hosts called "apache-host" though [05:02] mjr_ has joined the channel [05:03] rmustacc: The latter comes down to whether or not you fall into the equivalent of fair use under trademark law. [05:03] Andre_Turrettini: Oyy! it does work. Tks marcello3d. I just needed to interact to fix my reality. [05:03] marcello3d: where does a tag line come into play? [05:03] mattstevens has joined the channel [05:03] jacobolus: no one has an idea why I can `require('underscore')` from a shell, but can't require a module which itself does `require('underscore')` without getting an error thrown up? [05:03] marcello3d: if I say I'm "uberhost: a great place to host your node.js apps" does that need a license? [05:03] marcello3d: or "uberhost: we use node.js to run your websites fast" [05:04] chjj: i think ryah just said, it only concerns the name [05:04] marcello3d: (swap out node.js with apache or apache tomcat) [05:04] pyrotechnick1: As Ryan mentions in his post, the only change for members of the community is that the contributor agreement will be directed to Joyent rather than to Ryan. Otherwise, it’s business as usual for Node developers. [05:04] pyrotechnick1: what happened to that? [05:05] pyrotechnick1: this is what concerns me… you can play it off as much as you like but that's lie #1 [05:05] ryah: http://nodejs.org/cla.html [05:05] hoho: mikey_p: you said github has revolutionized people's way of thinking regarding oss participation, is that because github allows fork? [05:05] nexxy: pyrotechnick1, until joyent becomes self aware [05:05] nexxy: then what?!!? [05:05] ultraflynn has joined the channel [05:05] nexxy: we're all clearly doomed. [05:05] rmustacc: Then you fork it. [05:05] marcello3d: nexxy: you lost your capitalization [05:05] sorens3n: LOL [05:06] sorens3n: joyent self aware [05:06] pyrotechnick1: forking is almost never the answer [05:06] mikey_p: hoho: yes and pull requests [05:06] nexxy: marcello3d, yeah ;< [05:06] pyrotechnick1: but have a look at what happened to openoffice [05:06] marcello3d: rmustacc: that is somewhat inappropriate [05:06] nexxy: ACTION is feeling defeated [05:06] pyrotechnick1: and what's about to happen to java [05:06] sorens3n: good one nexxy ;) [05:06] marcello3d: rmustacc: would you really fork a self aware being? [05:06] marcello3d: nexxy: 80 hour work week getting to ya? [05:06] mikey_p: pyrotechnick1: the github method of forking for collaboration is different use case [05:06] pyrotechnick1: these steps are being taken towards a community fork which is not a good thing for such a young and immature project [05:06] chjj: marcello3d: i forked your mom, she seemed self-aware [05:06] mikey_p: nexxy: did you win a ticket to nodeconf? [05:06] mythril has joined the channel [05:07] rmustacc: I'm not saying you should fork it. [05:07] nexxy: mikey_p, no, they wouldn't let me in ;< [05:07] sorens3n: LOL [05:07] sorens3n: chjj [05:07] nexxy: ACTION is riff raff! [05:07] chjj: sorry, i had to [05:07] pyrotechnick1: you said "then you fork it" [05:07] chjj: :( [05:07] rmustacc: But the source is open so you can. [05:07] mikey_p: nexxy: i got in but I didn't know who to look for so I left :( [05:07] sorens3n: i pop into irc for 2 minutes and i have enough lulz for the night [05:07] pyrotechnick1: then you said im not saying you can fork it [05:07] pyrotechnick1: you said the opposite thing 1 message apart lol [05:07] pyrotechnick1: you confuse me [05:07] thomsonit has joined the channel [05:07] rmustacc: pyrotechnick1: can does not equal should [05:07] mikey_p: nexxy: i showed the guy at the door the tweet and he said "okay, go on in what the heck" [05:07] pyrotechnick1: anyway stfu about forks, that's a horrible idea [05:08] jaket has joined the channel [05:08] nexxy: mikey_p, no one told me they were serving alcohol [05:08] sorens3n: now now, keep it clean [05:08] nexxy: and thus I didn't bring ID [05:08] nexxy: soooo [05:08] pyrotechnick1: fork is a dirtier work than stfu [05:08] pyrotechnick1: he started it [05:08] pyrotechnick1: word* [05:08] sorens3n: ;) [05:08] chjj: enough with the fork business [05:08] pyrotechnick1: fork you [05:08] rmustacc: What, I'm not saying you should fork or that I have plans on it, but that you always can. [05:08] sorens3n: u can fork me any time... ;) [05:09] sorens3n: oh, wait, what? [05:09] pyrotechnick1: shut the fork up [05:09] sorens3n: hahaha [05:09] Wa: yes, onto spoons [05:09] nexxy: enough of this forknication [05:09] sorens3n: theres some t-shirts to be made from all of this [05:09] sorens3n: get the fork out of here! [05:09] ryah: pyrotechnick1: we invented, built, and continue to develop the software. we release it under a very liberal license. We're going to protect the name... What's wrong with that? [05:09] chjj: nexxy: why is your name broken? [05:09] nexxy: it's broken? [05:10] chjj: yes [05:10] nexxy: how so? [05:10] chjj: ... [05:10] sorens3n: ryan, i agree with joyents decision on the node.js brand [05:10] sorens3n: i think it was the right move to make [05:10] harth has joined the channel [05:10] chjj: maybe im wrong [05:10] marcello3d: nexxy: the top got chopped off ;D [05:10] pyrotechnick1: like i said ryah i have no problem with what joyent is trying to achieve with all this but some things are disturbing like asking people to put lame comments in their code [05:10] pyrotechnick1: one of the beautiful things about node is that it's not littered with stupid code headers [05:10] nexxy: it was deflated [05:11] nexxy: just like my ego! *lip quiver* [05:11] marcello3d: pyrotechnick1: my code header: /* by Marcello Bastea-Forte - zlib license */ [05:11] pyrotechnick1: node's growing up too quickly :( [05:11] pyrotechnick1: well i mean marcello3d if you're a good noder and follow joyents suggestions [05:11] pyrotechnick1: then you would need [05:11] sorens3n: btw, thank you ever so much for developing such a wonderful technology for me to work in. [05:11] sorens3n: @ryan [05:11] marcello3d: pyrotechnick1: I don't put node.js anywhere [05:11] pyrotechnick1: Node.js is an official trademark of Joyent. This [module, event, etc.] is not formally related to or endorsed by the official Joyent Node.js open source or commercial project. [05:12] pyrotechnick1: but i bet you dont [05:12] pyrotechnick1: i bet nobody does [05:12] pyrotechnick1: and nobody wants to [05:12] pyrotechnick1: so why ask people to [05:12] brownies: o.O they trademarked it? they can do that? [05:12] marcello3d: pyrotechnick1: no I mean I don't mention the name node.js in my projects [05:12] sorens3n: marcello3d: neither do i [05:12] marcello3d: brownies: anyone can trademark anything [05:12] pyrotechnick1: do you list it on the node modules page? [05:13] marcello3d: yes [05:13] pyrotechnick1: so you're affiliating your project with node nonetheless? [05:13] pyrotechnick1: do you put node in your npm package as an engine? [05:13] marcello3d: yep [05:13] nexxy: I thought all the trademark bitching was done with 3 days ago ;o [05:13] pyrotechnick1: do you see where i'm going with this? [05:13] pyrotechnick1: you're affiliating yourself in many ways [05:13] sorens3n: nexxy: me too [05:13] mikey_p: here's one of the best open source trademark policies i've ever seen: http://drupal.com/trademark [05:13] pyrotechnick1: without following joyents new guidelines [05:13] marcello3d: shrug [05:13] marcello3d: that's not my problem [05:13] marcello3d: that's npm/node wiki's problem [05:13] pyrotechnick1: i'm afraid, you're mistaken [05:13] marcello3d: not at all [05:13] mikey_p: it only restricts commercial usage, vs. community usage is encouraged [05:14] pyrotechnick1: you have not followed the trademark owner's instructions [05:14] marcello3d: I'm not using the trademark [05:14] rmustacc: He's not using the mark. [05:14] pyrotechnick1: you're violating their agreement with you [05:14] sorens3n: i think ryan is hesitant on posting in here for fear of assault :P [05:14] marcello3d: how am I violating their trademark agreement if I'm not using their trademark? [05:14] pyrotechnick1: trademark isnt about using the word "node.js" it's about affiliation [05:14] Wa: sounds like saying "this software works with node.js" is ok considering the nominative/non-trademark use section [05:14] Wa: considering it's factual [05:14] rmustacc: It's about using the name to apply affiliation actually. [05:14] pyrotechnick1: same reason why google cant say "googling" [05:15] rmustacc: *name to imply [05:15] marcello3d: pyrotechnick1: they're legally required to make an effort to defend their trademark or they're lose it [05:15] marcello3d: they aren't legally required to sue anyone [05:15] sorens3n: good point [05:15] chjj: when did this channel suddenly become #legalese? [05:15] Rodtusker has joined the channel [05:15] pyrotechnick1: when joyent decided to bring in the lawyers [05:15] sorens3n: when legalese started talking about node.js [05:15] marcello3d: once they start suing people I'll worry about it [05:15] sorens3n: ;) [05:15] marcello3d: until then, party hard! [05:15] Wa: I don't even know what nominative means, that's just the title of the section [05:16] Wa: lol [05:16] marcello3d: I mean [05:16] sorens3n: normative / nominall? [05:16] sorens3n: is that a cross bread? [05:16] shanez has joined the channel [05:16] marcello3d: if they start suing their own customers [05:17] marcello3d: they'll lose all their customers and go out of business [05:17] marcello3d: and lose their trademark [05:17] marcello3d: so I'm not too concerned [05:17] indexzero has joined the channel [05:18] skohorn has joined the channel [05:20] matjas has joined the channel [05:21] pyrotechnick1: all i wanted to draw some attention to is what's happened with openoffice/java since oracle came in and abused a clause like "Joyent reserves the right to modify this policy at any time" [05:21] pyrotechnick1: that's all [05:21] pyrotechnick1: good intentions, bad execution [05:21] nexxy: pyrotechnick1, then I guess we all have a big schism/fork to look forward to [05:22] chjj: good thing node.js isnt java [05:22] nexxy: mysql->maria, open->libre, hudson->eclip-se [05:22] nexxy: eclipse* [05:22] nexxy: either way, we'll all be fine [05:22] nexxy: ... moving on ;D [05:22] pyrotechnick1: bro [05:22] pyrotechnick1: mysql/maria? [05:22] nexxy: ACTION looks around [05:23] nexxy: bromysql! [05:23] pyrotechnick1: maria is an engine for mysql [05:23] nexxy: mariaDB [05:23] pyrotechnick1: there's been no name change or anything of the sort :p [05:24] nexxy: mariadb is a fork of mysql [05:24] pyrotechnick1: wtf [05:24] nexxy: built by the original authors of mysql [05:24] pyrotechnick1: it happened! [05:24] nexxy: derp. [05:24] Wa: http://mariadb.org/ [05:24] chjj: so is it mysql, except good? [05:24] nexxy: it's mysql w/o oracle [05:24] nexxy: so, yes. [05:24] mape: Guess they are buying http://nodejs.com/ then :P [05:25] mape: Guy that bought it wanted 6k for it [05:25] mbrevoort: pyrotechnick1 raises good points. The Java/Oracle problem seemingly started when Oracle bought Sun, but it was the copyright and ownership details that enabled the problem in the 1st place [05:25] fr0stbyte has joined the channel [05:26] harth has joined the channel [05:26] nexxy: I think we can all agree that the issue with oracle lies in execution [05:26] Wa: or in the fact that it's oracle [05:26] mbrevoort: So Joyent may be ingenuous but a future acquirer may not BUT it is MUCH more about the software vs the name... [05:27] pyrotechnick1: mbrevoort: humans lack foresight, im glad you see where i'm coming from [05:27] stonebranch has joined the channel [05:27] mbrevoort: this is a name and trademark issue which is more of a fringe issue [05:27] pyrotechnick1: it's time now to nip this stuff in the butt before it gets out of hand [05:27] nexxy: pyrotechnick1, you seem to be making the argument that you and mbrevoort are not human [05:27] ryah: mbrevoort: https://github.com/joyent/node/blob/55048cdf79f3c607ab986c35d0422e591e7f6448/LICENSE#L6-22 [05:28] mbrevoort: I'm in my hotel room rather than the nodeconf pre-party after 3 nights of jsconf parties... I' [05:28] mbrevoort: I'm very much human :) [05:28] pyrotechnick1: trademark != licene [05:29] pyrotechnick1: two distinct issues [05:29] marcello3d: pyrotechnick1: what do you suggest be done? [05:29] jaket has joined the channel [05:31] firedfox has joined the channel [05:32] mbrevoort: ryah: yes, and very thankful for an MIT style license and as far as I'm concerned, the founder or agent or purchaser of right thereof has the right to decide as you have done. [05:33] evanmeagher has joined the channel [05:34] marcello3d: hmmm [05:34] marcello3d: is v8 trademarked? ;D [05:34] mbrevoort: I understand pyrotechnick1's concern and general foresight comments though... [05:35] steve_____ has joined the channel [05:37] mbrevoort: ironically, I think I feel better that the name and brand is trademarked and protected. Joyent and ryah have been very good stewards and I have complete faith that that will continue... [05:37] bene has joined the channel [05:37] levi501 has joined the channel [05:37] mbrevoort: anyway, good conversations to be having [05:38] marcello3d: node.js is a lot smaller than java/open office [05:38] marcello3d: I imagine less money is involved [05:39] devaholic: if i sell something can i put the node.js logo on my site if i'm not using the name as part of the site's name? just as a section about "tech that we use" or something? [05:39] levi501 has joined the channel [05:39] random123 has joined the channel [05:39] devaholic: :> [05:39] marcello3d: yes [05:39] ryah: devaholic: yes [05:39] EyePulp has joined the channel [05:41] devaholic: ok, i was worried [05:42] mbrevoort: reminds me of this awesome Lewis Black skit... everything is amazing but nobody's happy... http://www.youtube.com/watch?v=8r1CZTLk-Gk [05:43] mbrevoort: especially from this point :) http://www.youtube.com/watch?v=8r1CZTLk-Gk&feature=player_detailpage#t=121s [05:43] stagas has joined the channel [05:46] indexzero has joined the channel [05:46] mbrevoort: Nominative uses are uses that refer to a mark in a factual manner, using only so much of [05:46] mbrevoort: the mark as is necessary and doing nothing to imply sponsorship or endorsement by the [05:46] mbrevoort: trademark holder. Nominative uses may not require a license under trademark law. [05:47] rmustacc: Yup [05:47] mbrevoort: whoops, paste error.... anyway devaholic - this is the section specifically that states allowance for this case [05:48] devaholic: aha [05:48] devaholic: thank you sir [05:49] SamuraiJack has joined the channel [05:50] skohorn has joined the channel [05:52] skohorn has joined the channel [05:55] xeodox: has anyone in here used Everyauth that can help me? [05:56] sarkis has joined the channel [05:58] ewdafa has joined the channel [05:59] bwinton has joined the channel [05:59] devaholic: ive been using it a bit, whats the issue? [05:59] indexzero has joined the channel [05:59] ekryski has joined the channel [06:00] ekryski has left the channel [06:00] jaket has joined the channel [06:02] ToXiC has joined the channel [06:10] madzak has joined the channel [06:10] Rodtusker has joined the channel [06:11] coreb has joined the channel [06:15] mscdex: node.js rules! [06:15] madzak: ACTION agrees [06:16] Bonuspunkt: true, true [06:18] test117522 has joined the channel [06:19] devaholic: ill be back in a few hours if you still need help xeodox [06:20] xeodox: oh devaholic: thanks, didnt see ur message [06:20] tk has joined the channel [06:20] xeodox: I'll ping you in a few hours if i still need help [06:20] liar has joined the channel [06:29] temp01 has joined the channel [06:30] jlecker has joined the channel [06:31] jlecker has left the channel [06:31] MikhX has joined the channel [06:32] x_or has joined the channel [06:33] ph^ has joined the channel [06:33] __sorin__ has joined the channel [06:34] karboh has joined the channel [06:35] madzak_ has joined the channel [06:36] FireFly|n900 has joined the channel [06:37] `3rdEden has joined the channel [06:39] springify has joined the channel [06:42] mdaisuke has joined the channel [06:43] nexxy has joined the channel [06:43] skohorn has joined the channel [06:47] indexzero has joined the channel [06:48] mraleph has joined the channel [06:51] levi501 has joined the channel [06:52] pdelgallego has joined the channel [06:52] levi501d has joined the channel [06:54] groom has joined the channel [06:55] emattias has joined the channel [06:56] sfoster has joined the channel [06:57] k1ttty has joined the channel [06:58] d0k has joined the channel [06:59] saikat has joined the channel [06:59] rchavik has joined the channel [06:59] rchavik has joined the channel [07:00] cachemoney has joined the channel [07:01] indexzero has joined the channel [07:04] fangel has joined the channel [07:07] jaket has joined the channel [07:07] enzo has joined the channel [07:08] mAritz has joined the channel [07:09] jaket_ has joined the channel [07:09] devrim has joined the channel [07:10] cyraxx has joined the channel [07:10] AphelionZ has joined the channel [07:10] skm has joined the channel [07:11] devrim has joined the channel [07:11] skm has joined the channel [07:11] AphelionZ: hey folks - just checking with the experts: if i want to make a form and authenticate some users, what's the current cool way to achieve that? [07:11] mihar has joined the channel [07:11] skm: node-waf - how do i get customer CXXFLAGS working? [07:11] skm: setting that environment variable doesn't work [07:11] gmci has joined the channel [07:11] skm: customer=custom** [07:12] [[zz]] has joined the channel [07:12] enzo: skm maybe this page could help you ? http://nodejs.org/docs/v0.4.7/api/addons.html [07:13] enzo: the wscript should contain the cxxflags I guess [07:13] ivanfi has joined the channel [07:13] skm: its not my wscript, its someone elses [07:13] skm: its looking for a library [07:13] Jamool has joined the channel [07:13] skm: which i've installed in a different place [07:13] skm: and need to pass -I/path/to/include [07:13] enzo: ok, don't pay attention to my remark so, I've discovered node.js yesterday indeed [07:14] Jamool_ has joined the channel [07:14] jbpros has joined the channel [07:15] amerine has joined the channel [07:16] skm: omg [07:16] skm: ok [07:16] skm: i found it [07:16] mike5w3c_ has joined the channel [07:16] skm: node-waf configure build [07:16] djcoin has joined the channel [07:16] FireFly|n900 has joined the channel [07:16] skm: not, node-waf configure && node-waf build [07:16] saschagehlich has joined the channel [07:17] mraleph has joined the channel [07:17] AphelionZ: connect or connect-auth? [07:19] x_or has joined the channel [07:19] click_ has joined the channel [07:20] mihar has joined the channel [07:23] stonebranch has joined the channel [07:23] moshe has joined the channel [07:23] boaz has joined the channel [07:24] SubStack: https://gist.github.com/956664 [07:24] SubStack: indexzero: ^^ cloudhea3: ^^ [07:26] McMAGIC--Copy has joined the channel [07:26] Druide_ has joined the channel [07:29] mikl has joined the channel [07:29] cachemoney: jhbhjkijlhknijk [07:29] cachemoney: ] [07:29] mikl has joined the channel [07:29] cachemoney: sorry, there was a spider on my keyboard [07:30] chapel: lol [07:30] dgathright has joined the channel [07:31] vilhonen has left the channel [07:31] mscdex: the ol' spider on the keyboard trick [07:31] christkv has joined the channel [07:32] cachemoney: mscdex: it was like 100F today and there's all sorts of insects invading my house :( [07:32] Poetro has joined the channel [07:32] mscdex: try executing this: `killall insects` [07:33] cachemoney: mscdex: then i just have a bunch of zombie processes [07:33] mscdex: zombie insects! [07:33] cachemoney: haha [07:33] [AD]Turbo has joined the channel [07:33] enzo: someone knows when node.js should reach v1 ? [07:34] enzo: in terms of weeks, months, years? [07:34] cachemoney: probably year [07:34] [AD]Turbo: hi there [07:35] mscdex: the first rule of node club: you do not ask about 1.0 [07:35] joshontheweb has joined the channel [07:35] mscdex: :p [07:35] nail_: solanum is lethal to insects as to any other non-human lifeform, so there cannot be zombie insects! [07:35] enzo: there's a company behind node.js btw ? I mean, someone is paying the development or there's only one main dev for now (ryan I guess) that codes for fun ? [07:36] hellp has joined the channel [07:36] mscdex: enzo: joyent helps fund node by employing ryan ;) [07:36] ryah: enzo: probably a year [07:36] hoho: @ryah: how come you chose github when you started the node.js project? [07:36] ryah: not sure what 1.0 means yet [07:37] ryah: hoho: *shrug* [07:37] isaacs has joined the channel [07:37] cachemoney: why not github? [07:37] ryah: enzo: joyent is the company behind node [07:37] mscdex: node is on github [07:38] cachemoney: i know; i'm saying why would he not choose github [07:38] enzo: ryah: joyent sells services around node.js or not yet ? [07:38] mscdex: oh [07:38] zabyl has joined the channel [07:38] ryah: enzo: not yet [07:38] cachemoney: http://www.joyent.com/services/node-js-services/ [07:38] mscdex: no.de! [07:38] hoho: just out of curiosity regarding whether there's something really special about github [07:38] ryah: oh, i didn't know about that page :) [07:39] ryah: nice [07:39] hoho: if figure out, can find ways to promote online collaboration, so.. [07:39] ryah: hoho: nothing special, just not totally annoying [07:39] cachemoney: joyent's site feels too sales-y [07:39] hoho: @ryah: thanks for your answer [07:39] enzo: joyent has find investors and leverage big funds to support the development ? [07:40] mscdex: one of these times i'm going to get a chance to come to nodeconf! [07:40] cachemoney: joyent is an old company [07:40] cachemoney: well, relatively [07:40] Thorn has joined the channel [07:41] herbySk has joined the channel [07:41] enzo: so joyent is paying on its funds the dev of node.js you think ? [07:42] cachemoney: huh [07:42] cachemoney: joyent sponsors node development [07:43] enzo: you know how many developers are full time coding on node.js ? [07:43] ryah: joyent owns node [07:43] muhqu has joined the channel [07:43] FireyFly|n900 has joined the channel [07:43] enzo: ryah: you're ryan dahl ? [07:44] cachemoney: does anyone know how much no.de costs? (and why is there no pricing?) [07:44] ryah: (as far as owning MIT licensed software is possible) [07:44] ryah: enzo: yes [07:44] ryah: cachemoney: currently free [07:45] cachemoney: oh nice [07:45] enzo: how many developers are full time coding on node.js ryah, you know ? [07:46] ryah: isaacs and i [07:46] ryah: soon to be a few more [07:46] enzo: ah isaac, I remember in the presentation SF :) [07:46] isaacs: yo [07:47] anthracite has left the channel [07:47] enzo: ryah: joyent is paying on their funds or has leverage money to perform dev, you have an idea ? [07:47] cachemoney: speaking of isaacs, npm 1.0 really confused me when i first upgraded (lots of READMEs should be updated with -g) [07:48] brettgoulder has joined the channel [07:49] herbySk74 has joined the channel [07:49] hybsch has joined the channel [07:50] ph^ has joined the channel [07:51] cachemoney: isaacs: is there a reason for installing dependencies inside each module's folder instead of installing it in a single place and symlinking? [07:51] isaacs: cachemoney: yeah, it's WAY better. [07:51] isaacs: less complicated to manage, code-wise [07:51] isaacs: easier to know where things are, etc. [07:52] cachemoney: ah [07:52] cachemoney: i see [07:52] cachemoney: as long as dependencies don't get ridiculously huge [07:53] gavin_huang has joined the channel [07:54] isaacs: cachemoney: well, none of htem are, really [07:54] xeodox: Is it OK to track every thing that a user does , in Mongo? (insert a new document for every action they make) [07:54] ph^_ has joined the channel [07:54] jacter1 has joined the channel [07:54] isaacs: cachemoney: the tricky thing is to not end up installing them in a way that geometrically explodes. [07:54] cachemoney: xeodox: yeah but i would recommend redis [07:54] isaacs: cachemoney: ie, if you have 5 packages that all depend on one another, you should not have to install 125 packages. [07:54] xeodox: cachemoney: Why? I'm using Mongo heavily for everything else... [07:54] ph^ has joined the channel [07:55] cachemoney: isaacs: yeah, is that handled properly? [07:55] xeodox: cachemoney: Are you saying it won't handle it? [07:55] isaacs: cachemoney: cycles have to be cut out early, as much as possible. [07:55] isaacs: cachemoney: yeah, now it is [07:55] isaacs: cachemoney: the first few RC's were kinda bad about that [07:55] sendark has joined the channel [07:56] cachemoney: what if those 5 packages all depend on different versions of each other [07:56] kawaz_air has joined the channel [07:56] chapel: xeodox: well you should only use a full db for data you want to persist, and redis is better at handling lots of data fast and being updated a lot [07:57] chapel: so you could use it in front of a db like mongo [07:57] xeodox: chapel: Well, I do want to persist all my users logs [07:57] xeodox: chapel: i want to know every action that a user does on my social network [07:57] chapel: well either way [07:58] xeodox: Redis persists? [07:58] cachemoney: yes [07:59] cachemoney: xeodox: http://redis.io/topics/persistence [07:59] nexxy: SubStack, ping [07:59] kawaz_air has joined the channel [08:00] ph^_ has joined the channel [08:00] troessner has joined the channel [08:01] SubStack: pong [08:01] SubStack: isaacs, ryah: https://gist.github.com/956699 [08:01] nexxy: are you @ qush? [08:02] SubStack: yep [08:02] nexxy: mrr [08:02] nexxy: oki [08:02] SubStack: nodejitsu folks dragged me along [08:02] nexxy: lol ya [08:02] nexxy: I'm pondering the idea of a trip out there [08:03] cachemoney: qush sounds like a drug [08:03] nexxy: is it super smoky tho? ;< [08:03] nexxy: cachemoney, I got what you want, man [08:03] nexxy: premium qush, man [08:03] cachemoney: LOL [08:03] pyrotechnick has joined the channel [08:03] Esteb has joined the channel [08:03] pyrotechnick: SubStack: you've lost your mind ^w^ [08:04] Wa: nexxy; when I went to a hookah bar it wasn't too smoky, but even of what there was it didn't smell bad [08:04] enzo: hum, node.js is a framework based on V8, but you know other frameworks based on V8 ? [08:04] cachemoney: damn hookah is cheap in oregon [08:04] sechrist has joined the channel [08:04] pyrotechnick: enzo: i think narwhal can run directly on it [08:05] pyrotechnick: but it can also run on node so go figure [08:05] cachemoney: narwhal? [08:05] pyrotechnick: http://narwhaljs.org/ [08:05] boubaka has joined the channel [08:05] pyrotechnick: looks a bit dead? [08:05] eldios has joined the channel [08:06] cachemoney: yup [08:06] enzo: I'm wondering, as node.js is using V8, maybe V8 will evolve to achieve by default what node.js can achieve no ? [08:06] yozgrahame has joined the channel [08:06] herbySk has joined the channel [08:06] cachemoney: i think node runs on Spider too [08:06] pyrotechnick: never [08:06] pyrotechnick: enzo: there's too much in node that v8 doesn't have to do [08:07] enzo: never is for my question pyrotechnick ? why are you sure about this ? [08:07] pyrotechnick: v8's bulky enough as it is [08:07] chapel: cachemoney: it doesn't run on spider yet [08:07] cachemoney: V8 = javascript engine. node = framework that runs on that engine. [08:07] chapel: there are people making v8's bindings to spidermonkey [08:07] chapel: so that you can use spider in place of v8 [08:07] markwubben has joined the channel [08:07] chapel: though I don't think its worth it [08:07] pyrotechnick: i'm not sure i'd call node a framework [08:07] cachemoney: chapel: https://github.com/zpao/spidernode [08:07] chapel: node is more akin to a vm [08:07] enzo: ok [08:07] chapel: cachemoney: I know [08:07] cachemoney: though i haven't tried it, i thought that works [08:07] enzo: and node.js can run on spidermonkey ? [08:08] pyrotechnick: soon it will [08:08] pyrotechnick: they're working on it ^^ [08:08] pyrotechnick: thats the project [08:08] enzo: ok [08:08] pyrotechnick: they're doing it a funky way though [08:08] pyrotechnick: instead of porting node to monkey [08:08] chapel: but I hope it dies :P [08:08] pyrotechnick: they're porting monkey to v8 [08:08] hoho: @ryah: how can u manage irc, googlegroups, stack overflow and else at once?? [08:08] cachemoney: isn't V8 GC superior to spider? [08:08] pyrotechnick: that's debatable [08:08] chapel: or has no effect on 3rd party code [08:08] pyrotechnick: generally, speed-wise, v8 is a little faster [08:09] pyrotechnick: but they all are awesome at something [08:09] chapel: I just worry that with a fork like this, that my code, or anyones code, wont reliably work on both versions [08:09] pyrotechnick: for instance crankshaft, the tracing stuff, is relatively new for v8 whereas it's been in monkey for a while [08:09] cachemoney: although node has had some memory leaks in the past [08:09] pyrotechnick: so i imagine it's a little better [08:09] pyrotechnick: but then v8's templates and what-not are pure ownage compared [08:09] enzo: someone knows what server is behing facebook chat system ? [08:09] cachemoney: node on v8 debugging is terrible [08:10] chapel: enzo: well they use xmpp [08:10] cachemoney: enzo: custom erlang [08:10] pyrotechnick: i think their chat server is on github [08:10] cachemoney: doubt it [08:10] enzo: you mean jabber and so on chapel ? [08:10] cachemoney: their "chat server" is a bunch of different services written in different languages [08:10] pyrotechnick: jabber=xmpp [08:10] chapel: jabber is just an xmpp application [08:10] cachemoney: the heart of it being erlang [08:11] pyrotechnick: an installation [08:11] indexzero has joined the channel [08:11] pyrotechnick: http://www.jabber.org/ [08:11] pyrotechnick: what server does jabber.org run? [08:12] cachemoney: enzo: http://www.erlang-factory.com/upload/presentations/31/EugeneLetuchy-ErlangatFacebook.pdf [08:12] enzo: a node.js with socket.io (v7 as it seems to support cluster or sth like that) could handle such a load, like facebook chat ? [08:12] herbySk74 has joined the channel [08:12] pyrotechnick: that's like asking if rails can handle facebook chat [08:12] cachemoney: probably not [08:13] pyrotechnick: yeah it could, with enough machines [08:13] RushPL has joined the channel [08:13] cachemoney: it would cost a heck of a lot more [08:13] pyrotechnick: i guess what you're asking is if they switched out erlang for node on the same hardware [08:13] `3rdEden: enzo: socket.io 0.7 will not support cluster, but have it own multi process management [08:13] pyrotechnick: for which my answer is NFI [08:14] enzo: Well I guess that with enough machines even a worst language could handle it, the question underneath is more: is node.js a good competitor to xmpp ? [08:14] cachemoney: apples to monkeys comparison [08:14] joshontheweb has joined the channel [08:14] pyrotechnick: enzo xmpp is just a protocol [08:14] pyrotechnick: you can implement xmpp on node.js [08:15] cachemoney: `3rdEden: socket.io can do multiple processes? fork()? [08:15] pyrotechnick: just as facebook has on erlang [08:15] cachemoney: there actually is an xmpp implementation on node.js [08:15] pyrotechnick: not a server [08:15] pyrotechnick: only a component framework [08:15] chapel: xml is still a pita on node/js [08:15] pyrotechnick: node-xmpp isn't a server if that's what you're thinking of [08:15] enzo: yes but in terms of speed node.js is has fast as the facebook xmpp server ? (for the same audience) [08:16] pyrotechnick: we guess not [08:16] christkv has joined the channel [08:16] chapel: enzo: that is highly subjective [08:16] pyrotechnick: but without actually crunching some numbers who knows [08:16] `3rdEden: cachemoney: it does not fork, you just start up multiple instances of you node script so you have multiple processes [08:16] pyrotechnick: from what i've heard, and this isn't based off much it could be as fast if not faster [08:16] pyrotechnick: but it certainly wouldn't be as stable [08:16] enzo: just to have your opinion chapel :) i know all those questions are subjectives [08:16] pyrotechnick: erlang has a much stronger concurrency model [08:16] pyrotechnick: it was designed to scale very well with stability in mind [08:17] chapel: well, I have no experience with erlang, or facebooks chat systems, so I can't say [08:17] pyrotechnick: it's built into the language itself [08:17] cachemoney: `3rdEden: can't you do that with pretty much any node app? (provided no memory sharing is necessary) [08:17] cachemoney: pyrotechnick: i was thinking of this: https://github.com/mwild1/xmppjs [08:17] pyrotechnick: http://xmppjs.prosody.im/ is a library for http://nodejs.org/ that allows you to connect to an XMPP server as a component. [08:17] cachemoney: yeah, not a server [08:17] pyrotechnick: read the first line [08:17] pyrotechnick: lol [08:17] `3rdEden: cachemoney: yes you can do that with any script [08:17] pyrotechnick: i started one [08:18] pyrotechnick: but i gave up [08:18] cachemoney: someone should write one [08:18] pyrotechnick: xmpp is strange it's like a good idea in theory [08:18] kawaz_air has joined the channel [08:18] pyrotechnick: but then in practise it's really verbose and overkill for 99% of applications [08:18] test has joined the channel [08:18] `3rdEden: cachemoney: but thats not the point here.. when you have long living connections on one process you might still want to be able to transmit messages from a other process to the connection.. [08:18] pyrotechnick: it's certainly not good on the bandwidth that's for sure [08:18] hackband has joined the channel [08:19] raidfive has joined the channel [08:19] pyrotechnick: i have no idea why facebook chose xmpp, i question whether it's really xml they use over the wire [08:19] chapel: pyrotechnick: you get my IM? [08:19] cachemoney: `3rdEden: so sharing file descriptors? [08:19] cachemoney: pyrotechnick: they use thrift heavily [08:20] `3rdEden: cachemoney: no, the connection will just say on the assigned node process [08:20] bergie has joined the channel [08:21] cachemoney: `3rdEden: so they pass messages to each other? this is being implemented in socket.io? [08:21] Marak has joined the channel [08:21] JackeyChan has joined the channel [08:21] JackeyChan: great [08:21] `3rdEden: cachemoney: yup [08:21] JackeyChan: I am in room now [08:22] JackeyChan: ^_^ [08:22] s0enke has joined the channel [08:22] TomY has joined the channel [08:22] path[l] has joined the channel [08:22] `3rdEden: cachemoney: but a bit more complicated than that :p anyways rauchg is gonna release it 0.7 at nodecamp so you can take a peek at the new code soon [08:22] jbpros has joined the channel [08:22] neoesque has joined the channel [08:22] enzo: in ryan dahl presentation, he was answering to the threading problem by the way to achieve this is to launch bunch of instances, and each instance communicate with other with socket [08:22] cachemoney: `3rdEden: i'm assuming they're doing this with C++ addons? [08:23] skm has joined the channel [08:23] enzo: I think it's the logic underneath in all node.js to handle big load ? [08:23] temp01 has joined the channel [08:24] cachemoney: enzo: it could help node do that although i haven't seen a practical application of that yet (node instances passing messages) [08:24] pyrotechnick: dude [08:24] enzo: maybe ryah has an answer for that ? to natively handle those kind of messages [08:24] pyrotechnick: cachemoney: thrift looks badass [08:25] cachemoney: pyrotechnick: sure is [08:26] cachemoney: you should read the whitepaper [08:26] bartt1 has joined the channel [08:26] pyrotechnick: i certainly will be [08:26] `3rdEden: cachemoney: yes and no :p [08:27] lstep has joined the channel [08:27] chapel: link to thrift info, simple overview? [08:27] cachemoney: `3rdEden: they should really push the 0.7 branch to github [08:27] pyrotechnick: chapel: http://thrift.apache.org/ [08:28] thalll has joined the channel [08:28] cachemoney: the code generation makes it awesome [08:28] lstep: Hello, what is the exact license of node.js? [08:28] cachemoney: MIT [08:29] `3rdEden: cachemoney: they will, at nodecamp :p [08:29] cachemoney: isn't that in december? [08:29] `3rdEden: that like, tomorrow [08:29] pyrotechnick: https://github.com/joyent/node/blob/master/LICENSE [08:29] lstep: I ask this because someone posted a screenshot on reddit saying that one requires a written permission from Joyent to use it in a commercial project: https://img.skitch.com/20110505-t9yhnmpu1isrnqf36fckd3aqya.png [08:29] cachemoney: you mean nodeconf? [08:29] `3rdEden: cachemoney: I mean, nodeconf :$ [08:29] pyrotechnick: lstep: read the logs from this room about 3 hours ago [08:29] pyrotechnick: lstep: ryah explains it more [08:30] pyrotechnick: it was a bit of a heated discussion [08:30] lstep: but is this true? [08:30] pyrotechnick: yes [08:30] lstep: :-( [08:30] cachemoney: written permission for MIT licensed code? wtf? [08:30] pyrotechnick: http://blog.nodejs.org/2011/04/29/trademark/ [08:30] `3rdEden: It's only about the use of the name, not the code it self [08:30] `3rdEden: Y u bitching o_o [08:30] cachemoney: oh ok [08:30] chapel: not the code, just the name node.js [08:30] cachemoney: yeah i read about that on HN [08:30] eldios: guys actually read the slides.. [08:31] chapel: or the use of node in relation to node.js [08:31] eldios: they're talking about the "mark" [08:31] eldios: you cannot use "NodeJS" .. not the code [08:31] `3rdEden: well you can use it [08:31] chapel: but that is in promotion [08:31] cachemoney: quick someone fork and called it SJedon [08:31] eldios: fork the code.. name it "uber ultra server special edition JS" and then you can do whatever you want [08:31] `3rdEden: you just ask permission for it [08:31] chapel: you can say, that you used node.js [08:31] chapel: but if you say, BlahBlah Company - A node.js technology company [08:32] pyrotechnick: then you get joyented [08:32] chapel: that would be something you would have to get a license for [08:32] cachemoney: isn't this because Joyent is legally required to protect its trademark in order not to lose rights to it? [08:32] pyrotechnick: who knows [08:32] pyrotechnick: ry seems to think so [08:32] pyrotechnick: and i trust him [08:33] pyrotechnick: they could be an oracle about it one day though [08:33] pyrotechnick: or they could "sell" it to someone who is [08:33] pyrotechnick: but meh [08:33] chapel: if you don't protect your trademark, you can lose it [08:33] cachemoney: Oracle buys Joyent for $100MM [08:33] Melkor has joined the channel [08:33] `3rdEden: pyrotechnick: yay, selling open source code? [08:33] pyrotechnick: yeah like if google doesnt pwn people for saying "googling" [08:33] chapel: the code is mit [08:33] pyrotechnick: `3rdEden: ry "sold" it to joyent [08:33] snearch has joined the channel [08:33] chapel: so no matter what, it will always be in the hands of the people [08:33] pyrotechnick: so joyent can "sell" it to someone else [08:34] cachemoney: yeah but it's MIT licensed so "selling" the code doesn't mean much [08:34] pyrotechnick: you sell the copyright notice in the code headers and therefor the rights to trademark it [08:34] pyrotechnick: nothing more, nothing less [08:34] pyrotechnick: you sell a diff [08:34] pyrotechnick: a commit [08:34] jesusabdullah: Worst case, you get a Jenkins. [08:34] jesusabdullah: They rode that shit like a boss. node.js could too [08:36] uho has joined the channel [08:37] chapel: but I doubt, that joyent would ruin node.js like that [08:37] chapel: they seem to have always focused on the developers [08:37] chapel: their main business is about developers [08:39] Poetro1 has joined the channel [08:40] test has joined the channel [08:41] pyrotechnick: yes that's what very much separates oracle from joyent [08:41] pyrotechnick: which makes me think they wont make any dick moves [08:42] pyrotechnick: anyway i'm told by the legal peeps at work that it's totally unenforceable [08:42] pyrotechnick: because node.js was in widespread use before the trademark, i mean i have it on my tshirt ffs [08:42] pyrotechnick: if joyent were that serious theyd have issued a takedown of http://www.redbubble.com/people/dmitrybaranovsk/t-shirts/5821133-node-js by now [08:43] blkcat: we just need to make a concerted effort to start referring to some mundane everyday object as a 'node.js' [08:43] pyrotechnick: our machines [08:44] pyrotechnick: when i tuned into the meetup in SF [08:44] pyrotechnick: everyone was saying [08:44] pyrotechnick: node dot jay ess [08:44] pyrotechnick: i thought it was funny [08:44] pyrotechnick: cuz we say node jay ess [08:46] jonathantaylor has joined the channel [08:46] path[l] has joined the channel [08:47] cachemoney: it doesn't matter if the trademark was used before filing, as long as it was used to describe the same product/service [08:48] cachemoney: trademark applications ask how long you've been using the name [08:48] cachemoney: you can't trademark something you don't use [08:49] pyrotechnick: maybe diff in the states [08:49] pyrotechnick: our copyright is the same [08:49] pyrotechnick: but maybe TMs different [08:49] pyrotechnick: or we have a shit legal team [08:49] pyrotechnick: one is true [08:50] markwubben has joined the channel [08:50] cachemoney: US trademark and patent laws are different than most countries [08:51] chapel: yeah [08:51] chapel: trademark doesn't care about prior use [08:51] chapel: it cares about commonality [08:51] chapel: and in fact, sometimes you have to have used it prior to get the trademark [08:51] cachemoney: ^ yes [08:52] dies_el has joined the channel [08:52] Spion has joined the channel [08:53] dcelix has joined the channel [08:54] tobiassjosten has joined the channel [08:55] ximo has joined the channel [08:55] philhawksworth has left the channel [08:56] chapel: well copyright is very different than trademark as well [08:57] hellp has joined the channel [08:58] jaket has joined the channel [08:58] eldios has joined the channel [08:59] xeodox: After I do req.flash('info', 'email sent') ....how do I access that in my template (ejs) ? [09:02] pyrotechnick: i think you have to call flash() and pass it in as a local [09:02] pyrotechnick: it doesn't work in coffeescript iirc [09:02] pyrotechnick: coffeekup* [09:02] pyrotechnick: but im pretty sure that's what i read when i was trying [09:03] xeodox: Why do I have to pass it in as a local? [09:05] FireFly|n900 has joined the channel [09:05] pyrotechnick: however u get data into ejs [09:06] xeodox: then whats the point of req.flahs? [09:06] pyrotechnick: bleh [09:06] xeodox: I'll just pass my own damn variables. lol [09:06] pyrotechnick: its for persisting to the next request bro [09:06] isaacs has joined the channel [09:07] xeodox: dont get it. If I flash, then render template. It's kinda useless [09:07] xeodox: name a use case? [09:07] chapel: xeodox: http://japhr.blogspot.com/2010/08/expressjs-flash.html << that shows a good explanation as to how it works [09:07] muhqu_ has joined the channel [09:07] pyrotechnick: i think people expect node/express to do crazy voodoo things [09:08] chapel: its so when the user loads another page, if you have flash setup in your template, it will render it [09:08] pyrotechnick: res.render('board', {locals: {flash: req.flash()}}); [09:08] pyrotechnick: that [09:08] enlightified has joined the channel [09:08] pyrotechnick: thats what i was trying to say [09:08] pyrotechnick: pass it in as a local [09:08] chapel: :) [09:08] mengxy has joined the channel [09:10] tbassetto has joined the channel [09:10] skm has joined the channel [09:11] Marak has joined the channel [09:11] Marak: fucking javascript party [09:11] Metapony_ has joined the channel [09:12] `3rdEden: atleast you are having a party [09:12] chapel: Im at work [09:13] chapel: watching poker after dark [09:13] chapel: chatting on irc [09:13] slaskis has joined the channel [09:13] chapel: Id much rather be at a javascript party [09:13] enlightified: Is that a noun phrase or a sentence? [09:13] enlightified: :) [09:14] Marak: enlightified: its a state of mind [09:14] xeodox: cool guys, thanks [09:16] bzinger has joined the channel [09:18] stonebranch has joined the channel [09:19] mengxy has joined the channel [09:23] cleanah has joined the channel [09:23] malditogeek has joined the channel [09:25] dekz: SubStack: You might get a lawsuite from Kanye West with your rap battler [09:25] dekz: s/suite/suit [09:34] malditogeek1 has joined the channel [09:36] TomY_ has joined the channel [09:37] liquidproof has joined the channel [09:44] McMAGIC--Copy has joined the channel [09:45] petermanser_ has joined the channel [09:45] jakeg has joined the channel [09:47] xeodox: How do I set my 400/500 page in Express? [09:47] xeodox: 404 page i mean [09:48] jegade has joined the channel [09:52] pyrotechnick: rtfm [09:52] pyrotechnick: http://expressjs.com/ [09:52] eldios: ACTION "booo" [09:52] eldios: ACTION hates rtfm-approach [09:53] eldios: pls avoid using that word .. just be patient.. we've all been through that part of the learning process [09:54] eldios: (actually I can't fully pass over it even after years) [09:54] eldios: linking the doc could be sufficient ;) [09:57] tmedema has joined the channel [09:57] tmedema: Hi folks, can anyone tell me why a normal client socket.io client connecting to my express server would request a Http Upgrade ? [09:58] `3rdEden: websockets [09:59] tmedema: 3rdEden, care to elaborate? ;) [09:59] `3rdEden: Socket.IO's primary transport is a WebSocket connection, to establish a WebSocket connection with the server, the server needs to handle the HTTP Upgrade header [10:00] `3rdEden: So that's the reason why your server gets a http upgrade event tmedema [10:02] Metapony has joined the channel [10:04] Bj_o_rn has joined the channel [10:05] apoc has joined the channel [10:05] zpao has joined the channel [10:06] up_the_irons has joined the channel [10:06] hellp has joined the channel [10:06] tmedema: `3rdEden: alright, do you know whether I can safely ignore this request or if I have to give a certain response? [10:06] tobiassjosten has joined the channel [10:07] hwinkel has joined the channel [10:07] awenkhh has joined the channel [10:08] Marak: just finished my nodeconf presentation, its "npm ls" [10:09] saschagehlich has joined the channel [10:12] MattJ has joined the channel [10:12] cleanah: any advices about mongodb drivers? it seems mongoose is the more elaborate one, can i safely choose to use it or are there any options to consider? [10:12] `3rdEden: tmedema: you can ignore it, Socket.IO handles it [10:12] `3rdEden: mongoose is just a wrapper for mongdb-node-native [10:12] `3rdEden: like most libraries are [10:14] ukev has joined the channel [10:14] xeodox: cleanah: I use mongoose it's good. [10:16] cleanah: oki, thanks for your advices :) [10:16] cleanah: i'll go with mongoose [10:18] tmedema: Is starting a webserver as root a bad idea? Now.js seems to recommend it due to a flash security mechanic, but it doesn't seem as safe to me as just running in the user's sandbox [10:18] awenkhh_ has joined the channel [10:19] m64253 has joined the channel [10:20] `3rdEden: tmedema: you can also use IPTables to redirect the Flashport to a non root port [10:22] `3rdEden: but this requires also chopping in the Socket.IO code, as the port is hard coded :p [10:23] msucan has joined the channel [10:24] ExsysTech has joined the channel [10:26] sunnyohno has joined the channel [10:27] tmedema: `3rdEden: so generally it is OK to run it as root? [10:27] stisti has joined the channel [10:27] thalll has joined the channel [10:27] polotek has joined the channel [10:27] cleanah: tmedema : definitely a bad idea :) [10:28] pyrotechnick: you can also do it properly and launch as root before forking down into a correct user/privilege [10:28] ErikCorry has joined the channel [10:28] tmedema: pyrotechnick: why launch as root? [10:28] bojicas has joined the channel [10:28] pyrotechnick: so u can bind to 80 [10:29] tmedema: hmmm, socket.io still seems to work when not running as root - but it warns that it could add some delay [10:29] pyrotechnick: i got the script somewhere [10:29] pyrotechnick: it will work tmedema [10:29] pyrotechnick: but you wont be able to bind to 80 [10:29] tmedema: pyrotechnick: is that a problem? [10:29] pyrotechnick: anything under 1000 i think [10:29] mendel_: tmedema: it's for the flash policy file [10:29] mendel_: that will go inline without sudo [10:29] pyrotechnick: tmedema: if u want to run a site like [10:29] pyrotechnick: http://myawesomesite.com [10:30] pyrotechnick: without [10:30] xeodox: What's the best node module for caching using redis? [10:30] pyrotechnick: http://myawesomesite.com:somethingabove1000 [10:30] mendel_: redis [10:30] xeodox: mendel_ , how can I make things expire though? [10:30] xeodox: I have the redis module that sets/gets, but how do I make things expire so it doesn't go forever.. [10:30] pyrotechnick: redis has TTL [10:31] pyrotechnick: u can do that within redis itself [10:31] polotek: ryah: ping [10:31] pyrotechnick: not sure if there's any redis adapters that support caching themselves though it seems like the kind of thing u needa build into your app [10:31] tmedema: alright -- next question, my client causes a "ECONNRESET, Connection reset by peer" when trying to stream audio using the HTML5 audio element. Anyone has a clue on why this could happen? [10:32] Rodtusker has joined the channel [10:32] `3rdEden: tmedema: the delays can go up to 3 seconds for a inital connection if you don't use the Flash port [10:32] `3rdEden: mendel_ ^ [10:33] tmedema: `3rdEden: wow, that's way too long -- guess I will use root for now and think of a proper solution before I push it to production mode [10:33] `3rdEden: The inline flash file servering is only there as fallback, and really, should not be used by default [10:33] jonaslund has joined the channel [10:33] mendel_: `3rdEden: 3 seconds? you're sure about that? [10:33] xeodox: I can't find an example how to make the redis record expire (TTL) https://github.com/mranney/node_redis [10:33] `3rdEden: What basically happens is that the Flash player will still make a request to the port, and it has get a timeout from the server. [10:33] pyrotechnick: redis.io [10:33] pyrotechnick: http://redis.io/commands/ttl [10:34] pyrotechnick: google.com ;) [10:34] pyrotechnick: first result [10:34] mendel_: `3rdEden: so you use iptables to forward it to another port? [10:34] `3rdEden: mendel_: yes, there have been reports of that delay [10:34] pyrotechnick: "redis ttl" im feeling lucky [10:34] beawesomeinstead has joined the channel [10:34] beawesomeinstead has joined the channel [10:34] mendel_: `3rdEden: could use nginx to proxy it [10:34] xeodox: pyrotechnick: How do I do that in my node_redis library though? [10:35] `3rdEden: mendel_: yup you could just have it handle by nginx if you have it infront of you server [10:35] seivan has joined the channel [10:35] mendel_: `3rdEden: that's how you do it? [10:36] `3rdEden: mendel_: but take in mind that nginx doesn't do HTTP 1.1 proxying so you will need to run Socket.IO on a different port.. And as my tests are telling me.. atleast 4% of all users are behind a firewall here that can't access other ports numbers than the defaults [10:36] saschagehlich has joined the channel [10:36] `3rdEden: mendel_: I just root :$ [10:36] mendel_: ok [10:37] `3rdEden: mendel_: but IPTables are just as easy to setup [10:37] mendel_: `3rdEden: read about a ubuntu pkg that allow you to give one app permissions to run as root [10:37] mendel_: but can't find it, was in the google groups [10:37] Vertice has joined the channel [10:38] piscisaureus has joined the channel [10:38] dspree has joined the channel [10:38] dspree has joined the channel [10:39] `3rdEden: mendel_: Yup something like that would just work, but you can just as easily add 1 line of code to Socket.IO to tell it use a different port :p [10:39] `3rdEden: and use IPTABLES :) [10:40] `3rdEden: Or portforwarding from your load balancer [10:42] ximo_ has joined the channel [10:42] `3rdEden: saschagehlich: so.. you came up with a talk yet!? [10:42] tmedema: Anyone familiar with mediaelementjs.com ? [10:43] saschagehlich: `3rdEden: no, guess I won't do a talk [10:43] `3rdEden: saschagehlich: oooh okay [10:45] stonebranch has joined the channel [10:45] seivan has joined the channel [10:46] FireFly has joined the channel [10:47] FireFly|n900 has joined the channel [10:47] mengxy has joined the channel [10:49] icy: is there a way to access ev_now() from inside node? (new Date()).getTime() is brings quite some overhead [10:51] kawaz_air has joined the channel [10:51] `3rdEden: icy: Y don't you use Date.now() [10:52] ximo_ has joined the channel [10:52] icy: `3rdEden: hm interesting, I did not see this method mentioned anywhere [10:53] `3rdEden: icy: ES5 :) [10:53] malditogeek has joined the channel [10:53] jbpros has joined the channel [10:54] mendel_: `3rdEden: found it: http://pwet.fr/man/linux/commandes/authbind [10:54] Xano has joined the channel [10:55] jakeg has joined the channel [10:55] mendel_: icy: https://github.com/TooTallNate/node-time [10:56] dyer_out has joined the channel [10:56] TheDeveloper has joined the channel [10:57] icy: all fine but I want to avoid the syscall [10:57] icy: that's why I'm heading for access to ev_now() [10:58] icy: guess I have to go with process.nextTicket() and setting a global var on each tick [10:59] mengxy has joined the channel [10:59] Fuu has joined the channel [11:02] ixti has joined the channel [11:03] jmckind has joined the channel [11:04] TomY__ has joined the channel [11:06] admc1 has joined the channel [11:06] eamonn has joined the channel [11:10] awenkhh has joined the channel [11:11] tmedema has joined the channel [11:11] awenkhh_ has joined the channel [11:11] `3rdEden: mendel_ yeah that was the one [11:11] tmedema: Do fs.createReadStream chunks default to buffers or strings ? [11:11] tmedema: and if strings, how does one set it to use buffers by default? [11:16] dyer_ has joined the channel [11:16] dyer_ has joined the channel [11:18] avalanche123 has joined the channel [11:18] eee_c has joined the channel [11:22] stepheneb has joined the channel [11:24] Thorn has joined the channel [11:24] floby has joined the channel [11:27] Swizec has joined the channel [11:29] bshumate has joined the channel [11:29] bshumate has joined the channel [11:32] a|i has joined the channel [11:32] a|i has joined the channel [11:34] neoesque has joined the channel [11:36] demastrie has joined the channel [11:37] Rodtusker has joined the channel [11:38] thomsonit has joined the channel [11:39] Rodtusker has joined the channel [11:41] Marak: do ruby people really do this? https://github.com/martinbtt/net-http-spy/blob/master/lib/net-http-spy.rb [11:41] Marak: like, wtf [11:42] Rodtusker has joined the channel [11:44] xeodox: How do i check the hostname of the current computer? (node.js) [11:45] Rodtusker has joined the channel [11:50] vuliev has joined the channel [11:52] jetienne has joined the channel [11:52] xeodox: anyone know how to check hostname of server in node.js? [11:53] zed0: http://nodejs.org/docs/v0.4.7/api/os.html#os.hostname [11:53] jbrokc has joined the channel [11:54] malditogeek has left the channel [11:54] hwinkel has joined the channel [11:54] xeodox: thanks! [11:56] hybsch has joined the channel [11:57] tmedema: When piping data from server to client, how does one find the optimal balance point for the streaming buffer size in bytes between memory usage and efficiency? I'm streaming audio, and need to set the size of chunks send to the browser [11:58] tmedema: Preferably I'd like to use the smallest chunks possible, so that these can be erased from memory as soon as they are flushed to the client [12:00] vipaca has joined the channel [12:01] matjas has joined the channel [12:01] ph^ has joined the channel [12:01] colinclark has joined the channel [12:01] xeodox: Why does my console always print "favicon.ico" every reaking request? [12:01] xeodox: I grepped it and i don't print it anywhere ... [12:03] mendel_: on every page request it will try to render favicon.ico, just like your js/html/css files [12:03] iwinulose has joined the channel [12:03] mendel_: just create one [12:03] mendel_: to my understanding that's not nodejs behavior but browser [12:04] chapel: just in your public folder for static files, do in cmdline, touch favicon.ico [12:04] chapel: that should work [12:04] tmedema: just create a route and tell it that there is no file there [12:04] chapel: uhh, no need [12:05] mendel_: just create one :p [12:05] chapel: browser always requests favicon [12:05] mendel_: exactly [12:05] littke has joined the channel [12:05] tmedema: well if you don't want to use one then I don't see why you would create one [12:05] chapel: and if it 404's, it just keeps going [12:05] chapel: no reason to make a route [12:05] mendel_: touch favicon.ico [12:05] tmedema: chapel, really? you'd think that browsers would memorize whether a site has a favicon or not [12:05] demastrie has left the channel [12:05] chapel: nope [12:05] chapel: always asks [12:06] chapel: unless there is one [12:06] tmedema: :/ [12:06] chapel: then it caches it [12:06] tmedema: is there a way to check if a http server response is still open/alive? [12:07] tiagoa has joined the channel [12:07] tmedema: I'd like to do something like readStream.on('error', function() { if response.isAlive() response.end(); }); [12:11] tmedema: Third question unanswered :p guess I should just create a mailing list thread for each [12:14] Jonasbn_ has joined the channel [12:16] floby has joined the channel [12:17] `3rdEden: tmedema: You mean a socket's readyState? [12:17] `3rdEden: open/closed/writeOnly/readOnly? [12:18] gm__ has joined the channel [12:18] TheDeveloper: `3rdEden: looking at node-hashring, great job [12:18] TheDeveloper: question: [12:18] `3rdEden: shoot. [12:18] TheDeveloper: what do I do if I want to remove a server from the ring? [12:18] `3rdEden: .removeServer() [12:18] `3rdEden: or.. [12:19] `3rdEden: did i forget to add that method :$ [12:19] TheDeveloper: I'm looking at code in https://github.com/3rd-Eden/node-hashring but can't see that method in the code [12:19] liquidproof has joined the channel [12:19] `3rdEden: TheDeveloper: whoops, seems like I missed it. I'll add it asap [12:20] kriszyp has joined the channel [12:20] TheDeveloper: awesome, thanks [12:20] Wizek has joined the channel [12:21] tmedema: `3rdEden: hmm, how would I get to that property from within a http client request? I've just got a http response and request [12:21] tmedema: using express [12:21] `3rdEden: request.socket.readyState? [12:22] tmedema: `3rdEden: there is no socket property for a http request [12:22] TheDeveloper: also, when adding/removing servers, would the shift in distribution only affect those keys present on the removed server/in the angle between 2 servers where a new one is added [12:22] TheDeveloper: or is the redistribution larger than that [12:22] `3rdEden: it's larger than that [12:23] TheDeveloper: as large as naive hashing w/ MOD n [12:23] fumanchu182 has joined the channel [12:23] `3rdEden: TheDeveloper: yeh kinda [12:24] `3rdEden: You basically have to re-generate the whole hashring [12:24] `3rdEden: because slots can move [12:24] postwait has joined the channel [12:24] ditesh|cassini has joined the channel [12:24] fumanchu182 has joined the channel [12:24] `3rdEden: If you remove a server with a weigh of 3, those slots needs to be filled.. so the sections in ring "move" trying to compensate for the hole :p [12:25] TheDeveloper: ah ok, but I thought one of the virtues of consistent hashing was to avoid a complete re-hash of the ring (but then again, when adding/removing servers, if you dont regenerate the ring, then you'll get crowding in certain areas) [12:26] Guest60072 has joined the channel [12:27] Guest60072: I'm just delving into nodejs. I read over the basic doc + express, backbone and underscore. Coming from a different mindset, i was wondering how backbone's Model object differs from creating your own javascript object and then calling its methods? [12:28] eb4890 has joined the channel [12:28] confoocious has joined the channel [12:28] confoocious has joined the channel [12:29] `3rdEden: TheDeveloper: I can't push it to NPM atm as I don't have my .npmrc + publishes details here, it's on my other Mac :9 [12:29] mendel_: Guest60072: with backbone's model you get some nice events and sync options [12:31] jbrokc has joined the channel [12:31] jbrokc: anyone here use jasmine? [12:31] jbrokc: and coffeescript* [12:31] Guest60072: mendel_: you recommend any docs? [12:32] vipaca has joined the channel [12:32] vipaca has joined the channel [12:32] mendel_: Guest60072: http://documentcloud.github.com/backbone/#Model [12:32] Guest60072: ACTION is Guest60072 [12:32] TheDeveloper: `3rdEden: No worries, cheers for adding it. I'll have a think and see if there's any way we can avoid rehashing the ring on modification :) [12:32] sirkitree has joined the channel [12:32] jbrokc: I'm trying to use coffeescript with jasmine and I have it set up as jasmine in spec/javascripts/jasmine stuff and coffee tests are in spec/coffeescripts/models/_spec.coffee but i'm getting a describe isn't defined error. looking for help on how to get the plumbing done [12:33] kuya_ has joined the channel [12:33] mendel_: Guest60072: http://andyet.net/blog/2010/oct/29/building-a-single-page-app-with-backbonejs-undersc/ http://andyet.net/blog/2011/feb/15/re-using-backbonejs-models-on-the-server-with-node/ http://backbonetutorials.com/ http://thomasdavis.github.com/ http://jvcustomdesigns.com/139/backbone-tutorial-1/ http://jvcustomdesigns.com/153/backbone-tutorial-2/ [12:33] `3rdEden: TheDeveloper the best way would be to 'replace' it with a new server [12:33] Guest60072: mendel_: thanks, that's the one I'm in the course of reading. i was just wondering regarding my limited knowledge of javascript (mainly jquery). [12:33] mendel_: Guest60072: start here: http://nodebeginner.org/ [12:33] squeeks has joined the channel [12:33] indutny has joined the channel [12:34] tmedema: TheDeveloper: http://www.quora.com/What-is-involved-in-rebalancing-a-hash-ring [12:34] squeeks: So node can require dists when my cwd is ~/, but the moment I get out of it, it can't find any of them. Err, I need to fix NODE_PATH? [12:34] Guest60072: mendel_: thanks a lot for those links :) [12:37] stevenj has joined the channel [12:38] `3rdEden: TheDeveloper it's updated @ github [12:38] justinTNT has joined the channel [12:38] justinTNT: lo. [12:38] fermion has joined the channel [12:42] e6nian has joined the channel [12:42] icy: bah, if you have a constant process.nextTick() callback, node uses 100% cpu [12:42] robm has joined the channel [12:42] e6nian: how can I get the site url in the express.js or node.js .such as http://domain.com/ [12:43] F1LT3R has joined the channel [12:45] `3rdEden: request.url? [12:46] e6nian: `3rdEden: request.url is just the /app/action [12:46] `3rdEden: o [12:47] e6nian: `3rdEden: I wanna the domain and the port [12:49] test1 has joined the channel [12:49] dyer_out has joined the channel [12:50] jetheredge has joined the channel [12:51] asdfsafdsa: with jade how do i output html from a helper? it's getting printed as text, not html [12:51] Fuu has joined the channel [12:51] xeodox has joined the channel [12:52] floby: asdfsafdsa: isn't it != instead of just = ? [12:52] gm__ has joined the channel [12:52] asdfsafdsa: floby: yes thank you that is it [12:53] jaket has joined the channel [12:53] floby: asdfsafdsa: = escapes whatever you give it. != doesn't [12:54] Lorentz has joined the channel [12:56] `3rdEden: e6nian: oooh, you mean request.headers.host :P [12:57] jacobolus: is there any easy way to figure out in what directories node is looking for modules to require? [12:57] badboy_: jacobolus: see require.paths [12:57] jacobolus: I'm rather confused about being able to require a module from a coffeescript shell, but not from a node shell [12:57] baudehlo has joined the channel [12:58] jacobolus: that is, in the latter I get a "cannot find module" error [12:58] floby: jacobolus: it's because node doesn't look for .coffee files by default. either use the coffee shell, or require('coffee-script') in your node shell [12:58] jacobolus: floby: this is a JS module [12:59] test1: does anyone recommend coffee script? [12:59] jacobolus: oh. [ '/Users/«me»/.node_modules', '/Users/«me»/.node_libraries', '/usr/local/lib/node' ] [12:59] jacobolus: test1: yes [12:59] snearch has joined the channel [12:59] jacobolus: why is /usr/local/lib/node_modules not in there? [12:59] test1: :jacobolus - can you explain why please? [13:00] jacobolus: test1: reason 1: the code ends up so much cleaner and more readable [13:00] test1: okay.. [13:00] test1: reason 2? [13:00] floby: test1: I looked at it, never find it interesting enough [13:00] jacobolus: reason 2: it encourages using anonymous functions in all kinds of useful places, because they are syntactically cheap [13:00] floby: con 1: all your function are anonymous, which is a pain to debug [13:01] jacobolus: javascript is actually quite a nice language (w/r/t semantics) for writing partially-functional-style code [13:01] jacobolus: browsers have fantastic debuggers these days [13:01] jacobolus: but the syntax for creating functions is awful [13:01] jacobolus: in javascript [13:01] floby: well, it's a keyword, an argument list and a block [13:02] Xano has joined the channel [13:02] floby: nothing fancy but it's alright IMHO [13:02] jacobolus: test1: `function () { return … }` gets turned into `-> …` [13:02] mdaisuke_ has joined the channel [13:02] floby: no, it gets turned into [13:02] floby: ->\n(\t+) ... [13:03] jacobolus: floby: the pair of required keywords take up tons of space when you use them a lot, and the braces are ugly as fuck [13:03] jacobolus: :) [13:03] heavysixer has joined the channel [13:03] floby: true for the keyword, but I find braces actually visually clear [13:03] jacobolus: I'm a python guy though, so probably biased [13:03] jacobolus: suit yourself [13:03] jacobolus: not worth arguing [13:03] floby: must be bias [13:04] floby: I can't stand whitespace sensitive languages [13:04] floby: I agree not worth arguing. but the everything-anonymous of coffeescript bugs me [13:04] jacobolus: if you're used to something else, then it takes a couple days to get used to; not a big deal in practice [13:05] floby: I name almost all my function so that they can appear in a stack trace [13:06] floby: I tried coffeescript, but I was always thinking of what it was compiling to so I reckoned I shouldn't bother using it at all [13:06] jacobolus: test1: there are also reasons 3-50, but you should just play with it and see if you like it [13:06] floby: jacobolus: +1 =) coffeescript is mostly alright [13:06] bkozal has joined the channel [13:06] test1: :jacobolus -i've been looking at it but i cant see anything useful really [13:07] jacobolus: test1: what's "useful"? [13:07] jacobolus: it saves time and mental overhead [13:07] jacobolus: on every line [13:07] test1: :jacobolus - something worth using [13:08] jacobolus: how do you decide whether "anything" is "worth using"? [13:08] floby: I remember something about a defer keyword in coffeescript for asynchronous tasks. might be something useful [13:08] eamonn: I'm using express with res.redirect('back') and I was wondering if it's possible to pass back any data with that as another parameter [13:08] test1: sounds like flobby knows whats going on with it [13:08] test1: :) [13:08] squeeks: jacobolus: by asking yourself a simple question "Why would I want to use it?" [13:09] jacobolus: squeeks: my point is that these definitions are entirely vacuous [13:09] floby: test1: flobby ? I know not of any flobby [13:09] Prism has joined the channel [13:09] floby: test1: :p [13:09] test1: whoops [13:09] test1: floby [13:10] floby: test1: I read a little about it, but never used it seriously. [13:10] jacobolus: test1: I don't think I would be able to write this sort of code w/ javascript syntax http://pastie.textmate.org/private/cewaxwhppvfkxemu1iqw [13:10] squeeks: jacobolus: what? by asking yourself "Why should I use x" is mindless? [13:10] jacobolus: http://pastie.textmate.org/private/xdguqtl1e3zvvw8h6hjvva [13:10] jacobolus: squeeks: who said anything about mindless? [13:10] avalanche123 has joined the channel [13:10] Swizec has joined the channel [13:10] test1: good question [13:10] squeeks: vac·u·ous/ˈvakyo͞oəs/Adjective 1. Having or showing a lack of thought or intelligence; mindless [13:11] jacobolus: squeeks: 2: empty [13:11] ckknight_ has joined the channel [13:12] jacobolus: in the sense of "vacuous truth" [13:12] squeeks: right. I'm strine, big words as nasty. [13:13] postwait has joined the channel [13:13] jacobolus: strine? [13:13] jacobolus: I don't understand [13:14] jacobolus: test1: anyway, the overhead of function calls would make that kind of code entirely ugly IMO, so I would avoid such patterns when using JS syntax [13:14] jacobolus: but in CS it's quite natural [13:15] jacobolus: test1: node.js for example is an API designed entirely around using callbacks all over the place. JS syntax makes this much harder and less clear than it should be [13:16] jacobolus: test1: if you use CS instead, suddenly all the logic and flow control becomes quite a bit more apparent [13:16] davidsklar has joined the channel [13:16] jacobolus: er, control flow [13:16] rfay has joined the channel [13:17] mike5w3c_ has joined the channel [13:18] jacobolus: test1: reason 3: being able to says `{atan2, sin, cos, exp, abs, sqrt, pow, round, floor} = Math` is so nice [13:18] sunnyohno has joined the channel [13:19] Billbad has joined the channel [13:19] jacobolus: var abs, atan2, cos, exp, floor, pow, round, sin, sqrt; [13:19] jacobolus: atan2 = Math.atan2, sin = Math.sin, cos = Math.cos, exp = Math.exp, abs = Math.abs, sqrt = Math.sqrt, pow = Math.pow, round = Math.round, floor = Math.floor [13:19] jacobolus: is the JS alternative [13:20] Vertice has joined the channel [13:20] floby: the JS alternative is Math.cos [13:21] jacobolus: badboy_: so why is /usr/local/lib/node_modules not in require.paths from the node shell, but apparently is when I'm using the coffeescript shell? [13:21] jlecker has joined the channel [13:21] xeodox has joined the channel [13:22] jacobolus: floby: okay, but what about when the thing you're trying to give a nice name to is called dojo.some.ridiculous.long.name or yahoo.some.other.ridiculous.thing [13:23] uho has joined the channel [13:23] floby: when I type [13:23] floby: `require.paths` in the coffee shell it outputs the same as node's [13:23] jacobolus: the point is that the syntax shortcut is nice, not that you have to make better names for math functions [13:23] Tidwell has joined the channel [13:24] floby: jacobolus: it also is polluting of a namespace and closure [13:24] markc has joined the channel [13:24] jacobolus: which is why it's nice that you have to do that explicitly [13:24] jacobolus: I don't get your point [13:25] jacobolus: floby: you are welcome to use or not use whatever names you like; I'm just pointing out that a commonly needed thing is cumbersome in javascript and not in coffeescript [13:25] jacobolus: do whatever you want [13:26] floby: jacobolus: agreed [13:26] jacobolus: floby: huh. I get the same require.paths in both too. but if I `require('underscore')` it works in the coffeescript shell but not in the node shell [13:26] floby: lemme try this [13:26] jacobolus: in the node shell it spits out Error: Cannot find module 'underscore' [13:27] floby: where is installed underscore ? [13:27] jacobolus: whereas in the coffee shell it loads w/o complaint [13:27] seivan has joined the channel [13:27] brolin has joined the channel [13:27] jacobolus: in /usr/local/lib/node_modules/ [13:29] floby: I discussed this with isaacs on his article about local vs global. Apparently you shouldn't be able to require globally installed module without linking them locally [13:29] matyr_: check: module.paths [13:30] __sorin__ has joined the channel [13:30] boghog has joined the channel [13:30] floby: matyr_: funny. in the coffee shell it's empty, in node it contains /etc/node_modules and /node_modules [13:30] max_dev has joined the channel [13:30] jacobolus: in node, module.paths is apparently any "node_modules" directory in any parent of the CWD [13:30] asdfsafdsa: how do you get current directory of script? [13:31] jacobolus: module.filename apparently [13:31] floby: asdfsafdsa: current working directory or actualy directory your script is in? [13:31] floby: actual* [13:31] asdfsafdsa: actual [13:31] jacobolus: floby: so why shouldn't you be able to require global modules? [13:31] jacobolus: floby: what's the point of making them "global" in that case? [13:32] jacobolus: that seems counterintuitive enough to be called "broken" [13:32] floby: jacobolus: in order to be able to use their binaries if they provide any [13:32] Tidwell: floby: as far as i know, modules installed with -g don't need to be installed locally - they can be, but I haven't run into that issue... [13:32] jonpacker has joined the channel [13:33] jacobolus: floby: so you can use their binaries but not import them? [13:33] Tidwell: floby: ohh yea, for binaries like express's scaffolding and stuff I have seen that [13:33] jacobolus: that seems terrible [13:33] rworth has joined the channel [13:33] jacobolus: what's the rationale? [13:33] floby: http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/#comment-168 [13:34] TheDeveloper: tmedema: thanks for the quora link and `3rdEden: awesome, thanks [13:34] floby: If you need to require a module installed globally, you have to link it [13:34] floby: npm link [13:34] jacobolus: floby: so can I somehow set it to install to {prefix}/lib/node ? [13:35] jacobolus: floby: seems like then everything will work properly [13:35] jacobolus: I'd really rather not have crap floating around in ~/.whatever [13:36] floby: I'm not sure if you can, maybe in your .npmrc. But you can also have an environment variable called NODE_PATH which contains a list of directories to be added to require.paths [13:36] devdazed has joined the channel [13:36] jacobolus: alright, I can add /usr/local/lib/node_modules there [13:36] floby: however, require.paths will surely go away in future versions, so this might not be a good idea in the long run [13:37] floby: I'm not sure, maybe it adds it to module.paths [13:37] edude03 has joined the channel [13:37] floby: no, no it adds it to require.paths [13:39] jacobolus: great, that works [13:39] jacobolus: floby: thanks! [13:39] floby: jacobolus: no problem [13:40] floby: jacobolus: I'm still fooling around with npm 1.0 so I discover things everyday [13:40] mengxy has joined the channel [13:40] jacobolus: oh yeah? [13:41] timmywil has joined the channel [13:42] ximo has joined the channel [13:43] zomgbie has joined the channel [13:44] jacobolus: floby: anything especially interesting? [13:45] Ori_P has joined the channel [13:45] floby: jacobolus: well, this for example =) but it's pretty much the same as before except that you have to be aware of where you are relatively to node_modules directories [13:46] stepheneb has joined the channel [13:47] stepheneb has joined the channel [13:47] bulters has joined the channel [13:48] dcampano has joined the channel [13:49] seivan has joined the channel [13:50] jonpacker has joined the channel [13:52] dambalah has joined the channel [13:52] jonpacker has joined the channel [13:53] kioopii has joined the channel [13:54] Metapony has joined the channel [13:55] timmywil has joined the channel [13:55] jmckind has joined the channel [13:57] softdrink has joined the channel [13:59] tyler-iphone: how do i make express listen to GET and POST on same route? [14:00] tyler-iphone: n/m [14:00] tyler-iphone: found it [14:00] ibrahimal-rajhi has joined the channel [14:01] kioopii: are there any known problems using nave and npm together? i'm re-doing some npm linkage that worked without nave, getting errors inside .nave/.... [14:02] Mrfloyd has joined the channel [14:03] m64253 has joined the channel [14:04] jtsnow has joined the channel [14:04] jacter has joined the channel [14:04] christkv has joined the channel [14:05] jtrudeau has joined the channel [14:05] jaket has joined the channel [14:06] ibrahimal-rajhi has joined the channel [14:06] mendel_: are those guys @ nodeconf gonna stream the event? [14:06] mendel_: if not: why not :(:( [14:06] marcello3d has joined the channel [14:07] amacleod has joined the channel [14:07] mendel_: somebody please stream from your phone ;) [14:07] brianc has joined the channel [14:10] Know1edge has joined the channel [14:10] mc_greeny has joined the channel [14:11] Opaque has joined the channel [14:11] Venom_X has joined the channel [14:11] viirya has joined the channel [14:11] cbibler_ has joined the channel [14:11] brettgoulder has joined the channel [14:12] jacobolus has joined the channel [14:13] brianc1 has joined the channel [14:13] Know1edge has left the channel [14:14] dguttman has joined the channel [14:15] rpflo has joined the channel [14:16] viirya has joined the channel [14:16] mendel_: how do you guys push your apps? [14:17] mendel_: with ruby I used capistrano, could use that for nodejs too but would prefer something in node ;) [14:17] Aikar: i take both hands, and push forward [14:18] nexxy has joined the channel [14:19] gf3: gah, is npm bunlde gone in 1.0? [14:19] nexxy has joined the channel [14:19] Aikar: yeah. just npm install your deps, then dont list them in package.json [14:20] Aikar: and then 'publish' with them in the folder [14:20] gf3: well that is silly! [14:20] Aikar: not really [14:20] Aikar: yoiu need your deps there to do testing anyways [14:20] sivy has joined the channel [14:20] strmpnk has joined the channel [14:21] Aikar: so simply publish with them in the package [14:21] Aikar: i really prefer that then letting npm manage depdencies anyways [14:21] Aikar: then your package can be installed from npm or git w/o issue [14:21] Tidwell: mendel_: commit to git repo, ssh to prod machine, npm install dependancies, git pull. [14:22] gf3: Aikar: yea but that's simple to do w/ npm bundle [14:22] jonathanh has joined the channel [14:22] ximo has joined the channel [14:22] Aikar: gf3: and im saying thats simply how npm publish works now by default [14:22] Aikar: if you want to bundle your dependencies, simply dont list them in package.json, no extra commands to worry about [14:23] mendel_: I'm now just doing a simple rsync or scp if it's not on git, but that's a nice one too [14:23] Aikar: you have your folder foo/, foo depends on bar, so npm install bar, gives you foo/node_modules/bar, then npm publish, bam, bar is part of the foo package [14:24] gf3: Aikar: I'd like to do both [14:24] gf3: ideally [14:24] Aikar: 'do both' ? [14:24] Aikar: what other thing is there to do? [14:24] gf3: node_modules and npm-managed [14:24] Tidwell: gf3: you mean list it in package.json and still bundle? [14:24] Aikar: npm puts them in node_modules for you [14:24] gf3: npm is complaining if I have non-npm packages in node_modules too [14:24] Aikar: whats the point? [14:24] gf3: Tidwell, yes [14:25] Aikar: really? why would isaacs add something to complain about stuff in node_modules? [14:25] nibblebot has joined the channel [14:25] Aikar: id ignore em [14:25] gf3: I would too, except it's fatal [14:25] Tidwell: gf3: if it complains, you can probably just npm link them and it'll prolly shut up [14:26] gf3: http://cloud.gf3.ca/6VXY [14:26] Aikar: thats a bug then, even if it was his intent, thats not acceptable [14:26] mjr_ has joined the channel [14:26] Aikar: oh you did a plain install w/o a module name? [14:26] Aikar: you need to say 'npm install blah' [14:26] gf3: Aikar: it installs from package.json, no? has that changed too? [14:26] Aikar: plain 'npm install' i think is for installing bin globally? [14:27] Aikar: and dev depencies [14:27] test1: has anyone written a website in node? [14:27] gf3: no [14:27] Aikar: gf3: look at the error, its saying some package doesnt have a package.json [14:27] gf3: Aikar: it installs the deps from package.json into node_modules [14:27] tyler-iphone: test1: http://nostat.us:8080/site/ [14:27] Aikar: is IRC your module? [14:27] gf3: Aikar: yes, I have manually put that in node_modules [14:27] gf3: Aikar: yes [14:27] test1: brill thanks [14:28] test1: open source? [14:28] Aikar: gf3: ok so thats a bug in npm, it shouldnt fatally crash because of a non package.json folder [14:28] gf3: Aikar: indeed [14:28] tyler-iphone: test1: https://github.com/tjgillies/framed [14:28] test1: lovely stuff [14:28] Aikar: but id recommend npm install then remove them from the package.json, then npm publish [14:29] Aikar: if you want to bundle [14:29] pifantastic has joined the channel [14:29] jakehow has joined the channel [14:29] deedubs has joined the channel [14:30] gf3: eh, I think it's a good idea to explicitly list my deps in package.json [14:30] sonnym has joined the channel [14:30] Corren has joined the channel [14:31] Aikar: if you bundle your deps, why? documentation purposes? put it in comments if you need lol [14:31] mattrobenolt has joined the channel [14:31] kioopii: tyler-iphone, the sign-in-popup is an abomination. [14:31] Aikar: if you list them, npm will intentionally ignore them on publish [14:31] Aikar: therefor it wont be bundled [14:31] Nietecht has joined the channel [14:31] Aikar: but it will leave (ie bundle) the modules not listed in package.json [14:31] EyePulp has joined the channel [14:32] tyler-iphone: kioopii: its just an example. it doesn't even really do anything [14:32] ximo has joined the channel [14:32] Aikar: so if you have foo/node_modules/{a,b,c} and package.json lists b,c as dependencies. the package.tar.gz will have foo/node_modules/a inside it, but not b,c [14:33] jonathanh: hi [14:33] tyler-iphone: kioopii: it was just to test client/serverside cookies and embedded client side coffeescript [14:34] jonathanh: i have the weirdest bug where it seems riak-js is interacting with a file upload and causing it to stall. i'd *love* if a fresh pair of eyes could take a look at the test and see if anything pops out at them... https://gist.github.com/957127 [14:35] isaacs has joined the channel [14:35] bzinger has joined the channel [14:35] qFox has joined the channel [14:36] viz has joined the channel [14:36] mikl has joined the channel [14:37] mikl has joined the channel [14:37] eee_c has joined the channel [14:38] mbrevoort has joined the channel [14:38] cha0s has joined the channel [14:41] ewdafa has joined the channel [14:42] ceej has joined the channel [14:46] ryanfitz has joined the channel [14:46] jdalton has joined the channel [14:46] jdalton has left the channel [14:50] DeltachaosDeskto has joined the channel [14:51] kioopii: tyler-iphone: thought so, still i clicked 'cancel' like 5 times before 'ok'ing that thing away ;-) [14:51] wdperson has joined the channel [14:53] vipaca has joined the channel [14:53] dmcquay has joined the channel [14:54] sub_pop has joined the channel [14:55] Rodtusker has joined the channel [14:56] sirkitree|bfast has joined the channel [14:57] mynyml has joined the channel [14:57] mynyml_ has joined the channel [14:58] BillyBreen has joined the channel [14:58] TheFuzzball has joined the channel [15:00] kmwallio has joined the channel [15:01] jxck has joined the channel [15:03] Mrfloyd has joined the channel [15:03] tyler-iphone: kioopii: lol heh [15:03] eldios: http://bash.org/?934304 [15:03] tmedema: Has anyone created a DNS server in node.js? Specifically I wonder how one would try to determine what server is closest to the client in network hops to appoint such server [15:04] gazumps has joined the channel [15:04] montylounge has joined the channel [15:04] stagas: new lib! https://github.com/stagas/memoize [15:05] Nican has joined the channel [15:05] squeeks: eldios: efnet is that way ----> [15:06] eldios: squeeks :P [15:06] vipaca has joined the channel [15:06] vipaca has joined the channel [15:07] ebertx has joined the channel [15:07] broofa has joined the channel [15:08] fallsemo has joined the channel [15:10] BinaryMuse has joined the channel [15:11] briznad has joined the channel [15:12] context: stagas: i was about to say :x ive seen memoize for a long time but that was for ruby. [15:12] context: stagas: very nice ! [15:13] tmedema: nice lib stagas, although in your example you pass a different callback and yet you say the arguments are the same? [15:13] stagas: tmedema: doesn't dig into functions [15:13] iwinulose has joined the channel [15:14] tmedema: stagas: ah makes sense, worth mentioning, nice work though [15:14] stagas: tmedema: should it you think? I could .toString() it [15:14] yozgrahame has joined the channel [15:14] stagas: but usually you don't want that [15:15] mikl has joined the channel [15:16] tmedema: stagas, probably not no, but still worth mentioning.. I guess it's good that it does not so you can still use callbacks [15:16] tmedema: the only edge case is where you pass a function that generates data for the method to use [15:16] stagas: tmedema: it could toString all functions but the callback [15:16] tmedema: but that's rather rare [15:17] tmedema: hmm well how does the ruby one do it? they probably have a lot of experience with it [15:17] stagas: dunno can't think of a use case you'd want to memoize a function, usually you want it executed somewhere [15:17] tmedema: true [15:17] tmedema: I can think of a use case but it is not common [15:18] harth has joined the channel [15:18] tjholowaychuk has joined the channel [15:18] tiagoa_ has joined the channel [15:19] eee_c has joined the channel [15:20] rpflo has joined the channel [15:20] tiagoa__ has joined the channel [15:20] isaacs has joined the channel [15:22] sunnyohno has joined the channel [15:23] Jonasbn_ has joined the channel [15:23] ewdafa has joined the channel [15:24] mendel_: eldios: just one http://bash.org/?99060 [15:25] viz has joined the channel [15:25] thomasb has joined the channel [15:28] spetrea has joined the channel [15:30] sarkis has joined the channel [15:30] eldios: if I say "typical" I wouldn't be that far :) [15:31] spetrea has joined the channel [15:31] wdperson has joined the channel [15:31] sleeplessinc has joined the channel [15:32] eldios: there were once a bash post of a guy who suggested some spanish words to a guy who needed to talk to a neighbour.. or similar [15:32] eldios: hell that was funny.. and meanwhile I hoped like hell it was a fake [15:34] eldios: here it is.. *VERY* old but freaking awesome.. http://www.bash.org/?874987 [15:34] eldios: I invite you to use google translate to check what's the spanish meaning of those words [15:35] sechrist has joined the channel [15:35] squeeks: hahaha, brilliant. I'm not that fiendish. [15:35] enlightified has joined the channel [15:35] multipass|2 has joined the channel [15:35] eldios: I was like crying my brain out laughin the first time I read it [15:36] eldios: (also I didn't remember the meaning was actually in the logs) [15:36] spetrea has left the channel [15:36] eldios: I will definitely twit this [15:37] cachemoney has joined the channel [15:37] cachemoney: is there a live stream from nodeconf? [15:38] ewdafa has joined the channel [15:39] DrHeiter23 has joined the channel [15:39] mape: seems strange they can't get one person with a smartphone to stream it [15:40] mape: Not like they will loose people attending, being there, meeting people, isn't like watching a stream [15:40] mape: And they wouldn't have to have it official, ie claim good quality, just have someone try to stream it [15:41] cachemoney: they wouldn't have to worry about that cause it's "very very sold out" [15:42] stagas: tmedema: done https://github.com/stagas/memoize/commit/9db5dafde87972c7305f29dbe5af7148ea29b280 [15:42] mscdex: yeah streams would be full of win [15:43] sivy has joined the channel [15:43] mbrevoort has joined the channel [15:43] tmedema: stagas hmm so what happens if you use a callback now? [15:44] context: mape: hipsters dont stream from there phones [15:44] tahu has joined the channel [15:44] cachemoney: safari just triggered a kernel panic :( [15:44] stagas: tmedema: callbacks are like before, they are wrapped. now every object in the arguments is serialized using toSource [15:45] stagas: tmedema: you need the callback to be new [15:45] stagas: otherwise makes no sense :) [15:47] mscdex: ahh coffee [15:47] jonathanh: coffee... what a great idea [15:47] mscdex: you're telling me [15:47] mape: context: hehe well, just to spread the wealth, having someone with a camera doesn't seem like a big deal [15:48] jonathanh: you making enough to go around? ;) [15:48] gf3: mmm coffee [15:48] tjholowaychuk: mmm coffee [15:48] gf3: I just made a triple shot latte [15:48] context: mape: i know right. if we're lucky. hi quality videos will be posted later [15:48] context: mape: patience ;) [15:48] mape: context: ... This is the internet, we are out of patience [15:48] mscdex: patience.js [15:49] mape: mscdex: I've had issues with that in the latest npm [15:49] mape: it isn't global! [15:49] jtsnow has joined the channel [15:49] jonathanh: ok, this bug has officially kicked my ass [15:49] mscdex: ! [15:49] mscdex: better notify isaacs about it [15:50] mape: mscdex: perhaps I need -p for PATIENCE [15:50] anthracite has joined the channel [15:50] eldios: use -p more than once to increase the level of patience [15:51] mape: eldios: no you uppercase it, duh [15:51] _jdalton has joined the channel [15:51] mape: or --totalPatience, but that is a pain to type [15:51] _jdalton has left the channel [15:52] mscdex: -ppp [15:52] mscdex: ;) [15:52] mape: -fuuuuuu [15:52] anthracite has left the channel [15:53] steph021 has joined the channel [15:53] steph021 has joined the channel [15:53] mscdex: i think that'd make a good debug level command line option [15:53] mscdex: add more u's to get more output [15:53] mape: hehe yeah [15:53] BinaryMuse[afk] has joined the channel [15:54] mape: and in the end you just end up with setInterval(function(){console.log('Uh huh?')},0) [15:54] eldios: LOL [15:54] eldios: the -fuuuu option is a total win [15:54] DrHeiter23: anyone here use mongoose module with their node setup? [15:54] eldios: to be used instead of the debug -9 [15:54] throughnothing has joined the channel [15:55] EvanCarroll: Does jade provide a method of linking inside of a text block, that doesn't require placing the link on its own line? [15:55] pcardune has joined the channel [15:55] EvanCarroll:

foo link_text bar

[15:55] llkazu has joined the channel [15:55] eldios: like [15:56] ryan_ has joined the channel [15:56] BinaryMuse[away] has joined the channel [15:56] DrHeiter23: trying to create a simple Model using mongoose for a User, with types like _id:Object, email:String, etc.. I was just wondering what/if is the difference in specifying a type as myADT: {prop1:[],prop2:[]} can I even do that? An object that has two arrays? Will it handle that fine? [15:56] tjholowaychuk: EvanCarroll: no, jade cannot safely assume anything within text is not text [15:56] eldios: that was hard to write [15:57] tjholowaychuk: EvanCarroll: that's for stuff like markdown [15:57] eldios: tjholowaychuk, what if you use | [15:57] ivanfi has left the channel [15:57] eldios: will it newline all the same? [15:57] tjholowaychuk: you still need the tag on it's own line yeah [15:57] tjholowaychuk: | foo\na(href='#') something\n| bar [15:57] eldios: I was saying like [15:58] eldios: p\n\s\s|foo\n|a(href='#') link\n|bar [15:58] mape: that seems like black magic [15:58] eldios: will it put it on a new line all the same? [15:58] tjholowaychuk: if you have the | first it's just text [15:59] sunnyohno has joined the channel [15:59] eldios: mm :/ [15:59] eldios: and with ${} [15:59] eldios: ? [15:59] ibrahimal-rajhi has joined the channel [16:00] eldios: that was my last guess :) [16:01] boaz has joined the channel [16:03] tmzt has joined the channel [16:03] kmiyashiro has joined the channel [16:03] edude03 has joined the channel [16:03] stephank has joined the channel [16:04] puffpio has joined the channel [16:04] Charuru has joined the channel [16:05] amerine has joined the channel [16:06] EvanCarroll: tjholowaychuk: I think there is a bug with the way jade process :markdown [16:06] EvanCarroll: or pulls in the filter output [16:06] EvanCarroll: it seems it always ends the tag and starts it again [16:06] EvanCarroll: rather than just dropping in the text. [16:07] tjholowaychuk: shouldn't if you indent [16:07] tjholowaychuk: works for me [16:07] msucan has joined the channel [16:08] EvanCarroll: tjholowaychuk: https://gist.github.com/957328 [16:08] EvanCarroll: how would you expect that to work? [16:08] mc_greeny: in many tutorials I find http.createClient(), which is depricated. but how can I get the "same" result as in the tutorials? [16:09] stepheneb_ has joined the channel [16:09] jano has joined the channel [16:09] tjholowaychuk: EvanCarroll: your input didnt work but something similar did [16:09] tjholowaychuk: not sure why yours doesnt [16:09] tjholowaychuk: looks like your markdown link is not correct though [16:09] CloudTwoPointOh has joined the channel [16:10] tjholowaychuk: ) is missing [16:10] multipass|2 has joined the channel [16:10] squeeks: mc_greeny: compatibility! [16:11] EvanCarroll: tjholowaychuk: sorry, fixing that though the formatting doesn't seem correct. [16:12] catshirt has joined the channel [16:12] mc_greeny: squeeks: sorry, cound you be more precise, please? [16:12] mc_greeny: <- beginner [16:13] CloudTwoPointOh: yo [16:13] mc_greeny: I can find http.ClientRequest, httpClientResponse, httpAgent... [16:13] CloudTwoPointOh: What do you guys use to start node.js servers in production? [16:13] mape: mscdex: probly look at http.get [16:13] mape: oops, sry mscdex , meant mc_greeny [16:14] mape: mc_greeny: or look at something like the request module [16:14] CloudTwoPointOh: Do you guys add an init script to /etc/init ? [16:14] mc_greeny: mape: thx! [16:15] mape: Someone should start a wiki for node with general questions [16:15] mape: And therefor would have to build wiki software :P [16:15] kevliu has joined the channel [16:16] CloudTwoPointOh: mape: If that is in response to my question which is the result of working with node.js on a 20,000 LOC project over six months, I am insulted. [16:16] EvanCarroll: tjholowaychuk: ah, the markdown is actually just wrapping the content in a

tag [16:16] tjholowaychuk: EvanCarroll: yeah it does that [16:16] liquidproof has joined the channel [16:16] stepheneb has joined the channel [16:17] mape: CloudTwoPointOh: You shouldn't be, I don't have a lot of loc but I have 2m connections to my project every week and I'm running cluster [16:17] CloudTwoPointOh: cool [16:17] codetonowhere has joined the channel [16:17] CloudTwoPointOh: What do you use to start your node.js server? [16:17] mape: But it would be neat to have somekinda central place for "common" questions, like if people should use supervisor, monit, forever, cluster or whatever [16:17] CloudTwoPointOh: right [16:18] mape: CloudTwoPointOh: screen, cluster and notifications on when it is down. Seems to work for now [16:18] tjholowaychuk: sweet didnt know our regexps supported \1 etc [16:18] tjholowaychuk: yay [16:18] mape: But for sure, configuring monit/supervisor sound like a good idea [16:18] tjholowaychuk: CloudTwoPointOh: yeah we use monit + cluster, using a few cluster plugins for report logging and email notifications [16:18] CloudTwoPointOh: cool [16:19] CloudTwoPointOh: I am using node.js just for the model layer of my web app. [16:19] mendel_: CloudTwoPointOh: forever, nginx for proxy (need it for ruby) [16:19] stagas: mape: been working on a wiki thing I wanna use in nodejs.eu [16:19] CloudTwoPointOh: Yeah, I use nginx [16:19] jonathanh: CloudTwoPointOh: i don't get as many hits as mape, but i use supervisor for keeping backend node-based daemons running and cherokee to reverse-proxy and invoke node for the front-end [16:19] sarkis has joined the channel [16:20] CloudTwoPointOh: So how many node servers for a web site/web app is common? [16:20] mendel_: 1? [16:20] chrislorenz has joined the channel [16:20] mendel_: depents on the site of course ;) [16:20] mape: stagas: God damit, you keep stealing my ideas! :P [16:20] stagas: mape: haha [16:20] CloudTwoPointOh: I just wondered if sometimes people split up functionality across different node servers (I don't) [16:20] eresair has joined the channel [16:21] mape: jonathanh: any reason to use cherokee rather then nginx? (other then neat web gui?) [16:21] stagas: mape: I was thinking of it more like a link directory for node, but user editable [16:21] mape: CloudTwoPointOh: Seems like the new hot thing is to keep things small and have them fail well [16:21] d0k has joined the channel [16:21] mape: So tons of processes with good APIs should be a good idea [16:22] christkv_ has joined the channel [16:22] CloudTwoPointOh: mape: So that would mean different node servers talking to eachother? [16:22] mape: CloudTwoPointOh: Yup [16:22] jonathanh: mape: not really, no. my business partner had more experience with cherokee... and i'll admit, the web gui is pretty nice to have (and this from someone who for many years swore by manually editing config files with vi) [16:22] mape: That way you can start out on one server, and then move them of easily [16:22] hdon- has joined the channel [16:22] mape: jonathanh: k [16:22] mape: *off [16:23] CloudTwoPointOh: I dream about writing C code in vi :( [16:23] robotblake has joined the channel [16:23] jonathanh: CloudTwoPointOh: why? it's like crying blood ;) [16:24] CloudTwoPointOh: jonathanh: Too much coding lately has affected my dreams [16:24] jonathanh: CloudTwoPointOh: oh, so those are your nightmares [16:24] mape: stagas: So if you plan on stealing my ideas, please steal this one and make it :P I want munin.. But I want nodes to be able to register without the central server handling it. [16:25] zeade has joined the channel [16:25] mape: So I have a central server just running, and then I can just start adding nodes with id's that start plotting neat things [16:25] mendel_: sweet socket.io .7, huge overhaul [16:26] demastrie has joined the channel [16:26] stagas: mape: not sure I get it :) [16:26] CloudTwoPointOh: mape: What would you use for intra-node communication? JSON objects? [16:26] mape: stagas: know about munin? [16:26] eguest309 has joined the channel [16:26] mape: CloudTwoPointOh: yeah, native and easy to use [16:26] stagas: mape: nope checking it out now [16:27] eguest309: hello ,i hade some problems installing serialport [16:27] stagas: mape: oh that's another project, not the wiki [16:27] mape: stagas: ah yeah :P [16:27] mape: munin is for graphing stats [16:28] eguest309: anybody had any succcess in stalling it [16:28] mape: and I want that, but have the hive mind not control things, just collect, so I have a hive mind that displays the data, but I can arbitrarily add new nodes that start plotting data [16:29] Corren has joined the channel [16:29] mape: Kinda have something working, just need a good way of graphing an object with tons of data. Multiple levels deep, load, memory/disk usage, mongo/nginx req/stats etc etc [16:30] stagas: mape: dnode would work though it's heavy [16:30] e6nian: Never explicitly use app.router with express. It should work after that. what's this mean? [16:30] kmiyashiro: anyone know why I always get this error when updating npm on OS X? npm ERR! Could not get uid/gid [16:30] gonsfx has joined the channel [16:31] tjholowaychuk: e6nian: huh? [16:31] tjholowaychuk: where does it say that? [16:31] tjholowaychuk: it's fine to use app.router [16:31] mape: stagas: well not so much the transport, it is just json with sys-men/app-mem,load etc etc. But I would have to figure out an automated way that isn't to bloated that I could send a "random" object and that would get split into groups and graphs [16:31] tjholowaychuk: this just lets you place the routing middleware whereever you like [16:31] demastrie has left the channel [16:32] mape: stagas: So i can start out with a new Beacon({'id': 'imageServer'+i, 'data': data}), and then just keep adding them as I scale [16:32] mape: and the data part is the issue, it can be {'load': 0.02} or 4 levels deep with 30 different stats [16:32] mendel_: tjholowaychuk: what's the story behind LearnBoost? You're a couple of friends? You guys make great software [16:33] tjholowaychuk: mendel_: I joined a few months after rthey started, it's a pretty weird story though actually haha kinda random [16:33] mape: and the levels deep would be shown in the UI with grouping and all that [16:33] tjholowaychuk: basically they were working individually on projects and ended up joining [16:33] tjholowaychuk: and forming LearnBoost [16:33] tjholowaychuk: and then me and aaron joined [16:33] eee_c has joined the channel [16:33] mendel_: with how many are you now? [16:34] tjholowaychuk: hmmm about 7 [16:34] stagas: mape: there are ton of graph libs, have you found any that fits? backend doesn't seem too hard [16:34] tjholowaychuk: only a few developers though [16:34] mendel_: 4 @ github I see [16:34] tjholowaychuk: yup [16:34] mape: stagas: yeah, so the data transfer is easy, graphing is semi easy depending on the data. It is just the format of the data that is puzzeling me right now [16:35] tjholowaychuk: we are from all over only guillermo is in SFO as far as the programmers go [16:35] tjholowaychuk: im in canada, not sure where aaron is haha [16:35] tjholowaychuk: some other place in the US [16:35] mendel_: thnx for opensourcing the stuff you're making.. [16:35] tjholowaychuk: np [16:35] mendel_: so not working @ one office? [16:35] eguest309: any ideas [16:35] tjholowaychuk: don't gain much from closed source IMO [16:35] tjholowaychuk: onpe [16:35] mike5w3c has joined the channel [16:35] tjholowaychuk: im at starbucks [16:35] tjholowaychuk: haha [16:35] mendel_: lol! [16:35] eldios: check out this awesome oscar nominee short film.. http://www.youtube.com/watch?v=A0ux_7LQO7s [16:36] mendel_: but you can make your living out of it right? [16:36] tjholowaychuk: yup [16:36] tyler-iphone: nodeconf yall [16:36] stagas: mape: so want something that will eventually look like this? http://oierud.name/bliki/ImprovedMuninGraphsForMySQL.html [16:36] mape: stagas: https://gist.github.com/ab8ea110fd5dc176aac4 like that [16:37] mape: stagas: more or less yeah [16:37] mape: but grouped by the context in the json data [16:38] abraham has joined the channel [16:39] mape: issue is that things get "bloated" really really fast [16:39] mape: But if I don't add meta-data on how it should be graphed it would end up being non usefull [16:40] nadirvardar has joined the channel [16:40] mape: and good "apis" are the way to go, otherwise it just turns into a hassle [16:40] e6nian: tjholowaychuk: https://gist.github.com/956508 here, when I app.use(app.router), the everyauth middleware won't get session work. [16:40] mape: good APIs and easy to use [16:41] stagas: mape: can't it figure out the vector max/min by the input data why do you need meta [16:41] tjholowaychuk: e6nian: looks fine [16:41] tjholowaychuk: nothing wrong with using it there at all [16:41] e6nian: TheDeveloper: the deverloper of everyauth told me Never explicitly use app.router with express. It should work after that. [16:42] mape: stagas: look at munin, I wish it was that simple :( [16:42] DeltachaosDeskto: im new to node.js and i would be grate if someone can have a look at my code and valutare if my software desing is good... here is the repo: /home/deltachaos/buildbox/xtain-controllapp/src/usr/share/webapps/controllapp/apps [16:42] DeltachaosDeskto: /home/deltachaos/buildbox/xtain-controllapp/src/usr/share/webapps/controllapp/lib [16:42] DeltachaosDeskto: /home/deltachaos/buildbox/xtain-controllapp/src/usr/share/webapps/controllapp/plugins [16:42] DeltachaosDeskto: /home/deltachaos/buildbox/xtain-controllapp/src/usr/share/webapps/controllapp/vendors [16:42] DeltachaosDeskto: /home/deltachaos/buildbox/xtain-controllapp/src/usr/share/webapps/controllapp/controllapp [16:42] DeltachaosDeskto: /home/deltachaos/buildbox/xtain-controllapp/src/usr/share/webapps/controllapp/controllapp.js [16:42] DeltachaosDeskto: hmpf [16:42] DeltachaosDeskto: no one moment^^ [16:42] mape: thanks DeltachaosDeskto [16:42] tjholowaychuk: e6nian: no thats not true at all [16:42] tjholowaychuk: in fact [16:42] DeltachaosDeskto: https://github.com/Deltachaos/Jex [16:42] tjholowaychuk: you usually should use it [16:42] tjholowaychuk: but it looks like you might be use()ing everyAuth or w/e after it [16:42] tjholowaychuk: in which case it would never be hit [16:42] tjholowaychuk: if oyu dont use app.router it is appended to the bottom [16:42] aroop has joined the channel [16:43] mape: stagas: smarter people then me have done things like this before and they haven't figured out a better solution, so I figure I will just end up at the same bumps as they if I don't take it into regard from the start [16:43] e6nian: tjholowaychuk: what's the meanning of use app.router? [16:43] mape: tjholowaychuk: so when using cluster, I assume you guys are running multiple instances of it, do you just have tons of urls to different cluster-stat pages? [16:43] tjholowaychuk: e6nian: app.router is the route middleware [16:44] tjholowaychuk: it contains all of your routes [16:44] mape: Or is there any centralized part? [16:44] markwubb_ has joined the channel [16:44] tjholowaychuk: mape: we just have one instance right now actually [16:44] indutny has joined the channel [16:44] tjholowaychuk: but yeah that would be an issue [16:44] trotter has joined the channel [16:44] tjholowaychuk: i plan on eventually having them all talk to each other via redis [16:45] mape: tjholowaychuk: but the internetz doesn't have redis [16:45] mape: at least not publicly :P [16:46] tjholowaychuk: well within your network [16:46] mape: Sure, that seems limiting though [16:46] tjholowaychuk: how so [16:46] leandrosansilva has joined the channel [16:46] mape: well, being within your network :P [16:46] tjholowaychuk: any db would be within the local network really [16:46] tjholowaychuk: unless you want people to steal your infoz [16:46] tjholowaychuk: haha [16:47] mape: for sure, but having beacons and sending data to the hive mind should be better rather then having them talk to eachother [16:47] CloudTwoPointOh: Does anyone know if a spellchecking module for node.js? [16:47] mape: CloudTwoPointOh: Hook to the google api? [16:47] tjholowaychuk: mape: well that's what I mean :D it would be centralized [16:48] tjholowaychuk: cluster of clusters [16:48] tjholowaychuk: of clusters [16:48] tjholowaychuk: of clusters [16:48] CloudTwoPointOh: Is there a node.js binding for a spellchecker library on github? [16:48] mape: tjholowaychuk: -fuuuuuuuuu :O [16:48] towski has joined the channel [16:48] mape: ;) [16:48] tjholowaychuk: ahaha [16:48] tjholowaychuk: but yeah we are not there yet we dont use to many resources really [16:48] tjholowaychuk: yet [16:48] stagas: CloudTwoPointOh: http://blago.dachev.com/modules [16:48] CloudTwoPointOh: Does this look good to anyone? https://github.com/prodigylink/node-spell [16:48] CloudTwoPointOh: hmm [16:48] mape: tjholowaychuk: hook up with them facebook peeps, I hear they are pretty hot nowadays [16:48] jamesarosen has joined the channel [16:49] spadin has joined the channel [16:50] CloudTwoPointOh: https://github.com/prodigylink/node-spell/blob/master/test/testnode.js -- Good idea for a web app, or should I use Google's API? [16:51] hdon- has joined the channel [16:52] CloudTwoPointOh: With that one, I would have to split() the string into words and then spellcheck each word [16:52] Skola has joined the channel [16:52] CloudTwoPointOh: (Because it looks like it only does one word at a time) [16:52] jgv has joined the channel [16:52] Skola: anyone else having trouble compiling node on OpenBSD? [16:52] e6nian: tjholowaychuk: so you are TJ. cool work for express. [16:52] Jamool has joined the channel [16:53] Jamool_ has joined the channel [16:53] mendel_: check this webgl expiremnt by google, damn cool http://data-arts.appspot.com/globe [16:53] tjholowaychuk: e6nian: yup that's me. but yeah dont worry about app.router, just make sure that things you want to take effect before routing, are above app.use(app.router) [16:53] Skola: I'm getting [16:53] mape: tjholowaychuk: you should get that nick back, duel the other dude for it ;) [16:53] Skola: Waf: Leaving directory `/home/bas/node-latest-install/node-v0.4.7/build' [16:53] Skola: Build failed: -> task failed (err #2): {task: libv8.a SConstruct -> libv8.a} [16:53] tjholowaychuk: haha :D [16:53] gmanika has joined the channel [16:53] Skola: anyone have any pointers for me? [16:53] aguynamedben has joined the channel [16:54] e6nian: tjholowaychuk: ok, got it. [16:54] Skola: am on OpenBSD btw [16:55] tjholowaychuk: e6nian: personally I do that often, since I usually have static() below my routes so that if I need to I can serve a static from within a route [16:55] tjholowaychuk: and to place an error handler below [16:55] rmustacc: Skola: Anything else useful before the failed creation of the .a? [16:55] rmustacc: i.e. is it failing to compile a specific cpp file or is it failing when trying to create an archive file. [16:56] Skola: sorry yeah [16:56] Skola: /home/bas/node-latest-install/node-v0.4.7/deps/v8/src/platform-openbsd.cc:583: error: 'current_state' is not a member of 'v8::internal::VMState' [16:56] febits has joined the channel [16:56] Skola: scons: building terminated because of errors. [16:56] Skola: scons: *** [obj/release/platform-openbsd.o] Error 1 [16:56] rmustacc: Oof. [16:56] rmustacc: That's bad news. [16:56] stagas: mape: so any node will be able to send arbitary data and also hook to existing data and monitor them. plus day/week/month stats and stuff? [16:56] konobi: heh... find the whol trademark thing going on on twitter pretty funny right now [16:57] rmustacc: It looks like v8 hasn't updated some piece of the OpenBSD support at least not in the version of v8 we have. [16:57] mape: stagas: yeah, so every becon has an id, and any data appended just keeps graphing [16:57] zylo has joined the channel [16:57] aberry has joined the channel [16:57] Skola: ouch yeah that's kind of a big deal [16:57] rmustacc: It might be worth figuring out if a newer version of v8 has solved this problem or if the problem is known upstream. [16:58] asabil has joined the channel [16:58] Skola: ugh [16:59] Skola: ports version of node on OpenBSD is 0.2.6 [16:59] zakabird has joined the channel [16:59] rfay has joined the channel [17:00] Skola: how can I be useful? submit bug report on github? [17:00] e6nian: tjholowaychuk: what's the best practise of using middleware like those configrable lib,I wanna seperat the routers in a controller file alone. [17:00] pifantastic_ has joined the channel [17:00] chrislorenz has joined the channel [17:00] tjholowaychuk: e6nian: personally I usually have ./config.js and ./routes/{user,reports,etc}.js [17:01] tjholowaychuk: require('./config')(app) [17:01] tjholowaychuk: module.exports = function(app){ setup stuff in here } [17:01] tjholowaychuk: or have a single "app" global [17:01] tjholowaychuk: though some people rage [17:01] tjholowaychuk: haha [17:01] markwubben has joined the channel [17:02] tjholowaychuk: var user = require('./routes/user'); app.get('/user/:id', user.show); app.get('/user', user.index); etc [17:02] tjholowaychuk: tons of things you can do [17:02] cadorn has joined the channel [17:02] ph^ has joined the channel [17:02] bingomanatee: Hey TJ if I could get a "Hands on with Express" thing going in SF, would you be willing to skype in and keep people on track? [17:02] Skola: Apparantly v8 is broken on OpenBSD since a little while [17:02] Skola: great [17:03] chrislor_ has joined the channel [17:03] tjholowaychuk: bingomanatee: I dont do phone/skype stuff haha [17:03] tjholowaychuk: im a skype newb [17:03] bingomanatee: okay then [17:03] tjholowaychuk: not much of an instructor either [17:04] bingomanatee: I can run point on instruction - I just know that the kind of folk we have here would ask questions that are beyond my abilities at the moment. [17:04] perezd has joined the channel [17:06] rmustacc: Skola: I know that if you can figure it out / patch it they'll generally take it upstream. [17:07] rmustacc: We've done that with SunOS supposrt. [17:07] mscdex: Skola: what's the error? [17:07] Skola: /home/bas/node-latest-install/node-v0.4.7/deps/v8/src/platform-openbsd.cc:583: error: 'current_state' is not a member of 'v8::internal::VMState' [17:07] Skola: scons: *** [obj/release/platform-openbsd.o] Error 1 [17:08] Skola: scons: building terminated because of errors. [17:08] bingomanatee: thx anyway [17:08] Skola: Waf: Leaving directory `/home/bas/node-latest-install/node-v0.4.7/build' [17:08] Skola: Build failed: -> task failed (err #2): {task: libv8.a SConstruct -> libv8.a} [17:08] gonsfx: e6nian: i require(./controllers) which is /controllers/index.js - i put middleware thats used by many routes there, like checkAuthUser or something along the lines [17:09] gonsfx: additionally, that file exports stuff like .account, .app, .user which are required and reside inside controllers folder [17:09] stagas: mape: I'd use mongo & dnode [17:09] d0k_ has joined the channel [17:09] sunnyohno has joined the channel [17:10] mape: stagas: jup, still the issue with the json and graphing [17:10] gonsfx: makes me do stuff like app.get(/^\/user\/([a-z0-9_]{1,16})\/?$/, controller.checkUser, controller.user.show); easily in app.js - you could put those definitions in an extra file too [17:10] gonsfx: endless possibilities - just check some projects and find the way that works best for you [17:10] e6nian: gonsfx: any example would be nice :) [17:11] tjholowaychuk: e6nian: the repo has ./examples [17:11] tjholowaychuk: route-separation [17:11] rmustacc: Skolas: I think I understand the problem and I know how to fix it but I don't have an OpenBSD box / time to fix it right now but I can tell you what you want to do. [17:11] tjholowaychuk: and a few others to show structure [17:11] Skola: go ahead [17:12] e6nian: tjholowaychuk: lol,ok. I'd also refer to https://github.com/visionmedia/finance.git [17:12] tjholowaychuk: not to many routes in that one but yup [17:14] mscdex: finance? is this an Excel clone?!! [17:14] mscdex: :p [17:14] mscdex: that reminds me [17:14] stride: to clone access? [17:14] tjholowaychuk: haha nah just needed some finance stuff for taxes [17:14] mscdex: i need to write some office file format readers/writers [17:15] aroop has joined the channel [17:15] gonsfx: e6nian: sec, preparing one [17:16] tjholowaychuk: oh noes [17:16] tjholowaychuk: does assert not do regexp equality? [17:16] tjholowaychuk: fuck [17:16] tjholowaychuk: it totally does not [17:16] blueadept has joined the channel [17:17] e6nian: tjholowaychuk: my Q: such as the middleware I should use before app.router,and the middleware should also be used to the routers. what should I do to sperate the app router and the config? [17:18] ph^ has joined the channel [17:18] tjholowaychuk: e6nian: what's wrong with having app.router in your config? [17:18] e6nian: like here https://gist.github.com/956508, now I have to make app.use( mongooseAuth.middleware()); before the app.router. [17:18] stride: mscdex: ugh, really? you don't want to go there [17:19] stride: unless you get paid really, really well to do it [17:19] _1marc has joined the channel [17:19] tjholowaychuk: e6nian: yeah [17:19] tjholowaychuk: why wouldn't you though [17:19] tjholowaychuk: there are ways around it, but you would have to use() the others below the one you just showed me [17:19] tjholowaychuk: so config would get super messy [17:19] mscdex: stride: heh [17:19] mscdex: stride: at this point, not a whole lot phases me [17:20] e6nian: tjholowaychuk: got your point. thank you . [17:20] stride: mscdex: the microsoft formats are pretty much a mess imho, the opendocument stuff might be better, didn't do too much with that in the past [17:20] awenkhh has joined the channel [17:21] MikhX has joined the channel [17:23] robhawkes has joined the channel [17:23] superjudge has joined the channel [17:24] mjr_ has joined the channel [17:25] stagas: mape: each key/value pair could be a doc on its own. then you could graph any combination on demand [17:25] mape: stagas: how would you do that with the json data I gisted? [17:26] stagas: mape: ie 'process-memory-rss' [17:28] caike has joined the channel [17:29] sechrist has joined the channel [17:30] __sorin__ has joined the channel [17:31] stagas: mape: so everything is simplified for the rest of the code, no need to dig into objects, they just see key value pairs and do stuff with them, map reduce them, bundle them [17:31] eguest309 has left the channel [17:31] mape: stagas: show me the code [17:32] japaniel_ has joined the channel [17:32] stepheneb has joined the channel [17:33] stepheneb has joined the channel [17:33] stagas: mape: what code? :) [17:33] mape: stagas: to fix it :P make it neat [17:33] softdrink: someone should add node to Blender [17:33] mendel_: To know the time, @ryah types “date” into a terminal. On stage. #nodeconf [17:33] mendel_: haha [17:34] mendel_: (via @janl) [17:36] DTrejo has joined the channel [17:37] hdon- has joined the channel [17:38] gonsfx: e6nian: another simple example https://github.com/gonsfx/controllerExample [17:38] shiawuen has joined the channel [17:38] e6nian: gonsfx: thank you [17:40] context: index.js~ [17:40] context: upgrade your .gitignore already [17:40] context: :p [17:41] gonsfx: nah, i just hacked this example with whatever default editor my ubuntu offers [17:41] gonsfx: removed the file though, thanks [17:41] gonsfx: (: [17:42] deepthawtz has joined the channel [17:42] bbttxu has joined the channel [17:43] gmonnerat has joined the channel [17:43] Hamms has joined the channel [17:43] Spion has joined the channel [17:44] tmzt: gonsfx: what framework? [17:45] gonsfx: express [17:45] gmonnerat has left the channel [17:45] e6nian: so the nodeconf is going on~ [17:45] e6nian: when would the conf cast video out? [17:46] gonsfx: no clue but i'm waiting for that :D [17:46] tjholowaychuk: gonsfx: yeah that's similar to what i do [17:46] tjholowaychuk: minus the regexps [17:47] e6nian: what's the localtime in nodeconf there? [17:47] ibrahimal-rajhi has joined the channel [17:47] e6nian: here is almost May 6th. [17:48] wadey has joined the channel [17:49] sendark has joined the channel [17:51] vikstrous has joined the channel [17:54] Country has joined the channel [17:54] stagas: mape: https://gist.github.com/7279068baaaf264a965d [17:55] gonsfx: tjholowaychuk: cause you don't need them and validate urls in your controller function or just because you're not that restrictive? ^^ [17:55] tjholowaychuk: ? [17:55] tjholowaychuk: '/' and '/user' etc are fine [17:56] stagas: mape: you can even use redis to pub sub stuff since it's just key values now [17:56] gonsfx: yes, they are. i just like the possibility to further restrict the urls [17:57] tjholowaychuk: for sure [17:57] tjholowaychuk: but if you know you wont [17:57] ultraflynn has joined the channel [17:57] tjholowaychuk: for common ones there isnt much point [17:57] gonsfx: right :) [17:57] tjholowaychuk: we have thousands of routes and maybe two are regexps [17:58] mape: stagas: os-cpus break? [17:58] stagas: mape: it stops on arrays [17:58] Jamool has joined the channel [17:58] mape: ie render sub arrays useless? [17:59] Jamool_ has joined the channel [17:59] gonsfx: btw, is it possible to name bracketed parameters from regexp routes? [17:59] ewdafa has joined the channel [18:00] tjholowaychuk: gonsfx: unfortunately not with js [18:00] tjholowaychuk: though I was tempted to inject that functionality [18:00] tjholowaychuk: you can however do '/user/:id(\\d+)' etc [18:00] tjholowaychuk: but oyu have to escape the regexp string so it's kinda hard to read sometimes [18:00] aguynamedben has left the channel [18:00] gonsfx: didn't know that, sounds good. depends on the kind of regex used :) [18:01] tjholowaychuk: yup [18:01] saikat has joined the channel [18:01] stagas: mape: it could add a -- and continue [18:02] stagas: mape: but you'd also need a length [18:02] mscdex: xregexp can do named capture groups! [18:02] mscdex: ;) [18:02] mape: stagas: yup, pita :/ [18:03] deepthawtz has joined the channel [18:03] bretts has joined the channel [18:04] mike5w3c has joined the channel [18:04] dyer has joined the channel [18:05] cfherb has joined the channel [18:06] stagas: mape: updated https://gist.github.com/7279068baaaf264a965d [18:06] aaronlevy has joined the channel [18:07] mape: stagas: neat, now I just have to deal with non num values [18:07] stagas: mape: hm there's a bug [18:08] stagas: mape: os-loadavg didn't expand [18:08] stagas: mape: oh yeah [18:08] mape: not sure how to graph that, guess it just needs to show the diffs if any [18:09] Tobsn has joined the channel [18:10] stagas: mape: updated [18:11] mape: stagas: so "only" issue now is to not use - in keys? [18:12] stagas: mape: well you can use some impossible delimiter %%% or something [18:12] Tobsn has joined the channel [18:13] mape: yeah [18:13] mape: stagas: well thanks for the leap start, will look into making it usefull as soon as I have time := [18:13] DTrejo_ has joined the channel [18:15] dambalah has joined the channel [18:16] ngs has joined the channel [18:16] colinclark has joined the channel [18:16] norviller has joined the channel [18:17] jmoyers has joined the channel [18:19] boaz has joined the channel [18:19] stagas: mape: I think it's going to be simpler like this, you'll just pass objects with any kind of deep data and you'll get individual graph streams you can mix anywhere [18:21] broofa has joined the channel [18:21] tjholowaychuk has joined the channel [18:21] jacter has joined the channel [18:21] isaacs has joined the channel [18:21] ^kp has joined the channel [18:22] jasong_at_apache has joined the channel [18:22] ibrahimal-rajhi has joined the channel [18:24] ^kp has joined the channel [18:25] jbrokc has left the channel [18:26] mattstevens has joined the channel [18:27] rjbs has joined the channel [18:28] broofa has joined the channel [18:30] hosh_work has joined the channel [18:32] Corren has joined the channel [18:33] cfherb has joined the channel [18:33] iwinulose has joined the channel [18:34] hij1nx has joined the channel [18:35] DTrejo has joined the channel [18:35] colinclark has joined the channel [18:36] charlesjolley- has joined the channel [18:36] shanez has joined the channel [18:37] monokrome: Does anyone know why I "cannot GET /" on this extremely simple app: http://paste.pocoo.org/show/383571/ [18:37] monokrome: ACTION must be missing something [18:38] halfhalo: try removing render_page [18:38] stagas: monokrome: a + after __dirname? doesn't this throw? [18:38] monokrome: Never mind. Vim was still editing a different file. [18:38] halfhalo: lol [18:39] monokrome: Tricky files. [18:39] dandean has joined the channel [18:40] edude03 has joined the channel [18:41] rook2pawn has joined the channel [18:41] Marak has joined the channel [18:42] Marak: hrmmm, whats the command in npm for listing all packages in the public npm repo [18:42] dandean has joined the channel [18:42] superjudge has joined the channel [18:42] DTrejo: npm ls ? [18:43] DTrejo: nvm [18:43] sveimac has joined the channel [18:44] DTrejo: Marak: npm search [18:44] Marak: DTrejo: with any args? its not working for me [18:44] DTrejo: it is really slow [18:44] Marak: it just hangs [18:44] pifantastic has joined the channel [18:44] Swizec has joined the channel [18:44] Marak: lol really.... [18:44] DTrejo: it does not stream, obviously [18:44] DTrejo: :| [18:44] Marak: aight ill let it sit for a few minutes [18:44] Marak: had iffy wifi here too [18:44] DTrejo: ohhh npmmm [18:44] stagas: npm ls (no args) works here [18:44] hij1nx: Nodeconf!!!!! [18:44] Marak: stagas: im on RC 1 [18:44] DTrejo: npm 1.0 acts different I think [18:44] Marak: hij1nx: in the house [18:45] hij1nx: Marco's talk is good, he needed an A track spot for this subject though [18:46] mjr__ has joined the channel [18:46] jano has joined the channel [18:46] cadorn has joined the channel [18:46] JJMalina has joined the channel [18:48] coreb has joined the channel [18:48] mjr__ has joined the channel [18:48] ryanj has joined the channel [18:49] isaacs has joined the channel [18:51] sh1mmer has joined the channel [18:51] smrchy has joined the channel [18:52] levi501d has joined the channel [18:52] monokrome: isaacs: I'm pretty sure that I just broke npm. [18:52] isaacs: oh? [18:52] isaacs: how'd you do that? [18:53] halfhalo: if you did, you get a cookie [18:53] monokrome: No idea. I ran the script to install it - direct copy from the homepage and then tried to install some packages. It broke. [18:53] monokrome: http://paste.pocoo.org/show/383591/ [18:53] baudehlo: a cookie? [18:53] baudehlo: can I break npm too?? [18:53] uclinux has joined the channel [18:53] monokrome: These are packages that npm told me "The following packages appear to have been installed with an old version of npm, and will be removed forcibly:" [18:54] monokrome: It looks like npm uninstalled itself? [18:54] isaacs: monokrome: yeah, just do the install again [18:54] isaacs: should work [18:54] monokrome: ok [18:54] isaacs: the curl | sh thingie [18:54] monokrome: Yep, worked. [18:54] dguttman has joined the channel [18:55] halfhalo: someone should make me an app called "should halfhalo get taco bell for lunch today". I would pay a cookie for that [18:55] isaacs: sweet. that's really odd. were you using an old rc or something? [18:55] TomY has joined the channel [18:55] monokrome: Probably. [18:55] fakewaffle has joined the channel [18:55] CloudTwoPointOh: What's the best way to past the sessionid to the client-side javascript? [18:55] monokrome: Whatever version was latest ~5 weeks ago [18:55] isaacs: i see. [18:55] Tidwell: isaacs: is there a way to get a list of all local directories that npm has installed packages in? Mucking around with writing that remote-management tool, and updating to 1.0 made things a bit more interesting since everything is installed local by default [18:55] isaacs: yeah, i made sure it worked from 0.x->1.0, but the early rc's were a bit oddball in some was. [18:55] isaacs: *ways [18:56] orospakr: is it possible to get some sort of object ID string so I can identify it for logs and such? both Python and Ruby do that. [18:56] isaacs: Tidwell: no, npm actually doesn't know all the projects you might have, any more than git knows all your repos on the machine [18:56] orospakr: hexadecimal pointer goop would be perfect. [18:56] isaacs: orospakr: nope, nothing like that in the js language, that i'm aware of [18:56] Tidwell: isaacs: yea, I figured as much... remote file browser it is :\ [18:56] orospakr: isaacs, alas. [18:57] charlesjolley- has joined the channel [18:57] monokrome: Seems to be having a lot of trouble installing packages now [18:57] isaacs: monokrome: gist? [18:57] CloudTwoPointOh: What's the best way to past the sessionid to the client-side javascript? [18:58] boaz has joined the channel [18:58] monokrome: isaacs: https://gist.github.com/ad38e421defa8fe30cf1 [18:58] Opaque has joined the channel [18:58] matbee has joined the channel [18:58] monokrome: gzip is installed, so a bit odd [18:58] isaacs: monokrome: either gzip is broken, or there's bad stuff in your cache [18:59] isaacs: monokrome: npm cache clean, maybe? [18:59] matbee: is there a live stream of #nodeconf? [18:59] monokrome: Oh. Maybe the old RC cache wasn't cleaned. [18:59] monokrome: ACTION wishes [19:00] markwubben has joined the channel [19:00] isaacs: should pray, too, probably [19:00] iwinulose has joined the channel [19:00] isaacs: lunchtime. gotta run [19:00] matbee: no? [19:00] monokrome: Is there one for jsconf? [19:00] coreb has left the channel [19:00] isaacs: not that i'm aware of, if there is one, i'll come in here and mention it. [19:00] isaacs: jsconf is over. [19:01] matbee: yeah... i wish people recorded these things [19:01] isaacs: so, if there's a stream, it's not live ;) [19:01] isaacs: bbiab [19:01] monokrome: Yeah, jsconf is over - but I was wondering if there's a way to watch it :) [19:01] dyer has joined the channel [19:02] pyrony has joined the channel [19:04] gonsfx has joined the channel [19:05] charlesjolley-_ has joined the channel [19:06] gonsfx has left the channel [19:06] harth has joined the channel [19:06] mike_miller has joined the channel [19:06] amacleod has joined the channel [19:07] uclinux: is there a limit to how console.log displays nested elements? [19:07] charlesjolley-_ has joined the channel [19:07] eldios has joined the channel [19:07] tjholowaychuk: uclinux: you have to use util.inspect [19:07] tjholowaychuk: it's kinda annoying [19:07] tjholowaychuk: really annoying [19:07] boaz has joined the channel [19:08] insin has joined the channel [19:08] tjholowaychuk: for writing parsers the default level is never enough to inspect anything [19:08] jacter has joined the channel [19:08] stevenj has joined the channel [19:09] uclinux: tjholowaychuk: oh i see now and specify depth ..thanks [19:09] tjholowaychuk: yeah require('util').inspect(str, showHidden, depth, showColors) [19:10] tjholowaychuk: enjoy remembering that haha [19:10] tjholowaychuk: php-style [19:10] tmedema: just make a "shortcut" function [19:10] Tidwell: needle/haystack, haystack/needle, who cares, stop losing your substrings! [19:11] rook2pawn: anyone know of a stream from nodecof? [19:11] bartt has joined the channel [19:11] charlesjolley- has joined the channel [19:11] e2i has joined the channel [19:12] liquidproof has joined the channel [19:13] blueadept: anyone know the best way to run apache with node.js in tandem? [19:14] matbee: please start streaming these damn conferences [19:14] matbee: im all the way in canada, cant make it guys :P [19:14] lukstr: blueadept: you can make apache proxy node.js, which is bad [19:14] tjholowaychuk: yeah canada! [19:14] lukstr: blueadept: or you can make a node.js server proxy apache [19:14] lukstr: which is less bad [19:15] lukstr: or any other proxying type dealie [19:15] lukstr: woo canada [19:15] lukstr: blueadept: my preferred method is: don't [19:15] blueadept: ah, so run a node proxy server that simply routes to whichever apache port i setup the server up, same thing with node [19:15] blueadept: ha [19:15] iwinulose has joined the channel [19:16] lukstr: blueadept: yeah that's what I would do, I haven't investigated things like nginx [19:16] blueadept: hm. yeah i'm thinking i might just bootup another vm and run all my node sites just on that instance [19:16] mike5w3c_ has joined the channel [19:16] hellp has joined the channel [19:16] lukstr: blueadept: though if you are running them on different ports anyways it doesn't matter [19:16] blueadept: what's a good tool for handling multiple node sites then? or node proxy stuff? [19:17] jacter has joined the channel [19:17] lukstr: something like nginx would probably be the solution [19:17] demastrie has joined the channel [19:17] demastrie has left the channel [19:18] lukstr: if you're not going to approach the thread limit then you can pretty much do whatever [19:18] dmcquay has joined the channel [19:18] mendel_: I'm doing it with nginx, but heard good things about node-http-proxy [19:18] monokrome: nginx makes it pretty simple [19:19] mendel_: but in my case I need nginx for rails sites [19:19] monokrome: mongrel2 over zeromq is awesome also :D [19:20] blueadept has left the channel [19:20] DracoBlue has joined the channel [19:20] blueadept has joined the channel [19:20] V1 has joined the channel [19:21] vikstrous has joined the channel [19:21] boubaka has joined the channel [19:21] broofa has joined the channel [19:23] test1 has joined the channel [19:25] sveimac has joined the channel [19:26] TheDeveloper has left the channel [19:29] patcito has joined the channel [19:31] robhawkes has joined the channel [19:34] isaacs has joined the channel [19:34] burg has joined the channel [19:35] burg: hello. what programming language should i use to create a new module? [19:36] Corren: if I'm doing nginx+node, do I need node to do ssl, or just nginx [19:36] tjholowaychuk: burg: js? lol [19:36] isaacs: JimBastard aka Marak is reading off every npm module name. [19:36] drudge: nginx [19:36] isaacs: it's in the "ht*" area now [19:37] jtp8419 has joined the channel [19:37] kersny has joined the channel [19:39] rfay has joined the channel [19:39] alexgordon has left the channel [19:40] c4milo: tjholowaychuk: don't make fun of him, you know that you can also use C/C++ :P [19:41] tjholowaychuk: and erlang [19:41] harth has joined the channel [19:41] tjholowaychuk: c4milo: nah it just sounded like a weird question lol [19:41] c4milo: tjholowaychuk: it is a weird question [19:41] MikhX has joined the channel [19:42] rpflo has joined the channel [19:42] monokrome: Weird questions deserve answers, too! [19:43] halfhalo: no, no they do not [19:43] cloudhea1 has joined the channel [19:43] halfhalo: :p [19:43] monokrome: They do. [19:43] tjholowaychuk: i did answer lol [19:43] monokrome: Hardly :) [19:43] tjholowaychuk: php [19:43] tjholowaychuk: obviously [19:44] halfhalo: vb [19:44] halfhalo: end of story [19:44] monokrome: ACTION wanted to use SmallTalk :'( [19:44] monokrome: New presentation for NodeConf: NodeJS in RPG [19:45] saschagehlich: anyone tested socket.io 0.7-pre yet? [19:45] harth has joined the channel [19:45] broofa has joined the channel [19:45] dve_ has joined the channel [19:47] boaz has joined the channel [19:47] dve_: hi, is there a method built into node for decoding £ [19:47] dve_: ? [19:47] dve_: amp codes like that [19:48] ultraflynn: can anyone point towards a good resource for learning node.js as a newbie. I'm an experienced java dev so I don't need hand-holding much. thanks [19:48] halfhalo: ACTION goes to build a program to decide what program to build [19:49] indutny has joined the channel [19:49] tim_smart has joined the channel [19:49] context: http://24.media.tumblr.com/tumblr_lkcnweta0v1qz8pm4o1_400.png [19:50] jbpros has joined the channel [19:50] insin: dve_: https://github.com/substack/node-ent [19:50] tjholowaychuk: context hahahaha [19:50] tjholowaychuk: good call [19:51] techwraith has joined the channel [19:51] techwraith: So, #nodeconf has been pretty awesome so far :) [19:52] dve_: insin: gracias! [19:52] BHSPitRemote: techwraith: run in to too many hipsters yet? [19:52] techwraith: I'm originally from PDX, I'm used to the hipsters [19:52] techwraith: lol [19:52] sirkitre_ has joined the channel [19:52] BHSPitRemote: ah [19:53] BHSPitRemote: I only said it due to today's http://questionablecontent.net/ [19:54] tjholowaychuk: <3 code cov [19:54] tilgovi has joined the channel [19:55] guybrush: wow socketio0.7 is like the biggest commit i have seen _ever_ :D [19:55] raidfive has joined the channel [19:55] rook2pawn has joined the channel [19:55] BHSPitRemote: one of the keynote descriptions on nodeconf.com contains a misspelling! aargh [19:55] omni5cience has joined the channel [19:56] tjholowaychuk: anyone know of assert.throws or w/e actually works now [19:56] eee_c has joined the channel [19:56] tim_smart has joined the channel [19:56] test117523 has joined the channel [19:57] Aria has joined the channel [19:57] mikegerwitz: tjholowaychuk: what about it? [19:57] tjholowaychuk: it was kinda useless before [19:57] tjholowaychuk: asserting an error but not the message via str or regexp [19:57] mikegerwitz: tjholowaychuk: Yeah I found myself using try/catches instead [19:58] tjholowaychuk: same [19:58] tjholowaychuk: that's what im doing right now [19:58] BHSPitRemote: tjholowaychuk: it will work when node-canvas supports base64 images. Muahaha! [19:58] wadey: i remember a lot of messages on the mailing list about that, but I can't remember if it was resolves [19:58] tjholowaychuk: BHSPitRemote: oh snap! [19:58] tjholowaychuk: haha [19:58] BHSPitRemote: ;P [19:59] dmcquay has joined the channel [20:00] mendel_: session sharing with express.io by author of socket.io!!!!!! [20:00] mendel_: (tweet from @atsuya) [20:00] mendel_: curious to find more info about that? [20:00] springmeyer has joined the channel [20:00] tjholowaychuk: mendel_: it's not done yet [20:01] mscdex: "i'm not dead yet" [20:01] mscdex: :P [20:02] saschagehlich: tjholowaychuk: you tested socket.io 0.7-pre yet? [20:02] tjholowaychuk: nope [20:03] enlightified has left the channel [20:03] harth has joined the channel [20:03] mendel_: ok [20:03] tjholowaychuk: mendel_: in fact i dont think we've even started it [20:03] tjholowaychuk: because i would know [20:03] tjholowaychuk: haha [20:03] colinclark has joined the channel [20:03] tyfighter has joined the channel [20:03] mendel_: haha :p [20:04] isaacs has joined the channel [20:04] xeodox has joined the channel [20:05] jacobolus has joined the channel [20:05] confoocious has joined the channel [20:05] confoocious has joined the channel [20:05] davidpadbury has joined the channel [20:06] harth has joined the channel [20:07] dandean has joined the channel [20:07] DTrejo has joined the channel [20:08] MikhX has joined the channel [20:10] test1 has joined the channel [20:10] uclinux: is there a maximum reccomended nesting dept for JSON in general? [20:11] DeltachaosDeskto: uclinux: may a maxinteger ;) [20:11] harth has joined the channel [20:14] uclinux: DeltachaosDeskto: so say 100-1000 shouldn't cause issues? [20:14] Twelve-60 has joined the channel [20:15] broofa has joined the channel [20:15] langworthy has joined the channel [20:16] DeltachaosDeskto: uclinux: try it^^ [20:17] dandean has joined the channel [20:17] olauzon has joined the channel [20:18] ExsysHost has joined the channel [20:20] hdon- has joined the channel [20:25] jeremyselier has joined the channel [20:26] Tidwell: 'aight - this is going to sound a bit insane, but anyone have a best-practices recommendation for running util.exec('nvm use XXX') from within a process then restart the node process? [20:26] boaz has joined the channel [20:27] romainhuet has joined the channel [20:27] boaz has joined the channel [20:27] jacter has joined the channel [20:28] TroyMG has joined the channel [20:29] ryanj has joined the channel [20:30] stepheneb_ has joined the channel [20:31] ph^ has joined the channel [20:31] dies_el has joined the channel [20:31] boubaka has joined the channel [20:31] tjh has joined the channel [20:32] TroyMG: anyone have any links for writing a command line app using node that can accept user input (not just command line args) [20:32] TroyMG: ? [20:32] TooTallNate has joined the channel [20:32] techwraith: TroyMG: http://nodejs.org/docs/v0.4.7/api/process.html#process.stdin [20:32] brianc has joined the channel [20:33] TroyMG: ahah. perfect, thanks techwraith [20:33] techwraith: No prob :) [20:34] uho has joined the channel [20:34] DTrejo has joined the channel [20:34] mendel_: Tidwell: just a thought: after the exec kill the application itself [20:34] mendel_: and let forever restart it :p [20:35] Tidwell: mendel_: Lol, thats not a bad idea actually [20:36] tim_smart has joined the channel [20:36] mikl has joined the channel [20:36] mikl has joined the channel [20:38] jacter1 has joined the channel [20:41] isaacs has joined the channel [20:42] avalanche123 has joined the channel [20:43] yozgrahame has joined the channel [20:43] ultraflynn has left the channel [20:43] mike_miller has joined the channel [20:44] s has joined the channel [20:44] towns has joined the channel [20:44] mikl has joined the channel [20:45] towns has joined the channel [20:45] towns has joined the channel [20:46] vikstrous has joined the channel [20:47] maushu has joined the channel [20:48] ExsysTech has joined the channel [20:48] towns has joined the channel [20:50] cloudhea2 has joined the channel [20:50] gazumps has joined the channel [20:51] eee_c has joined the channel [20:53] zakabird has joined the channel [20:53] larzy has joined the channel [20:54] ExsysHost has joined the channel [20:55] wdperson has joined the channel [20:56] zomgbie has joined the channel [20:56] ExsysHost_ has joined the channel [21:01] thalll has joined the channel [21:02] Zelest_ has joined the channel [21:02] pyrotechnick has joined the channel [21:04] neurone-2337 has joined the channel [21:04] andi5 has joined the channel [21:05] bbttxu has left the channel [21:06] tim_smart has joined the channel [21:08] m64253 has joined the channel [21:08] Corren: so if I've got 2 nginx servers and 2 node servers, and the nginx work as reverse proxy to the node, what's the feeling on having https only handled at the nginx layer, thus leaving the communication in clear text to node? [21:10] awenkhh has joined the channel [21:11] Fuu has joined the channel [21:11] context: corren: i see nothing wrong with it. as long as you let node know in some way the request was secure. or it is let known in some way [21:11] harth has joined the channel [21:11] context: corren: pretty sure a lot of people do that. [21:12] test117522 has joined the channel [21:12] boaz has joined the channel [21:12] mraleph has joined the channel [21:13] saikat has joined the channel [21:13] alexandere has joined the channel [21:14] Corren: what do you mean by "let node know the request was secure?" [21:15] monokrome: http://paste.pocoo.org/show/383682/ [21:15] monokrome: Any ideas regarding why this can't be found? [21:15] Ond has joined the channel [21:17] context: monokrome: check require.paths ? [21:17] monokrome: /usr/local/lib/node [21:18] monokrome: I just don't know why npm would be installing to the wrong spot. [21:18] puffpio_ has joined the channel [21:18] dandean has joined the channel [21:19] wadey: Corren: you can make nginx set a header like X-Forwarded-Proto: https [21:19] wadey: so that you know from your node server that it was originally https [21:19] a|i has joined the channel [21:19] Corren: ok [21:20] a|i has joined the channel [21:20] a|i has joined the channel [21:20] context: monokrome: yeah :( i personally think npm 1.0 broke a lot more than it solved. [21:20] a|i: 'The underlying browser-server connection is provided by Socket.IO, which does not currently scale.' (https://github.com/aaronblohowiak/Push-It) wtf?! [21:20] zomgbie has joined the channel [21:20] monokrome: Looks like it. [21:20] a|i: so socket.io does not scale? [21:21] Corren: what do I do with that at the node layer though wadey? that header doesn't actually enforce ssl encryption does it [21:21] wadey: you can then do: if (req.headers['x-forwarded-proto'] === 'https') .... [21:22] Corren: ah, so even if it's not encrypted, I can detect if actions should be permitted based on https [21:22] ibrahimal-rajhi has joined the channel [21:22] context: a|i: i fail to see how the browser-server connection has anything to do with pushing messages. [21:22] wadey: correct [21:22] Corren: what about the dialog (on my private network) being cleartext between nginx and node [21:22] Corren: is that something to worry about [21:22] wadey: depends on how much you trust your private network [21:23] context: corren: uhh, you tell us ? [21:23] jacobolus has joined the channel [21:23] Corren: well for example, the idea of having passwords passed in cleartext, even on a private network on my backend still gives me pause [21:23] a|i: context: is the argument of socketio on node not being scalable correct? [21:23] context: so you dont trust your own private network? [21:23] Corren: well, my private network at a hosting provider like linode provides zero assurances that you're vlaned [21:23] context: then i dont trust your service even if it is over https. [21:24] Corren: context: linode doesn't configure vlans for private networks [21:24] Corren: so my linode vms are on the same private network as someone elses :S [21:24] monokrome: a|i: Why wouldn't it be scalable? [21:24] context: corren: then make your own private networn (vpn?) or demand a vlan, or get a new provider [21:24] wadey: i agree, if you can't trust your network then why should I as your user :) [21:24] a|i: monokrome: that was my question, see this: https://github.com/aaronblohowiak/Push-It scroll down to the end [21:25] Corren: or, have one of my node layers also communicate https (bleh) [21:25] a|i: it says socketio is not scalable [21:25] context: corren: that too. [21:25] boaz has joined the channel [21:25] context: a|i: the push-it author is on crack [21:25] broofa has joined the channel [21:25] robotarmy has joined the channel [21:25] context: err well [21:25] a|i: context: socket has been around for long enough, any real world apps, just to prove that it scales? [21:26] ultraflynn has joined the channel [21:27] zackattack has joined the channel [21:27] monokrome: a|i: It scales as long as you set things up nicely. [21:27] context: a|i: i fail to see what socket.io is 'storing' that prevents you from using multiple node's [21:27] Metapony_ has joined the channel [21:27] context: unless its stuff for comet based connections [21:28] isaacs has joined the channel [21:28] monokrome: isaacs: You're back :D [21:28] a|i: context: maybe by not scaling he meant socket is not efficient, eats too much cpu? not sure. [21:28] a|i: what kind of crack is he on [21:29] monokrome: npm is saying things are installed - but they're not being found [21:29] monokrome: isaacs: http://paste.pocoo.org/show/383682/ [21:29] monokrome: Any ideas? [21:30] edude03 has joined the channel [21:31] monokrome: I think that it should be using /usr/local/lib/node/node_modules [21:31] boghog has joined the channel [21:32] perezd has joined the channel [21:32] springmeyer has joined the channel [21:32] boghog: is there a way to turn input like "foo\nbar" into its escaped form? so that if I give it to console.log("foo\nbar") it literally prints: "foo\nbar" (and not the linefeed) [21:32] boghog: without manually doign it with regexpes that is [21:33] robhawkes has joined the channel [21:33] tjh: console.log() should print the literal [21:33] EvanCarroll: is Mikeal Rogers an irc user? [21:34] tjh: boghog: console.log(require('util').inspect(str)) if you want to escape [21:34] techwraith has joined the channel [21:34] tjh: or console.dir(str) actually [21:34] Corren: excellent, there is a fair amount of support knowledge around private network dialog at linode [21:34] Bwen has joined the channel [21:35] boghog: ah thanks tjh [21:35] tilgovi has joined the channel [21:35] boaz has joined the channel [21:35] sreeix has joined the channel [21:35] ryan_ has joined the channel [21:36] wadey: monokrome: stuff in the global path isn't automatically on require.paths [21:36] wadey: its in on of the blog posts [21:36] wadey: one* [21:36] pquerna: isaacs: taaaaaap [21:36] sh1mmer has joined the channel [21:37] SubStack: [5~[6~[6~[6~[6~[6~/sb end [21:37] chrislo__ has joined the channel [21:37] SubStack: haha [21:37] monokrome: wadey: Why not? [21:37] isaacs has joined the channel [21:37] monokrome: That makes no sense [21:37] eldar has joined the channel [21:38] rworth has joined the channel [21:38] Marak has joined the channel [21:38] wadey: monokrome: run "npm faq" [21:38] wadey: and look for the section "No, I really want 0.x style everything's global" style."" [21:38] isaacs: pquerna: <3 <3 <3 [21:38] isaacs: yes. [21:38] isaacs: tap that. [21:39] wadey: monokrome: or the "I installed something globally, but I can't `require()` it" section [21:39] isaacs: pquerna: you using my tap-producer module, or just diy-ing it up? [21:39] bene has joined the channel [21:39] monokrome: wadey: Is this change made in effort to provide automatic "virtualenv"-like functionality via npm? [21:39] pyrotechnick has joined the channel [21:39] isaacs: monokrome: there are several reasons for this change. that is one of htem. [21:39] isaacs: monokrome: also, it is required to ever have good native windows su[port. [21:39] monokrome: Oh, cool. [21:40] monokrome: So, that brings me to my next question [21:40] monokrome: Can I uninstall everything? [21:40] isaacs: monokrome: npm will not do anything nearly as fancy as virtualenv. but, in a way, each folder is its own env. [21:40] isaacs: monokrome: rm -r node_modules [21:40] isaacs: sure [21:40] isaacs: :) [21:40] monokrome: haha ok [21:40] isaacs: you mean global installs? [21:40] isaacs: that's a bit trickier. [21:40] pquerna: isaacs: diy atm, Kami_ did it [21:40] monokrome: and then I am guessing that a cache clean is necessary? [21:40] monokrome: Yes, global installs. [21:40] tbranyen: question: will old npm still work? [21:40] tbranyen: 0.3.* [21:40] isaacs: tbranyen: no, old npm is unsupported and should be removed. [21:41] isaacs: tbranyen: the install.sh script scours it. [21:41] tbranyen: ah okay [21:41] monokrome: isaacs: Did you know that the forgotten password emails don't work? [21:41] isaacs: oh? [21:41] isaacs: the link doesn't work, or what? [21:41] isaacs: you don't get the email? [21:41] christkv has joined the channel [21:41] monokrome: I have filled it out quite a few times now [21:41] Marak: ive taken over the #nodeconf room [21:41] monokrome: and I never get mail anywere, including spam [21:41] Marak: try and stop me [21:42] mscdex: monokrome: you're missing spam? lol [21:42] monokrome: mscdex: I'm just trying to mention that the email wasn't in my spam label. [21:42] isaacs: monokrome: works for me. [21:42] CStumph has joined the channel [21:43] monokrome: ACTION searches for the link again [21:43] isaacs: monokrome: what's the account you'er resetting? [21:43] monokrome: monokrome [21:43] monokrome: or is it an email you need? [21:44] blueadept has joined the channel [21:44] pyrotechnick has left the channel [21:44] monokrome: monokrome@monokro.me || monokrome@limpidtech.com [21:46] cromartie-d has joined the channel [21:47] cromartie-d: anyone seen the master-admin ryan? [21:48] Fuu` has joined the channel [21:48] CStumph has left the channel [21:48] cromartie-d: !lastseen apoc [21:48] CStumph has joined the channel [21:49] cromartie-d: !seen apoc [21:49] isaacs: ircretary: when did you last see ryah? [21:49] ircretary: isaacs: ryah was last seen at 2011-05-05T07:46:34.285Z, in #Node.js saying soon to be a few more [21:50] cromartie-d: thanks [21:50] markbao has joined the channel [21:51] bene has joined the channel [21:51] pootietang has joined the channel [21:52] bene has joined the channel [21:52] eb4890 has joined the channel [21:52] nphase: how do you guys handle db connections? do you let them persist across requests or rebuild and close? [21:52] mike_miller has joined the channel [21:53] sveimac has joined the channel [21:53] petermanser_ has joined the channel [21:53] saschagehlich: nphase: leave it open ;) [21:53] tjh: nphase: usually persist [21:53] briznad has joined the channel [21:53] Opaque has joined the channel [21:54] tjh: oh the joys of non-php [21:54] nphase: saschagehlich, tjh: and if/when it dies? does anyone have any sample code of rebuilding those connections and try/failing? the spaghettiness of the code is starting to get t ome [21:54] tjh: nphase: usually the client libs have reconnection logic [21:54] tjgillies: too many callbacks? its time to slow your roll [21:54] saschagehlich: nphase: just reconnect as soon as it dies... usually db implementations have events that tell you if a connection is lost [21:55] japaniel_ has joined the channel [21:55] brettgoulder has joined the channel [21:55] nphase: tjh: you wouldnt happen to know if the native mongo client does would you? [21:55] tjh: not sure [21:56] SubStack: not enough callbacks [21:56] SubStack: never enough callbacks [21:56] tjh: i dream callbacks [21:56] brianc: nphase: which database client are you using? [21:56] nphase: brianc: node-mongodb-native [21:57] brianc: nphase: generally you want to keep the connections open...opening connections is sometimes more time consuming that running simple queries [21:57] nphase: brianc: i believe that, i just know the connection is going to die and i havent seen docs anywhere about reconnecting [21:57] boghog: does there exist something like a headless browser that can be used in/with node.js applications? I need to load a website, run its JS code, then inspect the resulting DOM from running that code, or inject my own JavaScript [21:57] nphase: g [21:58] nphase: granted i havent checked the code yet [21:58] nphase: boghog: http://zombie.labnotes.org/ [21:58] zackattack: Anyone hear from ckknight_ recently? Is he OK? [21:58] nphase: also phantomJS [21:58] nphase: ^ boghog [21:58] boghog: awesome [21:58] boghog: thanks [21:59] tjh: really wished regexp methods had index [21:59] Aikar: boghog: Zombie.js [21:59] Aikar: oh it was linked [21:59] boghog: yep, thanks anyway :) [22:00] mateu has joined the channel [22:00] SubStack: http://substack.net/images/dnode-slides/fuck_yeah.png [22:00] tjh: haha [22:00] tjh: need a shirt of that [22:01] saschagehlich: :D [22:01] Aikar: so, wonder when google is going to add Traceur directly into V8 :o [22:01] tjh: Tracewhat? [22:01] saschagehlich: i need a shirt of that for nodecamp ;) [22:01] Aikar: http://code.google.com/p/traceur-compiler/ [22:02] tjh: is this like coffeescript of harmony [22:02] tjh: or something [22:02] tjh: WTF [22:02] tjh: what retarded shit is this [22:02] tjh: class [22:02] tjh: do not want [22:02] MikhX has joined the channel [22:02] tjh: google Y SO LAME [22:03] Aikar: what do you have against the word class [22:03] gf3: SubStack: I'm not sure you got the memo, but "callback" has been deprecated in favour of "hollaback" [22:03] tjh: oh wel at least it's better than CS [22:03] Aikar: class/extends is a much more friendlier way of defining classes and extending them manually [22:03] mscdex: counterstrike? [22:04] tjh: still lame [22:04] tjh: i'd rather see js get more pure [22:04] tjh: or replaced with lua [22:04] caolanm has joined the channel [22:04] Aikar: class foo extends bar { x:fn(){} } is the same thing as function foo() { } foo.prototype = new bar;, but a ton more friendly [22:04] mscdex: lua is the sound you make when you are about to puke [22:05] boaz has joined the channel [22:05] dambalah has left the channel [22:06] springmeyer has joined the channel [22:06] MikhX_ has joined the channel [22:06] jesusabdullah: haha, hollaback [22:07] boaz has joined the channel [22:07] broofa has joined the channel [22:08] CStumph has joined the channel [22:09] techwraith has joined the channel [22:10] jacter has joined the channel [22:11] zpao_ has joined the channel [22:12] norviller has joined the channel [22:13] davidwalsh has joined the channel [22:17] MikhX has joined the channel [22:18] brianc: replaced with lisp [22:18] brianc: blow web developer's minds everywhere [22:18] sechrist: what did you replace with lisp? [22:18] brianc: they were saying replaced with lua [22:18] brianc: i was saying lisp [22:18] monteslu: words that have an s in them [22:18] brianc: just joining in the inanity [22:18] sechrist: I strongly dislike lua [22:19] sechrist: but I do know it's fairly simply to integrate into things [22:19] sechrist: simple* [22:19] tjh: i strongly love lua [22:19] tjh: with a few exceptions [22:19] tbranyen: tjh: no native socket support? [22:20] sechrist: derp [22:20] sfoster has joined the channel [22:20] tjh: pff [22:20] tjh: beats [22:20] tjh: ruby [22:20] eut: luasockets are good enough [22:20] tjh: massive stdlib [22:20] tjh: oh wait that stdlib is terrible [22:20] tjh: and needs to be replaced with real implementations anyway [22:20] sechrist: it's all about pawn yo [22:20] tbranyen: eut: yeah i just hate having to install anything with luarocks [22:20] sechrist: http://en.wikipedia.org/wiki/Pawn_(programming_language) [22:20] tbranyen: and finding luasockets on its own has always been an issue for me, end up using system package manager [22:20] jacter has joined the channel [22:20] brianc: zed shaw likes lua too. you ever look at zed's continuation based web server, tj? [22:21] tjh: nope [22:21] brianc: forget what it's called now [22:21] eut: lol, its a quick download from luaforge :P [22:21] brianc: i think it's actually a framework, the server is intended to be mongrel2 [22:21] pcardune has joined the channel [22:22] monteslu: is there a lua meta scripting thing like coffee? [22:22] zedas: brianc, tjh http://tir.mongrel2.org/ [22:22] tbranyen: eut: http://luaforge.net/projects/luasocket/ is designed like crap [22:22] brianc: yeah there you go, tir [22:22] tbranyen: :( [22:22] varioust has joined the channel [22:23] tjh: cool [22:23] brianc: integrate lua with liboio, good to go [22:23] eut: regardless of the design its still easy to click download [22:23] tbranyen: brianc: would be cool to run lua with an event loop [22:23] juandopazo has joined the channel [22:23] zedas: tjh: I run http://hype.la/ and http://autho.me/ with it and behind a mongrel2, so it's built from real use, but i need to work on it some more to update it to the new features in mongrel2. [22:23] tbranyen: i'll call it lude [22:23] tjh: zedas: awesome [22:24] tjh: i just dont understand why everyone is going towards these languages that give you a bag of 50000 features [22:24] tjh: I just want [22:24] zedas: tjh: there's also https://github.com/daogangtang/bamboo which is a fork of tir to add a bunch of other stuff. [22:24] tjh: way less [22:24] tjh: haha [22:25] EyePulp: tjh == tjholwhatevertheheckhislastnameis ? [22:25] brianc: zedas is zed shaw? so many of my heroes in this chat room [22:25] tjh: EyePulp: yeah [22:25] EyePulp: ah, tjh - much simpler. [22:25] tjh: haha [22:26] tjh: linkinus just picks for me [22:26] zedas: brianc: yep, but i'm no hero. :-) [22:26] tjh: when tjholowaychuk is messed up [22:26] techwraith: messed up? [22:26] brianc: programmers who's work I admire, maybe [22:26] tjh: zed rages like a hero ought to rage [22:26] tjh: haha [22:27] tjh: we can be team rage at stupid ruby people [22:27] tjgillies: oh i didn't even realize zed was in here [22:27] tbranyen: all ruby developers are scientologists fyi [22:28] tjgillies: whats wrong with scientology? [22:28] nexxy has joined the channel [22:28] tbranyen: you are tempting fate with that question [22:28] mjr_ has joined the channel [22:28] tjh: hahahaha [22:28] tjgillies: trolls gonna troll [22:29] nexxy: ACTION trolls [22:29] juandopazo: hey, let's not discriminate stupid ruby people [22:29] tbranyen: gotta pay the troll toll if you wanna get in this boys hole [22:29] brianc: boy's soul! [22:29] tjgillies: tbranyen: i don't want in your boy holr [22:29] nexxy: woah [22:29] juandopazo: there is stupid people for every lang [22:29] tjgillies: hole* [22:29] tbranyen: brianc: :D [22:29] nexxy: ACTION walks away from that noe [22:30] pdokas has joined the channel [22:31] kawaz has joined the channel [22:32] CStumph has joined the channel [22:33] tjh: this dude beside me in starbucks [22:33] tjh: is making really weird noises [22:33] tjh: sounds like a duck [22:33] brianc: haha [22:33] techwraith: tjh: I always imagined you would be the weird dude sitting next to me at starbucks making weird noises. [22:33] tbranyen: owned [22:34] tjh: ahaha [22:34] tjh: im not? [22:34] tjh: that's lame [22:34] techwraith: No, currently that's CStumph [22:35] CStumph: Rohohoho! [22:35] saschagehlich has joined the channel [22:35] brianc: you think it's bad to export functions from modules just to make them testable? [22:36] tjh: brianc: best to avoid [22:36] tjh: when possible [22:36] tjh: IMO [22:36] tjh: but [22:36] pyrotechnick1 has joined the channel [22:36] tjh: js is all about freedom, so I usually export private constructors etc [22:36] tjh: never know [22:36] tjh: like v8s god damn json ast thing [22:37] tjh: i want it [22:37] tjh: but noooo [22:37] brianc: yeah....trying to figure out a way to test dns resolving of host name in database connection string without requiring someone to configure a database @ a specific host for the test to pass [22:38] matthijs has joined the channel [22:39] p_nitsch has joined the channel [22:39] cloudhead has joined the channel [22:41] broofa has joined the channel [22:41] CStumph has joined the channel [22:41] jmckind has joined the channel [22:42] pyrotechnick1 has joined the channel [22:43] aberry has left the channel [22:43] hugobastien has joined the channel [22:43] brianc: does anyone here run emacs within tmux or screen and have issue with using yasnippets? [22:43] tbranyen: i run vim with tmux and all sorts of shit breaks [22:44] tbranyen: so preemptive not surprised [22:44] brianc: bummers [22:44] brianc: it didn't work in screen or tmux [22:44] boaz has joined the channel [22:47] ibrahimal-rajhi has joined the channel [22:47] hugobastien has left the channel [22:47] lightcap has joined the channel [22:48] hugobastien has joined the channel [22:49] killfill has joined the channel [22:50] foobarfighter has joined the channel [22:52] stagas: I'm bored need something to build! [22:52] stagas: any ideas? [22:52] brianc: implement & test ssl support in node-postgres [22:53] brianc: !! :) [22:53] stagas: something less exciting lol! :P [22:53] brianc: hmmm [22:53] brianc: less exciting than that? out of ideas. [22:53] boogyman has joined the channel [22:54] monteslu: re-write joomla or drupal or wordpress in node .... profit [22:54] p_nitsch has joined the channel [22:55] brianc: if you want to test dns resolving...you got any recommended dns to resolve where you can count on them not switching the IP? [22:55] monteslu: build a skeleton app in ringojs with express and big table support to run in appengine [22:56] brownies has joined the channel [22:56] brianc: stagas: write a generic "model" module which can be used both client and server with support for dirty tracking, async & modular validation, and a pluggable persistance layer. support IE (don't use __defineGetter__) [22:58] brianc: stagas: go outside & enjoy the beautiful month of May? [22:59] stagas: brianc: just got back in it's 2 am [22:59] stagas: :P [22:59] brianc: stagas: in that case, there is only 1 thing to do: drink. [22:59] sfoster: brianc: sounds like https://github.com/kriszyp/perstore ? [23:00] nexxy has joined the channel [23:01] sveimac has joined the channel [23:01] brianc: sfoster: nice [23:01] harth has joined the channel [23:05] dnolen has joined the channel [23:06] drudge- has joined the channel [23:08] harth has joined the channel [23:08] pyrotechnick1 has left the channel [23:08] pyrotechnick1 has joined the channel [23:09] niall has joined the channel [23:09] stagas: hello niall [23:09] niall: stagas: hey creationix to fab talk to the same name is doing res.send('hellow world'); [23:09] techwraith has joined the channel [23:10] stagas: niall: yeah! [23:10] niall: stagas: yeah, it again [23:11] boaz has joined the channel [23:11] stagas: niall: ideas? [23:11] niall: stagas: ideas for the current page. [23:12] boaz has joined the channel [23:13] troops has joined the channel [23:14] sh1mmer has joined the channel [23:16] techwraith: watching substack talk about dnode now, this community rocks :) [23:16] pcardune has joined the channel [23:17] p_nitsch has joined the channel [23:18] CStumph has joined the channel [23:18] ericnakagawa has joined the channel [23:20] sunnyohno has joined the channel [23:21] olauzon has joined the channel [23:22] brianc: I wish I were there [23:22] brianc: does he go by "substack" in person? [23:23] azeroth_ has joined the channel [23:24] techwraith: Nope ;) [23:24] sonnym has joined the channel [23:24] techwraith: well, maybe [23:24] neoesque has joined the channel [23:24] techwraith: I go by techwraith sometimes [23:24] dyer has joined the channel [23:25] techwraith: Be glad you aren't here, issacs, marak, and substack are rapping... [23:25] nexxy: I think it's great [23:25] techwraith: from randomly generated text based on this chat [23:25] techwraith: Yeah, I mean, it is funny :P [23:26] nexxy: funny/silly... but I love seeing creative uses for tech [23:26] darshanshankar has joined the channel [23:26] techwraith: You're here too nexxy? [23:26] nexxy: yus [23:26] nexxy: hiding [23:26] techwraith: lol [23:27] broofa has joined the channel [23:27] tyler-iphone has joined the channel [23:27] secoif has joined the channel [23:27] Wa has joined the channel [23:28] nexxy: and just where has Wa been? [23:28] techwraith: Wa? [23:28] ajay has joined the channel [23:28] Wa: I slept then took a shower and other morning bathroom routine then the dog and I played ball outside for a while [23:29] nexxy: ohh [23:29] mike_miller has joined the channel [23:30] hassox has joined the channel [23:30] killfill has joined the channel [23:30] foobarfighter: oh hai techwraith [23:30] techwraith: Oh hai, are you famous yet? [23:30] foobarfighter: still working on that [23:31] foobarfighter: where are you [23:31] marcello3d has joined the channel [23:31] techwraith: Over in the back of the B room [23:31] techwraith: There's room at the table [23:31] foobarfighter: ur right behind me [23:31] techwraith: yes [23:31] nexxy: ACTION queues twilight zone theme song [23:32] darshanshankar_ has joined the channel [23:32] foobarfighter: looking shady back there [23:32] SubStack: RAP COMPLETE 100% [23:32] techwraith: SubStack++ [23:32] v8bot: techwraith has given a beer to SubStack. SubStack now has 26 beers. [23:32] nexxy: SubStack, great job [23:32] nexxy: lol [23:32] iwinulose has joined the channel [23:32] techwraith: jesus christ man, drink those [23:32] techwraith: they go bad you know [23:32] techwraith: lol [23:33] pyrotechnick: SubStack+=Infinity [23:33] mike_miller has joined the channel [23:33] pyrotechnick: dammit v8bot [23:33] pyrotechnick: l2js [23:33] jesusabdullah: lol [23:33] SubStack: oh yeah? [23:33] romainhuet has joined the channel [23:33] SubStack: how 2 drink [23:33] techwraith: No idea, good luck though [23:33] techwraith: ;) [23:33] nexxy: SubStack, first you get a pen [23:33] SubStack: v8bot: beer me [23:33] v8bot: SubStack: Use v8: to evaluate code or "`v commands" for a list of v8bot commands. [23:33] pyrotechnick: lol [23:34] jesusabdullah: SubStack: Heard your demo went well! Awesome. [23:35] jeremyselier has joined the channel [23:35] zackattack: Any freelance Nodejs developers 'round? [23:36] p_nitsch has joined the channel [23:36] pyrotechnick: zackattack: sure [23:36] pyrotechnick: there's plenty [23:36] pyrotechnick: chapel: ping [23:36] zackattack: Cool, just send me a PM =) [23:36] pyrotechnick: 2 more watching over my shoulder [23:37] SubStack: jesusabdullah: yeah had to improvise real quick with a macbook since my new thinkpad can't seem to do vga output >_< [23:38] jesusabdullah: :o [23:38] jesusabdullah: Bummer dude! [23:38] jesusabdullah: But you made it work? [23:38] SubStack: yeah [23:38] jesusabdullah: Sweet [23:38] boaz has joined the channel [23:38] neurone-1337 has joined the channel [23:40] ericnakagawa has joined the channel [23:41] flippyhead has joined the channel [23:42] boogyman has joined the channel [23:42] lmorchard has joined the channel [23:42] echosystm has joined the channel [23:42] a|i: any libs/archs for an authentication layer on top of socket.io? [23:43] echosystm: a|i: you have to hack it in yourself [23:43] a|i: echosystm: but it's not a specific problem, it's a common one. [23:43] echosystm: i know [23:43] techwraith: Most people send a cookie back and forth [23:43] mscdex: i eat the cookie [23:43] a|i: http cookie? [23:44] techwraith: a|i: but express.io is going to fix all this [23:44] dhasenan has joined the channel [23:44] techwraith: If you're using express anyways [23:44] techwraith: which you should be [23:44] techwraith: lol [23:44] a|i: techwraith: express + socket.io = express.io? [23:44] techwraith: Yep [23:44] techwraith: It was annouced at nodeconf today [23:45] markbao has joined the channel [23:45] a|i: today [23:45] a|i: does it exist? [23:45] hybsch has left the channel [23:45] techwraith: Not yet :P [23:45] techwraith: Soon though [23:45] a|i: soon = tomorrow? [23:45] techwraith: Not that soon [23:45] echosystm: does node + npm from homebrew work yet? [23:45] techwraith: next month I think [23:46] a|i: too late :/ [23:46] techwraith: echosystm: not really [23:46] hdon- has joined the channel [23:46] techwraith: yeah :/ [23:46] techwraith: you can still use the session cookie though [23:46] context: echosystm: It did before npm 1.0 [23:46] techwraith: use js to get the session cookie client side, send that up the socket, check it manually [23:47] a|i: is it possible to share rails' auth session cookie with express? [23:47] techwraith: Haven't tried it myself, but it's possible I think [23:47] echosystm: does it no longer work now context ? [23:47] a|i: it's a http cookie, cannot access it by the client side [23:47] techwraith: ah, right [23:47] techwraith: shit [23:47] sendark has joined the channel [23:47] a|i: cannot node hanlde the http coockie? [23:47] context: echosystm: It does not for my right now [23:48] mscdex: you mean httponly cookie? [23:48] a|i: yes [23:48] techwraith: a|i: are you using some sort of persistance? [23:48] mscdex: should be able to, it's just a header [23:48] a|i: techwraith: yes, redis, why? [23:48] context: Ali. Are you using cookie based sessions in rails ? [23:48] techwraith: http://stackoverflow.com/questions/4753957/socket-io-authentication [23:49] context: Ali. I'm sure node can handle them. You just have to write a lib to handle the cookie exactly how rails does [23:49] a|i: context: rails uses http-only sessions. [23:49] techwraith: it's a bit old, but it should work [23:49] techwraith: not for the redis side of things though [23:49] techwraith: *rails not redis [23:49] dhasenan has joined the channel [23:49] [[zz]] has joined the channel [23:50] a|i: sending the http-only cookie to node, how can node verify that this session is a valid rails one? [23:51] rchavik has joined the channel [23:52] context: Kk. What's http only have to do with node ? [23:53] context: Http only means client script can't read it. Node should still get it. [23:53] brownies has joined the channel [23:53] a|i: so we have a session cookie created by rails, we send it to node, how can node trust that this cookie is a valid one? [23:53] context: And IF you are using session based cookies.... You need to decrypt the session from thencookie the same way rails does if someone has not written a library to do that already [23:54] context: Rails signs it. [23:54] context: How do you think rails trusts it... [23:54] context: You need to check this. [23:54] context: Or.... It needs to be checked [23:55] phluffy has joined the channel [23:55] phluffy has joined the channel [23:55] context: That's what your site key is for [23:55] a|i: ok I can get the rails secret key, and have node decrypt the cookie, now that decrypted value, does it need to be validated through rails from node? or does the authentication end after decrypting? [23:55] ChrisPartridge has joined the channel [23:55] calebc has joined the channel [23:55] CStumph has left the channel [23:56] context: The rails blog had an in depth on how the session cookie works when they first came out [23:56] context: I'd look that up [23:56] romainhuet has joined the channel [23:58] CStumph has joined the channel [23:58] mscdex: ACTION hopes someone a nodeconf video is available after it's over [23:58] a|i: yep, thanks. [23:58] mscdex: *uploads [23:58] mscdex: heh [23:58] nexxy: mscdex, accidentally the whole upload? [23:59] sveimac: mscdex: should be, 2 cameras running so :) [23:59] mscdex: eh? [23:59] mscdex: maybe next year i'll get to go [23:59] mscdex: :) [23:59] nexxy: aww