[00:00] tjholowaychuk: hehe [00:00] jaequery: anyone know any good alternative to something like chef? [00:00] Aria: puppet? [00:00] shimondoodkin: chef supposed to be good [00:00] Aria: chef is awful "code OS dependencies yourself, have fun with that" [00:00] jaequery: i just don't do ruby =( [00:00] quackslike: tjholowaychuk: i find the examples extremely helpful, not just with express specifically, but for overall node style. [00:01] Aria: Smart person. [00:01] jaequery: i do php! [00:01] tjholowaychuk: quackslike: totally, i keep forgetting to add a socket.io example [00:01] jaequery: am i still smart? :O [00:01] danfo has joined the channel [00:02] quackslike: i've been wondering, what would be a nice way to build a gui app with node as the workhorse, what gui libraries would be a good fit? [00:02] shimondoodkin: it takes like two days to get to know ruby. i personaly like node js more, then ruby and php. [00:03] tjholowaychuk: quackslike: for that stuff what I want [00:03] tjholowaychuk: is [00:03] quackslike: tjholowaychuk: that would be nice. i dont know much about socket.io at all.. i've been playing with nowjs [00:03] linnk: quackslike: I think someone is doing gtk bindings for node [00:03] slickplaid: nowjs uses socket.io, doesn't it? [00:03] tjholowaychuk: basically a window running webkit (WebView or w/e) that starts up your node app behind the scenes [00:03] tjholowaychuk: so that it runs like a regular app [00:03] shimondoodkin: and there was some 3d svg gui [00:03] dingomanatee has left the channel [00:03] darshanshankar: slickplaid: yep [00:03] tjholowaychuk: but is 100% js / html blah blah [00:03] jaequery: nowjs? what's that [00:03] quackslike: slickplaid: i think so, but you dont have to do anything with socketio your self afaik [00:04] slickplaid: right :) [00:04] Marak: SubStack: represent: http://thechangelog.com/ [00:04] slickplaid: but you're still using it :D [00:04] quackslike: tjholowaychuk: that's a nice idea. [00:04] darshanshankar: jaequery: http://nowjs.com -- shared state between client and server, like RPC [00:04] darshanshankar: jaequery: synced under "now" namespace, with groups, individual client addressing and other features [00:05] dyer has joined the channel [00:05] dyer has joined the channel [00:05] quackslike: tjholowaychuk: i'd like a native UI.. i was wondering if chrome or the mozilla widget library might be a good idea. [00:05] quackslike: i dont know much about those though.. [00:05] kmwallio has joined the channel [00:05] tjholowaychuk: i just want web tech [00:05] SubStack: w00t [00:05] chalaschek has joined the channel [00:05] quackslike: tjholowaychuk: i see [00:06] jmoyers: how does one use an object literal as a parameter in coffeescript? [00:06] jmoyers: totally ot, sorry [00:07] Silly_Wabbit has joined the channel [00:07] danfo: tjholowaychuk: sounds like https://github.com/creationix/topcube [00:08] tjholowaychuk: hmm maybe [00:08] quackslike: linnk: ok. i might have a sniff around see what that looks like. [00:08] tjholowaychuk: tim doesnt know c++ tho so i dunno about that haha [00:08] danfo: just looked at it on the top of http://pinboard.in/t:node.js is all. haha [00:08] tjholowaychuk: might be similar [00:09] danfo: I'm totally star struck btw - expressjs rocks [00:10] tjholowaychuk: thanks man appreciate it [00:10] tjholowaychuk: he does mention using webview so that might be really similar [00:10] mikey_p: has anyone one done any work on integrating dnode or nowjs and backbone? [00:11] sleeplessinc has joined the channel [00:11] darshanshankar: mikey_p: i was planning on messing with that tonight :) [00:11] SubStack: mikey_p: guybrush has [00:11] mikey_p: or is there some obvious reason why that wouldn't make any sense? [00:11] SubStack: and sorens3n https://github.com/sorensen/backbone-dnode [00:12] guybrush: and there is Capsule (which uses plain socketio) [00:12] Draggor: dnode with pub/sub? That's sexy [00:12] SubStack: here's the other one https://github.com/guybrush/backbone-rpc-example [00:12] dcelix has joined the channel [00:12] SubStack: in dnode you can roll your own pubsub and it ain't nothin' [00:13] sechrist: webkit bindings hooah [00:13] SubStack: just throw an EventEmitter around [00:13] guybrush: `v git Capsule [00:13] v8bot: guybrush: andyet/Capsule - GitHub - https://github.com/andyet/Capsule [00:13] mikey_p: open source and github are just like jesus: ask and ye shall receive ;) [00:13] wafflesburger has joined the channel [00:13] sechrist: so can somebody explain to me why NowJS exists? [00:14] guybrush: why not :p [00:14] sechrist: I am failing to see the importance of it, let alone the importance of them having a real company founded behind this idea [00:14] mikey_p: i guess uber are using it [00:14] wafflesburger: to get seed money probably [00:15] wafflesburger: from clueless investors [00:15] sechrist: exactly [00:15] darshanshankar: ahem [00:15] sechrist: it's kind of infuriating [00:15] darshanshankar: i wouldn't make accusations like that [00:15] darshanshankar: without backing that up [00:15] darshanshankar: you're quite literally trolling [00:15] wafflesburger: it's the internet, since when do we have to back up claims? :P [00:15] sjbreen: I believe it's a nicer warpper around socket.io [00:15] darshanshankar: without know the business behind nowjs [00:15] sechrist: there better be a platform, some nice debugging tools, or something [00:15] jhurliman: you can never have too many abstraction layers on top of rpc [00:16] mikey_p: i'm not that impressed with what i've seen, but i'd rather just ignore it that troll IRC [00:16] sechrist: they need to provide some value over my homie's projects on github [00:16] sechrist: for me not to be infuriated [00:16] darshanshankar: so you have a major bias [00:16] darshanshankar: and you're trolling [00:16] darshanshankar: awesome [00:16] mikey_p: did you personally invest in them? [00:16] darshanshankar: im a founder [00:16] wafflesburger: no i don't have a bias [00:16] darshanshankar: (talking about sechrist ) [00:16] mikey_p: if so, you're talking to the wrong people about your frustration [00:17] sechrist: yes I'm trolling [00:17] jlecker has joined the channel [00:17] sechrist: because I'm assuming that they achieved funding based on the fact that nodejs floods hacker news [00:17] sechrist: and angels went "OMG" [00:17] halfhalo: trollololing [00:17] gtramont1na has joined the channel [00:17] darshanshankar: your assumption is incorrect [00:17] brianm has joined the channel [00:17] sechrist: that's fine [00:17] sechrist: but that's my assumption [00:17] SubStack: I need to flood more personally [00:17] xeodox: nowjs is awesome lol [00:17] SubStack: it's a skill [00:17] jlecker has left the channel [00:17] brianm has joined the channel [00:18] sechrist: SubStack++ [00:18] v8bot: sechrist has given a beer to SubStack. SubStack now has 27 beers. [00:18] Marak: we talking about nowjs? [00:18] sechrist: yes [00:18] xeodox: didn't have to deal with ajax or anything else anymore, pheww~ [00:18] sechrist: omg ajax so hard [00:18] sechrist: if you're using node, there's node-dnode and even socket.io [00:18] sechrist: which you could build the same thing on top of [00:19] xeodox: socket.io is a bitch to scale [00:19] halfhalo: yeah, don't see the point of nowjs myself [00:19] gtramont1na has joined the channel [00:19] Marak: i dont see how nowjs is going to make money [00:19] sechrist: xeodox: it's not "a bitch" to scale, because I've done it [00:19] darshanshankar: you realize we're building a scalable cluster version to sell to enterprise? [00:19] Marak: nowjs should have the proxy stuff removed into a seperate module, and built better [00:19] TheFuzzball has joined the channel [00:19] sechrist: howerver it's all custom [00:19] Marak: then use something else for the transport [00:19] Marak: i dunno [00:19] sechrist: I have socket.io events sharded and shit [00:19] wafflesburger: does it support horizontal scalilng and sharding [00:19] sechrist: and clustering is coming soon claims guille I think [00:20] sechrist: mine is horizontal backed by rabbitmq [00:20] sechrist: my goal was to get events out of node as soon as possible and into a broker [00:20] jmoyers: HORIZONTAL? [00:20] jmoyers: and backed by an MQ [00:20] sechrist: yes [00:20] sechrist: of course! [00:20] jmoyers: jesus i just got buzzed with buzzwords [00:20] wafflesburger: :D [00:20] quackslike: this is what's called tall poppy syndrome.. [00:21] sechrist: you're assuming it's a single node message queue [00:21] Marak: do the nowjs guys even come in here? i dont think ive ever talked to them or know who they are [00:21] Marak: not community players as far as i know [00:21] tjholowaychuk: I scale socket.io diagonally [00:21] quackslike: rip someone down because your're either too stupid to do it yourself, or didnt think of it first.. [00:21] tjholowaychuk: booyah [00:21] quackslike: tjholowaychuk: lol [00:21] sechrist: i'm not ripping anybody down, but if it is true that they exploited VCs to get funding by throwing "node node node" around [00:21] quackslike: nowjs seems good to me [00:21] sechrist: I'd be sad [00:21] jhurliman: i'm going to use that in our next pitch. diagonal scalability [00:21] SubStack: Marak: darshanshankar is in here [00:21] jmoyers: heh [00:21] darshanshankar: i didn't realize how nasty this community is [00:21] SubStack: and a few others [00:22] jmoyers: nobody's 'exploiting' vc's [00:22] sechrist: no i'm just nasty [00:22] darshanshankar: im shocked that im literally getting trolled [00:22] quackslike: pfft exploited VC's get real [00:22] jmoyers: vc's exploit [00:22] darshanshankar: since i PERSONALLY raised money [00:22] darshanshankar: and i definitely didn't exploit anyone [00:22] demastrie has joined the channel [00:22] sechrist: well then quiet me down [00:22] Marak: darshanshankar: who is trolling you? [00:22] wafflesburger: well i didn't mean to start this [00:22] wafflesburger: i just made a joke [00:22] wadey: darshanshankar: haters gonna hate [00:22] tonymilne has joined the channel [00:22] jhurliman: node.js based 0-day VC exploit? i smell a headline coming [00:22] darshanshankar: LOL [00:22] wafflesburger: that wasn't even targetted at nowjs but rather the tech business environment in genereal [00:22] sechrist: LOL [00:22] dcampano has joined the channel [00:22] JianMeng has joined the channel [00:22] quackslike: and so what if they did exploit VC's that's life.. VC's are meant to be business savvy.. if they're not - then tough luck for them.. [00:23] darshanshankar: i just dont think you should rip on a company without knowing anything about it [00:23] quackslike: darshanshankar: agreed. [00:23] samsonjs_ has joined the channel [00:23] darshanshankar: you don't even know anything about our business [00:23] ChrisPartridge: jhurliman: lol [00:23] Marak: darshanshankar: to my understanding, you plan on selling a hosted "nowjs cluster" platform as a service. is that correct? [00:23] mikey_p: please no anti-node rhetoric on hacker news, already got enough of that [00:23] sechrist: darshanshankar: after this past YC round, I had 2 angels ask me about nowjs [00:23] postwait has joined the channel [00:23] sechrist: and i couldn't justify anything based on what I saw on github and the website [00:23] darshanshankar: not exactly Marak [00:23] sechrist: and that's what I told them [00:23] stepheneb has joined the channel [00:23] wafflesburger: darshanshankar; i was jking xC and people thought i was super cereal [00:23] sechrist: I couldn't figure out what the business was for if their project was on github [00:23] Marak: darshanshankar: well maybe you should clarify your goals a little and community might better understand what you are trying to do [00:24] sechrist: so I can only assume they raised funding for that code [00:24] jmoyers: raising money and starting a company is hard enough [00:24] darshanshankar: yeah i realize that [00:24] darshanshankar: our website tells nothing about the company [00:24] jacter has joined the channel [00:24] sechrist: nodejitsu, on the other hand [00:24] sechrist: is very clear about their goals [00:24] tjholowaychuk: Marak: saw the funding blog post or w/e a while back there, congrats! [00:24] sechrist: who they raised funding from [00:24] sechrist: who they are [00:24] sechrist: all kinds of shit [00:24] quackslike: Marak: why does he need to get the community to understand what they're doing? [00:24] darshanshankar: Marak: we license the technology and support it on an enterprise level [00:24] mikey_p: did anyone notice that the article about nginx with embedded v8, that bashed v8 made it to the top of hacker news the day of nodeconf? [00:24] SubStack: don't feel sorry for VCs, they have too much money anyhow [00:25] sechrist: darshanshankar: if your goal is to support nodejs based eventing for enterprise, that's awesome [00:25] sechrist: but I would have never gleaned that from anything I can find on the internets [00:25] darshanshankar: like we are focused on enterprise which is a whole different ball game [00:25] newy_ has joined the channel [00:25] quackslike: SubStack: i dont feel sorry for the rich very often :) [00:25] Marak: tjholowaychuk: thanks...we ballin now...got like 10 hires... [00:25] darshanshankar: while substack is focused on stackvm and browserify (which is awesome btw) [00:25] boehm has joined the channel [00:25] _fat has joined the channel [00:25] Marak: tjholowaychuk: #nodejitsu room is the new hotness [00:25] tjholowaychuk: Marak: nice nice! [00:26] SubStack: also #stackvm ;) [00:26] darshanshankar: and while guille and rafael have learnboost (which is also awesome, that industry needs some change) [00:26] darshanshankar: so it takes a company to support nowjs-type work at the enterprise level [00:26] dnolen has joined the channel [00:26] darshanshankar: the type of robustness required at the enterprise level requires a "bit" of capital, hence why i raised money [00:26] sechrist: also SLAs [00:26] wafflesburger: is nodejs robust even? [00:27] tjholowaychuk: darshanshankar: dont forget to buy guillermo starbucks giftcards to say thanks [00:27] tjholowaychuk: haha [00:27] tjholowaychuk: :D [00:27] Marak: wafflesburger: semver says... [00:27] darshanshankar: dude guille gets more that sbux giftcards from me [00:27] perezd has joined the channel [00:27] darshanshankar: (one day) [00:27] darshanshankar: im too poor for now :( [00:28] darshanshankar: sechrist: perhaps i should've updated the website to say all that, then you're opinion might be different eh? lol ;) [00:28] darshanshankar: your* [00:28] sechrist: of course [00:28] sechrist: it's already different [00:28] darshanshankar: yay sechrist++ XD [00:28] sechrist: now, tell me how easy it is to cluster your nowjs product [00:28] darshanshankar: LOL [00:28] sechrist: and load balance [00:28] darshanshankar: its not [00:28] darshanshankar: i mean just the load balancer alone [00:29] darshanshankar: not easy [00:29] sechrist: I mean you're enterprise [00:29] wafflesburger: but i thought nodejs scales scemantically out of the box? [00:29] sechrist: where's my HA and fault tolerance [00:29] darshanshankar: well the other part you should probably know... [00:29] Marak: darshanshankar: what im hearing from you makes me think its more of a snake oil salesman scenario, but personally i cant really hate on someone trying to make money and promote node.js. You might have to accept that the community might be a little upset, so you should act accordingly. [00:29] halfhalo: its all tied in using an access DB [00:29] darshanshankar: most of our enterprise code is not on github [00:29] slickplaid: you guys sound kind of hostile towards him [00:29] sechrist: ACTION had to make socket.io HA and fault tolerant for an enterprise site [00:29] sechrist: so i'm genuinely interested [00:29] sechrist: that makes sense [00:29] Marak: darshanshankar: most of our enterprise code is on github [00:29] darshanshankar: ah! [00:30] brownies has joined the channel [00:30] Marak: https://github.com/nodejitsu [00:30] tjholowaychuk: OSS FTW [00:30] sechrist: nodejitsu in the haus [00:30] darshanshankar: Marak: gotcha, we haven't open sourced it yet figuring it out with our lawyer this week >.< [00:30] sechrist: if it isn't open source, we leave it aloneee [00:30] Marak: and in all likelyness, we will prob OSS a better product then you will be selling.... :-\ [00:30] wafflesburger: where do you find the time to learn nodejs? is everyone self employed? [00:30] darshanshankar: we haven't decided on BSD or what [00:30] sechrist: oh snap Marak++ [00:31] Marak: wafflesburger: i spent a year doing nonstop node for no money, pretty much bankrupted me [00:31] darshanshankar: what does nodejitsu have to do with us... [00:31] jwl: i want to have a js file on both node.js and browser [00:31] wafflesburger: what kind of stuff did you build in that time Marak; [00:31] sechrist: a cloud [00:31] darshanshankar: you guys are going down the Node PaaS route, correct Marak? [00:31] sechrist: he literally built a cloud [00:31] slickplaid: lots and lots of chats :D [00:31] jwl: i can't check this.module because node.js throws an error then [00:31] wafflesburger: woah, now that sounds scalable sechrist; [00:31] Marak: wafflesburger: you seen my github? all sorts of crap [00:32] jwl: it says this.module isnt defined [00:32] wafflesburger: no i just read about nodejs yesterday actually [00:32] Marak: darshanshankar: we are doing PaAS => ASP and everything in between, its a large space [00:32] wafflesburger: and made a blog thingy with only posting ability [00:32] jwl: how can i check the environment (browser or node) without either the browser or node throwing an error about undefined variables= [00:32] sorens3n: waffle: i spent every spare moment i had learning node while employed, now that i'm not, its all day every day [00:33] Marak: darshanshankar: making scalable fault tolerant node.js web applications is the core of our business [00:33] darshanshankar: Marak: thats cool - but we have a different challenge with the shared now namespace [00:33] darshanshankar: we're not in the PaaS market [00:33] Marak: darshanshankar: sure [00:34] pyrotechnick: i think you guys need to test nowjs before we start taking you seriouslyt [00:34] Marak: darshanshankar: if you dont mind me asking, how is hiring going? you finding good node people? [00:34] darshanshankar: ya man, it just takes time to do everything [00:34] pyrotechnick: you know what takes more time than writing tests? [00:34] sorens3n: i would definately suggest dnode over now.js [00:34] darshanshankar: Marak: still searching, we're focused more on good dist sys guys [00:35] darshanshankar: pyrotechnick: hmm? [00:35] pyrotechnick: not having tests and chasing bugs around all day and night [00:35] keeth has joined the channel [00:35] darshanshankar: heh [00:35] jwl: if (typeof module !== 'undefined' && module.exports) worked [00:35] darshanshankar: well im sorry, its only been two months [00:35] pyrotechnick: if i were enterprise i wouldn't touch it with a ten foot pole [00:36] darshanshankar: which is why we're still in development [00:36] pyrotechnick: i wouldn't touch it in hacking/indy let alone that [00:36] pyrotechnick: i dont know how you've conned 'enterprise' into something that's not even tested [00:36] pyrotechnick: it does not compute [00:36] darshanshankar: aok [00:36] darshanshankar: im going to leave now and get work done [00:36] neoesque has joined the channel [00:36] darshanshankar: no more troll management from me for today [00:36] pyrotechnick: troll? [00:37] pyrotechnick: you take someone suggesting you test your software as trolling [00:37] darshanshankar: you're trolling a technology thats two months old [00:37] kmiyashiro has joined the channel [00:37] sorens3n: ... [00:37] darshanshankar: how coan you possibly expect [00:37] darshanshankar: robustness [00:37] darshanshankar: THIS early [00:37] pyrotechnick: man you need to watch something for me [00:37] sorens3n: ...they see me trollin.... they hatin... [00:37] pyrotechnick: http://www.youtube.com/watch?v=YX3iRjKj7C0 [00:38] maximosis has joined the channel [00:38] pyrotechnick: and you need to come to the conclusion that you're letting yourself be part of a very big problem [00:38] Me1000 has joined the channel [00:38] tjholowaychuk: the only problem i see [00:38] tjholowaychuk: is that guillermo did most the work [00:38] tjholowaychuk: but OSS people usually dont really get the benefit [00:38] tjholowaychuk: STARBUCKS CARDS! [00:38] tjholowaychuk: haha [00:38] tjholowaychuk: jk [00:39] Marak: tjholowaychuk: people are all like, how can i haz socket scale [00:39] tjholowaychuk: contributing back is all I would expect [00:39] Marak: that shit is kinda easy, just a matter of time for a proper lib to get released [00:39] Marak: plus ryah is working on some badass IPC and child proc stuff [00:39] pyrotechnick: so well actually have node.js soon? [00:39] pyrotechnick: the node part not just the js part? [00:40] jhurliman: speaking of contributing back, does node have a page listing what they need help with? [00:40] dnolen has joined the channel [00:40] darshanshankar: tjholowaychuk: i completely agree (we're always going to be OSS) [00:40] tjholowaychuk: darshanshankar: cool cool [00:40] shimondoodkin: where to find informatiom about the new idea of node module dir? [00:41] tjholowaychuk: it's all good if people have success from open source but gotta share the love [00:41] flippyhead has joined the channel [00:41] darshanshankar: the second i have more than $500 in my bank account, i'll treat guille to some dinner XD [00:41] demastrie has left the channel [00:41] sorens3n: tjholoway: agreed, i think i owe you some starbucks cards ;) [00:42] darshanshankar: but in the meantime, time to figure out how to pay rent :P [00:42] tjholowaychuk: loves me some starbucks cards [00:42] sorens3n: i've been using your projects since i started node.js [00:42] mikegerwitz: shimondoodkin: http://nodejs.org/docs/v0.4.7/api/modules.html [00:42] ChrisPartridge: i think everyone has [00:42] sorens3n: :P [00:42] wafflesburger: what is this starbucks card business [00:42] halfhalo: bleh.. coffee [00:43] sorens3n: mmm, need more coffee now [00:43] tjholowaychuk: every time you npm install a module it should donate 1 starbucks point to the author haha [00:43] sorens3n: hahaha [00:43] tjholowaychuk: and some to the contributors [00:43] shimondoodkin: mikegerwitz: thanks [00:43] sorens3n: what does isaac get from that? [00:43] tjholowaychuk: 0.001 starbucks point [00:43] tjholowaychuk: haha [00:43] tjholowaychuk: jk [00:43] sorens3n: hehehe [00:44] sorens3n: oh lord the laughing hurts, i've had the crud for a week now :( [00:44] wafflesburger: yikes! [00:44] sechrist: darshanshankar: well, if you can get node into the enterprise, high five [00:44] Hamms has joined the channel [00:44] sechrist: i'll stop trolling nowjs [00:44] sorens3n: sechrist: why? [00:44] halfhalo: its not trolling if its true [00:44] darshanshankar: its hard, but thats the dream ^_^ [00:44] wafflesburger: what are your ages [00:45] wafflesburger: i'm polling for average age of nodejs crowd [00:45] sorens3n: 24 [00:45] rpflo has joined the channel [00:45] sechrist: I'm 19, but probably on par with the 24-25 year olds in here [00:45] shimondoodkin: 27 [00:45] tjholowaychuk: 23 [00:45] sh1mmer has joined the channel [00:45] slickplaid: 28 [00:45] samsonjs has joined the channel [00:45] darshanshankar: 19 as well [00:45] SubStack: ages[23]++ [00:45] v8bot: SubStack has given a beer to ages[23]. ages[23] now has 1 beers. [00:45] slickplaid: but i'm comprerable to the 19yo out there [00:46] slickplaid: comparable [00:46] sechrist: darshanshankar++ [00:46] v8bot: sechrist has given a beer to darshanshankar. darshanshankar now has 1 beers. [00:46] halfhalo: 3 [00:46] tjholowaychuk: beer++ [00:46] v8bot: tjholowaychuk has given a beer to beer. beer now has 0 beers. [00:46] sechrist: are you in the valley darshan? [00:46] tjholowaychuk: beer++ [00:46] v8bot: beer is getting too many beers. Don't let beer get drunk! [00:46] darshanshankar: sechrist: we're a company of 3 19 year old dudes trying to sell node to enterprise. i.e. trying to sell node to 60 year olds... sooo hard! [00:46] darshanshankar: sechrist: indeed, in Berkeley [00:46] Kami_ has joined the channel [00:46] sechrist: you're all berkeley peeps? [00:46] sorens3n: anyone here around the midwest? [00:46] darshanshankar: yeep [00:46] Marak: darshanshankar: we are a company of 10+ year seasoned javascript pros lol [00:46] sorens3n: <-- omaha [00:47] Marak: :-) [00:47] darshanshankar: Marak++ [00:47] v8bot: darshanshankar has given a beer to Marak. Marak now has 2 beers. [00:47] jhurliman: (reading scrollback) 27 [00:47] sechrist: Marak: how many nodejitsu employees have CS degrees? [00:47] SubStack: oakland represent [00:47] halfhalo: Socal ftw [00:47] quackslike: geez i feel old now. [00:47] SubStack: although I'm actually in berkeley right now [00:47] Marak: sechrist: i dunno, more then half i think have masters [00:47] sechrist: snap [00:47] tjholowaychuk: pff CS [00:47] sorens3n: i feel undereducated now [00:47] Marak: sechrist: its a solid mix of academics and drop outs [00:47] Marak: im the drop out [00:47] shimondoodkin: darshanshankar: i tried that, the problem was too small amount of duedes knew node js vs asp net so we left node js in the enterprise i consult in [00:47] sechrist: I didn't drop out [00:47] sechrist: I just didn't go [00:48] sechrist: valley swooped me up [00:48] sorens3n: hahaha [00:48] SubStack: I dropped out with like 2 classes left [00:48] stagas: shit Im old 29 [00:48] darshanshankar: sechrist++ [00:48] v8bot: darshanshankar has given a beer to sechrist. sechrist now has 1 beers. [00:48] SubStack: but fuck it I didn't want to hang around for another semester when I could be hacking full time [00:48] sechrist: internet moniesss [00:48] darshanshankar: SubStack: you'll be at hackers and founders tomorrow night yeah? [00:48] SubStack: yep [00:48] darshanshankar: sechrist: what do you do these days? [00:48] darshanshankar: woot see you there [00:48] sechrist: oh snap that sounds interesting [00:48] sorens3n: bah i need to get out to the bay [00:49] sorens3n: u guys get all the fun events [00:49] sechrist: I work at a cloud videoconferencing company [00:49] SubStack: sorens3n: protip: east bay is crazy cheap except for berkeley [00:49] wadey: 26 here, looks like im close to the average :) [00:49] sorens3n: i lived near the dogpatch for a year before i went heavy into dev'ino [00:49] SubStack: the peninsula/valley doesn't get cheap until you hit sunnyvale and san jose and who wants to live there? [00:49] sorens3n: worked out near GrandLake in oakland [00:49] sechrist: ahhh space lounge [00:49] darshanshankar: amen SubStack [00:49] sorens3n: thanks for the tip [00:50] sechrist: well in Sunnyvale's case [00:50] sechrist: the gateway to hell brings down the property value [00:50] sorens3n: im heading to washington soon, so i'll be getting closer! [00:50] SubStack: hahaha [00:50] xeodox: darshanshankar: Any spots open for hackers and founderes? [00:50] halfhalo: ACTION shall move up there after college [00:50] darshanshankar: xeodox: no idea, you should just join the waitlist, a bunch of people back out [00:50] wadey: ACTION moving to SF in less than 2 weeks. excited. [00:50] wafflesburger: where the hell do you find jobs outside of bay / ny [00:51] SubStack: xeodox: just show up ;) [00:51] sorens3n: the interwebs... [00:51] sorens3n: certainly not local around here [00:51] darshanshankar: or that too, its not like anyone checks [00:51] xeodox: SubStack: does that work? lol [00:51] wafflesburger: no good local resources here either sorens3n; [00:51] SubStack: wafflesburger: you can find them they're just far less interesting doing crud/rails/java/php work [00:51] wafflesburger: in virginia beach :( [00:51] tilgovi has joined the channel [00:51] tilgovi has joined the channel [00:52] SubStack: although there's a lot of that here around the bay too [00:52] SubStack: but node is at least well represented [00:52] egistli has joined the channel [00:52] tim_smart has joined the channel [00:52] Spion_ has joined the channel [00:52] sechrist: it's hard as hell to hire here [00:52] sechrist: I literally have to scalp my old hacker friends back home [00:52] halfhalo: lol [00:52] sechrist: and get them here [00:53] egistli has left the channel [00:53] halfhalo: if I wasn't in college I would be up there [00:54] sjbreen: do people not hire remote people? or is on site better experience? [00:54] ryah: whenever #node.js becomes less than 600 users i become sad [00:54] halfhalo: hire some hookers to just stay on irc [00:54] halfhalo: boom, solved [00:54] jhurliman: on site is always preferable in my experience, but remote can work [00:54] tjholowaychuk: sjbreen: remove is fine [00:54] slickplaid: wait what is node.js? i thought i was in ruby [00:54] tjholowaychuk: we are almost all remote [00:54] halfhalo: slickplaid: no, ruby moved to php [00:54] slickplaid: ooh ok [00:54] slickplaid: got lost in the shuffle [00:55] nexxy: slickplaid, you should have known better [00:55] Marak: darshanshankar: are you aware of the project https://github.com/substack/dnode ? just curious [00:55] wafflesburger: how do you start finding jobs [00:55] nexxy: #node.js isn't nearly as pretentious [00:55] wafflesburger: as a student [00:55] nexxy: (yet) [00:55] sorens3n: Marak: love that project [00:55] tjholowaychuk: wafflesburger: github, they find you [00:55] slickplaid: hehe [00:55] sjbreen: cool [00:55] darshanshankar: lol of course Marak .... [00:55] Marak: darshanshankar: dont lol at me, this is the first time i remember seeing you in here [00:55] Marak: :-) [00:56] halfhalo: ACTION got a job via a combo of online forum activity and phpness [00:56] darshanshankar: we were talking about dnode vs nowjs just a short while ago [00:56] darshanshankar: but yeah i dont spend much time in here [00:56] tim_smart: wafflesburger: Where are you located and how long have you been using node.js? [00:56] wafflesburger: virginia beach and i don't use nodejs [00:56] nexxy: ACTION lols @ Marak just to spite him [00:56] wafflesburger: virginia beach / norfolk [00:56] Marak: darshanshankar: i feel that if you built an additional library that was outside of dnode, you'd get the same functionality [00:57] tim_smart: wafflesburger: You want a job in something you haven't used? [00:57] Marak: darshanshankar: maybe use dnode as the transport for nowjs, i dont know. i havent looked too deep into your codebase [00:57] wafflesburger: no i'm not talking about node jobs xD [00:57] tim_smart: Oh [00:57] SubStack: easy to do with dnode-protocol! [00:57] sorens3n: there he is! [00:57] darshanshankar: a bit too late for that now [00:58] SubStack: although it's always hard to move to a new codebase behind the scenes [00:58] sorens3n: ahaha, i was doing a countdown until SubStack popped in [00:58] darshanshankar: yeah [00:58] slickplaid: i thought substack lived here [00:58] SubStack: I was back at the counter ordering another americano [00:58] SubStack: THUS EXPLAINS MY LEAVE OF SEVERAL MINUTES [00:58] slickplaid: :) [00:58] halfhalo: suuure [00:58] rfay has joined the channel [00:59] SubStack: also poaching internet friends from back home is a useful hiring strategy [00:59] hij1nx has joined the channel [00:59] indexzero has joined the channel [00:59] darshanshankar: SubStack what happens when you're from the middle of Wisconsin and nobody has heard of javascript back there? :P [00:59] SubStack: if you live in a non-competitive hiring environment especially [00:59] SubStack: or lived, I should say [00:59] SubStack: jesusabdullah: ^^^ [01:00] wafflesburger: did you build a portfolio from personal projects or work projects [01:00] SubStack: darshanshankar: well you can make them aware yourself [01:00] SubStack: wafflesburger: oh goodness yes [01:00] jesusabdullah: darshanshankar: You drive to Minnessota [01:00] Wizek has joined the channel [01:00] SubStack: it's easier to build up a solid block of personal projects because you can decide whatever you want to build [01:00] jesusabdullah: darshanshankar: Actually, I would say that Wisconsin has a small but growing tech scene in Madison [01:00] wafflesburger: yeah [01:00] deedubs has joined the channel [01:01] SubStack: or if you work at an awesome company like browserling you can just keep doing that [01:01] jesusabdullah: awesome engineering college, plus a pretty big programming company [01:01] wafflesburger: have you ever finished a personal project though :D [01:01] darshanshankar: jesusabdullah: didn't spend much time in Madison, but I wouldn't be surprised [01:01] darshanshankar: they've got a great CS program [01:01] jesusabdullah: (only large startup-ish thing there) [01:01] jesusabdullah: Yeah [01:01] jesusabdullah: They had a hacking place there too [01:01] sjbreen: I like an awesome company like browserling ^_^ [01:01] darshanshankar: jesusabdullah: considered UWMadison but the draw of silicon valley was too hard [01:01] jesusabdullah: Yeah [01:01] llkazu has joined the channel [01:01] wafflesburger: personally i have started 10 different projects, and not finished one of them, do you think that kind of thing is worth adding to a portfolio xD [01:01] SubStack: jesusabdullah: at browserling, you'll be expected to work on whatever the fuck [01:01] jesusabdullah: My ex and I talked about moving to Madison [01:01] jesusabdullah: SubStack: WHAT [01:02] SubStack: DO AS YOU ARE TOLD [01:02] _fat has left the channel [01:02] slickplaid: oh snap [01:02] jesusabdullah: You know, that really obliterates the concept of a job description there [01:02] SubStack: it does, doesn't it? [01:02] jesusabdullah: "this wasn't in my job descript----oh wait" [01:02] Swizec has joined the channel [01:02] SubStack: work on whatever you think needs working on [01:02] halfhalo: lol [01:03] SubStack: seems to be the norm for startups at this stage though [01:03] nexxy: ;< that's been my approach [01:03] SubStack: and smarter middle-stage startups [01:03] dyer_ has joined the channel [01:03] dyer_ has joined the channel [01:03] nexxy: but then I end up spending 2 days on a slider widget [01:03] nexxy: ;/ [01:04] sjbreen: SubStack, do you pay in money or shares though :D [01:04] SubStack: yes [01:04] sjbreen: haha [01:04] tonymilne: lol @ substack [01:04] tjholowaychuk: its hard to work with this much coffee [01:04] tim_smart: darshanshankar: You looking for a node job? [01:04] jhurliman: this channel is sassy today [01:05] darshanshankar: tim_smart: the opposite :P hiring node [01:05] slickplaid: sassy channel [01:05] tim_smart: Oh :) [01:05] systemfault: I would love a node job in montreal :P [01:05] nexxy: darshanshankar, too late... joyent beat you to it! [01:05] halfhalo: sassymcsassyness [01:05] darshanshankar: nexxy++ [01:05] v8bot: darshanshankar has given a beer to nexxy. nexxy now has 2 beers. [01:05] tim_smart: systemfault: I can offer one in Mountain View :p [01:05] wafflesburger: we should all give each other $1, we'll be millionaires in no time [01:06] darshanshankar: i want a joyent shirt [01:06] nexxy: omg someone stole 2 of my beers [01:06] sjbreen: you guys would be looking for someone who's well versed in node or a beginner willing to learn? [01:06] halfhalo: i want a million dollars [01:06] halfhalo: it shall be mine soon enough... [01:06] darshanshankar: i would help me avoid doing laundry XD [01:06] slickplaid: stole/drank, what's the difference :D [01:06] nexxy: wafflesburger, sounds like a gifting scam I was pitched on once [01:07] wafflesburger: this is no scam, i did the math [01:07] nexxy: LOL oh [01:07] nexxy: and how much does it cost to become a "certified gifting agent" ? [01:07] halfhalo: 50 dollars up front payable to me [01:08] nexxy: ok but what if I want the training to become a "certified certified gifting agent trainer" trainer? [01:08] wafflesburger: you just pass $5 to the person to your right and $1 to the person 2 spaces to your right, i'll just move around the circle making sure no one is scamming [01:09] DrAwesomeClaws has joined the channel [01:09] halfhalo: its time for... pyramid scheme game show extrodanair! [01:09] mynyml has joined the channel [01:09] mynyml_ has joined the channel [01:10] samsonjs has joined the channel [01:10] nexxy: um halfhalo, excuse me... it's a circle [01:10] halfhalo: not anymore [01:10] nexxy: circle with a satellite [01:10] halfhalo: now, do you want to be sent back to the bottom of the pyramid or not [01:11] SubStack: hey lookit, dnode on the front page http://news.ycombinator.com/ [01:11] nexxy: what if that's what I'm into? [01:11] SubStack: upboat before it slips off! [01:11] halfhalo: supertrippledownvote [01:11] sorens3n: hehe [01:11] darshanshankar: upboated [01:11] sorens3n: <- first upvote here [01:11] nexxy: all I gots upgoats [01:11] SubStack: <3 [01:11] nexxy: SubStack, those work? [01:11] ericnakagawa: upmoat [01:12] darshanshankar: i feel like pg's new vote algorithm messed things up [01:12] SubStack: it seems kind of wonky sometimes [01:12] mjr__ has joined the channel [01:12] SubStack: and then HN gets so much spam now [01:12] jhurliman: i feel tricked. dnode claims to be language agnostic, however i cannot find the visual basic bindings [01:12] halfhalo: what.... [01:13] SubStack: jhurliman: you've discovered the dark secret! [01:13] Wa has joined the channel [01:13] done_ has joined the channel [01:13] nexxy: what no intercal support!? [01:13] jesusabdullah: nexxy: New job? [01:14] SubStack: jhurliman: conversely, visual basic isn't a real language™ [01:14] Adman65 has joined the channel [01:14] nexxy: jesusabdullah, que? [01:14] slickplaid: anyone have a tutorial for test driven design in nodejs? [01:14] done_ has left the channel [01:14] jhurliman: aww [01:15] azend has joined the channel [01:15] jesusabdullah: Was that you? Somebody was working for joyent [01:15] nexxy: lol [01:15] jesusabdullah: and I was wondering how recently that happened [01:15] themiddleman_itv has joined the channel [01:15] nexxy: not I! [01:15] jesusabdullah: ah! [01:15] nexxy: I work for no man! [01:16] vipaca has joined the channel [01:16] vipaca has joined the channel [01:16] jesusabdullah: Why not?! [01:16] jesusabdullah: Y U NO JOB [01:16] nexxy: I has lotsa jobs [01:17] piscisaureus: http://scanlime.org/2011/05/cia-vc-service-is-down-indefinitely/ [01:18] hasenj has joined the channel [01:18] tedsuo has joined the channel [01:18] nexxy: jesusabdullah, I just don't work well in a corporate environment ;< [01:18] nexxy: all this "authority" and "standard operating procedure" [01:18] jesusabdullah: What do you generally do? [01:18] nexxy: solve problems! [01:19] nexxy: and make the world shine [01:19] nexxy: not necessarily in that order [01:19] SubStack: nexxy: what are those? [01:19] SubStack: this "authority" you speak of, I've heard of them [01:19] nexxy: you mean other than never-ending? [01:19] SubStack: but never met [01:20] ChrisPartridge: SubStack: Trying to wrap up a piece of dnode middleware nicely, and I have a module.middleware(config) which returns the dnode middleware, but i also have module.client() which contains a preconfigured dnode client for the browser.. the question is - can I browserify a single export from a module? [01:20] jacter has joined the channel [01:20] nexxy: SubStack, the closest I've ever been to them... is on the other side of a door [01:21] SubStack: ChrisPartridge: you sure probably can! [01:21] SubStack: to you mean to inject into the /dnode.js? [01:21] SubStack: hmmm I should probably expose the browserify options so you can do crazy stuff like that [01:21] Aria: Wow, no CIA. Crazy talk. [01:22] halfhalo: time to make our own! [01:22] SubStack: ChrisPartridge: you can always just browserify({ require : [ 'dnode', 'dnode-yourmiddlewarething' ] }) in the meanwhile [01:23] MarkMenard has joined the channel [01:23] tobias has joined the channel [01:23] ditesh|cassini has joined the channel [01:23] ChrisPartridge: SubStack: Yeah, but that sends the entire dnode-yourmiddlewarething to the client - the questions is, can i just send dnode-yourmiddlewarething.someExport ? [01:24] ChrisPartridge: or am I not making any sense? [01:24] SubStack: ChrisPartridge: you can have browser-specific code for packages in browserify, just set the browserify field in the package.json [01:24] SubStack: sounds like that's what you want? [01:24] SubStack: that's what dnode does so you can require('dnode') browser-side [01:24] ChrisPartridge: SubStack: haha, that easy huh... [01:24] ChrisPartridge: awesome [01:25] SubStack: yeah check out the dnode package.json for an example [01:25] nubusaurelius has joined the channel [01:25] SubStack: yay more middleware codes for dnode! [01:25] ChrisPartridge: dnode-smoothiecharts coming soon ;-) [01:25] SubStack: sweet [01:26] SubStack: people have been some highly excellent add-ons for my modules lately, I like this [01:26] ChrisPartridge: SubStack; I would have done it sooner, but I never realised dnode was bidirectional [01:26] ChrisPartridge: makes things so much easier [01:27] SubStack: bidirectional and symmetric and everything! [01:27] SubStack: I got the idea for drb [01:27] SubStack: *from [01:27] abraxas has joined the channel [01:27] sorens3n: that reminds me, i still need to release the latest dnode add-on i've made for backbone :( [01:27] SubStack: except drb is synchronous and tries to serialize using yaml or some bullshit [01:27] SubStack: but otherwise is a great idea [01:27] Aria: True that. Ruby marshal, actually. [01:27] SubStack: oh that's the thing [01:28] Aria: And it makes sense if you're not gonna go async [01:28] Aria: But async kicks its ass. [01:28] SubStack: it super sucks if your server is blocking while other requests are coming inbound [01:28] ChrisPartridge: ew yaml [01:28] SubStack: have to build your own threadpool [01:28] SubStack: which is super lame [01:29] Aria: Yeah. But that's just ruby's weaksauce threading and old standard library. [01:29] wafflesburger: is backbone.js as sexy as it looks [01:29] nadirvardar has joined the channel [01:29] mscdex: why is it Buffer is missing read/write float and buffer methods? [01:29] mscdex: :S [01:30] sorens3n: waffles; yes [01:30] mscdex: er s/buffer/double/ [01:30] sorens3n: imho anyway [01:31] sorens3n: brings some order and control to the GUI in a big way [01:31] sorens3n: as just one use case [01:33] neoesque has joined the channel [01:34] wafflesburger: do you think it's useful outside of single page webapps sorens3n; ? [01:35] sorens3n: definately, i'm always re-using elements though [01:36] sorens3n: for me its kept me sane, being able to organize all the jquery code on a page to some defineable view/model [01:37] danfo_ has joined the channel [01:37] sorens3n: but, it all depends what your doing [01:37] sorens3n: i'm probably not the best to give it the props it deserves [01:37] wafflesburger: alrighty [01:38] wafflesburger: just wondering if it's worth learning [01:38] sorens3n: i would say definately so [01:38] ChrisPartridge: SubStack: in my module i'm browserifying, if I require('dnode'), i then only need to tell browserify to get my module right? (and it will recursively include dnode?) [01:38] wafflesburger: not sure if it's a solution to something that's not really a problem, know what i mean? [01:38] sorens3n: yep i know what you mean [01:38] sorens3n: do you have a possible use case in mind? [01:39] mtsl has joined the channel [01:39] shimondoodkin: how to use a not installed npm? [01:39] wafflesburger: nothing specific in mind [01:39] wafflesburger: just pondering [01:39] demastrie has joined the channel [01:39] tmpvar: wafflesburger, i hear ya [01:39] hij1nx has joined the channel [01:40] tmpvar: yo hij1nx [01:40] SubStack: ChrisPartridge: you can list dnode as a dependency, sure [01:41] SubStack: in your browserified package.json [01:41] seivan has joined the channel [01:41] sorens3n: backbone is jquery on steroids, if you find yourself doing a lot of jquery then it is probably worth taking a look at [01:42] k1ttty has joined the channel [01:44] McMAGIC--Copy has joined the channel [01:44] admc has joined the channel [01:45] tmpvar: sorens3n, not quite sure about that [01:45] tmpvar: jquery has no notion of MVC [01:45] tmpvar: or structure for that matter (heh) [01:45] sorens3n: thus the steroids [01:46] sorens3n: it might be a bit of a bad analogy [01:47] mjr__: Maybe just if you like steroids, then check out backbone. [01:47] ryah: https://gist.github.com/967780 [01:47] ryah: do people like how this looks? [01:47] ryah: thinking about changing liboio to libi0 [01:47] ryah: oio is too hard to pronounce [01:48] softdrink has joined the channel [01:48] ryah: "eye-zero" sounds awesome too [01:48] chrislorenz has joined the channel [01:49] bwinton has joined the channel [01:49] dmojoryder has joined the channel [01:49] Aria: I like that. A lot. [01:49] jhurliman: so this is the abstraction api on top of linux sockets and windows IOCP? [01:49] mjr__: It looks like it should be pronounced "eye oh" [01:50] mjr__: like you are trying to be clever and putting a 0 instead of an o [01:50] ryah: jhurliman: yeah [01:50] pedrobelo has joined the channel [01:50] ryah: mjr__: that's the little joke [01:50] jdp has joined the channel [01:50] softdrink: Apparently jsfiddle works on the iPad :) [01:50] softdrink: Cloud9 not so much [01:52] jhurliman: ryah, how do i0_ref() and i0_unref() (event loop code) relate to asynchronous sockets? is there an internal event loop in libi0? [01:52] ryah: jhurliman: yes [01:53] softdrink: Call it O_o [01:55] aconbere has joined the channel [01:55] jhurliman: api looks good. it would be interesting to see a small proof of concept that has nothing to do with node.js built with libi0/liboio, like a basic netcat implementation [01:56] jwl: is it better to serve files using CDN or node.js? [01:57] SubStack: jwl: depends on what sort of files you need to serve [01:57] Swimming_bird has joined the channel [01:58] zentoooo has joined the channel [01:58] ryah: i think we're going with libwu now [01:58] pedrobelo has joined the channel [01:58] tmpvar: ? [01:58] tmpvar: lib wut up [02:00] AddZero has joined the channel [02:00] ryah: windows / unix [02:00] tshpaper has joined the channel [02:00] jhurliman: lib windows / unix socket server [02:00] necromancer has joined the channel [02:00] ryah: also hat tip to a certain nerdy hip-hop group [02:02] softdrink: One that ain't nothin to f*ck wit? [02:02] SubStack: hip hop you say? [02:02] jwl: SubStack: so what files are good for CDN and node.js? [02:02] SubStack: jwl: well with stuff like browserify you can put files like jquery all up on npm and serve them up [02:03] SubStack: disclaimer I wrote browserify [02:03] softdrink: Webdev via iPad and ssh is difficult. [02:03] darshan-mobile has joined the channel [02:04] softdrink: Just sayin [02:05] superphly has joined the channel [02:05] superphly: Hey guys, not sure if this is the right channel to be asking this question, but I'm having some issues with an application written in node.js I believe [02:05] softdrink: I'm sure it would be ok with a real keyboard though [02:06] ryah: superphly: ask away [02:06] superphly: I'm running TileMill and just got done compiling it and what not... I run the tilemill.js and the server starts and waits for a connection... all is good at that point [02:06] superphly: once I connect from the browser it loads the interface then loses connection because the server crashes with this error: [02:07] superphly: fs:282 [02:07] superphly: binding.mkdir(path, mode, callback || noop); [02:07] superphly: not sure if that's a binding for node.js, which is why i'm a bit confused as to where i'm supposed to be asking [02:09] jwl: SubStack: what is the main difference between browserify and now.js? [02:09] ryah: superphly: fs is a node module [02:09] ji0n has joined the channel [02:10] superphly: what's the best way to go about getting that installed, it should have come with the pull i'm guessing [02:10] ryah: superphly: hard to say... maybe you don't have permissions to mkdir?is that all it says? [02:10] SubStack: jwl: browserify is a browser-side require() thing [02:11] superphly: http://pastebin.com/X0UWTf6s [02:11] jwl: it sends the js to the browser [02:11] SubStack: now.js is an rpc module, completely different [02:11] jwl: you cant run the code in the server right? [02:11] jwl: okay [02:11] SubStack: browserify bundles up your source into a single file so you can require() stuff like you can do in plain-old node.js [02:12] SubStack: which is actually a useful thing to do just not in the ways you might expect [02:12] superphly: ryah: http://pastebin.com/X0UWTf6s [02:12] sjbreen: browserify == node bundler?? [02:12] sjbreen: like the ruby bundler [02:12] SubStack: yes [02:13] sjbreen: cool, I do understand it [02:13] darshanshankar has joined the channel [02:15] AddZero1 has joined the channel [02:15] kmiyashiro has joined the channel [02:17] maximosis has joined the channel [02:18] guybrush: jwl: just to give you other options too - there is also https://github.com/ender-js/Ender and https://github.com/visionmedia/express-expose [02:19] jesusabdullah: I would be interested in using ender in concert with browserify [02:19] guybrush: besides https://github.com/substack/node-browserify [02:19] jesusabdullah: such that you can use browserify ender's submodules [02:19] guybrush: right thats a good idea actually [02:20] guybrush: but maybe it would be better to provide browserify with a cli [02:20] jesusabdullah: hence https://github.com/ender-js/Ender/issues/27 [02:20] jesusabdullah: Either one! [02:20] jesusabdullah: Actually, both [02:21] davidsklar has joined the channel [02:21] jwl: guybrush: ender looks interesting [02:21] jwl: but it would be great with some docs [02:21] jwl: how do you use it [02:22] guybrush: it is very simple , some docs are here: http://ender.no.de/ [02:22] jesusabdullah: Yeah, my "issue" had been solved but afaik what I asked about is still undocumented [02:22] jesusabdullah: The basics are g2g though [02:24] JianMeng has joined the channel [02:25] boaz has joined the channel [02:25] jtsnow has joined the channel [02:27] jwl: i dont really get it [02:28] demastrie has left the channel [02:29] fr0stbyte has joined the channel [02:29] broofa has joined the channel [02:30] jesusabdullah: It just bundles up libraries for you [02:30] jesusabdullah: You could do all that yourself [02:30] jesusabdullah: but it's a tool for that, basically [02:30] jesusabdullah: with "blessed" libs and a unifying api [02:30] kmiyashiro: I wish people wouldn't use $ [02:31] kmiyashiro: can you specify a different namespace? [02:31] jesusabdullah: the thing is that they're small libraries that only do one thing, so you can bundle, basically, a customized version of this one library for every project, depending on what you need and don't need [02:31] jesusabdullah: Cool idea [02:31] jesusabdullah: kmiyashiro: I think so? i haven't actually used it, just read about it [02:31] SubStack: kmiyashiro: you can with browserify! [02:31] SubStack: var $ = require('jquery-browserify') [02:32] SubStack: or var moo or whatevs [02:32] jesusabdullah: for example [02:32] kmiyashiro: I thought ender was a frontend thing [02:32] SubStack: it's pretty boss [02:32] jesusabdullah: It is [02:32] strmpnk has joined the channel [02:32] kmiyashiro: what is browserify? [02:32] kmiyashiro: who is it and what does he do? [02:32] jesusabdullah: browserify is a thing that bundles npm repos for client-side [02:33] jesusabdullah: includes some basic events and a require() [02:33] kmiyashiro: bwhaat? [02:33] SubStack: not just npm repos but also directories [02:33] SubStack: so you can write your browser code just like you write node code [02:33] SuperPhly: having some errors with node.js and the fs module. It's reporting that binding.mkdir(path, mode, callback || noop); has a bad argument [02:33] jesusabdullah: kmiyashiro: https://github.com/substack/node-browserify [02:34] jesusabdullah: kmiyashiro: also, http://ender.no.de [02:34] SuperPhly: Anyone here care to help me identify why this might be happening? http://pastebin.com/X0UWTf6s [02:34] jesusabdullah: I actually think it'd be nice to combine ender.no.de with browserify [02:34] SuperPhly: do i need to upgrade a library or two on my system to get that object.mkdir call to work? [02:35] kmiyashiro: why would you use stuff from npm in the browser? [02:35] jesusabdullah: SuperPhly: Looks like one of your args isn't what you think it is [02:35] jesusabdullah: kmiyashiro: some of it is relatively general-purpose, and it's nice to have ssjs and csjs act similarly [02:35] SubStack: kmiyashiro: npm is a nice way to distribute modules [02:35] piscisaureus has joined the channel [02:35] SubStack: there are nice flow control libs on there too [02:35] SubStack: and data transformation libs that you might want to use browser-side [02:35] amerine has joined the channel [02:36] kmiyashiro: such as? [02:36] SubStack: or template engines and fun stuff like that [02:36] SubStack: such as traverse, hashish, jade, seq, step, async [02:36] mike5w3c has joined the channel [02:36] SubStack: like half of my modules actually [02:36] SubStack: plus stuff like jquery-browserify [02:39] jesusabdullah: SubStack: Still need someone to run browserified jsdom, in jsdom from node [02:39] SubStack: oh? [02:40] kmiyashiro: so many libraries [02:41] jacter1 has joined the channel [02:41] wafflesburger: so many dependencies :) [02:42] ryah has joined the channel [02:43] Dreamer3 has joined the channel [02:44] boaz has joined the channel [02:44] kmiyashiro: wonder how qwery and sizzle differ [02:44] quackslike: there is a template library called hashish? [02:45] quackslike: if i was allowed in the US i reckon i'd head to the place where you can get the medical gunja.. [02:45] quackslike: where ever that is.. [02:47] yhahn has joined the channel [02:47] ericzz_ has joined the channel [02:47] steveklabnik has joined the channel [02:48] vikstrous has joined the channel [02:48] steveklabnik: i just upgraded node and npm, because i installed them a long time ago. now i tried to npm install coffeescript, and it says it's not in the registry. npm update doesnt do anything. thoughts? [02:48] steveklabnik: how'm I noobing out? [02:48] kmiyashiro: npm 0.x to 1.0? [02:49] steveklabnik: yeah [02:49] kmiyashiro: what does npm -v say [02:49] steveklabnik: 1.0.6 [02:50] kmiyashiro: hm [02:50] kmiyashiro: can't find coffeescript module [02:50] kmiyashiro: npm install -g coffee-script [02:50] steveklabnik: npm ERR! 404 'coffeescript' is not in the npm registry. [02:51] steveklabnik: ... wow [02:51] steveklabnik: i swear i copy and pasted it. i must not have. [02:51] bartt has joined the channel [02:51] steveklabnik: it's still complaining though [02:51] steveklabnik: npm ERR! error installing coffee-script@1.1.1 Error: Refusing to delete non-npm file (override with --force) [02:51] steveklabnik: i guess i should just --force it [02:51] steveklabnik: it's probably from the old one. [02:51] kmiyashiro: yeah, if you installed it with older npm might be [02:51] steveklabnik: when i upgraded npm it informed me it'd 'forcibly remove' my old stuff [02:52] steveklabnik: awesome. [02:52] steveklabnik: thanks. [02:52] kmiyashiro: np [02:52] steveklabnik: it never fails. as soon as you ask a question, you find out you're doing something stupid. :) [02:55] ditesh|cassini has joined the channel [02:56] wafflesburger: i just yelled come at me bro at this gnat [02:56] wafflesburger: then realized what i did [03:00] tedsuo has joined the channel [03:01] gqlewis has joined the channel [03:03] pizthewiz has joined the channel [03:03] e6nian has joined the channel [03:04] MikhX has joined the channel [03:05] willwhite has joined the channel [03:05] MikhX has left the channel [03:07] steveklabnik has left the channel [03:07] stepheneb has joined the channel [03:08] zeade has joined the channel [03:09] nmd6168 has joined the channel [03:09] unconed has joined the channel [03:12] nerdfunk has joined the channel [03:14] gavin_huang has joined the channel [03:14] dguttman has joined the channel [03:15] nerdfunk: so.. i made a little twist on the collaborative canvas hello-world-ism of socket io.. [03:15] jesusabdullah: Show us nerdfunk ! [03:15] nerdfunk: http://socketstarz.nodester.com/ be gentle :P it draws between all people currently there so you get weird webs of lines. only tried it with 2 or 3 people so far haha [03:16] nerdfunk: alas, only working on chrome too [03:17] nerdfunk_ has joined the channel [03:17] unconed: nerdfunk: or safari [03:17] unconed: nerdfunk: or safari [03:17] unconed: meh :P [03:17] nerdfunk has joined the channel [03:18] unconed: nerdfunk: would be perhaps better if it was more like a collaborative kaleidoscope instead of collaborative scribble [03:18] nerdfunk: gah. shaky connection all up in this place. [03:18] unconed: (and as i just failed to tell you twice, it also works in safari ;) [03:18] nerdfunk: oh cool [03:18] nerdfunk: haha [03:18] rook2pawn has joined the channel [03:19] wafflesburger has left the channel [03:19] nerdfunk: kalidescope.. interesting. [03:20] unconed: hah [03:20] unconed: now that IS cool [03:20] unconed: :) [03:20] nerdfunk: hehe [03:20] unconed: it works better if everyone controls one point of a polygon [03:20] nerdfunk: once you get into the dance its cool [03:20] unconed: like it kind of does when everyone moves at the same time [03:21] unconed has joined the channel [03:21] unconed: great little toy [03:21] pcardune has joined the channel [03:21] darshanshankar: cool stuff nerdfunk [03:21] unconed: nerdfunk: http://acko.net/dev/farbtastic <- plug my thing in :P [03:22] nerdfunk: lol [03:22] nerdfunk: i made one too a while back .. http://souseiji.net/RGB [03:22] nerdfunk: (works with iOS too) [03:22] unconed: ah neat [03:23] nerdfunk: for http://souseiji.net/pixelfinger [03:24] softdrink has joined the channel [03:24] mscdex: "plug my thing in" ? that's what she said! [03:24] mscdex: or he said [03:24] nerdfunk: jquery fan ? ;) [03:24] nerdfunk: give me the $ and i'll give you a plugin [03:25] unconed: i was sitting across this thai girl across the bus... she was really hot and looking straight at me,.. the whole time, I thought "please don't get an erection, please don't get an erection"..... but then she did. [03:25] nerdfunk: gah [03:26] nerdfunk: I think i need to broadcast where everyone else is.. [03:26] rznt has joined the channel [03:26] nerdfunk: it might make it easier to "join in" [03:26] unconed: it would be cool if it would dynamically make formations out of people who are close [03:26] unconed: :) [03:26] mscdex: unconed: wait, she got an erection? [03:27] rznt: Hey, is anyone here? I'm having trouble with node child process executing a file read command [03:27] unconed: mscdef.... :P [03:27] uclinux has joined the channel [03:27] unconed: err ex* [03:27] mscdex: rznt: gist the code! [03:28] nerdfunk: unconed: that is a cool idea. if it drew spontaneously when people were close.. [03:28] unconed: nerdfunk: there was a js1k demo that sort of did this with random poijnts [03:28] unconed: points* [03:28] nerdfunk: hmm [03:28] nerdfunk: you can see each other / their colors.. then once close it simply filled in the line. [03:28] unconed: god try to find anything in here: http://js1k.com/2010-first/demos [03:29] unconed: http://js1k.com/2010-first/demo/114 [03:29] unconed: here we go [03:29] rznt: http://pastebin.com/SxZA06zS [03:30] nerdfunk: if distance > threshold, draw line . . . neat. [03:30] nerdfunk: http://jsdo.it/Evan/apyQ [03:31] nerdfunk: similar to this id imagine [03:31] unconed: yeah totally [03:32] nerdfunk: cool. i'll get on it. I kind of like the scribbly way too but i'll make a child version ;) [03:35] uclinux: in about a week, I start work on a pretty major SAP ERP project. Hopefully he will let me write some realtime monitoring tools in node [03:35] uclinux: then we can have some SAP tools [03:35] Tidwell has joined the channel [03:35] uclinux: he = the boss [03:36] jesusabdullah: SAP? [03:36] jesusabdullah: Isn't that the Spanish dubbing thing? [03:36] ryan0x2: lol [03:36] uclinux: nope [03:36] kmiyashiro has joined the channel [03:36] uclinux: ABAP [03:37] jesusabdullah: http://duckduckgo.com/Second_audio_program this thing is what I was thinking of [03:37] nerdfunk: in socket io is there an easy way to return the id that the server assigns? [03:37] uclinux: hahaha ... i wish [03:38] nerdfunk: ... function (client){ var id = client.id ? [03:39] nerdfunk: ah.. derp.. client.sessionID [03:40] uclinux: jesusabdullah: SAP that huge german enterprise company... were rolling over an old system to one of their products [03:41] Viriix has joined the channel [03:42] aconbere has joined the channel [03:44] _1marc has joined the channel [03:46] tedsuo has joined the channel [03:46] towski has joined the channel [03:46] CoinOpeBoy has joined the channel [03:47] rchavik has joined the channel [03:49] criswell has joined the channel [03:49] mertonium has joined the channel [03:50] smtlaissezfaire has joined the channel [03:52] jtsnow has joined the channel [03:52] smtlaissezfaire has joined the channel [03:54] DTrejo has joined the channel [03:54] DTrejo: hey everyone! [03:54] indutny has joined the channel [03:54] DTrejo: I want to start some kind of weekly js hack night in the bay, (on a different day than the workup of course) [03:55] DTrejo: pm me if you have any thoughts on that. I'm thinking i'd aim for east bay since that's where I'll be living [03:55] DTrejo: SubStack: ^ [03:56] dnolen has joined the channel [03:56] SubStack: sounds like fun! [03:56] SubStack: DTrejo: when do you get back down by the bay? [03:56] DTrejo: I think it might be possible to land some location at UCB, but if there's anything nearer to bart that might be a better option [03:57] DTrejo: SubStack: I get back the night of the 17th, so the 18th pretty much [03:57] DTrejo: of this month [03:57] DTrejo: and I start work on the 23rd, in sf [03:57] SubStack: I have a big empty upstairs [03:57] SubStack: right near macarthur bart [03:58] SubStack: not much furnature though [03:58] SubStack: *furniture [03:58] DTrejo: I've been doing hack fridays at my school and have gone well [03:58] DTrejo: but I'd like them not to be on friday during the summer :) [03:58] DTrejo: maybe wednesday or something [03:58] devrim has joined the channel [03:58] SubStack: I'm down for any day except monday [03:59] DTrejo: as for location, that could be good, need to see what's going on with the UCB location / attracting tons of students in addition to older people [04:00] DTrejo: SubStack: do you go to the workup? [04:00] devrim has joined the channel [04:01] KellyM has joined the channel [04:01] devrim1 has joined the channel [04:01] KellyM: what's the workup? [04:02] mike5w3c has joined the channel [04:02] DTrejo: thursday evenings ryah chills and works on node and other people hang out with him, is my impression [04:03] DTrejo: KellyM: http://nodeworkup06.eventbrite.com/ [04:04] beawesomeinstead has joined the channel [04:04] SubStack: DTrejo: workup? [04:04] Ezku\ has joined the channel [04:04] DTrejo: SubStack: http://nodeworkup06.eventbrite.com/ [04:04] SubStack: oh haven't been to one of those yet [04:05] DTrejo: ! [04:05] DTrejo: I'm surprised [04:05] sridatta has joined the channel [04:05] DTrejo: although you are in the east bay, so understandable [04:06] dmojoryder has joined the channel [04:07] DTrejo: so happy about this commute http://www.google.com/maps?q=433+California+Street,+Suite+900+San+Francisco,+CA+94104 [04:07] fr0stbyte has joined the channel [04:08] KellyM has joined the channel [04:09] darshanshankar: DTrejo: is that the cloudera office? [04:10] SubStack: DTrejo: just down the street from joyent, awesome [04:10] DTrejo: darshanshankar: yep, their new one :) [04:10] aaronblohowiak has joined the channel [04:10] aaronblohowiak: grrrr, izs is never around [04:10] aaronblohowiak: s/never around/never around when i am [04:10] aaronblohowiak: =) [04:11] SubStack: my waking hours wrap around every few weeks so I get to see everybody [04:11] DTrejo: heh [04:12] Doosje has joined the channel [04:12] mischief has joined the channel [04:12] ditesh|cassini has joined the channel [04:13] 5EXACM270 has joined the channel [04:14] sechrist has joined the channel [04:14] dcelix has joined the channel [04:14] xeodox: I have 2 servers that run node.js. Both are running Express and is just basic website. How can Server-A call a function on Server-B? [04:15] DTrejo: gnight everyone! SubStack, will let you know what's going on at the start of next week. it'd be nice to make this a regular event, in addition to the non-coding meetups that happen 9 times a week [04:15] SubStack: groovy! [04:16] slloyd_ has joined the channel [04:18] mr-black has joined the channel [04:18] unconed has joined the channel [04:18] eyez has joined the channel [04:19] abraxas: Any flow-js users around? [04:19] abraxas: I'm wondering if there's any way to abort execution of a flow, without throwing an exception. [04:19] eyez: uh [04:19] eyez: hah [04:19] eyez: the author's one of my closest friends, i'll relay your message [04:19] devrim has joined the channel [04:19] abraxas: Thanks :) [04:20] abraxas: I'm just checking it out for the first time.... [04:20] levi501d has joined the channel [04:21] k1ttty has joined the channel [04:21] eyez: i got a "heh, me too. i can't actually remember" [04:21] eyez: i dont think he's using flow himself anymore [04:21] fson has joined the channel [04:21] eyez: but he asks what you want to have happen [04:22] abraxas: I just want to abort the flow. [04:23] abraxas: Exceptions are a bit aggressive, or I'd have to try/catch my flow every time... Not a huge problem, but I'd like to know if there are alternatives. [04:23] abraxas: If he doesn't use flow anymore, may I ask why? [04:23] eyez: "he can always just keep track of his first callback and then call that. there's no reason that you must continue execution of the flow" [04:24] superjudge has joined the channel [04:24] eyez: moved on to streamline [04:25] levi501d has joined the channel [04:26] Emmanuel__ has joined the channel [04:26] eyez: and the other day, he called asyncjs is more or less a kitchen sink version of what flow does [04:27] aconbere has joined the channel [04:27] abraxas: Okay, I'm looking into it, thanks. [04:27] springmeyer has joined the channel [04:27] eyez: but he heavily recommends streamline as an alternative to async [04:28] abraxas: Thanks [04:28] eyez: er to flow i mean [04:29] deedubs has joined the channel [04:29] eyez: he says if you have any questions he'll totally answer emails, just the email on his github [04:29] pizthewiz has joined the channel [04:29] samsonjs has joined the channel [04:30] towski: anyone know how to run the jsdom tests [04:31] SubStack: abraxas: I wrote one called seq with chainable error handling [04:31] zackattack has joined the channel [04:31] SubStack: so you can .catch() exceptions [04:31] eyez: streamline also just magically makes try/catch work [04:32] abraxas: eyez: thanks! mrjjwright or willconant? [04:32] SubStack: .catch() != try/catch [04:32] eyez: abraxas: willconant [04:32] abraxas: SubStack: I'll have a look, thanks [04:32] SubStack: doesn't streamline do source transformation? [04:32] eyez: yeah i don't like it as a catch-all solution, but its way nice for simple flows [04:33] SubStack: that makes me uneasy [04:33] eyez: it basically rewrites non-async style code into async-style [04:33] eyez: from what i've seen its solid [04:34] SubStack: and then it monkey punches require() it seems, also makes me uneasy [04:34] levi501d has joined the channel [04:35] eyez: yeah i haven't used it for anything serious, but he's been using it in production for a while [04:36] eyez: my buddy who wrote flow and then switched to it i mean [04:36] abraxas: I'm not a big fan of source transformation.... [04:36] tedsuo has joined the channel [04:36] mikeal has joined the channel [04:38] eyez: yeah, it makes me feel a bit unsafe even though it makes some of the more monstrous nested calls a lot more bearable, but [04:40] eyez: i've been playing more with asyncjs lately, i feel like i get more control and still save on the headaches that way without jumping through any magic hoops [04:41] vipaca has joined the channel [04:41] vipaca has joined the channel [04:41] indutny has joined the channel [04:44] xeodox_ has joined the channel [04:44] wilmoore has joined the channel [04:45] KellyM has joined the channel [04:47] blueadept: anyone know why this code broke with the latest code revision? http://pastie.org/private/1jba0gg0d9d3m6ylcyrihq [04:47] blueadept: how have the static methods changed? [04:47] leek has joined the channel [04:48] ChrisPartridge: blueadept: What version was that written on? [04:49] blueadept: must have been node 4.6 [04:49] blueadept: with mongoose, using express [04:50] blueadept: must have not been far behind, this worked about 6 weeks ago, only recently when i deicded to jump ahead did it break [04:50] blueadept: i guess its mongoose that changed [04:52] aconbere: anyone using node-fake? [04:53] abraxas: eyez: async looks nice [04:53] ron_frown has joined the channel [04:56] pcapestany has joined the channel [04:56] pcapestany: hallo [04:56] tonymilne: blueadept: i apply my static methods on my schema like this: [04:56] tonymilne: schema.static({ [04:56] tonymilne: example: function() { }, [04:56] tonymilne: }); [04:57] tonymilne: and they work ok. [04:57] tonymilne: (So, i create my schema first, describing the collection, then add statics / methods to it, then mongoose.model('example', schema) to create it) [04:58] blueadept: right, yeah i'm doing the same thing [04:58] tonymilne: yours might be slightly different, because you are adding to User [04:58] jmoyers has joined the channel [04:59] tonymilne: vs, im adding to the schema before User is created. (i think) [04:59] blueadept: oh i see [04:59] blueadept: let me try that [05:00] tonymilne: So if you're inline object your schema, e.g. mongoose.model('User', { ... }) [05:00] tonymilne: Try splitting that out to a variable schema first. [05:00] blueadept: yeah it worked now [05:00] blueadept: the order was messing it up [05:00] tonymilne: Awesome. [05:00] SubStack: gah npm why you gotta recompile my devDependencies like that [05:00] blueadept: thanks! [05:01] SubStack: oh it's because I don't have a global expresso >_< [05:01] SubStack: annoying [05:01] SubStack: but correct [05:02] ryah: SubStack: hm [05:02] deedubs: mongoose question. Is it possible to $inc a field on an embedded document? I can't seem to get it to... [05:02] ryah: SubStack: put all your node projects in a folder: $HOME/node-projects [05:03] ryah: then make $HOME/node-projects && npm install expresso [05:03] ryah: er [05:03] ryah: cd [05:03] ryah: cd $HOME/node-projects && npm install expresso [05:03] ryah: put all your projects in that folder [05:03] ryah: and it should work [05:03] ryah: you know - the require() keeps walking up [05:04] SubStack: oh neat! [05:05] sivy has joined the channel [05:06] SubStack: all my node stuff is in ~/projects so that works well [05:07] hcvst has joined the channel [05:08] SubStack: ryah: does that work in v0.5.0-pre? [05:08] SubStack: cannot find module 'expresso' [05:10] context: is it linked to the current project [05:10] context: ir ~/.node_modules [05:10] pcapestany: ryan: just wanted to say, that tweet you had bout Salem song/vid == badass. so good. never heard of em till now [05:14] alek_br_ has joined the channel [05:14] tlrobinson: does node support passing 0 to listen to get a random free high port? if so how do you find out what the port is? [05:14] tlrobinson: 3 [05:17] unconed has joined the channel [05:18] zakabird has joined the channel [05:18] Skola has joined the channel [05:19] ryah has joined the channel [05:21] SubStack: oh [05:21] SubStack: expresso doesn't have a main [05:22] SubStack: this confuses npm install . it seems [05:22] SubStack: silly thing [05:24] sechrist has joined the channel [05:25] Adman65 has joined the channel [05:26] Adman65 has joined the channel [05:27] temp01 has joined the channel [05:29] rashed has joined the channel [05:30] aaronblohowiak: hmm. node-irc is being weird! [05:32] micheil has joined the channel [05:33] asabil has joined the channel [05:34] jacter has joined the channel [05:34] coreb has joined the channel [05:35] sreeix has joined the channel [05:35] quackslike: anyone know where i can find something simple to do printf type output formatting - i want to align my output. [05:36] ChrisPartridge: quackslike: there is a sprintf package in npm [05:36] quackslike: ChrisPartridge: cheers [05:37] ryankirkman has joined the channel [05:38] Marak has joined the channel [05:39] admc has joined the channel [05:39] quackslike: i'd like to see npm display date last modified by author and github repo.. does npm do that if the authors provide that info? [05:40] vicapow has joined the channel [05:40] aaronblohowiak: quackslike: search.npmjs.org does [05:41] vicapow: hello everyone. i was wondering if I could get some feed back on my node js site. its at http://clickb.in [05:41] vicapow: what do you think? [05:42] RusAlex has joined the channel [05:42] quackslike: aaronblohowiak: thanks. [05:42] sivy has joined the channel [05:43] mertonium has joined the channel [05:48] beawesomeinstead has joined the channel [05:48] beawesomeinstead has joined the channel [05:49] xeodox: Usually how much ram does Node.js take up? [05:51] SubStack: xeodox: that is highly dependent on what you're doing, just like any other language [05:51] SubStack: language/framework/interpreter [05:51] xeodox: any ballpark? [05:52] xeodox: for just a basic website [05:52] xeodox: like a website for a restaurant [05:52] nitinb has joined the channel [05:52] bad_at_math has joined the channel [05:53] puffpio has joined the channel [05:57] brownies has joined the channel [05:58] newy_ has joined the channel [05:59] V1 has joined the channel [06:00] Xano has joined the channel [06:01] hcvst has joined the channel [06:03] FireFly|n900 has joined the channel [06:03] Nican_ has joined the channel [06:05] jzmudzinski has joined the channel [06:06] jzmudzinski has left the channel [06:07] mscdex: any windows programmers alive here? :-D [06:07] indutny has joined the channel [06:08] jesusabdullah: Nope! [06:08] jesusabdullah: Not me, anyway [06:08] jesusabdullah: I'm pretty lost in windows [06:08] jesusabdullah: I have no idea how to program in windows [06:08] McMAGIC--Copy has joined the channel [06:08] tonymilne: xeodox: are you trying to decide on a vps size? [06:08] xeodox: EC2, yes [06:08] tonymilne: (hmm, not experienced with ec2, but pretty minimal should be fine from my experience) [06:09] xeodox: I see [06:09] _numbers has joined the channel [06:09] _numbers has left the channel [06:09] DrAwesomeClaws has joined the channel [06:10] sorens3n: i program on windows [06:10] sorens3n: dont tell anyone... [06:11] ChrisPartridge: visual studio for the win [06:11] sorens3n: :D [06:11] ChrisPartridge: ACTION coughs [06:11] Viriix has left the channel [06:12] sorens3n: ah dam, just found express-uglify, doesnt look like its been published to npm yet though [06:13] context: anyone here use jquery mobile? having an issue adding dynamic elements to the dom [06:14] unconed has joined the channel [06:15] Dreamer3 has joined the channel [06:16] context: nm got that working [06:16] quackslike has joined the channel [06:18] quackslike: xeodox: how big is the restaurant? [06:19] xeodox: 3 employees [06:19] quackslike: oh.. that shouldn't use much ram then ;) [06:19] xeodox: hehe [06:19] quackslike: :D [06:20] levi501d has joined the channel [06:20] saschagehlich has joined the channel [06:23] zackattack: hi [06:23] mscdex: well, i'm trying convert a FILETIME struct to a unix timestamp in js [06:23] zackattack: I can't find "forever" on my system [06:24] zackattack: It's not in my PATH [06:24] mscdex: and i can't get it right for the life of me [06:24] zackattack: and it's not in /usr/local/bin/ [06:24] zackattack: npm list shows ├─┬ forever@0.5.1 [06:24] zackattack: -bash: forever: command not found [06:24] tedsuo has joined the channel [06:26] yhahn has left the channel [06:27] abraxas: eyez: just refactored a piece of code by using asyncjs, which basically reduced code size in half. [06:27] abraxas: eyez: i'm liking this :) [06:27] sleeplessinc has joined the channel [06:28] Doosje has joined the channel [06:28] zackattack: ryah: ping [06:28] indutny has joined the channel [06:28] ryah: yo [06:29] isaqual has joined the channel [06:29] jacter1 has joined the channel [06:29] ryah: build system pain [06:29] ryah: is slowly killing me [06:31] viz has joined the channel [06:31] xsyn has joined the channel [06:32] xsyn: morning sinners [06:32] SubStack: moanin' [06:34] mscdex: the whistles go woooo [06:34] nexxy: xsyn, not going to greet the rest of us? [06:34] quackslike: zackattack: it will prob be in the node_modules dir [06:35] McMAGIC--Copy has joined the channel [06:35] xsyn: nexxy: :) [06:35] zackattack: quackslike: where is that? [06:35] nexxy: has anyone seen the rant on basho's blog? [06:36] nexxy: I was hoping to start a riak vs mongo flame war [06:36] quackslike: zackattack: sorry, igore that comment, i was getting confused [06:36] asabil has joined the channel [06:36] quackslike: zackattack: hang on a tick [06:36] nexxy: (and by flame war I mean civil discussion) [06:37] devrim has joined the channel [06:37] kryptom has joined the channel [06:38] quackslike: zackattack: i think it depends how you install node [06:38] zackattack: okay [06:38] quackslike: i instaalled node in ~/local [06:38] quackslike: and when i installed npm it put node_modules in ~/ [06:39] groom has joined the channel [06:40] muhqu has joined the channel [06:40] quackslike: zackattack: i only have one machine with npm 1.* on it so, its a bit new to me. [06:43] zackattack: huh [06:44] zackattack: /usr/local/bin is what `which node` tells me [06:45] awenkhh has joined the channel [06:45] zackattack: ryah: any clue why my "forever" installation might be missing, even though npm says it's installed? [06:45] kawaz_air has joined the channel [06:46] ryah: zackattack: maybe its not in your PATH [06:47] `3rdEden has joined the channel [06:47] pdelgallego has joined the channel [06:47] zackattack: where might it be hiding? [06:47] zackattack: (in what directory?) [06:48] leek: uninstall it and re-install with -g [06:48] quackslike: find / -name forever [06:48] indexzero has joined the channel [06:48] zackattack: leek: what does -g do? [06:49] leek: zackattack: http://blog.nodejs.org/2011/05/01/npm-1-0-released/ [06:50] nexxy: ACTION spins leek, "aa tsi tsup ari dik ari dull an dik ari dill an dits tan dool" [06:50] stonebranch has joined the channel [06:50] zackattack: oh, weird. [06:50] leek: nexxy: ;) [06:50] Marak has joined the channel [06:50] leek: zackattack: imo - npm's that have binaries like forever should install with -g by default but oh well [06:51] Marak: yes [06:51] Marak: you need to npm install foo -g for CLI tools [06:51] `3rdEden: I hereby request a new field in the package.json, either location or installation, `global` or locaol [06:51] leek: ^^ [06:51] nexxy: I learned that the hard way with node-inspector [06:51] Marak: zackattack: you have issue with forever? [06:51] zackattack: it was hiding, out of my path.. [06:51] leek: it was kind of a silent change from 0.3->1.0 [06:51] Marak: zackattack: yeah man, -g fuuuuu [06:51] `3rdEden: npm local installations is a PAIN IN THE ASS for command line tools [06:51] leek: only realized if after reading the blog [06:52] leek: it* [06:52] mertonium has joined the channel [06:52] Marak: zackattack: leek open an issue with npm, ask isaacs to give us an option to force a global install from the npm package [06:52] context: Faye doesnt appear to work on my phone :( [06:52] `3rdEden: It completely killed out server deployment by removing forever globally >_< [06:52] context: time to try ipad [06:52] Marak: i asked him for it at nodeconf, he was iffy [06:52] fangel has joined the channel [06:52] Marak: give him a reason [06:52] Marak: please [06:52] nexxy: idk about force [06:52] nexxy: maybe default? ;3 [06:52] `3rdEden: commandline toooolls [06:52] Marak: so ill update the package.json in forever to force a global install [06:52] nexxy: a simple [Y/n] upon installation? [06:53] Marak: he said he'd add a warning [06:53] `3rdEden: or just global by default and -L for local ;D? [06:53] leek: problem is - i *rarely* want a local install of an npm [06:53] tonymilne: I dunno about all this, I reckon local installs are actually good! [06:53] nexxy: local should be default. [06:53] nexxy: end of discussion! [06:54] `3rdEden: fuuu :3 [06:54] tonymilne: I maintain several projects, and I like that some are able to continue using older versions, until i upgrade them. [06:54] xsyn: if you run npm with the -g flag [06:54] xsyn: do you need to sudo [06:54] SamuraiJack has joined the channel [06:54] nexxy: an option for CLI type packages to default (with a warning) to -g would be great though [06:55] Marak: nexxy: yeah, exactly [06:55] mikey_p: please [06:55] nexxy: sir [06:55] nexxy: may I have some moar? [06:55] xsyn: Moar: [noun] Small goat [06:55] tonymilne: moar!? [06:56] nexxy: moar waffles pl0x? [06:56] brownies has joined the channel [06:56] mikey_p: i need to get a way for our IRC bot to play audio [06:56] davidsklar has joined the channel [06:56] nexxy: SOUND /aux/aux.wav [06:57] nexxy: did it work?! [06:57] `3rdEden: naow, i blocked it ; [06:57] `3rdEden: ;D [06:57] nexxy: I miss those days [06:58] SubStack: sound? [06:58] nexxy: MSChat [06:58] nexxy: supported playing sounds via CTCP [06:58] mikey_p: ACTION shamefully admits our bot runs PHP [06:59] xsyn: hmm [06:59] xsyn: Failed at the mongodb@0.9.4-3 install script. [06:59] nexxy: but win98 had a famous flaw in that it would BSOD when you tried to access system devices [06:59] Squeese has joined the channel [06:59] nexxy: so playing a sound like /aux/aux.wave or /lpt1/lpt1.wav [06:59] xeodox: In Node.js, how do I get the "IP" of the current machine? [07:00] nexxy: xeodox, you should respect intellectual property. [07:00] JackeyChan has joined the channel [07:00] nexxy: leave it alone! [07:00] xeodox: I want to steal the IP, that's all. [07:00] xeodox: just the numbers [07:01] konobi: os [07:01] xeodox: konobi: os.hostname() gets me the hostname [07:01] xeodox: but I want the IP [07:01] konobi: interfaces [07:01] xeodox: huh? [07:01] ivanfi has joined the channel [07:02] konobi: oh... it's not in the docs [07:02] xeodox: oh... [07:02] xeodox: hehe [07:03] konobi: os.getNetworkInterfaces [07:04] xeodox: gee, thanks! [07:04] TomY_ has joined the channel [07:04] SamuraiJack has joined the channel [07:04] tedsuo has joined the channel [07:05] JackeyChan: who knows the jade syntax ? I want to post array to tpl and render each item. [07:06] JackeyChan: res.render('template', {users: array('id1', 'id2', 'id3')}); [07:06] ChrisPartridge: users: [] [07:07] JackeyChan: sorry. [07:08] mraleph has joined the channel [07:08] nexxy: yeah! how dare you, learning syntax and asking questions! [07:08] JackeyChan: https://github.com/visionmedia/jade. I did not read syntax [07:08] tonymilne: nexxy: Yeah... I've come to expect those sort of crazy stunts from jackey chan! [07:08] hcvst has joined the channel [07:09] Skola: I'm trying to get req.body data from a form POST (using express), but it keeps returning undefined. In my form I use
. In my routes I use app.post('/test', function (req, res) { console.log(req.body.stuff) }). [07:09] eee_mk_ has joined the channel [07:09] tonymilne: Skola: do you have app.use(express.bodyParser()); [07:09] Skola: yes [07:10] saschagehlich: anyone here using cluster? [07:10] tonymilne: Is it above / below your route stuff? [07:10] tonymilne: Do you post any variables? [07:10] Skola: above [07:11] Skola: though in app.configure I have app.use(app.router) above app.use(express.bodyParser()) [07:11] tonymilne: thats the problem [07:11] tonymilne: swap those lines. [07:11] Skola: alright will check hold on [07:11] tonymilne: saschagehlich: I used cluster, whats up? [07:12] Skola: you are my hero [07:12] saschagehlich: tonymilne: do I have to install "log"? o_O usually tj puts dependencies as submodules but here he failed [07:12] tonymilne: ;) Cool mate. [07:12] mAritz has joined the channel [07:12] Skola: note to self: order matters [07:13] tonymilne: This is what I do for my cluster. [07:13] tonymilne: http://pastie.org/1892056 [07:13] unconed has joined the channel [07:14] JackeyChan: hi, again. can I post my code for explain something ? [07:14] tonymilne: I just checked npm install cluster, [07:14] tonymilne: and it also installed log@1.1.1 [07:14] nexxy: wtf pastie says you're a time traveler, tonymilne [07:14] tonymilne: I know right, Aussies are super bad ass like that! [07:14] nexxy: Pasted [07:14] nexxy: 1 minute from now [07:15] saschagehlich: tonymilne: I don't install stuff via npm for production, always putting them in as submodules [07:15] nexxy: oh wait [07:15] nexxy: that makes me the time traveler! [07:15] saschagehlich: maybe I should start using npm more... [07:15] nexxy: saschagehlich, yus, you should [07:15] nexxy: does npm install and compile node.js yet? [07:16] pen has joined the channel [07:16] JackeyChan: I post it : [07:16] JackeyChan: res.render('index', { [07:16] JackeyChan: title: 'taxonomy', [07:16] JackeyChan: taxonomy: results [07:16] JackeyChan: }); [07:16] JackeyChan: and render: [07:16] JackeyChan: - for (var vocabulary in #{taxonomy}) [07:16] JackeyChan: li vocabulary[name] [07:16] JackeyChan: I don't know what's the wrong with there code, can some guys help me ??? [07:16] saschagehlich: okay, so is there a good way to handle dependencies in production? like creating a package.json, putting dependencies into it and install them via npm? [07:17] tonymilne: saschagehlich: I've written something that does that using npm. [07:17] tonymilne: I'm working to get it released. [07:17] tonymilne: i can postie it too, probs. [07:17] nexxy: isn't that the point of package.json? or am I missing something [07:17] mtsl has joined the channel [07:17] tonymilne: Well, i just have a project, which has 10 dependencies. [07:18] tonymilne: When it starts up, it checks its got them all (and the right version) [07:18] saschagehlich: tonymilne: me too... shouldn't npm link install the dependencies? [07:18] tonymilne: so, when team mates check out my code. [07:18] emattias has joined the channel [07:18] nexxy: oh, gotcha [07:18] tonymilne: they get a working copy, despite version bumps and new dependencies being installed. [07:18] tonymilne: it's good because version control knows exactly when npm versions of modules were updated. [07:18] nexxy: isn't it possible to create private npm repos? [07:19] nexxy: you could just package your project [07:19] tonymilne: yeah, i could, but im noob :( [07:19] nexxy: and have them use npm [07:19] tonymilne: could anyone install my project then? [07:19] nexxy: anyone that has access to your private repo [07:19] nexxy: I don't *know* if npm has that capability yet [07:19] tonymilne: oh, ya good point. [07:19] nexxy: but I thought I overheard it mentioned @ nodeconf [07:20] SubStack: some people have private npm repos already but I have no idea how to set one of those up [07:20] SubStack: some couch magic probably [07:20] levi501d has joined the channel [07:20] nexxy: ACTION thrusts her arm between the cushions... [07:20] SubStack: if that were baked into npm it would kick the shit out of pretty much every package manager ever [07:20] nexxy: ACTION pulls out $1.37 [07:20] nexxy: magic! [07:21] nexxy: you can't explain that. [07:21] saschagehlich: nexxy: congratulations! [07:21] saschagehlich: ;) [07:21] SubStack: npm --server [07:21] SubStack: want [07:21] SubStack: or just `npm server` probably [07:22] nexxy: npm --horde-my-packages-from-the-world [07:22] tlrobinson: for the http server, what happens if a request comes in before you have any "request" event listeners? [07:22] ryah: ++ [07:22] SubStack: I need to learn more about couchapps [07:22] nexxy: SubStack, talk to max ogden [07:22] ryah: tlrobinson: it gets rejected [07:22] ryah: i think [07:22] mjr_: I haven't tried this, but I assume what you do is replicate the couchdb to some local couchdb [07:22] nexxy: his couch magic is only rivaled by his magical beard [07:23] quackslike: JackeyChan: does results contain what you think? [07:23] mjr_: CouchDb replication is one of the best things about CouchDB. [07:23] tlrobinson: ryah: actually it seems like it just hangs [07:23] micheil has joined the channel [07:23] JackeyChan: quackslike: I am checking. [07:23] ryah: tlrobinson: yeah, i was just looking at the code - seems so [07:23] quackslike: tonymilne: whereabouts? [07:24] tonymilne: quackslike: Melborune. [07:24] quackslike: i'm in madelaide [07:24] tlrobinson: ryah: how about if you call listen and .on("request"...) in the same tick, or in the listen callback? [07:24] tonymilne: You'd think we could spell where we live, after living there long enough! [07:25] ryah: tlrobinson: you'll catch all the reqs [07:25] quackslike: i spelt it like that on purpose.. [07:25] tlrobinson: k thanks [07:25] nexxy: melborune sounds like the mythical fantasy version of melbourne [07:25] jesusabdullah: lol [07:25] quackslike: it was either that or sadelaide [07:25] nexxy: like there should be dwarves and faeries there [07:25] Jamool has joined the channel [07:25] saschagehlich: <3 npm [07:25] saschagehlich: goodbye submodules. [07:25] quackslike: nexxy: there are. [07:25] nexxy: quackslike, srs?! [07:26] quackslike: well, most of the fairies live in sydney.. [07:26] nexxy: ACTION otw to sydney [07:26] nexxy: love me some faerie [07:26] troessner has joined the channel [07:26] quackslike: nexxy: where you? [07:26] djcoin has joined the channel [07:26] nexxy: quackslike, floating between realities [07:27] quackslike: heh [07:27] quackslike: sounds ok.. [07:27] nexxy: but most people call it Portland, OR [07:27] mjr_: Watching Portlandia makes me think about actually moving to Portland. [07:27] nexxy: LOL [07:27] nexxy: portlandia is hauntingly accurate [07:27] mjr_: I assume that's exactly what it's like. [07:27] nexxy: yes. [07:28] tonymilne: JackeyChan: Try something like this: [07:28] tonymilne: - each vocabulary in taxonomy [07:28] tonymilne: li #{vocabulary.name} [07:28] quackslike: *off to google maps [07:29] mscdex: muahaha success! FILETIME structure converted to unix timestamp in js! [07:29] nexxy: ACTION champagne popper [07:29] mscdex: ok, that's probably a bit much, but still... [07:30] nexxy: wow okay [07:30] mscdex: :-D [07:30] tonymilne: JackeyChan: ping [07:30] nexxy: ACTION glances at mscdex and raises an eyebrow [07:30] nexxy: better? [07:30] saschagehlich: is there a way to avoid the execution of scripts/clean-old.sh in npm or automatically answer with "yes" to the question whether npm should delete all old symlinks etc? [07:30] mjr_: Portlandia scene vs. Google Street View: https://skitch.com/mranney/r67ia/portlandia.s01e05.blunderbuss.hdtv.xvid-fqm.avi [07:30] nexxy: oh my god is that a pirated link?! [07:30] nexxy: ACTION shields eyes [07:31] mscdex: :O [07:31] hellp has joined the channel [07:31] hybsch has joined the channel [07:32] mjr_: Don't worry, I just drew all of that in Google Sketchup. [07:32] tlrobinson: is there a way to find out what fds or whatever are cause node to not exit? [07:32] nexxy: mjr_, wtf am I looking at? lol [07:32] saschagehlich: tlrobinson: lsof -p PROCESS_ID [07:32] mscdex: i need a fun name for my office file reader module thing [07:32] mjr_: tlrobinson: somebody needs to enumerate the stuff in libev, and I guess it's hard? [07:32] saschagehlich: shows you the open files - maybe you can find out which one could stay open and stop node from exitting [07:32] nexxy: mscdex, Farnsworth [07:33] k1ttty has joined the channel [07:33] mscdex: i don't see the connection :S [07:33] eikaas: ^ +1 [07:33] nexxy: mscdex, nevermind then. [07:33] mjr_: nexxy: that's street view and the scene from the show where they go to that exact place. [07:33] nexxy: ohh [07:33] nexxy: lol [07:33] nexxy: I've had to walk from that corner once ;< [07:33] mscdex: how about "awfis" [07:34] nexxy: when the bus stopped and was liek "ok everybody get out!" [07:34] quackslike: mscdex: pretty good [07:34] mscdex: hah [07:34] mjr_: tlrobinson: it would be super useful to have that though, it's a very regular request people have. Maybe you could write it. [07:35] mscdex: pull request! [07:35] mscdex: do it [07:35] tlrobinson: mjr_: ok [07:35] [AD]Turbo has joined the channel [07:36] tlrobinson: mjr_ ryah where would i start looking to do such a thing? [07:36] pyrony has joined the channel [07:36] nexxy: first you must look into your soul... [07:37] mjr_: This has been discussed on the list a few times, and I forget exactly why it's hard. I seem to recall that the Marco or somebody did a simple patch to libev to support this. [07:37] mjr_: But the libev guy doesn't like the patch, so node would have to float it, and that sucks. [07:37] ryah: tlrobinson: https://github.com/joyent/node/blob/337c48db5fe06ddaf626b03b7db6c6f48c5d3b62/deps/libev/ev.h#L595-598 [07:37] mjr_: Hey, that looks pretty good. [07:38] msucan has joined the channel [07:39] emattias has joined the channel [07:41] kryptom has joined the channel [07:42] mattpat has joined the channel [07:42] mattpat has left the channel [07:42] mattpat has joined the channel [07:44] JackeyChan: - each vocabulary in taxonomy' 7. ' li #{vocabulary.name}' expected "indent", but got "newline". get error: [07:44] mattpat: Anyone happen to know of the mechanism behind setTimeout, and/or the performance ramifications of scheduling a LOT of timeouts? [07:44] saschagehlich: eeeehm [07:44] JackeyChan: tonymilne: sorry [07:44] saschagehlich: does npm install modules into the node_modules directory? o_O [07:45] mattpat: saschagehlich: At least of 1.0 it does [07:45] saschagehlich: mattpat: bot not system-wide so it installs it into a subdirectory? [07:45] mattpat: Correct, use -g to install system-wide [07:45] Remoun has joined the channel [07:45] kPb_in has joined the channel [07:45] leek: heh [07:45] saschagehlich: aaah okay, nice to know [07:46] saschagehlich: thanks mattpat [07:46] mattpat: No problem :) [07:46] JackeyChan: > tonymilne: So thanks!! [07:46] pen has joined the channel [07:47] tobiassjosten has joined the channel [07:48] mjr_: mattpat: if you set a lot of timeouts for the same amount, this is pretty efficient. [07:49] mattpat: mjr_: Makes sense, but let's say they're all for different amounts. For the sake of argument, let's say I have 5,000 timeouts set, only about a fifth of which end up on duplicated dates. [07:49] mattpat: It's more intellectual curiosity than "I think I should write a program that does this" :P [07:49] JackeyChan: hi, I want to add class with var, such as li.item-#{id}. but it can not work. somebody know that ? [07:50] mjr_: mattpat: I'm not sure at which point it starts to break down. There is an optimization for timers of the same value though. [07:52] xeodox: How do I send optional arguments (of a function) in node.js? [07:53] jesusabdullah: xeodox: look at the Arguments object [07:53] sendark has joined the channel [07:53] greg___ has joined the channel [07:53] xeodox: It gives syntaxErrors. function myfunc(a, b, c=3){ [07:53] mattpat: mjr_: Good to know, I suppose I'll just have to try and find out >:-D [07:53] sechrist_ has joined the channel [07:53] aaronblohowiak has joined the channel [07:53] stonebranch has joined the channel [07:53] aaronblohowiak: hello, people! [07:54] jesusabdullah: v8> function foo () { console.log(Arguments); } foo('bar', 'baz') [07:54] Squeese has joined the channel [07:54] v8bot: jesusabdullah: ReferenceError: Arguments is not defined [07:54] jesusabdullah: v8> function foo () { console.log(arguments); } foo('bar', 'baz') [07:54] v8bot: jesusabdullah: {0:"bar",1:"baz"} [07:54] jesusabdullah: derp [07:54] quackslike: xeodox: you just leave them out [07:54] jesusabdullah: xeodox: like that^^ [07:54] jesusabdullah: Yeah, or that [07:54] xeodox: dont get it [07:54] mikedll has joined the channel [07:55] jesusabdullah: v8> function foo (bar, baz) { console.log(bar, baz); } foo('bar') [07:55] v8bot: jesusabdullah: "bar" [07:55] jesusabdullah: See? just don't pass the second arg [07:55] xeodox: oh I see [07:55] jesusabdullah: xeodox: there's no x=3 syntax in javascript. Closest you can get is an optional "options" object [07:55] jesusabdullah: like [07:56] xeodox: I want to default the optional argument.. [07:56] npmlive has joined the channel [07:56] jesusabdullah: xeodox: var foo = bar | 3 [07:56] jesusabdullah: or something like this [07:57] aaronblohowiak: hey [07:57] aaronblohowiak: somebody publish an npm package! [07:57] jesusabdullah: NO [07:57] aaronblohowiak: ACTION cries [07:57] tlrobinson: ryah: seems like it's disabled for some reason... # define EV_WALK_ENABLE 0 /* not yet */ [07:57] xeodox: jesusabdullah: , quackslike thanks it works [07:57] tlrobinson: ryah: i enabled it but it seems to be hanging for some reason [07:59] jesusabdullah: xeodox: awesome [08:00] JackeyChan: a(href="terms/"#{vocabulary.vid}") something wrong ? [08:00] JackeyChan: a(href="terms/#{vocabulary.vid}") #{vocabulary.name} [08:02] mikedll has left the channel [08:03] RusAlex has left the channel [08:04] JackeyChan: when the vocabulary.vid is 1, i want to output a(href="terms/1") #{vocabulary.name}, how to write the code ? I really don't know... [08:05] jbpros has joined the channel [08:05] eldios has joined the channel [08:08] mawkor2 has joined the channel [08:08] mawkor2: hey anyone here using forever? [08:09] mattpat: mawkor2: Indeed, but not too heavily [08:09] SubStack: likewise [08:10] asabil has joined the channel [08:10] temp01 has joined the channel [08:10] mawkor2: did you have any issues running it from the command line? I had to symlink... [08:10] mawkor2: or run from the directory it's in.. [08:10] SubStack: npm install -g forever [08:10] mawkor2: or put it in the PATH [08:10] mawkor2: -g? [08:10] SubStack: yeah bins are a little screwy now [08:10] mawkor2: oh got ya... [08:10] SubStack: mawkor2: the latest npm does local installs by default [08:10] unconed has joined the channel [08:10] mawkor2: whart does -g do? [08:11] SubStack: does a global install [08:11] mawkor2: ad symlink to /node_modules/packagename/node_modules/packagename? [08:11] mawkor2: my guess... [08:13] stonebranch has joined the channel [08:14] mawkor2: oh man that makes me realize package management must be a nightmare... [08:16] JackeyChan: how to add scripts with jade template engin? I do it with : script(type="text/javascript" src="/javascripts/taxonomy.js") but can not work [08:16] robhawkes has joined the channel [08:17] jbpros has joined the channel [08:18] Esteb has joined the channel [08:19] Swizec has joined the channel [08:20] crabs has joined the channel [08:20] ditesh|cassini has joined the channel [08:21] npmlive has joined the channel [08:21] xsyn: JackeyChan: That's right [08:21] npmlive: Hello there, people. [08:21] markwubben has joined the channel [08:21] test1 has joined the channel [08:22] xsyn: JackeyChan: have you set your public dir? [08:22] crabs: hi, i'm running a node tcp server. now when i connect through the browser via socket.io the connection gets disconnected again every time ( Firebug: GET http://127.0.0.1:8080/socket.io/xhr-multipart Aborted). in my nodejs console i get a new connect event everytime [08:23] pen has joined the channel [08:23] `3rdEden: crabs: socket.io doesn't work tcp servers you need a http/s server [08:23] d0k has joined the channel [08:23] crabs: `3rdEden: ahh ok. what socket connection can i use with the tcp server? [08:24] ewdafa has joined the channel [08:24] tjgillies: dnode [08:24] crabs: because i'm forced to use a tcp server, wanting to establish a connection to flash, and a browser [08:25] thalll has joined the channel [08:25] moshe has joined the channel [08:25] tjgillies: http://substack.net/posts/85e1bd/DNode-Asynchronous-Remote-Method-Invocation-for-Node-js-and-the-Browser [08:25] xsyn: What's the easiest way to downgrade my node isntallation? [08:25] wao: through nave? [08:25] xsyn: will take a look [08:25] xsyn: thanks [08:25] wao: nave usemain desired version [08:26] wao: like nave usemain 0.4.0 and so [08:26] xsyn: ta [08:26] xsyn: perfect [08:26] xsyn: thank you [08:27] SubStack: that blog post is a bit muddled, you're probably better off going through the readme instead [08:27] tjgillies: SubStack: what would you know about dnode? ;) [08:27] SubStack: or the pubsub article [08:27] SubStack: I know right? [08:28] SubStack: who was that directed at anyhow? [08:28] dekz has joined the channel [08:28] tjgillies: crabs [08:28] tjgillies: im assuming thats something like what he/she wanted [08:28] crabs: you mean dnode? [08:28] tjgillies: yes [08:29] crabs: ok i'll have look, thanks [08:29] aaronblohowiak: night! [08:29] tjgillies: i need to highlight peoples nicks more [08:29] rubydiamond has joined the channel [08:30] tjgillies: objective J is such a weird abstraction [08:30] tjgillies: ive been writing it the last couple days, i love it and hate it at the same time [08:30] SubStack: crabs: you can .listen(5000).listen(webserver) to listen on port 5000 and to serve up socket.io requests to the browser using the same interface if that's what you want [08:30] SubStack: with dnode [08:31] SubStack: this is probably a better article to get the hang of that approach: http://substack.net/posts/9bac3e/Roll-your-own-PubSub-with-DNode [08:31] SubStack: or the readme has an example too [08:31] crabs: thanks [08:31] ChrisPartridge has joined the channel [08:31] tjgillies: onething i like about dnode over now is is tcp-tcp [08:31] tjgillies: s,is is,is [08:32] ChrisPartridge: SubStack: awesome new dnode gfx!! [08:33] Jamool has joined the channel [08:34] npmlive has joined the channel [08:34] npmlive: Hello there, people. [08:35] npmlive: new release: uuid-pure: 1.0.10 Random ID generator. NOT RFC COMPLIANT!! (see: node-uuid) [08:35] npmlive: new release: uuid-pure: 1.0.10 Random ID generator. NOT RFC COMPLIANT!! (see: node-uuid) [08:35] ChrisPartridge: ACTION can smell a new bot [08:35] aaronblohowiak: ChrisPartridge: it will only talk when there is an npm release [08:36] aaronblohowiak: ChrisPartridge: is that too much chatter? [08:36] jesusabdullah: It's the new bot smell! [08:36] ChrisPartridge: I wouldn't think so [08:36] jesusabdullah: I personally like bots when they do handy things [08:36] q_no has joined the channel [08:36] jesusabdullah: or even cute things [08:36] ChrisPartridge: Yeah, aslong as it isn't spamming the weather every 5 minutes :) [08:36] aaronblohowiak: jesusabdullah: you will be able to subscribe to package updates via email through the irc bot as well, sometime next week =) [08:37] chapel: Weather for Albany, NY · 49°F (9°C) · Humidity: 86% · Clear · Wind: North at 0 mph · Last Updated on May 12, 3:51 AM EDT [08:37] chapel: Weather for Seattle, WA · 43°F (6°C) · Humidity: 93% · Clear · Wind: SSE at 9 mph · Last Updated on May 12, 12:53 AM PDT [08:37] aaronblohowiak: chapel: :P [08:37] ChrisPartridge: aaronblohowiak: That sounds good [08:37] chapel: Weather for San Francisco, Argentina · 66°F (19°C) · Humidity: 90% · Mist · Wind: South at 5 mph · Last Updated on May 12, 3:00 AM ART [08:37] chapel: Weather for Paris, AR · 68°F (20°C) · Humidity: 76% · Partly Cloudy · Wind: North at 0 mph · Last Updated on May 12, 2:53 AM CDT [08:37] chapel: :P [08:38] SubStack: ChrisPartridge: I drew it a few weeks ago but forgot about it until now [08:38] chapel: aaronblohowiak: maybe an automated newsletter? [08:38] aaronblohowiak: chapel: you want a digest? [08:38] SubStack: since I was busy with nodeconf prep [08:38] ChrisPartridge: SubStack: Most good programmers I know are horrible at creative tasks, you appear to be the exception :) [08:39] ChrisPartridge: aaronblohowiak: Weekly digest would be perfect [08:39] darshanshankar: chapel++ [08:39] v8bot: darshanshankar has given a beer to chapel. chapel now has 3 beers. [08:39] SubStack: I can sing and dance too! [08:39] darshanshankar: chapel: Berkeley, CA [08:39] aaronblohowiak: ChrisPartridge: for all updates or just ones you explicitly sign up for? [08:39] darshanshankar: aw the chapel bot is broken.. *goes back to work* [08:40] SubStack: I am the all-singing, all-dancing crap of this world [08:40] mehlah has joined the channel [08:40] chapel: Weather for Berkeley, CA · 54°F (12°C) · Humidity: 77% · Overcast · Wind: West at 15 mph · Last Updated on May 12, 12:53 AM PDT [08:40] chapel: lol [08:40] xeodox: :wq [08:40] xeodox: oops [08:40] ChrisPartridge: aaronblohowiak: All packages would be good, but may get unweildy I guess [08:40] SubStack: :x [08:41] SubStack: ChrisPartridge: but programming is a fundamentally creative task [08:41] aaronblohowiak: xeodox: lol [08:41] ChrisPartridge: SubStack: Yeah but it requires a more logical thought process [08:41] xeodox: vi > emacs [08:41] crabs: what settings do i have to change when the modules that i install with npm are not availible automatically in nodejs? [08:41] mraleph has joined the channel [08:41] aaronblohowiak: crabs: wht version of npm, et cetera [08:42] aaa has joined the channel [08:42] SubStack: drawing is just a spatial awareness problem [08:42] SubStack: projecting lines in 3-space onto a 2-d surface [08:42] crabs: aaronblohowiak: npm version1.0.6 [08:42] ichilton has joined the channel [08:42] Opaque has joined the channel [08:43] mike5w3c has joined the channel [08:43] SubStack: being aware of your own optical conditioning and looking past the higher-level symbolism to get at the raw sensory inputs [08:43] aaronblohowiak: crabs: do you know about local and global installation? [08:43] alek_br_ has joined the channel [08:43] aaronblohowiak: i am tired. [08:44] crabs: i figured out that you install it global with -g, but i always did local installations [08:44] ChrisPartridge: SubStack: Sounds like you have it down to an art [08:44] ChrisPartridge: (pun intended) [08:44] SubStack: and you likewise with your masterful puncraft [08:44] chapel: SubStack: yeah, there is a book about drawing that tells people to draw something upside down [08:45] SubStack: I'm sure there are lots of books stating as such, it is a very old trick [08:45] chapel: because it breaks the symbolism of the brain [08:45] jhurlima0 has joined the channel [08:47] ChrisPartridge: SubStack: but does it work? [08:47] russbuelt has joined the channel [08:47] russbuelt has left the channel [08:47] SubStack: ChrisPartridge: it's a useful technique for faces especially [08:47] russbuelt has joined the channel [08:47] russbuelt: hi [08:48] SubStack: since our internal facial recognition algorithms can make it very hard to deconstruct faces properly [08:49] ChrisPartridge: that's interesting [08:49] Wizek has joined the channel [08:50] sechrist has joined the channel [08:50] MattJ has joined the channel [08:50] fairwinds has joined the channel [08:51] ryan_ has joined the channel [08:51] SubStack: brains are like rails [08:51] viz has joined the channel [08:51] SubStack: lots of handy reasonable defaults [08:51] SubStack: but when you need to override something it's requires so much effort [08:52] SubStack: s/'s// [08:52] SubStack: also brains are a mess of spaghetti code [08:52] k1ttty has joined the channel [08:52] SubStack: zing [08:52] chapel: well [08:53] ChrisPartridge: If only our brains were written in node.js ... [08:53] chapel: well, I would say our brains are more like an old language that has been upgraded [08:53] chapel: maybe like c and then c++ [08:53] mawkor2: david bronstein - famous chess player - said he spent most of his career trying to unlearn what he had previously learner [08:53] mawkor2: which is testament to the spaghetti code comment [08:54] mawkor2: and something else yoda was going on about [08:54] ChrisPartridge: surely our sub-concious is like a framework for our brain [08:54] SubStack: brain are far, far less comprehensible than the worst c code [08:54] mawkor2: or the other way around [08:54] SubStack: it's amazing that evolution works at all [08:54] bulters has left the channel [08:54] mawkor2: if you're into quantum mechanics [08:55] mawkor2: brain is a framework for the subconscious is an intersting argument [08:55] chapel: SubStack: yeah, well its like multiple things stacked on each other [08:55] chapel: maybe like html [08:55] chapel: where there is xhtml, html5, 4, old versions [08:55] chapel: custom vendor stuff [08:56] chapel: not uncomprehensible but definitely disjointed and cobbled together [08:56] sridatta has joined the channel [08:56] SubStack: mawkor2: it's not especially interesting, just a differently worded sort of cartesian theatre [08:58] SubStack: ACTION needs to read more dennett [08:59] jacter has joined the channel [08:59] dies_el has joined the channel [08:59] SubStack: write more node modules or read about philosophy of mind, choices choice [09:03] unconed has joined the channel [09:04] ryankirkman has joined the channel [09:05] viz: my brain is runnning IE6 today :( [09:05] nexxy: quirksmode? [09:07] Jamool has joined the channel [09:08] jacobolus has joined the channel [09:08] muhqu_ has joined the channel [09:08] Bj_o_rn has joined the channel [09:10] mscdex: lolsmode [09:10] ryan_ has joined the channel [09:11] eldios: jesusabdullah, you there? [09:11] jonathantaylor has joined the channel [09:12] flippyhead_ has joined the channel [09:12] mawkor2: browser self-update by default is really the best idea to ever come along in browser world [09:12] jesusabdullah: eldios: I am! [09:12] mawkor2: its better than rounded corners [09:13] viz: mawkor2: that should've been thought of a long time ago. kind of evident. [09:13] hcvst has joined the channel [09:14] eldios: oh.. a collague =) [09:14] abraxas: Does anyone know why NodeJS is actually called Node? Where does this name come from? [09:14] eldios: jesus I'm trying to use your prompt module.. may I query you to ask a question? [09:17] mscdex: abraxas: iirc it's from the networking term "node" [09:18] Wa has joined the channel [09:20] xsyn has joined the channel [09:20] sorens3n has joined the channel [09:24] bzinger has joined the channel [09:27] framlin: is there a way to dispatch non-blocking php-calls (e.g. phpcli) from node, so that the performace is better than direct Apache-Requests? [09:27] framlin: .. that are blocking [09:29] eb4890 has joined the channel [09:32] ChrisPartridge: framlin: https://github.com/davidcoallier/node-php might be what your looking for [09:33] markwubben has joined the channel [09:34] abraxas: Any asyncjs users around? I'm wondering if waterfall() pushes the last received callback arguments into the final callback on success, just like it does with all the tasks. [09:34] niftylettuce has joined the channel [09:36] adambeynon has joined the channel [09:39] ryan_ has joined the channel [09:41] jonathantaylor has joined the channel [09:41] Casperin has joined the channel [09:43] liquidproof has joined the channel [09:46] jarek has joined the channel [09:46] jarek has joined the channel [09:46] kPb_in has joined the channel [09:47] Kami_ has joined the channel [09:48] hasta84 has joined the channel [09:48] hasta84: Hey there and good day! [09:49] hasta84: I am wondering what the best practice would be to release a node module consisting of a C-Module and some javascripts? [09:50] hasta84: where do the .node binaries go and where the javascripts? [09:52] mc_greeny has joined the channel [09:53] FireFly has joined the channel [09:54] rchavik has joined the channel [09:54] rchavik has joined the channel [09:56] FireFly|n900 has joined the channel [09:56] thalll has joined the channel [09:56] forzan has joined the channel [09:56] test has joined the channel [09:59] JackeyChan has joined the channel [09:59] ChrisPartridge: hasta84: Go to howtonode.org and read the article how to module [09:59] JackeyChan: hi, nodejs asy i/o is difficute [09:59] mendel_ has joined the channel [09:59] ChrisPartridge: good starting point, should lead you to all relevant other docs/examples [09:59] JackeyChan: difficulty [10:00] ChrisPartridge: JackeyChan: What's the problem? [10:00] hasta84: Thanks chris! [10:00] ChrisPartridge: yw [10:00] mendel_: sweet, core support for spawning a child https://github.com/joyent/node/commit/9e26dab150e15cdbc7fbec76dcadeafed7d85646 [10:00] unconed has joined the channel [10:01] JackeyChan: it is there good document for how to use node.js ? [10:01] JackeyChan: with asy I/O [10:02] ntelford has joined the channel [10:02] JackeyChan: the fs.readFile can not return the content and only let you set a callback when finish read file [10:03] eldios: woo oo.. my first pull request! [10:03] eldios: \o/ [10:03] ChrisPartridge: JackeyChan: Yes, that is right - you must then perform operations in the callback [10:03] `3rdEden: YESS it's done, I finally have a blog again XD [10:04] JackeyChan: so, when I want to do another work with the file content, I only can do in the callback [10:04] ChrisPartridge: JackeyChan: You probably need to look at an async helper library [10:04] JackeyChan: and I can not make sure when it is done [10:04] ChrisPartridge: JackeyChan: Check this out, https://github.com/caolan/async [10:04] JackeyChan: where can i find it ? [10:04] mendel_: `3rdEden: mister! where's the blog? [10:04] JackeyChan: thank you! [10:05] JackeyChan: ChrisPartridge: Thank you! [10:05] ChrisPartridge: yw [10:05] Rob- has joined the channel [10:05] `3rdEden: mendel_: sir, i haven't posted anything usefull yet. I just finished theming the template :$ anyways i'll be ranting about the web @ http://blog.3rd-eden.com/ [10:06] JackeyChan: but what i said is right , is it ?? [10:06] mendel_: haha ok [10:07] `3rdEden: mendel_: i'll have time to make a proper introduction post tonight :p [10:07] `3rdEden: or during lunch [10:07] JackeyChan: is there any way to return the file content ? [10:08] mendel_: `3rdEden: I'm planning to create a blog at http://bind.io, maybe we could chat about it a bit soon [10:08] mendel_: (cool domain or what ;)) [10:09] `3rdEden: awesome :D mendel_ [10:10] `3rdEden: mendel_: just add me msn / gtalk on info@3rd-Eden.com [10:11] mendel_: don't use them both.. I'm on the MS Skype ;) [10:11] `3rdEden: ._.' [10:11] mendel_: haha [10:11] `3rdEden: Sky.net? [10:12] `3rdEden: I think i have one of those accounts as well [10:14] mendel_: `3rdEden: i've invited you @ gtalk [10:16] `3rdEden: ACTION opens adium and accepts the invite [10:16] ChrisPartridge: JackeyChan: You can use the sync methods in the fs module [10:17] ChrisPartridge: which as fair as i know, blocks the event loop until the file contents are returned [10:17] nerdfunk has joined the channel [10:17] nerdfunk: ok [10:17] nerdfunk: unconed: still about ? [10:18] unconed: nerdfunk: sort of, off to bed [10:18] nerdfunk: heh [10:19] Wizek_ has joined the channel [10:20] mike5w3c has joined the channel [10:23] iFire has joined the channel [10:29] Squeese has joined the channel [10:31] pdelgallego has joined the channel [10:41] mike5w3c_ has joined the channel [10:42] blueadept: anyone make or trade bitcoins? [10:45] demastrie has joined the channel [10:45] kawaz_air has joined the channel [10:46] jbpros has joined the channel [10:48] demastrie has joined the channel [10:48] demastrie1 has joined the channel [10:49] demastrie1 has joined the channel [10:52] russbuelt has joined the channel [10:53] okuryu has joined the channel [10:54] herbySk has joined the channel [11:00] iori has joined the channel [11:00] iori has joined the channel [11:00] xsyn has joined the channel [11:00] malkomalko has joined the channel [11:01] viz has joined the channel [11:03] eikaas_ has joined the channel [11:07] Doosje has left the channel [11:09] Silly_Wabbit has joined the channel [11:10] bzinger has joined the channel [11:10] Epeli: Is there a tool for Node.js that can minify html? [11:10] Country has joined the channel [11:10] eee_mk has joined the channel [11:20] `3rdEden: html.replace(/\s/g, '' ) :D? [11:21] ewdafa has joined the channel [11:23] `3rdEden: Epeli port this to node; http://kangax.github.com/html-minifier/ [11:24] Epeli: not a bad idea [11:24] `3rdEden: you can minifiy js with uglifyjs and minify css with cssmin in the YUI compressor repo [11:24] Qbix2 has joined the channel [11:25] `3rdEden: I use the same code for our own backend, but i can't release that ;9 [11:26] quacksalot has joined the channel [11:29] quacksalot: express question: http://pastebin.com/m1hwufsu what determines if the production or development error handler is used? [11:30] q_no has joined the channel [11:32] Ezku\: quacksalot: the NODE_ENV environment variable [11:32] hcvst has joined the channel [11:33] quacksalot: Ezku\: ah. cheeers! [11:35] bshumate has joined the channel [11:35] bshumate has joined the channel [11:35] Rob- has joined the channel [11:36] demastrie has joined the channel [11:36] demastrie has left the channel [11:40] ewdafa has joined the channel [11:45] framlin: ChrisPartridge: thanx!! [11:45] context has joined the channel [11:46] demastrie1 has joined the channel [11:47] lukegalea has joined the channel [11:49] postwait has joined the channel [11:50] quacksalot: Ezku\: any idea where i can find some documentation or an example of this, or just where it happens in the code? express, connect? whatever? i'm lost.. [11:51] Ezku\: quacksalot: an example of what? if you wish to see the implementation, check the source :o [11:51] k1ttty has joined the channel [11:51] demastrie has joined the channel [11:52] quacksalot: yeah, where abouts though? i've been trying to figure out where exactly this happens.. [11:52] quacksalot: i cant see the trees for the forrest.. [11:54] demastrie has left the channel [11:54] quacksalot: Ezku\: any hints where to look? [11:55] deedubs has joined the channel [11:56] stepheneb has joined the channel [11:57] Ezku\: dunno, sorry [11:58] quacksalot: Ezku\: thats ok.. i'm just struggling to grok the source.. :-/ [11:58] quacksalot: Ezku\: thnks for the info anyway. [12:02] jonaslund has joined the channel [12:02] kal-EL_ has joined the channel [12:03] Schmallon has joined the channel [12:03] neoesque has joined the channel [12:06] baoist has joined the channel [12:06] tmedema has joined the channel [12:09] devrim has joined the channel [12:09] ryan_ has joined the channel [12:11] jtrudeau has joined the channel [12:11] quacksalot: Ezku\: i feel like such a dill. line 67. https://github.com/visionmedia/express/blob/master/lib/http.js [12:11] tiemonster has joined the channel [12:11] ron_frown has joined the channel [12:14] quacksalot: not sure how i missed that.. [12:14] quacksalot: i think i'm going to git clone so i can use grep etc. browsing on github sucks balls. [12:18] edwardmsmith has joined the channel [12:18] Ezku\: quacksalot: i recommend that [12:18] Ezku\: although, if you're using npm 1.0 you should have a local copy of express whenever you use it anyways [12:18] quacksalot: Ezku\: yep far easier [12:19] quacksalot: i have the old npm on this mac. [12:20] Wizek__ has joined the channel [12:20] matjas has joined the channel [12:20] quacksalot: its cool, i should've just cloned the thing and used grep in the first place.. :-/ not really thinking straight at the moment [12:21] ChrisPartridge: grep rules :-) [12:21] quacksalot: ChrisPartridge: i dunno how people dev on windows boxes without things like, find, grep, awk, sed.. [12:22] ChrisPartridge: quacksalot: I have to use windows (work), but I have plenty of VM's for my nix lovin' [12:24] quacksalot: hmm kinda sucks.. [12:24] quacksalot: i'd buy my own mac and run windows inside it.,. :) [12:25] quacksalot: i love my macbook air, its the most awesome little lappy i've owned. [12:25] ChrisPartridge: I don't like OSX, i prefer a bash shell with my pretty colors :-) [12:25] quacksalot: fully worked 11inch version.. [12:25] quacksalot: you can have perrty colors in Terminal.app [12:25] quacksalot: i have.. i have them in emacs too :) [12:26] tmedema: Any express router ninjas here? Is this the correct way to only allow alphanumeric usernames? server.get('/reqFriendStream/:username([a-zA-Z0-9]+)', function(req, res) ... [12:26] quacksalot: or you can use the other OSS term which is far more configurable i believe [12:28] jbpros has joined the channel [12:30] quacksalot: tmedema: does it work? [12:30] tmedema: quacksalot: yes [12:30] edude03 has joined the channel [12:30] fumanchu182 has joined the channel [12:30] quacksalot: nice. [12:33] ben_alman: question about git repo submodules: is there a "standard" location for them, like inside a "vendor" top-level dir? [12:33] tmedema: quacksalot: I am not sure if there is room for improvement [12:34] guybrush: ben_alman: no [12:34] btipling has joined the channel [12:34] guybrush: ben_alman: but mostly i see put them into ./vendor or ./support [12:34] guybrush: i like ./vendor [12:34] guybrush: :) [12:34] JacobSingh has joined the channel [12:34] chapel: ben_alman: with node_modules git submodules aren't needed (unless its not on npm) [12:35] mike5w3c has joined the channel [12:35] ShuzRaGe has joined the channel [12:35] guybrush: chapel++ [12:35] v8bot: guybrush has given a beer to chapel. chapel now has 4 beers. [12:35] chapel: and even then, you can bundle them yourself [12:35] JacobSingh: Any opinions on https://github.com/bartek/socket.io-channels [12:35] guybrush: npm-packages > git-submodules [12:35] JacobSingh: or other tools to manage socket io comunication? [12:35] JacobSingh: Basically, just looking for a lightweight framework to pass messages in queueX to function X on the client [12:35] JacobSingh: so it's not all one big switch statement [12:35] xeodox has joined the channel [12:35] mnemonic has joined the channel [12:35] quacksalot: tmedema, not sure. looks good to me. but is that the only way to get a username into the app? [12:35] guybrush: JacobSingh: checkout dnode and nowjs [12:36] jlecker has joined the channel [12:36] `3rdEden: JacobSingh: socket.send({channel:'channel', msg: 'omg no abstractions :D '}) ;D? [12:36] mike5w3c_ has joined the channel [12:36] chapel: json schema validation, which is the best, I see kriszyp has one, not sure which to use at this point [12:37] JacobSingh: guybrush: thanks, dnode is the obvious front-runner due to the graphic on their readme [12:37] JacobSingh: but nowjs looks pretty well documented [12:37] chapel: well dnode is awesome [12:37] JacobSingh: I guess they both do the same thing... [12:37] chapel: I can attest to that [12:37] guybrush: well they are both very cool, i prefer dnode [12:37] chapel: and not exactly [12:38] guybrush: i am literally in love with dnode actually :p [12:38] chapel: nowjs does one thing dnode does, but dnode does so much more [12:38] chapel: also dnode is language agnostic [12:38] chapel: so you can hook into ruby/java whatever [12:38] JacobSingh: chapel: cool thanks I'll start with it then [12:38] chapel: and isn't just for browser communication [12:39] chapel: but don't take our word for it, :P [12:39] tmedema: quacksalot: no, it's a complex story really -- basically I need to use a binary post and link that to a websocket connection. [12:39] chapel: no input on json validation? [12:39] guybrush: dnode even can be used to talk tls-streams! [12:39] `3rdEden: but nowjs has yc funding ;) [12:40] `3rdEden: sitting on a pile of money always helps with development [12:40] chapel: `3rdEden: but dnode has an awesome implementation in browserling [12:40] guybrush: i wonder why everyone knows about that yc funding :p [12:41] Rodtusker has joined the channel [12:42] JacobSingh: Sorry, stupid question but does dnode / socket.io need to run on a different port than express? [12:42] guybrush: no [12:42] guybrush: you can attach dnode to your express-server [12:43] tmedema: the way I see it dnode is at a better state atm but now may have more potential [12:43] guybrush: just do dnode().listen(expressServer) [12:43] malkomalko has joined the channel [12:43] guybrush: tmedema: why is that? [12:43] guybrush: dont say its because of the money :p [12:44] piscisaureus has joined the channel [12:44] chapel: potential? now.js is just browser stuff, and thats all they seem to be interested in [12:44] tmedema: guybrush: why now may have more potential? because they have a paid team working on it; and they're focusing on a cluster version [12:44] guybrush: dnode is more like put small parts together to make it work, nowjs is more like take this to own everything [12:44] chapel: dnode is more like node, in that it is a robust tool, that can be added onto to make it do whatever you want with middleware [12:44] guigouz has joined the channel [12:44] tmedema: agree with chapel [12:45] JacobSingh: I have to say, this channel is awesome [12:45] chapel: anything nowjs has or will have, dnode will have at one point or another [12:45] JacobSingh: you guys are a huge help [12:45] chapel: we try [12:45] chapel: (when Im not busy that is [12:45] chapel: ) [12:45] chapel: :P [12:45] JacobSingh: there is a lot of context to absorb in the node.js space and not very established stacks yet IMO [12:46] DrAwesomeClaws has joined the channel [12:46] chapel: node is the byos (build your own stack) [12:46] eldios has joined the channel [12:46] JacobSingh: so just trying to figure out what library is best can be hard. The code itself is all good and I can figure it out, but I'm terrified of making the wrong technology choices [12:46] `3rdEden: JacobSingh: thats a good thing :) competition drives innovation :) [12:46] rphillips has joined the channel [12:46] guybrush: JacobSingh: established stacks are not good for innovation IMHO [12:47] JacobSingh: Oh yeah, I agree [12:47] chapel: JacobSingh: sometimes the best option is to actually try them [12:47] JacobSingh: chapel: if only this was my paying gig :) [12:47] guybrush: so its good to not have a list of tools everyone uses because he doesnt know better [12:47] c4milo: guybrush: ++ [12:47] JacobSingh: Yeah, but opinions are important. [12:47] JacobSingh: that don't come from the author's readme [12:47] chapel: guybrush++ [12:47] v8bot: chapel has given a beer to guybrush. guybrush now has 2 beers. [12:47] guybrush: thats what you get in #node.js :D [12:47] guybrush: the opinions i mean [12:47] guybrush: and dramas too! [12:47] JacobSingh: you get fragmentation, not innovation when you have no reputation system or a lack of active opinions [12:48] guybrush: its better than tv [12:48] thomblake has joined the channel [12:48] JacobSingh: see Drupal ;) [12:48] c4milo: it depends of the sort of project [12:48] postwait has joined the channel [12:49] matjas has joined the channel [12:49] kriszyp has joined the channel [12:50] _jdalton has joined the channel [12:50] c4milo: If I work for a software company, I will go with some stack. If I work for a company who is developing its own product I will choose the simplest stack and then build new things on top of it. [12:51] c4milo: but yes, evaluating alternatives isn't an easy task [12:51] c4milo: it you have to be methodic and objective [12:51] c4milo: s/it/and/ [12:51] chapel: I agree that its nice to have an easy way to validate which modules are worth investing your time in, but I don't think people should use that as an exhaustive list of what they have to use [12:52] sjbreen: couldn't npm have like a download count or something? Just to have one way of comparing? [12:53] guybrush: there is a special section in the node-doc though, which lists packages its worth to look into [12:53] fermion has joined the channel [12:53] guybrush: http://nodejs.org/docs/v0.4.7/api/appendix_1.html it is just another opinion anyway [12:57] nichdiekuh has joined the channel [12:58] Rodtusker has joined the channel [12:58] unomi has joined the channel [12:59] dyer has joined the channel [12:59] dyer has joined the channel [13:00] mattmcmanus has joined the channel [13:02] upNic has joined the channel [13:02] dmojoryder has joined the channel [13:04] iFire has joined the channel [13:04] baoist has joined the channel [13:05] guybrush: sjbreen: that would be cool, we need to poke isaacs and mikeal about that :p [13:06] caike has joined the channel [13:07] guybrush: but there is already one very usefull indicator you can look for regarding the "quality" of packages -> dependencies [13:08] guybrush: 85 packages depend on underscore, that has to mean something [13:11] mehlah has joined the channel [13:13] jonasen has joined the channel [13:14] liar has joined the channel [13:14] clip has joined the channel [13:15] chjj: ahhh, liboio was renamed to "libuv" [13:15] chjj: https://github.com/joyent/libuv [13:15] JacobSingh has joined the channel [13:15] guybrush: what stands uv for? [13:15] guybrush: thought it will be uw (unix windows) [13:16] jakob` has joined the channel [13:16] clip: hi i'm still trying to figure out what i'm doing wrong with npm. I have version 1.0.6, the node_modules dir is in my node-server folder. Now when i install modules with npm i can't require them in a server.js. what did i do wrong?? [13:16] chjj: well, it includes libev now [13:16] chjj: its bundled with libev [13:16] chjj: so im guessing the "v" is taken out of there [13:17] guybrush: clip: cd into the dir where your server.js lives and do npm install you should be able to require() then [13:18] chjj: clip: your directory structure looks like /node-server/node_modules and node-server/server.js ? [13:18] caike: clip: is you server.js in the same dir as your node_modules ? [13:18] clip: ahh, no that seems to be ther problem [13:19] guybrush: clip: see http://nodejs.org/docs/v0.4.7/api/modules.html [13:19] kriszyp has joined the channel [13:19] clip: thanks [13:20] beawesomeinstead has joined the channel [13:20] beawesomeinstead has joined the channel [13:22] MarkMenard has joined the channel [13:23] arpegius has joined the channel [13:24] pifantastic has joined the channel [13:24] avalanche123 has joined the channel [13:24] rht has joined the channel [13:26] hcvst has joined the channel [13:28] devrim has joined the channel [13:28] ditesh|cassini has joined the channel [13:30] JacobSingh has joined the channel [13:30] shanez has joined the channel [13:30] cbibler_ has joined the channel [13:34] bkozal has joined the channel [13:35] chalaschek has joined the channel [13:35] gtramont1na has joined the channel [13:36] Mrfloyd has joined the channel [13:38] dcampano has joined the channel [13:38] ngs has joined the channel [13:41] hybsch has joined the channel [13:42] boaz has joined the channel [13:44] trotter has joined the channel [13:45] rostayob has joined the channel [13:45] rostayob: Stupid stupid question about npm [13:45] rostayob: it seems it install stuff in .npm/package-name [13:45] rostayob: what do i do if I want the bins in my PATH? [13:46] timmywil has joined the channel [13:47] daekano has joined the channel [13:47] maximosis has joined the channel [13:49] telemachus: rostayob: What version are you using? [13:49] vicapow has joined the channel [13:50] Poetro has joined the channel [13:50] rostayob: telemachus: 1.0.6 [13:50] telemachus: I thought it now installed by default in $(pwd)/node_modules [13:50] telemachus: How did you install npm? (globally/via sudo or somesuch?) [13:51] rostayob: what? why would it do that? [13:51] rostayob: oh, right [13:51] rostayob: it does [13:51] telemachus: rostayob: One sec, I'll get you the link [13:51] rostayob: i want to install it just for my use [13:51] rostayob: r [13:51] rostayob: it actually put it both in the pwd/node_modules [13:51] Aikar: rostayob: ~/.npm is a cache folder, if a module has a bin you need you need to sudo npm install blah -g [13:51] rostayob: and in the .npm dir [13:51] telemachus: http://blog.nodejs.org/2011/05/01/npm-1-0-released/ [13:51] rostayob: why? I don't want to install it globally [13:51] rostayob: and sometimes I can't :P [13:52] amacleod has joined the channel [13:52] Aikar: if you want the bin in path you need to, unless you modify your PATH to be PWD/node_modules/.bin/blah [13:52] rostayob: so there is no way to install something user-wise? [13:52] telemachus: rostayob: What do you mean by user-wise? [13:52] devrim has joined the channel [13:52] telemachus: where would it go? $HOME/local? [13:53] rostayob: telemachus: .npm/something would be reasonable [13:53] arpegius has joined the channel [13:53] alek_br__ has joined the channel [13:53] rostayob: for example cabal (npm for haskell) has a .caba/(bin/local/usr) etc etc [13:53] rostayob: anyway whatever I'll just package the packages [13:53] rostayob: for archlinux :P [13:54] telemachus: I like the way npm handles things now, though I suppose I see your point for a third option [13:54] telemachus: first two being per-app/isolated or system-wide [13:54] rostayob: it's strange that noone feels the need of something like that :P [13:54] rostayob: i mean most of the times you'd like to install an untrusted package like that user wise [13:55] telemachus: rostayob: Most of the time I want it in $(pwd)/node_modules [13:55] telemachus: I like that isolation [13:55] rostayob: oh right [13:55] telemachus: I don't even want it on my user's path [13:55] rostayob: so a per project thing [13:55] rostayob: yeah [13:55] telemachus: just for the project [13:55] telemachus: yeah [13:55] willwhite has joined the channel [13:55] telemachus: I use Isolate to do the same in Ruby actually [13:56] rostayob: the thing is that i stumbled upon npm because of coffee-script [13:56] EyePulp has joined the channel [13:56] rfay has joined the channel [13:56] rostayob: and I'd like just to have the compiler [13:56] rostayob: boh [13:56] devrim has joined the channel [13:56] telemachus: right, but that I would want system-wide [13:56] telemachus: but I get that you might want the intermediate option [13:56] telemachus: mention it or post an issue on npm maybe? [13:57] rostayob: when I install something system wide I want it to be packaged anyway... things get messy when you have 2/3/4 package managers [13:57] alek_br_ has joined the channel [13:57] quacksalot has joined the channel [13:57] rostayob: packaged for my distribution [13:57] telemachus: right [13:57] telemachus: I'm on OSX, so I'm used to pain (no package manager). [13:57] rostayob: yeah that was a mistake [13:57] telemachus: working in a mac shop? probably... [13:57] telemachus: :) [13:58] rostayob: buying a mac :P [13:58] telemachus: oh, well, fuck that - I didn't buy one, lol [13:58] telemachus: they bought it for me [13:58] rostayob: oh [13:58] rostayob: ok [13:58] rostayob: are those stories true? about how they "motivate" employees and stuff like that [13:58] telemachus: I just work here and here they use Macs. It is what it is. [13:59] rostayob: anyway [13:59] telemachus: For me it's a demotivator, but I like my job (teacher + sys-admin), so it's fine. I don't work in software per se. So no idea how they motivate people there. [13:59] test: macs? [13:59] test: mac is a tool [13:59] test: no more [13:59] test: no less [13:59] telemachus: test: Yeah, for many it's a religion (I agree with you, but you know what I mean). [13:59] rostayob: test: i don't like that tool that much, but that's an old flame war [14:00] herbySk has joined the channel [14:00] fly-away has joined the channel [14:01] rostayob: anyway i'll just package them [14:01] aheckmann has joined the channel [14:01] sonnym1 has joined the channel [14:02] rostayob has joined the channel [14:03] timmywil has joined the channel [14:03] sathia has joined the channel [14:04] tiemonster: What would explain os.cpus() returning nothing? [14:04] edude03 has joined the channel [14:04] cloudhea1 has joined the channel [14:04] cloudhea1_ has joined the channel [14:06] nibblebot has joined the channel [14:06] nurb has joined the channel [14:06] Opaque has joined the channel [14:06] nurb: hello! why do i have two different "nodes" one when i run with "sudo node bla.js" and one when i simply run "node bla.js" .. ? [14:07] pt_tr has joined the channel [14:07] dcampano has joined the channel [14:07] tiemonster: the os module doesn't appear to work at all on SunOS. Is this a permissions problem? [14:07] bretts has joined the channel [14:08] tiemonster: nurb: running on different ports? [14:08] nurb: tiemonster: no, regardless of runtime - they refer to different node modules and libraries.. [14:09] tiemonster: nurb: so what's the question then? you're running two processes and you're asking why you have two processes? [14:09] EyePulp: anyone using mixpanel for event tracking? [14:09] k1ttty has joined the channel [14:10] nurb: tiemonster: no, again, before any process even ran - the "sudo node bla.js" is apparently referring to an older version of node [14:10] jano has joined the channel [14:11] thoolihan has joined the channel [14:11] devrim has joined the channel [14:11] nurb: tiemonster: how can i make the "sudo node bla.js" work with the same node version that my current user has installed, which is the latest [14:12] tiemonster: nurb: install globally? [14:12] nurb: tiemonster: yes, sorry, what does that mean? [14:12] tiemonster: depends [14:12] tiemonster: what OS? how did you install them? [14:13] tmedema: Maybe a stupid question, but in Javascript, can you delete a property within the function that is set to that property, eg: https://gist.github.com/968572 ? [14:13] nurb: tiemonster: Ubuntu, the newest version via nvm [14:13] tiemonster: you mean npm? [14:14] nurb: tiemonster: no, i mean nvm - node version manager [14:14] tiemonster: never heard of it [14:14] tiemonster: ACTION googles [14:15] lukstr: nurb: it means the user has a version of node on his path that is overriding the system wide install [14:15] lukstr: so something is borked [14:15] tiemonster: tmedema: even if it's possible, I wouldn't recommend it. besides, even if the first delete was successful, in theory the second would never run. [14:15] nurb: lukstr: obviously :(:( [14:16] tiemonster: nurb: which do you want to keep? [14:16] tiemonster: root's or users' ? [14:16] lukstr: nurb: you can't really *force* the user to not mess up their path [14:16] chalaschek has joined the channel [14:16] tiemonster: unless he's the user [14:16] lukstr: heh [14:16] tiemonster: he/she. guess I shouldn't assume. [14:16] tmedema: tiemonster: why would the second never run? the first command merely removes a property, it does not remove the actual function [14:16] nurb: tiemonster: the one the current user is using (which is a sudoer) but i need sudo to listen(80) [14:17] nurb: tiemonster: and this is where i FAIL [14:18] strmpnk has joined the channel [14:18] nurb: tiemonster: because then i run the same thing only "sudo samething" but then all the modules are old [14:18] lukstr: nurb: so you want the user to use the system wide install? [14:18] lukstr: did you run nvm with sudo? [14:18] tiemonster: nurb: sounds like a mess [14:18] nurb: lukstr: no [14:18] nurb: lukstr: sudo doesnt know what nvm is even [14:19] lukstr: huh [14:19] nurb: lukstr: o_O [14:19] lukstr: sudo doesn't need to know anything [14:19] nurb: lukstr: i hate sudo [14:19] lukstr: okay let me see what nvm is [14:19] tiemonster: tmedema: your syntax is wrong, too [14:20] brianc has joined the channel [14:20] lukstr: nurb: did you add nvm to your .bashrc? [14:20] Wizek_ has joined the channel [14:20] nurb: lukstr: why can't my user just "be" a sudo and have permission to run listen(80) [14:20] nurb: lukstr: hrmff don't think so lemme check [14:20] tmedema: tiemonster: hmm? [14:20] lukstr: nurb: you can absolutely give your user root priviledges but it's frowned upon [14:20] tmedema: tiemonster: ah yes, typo [14:21] lukstr: nurb: so how do you run nvm? [14:21] tmedema: was just an example [14:21] nurb: lukstr: what do you mean how [14:21] tiemonster: tmedema: http://pastebin.com/jMS4wbNG [14:21] lukstr: what do you type to run nvm [14:22] mynyml has joined the channel [14:22] tiemonster: nurb: best practice would be to install globally what you need root to have access to [14:22] lukstr: you know, it looks to me like you should just remove nvm from the picture. [14:22] tmedema: tiemonster: what's up with that paste? [14:22] tiemonster: tmedema: so nothing is deleted. at least in V8. [14:22] nurb: lukstr: how would i install new node versions then [14:23] tiemonster has joined the channel [14:23] arpegius has joined the channel [14:23] lukstr: nurb: I just clone the sources from git [14:23] tiemonster: oops. closed the wrong terminal window. ;-) [14:24] tmedema: tiemonster: you never called endAndDestruct [14:25] tiemonster: ah [14:25] tiemonster: good call [14:25] nurb: lukstr: and you make it yourself as sudo? [14:25] hcvst has joined the channel [14:25] tmedema: tiemonster: it works perfect for me in v8: http://jsfiddle.net/wUScv/ [14:26] hcvst has joined the channel [14:26] lukstr: nurb: yes [14:26] lukstr: and then install npm with root [14:26] softdrink has joined the channel [14:26] nurb: lukstr: and you always use "sudo node bla.js"? [14:26] tmpvar has joined the channel [14:26] lukstr: nurb: no [14:27] nurb: lukstr: so how do you listen on 80? [14:27] lukstr: nurb: I use nginx to route to my node app on whatever port I want [14:27] tiemonster: tmedema: yeah, so... I guess that's ok... [14:27] lukstr: nurb: but that's what I do personally [14:27] tiemonster: ACTION bookmarks jsfiddle.net ;-) [14:27] nurb: lukstr: WHAT .. ok .... [14:28] nurb: lukstr: ok ill try to just use the sudo's installation thanks for your help guyz [14:28] Remoun has joined the channel [14:29] _jdalton has left the channel [14:30] lukstr: nurb: most web services don't run as root for security reasons, so using something like nginx which runs as root to bind ports then switches to an unpriveledged user is easy. You can probably do the same with node, but I couldn't tell you how. Running a nodejs app as root is probably a bad idea [14:31] chrisbu has joined the channel [14:31] jbpros has joined the channel [14:31] nurb: lukstr: but isnt it a overhead to converse with nginix for each request? [14:31] Corren has joined the channel [14:32] lukstr: nurb: of course but it's very small [14:33] lukstr: nurb: nginx is one of the better solutions, the overhead is negligable for the most part. Something like apache would be too, except there is a thread limit. [14:34] nurb: lukstr: ok thanks maybe ill just change the port (but then FB doesn't like that) [14:34] lukstr: nurb: if you're using ubuntu: try privbind, it seems to do the trick [14:34] brianc1 has joined the channel [14:34] ryan_ has joined the channel [14:34] jtsnow has joined the channel [14:34] lukstr: an example with privbind is [14:34] brianc1: anyone know why the name change from liboio to libuv? liboio sounded so _cool_ [14:34] enzo has joined the channel [14:35] enzo: hi [14:35] c4milo: oh hai [14:35] c4milo: I agree with you brianc1 [14:35] lukstr: $ sudo privbind -u $(id -u) -g $(id -g) $(which node) myapp.js [14:35] robhawkes has joined the channel [14:35] lukstr: so that would allow it to bind to port 80 and then drop root priveledges, which is better than just running as root [14:35] c4milo: brianc1: I didn't know they changed the name :s [14:35] nurb: lukstr: oh wowz i didn't know there is such a thing fankyou [14:35] lukstr: nurb: me neither, google is great :) [14:36] brianc1: c4milo: yah: https://github.com/joyent/libuv [14:36] devdazed has joined the channel [14:36] enzo: little question, if I code a node.js server with socket.io, how can I make access to the latter on the port 80 ? the answer is passProxy I guess, but it will work only for long polling clients, and not websocket clients no ? [14:37] chau has joined the channel [14:37] lukstr: enzo: run it on a different port [14:37] gmci has joined the channel [14:38] enzo: lukstr: so I run my apache on 80 and the node.js+socket.io on port 8080 for example ok, but how can I let my user access the nodejs via the port 80 ? [14:38] Rob- has joined the channel [14:38] chau has left the channel [14:38] enzo: imagine my user are behind a firewall that forbids 8080 [14:39] lukstr: enzo: I use nginx instead of apache because apache has issues handling a lot of requests, but for a small number of requests you can just do a reverse proxy with apache [14:40] brianc1: enzo: lukstr: last time I checked, nginx does not reverse-proxy to socket.io correctly [14:40] yhahn has joined the channel [14:40] lukstr: brianc1: interesting, one second [14:40] enzo: ok so I do that lukstr, but it will work only for long polling clients and not for pure websocket clients that handle a connection no ? [14:40] piscisaureus has joined the channel [14:41] cloudhead_ has joined the channel [14:41] cloudhead has joined the channel [14:41] enzo: my question is for websocket clients indeed (not long polling client where reverse proxy is ok) [14:41] brianc1: matter of fact, I wasn't able to find any software proxies that handled web-sockets. What the response to me at the time was "relax, put node on port 80, and have a beer" which I have been doing to good effect since the recommendation [14:41] lukstr: brianc1: seeing as that is not often possible I'm interested in a solution now [14:42] enzo: brianc1: but if you run node on port 80, there's no php module available for your page and so on [14:42] lukstr: enzo: you can make node do the routing [14:42] Lorentz: Let node be the reverse proxy then? [14:42] lukstr: the issue is nginx closes after routing [14:43] enzo: I prefer a well known webserver as apache or nginx in the front indeed [14:43] enzo: and route the websocket/long polling clients [14:43] lukstr: looks like it's impossible with nginx currently [14:43] enzo: but I guess it's not possible... [14:43] brianc1: if you need socket.io on 80 i think you could set up a separate sub-domain for the socket.io server... [14:43] lukstr: apparently HAProxy can do it [14:43] aconbere has joined the channel [14:44] `3rdEden: nawww no subdomain [14:44] enzo: yes brianc1 not a bad idea, [14:44] `3rdEden: it is a bad idea [14:44] `3rdEden: as you will disable allot of high quality transports [14:44] enzo: `3rdEden: brianc1 meant another domain, and using port 80 on it [14:44] `3rdEden: because not all socket.io transports are cross domain compatible [14:44] enzo: ? `3rdEden ? [14:44] baudehlo has joined the channel [14:45] `3rdEden: i can't type that fast lol [14:45] `3rdEden: why don't you add node-http-proxy on port 80? it seems to be able to proxy websocket requests [14:45] `3rdEden: and have that proxy between your php and node app [14:46] enzo: lukstr: HAProxy works with apache or nginx ? (or both) [14:46] lukstr: enzo: I assume it's the same class as something like nginx [14:46] sooli has joined the channel [14:47] enzo: hum `3rdEden you mean nginx on port 80 + node-http-proxy, that proxy towards node.js running on port 8080 for example ? [14:47] lukstr: enzo: https://github.com/yaoweibin/nginx_tcp_proxy_module << nginx module for tcp proxing might do it, if it's stable [14:47] sooli: hello [14:47] pomodoro has joined the channel [14:47] sooli: Hi have a pb with expressjs and app.use(express.bodyParser()); [14:47] enzo: ok lukstr [14:48] sooli: I don't have any body attributes created in my req object [14:48] enzo: but `3rdEden I don't understand why a subdomain is a bad idea ? seems perfect, no proxy at all [14:48] enzo: only another IP, and using port 80 on it [14:48] `3rdEden: because it's considered cross domain [14:48] `3rdEden: when a browser doesn't support websockets or flash [14:48] `3rdEden: it will fallback to polling [14:48] `3rdEden: XHR polling for example, and XHR can't be used cross browser [14:48] enzo: socket.io doesn't support cross domain ? [14:48] enzo: well it can `3rdEden [14:48] micheil: most browsers support either websockets or flash. [14:49] `3rdEden: It's not a limitation of socket.io it's a limitation of the browsers [14:49] enzo: no [14:49] enzo: it's a limitation of socket.io [14:49] `3rdEden: sure, socket.io is gonna ship an internal browser that will allow IE7 to do cross browser XHR [14:49] enzo: indeed i've coded a websocket server, i can run it on ip:port different than the main ip:80, and it rocks [14:49] enzo: => socket.io has to handle the OPTIONS query for that [14:50] `3rdEden: it supports all that [14:50] `3rdEden: but that doesn't mean that there are browser that doesn't do / support it [14:50] lukstr: enzo: there will still be cases where a certain browser will not work at all with your app [14:50] `3rdEden: and if you go cross domain these will fallback to json polling for example [14:50] clip has joined the channel [14:50] rfay has joined the channel [14:51] `3rdEden: and there is nothing what socket.io can do about that, as it already leverages all existing web techonologies to create a peristent real time stream of information [14:51] enzo: ok, gonna test the OPTIONS support on other browsers to have an idea [14:52] enzo: you think some famous browsers still doesn't support this `3rdEden ? [14:52] seivan has joined the channel [14:52] `3rdEden: i'm not talking about the famouse high end browser, im referring to the crappy ie5,6,7, ff 2.0, opera 9 etc [14:53] halfhalo: nobody likes those. [14:53] `3rdEden: it might not be significat amount of your traffic, but they are still part of your traffic [14:53] enzo: yes, but how many % do they represent [14:53] CiRlE has joined the channel [14:53] `3rdEden: idk, i don't have your analytic stats :D [14:53] arpegius has joined the channel [14:53] chjj: ie6 and ie7 are so dead, dont support them [14:53] chjj: youre only perpetuating the problem if you do [14:54] enzo: but I see your point `3rdEden, thanks [14:54] eyesUnclouded has joined the channel [14:54] jbpros has joined the channel [14:55] lukstr: enzo: realistically you can circumvent css restrictions pretty easily on all modern browsers that have css enforcement, so the problem is fairly moot. Still, it's probably best to avoid it if possible, but I wouldn't redesign anything because of it [14:55] halfhalo: I stand by my last major rev - one for browser support rule, but with fancy stuff I always make sure the site can work without it [14:55] Sammy has joined the channel [14:56] lukstr: enzo: you could always hack something horrific on in the case your XHR is denied and just harass a same domain page that will proxy for you, but that is so ugly I don't even want to think about it [14:56] saschagehlich has joined the channel [14:56] enzo: perfect solution is the tcp proxy [14:57] enzo: but is it stable, that's the question... [14:57] lukstr: heh, yes [14:57] lukstr: it would seem it is used fairly often [14:57] lukstr: with nginx [14:57] enzo: gonna look for a tcp proxy under apache, I'm not using nginx for now, maybe I'll switch one day, if a benchmark convinces me [14:58] npmlive has joined the channel [14:58] npmlive: new release: dashboard: 0.0.1 Create dashboards with gadgets on node.js [14:58] npmlive: new release: node-schedule: 0.1.2 A cron-like and not-cron-like job scheduler for Node. [14:58] npmlive: new release: sessionvoc-client: 1.0.1 Client interfacing with a SessionVOC [14:58] npmlive: new release: kaffeine: 0.1.1 Enhanced Syntax for Javascript [14:58] npmlive: new release: pipe_utils: 0.0.5 Utilities for use with the pipe operator in Kaffeine [14:58] lukstr: enzo: I was convinced because I found nginx much easier to work with than apache :) [14:58] npmlive: new release: redback: 0.1.3 A high-level Redis library [14:58] npmlive: new release: recline: 0.0.4 High level client library for couchDB which facilitates the creation of wufoo like forms, meetup.com like events and membership groups. [14:58] npmlive: new release: mai: 0.0.2 send text/html e-mail with mail template management feature [14:58] npmlive: new release: saiga: 0.0.6 A set of handy file system/build tools, based on Nyala promises [14:58] npmlive: new release: wscomm: 0.0.4 WebSocket JSON-RPC bidirectional communication library [14:58] npmlive: new release: json4ender: 0.0.1 Ender bridge to provide JSON shim for JSON-less browsers and FF buggy JSON.stringify() [14:58] npmlive: new release: mootools-client: 1.3.2 MooTools build for the browser. [14:58] npmlive: new release: mootools-server: 1.3.2 MooTools build for the server side JavaScript. [14:58] npmlive: new release: mud: 0.0.4 A package manager for browser-side JavaScript [14:58] npmlive: new release: mootools-core: 1.3.2 The heart of MooTools. [14:58] npmlive: Hello there, people. [14:58] lukstr: that was nice [14:58] chapel: hmm, okay, well that is surely spam [14:59] aaronblohowiak: sorry [14:59] chapel: aaronblohowiak: haha [14:59] aaronblohowiak: my bot had a bug [14:59] clip: hello. since few days i'm trying to figure out how to configure a server so that i can connect from webbrowser and flash. the http-server worked fine with socket.io, but i couldn't connect from flash. than i noticed that i can connect to a tcp-server from flash, but not the web-browser? anyone good a good advice please?? [14:59] aaronblohowiak: but those are all new releases in the last 6 hours =( [14:59] enzo: much easier in what way lukstr ? for tcp proxy ? [14:59] lukstr: enzo: no just everything in general, apache drives me up the wall [14:59] baudehlo: wow, lots of releases for 6 hours. [15:00] lukstr: enzo: nginx just felt right [15:00] lukstr: and I had it default onto apache so apache can still handle crap under it [15:00] enzo: it performs rewriting, php module, deflate, and so on lukstr ? [15:00] lukstr: yes [15:00] lukstr: er [15:00] lukstr: not php module directly, but you just proxy something that does I guess [15:00] enzo: oh [15:01] lukstr: so if I want php I'll use apache :P [15:01] Bj_o_rn has joined the channel [15:01] lukstr: I just slapped it on top, told it to forward to apache, switched apache to 8080, and I had to change nothing else. It took about 15 minutes [15:01] vipaca has joined the channel [15:01] vipaca has joined the channel [15:02] sub_pop has joined the channel [15:02] pizthewiz has joined the channel [15:02] enzo: It seems to be able to use php under nginx, with php fastcgi [15:02] halfhalo: yeah, I run php fine under nginx [15:03] Epeli has joined the channel [15:03] themiddleman_itv has joined the channel [15:04] davidsklar has joined the channel [15:05] tswicegood has joined the channel [15:05] OprahWeLoveYou has joined the channel [15:05] themiddleman_itv has joined the channel [15:06] OprahWeLoveYou: What is the best practice for unescaping a string? [15:06] OprahWeLoveYou: To convert stuff like %20 to spaces and %2C to , [15:06] lukstr: enzo: there you go :) I'm in a hating on php phase so I give bad advice [15:06] eldios: use a dedicated module which does urlescaping? [15:07] OprahWeLoveYou: Or just do some rregular expression replaces? [15:07] eldios: OprahWeLoveYou, look for sanitizing modules or such [15:07] aconbere has joined the channel [15:07] eldios: we if you feel like you're 110% thath you will sanitize every possible combination you would need [15:07] eldios: do so =) [15:08] OprahWeLoveYou: We're trying to minimize dependence on modules in order to limit the exposure of our large, commercial project to node.js changes. [15:08] eldios: fork a stable working sanitizing module [15:08] eldios: and keep it inside your project [15:08] OprahWeLoveYou: Had to do that with brianc's pg module to fix bugs in it for a while [15:09] OprahWeLoveYou: But now in new versions pg is fixed :) [15:10] lukstr: OprahWeLoveYou: just rip out the heart of a urlescaping module, most of them are pretty similar and tiny from what I've seen [15:10] JackeyChan has joined the channel [15:10] briznad has joined the channel [15:11] baudehlo: OprahWeLoveYou: querystring.unescape [15:11] thinkt4nk has joined the channel [15:12] Tobsn has joined the channel [15:13] OprahWeLoveYou: baudehlo: That's present in node.js by default? [15:13] baudehlo: yes. [15:14] vipaca has joined the channel [15:14] vipaca has joined the channel [15:14] baudehlo: var unescape = require('querystring').unescape; [15:14] copongcopong has joined the channel [15:16] Insanity5902 has joined the channel [15:16] OprahWeLoveYou: I wonder what happens when you escape %27 :) [15:16] w_wilkins has joined the channel [15:16] sjbreen: sorry, why are you unescaping a string? [15:17] OprahWeLoveYou: %25 ah [15:17] pyrony has joined the channel [15:17] sjbreen: I thought you always escape one [15:17] OprahWeLoveYou: So %27 becomes %2527 after escaping [15:17] OprahWeLoveYou: I am escaping so I can POST [15:17] colinclark has joined the channel [15:18] pcardune has joined the channel [15:18] baudehlo: I'm pretty sure posting handles escaping for you in the API. [15:18] OprahWeLoveYou: I wish I could just post C strings delimited by a NULL [15:18] OprahWeLoveYou: baudehlo: Oh interesting [15:19] baudehlo: oh maybe not. [15:19] ryah has joined the channel [15:19] baudehlo: *shrug* ignore me. I don't do web stuff. [15:19] figital has joined the channel [15:20] Lorentz: Now you can mix web stuff with C++ stuff! [15:20] OprahWeLoveYou: baudehlo: I like your line of thinking though :) [15:20] Lorentz: Anything goes, anything goes [15:20] sveimac has joined the channel [15:21] tjholowaychuk has joined the channel [15:21] OprahWeLoveYou: I wish things like POST and COOKIES were as easy as PHP sometimes [15:21] azend has joined the channel [15:22] OprahWeLoveYou: But maybe ryah wants to keep node.js simple [15:22] jgv has joined the channel [15:22] ShuzRaGe: woo, almost finished dnode middleware [15:22] BillyBreen has joined the channel [15:23] jgv has left the channel [15:23] skohorn has joined the channel [15:23] sh1mmer has joined the channel [15:23] Venom_X has joined the channel [15:23] arpegius has joined the channel [15:24] OprahWeLoveYou: ChrisPartridge: Oooh middle ware [15:25] donaldpcook has joined the channel [15:25] newy_ has joined the channel [15:25] bloodsucker has joined the channel [15:26] bloodsucker: Holaaaa node.js developersss! [15:26] Lorentz: hi [15:26] bloodsucker: hi Lorentz [15:26] bloodsucker: I love node.js [15:26] Lorentz: We all do. [15:26] bloodsucker: it is my new language for server side [15:26] bloodsucker: prefered* [15:27] tbranyen: you mean framework [15:27] tbranyen: :) [15:27] tbranyen: its a language in the same way american is a language [15:27] bloodsucker: tbranyen, "your" means "i"? [15:27] bloodsucker: me*/I/blooduscker?? [15:27] bloodsucker: xD [15:28] tbranyen: ... yes [15:28] bloodsucker: oh, well, now i understand xD [15:28] bloodsucker: So i love node.js "framework" [15:28] bloodsucker: javascript "framework" [15:28] bloodsucker: and... if it works using mootools for server... it is going the best so. [15:29] sveimac has joined the channel [15:29] Renegade001 has joined the channel [15:30] rpflo has joined the channel [15:30] bloodsucker: I think javascript is the future. In all ways. [15:30] baudehlo: really? [15:30] bloodsucker: of course. [15:30] baudehlo: it better get a lot better then :) [15:31] newy_ has joined the channel [15:31] tbranyen: javascript isn't really the future so much as the present [15:31] guigouz: it's just a tool, among many others, each one's good at a particular job [15:31] bloodsucker: it is our present now [15:31] lukstr: we're just lucky that the engines have gotten fast [15:31] bloodsucker: lukstr, yes [15:31] bloodsucker: Thanks Google [15:32] tbranyen: lukstr: yeah and now that the gaming industry and looking serious at html5 its only going to get faster [15:32] tbranyen: and/is [15:32] donaldpcook has joined the channel [15:32] bloodsucker: tbranyen, i am doing a html5 game [15:32] bloodsucker: and the server side of my game is using node.js [15:32] tbranyen: i never would have guessed [15:32] lukstr: tbranyen: you mean embedded webkit or making games in html5? because it's still a ways off I'd say [15:33] tbranyen: lukstr: well angry birds arguably the most popular mobile game atm was just ported [15:33] deepthawtz has joined the channel [15:33] lukstr: there is a lot of stuff in html5 that is illdefined [15:33] tbranyen: lukstr: the keyword i gave was "interest" [15:33] bloodsucker: well, i mean: browser (not wetbkit) games (html+css+alotofjavascript [15:33] tbranyen: wait i didn't say that [15:33] tbranyen: but i meant it! [15:33] bloodsucker: +serverSide controller using socket.io in node. [15:33] lukstr: yeah but angry birds is a casual game. Casual games have almost always existed in that market space. It would be nice to see some real hard core stuff [15:34] bloodsucker: i am working in a real game engine for a real game in browser. [15:34] bloodsucker: ...with isometric perspective xD [15:34] bloodsucker: in the past i choosed canvas for the draw part.... but it is slowly by some reasons [15:35] bloodsucker: So my games renders directly using html (better! :P) [15:35] lukstr: huh [15:35] bloodsucker: because it doesn't re-render each 1/60 seconds. [15:35] bloodsucker: sorry for my english. [15:35] guigouz: bloodsucker: are you using any specific library for client side rendering ? [15:36] bloodsucker: guigouz, no. Mootools and my mind... it is too easy. [15:36] lukstr: no worries, I'm just confused about the directly using html part, you mean rendering with html elements rather than to a surface (webgl/canvas) [15:36] bloodsucker: lukstr, exactly. [15:36] bloodsucker: I have a very OLLLD demo of my game [15:36] leek has joined the channel [15:36] bloodsucker: It is only using a client side demo. [15:36] bloodsucker: I can put for see you [15:37] pietern has joined the channel [15:37] bloodsucker: and if you have firebug or compatible debugger see the differents elements in html [15:37] bloodsucker: wait for my link [15:37] chrislorenz has joined the channel [15:37] iori has joined the channel [15:37] EvanCarroll: how do you get an isometric tile out of html, isometric requires equilateral parallelograms? skew a cube with some esoteric css3, and rotate it with css3 ? [15:37] bloodsucker: Please, see the demo: http://kinebox.com/demo/cabocity/main.html [15:38] bloodsucker: EvanCarroll, using CSS3 [15:38] bloodsucker: EvanCarroll, yes :D [15:38] EvanCarroll: but that's a canvas. [15:38] bloodsucker: See the css files of my project. The "isometric" css class exactly. [15:38] test: css? [15:38] bloodsucker: EvanCarroll, no [15:38] bloodsucker: is css not canvas [15:38] test: this a node forum [15:38] bloodsucker: test, sorry test. [15:39] EvanCarroll: that webpage is clearly canvas. [15:39] bloodsucker: EvanCarroll, isn't canvas. [15:39] lukstr: oh dear [15:39] test: no worries [15:39] bloodsucker: there aren't canvas there hehe [15:39] ryah_ has joined the channel [15:39] bloodsucker: :P [15:39] lukstr: EvanCarroll: no he's using css transforms [15:39] bloodsucker: everybody things that :P [15:39] guigouz: bloodsucker: should the links on the top work ? [15:39] EvanCarroll: 10:38 < bloodsucker> Please, see the demo: http://kinebox.com/demo/cabocity/main.html [15:39] bloodsucker: yes [15:39] EvanCarroll: [15:39] EvanCarroll: right on that page. [15:39] bloodsucker: EvanCarroll, is ONLY for the grid (sorry ) :P [15:39] lukstr: EvanCarroll: all the tiles are elements, transformed [15:40] bloodsucker: guigouz, yes, it works, but you should add roads [15:40] guigouz: links aren't working here [15:40] bloodsucker: add a road to the more right coor. [15:40] bloodsucker: then click the first "demo" link [15:40] bloodsucker: and see whats happends :P [15:40] nibblebot: what are folks' preferred console.log enhancer? color, show filename, line number, etc [15:40] bloodsucker: For test demo links do: add a road in the most right corner to other coor. [15:40] bloodsucker: then click [15:41] nibblebot: and also I guess syslogging util [15:41] guigouz: now i got it [15:41] bloodsucker: guigouz, is it too lovely haha [15:41] bloodsucker: there are little zeldas... the first image i found in internet xD [15:41] bloodsucker: this is a old demo of the project but it have better things [15:42] bloodsucker: more and better things [15:42] sathia: hi [15:43] sathia: looking for a nodejs developer to develop a nodejs chat for mobile phones, if interested send me a message [15:43] lazyshot has joined the channel [15:43] LowValueTarget has joined the channel [15:43] guigouz: bloodsucker: yesterday i was looking at http://craftyjs.com/demos.php [15:43] guigouz: I develop game-related services, but only the server-side part for now [15:44] stephank has joined the channel [15:44] guigouz: there are different guys working at the user interface parte [15:44] tiemonster: sathia: where? [15:44] guigouz: part* [15:44] multipass has joined the channel [15:45] guigouz: bloodsucker: ever watched the paul bakaus talk about the Aves Engine (which was later bought by Zynga) ? [15:45] omni5cience has joined the channel [15:46] bloodsucker: guigouz, i don't know what talk are you talked but could be the same i was inspired. yes. [15:46] bloodsucker: but i don't like the methods of css it use [15:46] bloodsucker: so i use other better [15:46] bloodsucker: but i are similars [15:46] bloodsucker: it* [15:46] guigouz: it has nice ideas, like using the canvas for collision detection and html for the rendering [15:46] bloodsucker: guigouz, exactly. [15:46] guigouz: cool [15:47] bloodsucker: before see this talk i was using canvas... but i was too difficul to understand it [15:47] d0k has joined the channel [15:47] bloodsucker: i am talking for about the rotation of objects, etc... [15:48] bloodsucker: but after the talk i understood that if we use html, static, for render i was better.... [15:48] guigouz: right now I'm developing a timer library to keep states synchronized between client and server, that's why I was looking at those engine implementations [15:48] bloodsucker: the worst think of html render is when you move and object [15:48] VovaZaycev has joined the channel [15:49] guigouz: craftyjs has the most straightforward one, I guess… the other engines have everything tight-coupled [15:49] bloodsucker: guigouz, i am actualy development a server side demo of my project. thats how i knew node.js [15:49] guigouz: for the server-side part I'm tied to appegine/python for now [15:49] pandeiro has joined the channel [15:50] bloodsucker: guigouz, i didn't start to code the server side in node.js... but i am thinkind in node.js+mootools+socket.io+mysql [15:51] guigouz: we're targeting too many concurrent players, so mysql wasn't a choice from the beggining [15:51] bloodsucker: guigouz, can you explain it, please? [15:51] guigouz: it's hard to scale mysql if you have too many concurrent writes [15:51] herbySk has joined the channel [15:51] bloodsucker: guigouz, :O! you are killing me by now. [15:51] bloodsucker: xd [15:51] bloodsucker: so what you suggest me? [15:51] bloodsucker: don't store the data? [15:52] bloodsucker: xD [15:52] herbySk has joined the channel [15:52] guigouz: that's why there are all those "nosql" alternatives [15:52] bloodsucker: oh, ah [15:52] norviller has joined the channel [15:52] guigouz: if I was going to start developing something new now, I'd look at www.membase.org [15:52] bloodsucker: but i essence are the same of sql? it needs write in files too [15:53] bloodsucker: mysql* [15:53] context: Riak looks amazingly awesome for scaling purposes [15:53] guigouz: i just have in-depth knowledge of google's datastore [15:53] Yuffster_work has joined the channel [15:54] bloodsucker: guigouz, context i could use mysql only when users disconnects or connects... and the other part of the time use mememory? [15:54] Spion has joined the channel [15:54] arpegius has joined the channel [15:54] sh1mmer has joined the channel [15:54] context: huh [15:54] guigouz: bloodsucker: minimizing writes is an alternative [15:55] guigouz: bloodsucker: it really depends on the game's needs [15:55] bloodsucker: guigouz, ok [15:55] bloodsucker: guigouz, membase have support for node.js? [15:55] guigouz: if it's more single player, you could have load storage and sync that with the server (like a save game) [15:55] Epeli: Is there a tool in Node which can copy directory trees? [15:55] niftylettuce_ has joined the channel [15:55] deepthawtz has joined the channel [15:55] guigouz: bloodsucker: membase uses the same protocol as memcache, so I guess so [15:55] tjholowaychuk: Epeli: check out the modules list for "fs utils" or something [15:55] tjholowaychuk: sure there are some [15:56] bloodsucker: guigouz, this is everything new for me... omg [15:56] bloodsucker: :O [15:56] sjbreen: actually, is there an npm package for irc stuff? [15:56] guigouz: bloodsucker: someone on a google i/o talk started his presentation by saying "scaling things is hard" [15:56] guigouz: hehe [15:57] beldur has joined the channel [15:57] bloodsucker: guigouz, haha [15:57] Opaque has joined the channel [15:57] guigouz: bloodsucker: there are some tradeoffs by using nosql technologies. you generally have to deal with aggregation functions (count, sum, and such) in code [15:58] bloodsucker: guigouz, and my ignorance in this matter... [15:58] bloodsucker: xD [15:58] bloodsucker: guigouz, anyway thanks a lot for the links and suggestions. [15:58] bloodsucker: It are too useful for me. [15:58] bloodsucker: I will study it before start code the server side [15:59] sveimac has joined the channel [15:59] bloodsucker: My engine should have "good scaling" because it is thinking to be used with a lot of concurrent users. [15:59] bloodsucker: thats why tonight i asked about maximum memory of node.js [15:59] guigouz: bloodsucker: good luck. everything on this world is really new, both server side nosql and client-side html5. [16:00] bloodsucker: guigouz, thanks a lot :) [16:00] bloodsucker: anyway i am more happy for this new knowledges [16:00] SuperPhly has joined the channel [16:01] colinclark_ has joined the channel [16:01] alek_br_ has joined the channel [16:01] aguynamedben has joined the channel [16:01] suckerpunch has joined the channel [16:01] guigouz: bloodsucker: they make me feel like that the world's been coding wrong for the last 15 ou 20 years =) [16:02] Tidwell_ has joined the channel [16:02] Qbix2 has joined the channel [16:02] bloodsucker: guigouz, xD [16:03] bloodsucker: i don't things why jasvascript is rediscovers this last years... and don't used in the past. [16:03] ryanfitz has joined the channel [16:03] beawesomeinstead has joined the channel [16:03] beawesomeinstead has joined the channel [16:03] colinclark__ has joined the channel [16:03] guigouz: bloodsucker: it's an architecture shift. more things are running on the client now. [16:03] zeade has joined the channel [16:03] mertonium has joined the channel [16:03] bloodsucker: in fact i thought that PHP was "la rehostia" and now...! [16:04] bloodsucker: guigouz, yes, but only in part. The real conclusion is an application is in server and client side... [16:04] guigouz: php is still my preferred language for business solutions (basically crud), but now my server side scripts only output json, which is processed on the client. [16:05] bloodsucker: you know someone general or rules for a communicaton between server and client using json? [16:05] bene1 has joined the channel [16:05] bloodsucker: somethings* [16:06] guigouz: basically that's defined by REST [16:06] bloodsucker: or "do what you do want in your api"? [16:06] c4milo has left the channel [16:06] bloodsucker: ah. [16:06] guigouz: "rest in practice" is a nice book to begin with [16:06] bloodsucker: oh, thnaks a lot too :P [16:07] eresair has joined the channel [16:07] c4milo has joined the channel [16:07] systemfault: guigouz: Thanks, I'll check that one. I only read the oreilly book (restful services) [16:07] bloodsucker: An important concept in REST is the existence of resources (data items), which can be accessed using a global identifier [16:08] bloodsucker: i think i am using rest witout know it xD [16:08] [algo] has joined the channel [16:08] [algo]: hello [16:08] guigouz: bloodsucker: there's a new pattern called MVVM which should be what MVC was in the 2000s (rails and stuff) [16:08] bloodsucker: but i will read more about this [16:08] systemfault: REST is just a cool term to say "use HTTP" [16:08] [algo]: how can I res.render with non-200 code in Express ? [16:08] c4milo: bloodsucker: and it should be hypermedia driven [16:08] guigouz: bloodsucker: there's a nice js implementation called knockoutjs - www.knockoutjs.com [16:08] tjholowaychuk: [algo]: res.render(whatever, { status: n }) [16:08] tjholowaychuk: or res.statusCode = n [16:08] [algo]: tjgillies: thanks! [16:08] guigouz: c4milo: that's it =) [16:08] bloodsucker: thnaks another time! :P [16:08] [algo]: (not found in docs) [16:09] c4milo: Rest in Practice is a really good book to start with [16:09] bloodsucker: guigouz, i will download this book 8-) [16:09] c4milo: although there some things I disagree [16:09] bloodsucker: or check in the school library. [16:09] bloodsucker: xD [16:09] springmeyer has joined the channel [16:09] [algo]: Rest in Practice [16:10] guigouz: c4milo: REST is a theory, and there's no such thing as utopia [16:10] [algo]: almost Rest in Peace [16:10] guigouz: but it's a great paradigm shift [16:10] pyrony has joined the channel [16:10] bloodsucker: wikipedia is my friend [16:11] jtsnow has joined the channel [16:11] Muon has joined the channel [16:11] Muon has left the channel [16:11] jchris has joined the channel [16:12] context: anyone here use forever? i get: TypeError: Cannot read property 'yellow' of undefined at Object.exec (/usr/local/lib64/node_modules/forever/lib/forever/cli.js:41:43) at Object. (/usr/local/lib64/node_modules/forever/bin/forever:185:13) [16:12] test: why use forever? [16:12] test: use cluster [16:12] context: so it runs forever? [16:13] test: use cluster for that [16:13] context: cluster > forever? [16:13] test: creates worker threads [16:13] test: monitors each worker [16:13] tjholowaychuk: processes [16:13] context: ahh kk [16:13] test: restarts it if a worker dies [16:14] test: tjholowaychuk: do you agree sir? [16:14] bloodsucker: context, one cuestions what means "kk"? [16:14] bloodsucker: you read this by you some times [16:14] tjholowaychuk: test: I thought forever was for generic stuff [16:14] tjholowaychuk: not servers [16:14] context: bloodsucker: it mans "ok" [16:14] context: im just too lazy to move my finger a quarter of an inch [16:14] bloodsucker: lol for me xD [16:15] towns has joined the channel [16:15] context: cluster requires writing code [16:15] context: not that important right now [16:15] sh1mmer has joined the channel [16:15] tjholowaychuk: pff a tiny bit of code [16:15] tjholowaychuk: if you are trying to keep a server up [16:16] tjholowaychuk: that's what cluster is designed for [16:16] tjholowaychuk: forever seems to be for generic commands only really [16:16] tjholowaychuk: so probably not as ideal [16:16] tjholowaychuk: but it can be as short as cluster(server).listen(80) [16:16] brad3 has joined the channel [16:16] tjholowaychuk: depending on the plugins [16:17] brad3: Quick newbie question: How to synchronize http requests so code only will be called when they are all complete? [16:17] kmiyashiro has joined the channel [16:17] [algo]: by the way, any info about express.io ? [16:17] [algo]: I'm using Express and Socket [16:17] [algo]: and I'd like to use socket for making requests to express [16:17] [algo]: (why making additional xhr if I have it) [16:18] tjholowaychuk: no express.io info yet [16:18] [algo]: I wonder if it will allow such thing [16:18] [algo]: or I have to hack express by myself [16:18] bentruyman has joined the channel [16:19] sh1mmer has joined the channel [16:20] Lagnus has joined the channel [16:20] zeade has joined the channel [16:22] mertonium has joined the channel [16:22] pcardune has joined the channel [16:23] ChrisPartridge: [algo]: give dnode a shot [16:23] hasta84: Argh... issue: " [16:23] hasta84: node: ../deps/libev/ev.c:2710: ev_timer_start: Assertion `("libev: ev_timer_start called with negative timer repeat value", w->repeat >= 0.)' failed." [16:23] drudge: man where is w1nk when you need him [16:23] hasta84: why does it work locally? [16:23] [algo]: https://github.com/substack/dnode ? [16:23] hasta84: I use the v0.4 branch of node [16:24] uclinux has joined the channel [16:24] kblake has joined the channel [16:24] arpegius has joined the channel [16:24] [algo]: I like Socket.IO 0.7 [16:24] [algo]: I guess DNode replaces it ? [16:24] bloodsucker: [algo], it is the best [16:24] steph021 has joined the channel [16:24] steph021 has joined the channel [16:24] bloodsucker: DNode?�?�? [16:24] [algo]: bloodsucker: what's the best ? [16:24] bloodsucker: socket.io works well for me [16:25] [algo]: 0.7 looks good really [16:25] [algo]: 0.6 is bad [16:25] mertonium has joined the channel [16:25] bloodsucker: i don't know what version i am using... [16:25] [algo]: 0.6 [16:25] sleeplessinc_ has joined the channel [16:25] [algo]: there are many hacks around it [16:25] guybrush: [algo]: dnode is built upon stocketio (i.e. abstraction) [16:25] guybrush: [algo]: also checkout nowjs [16:25] [algo]: hmmm [16:25] guybrush: and capsule [16:25] [algo]: eh [16:26] [algo]: ok [16:26] bloodsucker: i think i will stay using socket.io library.... [16:26] guybrush: also note that 0.7 is very beta, dnode at least runs with 0.6.x [16:26] indutny has joined the channel [16:27] gazumps has joined the channel [16:28] [algo]: yes interesting [16:28] [algo]: so much stuff that changes actively [16:28] aconbere has joined the channel [16:28] guybrush: i like that :D [16:28] samsonjs has joined the channel [16:28] [algo]: I hate it [16:29] [algo]: the stuff I used half-year ago is now deprecated [16:29] guybrush: if you want to get a quick update on whats on with the whole socketio-stuff see the slides from nodeconf http://cl.ly/0B0C3f133K1m3j422n0K [16:29] sveimac has joined the channel [16:30] drudge: wink_ [16:30] tim_smart has joined the channel [16:30] samsonjs has joined the channel [16:30] samsonjs_ has joined the channel [16:32] febits has joined the channel [16:32] qbert has joined the channel [16:32] pietern has joined the channel [16:35] sathia has left the channel [16:35] samsonjs has joined the channel [16:35] aberry has joined the channel [16:36] Kami_ has joined the channel [16:37] Corren has joined the channel [16:37] Venom_X has joined the channel [16:38] ryanj has joined the channel [16:38] zackattack_ has joined the channel [16:40] amerine has joined the channel [16:41] lmorchard has joined the channel [16:41] micheil has joined the channel [16:42] CIA-104 has joined the channel [16:42] clip: is it alright, to post a question that i posted on stackoverflow here? [16:43] puffpio has joined the channel [16:43] clip: i'm really stuck with a project [16:43] broofa has joined the channel [16:44] eyesUnclouded has joined the channel [16:44] prettyrobots has joined the channel [16:44] dguttman has joined the channel [16:45] stride: if you post the link and not c&p the whole text.. why not? :) [16:45] multipass has joined the channel [16:45] clip: i hope it's understandable : http://stackoverflow.com/questions/5981451/node-js-and-sockets-for-browser-and-flash [16:46] copongcopong1 has joined the channel [16:47] Me1000 has joined the channel [16:47] stride: oh, flash, not really my topic, sorry [16:48] guybrush: use canvas :p [16:48] stride: couldn't you just exchange the session id? [16:48] stride: plus, you could look at the flash transport socket.io uses, I guess it's open source [16:48] clip: yea, i don't want to use flash. but it's not my choice [16:49] guybrush: clip maybe try to tweet the learnboostguys [16:49] SuperPhly_ has joined the channel [16:49] guybrush: also there is a mailinglist [16:49] clip: and the flash transport is made for flex projects, flash doesn't have the requested librarys [16:49] eldios: I suppose something like "ewwww, flash! fortunately it's not my topic!" could me more appropriate :P [16:49] guybrush: http://groups.google.com/group/socket_io [16:50] clip: ok i'll give it a try [16:50] bloodsucker: guybrush, canvas for what? [16:50] newy has joined the channel [16:50] SuperPhly has left the channel [16:50] isaacs has joined the channel [16:50] stride: eldios: didn't you sign the freenode terms of service? no matter what's the topic, somebody has to mention a potentially unrelated technology within 10 minutes [16:50] stride: :> [16:51] bloodsucker: stride, i didn't know it [16:51] bloodsucker: so bad [16:51] nexxy: guys have you tried that new gum?! [16:51] nexxy: it's sooooo delicious [16:51] nexxy: http://www.stridegum.com/ [16:51] bloodsucker: gum?� what gum nexxy ? [16:51] towski has joined the channel [16:51] bloodsucker: this is spam or related? xD [16:51] nexxy: neither [16:51] nexxy: I was getting a jump on the next 10 minutes [16:52] nexxy: that and my IRC client is sponsored by stride gum [16:52] nexxy: so I kind of have to or I get disconnected [16:53] tjholowaychuk: gotta love when memoization makes things slower [16:53] tjholowaychuk: go js go [16:53] bloodsucker: nexxy, wtf! [16:53] nexxy: bloodsucker, que? [16:53] bloodsucker: are a gum sponsoring a irc client??� [16:53] duncanbeevers: Speaking of canvas, check out this beautiful fluent interface I built around it: https://github.com/duncanbeevers/node-ContextChain/blob/master/lib/ContextChain.js [16:53] bloodsucker: and this clients spams you? [16:53] bloodsucker: o_O [16:53] awenkhh has joined the channel [16:54] nexxy: bloodsucker, it's a joke dear [16:54] nexxy: but you ruin it when you make me explain it ;< [16:54] arpegius has joined the channel [16:54] bloodsucker: nexxy, so sorry xD [16:54] nexxy: stride was telling eldios that you have to mention something off topic every 10 minutes [16:54] bloodsucker: i don't have a gum... i just jelous [16:54] bloodsucker: thats all [16:54] nexxy: and stride's name makes me think of gum [16:55] nexxy: to tell you the truth... neither do i ._. [16:55] nexxy: it was all a sham [16:55] bloodsucker: :O [16:55] bloodsucker: i want a gum right now. [16:55] nexxy: why settle for one when you can have a whole *pack*!? [16:55] towski has joined the channel [16:58] maximosis has joined the channel [16:59] brad3 has left the channel [17:00] sveimac has joined the channel [17:00] varioust has joined the channel [17:01] codemanki has joined the channel [17:01] donaldpcook: hey all...what module's everyone using for oauth2-ness? [17:02] perezd has joined the channel [17:03] aho has joined the channel [17:04] hasta84: Does someone know what to do about that: node: ../deps/libev/ev.c:2710: ev_timer_start: Assertion `("libev: ev_timer_start called with negative timer repeat value", w->repeat >= 0.)' failed. ? [17:04] nibblebot has joined the channel [17:04] q_no has joined the channel [17:05] bartt has joined the channel [17:05] wadey has joined the channel [17:06] nadirvardar has joined the channel [17:06] gaiusp has joined the channel [17:06] pandeiro has joined the channel [17:08] coreb has joined the channel [17:08] FireFly|n900 has joined the channel [17:08] deepthawtz has joined the channel [17:09] ryanfitz has joined the channel [17:10] liquidproof has joined the channel [17:11] russbuelt has joined the channel [17:11] zylo has joined the channel [17:12] newy_ has joined the channel [17:13] vipaca has joined the channel [17:13] trotter has joined the channel [17:14] mertonium has joined the channel [17:14] zcopley has joined the channel [17:16] saschagehlich_ has joined the channel [17:17] malkomalko has joined the channel [17:17] V1 has joined the channel [17:18] rauchg has joined the channel [17:18] lgomez has joined the channel [17:19] drudge: wink_: ping [17:19] lgomez: Hello! Does everyone know how I can avoid having to pass certain variables (like user.id) to every render call? Call them globals maybe? [17:20] lgomez: basically I need certain variables to be automatically available to every view. Using Jade btw. [17:20] Rodtusker has joined the channel [17:20] caolanm has joined the channel [17:22] towski_ has joined the channel [17:23] ryah has joined the channel [17:23] wink_: drudge: <3 [17:23] drudge: yeaaaaah :P [17:24] drudge: mind if i pm you (re: node-odbc) [17:24] wink_: have at it :> [17:24] tjholowaychuk: lgomez: read up on expressjs.com about dynamicHelpers [17:24] tjholowaychuk: lgomez: and/or res.local[s]() [17:24] arpegius has joined the channel [17:25] tjholowaychuk: which you can use to set locals within middleware [17:25] lgomez: awesome. thanks. I thnk I hust ran into it by chance. [17:25] beawesomeinstead has joined the channel [17:25] beawesomeinstead has joined the channel [17:27] japj has joined the channel [17:28] nadirvar_ has joined the channel [17:29] CIA-104 has joined the channel [17:30] kryptom has joined the channel [17:30] vipaca has joined the channel [17:30] sveimac has joined the channel [17:31] JacobSingh has joined the channel [17:32] tilgovi has joined the channel [17:33] [algo] has joined the channel [17:33] colinclark has joined the channel [17:34] ctide has left the channel [17:35] FireyFly|n900 has joined the channel [17:35] saschagehlich has joined the channel [17:35] aguynamedben has joined the channel [17:36] stride: nexxy: meh, I've seen ads for that gum. is it really good? [17:36] nexxy: yus [17:36] nexxy: but it doesn't last as long as they saaay [17:36] chjj: it never does... [17:36] nexxy: bah dum tshh [17:36] patcito has joined the channel [17:37] ryah_ has joined the channel [17:38] flippyhead has joined the channel [17:38] gmanika has joined the channel [17:39] rbnio has joined the channel [17:39] aaronblohowiak has joined the channel [17:39] eikaas_ has joined the channel [17:39] eee_c has joined the channel [17:40] aaronblohowiak: sorry for the channel spam earlier, duostack does not keep your process alive =( [17:42] mattly_ has joined the channel [17:44] dmojoryder has joined the channel [17:45] colinclark has joined the channel [17:46] sh1mmer has joined the channel [17:46] w_wilkins has joined the channel [17:48] FireFly|n900 has joined the channel [17:48] ceej has joined the channel [17:48] jacobolus has joined the channel [17:49] perlmonkey2 has joined the channel [17:49] tahu has joined the channel [17:49] cloudhea1 has joined the channel [17:51] gtramont1na: Hey tjholowaychuk, I'm having a hard time using variables inside a @keyframes... Any ideas? [17:52] tjholowaychuk: gtramont1na: hmm can you send me a gist? I'll take a look [17:52] gtramont1na: https://gist.github.com/969067 [17:53] cloudhead_ has joined the channel [17:53] gtramont1na: Im using the $ as an identifier for me to know the variables in my .styl [17:54] gtramont1na: I also tried moving the '$border-radius = 25px' to inside that @keyframes but then it doesn't even compile [17:55] q_no has joined the channel [17:55] arpegius has joined the channel [17:55] tjholowaychuk: gtramont1na: one sec ill try [17:55] gtramont1na: tks [17:56] opeczun has joined the channel [17:56] tjholowaychuk: gtramont1na: fails for me too, I'll add a test case / issue and see if I can get it fixed right away [17:56] gtramont1na: Awesome, man... Thanks a lot! [17:57] Doosje has joined the channel [17:57] sridatta has joined the channel [17:57] pifantastic has joined the channel [17:57] tylerstalder has joined the channel [17:57] ardcore has joined the channel [17:57] ardcore has left the channel [17:58] wadey has joined the channel [17:58] frgtn has joined the channel [18:00] sveimac has joined the channel [18:01] llkazu has joined the channel [18:01] riven has joined the channel [18:01] riven has joined the channel [18:02] Tobias| has joined the channel [18:02] tjholowaychuk: gtramont1na: quick fix, one sec [18:02] isaacs has joined the channel [18:02] Spion has joined the channel [18:03] flippyhead_ has joined the channel [18:03] jchris has joined the channel [18:03] Casperin has joined the channel [18:03] pifantastic_ has joined the channel [18:04] tjholowaychuk: 21074d762c959dcc5a846fc0788f54c3dcbdee3e fixes it [18:04] gtramont1na: Terrific! Thanks man! [18:04] tjholowaychuk: releasing righttttt away [18:04] sonnym1 has joined the channel [18:04] ewdafa has joined the channel [18:05] tjholowaychuk: 0.12.4 [18:05] Me1000 has joined the channel [18:05] Bonuspunkt has joined the channel [18:06] ewdafa_ has joined the channel [18:06] fostah has joined the channel [18:07] wilmoore has joined the channel [18:07] kixxauth has joined the channel [18:08] wadey: isaacs: are you here? [18:09] wadey: isaacs: I'm wondering what you think about making it possible to override npm.dir in the config [18:09] isaqual has joined the channel [18:09] brianc1: ryah: why rename liboio to libuv? [18:10] ryah: brianc1: easier to pronounce [18:10] chjj: sounds cooler [18:10] chjj: its like uv...except its lib [18:10] brianc1: i thought oio sounded so cool [18:10] isaacs: wadey: why? [18:10] isaacs: wadey: you mean, install in a folder not called node_modules? no chance. [18:10] wadey: isaacs: I'm trying out using npm to make debian packages: https://github.com/simplegeo/cluster/blob/master/debian/rules#L5-7 [18:11] wadey: but I have to do an extra step to mv the folder afterworks [18:11] gtramont1na: tjholowaychuk: Thanks for the fix dude, but I need to report another little issue. If I declare the variable inside the @keyframes, it doesn't compile. [18:11] isaacs: wadey: that'll also break the symlinks. [18:11] wadey: right, thats why it would be easier if I can change npm.dir [18:11] isaacs: wadey: just accept it. bury the node_modules folder in whatever folder debian requires you to use. [18:11] nibblebot has joined the channel [18:11] tjholowaychuk: gtramont1na within one of the frame blocks? or @keyframes ? [18:11] isaacs: wadey: changing the name of node_modules is prohibitively complicated. that assumption is everywhere in the code. [18:12] tjholowaychuk: gtramont1na: I might have to tweak things a bit for it to work within the main @keyframes block [18:12] isaacs: wadey: it seems like a simple thing to change. i tried it once. it's a Bad Idea. it'd be a rewrite. not happening, sorry. [18:12] isaacs: wadey: just change the --prefix, and then set up your own symlinks. [18:12] wadey: isaacs: yeah I understand that, but I would rather not have debian packages install to node_modules [18:12] gtramont1na: Like this: https://gist.github.com/969111 [18:12] isaacs: wadey: then write your own npm ;) [18:12] wadey: haha [18:12] isaacs: wadey: srsly, that's what it woudl amount to. [18:13] sourcode has joined the channel [18:13] gtramont1na: tjholowaychuk: Oh. Ok.. That's not a big deal. [18:13] isaacs: wadey: i won't accept a patch to add this functionality, either, because it will increase the maintenance cost and complexity overhead. [18:13] tjholowaychuk: gtramont1na: I can do it no worries :D haha [18:13] gtramont1na: tjholowaychuk: Is it expected to work? [18:13] gtramont1na: *was [18:13] mscdex: launch the chronoskimmer! [18:14] tjholowaychuk: nah I know it wont right now, but I agree that it should work [18:14] wadey: isaacs: fair enough, I understand [18:14] isaacs: wadey: it's better to just have your debian stuff end up in /usr/local/lib/cluster/contents/{bin,lib/node_modules} [18:14] isaacs: and then symlink to it or whatever. [18:14] isaacs: it's cool [18:14] wadey: isaacs: oh, I like that idea [18:14] gtramont1na: tjholowaychuk: Cool. Thanks for the support! [18:14] tjholowaychuk: np [18:14] sleeplessinc has joined the channel [18:14] isaacs: --prefix .../cluster/contents --global [18:15] joshthecoder has joined the channel [18:15] aaronblohowiak: isaacs: are you going to be around for office hours? [18:15] wadey: isaacs: I'll do that, thanks for the tip [18:16] dingomanatee has joined the channel [18:16] dingomanatee: Has anyone done SOAP with Node.js? [18:17] yozgrahame has joined the channel [18:17] tiemonster: ACTION shudders [18:18] baudehlo: lol [18:18] mscdex: yeah no kidding [18:18] baudehlo: wash your mouth out. With SOAP. [18:18] carsonm has joined the channel [18:18] bshumate_ has joined the channel [18:18] bshumate_ has joined the channel [18:18] tiemonster: Some Other $#&( Problem [18:18] baudehlo: I guess some places still require it :-/ [18:18] samsonjs has joined the channel [18:19] Rob- has joined the channel [18:19] sh1mmer has joined the channel [18:21] chrislorenz has joined the channel [18:22] mikeal has joined the channel [18:23] samsonjs_ has joined the channel [18:25] bronson has joined the channel [18:25] tahu has joined the channel [18:25] samsonjs_ has joined the channel [18:25] arpegius has joined the channel [18:26] bronson: is there an easy way to view the source to a module? [18:27] nibblebot has joined the channel [18:27] bronson: node_open('util') [18:27] bronson: something like that to open the source in $EDITOR? [18:27] tjholowaychuk: npm -g edit mod [18:27] tjholowaychuk: i think is what it was [18:28] sleeplessinc_ has joined the channel [18:28] bronson: tjholowaychuk, yes but that works for packages, not modules. [18:28] cloudhead has joined the channel [18:28] sarkis has joined the channel [18:28] cloudhead_ has joined the channel [18:29] sleeplessinc has joined the channel [18:29] sarkis: just curious how do you guys handle trailing slashes in express.js/ [18:29] sarkis: for example if i route foo a '/foo' /foo/ doesn't resolve and likewise if you reverse that.. [18:30] tjholowaychuk: sarkis: they are implicitly optional [18:30] tjholowaychuk: /foo/ and /foo will route to the same callback [18:30] sarkis: think it would be reasonable to have express.js add a / and re-run it through the routes similar to how jango does? [18:30] tjholowaychuk: (unless you use a regexp) [18:30] sarkis: hmmm [18:30] sarkis: tjholowaychuk: how would you route so it doesnt matter if / is appended [18:30] tjholowaychuk: when express constructs the regexp it's always followed by \/? [18:30] sarkis: app.get('/foo', function(req, res){ [18:31] duncanbeevers: I think if you want both the resolve to the same thing, you should make it optional with \/? [18:31] sarkis: oh i see [18:31] sveimac has joined the channel [18:31] tjholowaychuk: duncanbeevers: express does that for you [18:31] duncanbeevers: There are some really major differences with how different browsers deal with cookie-paths depending on whether the trailing slash is present or not. [18:31] sarkis: ok great thanks tjholowaychuk [18:32] mike5w3c_ has joined the channel [18:33] sleeplessinc_ has joined the channel [18:33] sarkis: duncanbeevers: interesting, i was thinking about making this more uniform... [18:34] sarkis: i may just fork express.js and try this out :) [18:34] sarkis: i basically would like to just specify /foo/ and when express runs throug the routes when i hit /foo, it will append the / and try to run through the routes again before a 404 is returned [18:35] tjholowaychuk: the regexp does that for you lol [18:35] tjholowaychuk: ACTION confused [18:35] sarkis: so my routes would be app.get('/foo/', function(req, res){ [18:35] tjholowaychuk: why not just use app.get('/foo', ...)? [18:35] sarkis: tjholowaychuk: so it was to duncanbeevers point of how cookiepaths are diff [18:35] tjholowaychuk: ah [18:36] sarkis: but i shouldnt fix something thats not broken :) ill just keep in mind that there _might_ be cookie issues depending on the / [18:36] sarkis: and do some testing around that first [18:36] admc1 has joined the channel [18:36] tjholowaychuk: if that really is an issue res.cookie() would be the place to fiddle with the trailing slash [18:36] sarkis: ah right, good point [18:36] eresair has left the channel [18:37] duncanbeevers: sarkis: http://www.dweebd.com/javascript/cookie-path-handling-inconsistencies/ [18:37] mundanity has joined the channel [18:38] chjj: i blame netscape, their original cookie spec was bad city [18:38] josephboyle: installing on Ubuntu - any hints? currently getting Could not autodetect OpenSSL support. [18:39] Tidwell: josephboyle: install openssl with apt-get [18:40] jgv has joined the channel [18:40] sivy_ has joined the channel [18:40] josephboyle: apt-get install openssl didn't fix it [18:41] tbranyen: pkg-config? [18:41] isaacs: aaronblohowiak: yeah, i'm in the office today [18:41] isaacs: aaronblohowiak: berlin next week [18:42] kmiyashiro: is forever the best tool to use to make sure a node app keeps running? [18:42] aaronblohowiak: isaacs: the eventbrite thing said office hours are until 8, i think i can make it there by ~6.. is that too late for you? [18:42] isaacs: aaronblohowiak: i'll be here till about 8 [18:42] chjj: sounds like it would be, forever is a long time [18:42] Prism has joined the channel [18:42] isaacs: aaronblohowiak: sometimes we leave early if no one shows up :) [18:43] aaronblohowiak: isaacs: oh, ok. well, i am coming tonight so plz wait for meeee! [18:43] isaacs: will do! [18:43] dies_el has joined the channel [18:43] halfhalo: ACTION bets at 6:01 isaacs will be out of there if no-one is there by then [18:43] lukegalea has joined the channel [18:44] aaronblohowiak: ACTION thinks 10 minutes early is "on time" [18:44] lukegalea: Hey. Are folks using nvm on server deploys these days? Or only for dev? [18:44] SubStack: ACTION holds a secret office hours [18:44] SubStack: with blackjack [18:44] SubStack: etc [18:44] chjj: ACTION needs more web scale [18:44] sivy has joined the channel [18:45] Marak has joined the channel [18:45] Marak: rawr, peanut milk power! [18:47] DTrejo has joined the channel [18:47] leandrosansilva has joined the channel [18:48] bronson: lukegalea, what's the advantage to using nvm on a server? [18:48] mjr_ has joined the channel [18:48] DTrejo: ACTION wrote all his programs for computation linguistics javascript, just handed in the last one :) [18:48] lukegalea: bronson: Well, it seems that every time I turn around a new version of node comes out :) [18:48] nvoyager has joined the channel [18:48] lukegalea: But I guess installing by hand isn't a big deal if you don't need to run multiple versions. [18:49] lukegalea: Kinda answers my question :) [18:49] bronson: tis true. That's my thought too. [18:49] lukegalea: ya. Some people run rvm on servers in the ruby world. [18:49] lukegalea: that way you can have different environments for different apps on the same server [18:49] brianc1: bronson: I use "n" instead of nvm [18:49] jonasen has joined the channel [18:50] lukegalea: brianc1: Serverside too? Or just in dev? [18:50] brianc1: serverside as well [18:50] lukegalea: hmm. [18:51] bronson: ACTION doesn't use n just because of the ungooglable name. [18:51] brianc1: it is highly ungoogleable [18:51] tjholowaychuk: ahahaa [18:51] eyez: yeah that seems a pretty poor choice for a name [18:51] brianc1: https://github.com/visionmedia/n [18:51] eb4890 has joined the channel [18:51] bronson: aaronblohowiak, haml looks rockin now... guess I'll have to use it. [18:52] brianc1: n is nice cause it copies the executable [18:52] lukegalea: bronson: I dunno. Jade is pretty rockin :) [18:52] brianc1: so no funky monkey path business [18:52] tjholowaychuk: brianc1: yeah I wanted to keep things simple and config-free [18:52] brianc1: totes. "tj style" [18:53] brianc1: all "tj style" shirts are tank-tops. simple. sleeve-free. [18:53] tjholowaychuk: ahahahaha [18:53] stonebranch has joined the channel [18:53] tjholowaychuk: oh man [18:53] sh1mmer has joined the channel [18:54] lukegalea: The reason I raised the question is that we've been just hand compiling on the server side. Wondered if there was value in using nvm or N on servers. It seems the jury is still out. [18:54] DTrejo: brianc1: and they are see thru, b/c open source and on github [18:54] tjholowaychuk: lukegalea: ultimately it doesnt really matter [18:54] brianc1: it's easier to roll back to a previous version if using a version manager but is not really a large issue [18:55] pandeiro has joined the channel [18:55] brianc1: i mostly like it because then I don't have to remember the 5 lines it takes to update node repo & compile a new version & install it to the right path [18:55] arpegius has joined the channel [18:55] varioust has joined the channel [18:55] tjholowaychuk: the best would be if "n" could/would check for a binary for your system and install that instead of compiling [18:55] tjholowaychuk: i dunno maybe some day [18:55] brianc1: and if you the new version doesn't work it's a quicker way to get back to the older version [18:56] cjus has joined the channel [18:56] tjholowaychuk: compiling for a deploy is a bit of a drag [18:56] tedsuo has joined the channel [18:57] lukegalea: thanks guys. Appreciate the input. [18:58] sarkis has joined the channel [18:59] samsonjs_ has joined the channel [18:59] jdalton has joined the channel [18:59] josephboyle: Still having the openssl issue with build on Ubuntu 11.04 - what should I do [18:59] malkomalko: think we can get this channel to hit a 1000 users by the end of the year? [19:00] bronson: ooh, jade gets rid of %. me likey. [19:00] malkomalko: let me talk to samson.. fly me to the moon like my friend ralph kramden [19:00] bronson: josephboyle, what issue? I compiled on 11.04 last night, no issues. [19:01] josephboyle: build broken on Could not autodetect OpenSSL support [19:01] varioust has joined the channel [19:01] sveimac has joined the channel [19:01] bronson: and you have libssl-dev installed? [19:02] josephboyle: fixed. don't think i saw the lib name in the instructions [19:03] s0urce has joined the channel [19:03] s0urce: wich fsstat do i need to read a file as text, and not as bite code? [19:03] malkomalko: tjholowaychuk: what are you using to keep cluster's master process alive/and on reboot? monit/forever/something else? [19:03] lukegalea: bronson: Ya, I really like that Jade's syntax is basically a CSS selector? [19:03] tjholowaychuk: malkomalko: monit [19:04] lukegalea: I didn't mean to put a question mark there ;) [19:04] DTrejo: s0urce: fs.readFile(...).toString('utf8') [19:04] dmcquay has joined the channel [19:04] sarkis has joined the channel [19:04] malkomalko: cool [19:04] DTrejo: s0urce: err, oopsie, just inside the callback do a toString('utf8') [19:04] s0urce: ok, ty [19:04] DTrejo: np [19:05] s0urce: ah just found a better solution, but ty anyway :) [19:05] ezl has joined the channel [19:05] s0urce: u can call: fs.readFile("file","utf8",[callback]) [19:06] s0urce: like middleware :) [19:06] s0urce: btw. is fsstats productive? i plan to build my own render, and read templates with it [19:07] baudehlo: holy carp. There's a lot more people interested in node.js than are on the mailing list... [19:07] s0urce: what does the ready built render engines use? also fstats? [19:07] maximosis has joined the channel [19:07] Mrfloyd has joined the channel [19:07] baudehlo: I posted about Haraka on reddit r/node and my github project doubled the number of followers overnight. [19:07] malkomalko: mind sharing your monit file tj? [19:08] tjholowaychuk: malkomalko: one sec [19:08] DTrejo: s0urce: pretty much the only choice? [19:08] malkomalko: but of course [19:08] DTrejo: s0urce: well, i'd check out the source if I were you [19:08] baudehlo: tjholowaychuk: any plans to make cluster able to communicate between master and workers? [19:08] DTrejo: probably more helpful than asking her [19:08] DTrejo: e [19:09] s0urce: DTrejo, what do u mean? wich source? [19:09] tjholowaychuk: baudehlo: well they already can/do [19:09] saschagehlich: tjholowaychuk: URIError: URI malformed << in express/lib/router/index:316 - reason? [19:09] s0urce: node precomplied? [19:09] DTrejo: s0urce: of another template engine [19:09] baudehlo: tjholowaychuk: arbitrarily? [19:09] tjholowaychuk: it's not public api no [19:09] s0urce: yeah, ofc i ll do [19:09] s0urce: just thought mb any node expert here knows it best ;) [19:09] s0urce: not said, that all engines are best :) [19:10] DTrejo: hehe, agree [19:10] baudehlo: tjholowaychuk: ah ok, so any plans to make a public api? [19:10] sarkis has joined the channel [19:10] tjholowaychuk: nope [19:11] syskk has joined the channel [19:11] tjholowaychuk: saschagehlich: hmm looks like something one of the built-ins is throwing [19:11] tjholowaychuk: doesn't like your url, what is it? [19:11] syskk: just wrote a small tutorial on writing native node.js extensions in case anyone's interested http://syskall.com/how-to-write-your-own-native-nodejs-extension [19:11] saschagehlich: tjholowaychuk: I have no idea, some of my users send me this bug report [19:12] saschagehlich: ah here it is [19:12] saschagehlich: tjholowaychuk: http://s26.filsh.net/download/5gex7/Culcha%20Candela%20-%20Sch%F6ne%20neue%20Welt%20-%20The%20Greatest.mp3 [19:12] baoist has joined the channel [19:12] Marak: syskk: nice! [19:12] syskk: I am myself a noob but hopefully it can be a good starting point [19:13] maushu has joined the channel [19:15] jdalton has left the channel [19:15] beawesomeinstead has joined the channel [19:15] beawesomeinstead has joined the channel [19:15] baudehlo: mscdex: your patch to the node-dev list includes no doc patches. Intentional? [19:15] mscdex: there's a link [19:16] mscdex: oh [19:16] mscdex: forgot docs [19:16] mscdex: but there's tests! :-D [19:16] cjus_ has joined the channel [19:16] mscdex: let me recreate the patch [19:16] jarek has joined the channel [19:18] BillyBreen1 has joined the channel [19:20] boghog has joined the channel [19:20] admc has joined the channel [19:20] boghog: it seems using a repl prompt breaks scrolling in 'screen', anyone know a workaround/fix for this? [19:21] ewdafa has joined the channel [19:21] tjholowaychuk: saschagehlich: apparently it doesn't like %F6 [19:21] saschagehlich: that's right [19:21] saschagehlich: if I change it to "oe" it works fine [19:22] tjholowaychuk: ö [19:22] tjholowaychuk: haha [19:22] saschagehlich: i hate umlauts [19:22] `3rdEden: move to a different country [19:22] `3rdEden: ;D [19:22] tjholowaychuk: i hate languages [19:22] tjholowaychuk: only a newb planet would have several languages [19:22] tjholowaychuk: humans = fail [19:22] systemfault: We're noobs. [19:22] saschagehlich: `3rdEden: says the guy with the double vowels [19:22] saschagehlich: tjholowaychuk: BTT! [19:22] `3rdEden: saschagehlich :D [19:23] systemfault: The humanity is still young IMHO [19:23] SubStack: different niches [19:23] SubStack: stable ecosystems tend to increase in diversity over time [19:23] baudehlo: mscdex: sorry to be the doc nazi ;) [19:23] saschagehlich: `3rdEden: and where "to rent" means "verhuren" which means something like "prostitute" in german [19:23] snearch has joined the channel [19:24] wadey: isaacs: I changed the debian build to use a symlink and put the npm folders into /usr/lib/nodejs_debian. I'm not sure about the folder name yet but the symlink works great: https://github.com/simplegeo/cluster/blob/101a1ffe56c16d5a206c21ba3cf6adfbb5ba0ad2/debian/rules#L5-7 [19:24] wadey: isaacs: I love that it is so easy to make npm do the debian packaging for me, thanks! [19:24] `3rdEden: saschagehlich: we dutch people designed our language to be like that ;) [19:24] wadey: isaacs: <3 npm 1.0 [19:24] SubStack: although with languages there's a lot of borrowing going on too so they're not quite the same [19:24] saschagehlich: i love the fact that you can buy weed in the netherlands \o/ [19:25] japj: sigh [19:25] SubStack: saschagehlich: well that is true pretty much anywhere [19:25] `3rdEden: I love the fact that we can order brides is russia! :D [19:25] saschagehlich: :D [19:25] dmojoryder has joined the channel [19:26] systemfault: A bit weird though... [19:26] brett__ has joined the channel [19:26] systemfault: I would expect that from some third-world country.. not russia [19:26] saschagehlich: tjholowaychuk: so - any help? :D [19:27] uclinux has joined the channel [19:28] aconbere has joined the channel [19:28] japj: I don't see NODE_MODULE used much in native modules so far, is it a recent addition? [19:28] japj: or is it 'optional' [19:29] tjholowaychuk: saschagehlich: not sure why it's choking on that any hex should be fine i would imagine [19:29] saschagehlich: don't make me rollback again :( [19:30] Doosje has joined the channel [19:30] tjholowaychuk: one sec [19:30] `3rdEden: Wow, I really suck at blogging lol [19:30] tjholowaychuk: saschagehlich: what's that url again? I'll add a test case [19:30] mendel_ has joined the channel [19:31] saschagehlich: tjholowaychuk: http://s26.filsh.net/download/5gex7/Culcha%20Candela%20-%20Sch%F6ne%20neue%20Welt%20-%20The%20Greatest.mp3 [19:31] `3rdEden: I started writing my introduction post 2 hours ago, and I already typed 3 whole lines :o [19:31] arpegius has joined the channel [19:31] sveimac has joined the channel [19:32] saschagehlich: `3rdEden: do you write it in dutch? [19:32] pifantastic has joined the channel [19:32] tjholowaychuk: saschagehlich: apparently that should be %C3%B6 [19:32] saschagehlich: `3rdEden: writing dutch posts simply takes much more time due to the double vowels and the huge load of pot you smoke ;D [19:32] `3rdEden: saschagehlich nope, in English or atleast it looks like english if you read pass my grammer mistakes [19:32] tjholowaychuk: not %F6 [19:32] saschagehlich: tjholowaychuk: so urlencode it again? [19:34] mbrevoort has joined the channel [19:35] colinclark has joined the channel [19:35] Doosje has left the channel [19:35] tjholowaychuk: saschagehlich: seeing if there is a work around [19:36] tjholowaychuk: for invalid utf8 stuff [19:36] colinclark has joined the channel [19:36] saschagehlich: k [19:36] brett__: Has anyone seen a loaded node.js process intermittently fail to flush stderr when exiting on an unhandled exception? [19:37] saschagehlich: brett__: you mean you write to stderr but it doesn't finish writing due to an exception? [19:37] tjholowaychuk: do you know what client they were using? [19:37] saschagehlich: tjholowaychuk: chrome [19:37] tjholowaychuk: weird.. [19:38] tjholowaychuk: something encoded that wrong [19:38] tjholowaychuk: hmm [19:38] mscdex: baudehlo: patch updated ;) [19:38] baudehlo: :-) [19:39] brett__: saschagehlich: The exception itself is unhandled and I'm catching stderr in a log, but sometimes the process exits (I'm sure it's on that error) and yet there is no exception + stacktrace in the log. [19:39] vipaca has joined the channel [19:39] vipaca has joined the channel [19:40] saschagehlich: brett__: never heard of a behavior like that... are you sure you don't listen to the process.uncaughtException event? [19:40] saschagehlich: v8: escape("ö") [19:40] v8bot: saschagehlich: "%F6" [19:40] brett__: saschagehlich: Yes, certain. [19:40] mscdex: anyone here run node on a beagleboard? :p [19:40] nibblebot has joined the channel [19:41] saschagehlich: v8: encodeURIComponent("ö") [19:41] v8bot: saschagehlich: "%C3%B6" [19:41] saschagehlich: tjholowaychuk: I was doing it wrong, goddamnit [19:41] saschagehlich: remember: escape() is not there for url encoding! [19:41] tjholowaychuk: saschagehlich: oh you were using escape()? [19:41] cjus has joined the channel [19:41] saschagehlich: >_< [19:41] tjholowaychuk: haha :p [19:41] mscdex: i always use encodeURIComponent [19:41] mscdex: there's also encodeURI too i think [19:42] tjholowaychuk: yup [19:42] mscdex: so many to choose from :P [19:42] saschagehlich: yea, but wtf why did I choose escape?! [19:42] japj: is a Persistent Async::constructor_template; only used when you want to allow someone else to derive from another native C++ object? [19:42] saschagehlich: okay thanks for your help anyway tjholowaychuk [19:42] saschagehlich: I'll buy you a beer for that embarrassing mistake. [19:42] saschagehlich: btw, will you be at nodecamp? [19:43] brett__: saschagehlich: Thanks, I guess I need to pare it down to a simple app that demonstrates the behavior. [19:43] MarkMenard has joined the channel [19:43] tjholowaychuk: nodecamp? nope [19:43] tjholowaychuk: haven't heard of it [19:43] rpflo has joined the channel [19:43] saschagehlich: brett__: yes, a reproducible piece of code would be nice [19:43] saschagehlich: tjholowaychuk: nodecamp.eu [19:44] tjholowaychuk: ohhh [19:44] tjholowaychuk: i got invited to speak there but nope cant make it :( [19:44] saschagehlich: shit :/ no beer for you! [19:45] DTrejo: tjholowaychuk: did you ask for plane fair and honorarium ;) [19:45] Xano has joined the channel [19:45] CIA-104 has joined the channel [19:45] tjholowaychuk: didnt ask for anything [19:46] josephboyle: why is ubuntu package of node.js such an old version? [19:46] syskk has joined the channel [19:47] mscdex: josephboyle: i think jetienne keeps an updated package for ubuntu [19:47] dambalah has left the channel [19:47] mscdex: josephboyle: https://launchpad.net/~jerome-etienne/+archive/neoip [19:48] colinclark has joined the channel [19:48] tilgovi has joined the channel [19:49] colinclark_ has joined the channel [19:50] josephboyle: good to know! [19:51] JacobSingh has joined the channel [19:51] context: is bzr still slow as molasses ? [19:52] patzak has joined the channel [19:53] steffkes has joined the channel [19:53] bloodsucker: i am very loosed about modules/libraries of a project (not npm modules, MY modules/libraries). How can i program it and don't die in the try? [19:55] hosh_work has joined the channel [19:55] context: try different things? figure out what you like ? [19:56] Hamms has joined the channel [19:56] bloodsucker: context, because i am acostumated with the way of coding in the browser (most time of part using global vars). And it is totally imposible to do with node.js modules [19:57] context: you shouldn't use global vars in any language [19:57] bloodsucker: context, thats true. [19:57] context: very very rarely they are needed or should be used [19:58] context: hell even when i write C i encapsulate everything [19:58] mertonium has joined the channel [19:58] bloodsucker: I will try to understand better my way of making code in node.js so. [19:58] wadey has joined the channel [19:58] context: its not really something you are told. more figured out through practice [19:58] context: get something going and if you cant figure it out ask for recommendations from there. [19:58] Ned_ has joined the channel [19:59] mertonium has joined the channel [20:00] bloodsucker: ok! :) [20:00] jbpros has joined the channel [20:00] bloodsucker: For example, i am a demo/learning project in node.js with other friend (as well as my other html5 game). [20:00] bloodsucker: it is a webchat service with commands [20:01] tylerstalder has joined the channel [20:02] bloodsucker: currectly we have a super-class socket-object( from socket.IO) and it have inside his mysql connection, [20:02] sveimac has joined the channel [20:02] bloodsucker: moreoves there a global function for call to another super-object) for "execute" a command (like /nick or /msg etc...) [20:03] bloodsucker: what do you think about this organization? context [20:03] bloodsucker: Sorry for my english. [20:03] DTrejo has joined the channel [20:04] cjus_ has joined the channel [20:05] eldios has joined the channel [20:07] Charuru has joined the channel [20:07] vnguyen has joined the channel [20:08] bloodsucker: and now i am sad XD [20:08] xeodox has joined the channel [20:08] Lorentz has joined the channel [20:08] mikeal has joined the channel [20:11] f^ has joined the channel [20:11] arpegius has joined the channel [20:15] Me1000 has joined the channel [20:16] __tosh has joined the channel [20:16] sh1mmer has joined the channel [20:16] _algo_ has joined the channel [20:17] zeade has joined the channel [20:17] bronson: setInterval only fires from the event loop, right? Nothing is ever interrupted? [20:18] galaxywatcher has joined the channel [20:18] tbranyen: bronson: right, its not possible to interrupt anyways [20:18] stagas: bronson: yup [20:18] bronson: good, that makes sense. some weirdos had me worried. [20:18] tedsuo has joined the channel [20:21] syskk: https://github.com/joyent/node/blob/master/src/node_timer.cc#L131 [20:21] vially has joined the channel [20:22] rauchg has joined the channel [20:24] jamesarosen has joined the channel [20:26] Hamms has joined the channel [20:28] broofa_ has joined the channel [20:28] pifantastic_ has joined the channel [20:28] syskk: is it a good idea to `nice` a node process so that is has high priority over other processes? [20:29] bronson: syskk, it rarely makes a difference. [20:29] syskk: ok [20:29] ryah has joined the channel [20:30] bronson: if the machine is truly CPU bound then you might see some benefit but that's rare. [20:30] bronson: schedulers these days are pretty good. [20:30] broofa__ has joined the channel [20:30] syskk: there's something I fail to understand though. let's say you have 3 apache process and 1 node process running. aren't the 3 combined process going to eat more cpu cycles than node? [20:31] baudehlo: depends what they are doing. [20:31] wadey: isaacs: is there an npm command to pull out the "name" from the package.json? [20:31] isaacs: wadey: npm view name [20:32] isaacs: wadey: there's a read-package-json.js script in /path/to/npm/bin, as well, which does the same sort of thing [20:32] syskk: I'm trying to understand how the event loop is superior to multithreading [20:32] wadey: isaacs: is there any way to do like "npm view . name"? [20:32] isaacs: node read-package-json.js path/to/package.json name [20:32] wadey: for the package.json in the current folder [20:32] sveimac has joined the channel [20:32] bronson: syskk, scheduling has nothing to do with event loop vs. multithreading. [20:32] isaacs: wadey: haven't gotten round to making that an npm command, but the above script will work if you supply the full path [20:32] wadey: ok cool [20:33] bronson: or, very little. old schedulers used to care about threads but I think that's not true anymore. [20:33] mikl has joined the channel [20:33] mikl has joined the channel [20:33] syskk: I thought one of the advantages of the event loop was not having to fork new processes [20:34] bronson: over threading?? [20:34] djcoin has joined the channel [20:34] aguynamedben has joined the channel [20:35] bronson: multiprocess != multithread... and, as always, it depends. [20:35] vially: i'm thinking to start writing a SOCKS client implementation for node.. something similar to socksify for ruby... but I'm not sure how I should do this... does anyone have any idea how could something like this be done? [20:35] aaronblohowiak: bronson: scott? [20:35] syskk: yes I meant creating new threads [20:35] bronson: aaronblohowiak, yo. [20:36] c4milo: how do i know if a socket is closed? [20:36] c4milo: is already close [20:36] c4milo: e [20:36] c4milo: d [20:36] FireFly|n900 has joined the channel [20:37] bronson: syskk, usually the threads are all scheduled as a single process so it doesn't matter if you spawn 2 or 20,000, the process still gets the same time slice. [20:37] chjj: if (socket.writable) ?? [20:37] syskk: also, can node.js take advantage of multiple cores? [20:37] aaronblohowiak: bronson: depends on the OS =( [20:37] chjj: c4milo: most streams will have readable or writable properties [20:37] chjj: or both [20:38] FireFly has joined the channel [20:38] wink_: syskk: kinda, check out node-webworker [20:38] sridatta has joined the channel [20:38] c4milo: chjj: what do you mean? [20:38] syskk: ok [20:38] wink_: syskk: a single node process cannot, multiple node processes using an IPC mechanism can [20:38] djcoin has joined the channel [20:39] syskk: ok [20:39] chjj: c4milo: most stream objects will have properties to specify whether theyre currently readable/writable [20:39] c4milo: chjj: which property for instance? [20:39] chjj: .readable or .writable [20:39] c4milo: chjj: does nodejs has those properties? [20:40] chjj: if (socket.writable) socket.end(); [20:40] c4milo: chjj: I am reviewing the documentation and I didn't find them that's why I am asking [20:40] bronson: aaronblohowiak, true, Solaris was particularly bad back in the day. Tends not to be an issue with more modern OSes. [20:40] c4milo: chjj: cool thanks ! [20:40] bronson: Haven't played with MacOS tho... [20:40] sridatta: in socket.io 0.7, what is a volatile message? [20:40] `3rdEden: a message that does not need to be acknowledged by the client [20:41] aaronblohowiak: bronson: what is the winblows behaviour with process / threading? [20:41] syskk: wink_: does node-webworker create new threads or does it use the event loop? [20:41] `3rdEden: basically fire and forget [20:41] `3rdEden: sridatta ^ [20:41] wink_: syskk: it spawns new processes [20:41] syskk: wink_: ah ok [20:41] sridatta: oh I see. thanks [20:42] arpegius has joined the channel [20:42] syskk: right, wouldn't make sense to use the event loop [20:42] wink_: while there can be threads running (from modules doing async stuff), you're not going to know that from javascript [20:42] syskk: ok [20:42] awenkhh has joined the channel [20:43] aconbere has joined the channel [20:43] sendark has joined the channel [20:43] mertonium has joined the channel [20:43] tschundeee has joined the channel [20:44] sridatta: so as of 0.7, socket.io no longer serves on top of an existing http server? [20:45] `3rdEden: sridatta: it creates a http server if one is not given in the constructor [20:47] addisonj_: express session is throwing this on me... any ideas? TypeError: Cannot read property 'connect.sid' of undefined [20:49] mertonium has joined the channel [20:50] Squeese has joined the channel [20:51] saschagehlich: `3rdEden: so you tried 0.7? [20:52] `3rdEden: saschagehlich: 0.7 is not done / not workable / testcase fails :p [20:52] `3rdEden: saschagehlich: but I can read the codes :D [20:55] shanez has joined the channel [20:55] dmojoryder has joined the channel [20:58] tylerstalder has joined the channel [21:00] colinclark has joined the channel [21:01] lgomez has joined the channel [21:02] admc1 has joined the channel [21:03] sveimac has joined the channel [21:04] kmiyashiro: addisonj_: gist? [21:09] aaronfay has joined the channel [21:09] tmedema has joined the channel [21:09] aaronfay: ahh, that's better, nobody really in #nodejs :) [21:11] lgomez has joined the channel [21:12] lakin has joined the channel [21:12] hassox has joined the channel [21:12] arpegius has joined the channel [21:14] duncanbeevers: *55555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555-+ [21:14] duncanbeevers: For example. [21:14] mbarnes679: ? [21:14] mikeal has joined the channel [21:14] duncanbeevers: Sorry, just leaning on my keyboard. [21:15] tim_smart: Your leaning typed "For example." :) [21:15] kryptom has joined the channel [21:15] mbarnes679: that's some coordinated leaning [21:15] duncanbeevers: I have weird elbows. [21:15] duncanbeevers: For example. [21:17] Rob- has joined the channel [21:17] jacter has joined the channel [21:18] aaronblohowiak: wow [21:18] aaronblohowiak: yes [21:18] aaronblohowiak: you win [21:20] mertonium has joined the channel [21:23] mertonium has joined the channel [21:23] piscisaureus has joined the channel [21:24] thalll has joined the channel [21:24] mertonium has left the channel [21:24] aconbere has joined the channel [21:24] tladuke: i just installed node and npm on a new machine and get a : TypeError: Object [object Object] has no method 'prefixWithMiddleware' [21:24] thalll has joined the channel [21:25] tedsuo_ has joined the channel [21:25] tladuke: am i missing a module? i've only install connect, socket.io, socket.io-connect [21:26] aaronblohowiak: tladuke: when do you get that error? [21:27] bronson: Anyone have a real-world example of when process.nextTick is useful? [21:27] tladuke: running the connect examples [21:27] tladuke: socket.io-connect examples [21:28] aaronblohowiak: oh [21:28] aaronblohowiak: bronson: when you want to do work outside of the req/res cycle [21:28] mikegerwitz: bronson: To split up a long/intensive operation. For example, processing a large set of data. [21:28] mjr_: bronson: it comes up a lot if you need to emit something from an event handler. [21:29] saschagehlich: `3rdEden: how did you get the test suite of 0.7 running? [21:29] `3rdEden: saschagehlich: fix the submodules :p [21:29] azend has joined the channel [21:29] baudehlo: sweet, so with actually doing some fairly impressive processing on the email I can get 3000 emails/sec out of Haraka. [21:29] tim_smart: bronson: You can use it to break up computation, so your process doesn't block as much on long running CPU bound code [21:29] saschagehlich: `3rdEden: I did, but why do the test suites require "socket.io" without an absolute path? [21:29] `3rdEden: saschagehlich: https://github.com/3rd-Eden/Socket.IO-node/blob/master/.gitmodules [21:29] saschagehlich: or at least a relative path [21:30] tim_smart: bronson: Even though putting that in a new process is probably more ideal [21:30] tladuke: come on IRC... [21:30] `3rdEden: saschagehlich: no clue [21:30] steph021 has joined the channel [21:30] bronson: tim_smart, right, that's my thought... it's hard to picture a scenario where nextTick is the best solution. [21:30] tim_smart: bronson: I use it in my redis client [21:30] stagas: bronson: having a loop where you check 'is this done?' no -> process.nextTick(check_again) so you let other stuff run in between [21:30] sveimac has joined the channel [21:31] tim_smart: So I can cut down on socket writes [21:31] bene has joined the channel [21:31] bronson: stagas, tim_smart: those make sense. thanks. [21:31] tim_smart: bronson: https://github.com/Tim-Smart/node-redis/blob/master/index.js#L244 [21:32] tim_smart: It adds stuff to a chunk, and if it doesn't go pass the chunk limit, the nextTick makes sure it eventually gets written [21:32] trotter has joined the channel [21:32] lbod has joined the channel [21:33] bronson: tim_smart, did you measure an improvement with that? [21:33] bronson: seems like with buffering and corking, the kernel kinda does that already. [21:33] tim_smart: bronson: corking is done at user level [21:33] lbod: 5 times as many people here than in dojo... noice [21:33] aconbere has joined the channel [21:33] tim_smart: node doesn't do it yet, I think libuv might tackle that [21:34] tim_smart: ryah: Is writev etc going to be revisited after libuv? [21:35] tjholowaychuk: isn't that the point of nagle? [21:36] malkomalko: tjholowaychuk: if you remember (don't worry if you forget) could you post up a public gist of an example of your monit config.. if not no worries, I have to run [21:36] tim_smart: bronson: To answer your question, with the smaller operations, speed can be up to 10x faster. For larger operations working with binary, it made it a little slower. [21:36] malkomalko: danke! [21:36] markwubben has joined the channel [21:36] bronson: tjholowaychuk, yes. CORK is basically turning on nagle for a socket. [21:37] tjholowaychuk: gotcha [21:38] bronson: tim_smart, yow, more than I would have expected. [21:39] tim_smart: bronson: Yeah, some ops went from 50k/s to 100k+/s on my tests [21:39] flippyhead has joined the channel [21:39] tim_smart: I guess saving calls into C++ was the big win [21:39] |sWORDs| has joined the channel [21:40] Hamms has joined the channel [21:41] mattp1 has joined the channel [21:41] wink_: syscalls are still expensive, nagle is meant to save the wire, it wont do anything to reduce userland -> kernel overhead [21:43] syskk: I'm writing my models as modules in separate files: i.e. post.js author.js , etc. [21:43] syskk: each model uses redis (var redis = require('redis').createClient();) [21:43] syskk: I was just wondering if there'd be a way to share the same redis object for all models [21:44] tim_smart: syskk: Create a shared module that exports a initialized client [21:44] ryah: tim_smart: libuv uses writev [21:44] Me1000 has joined the channel [21:45] ryah: https://github.com/joyent/libuv/blob/2ef3c6c6320eb7845068fae8aadc4f7188dd1b9a/uv-unix.c#L523 [21:45] Adman65 has joined the channel [21:45] tim_smart: ryah: Oh cool. But I guess that still wouldn't address the issue of multiple js write() calls making multiple C++ API calls? [21:46] syskk: tim_smart: not sure I get it. how can it always return the same client? how do I persist the object on every require()? [21:46] tim_smart: syskk: I'll make a gist [21:46] syskk: tim_smart: great :) [21:48] flippyhead has joined the channel [21:48] bloodsucker: syskk, ithere are a way [21:49] caike_ has joined the channel [21:49] tim_smart: syskk: https://gist.github.com/545b71835935430a7788 [21:50] eyesUnclouded has joined the channel [21:51] syskk: doesn't 'redis.createClient(options)' return a new redis client at each require('common.js') ? [21:51] chjj: no [21:51] chjj: require is cached [21:51] tim_smart: syskk: exports are cache ^ [21:51] syskk: ah! [21:51] tim_smart: cached* [21:51] aconbere has joined the channel [21:51] syskk: cool [21:52] Opaque has joined the channel [21:52] NetDooh has joined the channel [21:52] chjj: i always wondered how bad you could screw things up if you did module.__defineGetter__( [21:52] chjj: 'exports' [21:52] chjj: etc [21:53] darshanshankar has joined the channel [21:53] syskk: so required files are only executed once right [21:53] chjj: yeah [21:54] pifantastic has joined the channel [21:54] davidwalsh_ has joined the channel [21:54] chjj: they would be pretty hard to manage if they werent [21:54] qbit_ has joined the channel [21:56] djcoin has joined the channel [21:56] syskk: right [21:57] dgathright has joined the channel [21:57] NetDooh: We are using net server.listen() and sending a test of 1000 TCP messages a second. The problem we think, is that the buffer is probably filling faster than the write command is flushing. The result, is that ondata does not contain a single message, but in fact multiple. [21:58] bronson: NetDooh, tcp is a streaming protocol. Sounds like you expect it to go in chunks? [21:59] zpao has joined the channel [21:59] NetDooh: Humm, so, do we need to terminate messages? How do we do this, if we don't control the client messages [21:59] bronson: Yeah, you need some sort of protocol. [21:59] bronson: Routers are free to fragment and join packets however they want. [22:00] NetDooh: So, how is this usually worked out. We are listening for incoming packets, of various formats [22:00] bronson: Today is repeated word day today. Word. [22:00] boghog: fragmented tcp packets get joined in the OS tcp stack though, so that kind of splitting/joining isn't somethng you end up seeing at the application level, or am I wrong? [22:00] markwubben has joined the channel [22:01] boghog: i've actually never really understood this about tcp [22:01] ezmobius has joined the channel [22:02] boghog: and also how nagle's algorithm affects this [22:02] bronson: NetDooh, what do you mean packets and formats? UDP is by packet, TCP is by connection. [22:03] aaronfay: sometimes when I run my files from the command line, node just fails silently. I have a handler that is suppost to log uncaught exceptions, but I'm not seeing anything [22:03] rauchg has joined the channel [22:04] caike has joined the channel [22:04] bronson: boghog, true, usually you'll see big packets. But you can't guarantee it. [22:04] bronson: It'll just show up as short reads from the socket layer. [22:04] boghog: ah [22:04] aconbere has joined the channel [22:04] bronson: Nagle's for outgoing but, yeah, it's meant to convert 10 10-byte writes into a 100 byte packet. [22:05] Wa has joined the channel [22:05] aaronfay: In this case, the function I was calling was missing, but node failed to report the problem, it just .. stopped [22:06] boghog: NetDooh, anyway for an IRC client I just parsed individual lines terminated with \r\n out of a data event, and if there was any leftover data, I save it to prepend to the next data chunk that arrives [22:06] caolanm has joined the channel [22:07] tbranyen: ryah: is there a node.js twitter account [22:07] tbranyen: ? [22:09] tbranyen: would be awesome to get a rt even from you for: http://twitter.com/#!/tbranyen/status/68799688635187202 [22:09] tbranyen: or from any bostonians :D [22:10] tylerstalder has joined the channel [22:10] mikeal has joined the channel [22:11] bronson: Strange that the http module as error events rather than the first parameter of the callback. [22:11] bronson: Any reason for the difference? [22:11] syskk: would love a RT as well :) http://twitter.com/#!/olivierll/status/68735835293495296 [22:11] tbranyen: syskk: nice [22:11] tbranyen: i've been meaning to write that same article [22:11] tbranyen: :D [22:12] lgomez has joined the channel [22:12] syskk: eh eh go ahead, competition is always good :) [22:12] syskk: I'm still a noob, this is really for beginners [22:12] tbranyen: syskk: there are a few other ones out there and i feel everyone has their own style [22:13] kylefox has joined the channel [22:15] DrAwesomeClaws has joined the channel [22:16] NetDooh: @Bronson, so we have [22:17] NetDooh: @Bronson, so we don't have any control over incoming messages, and the client socket. All we have is the net server.listen() [22:17] xeodox: In Node.js, how can I get the 'public DNS' of the EC2 instance? If I do "os.getNetworkInterfaces()"....I only get Amazon's private IP, but not their public DNS. How? [22:18] bronson: NetDooh, there must be a way to split the incoming data back into packets. [22:18] bronson: For instance, HTTP separates headers with \r\n. No matter what size packets you receive, you can always reassemble the headers. [22:19] NetDooh: @Bronson, we don't have control, how can we spilt the data. The incoming data is from devices, sensors, guages, etc, not HTTP [22:19] hybsch has joined the channel [22:19] bronson: NetDooh, right, they must use some sort of protocol. [22:19] NetDooh: There is no way to terminate messages. [22:19] bronson: Sending 12\n13\n14\n [22:19] bronson: If they sent "121314" that would be crazy. [22:20] NetDooh: Ok, yeah they are TCP, so there is a header [22:20] NetDooh: Whats the easy way to split on this [22:21] mscdex: you have to know how the incoming data is structured first [22:21] wadey has joined the channel [22:21] mscdex: if there are no delimiters [22:21] tauren has joined the channel [22:22] NetDooh: There is no way to simply say, don't stick multiple messages into a buffer. Sorry, if that is a stupid question. [22:22] tauren_ has joined the channel [22:23] slickplaid: has anyone done a lot of work with html5 video in node.js? Looking to start a project with html5/flash video using node.js in the mix. Any suggestions for information on previous projects current or abandoned? [22:23] arlolra has joined the channel [22:23] bronson: NetDooh, TCP is a single stream. You can guarantee bytes arrive in a certain order but that's it. [22:24] bronson: You can't guarantee how many will arrive at once. [22:26] NetDooh: @Bronson Ok, think I undestand better now. Going to look at the raw packet and try to figure out where each packet starts and stops [22:26] bronson: NetDooh, excellent [22:26] mscdex: NetDooh: maybe there is documentation of the format on the internet already, depending on what it is you're parsing [22:27] jchris has joined the channel [22:27] puffpio_ has joined the channel [22:27] tjholowaychuk: NetDooh: take a look at some existing projects that support stream parsing [22:28] tjholowaychuk: redis/nedis etc [22:28] rook2pawn has joined the channel [22:29] puffpio_ has joined the channel [22:29] Venom_X_ has joined the channel [22:29] Direwolfe has joined the channel [22:32] boogyman has joined the channel [22:32] timmywil has joined the channel [22:33] jaequery: hi guys [22:35] patzak has joined the channel [22:35] patzak has joined the channel [22:35] xeodox: In Node.js, how can I get the 'public DNS' of the EC2 instance? If I do "os.getNetworkInterfaces()"....I only get Amazon's private IP, but not their public DNS. How? [22:36] mertonium has joined the channel [22:36] konobi: can't you just request that information from a special URL? [22:37] xeodox: I guess I could use the Amazon EC2 Api, and cache it [22:37] xeodox: Run a script to get the public dns'es and match them to the instances then cache it [22:38] xeodox: but seems silly. was lookign for an instant, easy way lol [22:39] gkoberger has joined the channel [22:39] konobi: http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/index.html?AESDG-chapter-instancedata.html [22:39] sechrist has joined the channel [22:40] Adman65 has joined the channel [22:41] xeodox: wow [22:42] xeodox: konobi: seems like the right path. reading it now [22:43] a|i has joined the channel [22:43] a|i: what's a good way of sharing a model with rails and node? [22:44] dkasper has joined the channel [22:44] dkasper: node.js office hours? [22:45] tim_smart: a|i: You will have to manually write sql queries or w/e backend you are using [22:46] beriberikix has joined the channel [22:46] Pathin has joined the channel [22:46] markwubben has joined the channel [22:46] zpao has joined the channel [22:46] thalll has joined the channel [22:46] dmojoryder has joined the channel [22:46] sleeplessinc has joined the channel [22:46] ryanfitz has joined the channel [22:46] amerine has joined the channel [22:46] alek_br_ has joined the channel [22:46] enzo has joined the channel [22:46] upNic has joined the channel [22:46] deedubs has joined the channel [22:46] jhurlima0 has joined the channel [22:46] temp01 has joined the channel [22:46] Ezku\ has joined the channel [22:46] TheFuzzball has joined the channel [22:46] tladuke has joined the channel [22:46] AAA_awright has joined the channel [22:46] josephboyle has joined the channel [22:46] steevel has joined the channel [22:46] Mar4ne1 has joined the channel [22:46] nail_ has joined the channel [22:46] chjj has joined the channel [22:46] joshontheweb has joined the channel [22:46] jbergstroem has joined the channel [22:46] Utkarsh has joined the channel [22:46] pquerna has joined the channel [22:46] alindeman has joined the channel [22:46] Zelest_ has joined the channel [22:46] robotblake has joined the channel [22:46] s0enke has joined the channel [22:46] mif86- has joined the channel [22:46] _ralph has joined the channel [22:46] whoops has joined the channel [22:46] heino_ has joined the channel [22:46] cm has joined the channel [22:46] mmso has joined the channel [22:46] tim_smart: Unless you feel like writing a ActiveRecord client for node [22:46] tim_smart: :) [22:46] xeodox: konobi: that works , I think, thanks! [22:46] caolanm has joined the channel [22:46] Pathin_ has joined the channel [22:47] mrkurt has joined the channel [22:47] rpflo has joined the channel [22:47] sstephenson_ has joined the channel [22:47] mrkurt_ has joined the channel [22:47] sstephenson_ has joined the channel [22:47] JacobSingh has joined the channel [22:49] a|i: tim_smart: how about rails and node sharing redis? [22:49] beriberikix: Anyone know how to pretty-print in Express? [22:49] maximosis has joined the channel [22:50] caolanm has joined the channel [22:50] dgathright has joined the channel [22:50] maximosis has left the channel [22:50] temp01 has joined the channel [22:50] tim_smart: a|i: Node has a few redis clients, but again, I don't think there is a unified ORM for them both [22:52] _jdalton has joined the channel [22:52] caolanm has joined the channel [22:52] bene has joined the channel [22:55] darshanshankar has joined the channel [22:56] jdalton has left the channel [22:57] puffpio has joined the channel [22:58] hassox has joined the channel [22:59] mrchess has joined the channel [23:00] iori has joined the channel [23:01] teax64 has joined the channel [23:02] chbrown has joined the channel [23:02] calebc has joined the channel [23:02] varioust has joined the channel [23:03] baoist has joined the channel [23:04] mrchess has left the channel [23:05] arpegius has joined the channel [23:06] mraleph has joined the channel [23:06] tahu has joined the channel [23:06] kriszyp has joined the channel [23:08] sorens3n has joined the channel [23:12] sonnym1 has joined the channel [23:13] xeodox: If I want to run a request({uri:blah},function(err,res,body){ ..... } ); but I want this to block, what do I do? [23:16] hybsch has left the channel [23:17] themiddleman_itv has joined the channel [23:17] openpercept has joined the channel [23:17] tim_smart: xeodox: Why do you want it to block? [23:18] tim_smart: Generally in that case you don't use Node [23:18] xeodox: I see [23:18] isaacs has joined the channel [23:18] xeodox: damit then I gotta rewrite everything lol [23:19] tim_smart: Also, if you wanted it to block, why give it a callback? ;) [23:19] dnolen has joined the channel [23:20] aconbere has joined the channel [23:21] darshanshankar has joined the channel [23:22] Remoun has joined the channel [23:22] bronson: xeodox, why do you want it to block? [23:22] puffpio has joined the channel [23:24] indexzero has joined the channel [23:24] wadey: isaacs: Thanks for the help earlier, I have the basics of a debhelper script for node.js working: https://github.com/simplegeo/nodejs-pkg-tools [23:25] wadey: isaacs: will help a lot as we package all of our libraries up in .deb packages before deploying to production. [23:25] tmpvar has joined the channel [23:26] Hamms has joined the channel [23:27] zeade has joined the channel [23:27] mikeal has joined the channel [23:28] isaacs: wadey: nice [23:28] wadey: i remember chatting with you and ryah about doing this when I came to the office hours a few weeks ago, so glad to see it was so easy to implement. [23:30] chjj: xeodox: you dont want that to block ;) [23:34] bronson: How's it going in the Joyent office hours? [23:34] isaacs: bronson: chatting about databases. [23:34] gkoberger has joined the channel [23:35] bronson: right on. which one is the winner? [23:36] puffpio has joined the channel [23:36] keeth has joined the channel [23:38] SubtleGradient has joined the channel [23:40] isaacs: bronson: mostly chatting about how awesome riak is [23:40] hasta84 has left the channel [23:41] bronson: ACTION mental note: look closer at riak [23:42] bronson: All I know about Riak is they're against giving away coffee cups... [23:42] [[zz]] has joined the channel [23:42] qcom has joined the channel [23:44] cloudhea1 has joined the channel [23:44] cloudhea1_ has joined the channel [23:45] mikeal has joined the channel [23:45] gf3: tjholowaychuk: holla [23:45] tjholowaychuk: heyhey [23:45] gf3: tjholowaychuk: have you checked out PanPG? https://github.com/azatoth/PanPG [23:45] tjholowaychuk: glanced at it [23:45] gf3: tjholowaychuk: it's the PEG library I use for parsing my IRC junk [23:45] slickplaid: has anyone done a lot of work with html5 video in node.js? Looking to start a project with html5/flash video using node.js in the mix. Any suggestions for information on previous projects current or abandoned? [23:46] gf3: tjholowaychuk: https://github.com/gf3/IRC-js/blob/master/lib/irc.peg [23:46] tjholowaychuk: gf3: I wrote a quick one day lib called "descent" probably not as feature rich but hey [23:46] qcom: hey tj, how has nib been going? [23:46] tjholowaychuk: I use a kinda ebnf / peg hybrid though because I dont like arrows [23:46] tjholowaychuk: haha [23:47] tjholowaychuk: more like leg(1) [23:47] tjholowaychuk: qcom: pretty good [23:47] gf3: tjholowaychuk: oh neat, I'd love to check it out [23:47] tjholowaychuk: gf3: on sec I'll show you the gist [23:47] tjholowaychuk: I didnt implement memoization yet [23:47] tjholowaychuk: because it slowed things down by about 50% [23:47] tjholowaychuk: haha [23:47] tjholowaychuk: which .. is funny [23:47] gf3: ...wait... haha [23:48] tjholowaychuk: js is not the right language to parse things with [23:48] pandeiro has joined the channel [23:49] jchris1 has joined the channel [23:49] gf3: tjholowaychuk: indeed, but js is fun [23:49] tjholowaychuk: totally [23:49] tjholowaychuk: woah the output from that one is interesting haha [23:49] qcom has left the channel [23:49] tjholowaychuk: will have to give it a try [23:50] tjholowaychuk: gf3: example output from mine https://gist.github.com/06f3bea286d2f834261d [23:50] tjholowaychuk: with debugging enabled [23:50] ChrisPartridge has joined the channel [23:50] tjholowaychuk: wanted something closer to what you would write by hand since LR(1) is no fun to debug [23:50] pootieta1g has joined the channel [23:51] qcom has joined the channel [23:51] gf3: oh neat, the syntax is somewhat js-y [23:51] tjholowaychuk: it's very similar to leg(1) [23:52] tjholowaychuk: foo = 'bar' | 'baz' instead of foo <- 'bar' / 'baz' [23:52] tjholowaychuk: etc [23:52] tjholowaychuk: or ':' in that case [23:52] kriszyp has joined the channel [23:52] dmcquay has joined the channel [23:52] gf3: mhmm [23:54] alek_br_ has joined the channel [23:55] tjholowaychuk: oddly without memoization it's about 25% faster than pegjs [23:55] tjholowaychuk: and about 150% less code [23:55] tjholowaychuk: so it's a bit easier to step through with a debugger or w/e [23:56] tjholowaychuk: or just to look at [23:56] bronson: 150% less code? WOW. [23:56] ajpiaNOU has joined the channel [23:57] Mrfloyd has joined the channel [23:58] k1ttty has joined the channel