[00:00] Frippe has joined the channel [00:00] context: apple.co, [00:00] context: apple.com [00:00] gkmngrgn: =( [00:01] iivvoo has joined the channel [00:02] jtsnow has joined the channel [00:02] AvianFlu has joined the channel [00:04] ckknight has joined the channel [00:05] schwab has joined the channel [00:05] criswell has joined the channel [00:05] zackattack has joined the channel [00:07] bnoordhuis: the day i buy my first mac, steve jobs dies [00:07] bnoordhuis: what does this signify? [00:07] ckknight: you killed Steve Jobs, bnoordhuis [00:07] ckknight: you monster. [00:07] neilk_ has joined the channel [00:08] bnoordhuis: it must've been the shock of me caving in [00:09] ckknight: gotta be [00:10] MooGoo: dont worry, now without steve apple will go downhill and ull be forced to sell your macbook for scrap metal [00:10] dynacker: because we dont have some turtle neck waving their products at us [00:10] ryah: bnoordhuis: you killed him [00:10] MooGoo: yea it's happening already [00:10] MooGoo: my iphones screen just cracked [00:11] dynacker: anynoe developed their own protocol for mobiles :>? [00:11] dynacker: http adds too much overheads [00:11] dynacker: f it, i'll do it live [00:12] wankdanker: lol [00:12] replore_ has joined the channel [00:12] replore has joined the channel [00:12] Skyec: hey ryah, have you ever looked into Smalltalk? [00:12] dynacker: i heard it's horrible [00:12] Skyec: you heard wrong [00:13] dynacker: i heard it from you [00:13] MooGoo: i heard it from ur momz [00:13] dynacker: genuine [00:13] Jabbers has left the channel [00:13] massivebiz has joined the channel [00:14] MooGoo: largetalk id say [00:14] ryah: Skyec: a little [00:14] Skyec: that's the problem with global irc channels. There's never a time past all the kid's bedtimes :) [00:14] MooGoo: global? [00:14] MooGoo: i thought irc was only in america [00:14] skiz: there are a few rouge servers in istanbul :( [00:14] dynacker: afaik, americans think nothing exists outside of america [00:14] Skyec: channels which aren't focused on a geographicaly location [00:14] MooGoo: we need to get more boats [00:15] skiz: dynacker: that includes south america :) [00:15] dynacker: :) [00:15] MooGoo: south awaht? [00:15] ckknight: you mean like Mississippi? [00:15] MooGoo: u know terrorists use irc to plan their terror [00:15] MooGoo: all the time [00:16] MooGoo: they even have terror bots and shit [00:16] Skyec: ryah: I was just looking at your g+ plus post on the 30th and I couldn't help but think of Smalltalk. Don't get me wrong, I love nodejs, just sometimes I get frustrated with JS [00:17] hermanju_ has joined the channel [00:17] dynacker: thought you didn't use g+ Skyec .. [00:17] dynacker: caught out [00:17] Skyec: i don't, but unlike Facebook, you don't need an account to view people's posts [00:18] dynacker: so you're stalking ryah [00:18] sechrist: spawning bash prompts as vim split views [00:18] sechrist: makes me feel like superman [00:18] dynacker: creepy guy [00:18] Skyec: i don't need to stalk people. google does that for me, with all of its spiders [00:19] hunterloftis: Hey guys - again please let me know if there's anybody on here interested in well-paying node.js jobs centered on mobile html5 and realtime/websockets work [00:19] dynacker: sounds like our start up Skyec [00:20] dynacker: hunterloftis stole our idea! [00:20] ryah: Skyec: js is a pragmatic choice - it's not my ideal language [00:20] hunterloftis: dynacker: what's Skyec? I'd like to learn more about it. We work for funded startups, so we actually don't have our own idea, no worries ;) [00:21] sechrist: MooGoo: Terrorists use IRC, and hitler was a painter [00:21] Wa has joined the channel [00:21] dynacker: nice try [00:21] ckknight: ryah: I'm curious how you feel about altjs languages [00:21] Skyec: ryah: understood. If only browsers used a better language. Smalltalk would have been great! [00:21] vipaca has joined the channel [00:21] vipaca has joined the channel [00:21] dynacker: are you like pollenizer hunterloftis ? [00:21] ryah: ckknight: ? [00:21] dynacker: you just fund start up ideas? [00:21] saschagehlich has joined the channel [00:21] Skyec: I know somebody in the Smalltalk community is writing some Smalltalk->JS interpreter. Should be interesting [00:22] dynacker: sounds stupid [00:22] ckknight: ryah: languages that compile to JS, like CoffeeScript and the like [00:22] enmand has joined the channel [00:22] MooGoo: hitler would love irc [00:22] sechrist: I would like to run PHP code in a node vm [00:22] sechrist: indeed [00:22] MooGoo: he'd rage all day [00:22] ryah: ckknight: im not really a language person [00:22] dynacker: ryah: prefers grunting at things [00:22] dynacker: geh gah geehh [00:22] Skyec: ckknight: thanks for bringing up altjs. I wasn't aware there was a term for these things [00:23] sechrist: coffeescript drip drip coffescript [00:23] ckknight: <-- making an altjs language, not published yet [00:23] Skyec: the problem is that, even with altjs, i don't think you get some of the "cool" things that come with other languages [00:23] Skyec: like coroutines in Smalltalk, which is done at the VM level [00:23] MooGoo: do any altjs's have operator overloading? [00:24] ckknight: MooGoo: the one I'm writing does :P [00:24] sechrist: operator overloading is something I forgot exists [00:24] MooGoo: some altjs's do callback unwrapping or something which is somewhat like coroutines [00:24] ckknight: MooGoo: it statically assures that something is either a rich object or a number, if a number, use native '+', if an object, do ['+'](arg) [00:24] sechrist: FIBERS [00:24] MooGoo: least in code structer [00:24] Skyec: i don't like operator overloading [00:25] hunterloftis: dynacker: I'm not familiar enough with pollenizer - beyond their basic mission statement - to really address how similar we may be [00:25] Skyec: but i don't feel that strongly about it [00:25] MooGoo: ckknight, yea I could not concieve another way really [00:25] ckknight: MooGoo: best way I thought of [00:25] hunterloftis: dynacker: For six years we've been 'implementers' for agencies, marketing firms, etc - and recently 75% of our revenue has started coming from funded startups [00:26] MooGoo: it's hard to know what a js variable or property is at run time [00:26] ckknight: because if you always have it proxy and do runtime checking, it's horrifically slow [00:26] hunterloftis: dynacker: so now I'm in charge of that, and we need to expand our developer team [00:26] MooGoo: could use some compiler type hints or something [00:26] ckknight: MooGoo: yeah, I do it by compiler hints. (x as Number) -> x + 5 [00:27] dynacker: hunterloftis: what do you mean by coming from funded startups. do you fund them and supply the developers? [00:27] hunterloftis: dynacker: No they're externally (usually both privately & VC) funded, and we implement their technology [00:27] hermanju_ has joined the channel [00:28] dynacker: i see [00:28] dynacker: where are you based? [00:28] dynacker: and you're seeking nodejs devs? nice. [00:28] vaheh has left the channel [00:29] jedahan has joined the channel [00:29] hunterloftis: We're in Charlotte, NC [00:29] sechrist: When my startup has a job posting page, i'm going to put "30 years Node.[3~ [00:29] hunterloftis: skookum.com [00:29] sechrist: on the req page [00:30] sechrist: wow what happened to that sentence [00:30] hunterloftis: And we've (by we I mean the 3 core node developers) recently convinced management to commit a large portion of our web app team to node.js work [00:30] AvianFlu: lol some dude I was trolling was telling me I was wasting my life on node [00:30] Murvin has joined the channel [00:30] sechrist: it's fun for me [00:30] AvianFlu: "I'm gonna laugh so hard when your life's work becomes obsolete and laughed at!" [00:30] AvianFlu: I was like "I've been using it for four months..." [00:30] MooGoo: javascript is a fad language [00:30] sechrist: which is a hell of a lot more gratifying since it's fun [00:30] AvianFlu: "...I think I'll pivot just fine" [00:31] dynacker: looks neat hunterloftis [00:31] MooGoo: nodejs is not crappy enough to be succesful [00:31] hunterloftis: dynacker: thanks - it's been fun screwing with node in production for a while. Charlotte doesn't have tons of good devs though, sadly, so we're trying hard to find more. [00:32] sechrist: The real defining point is if the really shitty turn-key world picks up on it. [00:32] kenperkins has joined the channel [00:32] sechrist: PHP's proliferation is partially because of the proliferation of the LAMP stack [00:32] sechrist: actually that's pretty much it entirely [00:32] MooGoo: also cause it was designed for retards [00:32] sechrist: noobs could start a shared hosting company with cpanel [00:32] sechrist: make money [00:32] sechrist: their clients want simple CMS products [00:32] sechrist: multiply that times 1 million [00:32] hunterloftis: sechrist: I would love to have a LAMP stack equivalent in node. I think another nice thing about PHP is that it's less fragile, in production, than node. Harder for one piece to bring down everything. [00:33] sechrist: hunterloftis, that is "architecture" [00:33] sechrist: not node [00:33] hunterloftis: sechrist: no, it's definitely node. [00:33] hunterloftis: sechrist: don't get me wrong, I love building in node [00:33] hunterloftis: But the deployment process for node and php is fundamentally different [00:33] MooGoo: javascript also was also designed to be ez to use for the skilless masses [00:33] sechrist: for node.. there isn't a deployment process [00:33] hunterloftis: In PHP, you're not responsible for the actual "web server" component [00:34] sechrist: unless you're looking at haibu [00:34] sechrist: or you roll one [00:34] hunterloftis: sechrist: "there isn't a deployment process?" [00:34] sechrist: there isn't [00:34] hunterloftis: Yeah, exactly - you roll one [00:34] hunterloftis: That's my point actually [00:34] hunterloftis: I would love to have a LAMP stack equivalent, so everybody didn't roll one [00:34] sechrist: my deployment process is dsh with a bash script that git pulls and restarts the script that's running in forever [00:34] sechrist: not much of a "process" [00:35] hunterloftis: Also not very stable; if for example one part of your script hangs, your whole app hangs [00:35] hunterloftis: Don't get me wrong, I love node and we're investing a lot into it [00:35] MooGoo: in other words most programers would have no idea what to do [00:35] sechrist: and I actually kind of agree with that troll ted dziba dude [00:35] hunterloftis: But I try to avoid pretending like node is better than all other platforms on every count, because it's not [00:35] sechrist: dsh with unix utils and stdin is really powerful [00:35] Aria has joined the channel [00:35] MooGoo: sounds like CGI [00:35] dynacker: would be neat to run nodejs in a console (think like irssi) [00:36] sechrist: dsh is a ssh wrapper that you can run scripts in parallel across a list of nodes, [00:36] sechrist: or in order if you change the flag [00:36] sechrist: yes there are more fancy things, but all this needs is an ssh key setup and the hostname in ~/.dsh/group/awesome-cloud1 [00:37] Murvin: I'm using Node 0.4.12 and I'm using npm 1.0.93 I tried to install connect-gzip and connect-mongo and got Unmet problem. [00:37] Murvin: however, it was working 2-3 days ago [00:39] tizzo-afk has joined the channel [00:40] robertfw has joined the channel [00:41] Swizec has joined the channel [00:42] yenz has joined the channel [00:44] Xano has joined the channel [00:46] cjm has joined the channel [00:50] zemanel has joined the channel [00:50] mandric has joined the channel [00:50] AvianFlu has joined the channel [00:53] vyshay: lamp stack in node.js seems like missing the point [00:54] bronson has joined the channel [00:54] gxdssoft has joined the channel [00:55] detaos: vyshay: yes. [00:56] hunterloftis: LAMP stack = ease of deployment. Ease of deployment with node would be the best thing for real, production node.js usage [00:57] ckknight: hunterloftis: I've found it easy to deploy node apps on cloud-run servers. If it's your own server, you could use capistrano and some nice settings to get that going [00:57] ckknight: maybe the node community has a capistrano-like solution by now [00:58] dynacker: [00:58] hunterloftis: ckknight: Do you mean production apps, that need to recover from crashes, run on multiple processes and multiple servers simultaneously, have full logging and be easily rolled back or upgraded in place without service loss? [00:58] hunterloftis: I'm not saying it's hard to *run* node apps [00:58] ckknight: that is what I'm referring to [00:59] hunterloftis: Could you link me? I'd be interested [00:59] cognominal has joined the channel [00:59] hunterloftis: That's one of the biggest things we've struggled with... consistent, reliable deployments across multiple servers. [00:59] ckknight: regardless, you'd still need to do a good bit of work until you get it automated [00:59] hunterloftis: Well I guess that's the sticking point [00:59] hunterloftis: With a LAMP stack you don't have to do a good bit of work ;) [00:59] ckknight: hunterloftis: https://github.com/capistrano/capistrano [01:00] hunterloftis: I'm not advocating LAMP... we avoid PHP like the plague [01:00] ckknight: as well you should [01:00] hunterloftis: But the best selling point of a LAMP project is that it will be easy and universal to deploy [01:00] hunterloftis: But you'd have to be kidding to suggest node is easy or universal to deploy to a production environment [01:01] ckknight: yeah, not at this stage, at least [01:01] hunterloftis: Yeah node is young, it's not a hugely difficult problem just one that isn't solved yet [01:01] hunterloftis: Between npm and cluster there's a lot of progress already [01:01] Aikar: https://github.com/joyent/node/blob/master/lib/module.js#L337 [01:02] Aikar: what is the point of this, returning the same value twice? [01:02] secoif has joined the channel [01:03] Aria: Good question. Especially with id set above. [01:04] k1ttty has joined the channel [01:05] cognominal_ has joined the channel [01:05] Sly__: ryah [01:05] jacobolus has joined the channel [01:05] ryah: Sly__: yes? [01:07] cognominal___ has joined the channel [01:08] tjgillies has left the channel [01:09] AvianFlu has joined the channel [01:09] shedinja has joined the channel [01:10] yept has joined the channel [01:10] pik has joined the channel [01:11] randylien has joined the channel [01:11] broofa has joined the channel [01:12] Dris has joined the channel [01:12] schwab has joined the channel [01:12] Dris has left the channel [01:12] CarterL has joined the channel [01:13] randylien_ has joined the channel [01:13] ryanmcgrath has joined the channel [01:13] mbrevoort has joined the channel [01:14] shaggydog97 has joined the channel [01:16] saikat has joined the channel [01:17] dcelix has joined the channel [01:17] racar has joined the channel [01:18] boehm has joined the channel [01:18] linkgoron has joined the channel [01:19] dimroc has joined the channel [01:20] darinc has joined the channel [01:20] AvianFlu_ has joined the channel [01:21] kevwil has joined the channel [01:21] randylien has joined the channel [01:21] DTrejo has joined the channel [01:21] nightshift has joined the channel [01:22] briandh has joined the channel [01:23] jlaire_ has joined the channel [01:23] jldbasa has joined the channel [01:23] broofa has joined the channel [01:23] sub_pop has joined the channel [01:24] shanebo has joined the channel [01:24] dynacker: hug it out [01:25] phiggins has joined the channel [01:26] nerdy_ has joined the channel [01:26] guidocalvano has joined the channel [01:26] DTrejo: herro [01:26] DTrejo: anyone know someone at MS working on node? [01:28] ckknight: what do you mean by working on? [01:28] ckknight: contributing or using? [01:28] DTrejo: either [01:28] DTrejo: ckknight: either? [01:28] ckknight: smarx is using it, I know that [01:28] ckknight: https://github.com/smarx [01:29] DTrejo: cool, ty [01:31] piscisaureus has joined the channel [01:31] vidi has joined the channel [01:32] [[zzz]] has joined the channel [01:32] CIA-48: libuv: 03Ben Noordhuis 07master * r2726213 10/ (5 files in 2 dirs): [01:32] CIA-48: libuv: bench: add batched TCP writes benchmark [01:32] CIA-48: libuv: Times how long it takes to queue and write out 1,000,000 short strings. - http://git.io/CiRz8w [01:33] Murvin: what happen to the latest express, connect-mongo and connect-gzip... they all break with the latest npm on node.0.4.12 [01:33] Murvin: :( [01:34] jakehow has joined the channel [01:34] gxdssoft_ has joined the channel [01:35] lz has joined the channel [01:35] lz has joined the channel [01:35] mkrecny has joined the channel [01:35] ksheurs has joined the channel [01:36] mkrecny: req.session is undefined in all routes under the following app config : https://gist.github.com/1266258 can anyone tell me why? [01:36] abraxas has joined the channel [01:36] mkrecny: (express js) [01:38] softdrink has joined the channel [01:38] isaacs: Murvin: it looks like we hit some weird semver/engines edge case hell here. [01:38] isaacs: i'll dig in later [01:38] sechrist: mkrecny: are you using a session middleware? [01:38] nerdfiles1 has joined the channel [01:38] kersny: mkrecny: I think app.router delegates to your routes, so you'll want it after the session middleware [01:38] isaacs: Murvin: in the short run, you can expliicitly depend on a version of connect that works with node 0.4 [01:39] sechrist: ah right [01:39] sechrist: hmm [01:39] ditesh|cassini has joined the channel [01:39] nerdfiles1 has left the channel [01:39] astacy has joined the channel [01:39] Murvin: isaacs: my situation is quite bad now.. in other servers,which running Node. 0.4.9 [01:39] Sly__: Hey, isaacs. [01:40] Murvin: isaacs: when I install npm express, connect-gzip and connect-mongo they all fail as well [01:40] Murvin: not just on NOde 0.4.12 [01:40] mkrecny: kersny: perfect - thanks dude [01:40] Murvin: i mena.. when I install express , connect-gzip and connect-mongo with specific version on 0.4.9 it was working few days ago.. but not today [01:40] kersny: mkrecny: np [01:41] jocafa: Doing full on web dev using an iPad is troublesome [01:41] dynacker: yeah no feedback on keys [01:41] sechrist: do you at least have btstack and 1080p coming out of it? [01:42] sechrist: that makes using the iphone 4 as a laptop tolerable for me [01:42] jocafa: Nothin. [01:42] sechrist: I use a term for most if not all development though [01:43] jocafa: At least I have iSSH [01:43] sechrist: using a mouse = cool [01:43] sechrist: you set the radius of the simulated touch [01:43] sdwrage has joined the channel [01:43] lightcap has joined the channel [01:43] sechrist: apple tv2 supports btstack too, you can use a keyboard with it right now if you jailbreak [01:44] jocafa: I use vim. No mousing for me! [01:44] sechrist: :set mouse=a [01:44] sechrist: zoom zoom [01:44] piscisaureus has joined the channel [01:44] MooGoo: dude vim has like the best console mouse support ever [01:44] jocafa: Hehe well yeah I do that on my desktop [01:44] dynacker: vim is the best [01:44] MooGoo: vim + mouse = cool [01:45] jocafa: Especially for resizing splits [01:45] MooGoo: yar [01:45] dynacker: ACTION waits for the emacians [01:45] dynacker: http://www.openvim.com/tutorial.html [01:45] sechrist: vim + mouse = cool if your terminal splits the split views so when you copy/paste it's not annoying [01:45] jocafa: I don't have enough fingers foe emacs [01:45] jocafa: For [01:45] dynacker: what [01:45] dynacker: you missing a finger? [01:45] sechrist: I learned vim without realizing that most people use esc [01:46] sechrist: I used ctrl+c and still do [01:46] jocafa: No, emacs requires thirteen fingers [01:46] sechrist: moving my hand so much to hit escape seems like a chore [01:46] Murvin: isaacs: the express version taht break is express@2.4.2 . i m using npm1.0.93 and 1.0.39 [01:46] MooGoo: huh [01:46] chilts: jocafa: I have 10 fingers and that works out fine with emacs :) [01:46] MooGoo: who hits escape [01:46] MooGoo: C-[ [01:46] MooGoo: or C-c [01:46] maushu has joined the channel [01:46] sechrist: index and pinky ftw [01:47] jocafa: chilts: You sir, are amazing then :) [01:47] darinc: or remap CapsLK to Esc [01:47] piscisaureus: DTrejo: Igor Zinkovsky [01:47] sechrist: people that re-map the capslock interest me [01:47] MooGoo: or alt-anything [01:47] Aria: Hehe. Guilty! [01:47] jocafa: BUT I CAPS IS CRUISE CONTROL FOR COOL [01:47] darinc: lol [01:48] darinc: if I ever type a work all uppercase, I always hold down shift... never used capslock [01:48] darinc: %s/work/word [01:48] MooGoo: gUG [01:49] DTrejo: thank you piscisaureus ! [01:49] neilk_ has joined the channel [01:49] aconbere has joined the channel [01:49] piscisaureus: DTrejo: it kind of depends what you mean too - there are several people involved [01:50] WarriorSl has joined the channel [01:50] DTrejo: well, I'm guessing there's some windows under the hood to get node working well on azure, and then I'd bet there is plain node dev as well [01:50] DTrejo: I"m mostly interested in the second I suppose, since I know node [01:51] neoesque has joined the channel [01:51] CIA-48: node: 03Colton Baker 07master * r87286cc 10/ (175 files in 17 dirs): [01:51] CIA-48: node: Fixed a lot of jslint errors. [01:51] CIA-48: node: Fixes #1831 - http://git.io/oKyPfQ [01:51] piscisaureus: DTrejo: what do you need? [01:52] _jhs has joined the channel [01:52] DTrejo: I'm just curious about who's involved [01:52] piscisaureus: ah [01:52] DTrejo: recruiting season is coming around [01:52] piscisaureus: are you going to recruit him [01:52] piscisaureus: noooo [01:52] DTrejo: oh no [01:52] DTrejo: vice versa hehe [01:52] DTrejo: I'm still in school [01:52] DTrejo: junior at brown [01:52] piscisaureus: DTrejo: the way to get hired is to send patches [01:53] DTrejo: sent a few docs patches a long time ago [01:53] piscisaureus: DTrejo: or to start your own cool OSS project / mpdule [01:53] k1ttty has joined the channel [01:53] DTrejo: working on that second one : [01:53] DTrejo: ) [01:53] DTrejo: npmpants.org [01:53] DTrejo: don't circulate it heh [01:53] DTrejo: not ready yet [01:53] dynacker: CIRCULATING [01:53] kersny: speaking of getting hired… anyone know if Joyent is hiring interns next summer for node-related stuff? [01:53] DTrejo: also not open sourced yet [01:54] DTrejo: kersny: did they have interns last summer? I feel like they didn't [01:54] konobi: no interns as of yet [01:54] kersny: DTrejo: I haven't seen anything indicating any [01:54] kersny: oh, ok [01:54] DevX101 has joined the channel [01:54] konobi: DTrejo: are you in sync with isaacs about that? [01:55] DTrejo: about the project? [01:55] DTrejo: yes [01:55] isaacs: konobi: yes, i plan to let DTrejo do some of the heavy lifting, and then either absorb him into the npm fold, or crush him as a competitor. [01:55] isaacs: one or the other. [01:55] DTrejo: :) [01:55] isaacs: should be fun either way. [01:55] konobi: sweet [01:55] DTrejo: I suspect similarly :) [01:56] isaacs: i mean, the first few versions of this thing will need to be rewritten anyhow, as is the way with software. [01:56] DTrejo: starting in on a 1/2 rewrite heh [01:56] DTrejo: slash cleanup [01:57] DEVX__ has joined the channel [01:58] neurodrone_ has joined the channel [01:58] jedahan has joined the channel [01:58] vidi has joined the channel [01:59] theCole has joined the channel [02:00] konobi: DTrejo: nice... it'll be interesting to see how that progresses... i'm a big cpants fan =0) [02:01] DTrejo: yay [02:03] konobi: DTrejo: getting more Test::* style modules would be schmancy too [02:03] shaggydog97 has joined the channel [02:04] DTrejo: konobi: you mean more supported test frameworks? [02:04] kmwallio has joined the channel [02:05] DTrejo: konobi: as long as they have an option to output TAP, they will be supported, as we support TAP [02:05] konobi: DTrejo: no... stuff to build atop node-tap [02:05] jesusabdullah: isaacs: Is there a tool in npm for validating package names? [02:05] isaacs: well, there's npm? [02:06] konobi: Test::Differences or Test::Exception or Test::LongString for example [02:06] isaacs: i mean, it'll explode if the package.json's name isn't valid [02:06] isaacs: jesusabdullah: any time you do anythign [02:06] DTrejo: konobi: oh you mean those things as a feature of a test framework, e.g. vows/expresso/etc ? [02:07] DTrejo: I'm not familiar with those [02:07] a_suenami has joined the channel [02:07] seebees: isaacs: so failure indicates success? very zen. [02:07] konobi: DTrejo: those all use Test::Builder underneath... so it's a common TAP producer [02:07] jesusabdullah: isaacs: I'm using it programmatically, but I want to filter out all cases where it could try to look for the package on my computer [02:07] DTrejo: konobi: i [02:08] DTrejo: konobi: if something fails, we plan to just supply all the stdoutput [02:08] nightshift has left the channel [02:08] DTrejo: as a first step [02:08] jesusabdullah: basically, I have a list of packages and I only want it to try installing them from the npm repo, and not from the app's filesystem [02:08] konobi: this isn't an npants thing... just an aside [02:08] jesusabdullah: does that make sense? [02:10] DTrejo: right, understood that after a bit [02:11] torsd has joined the channel [02:14] neilk_ has joined the channel [02:16] indexzero has joined the channel [02:16] tilgovi has joined the channel [02:16] wadey has joined the channel [02:17] DTrejo: night all! [02:17] Aria: Night [02:21] jowop has joined the channel [02:21] jowop: why am i getting "Error: Not Implemented" http://pastebin.com/RjNJP8ph [02:21] mbrevoort has joined the channel [02:22] davidbanham has joined the channel [02:23] jerrysv has joined the channel [02:23] locks has joined the channel [02:24] locks: I want to make a tiny app, to which I will upload images [02:24] locks: can anyone recommend me a course of action? [02:25] konobi: express [02:26] davidban_ has joined the channel [02:27] tjgillies has joined the channel [02:27] sonnym1 has joined the channel [02:27] lime_ has joined the channel [02:28] tjgillies has left the channel [02:28] sonnym has joined the channel [02:29] locks: tks [02:30] infynyxx has joined the channel [02:30] gregpascale has joined the channel [02:30] amigojapan has joined the channel [02:35] Zamarok: Anyone here ever work with node-irc? my bot can connect to some channels.. but not others. It will only stay connect to channels that have a forward to them.. like how #javascript forwards to ##javascript. Weird and really specific problem >_> [02:37] Zamarok: Only on freenode too, by the way. It functions fine on other networks [02:40] bartt has joined the channel [02:41] socketio\test\32 has joined the channel [02:41] context: for renters insurance, progressive or allstate, statefarm or somewhere else ? [02:41] context: pricing is ranging from $160 - $250 [02:42] mbrevoort has joined the channel [02:44] DevX101 has joined the channel [02:44] jesster7 has joined the channel [02:44] jesster7 has left the channel [02:45] rich_ has joined the channel [02:46] rich_ has left the channel [02:47] Vennril2 has joined the channel [02:48] shanebo has joined the channel [02:53] schwab has joined the channel [02:58] ewj has joined the channel [02:59] lime_: I'm having issues getting the npm package `google-voice` working [03:00] lime_: It appears the `end` function for a response is never calling, preventing the callback's after the data is received from calling [03:00] lime_: https://github.com/amper5and/node-google-voice/blob/master/GoogleVoice.js [03:01] PhilK has joined the channel [03:09] jacobolus has joined the channel [03:13] willwhite has joined the channel [03:14] llrcombs: lime_: so fix it! [03:14] llrcombs: and report a bug! [03:17] smathy has joined the channel [03:18] jacobolus has joined the channel [03:19] jacobolu_ has joined the channel [03:19] lime_: llrcombs: I've been trying to diagnose the problem, but it appears to be in node.js and not `google-voice` [03:20] lime_: I just wanted to make sure it wasn't an already known issue, or something that has no intention in being fixed [03:21] lime_: hopefully the problem will be diagnosed soon... [03:22] tk has joined the channel [03:25] secoif has joined the channel [03:26] node has joined the channel [03:27] node: aa [03:29] lime_: Found issue https://github.com/joyent/node/issues/728 [03:29] mike5w3c has joined the channel [03:29] darinc1 has joined the channel [03:30] jonrohan has joined the channel [03:31] k1ttty has joined the channel [03:32] Wa has joined the channel [03:32] darinc1 has left the channel [03:33] ditesh|cassini has joined the channel [03:34] sirdancealot has joined the channel [03:35] dguttman has joined the channel [03:38] creationix has joined the channel [03:43] jtsnow has joined the channel [03:44] trotter has joined the channel [03:45] ag4ve has joined the channel [03:46] racar has joined the channel [03:46] Aphelion has joined the channel [03:49] isaacs has joined the channel [03:50] Stephen has joined the channel [03:51] tilgovi has joined the channel [03:51] tilgovi has joined the channel [03:52] hermanju_ has joined the channel [03:52] tiglionabbit has joined the channel [03:56] hermanju_ has joined the channel [03:57] matyr has joined the channel [03:57] siculars_ has joined the channel [03:59] Me1000 has joined the channel [04:00] secoif has joined the channel [04:01] maletor has joined the channel [04:02] clu3 has joined the channel [04:02] dreamdust has joined the channel [04:03] JWarm has joined the channel [04:04] JWarm: Hey guys, I'm running on centos5 and can't install npm successfully. I've tried a bunch of things now… The closest I've gotten so far is where the installation just ends up hanging. [04:04] JWarm: Can I get pointed in the right direction? [04:04] isaacs: JWarm: tar --version <-- what does that say? [04:04] willwhite has joined the channel [04:04] creationix has left the channel [04:04] hermanjunge_: use an older version [04:04] JWarm: tar (GNU tar) 1.15.1 [04:05] paul0 has joined the channel [04:05] isaacs: JWarm: you need to go find yourslef some 1.26 hotness [04:05] isaacs: 1.15 gnutar is ancient garbage. [04:05] hermanjunge_: isaacs, got to see you. point me here: I'm doing an 'npm install express' [04:05] JWarm: alright [04:05] hermanjunge_: it throws me an https://gist.github.com/cfafa65665ce5b0675cc [04:05] hermanjunge_: it says that connect requires node 0.5.0 [04:06] ag4ve has joined the channel [04:06] hermanjunge_: was it arbitrary, or the new convention is using node > 0.5? [04:06] isaacs: hermanjunge_: yeah, the problem is that you're getting connect@2.0.0alpha, which is in fact <2.0.0 [04:06] hermanjunge_: i'm with 4.12 [04:06] tonyd has joined the channel [04:06] amigojapan_ has joined the channel [04:06] hermanjunge_: good, that's a known issue [04:06] isaacs: hermanjunge_: for some reason, npm isn't filtering out nested deps based on versions, not sure why [04:06] hermanjunge_: what's the hack to make it work? [04:07] isaacs: put "dependencies": { "connect": "1.7.1" } in your package.json file [04:08] vipaca has joined the channel [04:08] hermanjunge_: that overrides the requirement express does? [04:08] isaacs: or, npm install connect@1.7.1 -S [04:09] guillermo has joined the channel [04:09] isaacs: well, it'll satisfy it with the closer one rather than fetching another copy [04:10] DEVX_ has joined the channel [04:11] hermanjunge_: excellent it worked [04:11] isaacs: found the bug [04:11] isaacs: should be fixed in the next version of npm [04:11] hermanjunge_: good idea! well, you know the algorithm :D [04:11] secoif has joined the channel [04:12] idefine has joined the channel [04:12] isaacs: ahh... crap. looks like tj changed the express package to not trigger the bug. [04:12] idefine has left the channel [04:12] perezd has joined the channel [04:12] isaacs: express@2.4.7 should work right now [04:13] isaacs: ok, cool, express@2.4.6 shows the bug still. yeah, pushing a fix shortly. [04:13] ^robertj has joined the channel [04:14] ecin has joined the channel [04:14] shanebo has joined the channel [04:17] hermanjunge_: ah, unrelated, ted dziuba has published another one of his berries [04:18] Kester has joined the channel [04:18] isaacs: 1.0.94 coming up [04:18] rurufufuss has joined the channel [04:19] isaacs: published [04:19] ryan[WIN] has joined the channel [04:19] pollreiszj has joined the channel [04:20] pollreiszj has left the channel [04:21] dreamdust: I want to work on/start a node project, but I don't want to just build another framework when I feel Connect/Express are so good. [04:21] softdrink has joined the channel [04:21] Lorentz: Don't have to do another framework. [04:21] Lorentz: Try some other projects. [04:21] perezd has joined the channel [04:21] indexzero: isaacs: You there? [04:22] indexzero: Trying to figure out what is going on here: https://gist.github.com/1266520 [04:22] isaacs: hi [04:23] isaacs: indexzero: it's hit, but the io there is nonblocking, and the exit is immediate. [04:23] isaacs: process.exit is destructive. [04:23] isaacs: loses io [04:23] indexzero: isaacs: it doesn't print the console.dir even if I remove the process.exit() statement [04:24] isaacs: console.dir(err); process.stdout.on("drain", function () { process.exit(1) }) [04:24] tbranyen: probably the throw [04:24] jocafa: It salts the ground and burns the crops on the way out. [04:24] indexzero: isaacs: ok, thanks [04:24] isaacs: indexzero: oh, yeah, that first few line [04:24] tbranyen: usually you want to stop events from firing if you throw an uncaught exception inside [04:25] isaacs: indexzero: i think ryah is planning on making stdout blocking, though [04:25] isaacs: mostly to avoid this kind of craziness. [04:25] indexzero: I see [04:25] isaacs: you'll still get this weird behavior if you pipe to a file, though [04:26] cjm has left the channel [04:27] hermanjunge_: May a ask something conceptual about events? [04:28] hermanjunge_: http.request() { } [04:28] context: i dont know. may you? [04:28] Stephen: hermanjunge_: Sure [04:28] hermanjunge_: you set it up [04:28] hermanjunge_: then you subscribe to req.on('error'... [04:28] hermanjunge_: what happens if you have the error before subscribing to it? [04:29] hermanjunge_: does the error event gets enqueued or something? [04:29] hermanjunge_: it is buggin me for weeks [04:29] Stephen: Ok, so you setup an event [04:29] Stephen: "CustomEvent" [04:29] hermanjunge_: http://nodejs.org/docs/v0.4.12/api/all.html#http.request [04:29] hermanjunge_: this one in particular [04:29] Stephen: and while subscribing to "CustomEvent", you get an error [04:30] Stephen: Is this the appropriate scenario? [04:30] hermanjunge_: once the }); of var req = http.request(.. is done [04:30] JWarm: where can i find a git download of a stable version of npm? [04:30] hermanjunge_: you have a space of time, a windows of time [04:30] ckknight: hermanjunge_: due to the single-threaded nature of javascript, this shouldn't be a problem, as long as you don't "wait" to register for "error" [04:31] hermanjunge_: more conceptual [04:31] Stephen: what ckknight said [04:31] hermanjunge_: the single-thread is a point, I agree [04:31] hermanjunge_: :D [04:31] ckknight: it won't do any processing until the next event pump cycle [04:31] hermanjunge_: what happens if I make the declaration req.on('error'... say after I put on some stdouts? [04:31] MatthewS has joined the channel [04:32] hermanjunge_: a couple console.log('this'); console.log('that'); ? [04:32] hermanjunge_: can I catch the error still? [04:32] Stephen: You should subscribe to error first [04:32] hermanjunge_: sorry, can I _still_ catch the error [04:32] mraleph has joined the channel [04:32] hermanjunge_: ok [04:32] hermanjunge_: but the window of time ain't a problem then [04:32] Stephen: After subscribing? No. [04:33] hermanjunge_: OHHHH, I see [04:33] hermanjunge_: maybe the request doesn't start until the next tick [04:33] hermanjunge_: then I have 'time' to subscribe to error [04:33] hermanjunge_: I mean it guys, I'd be thinking a lot on that, but didn't dare to ask [04:34] Stephen: Errors are global... subscribing to an event does not require the promise of that event firing [04:34] Stephen: Well, nodejs namespaces them [04:34] hermanjunge_: no, i'm not talking of having the error [04:34] context: With http.request() one must always call req.end() to signify that you're done with the request - even if there is no data being written to the request body. [04:35] context: or you could read the docs [04:35] hermanjunge_: but of the chance of losing that error [04:35] context: i would not subscribe to any event after ending the request. [04:35] hermanjunge_: well, I think I got it [04:35] Stephen: hermanjunge_: Subscribe to the error event before ever creating the object [04:35] Stephen: then you're covered [04:36] context: ... [04:36] Stephen: what's up context? [04:38] context: hi hi [04:39] davidbanham has joined the channel [04:42] dynacker: what's up context ? [04:43] confoocious has joined the channel [04:44] abraxas: google just release a big update to the garbage collector [04:44] fangel has joined the channel [04:44] abraxas: does anyone know where one can read more on that? [04:44] abraxas: i really can't find anything... [04:45] abraxas: very curious what effect it will have on nodejs [04:45] Tobias|| has joined the channel [04:47] dguttman has joined the channel [04:47] ag4ve has joined the channel [04:48] ag4ve_ has joined the channel [04:48] Stephen has joined the channel [04:49] stagas has joined the channel [04:51] jtsnow has joined the channel [04:53] k1ttty has joined the channel [05:00] ag4ve has joined the channel [05:03] stagas has joined the channel [05:03] ckknight: abraxas: link? [05:03] abraxas: http://code.google.com/p/v8/source/browse/branches/bleeding_edge/ChangeLog [05:03] abraxas: and ryan dahl's tweet ;) [05:03] Aria: Wow. [05:03] Aria: ACTION does a dance over the first few items. [05:04] davidbanham has joined the channel [05:04] ag4ve_ has joined the channel [05:04] abraxas: :) [05:04] JWarm has joined the channel [05:05] nerdfiles1 has joined the channel [05:05] nerdfiles1 has left the channel [05:07] langworthy has joined the channel [05:08] Ginlock has joined the channel [05:09] skiz has joined the channel [05:10] igl has joined the channel [05:10] sdwrage has joined the channel [05:11] tiglionabbit has joined the channel [05:12] OmidRaha has joined the channel [05:12] mike5w3c has joined the channel [05:12] superjudge has joined the channel [05:14] saikat has joined the channel [05:16] ditesh|cassini has joined the channel [05:17] dshaw_ has joined the channel [05:17] boaz has joined the channel [05:18] stagas has joined the channel [05:18] jjagga has joined the channel [05:18] stagas has joined the channel [05:19] Spion has joined the channel [05:21] MatthewS: ahh [05:21] MatthewS: that's good to know [05:25] smathy has joined the channel [05:26] stonebranch has joined the channel [05:28] Frippe has joined the channel [05:30] torsd has joined the channel [05:31] saikat has joined the channel [05:31] ph^ has joined the channel [05:31] ppcano has joined the channel [05:32] avih has joined the channel [05:32] jhurliman has joined the channel [05:33] avih has joined the channel [05:33] ckknight has joined the channel [05:34] zackattack has joined the channel [05:35] vipaca has joined the channel [05:39] saikat has joined the channel [05:41] fangel has joined the channel [05:41] saikat has joined the channel [05:41] thalll has joined the channel [05:41] ritch has joined the channel [05:44] towski has joined the channel [05:46] ziprar has joined the channel [05:52] SamuraiJack has joined the channel [05:54] k1ttty has joined the channel [05:54] avih has joined the channel [05:55] saikat has joined the channel [05:55] jetienne_ has joined the channel [05:56] ckknight has joined the channel [05:56] zackattack has joined the channel [05:58] zeade has joined the channel [05:58] DevX101 has joined the channel [06:00] maletor has joined the channel [06:03] pandark_ has joined the channel [06:04] wookiehangover has joined the channel [06:07] k1ttty has joined the channel [06:09] jackbean has joined the channel [06:11] simenbrekken has joined the channel [06:11] Peniar has joined the channel [06:12] stagas has joined the channel [06:15] sdwrage has joined the channel [06:16] bronson has joined the channel [06:16] nforgerit has joined the channel [06:16] hwinkel has joined the channel [06:17] Margle has joined the channel [06:17] joshthecoder has joined the channel [06:18] massivebiz has joined the channel [06:21] hwinkel1 has joined the channel [06:24] ayaz has joined the channel [06:25] wbednarski has joined the channel [06:27] TheFuzzball has joined the channel [06:32] smathy has joined the channel [06:34] aliem has joined the channel [06:35] andree has joined the channel [06:37] johnwards has joined the channel [06:38] yozgrahame has joined the channel [06:40] dford has joined the channel [06:42] ptlo has joined the channel [06:46] simenbrekken has joined the channel [06:47] herbySk has joined the channel [06:51] gut4 has joined the channel [06:54] caffine has joined the channel [06:54] `3rdEden has joined the channel [06:55] pid_ has joined the channel [06:55] ayaz has joined the channel [06:58] guidocalvano has joined the channel [06:59] avih has joined the channel [07:04] fangel has joined the channel [07:04] AvianFlu has joined the channel [07:05] k1ttty has joined the channel [07:08] wbednarski has joined the channel [07:09] EvRide has joined the channel [07:14] cosmincx has joined the channel [07:15] mytrile has joined the channel [07:15] dmitrya2e_ has joined the channel [07:16] jbpros has joined the channel [07:19] raphdg has joined the channel [07:22] Marak: http://whatismyip.nodejitsu.com/ [07:23] Bergle_1: ugly page flashy stuff [07:23] joshgillies has joined the channel [07:23] Druid_ has joined the channel [07:24] ppcano has joined the channel [07:24] joshgillies has joined the channel [07:25] matyr has joined the channel [07:32] daglees has joined the channel [07:33] djcoin has joined the channel [07:34] [AD]Turbo has joined the channel [07:35] ctavan has joined the channel [07:35] Xano has joined the channel [07:35] ablomen has joined the channel [07:37] mynix has joined the channel [07:37] [AD]Turbo: hi there [07:38] boltR has joined the channel [07:39] topaxi has joined the channel [07:39] Casan has joined the channel [07:42] wgo has joined the channel [07:43] boltR has joined the channel [07:44] emattias has joined the channel [07:45] boltR has joined the channel [07:46] ablomen has joined the channel [07:47] TomY has joined the channel [07:50] _kud has joined the channel [07:50] pibi has joined the channel [07:51] jetienne_ has joined the channel [07:52] Dreamer3 has joined the channel [07:52] pibi has left the channel [07:53] aaronmcadam has joined the channel [07:54] JSManiacs has left the channel [07:57] Aiden_ has joined the channel [07:58] tshpaper has joined the channel [07:58] CIA-48: libuv: 03Igor Zinkovsky 07ipc2 * raad62d9 10/ src/win/stdio.c : remove stdio.c - http://git.io/98gXXQ [07:58] CIA-48: libuv: 03Igor Zinkovsky 07ipc2 * r3502da6 10/ (4 files in 2 dirs): windows ipc fixes - http://git.io/aqcj1w [07:59] adambeynon has joined the channel [08:01] digman543 has joined the channel [08:01] gut4 has joined the channel [08:02] mpavel has joined the channel [08:03] meso has joined the channel [08:03] hellp has joined the channel [08:04] zastaph has joined the channel [08:05] mc_greeny has joined the channel [08:05] mpavel has left the channel [08:05] Wizek-other has joined the channel [08:06] noodlehaus has joined the channel [08:06] saschagehlich has joined the channel [08:07] mraleph has joined the channel [08:07] noodlehaus: hi guys, is there a way to "jail" node modules? for example, i have an app that will load user-submitted modules but i want to restrict it from using certain functions/modules (ie. fs, sys). [08:07] mikedeboer has joined the channel [08:07] adrianmg has joined the channel [08:08] noodlehaus: if not, might be a nice project to do [08:08] dubenstein has joined the channel [08:09] bergie has joined the channel [08:10] SubStack: noodlehaus: you can vm.runInNewContext() some source and pass in a specific context [08:10] jbpros has joined the channel [08:11] nforgerit has joined the channel [08:11] noodlehaus: @SubStack but within the scope you pass they can still do things like access the local filesystem? [08:12] ctavan has joined the channel [08:13] noodlehaus: gonna try and see if it's possible to re-define require() [08:13] dingomanatee has joined the channel [08:13] matyr has joined the channel [08:14] markwubben has joined the channel [08:15] SubStack: noodlehaus: they can only access the filesystem if you give the system require() to the context [08:15] SubStack: or fs [08:15] geoKe has joined the channel [08:16] ee_vin has joined the channel [08:17] noodlehaus: i understand now substack, thanks! i didn't know the code passed to runInNewContext() is NOT run as nodejs code [08:17] shenlok has joined the channel [08:17] ckknight: well, it is, but it's in a completely separate context is all [08:17] eldios has joined the channel [08:17] noodlehaus: yeah [08:20] tshpaper has joined the channel [08:22] noodlehaus: thanks substack, ckknight! got my problem fixed :) [08:22] ckknight: hooray! [08:25] swhit has joined the channel [08:29] Fabryz has joined the channel [08:30] kulor-uk has joined the channel [08:31] calliostro has joined the channel [08:31] calliostro: helo [08:31] bergelmir has joined the channel [08:32] vguerra has joined the channel [08:32] robi42 has joined the channel [08:32] dmkbot: joyent/node: 03mikeal: streams2 - https://github.com/joyent/node/issues/1681 [08:33] saikat has joined the channel [08:33] sfoster has joined the channel [08:34] Sebastien-L has joined the channel [08:35] meso has joined the channel [08:40] adrianmg1 has joined the channel [08:41] jacobolus has joined the channel [08:41] dgathright has joined the channel [08:43] dmitrya2e__ has joined the channel [08:43] adrianmg1 has left the channel [08:43] robhawkes has joined the channel [08:44] bergelmir has joined the channel [08:46] gms has joined the channel [08:47] mike5w3c has joined the channel [08:48] ee_vin has left the channel [08:50] eevin has joined the channel [08:51] eldios has joined the channel [08:51] icebox has joined the channel [08:51] HardPhuck: can i restart node.js app from within the process? [08:52] mendel__ has joined the channel [08:53] jetienne_: HardPhuck syscall allow that... im not sure you can get it from node.js [08:53] jetienne_: HardPhuck: syscall=exec() syscall [08:53] HardPhuck: thx [08:53] Lemon_BE has joined the channel [08:53] konobi: HardPhuck: no, not really [08:53] jetienne_: HardPhuck: or easier, quit the process, and have your node.js run in another program [08:54] konobi: use smf, upstart or god or something [08:54] jetienne_: HardPhuck: forever, supervisor etc... [08:54] HardPhuck: okie [08:54] jetienne_: HardPhuck: you can write your own. this is just a loop with a spawn in it [08:55] konobi: using exec from within the process sounds easy, but you have to do a lot of environmental stuff for it to work correclty [08:57] Glenjamin: plus there isn't an exec in core node [08:58] clopez has joined the channel [09:00] crodas has joined the channel [09:00] HardPhuck: ok, what would you recommend for the following (hypothetic for the moment) problem, I have a form, in which a user can write small snippets of javascript and those get saved to database [09:00] HardPhuck: on another "page" I would like that snippet to execute then [09:01] HardPhuck: just like in wordpress for example where you can put html in the template and it get's parsed on the output [09:01] HardPhuck: s/html/php/ [09:01] HardPhuck: html -> I meant php [09:01] ryanseddon has joined the channel [09:01] jbpros has joined the channel [09:02] HardPhuck: like dynamic templates thing [09:02] r04r has joined the channel [09:02] T0aD has joined the channel [09:02] pyrotechnick has joined the channel [09:02] OmidRaha has joined the channel [09:03] pyrotechnick: embassy-grade [09:03] pyrotechnick: LOL [09:04] Wizek-other has joined the channel [09:05] markwubben has joined the channel [09:05] pyrotechnick: anybody alive? [09:06] pyrotechnick: i've had a strange day. the mood in the office given the news was very sombre. we all were wearing black it was like a funeral [09:07] whitman has joined the channel [09:07] Kos_ has joined the channel [09:07] Kos_: Hello there [09:08] Kos_: I come before Thee to ask: [09:08] pyrotechnick: ask away [09:08] Kos_: do I need a root to install npm? [09:08] bzinger has joined the channel [09:08] pyrotechnick: no [09:08] pyrotechnick: what platform? [09:08] Kos_: some linux distro [09:09] Kos_: they just installed node for me [09:09] Kos_: but there's no npm and i wonder if i have to bug the admins [09:09] pyrotechnick: you should not [09:09] Kos_: I couldn't find anything on local npm install in the docs [09:09] pyrotechnick: where is your node? [09:09] pyrotechnick: home folder? [09:09] pyrotechnick: system? [09:10] Kos_: system [09:10] pyrotechnick: trickier but possible [09:10] Kos_: I'm all ears [09:10] pyrotechnick: i need to make a vm give me 5 [09:10] Kos_: sure [09:10] pyrotechnick: i dont want to send you on a wild goose chase so let me actually try before i buy [09:11] pyrotechnick: in the meantime [09:11] pyrotechnick: try these [09:11] pyrotechnick: https://gist.github.com/579814 [09:12] pyrotechnick: have you seen that gist, it's linked to on the npm website i believe [09:12] pyrotechnick: ? [09:15] Kos_: nope, the last tip looks like what i need [09:15] pyrotechnick: yep [09:15] Kos_: looks like it did the trick, i only need to fix PATH myself [09:16] pyrotechnick: yes [09:16] pyrotechnick: you're welcome. [09:16] akervern has left the channel [09:16] boltR has joined the channel [09:16] tylerstalder has joined the channel [09:19] Kos_: npm gives me permission errors now, but running node npm.js works, i guess i can live with that [09:19] Kos_: thanks for the help! [09:19] pyrotechnick: anytime [09:21] DennisRasmussen has joined the channel [09:21] irahgel has joined the channel [09:21] konobi: ryah: ping [09:22] pyrotechnick: that doesn't work if they're not in the channel [09:24] jbpros has joined the channel [09:25] ppcano: is there any clone method implemented on nodejs? [09:28] jspiros has joined the channel [09:28] shinuza has joined the channel [09:30] fermion has joined the channel [09:33] _kud has joined the channel [09:34] abraxas has joined the channel [09:35] swick has joined the channel [09:36] neshaug has joined the channel [09:37] jetienne_ has joined the channel [09:38] burningdog has joined the channel [09:39] secoif has joined the channel [09:45] ckknight: ppcano: since it varies by object type, it wouldn't make too much sense. It's easy enough to write your own for most cases, though. [09:47] mAritz has joined the channel [09:48] nphase has joined the channel [09:48] jetienne: anybody got experience about node.js and closure compiler ? do they work well together ? any field experience ? [09:50] jackbean has joined the channel [09:53] skm has joined the channel [09:55] replore has joined the channel [09:55] replore_ has joined the channel [09:55] guidocalvano has joined the channel [09:56] tuhoojabotti: I guess why not. [09:56] tuhoojabotti: Haven't tried though. [09:58] tuhoojabotti: My code isn't in production yet. :D [09:59] jetienne_ has joined the channel [10:00] fly-away has joined the channel [10:03] kab3wm has joined the channel [10:03] hwinkel has joined the channel [10:06] pibi has joined the channel [10:07] pyrotechnick has left the channel [10:07] N0va` has joined the channel [10:07] zackattack has joined the channel [10:09] dubenstein has joined the channel [10:09] oiiii has joined the channel [10:10] pibi has left the channel [10:13] saschagehlich has joined the channel [10:14] enki has joined the channel [10:14] k1ttty has joined the channel [10:15] enki: hey i'm sure this is a FAQ, but i've been googling for a while: is there a guide on how to properly start a new NPM package? [10:16] enki: finally: http://npmjs.org/doc/developers.html [10:16] SubStack: enki: you can `npm init` [10:17] SubStack: and it asks you questions to generate a package.json [10:19] ivanfi has joined the channel [10:21] abraxas has joined the channel [10:21] cgfuh has joined the channel [10:24] enki: SubStack: ah, cool [10:24] dob_ has joined the channel [10:25] jacobolus has joined the channel [10:26] gut4 has joined the channel [10:27] dubenstein has joined the channel [10:27] Morkel has joined the channel [10:29] Xano_ has joined the channel [10:30] navaru has joined the channel [10:30] jetienne: console.profile() isnt supported by node... anything approaching ? [10:31] amigojapan has joined the channel [10:34] DrMcKay has joined the channel [10:36] jldbasa has joined the channel [10:37] dubenstein has joined the channel [10:38] ctavan has joined the channel [10:42] navaru has left the channel [10:42] dubenstein has joined the channel [10:43] mraleph has joined the channel [10:47] uchuff has joined the channel [10:47] Vertice has joined the channel [10:47] davidbanham has joined the channel [10:50] dubenstein has joined the channel [10:52] Xano has joined the channel [10:53] xules has joined the channel [10:55] random123 has joined the channel [10:58] Xano_ has joined the channel [10:59] shapeshed has joined the channel [11:00] irahgel has joined the channel [11:03] dob_: somebody here? [11:03] Wizek-other has joined the channel [11:04] dob_: i am looking for a book about advanced javascript development. [11:04] dob_: any tips? [11:04] Tobbe: there are currently 667 members in this chat room [11:04] jackbean has joined the channel [11:05] Glenjamin: jetienne: console.time and console.timeEnd ? [11:06] jtrudeau has joined the channel [11:06] bzinger has joined the channel [11:08] xules: ACTION is away: Indisponible actuellement [11:08] CrisO has joined the channel [11:08] jetienne: Glenjamin: good enougth, thanks [11:09] gut4 has joined the channel [11:10] jomoho has joined the channel [11:10] xules: ACTION is back. [11:11] fairwinds has joined the channel [11:12] jetienne: xules: btw no need to notify the whole channel with autoway.. [11:12] DennisRas has joined the channel [11:13] xules: you right, i looking for disable [11:13] xules: sry [11:14] neurodrone has joined the channel [11:14] stonebranch has joined the channel [11:14] okuryu has joined the channel [11:24] luke`_ has joined the channel [11:25] broofa has joined the channel [11:26] gut4 has joined the channel [11:27] matyr has joined the channel [11:28] DrMcKay: how do I use libuv and http_parser with gyp in my C application? [11:29] DrMcKay: gyp seems to fail with "could not automatically locate src directory" [11:31] dmkbot has joined the channel [11:31] nickadeemus2002 has joined the channel [11:34] dob_: i am looking for a book about advanced javascript development. [11:35] adambeynon has joined the channel [11:37] Guest10940 has joined the channel [11:41] coreb has joined the channel [11:49] Asfak has joined the channel [11:49] Asfak: hey [11:49] aaronmcadam has joined the channel [11:51] level09 has joined the channel [11:51] replore has joined the channel [11:51] replore_ has joined the channel [11:52] Morkel has joined the channel [11:54] SamuraiJack has joined the channel [11:56] metellus has joined the channel [11:57] _kud has joined the channel [11:59] astacy has joined the channel [11:59] deanc[work] has joined the channel [12:00] deanc[work]: Hi folks. I just tried to install the less package using npm, but when i type the lessc command it says it's not found [12:00] deanc[work]: I checked $PATH and /local/bin is in the path, and less was installed @ ~/local/node_modules ... [12:00] DrMcKay: deanc[work]: sudo npm install -g less [12:01] SamuraiJack has joined the channel [12:01] deanc[work]: DrMcKay, done. what should i expect? [12:01] deanc[work]: ah, well now it works :) [12:01] deanc[work]: Can you explain to me, as to why? [12:02] DrMcKay: deanc[work]: -g switch installs a package globally [12:02] DrMcKay: to /usr/local/node_modules or /usr/node_modules, depending on your node prefix [12:02] davidbanham has joined the channel [12:02] DrMcKay: and binaries get linked in /usr/local/bin or /usr/bin [12:03] metaverse has joined the channel [12:03] deanc[work]: okay [12:03] deanc[work]: is it common practice to use -g? [12:03] DrMcKay: deanc[work]: for command line tools, yes [12:03] DrMcKay: for everything else, no [12:04] deanc[work]: okay, thanks :) [12:04] DrMcKay: deanc[work]: :) [12:04] jbpros has joined the channel [12:05] brianseeders has joined the channel [12:10] mehtryx has joined the channel [12:11] c4milo has joined the channel [12:12] bnoordhuis has joined the channel [12:12] schwab has joined the channel [12:13] guidocalvano has joined the channel [12:17] piscisaureus has joined the channel [12:17] temp01 has joined the channel [12:18] deanc[work]: DrMcKay, i seem to have some other issues now. Will npm uninstall remove the globally installed packaged too? [12:19] gut4 has joined the channel [12:20] kriszyp has joined the channel [12:21] r04r has joined the channel [12:21] dob_ has joined the channel [12:21] jmar777 has joined the channel [12:21] ed8t has joined the channel [12:23] mikl has joined the channel [12:24] DrMcKay: deanc[work]: sudo npm -g uninstall package [12:24] erichynds has joined the channel [12:25] N0va` has joined the channel [12:27] r04r has joined the channel [12:27] r04r has joined the channel [12:28] DrMcKay: anyone here familiar with gyp build system? [12:28] guidocalvano has joined the channel [12:28] TheJH has joined the channel [12:29] phiggins has joined the channel [12:29] deanc[work]: I have a feeling my problems are related to the fact npm didnt install the node_modules directory in the ~/local/bin dir [12:29] deanc[work]: could this be true? [12:29] DrMcKay: I want to build an app using libuv and http_parser, but gyp fails to detect src directory (?) [12:30] DrMcKay: deanc[work]: what I've said, sudo npm -g uninstall package [12:30] deanc[work]: DrMcKay, I did uninstall successfully [12:30] deanc[work]: https://github.com/cloudhead/less.js/issues/320 But i have this issue [12:30] deanc[work]: I think i could get a local install to work if node_modules were under /local/bin instead (which is in $PATH) [12:31] AaronMT has joined the channel [12:34] r04r has joined the channel [12:34] Glenjamin: deanc[work]: do you need 0.5.x ? [12:34] Glenjamin: 0.4.x is stable and will work [12:35] deanc[work]: https://gist.github.com/579814 I followed the instructions at the top [12:35] Glenjamin: oh wow, loads of code in less uses require.paths [12:35] schwab has joined the channel [12:36] xsyn has joined the channel [12:37] deanc[work]: curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1 [12:37] deanc[work]: If i replaced that with 4.12 would it work? [12:40] Glenjamin: yes [12:41] CIA-48: node: 03koichik 07master * r9797482 10/ doc/api/net.markdown : [12:41] CIA-48: node: docs: add example to net.connect() [12:41] CIA-48: node: Fixes #1824. - http://git.io/AXtIog [12:41] r04r has joined the channel [12:42] Glenjamin: deanc[work]: or, on 0.5 try this: [12:42] Glenjamin: npm install https://github.com/kixxauth/less.js/tarball/master [12:42] enmand has joined the channel [12:42] fumanchu182 has joined the channel [12:43] deanc[work]: no -g? [12:43] Glenjamin: yeah, -g sorry [12:43] Glenjamin: that's a fork which claims to fix require.paths usage [12:43] deanc[work]: installing [12:44] deanc[work]: it works =) [12:44] deanc[work]: many thanks [12:47] bosphorus has joined the channel [12:51] pickels has joined the channel [12:51] Vertice has joined the channel [12:52] davidcoallier has joined the channel [12:53] willwhite has joined the channel [12:53] davidsklar has joined the channel [12:53] pengwynn has joined the channel [12:53] Poetro has joined the channel [12:56] ditesh|cassini has joined the channel [12:56] mekwall has joined the channel [12:59] phiggins has joined the channel [12:59] eldios has joined the channel [13:01] d0k has joined the channel [13:02] criswell has joined the channel [13:03] emattias_ has joined the channel [13:04] thinkt4nk has joined the channel [13:04] k1ttty has joined the channel [13:06] ckknight has joined the channel [13:07] eldar has joined the channel [13:08] er1c_ has joined the channel [13:09] catshirt has joined the channel [13:11] JasonJS has joined the channel [13:12] albertosh has joined the channel [13:14] shinuza has joined the channel [13:15] dipser has joined the channel [13:15] mandric has joined the channel [13:17] gut4 has joined the channel [13:17] stonebranch has joined the channel [13:20] sreeix has joined the channel [13:22] jedahan has joined the channel [13:22] jedahan has joined the channel [13:22] schwab has joined the channel [13:24] OmidRaha has left the channel [13:25] ken-ignite has joined the channel [13:26] sonnym has joined the channel [13:26] hl7Guy has joined the channel [13:27] aconbere has joined the channel [13:27] lazyshot has joined the channel [13:27] deedubs has joined the channel [13:28] bzinger has joined the channel [13:29] colinclark has joined the channel [13:30] Xano has joined the channel [13:31] ceej has joined the channel [13:32] Morkel has joined the channel [13:34] CarterL has joined the channel [13:36] jbpros has joined the channel [13:39] Aikar: https://github.com/miksago/node-smtp-client/blob/master/examples/example-client.js ... O.o thats... god i hope I find a better lib than this [13:40] wbednars_ has joined the channel [13:40] Aikar: anyone recommend a module to send mail w/o an MTA installed? [13:40] niluje has joined the channel [13:41] niluje: hi, how may I know if a socket is connected with socket.io? (client side) [13:41] Aikar: socket.on('connect' ? [13:41] niluje: but what if the connection is reset? [13:41] niluje: does it reconnect automatically? [13:41] Aikar: i believe so, but also on('disconnect'? :P [13:42] Aikar: the events are in the docs [13:42] niluje: i can't find the doc on socket.io website [13:43] niluje: on https://github.com/learnboost/socket.io/wiki/, it is just explained how you can create a module, how configure your socket... [13:44] colinclark has joined the channel [13:44] jj0hns0n has joined the channel [13:44] Vertice has joined the channel [13:45] niluje: ok, found on https://github.com/LearnBoost/socket.io-spec :p thanks :) [13:45] pixel13 has joined the channel [13:46] ksheurs has joined the channel [13:46] pixel13 has left the channel [13:46] esmevane has joined the channel [13:46] confoocious has joined the channel [13:46] confoocious has joined the channel [13:49] localhost has joined the channel [13:53] stagas has joined the channel [13:55] tjholowaychuk has joined the channel [13:56] tjholowaychuk has joined the channel [13:56] _jhs has joined the channel [13:57] JWarm has joined the channel [13:59] rhymes has joined the channel [13:59] rhymes has left the channel [14:00] pandeiro has joined the channel [14:01] level09 has joined the channel [14:01] chuck_daniel has joined the channel [14:03] arthurdebert has joined the channel [14:05] djko has joined the channel [14:06] catshirt has joined the channel [14:09] phiggins has joined the channel [14:09] Tigraine has joined the channel [14:09] djcoin has joined the channel [14:13] Venom_X has joined the channel [14:13] DevX101 has joined the channel [14:13] ckknight has joined the channel [14:13] joshkehn has joined the channel [14:13] mandric has joined the channel [14:15] thomblake has joined the channel [14:15] thomblake has left the channel [14:18] enmand has joined the channel [14:18] dshaw_ has joined the channel [14:19] airhorns has joined the channel [14:21] DrMcKay: bnoordhuis: ping? [14:23] emattias has joined the channel [14:23] zastaph has joined the channel [14:24] massivebiz has joined the channel [14:24] Stephen has joined the channel [14:26] brianc has joined the channel [14:26] Wizek-other has joined the channel [14:28] socketio\test\62 has joined the channel [14:29] nerdfiles1 has joined the channel [14:30] eee_c has joined the channel [14:30] k1ttty has joined the channel [14:31] torsd has joined the channel [14:32] Sebastien-L has joined the channel [14:33] nerdfiles1 has left the channel [14:33] mroessler has joined the channel [14:33] nibblebot has joined the channel [14:33] colinclark has joined the channel [14:33] shapeshe1 has joined the channel [14:34] nibblebot: express 2.3.12 on npm does not support node 0.4.x? any1 else seeing this with new installs? [14:34] tjholowaychuk: nibblebot it was an npm gotcha [14:34] tjholowaychuk: npm considers 2.0.0alpha1 < 2.0.0 [14:35] tjholowaychuk: so for express i had connect capped at < 2.0.0 [14:35] nibblebot: ah [14:35] nibblebot: i think i need to get latest npm then [14:35] tjholowaychuk: no it's just a package.json issue with older express releases [14:35] tjholowaychuk: i cant possibly go fix them all [14:35] tjholowaychuk: so i dont know what a great solution is for that [14:36] tjholowaychuk: i should have used connect: >1.5.2 < 2.x or something [14:36] jtsnow has joined the channel [14:36] jakehow has joined the channel [14:37] dmkbot has joined the channel [14:37] creationix has joined the channel [14:37] dmkbot has joined the channel [14:38] nibblebot: hmm, which versions are fixed then? [14:38] ryanmcgrath has joined the channel [14:38] TheJH: tjholowaychuk, you can forcibly remove the alpha release from npm [14:38] dmkbot has joined the channel [14:38] DrMcKay: ah! I know why he fails! [14:38] tjholowaychuk: nibblebot just the latest [14:38] tjholowaychuk: TheJH meh i would have to make it 2.0 [14:39] nibblebot: tjholowaychuk: yeah why don't you just rename your alpha package [14:39] nibblebot: 2.1alpha? :) [14:39] TheJH: tjholowaychuk, maybe 2.0.1alpha1 works, too? [14:39] dmkbot1 has joined the channel [14:39] taf2 has joined the channel [14:40] dmkbot has joined the channel [14:40] pandark_ has joined the channel [14:40] Tigraine has joined the channel [14:40] taf2: looking at node.js master and running make test [14:40] taf2: https://gist.github.com/1267557 [14:40] taf2: anyone working on the customFds implementation ? [14:41] bnoordhuis: DrMcKay: pong [14:41] taf2: i'm fishing for something to do... [14:42] hitana has joined the channel [14:42] adrianmg1 has joined the channel [14:42] jsurfer has joined the channel [14:42] adrianmg1 has left the channel [14:42] DrMcKay: bnoordhuis: is there something like uv_process_exists(pid) (or would you accept a pull request?) ? [14:43] tjholowaychuk: DrMcKay kill() [14:43] aelien27 has joined the channel [14:43] hitana has joined the channel [14:43] javaanse_jongens has joined the channel [14:44] DrMcKay: tjholowaychuk: with what signal? [14:44] bnoordhuis: DrMcKay: uv_process_kill(pid, 0) [14:44] tjholowaychuk: null [14:44] bnoordhuis: but i'm not 100% sure the windows implementation follows unix semantics here [14:44] DrMcKay: ah, sneaky, I didn't know about that... [14:45] jtrudeau has joined the channel [14:45] DrMcKay: tjholowaychuk, bnoordhuis: thank you :) [14:45] bnoordhuis: DrMcKay: just checked, uv_process_kill() on windows unconditionally kills the process [14:46] creationix: tjholowaychuk: I got coroutines working in #luvit last night. I'm starting to think they aren't as bad as I've been telling everyone [14:46] tjholowaychuk: creationix beats callbacks all over [14:46] tjholowaychuk: and errors from 25+ different emitters [14:46] DrMcKay: bnoordhuis: ah, gotcha. so, so does process.kill? [14:46] bnoordhuis: DrMcKay: yes [14:46] creationix: you get one new evil, but solves a host of other nasty nodeJS problems [14:47] tjholowaychuk: creationix i dont fully understand the hate either [14:47] DrMcKay: bnoordhuis: so, uv_process_kill requires fixing on windows? [14:47] hitana has joined the channel [14:47] tjholowaychuk: libpth can do an easy 1m context switchs / sec [14:47] tjholowaychuk: so i dont see the huge deal [14:47] creationix: tjholowaychuk: https://github.com/creationix/luvit/blob/master/examples/fs-coroutines.lua [14:47] bnoordhuis: DrMcKay: i'll discuss it with piscisaureus [14:47] creationix: I probably could sugar it more than that, but I'd rather not [14:47] DrMcKay: bnoordhuis: OK, cool [14:48] wbednarski has joined the channel [14:48] DrMcKay: bnoordhuis: one more question, if I may: https://gist.github.com/a00cf94a9e257265ae8c <- is this how I should include uv in gyp? [14:48] yorick: so now I need to implement indexOf as a state machine. [14:48] Tigraine has joined the channel [14:49] gsmcwhirter has joined the channel [14:49] yorick: (need to indexOf on multiple strings) [14:49] stagas has joined the channel [14:49] socketio\test\52 has joined the channel [14:49] socketio\test\35 has joined the channel [14:49] bnoordhuis: DrMcKay: yes, that's correct [14:50] socketio\test\15 has joined the channel [14:50] Me1000 has joined the channel [14:50] aconbere has joined the channel [14:51] dob_: i am looking for a good javascript book. Can somebody help me? [14:51] socketio\test\60 has joined the channel [14:51] joshkehn: dob_: Good Parts / JavaScript Patterns [14:51] joshkehn: Two essential books. [14:51] creationix: dob_: http://eloquentjavascript.net/ [14:51] DrMcKay: bnoordhuis: it fails with the error from the first file, unfortunately [14:52] xsyn has joined the channel [14:53] adambeynon has joined the channel [14:53] bnoordhuis: DrMcKay: it's a gyp bug / feature, run it with --depth=. [14:53] DrMcKay: bnoordhuis: did: https://gist.github.com/a00cf94a9e257265ae8c#file_%60gyp+__depth+.%60 [14:54] xetorthio has joined the channel [14:54] nibblebot: tjholowaychuk: upgrading to npm 1.0.94 has correct parsing of connect dep.. [14:54] joshthecoder has joined the channel [14:55] jedahan has joined the channel [14:55] jedahan has joined the channel [14:55] jaequery has joined the channel [14:55] neurodrone has joined the channel [14:55] bnoordhuis: DrMcKay: sorry, didn't notice that you'd updated the gist [14:55] bnoordhuis: DrMcKay: add '-Dtarget_arch=ia32 -Dcomponent=static_library -Dlibrary=static_library' [14:56] mike5w3c has joined the channel [14:56] enmand_ has joined the channel [14:57] DrMcKay: bnoordhuis: in variables, right? [14:57] bnoordhuis: DrMcKay: you'll probably have to pass them on the command line [15:00] piscisaureus: these uv flags could use some tweaking [15:00] jmar777 has joined the channel [15:00] mehtryx1 has joined the channel [15:00] ^robertj has joined the channel [15:00] sub_pop has joined the channel [15:00] DrMcKay: bnoordhuis: doesn't work either, I'm afraid [15:00] piscisaureus: I remember from phode that the `library` variable has weird semantics [15:00] ctavan has joined the channel [15:00] skiz has joined the channel [15:01] DEVX_ has joined the channel [15:01] CIA-48: libuv: 03okuoku 07master * rd1016de 10/ src/unix/freebsd.c : FreeBSD: Fix FreeBSD build. - http://git.io/XeDPeA [15:01] CIA-48: libuv: 03Ben Noordhuis 07master * r11944b9 10/ (.mailmap AUTHORS): Update AUTHORS and .mailmap - http://git.io/0o1oAg [15:02] bnoordhuis: DrMcKay: did you update the gist? [15:02] simenbrekken has joined the channel [15:02] hitana has joined the channel [15:02] hunterloftis has joined the channel [15:02] tek has joined the channel [15:02] DrMcKay: bnoordhuis: no, it just doesn't print out anything this time [15:03] dob__ has joined the channel [15:03] bnoordhuis: DrMcKay: that's good (probably) [15:03] harthur has joined the channel [15:03] bnoordhuis: build it with `make -C target_dir` [15:03] DrMcKay: ah! [15:03] DrMcKay: I forgot that gyp doesn't do that [15:04] DrMcKay: silly me [15:04] sub_pop has joined the channel [15:04] DrMcKay: bnoordhuis: works, thanks :) [15:04] bnoordhuis: that's meta build systems for you :) [15:04] hunterloftis_ has joined the channel [15:05] ^robertj has joined the channel [15:05] DrMcKay: also, I've fixed dmkbot issue [15:06] hunterloftis_: node.js jobs - we have 'em... too much work, too few javascript hackers, would love to find some new guys to join or web app dev team. [15:06] DrMcKay: forever started another shell for every process [15:06] DrMcKay: and my shell had nvm [15:06] hunterloftis_: our* [15:08] burns has joined the channel [15:08] eventualbuddha: so why is it that 'foo' instanceof String is false? [15:09] tjholowaychuk: eventualbuddha because typeof/instanceof suck [15:09] inpho has joined the channel [15:09] tjholowaychuk: :D [15:09] eventualbuddha: tjholowaychuk: is there a more reliable way? [15:09] zemanel has joined the channel [15:09] tjholowaychuk: typeof foo == 'string' will help you there [15:09] xerox: the most reliable way I think it's checking typeof object.somepropertyspecifictoString != 'undefined' [15:09] tjholowaychuk: but they are really broken IMO [15:10] xerox: (you don't need !== because typeof is bound to return strings) [15:10] uchuff has joined the channel [15:10] xerox: not that anybody asked me :P [15:10] eventualbuddha: xerox: until someone extends Object.prototype to have that property ;) [15:10] xerox: I will kill him [15:11] eventualbuddha: me too [15:11] Glenjamin: in reality, == vs === very rarely comes up [15:11] eventualbuddha: but in the meantime he'll fuck u pour code [15:11] Glenjamin: apart from when you want 1 == '1' [15:11] eventualbuddha: um [15:11] eventualbuddha: "fuck up our code" [15:11] eventualbuddha: thank you, spaces [15:11] tjholowaychuk: aahhaha [15:11] tjholowaychuk: fuck u pour code! [15:11] xerox: ACTION pours code [15:11] eventualbuddha: lol [15:12] xerox: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String#Methods_2 [15:12] xerox: so any of those method would work, maybe not length since it's also for Array ? [15:12] eventualbuddha: xerox: I've found typeof to be reliable for strings [15:12] eventualbuddha: for regexps… well, you just have to look at isRegExp in jQuery to know how fucked up that is [15:13] Glenjamin: why do you need to know its a string? [15:13] Glenjamin: could you just duck type it? :) [15:13] Guest40022: instance of only works for checking things that have been create with a constructor [15:13] Guest40022: instanceof [15:13] eventualbuddha: Glenjamin: nah. as an example, could be a name of a predefined function or a custom function passed in [15:13] Guest40022: those include literals of [] and {} [15:14] eventualbuddha: Guest40022: that may be, but 'foo'.constructor is still defined [15:14] Glenjamin: eventualbuddha: make sense, i'd probably typeof == 'function' and toString anything else [15:14] eventualbuddha: so it just feels broken to me [15:14] Guest40022: yes [15:14] ^robertj has joined the channel [15:14] tjholowaychuk: eventualbuddha it is broken [15:14] Guest40022: instanceof of does feel broken [15:14] tjholowaychuk: they're both broken [15:14] Glenjamin: 'foo' is a string primitive, 'foo'.method approximately maps to new String('foo').method [15:14] Guest40022: typeof I think is fine [15:15] jtsnow has joined the channel [15:15] xerox: I think it can be 'object' instead of 'string' an awful lot of times [15:15] eventualbuddha: don't worry guys, I've already figured this out. it's just that I'm trying to make my app compatible with both the xulrunner and node.js js runtimes [15:15] eventualbuddha: so I'm hunting for differences [15:15] eventualbuddha: see, here's my "type" module: https://github.com/wesabe/ssu/blob/master/application/chrome/content/wesabe/lang/type.coffee [15:15] xerox: actually... [15:15] xerox: I just remembered a thing. [15:15] joshkehn has left the channel [15:15] Guest40022: do you have an example when typeof 'foo' is an object? [15:16] xerox: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array#Methods [15:16] erickt_ has joined the channel [15:16] xerox: it says "Requires JavaScript 1.8.5" but it works in node [15:16] eventualbuddha: Guest40022: typeof new String() == 'object' [15:16] xerox: I wonder if String also has it [15:16] r04r: bnoord [15:16] r04r: ...That was supposed to go in the search dialog [15:17] bnoordhuis: r04r: i think you're looking for me? [15:17] erichynds has joined the channel [15:17] Aikar: each of the primitive types also has an object type, so 'foo' is not instance of String because its not the object ver, but new String('foo') == instanceof String [15:17] Guest40022: yes new String, and new Number are both objects [15:17] diogogmt has joined the channel [15:18] Aikar: I had read that V8 will silently convert them to object form when using them, and that doing the conversion to object form yourself would be a performance increase, but I couldnt find that to be true. [15:18] Guest40022: typeof is for primitives, instanceof is for the prototypal chain (constructed objects) [15:18] eventualbuddha: yeah, it's just fucked up imo ;) [15:18] Aikar: maybe it is outside of v8? [15:18] catb0t has joined the channel [15:18] xerox: so yes [15:18] xerox: definitely use typeof foo.substr != 'undefined' or something [15:19] schwab has joined the channel [15:19] eventualbuddha: xerox: I do that for Date: https://github.com/wesabe/ssu/blob/master/application/chrome/content/wesabe/lang/type.coffee#L47 [15:19] Glenjamin: what [15:19] tjholowaychuk: you dont really need typeof for props like that [15:19] Glenjamin: why [15:19] tjholowaychuk: undefined === foo.something [15:20] hitana has joined the channel [15:20] eventualbuddha: ideally you'd want typeof foo.substr == 'function' [15:20] r04r: bnoordhuis: Just wanted to see if you were around, but did so a bit clumsily. [15:20] xerox: tjholowaychuk: I think you do [15:20] Glenjamin: var func = typeof arg == 'function' ? arg : collection_of_functions[arg.toString()] [15:20] xerox: accessing undefined properties can lead to exceptions [15:20] Aikar: or you can do if ( (new global[ucfirst(typeof foo)]) instanceof String) { if you really want to be silly! [15:21] Aikar: err [15:21] Aikar: or you can do if ( (new global[ucfirst(typeof foo)])(foo) instanceof String) { if you really want to be silly! [15:21] tjholowaychuk: xerox typeof foo.bar will still throw [15:21] tjholowaychuk: if foo is not defined [15:21] dominictarr has joined the channel [15:21] xerox: I don't think so [15:21] BillyBreen has joined the channel [15:21] xerox: oh yes [15:21] xerox: sorry, if foo is not defined, indeed [15:21] Glenjamin: i wouldn't check for substr unless thats the interface you require [15:21] Aikar: > typeof foo.bar [15:21] Aikar: ReferenceError: foo is not defined [15:21] tjholowaychuk: but if it is undefined === foo.bar is fine [15:22] xerox: I did not come up with this myself tho, I read it on some website [15:22] xerox: I wish I could remember which [15:22] Guest40022: Could be just me here, but this conversation really makes me feel that there's a lot of people on here (and probably all over the node commune) that NEED to know the difference between Objects and object primitives [15:22] r04r: bnoordhuis: `cc1plus: error: unrecognized command line option "-msoft-float -march=armv5t"` -- Am I doing something wrong? :S [15:23] Glenjamin: look, just use duck typing and don't worry about it [15:23] Glenjamin: garbage in, garbage out and all that [15:23] hitana has joined the channel [15:23] bnoordhuis: r04r: might be you have to replace -msoft-float with -mfloat-abi=soft [15:23] Guest40022: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String#Distinction_between_string_primitives_and_String_objects [15:24] metellus has joined the channel [15:24] eventualbuddha: Guest40022: such a distinction should not exist, imo [15:24] eventualbuddha: but I respect that it currently exists [15:24] amigojapan has joined the channel [15:24] Glenjamin: blame java [15:24] eventualbuddha: oh I do [15:24] eventualbuddha: ;) [15:24] bnoordhuis: r04r: that error message seems to imply that -msoft-float -march=armv5t are passed as a single option btw [15:24] gigawatt: is there anywayto auto block connections in socket.io, when they rety too many times, i seem to be getting some clients trying to connect but failing hundreds of times per min, causing CPU To rise to like 60% [15:24] hunterloftis has joined the channel [15:24] diogogmt has joined the channel [15:25] Guest40022: http://javascriptweblog.wordpress.com/2010/09/27/the-secret-life-of-javascript-primitives/ [15:25] creationix has left the channel [15:26] dob__: creationix: Thank u for the book! [15:26] hitana has joined the channel [15:26] bergie has joined the channel [15:26] r04r: bnoordhuis: Odd. I think it's compiling now [15:26] Guest40022: so this will always work [15:27] Guest40022: typeof str.valueOf == 'string' [15:27] Guest40022: for both new String [15:27] Guest40022: and 'foo' [15:27] waheedi has joined the channel [15:27] xerox: : ) [15:27] Guest40022: sorry str.valueof() [15:27] Glenjamin: but it'll fail if str is undefined [15:27] Guest40022: it's a method [15:27] xerox: still might fall for tjholowaychuk's problem [15:28] pt_tr has joined the channel [15:28] waheedi: because nodejs is event based, how can i tell that all the callbacks have been done or not [15:28] Guest40022: that's something that shouldn't be worried about [15:28] waheedi: is there a way to know how many callbacks are still inline [15:28] Guest40022: and your code should be allowed to fail or handled spefically [15:28] Guest40022: too many time people silence runtime errors [15:28] Guest40022: and it is actually harder to debug code that way [15:28] dob__: creationix: Thank u! [15:29] dob__: joshkehn: Thank u! [15:29] hunterloftis has joined the channel [15:29] jetienne_ has joined the channel [15:29] yhahn1 has joined the channel [15:29] yhahn1 has left the channel [15:29] hitana has joined the channel [15:31] Guest10940: oh hi [15:31] Guest40022: waheedi: what exactly are you asking? [15:31] skm has joined the channel [15:32] firebalrog has joined the channel [15:32] flagg0204 has joined the channel [15:33] KaL__: does anybody have a simple example of what user management looks like in express ? (creation, authentication, etc...). I can't find a simple tutorial which is up to date with like.. the latest mongoose version [15:33] hitana has joined the channel [15:33] eventualbuddha: can anyone explain this one? https://gist.github.com/24e14df09b479622dd5d [15:33] Ang3_ has joined the channel [15:33] mike5w3c_ has joined the channel [15:33] xerox: it's an URL, you use it to link resources on the web [15:33] eventualbuddha: thanks, xerox [15:33] xerox: sure mate [15:33] dmkbot1 has joined the channel [15:33] dmkbot1 has joined the channel [15:34] dmkbot1 has joined the channel [15:34] dmkbot1 has joined the channel [15:34] vipaca has joined the channel [15:34] vipaca has joined the channel [15:34] DrMcKay: !ping [15:34] dmkbot: DrMcKay, pong [15:34] eventualbuddha: oh ffs [15:34] DrMcKay: wait, what? [15:34] DrMcKay: I killed him. [15:35] dmkbot has joined the channel [15:35] dmkbot has joined the channel [15:35] dmkbot has joined the channel [15:36] broofa has joined the channel [15:36] hitana has joined the channel [15:36] indexzero_ has joined the channel [15:37] Sebastien-L has joined the channel [15:38] jakehow has joined the channel [15:39] hitana has joined the channel [15:40] akiva has joined the channel [15:40] rendar has joined the channel [15:44] thurmda has joined the channel [15:45] hitana has joined the channel [15:45] Guest40022: eventualbuddha: that gist you sent looks like a coffee script problem [15:45] smathy has joined the channel [15:47] eventualbuddha: Guest40022: oh? how so? [15:47] lifty has joined the channel [15:48] Guest40022: eventualbuddha: trying the same too methods in chrome, ff, safari, and node itself the results are all "true", "true" [15:48] Guest40022: sorry TWO methods [15:49] ctavan_ has joined the channel [15:49] Glenjamin: object != null looks suspect [15:49] eventualbuddha: Guest40022: I can reproduce it in just node.js [15:49] eventualbuddha: no coffeescript [15:50] _kud has joined the channel [15:50] Glenjamin: eventualbuddha: can you paste that? including function defs, I can't see the difference [15:50] eventualbuddha: Glenjamin: how so? [15:50] ckknight: I'm working on a library that provides a bunch of asynchronous niceties, what should I call it? (note: I realize it's been done before, I'm mostly just doing this for kicks) [15:50] Glenjamin: object != null will also exclude '' and 0 [15:51] Glenjamin: not relevant here, but probably not desired [15:51] Guest40022: ckknight: how bout kickme ;) [15:51] zpao has joined the channel [15:51] ckknight: Guest40022: has kind of a negative connotation :P [15:52] Guest40022: ckknight: or you could make the complimentary formwork to "tigerblood" [15:52] Glenjamin: yaacfl [15:52] Guest40022: eventual winning in javascript [15:52] ckknight: I do admit, tigerblood is in my veins [15:52] kain has joined the channel [15:52] Glenjamin: short for yet another async control flow lib [15:52] eventualbuddha: Glenjamin: updated gist: https://gist.github.com/24e14df09b479622dd5d [15:52] ckknight: Glenjamin: I'm not fond of acronym names for projects [15:53] ckknight: ACTION is difficult [15:53] Guest40022: which by the way, if the person who wrote tigerblood is on here, YOU ARE A GENIUS [15:53] Yuffster_work has joined the channel [15:53] Glenjamin: AceInc [15:53] kain: hello, I have a npm-related question, sorry if it's off-topic. suppose I need to use the latest master (git) of a package, can I give a tar to npm in some way? [15:53] chrislorenz has joined the channel [15:53] chjj: writing an async control flow lib is like a rite of passage in the node world, get used to it! [15:54] michaeldeol has joined the channel [15:54] Glenjamin: kain: yup npm install [15:54] ckknight: I have a fully asynchronous reduce :P [15:54] albertos_ has joined the channel [15:54] kain: Glenjamin, how can I declare it in package.json? [15:54] kickingvegas has joined the channel [15:55] kain: we have node_modules in .gitignore due to some requiring compilation [15:55] Guest40022: eventualbuddha: I'm not exactly sure what your problem is [15:55] kain: some package [15:55] kain: some package* [15:55] Glenjamin: kain: you can still forcibly add paths into git [15:55] guillermo has joined the channel [15:55] eee_c has joined the channel [15:55] kain: Glenjamin, sorry, not sure I follow this one [15:55] enmand has joined the channel [15:56] Guest40022: eventualbuddha: I'm sure if works the way you posted in, in coffee [15:56] eventualbuddha: Guest40022: why does one version return true and the other return false? [15:56] Guest40022: eventualbuddha: I was saying is doesn't work that way outside of coffee [15:56] eventualbuddha: ... [15:56] eventualbuddha: coffeescript is nothing special [15:56] eventualbuddha: it reduces to js [15:56] ken-ignite has joined the channel [15:56] Glenjamin: kain: git add node_modules/your-specific-lib [15:57] eventualbuddha: Guest40022: the updated gist is pure js [15:57] eventualbuddha: no coffeescript [15:57] kain: Glenjamin, ah I see.. let's try thanks, too bad npm still doesn't support git urls :( [15:57] kahrens has joined the channel [15:57] c4milo has joined the channel [15:57] Guest40022: eventualbuddha:this one? [15:58] Guest40022: https://gist.github.com/24e14df09b479622dd5d [15:58] eventualbuddha: yeah, specifically https://gist.github.com/24e14df09b479622dd5d#file_gistfile1.js [15:58] schwab has joined the channel [15:58] eventualbuddha: how is that possible? [15:58] gxdssoft has joined the channel [15:59] eventualbuddha: I initially thought someone funny was going on with the type argument to "is" overriding the module [15:59] Glenjamin: eventualbuddha: i'm going to guess it's related to the module loading method [15:59] eventualbuddha: but I changed the argument from "type" to "constructor" and it had the same problem [15:59] Glenjamin: but i cant see why it would [15:59] eventualbuddha: is it too early to call this a node.js bug? =P [16:00] Glenjamin: try adding some debug output, or using the debugger to see what;s going on [16:00] eventualbuddha: Glenjamin: any info on how to use the debugger? [16:01] hitana has joined the channel [16:01] eventualbuddha: hmm http://nodejs.org/docs/v0.3.7/api/debugger.html [16:01] eventualbuddha: nm [16:01] knifed has joined the channel [16:02] eventualbuddha: fwiw, it works as expected in the mozilla runtime [16:02] eventualbuddha: (xulrunner app) [16:03] Guest40022: eventualbuddha: do you think your vars of "type" are conflicting? [16:04] eventualbuddha: Guest40022: I thought so initially, but I changed the name and it has the same behavior [16:04] aheckmann has joined the channel [16:04] hitana has joined the channel [16:05] paul0 has joined the channel [16:05] Vennril has joined the channel [16:05] groovebucket has joined the channel [16:05] trupppOFF has joined the channel [16:05] thalll has joined the channel [16:07] hitana has joined the channel [16:07] eventualbuddha: huh [16:07] eventualbuddha: I think it might be a node.js bug [16:08] Guest40022: eventualbuddha: yep [16:08] Guest40022: I'm trying everything too [16:08] Guest40022: that's a weird one [16:08] Guest40022: eventualbuddha: even weirder that you found it ;) [16:09] Guest40022: eventualbuddha: what version of node do you have? [16:09] albertosh has joined the channel [16:10] diogogmt has joined the channel [16:10] adambeynon has joined the channel [16:11] hitana has joined the channel [16:11] eventualbuddha: Guest40022: v0.4.8 [16:11] kenperkins has joined the channel [16:11] dgathright has joined the channel [16:11] r04r: bnoordhuis: After compiling node with -msoft-float I'm still getting `Illegal instruction` [16:12] Guest40022: eventualbuddha: ok, it wouldn't have matter, I just tested in v0.5.8 and happens the same [16:12] jocafa has joined the channel [16:12] bnoordhuis: r04r: where does it break when you run it with `gdb --args /path/to/node script.js`? [16:12] ritch has left the channel [16:13] Guest40022: eventualbuddha: it's still just weird, I am curious no [16:13] Guest40022: now [16:13] eventualbuddha: Guest40022: something's broken in the repl [16:13] eventualbuddha: reducing the test case [16:13] patcito has joined the channel [16:13] _kud has joined the channel [16:13] Guest40022: eventualbuddha: cool, I wanted to see if I could reproduce it some how in a browser consoel [16:14] Guest40022: console [16:14] hitana has joined the channel [16:15] JaKWaC has joined the channel [16:15] slifty has joined the channel [16:15] r04r: bnoordhuis: I just get a (gdb) prompt [16:16] bnoordhuis: r04r: sorry, type `run` [16:16] bnoordhuis: r04r: when it crashes, type `bt` for backtrace [16:17] r04r: bnoordhuis: https://gist.github.com/1267830 [16:17] hitana has joined the channel [16:18] robertfw has joined the channel [16:18] Guest40022: eventualbuddha: was just confirming, trying the exact same things, and can be reproduced in any of the major browser consoles [16:18] Guest40022: eventualbuddha: wow, miss an important contraction there [16:18] Guest40022: eventualbuddha: CAN'T be reproduced [16:18] Frippe has joined the channel [16:19] langworthy has joined the channel [16:19] eventualbuddha: hehe [16:20] bnoordhuis: r04r: thanks. what does `disass/m 0x001d4f6c` print? [16:20] eventualbuddha: yeah, I can't reproduce in xulrunner either [16:20] eventualbuddha: lemme try in JSC [16:20] hitana has joined the channel [16:20] mehtryx has joined the channel [16:21] igl has joined the channel [16:21] eventualbuddha: hmm, doesn't want to run for me right now [16:21] r04r: bnoordhuis: https://gist.github.com/1267843 [16:21] boaz has joined the channel [16:22] melcher has joined the channel [16:23] eventualbuddha: Guest40022: I think that's about as reduced as it'll go: https://gist.github.com/fdcc86df8efccb14dc2d [16:23] ayaz has joined the channel [16:23] jtsnow has joined the channel [16:24] dnyy has joined the channel [16:24] ajpiano has joined the channel [16:24] hitana has joined the channel [16:24] bnoordhuis: r04r: that vldr opcode is part of the neon instruction set [16:24] bnoordhuis: r04r: i kind of doubt that the sheevaplug's cpu supports that [16:24] bnoordhuis: neon == simd [16:25] eventualbuddha: so.. where do I file node.js bugs? [16:25] Guest40022: eventualbuddha: good job [16:25] r04r: bnoordhuis: Ah. I don't know >_< I do know that node stable does compile & work except for the weirdness I reported [16:25] bnoordhuis: r04r: some quick googling suggests that neon is armv7 only [16:25] Guest40022: eventualbuddha: https://github.com/joyent/node/issues?sort=created&labels=V8&direction=desc&state=open [16:26] eventualbuddha: Guest40022: ah, GHI. thanks [16:26] r04r: bnoordhuis: So I guess I'm out of luck? [16:26] Guest40022: eventualbuddha: be sure to tag it with repl [16:26] lz1 has joined the channel [16:26] eventualbuddha: Guest40022: will do. thanks for the help! [16:26] jonrohan has joined the channel [16:26] Guest40022: eventualbuddha: they use labels religiously [16:26] eventualbuddha: apparently so [16:26] bingomanatee has joined the channel [16:26] bnoordhuis: r04r: well... somehow gcc generates opcodes that your cpu doesn't understand [16:27] dreamdust has joined the channel [16:27] bnoordhuis: r04r: you compiled with -march=armv5te? [16:27] Guest40022: eventualbuddha: no problem, have a good one soon to be buddha [16:28] r04r: bnoordhuis: I used `CCFLAGS="-msoft-float -march=armv5t"` and modified deps/v8/SConstruct to include those CCFLAGS [16:28] hitana has joined the channel [16:28] jetienne_ has joined the channel [16:28] bnoordhuis: r04r: ah... you probably don't want to hear this [16:28] bnoordhuis: but you should've used CFLAGS and CXXFLAGS :) [16:28] r04r: hahaha [16:29] r04r: ooookay [16:29] Me1000 has joined the channel [16:30] r04r: bnoordhuis: Guess I'll report back in about an hour when it finished compiling again [16:30] bnoordhuis: r04r: cool [16:30] pt_tr has joined the channel [16:30] Wizek has joined the channel [16:31] hitana has joined the channel [16:33] simenbrekken has joined the channel [16:33] isaacs has joined the channel [16:34] te-brian has joined the channel [16:35] fatjonny has joined the channel [16:35] eddanger has joined the channel [16:35] hitana has joined the channel [16:35] harthur has joined the channel [16:36] lightcap has joined the channel [16:36] KaL__: uh, is there an express.js specific channel ? [16:36] tjholowaychuk: KaL__ #express [16:36] KaL__: thanks :) [16:37] robi42 has joined the channel [16:37] waheedi has joined the channel [16:38] hitana has joined the channel [16:39] bzinger has joined the channel [16:40] waheedi has left the channel [16:41] mendel_ has joined the channel [16:41] hitana has joined the channel [16:41] fangel has joined the channel [16:41] shanebo has joined the channel [16:42] shanebo: has anyone responded to this? http://teddziuba.com/2011/10/node-js-is-cancer.html [16:43] wankdanker: shanebo: i think this was the response: http://blog.nodejs.org/2011/10/04/an-easy-way-to-build-scalable-network-programs/ [16:43] shanebo: wankdanker and what about the follow up? http://teddziuba.com/2011/10/node-js-is-cancer.html [16:44] wankdanker: shanebo: oh, sorry, i was confused [16:44] wankdanker: shanebo: thought the nodjs post was after the teddziuba thing [16:44] dshaw_ has joined the channel [16:45] shanebo: wankdanker , oops sorry I pasted the wrong url. this is after the original post http://teddziuba.com/2011/10/straight-talk-on-event-loops.html [16:45] jomoho2 has joined the channel [16:45] spcshpopr8r has joined the channel [16:46] ianderson has joined the channel [16:47] hitana has joined the channel [16:47] Aphelion has joined the channel [16:47] wankdanker: shanebo: haven't read that one yet and haven't noticed any chatter here about it [16:47] shanebo: k thanks :) [16:47] maletor has joined the channel [16:48] kevwil has joined the channel [16:49] kenperkins: is there a way to know if res.send has already been sent [16:50] tjholowaychuk: kenperkins node has a private flag res._headerSent [16:50] hitana has joined the channel [16:50] tjholowaychuk: in connect I expose it as [16:50] tjholowaychuk: res.headerSent [16:50] tjholowaychuk: https://github.com/senchalabs/connect/blob/master/lib/patch.js#L35 [16:50] kenperkins: ok thanks [16:51] kenperkins: does anyone know of a middleware module to handle response processing? i.e. transforms to json, jsonp, xml, etc based on a standard input convention [16:51] jerrysv has joined the channel [16:51] kenperkins: i.e. ?format=jsonp or whatever on the querystring [16:52] tjholowaychuk: you could write on one in 5-10 lines [16:52] kenperkins: that's what I'm doing [16:52] tjholowaychuk: Accept: is a better way to go IMO [16:52] tjholowaychuk: but i guess ?format or .format [16:52] tjholowaychuk: or all of them [16:52] kenperkins: Accept headers you mean, yea I do that too [16:52] towski has joined the channel [16:52] kenperkins: but I don't like writing code if something already does what I need [16:52] skiz has joined the channel [16:53] dmsuperman has joined the channel [16:53] dmsuperman: How can I copy an object without copying a reference? And does this behavior differ in node from other javascript engines? [16:53] errordeveloper has joined the channel [16:54] dmsuperman: var a = {a:1,b:2,c:3}; var b = a; delete b.a; console.dir(a); [16:54] dmsuperman: I want that to output {a:1,b:2,c:3} [16:54] max_dev has joined the channel [16:55] gigawatt: Hey Guys [16:55] eventualbuddha: dmsuperman: you can copy all the properties over into a new object [16:55] eventualbuddha: but note that only works with plain instances of Object [16:55] eventualbuddha: you can't do it with MySpecialClass and expect it to work [16:55] dmsuperman: Hrm [16:55] dmsuperman: Alright that's okay I guess [16:56] dmsuperman: eventualbuddha: You're mainly talking about for things like functions and prototypes and non-enumerable properties? [16:56] eventualbuddha: well, those can get hairy, too [16:56] dmsuperman: Well I mean to say I don't necessarily need to copy those things [16:56] dmsuperman: Just enumerable properties [16:57] eventualbuddha: then something like this (coffeescript) would work: dup = (o) -> r = {}; r[k] = v for own k, v in o; r [16:58] gigawatt: Anyone good with Socekt.IO, we have some IP's that constantly try and connect without handshaking, causing CPU to go through the roof, are there any firewall settings i cans et that will auto detect this without conflicting with the regular socket connections [16:58] liar has joined the channel [16:59] shanebo: tjholowaychuk is the order that you guys have the middleware here: http://senchalabs.github.com/connect/ , the recommended order to use in a project? [16:59] tjholowaychuk: no [16:59] tjholowaychuk: that's just a list of middleware provided [17:00] gigawatt: tjholowaychuk, any ideas ? [17:01] Postmodernist has joined the channel [17:01] Postmodernist: ACTION is going to Fucking Kill(TM) the Node.js Noodlenuckles like Muammar Gaddafi raging through the streets of New York in a fucking 10 story high Killbot(TM). [17:02] wankdanker: shanebo: after reading the article, minus the math, it looks like ziuba proves that threads and events have the same theoretical throughput. [17:02] irahgel has left the channel [17:02] wankdanker: shanebo: But then advises against it based on programmer experience and the fact that it's javascript. [17:03] shanebo: :) [17:03] shanebo: and hilariously done [17:03] harth has joined the channel [17:05] louissmit has joined the channel [17:05] dandean has joined the channel [17:06] Zamarok has joined the channel [17:06] dnyy has joined the channel [17:08] patcito has joined the channel [17:08] xsyn has joined the channel [17:09] StanlySoManly has joined the channel [17:09] wadey has joined the channel [17:10] eee_c has joined the channel [17:11] l has joined the channel [17:13] patcito has joined the channel [17:15] TheJH: ACTION wants Array.prototype.indexOf with an optional parameter for "throw if not found" [17:15] melcher has joined the channel [17:15] DrMcKay: TheDeveloper_: monkey-patch? [17:15] DrMcKay: gah. [17:16] DrMcKay: TheJH: ^ [17:16] TheJH: DrMcKay, doesn't feel right [17:17] kenperkins: it seems lit setting res.header in express sends the header at that moment? or not [17:17] yorick: wankdanker: I was working on node-odbc a bit.. http://yorick.no-ip.org/git/node-odbc/ [17:17] kenperkins: like rather [17:17] TheJH: uhm, does the topic have some kind of background? [17:17] brion has joined the channel [17:17] r04r: bnoordhuis: After setting CFLAGS and CXXFLAGS to `-msoft-float -march=armv5t` I'm still getting "Illegal instruction" :P [17:17] tjholowaychuk: kenperkins nope [17:17] yorick: wankdanker: was trying to add prepared statements. only parameter binding is still missing though. I think it kindof works [17:17] hswolff has joined the channel [17:17] TheJH: r04r, what are you trying to do? [17:17] kenperkins: I guess I'm confused then; I'm getting the can't set headers after they are sent error [17:17] jmar777_ has joined the channel [17:17] kenperkins: and I don't see more than a single res.send in my code... [17:18] Cheery has joined the channel [17:18] TheJH: r04r, compiling node on a device with ARM CPU? [17:18] liar has joined the channel [17:18] TheJH: r04r, or crss-compiling? [17:18] TheJH: *cross [17:19] r04r: TheJH: Not cross-compiling, just compiling on the sheevaplug [17:19] r04r: TheJH: And yep, ARM cpu [17:19] TheJH: r04r, doesn't that work out of the box? like, just ./configure&&make ? [17:19] Spion_ has joined the channel [17:19] r04r: TheJH: Nope [17:20] TheJH: works on android :P [17:20] r04r: TheJH: v8 will complain about needing some instructions, so I put march to armv5t to get past that, then in complains about snapshot so I passed `--without-snapshot` to configure, and then when running node 'Invalid instruction' [17:20] halcyon918 has joined the channel [17:20] inph0 has joined the channel [17:21] Jabbers has joined the channel [17:21] r04r: TheJH: It mostly just seems to be v8 not liking me [17:21] jmar777 has joined the channel [17:22] kenperkins: tjholowaychuk: can you explain why calling next after res.send generates that set headers after sent error [17:22] Morkel has joined the channel [17:22] tjholowaychuk: kenperkins you should not call next() [17:22] tjholowaychuk: if you're responding [17:22] perezd has joined the channel [17:22] tjholowaychuk: that tells other middleware they can respond [17:23] kenperkins: so if the code is consciously handling the response, don't call next, got it. [17:23] kenperkins: the error seems a big ambiguous there [17:23] kenperkins: bit rather [17:23] tjholowaychuk: that is node's error [17:23] tjholowaychuk: because you're trying to respond several times [17:24] CIA-48: libuv: 03Ryan Dahl 07master * r60c639f 10/ (27 files in 6 dirs): Merge branch 'ipc2' (+10 more commits...) - http://git.io/S6ahiw [17:24] kenperkins: ah, maybe it's falling to the default handler [17:24] kenperkins: i get it [17:24] scott_gonzalez has joined the channel [17:24] franciscallo has joined the channel [17:25] topaxi has joined the channel [17:25] vidi has joined the channel [17:25] creationix|work has joined the channel [17:25] vidi has joined the channel [17:26] jsurfer has joined the channel [17:27] hswolff has joined the channel [17:28] flagg0204 has joined the channel [17:28] itamar has joined the channel [17:28] itamar has left the channel [17:29] cgfuh has joined the channel [17:30] edenli has joined the channel [17:30] kickingvegas: hi folks - noob question: what framework(s) are people using on top of node.js? Or should I just look at express? [17:30] knifed has joined the channel [17:30] Aikar: solution for sending mail w/o an SMTP or sendmail process, ie something that does all the stuff sendmail would do? [17:31] DennisRasmussen has joined the channel [17:31] creationix|work has left the channel [17:32] DrMcKay: Aikar: node_mailer? [17:32] TheJH: Aikar, I think Marak mentioned that nodejitsu uses a service that does http->smtp [17:32] markwubben has joined the channel [17:33] dgathright has joined the channel [17:33] fatjonny: TheJH: Nodejitsu uses sendgrid [17:33] Aikar: DrMcKay: i am using that but it requires SMTP or sendmail [17:33] DrMcKay: gridsend or so [17:33] Aikar: id rather not have to setup a mail stack just to send mail [17:33] TheJH: DrMcKay, Okt 05 23:15:36 fuck node_mailer [17:33] DrMcKay: or sendgrid :P [17:33] baudehlo: you need a mail stack to send email. [17:34] baudehlo: because otherwise you can't deal with temporary failures. [17:34] flagg0204 has joined the channel [17:34] baudehlo: ACTION recommends Haraka, for obvious reasons [17:35] Aikar: could i use haraka in process as a mail sender? [17:35] dmsuperman has left the channel [17:35] fennec has joined the channel [17:35] baudehlo: Aikar: sadly not yet. [17:35] Aikar: ;( [17:36] mdarnall has joined the channel [17:36] baudehlo: Well with a bit of hacking maybe. [17:36] hacksparrow has joined the channel [17:36] Aikar: ppl want me to finish today :P [17:36] baudehlo: you're welcome to take the code (see outbound.js) and make it work embedded yourself. [17:37] Aikar: so how would i invoke send_email if its running as its own daemon [17:37] Aikar: smtp? [17:37] baudehlo: yeah [17:37] baudehlo: that's the easiest way [17:37] fennec: heya. i'm debugging a recalcitrant library which is using an IOWatcher. I couldn't find anything about this in the node.js docs; is it a secret internal API, or what's the deal? [17:37] fennec has left the channel [17:37] fennec has joined the channel [17:37] fennec: (wrong button) [17:37] bnoordhuis: r04r: did you do a `make distclean` before `./configure`? [17:37] baudehlo: enable the auth module and use smtp with auth. [17:38] bnoordhuis: fennec: iowatcher is an internal 0.4.x api [17:38] pandeiro has joined the channel [17:38] bnoordhuis: fennec: it's gone in 0.5.x btw [17:39] fennec: *nodnod* the pcap library seems to make use of it. [17:39] pizthewiz has joined the channel [17:40] wankdanker: yorick: awesome! have you received any pthread errors in your testing? (https://github.com/w1nk/node-odbc/issues/8) [17:40] whitman has joined the channel [17:40] hdon: there's a pcap lib for node? [17:40] hacksparrow: yes [17:40] hdon: :D [17:40] TheJH: yes [17:40] a11235 has joined the channel [17:40] mrkurt has joined the channel [17:41] bnoordhuis: it's one of the oldest node libs actually, i think [17:41] sstephenson has joined the channel [17:41] TheJH: oh, gotta check whether it works on android... [17:41] hacksparrow: Node is going to change the world. [17:41] TheJH: !npm search pcap [17:41] jhbot: package pcap: raw packet capture, decoding, and analysis [17:41] DrPizza has joined the channel [17:41] TheJH: !npm info pcap [17:41] jhbot: pcap by Matt Ranney, version 0.2.8: raw packet capture, decoding, and analysis [17:41] halcyon918: Hey folks.. so I watched this preso http://sna-projects.com/blog/2011/08/nodejs/ which included a demo of nearly 1M concurrent connections to a server socket... I'm trying to replicate, but I keep hitting the ulimit on open files on the server even though I've bumped it to 65k... I thought node used multiplexed sockets, so I'm curious how I can replicate this demo [17:41] Aikar: why is H in haraka capitolized on npm [17:41] xerox has joined the channel [17:42] baudehlo: because it's an application not a library [17:43] TheJH: halcyon918, multiplexed sockets? [17:43] smathy has joined the channel [17:43] TheJH: halcyon918, if you use require('net'), node give you plain old TCP sockets [17:43] hacksparrow: This RegEx seems a little too complex for me: eplace all instances of "Dogs" with "Cats", except those between "SPECIAL" and "/SPECIAL" anyone? [17:44] saesh has joined the channel [17:44] halcyon918: TheJH: That's what the demo uses... require('net') [17:44] neilk_ has joined the channel [17:44] TheJH: hacksparrow, you could do it with a simple regex and a replace function [17:45] hacksparrow: I am not able to come up with the regex [17:45] hacksparrow: I guess not that simple [17:45] reid has joined the channel [17:46] slickplaid: is having a model of var User = function(user){ validate and return object } and then having .save() methods for use in the controller (using couchdb) good practice? So in the controller, I can call var client = new Client(req.body.client); and client.save(); [17:46] Aikar: baudehlo: cp haraka/plugins/auth to conf_dir/plugins/ ? [17:46] TheJH: hacksparrow, ah, wait, anywhere between special and /special or immediately? [17:46] baudehlo: haraka -i ; cd ; vi config/plugins [17:46] thalll has joined the channel [17:47] hacksparrow: anywhere between, aas many times [17:47] TheJH: hacksparrow, just SPECIALDogs/SPECIAL? or also SPECIALfooDogsbar/SPECIAL [17:47] Aikar: my plugins dir in the -i dir is empty [17:47] TheJH: ? [17:47] Aikar: will it fall back to haraka install dir? [17:47] baudehlo: Aikar: yeah that's for your custom plugins [17:47] Aikar: oh ok [17:48] fennec: mmm. yeah, it seems that if you have a (playback-from-file) pcap session open, and don't close it, your program never ends…. and if you do close it, you get a segfault :) digging deeper, in any event. [17:48] Aikar: haraka -h plugins/auth -> no documentation ? [17:48] baudehlo: so you just put auth/flat_file in config/plugins (can't remember if it's there by default) [17:48] hacksparrow: I need to replace /('Dogs')+/ with 'Cats' - but only between 'SPECIAL' and '/SPECIAL' [17:48] baudehlo: and edit config/auth_flat_file.ini [17:48] smathy has joined the channel [17:48] hacksparrow: Oh make it /('Dogs')+/g [17:49] fennec: might have just fixed it. :) anyway, thanks [17:49] ayaz has joined the channel [17:49] dexter_e has joined the channel [17:50] halcyon918: TheJH: this is the server code from the demo: http://screencast.com/t/f7gqVPJeB [17:50] Aikar: baudehlo: / and . used interchangeably in the plugins file? [17:50] baudehlo: Aikar: I don't understand the Q :) [17:50] Aikar: i see queue/smtp_forward [17:50] Aikar: and then mail_from.is_resolvable [17:50] baudehlo: yeah, it's filenames. [17:50] halcyon918: but when I used it, I hit the open file ulimit and can't get anywhere near the numbers demoed [17:51] baudehlo: Aikar: I put the queue and auth ones in a separate dir. [17:51] pandeiro_ has joined the channel [17:51] Aikar: oh so it should be dots? [17:51] Aikar: auth.flat_file [17:51] Aikar: ? [17:51] baudehlo: no... [17:51] halcyon918: And here's the demo client: http://screencast.com/t/FeUogcLlhP8 [17:51] halcyon918: note that the client never disconnects, and the server never disconnects the client, so it must be concurrent [17:51] cconstantine: is there a page detailing the differences between the 0.4 line and the 0.5? [17:52] dexter_e: Those using Node as a web server.. Anyone running out of process memory? [17:52] baudehlo: Aikar: this will probably help make it clearer: https://github.com/baudehlo/Haraka/tree/master/plugins [17:52] Aikar: ohh i see [17:52] Aikar: cause the auth plugin is a dir itself [17:52] TheJH: halcyon918, "i<65000" on the client [17:52] hacksparrow: dexter_e, I did when I tried running a chat server. But it was on a shared shot. [17:52] TheJH: halcyon918, if he says he did millions of conenctions, he maybe connected from several machines or so [17:52] halcyon918: TheJH: right, so the demo uses 16 of those clients [17:52] TheJH: or several IPs [17:53] isaacs: hacksparrow: [17:53] isaacs: > a = "Dogs SPECIAL Dogs Cats Dogs /SPECIAL Dogs Dogs SPECIAL Pet the Dogs /SPECIAL" [17:53] isaacs: 'Dogs SPECIAL Dogs Cats Dogs /SPECIAL Dogs Dogs SPECIAL Pet the Dogs /SPECIAL' [17:53] isaacs: > a.replace(/SPECIAL(.*?)\/SPECIAL/g, function (str, middle) { return "SPECIAL" + middle.replace(/Dogs/g, "Cats") + "/SPECIAL" }) [17:53] isaacs: 'Dogs SPECIAL Cats Cats Cats /SPECIAL Dogs Dogs SPECIAL Pet the Cats /SPECIAL' [17:53] cconstantine: dexter_e, I've noticed a slight increase in memory over time. it ussually takes a few days to die though [17:53] cconstantine: dexter_e, monit helps [17:53] halcyon918: TheJH: but that doesn't explain how the server can handle over the ulimit [17:53] hacksparrow: Hmmm, let me check it out [17:53] halcyon918: in my case, the ulimit keeps getting hit and craps out [17:53] TheJH: halcyon918, sure he didn't bump it to unlimited? [17:54] TheJH: halcyon918, I guess he talked about a 65k limit, but didn't mean the ulimit, but maximum conenctions per client [17:54] TheJH: *connections [17:54] halcyon918: TheJH: it's possible... I tried on my VM but I can't set it unlimited on my instance [17:55] hswolff_ has joined the channel [17:55] TooTallNate has joined the channel [17:55] guidocalvano has joined the channel [17:56] dexter_e: cconstantine: right , mine takes about a day to die... So you use monit and force reboot? [17:56] smtlaissezfaire has joined the channel [17:56] halcyon918: TheJH: Here's the summary from the preso http://screencast.com/t/SLD8ZO3aOipp [17:57] hacksparrow: isaacs, arrr ... it should replace them outisde SPECIAL /SPECIAL, not within. Sorry if I pharsed it wrong. [17:57] dexter_e: hacksparrow: how did you solve the memory problem? [17:57] Aikar: baudehlo: add more hosts for the rcpt_to do i add new lines to me file [17:58] Aikar: to add* [17:58] Aikar: ? [17:58] halcyon918: its entirely possible my EC2 instance won't allow me to set an unlimited ulimit, so that's a potential reason I can't replicate [17:58] cconstantine: dexter_e, I mostly just let monit spin it back up when it dies [17:58] baudehlo: Aikar: config/host_list [17:58] hacksparrow: It was just a test. Didn't bother. I think a dedicated host would have been able to manage it without any problem. Also the chat server could have been optimized. [17:58] hswolff has joined the channel [17:58] baudehlo: but that's for inbound mail, which I didn't think you were doing. [17:58] Aikar: oh, i thought haraka was a sender [17:59] baudehlo: both [17:59] Aikar: i see "rcpt_to.in_host_list" when i attempted to send [17:59] Aikar: it checked the domain [17:59] cconstantine: dexter_e, It's not a web server either... more of a webservice server. The webservers have persistent socket connection to it, so each request doesn't have to open/close http connections [17:59] baudehlo: yeah because you weren't using auth. [17:59] Aikar: and im guessing that blocked it [17:59] cconstantine: dexter_e, how sure are you that you don't have a memory leak (ie, references to objects you don't care about anymore) [18:00] Aikar: odd, I added the auth/flat_file to plugins file [18:00] baudehlo: yes but you need to authenticate the client. [18:00] Aikar: is it because i didnt send credentials? i was expecting to see a user/pass failure [18:00] baudehlo: SMTP's not like that. [18:00] baudehlo: authenticating is optional. [18:01] Murvin has joined the channel [18:01] baudehlo: ACTION highly recommends testing with swaks. [18:01] baudehlo: it shows you all the protocol going on. [18:01] davidwalsh has joined the channel [18:01] yorick: wankdanker: I haven't [18:02] baudehlo: swaks -h hello.host.com -f aikar@domain.com -t aikar@gmail.com -s localhost -p 2525 -au -ap [18:02] baudehlo: but put a real address in the -t param [18:02] yorick: wankdanker: maybe it's a node v0.4 issue [18:02] Aikar: well im not worried about bombing emails, our firewall blocks outgoing 25 on internal dev network (for good reasons) so wanna least make it look like its gotten to the point of conn refused then test on the actual server itll live lol [18:02] yorick: or maybe I haven't tested it well enough [18:02] dexter_e: cconstantine: not sure at all, its probably a leak indeed [18:03] baudehlo: Aikar: yeah, my point is just using swaks makes it easier to see if it's working. [18:03] dexter_e: Ive been recommended to use monit to reboot the process if mem hits a threshold [18:03] yorick: wankdanker: the internet suggests a compiler mis-optimization [18:04] Aikar: dexter_e: id much rather control that in the app itself so you can properly/safely shutdown gracefully... [18:04] dexter_e: How to ensure monit doesnt reboot it mid-request? [18:04] yorick: or maybe node is unlocking a mutex in another thread as the one that locked it [18:04] Aikar: just register a setInterval that checks memory every 30s [18:05] Aikar: and send an email alert to look into a memory leak issue :P [18:05] dexter_e: Aikar: right thats what im thinking too.... post request run a mem check and crash itself if mem is running out yeah? [18:05] yorick: wankdanker: http://stackoverflow.com/questions/1105745/pthread-mutex-assertion-error [18:05] Aikar: not "crash" [18:05] tilgovi has joined the channel [18:05] tilgovi has joined the channel [18:05] Aikar: you know what your codes doing [18:05] Aikar: shut it down gracefully [18:05] Aikar: turn off the server to not accept more connections [18:05] Aikar: then let all the connections finish [18:05] Aikar: and then exit [18:05] jocafa: does anyone know of a github-flavored-markdown module that will also do syntax highlighting of code blocks? [18:06] dexter_e: Aikar: Thanks! [18:06] wankdanker: yorick: yeah, I don't really know how to deal with that. not a huge c++ guy. [18:06] Aikar: dexter_e: then you got the next solution to figure out of making it auto restart :P [18:06] dexter_e: Whats a good mem threshold per process? [18:07] Aikar: 1.5gb? [18:07] yorick: wankdanker: switch to another version of gcc I guess [18:07] vidi has joined the channel [18:07] wankdanker: yorick: i don't hit that error in production because we aren't hitting those loads at this point. [18:07] wankdanker: yorick: i'll give that a shot. [18:07] CarterL has joined the channel [18:07] wankdanker: yorick: looks like you've done some pretty major re-ogranization. :) looks good. [18:07] bpr has joined the channel [18:07] halcyon918: jocafa: use three back whacks "`" and then the language followed by two carriage returns [18:08] wankdanker: yorick: or just organization. :) [18:08] halcyon918: jocafa: then end with three more back whacks [18:08] yorick: wankdanker: v0.5 removed C++ eventemitter, so I had to get rid of that [18:08] Aikar: baudehlo: would it be possible in any way (in the future) to embed haraka and tie to same port as others like express middleware? [18:09] jocafa: halcyon918: yeah i know how to do that… i mean a module for node that will take that input and output the html-ized code within that block :) [18:09] wankdanker: yorick: i'm still in the v0.4 series, so I didn't hit that issue yet. makes sense. [18:09] baudehlo: Aikar: https://github.com/baudehlo/Haraka/issues/45 [18:09] halcyon918: jocafa: ah, sorry :) [18:09] dracko has joined the channel [18:10] baudehlo: Aikar: the problem is finding/loading config. [18:10] wankdanker: yorick: i noticed you cleaned up some memory leaks, were those pre-existing? or did you introduce those in your development? [18:10] dracko: hey good day everyone [18:10] dexter_e: Aikar: How do you set it to not receive connections during reboot? [18:10] diogogmt has joined the channel [18:10] dracko: does anybody knows of a express template to start?? maybe with a user auth?? [18:11] Aikar: dexter_e: i dunno, i was just giving you a path to go down :P [18:11] baudehlo: Aikar: also I don't do web dev, so it would have to come as a patch from someone else. [18:11] Aikar: baudehlo: just pass it the same dir as -c would? [18:11] kahrens has joined the channel [18:11] Me1000 has joined the channel [18:11] baudehlo: Aikar: yeah, except people were wanting to programmatically control config too. [18:11] yorick: wankdanker: I introduced some, possibly all of them [18:12] gregpascale has joined the channel [18:12] cronopio has joined the channel [18:12] Zamarok: dracko: what do you mean? A boilerplate config of node.js? [18:12] dracko: yes [18:12] dracko: a bootstrap to start with [18:12] Aikar: baudehlo: app.initialize('/path/to/config', function() { app.appendmoreconfig() } ) ; ? [18:13] Zamarok: dracko: http://stackoverflow.com/questions/3653495/is-there-an-virtual-environment-for-node-js/3693749#3693749 [18:13] jocafa: guess i'll have to tie into pygments or something [18:13] baudehlo: Aikar: honestly I don't think it'd be hard. see: https://github.com/baudehlo/Haraka/blob/master/haraka.js [18:13] dexter_e: I just got an idea. What if the client calls back to the server once its all loaded with a loadComplete() and that function checks mem and reboots if past threshold.. sound reasonable? [18:13] wankdanker: yorick: k, thanks. [18:13] Aikar: but main thing i was looking for is sharing same port [18:13] dexter_e: that way we trigger reboot after the request is totally finished [18:13] Aikar: if the handshake looks SMTP, haraka takes it, else, express/connect takes it [18:13] baudehlo: sharing a port? [18:14] baudehlo: hah. [18:14] baudehlo: Good luck with that. [18:14] Aikar: lol [18:14] dracko: Zamarok: that is a virtual env, i am looging for a blueprint starter template for an express page [18:14] jocafa: oooooooooooor i could just pipe it through vim. [18:14] baudehlo: Aikar: the protocols are completely different. In http the client talks first. In smtp the server does. [18:14] Aikar: ah [18:15] Aikar: ok guess that idea is out [18:16] dexter_e: memory leaks. Wow! [18:17] AvianFlu has joined the channel [18:17] joshkehn has joined the channel [18:18] CoverSlide: yeah smtp is a shit protocol [18:18] darinc has joined the channel [18:19] innociv has joined the channel [18:19] innociv: I'm having issues with node.js just no longer responding. It may be happening when my cpu usage hits 100% in the pass, but node.js never recovers after the cpu drops down. I'm not sure what to look at or do. [18:20] blueadept: anyone have an issue with stylus not force compiling? [18:21] Aikar: baudehlo: have to say nice job on haraka though. I work for an email company (just what im doing right now ppl would tell me to gtfo if I asked to use our own mail servers)... Ive brought up haraka to other teams to look into using. [18:21] halcyon918 has left the channel [18:21] baudehlo: oh cool. Mind if I ask which company? [18:21] baudehlo: ACTION works for MessageLabs (now Symantec). [18:21] Aikar: iContact (marketing) [18:22] chjj: :e [18:22] Aikar: just what im working on is an internal department lil utility, so they wouldnt want it interfering with main stack :P [18:22] chjj: hmm [18:22] joshkehn has left the channel [18:23] baudehlo: Aikar: fair enough. [18:23] baudehlo: It's interesting watching big places start to use it. [18:23] baudehlo: though not so much for outbound (yet). [18:23] Aikar: well im prolly the biggest node supporter in the company... im trying to push us to use it lol [18:24] skiz has joined the channel [18:24] piscisaureus_ has joined the channel [18:24] baudehlo: what's everyone else using? [18:24] harthur has joined the channel [18:24] Aikar: were a PHP shop :X [18:25] Aikar: my previous manager was same manager as last company and hes the one who told me about node. so he got me playing with it for some small internal department stuff, now to try to push it into the other groups... [18:25] Aikar: sadly that manager left and is now not here to help me push :( [18:26] Chuck_ has joined the channel [18:26] leahculver has joined the channel [18:26] Aikar: but one of the dev managers also goes to our local JS meetup and hes very interested in it, so there is hope [18:27] yorick: wankdanker: I think valgrind found no leaks on my HEAD [18:28] baudehlo: Aikar: well the performance benefit could be big, but I guess your web servers aren't hit too hard. [18:28] leahculver has left the channel [18:28] baudehlo: Aikar: do you know what you use for outbound mail? [18:28] hitana has joined the channel [18:29] Aikar: yes but i dunno if they would want it public knowledge :P [18:29] baudehlo: fair enough :) [18:30] baudehlo: Most of the email marketing companies I know either use Message Systems or Bizanga (or whatever they are called this week). [18:30] Aikar: when i mentioned your "5000" number listed under benchmarks, eyes shined. but i think our benchmarks include time to mangle the content on a per send basis [18:30] baudehlo: Oh I'm sure. [18:30] baudehlo: that number is very synthetic. [18:30] baudehlo: doesn't include storing to disk. [18:31] vipaca: So is anyone else having issue installing express with NPM [18:31] Aikar: vipaca: theres a topic on groups about issues with it [18:31] vipaca: Aikar link [18:31] Aikar: http://google.com > "node.js google groups" [18:32] Aikar: i dunno it off top of my head :P [18:32] vipaca: k, thx [18:32] hermanju_ has joined the channel [18:33] vidi has joined the channel [18:35] TheEmpath has joined the channel [18:35] hunterloftis: Let me know if my "node.js jobs" announcements are bugging anyone. We have some really interesting projects starting soon and it's hard to find good JS developers - we're looking everywhere. [18:35] TheEmpath: anyone familiar with Alchemy's load balancing? [18:36] TheNumb has joined the channel [18:36] gut4 has joined the channel [18:37] TheJH: TheEmpath, the alchemist has to carry the chains and the king may carry the gold? [18:37] yorick: hunterloftis: node.js jobs? where? [18:38] hunterloftis: yorick: Charlotte, NC but we're open to remote if necessary - prefer fulltime hires of course [18:38] TheJH: hunterloftis, can't see it. maybe it's stuck in moderation? [18:38] yorick: hunterloftis: what about? [18:38] hunterloftis: TheJH: I don't follow, what's up? [18:39] hunterloftis: yorick: We build web apps for funded startups (amongst other lines of business) [18:39] TheJH: hunterloftis, can't see any recent job mails on the ML [18:39] vipaca: What is the best way to vendor npm dependencies? [18:39] sirdancealot has joined the channel [18:39] isaacs: vipaca: use the "bundledDependencies" list [18:39] hunterloftis: TheJH: Ah gotcha. Not sending them on the ML but I would love to actually, if that's an option. [18:39] TheJH: vipaca, "vendor" dependencies? [18:39] isaacs: vipaca: then install them, and they'll be bundled with your program [18:40] isaacs: vipaca: they're not vendors, since you don't pay them. [18:40] isaacs: ;) [18:40] level09 has joined the channel [18:40] hunterloftis: yorick: Most of the clients coming in right now want some combination of realtime, html5, mobile web app [18:40] CoverSlide: oh-oh ... http://www.browserstack.com/ <-- looks like browserling got some competition, and it has the word `Stack` in the name [18:40] petrjanda has joined the channel [18:40] yorick: CoverSlide: I thought it was substacks at first :P [18:40] vipaca: :) [18:41] vipaca: isaacs bundle is more applicable [18:41] zemanel has joined the channel [18:41] isaacs: vipaca: yeah. [18:42] yorick: CoverSlide: stackVM is really nice though [18:42] dreamdust: @TheJH: By mailing list you mean google groups? [18:42] isaacs: vipaca: somewhere along the line, the ruby community broke the word "vendor". turned it into a verb meaning "bundle" [18:42] yorick: and they don't even have a video demo. [18:42] gr-eg has joined the channel [18:42] dgathright_ has joined the channel [18:43] TheJH: dreamdust, are there other ones? :D [18:43] vipaca: isaacs its funny that with bundler they didn't change the location and instead still stuck everything in vendor/bunlde and vendor/cache [18:43] CoverSlide: I tend to use `third-party` instead of `vendor` where applicable [18:44] CoverSlide: it ain't a vendor if it don't pop out a soda [18:44] vipaca: CoverSlide we have one of those in a lang agnostic project [18:44] tommg has joined the channel [18:44] CoverSlide: oh wait .. gem install soda [18:44] aheckmann has joined the channel [18:44] vishesh has joined the channel [18:49] Tobbe: "express --version" gives me 2.4.6, and I can generate a express app skeleton. But when I try to start it I get "Error: Cannot find module 'express'" [18:49] tjholowaychuk: Tobbe npm install [18:49] Tobbe: how can that be possible? [18:49] TheJH: Tobbe, you have it globally installed, but not locally [18:49] TheJH: Tobbe, do "npm install express" [18:50] tjholowaychuk: just npm install [18:50] Tobbe: I have to install it locally too? [18:50] tjholowaychuk: yes [18:50] Tobbe: ok [18:50] tjholowaychuk: that's how node works [18:50] vampi-the-frog has joined the channel [18:50] vampi-the-frog has joined the channel [18:50] CoverSlide: si senor [18:50] tjholowaychuk: global installs [18:50] tjholowaychuk: sucks [18:50] tjholowaychuk: suck* [18:51] Tobbe: sweet, thanks guys :) [18:52] m_3 has joined the channel [18:52] isaacs: Tobbe: you can `npm install --link` to link the global version into your local space [18:52] tylerstalder has joined the channel [18:53] Tobbe: I don't like links, they don't work on a windows mount... [18:54] jsurfer_ has joined the channel [18:55] Aikar: so dont use windows crap [18:55] Tobbe: :) [18:55] Aikar: only windows install i have left is my laptop which i never boot and my HTPC, and HTPC is only due to special case with LCD display and IR Remote [18:55] testeroo has joined the channel [18:56] sechrist: I love typing -g at the end of an npm install command [18:56] Aikar: since i know trying to get those to work under linux would be a nightmare [18:56] sechrist: sup -g [18:57] paul0 has joined the channel [18:57] Aikar: baudehlo: how do i know if a message got denied or sent in the haraka debug console? [18:57] Aikar: i just see a bunch of running hooks [18:58] pickels has joined the channel [18:58] Tobbe: Aikar: I only have one computer running right now, and it's Windows+coLinux [18:58] Tobbe: Windows XP :) [18:58] kab3wm has joined the channel [18:58] CoverSlide: wow how's coLinux run? [18:59] robertfw has joined the channel [18:59] Aikar: i only see games as a reason for windows, and i gave up pc games to code [18:59] CoverSlide: I've always been intrigued, never got the chance to set it up [18:59] aconbere has joined the channel [18:59] baudehlo: Aikar: it'll say something like: Successfully delivered mail: . [18:59] Aikar: [DEBUG] Getting config: auth_flat_file.ini [18:59] Aikar: [DEBUG] 81F45FD2-CE36-484D-A64C-43D058312EF2 running unrecognized_command hooks [18:59] Aikar: [DEBUG] 81F45FD2-CE36-484D-A64C-43D058312EF2 running unrecognized_command hook in auth/flat_file plugin [18:59] Aikar: is last thing i see [19:00] robi42 has joined the channel [19:00] Tobbe: CoverSlide: I've used coLinux for years. Wouldn't still be on windows if it weren't for colinux :) [19:00] Aikar: and nodemailer said "sent"... [19:00] markwubben has joined the channel [19:00] maushu has joined the channel [19:01] CoverSlide: hmm, how's it compare to cygwin? do you think it'd run fine on a netbook? [19:01] CoverSlide: if so, it may be worth it to dump cygwin [19:01] Tobbe: never really liked cygwin [19:01] Aikar: can you run ubuntu as the linux distro for it? [19:01] Aikar: cause you know [19:01] Tobbe: and it would run perfectly fine on a netbook [19:01] eignerchris has joined the channel [19:02] Aikar: i have a 3rd monitor at work for a DisplayLink USB adapter, that I cant use cause I cant get drivers for ubuntu [19:02] Tobbe: Aikar: yeah, you can run ubuntu [19:02] Tobbe: I'm running debian myself [19:02] Aikar: ugh dont tempt me back to windows ; ; [19:02] Tobbe: Aikar: but there's no 64bit version yet, so you'd have to install a 32bit windows [19:02] Aikar: thank you [19:03] Aikar: that kills that thought from my head now :P [19:03] Aikar: ACTION is safe from windows. [19:03] Tobbe: hehe [19:03] robotmay has joined the channel [19:03] Stephen_ has joined the channel [19:03] Aikar: though id really like my damn monitor [19:03] bnoordhuis: Aikar: the words 'windows' and 'tempt' in a single sentence, a rare sight [19:03] Aikar: i even thought of giving in and going to a mac... [19:04] vipaca: How important is it to get on .5 release? [19:04] fennec has joined the channel [19:04] Aikar: cause although im pretty anti ithings, i think id rather use a mac than windows [19:04] vipaca: Is .5 still considered experimental? [19:04] Aikar: ubuntu is perfect for me for dev, i just wish shit worked better like hardware drivers [19:04] hermanju_ has joined the channel [19:04] CoverSlide: I'd do a triple boot on a mac [19:04] CoverSlide: if i had one [19:04] jhurliman has joined the channel [19:05] CoverSlide: i had my eeepc triple booting for a while, except that there's no kmods for any of the eee's hardware [19:05] JaKWaC has joined the channel [19:05] CoverSlide: so I had to live with no sound, no hw accel, no wifi, hell, no ethernet either [19:06] CoverSlide: wasn't worth it [19:06] Aikar: baudehlo: I know this mail is failing to send due to port 25 being blocked, how come i see no errors regarding this in console? auth_flat_file is last i see [19:06] Cope has joined the channel [19:06] Wizek-other has joined the channel [19:07] Aikar: INFO] [outbound] Loading outbound queue from /home/dennis/src/trunk/beartrap/include/haraka/queue [19:07] Aikar: [NOTICE] FEA7C4DF-E201-4D32-8EA5-A2F78C1A644C got connection from: 127.0.0.1 [19:07] Aikar: [DEBUG] FEA7C4DF-E201-4D32-8EA5-A2F78C1A644C running lookup_rdns hooks [19:07] gkmngrgn has joined the channel [19:07] Aikar: oops one too many lines there, but w/e :P [19:08] glimpsenirvana has joined the channel [19:08] Cope: hello... I'm trying to install node.js on solaris 10; getting stuck towards the end of the make... [19:08] bnoordhuis: Cope: what's the issue? [19:08] Cope: http://dpaste.com/629051 [19:08] baudehlo: Aikar: want to gist your entire logs? [19:09] bnoordhuis: Cope: are you building with `make -j x` where x > 1 (or JOBS=x) [19:09] tilgovi has joined the channel [19:09] tilgovi has joined the channel [19:09] Cope: 2 [19:10] Cope: make -j2 [19:10] bnoordhuis: Cope: try it with -j1, you're running into the memory limit [19:11] Cope: oh right - yeah, this zone only has 512M [19:11] _kud has joined the channel [19:12] Aikar: baudehlo: https://gist.github.com/a57b9c308fa2f7f7088b [19:13] baudehlo: Aikar: what's the output from swaks? [19:13] Aikar: auth/flat_file, data.signatures, helo.checks, mail_from.is_resolvable, rcpt_to.in_host_list is plugins loaded [19:13] Aikar: I don't have swaks [19:13] baudehlo: ok, then set config/loglevel to LOGPROTOCOL so we can see more of what's going on. [19:14] FireCat has joined the channel [19:14] baudehlo: also you probably just want auth/flat_file in config/plugins and nothing else, since you don't need to do any checks on anything for relaying. [19:14] Aikar: [PROTOCOL] CD211011-0DE9-482A-A325-5094BEA2532B S: 500 Unrecognized command [19:15] Aikar: i have the protocol line for AUTH PLAIN [19:15] Aikar: then running unrecognized_command hooks [19:15] robhawkes has joined the channel [19:15] Aikar: then another unrec command hook in auth/flat_file plugin [19:15] Aikar: then the 500 unrecognized [19:15] jocafa: is anyone using evernote in ios5? [19:16] xerox: is there an official ios5 even [19:16] jocafa: GM [19:16] baudehlo: Aikar: entire logs again please? [19:16] diogogmt has joined the channel [19:17] Aikar: baudehlo: updated gist [19:17] bergie has joined the channel [19:18] Me1000 has joined the channel [19:18] baudehlo: your client doesn't do CRAM MD5 auth. [19:18] Aikar: im using nodemailer [19:19] baudehlo: honestly, I think you should just write a plugin which enables relaying manually [19:19] baudehlo: echo "exports.hook_connect = function (n,c) { c.relaying = true }" > plugins/relay_all [19:20] baudehlo: oops [19:20] DrMcKay: https://github.com/joyent/node/issues/1835 huh? [19:20] digman543 has joined the channel [19:20] baudehlo: echo "exports.hook_connect = function (n,c) { c.relaying = true; n() }" > plugins/relay_all [19:20] Aikar: and that lets it send w/o auth? [19:20] baudehlo: yeah once you change the auth/flat_file line to just say "relay_all" [19:20] baudehlo: in config/plugins [19:21] Aikar: looks like CRAM-MD5 was added to nodemailer in august [19:21] Aikar: just gotta figure out how to enable it [19:21] alvaro_o has joined the channel [19:22] Aikar: this is non SSL right? [19:22] baudehlo: we added auth plain to auth/flat_file too, but I don't think it's on npm yet. [19:23] Frippe has joined the channel [19:24] Aikar: ok so they are working on it but they have a nerror in the source [19:24] stonebranch has joined the channel [19:24] baudehlo: Oh I lied, it's in 0.9.0 [19:25] baudehlo: just edit the config file. [19:25] baudehlo: and put in: [19:25] baudehlo: [core] [19:25] baudehlo: methods=LOGIN,CRAM-MD5 [19:25] shipit has joined the channel [19:25] xy has joined the channel [19:25] baudehlo: (the auth_flat_file.ini) [19:26] CIA-48: node: 03Bert Belder 07master * r4c1d441 10/ node.gyp : Fix gyp build - http://git.io/mB6wog [19:26] Aikar: they just left off require('crypto'), now i got auth failed with cram-md5 [19:26] aaronblohowiak has joined the channel [19:26] Cope: baudehlo: sorry - I'm tired, can't believe I wasted your time with an out of memory error! Trying again on a 2G zone [19:26] JasonJS has joined the channel [19:27] cgfuh has joined the channel [19:27] Aikar: yay it worked [19:27] Aikar: i forgot the node ini modules dont support " " around values [19:27] baudehlo: Cope: I think you meant someone else? [19:27] Aikar: O.o [19:27] Aikar: and it sent the mail in my internal network [19:27] Cope: baudehlo: erm yeag! [19:27] Aikar: what kind of voodoo you got baudehlo ?! :P [19:27] Cope: bnoordhuis: see above apology to baudehlo :D [19:28] Aikar: or maybe the dev server can send mail, and our personal machines cant [19:28] baudehlo: Aikar: try "dig mx gmail.com" [19:28] CIA-48: node: 03Bert Belder 07many-writes-fix * ra50c282 10/ lib/net_uv.js : Socket write speed - http://git.io/M57qAg [19:28] baudehlo: you might have dns servers pointing to your outbound mail boxes for everything [19:28] bnoordhuis: Cope: did it work? [19:28] Xano has joined the channel [19:28] Aikar: nah, i think sendmail on my local machine just only tried to go out over 25 and no other ports or something [19:28] baudehlo: fair enough. [19:29] baudehlo: people fuck around with mail via firewall/dns rules all the time. It pisses me off. [19:29] Aikar: gmail mx returned normal [19:29] Cope: baudehlo: got much further: http://dpaste.com/629061/ [19:29] Cope: gah [19:29] Cope: bnoordhuis: got much further: http://dpaste.com/629061/ [19:29] baudehlo: transparently redirecting, etc. [19:29] baudehlo: but anyway, glad it worked :) [19:30] iammerrick has joined the channel [19:31] Wizek-other has joined the channel [19:32] Swizec_ has joined the channel [19:32] cronopio has joined the channel [19:33] baudehlo: I should probably enable AUTH LOGIN by default, since all the node smtp libraries are bloody awful and don't do cram-md5 (which is secure on the wire, whereas LOGIN isn't). But i'm loathe to do it. [19:33] mbrevoort has joined the channel [19:34] Me1000 has joined the channel [19:34] CIA-48: node: 03Ryan Dahl 07master * r311fe73 10/ (41 files in 8 dirs): [19:34] CIA-48: node: Upgrade libuv to 60c639f [19:34] CIA-48: node: Also remove unused src/stdio_wrap.cc - http://git.io/ffVsDw [19:35] tommg has left the channel [19:35] wankdanker: yorick: cool. I was just curious if there was something in my HEAD that might be leaking. [19:35] Aikar: well i was able to successfully send mail with cram-md5 when i modified nodemailer's source to add the missing require statement on their latest GIT version [19:36] Wizek-other2 has joined the channel [19:36] Aiden has joined the channel [19:36] maushu has joined the channel [19:36] Aikar: baudehlo: can i restrict what domains can receive mail even when authenticated? [19:36] parshap has joined the channel [19:37] baudehlo: Aikar: if you write a plugin to do that, sure. [19:37] baudehlo: Aikar: actually did rcpt_to.blocklist come with 0.9.0? [19:38] Aikar: what about rcpt_to.in_host_list? [19:38] Aikar: yes i see tjhat file [19:39] tylerstalder has joined the channel [19:39] baudehlo: oh you want to restrict to a small list? [19:39] Aikar: yes to only my domain [19:39] fairwinds: hi. when you create app modularity you get into circumstances where mod A requires something in module B while A exports something that B requires from A. In some of these scenarios I have thought of using a global might be nice. I create a module for config that is common. Anyone with any different approaches? [19:39] Aikar: this is totally for internal email notifications to ourselves. [19:40] stagas has joined the channel [19:40] baudehlo: you'd need to modify rcpt_to.in_host_list.js [19:41] baudehlo: just the last line. Instead of next(), use next(DENY) [19:42] smathy has joined the channel [19:42] aaronblohowiak: Why does node dynamically link to openssl instead of statically? [19:43] CoverSlide: ?? [19:43] CoverSlide: it does? [19:43] adambeynon has joined the channel [19:43] mikeric has joined the channel [19:44] CoverSlide: does that mean make install adds a openssl.a somewhere? [19:44] baudehlo: no it uses the OS one. [19:44] baudehlo: I believe this might be changing though (?) [19:44] CoverSlide: 0.5.x ryah added openssl as a dep [19:45] Aikar: baudehlo: ok this seems pretty simple, modified the recpt_to in host list and coded it for my domain as a new plugin [19:45] CoverSlide: which would fix stuff like the sslv2 errors people had been getting [19:45] Aikar: really going to need to push this upstairs [19:45] Aikar: this is pretty nice [19:46] cronopio has joined the channel [19:46] baudehlo: Aikar: well... unless you're using postfix or exim or sendmail or qmail, it's probably not nicer than what they're using already. [19:46] clarkfischer has joined the channel [19:46] baudehlo: the big commercial mail software has a lot of very cool features. [19:47] eldios has joined the channel [19:48] robotmay has joined the channel [19:48] Aikar: featurewise maybe not out of box, but you wouldnt say the async nature doesnt give it a shot of being better in performance? [19:51] baudehlo: depends what you're up against. [19:51] jmoyers has joined the channel [19:51] baudehlo: Message Systems? Not a chance. I know the guys who wrote it and they are frickin geniuses - they even went as far as writing their own malloc() for it. [19:52] baudehlo: and those guys have been scaling up mail systems for something like 12 years. [19:52] jetienne_ has joined the channel [19:52] Aikar: O.o [19:53] Aikar: ok writing your own malloc is getting pretty hardcore [19:53] sirdancealot has joined the channel [19:53] baudehlo: When I first met them they were doing a contract for freelotto. They were using solid state drives back then, and they cost $18k. [19:53] Aikar: lol... [19:53] CoverSlide: for how big? [19:53] baudehlo: gawd knows. Not very. [19:54] baudehlo: I think it was maybe a gig. [19:54] baudehlo: nah, wait, had to be way less than that. [19:55] openpercept has joined the channel [19:56] aaronblohowiak: I'm experimenting with building a node executable with my app packaged in. I know that everything in lib/ is included by default, but it doesn't seem as though you get full "require" support for stuff in lib/ -- ie: no subdirectories. also, I don't know how to bundle native extensions directly into the resulting executable. where would i look to investigate this further? [19:56] johnwards has joined the channel [19:56] Aikar: im starting to think maybe my friend spending 6k on a gaming rig wasnt THAT overpriced in comparison to that lol... [19:56] Vennril has joined the channel [19:56] baudehlo: hah, yes, yes it was. [19:56] Aikar: augustl: make your file named _third_party_main.js or so [19:56] Aikar: aaronblohowiak: * [19:57] Aikar: aaronblohowiak: if you have that file in nodes lib folder on compile, its executed as the initial script instead of $1 [19:57] baudehlo: I hope that was jamaican dollars. [19:57] Aikar: baudehlo: USD :P [19:57] aaronblohowiak: Aikar: will that give me a "full require" ? [19:57] dreamdust1 has joined the channel [19:57] Aikar: aaronblohowiak: you dont have to require it, it simply executes that file as if it was your initial file [19:58] Aikar: then require to your files elsewhere [19:58] Aikar: say put node/lib/yourapp/ [19:58] Aikar: then node/lib/third_party_main.js has require('./yourapp/foo.js'); [19:58] Aikar: oh you mean bundling [19:58] Aikar: i guess that is an issue [19:58] aaronblohowiak: =) [19:59] baudehlo: I'll never understand gamers who spend that kind of cash. But then my favourite game is gimme friction baby [19:59] Aikar: why wouldnt you just distribute your app as a bin with a shebang and have node installed? [19:59] Aikar: baudehlo: he had to get a 1500W PSU :/ [19:59] aaronblohowiak: Aikar: that is not as nice as a single executable [19:59] Aikar: he has 2x GeForce 590, then 1x GeForce570 used solely for PHYSX [19:59] Cope: bnoordhuis: any thoughts on that most recent failure? [19:59] tylerstalder has joined the channel [20:00] Aikar: and 24GB of memory [20:00] Aikar: water cooling [20:00] baudehlo: Aikar: is he playing Better Than Life? [20:00] Aikar: I dunno [20:00] Bonuspunk: display? [20:00] Aikar: he plays single player games [20:00] Aikar: :( [20:00] baudehlo: it's a Red Dwarf-ism. [20:00] jakehow has joined the channel [20:00] Swizec: anyone need a node.js freelancer? [20:00] bnoordhuis: Cope: i suspect that you're missing the openssl libs [20:01] Aikar: Bonuspunk: i dont think anything special [20:01] Bonuspunk: 1920 2560 or even higher? [20:01] Aikar: prolly not [20:01] Bonuspunk: than its pretty useless [20:02] jetienne_ has joined the channel [20:02] bnoordhuis: Cope: or maybe you have them installed but they're too old, not uncommon on sunos [20:02] Cope: bnoordhuis: /me looks [20:03] aaronblohowiak: Aikar: this works, but it does not work for things like require("dirname") where dirname is node/lib/dirname .. i think the "require" that is available to native modules is not the same as the require that is available to user scripts [20:03] Cope: library/security/openssl 0.9.8.28-0.162 installed ----- [20:05] aconbere has joined the channel [20:05] wankdanker: is embassy-grade good? [20:06] Nuck: I'm still sad over Steve Jobs [20:06] Nuck: Anyone else? [20:06] c4milo: Nuck: me too [20:07] Nuck: As an entrepreneur and developer, he truly was an idol to me. [20:07] vyshay: not 1 bit. didnt know him. [20:07] Nuck: ACTION facepalms [20:07] vyshay: ACTION headdesks [20:07] Aikar: aaronblohowiak: something i had thought of doing was a compiler to compile everything down to a single .js file (without drastically rewriting source, so change the behavior of require() to load from object instead), to be used with third_party_main. but i think some of the browser plugins may do that now [20:07] shedinja_ has joined the channel [20:07] vyshay: billionaire you dont know dies, whatever [20:07] eee_c1 has joined the channel [20:08] inph0 has joined the channel [20:08] aaronblohowiak: Aikar: that sounds error-prone=) [20:08] robi42 has joined the channel [20:08] Nuck: Aikar: That's easy, wrap each thing in a closure of (function(exports, module) { /* code */ return {exports: exports, module: module})({}); [20:08] Nuck: Or something like that [20:08] Nuck: You then process exports and module.exports and make them cooperate [20:08] Nuck: All it is is a ncie wrapper [20:09] jesusabdullah: Aikar: browserify does that now [20:09] Aikar: jesusabdullah: thought so [20:09] aaronblohowiak: Nuck: that only works if people use var appropriately [20:09] Aikar: aaronblohowiak: not really, the node.js module loader is fairly trivial [20:09] Nuck: aaronblohowiak: ah true [20:09] Nuck: aaronblohowiak: Globals will misbehave, right [20:09] Cope: bnoordhuis: ok, specified ssl lib and include dirs to ./configure - all good [20:09] jesusabdullah: Aikar: check out browserifify.nodejitsu.com [20:10] jesusabdullah: er [20:10] bnoordhuis: Cope: okay, good [20:10] pt_tr has joined the channel [20:10] Aikar: jesusabdullah: aaronblohowiak needs it :P [20:10] clopez has joined the channel [20:10] jesusabdullah: browserify.nodejitsu.com [20:10] Aikar: not i [20:10] CoverSlide: browser-fifi !!! [20:10] jesusabdullah: aaronblohowiak: browserify.nodejitsu.com [20:10] jesusabdullah: aaronblohowiak: still very alpha mind you [20:10] aaronblohowiak: jesusabdullah: thanks, but that also doesn't solve the var issues [20:10] edenli_ has joined the channel [20:11] aaronblohowiak: what i want is full require() support for things in node/lib, or some other _third_party_main alternative [20:11] Aikar: modify NativeModule to support all files [20:11] Aikar: and hell submit it as a pull req back to node [20:11] Aikar: err [20:11] Aikar: youll have to change the compiler [20:11] Aikar: so it bundles ALL files [20:13] DennisRas has joined the channel [20:13] nforgerit has joined the channel [20:14] Frippe has joined the channel [20:16] clopez has joined the channel [20:17] [[zz]] has joined the channel [20:17] Wizek has joined the channel [20:17] firebalrog has left the channel [20:18] gut4 has joined the channel [20:18] CIA-48: node: 03Ryan Dahl 07many-writes-fix * r065c6f4 10/ lib/net_uv.js : Simplify writeReq handling in net_uv - http://git.io/8LDmIQ [20:18] abraham has joined the channel [20:19] aaronblohowiak: Aikar: i see NativeModule, where would i look for the compiler's bundling of lib/ ? [20:19] Aikar: aaronblohowiak: no clue [20:20] aaronblohowiak: okie dokie! [20:20] Aikar: start with the make file :P [20:20] Aikar: understanding nodes core is handy though [20:20] Aikar: lets you know how you can hack it ;) [20:20] Aikar: so many points you can inject or overload or completely reimplement in the module loader [20:21] aaronblohowiak: Aikar: the make file looks like it just calls out to waf [20:21] davidwalsh has joined the channel [20:21] Aikar: https://github.com/aikar/aurora/blob/master/lib/runtime_.js#L15 [20:22] Stephen_: Is there any mechanism for interprocess communication in Node? [20:22] Aikar: like I injected in to auto recompile any files at runtime for quick dev :P [20:22] Aikar: Stephen_: stdin/stdout is just fine [20:22] Stephen_: (Other than the obvious ones like http and sockets) [20:22] aaronblohowiak: nice [20:22] Aikar: http://github.com/aikar/wormhole check the RPC example [20:22] Aikar: err [20:22] TheJH: Stephen_, hook.io is cool [20:23] Aikar: i used a tcp socket for that [20:23] TheJH: Stephen_, it's written by the #nodejitsu guys (yes, that's their channels name, too) and it gives you interprocess events [20:24] davidwalsh_ has joined the channel [20:26] slifty has joined the channel [20:26] wbednarski has joined the channel [20:28] mikl has joined the channel [20:29] reid has joined the channel [20:29] piscisaureus_ has joined the channel [20:30] Xano has joined the channel [20:30] Wizek has joined the channel [20:32] dob_ has joined the channel [20:33] wankdanker: Stephen_: i'm working on node-discover which has a distributed event emitter which is process and network transparent [20:33] matt_c has joined the channel [20:35] kickingvegas has left the channel [20:35] dob_: i have some problem with jade. If i view the source of my page. There are only a few carriage returns everything else is written in one line. [20:35] dob_: Any ideas? [20:36] tjholowaychuk: dob_ there's a pretty: true option [20:36] dguttman has joined the channel [20:36] deedubs: dob_: that's not REALLY a problem [20:36] tylerstalder has joined the channel [20:37] dob_: looks strange, did not have that in my previous project. Will i have to change the type of return in my eclipse configuration? [20:37] rinaldo has joined the channel [20:38] Aikar: jade has nothing to do with eclipse [20:38] Aikar: you gotta configure jade to do "pretty" [20:39] Aikar: but only do that if you NEED it [20:39] dob_: alright app.set('view options', { pretty: true }); [20:39] Aikar: 1 line is smaller and less bandwidth [20:39] jobin77 has joined the channel [20:39] dob_: i understand the reason now :-) [20:39] dob_: thanks [20:40] dob_: i am pretty new in node. Sorry for my stupid questions. [20:40] Wa has joined the channel [20:40] Aikar: you shouldnt have html errors, so you shouldnt need exact line count. so if you need to view the tree, use firebug or web inspector in your browser which will format it nicely [20:41] neilk_ has joined the channel [20:42] rinaldo: I am looking to deploy a production application that requires ssl and some proxy services, I have it all working with hoxy which I really like but do not want to run another SSL service in front of it. Typically I use apache, Brazil and glassfish I find node to dramtically improve my productivity [20:42] shipit has joined the channel [20:46] mcluskydodallas has joined the channel [20:47] tylerstalder has joined the channel [20:48] rinaldo has joined the channel [20:50] sfoster has joined the channel [20:50] Zamarok has joined the channel [20:50] amiller has joined the channel [20:50] brion has joined the channel [20:51] stisti has joined the channel [20:53] heavysixer has joined the channel [20:54] piscisaureus_ has joined the channel [20:55] raz has left the channel [20:55] Aikar: whats the Bash syntax to say "set this variable to this if its not set already" ? [20:56] fennec has joined the channel [20:56] fennec has joined the channel [20:56] piscisaureus_ has joined the channel [20:56] smathy has joined the channel [20:56] gregmoreno has joined the channel [20:57] Aikar: hmm got it working as FOO=${FOO:-default} but i swear theres a simpler syntax [20:57] reid has joined the channel [20:58] level09 has joined the channel [20:58] Tigraine has joined the channel [20:59] eee_c has joined the channel [21:02] randylien has joined the channel [21:03] kahrens has joined the channel [21:03] level09 has joined the channel [21:04] smathy has joined the channel [21:05] reid has joined the channel [21:05] KaL has joined the channel [21:05] fly-away has joined the channel [21:07] rootslab has joined the channel [21:07] Nuck: Trying to install Haibu, it doesn't work on my VPS, breaks at hook.io [21:07] Nuck: https://gist.github.com/1268669 [21:07] Nuck: Warning: 2000 lines log [21:07] wbednarski has joined the channel [21:08] AvianFlu: Nuck: two things [21:08] AvianFlu: first, can you start by gisting just the error you're getting? [21:08] Nuck: AvianFlu: ? [21:08] AvianFlu: second, you should probably join #nodejitsu so we can help you out better [21:09] mdarnall has joined the channel [21:09] Nuck: https://gist.github.com/1268680 [21:11] AvianFlu: strange [21:11] alindeman has joined the channel [21:11] DrMcKay has joined the channel [21:12] `3rdEden has joined the channel [21:12] reid_ has joined the channel [21:12] joshkehn has joined the channel [21:12] tylerstalder has joined the channel [21:14] piscisaureus_ has joined the channel [21:14] smtlaissezfaire has joined the channel [21:15] TheJH: are there node bindings for sending raw IP stuff? not TCP, not UDP, plain IP. e.g. for ARP. [21:15] CoverSlide: I doubt it [21:15] TheJH: ah, wait, is that even IP? [21:16] TheJH: well, just raw network packets would be cool [21:16] joshkehn has left the channel [21:17] jellosea has joined the channel [21:17] jellosea: hey it seems that try/catch doesn't seem to catch all my exceptions [21:18] Me1000 has joined the channel [21:18] CoverSlide: it won't catch asynchronous stuff [21:18] Lingerance: TheJH: https://github.com/mranney/node_pcap [21:18] jellosea: how do i catch asynchronous stuff? [21:18] CoverSlide: you'd have to write the try/catch in your callback [21:18] TheJH: Lingerance, I think that can't send stuff [21:18] TheJH: jellosea, you use error events and event handlers [21:18] melcher_ has joined the channel [21:19] jellosea: TheJH: can you point me to an example/docs on how to do that [21:19] jellosea: whats best practice, try catch in the callback? [21:19] jellosea: or error events [21:19] CoverSlide: jellosea .on('error',cb) [21:19] TheJH: jellosea, see the docs [21:19] TheJH: ah, wait [21:20] TheJH: inside the callback... then try/catch [21:20] jellosea: where in the docs? [21:20] TheJH: sorry, forget it... if it's inside your callback, I'd use try/catch [21:20] TheJH: but if it's just async, use error events [21:23] dgathright has joined the channel [21:25] KaL_ has joined the channel [21:25] jellosea: its just async i think, since the error is happening when i can't connect to teh server [21:27] TheJH: jellosea, see http://nodejs.org/docs/latest/api/net.html#server.listen for an example [21:28] kahrens has left the channel [21:29] TheEmpath has joined the channel [21:29] TheEmpath: so a question about proper socket.io and node.js integration! [21:29] TheEmpath: if i got hunderds of users connected to a node instance all sending events [21:30] TheEmpath: i was told once to have all of those requests put into a queue and when a request is added to a queue, run through the queue and process them [21:30] TheEmpath: this is all fine and well, but this poses problems with acknowledgements [21:33] jellosea: how do i catch this error http://pastie.org/2651975 i tried server.on ('error',... but it doesn't catch it [21:34] Wizek-other has joined the channel [21:34] dob_: is it correct that i will have to delete my style.css every time that stylus will render it again? [21:35] Lingerance: jellosea: Code please [21:35] Lingerance: Almost everything does different async error handling [21:36] CoverSlide: dob_: no, it checks the mtime [21:37] CoverSlide: and re-process [21:38] dob_: CoverSlide strange doesn't seem to work on my system.... Possible macosx problem... [21:38] Jackson_ has joined the channel [21:38] r04r: What's a recommended way of storing callback functions for later use? Right now I'm giving each one a number and incrementing that number and clearing out old ones, but could the number overflow eventually if it were up for a long time? >.> [21:38] dob_: if i delete the file it works [21:39] MatthewS has joined the channel [21:39] MatthewS: are there office hours today? [21:39] esmevane has joined the channel [21:39] Lingerance: r04r: What? Can you show an example of this going on? [21:39] r04r: Lingerance: It didn't happen yet, but I'll write a little example to illustrate what I mean [21:39] Carter has joined the channel [21:43] liar has joined the channel [21:43] gut4 has joined the channel [21:43] maushu has joined the channel [21:45] aelien27 has joined the channel [21:45] r04r: Lingerance: https://gist.github.com/1268769 -- If that makes sense, I'm sort-of worried/wondering if callbackCounter would have a maximum numeric value [21:46] mikl has joined the channel [21:46] dob_: Coverslide: Any idea? [21:46] smathy has joined the channel [21:46] CoverSlide: hmm i remember seeing an issue where stat.mtime was giving bad results on osx [21:47] CoverSlide: which node version are you on? [21:48] Wa has joined the channel [21:49] astropirate has joined the channel [21:50] CoverSlide: dob_: https://github.com/joyent/node/issues/1401 [21:50] Lingerance: r04r: So basically you just need a unique identifier for identifying what callback to use when you get a response back. In which case I would just force a roll over. [21:50] Lingerance: Other than that, you'd doing what I'd do. [21:50] dob_: CoverSlide: 0.4.10 [21:50] r04r has joined the channel [21:50] isaacs has joined the channel [21:51] CoverSlide: hmm, well according to the issue page, 0.4.9 doesn't have the stat.mtime issue. you may try 0.4.11 or 0.4.12 and see if you're getting the same [21:52] dominictarr has joined the channel [21:52] dob_: CoverSlide: Strange alrorla wrote that he had no issues with 0.4.10 [21:52] CoverSlide: hmm [21:52] dob_: CoverSlide: Thanks for your help! I will try that! [21:53] piscisaureus_ has joined the channel [21:53] joshgillies has joined the channel [21:53] franciscallo has joined the channel [21:54] CIA-48: libuv: 03Ryan Dahl 07master * re3bcecd 10/ src/unix/stream.c : unix: clean up messy code - http://git.io/2vCL2w [21:54] CIA-48: libuv: 03Ryan Dahl 07master * rf60cf1d 10/ Makefile : Dont build tests on 'make all' - http://git.io/QKUKOw [21:54] fairwinds has joined the channel [21:55] shipit has joined the channel [21:56] jj0hns0n has joined the channel [21:57] saikat has joined the channel [21:59] dshaw_: It would be great if we could reference the docs like this: http://nodejs.org/docs/stable/api/events.html#emitter.setMaxListeners [21:59] dshaw_: s/v0.4.12/stable [21:59] CIA-48: node: 03Ryan Dahl 07master * rc344fbc 10/ src/node.cc : Add process.uvCounters() for debugging - http://git.io/_OtXag [22:01] kimico has joined the channel [22:02] CIA-48: node: 03Ryan Dahl 07master * rf018be3 10/ benchmark/http_simple.js : Print libuv counters after http_simple exits - http://git.io/RUxhBA [22:03] dabius has joined the channel [22:03] inph0 has joined the channel [22:03] dabius has left the channel [22:04] nail_ has joined the channel [22:04] davidbanham has joined the channel [22:04] dnyy has joined the channel [22:05] gut4 has joined the channel [22:08] schwab has joined the channel [22:09] EvRide has joined the channel [22:10] sechrist has joined the channel [22:10] dominictarr: sechrist: ping? [22:10] sechrist: hey man [22:11] dominictarr: hey whats up? [22:11] detaos: ok, so possibly silly question, but i have a lot of experience with C++ and OOP and thus have a long standing habit breaking projects into a lot of well organised files ... is there a way to do this with a javascript project (ie a very complicated Node.js server)? [22:11] isaacs: detaos: yes. [22:12] detaos: isaacs: excellent ... how do i include outside files? [22:12] isaacs: detaos: http://nodejs.org/docs/v0.5.8/api/modules.html [22:12] isaacs: detaos: require("./the-file.js") [22:12] isaacs: detaos: var exportedStuff = require("./the-file.js"); [22:13] isaacs: then in the-file.js, you do exports.foo = "bar" [22:13] isaacs: and then exportedStuff.foo === "bar" [22:13] tomh has joined the channel [22:13] isaacs: detaos: have a look at literally any node program ever. [22:13] isaacs: ;) [22:13] nforgerit has joined the channel [22:14] detaos: isaacs: awesome, thanks mate! :) [22:14] isaacs: np [22:15] CIA-48: node: 03Ben Noordhuis 07many-writes-fix * r38dce40 10/ lib/net_uv.js : [22:15] CIA-48: node: net: remove unconditional getpeername() call [22:15] CIA-48: node: Speeds up http_simple benchmark by about 1.0% - http://git.io/pT6b7A [22:20] hellp has joined the channel [22:20] CIA-48: node: 03Bert Belder 07many-writes-fix * r4722842 10/ lib/net_uv.js : Socket write speed - http://git.io/Dndn4g [22:20] CIA-48: node: 03Ryan Dahl 07many-writes-fix * r3507d19 10/ lib/net_uv.js : Simplify writeReq handling in net_uv - http://git.io/kaWWew [22:20] CIA-48: node: 03Ben Noordhuis 07many-writes-fix * rd016d5c 10/ lib/net_uv.js : [22:20] CIA-48: node: net: remove unconditional getpeername() call [22:20] CIA-48: node: Speeds up http_simple benchmark by about 1.0% - http://git.io/BqXqJw [22:20] mosen has joined the channel [22:20] jj0hns0n has joined the channel [22:24] aelien27 has joined the channel [22:24] thepatr1ck has joined the channel [22:26] langworthy has joined the channel [22:26] mynix has joined the channel [22:26] isaacs has joined the channel [22:27] jsurfer has joined the channel [22:27] KaL__ has joined the channel [22:27] Kami_ has joined the channel [22:30] jldbasa has joined the channel [22:33] Coderah has joined the channel [22:36] fairwinds has joined the channel [22:36] nibblebo_ has joined the channel [22:37] vidi has joined the channel [22:37] theCole has joined the channel [22:40] JaKWaC has joined the channel [22:40] dreamdust has joined the channel [22:42] joshkehn has joined the channel [22:42] c4milo1 has joined the channel [22:45] Murvin has joined the channel [22:48] detaos: question for the devs: are there any plans (or is it already possible) for the community to add to the documentation? [22:49] joshkehn has left the channel [22:54] metellus has joined the channel [22:58] nibblebot has joined the channel [22:59] AvianFlu: detaos you should take a look at docs.nodejitsu.com [23:02] Sorella has joined the channel [23:02] baudehlo has joined the channel [23:03] detaos: thanks AvianFlu [23:07] flagg0204 has joined the channel [23:07] Aphelion has joined the channel [23:14] necrodearia has joined the channel [23:14] brianc has joined the channel [23:15] brianc: anyone know of a good site to view watched repos? [23:15] brianc: I hate having to go through hundreds of items in my rss feed [23:16] dnyy has joined the channel [23:17] robertfw has joined the channel [23:19] flagg0204 has joined the channel [23:19] `10 has joined the channel [23:19] airhorns has joined the channel [23:21] schwab has joined the channel [23:21] cronopio has joined the channel [23:22] dford has joined the channel [23:24] bingomanatee: (github?) [23:24] joshgillies has left the channel [23:24] joshgillies has joined the channel [23:25] gr-eg has joined the channel [23:27] dnyy has joined the channel [23:27] mandric has joined the channel [23:28] pointlessjon has joined the channel [23:28] shaggydog97 has joined the channel [23:29] robertfw has left the channel [23:31] mertimor has joined the channel [23:33] dnyy has joined the channel [23:35] brianc: i mean i have lots of watched repositorys [23:35] brianc: repositories [23:35] brianc: it's a torrent of information [23:36] brianc: no biggie [23:36] zemanel has joined the channel [23:36] detaos: if you don't need to read /every/ post, then a streamed reader similar to iGoogle might work for you ... [23:36] brianc: yea [23:36] reid has joined the channel [23:39] zeade has joined the channel [23:40] stagas has joined the channel [23:40] CIA-48: libuv: 03Igor Zinkovsky 07master * r0364809 10/ test/test-fs.c : fix fs_utime & fs_futime tests on windows - http://git.io/O06Qug [23:42] mike5w3c has joined the channel [23:45] jaequery has joined the channel [23:48] saikat has joined the channel [23:48] luxigo has joined the channel [23:49] dreamdust has left the channel [23:51] davidbanham has joined the channel [23:55] guillermo has joined the channel [23:56] neurodrone has joined the channel [23:58] CIA-48: node: 03Ryan Dahl 07many-writes-fix * r1923e5c 10/ lib/net_uv.js : Simplify arg parsing in String.write - http://git.io/pXCTPg [23:59] hunterloftis has joined the channel