[00:00] rauchg_: so if they're not garbage collected memory usage will go up tremendously [00:00] saikat: hm, good point [00:00] saikat: thanks for the pointers, i will make sure not to garbage collect them =) [00:01] rauchg_: sure to* [00:01] saikat: no, don't want to trash the pointers you are giving me =) [00:01] rauchg_: oh wow [00:01] rauchg_: meta [00:01] rauchg_: haha [00:01] devinus_ has joined the channel [00:01] rauchg_: you got me :P [00:02] saikat: hah, no, just an awful pun [00:02] saikat: you would have been better off not knowing about it [00:02] joshbuddy has joined the channel [00:02] joshbuddy has joined the channel [00:05] eazyigz has joined the channel [00:08] HAITI: rauchg_: http://www.ibm.com/developerworks/web/library/wa-memleak/ is this still relevant? [00:09] rauchg_: HAITI: [00:09] rauchg_: if it's the article i'm thinking of [00:09] rauchg_: it was mostly IE/DOM memory leaks [00:10] rauchg_: basically the leaks you can have in node code, unless it's some massive v8 fail, are those natural to any language with automatic garbage collection [00:10] rauchg_: so you just have to be careful [00:10] HAITI: You mentioned watching out for references that cant be gc'ed... [00:11] indexzero_: we are dealing with a mem leak atm in http-proxy, kinda annonying [00:11] JimBastard: only happens on super high usage [00:11] saikat has joined the channel [00:12] HAITI: ibm article not relevant [00:12] HAITI: obv [00:14] joshdulac: hey JimBastard [00:14] jesusabdullah: joshdulac: I don't have a node server. Not sure who you had in mind, but it probably wasn't me. [00:14] jesusabdullah: Maybe you meant JimBastard? [00:15] JimBastard: sup joshdulac [00:15] joshdulac: jesusabdullah: I didn't know if you did or not, was just asking =) [00:15] jesusabdullah: heh [00:15] joshdulac: JimBastard: what do you use for benchmarking? [00:15] edw````` has joined the channel [00:15] JimBastard: joshdulac: benchmarking http? [00:15] joshdulac: correct [00:16] JimBastard: joshdulac: we have been using ab, but no one on the team is happy with it [00:16] JimBastard: we've been discussing better options for a while [00:16] JimBastard: tsung, or something custom in node [00:16] joshdulac: hmm, what problems do you run into with AB? [00:16] webr3: ACTION wondered the same.. [00:17] nofxx: How to run something? sh [00:17] JimBastard: joshdulac: just a bunch of minor issues, mostly revolving around not getting enough data [00:17] JimBastard: ab hangs with mismatched headers, just a random thing [00:18] JimBastard: plus, we need to do testing across the wire to multiple machines, ab isnt really designed for that [00:18] joshdulac: hmm interesting [00:18] joshdulac: it probably would be useful to just custom code one then =/ [00:18] JimBastard: prob yeah, ive seen a couple of starts in node i think [00:18] tjholowaychuk: and ab considers the first response body length as what to expect for the rest [00:18] tjholowaychuk: and will consider anything else a failure [00:19] tjholowaychuk: supes lame [00:19] clintandrewhall has joined the channel [00:19] JimBastard: tjholowaychuk: you know any good node tools for replacing ab? [00:19] JimBastard: i'd like to see tsung type functionality + more in node [00:19] tjholowaychuk: siege is a bit better [00:19] JimBastard: link? [00:19] joshdulac: http://freshmeat.net/projects/siege/ [00:20] JimBastard: thanks joshdulac [00:20] tjholowaychuk: siege is kinda nice because you can simulate "real" traffic [00:20] JimBastard: yeah, we are at a point now where real world testing isnt 1:1 with local testing [00:20] JimBastard: which isnt good at all [00:20] gthb has joined the channel [00:22] joshdulac: gthb == github? [00:23] kaichen has joined the channel [00:23] nofxx: Ah, child processes... was looking the wrong place. (how to exec some sh) [00:24] clintandrewhall_ has joined the channel [00:29] clintandrewhall_ has joined the channel [00:30] ryah: ryan@mac1234:~/projects/node% ./node benchmark/startup.js [00:30] ryah: Started node 100 times in 4390 ms. 43.9 ms / start. [00:30] ryah: :~~~ [00:31] ooooPsss: next java :p [00:32] ooooPsss: ryah: how does it compare to others? [00:38] ryah: ooooPsss: other languages? [00:38] ryah: i dont know [00:38] ooooPsss: yes [00:38] ooooPsss: ok [00:39] c4milo has joined the channel [00:43] wakawaka: any suggestions on what to build? anyone want to hack something in the next few hours? [00:43] saikat has joined the channel [00:43] ooooPsss: propose something [00:43] mirko_ has joined the channel [00:46] overra_ has joined the channel [00:47] wakawaka: well id like to do something with socket.io or node-websocket-server [00:48] wakawaka: collaborative drawing has been done, could it be done different or better? [00:48] bpadalino: make collaborative IRC [00:48] saikat: what do you mean by collaborative drawing has been done? [00:48] SubStack: you could try dnode too [00:48] bpadalino: so everyone who types gets to type whatever letter [00:48] SubStack: for more structured message passing [00:49] wakawaka: oh thanks SubStack, I haven't heard of dnode before, I'll look into it [00:49] SubStack: ACTION wrote it [00:49] noahcampbell_ has joined the channel [00:49] wakawaka: saikat: i just mean it seems like there are a lot of node demos centered on collaborative drawing [00:49] saikat: ah [00:50] wakawaka: bpadalino: i like collab irc [00:50] SubStack: wakawaka: you could do collaborative web pages generally [00:50] saikat: yeah i made one a long time ago, but it's not at all complete are awesome [00:50] saikat: and i haven't really seen one that's that great [00:50] joshbuddy has joined the channel [00:50] saikat: complete or awesome* [00:50] Esteth has joined the channel [00:50] SubStack: given a web page, allow multiple cursors and text input [00:51] wakawaka: SubStack: how so? collaborative building of web pages? or viewing with the possibility of adding notes, highlighting, etc? [00:51] streampunk has joined the channel [00:51] wakawaka: ah ok [00:51] HAITI: dnode looks cool [00:51] SubStack: that'd be useful for collaboratively filling out forms, for instance [00:51] clintandrewhall_ has joined the channel [00:51] rauchg_: i'm featuring dnode in the upcoming socket.io homepage [00:51] SubStack: :D [00:51] wakawaka: SubStack: i like it, good idea, thanks [00:52] SubStack: I should write some proper docs here eventually too [00:52] rauchg_: http://cl.ly/2KHy [00:52] SubStack: and especially once I get dnode/events stabilized [00:52] saikat: rauchg_: looks nice [00:52] rauchg_: thanks saikat [00:52] SubStack: which lets you do pub/sub with event emitters [00:52] wakawaka: rauchg_: fancy [00:52] rauchg_: i'm also listing socket.io-logger and drawtogether [00:53] SubStack: rauchg_: and soonish you'll be able to npm install stackvm too ^_^ [00:54] rauchg_: can't wait [00:54] rauchg_: seriously. [00:54] tmpvar has joined the channel [00:54] SubStack: I have the package.json in my overhaul branch already [00:54] SubStack: just need to finish up the list of stuff before I merge into master [00:54] codysoyland_ has joined the channel [00:55] saikat: rauchg_: are you still working on the OT framework you mentioned about a while ago/ [00:55] rauchg_: yep, slowly but consistently [00:55] rauchg_: but it's actually two projects that's why im taking slightly longer [00:55] saikat: cool - yeah i'm curious to see how you end up doing it [00:56] rauchg_: will be able to make some major progress in the next 2 weeks [00:56] saikat: i've mostly implemented one as well, though for JSON-based docs (so wouldn't work for real-time text collab) [00:56] saikat: but i remember you saying [00:56] rauchg_: i see [00:56] saikat: you were doing it in a way that doesn't introduce the roundtrip lag [00:56] rauchg_: i have a small project in the works to update json in realtime too [00:56] devinus_ has joined the channel [00:56] rauchg_: we should share notes [00:56] Alystair has joined the channel [00:56] rauchg_: are you coming to the meetup tomorrow ? [00:57] saikat: planning to [00:57] rauchg_: awesome [00:57] saikat: though as usual, woefully behind on everything =) [00:57] rauchg_: ryah will be here though, that should be a huge motivation [00:57] rauchg_: :) [00:59] rauchg_: SubStack: are you guys in the bay area ? [00:59] Alystair: rauchg_: long time no talk [00:59] SubStack: rauchg_: not yet [00:59] SubStack: I'll be down there in a month or so [01:00] rauchg_: Alystair: :O long as in years man [01:00] rauchg_: haha [01:01] mirko_: hi there, new in this room and topic as well. where are you guys meeting? [01:01] mirko_: based in the bay area ... [01:02] rauchg_: mirko_: SoMa, Pier 38 [01:02] mirko_: cool any meetup page? [01:02] rauchg_: http://www.facebook.com/event.php?eid=140872035954921 [01:03] mirko_: great, thanks! [01:05] SubStack: wish I was in SF already :( [01:05] SubStack: free pizza and drinks [01:05] rauchg_: yep [01:05] rauchg_: so many free drinks [01:05] zapnap has joined the channel [01:07] bpadalino: all the water you can handle, and more! [01:07] Yuffster has joined the channel [01:09] jakehow has joined the channel [01:12] Anti-X: they'll drown you, for free! [01:12] mischief has joined the channel [01:14] ChrisPartridge: for free? bargain! [01:16] Yuffster has joined the channel [01:16] bradleyprice has joined the channel [01:16] bradleyprice has left the channel [01:18] jherdman has joined the channel [01:18] hayeah has joined the channel [01:19] hayeah has joined the channel [01:22] jacoblyles has joined the channel [01:27] JimBastard: hrmm, prenup is slowly coming along http://prenup.nodejitsu.com/ [01:27] JimBastard: kyuri can generate step definitions now [01:27] saikat: rauchg_: do you still manage to get your socket.io-client down to 5k after closure compiler and gzip? [01:27] saikat: i get mine to 12k with gzip -9 [01:28] saikat: (also, closure-compiler throws a few warnings) [01:28] rauchg_: saikat: [01:28] rauchg_: the 5kb statement is not entirely true [01:28] rauchg_: the thing is, i initially injected flash dynamically [01:28] rauchg_: but web-socket-js failed for me in Safari with the dynamic injection [01:29] saikat: ah ok, interesting [01:29] saikat: i remember web-socket-js failing for me in safari a while back too [01:29] rauchg_: without swfobject, fabrdige and web-socket-js [01:29] rauchg_: it's 5kb [01:29] saikat: and i assumed it was my fault and didn't try much harder [01:29] saikat: makes sense [01:29] rauchg_: http://github.com/LearnBoost/Socket.IO/issues#issue/3 [01:29] rauchg_: it actually was a really neat implementation [01:29] rauchg_: it'd buffer everything [01:29] rauchg_: until flash was injected [01:29] rauchg_: and loaded [01:30] rauchg_: i heard from V1 [01:30] saikat: thing is, do we still care about web-socket-js in safari? [01:30] rauchg_: that it might have been labjs [01:30] saikat: i guess safari 4 is still out there [01:30] atourino has joined the channel [01:30] ooooPsss: how can I get a nodejitsu account? ;) [01:30] kaichen has joined the channel [01:30] rauchg_: so before i update that number im gonna give a show to another form of injection [01:30] rauchg_: shot* [01:33] nofxx has joined the channel [01:34] jetienne has joined the channel [01:38] hober has joined the channel [01:41] bpot has joined the channel [01:41] Anti-X: ooooPsss, you need to sacrifice a child to the almighty nodezuma [01:42] ooooPsss: done! [01:42] ooooPsss: ;) [01:42] saikat: rauchg_: one other question - do you actually have a way to use apache bench with a socket.io server? i had assumed that to do something like apache bench with socket.io messages, i'd just need to write my own script [01:43] saikat: but you mentioned that you often use apache bench to check your memory on your modules [01:44] mikew3c has joined the channel [01:44] jamescarr_ has joined the channel [01:46] rauchg_: saikat: [01:47] rauchg_: so, a good way to test would be [01:47] rauchg_: open xhr polling connections with ab [01:47] rauchg_: make the server respond right away [01:47] rauchg_: but have a high closeTimeout [01:47] rauchg_: so that it expects a new connection [01:47] rauchg_: before discarding the client [01:47] rauchg_: of course ab is not gonna make a new connection with the same session id [01:47] rauchg_: but that'll produce the illusion of "concurrency" [01:47] saikat: i see [01:47] saikat: thanks [01:48] Alex-SF has joined the channel [01:48] rauchg_: i'm gonna work on benchmarks for 0.7 or 0.8 [01:48] rauchg_: both client and server side [01:49] SubStack: hmmm I can't find something like Getopt::Casual on cpan for node.js [01:49] rauchg_: SubStack: switch + .shift [01:49] CIA-77: node: 03Ryan Dahl 07master * r3a95703 10/ (lib/fs.js test/simple/test-fs-realpath.js): Fix fs.realpathSync('/') - http://bit.ly/bNHa5p [01:50] SubStack: rauchg_: I like just having a hash [01:50] rauchg_: i see [01:51] SubStack: ./foo --opt1=4 --opt2=meow and then someargs.opt1 == '4', someargs.opt2 == 'meow' [01:52] SubStack: all the opt parsers on the modules page do it the getopt way [01:53] mikew3c: v8bot: new Date.("2010-09-07T00:00:00.9Z") [01:53] dnolen_ has joined the channel [01:53] rauchg_: v8bot: process.exit(1); [01:54] bronson has joined the channel [01:56] stephenjudkins has joined the channel [02:06] mtodd has joined the channel [02:07] tapwater has joined the channel [02:13] saikat: did the buffer API change since 0.2? [02:13] saikat: seems like no more .utf8Write, etc. [02:16] tapwater has joined the channel [02:17] tapwater has left the channel [02:17] tapwater has joined the channel [02:17] devinus_ has joined the channel [02:21] tmpvar has joined the channel [02:22] klugefoo_ has joined the channel [02:22] klugefoo_: I'm trying to install npm on freebsd but get an error -- is node version 0.1.99 too old for npm? [02:25] ryah: saikat: yes [02:25] ryah: saikat: but that change isn't going in 0.2.1 [02:26] saikat: ah ok [02:26] saikat: yeah, it would break a few libraries [02:26] ryah: v0.2 is the stable branch on github [02:26] saikat: yeah i just switched back to it, thanks [02:27] devinus_: man i still don't like the idea of having Buffer being a global :( [02:27] devinus_: but i guess it's there for good now [02:27] ryan[WIN]: i miss sys.puts() [02:28] devinus_: wtf happened to sys.puts? [02:28] SubStack: console.log it [02:28] ryan[WIN]: antiquated [02:28] devinus_: *what* [02:28] devinus_: :( [02:28] SubStack: I wish inspect was in console [02:28] ryah: SubStack: it is... [02:28] ryan[WIN]: sys.puts(sys.inspect(lolimdebuggin)); [02:28] SubStack: what [02:28] ryan[WIN]: that is how i roll [02:28] devinus_: sys.puts > console.log. i thought we were doing that shit just to appease a few people who wanted it [02:29] ryah: SubStack: console.dir() [02:29] SubStack: but console.log adds a newline [02:29] SubStack: I like to do console.log('somevar = ' + sys.inspect(somevar)) [02:30] devinus_: having console.log and Buffer being a global just seems like two things that don't make sense when looked at together [02:30] mirko_ has joined the channel [02:31] elijah-mbp has joined the channel [02:31] SubStack: suppose I could start doing console.dir({ somevar : somevar }) [02:31] SubStack: it's nice to annotate stdout spam a little [02:32] devinus_: i wonder why inspect doesnt print out evalable code [02:33] devinus_: having Function, Object, Array et all print out [Function] is weird [02:33] quirkey has joined the channel [02:33] SubStack: I guess I could just do JSON.stringify too for some data structures [02:36] jamescarr has joined the channel [02:36] codelotus has joined the channel [02:39] codelotus has joined the channel [02:43] herbySk: I can't define accessor property on an array index ;-( [02:43] gerad has joined the channel [02:46] polyrhythmic has joined the channel [02:48] jakehow has joined the channel [02:49] ehaas has joined the channel [02:51] andrehjr has joined the channel [02:52] devinus_ has joined the channel [02:55] quirkey_ has joined the channel [02:57] saikat: is anyone else using egorich's node-compress library? [03:00] jesusabdullah: Never heard of it, but I'm curious! [03:00] saikat: actually it seems like it's used in Connect [03:00] bradleymeck has joined the channel [03:00] saikat: interesting [03:00] saikat: I'm pretty sure the streaming API has a memory leak [03:00] bradleymeck: i return! [03:00] bradleymeck: which stream type we talking about? [03:00] saikat: i wonder if that means Connect's gzip middleware has a memory leak too [03:00] saikat: node-compress's GzipStream [03:03] Me1000 has joined the channel [03:04] bradleymeck: saikat cursory glance makes me believe the leak isnt from there, he is using ObjectWrap which is pretty heavily tested [03:04] saikat: hm [03:04] saikat: yeah i'm about to write a few tests around it [03:04] saikat: i have everything else in my code commented out [03:04] saikat: by he do you mean [03:04] saikat: waveto's version [03:04] saikat: or egorich's version? [03:05] saikat: the waveto one i know doesn't have a leak since i fixed that one a few months ago [03:05] saikat: but it also hasn't been updated in a while and doesn't have the streaming api afaik [03:05] paulwe has joined the channel [03:07] saikat: er, bradleymeck ^ [03:07] saikat: i actually don't see a call to ObjectWrap in egorich's node-compress [03:08] Astro: pls fix node-compress [03:08] saikat: are you having issues with it too? [03:08] bradleymeck: waveto's [03:08] saikat: yeah [03:08] saikat: that one is solid [03:08] saikat: and i have tests around it to make sure it doesn't leak [03:08] saikat: though he didn't accept my patch for them =) [03:08] bradleymeck: i can take a look into egorich's [03:09] saikat: i think he stopped maintaining it though [03:14] mattikus has joined the channel [03:14] bradleymeck: mmmm, he is using objectwrap, but something seems off [03:15] saikat: wait, when you say objectwrap then [03:15] saikat: you don't mean an actual call to something called objectwrap? [03:15] saikat: oh nevermind [03:15] saikat: i was looking in the wrong place [03:16] saikat: well the leak happens when i make actual calls to write [03:16] saikat: which does not use objectwrap, or am i misunderstanding [03:16] ehaas has joined the channel [03:16] bradleymeck: yea, im looking and i think his utils.h is leaking [03:16] MikhX_ has joined the channel [03:17] bradleymeck: cant tell where but all of that memory management code done manually... [03:17] saikat: ah i see [03:29] baennaeck has joined the channel [03:33] JimBastard has joined the channel [03:33] JimBastard: hey x_or you around? [03:34] JimBastard: we just pushed a new version of the proxy that should be a bit faster and also work with connect using the old api, http://github.com/nodejitsu/node-http-proxy/tree/v0.3.0 [03:36] jacoblyles has joined the channel [03:37] temp01 has joined the channel [03:38] jesusabdullah: JimBastard: Did you get my pull request for asciimo? It was a long-ass time ago, but I just realized I never followed up [03:39] JimBastard: jesusabdullah: yes i did, kinda forgot. ill merge that after nachos [03:39] JimBastard: :-) [03:40] jesusabdullah: Oh, awesome [03:40] jesusabdullah: Can't go wrong with nachos [03:40] jamescarr: hahahaha [03:40] bradleymeck: ugg, got pixel buffers to what should be working, but the displayed image doesnt represent the c++ ptr's values... [03:40] jesusabdullah: If you do, they're no longer nachos! [03:41] jamescarr: "We're going to be the 37 Signals... of Erlang" [03:41] SubStack: ah yes, the "no true nachos" fallacy [03:41] jamescarr: Erlang on Eels [03:42] marshall_law has joined the channel [03:46] tav_ has joined the channel [03:50] matschaffer has joined the channel [03:52] benburkert has joined the channel [03:52] quirkey_ has joined the channel [03:52] bradleymeck: i vote nay to having functions defer events to emitters [03:52] bradleymeck: defer errors* [03:56] bradleymeck has left the channel [03:59] FuzzYspo0N has joined the channel [04:00] Viriix has joined the channel [04:06] saikat has joined the channel [04:07] danielqo has joined the channel [04:13] dgathright has joined the channel [04:16] atmos has joined the channel [04:16] ryah: 37signal of erlang? [04:16] ryah: what does that mean... [04:17] dgathright has joined the channel [04:20] dgathright has joined the channel [04:21] mu-hannibal has joined the channel [04:21] ryah:  [04:22] FuzzYspo0N: hmm? [04:22] FuzzYspo0N: the company uses erlang [04:24] crodas has joined the channel [04:25] mattikus: 37 Signals developed ruby on rails [04:25] jamescarr: just something silly I heard from someone :) [04:26] ryah: oh - mochi? [04:27] jamescarr: yeah [04:30] jamescarr: ryah, I'm actually using the amqp plugin at work for a node.js based web tool to manage test data easily [04:30] ryah: jamescarr: cool :) [04:30] ryah: is it pblic? [04:30] jamescarr: no :( [04:31] jamescarr: it's just a tool I use to save me time with a lot of complex soap services [04:32] dohtem has joined the channel [04:32] quirkey_ has joined the channel [04:33] jamescarr: it's more or less of one of those tools to kind of get it in the door and show off how it can be of value :) [04:34] JimBastard has joined the channel [04:34] konobi: ryah: howdy [04:35] JimBastard: hey jesusabdullah , do you know how to make a script that will like, install the node-asciimo into the system? [04:35] jamescarr: has anyone seen anything come of this yet? http://ajaxian.com/archives/aves-game-engine [04:35] JimBastard: i havent [04:35] JimBastard: im sure it powers some game somewhere [04:37] ryah: konobi: yo [04:39] mtodd has joined the channel [04:39] ryah: JimBastard: i hope so - it looks awesome [04:41] jesusabdullah: JimBastard: Maybe? I was actually playing with waf not too long ago [04:41] jesusabdullah: Used it to write a latex compile script [04:41] JimBastard: jesusabdullah: cant you just do it with a sh script? [04:41] jesusabdullah: Messy as all Hell though :( [04:42] jesusabdullah: Yeah, probably, but node-waf gives you the familiar waf install kinda thing [04:42] JimBastard: jesusabdullah: npm does it! [04:42] JimBastard: http://github.com/cloudhead/vows/blob/master/package.json#L10 [04:42] jesusabdullah: orly? [04:42] JimBastard: i think.. [04:42] jesusabdullah: Quite possibly [04:42] JimBastard: how else would vows work? [04:42] jesusabdullah: Good point! [04:42] jesusabdullah: Yeah, npm must! [04:42] JimBastard: ill see what i can do [04:43] JimBastard: gonna rename from node-asciimo to asciimo [04:43] jesusabdullah: Is asciimo on npm? [04:43] jesusabdullah: (as node-asciimo?) [04:43] JimBastard: yeah [04:43] jesusabdullah: Ah, so it is! [04:43] jesusabdullah: Coolio [04:44] jesusabdullah: oh right, I named the executable "node-asciimo," huh? [04:45] jamescarr: actually I think that is in use... [04:45] jesusabdullah: Man, I really *should* add my bot to npm [04:46] jesusabdullah: ...after I add twitter functionality to it. Yeah. [04:46] jamescarr: you know what would be cool? Syndicate redone as an online web based game using Aves [04:46] crodas has joined the channel [04:48] jamescarr: "We are also currently handpicking a few studios who are going to be beta licensees in the beginning of 2011. " [04:49] jamescarr: that's some pretty wicked stuff [04:49] jamescarr: http://www.dextrose.com/en/projects/aves-engine [04:50] path[l] has joined the channel [04:52] ryancnelson has joined the channel [04:52] JimBastard: jesusabdullah: trying to publish to npm now [04:52] sstephenson has joined the channel [04:52] JimBastard: jesusabdullah: you wanna try, sudo npm install asciimo [04:52] JimBastard: asciimo "roffle" CyberMedium [04:52] ryancnelson: #join illumos [04:52] JimBastard: asciimo "roffle" Cybermedium [04:52] JimBastard: err [04:53] ryancnelson: dammit [04:53] jesusabdullah: JimBastard: Ran out of room on my netbook [04:53] JimBastard: lolwut [04:53] jesusabdullah: Actually... [04:54] jesusabdullah: My netbook has a really small amount of space and my other computer's at the university [04:54] jesusabdullah: because it's actually my work computer [04:54] jesusabdullah: BUT I have a shell with a half-assed node install [04:55] JimBastard: ahahaha got ya [04:55] JimBastard: well, it should work [04:55] JimBastard: :-) [04:55] JimBastard: thanks for the patch [04:55] crodas has joined the channel [04:55] jesusabdullah: Holy shit JimBastard it works! [04:55] jesusabdullah: WIN [04:55] JimBastard: lol [04:55] jesusabdullah: That's awesome! [04:55] JimBastard: so jesusabdullah i think the next thing is to color up the binary output a bit [04:55] jesusabdullah: ^5 [04:56] jacoblyles has joined the channel [04:56] jesusabdullah: binary output? [04:56] JimBastard: and maybe giving it some default fonts [04:56] jesusabdullah: Hmm [04:56] jesusabdullah: *chinrub* [04:56] JimBastard: just the text output from running the asciimo command [04:56] JimBastard: make it colored and stuff [04:56] jesusabdullah: Ah [04:56] JimBastard: paperclippy [04:56] jesusabdullah: Yeah, that'd be sweet [04:56] JimBastard: colors is a depend [04:56] JimBastard: so .yellow should work [04:57] JimBastard: http://github.com/marak/colors.js/ [04:57] jesusabdullah: Hmm! [04:57] jesusabdullah: Maybe I'll mess with tomorrow [04:57] jesusabdullah: I don't have any classes tomorrow [04:58] jesusabdullah: and while I feel like I should be doing "real work", I'm out of homework, I don't have any TA stuff yet, and my sims are going to be running for a while yet [04:58] jesusabdullah: So yeah [04:58] jesusabdullah: Should have time for lots of javascriptery [04:59] sstephenson has joined the channel [05:02] AAA_awright: Is there some way to restart node? I think you might use execv in a C program [05:08] ajpiano has joined the channel [05:11] dohtem has joined the channel [05:11] dohtem has joined the channel [05:12] googol has joined the channel [05:13] JimBastard: can npm install and build node? [05:14] jesusabdullah: Naw [05:14] jesusabdullah: Depends on node [05:18] SubStack: makin some tests [05:18] SubStack: writing my option parser instead of doing real work [05:18] jesusabdullah: Awesome [05:20] aaronblohowiak has joined the channel [05:20] aaronblohowiak: process has no stderr? [05:20] LionMadeOfLions has joined the channel [05:21] jesusabdullah: I noticed that too [05:21] jesusabdullah: :( [05:22] aaronblohowiak: grrr [05:22] SubStack: console.error [05:22] aaronblohowiak: SubStack: weird [05:23] jesusabdullah: wat [05:23] jesusabdullah: Inconsistent with child_process :( [05:23] aaronblohowiak: SubStack: console.error is not a writeable stream [05:24] aaronblohowiak: sys.pump(child.stderr, console.error) [05:24] jesusabdullah: sys.pump? Does what I'd expect through context? [05:25] Aria: Pulls from one, pushes to the other, yes. [05:25] ryah: jesusabdullah, aaronblohowiak: isaacs has a patch for that [05:25] aaronblohowiak: jesusabdullah: yes, but it also listens to try and pause() / drain [05:25] Aria: Or more, it sets up the machinery so that that happens as events come in [05:25] ryah: i've just been procrastinating merging it [05:25] aaronblohowiak: ryah: what can i bring you as a bribe tomorrow =) [05:26] jesusabdullah: Ah--neato [05:26] ryah: i want to do 0.2.1 first [05:27] ryah: got to merge the new website too. gr.. [05:27] ryah: so much to do :) [05:27] aaronblohowiak: ryah: can you delegate ? [05:28] ryah: it's pleasurable for me to do [05:29] jesusabdullah: That's a 'gr..' of joy [05:29] jesusabdullah: obviously [05:29] aaronblohowiak: :) [05:30] clintandrewhall has joined the channel [05:31] clintandrewhall has left the channel [05:32] dipser has joined the channel [05:33] jesusabdullah: JimBastard: Where did the cli tool go in your github repo? I was looking to see how you ended up arranging things, and I don't see a bin folder [05:33] jesusabdullah: JimBastard: Did you forget to git add it? [05:34] indexzero: jesusabdullah: which GitHub repo? [05:34] indexzero: kyuri? [05:34] aaronblohowiak: if you use watchFile with three arguments, the callback does not seem to be passed the fstats [05:35] aaronblohowiak: wait, i'm an idiot, apparently [05:35] JimBastard: jesusabdullah: hrmmm [05:36] benburkert has joined the channel [05:37] Utkarsh has joined the channel [05:37] jesusabdullah: indexzero: asciimo :E [05:38] JimBastard: should be pushing new version [05:38] indexzero: jesusabdullah: Ahhh ... well the cli for Kyuri will be ready soon, the 0.2.0 branch is coming along [05:38] JimBastard: bin should be up now [05:38] JimBastard: jesusabdullah: should be working? [05:39] JimBastard: i guess npm didn't care the folder wasnt in git? [05:39] JimBastard: dunno [05:40] jesusabdullah: Yeah, weird huh? [05:42] MikhX has joined the channel [05:45] AAA_awright: Why isn't sendfile documented? [05:46] stephenjudkins has joined the channel [05:47] saikat: does V8 have weak references? [05:47] zhongf has joined the channel [05:47] saikat: and are they exposed to my JS code in some way? looking briefly at the V8 source it seems like there are weak refs? [05:47] saikat: or at least, in http://github.com/ry/node/blob/master/deps/v8/include/v8.h [05:48] bpot has joined the channel [05:57] aho has joined the channel [05:58] pquerna: AAA_awright: interface considered unstable; right now there are some tricks to using it if you have existing writes() on a socket. [05:58] pquerna: saikat: afaik weak references are only exposed to c++ objects; I don't believe v8 provides any interace to it in js land (happy if i was wrong) [05:59] saikat: pquerna: yeah you are right, i just asked in #chromium [05:59] saikat: too bad [05:59] ryah: saikat: would be cool to have that in js [06:00] ryah: ACTION is making a http.get() method :) [06:00] ryah: i bet people will like it [06:01] pquerna: AAA_awright: http://github.com/Tim-Smart/biggie-router/blob/master/lib/biggie-router/modules/sendfile.js [06:01] pquerna: AAA_awright: is an example, notice the _send() magic [06:03] amerine has joined the channel [06:03] jimmybaker has joined the channel [06:04] overra_: anyone happen to know why i get this error for anything i try to install via npm: Error: No 'name' field found in package.json [06:04] SubStack: ACTION is writing an amusing readme [06:05] zomgbie has joined the channel [06:05] V1 has joined the channel [06:10] nolan_d has joined the channel [06:11] SamuraiJack has joined the channel [06:11] joshbuddy has joined the channel [06:11] ryah: felixge came up with a bunch of good ideas for http calls :) [06:13] aaronblohowiak: child_process.exec("kill", ["-9", "34314"] ...) ends with a failure. maybe i don't understand bash, but how do i do "kill -9 34134" [06:14] ryah: does it exist? :) [06:15] AAA_awright: Isn't the first item of the list the name of the process? [06:15] AAA_awright: Or rather, how you called it on the command line [06:15] aaronblohowiak: ryah: yea, it is a syntax error, not a process not found [06:15] AAA_awright: child_process.exec("/bin/kill", ["kill", "-9", "34314"], ...); [06:15] AAA_awright: idk if Nodejs implements it differently [06:16] AAA_awright: Obviously it appears to fork the process before running exec... or does it? [06:16] dannycoates has joined the channel [06:16] aaronblohowiak: AAA_awright: oh, weird. the docs look like you can just pass a whole command string to exec, without having to split up its args [06:17] AAA_awright: That's dangerous :/ [06:17] hassox has joined the channel [06:18] zhongf has joined the channel [06:18] aaronblohowiak: AAA_awright: so it looks like spawn does the right thing, i thought they had the same interface [06:18] AAA_awright: aaronblohowiak: Yeah you are thinking of spawn() [06:18] AAA_awright: Yeah [06:18] aaronblohowiak: maybe i should go to bed =) [06:18] ryah: it should look in the path... [06:18] dnolen_ has joined the channel [06:18] ryah: aaronblohowiak: is /bin in your path? [06:18] ryah: echo $PATH [06:19] aaronblohowiak: ryah: yea, it was me trying to use spawn()'s interface with exec(). whoops. [06:19] ryah: oh right [06:20] aaronblohowiak: ryah: why are they different? [06:21] ryah: one goes through 'sh' the other uses exec [06:21] ryah: uh, the posix function [06:22] aaronblohowiak: :-) makes sense! thanks. [06:26] Nohryb has joined the channel [06:27] sveimac has joined the channel [06:28] dgathright: Awww... what happened to _announcer? Did it get sent to the graveyard? [06:28] pquerna: ryah: http://github.com/pquerna/node/commit/bb4391571723e2d28b24d3ffffc7200bf53c30a9 [06:29] jesusabdullah: _announcer is still there [06:29] jesusabdullah: Huh! not working it seems [06:31] JimBastard: maushu! [06:32] overra_: grr npm :( I can even see the 'name' in the package.json [06:32] JimBastard: overra_: ? [06:32] mies has joined the channel [06:32] JimBastard: you trying to publish? [06:32] overra_: no, anything i try to install gives me Error: No 'name' field found in package.json [06:32] JimBastard: are you up to date? [06:32] JimBastard: sudo npm install npm [06:32] JimBastard: it gets updated a lot [06:33] overra_: 0.1.27-12 [06:33] JimBastard: try sudo npm install npm [06:33] ryah: pquerna: cool [06:33] overra_: same :\ [06:33] pquerna: ryah: btw, is there going to be a 0.2.1 'soon' or punting for more fast-buffer-crazyness? [06:34] ryah: pquerna: 0.2.1 tomorrow [06:34] ryah: but it won't have fast-buffer [06:34] JimBastard: i dunno overra_ , it should just work [06:34] JimBastard: try reinstalling [06:34] JimBastard: what package you trying to install? [06:34] overra_: tried that [06:34] overra_: less, express [06:34] overra_: neither worked [06:35] JimBastard: fail [06:35] JimBastard: try npm install asciimo [06:35] JimBastard: i just tested that a hour ago or so [06:35] pquerna: sorry been out of it; been locked in a room with jmx and lua. [06:35] zhongf_ has joined the channel [06:35] overra_: same [06:35] JimBastard: yeah, something is borked on your local i guess [06:35] JimBastard: maybe open an issue up with npm [06:35] overra_: i did :) [06:36] overra_: it installed fine on another vps of mine the other day/week [06:36] overra_: same distro of linux, everything [06:38] overra_: heh just tested it on the other, less installed fine [06:38] CIA-77: node: 03Paul Querna 07master * r9a701b0 10/ (3 files in 2 dirs): [06:38] CIA-77: node: Expose fingerproint from getPeerCertificate [06:38] CIA-77: node: Expose the SHA1 digest of the certificate as the fingerprint attribute in [06:38] CIA-77: node: the object returned by getPeerCertificate() - http://bit.ly/a1oKk7 [06:42] zhongf has joined the channel [06:44] pquerna: ryah: thanks [06:44] BrianTheCoder has joined the channel [06:50] zhongf_ has joined the channel [06:51] zhongf_ has left the channel [06:54] altamic has joined the channel [06:57] tobiassjosten has joined the channel [06:57] mattikus has joined the channel [06:59] peol has joined the channel [07:01] SubStack: yay another of my pull requests accepted [07:01] SubStack: ACTION is a helper [07:04] jacobolus has joined the channel [07:04] jesusabdullah: SubStack: Awesome [07:04] jesusabdullah: Now send ME a pull request >:O [07:04] jesusabdullah: ;) [07:04] Yuffster has joined the channel [07:05] SubStack: hah soon [07:05] aubergine has joined the channel [07:05] SubStack: I just wasted a few hours making a kick-ass option parser [07:05] SubStack: http://github.com/substack/node-optimist [07:05] SubStack: oh I should spam that properly [07:05] jesusabdullah: I could use a good parser [07:06] SubStack: hmmm [07:06] SubStack: silly _announcer you should be spamming [07:06] SubStack: anyways [07:07] jesusabdullah: Yeah, I think it's disconnected from twitter or something [07:07] SubStack: jesusabdullah: quick, make a backup bot [07:07] adambeynon has joined the channel [07:07] jesusabdullah: Hah! [07:07] jesusabdullah: I have the source saved [07:08] jesusabdullah: but I wanna use it to write my own module [07:08] SubStack: this one's optimistic, this one went to market, this one just came out of the swamp! [07:08] SubStack: I just put that in the readme [07:08] jesusabdullah: :) [07:09] adambeynon has joined the channel [07:14] delapouite has joined the channel [07:16] aaronblohowiak: Yay, my first npm package! [07:17] SubStack: \o/ [07:17] saikat: if my process is idle [07:17] V1: Lol, while I was asleep tonight my host ( no.de ) died 16x [07:17] saikat: the GC should technically collect any resources it can within 2 secs right? [07:17] V1: Really stable!! [07:17] ryah: saikat: something like that. [07:18] saikat: ryah definitely within 10 seconds? [07:18] saikat: and if my process is simply waiting for a setTimeout to fire, it's considered "idle" right? [07:19] ryah: saikat: yeah, 10 seconds [07:20] adambeynon has joined the channel [07:20] SubStack: oh shit, I just figured out why my npm modules don't have descriptions [07:20] SubStack: "descrption" [07:20] saikat: cool, thanks ryah [07:20] SubStack: and then I copied that package.json a bunch [07:20] SubStack: >_< [07:21] jetienne has joined the channel [07:23] jesusabdullah: SubStack: NICE [07:26] aaronblohowiak: SubStack: i just contributed restartr and the difference between 0.1.3 and 0.1.5 was deleting the 'e' from the bin name =) [07:27] SubStack: yeah that stuff is annoying [07:27] SubStack: BUT your version number does seem more impressive given enough of them [07:27] SubStack: justified or not [07:27] FuzzYspo0N has left the channel [07:28] KungFuHamster_ has joined the channel [07:28] moesian has joined the channel [07:28] nuba has joined the channel [07:28] pquerna: SubStack: yeah, ideally i think npm could use a schema validator for the package.json [07:28] Athox has joined the channel [07:29] pquerna: at least emit a warning on fields it doesn't know about [07:29] voodootikigod_ has joined the channel [07:29] x_or has joined the channel [07:29] FuzzYspo0N has joined the channel [07:29] SubStack: agree [07:30] SubStack: ALSO isaacs could hack in a little dnode service so I can hack this irc bot to spam places when stuff gets published to npm [07:30] SubStack: super easy with RemoteEmitter [07:30] SubStack: which I should blog about! [07:30] jesusabdullah: Is there something you can ping every few minutes? Like what the gitwatcher does? [07:31] FuzzYspo0N has left the channel [07:31] jesusabdullah: (Could be made more instant with a dnode github webhook) [07:31] moesian has left the channel [07:31] SubStack: well I could pull down the json from registry.npm.org [07:31] jesusabdullah: Is it a lotta json? [07:32] jesusabdullah: Like, a prohibitive amount? [07:32] jesusabdullah: I'd REALLY better go to bed [07:32] stephenjudkins has joined the channel [07:33] SubStack: also having surveyed all the option parser node libs on github mine is CLEARLY superior [07:33] SubStack: to save everyone else some time :p [07:33] aaronblohowiak: SubStack: node-optimist looks very very cool [07:34] SubStack: ^_^ [07:34] jesusabdullah: I have to admit the others didn't really catch my attention [07:35] jesusabdullah: but then again I always find options parsing obnoxiously complex [07:35] SubStack: oh you can group boolean opts too, like tar -xjf [07:35] SubStack: I put that in the tests but not in the readme [07:35] jesusabdullah: Sweet [07:35] fyskij has joined the channel [07:35] SubStack: it can be an easter egg for now [07:35] jesusabdullah: Right: Bed. [07:35] jesusabdullah: Gnights [07:35] SubStack: the $0 thing is a bit hackish right now [07:36] aaronblohowiak: SubStack: i kind of wish that cmd $0 -v a b c -k d e f would have arv.v = [ a, b, c] [07:36] SubStack: it decides between process.env._ and process.argv.slice(0,2).join(' ') rather naïvely [07:37] SubStack: well, you could do cmd -v a,b,c -k d,e,f then do argv.v.split(/,/) [07:37] SubStack: almost as good [07:38] SubStack: also in optimist if you specify the same flag twice it puts them into an array [07:38] SubStack: cmd -v a -v b -v c => argv.v == ['a','b','c'] [07:38] SubStack: hmm that needs a test [07:39] HAITI: I wanna try dnode +) [07:39] HAITI: =) [07:39] jesusabdullah: Dnode's pretty slick [07:39] jesusabdullah: I mean [07:39] jesusabdullah: *I* figured it out :) [07:40] jesusabdullah: ...kinda [07:40] jesusabdullah: :P [07:40] HAITI: Whats the quickest way to explain it [07:40] aaronblohowiak: SubStack: ^.^ [07:40] SubStack: hmmm [07:40] aaronblohowiak: HAITI: RPC for JS [07:40] HAITI: from your perspective [07:40] SubStack: call functions automagically [07:41] SubStack: and you can only call functions, functions don't return [07:41] SubStack: but you can return values to the caller by way of other functions [07:41] SubStack: on account of the automagic [07:41] jesusabdullah: dnode(object goes here).connect(port, function (server) { ..do stuff with server...}) [07:42] jesusabdullah: and dnode(object goes here (can be constructed with function of client)).listen(port) [07:42] jesusabdullah: basically [07:42] pdelgallego has joined the channel [07:43] jesusabdullah: The methods can also rock callbacks on the other side [07:43] jesusabdullah: So, you can have the client side do something like, server.getStuff(function(stuff) {doStuffWithStuff();}) [07:44] kjeldahl has joined the channel [07:44] mikew3c_ has joined the channel [07:44] jesusabdullah: Anyways [07:45] bjartek has left the channel [07:46] SubStack: dnode is basically what I learned sucked about synchronous rpc from using drb to do gis batch processing [07:47] jesusabdullah: ah, gis :S [07:47] SubStack: you very quickly roll your own thread pool I found [07:47] SubStack: no matter what you are doing, it comes to that [07:47] SubStack: which is part of what makes node such <3 [07:48] jesusabdullah: *nod* [07:48] hassox has joined the channel [07:49] SubStack: and to think, early versions of dnode had call/return requests, just like jsonrpc [07:49] aaronblohowiak: SubStack: traverse github is deleted? [07:49] SubStack: ! [07:49] jesusabdullah: ! [07:49] SubStack: um it's still there at http://github.com/substack/js-traverse [07:49] jesusabdullah: SubStack: I'm almost surprised it isn't json-rpc in the background [07:50] jesusabdullah: if only for max compatability with other things [07:50] SubStack: nah json rpc sucks [07:50] jesusabdullah: Then again, don't think json-rpc is that flexible [07:51] aaronblohowiak: SubStack: the js-traverse link from dnode readme gives sad octocat [07:51] jesusabdullah: Would be nice to have obvious libs in place to do rpcs though, between different languages/etc [07:52] SubStack: oh lame, I'll check it out [07:52] SubStack: oh on account of the .git [07:52] SubStack: fixing... [07:52] dgathright_ has joined the channel [07:53] aaronblohowiak: ah, sweet =) [07:55] SubStack: pow fixed [07:55] aaronblohowiak: SubStack: http://github.com/substack/dnode/blob/master/lib/dnode.js isn't line 34 dead code path because of line 28 ? [07:55] aaronblohowiak: instanceof net.Server repeats in an else if cascade [07:57] SubStack: hah what the shit [07:57] SubStack: I think some of those nets were supposed to be https [07:57] aaronblohowiak: SubStack: yea, and that repeats a few times in that function. ahhhhhh, that would make sense =) [07:58] aaronblohowiak: okay, i'm going to sleep before i read any more of your code =) [08:00] stride: .oO(people fall asleep when reading substacks code, haha) [08:01] Utkarsh has joined the channel [08:01] mbrochh has joined the channel [08:01] proppy has joined the channel [08:02] SubStack: aaronblohowiak: fixed :p [08:03] aaronblohowiak: :P [08:03] aaronblohowiak: are you going to the thing tomorrow night? [08:04] aaronblohowiak: in 15 hours [08:04] aaronblohowiak: err, 17 [08:04] aaronblohowiak: or some number that is way too small [08:05] SubStack: I am in Alaska [08:05] aaronblohowiak: SubStack: mush! mush! [08:05] SubStack: but! I'm driving down to .ca.us next week [08:05] SubStack: in order to move [08:05] aubergine_ has joined the channel [08:06] aaronblohowiak: welcome! [08:06] aaronblohowiak: okay, i've got to to bed or i'll be useless @ work 2morrow. ttyl [08:08] mikekelly: well that's hardly fair if you have mnot fixing all your HTTP bugs is it ?! :p [08:08] mikekelly: insider dealing. [08:09] SubStack: mikekelly: they were benign bugs at least [08:09] SubStack: but yeah, putting all my code on github is great [08:09] SubStack: including all of my startup [08:10] ph^ has joined the channel [08:11] jetienne: SubStack: i agree (from the entrepreneur in me) [08:11] adambeynon has joined the channel [08:12] mies has joined the channel [08:12] adambeynon has joined the channel [08:14] AAA_awright has joined the channel [08:17] ntelford has joined the channel [08:17] themiddleman has joined the channel [08:19] tobiassjosten: Anyone got a name or URL to that Node.js project which shows traffic in realtime? Some bird name, I think? [08:23] HAITI: adamholt: have you seen the TV show Arrested Development [08:24] HAITI: ? [08:25] lachlanhardy has joined the channel [08:25] jetienne: tobiassjosten: http://mnutt.github.com/hummingbird/ [08:25] HAITI: wierd [08:26] HAITI: tobias [08:26] HAITI: steve holt! [08:26] HAITI: time to sleep [08:26] tobiassjosten: jetienne: Thanks! [08:27] MikhX has joined the channel [08:27] TomY has joined the channel [08:28] V1 has joined the channel [08:37] pufuwozu has joined the channel [08:40] bvleur has joined the channel [08:40] JimBastard has joined the channel [08:40] JimBastard: testing the new http proxy today >.< http://blog.nodejitsu.com/nodejs-cloud-server-in-three-minutes [08:40] bvleur has left the channel [08:41] aubergine has joined the channel [08:43] pufuwozu has joined the channel [08:45] ctp has joined the channel [08:45] ctp has joined the channel [08:49] proppy: Hi, I'm having the following error when trying to use extjs dependency: [08:49] proppy: http://paste.debian.net/89055/ [08:49] proppy: TypeError: Object # has no method 'extend' [08:49] proppy: Where is the extend method defined ? [08:49] proppy: (I have 0.2) [08:50] MikhX has joined the channel [08:50] MikhX has left the channel [08:52] pufuwozu has joined the channel [08:53] proppy: and it seems error.js needs to be updated as well [08:53] mikew3c^ has joined the channel [08:54] proppy: found http://github.com/endtwist/ext.js/commit/2568a9b4c1527552c9593faf5eb9021618d4d7a6 [08:54] MrTopf has joined the channel [08:56] hellp has joined the channel [08:56] JimBastard: yeah _announcer is not working [08:57] SubStack: poor robit [08:58] pufuwozu has joined the channel [09:02] omarkj has joined the channel [09:02] alexo has joined the channel [09:03] moesian has joined the channel [09:07] mies has joined the channel [09:07] _Utkarsh has joined the channel [09:08] Tim_Smart has joined the channel [09:09] mape: Hmm I want a node module that hooks into OCR [09:09] markwubben has joined the channel [09:09] Tim_Smart: mape: What OCR? [09:09] ahc has joined the channel [09:09] moesian: Hi. I was wondering if it would be recommended to start trying to build an entire site using node.js and express? Are people currently just using it alongside sites built using other solutions (rails, django etc)?  [09:09] mape: Tim_Smart: http://code.google.com/p/ocropus/ [09:10] caolanm has joined the channel [09:11] V1: Gl with building binding on that mape :p [09:11] mape: So you can use gyazo -> node-formidable -> node-ocr -> use the text is awsome ways [09:11] mape: V1: Hehe yeah, that why I want it, probly won't be able to do it ;) [09:12] xla has joined the channel [09:14] JimBastard: next time someone asks me how to install node, http://blog.nodejitsu.com/nodejs-cloud-server-in-three-minutes [09:14] JimBastard: boom [09:14] herbySk has joined the channel [09:14] JimBastard: you can provision the server and bootstrap all in a node script [09:15] V1: I just have a 1 install .sh script to deploy node across servers [09:15] JimBastard: V1: how you deploy it? [09:16] JimBastard: scp? [09:16] JimBastard: i can provision a server and bootstrap it with whatever all from inside a node script [09:16] mikekelly has joined the channel [09:16] JimBastard: :-D [09:16] V1: The sh is hosted on our own server so we just do a wget to the location and execute it. Few minutes later we have a running node.js server [09:17] JimBastard: how make new servers? [09:17] V1: With all database access and dependencies + our secret sause [09:18] JimBastard: you have to do it manually [09:18] JimBastard: this is automated [09:18] JimBastard: you dont even run ssh [09:18] JimBastard: node does [09:18] V1: JimBastard: We have our own dedicated server park :) [09:19] JimBastard: where is this? [09:19] V1: So I push a new server in the rack, connect some wires and we are done [09:19] aubergine has joined the channel [09:19] V1: JimBastard: In the Netherlands near my work. [09:20] JimBastard: got ya [09:20] pufuwozu has joined the channel [09:20] JimBastard: yeah, with rackspace i get to control the guy going to the rack with a REST api [09:20] JimBastard: hrmmm, i need more traffic on our sites right now so i can stress test the new fucking proxy version [09:21] V1: The 3 minute install is only possible if you actually have rackspace account [09:21] JimBastard: V1: aye [09:21] JimBastard: <3 rackspace [09:23] lachlanhardy has joined the channel [09:24] callen: JimBastard: boo [09:24] JimBastard: ? [09:25] callen: JimBastard: ?_? [09:26] callen: JimBastard: you know Hans Zimmer? [09:26] JimBastard: from the die hard movies? yeah [09:26] callen: lots more than that, but sure. [09:26] callen: JimBastard: pure dramatic orchestra kitsch. It's like cotton candy with string and brass instruments. [09:26] callen: JimBastard: I am addicted ;_; [09:26] Utkarsh has joined the channel [09:28] elliottkember has joined the channel [09:31] aubergine has joined the channel [09:33] aubergine has joined the channel [09:34] proppy: anyone used ajaxIM ? [09:34] proppy: I have successfully installed it, but I wonder how is it working [09:35] mape: tesseract ocr is awful :/ [09:35] FuzzYspo0N has joined the channel [09:38] romainhuet has joined the channel [09:38] elliottkember has joined the channel [09:39] elliottkember_ has joined the channel [09:41] jetienne: anybody hacking on streamie.org ? [09:45] mirko_ has joined the channel [09:49] freeall has joined the channel [09:59] zomgbie has joined the channel [10:01] andy has joined the channel [10:04] mikew3c: anybody know how often does the contents of the v8 subdir in the node source repo get updated? [10:04] mikew3c: and/or what the update policy is? [10:05] mikew3c: (e.g., is it tracking the master/trunk branch of the upstream v8 code, and getting updated from that automatically, or …) [10:10] mape: Anyone here worked with connect-form? [10:13] Tim_Smart has joined the channel [10:13] V1: Connect form? [10:13] mape: Yup [10:13] V1: is that different than the bodydeoder? [10:14] mape: I'm trying to send an image as multipart data [10:14] mape: V1: Getting the ocr stuff working [10:14] mape: just need to be able to recieve an image [10:14] vkd has joined the channel [10:14] V1: why not formidable? [10:15] mape: Well connect-form used formidable [10:15] V1: touche [10:15] mape: But req.form.onComplete never fires [10:16] Tim_Smart: Where is felix when you need him? :o [10:16] mape: In germany [10:16] mape: :s [10:16] Tim_Smart: You aren't far from Germany, right? [10:17] zemanel has joined the channel [10:17] maushu has joined the channel [10:17] mape: Sweden, but still further then I would want to walk for some help [10:17] caolanm: mape: what happened to your irc stats page? [10:17] mape: caolanm: oh, server crashed, forgot it [10:18] path[l] has joined the channel [10:18] caolanm: mape: will it be coming back? [10:18] caolanm: :( [10:18] mape: caolanm: give me a sec [10:18] caolanm: \o/ [10:19] robinduckett has joined the channel [10:20] caolanm: I have to say, since I started running my various little fun projects on a box under the stairs, I've had far less problems than with cheap VPS hosting [10:20] caolanm: it was always crashing before [10:21] Tim_Smart: Except for when something gets popular? :p [10:21] caolanm: then you stick it on amazon [10:21] caolanm: besides this is node! I don't have to think to make things scale right?? ;) [10:21] mape: caolanm: http://stats.nodejs.se/ [10:22] Tim_Smart: node makes my network pipe magically awesome! [10:22] caolanm: \o/ [10:22] caolanm: haha [10:23] caolanm: thanks mape :) [10:23] V1: Thanks to node i have something better to do at work :D <3 [10:23] caolanm: damn, JimBastard sure talks a lot [10:23] caolanm: 185.52 messages per day [10:24] mape: Wondering if I should just cut it down to the last couple of days [10:24] V1: maybe just per week. [10:24] ctp has joined the channel [10:24] mape: Yeah [10:24] Tim_Smart: Oh, does anyone know if fast-buffer speed up node-mysql at all? [10:25] mape: Tim_Smart: That isn't in core just yet is it? [10:25] Tim_Smart: mape: Yeah it is now. [10:25] mape: oh nice [10:25] mape: ACTION updates [10:25] Tim_Smart: ryah and myself ironed out the last couple bugs. [10:26] mape: So how does it handle stuff being wonky in size difference? [10:26] Tim_Smart: It is just a memory pool... [10:26] mape: Or rather, if I just want to use buffers larger then the default size? [10:26] Tim_Smart: Then it creates an old one. [10:26] mape: Well doesn't it reserve space and then fit stuff into it? [10:26] mape: Ah k so fallback if it doesn't fit? [10:27] mape: Since the speed issue was with creating lots of small ones? [10:27] V1: mysql is just slow piece of shit, even node can't speed that up ;) [10:27] zomgbie has joined the channel [10:28] Tim_Smart: Well, all fast buffers have a parent buffer, a buffer larger than the pool size has its parent set as the entire data (with offset set to 0) [10:28] JimBastard has joined the channel [10:28] Tim_Smart: V1: Mysql is reasonably fast, just not as fast as redis :p [10:29] Tim_Smart: <3 redis. [10:29] mape: Well, they aren't the same at all? [10:29] paulwe has joined the channel [10:29] V1: Tim_Smart: I know, we are running mysql innodb / xtrdb atm It's fast, but not fast enough [10:30] Tim_Smart: Yeah the main difference you should consider is the way you store your data. [10:30] V1: I wonder what maria db will bring to the table [10:31] V1: brb lunch [10:35] zomgbie has joined the channel [10:37] maushu has joined the channel [10:40] wakawaka has joined the channel [10:41] mies has joined the channel [10:43] lachlanhardy has joined the channel [10:44] jetienne: the way you store data is quite key when it come to db tho [10:46] zomgbie has joined the channel [10:47] maushu: What is this: t->InstanceTemplate()->SetInternalFieldCount(1); [10:48] Tim_Smart: jetienne: Yeah, especially with redis, which I find to be a middleground between key-value and a document store. [10:49] Tim_Smart: For biggie-orm I'll probably use redis :p [10:51] aliem has joined the channel [10:53] genbit has joined the channel [10:53] jfd has joined the channel [10:56] jetienne: Tim_Smart: with reddis, if i do set(), the data is written on disk during set() excecution ? [10:56] jfd: Having trouble working with child processes and load balancing. I have a TCP server that with X workers. Each time a client connects I pause the steam and send the FD to a worker. Everything runs smoothly until Im closing/destroying the stream. It seems that the TCP connection stucks in the CLOSE_WAIT state. Do I have to close the socket in the main process aswell? [10:56] jetienne: Tim_Smart: or the write is delayed ? [10:57] Tim_Smart: jetienne: You have the choice. It has an option for an append only file. [10:59] jetienne: Tim_Smart: which one do you use ? maybe im old school but delayed write scare me :) [10:59] robinduckett has left the channel [10:59] Tim_Smart: jetienne: 1 second delay append file. [11:00] Tim_Smart: The default append file option is write after every insert. [11:00] Tim_Smart: s/insert/opertation/ [11:00] jetienne: Tim_Smart: what do you store in it ? how come you arent afraid to loose i t? [11:00] digitalsanctum has joined the channel [11:00] Tim_Smart: jetienne: Only personal stuff at this stage. [11:01] Tim_Smart: Using it for a music server backend [11:02] JohnnyL has joined the channel [11:02] jetienne: ok [11:02] mape has joined the channel [11:03] Tim_Smart: It has the option of writing to disk after every operation, but it sacrifices on speed. [11:03] Tim_Smart: So again, you have the choice. [11:04] mape: Encoding is a pita [11:04] jetienne: Tim_Smart: i understand. hence my question on the kind of data to store. [11:04] aubergine has joined the channel [11:04] mape: Got things working and writing to file but still not working, and looks all good :( [11:05] Tim_Smart: mape: What encoding are you working with? [11:05] mape: Tim_Smart: It should be binary, getting png data from gyazo [11:06] mape: But set it to binary on both formidable and writeFile [11:06] mape: And it looks like what a png "should look like" when doing console.loging the data [11:06] mape: But the file is still broken [11:06] jetienne: pgriess did something to pack binary no ? would that help [11:07] mape: Don't think so, since I still have to go through the multidata formidable thingys [11:08] webr3 has joined the channel [11:08] proppy: what about using websocket to transmit binary file ? [11:08] proppy: (if you don't care about ie support) [11:08] mape: proppy: using websockets doesn't make sence since I'm sending data from a program [11:10] proppy: oh, sorry I thought forms where involved [11:10] mape: Nope its using gyazo [11:10] mape: Which is an awsome app that makes screenshots super easy [11:11] Tim_Smart: jetienne: [11:11] Tim_Smart: http://simonwillison.net/static/2010/redis-tutorial/ [11:11] Tim_Smart: Found that a good read. [11:11] zorzar_ has joined the channel [11:14] proppy: mape: and you're trying to send the file over the wire and it gets corrupted ? [11:14] proppy: or it gets corrupted before you send it ? [11:14] mape: proppy: sending it vore the wire and getting corrupted when I try to write it to the fs [11:15] mape: *over [11:15] proppy: and how do you send it ? [11:15] proppy: HTTP ? [11:15] mape: yeah [11:15] proppy: why not using socket, or (web)socket client ? [11:15] mape: straight up http post [11:15] mape: proppy: on a mac? [11:15] proppy: I mean this way you would have to deal with http encoding stuff :) [11:16] mape: Or well doesn't really matter [11:16] mape: proppy: http://gyazo.com/en [11:16] mape: That program allows you to use the native osx screen capture thingy, and then sends the sceenshot image over http as post [11:17] mape: So what I'm trying to do is fetch an area of the screen using gyazo, save that to the fs, convert it to tiff, run OCR on it and then send back plain text [11:17] mape: Got everything working but the post -> correct data as file part [11:18] proppy: oh ok, I thought it was writing the file to disk [11:18] proppy: and that *you* were sending it from you computer to an http daemon of yours [11:18] mape: ah no, gyazo probly just sends it straight from memory to http post [11:18] mape: but it all looks good [11:18] mape: Just don't know what is messig it up [11:18] proppy: so you http/get it from gyazo servers ? [11:19] niemeyer has joined the channel [11:19] mape: post [11:19] mape: multidata [11:19] mape: oh no it sends it directly [11:19] mape: no relay [11:20] proppy: but you need to get it in order to save it to the FS ? :) [11:20] proppy: I guess I'm just confused :/ [11:21] mape: yeah, so gyazo sends it multidata post, I fetch it thought connect -> connect-form -> feligxe-formidable -> fs.writeFile [11:21] mape: and somewhere there it breaks down [11:21] digitals1aghetti: can anyone here fix npm adduser auth issues, or is that only issac? [11:21] lachlanhardy has joined the channel [11:22] mape: and i get the data, the postdata is ok, it looks good when I console log it (like a png file) I save it to the fs and it won't work [11:22] mape: and I tell it to be binary data all the way through [11:23] mape: Just says it might be damanged or use a file format that Preview doesn't recognize [11:25] mape: And the issue is more that I don't know what is causing the issue. [11:26] zomgbie has joined the channel [11:28] Nohryb has joined the channel [11:28] robinduckett has joined the channel [11:28] robinduckett: Okay [11:29] robinduckett: is there an sqlite db driver for node? [11:30] Torgan has joined the channel [11:30] Torgan: hello [11:30] mape: hey [11:30] Torgan: I'm have issues with node_postgres [11:30] Torgan: something like "TypeError: Object [object Object] has no method 'addListener' [11:30] Torgan: " [11:31] maushu: Torgan, try "on". [11:31] Torgan: it's inside the lib [11:32] proppy: mape: :) [11:32] proppy: mpaalso I wonder why connect -> connect->form and formidable is needed ? [11:32] proppy: mape: [11:32] kriszyp has joined the channel [11:32] proppy: doesn'gt gyazo give a str8 http url with the image that you can curl ? [11:32] Torgan: (by the way, replacing addListener by 'on' gives the same result) [11:33] mape: proppy: not that I know of, only know you have to do stripslash for it to work in php, then you can write it to disk [11:33] mape: proppy: so saying I should go utf8 all the way? [11:34] proppy: weird, the raw png should be available from http without you bothering about encoding [11:35] mape: proppy: doing utf8 on the recieveing end and writing binary doesn't work, doing ut8 on recieveing end and well as writing to fs fails as well [11:35] robinduckett: hmm [11:35] robinduckett: pretty sure [11:35] robinduckett: i just asked a question :/ [11:35] robinduckett: you guys feeling unhelpful today or do I have "abuse this guy" tattooed on my head [11:35] lachlanh_ has joined the channel [11:35] mape: robinduckett: I would assume no one knows and google is your best friend [11:35] FuzzYspo0N: robinduckett: yea [11:36] FuzzYspo0N: i was just gonna say. if i can get > 1 million results [11:36] FuzzYspo0N: well, youre failing :) [11:36] robinduckett: yeah [11:36] robinduckett: google's good [11:36] robinduckett: but [11:36] robinduckett: it's never usually the best module/whatever [11:36] FuzzYspo0N: http://code.google.com/p/node-sqlite/ [11:36] robinduckett: just try googling for node mysql [11:36] FuzzYspo0N: nothing ever is the besty. [11:36] FuzzYspo0N: best*. its always subjective [11:37] robinduckett: you've got node-mysql [11:37] robinduckett: node-mysql-native [11:37] robinduckett: node-mysql-libmysqlclient [11:37] robinduckett: etc. [11:37] FuzzYspo0N: yea they all match existing libs [11:37] robinduckett: brb [11:37] FuzzYspo0N: ie : the native is the mysql c api that comes with the mysql package [11:37] FuzzYspo0N: and the client is c++ etc etc. [11:38] FuzzYspo0N: its existing code, ported to node most likely [11:38] FuzzYspo0N: ACTION goes to get stuff [11:40] d0k has joined the channel [11:42] mirko_ has joined the channel [11:42] ooooPsss has joined the channel [11:44] proppy: mape: do you have an url of a gyazo image ? [11:45] mape: proppy: you mean a file I tried to fetch that is brokeN? [11:45] proppy: yes [11:45] proppy: but you see it in the browser right ? [11:45] proppy: it is only broken when written to disk [11:45] proppy: ? [11:46] mape: proppy: http://mape.me/1284119135868.png [11:46] mape: it never hits the browser [11:46] proppy: oh I thought gazyo gived you an url [11:47] mape: no it sends the data through multidata post [11:47] proppy: oh ok, to your service [11:47] proppy: not gyazo services [11:47] proppy: I understand now :) [11:47] mape: Yes [11:47] proppy: sorry for the noise [11:47] pdelgallego has joined the channel [11:47] mape: Hehe no worrys [11:47] TobiasFar has joined the channel [11:48] proppy: mape: and the php sample code is working, but you have trouble porting it to node.js / formidable [11:48] proppy: right ? [11:49] Torgan: My problem with node_postgres is quite strange [11:49] mape: Yes, have been using it through php before, the thing I had to do in PHP is stripslash it [11:49] Torgan: my lib is in the dir ~/nodejs/node_postgres [11:49] mape: tried to use the phpjs stripslash function in node but that didn't help [11:49] mape: and when I look at the data in node it looks good [11:49] Torgan: if I execute a script in ~/nodejs, I can't make the lib work [11:49] mape: (before stripslashes) [11:50] jetienne: ok i got google translate in my own twitter client :) [11:50] Torgan: if I execute the script ~/nodejs/node_postgres it works [11:50] proppy: mape: but it seems you could use gyazo.com/upload.cgi [11:50] proppy: but that's not an option right ? [11:50] ivanfi has joined the channel [11:50] mape: proppy: in osx you just upen the rubyscript and alter the path [11:50] mape: so it sends the post data to the supplied path, which for me is node [11:50] mape: *open [11:51] proppy: mape: because you could do gyazo -> POST gyazo.com, and notify the url to a node process to fetch the image [11:51] Torgan: could it be some kind of path problem ? [11:51] aubergine has joined the channel [11:51] gthb has joined the channel [11:51] mape: proppy: why add a step inbetween when I can send it straight to node? [11:52] proppy: to be able to make it work, without fixing it :) [11:53] mape: well it works when using PHP should should be able to get it to work with node [11:53] Nohryb has joined the channel [11:53] proppy: this is the php script http://gist.github.com/203474 ? [11:54] mape: proppy: something like that but I had to do stripslash [11:54] proppy: mape: is there inotify extension for nod e? [11:55] proppy: it seems so http://github.com/c4milo/node-inotify [11:55] FuzzYspo0N: lol, "theres an extension for that(tm) [11:55] mape: proppy: isn't that already used in watchFile? [11:55] fyskij has joined the channel [11:55] proppy: you could use the phpworking version, and use node-inotify in node to know that there is a new file [11:55] mape: well that is no good [11:55] proppy: :) [11:55] mape: I wanna use node [11:55] proppy: mape: ah did you try to binary compare [11:56] proppy: the same file [11:56] proppy: posted to php [11:56] proppy: and to node ? [11:56] proppy: maybe it is difficult to get the same screenshot twice [11:57] proppy: but reading http://yaa.no-ip.org/~yaa/ddata/gyazo it seems that there is a temporary file involved [11:57] proppy: so you could try to post the same file twice [11:57] proppy: first to php and then to node [11:57] proppy: and compare the binary that is written to disk [11:57] mape: Well I have all the png data in fields.imagedata [11:58] mape: It's just a encoding issue [11:59] proppy: mape: maybe you could rewrite http://yaa.no-ip.org/~yaa/ddata/gyazo using node :) [11:59] mape: proppy: well the issue is handling the multidata [12:00] mape: I have everything working only that the file is corrupt [12:00] mape: rewriting it won't help since they all use the libs helper for multidata [12:01] proppy: I don't see Content-Transfer-Encoding: binary in the gyazo linux script [12:01] proppy: http://yaa.no-ip.org/~yaa/ddata/gyazo [12:04] mape: yup, but I've tried both utf8 encoding and binary in different ways and it still won't work [12:07] V1 has joined the channel [12:08] V1: hows the OCR going mape ? any progress? [12:10] matschaffer has joined the channel [12:10] mape: V1: got it all working but the gyazo image upload [12:10] proppy: mape: last but to least did you try to post the file to node.js using curl ? [12:11] proppy: to figure out which side is too blame [12:11] proppy: (gyazo or node-form) [12:12] wakawaka has joined the channel [12:12] V1: mape: So close, yet so far away :P [12:15] proppy: mape: curl -F "fieldname=@toto.png;type=image/png" http://mape/node [12:15] proppy: should do the trick [12:16] proppy: and if the file is not corrupted [12:16] proppy: you could figure out what header curl is sending that the gyazo script is not [12:18] cbrake_ has joined the channel [12:18] path[l] has joined the channel [12:18] kaichen has joined the channel [12:18] mape: proppy: well gyazo doesn't supply an url to curl from [12:18] mape: it sends it straight to the service, so I need to be able to recieve it [12:18] proppy: I mean reading the gyazo script it seems that it save the file to a temporary location [12:19] proppy: before HTTP POST'ing it [12:19] proppy: you could get that file [12:19] proppy: (or any png) [12:19] proppy: and try to curl -F to your webservice [12:19] mape: proppy: That means I have to be on the same machine? [12:19] proppy: why ? [12:19] proppy: I thought you have the gyazo script running on you mac [12:20] proppy: and node.js running somewhere online [12:20] mape: proppy: Yes, and the server isn't, and won't [12:20] Cainus has joined the channel [12:20] proppy: but you can curl to your server [12:20] proppy: curl -F http://mape.me/node-ocr-thing [12:20] ben_alman has joined the channel [12:20] sideshowcoder has joined the channel [12:21] mape: That means fiddling with gyazo, which would break everything when an update is made. (sure I have to change the url but I want to keep it as netural as possible) [12:21] proppy: mape: I'm only suggesting this a debugging issue [12:21] proppy: as a debugging tool [12:21] V1: Just fixed major flaw in my realtime tracking system, it actually transmitted the contents of password fields un encrypted ^_^ whoops [12:21] mape: Would rather figure out why the file gets corrupt, the knowledge would be good for future implementations not related to gyazo [12:22] mape: proppy: Hmm yeah [12:22] proppy: mape: but the file is corrupted [12:22] proppy: even with curl [12:22] proppy: it gives you the information that something is inherently broken in the file upload mecanism on the node side [12:22] proppy: outside of gyazo context [12:22] proppy: and that's a usefull information :) [12:23] mape: For sure, but I already know it works with PHP, so it must be my implementation on the node side that is broken [12:24] proppy: mape: yes just thought debugging it with curl might be more convienent that debugging it with gyazo [12:26] okuryu has joined the channel [12:28] proppy: wierd that connect-form doens't depends upon connect [12:28] proppy: :) [12:34] robinduckett has left the channel [12:39] webr3 has joined the channel [12:40] mirko_ has joined the channel [12:42] jegade has left the channel [12:43] Torgan: wow [12:43] Torgan: looks like the node_postgres module conflicts with the mongodb-native module... [12:47] Torgan: is there a way of requiring libs so that they don't interfere ? [12:48] digitals1aghetti: how are they interfering/ [12:48] digitals1aghetti: ? [12:49] V1: You can have modules run in there own context if i remember corretly [12:49] V1: But I think you need to add a flag duing ./configure.. [12:50] trotter has joined the channel [12:50] mtodd has joined the channel [12:50] rwaldron has joined the channel [12:50] mtodd has joined the channel [12:50] boaz has joined the channel [12:50] figital has joined the channel [12:51] dnolen_ has joined the channel [12:51] Torgan: I don't know how but [12:51] Torgan: requiring them separately works [12:51] Torgan: both don't [12:52] Torgan: perhaps the Connexion object has or the bindings [12:52] digitals1aghetti: have you put a try/catch around the requires, see if you get an exception printed out? [12:54] quirkey has joined the channel [12:55] romainhuet has joined the channel [12:57] Torgan: I have an exception [12:58] Torgan: http://www.pastebin.ca/1937234 [12:59] Torgan: removing the mongo works but... I need the two libs [12:59] Torgan: (+ require) [13:03] SvenDowideit has joined the channel [13:03] tmpvar has joined the channel [13:04] lachlanhardy has joined the channel [13:05] tobeytailor has joined the channel [13:06] eazyigz has joined the channel [13:07] davidwalsh has joined the channel [13:07] eazyigz: hi, what is the difference between sys.print, console.dir, and sys.puts? [13:08] eazyigz: I seem to be using a mix of all three, after I plugged in other people's code [13:08] proppy: mape: FYI I succesfully uploaded a png file using connect-form example and curl [13:08] mape: proppy: I would love a gist [13:09] sonnym has joined the channel [13:09] davidsklar has joined the channel [13:09] zomgbie has joined the channel [13:10] mirko_ has joined the channel [13:10] Torgan: still weirder ! [13:11] Torgan: requiring postgres after mongo dossn't work [13:11] JohnnyL has joined the channel [13:11] atourino has joined the channel [13:11] Torgan: requiring mongo after postgres works... [13:11] evanpro has joined the channel [13:11] proppy: mape: http://gist.github.com/573596 [13:11] path[l]: we have node v 0.1.98 and we just make installed 0.20 but node --version still mentions the old one [13:11] path[l]: why wolud this be? [13:12] jetienne: hacking on streamie is fun [13:12] romainhuet has joined the channel [13:12] jetienne: path[l]: installed via your own compilation ? do a full .o clean [13:12] romainhuet has joined the channel [13:12] zith_: eazyigz: sys.puts adds newlines, compared to sys.print [13:13] proppy: mape: http://gist.github.com/573596 batter [13:13] jetienne: path[l]: like a brand new git clone [13:13] proppy: mape: show the file is not corrupted using file [13:13] mape: proppy: tried it with gyazo? [13:13] proppy: mape: nop I don't have gyazo wait [13:13] mape: proppy: if you are running osx just open the gyazo package find the ruby script and change the path [13:14] proppy: mape: nop I'm running gnu/linux [13:14] mape: probly the same [13:14] proppy: but it is also a ruby script [13:14] mape: windows gyazo is a pita to change [13:14] wattz: morning ladies! [13:14] wattz: ACTION used a horrible italian accent when he said that [13:15] quirkey has joined the channel [13:15] proppy: http://gyazo.com/35121f63954f6060e43fcc77c64244a1.png :) [13:16] codelotus has joined the channel [13:16] eazyigz: zith_: thanks [13:16] zith_: eazyigz: console.dir prints out "sys.inspect(object) + '\n'" [13:16] zith_: whatever that is [13:16] path[l]: git pull; make clean; make ; make install ? [13:17] path[l]: thanks it worked [13:17] mape: orlandov: so worked fine? [13:18] zith_: eazyigz: apparently sys.inspect does: [13:18] mape: * proppy [13:18] zith_: * Echos the value of a value. Trys to print the value out [13:18] zith_: * in the best way possible given the different types. [13:18] mape: proppy: but you never send it over the wire to see if it works through node? [13:19] proppy: yes, I just try trought node [13:19] proppy: and the difference with curl is that [13:19] proppy: I get raw data when using ./gyazo [13:19] mape: slash escaped through node? [13:19] proppy: and I get a path to a temporary file when using curl [13:20] proppy: so there is obviously something different between curl and gyazo in how they upload a file [13:20] path[l]: when I use curl to get npm and sudo sh I get the error -> tar: Unrecognized archive format: Inappropriate file type or format [13:21] Utkarsh has joined the channel [13:22] freeall has joined the channel [13:22] path[l]: but when I just pipe it to sh I get a permission denied [13:24] pgriess has joined the channel [13:24] dshaw has joined the channel [13:28] t3h_awesome has joined the channel [13:28] proppy: mape: I confirm that the file get corrupted when using gyazo [13:28] proppy: (not curl) [13:28] mape: any idea of how it systematicly gets corruped with gyazo? [13:29] t3h_awesome has joined the channel [13:29] mape: since it does work with other solutions [13:30] mape: ie what is the diff from pure vs corrupted [13:31] mikew3c has joined the channel [13:31] V1: wewt! [13:31] V1: We just reached 200gig on 1 database [13:31] mikew3c has joined the channel [13:34] Utkarsh has joined the channel [13:34] V1: and node + mongodb are still running fine :D [13:34] rakeshpai has joined the channel [13:35] ooooPsss: what kind of app is it? [13:35] rakeshpai: hey... I'm trying to install grasshopper using npm. Somewhere in between, I get this error: Error: No 'name' field found in package.json Any idea what's up? [13:35] mape: rakeshpai: package.json lacks name? [13:38] rakeshpai: who is this package.json, and why does he lack a name? [13:40] mdg: \o/ [13:40] abiraja has joined the channel [13:41] proppy: mape: iff /tmp/969b36f80af5c8b385fd98a546145e88.png /tmp/corrupted.png [13:41] proppy: Binary files /tmp/969b36f80af5c8b385fd98a546145e88.png and /tmp/corrupted.png differ [13:41] proppy: :) [13:41] mape: proppy: can you show a diff? [13:42] kriszyp has joined the channel [13:44] mikew3c_ has joined the channel [13:44] mape: proppy: is it slashes that differ? [13:44] proppy: mape: the header is not the same [13:46] proppy: mape: http://gist.github.com/573647 [13:46] mape: hmm :/ [13:46] rakeshpai: so, this looks like an npm issue, since I get the same error when trying to install express [13:47] rakeshpai: where can I find this package.json file in npm? [13:47] rakeshpai: actually, found package.json [13:49] ooooPsss: does anyone uses Pusherapp? [13:50] rakeshpai: http://github.com/isaacs/npm/issuesearch?state=open&q=name+not+found#issue/220 This is the issue I'm facing. Anyone else faced this? [13:51] webr3: 2 q's: best implementation of: (1) websockets client / server (2) XML parser - for node.js? [13:52] wink_: webr3: socket.io is well done for websockets [13:52] wink_: i dunno about xml parsing [13:53] webr3: wink_ cheers [13:54] rakeshpai has joined the channel [13:54] adambeynon has joined the channel [13:55] V1: wtf is going on with the no.de hosting [13:55] V1: This is my 17th down time today [13:55] olauzon has joined the channel [13:55] V1: I can't even ssh in to my machine [13:55] mape: V1: hmm yeah seems down [13:56] donnex has joined the channel [13:56] mape_ has joined the channel [13:56] V1: When I was asleep tonight I received 16 downtime messages from pingdom.. 16! [13:56] gerad has joined the channel [13:56] softdrink has joined the channel [13:57] mape: Hey gerad :) [13:57] gerad: hi mape [13:57] mape: How is "Look for a longer post about the winners and the contest early next week." going? ;) [13:57] jherdman has joined the channel [13:57] V1: lol [13:58] langworthy has joined the channel [13:58] mape: proppy: http://github.com/gyazo/Gyazo/blob/master/Server/upload.cgi seems like ruby deals with the different data [13:59] mape: That one doesn't do much besides moving data [14:00] rakeshpai_ has joined the channel [14:02] proppy: mape: in fact I think that only the header get corrupted [14:03] proppy: mape: unfortunalty I don't find a hex editor that allow me to "delete" bytes [14:04] loincloth has joined the channel [14:04] mape: just seems strange it would blow up in node, if the only thing the ruby server side is does it move data it should work anyway [14:04] mape: doubt it would touch the data it proxys? [14:07] fermion has joined the channel [14:09] ben_alman has joined the channel [14:10] c4milo has joined the channel [14:10] ben_alman has joined the channel [14:10] jetienne: http://jeromeetienne.streamie.org/ my own streamie branch :) i added autotranslation [14:11] c4milo has left the channel [14:12] c4milo has joined the channel [14:12] digitals1aghetti: wow i logged in and i have tweets from 4 years ago apparently [14:13] ceej has joined the channel [14:17] proppy: mape: in fact the file is more corrupted than I thought [14:17] proppy: fixing the header doesn't solve the issue [14:17] mape: so how does it work in all other systems? [14:17] proppy: http://gist.github.com/573702 [14:18] jtsnow has joined the channel [14:18] jakehow has joined the channel [14:20] ehaas has joined the channel [14:20] path[l]: anyane know why npm install would keep getting errors to do with a missing package.json ? [14:21] PyroPeter has joined the channel [14:23] cardona507 has joined the channel [14:23] gerad: mape: yeah, behind schedule... [14:24] gerad: mape: real life came back with a vengence [14:24] femtoo has joined the channel [14:24] gerad: mape: ought to get to it this weekend [14:24] skampler has joined the channel [14:26] bmavity has joined the channel [14:26] bmavity: mornin' peeps [14:26] mape: gerad: Things tend to turn out that way :) [14:26] gerad: mape: yeah, too often sometimes [14:27] Alex-SF has joined the channel [14:28] mape: proppy: guess the path to fix it is to find out how php/ruby "fixes" the data before it saves it, or what node/formidable doesn't [14:29] danielqo has joined the channel [14:29] quirkey has joined the channel [14:30] cferris has joined the channel [14:30] quirkey has joined the channel [14:33] jetienne: maushu: are you around ? i need your google translate experience [14:33] V1: It's months ago since I saw the word real life in this channel. It usually about real time :) [14:34] maushu: Wut. [14:34] Utkarsh has joined the channel [14:34] jetienne: maushu: google translate insert space after [14:34] jetienne: err [14:35] jetienne: maushu: google translate insert space after #supertag or @superusername. i would like to remove those username+tags from the google translation. how do you do with annoncer ? [14:35] maushu: I don't. [14:35] jetienne: maushu: is it even possible to escape those words ? [14:35] maushu: Haven't you noticed that he does that anyways? [14:36] jetienne: maushu: nope i just playing with google translate and hit the issue. [14:36] proppy: mape: it seems that the ruby version get a file handle directly from the CGI [14:37] maushu: jetienne, I haven't found anything about preventing that, you could try your luck with http://code.google.com/intl/en/apis/ajaxlanguage/documentation/ [14:37] rakeshpai has joined the channel [14:38] stephenjudkins has joined the channel [14:38] jetienne: maushu: ok will keep you update if i do [14:39] mape: proppy: hmm [14:48] proppy: mape: I found a trick [14:48] proppy: content-disposition: form-data; name="imagedata"; filename="#{tmpfile}"\r [14:48] proppy: adding filename=something to the gyazo header [14:48] proppy: make formidable save the file to a tmp file [14:48] proppy: instead of providing raw data [14:49] proppy: and the file doesn't get corrupted [14:49] aheckmann has joined the channel [14:50] bradleymeck has joined the channel [14:50] proppy: mape: do you want a diff ? [14:50] Utkarsh has joined the channel [14:52] rauchg_ has joined the channel [14:52] alexo has joined the channel [14:52] vkd has joined the channel [14:53] ooooPsss: is the masteringnode book dead? [14:54] jetienne: ooooPsss: nope why do you think that [14:54] ooooPsss: still very incomplete but I understand is a new project. [14:55] alexo: hey guys, I got a connect.js specific question: is it possible to receive a req.body as fully parsed JSON object, i.e. {boolean: 'true'} turned into {boolean: true} [14:56] alexo: I'm making a POST request with data format 'application/json' [14:59] ivanfi has left the channel [15:00] zomgbie has joined the channel [15:00] Me1000 has joined the channel [15:00] bradleymeck: alexo 'true' isnt the exact same as true [15:01] alexo: right, that's exactly the problem ;) [15:01] bradleymeck: so how would it know when to make it into a boolean? im confused? [15:01] Utkarsh has joined the channel [15:01] alexo: btw, I'm using connect.bodyDecoder() [15:01] bradleymeck: it wont do that natively as it changes values [15:02] jetienne: is it the same with 'false' ? [15:02] nefD: if boolen: 'true', then "if ( boolean )" or "if ( boolean == true)" will both evaluate to true, i think :D [15:02] Ezku_ has joined the channel [15:02] nefD: same with boolean: 'false', actually :P [15:03] bradleymeck: 'true' !== true [15:03] digitalsanctum has joined the channel [15:03] nefD: 'true' !== true, correct.. but not 'true' != true [15:03] jetienne: yep, so if 'false' is converted to true, it is likely a misuse of API. if 'false' is converted to false. it is likely connect doing it on purpose [15:04] bradleymeck: 't' == true though [15:04] nefD: correct [15:04] nefD: 't' === true will evaluate to false [15:04] zith_: 'false' == true, right? [15:04] nefD: zith_: correct [15:04] jetienne: let him answer :) [15:04] Nohryb has joined the channel [15:04] nefD: false! [15:04] nefD: no.. true! fal- [15:04] bradleymeck: but true without quotes is valid json that connect doesnt change to a string [15:04] nefD: ACTION 's head explodes [15:05] Zuardi has joined the channel [15:05] jetienne: alexo: what is boolean: 'false' ? [15:05] jetienne: is=if [15:06] alexo: jetienne: same thing. [15:06] bradleymeck: i think he wants JSON.parse("{x:'true'}") to become {x:true} if im reading this right [15:06] rauchg_ has joined the channel [15:06] jetienne: alexo: same thing ? what do you mean. is it converted to true or false ? [15:07] alexo: bradleymeck: JSON.parse seems to convert the incoming {boolean: true} to {boolean: 'true'} in bodyDecoder.js [15:07] bradleymeck: ACTION goes to look at src [15:07] overra_ has joined the channel [15:08] jetienne: ACTION fails to get an answer :) [15:08] jetienne: ACTION goes back to google transalte post processing [15:08] maushu has joined the channel [15:08] abiraja: in redis, is there a way to HGETALL a bunch of keys at the same time? [15:09] timemachine3030 has joined the channel [15:09] bradleymeck: alexo, it uses JSON.parse which wont change types like that, check your input [15:10] alexo: bradleymeck: I will [15:10] Zuardi: abiraja: http://code.google.com/p/redis/wiki/MgetCommand ? [15:10] rauchg__ has joined the channel [15:10] spetrea has joined the channel [15:11] spetrea: hi [15:11] spetrea: I try to make a Faye.Client on server-side [15:11] spetrea: and to send something from server-side to client side and I have problems with that [15:11] bradleymeck: spetrea, provide a gist pls [15:12] rauchg_ has joined the channel [15:14] abiraja: Zuardi: that doesnt seem to work on hashes [15:14] Zuardi: ah sorry [15:15] rauchg__ has joined the channel [15:16] dilvie has joined the channel [15:16] Zuardi1 has joined the channel [15:17] cognominal: I am new to Node.js and skywriter. Reading around I see there are many package manages : seed, npm..... Any comment? [15:18] trotter: cognominal: I believe npm is kinda the standard these days [15:18] dgathright has joined the channel [15:18] cognominal: thx, trotter [15:18] dshaw: cognominal: npm [15:19] graouts has joined the channel [15:19] graouts: hi there [15:19] trotter: howdy [15:19] graouts: got a pretty newbie question [15:19] graouts: I'm using the built-in http module [15:19] cognominal: is howtonode.org the best ressource to get acquained with node.js? [15:20] graouts: in my http.createServer() callback, I'm not calling response.end(), but rather delaying this until I run some code on the server which is done async [15:20] graouts: this does not seem to be a very good idea, since somehow my request's data is not coming through [15:21] graouts: since I guess the client is not getting a 200 message to start POSTing the content [15:21] dshaw: cognominal: decent place to start. How's your JavaScript? [15:21] graouts: does that make sense? [15:21] Zuardi1: abiraja: yeah it doesnt seem to be possible to get that with a single command [15:22] tj has joined the channel [15:22] abiraja: Zuardi1: i see, thanks [15:22] alexo: bradleymeck: you were right, the input was bad. I didn't know I need to stringify my json object instead of sending it pure [15:22] cognominal: dshaw: not so good, but I think I can get it fast. I can read the node.js source but I need to a global view not to get lost in details. [15:22] bradleymeck: graouts provide a paste that exemplifies your problem [15:22] Zuardi1: abiraja: you could use multi if you need that to be atomic [15:23] graouts: bradleymeck: will do [15:23] graouts: what's a good past service? [15:23] graouts: s/past/paste [15:23] abiraja: Zuardi1: nope, it doesnt have to be atomic i suppose, it's just painful to do it recursively (like look up 10 comments) since the redis node client is async. [15:23] bradleymeck: gist.github.com [15:24] cognominal: dshaw: anyway I have "JS the good parts" on my side. [15:26] cognominal: too bad the site commonjs.org is down :( [15:26] dshaw: cognominal: back when I started with node, I forked ryah's chat app. Was a good orientation. http://github.com/ry/node_chat [15:26] trotter has left the channel [15:26] amerine has joined the channel [15:27] dshaw: cognominal: not sure how up-to-date it is, but it should still be a good place to start. [15:27] graouts: bradleymeck: http://gist.github.com/573835 [15:27] bradleymeck: cognominal, read the nodejs.org docs, it doesnt follow the commonjs api except with require [15:28] graouts: bradleymeck: what I want is for the client to get a message from my Node.js server when I'm done doing a bunch of stuff after receiving a "/build" request [15:28] dmcquay has joined the channel [15:28] cognominal: if I want to use skywriter (ex bespin) with node.js, any pitfall to know about? [15:28] zemanel has joined the channel [15:29] c4milo: cognominal: the package system, skywriter uses tiki [15:29] c4milo: and as far as I know it doesn't work with nodejs [15:29] bradleymeck: graouts, you need to not end the response until then, ie. at end of handle_json_from_client [15:29] dshaw: I think there were a couple bespin/node node knockout projects. Did any of them get open sourced? [15:29] spetrea: bradleymeck: http://gist.github.com/573836 [15:29] amerine has joined the channel [15:30] rtomayko has joined the channel [15:30] cognominal: dshaw, thx I will look at your chat app. [15:30] graouts: bradleymeck: if I just call response.end() in my handle_json_from_client(), then I never get data from the client [15:30] graouts: ie. I never get a 'data' event [15:30] niemeyer has joined the channel [15:31] siong1987 has joined the channel [15:32] graouts: bradleymeck: note the use of CORS in this case [15:32] bradleymeck: well if you are using cors you arent handling the cors request so the request wouldnt go through [15:33] bradleymeck: cors sends 2 requests remember [15:33] graouts: I need to differentiate both [15:33] marshall_law has joined the channel [15:33] graouts: I need to send a 200 for the first one, and the URL I created to the second one, correct? [15:34] bradleymeck: you need to fill out the cors headers properly on that 200 but yes [15:34] siong1987 has joined the channel [15:34] graouts: I guess I get different headers in the first request to make it clear that it's the first request [15:35] graouts: ah, it seems the first request is an OPTIONS, and the second one a POST [15:35] graouts: I should have rtfm bradleymeck [15:35] maushu has joined the channel [15:35] siong1987 has joined the channel [15:35] spetrea: hi, I am having problems with faye [15:35] bradleymeck: spetrea, i think you are mixing client and server code [15:35] bradleymeck: look at http://github.com/jcoglan/faye/blob/master/examples/node/app.js [15:36] spetrea: bradleymeck: I have separated them in two parts [15:36] bradleymeck: note the attach and lack of Faye.Client on server side [15:36] spetrea: spetrea: the comments //CLIENT and //SERVER show this [15:36] bradleymeck: i know [15:38] spetrea: faye 0.3.4 here [15:38] spetrea: apparently .attach is not needed in it.. [15:39] spetrea: maybe for the latest version? [15:40] bradleymeck: idk how it was in the past [15:43] nefD: i wanna make a quickie node based game of acrophobia :D [15:59] V1 has joined the channel [16:00] Sembiance: ACTION hasn't seen any twitter updates here in a while. [16:01] jetienne: Sembiance: ping maushu [16:01] Sembiance: maybe _announcer is broken/disabled [16:01] clintandrewhall has joined the channel [16:01] Sembiance: jetienne: just did, thanks :) [16:02] PyroPeter has joined the channel [16:02] _announcer has joined the channel [16:03] cognominal: dshaw, thx, your node_chat was exactly what I needed at that point :) [16:03] digitals1aghetti: woop, finished my first proper nodejs library [16:04] digitals1aghetti: http://github.com/tanepiper/node-bitly [16:04] tav has joined the channel [16:04] _announcer: Twitter: "The core members node.js Tashika full Joyent. I'm going on or anything." [ja] -- Masaki Komagata. http://twitter.com/komagata/status/24117084537 [16:04] tobeytailor has left the channel [16:04] ashleydev has joined the channel [16:05] Sembiance: yah, _announcer is back :) [16:06] dshaw: cognominal: great [16:06] graouts: digitals1aghetti: you were tweeting me earlier, hi! [16:07] _announcer: Twitter: "I wish also node.js spidermoneky CouchDB from the Utsuse." [ja] -- Yohei Sasaki. http://twitter.com/yssk22/status/24117363146 [16:07] mau has joined the channel [16:08] gerred has joined the channel [16:09] Yuffster has joined the channel [16:09] jakehow has joined the channel [16:09] clintandrewhall has joined the channel [16:09] clintandrewhall has left the channel [16:10] digitals1aghetti: graouts: hai! [16:10] stephank has joined the channel [16:16] _announcer: Twitter: "Trying out JS.Class in a Node project I'm cooking up on the side http://bit.ly/aG22LD" -- Luke Melia. http://twitter.com/lukemelia/status/24118075078 [16:16] tapwater has joined the channel [16:16] hayeah has joined the channel [16:18] nefD: anyone using a module hot reloading method/module that they'd reccomend? preferably one that will cooperate with express without much tinkering? [16:19] nwhite has joined the channel [16:19] V1: OMG yay! after 2:30 hours of downtime we are back up lol [16:19] JohnnyL has joined the channel [16:20] _announcer: Twitter: "Node.js Knockout Traffic http://post.ly/wlrn" -- Gerad Suyderhoud. http://twitter.com/gerad/status/24118367839 [16:20] Alex-SF has joined the channel [16:20] dgathright_ has joined the channel [16:23] ooooPsss: V1: what's your website? I'm curious to know ;) [16:23] V1: ooooPsss: http://speedo.no.de/ [16:24] ooooPsss: ha nice! [16:24] V1: Glad it's finally back up again lol [16:24] FuzzYspo0N: its coming along V1 [16:24] tjholowaychuk: V1: very slick :) [16:24] _announcer: Twitter: "@bitly I've just released a bit.ly client library for node.js, http://github.com/tanepiper/node-bitly #bitly #nodejs" -- Tane Piper. http://twitter.com/tanepiper/status/24118726612 [16:24] clintandrewhall has joined the channel [16:25] V1: FuzzYspo0N: tjholowaychuk: Real time following of users is also implemented. Even DOM events are fired :P, so i'm trying to go away from the whole heat map only thing and make it a real, real time usability "framework" [16:26] tjholowaychuk: V1: awesome! let me know when you get it wrapped up [16:26] V1: tjholowaychuk: Hoping to have it online next week. Just ironing out the last few bugs [16:26] FuzzYspo0N: yea V1, keep us posted [16:27] muk_mb: is npm doing something weird? I can't install express or connect [16:27] muk_mb: I get "No 'name' field found in package.json" [16:27] V1: Still got to implement a few DOM events like input focus and automagically add the typed inputs in there so I can do a real "simulation". [16:27] tjholowaychuk: wicked [16:27] tjholowaychuk: i did something similar wayyy back as a proof of concept [16:27] tjholowaychuk: still on my github i think [16:27] tjholowaychuk: but its rough [16:28] digitals1aghetti: muk_mb: i had problems with npm today, it won't seem to auth me on my machine [16:28] aubergine_ has joined the channel [16:28] _announcer: Twitter: "Ruby on Rails Developer & Javascript (jQuery, Node.js) App Programmer - Harrisonburg, VA http://bit.ly/cvWn82 #jobs #iPad" -- iPad Jobs. http://twitter.com/ipadjobs/status/24119030543 [16:28] V1: I had it working even during the NKO, but I had to delete it because my following algorithm got wonky [16:28] mu-hannibal has joined the channel [16:28] FuzzYspo0N: seems many are [16:28] digitals1aghetti: so u haven't been able to push my package :( [16:29] _announcer: Twitter: "Which database best fits node.js? - nodejs | Google Groups: http://bit.ly/ax5O48" -- junichi_y. http://twitter.com/junysb3/status/24119139659 [16:29] nefD: tjholowaychuk: I'm trying to figure out a good way to introduce module hot-reloading into my express app.. any suggestions? I'm wanting to continue using spark on top of having the module reloading.. i was thinking maybe combining spark and node-supervisor or something? [16:30] Nohryb has joined the channel [16:30] tjholowaychuk: nefD: no clue sorry, I stay away from those reloader things, not something I feel that I need lots I guess [16:30] tjholowaychuk: I dont think they make me more productive [16:30] benburkert has joined the channel [16:30] tjholowaychuk: and most that I did try back in the day were kinda sketchy [16:31] digitals1aghetti: nefD: have you seen http://github.com/aaronblohowiak/restartr ? [16:31] nefD: tjholowaychuk: In my case, im dev'ing a browser based game which has multiple .js files containing things like data and joose classes.. would be sweet if i could have those reload as needed without having to restart my server.. i guess if i could somehow do a graceful restart of spark it'd be fine though [16:31] nefD: digitals1aghetti: Hmm no, checking it out now.. thanks for the linkage [16:32] _announcer: Twitter: "I'm trying really hard to see what #nodejs offers that doesn't exist already: http://is.gd/f4jer . No proper RDMS, email support etc." -- Dan Jacob. http://twitter.com/zeemonkee/status/24119365549 [16:32] jesusabdullah: There are a lot of restarting/watching node apps out there, but none of them seem particularly satisfying to me [16:32] digitals1aghetti: nefD: if you're looking for something more dynamic, maybe check out http://github.com/haxd/scriptable-node-irc-bot/blob/master/index.js [16:33] jesusabdullah: !tweet @zeemonkee Check out Dnode! http://github.com/substack/dnode/ [16:33] bradleymeck: !tweet @zeemonkee its built for high numbers of connections and streaming content, tools for the job [16:33] digitals1aghetti: it's using loadable scripts, could maybe combine it with checking a file for changes and reload? [16:34] nefD: digitals1aghetti: Hmm, cool.. thanks.. Though, I guess the cleanest route would be if I could just gracefully shutdown and restart (via spark, so i can have multiple processes) daemon style, so any pending requests are completed first [16:34] nefD: i had a couple working daemon style scripts a while back using node-daemon, i suppose ill check those out again [16:37] zemanel has joined the channel [16:37] ooooPsss: V1: did you release the source code of speedo? [16:38] V1: ooooPsss: As much as I wanted, but it seems i got fucked by IP ( intellectual properties ), so I'm discussing things with my boss [16:38] ooooPsss: ok [16:40] langworthy has joined the channel [16:41] bradleymeck: quick, recreate that stuff someone! [16:42] _announcer: Twitter: "Pixel Ping: A node.js Stats Tracker http://t.co/nY9b88Y" -- Emidio Andrea Bianco. http://twitter.com/emidiobianco/status/24120155347 [16:42] bpot has joined the channel [16:42] x_or has joined the channel [16:44] _announcer: Twitter: "what callback will #mongoose fire, if it doesn't find a matching item? It isn't error()... #node.js #mongodb" -- Georg_Tavonius. http://twitter.com/Georg_Tavonius/status/24120316730 [16:45] ahc has joined the channel [16:46] dgathright has joined the channel [16:47] siculars has joined the channel [16:48] bradleymeck: well actually i have the event system for dispatching, would be amazing if you could do file uploads but thats probably way past capable unless flash can screen scrape [16:51] Astro has joined the channel [16:52] pydroid has joined the channel [16:53] ooooPsss has joined the channel [16:53] pydroid has joined the channel [16:54] proppy has joined the channel [16:54] paulwe has joined the channel [16:54] proppy: mape: ping [16:55] kjeldahl has joined the channel [16:55] kjy112 has joined the channel [16:56] ooooPsss has joined the channel [16:56] voxpelli has joined the channel [16:57] proppy: mape: http://github.com/felixge/node-formidable/blob/master/lib/formidable/incoming_form.js#L147 there something special done in formidable in case filename is set in content disposition header [16:58] ryah has joined the channel [16:58] proppy: I think it could be a good startpoint for hunting your issue [16:58] dgathright has joined the channel [16:59] clintandrewhall has joined the channel [16:59] m64253 has joined the channel [16:59] _announcer: Twitter: "only speaks in node.js!! Java Watch Out, Here Comes JavaScript http://j.mp/bpIHF8" [pt] -- Druma Kina. http://twitter.com/drumakina/status/24121473431 [16:59] V1: bradleymeck: file upload replication would be rather difficult to achieve [17:01] Utkarsh has joined the channel [17:01] themiddleman has joined the channel [17:02] FuzzYspo0N has left the channel [17:03] BrianTheCoder has joined the channel [17:05] marshall_law has joined the channel [17:05] rnewson has joined the channel [17:05] siong1987 has joined the channel [17:05] benv has joined the channel [17:06] _announcer: Twitter: "@aaronheckmann Time! Given an async (as in: node.js) recursive dirwalk function, how do I determine if I'm don... http://bit.ly/aQpIzo" -- Kathlyn Q. http://twitter.com/KathlynQ/status/24122005450 [17:06] tekky has joined the channel [17:11] noahcampbell has joined the channel [17:12] dmcquay has joined the channel [17:12] stagas has joined the channel [17:14] Alex-SF has joined the channel [17:16] daniellindsley has joined the channel [17:16] bradleymeck: V1 yea, i think you could at least open the dialog though [17:16] daniellindsley has left the channel [17:16] benburkert has joined the channel [17:16] V1: bradleymeck: Yeah but if i just emit DOM click event on it, it would probably get activated already [17:19] Zuardi has joined the channel [17:20] _announcer: Twitter: "If anyone has any tips for profiling #nodejs I'd appreciate it. Researching scale and potential bottlenecks." -- Daniel Erickson. http://twitter.com/TechWraith/status/24123117207 [17:22] JohnnyL has joined the channel [17:24] clintandrewhall has joined the channel [17:24] rwaldron_ has joined the channel [17:24] ben_alman has joined the channel [17:24] figital has joined the channel [17:24] boaz has joined the channel [17:26] digitals1aghetti: what is with these random twitter retweet bots [17:26] digitals1aghetti: polluting my search terms [17:26] bradleymeck: !tweet @TechWraith node -prof test.js will give you v8.log [17:27] rwaldron has joined the channel [17:27] fictorial has joined the channel [17:28] bradleymeck: !tweet @KathlynQ whatever you are using for async needs to emit an end event or a count of number of files [17:29] c4milo has joined the channel [17:29] _announcer: Twitter: "jsdom + jQuery in 5 lines with node.js - blog.nodejitsu.com ... http://bit.ly/cz8xCY" -- Angela Young. http://twitter.com/clearvisage/status/24123777933 [17:30] _announcer: Twitter: "In summary, you can add knowledge mongoDB & nodejs. Ace. Autumn promises to be fruitful." [ru] -- eudj1n. http://twitter.com/eudj1n/status/24123778777 [17:30] Egbert9e9 has joined the channel [17:31] mu-hannibal_ has joined the channel [17:31] t3h_awesome has joined the channel [17:35] mitkok has joined the channel [17:35] V1: Never had some much development fun as this project. As I already locked all browser that doesn't support canvas natively I only have good browsers to work with \o/ [17:36] _announcer: Twitter: "having fun with #nodejs (node.js)" -- Rene H. Møller. http://twitter.com/rhmoller/status/24124253787 [17:37] _announcer: Twitter: "Why You Should Pay Attention to Node.Js http://j.mp/9cveDy" -- Druma Kina. http://twitter.com/drumakina/status/24124308545 [17:38] LowValueTarget has joined the channel [17:39] Locke23rus has joined the channel [17:39] eazyigz: I tried using encodeURIComponent on a url, but it didn't encode the ampersands [17:39] eazyigz: do I have other options? [17:40] bradleymeck: v8 encodeURIComponent("&") [17:40] v8bot: bradleymeck: %26 [17:41] eazyigz: I have to use javascript's replace function? [17:41] eazyigz: because & doesn't get encoded [17:41] aho: apparently it does get encoded... see above [17:41] eazyigz: at least not in firefox... [17:42] aho: >>> encodeURIComponent('a&b') [17:42] aho: "a%26b" [17:42] aho: works fine in firefox [17:42] bradleymeck: encode() does not [17:42] bradleymeck: v8 encode("&") [17:42] v8bot: bradleymeck: ReferenceError: encode is not defined [17:42] aho: also, check the code - not the stuff you see in the status bar [17:43] bradleymeck: f you v8 for taking that out [17:43] aho: in the statusbar it's unescaped [17:43] eazyigz: oh.... [17:43] eazyigz: its v8 fault??? [17:43] bradleymeck: no its not [17:43] eazyigz: cuz I am calling this from nodejs [17:43] bradleymeck: encode != encodeURIComponent [17:43] mr_daniel has joined the channel [17:44] Anti-X has joined the channel [17:46] eazyigz: bradleymeck: it works in firebug console, but when I call it in nodejs it doesnt [17:46] sudoer has joined the channel [17:46] mies has joined the channel [17:46] bradleymeck: i think it is getting unescaped by something, the escape works fine in node [17:46] _announcer: Twitter: "I'm having way to much fun with node.js, doing some performance tests.. MongoDB vs Redis so I can start implementing recording of sessions" -- Arnout Kazemier. http://twitter.com/3rdEden/status/24124983319 [17:47] bradleymeck: could be the browser could be a template engine, idk [17:48] Yuffster has joined the channel [17:48] eazyigz: fuck, I am trying to encode a long url to pass it my python child process [17:48] eazyigz: and stuck on this damn problem [17:49] bradleymeck: print out what python recieves before it does anything [17:49] bradleymeck: print out what node gives you immediately after encodeURIComponent [17:49] bradleymeck: are they different? [17:49] eazyigz: bradleymack: python receives everything until & [17:49] bradleymeck: and node prints out? [17:49] eazyigz: nodejd apparently encodes the whole url [17:49] Utkarsh has joined the channel [17:50] bradleymeck: then something in the sending or before the sending is messing with it [17:50] bradleymeck: how are you passing the url in? a bash exec? [17:52] eazyigz: shit, my bad. apparently I wasn't encoding it on the client side. Because node isn't getting the proper url in the GET [17:53] bradleymeck: maushu i wish i could give pull requests to announcer XD, just to fix the html entities [17:53] dohtem has joined the channel [17:53] dohtem has joined the channel [17:54] _announcer: Twitter: "Why is it a recurring discussion on the Node.js mailing list as to which database fits node best? If you write a decent driver they all do." -- Micheil Smith. http://twitter.com/miksago/status/24125472797 [17:55] bradleymeck: !tweet @miksago, double complete flat files all the way [17:56] deepthawtz has joined the channel [17:58] Anti-X: ms access! [17:59] zapnap has joined the channel [18:00] micheil has joined the channel [18:00] micheil: bradleymeck: well, if that suits your application, then so be it. [18:04] bcg has joined the channel [18:04] tekky has joined the channel [18:05] Utkarsh has joined the channel [18:05] Anti-X: /dev/null database all the way [18:05] _announcer: Twitter: "@miksago That, and this silly talk of 4N - there is an assumption that #nodejs = #nosql which is just stupidity." -- Tane Piper. http://twitter.com/tanepiper/status/24126234778 [18:06] _announcer: Twitter: "@tanepiper what? where's this one? That's really odd to have the association between node.js and nosql." -- Micheil Smith. http://twitter.com/miksago/status/24126315163 [18:08] V1: piping you data to dev/null is the fastest way database there is and it support sharding !@ [18:08] digitalspaghetti: micheil: yea, it's just silly people talking [18:08] digitalspaghetti: :( [18:08] skohorn has joined the channel [18:09] femtoo has joined the channel [18:10] qFox has joined the channel [18:13] hobson_ has joined the channel [18:23] Utkarsh has joined the channel [18:24] tekky has joined the channel [18:27] MikhX has joined the channel [18:28] rauchg_ has joined the channel [18:28] pydroid has joined the channel [18:31] pengwynn has joined the channel [18:34] atourino has joined the channel [18:39] techwraith has joined the channel [18:40] techwraith: So, I ran node --prof app.js and it gave me v8.log - Now what do I do with the log? I'm assuming it's using this: http://code.google.com/p/v8/wiki/V8Profiler - am I right? [18:40] tyfighter has joined the channel [18:40] mape: techwraith: http://github.com/mape/node-profile [18:41] mape: might want to take a look at that [18:41] techwraith: mape: thanks, I'll look into it now [18:41] MikhX_ has joined the channel [18:41] FuzzYspo0N has joined the channel [18:42] BrianTheCoder has joined the channel [18:42] quirkey_ has joined the channel [18:44] techwraith: mape: looks great, now to figure out how to interpret the analysis ;) [18:44] mape: Hehe yeah [18:45] techwraith: mape: have any good links to help me figure out what I'm looking at? [18:45] mape: Not really [18:47] V1: mape: is node-profile working on mac osx yet? or is it still under assumption you are running on linux and use the wrong V8 log parser? [18:47] mape: V1: Worked for me on OSX [18:48] temp02 has joined the channel [18:48] mape: And know others who have used it on OSX [18:48] V1: mape: might be that I was running and older version of node-profile than :p [18:48] mape: Well there hasen't really been any changes [18:49] frodenius: has anybody worked on a ctypes like dynamic library system for node? [18:49] tjholowaychuk: didnt work for me a while ago [18:51] mitkok has joined the channel [18:55] HAITI: rain rain rain [18:56] xraid: oracle oracle oracle [18:56] HAITI: =) [18:56] vnguyen has joined the channel [18:56] clintandrewhall has joined the channel [18:57] ajpiano has joined the channel [18:57] MikhX has joined the channel [18:57] luc4s has joined the channel [18:57] luc4s has left the channel [19:01] saikat has joined the channel [19:01] dilvie has joined the channel [19:01] techwraith: mape: Had any luck running node-profile with Express? [19:02] Sami_ZzZ has joined the channel [19:05] temp01 has joined the channel [19:05] quirkey has joined the channel [19:07] c4milo1 has joined the channel [19:09] programble has joined the channel [19:11] aubergine has joined the channel [19:11] rnewson has joined the channel [19:12] [[zz]] has joined the channel [19:16] evanpro has joined the channel [19:18] bradleymeck: frodenius i plan on hacking out libffi bindings in the next week or so [19:19] frodenius: cool [19:19] mtodd_ has joined the channel [19:19] TooTallNate has joined the channel [19:19] bradleymeck: gotta finish 4 things on node-sfml first [19:19] dmcquay has joined the channel [19:21] Sami_ZzZ has joined the channel [19:23] TooTallNate: Hey if anybody here knows anything about Icecast/MP3 audio data, would you try taking a look at my current problem?: [19:23] TooTallNate: http://stackoverflow.com/questions/3687617/icecast-metadata-extracting-produces-artifacts-in-output-audio-data [19:23] cardona507 has joined the channel [19:24] wink_: tooltall: have you verified that the garbage is in fact meta deta? [19:25] wink_: woops [19:25] pquerna: has anyone noticed sometimes child process exit events aren't getting fired? [19:26] bradleymeck: i generally havent used them i just watch the stdout :( [19:28] HAITI: pquerna I saw that a while back didnt investigate kinda forgot abou tit [19:28] TooTallNate: wink: It's definitely not the same as the input file. [19:29] TooTallNate: wink: Running the same script on the output file, I can't extract the metadata the same way [19:29] HAITI: I wasnt convincned whether it was my fault or not at the time [19:29] Anti-X: TooTallNate, what kind of garbage do you get? [19:29] Anti-X: clicks? or [19:29] wink_: TooTallNate: i guess what im asking is, do you know what the garbage is? is it added data or missing data that is causing your corruption? [19:30] Anti-X: make sure you remove any whitespace surrounding the metadata too... [19:30] pquerna: HAITI: yeah. i have a test case that intermitently fails on osx, and its using a child_process, ps etc don't show the pid running anymore. [19:30] HAITI: im on osx as well [19:31] HAITI: 10.6.3 [19:32] pquerna: same [19:34] TooTallNate: Anti-X: Ya, clicks I would decribe it as [19:34] MikhX has joined the channel [19:34] Anti-X: are you reading the icy-metaint header? [19:34] Anti-X: and using it? [19:35] TooTallNate: Anti-X: Yes [19:35] Anti-X: because if you extract exactly that number of bytes then there shouldn't be an error [19:35] isaacs has joined the channel [19:35] TooTallNate: Anti-X: I mean, look at the script. It's synchronous and like 60 LoC, so it's pretty straightforward [19:36] wink_: TooTallNate: the original plays ok? [19:36] TooTallNate: wink: The original stream contains the metadata, so it includes similar clicks [19:36] Anti-X: // Get 'metaint'-1 bytes of Audio data into a Buffer. [19:36] Anti-X: why -1? [19:37] TooTallNate: I dunno. That's what made the metadata extracting work properly [19:37] TooTallNate: Anti-X: Uncomment the `console.error` calls at the bottom to see the extracted metadata [19:39] justin___ has joined the channel [19:41] Anti-X: dunno [19:41] diofeher has joined the channel [19:42] diofeher: anyone have a link explaining how to do a tcp client? [19:42] blaines has joined the channel [19:42] TooTallNate: Anti-X: My only thought is that Node isn't printing the Buffers to stdout in order, but I don't think thats happening [19:43] diofeher: i'm passing callback as net.createConnection("8124", "127.0.1", function(stream) { [19:44] wink_: TooTallNate: im not hearing clicks in out.mp3 ?? [19:44] mikew3c_ has joined the channel [19:45] TooTallNate: wink: I'm pretty sure they're there. Am I just going crazy? [19:45] Anti-X: diofeher, 127.0.0.1 [19:45] diofeher: Anti-X, ops, this is right [19:45] wink_: i just listened to it via audacity i didnt hear any of the usual mp3 corruption [19:45] diofeher: but i'm doing in right way? [19:45] wink_: what time in the mp3 are you hearing it? [19:46] Anti-X: diofeher, no [19:46] Anti-X: var stream = net.createConnection(...); stream.on('data', function(data) {..}); [19:46] TooTallNate: wink: I'm using VLC and OSX's Finder for playback [19:47] diofeher: Anti-X, oooh thanks man :) [19:47] wink_: TooTallNate: use something that will tell you how far into the mp3 you are :p [19:47] Anti-X: see http://nodejs.org/api.html#net-stream-214 [19:48] diofeher: Anti-X, thx a lot :) [19:48] TooTallNate: wink: Intersting, I don't hear any clicking when using Audacity [19:49] wink_: i wonder if audacity is smart enough to filter it.. [19:49] wink_: or if vlc is being a dick [19:49] tj has joined the channel [19:50] TooTallNate: ffmpeg also has trouble converting out.mp3 [19:51] dilvie has joined the channel [19:52] TooTallNate: wink: "ffmpeg -f mp3 -i out.mp3 -acodec libvorbis out.ogg" works, but poops out a bunch of error messages about: [19:52] TooTallNate: wink: Error while decoding stream #0.0 [19:52] wink_: ah so audacity is likely correcting it then... [19:52] edw````` has joined the channel [19:52] wink_: firefox: no process found [19:52] wink_: erm [19:53] kersny has joined the channel [19:56] mtodd has joined the channel [19:57] jakehow has joined the channel [19:58] bradleymeck: ACTION ponders where creationix ran off to [19:58] rwaldron has joined the channel [19:59] AAA_awright_ has joined the channel [20:00] wink_: tootall: your problem is your first read is off by one [20:01] maushu: Been playing around with the idea of a gui toolkit for node.js [20:02] bradleymeck: maushu look into my node-sfml im working on the event system today [20:02] zith_: a new one or bindings to an existing one? [20:03] maushu: sfml is not a gui. [20:03] bradleymeck: oh you mean w/ buttons and junk [20:04] sudoer has joined the channel [20:04] mape has joined the channel [20:05] Zuardi has left the channel [20:06] diofeher has left the channel [20:06] Zuardi has joined the channel [20:06] Zuardi has left the channel [20:07] vdd has joined the channel [20:07] vdd: how can i implement a "sys.gets" in stream? [20:08] webr3: http://www.youtube.com/watch?v=Eq3CuMDXaPs [20:09] rnewson has joined the channel [20:10] TooTallNate has joined the channel [20:10] bradleymeck: vdd var stdin = process.openStdin(); std.on("data",function(line){...}) [20:12] wink_: TooTallNate: your problem is your first read is off by one [20:12] rnewson has joined the channel [20:13] sveimac has joined the channel [20:13] TooTallNate: wink: Ok, I'll try it out. [20:13] vdd: webr3, haha nice music [20:13] vdd: bradleymeck, thanks [20:13] wink_: get rid of the -1 on the first slice [20:14] mtodd_ has joined the channel [20:14] olauzon has joined the channel [20:15] TooTallNate: wink: you mean the first slice inside the loop? [20:16] wink_: TooTallNate: yes [20:18] TooTallNate: wink: Youre a genius! Works perfect! [20:18] wink_: i dunno about all that, glad it works though :> [20:18] TooTallNate: lol [20:19] zum_: /bye [20:19] zum_: oh nice [20:19] wink_: hah [20:19] devinus_ has joined the channel [20:20] zum has joined the channel [20:20] x_or1 has joined the channel [20:20] Anti-X: i just asked you why -1 [20:20] Anti-X: and it took you 15 mins to remove it? :P [20:21] TooTallNate: Anti-X: Sorry, I had to go to the other office :P [20:21] Anti-X: 45 mins even [20:21] dnyy has joined the channel [20:21] techwraith: mape: Any chance node-profile can output to a log file? [20:22] Guest4619: techwraith: node-profile > my.log ? [20:22] TooTallNate: Now's the harder part though, of trying to convert that synchronous logic into asynchronous to work with a 'net' Cleint [20:23] Athox has joined the channel [20:23] techwraith: tjholowaychuk: lol, thought of that right after asking the question [20:23] tjholowaychuk: :p [20:28] digitalspaghetti: woop, 54 followers now for nodemodules :D [20:28] digitalspaghetti: that's 30 in the last two hours, not bad [20:29] TooTallNate: where is nodemodules? [20:29] mape: http://twitter.com/nodemodules [20:30] TooTallNate: lol, ah ok. Thought it was a GitHub repo at first [20:31] saikat has joined the channel [20:31] digitalspaghetti: i would put it up, but the code is rather crappy just now :D [20:32] digitalspaghetti: and the app basically runs on a setInterval loop and started and run in a screen session [20:32] CIA-77: node: 03Paul Querna 07v0.2 * r92fb664 10/ (3 files in 2 dirs): [20:32] CIA-77: node: Expose fingerproint from getPeerCertificate [20:32] CIA-77: node: Expose the SHA1 digest of the certificate as the fingerprint attribute in [20:32] CIA-77: node: the object returned by getPeerCertificate() (+7 more commits...) - http://bit.ly/9Bus3W [20:32] mape: digitalspaghetti: might wantto change the image, the current one looks kinda horrid [20:33] digitalspaghetti: yea, i just used the one off npm.mape.me [20:33] mape: digitalspaghetti: looks like it resizes poorly [20:33] digitalspaghetti: i should throw something together in photoshop [20:33] digitalspaghetti: yea, it was a gif already so didn't work great, but it wasn't my top priority [20:33] mape: hehe yup [20:35] EyePulp has joined the channel [20:38] Tim_Smart has joined the channel [20:40] marshall_law has joined the channel [20:41] isaacs: pquerna, mape, digitalspaghetti: you should all be using _changes. [20:41] mape: isaacs: ? [20:41] isaacs: for nodul.es, npm.mape.me, and @nodemodules [20:41] isaacs: http://isaacs.couchone.com/jsregistry/_changes [20:42] mape: Hmm I'm not doing anything with changes? [20:42] digitalspaghetti: mape: what do you think of the new logo? [20:42] isaacs: this'll give you a "results" array of objects, each of which has an "id" which is the name of a package that was updated in some way [20:42] mischief has joined the channel [20:42] mape: digitalspaghetti: hmm that doesn't have anything to do with npm? [20:43] digitalspaghetti: i'm not creative like that :) I just did a ccsearch for 'modules' and found a colourful image [20:43] digitalspaghetti: Dammit Jim! i'm a coder, not a designer [20:43] JimBastard has joined the channel [20:44] digitalspaghetti: isaacs: any chance you could include with id a version (i.e. the package release)? [20:44] isaacs: it'll also give you a last_seq id. [20:44] isaacs: digitalspaghetti: this is something couch gives me, not anything i wrote. [20:44] digitalspaghetti: just as standard _view? [20:44] isaacs: so, once you have a sequence id (and here's where it gets awesome) you can do this: [20:45] isaacs: http://isaacs.couchone.com/jsregistry/_changes?since=991&feed=longpoll [20:45] isaacs: and then it'll hang the connection open *until there's something new* [20:45] isaacs: digitalspaghetti: you're tane, right? [20:45] digitalspaghetti: isaacs: yea [20:45] isaacs: kewl [20:46] isaacs: so, yeah, i'm not sure if there's a way to make _changes show the doc, and all the couch people are playing in the woods right now [20:46] digitalspaghetti: ahh, is there something else i can then request for the version ala http://twitter.com/rubygems [20:46] sveimac has joined the channel [20:46] micheil: hmm.. the ways people meet and know each other are always interesting [20:47] isaacs: digitalspaghetti: so, the logic could be: whenever you get a new result in the _changes feed, fetch registry.npmjs.org/ [20:47] digitalspaghetti: so for example 'bitly (1.0.1) http://bit.ly/a08bKq' if i did an update [20:47] digitalspaghetti: ahh, of course [20:47] isaacs: digitalspaghetti: so you'll still have to make a second fetch for the data, but at least you won't have to fetch the whole derned list every 5 minutes. [20:47] isaacs: digitalspaghetti: this way, you're only fetching what you need, and only when you need it. [20:48] digitalspaghetti: indeed [20:48] isaacs: digitalspaghetti: i could add something like registry.npmjs.org//-/versions or something to just list out the versions, i guess. [20:49] digitalspaghetti: no, i think that would be fine actually, it's still less data [20:49] digitalspaghetti: oh i see what you mean, yea [20:49] digitalspaghetti: i suppose that would reduce the load of how much is fetched [20:50] olauzon_ has joined the channel [20:51] programble has joined the channel [20:52] digitalspaghetti: isaacs: to your email question, bitly and simplesmtp [20:52] isaacs: digitalspaghetti: kewl [20:52] digitalspaghetti: i take it i can just update my .npmrc file manually? [20:54] isaacs: digitalspaghetti: sure. [20:55] isaacs: digitalspaghetti: i think you can also log into http://isaacs.couchone.com/_utils with your npm username and password and tinker with your user record or the pacakges that you own. [20:55] isaacs: digitalspaghetti: i *very* *strongly* recommend making changes through the npm client whenever possible, but this is an option of last resort. [20:56] CIA-77: node: 03Ryan Dahl 07v0.2 * rda235fa 10/ (4 files in 3 dirs): bump version to v0.2.1 - http://bit.ly/9Ot7AK [20:56] MikhX has joined the channel [20:57] isaacs: digitalspaghetti: you can also replicate the data over to some other couchdb instance, and do other fun things with it [20:57] webr3: http://www.youtube.com/watch?v=oJ1UsLoPX3E firefox 4 audio api html5/webgl etc [20:58] sonnym has joined the channel [21:01] vdd: hey, i'm doing a tcp chat... when my client send message, and i set my server to send the message too, only stream that sent receive the message... i was wondering if i can iterate over streams connected to server... is it possible? [21:02] digitalspaghetti: isaacs: cool [21:02] bradleymeck: vdd if you keep track of them yourself [21:03] micheil: vdd: a good way of keeping track of them (I've found) is by using a singularly linked list of clients, but Objects and Arrays work good as well [21:03] pyronicide has left the channel [21:03] vdd: micheil, can u show me your code? [21:03] stagas: webr3: cool stuff [21:04] micheil: vdd: http://github.com/miksago/node-websocket-server/ [21:04] isaacs: digitalspaghetti: http://isaacs.couchone.com/jsregistry/_changes?show_docs=true&feed=continuous [21:04] micheil: it's under lib/ws/manager [21:04] micheil: iirc. [21:04] isaacs: thanks to chewbranca in #couchdb [21:04] marshall_law has joined the channel [21:04] mbrochh has joined the channel [21:05] mbrochh has joined the channel [21:05] FuzzYspo0N: awesome ryah [21:06] vdd: micheil, nice stuff [21:06] micheil: vdd: I wouldn't say go with a linked list until you've tried the other methods of storing connections and found the one that is right for you. [21:06] pyronicide has joined the channel [21:07] micheil: / right for your application [21:07] zith_: how are arrays implemented in v8? [21:07] micheil: in the case of a websocket server, I have two needs: to be able to add and remove clients extremely quickly, and to be able to iterate extremely quickly [21:08] vdd: micheil, i don't care about order or length... i just want to store them... :) [21:08] vdd: i think i'm go with array [21:08] micheil: vdd: go with that then [21:08] vdd: thanks micheil [21:08] micheil: I went with the singularly linked list after a fair bit of trial and error [21:09] HAITI: micheil how do you test lots of connections to ws server? [21:09] micheil: HAITI: simple reload tests [21:09] thinker has joined the channel [21:09] micheil: as well as bulk connecting and disconnecting [21:09] isaacs: chewbranca: yo [21:09] chewbranca: isaacs, so what all functionality are you adding to your jsregistry couchdb app? [21:09] micheil: HAITI: it's no rocket science really. [21:09] isaacs: chewbranca: so, yeah, there are some people that are polling the main registry page right now, and doing creative things with the data. [21:10] HAITI: Nope [21:10] isaacs: chewbranca: siting on the _changes feed would be more productive. [21:10] HAITI: just wondering what method you were using [21:10] isaacs: chewbranca: ie, efficienter, etc. but really, i'm not doing anything with it but fixing the occasional bug. [21:11] V1 has joined the channel [21:11] marshall_law has joined the channel [21:11] chewbranca: isaacs, nice. I think it would be nice to grab the data from the registry page so you can go look at individual projects, see the various verions and links to the projects as well as being able to search on projects by who created them and what not [21:11] isaacs: suresure [21:11] isaacs: but show_docs=true should give you that anyway, right? [21:11] FuzzYspo0N: isaacs: cool [21:11] logix812 has joined the channel [21:12] mape: isaacs: Have the time to help out reseting my npm account? The auth data was lost when my drive died [21:12] chewbranca: isaacs, show_docs=true will dump the raw json of the document that was updated yes, I just mean along the lines of creating a human readable format [21:12] logix812: when leaving a response open.. it seems I have to send data down it, prime it a bit, before I can start sending my actual data [21:12] chewbranca: one of the things I find myself using the registry for is finding github links to the actual projects [21:12] isaacs: mape: if you have a recent version of npm, you can just do "npm adduser" again and enter the same username and password and email, and it'll auth and whatnot. [21:12] mape: isaacs: ah k [21:12] dicon has joined the channel [21:12] chewbranca: and it can be challenging on the eyes to read a giant json blob [21:12] isaacs: mape: if that doesn't work, lmk, i'll delete it and you can recreate it [21:13] isaacs: chewbranca: indeed. [21:13] isaacs: chewbranca: check out nodul.es [21:13] isaacs: http://nodul.es/ [21:13] chewbranca: isaacs, one of the really nice things about CouchDB is that you can easily have your raw json API calls, and then wrap show and list functions around those to spit out content in html or other formats [21:14] isaacs: chewbranca: indeed. [21:14] FuzzYspo0N: its like db of awesomeness for automated simplicity [21:14] isaacs: chewbranca: that's kind of the plan. but i just use the json for all my purposes, so... yeah. [21:14] chewbranca: isaacs, oh nice, nodul.es looks good [21:14] isaacs: that's all low priority stuff. and by low priority, i mean, "i really want someone else to do it for me" [21:15] V1: Just saw some amazing adobe shit that will make the world go wtf... [21:15] bradleymeck: isaacs when can we go over templated ls? [21:15] mape: isaacs: hmm changed the specs for package.json? name is required? [21:15] isaacs: chewbranca: so, seems like even with show_docs=true, it still just shows the id... [21:15] isaacs: mape: yes, name is required. [21:16] isaacs: mape: name is how it knows what pacakge it is. [21:16] mape: hmm.. npm ERR! Error: No 'name' field found in package.json [21:16] chewbranca: isaacs, hahaha yeah I hear you there, I could be intrigued by building a couchapp around the npm registry [21:16] rtomayko has joined the channel [21:16] mape: "name" : "connect-assetmanager", [21:16] chewbranca: isaacs, try include_docs=true [21:16] isaacs: mape: that's a bu. [21:16] isaacs: bug [21:16] mape: How do I fix it? [21:16] isaacs: mape: i fix it for you :) the issue is putting - in the package name breaks the world. [21:17] isaacs: mape: for now, you can replace the - with a _ or something, but that sucks a lot. [21:17] mape: Oh :/ [21:17] logix812: looks like I just had to send \r\n\r\n [21:17] isaacs: mape: i need to fix that today [21:17] logix812: after writing the headers [21:18] bsstoner has joined the channel [21:18] chewbranca: isaacs, try http://isaacs.couchone.com/jsregistry/_changes?include_docs=true&feed=continuous&heartbeat=5000 [21:19] chewbranca: the heartbeat is important if you're doing a continuous feed, otherwise the requests time out depending on what client you're using [21:19] zemanel has joined the channel [21:19] mape: node version wasen't bumped in 0.2.1? [21:20] ryah: mape: it was [21:20] programble has joined the channel [21:21] ryah: mape: http://github.com/ry/node/commit/da235fa12c208fc8243600e128db2c9b55624c5c#diff-3 [21:21] mape: Guess my make install doesn't work then [21:22] JimBastard: does anyone have a clue about this? : events:12 throw arguments[1]; ^ Error: Parse Error at Client.ondata (http:899:22) at IOWatcher.callback (net:494:29) at node.js:764:9 [21:22] ryah: mape: it's not in the master branch [21:22] mape: oh k [21:22] JimBastard: is that a node bug? or is that me being a retard? we are getting this error sporadically on production [21:23] ryah: JimBastard: the server retrned bad http [21:23] JimBastard: ryah: can i catch that error? [21:23] ryah: JimBastard: client.on('error', handler) [21:23] JimBastard: 10-4 [21:23] isaacs: JimBastard: client.on("error", function (er) { "something happened"}) [21:23] amerine has joined the channel [21:23] JimBastard: thanks ryah and isaacs , will catch that asap [21:24] mape: ryah: So it is pretty much the same as master only that the bump is v0.2 branch only? [21:25] FuzzYspo0N: man, if i dont update my v8 often its like a mega change every time i update. [21:25] ryah: v0.2 and master are divering [21:25] indexzero has joined the channel [21:26] indexzero: wattup [21:26] FuzzYspo0N: word [21:26] indexzero: what I miss here? [21:26] ryah: diverging [21:26] indexzero: JimBastard help me out [21:26] ryah: mape: master has fast-buffers, v0.2 does not [21:26] mape: K, guess I'll stay on master then [21:26] ryah: master has color REPL [21:26] ryah: etc [21:27] tjholowaychuk: sys.inspect() color == :) [21:27] stephank has joined the channel [21:27] saikat: tjholowaychuk: you guys are using node-compress in Connect right? [21:27] ryah: most people in here will want to stay on master [21:27] brainproxy: shall we add a Node v0.2.1 section to the compatibility page in the wiki ? [21:27] indexzero: ryah: by 'client.on('error', handler)' you mean an instance of httpClient? [21:27] tjholowaychuk: saikat: not myself personally no, I dont use it [21:27] ryah: v0.2 is for people who want to freeze for app dev [21:27] ryah: indexzero: yes [21:28] indexzero: ryah: Ok, who should I bother to update the docs on that? cause there is no 'error' event in the docs [21:28] saikat: why don't people like using new? just because it's easy to mess things up silently if you forget the new keyword? [21:28] indexzero: http://nodejs.org/api.html#http-client-184 [21:28] indexzero: I'd be happy to do it myself [21:28] saikat: or is there another reason? [21:28] ryah: indexzero: sure [21:29] indexzero: ryah: is there a place in the source I can draw from? [21:29] mitkok has joined the channel [21:29] satori_ has joined the channel [21:30] ryah: indexzero: no [21:30] ryah: :) [21:30] indexzero: ryah: haha, somewhere in http.js I guess then? [21:31] ryah: indexzero: http://github.com/ry/node/blob/3a9570386a1cae3f9c787899f297bfd3816c905d/lib/events.js#L7 [21:32] admc has joined the channel [21:32] Tim_Smart has joined the channel [21:33] marshall_law has joined the channel [21:34] cardona507 has joined the channel [21:37] bmavity has joined the channel [21:37] siong1987 has joined the channel [21:38] eazyigz has joined the channel [21:39] indexzero: So that means that anytime an 'error' event is raised on any event emitter the process will probably exit if that event isn't listened for? [21:39] maushu: Yup. [21:39] JimBastard: maushu: fix _announcer [21:40] maushu: Unless you are also listening for the uncaughtException. [21:40] indexzero: truth, I've done experiements with that [21:40] FuzzYspo0N: whats wrong with him JimBastard [21:40] maushu: Weird, announcer is not working? [21:40] JimBastard: hasnt been announcing anything since last night i think [21:40] niemeyer_ has joined the channel [21:40] maushu: I restarted it today. [21:41] JimBastard: maybe that fixed it [21:41] maushu: Huh, unless people stopped posting node.js stuff... [21:41] brianmario has joined the channel [21:41] FuzzYspo0N: i just posted now, to test [21:42] FuzzYspo0N: http://twitter.com/FuzzYspo0N/status/24139582284 [21:42] dilvie has joined the channel [21:42] HAITI has left the channel [21:42] webr3: http://www.youtube.com/watch?v=lVmmYMwFj1I [21:42] FuzzYspo0N: seems to be sleeping, maushu [21:43] HAITI has joined the channel [21:43] siculars has joined the channel [21:44] webr3: Web Notification WG has been approved http://www.w3.org/2010/06/notification-charter [21:44] maushu: Caught exception: Error: ECONNREFUSED, Connection refused [21:44] FuzzYspo0N: hah i misread, ERRCONFUSED [21:44] Athox: last announce was 3 hrs ago [21:44] maushu: Same thing. [21:46] bradleymeck: ACTION goes back to ignoring the w3c [21:46] FuzzYspo0N: awe, but whos gonna update the rest of the world a year late? [21:47] xraid: i quite like a silent _announcer [21:47] sudoer: anyone in sf? [21:47] digitalspaghetti: isaacs: what's this, a continually open connection? [21:47] JimBastard: but, how will the room know when our blog posts are propigating? [21:47] xraid: take it to a archive at nodejs or some [21:47] isaacs: digitalspaghetti: yeah, it hangs the connection until it's got data, and you just connect with the most recent sequence if it ever drops off. [21:48] digitalspaghetti: isaacs: cool, yea i started doing a re-write but i've rolled it back for now [21:48] isaacs: digitalspaghetti: kewl [21:48] digitalspaghetti: i'll have a look at the other way next week as i'm away this weekend [21:49] isaacs: digitalspaghetti: i'm not paying for the bytes out of pocket any more, but i'm sure couchone's VCs will appreciate us not slamming their bandwidth quite as much ;) [21:49] codelotus has left the channel [21:49] freeall has joined the channel [21:49] digitalspaghetti: cool, i'll try get on it quickly then, but i see your email to this list with the details [21:50] digitalspaghetti: so i should be able to have a link about it over the weekend [21:51] digitalspaghetti: so with longpoll i take it do don't end the connection myself, just leave it open and listen for an end event? [21:52] digitalspaghetti: i.e don't do var request = fetchNpmData.request('GET', '/', {'host': settings.registry}); request.end(); [21:52] digitalspaghetti: just leave off the .end() and have handlers .on ? [21:53] xraid: http://google.com/trends?q=nodejs --- we do not need further _announce here ! ? ... [21:53] xraid: go russia ... [21:54] digitalspaghetti: expect to see lots of new spam and malware bots from russia coded in node.js :p [21:56] Locke23rus: из России с любовью =) [21:56] FuzzYspo0N: ;p [21:57] sonnym has joined the channel [21:57] pyronicide: does anyone have problems using jsdom when you try and use sub selectors? like …. $("table tr") [21:57] HAITI: http://nodejs.ru/396 [21:57] pyronicide: i end up getting compareDocumentPosition does not exist errors [21:59] digitalspaghetti: try $("table tbody tr") [21:59] HAITI: привет Locke23 [21:59] digitalspaghetti: and if not, try $("tr", "table") [22:00] pyronicide: first one works, why is that? [22:00] Locke23rus: здарова) [22:00] Locke23rus: с редиской воюешь? [22:01] digitalspaghetti: because tr isn't a direct decendent of table [22:01] xraid: du Locke23rus: detta �r en engelsk kanal . f�rst� ! ... [22:02] joshbuddy has joined the channel [22:02] digitalspaghetti: there must be a wrapping them [22:02] Locke23rus: xraid: и я того же мнения =) [22:02] HAITI: Я люблю редиску на все [22:02] pyronicide: is the direct descendant thing just a bug or something else? [22:02] HAITI: =) [22:02] mape: Anyone used require('child_process').spawn and then doing spawn('tail', ['-f', '/var/log/*']) ? [22:03] mape: Seems it doesn't like * [22:03] brianmario has joined the channel [22:03] Locke23rus: HAITI: а я MongoDB хочу потыкать) [22:03] bradleymeck: !translate Russian:English и я того же мнения [22:03] _frankie: I have the same opinion [22:03] digitalspaghetti: pyronicide: possibly a bug because i know you can do what your doing in jquery [22:03] Locke23rus: думаю че б такое на Express замутить) [22:03] pyronicide: ah well, thanks for the help digitalspaghetti this'll fix my problem, i'll post an issue [22:03] xraid: _announce: http://www.dopetracks.com/track/184285 [22:04] isaacs: Hey, if you're doing require("foo-1.2.3") stuff with npm-installed packages, it's going to break. http://twitter.com/izs/status/24140965584 [22:05] cardona507: why? [22:05] mape: Anything with - ? [22:05] isaacs: cardona507: because it's going to be require("foo@1.2.3") instead. [22:05] cardona507: ok thanks [22:05] isaacs: cardona507: the current system breaks when you put - in a pacakge name, because i end up wiht stuff like foo-bar-1.2.3-beta-2 [22:05] isaacs: and i have no idea where to split it [22:05] isaacs: mape: yeah, it's part of that fix for the bug you were hitting earlier. [22:05] cardona507: gotcha [22:06] admc has joined the channel [22:06] mape: isaacs: so it will break require('connect-assetmanager') ? [22:06] isaacs: cardona507: but require("foo@1.2.3") won't work until the next version. i'm just gonna go ahead and make it fast and painful. [22:06] isaacs: mape: no, tht will actually *start* working [22:06] digitalspaghetti: isaacs: dunno if you saw what i typed earlier? But with what you said about http://isaacs.couchone.com/jsregistry/_changes?include_docs=true&feed=continuous [22:06] mape: Ah, hehe [22:06] isaacs: cardona507: like ripping off a bandaid [22:06] digitalspaghetti: i take it i just open a http connection, but don't .end() it? [22:06] digitalspaghetti: and just listen to .on handlers for changes? [22:06] brianmario_ has joined the channel [22:07] isaacs: digitalspaghetti: you still do .end() because that's what actually makes the call. but you do req.on("data", handlerFunction) [22:07] digitalspaghetti: how can i be sure that the chunk recieved is the whole chunk? [22:08] isaacs: digitalspaghetti: look at it :) [22:08] digitalspaghetti: k :) [22:08] cardona507: isaacs: fast and painful - ouch :) [22:08] isaacs: digitalspaghetti: that is, it's a stream of json objects separated by \n [22:09] mape: So anyone have a good idea of how to get tail -f /var/log/* working in node? [22:09] bradleymeck: whats not working about it? XD (im sure lots) [22:09] mape: stderr: tail: cannot open `/var/log/nginx/*' for readingstderr: : No such file or directorytail: no files remaining [22:10] evanpro has joined the channel [22:11] isaacs: digitalspaghetti: so, you do something like this: var buff = ""; req.on("data", function (chunk) { (buff + chunk).split("\n").forEach(function (m) { try { m = JSON.parse(m) } catch (ex) { buf = m; return } doSomething(m) }) }) [22:11] isaacs: digitalspaghetti: the idea is, if it's partial, it's the end, and you need to hang on to it for the next chunk to complete it, but otherwise you split on \n, and each piece is a json object. [22:13] huyhong has joined the channel [22:13] niemeyer__ has joined the channel [22:14] digitalspaghetti: k, gotcha [22:15] aubergine has joined the channel [22:15] Zuardi has joined the channel [22:17] maushu has left the channel [22:17] maushu has joined the channel [22:17] huyhong has left the channel [22:19] trotter has joined the channel [22:19] nuwah has joined the channel [22:19] webr3: is there a bot to run js in the room? [22:20] digitalspaghetti: V8 [22:20] webr3: v8bot help [22:20] webr3: something like that? [22:20] FuzzYspo0N: v8bot: 1+1 [22:20] digitalspaghetti: v8bot 1+1 [22:21] digitalspaghetti: !v8bot [22:21] FuzzYspo0N: lol :) [22:21] maushu: It seems the machine raise against humans has began. [22:21] FuzzYspo0N: its just v8 [22:21] FuzzYspo0N: v8 1+1 [22:21] v8bot: FuzzYspo0N: 2 [22:21] marshall_law has joined the channel [22:21] webr3: v8 2+3 [22:21] v8bot: webr3: 5 [22:21] digitalspaghetti: v8 'foo' + 'bar' [22:21] v8bot: digitalspaghetti: foobar [22:21] webr3: v8 "a b".split("").forEach(Array.prototype.foreach) [22:21] v8bot: webr3: TypeError: undefined is not a function [22:21] maushu: v8 sys [22:21] v8bot: maushu: ReferenceError: sys is not defined [22:21] nuwah has joined the channel [22:21] webr3: v8 "a b".split("").forEach(Array.prototype.forEach) [22:21] v8bot: webr3: TypeError: a is not a function [22:21] maushu: v8 require [22:21] v8bot: maushu: ReferenceError: require is not defined [22:21] webr3: v8 new String("a b").split("").forEach(Array.prototype.forEach) [22:21] v8bot: webr3: TypeError: a is not a function [22:22] kjy112 has joined the channel [22:22] webr3: that's my answer then! [22:22] maushu: v8 "a b".split("") [22:22] v8bot: maushu: ["a", " ", "b"] [22:22] webr3: "a b".split("").forEach [22:22] webr3: v8 "a b".split("").forEach [22:22] v8bot: webr3: function forEach() { [native code] } [22:23] webr3: v8 Array.prototype.forEach [22:23] v8bot: webr3: function forEach() { [native code] } [22:24] webr3: v8 sys [22:24] v8bot: webr3: ReferenceError: sys is not defined [22:24] webr3: v8 require [22:24] v8bot: webr3: ReferenceError: require is not defined [22:25] webr3: ahh "a is not a function" is correct - confused me for a minute there! [22:26] pyronicide: has anyone done a commonjs package of date.js or is there a better way to parse dates? [22:27] nuwah: d [22:27] webr3: pyronicide, Date.parse(datestring) [22:28] pyronicide: webr3: that'll do all the tasty free form stuff that date.js does? *goes and starts up the repl* [22:28] ako has joined the channel [22:28] pyronicide: hot damn, that's awsome, thanks webr3 [22:28] webr3: v8 Date.parse('2010-09-10T19:20:30.45+01:00').toString() [22:28] v8bot: webr3: 1284142830045 [22:29] webr3: yup, it'll work [22:29] pyronicide: i'm doing Date.parse('Sep 2010'), but that's working perfectly as well [22:29] bradleymeck: good ole Date.parse [22:29] FuzzYspo0N: heh [22:29] webr3: you can probably use the first arg of the constructor too.. [22:29] webr3: v8 Date('2010-09-10T19:20:30.45+01:00').toString() [22:29] v8bot: webr3: Fri Sep 10 2010 18:29:42 GMT-0400 (EDT) [22:30] ddd has joined the channel [22:30] FuzzYspo0N: v8 v8() [22:30] v8bot: FuzzYspo0N: ReferenceError: v8 is not defined [22:30] pyronicide: too used to browsers being idiots [22:30] webr3: v8 new Date('2010-09-10T19:20:30.45+01:00').toString() [22:30] v8bot: webr3: Fri Sep 10 2010 14:20:30 GMT-0400 (EDT) [22:30] digitalspaghetti: hmm isaacs , it seems on http://isaacs.couchone.com/jsregistry/_changes?include_docs=true&feed=continuous passing &last_seq=### does nothing [22:30] webr3: yup you can [22:30] digitalspaghetti: i still get the full document :( [22:30] isaacs: digitalspaghetti: the ### should be the sequence number. [22:30] FuzzYspo0N: ;p [22:31] webr3: v8 new Date('2010-09-10T19:20:30.45+01:00').toUTCString() [22:31] v8bot: webr3: Fri, 10 Sep 2010 18:20:30 GMT [22:31] digitalspaghetti: yea, i passed 995 [22:31] digitalspaghetti: but i still get from 1 [22:31] digitalspaghetti: http://isaacs.couchone.com/jsregistry/_changes?include_docs=true&feed=continuous&last_seq=995 [22:31] isaacs: oh, wait, it's "since" [22:31] isaacs: &since=995 [22:31] isaacs: whoops [22:31] bradleymeck: mmm it would be cool if we could get a jefe bot that will run gists for us [22:31] digitalspaghetti: ahh :) [22:32] isaacs: digitalspaghetti: care to reply to the list with that note? [22:33] FuzzYspo0N: i have it open, isaacs / digitalspaghetti , i can paste that in there [22:33] isaacs: FuzzYspo0N: kewl, thanks [22:34] marshall_law_ has joined the channel [22:36] marshall_law__ has joined the channel [22:36] FuzzYspo0N: hmm did i do it right, lol [22:36] marcostoledo has joined the channel [22:36] FuzzYspo0N: oh right it works, was just being slow. [22:39] ooooPsss: is it possible to jump to node.js without any prior knowledge of JS= [22:39] ooooPsss: ? [22:40] amerine has joined the channel [22:40] FuzzYspo0N: probably [22:40] FuzzYspo0N: you just need to know JS :p [22:40] FuzzYspo0N: s/know/learn [22:41] ooooPsss: conclusion is? :p [22:41] FuzzYspo0N: its not hard. [22:42] eazyigz has joined the channel [22:43] tilgovi has joined the channel [22:44] JimBastard: ooooPsss: how can you have no prior knowledge of JS? [22:44] steadicat has joined the channel [22:44] JimBastard: i mean, everyone has used JS at some point if they have used a website, albiet minimal knowledge [22:45] ooooPsss: well, the question is not directly for me but if you're a JAva programmer you may never heard of JS, or if you never did anything to the web. [22:45] bradleymeck: ooooPsss if you have any programming experience in c style syntax its pretty easy to pick up JS once you get your head around its closures [22:45] JimBastard: most coders i know have at least done one line of JS, even if it was like something dumb like an alert box or form submit [22:45] JimBastard: almost everyone in the past 10 years has at least touched a website [22:45] JimBastard: if not, well lol [22:45] ooooPsss: JimBastard: one thing is doing, other is understanding [22:45] JimBastard: you said, any prior knowledge, im just breaking your semantic balls [22:45] SubStack: disagree [22:45] JimBastard: :-) [22:46] bradleymeck: oh, and be sure to forget your knowledge of threads [22:46] SubStack: doing is how we come to understand [22:46] ooooPsss: SubStack: if you do 1 line (like an alert) you don't learn a lot. but I see your point. ;) [22:46] SubStack: do more then [22:46] JimBastard: while(true){alert('FUUUU');} [22:46] JimBastard: :-D [22:46] eazyigz has joined the channel [22:47] JimBastard: that was enough to get me started, sending links to my friends [22:47] Anti-X: evilbastard [22:47] JimBastard: DAMN YOU NOW I CANT CLOSE MY BROWSER [22:47] Anti-X: lol [22:47] FuzzYspo0N: v8 alert(); [22:47] v8bot: FuzzYspo0N: ReferenceError: alert is not defined [22:47] JimBastard: v8 alert [22:47] v8bot: JimBastard: ReferenceError: alert is not defined [22:47] SubStack: also I hate how people call themselves "java programmers" or "c programmers" or "javascript programmers" [22:47] JimBastard: v8 undefined [22:47] v8bot: JimBastard: undefined [22:48] Anti-X: v8 window [22:48] v8bot: Anti-X: ReferenceError: window is not defined [22:48] marshall_law has joined the channel [22:48] Anti-X: v8 process [22:48] v8bot: Anti-X: ReferenceError: process is not defined [22:48] Anti-X: smackface [22:48] SubStack: v8 this [22:48] v8bot: SubStack: [22:48] SubStack: v8 global [22:48] v8bot: SubStack: ReferenceError: global is not defined [22:48] Anti-X: v8 bind [22:48] v8bot: Anti-X: ReferenceError: bind is not defined [22:48] SubStack: v8 Object.getOwnPropertyNames(this) [22:48] v8bot: SubStack: ["TypeError", "decodeURI", "parseFloat", "Number", "URIError", "encodeURIComponent", "RangeError", "ReferenceError", "RegExp", "Array", "isNaN", "Date", "Infinity", "Boolean", "Error", "NaN", "execScript", "String", "Function", "Math", "undefined", "encodeURI", "escape", "unescape", "decodeURIComponent", "EvalError", "SyntaxError", "Object", "eval", "parseInt", "JSON", "isFinite"] [22:49] Anti-X: clever [22:49] SubStack: execScript EH [22:49] Anti-X: why are the encoding functions global [22:50] Anti-X: i guess for ease of use, but it's not very tidy [22:51] SubStack: v8 console.log('o_O') [22:51] v8bot: SubStack: ReferenceError: console is not defined [22:51] FuzzYspo0N: hmm, no echo. [22:51] Anti-X: v8 eval [22:51] v8bot: Anti-X: function eval() { [native code] } [22:51] FuzzYspo0N: of sorts [22:51] SubStack: v8 this.x = 100 [22:51] v8bot: SubStack: 100 [22:51] SubStack: v8 this.x [22:51] v8bot: SubStack: undefined [22:51] dgathright has joined the channel [22:51] SubStack: aha [22:51] Anti-X: yeah own context [22:51] SubStack: v8 setInterval(function () {}, 100) [22:51] v8bot: SubStack: ReferenceError: setInterval is not defined [22:52] SubStack: :( [22:52] Anti-X: v8 setTimeout [22:52] v8bot: Anti-X: ReferenceError: setTimeout is not defined [22:52] FuzzYspo0N: thats browser code [22:52] FuzzYspo0N: not v8 [22:52] FuzzYspo0N: v8 execScript [22:52] v8bot: FuzzYspo0N: function execScript() { [native code] } [22:53] Anti-X: v8 encodeURIComponent('{][}@$') [22:53] v8bot: Anti-X: %7B%5D%5B%7D%40%24 [22:53] webr3: v8 this [22:53] v8bot: webr3: [22:53] FuzzYspo0N: v8 execScript('http://schooltheme.googlecode.com/svn-history/r6/trunk/js/mootools-1.2.4-core-server.js') [22:53] v8bot: FuzzYspo0N: SyntaxError: Unexpected end of input [22:53] bradleymeck: v8 Array.fluff = 123 [22:53] v8bot: bradleymeck: 123 [22:53] webr3: j8 JSON.stringify [22:53] bradleymeck: v8 Array.fluff [22:53] v8bot: bradleymeck: undefined [22:54] webr3: v8 JSON.stringify [22:54] v8bot: webr3: function stringify() { [native code] } [22:54] bradleymeck: wonder how well it deals w/ loops [22:54] Anti-X: v8 while [22:54] v8bot: Anti-X: SyntaxError: Unexpected end of input [22:54] FuzzYspo0N: v8 JSON.stringify(this); [22:54] Anti-X: probably well [22:54] v8bot: FuzzYspo0N: {} [22:54] FuzzYspo0N: v8 JSON.stringify(Object); [22:54] v8bot: FuzzYspo0N: undefined [22:54] Anti-X: v8 while(true) {'test';} [22:55] v8bot: Anti-X: Error: Timeout [22:55] Anti-X: yeah [22:55] rtomayko has joined the channel [22:55] Anti-X: thought so [22:55] FuzzYspo0N: v8 JSON.stringify(new Object()); [22:55] v8bot: FuzzYspo0N: {} [22:55] bsstoner has left the channel [22:56] bradleymeck: v8 (function f(){f()})() [22:56] v8bot: bradleymeck: RangeError: Maximum call stack size exceeded [22:56] richcollins has joined the channel [22:56] FuzzYspo0N: nice lol [22:57] FuzzYspo0N: v8 this.delete() [22:57] v8bot: FuzzYspo0N: TypeError: Object # has no method 'delete' [22:57] Anti-X: v8 var a='test';a; [22:57] v8bot: Anti-X: test [22:57] FuzzYspo0N: :> [22:57] ooooPsss: how do you update node? I've installed new 0.2.1 but still have the old one [22:57] bradleymeck: v8 var i;i=setInterval(function(){i++},0) [22:57] v8bot: bradleymeck: ReferenceError: setInterval is not defined [22:58] hayeah has joined the channel [22:58] FuzzYspo0N: i got so owned when i first implemented v8 for my game [22:58] FuzzYspo0N: cos i kept trying setInterval [22:59] maushu: v8 ["a", "b", "c"].contains("a"); [22:59] v8bot: maushu: TypeError: Object a,b,c has no method 'contains' [23:00] maushu: v8 ["a", "b", "c"].indexOf("a"); [23:00] v8bot: maushu: 0 [23:00] maushu: v8 ["a", "b", "c"].indexOf("z"); [23:00] v8bot: maushu: -1 [23:00] maushu: v8 delete this; [23:00] v8bot: maushu: true [23:00] isaacs: mape: hey, got a second? can you pull my npm repo, "make dev" and then see if your connect issue is fixed? [23:00] maushu: v8 this [23:00] v8bot: maushu: [23:01] maushu: Oops. [23:01] FuzzYspo0N: lol it was that already [23:01] FuzzYspo0N: v8 Object.getOwnPropertyNames(this) [23:01] v8bot: FuzzYspo0N: ["TypeError", "decodeURI", "parseFloat", "Number", "URIError", "encodeURIComponent", "RangeError", "ReferenceError", "RegExp", "Array", "isNaN", "Date", "Infinity", "Boolean", "Error", "NaN", "execScript", "String", "Function", "Math", "undefined", "encodeURI", "escape", "unescape", "decodeURIComponent", "EvalError", "SyntaxError", "Object", "eval", "parseInt", "JSON", "isFinite"] [23:01] mape: isaacs: jup seems to work [23:01] isaacs: w00t! [23:01] isaacs: nice. [23:01] JimBastard: maushu: how am i suppose to keep up with twitter now! [23:02] JimBastard: is there like a web interface for twitter? [23:02] xraid: try inject a eval [23:02] dgathright has joined the channel [23:02] maushu: JimBastard, wait, I'm still coding some improvements. [23:02] HAITI: JimBastard: [23:03] FuzzYspo0N: JimBastard: ilold [23:03] Anti-X: i didn't think much about it [23:03] Anti-X: but when you mention it, i rethought the meaning of it [23:03] Anti-X: and lold too [23:04] JimBastard: yeah for sure, we should build a web interface for twitter, people would love that shit [23:04] JimBastard: is twitter.com taken? [23:04] FuzzYspo0N: no [23:04] Anti-X: yeah, it's a scat porn site [23:04] Anti-X: at least that's what i keep getting [23:04] Anti-X: stupid friends [23:05] FuzzYspo0N: twitter sounds more like a bird watchers club [23:05] eisd has joined the channel [23:06] Anti-X: The Twitters.. folk music band [23:07] xraid: hey mememe nownownow --- take it to some social site right --- this is v8 on mission ... [23:08] Anti-X: we'd take it to twitter if only announcer worked [23:09] Zuardi has joined the channel [23:10] JimBastard: dammit, too many downboats, http://www.reddit.com/r/programming/comments/dc9r4/spawning_nodejs_server_instances_on_the_rackspace/ [23:11] JimBastard: i blame maushu :p [23:11] maushu: Feel free to blame me. [23:12] Anti-X: we'll post it on twitter later [23:12] JimBastard: i like blaming everyone else for all of my problems [23:12] JimBastard: its way easier then taking responsibility [23:12] JimBastard: >><< [23:12] Anti-X: responsibility is for grown ups [23:15] FuzzYspo0N: future me [23:15] cardona507: does the bot still scrape twitter? [23:15] cardona507: guess not [23:15] cardona507: too busy [23:15] cardona507: ? [23:16] mtodd_ has joined the channel [23:16] Anti-X: it's apparently being improved [23:16] cardona507: sweet [23:16] cardona507: how could it get any better [23:16] cardona507: ? [23:16] Anti-X: cake [23:17] pyronicide: the cake is a lie [23:17] Anti-X: i put $10 on someone saying that [23:17] Anti-X: i earned 0.0001 cents [23:17] pyronicide: you set it up so nicely, i couldn't resist [23:19] eisd has left the channel [23:20] jjcm: Anti-X: Not exactly playing high odds are we? [23:20] Anti-X: i like to be safe [23:21] Anti-X: it's part of my get rich slow scheme [23:21] FuzzYspo0N: and steal comedy game [23:21] FuzzYspo0N: MICH [23:21] Anti-X: +t [23:21] Anti-X: i don't steal. i absorb [23:22] FuzzYspo0N: mich rocked [23:22] Anti-X: mitch [23:22] stagas has joined the channel [23:22] FuzzYspo0N: mitctchtch [23:22] Anti-X: ACTION smashes FuzzYspo0N over the head with a T [23:24] Anti-X: it's made of plush, so no worries [23:24] FuzzYspo0N: oh whew. i was like, TOTALLY worried just now [23:24] Anti-X: some people get worked up over nothing [23:25] FuzzYspo0N: wtf no i dont [23:25] FuzzYspo0N: idiot [23:25] FuzzYspo0N: >;3 [23:26] Anti-X: lol [23:26] FuzzYspo0N: i think i should sleep heh :) [23:26] Yuffster has joined the channel [23:27] langworthy has joined the channel [23:30] Sami_ZzZ has joined the channel [23:34] siong1987 has joined the channel [23:35] devinus_ has joined the channel [23:37] abiraja has joined the channel [23:37] lakin has joined the channel [23:38] lakin: how do I pass an array of arguments to a function where every element in the array is passed as an individual argument to the function, if you're familiar with python, similar to: someFunction(*args) [23:38] tg has joined the channel [23:39] ako: lakin, https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/apply [23:39] ako: see also https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/call (while you're at it) :> [23:40] joshbuddy has joined the channel [23:40] lakin: ako - perfect, thanks [23:45] jacobolus has joined the channel [23:47] ooooPsss has joined the channel [23:48] ooooPsss: how can I use SOAP in node.js? [23:48] dantalizing has joined the channel [23:48] dantalizing has joined the channel [23:50] FuzzYspo0N has left the channel [23:50] konobi: you take the SOAP bar and use it to wash your mouth out... what filthy language [23:50] konobi: =0P [23:50] ooooPsss: :p [23:50] ooooPsss: I need to access a service using SOAP [23:51] ooooPsss: ok I might as well use a JS library I guess [23:52] markwubben has joined the channel [23:52] _Utkarsh has joined the channel [23:53] Nohryb: v8 execScript.toString() [23:53] v8bot: Nohryb: function execScript() { [native code] } [23:57] _announcer has joined the channel [23:57] Anti-X: ohai [23:57] maushu: announcer, go away [23:57] _announcer: maushu: Okay, I will go away for a while. [23:57] maushu: announcer, come back [23:57] _announcer: Back! [23:58] overra_: I love you announcer [23:58] Anti-X: is that what's new? [23:58] digitalspaghetti: ooooPsss: i did SOAP with jQuery before :D [23:58] digitalspaghetti: i probably still have the source [23:59] ooooPsss: nice, can you sharE? [23:59] maushu: In case something happens to the twitter connection, tell announcer to clean the tubes. [23:59] _announcer: Cleaning the tubes for great justice! [23:59] maushu: That should reconnect to twitter.