[00:00] TheEmpath: here it is [00:00] TheEmpath: look at this awesome bug [00:00] TheEmpath: v8 var list = new Array(); var id = new Obj(String(0),String(1)); function Obj(val1, val2) { this.val1 = val1; this.val2 = val2 }; list[id.val2] = new Obj(1,2); list[id.val1] = new Obj(3,4); list[id.val1]; [00:00] v8bot: TheEmpath: v8 is no longer supported (except in PM). Try v8: or v8> [00:00] sschuermann has joined the channel [00:00] TheEmpath: private message v8 that one [00:00] TheEmpath: the answer should be 1,2 [00:00] TheEmpath: but you get 3,4 [00:00] TheEmpath: id.val1 is 0 [00:01] genbit has joined the channel [00:01] Tim_Smart: It will be 3,4 because: list[id.val1] = new Obj(3,4); list[id.val1]; [00:01] TheEmpath: aww damn it [00:01] TheEmpath: well ican't isoalte it [00:01] TheEmpath: but i am getting it in my script [00:03] ajpiano has joined the channel [00:05] TIM_SMART: RAWR [00:06] MattJ100 has joined the channel [00:06] TIM_SMART: SUBSTACK: Why the caps? Feeling angry? [00:07] nerdEd has joined the channel [00:09] xicubed has left the channel [00:12] MattDiPasquale has joined the channel [00:13] SUBSTACK: TIM_SMART: IT IS CAPS LOCK DAY, SIR. [00:14] GOD__ has joined the channel [00:14] TIM_SMART: FO SURE [00:14] GOD__: LET THERE BE NODE. [00:15] TheEmpath: oooooo [00:15] TheEmpath: i know what happens [00:15] TheEmpath: its json [00:15] TheEmpath: json is turning my strings into ints [00:15] TheEmpath: durp drup [00:15] zk has joined the channel [00:15] JESUSABDULLAH: JSOOOON [00:17] tekky has joined the channel [00:17] ezmobius has joined the channel [00:18] sprout has joined the channel [00:18] robotarmy has joined the channel [00:20] ryanfitz has joined the channel [00:21] aurynn: they were ints to start with [00:21] aurynn: autocast! [00:21] genbit has joined the channel [00:24] softdrink has joined the channel [00:27] TheEmpath: i made them strings :( [00:27] ajsie has joined the channel [00:27] evanmeagher has joined the channel [00:28] ajsie: could someone explain for me what export.js does? [00:28] ajsie: is it anything like npm? [00:28] dpritchett has joined the channel [00:28] ISAACS: THEREIS NOTHING LIKE npm!! [00:44] genbit has joined the channel [00:44] stepheneb has joined the channel [00:46] genbit has left the channel [00:47] vnguyen_ has joined the channel [00:48] Robbb has joined the channel [00:48] TheEmpath: youll be happy to know that binding socket.io sends to process.nextTick really pushes socket.io to the limit [00:49] dnolen has joined the channel [00:50] ajsie: noone? [00:50] ajsie: roaring like Akilles: is there no one else?! [00:51] creationix has joined the channel [00:51] sprout has joined the channel [00:51] dquestions has joined the channel [00:51] TheEmpath: me dunno [00:56] overra has joined the channel [00:58] springmeyer_ has joined the channel [01:00] mtodd has joined the channel [01:00] TIM_SMART: For when mikeal is back from the store http://github.com/Tim-Smart/node/compare/filter2 [01:00] eee_c has joined the channel [01:00] ryah: Mwhahaha [01:02] dguttman_ has joined the channel [01:07] Rixius has joined the channel [01:08] Rixius: hit a snag trying to build on Mac OS X 10.4.11 http://pastie.org/1239670 <- Log [01:09] dgathright has joined the channel [01:10] creationix has joined the channel [01:10] Rixius: has anyone else had trouble building on Mac OS X 10.4.11? [01:11] aheckmann has joined the channel [01:12] dannycoates has joined the channel [01:13] Yuffster has joined the channel [01:14] UHMA has joined the channel [01:15] mbrochh has joined the channel [01:17] rnewson has joined the channel [01:18] EyePulp: Rixius: I can't say I've seen that error - that does seem to be an older osx install - any chance to update it? [01:19] davidascher has joined the channel [01:19] Rixius: I'm updating it early next week [01:19] Rixius: just wanted node now >.> [01:20] Rixius: I was using node .2, just tried with .2.3 and same error [01:21] Aria: Anything from above that in the log? [01:21] micheil: Tim_Smart: I think that's wrong. [01:21] c4milo has joined the channel [01:21] admc has joined the channel [01:22] Rixius: Error : Build failed: -> task failed (err #2): {task: libv8.a SConstruct -> libv8.a} [01:22] Tim_Smart: micheil: The pipe() version? [01:22] micheil: Tim_Smart: why can't I do: Stream.pipe(function(){}, source, optinos); [01:22] micheil: yeah [01:22] breccan has joined the channel [01:23] c4milo has left the channel [01:23] Tim_Smart: micheil: Oh yeah me being sily. [01:23] Tim_Smart: It was supposed to be an array. [01:23] micheil: heh [01:23] micheil: but doing: Stream.pipe([function(){}], source, options); is just kinda silly, imo. [01:24] jacobolus has joined the channel [01:26] Tim_Smart: micheil: Thinking I might move filters to the options hash. [01:26] admc has joined the channel [01:26] micheil: heh [01:26] micheil: plus changing that's just going to break stuff for no reason really [01:26] nrub has left the channel [01:26] micheil: most pipes aren't going to be using filters [01:27] micheil: heh: Stream.chainSmoker(stream1, stream2, stream3, stream4) [01:27] micheil: pipe()'s together multiple streams. [01:28] jashkenas has left the channel [01:28] micheil: (gotta love it when you can play slightly on words and names) [01:31] davidascher has joined the channel [01:31] robotarmy has joined the channel [01:37] Tim_Smart: http://github.com/Tim-Smart/node/compare/filter2 [01:37] Tim_Smart: Heh I obviously didn't proof read that. [01:38] springmeyer has joined the channel [01:39] Tim_Smart: Yeah that's better. [01:41] jacobolus has joined the channel [01:42] indexzero has joined the channel [01:45] Me1000 has joined the channel [01:46] langworthy has joined the channel [01:47] tosuk has joined the channel [01:47] StanAngeloff_ has joined the channel [01:47] Twelve-60` has joined the channel [01:48] aconran__ has joined the channel [01:49] mikeal has joined the channel [01:52] Sembiance has joined the channel [01:52] micheil: ryah_: is this still relevant? http://www.opensource.apple.com/source/Kerberos/Kerberos-47/KerberosFramework/Kerberos5/Sources/util/windows/getopt_long.c [01:52] micheil: erm [01:52] micheil: http://nodejs.googlegroups.com/web/stress-test.gif?hl=en_US&gda=SBWN40IAAAAgw6q8VZd1JkJ0gAUCNHRsQe1UHrba7Z8qSja2JVZIUcugpjjLBJsG6RKa3XrNrKdV4u3aa4iAIyYQIqbG9naPgh6o8ccLBvP6Chud5KMzIQ&gsc=eDuEoS4AAAD_QFnaQAkoxQtQ5j5Xlf52uYcCJr_eNwDzPUGLP9ODHDEQ-ZWn06kHP3h-_FNycu0 [01:52] termie has joined the channel [01:52] termie has joined the channel [01:52] Tim_Smart has joined the channel [01:52] micheil: it's a chart plotting conn/sec, net-conn/sec, close/sec, msg/sec, tot-conn on it [01:52] micheil: from mid 2009 [01:53] micheil: actually Nov 27 [01:53] micheil: being the number of changes since then, I'd guess it to be outdated [01:54] micheil: although, I'm just wanting to check, because if it is still wanted, we'll want to move it off google groups [01:54] micheil: who are no longer going to be supporting pages / files [01:54] grahampage has joined the channel [01:54] Tim_Smart: micheil: http://github.com/Tim-Smart/node/commit/66f1c743f7d8a81858a0c94226e2151a30f6e02a [01:54] Tim_Smart: stream.pipe().pipe().pipe() [01:54] micheil: hmm.. [01:55] micheil: yeah, but I like the name "chainSmoker" just for the pun of it. [01:55] Tim_Smart: Yeah, but we have to be sensible. [01:55] EyePulp: heh [01:55] tk has joined the channel [01:55] micheil: Tim_Smart: I was actually joking when I said it. [01:55] EyePulp: plumber? [01:55] derencius has joined the channel [01:55] grahampage has left the channel [01:55] micheil: EyePulp: I was thinking take your pipe() and smoke it. [01:56] rcy has joined the channel [01:56] EyePulp: naturally [01:56] EyePulp: =) [01:56] Tim_Smart: file.pipe(gzip).pipe(response); [01:56] banjiewen has joined the channel [01:56] micheil: mikeal: you still about? [01:56] micheil: could be nice. [01:56] andrewa2 has joined the channel [01:57] mikeal: yeah [01:57] mikeal: just got back from the store [01:57] micheil: so, do we think we should do an episode tomorrow morning? [01:57] Druid_ has joined the channel [01:58] mikeal: sure [01:58] mikeal: can we get the current one posted :) [01:58] lstoll has joined the channel [01:58] walkah has joined the channel [01:58] walkah has joined the channel [01:58] mikeal: i'm gonna be in the office until like 2 [01:58] Tim_Smart: http://thenoded.com/ <- Fix it. [01:58] Tim_Smart: <3 [01:59] mikeal: what is broken? [01:59] Tim_Smart: "Coming Soon." doesn't count ;( [01:59] hoodoos has joined the channel [01:59] micheil: mikeal: yeah, the website's going to take a little while longer [02:00] apage43 has joined the channel [02:00] micheil: but you can already get it on the twitter feed [02:00] Tim_Smart: mikeal: Anyway, here is another take on filter http://github.com/Tim-Smart/node/compare/filter2 [02:00] ryanfitz has joined the channel [02:01] heavysixer: anyone want to try my first node.js attempt? [02:01] micheil: ? [02:01] mikeal: is the feed working? [02:01] micheil: mikeal: almost. [02:01] heavysixer: orlandov: thx for the help on github [02:01] micheil: I haven't really had a chance to work much more on it. [02:01] heavysixer: didn't know you were in this chan too [02:02] mikeal: you posted it on twitter? [02:02] micheil: yeah [02:02] micheil: http://twitter.com/thenoded/status/27816229400 [02:02] jackson_ has joined the channel [02:03] micheil: (I'm using the account via coTweet, and I've sent you an email with details to access it) [02:03] mikeal: ok, i posted it as well [02:03] nefD has joined the channel [02:04] micheil: yeah, I was using the goo.gl link to be able to get a few basic stats on who/how many people are listening in [02:04] ryan[WIN] has joined the channel [02:07] mikeal: that never quite works [02:07] mikeal: where is the mp3 hosted? [02:07] micheil: http://goo.gl/info/Ac1f#week [02:07] micheil: the mp3 is hosted on one of my servers [02:07] mbrochh has joined the channel [02:07] micheil: it should be generally available [02:07] micheil: (It's a box in the linode london datacenter [02:08] mikeal: i was just wondering if we could parse the access log for stats [02:08] micheil: same place the current static "coming soon" page is hosted [02:08] micheil: hmm.. [02:08] micheil: let me check. [02:08] mikeal: once it's on couchone we can parse the logs out of an HTTP interface [02:08] Tim_Smart: You could use some node awesome-ness to serve the files ;) [02:08] micheil: 119.107.239.120 - - [22/Oct/2010:13:08:48 +1100] "GET /episode-1.mp3 HTTP/1.1" 206 204896 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_8; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.41 Safari/534.7" [02:09] micheil: looks like it. [02:09] micheil: Tim_Smart: no need for that. [02:09] mikeal: micheil: you'll want to parse out requests with range headers that are non zero [02:10] abstractj has joined the channel [02:10] mikeal: when you open it in the browser and you seek it's a new request with range headers included [02:10] micheil: well, yeah, that's the only data I've got in the logs for it [02:10] mikeal: or you could just log the IP and consider 8 requests from one IP to be one listener [02:10] mikeal: that's probably easier [02:10] micheil: I'm just wanting to get some really rough stats [02:11] micheil: so we can say "yes, there's people wanting us to produce this, or no there isn't" [02:11] evanmeagher has joined the channel [02:11] micheil: (although, it is a "yes") [02:13] threeve has joined the channel [02:14] elijah-mbp has joined the channel [02:18] jamescarr: hmmm [02:18] jamescarr: so websockets dont work with a proxy [02:18] jamescarr: whoops :) [02:18] micheil: generally not [02:19] micheil: draft75 will [02:19] micheil: but most will be using 76 [02:19] jamescarr: yeah, I had set up a websocket demo and a proxy to load balance between nodes [02:19] jamescarr: it failed [02:19] jamescarr: hehehehe [02:19] micheil: yup [02:19] jamescarr: I suppose I could use websockets with STOMP and activeMQ... [02:20] jamescarr: then relay the messages back to the nodes [02:22] micheil: the better way would be to either pass FD's between node processes [02:22] micheil: or to have one that talks / pipe()'s to a redis pubsub queue [02:24] Rixius has left the channel [02:24] twoism has joined the channel [02:26] Tim_Smart: Pre-increment is a consistent 100-200 ops/s faster on chrome 8. But that only amounts to 3% [02:27] Tim_Smart: Fail window focus. [02:30] jamescarr: micheil, I doubt you can pass FDs between machines! :) [02:30] micheil: jamescarr: good point [02:30] micheil: in which case I'd say a redis pub/sub queue would be the way to go [02:31] micheil: but there's a bunch of other information that makes scaling websockets a little bit hard [02:31] Tim_Smart: Or redis + brpop [02:31] micheil: like, if client A on server A wants to send a single message to a client on Server B [02:32] micheil: you'd need to watch out for leaks of data and stuff like that. [02:32] jamescarr: micheil, I'd just use amqp or redis to replicate it [02:33] micheil: but also, you need to be sending the client's id (which I've got to rework a bit) [02:33] jherdman has joined the channel [02:33] micheil: but. It should be able to be workable with a custom redis pub/sub queue data format [02:33] micheil: and it should be able to fit into the attach/detach stuff in the manager [02:34] jamescarr: I guess its past due that I give redis a try [02:34] nolan_d has joined the channel [02:34] micheil: redis pubsub is really good [02:34] micheil: and super faster [02:34] micheil: *fast [02:34] dpritchett has joined the channel [02:35] micheil: but yeah, scaling websockets is a bit of an issue [02:35] gkatsev has joined the channel [02:36] jamescarr: yeah that was the ogther thing I was wondering [02:36] Tim_Smart: micheil: I got the working websocket joining code working btw. [02:37] Tim_Smart: But it uses buffers only. [02:37] jamescarr: I notice that on the server side, each connection binds to a different port right? [02:37] Tim_Smart: I think you saw it. [02:37] jamescarr: is there an upper bound to that? [02:37] gkatsev: any tutorials you guys recommend for beginners? Well, other than just reading the API page and doing something. [02:40] Tim_Smart: gkatsev: nodecasts has a good screencast. [02:41] charlenopires has joined the channel [02:41] micheil: Tim_Smart: as long as it emits a single buffer, I could listen for that and mutate to a string [02:41] gkatsev: Tim_Smart: cool, thanks [02:41] micheil: jamescarr: yeah, it's like 65000 [02:41] Tim_Smart: micheil: It probably faster to keep the utf8 case as strings. [02:42] micheil: but how do you know when something is utf8? [02:42] micheil: you still are working with binary buffers [02:42] Tim_Smart: When that most significant bit is set. [02:43] Tim_Smart: So yeah, you still have to manipulate buffers. [02:43] Tim_Smart: So that won't work. [02:43] derencius_ has joined the channel [02:43] micheil: yeah, but if you have _> [08:39] chrischris has joined the channel [08:41] alystair: Script: chrome://dpace/content/utils.js:12 <- seems to be the cause [08:44] nrub has joined the channel [08:44] AAA_awright: alystair: That would be an add-on I don't seem to have that file [08:45] alystair: AAA_awright: thanks! [08:45] AAA_awright: alystair: After opening my install of Firefox, at least, I switched to Chrome because it's so noticibly faster on my Atom-powered mini notebook [08:47] nrub` has joined the channel [08:47] alystair: AAA_awright: it's just that I use firefox for my day to day development, and general browsing in chrome :) [08:47] alystair: until chrome's dev tools catch up to the ease of firebug, etc.. no dice [08:47] alystair: ACTION wishes for chromebug :> [08:47] AAA_awright: I caught on to Chrome much faster than any of the tools for Firefox [08:48] AAA_awright: Except for the raw HTTP headers, Chrome doesn't like to show you all of them for some reason, and you have to load the resource inspector [08:48] alystair: AAA_awright: as a developer chrome's nice [08:48] alystair: as a designer... not so much. [08:48] AAA_awright: For modifying the DOM and such it's about as good as the DOM inspector [08:48] AAA_awright: Though I guess that's not saying much [08:49] alystair: modifying css and minor html tweeks within chrome is a bit more painful than FF [08:50] grove has joined the channel [08:51] stephank has joined the channel [08:52] alystair: ACTION wishes js had heredocs [08:55] SUBSTACK: browser-side JS has them [08:55] alystair: SUBSTACK: really? [08:56] alystair: I mean in the non hackish way [08:57] alystair: oh wait [08:57] sideshowcoder has joined the channel [08:58] aubergine has joined the channel [08:59] alystair: ACTION never knew of the \ trick [09:05] SUBSTACK: oh that too [09:05] SUBSTACK: not what I mean though, I mean that ugly CDATA thing [09:06] JESUSABDULLAH: heredocks? [09:10] nrub`` has joined the channel [09:11] amrnt has joined the channel [09:12] path[l] has joined the channel [09:14] femtoo has joined the channel [09:18] TomY has joined the channel [09:18] svnlto has joined the channel [09:20] alystair: cdata thing looks evil, won't be touching it :) [09:20] dgathright has joined the channel [09:26] Anti-X: evil is good [09:26] Anti-X: if it's not your own problem [09:26] alystair: Anti-X: you must be a consultant [09:26] Anti-X: i thought you'd say that [09:26] Anti-X: :P [09:27] Anti-X: and yes, it was sarcasm directed at consultants [09:27] StanAngeloff has joined the channel [09:29] Anti-X: the more evil it is, the more they will require you around to fix shit [09:29] aliem has joined the channel [09:30] alystair: so, with that hypothesis, the best situation is to be a consultant that advises the development team to use... worse practices! [09:30] alystair: or know a hiring consultant that can sabotage everything [09:30] alystair: tl;dr, evil in a can [09:30] bencc has joined the channel [09:32] zomgbie has joined the channel [09:33] ctp has joined the channel [09:37] zomgbie_ has joined the channel [09:38] buu has joined the channel [09:39] fyskij has joined the channel [09:42] Tim_Smart: Hmm mikeal's request seems to follow redirects even with followRedirect set to false. [09:45] Anti-X: are you saying there's a bug?!? [09:45] Anti-X: how dare you [09:48] Ori_P has joined the channel [09:50] kkaefer: is there a benchmarking framework for node.js? [09:50] kkaefer: e.g. something that allows me to easily test a revised implementation against the current baseline? [09:54] Anti-X: i just run 'time' on the tests for each commit [09:54] Anti-X: and write it down [09:54] Anti-X: and a star next to it if the tests were changed too [09:55] Anti-X: very crude [10:00] amrnt has joined the channel [10:00] oal has joined the channel [10:04] FLYBYME has joined the channel [10:06] freeall has joined the channel [10:07] freeall: Hi. Does anyone know how I remove a local module from npm? [10:07] freeall: I installed it using npm link, and now the file has been deleted [10:08] sth: /usr/local/share/node/.npm [10:09] mbrochh has joined the channel [10:09] grove has joined the channel [10:09] mbrochh has joined the channel [10:09] sth: mm maybe not [10:09] freeall: sth, I don't have that file [10:09] sth: /usr/local/lib/node/ [10:10] themiddleman has joined the channel [10:10] omarkj has joined the channel [10:10] freeall: sth, ahh, yeah, found it. Can I just remove the folders from there? [10:10] sth: yup [10:10] sth: and /usr/local/lib/node/.npm [10:11] bencc1 has joined the channel [10:12] amrnt has joined the channel [10:13] freeall: sth, thanks :) Saved me having to copy the files back to the old location, run the uninstall command and remove the files again. [10:14] alystair: Anti-X: you mean developing node-js or an application using node-js [10:14] alystair: if the latter, could use sys.log with time stamping... [10:14] Anti-X: apps [10:14] alystair: or even create another node.js app to record all the time codes :D [10:14] stagas has joined the channel [10:15] alystair: within a test harness [10:15] Anti-X: nodeunit outputs timing [10:15] alystair: mmm [10:15] alystair: neat [10:15] Anti-X: but i'm not sure if it also includes startup time [10:15] sth: I use expresso to test [10:15] Anti-X: because it's oddly long [10:15] alystair: ACTION really needs to finish reading the docs [10:16] stagas: http://chat.stackoverflow.com/rooms/134/node-js [10:16] stagas: :P [10:18] alystair: visionmedia is a beast [10:19] Anti-X: i found a concept file i for some reason called 'shit.js', and i did 'cat shit.js' to see what it was [10:19] Anti-X: and i lol'd [10:25] xla has joined the channel [10:27] kkaefer: is there a simple example for a secure client/server socket? [10:27] kkaefer: (one that doesn't do HTTP) [10:29] xla has joined the channel [10:37] stephank: Is google groups always this slow? I sent a mail at 10 AM, it's now past 12:30 but nothing. Or is there moderation? [10:40] agnat has joined the channel [10:48] devinus has joined the channel [10:48] Anti-X has joined the channel [10:48] Anti-X: spank the monkey [10:49] Anti-X: early weekend [10:49] Anti-X: ten to one [10:51] leeeb has joined the channel [10:52] MikhX has joined the channel [10:52] fermion has joined the channel [10:55] rubyphunk has joined the channel [10:56] aheckmann has joined the channel [10:57] abstractj has joined the channel [10:59] crohr has joined the channel [11:03] Anti-X has joined the channel [11:03] Anti-X: "are you our new ruby on rails developer?" <-- i didn't know rails was for actual developers [11:03] amrnt has joined the channel [11:03] TomsB has joined the channel [11:04] MattJ has joined the channel [11:07] fbits has joined the channel [11:13] zorzar has joined the channel [11:17] chapel: how would I use this in my node app http://gist.github.com/628208 ? [11:18] Anti-X has joined the channel [11:23] hellp has joined the channel [11:24] stepheneb has joined the channel [11:26] alystair has left the channel [11:27] derencius has joined the channel [11:27] stagas: chapel: what do you mean? there are 2 examples there [11:27] chapel: well sure [11:27] chapel: but the main code [11:28] chapel: I put it in a file, did a require with proper dir [11:28] chapel: doesn't work [11:28] chapel: same with just slapping the code inline [11:30] jasondavies has joined the channel [11:31] bencc has joined the channel [11:33] stagas: it works here perfectly. did you do: var LimitingQueue = require('./limitingqueue.js') [11:34] chapel: hmm [11:34] chapel: i did var queue = require.. [11:35] chapel: would I have to then do var q = new queue(1); ? [11:35] chapel: is that what I am missing? [11:39] stagas: yes [11:40] derencius has joined the channel [11:40] herbySk has joined the channel [11:41] stagas: but it's a constructor so have the 1st char capitalized [11:42] stagas: it should work as it is, it's just better to distinguish constructors so you know they are to be called with 'new' [11:42] jetienne has joined the channel [11:43] rnewson has joined the channel [11:44] chapel: ah [11:45] herbySk74 has joined the channel [11:47] mif86 has joined the channel [11:48] Anti-X has joined the channel [11:48] eee_c has joined the channel [11:50] JimBastard has joined the channel [11:50] JimBastard: out(sprintf('%.2f %.2f %.2f %.2f re %s', x * k, (pageHeight - y) * k, w * k, -h * k, op)); [11:50] JimBastard: i mean seriously [11:50] JimBastard: can anyone guess what that does? [11:51] dtrasbo has joined the channel [11:51] bruse: not really [11:52] JimBastard: pdf.js is evil [11:52] JimBastard: k = 1, its the scale [11:52] JimBastard: lol [11:53] JimBastard: http://github.com/Marak/pdf.js/commit/e36a7d74154ef9ade02a70d130ffe2ee73a520f5 [11:55] romanb has joined the channel [11:57] chapel: self.fd = socket(self.type); [11:57] chapel: ^ [11:57] chapel: Error: EMFILE, Too many open files [11:57] dtrasbo: hi I'm trying to use node with express and socket.io [11:57] dtrasbo: in this error message: The `flashsocket` transport requires that you call io.setPath() with the path to the socket.io client dir. [11:57] JimBastard: chapel: that will happen [11:57] dtrasbo: what does "client dir" mean? [11:57] chapel: what should I do about it? [11:57] JimBastard: ulimit -a [11:57] JimBastard: tell me your "open files" value [11:57] Anti-X: JimBastard, as long as it outputs a correct pdf, why would anyone care what it does internally? :P [11:57] chapel: 256 [11:58] JimBastard: Anti-X: its all moonspeak to me, its poscript right? [11:58] chapel: I think I had that before [11:58] chapel: had to up it to 1024 or something [11:58] JimBastard: so chapel , you can increase it if you want [11:58] JimBastard: but that wont fix the root cause [11:58] JimBastard: ask yourself [11:58] JimBastard: do you really need a FD? [11:58] JimBastard: in most cases, you can mitigate the amount of open FDs through a pool or cache [11:58] chapel: well [11:58] chapel: I am using a queue thingy [11:59] JimBastard: ahh a queue thingy, of course [11:59] chapel: and I have it at 2 ops a sec [11:59] chapel: had it at 5 and it was giving an error [11:59] chapel: http://gist.github.com/628208 << that is it [11:59] Anti-X: JimBastard, sprintf is a common C function, and the %.2f are formatting codes, converting each of the parameters into floats with 2 decimals [11:59] JimBastard: you arent releasing FDs [11:59] JimBastard: reading [11:59] chapel: ah hmm, FD, not sure what you mean by that sorry [11:59] ben_alman has joined the channel [12:00] grove_ has joined the channel [12:00] JimBastard: chapel: you'll have to ask bmeck about that code [12:00] JimBastard: i have no idea what he did [12:00] chapel: well atm, I am hitting up two things, an api and my couchdb [12:01] Anti-X: fd = file descriptor [12:01] Anti-X: open returns one [12:01] Anti-X: you need to close it [12:01] JimBastard: you can do a lsof -p 14144 | wc -l on your pid [12:01] JimBastard: to keep count [12:01] JimBastard: you need to close that shit though [12:01] JimBastard: yeah [12:01] JimBastard: you prob arent closing requests [12:01] chapel: well I am using require [12:02] JimBastard: or you are spamming a bunch of connections [12:02] chapel: bah [12:02] chapel: request [12:02] chapel: thats the only thing that uses fd [12:02] chapel: or whatever [12:02] JimBastard: how many requests are you sending? [12:02] stagas has joined the channel [12:02] chapel: a lot :P [12:02] JimBastard: you need a pool [12:02] chapel: I figured the queue thing would work [12:02] JimBastard: its creating a new connection everytime i bet [12:02] chapel: I am using it for every net connection [12:03] JimBastard: all net connections go to the same place? [12:03] chapel: well [12:03] chapel: for the api, its different urls [12:03] JimBastard: same host [12:03] chapel: the db, only 2 databases I am either getting data from or writing to [12:03] chapel: yes same host [12:04] JimBastard: http://github.com/mikeal/proxypool [12:04] JimBastard: yeah thats not gonna help [12:05] JimBastard: refactor your shit [12:05] JimBastard: or increase FDs [12:05] JimBastard: queue is not gonna help either [12:05] grove has joined the channel [12:05] c4milo has joined the channel [12:05] chapel: well Ill need a queue to make sure I am not hitting the api too much, has a 300/m or 5/s limit [12:06] Anti-X: wot? [12:06] Nohryb has joined the channel [12:06] chapel: 300 requests [12:06] chapel: a minute [12:06] chapel: or 5 a second [12:06] chapel: before they throttle you until the next minute [12:06] chapel: or eventually ban your api key [12:07] Anti-X: ah externally [12:07] Anti-X: get it [12:07] Anti-X: i thought you were limiting your own users [12:07] chapel: naw [12:07] mjr_ has joined the channel [12:07] chapel: so for proxypool, any docs on it? [12:08] chapel: does it just keep an open connection and you send your requests through it [12:10] shimondoodkin has joined the channel [12:11] herbySk has joined the channel [12:12] Anti-X: http://thedailywtf.com/Articles/ArticleTypeCodeSOD.aspx [12:12] Anti-X: enterprise code [12:13] bencc1 has joined the channel [12:14] JimBastard: chapel: you don tneed that [12:14] chapel: ok [12:14] JimBastard: just open one connection and reuse it [12:14] chapel: not sure how to do that with request, or am I going to have to go barebones? [12:14] JimBastard: http.Client [12:15] chapel: okay, so I guess Im going barebones, I will play with it [12:15] chapel: I dont mind going to core, its great to learn [12:15] chapel: appreciate the help [12:16] eee_c has joined the channel [12:17] shimondoodkin: anybody know npm well and can talk about it? [12:19] ph^ has joined the channel [12:20] shimondoodkin: is there someone here who knows npm well and can talk about it? [12:21] Anti-X: depends what you wanna know [12:22] shimondoodkin: is there a way to do a configuration or system configuration managment script? [12:22] dtrasbo: imaginary beer to anyone who can help me with some socket.io for a min [12:22] shimondoodkin: like npm configure myextention [12:22] dtrasbo: nothing special - just need to get it set up properly [12:22] Anti-X: shimondoodkin, you can run a preinstall script when someone installs your module [12:22] shimondoodkin: no not preinstall [12:22] shimondoodkin: like postinstall global use [12:23] shimondoodkin: i have this http://github.com/shimondoodkin/nodejs-autorestart [12:23] shimondoodkin: i want to make it work with npm [12:23] shimondoodkin: and express [12:23] shimondoodkin: simply [12:25] dtrasbo: with this: https://gist.github.com/09d570b5d613d9f83bbc [12:25] dtrasbo: shouldn't the client side js be served by a request to http://llocalhost:3000/socket.io/socket.io.js ? [12:25] Anti-X: shimondoodkin well look at the package.json for npm itself and you can see how the cli command 'npm' is initialized [12:25] abstractj has joined the channel [12:25] MattDiPasquale has joined the channel [12:26] stagas: shimondoodkin: you can use 'bin' to make a script accessible [12:26] Anti-X: you define a 'bin' in your package [12:26] Anti-X: blah [12:26] stagas: shimondoodkin: take a look http://github.com/stagas/node-polla/blob/master/package.json [12:27] Anti-X: dtrasbo, you're not giving the client anything [12:27] stagas: shimondoodkin: then put #!/usr/bin/env node at the top of your script if it's a node script or it can be anything executable [12:27] Anti-X: you're just outputting to console [12:27] shimondoodkin: what it does? [12:28] shimondoodkin: the bin cconfig [12:28] dtrasbo: Anti-X: yeah, I'm just trying to get it working [12:28] cyraxx: is one of the guys from debuggable here? [12:28] dtrasbo: Anti-X: the docs says that socket.io should serve the client side js itself [12:28] Anti-X: yeah you put it in a script tag [12:29] Anti-X: