[00:00] Validatorian: shaver: :'( -bash-3.2$ node [00:00] Validatorian: -bash: /usr/local/bin/node: No such file or directory [00:01] Aria: hash -r [00:01] shaver: Aria: thank you [00:01] Aria: sure thing [00:02] Validatorian: so should I make uninstall, then contact my admin and have them allow access to the compiler? [00:02] shaver: or you could install a packaged node if there is one for your OS [00:03] Validatorian: nope :-/ [00:03] Validatorian: yum list | grep node doesn't give me anything that looks right [00:03] jesusabdullah: It's packaged? [00:03] zemanel has joined the channel [00:04] shaver: there are packages about [00:04] dohtem has joined the channel [00:04] dohtem has joined the channel [00:04] shaver: Validatorian: what OS are you on, specifically? [00:04] Validatorian: CentOS 5 [00:05] ajsie has joined the channel [00:06] shaver: I can't find a plausible package there [00:06] shaver: so yeah, you could use sudo to build, then chown, then install [00:06] shaver: or you could get the proper access [00:06] Validatorian: that's what I did, didn't work [00:06] shaver: did you "hash -r"? [00:06] Validatorian: no -- I thought Area was talking to you :-P [00:07] Validatorian: Aria* [00:07] shaver: now, the directory that you installed it into won't be in your $PATH [00:07] shaver: so you'll need to add it (the bin/ part) to it, in your .profile or equivalent [00:07] c4milo1 has joined the channel [00:07] shaver: or just run it as /home/pennyfan/webapps/node-install/bin/node all the time [00:08] shaver: (or whatever the path was) [00:08] c4milo1 has joined the channel [00:08] c4milo1 has joined the channel [00:09] c4milo1 has joined the channel [00:09] c4milo1 has joined the channel [00:10] c4milo1 has joined the channel [00:10] jesusabdullah: lawdy! [00:11] UHMA: lol [00:13] jesusabdullah: Jesus, writing homework solutions is hard D: [00:15] shaver: ah, crud [00:18] shaver: another message about which I do not know anything [00:18] Validatorian: hrm, I don't see any of the usual suspects in ~/.* -- do you know what file I need to create to add to $PATH? .profile, .bash_rc, etc [00:19] jesusabdullah: .profile should work [00:19] nog_lorp has joined the channel [00:19] Aria: .profile is ~universal [00:19] nog_lorp: I'm experiencing an interesting bug [00:20] agilandfast has joined the channel [00:20] nog_lorp: I'm using watchFile to check if the mtime has change: fs.watchFile(filename, function(cur, last) { ... }) [00:20] Validatorian: PATH=$PATH:$HOME/foo/bar right? [00:20] dnolen has joined the channel [00:21] jesusabdullah: Indeed [00:21] Validatorian: or do I need export before that? [00:21] nog_lorp: and have some odd results [00:21] jesusabdullah: You need to either export right there, or after [00:21] jesusabdullah: either PATH=stuff; export PATH; [00:21] Aria: not if it's already exported [00:21] jesusabdullah: Hmm [00:21] nog_lorp: cur.mtime == last.mtime; /* false */ [00:21] nog_lorp: cur.mtime - last.mtime /* 0 */ [00:22] nog_lorp: cur.mtime.toString() == last.mtime.toSTring /* true */ [00:22] jesusabdullah: I suppose so, though I don't think I've ever exported, THEN added stuff to path [00:22] Aria: (if you export separately, it works in sh; otherwise, just newer shells) [00:22] nog_lorp: the two values are equal in every conceivable way [00:22] nog_lorp: cept the == operator [00:23] Validatorian: sweet, works! Thanks everyone :) [00:24] sudoer has joined the channel [00:25] nog_lorp: anyone have any idea how that could be? [00:25] nog_lorp: I'm gonna use if(!(mtime - mtime)) as an alternative, but it seems really wacked out [00:28] shaver: what does isNaN(mtime) say? [00:28] shaver: NaN != NaN [00:30] nog_lorp: yep [00:31] nog_lorp: isNaN [00:31] nog_lorp: but... but that is so wrong [00:31] nog_lorp: for a type that has a numerical representation at its heart [00:31] nog_lorp: and you can do mtime+1 and get a number [00:31] nog_lorp: well actually [00:32] nog_lorp: mtime + 1 returns a string instead [00:32] nog_lorp: mtime - 1 :/ [00:32] Yuffster has joined the channel [00:32] nog_lorp: oh javascript you tormentor [00:32] shaver: IEEE doubles work like that [00:32] shaver: in C, too [00:33] nog_lorp: man why do bad decisions hang around so long in the world [00:33] nog_lorp: the whole modern era was too obsessed with stability [00:39] bronson has joined the channel [00:40] jacobolus has joined the channel [00:42] prettyrobots has joined the channel [00:43] gthb has joined the channel [00:44] hannesw has joined the channel [00:50] [[zz]] has joined the channel [00:56] agilandfast has joined the channel [01:04] MikhX has joined the channel [01:06] jakehow has joined the channel [01:08] sam_: ls [01:11] level1 has joined the channel [01:11] sam_: Does anyone have any suggestions for working with large amounts of binary data? I've looked at the Buffer object, but I think I need something that can grow dynamically... [01:13] nog_lorp: sam_: sounds like you need an abstraction on top of the Buffer object to me! [01:14] nog_lorp: Buffer that reallocates a replacement twice as big when needed [01:15] sam_: That's what I was thinking [01:15] sam_: Is that efficient?... [01:16] shaver: depends on what your access pattern is [01:16] nog_lorp: or, alternatively, you could do a linked list of large buffers [01:16] shaver: those are the usual choices, yeah [01:16] shaver: either you double-each-time-until-huge-then-linear or you chain sub-buffers [01:16] shaver: (that's what v8 and other engines do under the hood for arrays anyway) [01:16] nog_lorp: if you are going to have the buffer get insanely large then very small for a long time, doubling is bad [01:17] nog_lorp: linked list of buffers can drop the uneeded blocks [01:18] sam_: I think I'd rather reallocate more memory when needed than work with a linked list [01:18] shaver: I would start with that, yeah [01:18] shaver: and if the copies show up in profiles, optimize it [01:20] nog_lorp: well, see, it is reallocating more memory when needed, just in fixed size chunks (1kb perhaps), rather than having to hold 3*(size) around while you copy from the old buffer to the new one [01:21] sam_: Apparently meebo likes node.js, because whenever I google 'node.js (anything)', I consistently get a sponsored link from meebo's hiring dept [01:21] nog_lorp: ooh jobs? [01:22] saikat has joined the channel [01:22] sam_: http://www.meebo.com/jobs/openings/secretjobs/ [01:23] nog_lorp: they bought teh shiet out of that adword [01:23] nog_lorp: lol sponsered link: pssst you wanna here a secret? [01:25] jpld has joined the channel [01:25] jpld has joined the channel [01:26] sam_: okay, well I'm going to try just reallocating more memory when needed, I'll let you guys know how it goes :) (I probably won't get around to it tonight... :() [01:26] sam_: Thanks for the help [01:35] cha0s has joined the channel [01:35] cha0s has joined the channel [01:36] UHMA: just installed a new ec2 instance, going to install nodejs [01:37] UHMA: i've never used nginx before, should I try it ? [01:37] shaver: it's pretty nice, in my very-light experience [01:39] UHMA: just googling a little bit now, I was worried it wouldn't be as well documented as apache... but apparently it's everywhere :) [01:40] shaver: the docs are not as good as apache's, IME [01:40] shaver: but still pretty good,and lots of blog posts about how to run $framework under nginx [01:41] UHMA: aight cool [01:41] zith_: so what's the best way of letting node use a library that is not in npm? [01:41] zith_: like jsdav [01:47] HAITI has joined the channel [01:47] HAITI has joined the channel [01:53] echosystm has joined the channel [01:53] echosystm: is nodejs stable enough for production use? [01:53] nog_lorp: it seems to be getting plenty of such use [01:53] aaronblohowiak: echosystm: it depends how you do it!!! [01:54] echosystm: public web application? [01:54] echosystm: i just watched the yahoo video from may where ryan said he wouldnt use it for his own websites yet [01:54] ako: well, people use php for that... so... :> [01:54] echosystm: so was just curious if that has changed at all [01:55] ivong has joined the channel [01:55] isaacs has joined the channel [01:56] aaronblohowiak: echosystm: i do healthcare during the day, wouldnt use node for the main app yet. for all my stuff at night, it is all node all the time [01:56] aaronblohowiak: it is still "bleeding edge" [01:57] [[zz]] has joined the channel [01:57] aaronblohowiak: now, we are entering a period of stability, which is why palm is going to build node into webos [01:57] ajpiano has joined the channel [01:57] nog_lorp: well there seems to be an average of many many commits per day so presumably it has progressed hugely since may towards stability [01:57] amuck has joined the channel [01:57] nog_lorp: lotsa bug fixes [01:57] aaronblohowiak: nog_lorp: there is also the sable 0.2 branch and then there is the 0.3 which has new features [01:58] HAITI has joined the channel [01:58] nog_lorp: hmm [01:58] aaronblohowiak: so it is reaching a level of maturity in supporting "old" branches [01:58] nog_lorp: I wanna see the dox get upgraded [01:58] nog_lorp: they are in many ways a pain [01:58] aaronblohowiak: nog_lorp: it is open-source =) [01:58] nog_lorp: ^^ [01:58] nog_lorp: point [01:59] nog_lorp: but then I'd be running around writing the dox for every damn package in the world [01:59] nog_lorp: hardly seen an open source project with adequate documentation! [02:00] AAA_awright: zith_: pass NODE_PATH as an environment variable [02:00] zith_: thanks [02:00] AAA_awright: or export it to your shell [02:04] BBB has joined the channel [02:10] Twelve-60 has joined the channel [02:10] ollie has joined the channel [02:11] Egbert9e9 has joined the channel [02:13] dgathright has joined the channel [02:13] mobile has joined the channel [02:17] charlenopires has joined the channel [02:20] q_no has joined the channel [02:21] jakehow has joined the channel [02:27] ysynopsis has joined the channel [02:45] themiddleman: how do I handle POST data? I found a blog post but it is outdated [02:50] AAA_awright: themiddleman: data event, I think [02:52] themiddleman: I wish more things in the docs were links [02:54] themiddleman: ah request.method eh? [02:55] ghiu has joined the channel [02:57] iheartnodejs has joined the channel [02:59] themiddleman: well no time to finish now, thanks anyway, good work on node.js everyone! [03:02] dipser_ has joined the channel [03:08] prettyrobots: Where is "require" implemented in the source? [03:10] prettyrobots: Nevermind. I'll checkout the source and use grep for a while. [03:10] cognominal: prettyrobots, check in node.js [03:11] noahcampbell has joined the channel [03:11] cognominal: function require (path) { [03:12] prettyrobots: cognominal: There it is! [03:12] prettyrobots: thanks. [03:14] cognominal: my understanding is that when the parameter is a a dir, require loads index.js # reading the source to comfirm my hunch [03:16] cloudhead has joined the channel [03:17] UHMA: make has been running for almost 10 minutes, is that normal? [03:18] UHMA: i expected it to take a few seconds [03:20] zith_: depends on what you're building [03:20] shaver: takes some time [03:20] shaver: v8 is a fair bit of code [03:20] UHMA: building nodejs [03:20] UHMA: aw right [03:21] mattly has joined the channel [03:25] gthb has joined the channel [03:26] badaxx_ has joined the channel [03:26] zith_: http://twitter.com/damienkatz/status/25426811256 [03:26] zith_: sounds pretty cool [03:27] UHMA: ql = query language ? [03:27] shaver: yeah [03:28] UHMA: how would that even work [03:29] UHMA: Waf: Leaving directory `/home/ubuntu/node/build' [03:29] UHMA: 'build' finished successfully (21m31.937s) [03:29] UHMA: ...wow, lol [03:30] jashkenas has joined the channel [03:30] pbradek has joined the channel [03:31] UHMA: 'install' finished successfully (0.125s) ... this is monumental! [03:34] dannycoates has joined the channel [03:37] scnd has joined the channel [03:38] temp01 has joined the channel [03:41] dgathright has joined the channel [03:48] _CrabDude has joined the channel [03:53] aho has joined the channel [03:54] jashkenas has joined the channel [03:54] sh1mmer has joined the channel [03:57] eisd_ has joined the channel [03:58] jacobolu_ has joined the channel [04:01] _nico has joined the channel [04:06] isaacs has joined the channel [04:22] shaver: is there a canonical way to enforce a maximum number of http requests outstanding at a time, sort of like a worker pool would do in the threading models I used to suffer with? [04:23] shaver: like, I am going to make ~400 requests to this web service, and I'd like to pop through them as fast as I can, but max 4 outstanding at a time [04:23] shaver: I can imagine how to do it by hand (chaining from completion to next-in-pool, pre-firing N of them) [04:24] shaver: but it seemed like there might be a cliche for it in node-land [04:26] siculars has joined the channel [04:27] jacobolus has joined the channel [04:35] pwrfail has joined the channel [04:50] lachlanhardy has joined the channel [04:55] temp01 has joined the channel [04:57] mattly has joined the channel [05:04] rauchg_ has joined the channel [05:11] ako has joined the channel [05:17] ivong has joined the channel [05:29] GriffenJBS has left the channel [05:31] Validatorian: JimBastard: Howdy, did you know your blog is down? [05:38] jchris has joined the channel [05:39] devkorcvince has joined the channel [05:42] unhappyrobot has joined the channel [05:43] muk_mb has joined the channel [05:55] daglees has joined the channel [05:55] daglees has joined the channel [05:55] Validatorian has joined the channel [05:57] jamescarr_ has joined the channel [06:00] jamescarr_: Object.defineCatchAll [06:00] jamescarr_: dont think that exists [06:02] jamescarr has joined the channel [06:04] shaver: so http client stuff [06:05] LFabien has joined the channel [06:07] nog_lorp has joined the channel [06:09] Yuffster has joined the channel [06:11] kjeldahl has joined the channel [06:12] shaver: ahem! [06:12] shaver: so for http client stuff [06:12] shaver: I am supposed to collect response data events, and concatenate (or stream-process) the data myself? [06:13] shaver: does node have a streaming JSON decoder around somewhere, perchance? [06:17] karboh has joined the channel [06:20] hannesw has joined the channel [06:20] cloudhead has joined the channel [06:21] karboh: shaver: Maybe you should have a look at node-formidable (by felixge) for forms parsing? [06:21] shaver: I saw that one [06:21] shaver: but I'm not dealing with forms ATM, just JSON in and JSON out [06:22] karboh: ok [06:22] karboh: I just buffer the request and then parse the json [06:22] shaver: what I need to do, clearly, is convince felixge that he needs the JSON parsing :-) [06:22] shaver: yeah [06:22] karboh: since my requests are small [06:23] shaver: some of mine are going to be a little bit large, on the order of 100K [06:23] karboh: ok, then streaming sounds reasonable [06:24] shaver: other than the license and the implementation language, http://code.google.com/p/async-json-library/ is promising [06:28] jameshome has joined the channel [06:31] karboh: well, try and run it through gwt to generate js out of it :-) [06:32] shaver: nyh2p [06:33] shaver: honestly, buffering this stuff with node is going to be so much faster than what I was doing before in python anyway [06:43] jamescarr_ has joined the channel [06:44] jamescarr has joined the channel [06:47] devkorcvince has joined the channel [06:47] kjeldahl has joined the channel [06:51] mweiss_ has joined the channel [06:57] shaver: oh, hmm [06:57] shaver: how do I spin the event loop? [06:58] shaver: one of these scripts is just a client, for batch processing [07:00] voodootikigod_ has joined the channel [07:08] jetienne has joined the channel [07:10] hannesw_ has joined the channel [07:11] deltasquare4 has joined the channel [07:19] gerred has joined the channel [07:28] hannesw_ has joined the channel [07:32] SamuraiJack_ has joined the channel [07:37] hassox has joined the channel [07:37] mikeal has joined the channel [07:39] SamuraiJack_ has joined the channel [07:40] jetienne: q. is there a way to pass js code directly in the cmdline ? node -e "console.log('foo')" ? [07:42] herbySk has joined the channel [07:46] pquerna: jetienne: no, but +1 for a patch [07:46] phiggins: moin pquerna wtf are you doing awake [07:46] pquerna: phiggins: 12:46 [07:47] pquerna: not that late [07:47] phiggins: true. 9:47 here [07:47] stephank has joined the channel [07:47] niemeyer has joined the channel [07:48] pquerna: another hard day of JSConf'ing left? [07:49] JimBastard: friends let friends drink and javascript [07:56] sechrist: anybody know if express-auth works with current versions of express? [07:59] bpot has joined the channel [08:02] phiggins: one more day. doug is talking now [08:02] phiggins: suggesting loop { /* with new scope */ } [08:02] voodootikigod_ has joined the channel [08:03] Anti-X has joined the channel [08:10] brianleroux has joined the channel [08:15] rikarends has joined the channel [08:17] voxpelli has joined the channel [08:18] dgathright has joined the channel [08:25] brianleroux has joined the channel [08:26] aaronblohowiak has joined the channel [08:26] aaronblohowiak: i can't easily see a way to dump all of the request params in express [08:26] lachlanhardy has joined the channel [08:28] aaronblohowiak: req.params [08:34] marksw has left the channel [08:35] sechrist: How do sessions work in express? [08:35] sechrist: I can't find a recent example [08:40] sechrist: ah, nevermind :) [08:41] aaronblohowiak: =) [08:41] aaronblohowiak: oh req.params doesnt work. i have to req.param(name) =/ [08:45] sechrist: can't get an array of params? [08:45] sechrist: :\ [08:45] aaronblohowiak: sechrist: right. [08:46] aaronblohowiak: i will just have to read all the source [08:46] aaronblohowiak: i'm at TC disrupt [08:46] aaronblohowiak: so, tring to hack this shit out real quick [08:46] aaronblohowiak: =) [08:46] adambeynon has joined the channel [08:47] femtoo has joined the channel [08:48] sechrist: aaronblohowiak: ah you're in the hackathon [08:48] aaronblohowiak: sechrist: yes. [08:48] aaronblohowiak: it is pretty cool. lots of free stuff [08:48] aaronblohowiak: also, i cranked out some open-source, with more to come [08:48] aaronblohowiak: and building a neat v1 of a product =) [08:50] sechrist: can you say what it is? [08:53] SamuraiJack_ has joined the channel [08:57] voodootikigod__ has joined the channel [08:59] stagas has joined the channel [09:01] tekky has joined the channel [09:04] claudiu__ has joined the channel [09:04] SamuraiJack_ has joined the channel [09:04] jetienne: is it possible to do websocket with https ? like websocket but encrypted ? [09:05] sveimac has joined the channel [09:07] stagas: jetienne: not in a standard way afaik [09:07] Blink7 has joined the channel [09:07] FuzzYspo0N: anyone know if someone has written an ENet server in node? I have the makings of one, might as well make it complete [09:07] ghiu has joined the channel [09:07] jetienne: stagas: hm ok [09:08] stagas: jetienne: but it's still a tcp connection, you probably need to apply an encryption technique of your own [09:08] jetienne: stagas: i think i heard mikeal talking about http UPGRADE [09:09] jetienne: http://en.wikipedia.org/wiki/WebSockets [09:09] mikeal: ssl support isn't done in the standard yet last time i checked [09:10] mikeal: just like https it's another uri space [09:10] voodootikigod_ has joined the channel [09:10] mikeal: so websockets is ws:// [09:10] mikeal: and TLS websockets will be wss:// [09:10] mikeal: but i don't think anyone has implemented it yet [09:11] MikhX has joined the channel [09:12] jetienne: mikeal: ok so "possible on paper, but not yet implemented" would be correct ? [09:12] mikeal: that's what i would say [09:12] jetienne: ok [09:15] ph^ has joined the channel [09:28] sveimac has joined the channel [09:28] echosystm: im trying to install node [09:29] echosystm: when i make, i get an error saying... [09:29] echosystm: "project not configured run waf configure first [09:29] echosystm: wtf is waf? [09:30] echosystm: hah [09:30] echosystm: wait [09:30] echosystm: nevermind [09:32] rikarends has joined the channel [09:33] gui13 has joined the channel [09:33] gui13: hey guys [09:33] echosystm: hey sweet cheeks [09:35] SamuraiJack_ has joined the channel [09:37] MikhX has joined the channel [09:39] mikew3c has joined the channel [09:41] persson: Hello. I'm trying to run the jade example in express/examples/jade. It starts but when I try to access it with my browser I get: Error: ENOENT, No such file or directory '/home/daniel/src/express/examples/jade/public/index.html [09:42] persson: Shouldn't it look for files in the views dir? [09:47] jetienne: i love the vapor.js stuff :) [09:48] gui13: wtf vapor.js ?! [09:49] jetienne: the new trandy js framework, uber eco stuff [09:49] gui13: I see [09:49] jetienne: fit the "FOOBAR in node under 10lines" trend [09:50] brianleroux has joined the channel [09:50] jetienne: http://github.com/explore <- vapor.js is first! [09:50] jetienne: google is joining [09:54] voodootikigod_ has joined the channel [09:55] adambeynon has joined the channel [09:58] sveimac has joined the channel [10:06] aliem has joined the channel [10:08] sveimac: go ryah! [10:11] q_no has joined the channel [10:13] jetienne: go [10:16] SamuraiJack_ has joined the channel [10:17] ooooPsss has joined the channel [10:17] stephank: I seem to only hear about conferences when they are already underway. o_o [10:20] Anti-X: that's because programmers aren't marketers [10:20] Anti-X: or you're just not signed up to the right mailing lists. i'm with that category. [10:21] Anti-X: i think PHP developers are marketers instead of programmers [10:21] Anti-X: because there seem to be a php conference every week [10:21] Anti-X: seems [10:21] Anti-X: and yet php does nothing to help the world [10:23] agnat has joined the channel [10:23] stephank: I don't read a lot of mailing lists, but I do follow a lot of feeds. [10:24] dahankzter has joined the channel [10:28] overra: stephank: i think lanyrd.com would help [10:29] overra: s/would/might [10:30] galaxywatcher has joined the channel [10:30] overra: stephank: http://lanyrd.com/topics/javascript/ [10:30] stephank: overra: Hey, that's rather neat. Thanks! [10:33] mikew3c_ has joined the channel [10:39] noglorp has joined the channel [10:45] paul_uk has joined the channel [10:49] codetonowhere has joined the channel [10:55] digitalspaghetti: i take it with no.de they don't have any libaries on their, and we have to include our own? [10:56] digitalspaghetti: i.e Express, connect, etc? [10:56] mape: digitalspaghetti: you can use npm [10:56] digitalspaghetti: how do i get on via ssh? i tried ssh'ing in but it keeps asking for my password, but git is fine [10:57] mape: digitalspaghetti: using a ssh key [10:57] ooooPsss: is no.de open to public? [10:57] mape: and then node@name.no.de [10:57] digitalspaghetti: mape: yes :) I have that set up, my key is there [10:57] mape: and using node as user? [10:57] digitalspaghetti: ahh, node@ [10:58] digitalspaghetti: no, i was just ssh without node@ [11:01] Druid__ has joined the channel [11:04] ooooPsss: I register to no.de public beta and it asks a coupon. where can I get one guys? [11:04] digitalspaghetti: hmm, seems to be running now according to the deployment message, but not up yet :( [11:04] digitalspaghetti: curl -k -u username:password https://api.no.de/♥ -X POST [11:04] digitalspaghetti: will get you one [11:04] rnewson has joined the channel [11:05] skampler: i fixef a keyboard cap by just poking around :D [11:07] ooooPsss: digitalspaghetti: invalid coupon [11:10] mpoz2 has joined the channel [11:10] AAA_awright has joined the channel [11:10] jetienne has joined the channel [11:11] jetienne: slide from #jsconf http://nodejs.org/jsconf-eu-2010.pdf <- from ryah [11:11] zorzar_ has joined the channel [11:12] konobi: http://wiki.joyent.com/node:start [11:13] sveimac_ has joined the channel [11:15] d0k has joined the channel [11:16] digitalspaghetti: gahh this error is almost useless for me debugging this [11:17] dylang has joined the channel [11:17] brianleroux has joined the channel [11:18] ooooPsss: digitalspaghetti: I get a code but it doesn't work [11:21] digitalspaghetti: ooooPsss: no idea, i'm just starting out myselfd [11:22] ooooPsss: ok! [11:22] paul_uk: hey has anyone been able to get socket.io to work with nodejs ? [11:23] paul_uk: I cant even get their sample chat client to work [11:24] digitalspaghetti: whoo hoo! Got my no.de site up and running :D [11:24] digitalspaghetti: http://tanepiper.no.de/ [11:25] JimBastard: paul_uk: yeah man, lots of people [11:25] paul_uk: g/l in torronto, my bro used to live there [11:26] konobi: digitalspaghetti: how'd you get sorted? [11:26] paul_uk: JimBastard, is there a secret handshake for the club ? [11:26] digitalspaghetti: oh, i'm moving to Toronto next year :D [11:26] paul_uk: digitalspaghetti, at least you won't see a difference in the weather :P [11:27] digitalspaghetti: konobi: it was because i was including a GC library that i needed on webfaction, for some reason require.paths.unshift was being ignored on no.de [11:27] JimBastard: maybe run the unit tests [11:27] JimBastard: does socket.io not have test coverage? [11:28] JimBastard: dont see them [11:28] JimBastard: but it works [11:28] ooooPsss: digitalspaghetti: how easy is it to setup an app on no.de? [11:28] digitalspaghetti: is it possible to do a AName record to my site on no.de? [11:28] JimBastard: ooooPsss: pretty easy, you just git push [11:28] digitalspaghetti: or just a CName record? [11:29] konobi: either [11:29] AAA_awright_ has joined the channel [11:30] paul_uk: if someone can take a quick peek at this and let me know whats wrong, that would be great :) http://pastebin.com/UtL06Yvf [11:30] digitalspaghetti: i don't see anything in the docs to set up the AName record on the joynet side [11:30] mape: digitalspaghetti: They recommended using a C-name instead [11:30] paul_uk: this happens as soon as i launch the chat.html [11:30] digitalspaghetti: CName is cool, i'll just do that then :D [11:31] konobi: digitalspaghetti: it's an IP [11:31] ooooPsss: "If you have any questions about the Node SmartMachine private beta, please contact us." but the e-mail is locked [11:31] ooooPsss: (that's on no.de) [11:31] digitalspaghetti: konobi: i', probably thinking VirtualHosts here [11:32] konobi: ooooPsss: #joyent [11:32] konobi: digitalspaghetti: no virtual hosts here... straight IP [11:33] jashkenas has joined the channel [11:33] mape: konobi: don't you get a ***.no.de address? [11:33] mape: Hence using c-name if they swap the IP [11:33] konobi: you do [11:34] digitalspaghetti: well webfaction will only let me create an aname record for my tanepiper.com address, and CName for subdomain (i.e. www.) [11:34] digitalspaghetti: so looks like i'll need to create an aname to the IP [11:35] ashb: http://www.arewefastyet.com/ - moz now faster then JSC for v8bench [11:35] digitalspaghetti: that should get webfaction off my back for going over memory usage on their server :D [11:36] mape: Hopefully the V8 devs have some performance improvements hidden in a box to pull out when the moz devs release theirs [11:36] ashb: seems likely. this sort of war can only be good for us [11:36] ashb: (unless the benchmarks are optimizing the wrong things, which is quite likely) [11:37] mape: Wasen't a new benchmark released recently? [11:38] mape: The IE9 peeps doing "real app" benches? [11:38] ashb: oh the moz 'things we pulled from the web' one [11:38] ashb: yeah [11:39] SamuraiJack_ has joined the channel [11:39] slaskis has joined the channel [11:40] ashb: mape: yeah - MSR have a benchmark set too [11:40] ashb: (Microsoft Research) [11:41] sveimac has joined the channel [11:47] brianleroux has joined the channel [11:48] konobi: leroux! [11:51] sveimac has joined the channel [11:51] mikeal has joined the channel [11:56] wakawaka has joined the channel [11:57] digitalspaghetti: once i got my errors out the way (due to the way I had set up the site for webfaction) deploying to no.de is very easy :D [11:57] Druid__ has joined the channel [11:58] stride: ashb: a benchmark for stuff their browsers don't even support? =) [12:05] zimbatm has joined the channel [12:05] paul_uk: ok, so i got the learnboost socket.io working with nodejs, i was missing ssl not being installed. Now my issue is that firefox 3.6.X doesnt seem to work, although its meant to? [12:06] mape: paul_uk: flashblocker? [12:07] paul_uk: mape: ha, yeah i have adblocker running, lemme turn that off [12:07] mape: should fallback to XHR though [12:08] paul_uk: nah, same issue. all i see is http: in the console [12:08] paul_uk: ah yeah i see now, its looking for an swf file and its missing. good ol' firebug, i'd have never seen that otherwise [12:09] kriszyp has joined the channel [12:10] brianleroux has joined the channel [12:12] paul_uk: this is hiliarious. so im looking for websocketmain.swf and im looking in the right directory from the downloaded source from git and its not there. [12:13] mape: init submodules? [12:14] ekidd has joined the channel [12:14] paul_uk: sorry ? [12:15] ekidd: Good morning! Is there a good "default" TDD library for Node.js? I'm familiar with Expresso? [12:15] mape: perhaps socket.io uses submodules [12:15] mape: ekidd: expresso and vows are the ones I hear the most about [12:15] ekidd: Similarly, is there a good "default" BDD library? Vow.js looks pretty convincing to me, but does it have competition? [12:15] ekidd: mape: Ah, thanks! [12:16] paul_uk: mape: i don't know this is my first day with nodejs and socket.io im kinda in the deep end here drowning, but im sure i'll work it out :) [12:16] ekidd: mape: I'm working on a testing plugin for CoffeeScript's Barista http://github.com/aranetic/barista_test , and wanted to support a good set of test libraries out of the box. [12:16] mape: paul_uk: how did you install it? [12:17] paul_uk: mape: just download the zip and extract [12:17] ekidd: mape: Are there any popular mock-object libraries for Node.js? I see JsMock, which looks reasonable, but nobody has ever packaged it. [12:17] mape: paul_uk: I'd use npm [12:17] mape: ekidd: Not sure [12:17] JimBastard: bdd is better [12:17] JimBastard: vowsjs [12:18] mape: ACTION throws bias at JimBastard [12:18] mape: ;) [12:19] jashkenas: yo mape: how long before your site becomes the new npmjs.org? ;) [12:19] mape: jashkenas: Think isaacs likes the competition [12:21] stephank: Where is mape's site? nodul.es? npmjs.org could be sooo much more useful. [12:21] mape: http://npm.mape.me [12:22] ekidd: mape: I think the only packaged mocking library is sinon. I will take a look. [12:22] ekidd: If anybody else here has experience with Sinon, please let me know how you liked it. :-) [12:22] stephank: mape: that is definitely most awesome :) [12:24] sveimac has joined the channel [12:25] mikeal: micheil: what is the timeline for your new docs? [12:25] mikeal: and what is the url to your github branch :) [12:25] mikew3c has joined the channel [12:35] olegp has joined the channel [12:37] echosystm: whats the best ORM/persistence framework for node [12:37] echosystm: ? [12:41] mikeal: there aren't really any [12:41] mikeal: Geddy includes one [12:42] mikeal: that is a JSON store that can map to CouchDB and postgres [12:42] mikeal: and it's models work in the browser [12:42] brianleroux has joined the channel [12:42] mikeal: but there aren't any SQL ORMs [12:43] nornagon has joined the channel [12:43] nornagon: how do people deal with code that depends on a bunch of deferred statements? [12:44] nornagon: e.g. to run F, i first need to run F', F'', F''', ... and collect their results [12:44] JimBastard: nornagon: [12:44] JimBastard: the [12:44] JimBastard: tab [12:44] JimBastard: key is kinda fun [12:44] JimBastard: :p [12:44] mikeal: nornagon: http://howtonode.org/flow-control-in-npm [12:44] JimBastard: there you go [12:44] mikeal: that's a good article on it [12:44] nornagon: JimBastard: >.> [12:44] nornagon: mikeal: ta [12:45] JimBastard: event emitters can help as well [12:45] JimBastard: instead of passing a callback you can emit an event at the end [12:45] echosystm: does javascript support annotations or similar? [12:45] JimBastard: most stuff shouldnt require more then a few callbacks, anything else could be an emitter [12:46] nornagon: JimBastard: for this particular application, i need to load a bunch of chunks from files, then do some code. The chunks are e.g. the 9 chunks in a 3x3 square on some 2D map. [12:47] nornagon: an emitter might help, but i don't want to write a custom one for everything like this i end up having to do... [12:47] JimBastard: there is an event emitter module [12:47] JimBastard: you could have read emit a success event and then process when they have all responded, i dunno [12:48] JimBastard: im not very good at coding [12:48] ekidd_ has joined the channel [12:49] mikeal: you want async map [12:49] mikeal: asyncMap [12:49] mikeal: it's in that article [12:49] nornagon: yeah, asyncmap looks good [12:49] nornagon: this stuff needs to be in the stdlib... [12:49] JimBastard: nahh [12:50] echosystm: so, from what ive gathered, there is a decent bias towards nosql datastores - is there any reason not to use them? [12:50] JimBastard: echosystm: if you need a relational database? [12:50] mikeal: i'm biased :) [12:50] mikeal: echosystm: i don't think there is really [12:50] digitalspaghetti: http://www.cloud9ide.com/ looks very nice :) [12:50] echosystm: why would i need a relational db though? this is what i dont understand [12:50] mikeal: i think people who are using node come to it because it fits their use case [12:50] mikeal: and so they pick a database that fits their use case [12:50] JimBastard: you dont "need" one [12:51] mikeal: so big abstractions like ORMs don't appeal [12:51] mikeal: there is a great postgres driver that people use with node [12:51] echosystm: rightyo [12:51] mikeal: there are also good clients for couchdb, redis, etc [12:51] echosystm: have any of you used couchdb or mongo on a project with node? [12:51] digitalspaghetti: mikeal: my main issue is stuff like Django, rails and cakephp have made people (like myself) SQL lazy [12:52] mikeal: right, but if it's really really hard to write the SQL for your app then your use case might not fit the relational model very well :) [12:52] digitalspaghetti: i kind of like the Django ORM for example, makes my life easier because I don't have to think of joins [12:52] mikeal: simple SQL is actually totally readable and writable by normal people [12:52] digitalspaghetti: true, but i know with the complexity of my app, i need relational [12:52] mikeal: but that's mapping an object structure to a relational database, which in many cases is a big mismatch [12:52] mikeal: something like that might actually fit a document store better [12:53] mikeal: complexity !== relational [12:53] stride: hard SQL is a strange myth [12:53] echosystm: most of the work i do is restful web services where im mostly just pulling data from a store and spewing it up verbatim [12:53] mikeal: in fact some complex problems can't be handled in SQL with any kind of efficiency [12:53] mikeal: look at Redis :) [12:53] mikeal: echosystm: you should use CouchDB then [12:53] digitalspaghetti: my problem with document store is relationships. For example, in my app an organisation is made up of locations that can have parent-child relationships [12:53] echosystm: the biggest issue for me is distributing data and having it all super redundant [12:54] echosystm: nosql is a good option in these cases, right? [12:54] digitalspaghetti: then at each location, you have roles that also have parent-child, and are at certain locations [12:54] mikeal: digitalspaghetti: that's totally doable in CouchDB with map/reduce [12:54] mikeal: you're thinking about the problem relationally rather than thinking about the problem in and of itself [12:54] mikeal: your data doesn't sound very relational [12:54] digitalspaghetti: mikeal: then there is all the other stuff, like assets/systems, etc that are are locations and have owners and delegates [12:55] mikeal: there are some indexes that stretch different atomic pieces of data but that isn't inherently relational [12:55] mikeal: right [12:55] mikeal: so that assert is a document and it's locations and owners and delegats are just attributes [12:55] mikeal: and you can get an index of all of them across any type of document in a normalized index using a map [12:55] digitalspaghetti: then you have work breakdown structures that have related assets/systems tied to them, that have owners and roles, subordonate parts, and are specific to locations [12:56] mikeal: just because something is referenced in multiple places and needs to be indexed doesn't mean that it needs to be something atomic like a row [12:56] mikeal: in fact it's more efficient if it's computed in a seperate index [12:56] mikeal: what you are talking about is incredibly simple in CouchDB and really complicated in Postgres and I know because i've built similar things in bot :) [12:56] mikeal: er both [12:57] mikeal: i don't dislike relational completely, postgres is awesome [12:57] mikeal: but your problem is really complicated in relational [12:57] mikeal: and it doesn't need to be [12:57] ghiu: i think one big plus of nosql databases, apart from the scalability and speed fuzz (mysql is fast and scales well, for the vast majority of projects), is that they leverage the programmers from a lot of database work [12:58] mikeal: ghiu: what do you mean? [12:58] ghiu: in a simple scenarion, map your data into a json object (and with node or python you already have it there) and push it to the db is all you have to do [12:58] digitalspaghetti: well for example mikeal, how would i show a location, and show all of it's related stuff (like roles at the location, assets, systems, etc) [12:58] mikeal: oh yeah, i see [12:58] konobi: sql++ # really very powerful [12:58] bpot has joined the channel [12:58] digitalspaghetti: then if i click on an asset, see what location it's at, what roles are it's owners and delegates [12:58] mikeal: digitalspaghetti: easy [12:58] ghiu: i, for example, hate all the things like writing stored procedures, triggers and so on [12:59] mikeal: the assert is a document, all that information is included in it [12:59] ghiu: it simply doesn't appeal me, i don't like working on "storing" data as much as i like manipulating it [12:59] mikeal: if you want to find an asset by location you write a map to create an index by location [12:59] mikeal: digitalspaghetti: it's hard to talk to you about this because you're describing how you solve this problem with an RDBMS more than you're describing your problem :) [13:00] digitalspaghetti: so don't think of it in terms of have an asset and index an ID to a location, but actually store the location in the asset as well? [13:00] ghiu: in small projects with a single developer (no guys for the data bits), nosql is a great boost to productivity [13:00] mikeal: if an asset is a document you can find out *everything* about it by getting that document [13:00] mikeal: if you want to find an asset by some property you index those properties [13:00] mikeal: digitalspaghetti: yes [13:00] ghiu: and i find it much more amusing using javascript map/reduce funcions like in couch, for example [13:00] olegp_ has joined the channel [13:00] ghiu: than stored procedure [13:00] digitalspaghetti: hmm [13:01] mikeal: stored procedures are cool but they aren't how you create stored indexes [13:01] digitalspaghetti: but i suppose i don't have to store the whole location in the asset, just the name [13:01] mikeal: they are operations on existing indexes [13:02] digitalspaghetti: then when i want to view the loaction, i take the name and find the document with that name in the locations document store? [13:02] mikeal: which is where couch shines, the emitted key/value pairs are actually stored in a btree so queries are against the index not against a js map/reduce compilation in every query [13:02] mikeal: digitalspaghetti: not in a seperate store [13:02] mikeal: so you do [13:02] mikeal: doc.location = "my house" [13:03] mikeal: and you wanna find all stuff at "my house" [13:03] mikeal: map : [13:03] mikeal: function (doc) { if (doc.location) emit(doc.location, 1) } [13:03] mikeal: then query [13:03] mikeal: ?key="my house"&include_doc=true [13:04] digitalspaghetti: i take it node-couch supports this kind of stuff? [13:04] digitalspaghetti: oh damn :( [13:04] gthb has joined the channel [13:05] brianleroux has joined the channel [13:06] konobi: brianleroux: you fiend! [13:14] digitalspaghetti: ok, so this cloud9, how to i create a new project outside the cloud9 dir? [13:15] ekidd_: Is there an easy way to dump V8-generated assembly code from Node.js? [13:15] ekidd: I'd love to see how it JITs my code. [13:18] xla has joined the channel [13:23] DozyPieman has joined the channel [13:24] stride: digitalspaghetti: there's a command line parameter that sets the workspace, maybe that's what you're looking for? [13:24] deltasquare4 has joined the channel [13:26] sideshowcoder has joined the channel [13:26] ekidd: Oh, sweet! Vows has CoffeeScript support built into its loader. Very nice. [13:26] digitalspaghetti: stride: yea, found it [13:29] bradleymeck1 has joined the channel [13:36] nog_lorp has joined the channel [13:36] jamescarr: wasnt someone here asking if paynode supported paypal refunds? [13:38] jamescarr: just an fyi... now it does ;) [13:39] digitalspaghetti: paynode? [13:39] digitalspaghetti: oh nice [13:39] digitalspaghetti: i would ask that you look at sagepay :D [13:40] digitalspaghetti: i've used it before, ok API to work with [13:40] jamescarr: cool I'll take a look [13:41] ironyboy has joined the channel [13:42] jashkenas: bradleymeck: around? [13:47] bradleymeck1: mmmm [13:47] bradleymeck1: im sleepy but here [13:47] ironyboy: hi all, I'm getting a ECONNRESET error on a http search that I don't seem to be able to recover from? any ideas? [13:48] bradleymeck1: oh forgot to ping you jashkenas [13:48] stride: ironyboy: are you handling your http server's error event and the uncaughtException event of the process module? [13:49] jashkenas: bradleymeck1: I noticed that you added a pistachio example to the JS template bakeoff page on JSPerf.com ... [13:49] jashkenas: bradleymeck1: Just wanted to ping you and let you know that I removed it because it wasn't working -- the resulting HTML wasn't at all correct. [13:49] nerdEd has joined the channel [13:49] bradleymeck1: it was a proof of concept, if you take out the buffering. mmm odd it was when i tested it last, ill look at it [13:51] deltasquare4 has joined the channel [13:51] ironyboy: stride I've handled each at some point - currently just handling the error events though, it doesn't seem to die without the uncaughtException though? [13:52] bradleymeck1: jashkenas i see a bug i introduced when i added something, meh it can stay dead [13:52] jamescarr: digitalspaghetti, sagepay uses paypal? [13:52] jashkenas: bradleymeck1: whatever you want. [13:54] bradleymeck1: yea, i dont want to deal with that regex unless i would be using it in a real template engine [13:56] bradleymeck1: jashkenas for future is there a way to check the output of tests on jsperf? [13:57] jashkenas: bradleymeck1: sure, it's easy -- just open up a JS console, and paste the contents of your test, you should see identical HTML output for all of them. [13:57] rauchg_ has joined the channel [13:57] digitalspaghetti: jamescarr: no, sage has it's own API, although i think you can integrate paypal as well [13:59] digitalspaghetti: jamescarr: http://pastebin.com/dJPm3WbK [14:00] digitalspaghetti: thats a small python lib i wrote for it, basically the site has it's own payment page on a SSL page, i just take the values, and pass it over on a curl post [14:00] jamescarr: ah I see [14:00] ironyboy: stride: should I be handling both then? [14:00] jamescarr: booo [14:00] jamescarr: braintree didnt submit their module to npm [14:00] digitalspaghetti: means no passing off to another page, everything is done in the site (http://hatshop.co.uk) [14:01] V1 has joined the channel [14:01] jamescarr: I did it for them [14:05] SamuraiJack_ has joined the channel [14:05] deltasquare4 has joined the channel [14:05] jamescarr: doh... how do you require a module and export all of it's exports? [14:09] brianleroux has joined the channel [14:13] bradleymeck1: well i patched the damn thing, didnt seem to affect performance too much though [14:14] UHMA has joined the channel [14:15] stride: ironyboy: I'm not really certain which of the error handlers causes that behaviour, you'll have to try them I guess [14:17] ollie has joined the channel [14:18] bradleymeck1: jashkenas just benched it on personal comp after a patch (leaving it off jsperf cause i touch it) its around 2.5 times eco if using buffering 5~ times if just pumping [14:19] jashkenas: bradleymeck1: did you make a new revision of that test? [14:19] voodootikigod_ has joined the channel [14:19] bradleymeck1: no cause i dont want to deal with it [14:19] rauchg_ has joined the channel [14:19] brianleroux has joined the channel [14:19] jashkenas: bradleymeck1: alright. I'd be curious to see it though -- I can't imagine how you could have made it 2.5x faster than Eco -- that would be really impressive. [14:20] bradleymeck1: its combining variables and contexts into single references [14:20] bradleymeck1: throwing them away as they are no longer references [14:20] jamescarr: just added some braintree support to paynode [14:20] bradleymeck1: referenced* [14:20] jamescarr: that was easy [14:20] jashkenas: bradleymeck1: can you gist it? [14:20] jamescarr: var braintree = require('paynode').use('braintree') [14:20] bradleymeck1: check out pistachioTemplate.source [14:21] bradleymeck1: http://gist.github.com/578481 [14:22] bradleymeck1: by only having 1 context per depth of iteration and 1 index 1 length variable per loop depth you get some speed [14:22] bradleymeck1: that and it tries to use .property notation [14:22] jashkenas: interesting. [14:23] jashkenas: thanks for the explanation. [14:31] voxpelli has joined the channel [14:36] deltasquare4 has joined the channel [14:37] jamescarr: hmmm [14:38] jamescarr: I'm thinking it might be good to let people select specific payment modules with paynode and alternative provide a wrapper on top of them all [14:45] gthb has joined the channel [14:48] rikarends has joined the channel [14:56] ironyboy has joined the channel [15:09] pbradek has joined the channel [15:09] ironyboy: Is the following the best way to kill a request? http://pastebin.com/ScZ7xh3a [15:09] xla has joined the channel [15:10] bradleymeck1 has joined the channel [15:11] mikeal has joined the channel [15:13] mikeal has joined the channel [15:14] codetonowhere has joined the channel [15:16] Astro: when I do crypto.hash.digest('binary'), why is the result a string? [15:17] antimatter15 has joined the channel [15:17] tilgovi has joined the channel [15:18] digitalspaghetti: because you haven't hashed it [15:19] digitalspaghetti: csrf = new crypto.Hash('md5').update('' + new Date().getTime() + req.session.lastAccess).digest('hex'); [15:19] digitalspaghetti: so [15:19] digitalspaghetti: var foo = new crypto.Hash().update().digest('hex'); [15:20] stagas has joined the channel [15:25] JimBastard: Astro: http://github.com/marak/node_hash has a nice little wrapper to crytpo [15:25] JimBastard: very simple [15:25] JimBastard: http://github.com/Marak/node_hash/blob/master/lib/hash.js [15:26] mbrochh has joined the channel [15:26] mbrochh has joined the channel [15:27] jchris has joined the channel [15:27] Akufen has joined the channel [15:27] Akufen has joined the channel [15:28] LFabien has joined the channel [15:29] sveimac has joined the channel [15:33] mpoz2 has joined the channel [15:33] Astro: JimBastard: thanks [15:34] dohtem has joined the channel [15:34] dohtem has joined the channel [15:35] Astro: doh, you all want a hex digest :( [15:35] bpadalino: what kind of digest do you want ? [15:35] Astro: a binary one [15:36] Astro: but in a buffer instead of an unicode string [15:36] bpadalino: what do you plan on doing with it ? [15:36] Astro: utf-8 is not binary safe [15:36] Astro: sending it over a socket [15:36] Astro: socket.write(s, 'binary') works for me though [15:36] Astro: but it doesn't feel sane [15:38] stagas_ has joined the channel [15:38] c4milo has joined the channel [15:38] ehaas has joined the channel [15:39] rikarends has joined the channel [15:45] shripadk has joined the channel [15:45] brianleroux has joined the channel [15:48] shripadk: anyone tried using express.session() in an express app? throws a bus error. how do i resolve this issue? [15:48] slaskis: shripadk i've used it without any issues, what versions do you have? [15:48] shripadk: express v1.0.0.rc3 [15:49] shripadk: node v0.2.0 [15:50] dnolen has joined the channel [15:50] slaskis: hmm, i use those as well (but i've upgraded to node 0.2.2 as well) [15:50] shripadk: even the simple example.session() app in http://github.com/visionmedia/express/blob/master/examples/session/app.js fails. [15:52] programble has joined the channel [15:52] shripadk: did you use npm to install express? [15:53] slaskis: yep [15:57] jpld has joined the channel [16:01] galaxywatcher_ has joined the channel [16:03] dohtem has joined the channel [16:03] dohtem has joined the channel [16:05] brianleroux has joined the channel [16:07] ironyboy has joined the channel [16:11] Nohryb has joined the channel [16:12] paul_uk has joined the channel [16:15] brianleroux has joined the channel [16:17] paul_uk: hi guys, lets say i have a chat server with nodejs and i want to expose that on my website. all the examples i have seen is to hit a port that nodejs is running on. so do i just create a new socket on port 80 and then get the server to listen on a different port say 26970 and setup port forwarding? [16:18] paul_uk: what i dont want is my visitors to hit a specific url, rather a toolbar ala facebook is being utilised and i want access to IM functions/chatrooms to be seamless [16:18] sztanpet has left the channel [16:19] jashkenas has joined the channel [16:20] isaacs has joined the channel [16:32] shockie has joined the channel [16:33] s0enke has joined the channel [16:34] shripadk: slaskis i guess i need to upgrade my node. express readme states it requires 0.2.1. thanks. will get back if i have further issues. [16:34] slaskis: shripadk: good luck :) [16:35] n2n3 has joined the channel [16:35] rauchg_ has joined the channel [16:39] ironyboy has joined the channel [16:42] mikew3c has joined the channel [16:43] jamescarr: can someone do an npm install of braintree? [16:43] dilvie: paul_uk: Is your chat server an ajax service? [16:43] dilvie: what is braintree? [16:43] shripadk: braintree payment gateway [16:44] paul_uk: dilvie: yes i think so [16:44] jamescarr: I published it, but dont think it picked up [16:44] isaacs: jamescarr: It seems like 'braintree' is not in the registry [16:44] isaacs: jamescarr: did the publish finish with "npm ok"? [16:44] jamescarr: yeah, I'll add it [16:44] femtoo has joined the channel [16:44] jamescarr: isaacs, I thought so, let me try again [16:45] shripadk: its not there in the registry [16:45] isaacs: oh, it's Braintree, not "braintree" [16:45] jamescarr: are you serious!? [16:45] jamescarr: fuck [16:45] isaacs: er, wait, yeah, it is there... but it's not... [16:45] isaacs: nvm [16:45] deltasquare4 has joined the channel [16:45] isaacs: no, Braintree is the username [16:45] isaacs: ok, now it works [16:45] isaacs: you must've JUST republished...? [16:45] c4milo has left the channel [16:45] jamescarr: yeah :) [16:46] jamescarr: cool [16:46] isaacs: hey, you know base64 encoding is built into nodejs now? [16:46] jamescarr: isaacs, yeah, it's their module [16:46] jamescarr: they never bothered to publish it [16:46] isaacs: b = new Buffer("foo") ; console.log(b.toString("base64")) [16:46] shaver: so I'm looking to use some node stuff without a server event loop [16:46] shaver: (for some bulk processing, etc.) [16:46] jamescarr: I published their npm package for them so I can include it in paynode [16:46] isaacs: ok [16:46] shaver: is there a way to spin the loop manually? [16:47] jamescarr: I was curious about that too :) [16:47] jamescarr: I thought bas64 had been in node for awhile now? [16:47] isaacs: jamescarr: you should make them an owner, then: npm owner add whoever braintree [16:47] isaacs: jamescarr: yeah, it has [16:47] isaacs: maybe send them a patch, too ;) [16:48] shripadk: jamescarr: yup its there now... [16:49] shaver: doesn't v8 have atob and btoa in it? [16:49] stagas has joined the channel [16:50] nsm has joined the channel [16:51] paul_uk: does anyone know of any nodejs examples where it integrates with an already built website? [16:52] shockie: i thought yammer is using it [16:52] shockie: don't know if they got any examples to show [16:53] shripadk: paul_uk use redis to communicate between whatever server-side lang your website is built with and node.js if you really want to... [16:53] silentrob has joined the channel [16:54] paul_uk: shripadk, redis ? [16:55] shockie: hooray, just released my module for node, a simple iniparser! first contribution to the community http://github.com/shockie/node-iniparser [16:55] aho has joined the channel [16:56] stride: paul_uk: what's the problem with your integration right now? [16:56] jamescarr: I guess I'll check Redis and Riak out today [16:57] jamescarr: I keep hear alot of noise about it [16:57] paul_uk: stride: pretty much getting it straight in my head really. i can get various examples running with nodejs fine and im getting familar with the syntax. (its my first day). now i just need to work out if a user has requested a page using port 80, how i can expose them to nodejs. [17:00] stride: well, what is it you're trying to accomplish with node? if it's just a websocket based chat service you can integrate the client-side javascript in your existing app and use port 8080 for the node part (for example) [17:01] shripadk: paul_uk: what server side lang is your website built on? [17:01] paul_uk: shripadk, php [17:01] stride: and you're trying to integrate the websocket chat example in it? [17:02] paul_uk: stride: not using php. i'd rather stick with js [17:02] shripadk: paul_uk: then use socket.io [17:03] shripadk: along with express framework for starters... [17:03] paul_uk: shripadk, yeah i have downloaded the example app using socket.io. [17:03] megana has joined the channel [17:03] megana: openssl : not found! [17:03] megana: I am not sure why it says this [17:03] megana: I have openssl installed [17:03] megana: aptitude gave it to me [17:04] megana: I have openssl/crypto.h though [17:04] paul_uk: shripadk, expressjs as the framework ? [17:05] shripadk: paul_uk: yep... start an express server on whatever port you like and have socket.io listen to that express server(http.Server) instance. [17:06] megana: express server?? [17:08] ako has joined the channel [17:08] stride: megana: that's a check for some openssl development package I think [17:09] megana: okay [17:11] megana: ugh... [17:11] megana: I install the aptitude version of node [17:12] megana: and now everything is a mess [17:12] megana: I tried to get rid of it [17:12] megana: and build the source [17:12] megana: now I am just confused [17:12] eisd has joined the channel [17:13] dilvie: anybody here using node with jQuery? [17:13] megana: lol you can't do that! [17:13] dilvie: megana: can't is a stupid word. [17:13] megana: well, you'd need a dom on your server [17:14] dilvie: megana: you just lost 1,000 respect points. =) [17:14] megana: that is so egocentric o_O [17:14] UHMA has joined the channel [17:14] dilvie: megana: YUI works great with Node. =) [17:14] megana: to do what? [17:15] dilvie: megana: whatever you might do in the browser. There is a DOM for node. [17:15] dilvie: http://www.devcomments.com/Node-js-YUI-3-Dom-Manipulation-Oh-My-i24506.htm [17:16] dilvie: of course you can't do mouse events and such on the server - that doesn't make any kind of sense, but you certainly can manipulate dom elements. [17:17] megana: doesn't that completely cast seperation of concerns to the wind though? [17:18] deltasquare4 has joined the channel [17:19] dilvie: megana: No. What it does do is allow you to provide a graceful fallback for people who aren't running JavaScript in the browser. [17:19] megana: neat [17:20] dilvie: Megana: In other words, you can run your AJAX web services, and keep your separation of concerns tidy, but still give non-JS browser access to your ajax-driven web services. [17:20] JimBastard: dilvie: yeah [17:20] megana: hungry! :( [17:20] JimBastard: http://blog.nodejitsu.com/jsdom-jquery-in-5-lines-on-nodejs [17:21] JimBastard: megana: ^^ [17:21] JimBastard: read that [17:21] shripadk: my node build fails.. installing 0.22.. cloned from github repo. reason? here is the gist: http://gist.github.com/598122 [17:22] shripadk: sorry that should have been 0.2.2 [17:24] stride: shripadk: does configure find all of the openssl stuff? [17:24] dilvie: JimBastard: have you used jQuery with node? Should I grab the BOM stuff that was written for YUI as well as jsDOM? [17:24] siculars has joined the channel [17:25] JimBastard: dilvie: yes, i work at nodejitsu [17:25] JimBastard: we are using jquery to scrape some stuff for clients [17:25] JimBastard: server-side [17:27] dilvie: JimBastard: are you using a BOM layer? The one that was developed at Yahoo, or something different? [17:27] JimBastard: wtf is a bom [17:27] shripadk: stride: it finds all the openssl stuff... however it does not find some header files... here is the gist for configure output [17:27] shripadk: http://gist.github.com/598131 [17:27] JimBastard: jsdom + jquery, read the article [17:28] dilvie: JimBastard: BOM = browser object model. Provides window functionality. [17:28] dilvie: a fake window object [17:28] JimBastard: jsdom does that [17:28] JimBastard: read the article [17:28] dilvie: reading it now. [17:32] rnewson has joined the channel [17:32] rnewson has joined the channel [17:32] dilvie: JimBastard: Thanks for the tips. [17:32] JimBastard: anytime [17:32] stride: shripadk: hmm, not sure what packages you're missing there, sorry [17:35] shripadk: stride: np. have you got node installed successfully? i have 0.2.0... want to upgrade to 0.2.2. should i remove the previous version first? i am bit skeptical of removing a version that works for some thing that doesn't! [17:36] stride: shripadk: yep, works fine here. just compiled 0.2.2 yesterday [17:37] stride: don't know for certain but I never removed any previous version, make install overwrites the necessary places anyway [17:37] shripadk: stride: k. will try again. hopefully it works. will get back to you if i have further issues. thanks :) [17:40] Yuffster has joined the channel [17:43] rnewson has joined the channel [17:43] rnewson has joined the channel [17:47] prettyrobots has joined the channel [17:47] jamescarr: woot! [17:47] jamescarr: just added recurring payments to paynode's payflowpro module [17:48] prettyrobots has joined the channel [17:48] banjiewen has joined the channel [17:49] matt_c has joined the channel [17:49] jashkenas: bradleymeck: dude -- you put in a broken test again. [17:50] dilvie: what's paynode? [17:51] dilvie: jamescarr: You're a rock star. [17:51] dilvie: Looking at the github now. [17:51] grantmichaels has joined the channel [17:51] dilvie: I'm going to need payment processing for my new app. [17:51] dilvie: I thought I'd be rolling my own. [17:51] jamescarr: hehehehe [17:52] dilvie: what's the license? [17:52] jamescarr: tell me if you need other gateway support... I'm looking for candidates to add [17:52] jamescarr: MIT [17:52] dilvie: you rock. [17:52] dilvie: I'm going to need ACH, and I have never done it before. [17:52] dilvie: is your API still unstable? [17:53] jamescarr: yes, but for the most part specific APIs should remain the same [17:53] jamescarr: currently I'm doing different things for different gateways [17:53] jamescarr: I plan on unifying them in the future [17:54] dilvie: cool. Maybe I'll contribute some code... it'll be about a month before I get to the payment processing system. [17:54] JimBastard: you sound like me two months ago [17:55] jamescarr: JimBastard, did you ever start that project that needed it? [17:55] MikhX has joined the channel [17:55] jamescarr: i remember you chatting with me a bit about paynode back then [17:55] JimBastard: lol yes jamescarr [17:56] JimBastard: where do you think we might need recurring payments [17:56] JimBastard: :p [17:56] ph^ has joined the channel [17:56] jamescarr: :) [17:57] jamescarr: well, recurring payments is "there" for payflowpro, I have no idea how to use them yet though :) [17:58] gf3 has joined the channel [17:58] dilvie: I'm currently knee-deep in a form wizard. Adding tons of validation and field masks to stuff. [18:00] dilvie: It's a real-estate management app. Very form-heavy. I'm happy that most of the form stuff I've had to do is already addressed, but I have to apply masks and validations to thousands of individual fields. Keeping me busy for a while. [18:01] antimatter15 has joined the channel [18:02] jamescarr: dilvie, it's a rite of passage [18:03] jamescarr: dilvie, I once "web formified" a full mortgage application [18:03] niemeyer has joined the channel [18:03] derbumi has joined the channel [18:03] jamescarr: what you come to learn is that most banks / lenders don't need the full app :) [18:06] nroot7 has joined the channel [18:07] nroot7: did everyone here got their joyent node ? [18:07] ivong has joined the channel [18:07] sudoer has joined the channel [18:10] q_no: Anyone up for a beta-test round of http://nettank.nrg-media.de/ ? I've added a bigger map with streets and walls ;) need to track some data for bug-hunting :) [18:10] dilvie: jamescarr: =) [18:10] MikhX has joined the channel [18:11] q_no: oh... Chrome+Safari works best! ;) [18:11] stride: q_no: sweet :) [18:12] prettyrobots has joined the channel [18:12] Aria has joined the channel [18:13] stride: q_no: the tweet button is weird, it recommends and set's @AddThis as the via [18:14] UHMA: nice tank game, lol [18:14] q_no: hehe thanks [18:14] orlandov: domg [18:15] slaskis: q_no: nice game, the walls is very confusing though [18:15] orlandov: <3 bolo :) [18:15] q_no: yeah, I have to work a bit more on the collision map [18:15] karboh has joined the channel [18:15] UHMA: totes [18:15] q_no: but so far all basic features are included and the multiplayer mode seems to be solid [18:15] q_no: ACTION is happy :D [18:15] stride: q_no: these pickups could need a better collision checking as well [18:16] q_no: yeah..the powerup icons are a big tricky to collect [18:17] q_no: my collision model needs some more work :) [18:17] jashkenas: orlandov: if you like bolo, then: http://wadna-ramet.no.de/ [18:17] orlandov: x_X [18:18] orlandov: oh my.. [18:18] marek_z has joined the channel [18:18] jashkenas: orlandov: the source to that is here, and it's a good read ... http://github.com/stephank/orona/tree/master/src/ [18:19] stride: jashkenas: the source for a blank, black page? :> [18:20] stephank: hah, compat is rather limited, yes [18:21] stephank: stride: perhaps try: http://stephank.github.com/orona/ [18:21] bradleymeck1 has joined the channel [18:21] stephank: (non-websockets version) [18:21] stride: ah, yeah. that works [18:21] stephank: oompf, it's also an older version, should update it soon. [18:22] stride: strange, I'm running chrome & didn't experience problems with other websocket demos [18:23] temp01 has joined the channel [18:25] shripadk: q_no: is this multiplayer? i see no other tanks other than mine :( [18:25] Nohryb has joined the channel [18:26] UHMA: look at the little map [18:27] shripadk: lol.. this is gud fun [18:28] marek_z: thats what she said [18:28] UHMA: how do I upgrade? lol [18:28] UHMA: you take fb credits? [18:28] UHMA: haha [18:29] javajunky has joined the channel [18:29] q_no: hehehe ;) [18:29] stephank: q_no: I recognize this, it's a GTA2 level, is it not? XD [18:29] q_no: yeah it's a 2D rendered map of GTA2 ;) [18:29] stephank: I loved that game [18:29] q_no: I'm just a coder, not a gfx artist [18:30] stephank: Oh, I don't mind :) [18:30] UHMA: good eye stephank, i didn't notice that [18:30] UHMA: graphics are easy to add later [18:30] shripadk: :) [18:30] q_no: spread it on FB and twitter guys ;) [18:30] q_no: need some more visitors, hehe [18:31] herbySk has joined the channel [18:32] stephank: UHMA: It took a moment. I'd recognize it in an instant /with/ lighting, though. ;) [18:36] alexb_ has joined the channel [18:37] MikhX has joined the channel [18:39] javajunky has left the channel [18:40] ooooPsss has joined the channel [18:40] mikekelly has joined the channel [18:41] c4milo has joined the channel [18:41] kgf has joined the channel [18:41] hannesw has joined the channel [18:41] gerred has joined the channel [18:44] alexb_: How do i tell node to use paths relative to where I'm running the script [18:46] silentrob has joined the channel [18:46] c4milo: is someone working in a new TLS/SSL binding for nodejs [18:49] Druide__ has joined the channel [18:49] deltasquare4 has left the channel [18:50] shripadk: alexb_: something on these lines: require.paths.unshift(__dirname); [18:50] shripadk: ? [18:50] alexb_: Ok thx [18:51] stride: alexb_: guess you're looking for process.cwd() instead, __dirname is the scripts location iirc [18:52] aliem has joined the channel [18:52] shaver: I'm sure this is a dumb question, but is there a way to just include another file? [18:52] shripadk: alexb_: yep... stride is right... i assumed you wanted the scripts location... [18:53] shripadk: shaver: require('./your-module'); [18:53] shripadk: ? [18:53] shaver: I don't want it wrapped in an object [18:53] shaver: just a straight script transclusion, for config data [18:53] shaver: oh ho [18:53] shaver: there is an 'include' [18:54] shaver: just not on api.html [18:56] stride: stuff you put in the require'd file is executed, but you could just as well export an object with your configuration data [18:56] shaver: truth [19:02] mytrile has joined the channel [19:03] trotter has joined the channel [19:04] dilvie has joined the channel [19:05] kgf: stupid nit-picky question: is there a way to either customize or turn off the colors that are apparently in node's REPL now? [19:05] kgf: they're...rather hard to read if you're on a dark terminal [19:05] shaver: TERM=VT100 node-repl [19:05] shaver: ? [19:06] kgf: still colored. lol [19:06] shaver: bold [19:06] shaver: I don't see the colours [19:06] shaver: so you could log into my machie and run the repl [19:06] shaver: but that seems excessive [19:06] kjeldahl has joined the channel [19:06] halfhalo: buy a monochromatic screen? [19:06] halfhalo: :p [19:06] kgf: it's not in 0.2, I just switched to the latest from github [19:07] silentrob has joined the channel [19:08] codetonowhere1 has joined the channel [19:10] fod has joined the channel [19:10] inimino: shaver ⋱ There's read and eval or process.compile. [19:10] admc has joined the channel [19:10] admc_ has joined the channel [19:11] kgf: ah, it is in 0.2.2 [19:13] hannesw has joined the channel [19:14] sahazel has joined the channel [19:14] kgf: http://github.com/ry/node/commit/1d961a66309f1ab649fbb54f9badaf53100c6020 [19:18] jakehow has joined the channel [19:20] saikat has joined the channel [19:22] ghiu has joined the channel [19:24] ghiu has joined the channel [19:25] mytrile has joined the channel [19:26] ghiu has joined the channel [19:31] BBB has joined the channel [19:32] mischievious has joined the channel [19:32] mischievious has joined the channel [19:34] Uierth_ has joined the channel [19:36] Uierth___ has joined the channel [19:41] overra: 0 [19:46] ekidd has joined the channel [19:48] xla has joined the channel [19:55] langworthy has joined the channel [19:56] ajsie: anyone that uses the Fab framework? [20:00] mattly has joined the channel [20:02] dylang has joined the channel [20:02] hassox has joined the channel [20:04] mpoz2 has joined the channel [20:09] matjas has joined the channel [20:10] ivong has joined the channel [20:19] jamescarr: hmmm [20:20] jamescarr: is no.de still giving out beta accounts? I'd love one :) [20:20] shaver: srsly [20:21] voodootikigod has joined the channel [20:21] ooooPsss: JimBastard: how's your nodejitsu going? you have serious competition ;) [20:22] JimBastard: ooooPsss: its going fine [20:22] JimBastard: we arent competing with joyent really [20:22] JimBastard: different products [20:22] ooooPsss: yes, but the same goal [20:22] JimBastard: how would you know that? [20:23] ooooPsss: hosting [20:23] ooooPsss: "hosting and ninja training for node.js" [20:24] JimBastard: our product isnt anything like no.de really [20:24] shaver: I could use some ninja training [20:24] ooooPsss: ok JimBastard, really, I'm waiting to test it ;) [20:24] shaver: "vanish!" [20:24] JimBastard: hosting can be a lot more then just provisioning a machine and boot strapping it with node [20:25] shaver: yeah [20:25] stagas has joined the channel [20:26] ekidd has joined the channel [20:32] dilvie has joined the channel [20:36] prettyrobots has joined the channel [20:37] dohtem has joined the channel [20:37] dohtem has joined the channel [20:37] niemeyer has joined the channel [20:40] rnewson has joined the channel [20:40] rnewson has joined the channel [20:44] prettyrobots has left the channel [20:48] hassox has joined the channel [20:51] jakehow has joined the channel [20:51] hsuh has joined the channel [20:52] ajpiano has joined the channel [20:53] gerred has joined the channel [20:53] shaver: what's the canonical way to signal an error like "you must pass arguments"? I tried throwing that string, but it just shows up as "throw e" without my string [20:53] hannesw has joined the channel [20:54] Aria: throw new Error("message") [20:54] banjiewen has joined the channel [20:56] satori_ has joined the channel [20:57] hassox has joined the channel [20:58] shaver: ah, quite quite [20:58] shaver: thanks [21:03] gerred: anyone here in los angeles? [21:14] LFabien has left the channel [21:21] amuck has joined the channel [21:22] ph^ has joined the channel [21:25] marshall_law has joined the channel [21:27] zemanel has joined the channel [21:27] josephhitchens has joined the channel [21:27] hober: gerred: I'm in San Diego, which is like LA but awesomer. :) [21:27] halfhalo: lies [21:28] josephhitchens: greetings all. I want to write some code that will be common for both node and browser environment. is there a standard way to detect what env the code is running in? for example, looking for the existence of the global (versus window) object? Or some such? [21:28] josephhitchens: how do others do it? [21:30] nroot7 has left the channel [21:30] nroot7 has joined the channel [21:30] Aria: Yeah, that's a common way. [21:31] josephhitchens: OK, good. I'm doing, "if(typeof global == "object") {" right now, which seems sensible enough. [21:36] niemeyer has joined the channel [21:36] Validatorian: Aria: Do you know what would cause this? (running html5 parser example) TypeError: Cannot read property '_bytesRead' of undefined [21:38] Aria: bug in readFileSync in node HEAD. Use 0.2.2 [21:39] Validatorian: ah [21:39] Validatorian: thanks [21:42] Aria: Sure thing [21:43] FuzzYspo0N has joined the channel [21:45] AAA_awright: What is there for producing Javascript API documentation? [21:45] AAA_awright: There was something written for Nodejs and I lost it [21:45] shaver: interns? [21:46] bpadalino: haha [21:46] bpadalino: nice [21:47] Aria: jsdoc? [21:47] kgf: I thought jsdoc predates node. lol [21:47] Aria: I think so [21:48] sahazel has joined the channel [21:50] hdon has joined the channel [21:54] shaver: I don't suppose anyone knows of a good example of using fjakob's async.js with the httpClient [21:54] shaver: I'm a little bit lost in how the callbacks wire together [21:56] FuzzYspo0N: AAA_awright: look for "dox" [21:56] AAA_awright: That was it [21:56] FuzzYspo0N: visionmedia/dox [21:56] FuzzYspo0N: on github. [21:57] kjftw has joined the channel [21:58] rikarends has joined the channel [21:59] c4milo1 has joined the channel [21:59] AAA_awright: FuzzYspo0N: Do you know if there is an API to call or what? [21:59] AAA_awright: It appears to be just a program and that's not nice [21:59] c4milo2 has joined the channel [22:00] FuzzYspo0N: have you ever used a doc generator? [22:00] AAA_awright: A few [22:01] FuzzYspo0N: well [22:01] cloudhead has joined the channel [22:02] FuzzYspo0N: this connection is ass, AAA_awright. but dox has its own documentation. [22:02] mattly has joined the channel [22:02] AAA_awright: Yeah I'm reading through this all [22:04] AAA_awright: Ah Koala is what I'm looking for them [22:04] AAA_awright: *then [22:04] AAA_awright: FuzzYspo0N: Thanks [22:05] FuzzYspo0N: sure [22:06] zmbmartin has joined the channel [22:06] jamescarr: what's so hot about redis compared to other noSQL databases I've used (couchdb, riak, tokyo tyrant)? [22:07] FuzzYspo0N: apparently its better for heavy lifting [22:08] hassox has joined the channel [22:08] mape: jamescarr: its really fast? [22:09] shaver: it's dead-simple to configure, very fast, and quite simple [22:10] FuzzYspo0N: as with most of them. [22:11] siculars has joined the channel [22:13] polotek has joined the channel [22:14] amrnt has joined the channel [22:15] amrnt: hello guys! i got an error when i tried to run express. [22:16] mape: amrnt: Which one? [22:16] digitalspaghetti: yea, how long is a piece of string :D [22:18] Anti-X: about 10 [22:18] Anti-X: in base 10 [22:18] digitalspaghetti: closer to eleventy [22:19] Anti-X: my strings are never eleventy [22:19] halfhalo: mine are eleventy two [22:19] Anti-X: that's long [22:19] halfhalo: yup [22:20] Anti-X: you should consider splitting it over several lines [22:21] halfhalo: I should but I find it easier to store everything in a single string and use it as a db as well. [22:21] Anti-X: i hope you're using regex to parse that [22:22] halfhalo: close... [22:22] dilvie has joined the channel [22:22] halfhalo: a combination of switch statements and charAt [22:23] amrnt: http://gist.github.com/598368 [22:24] amrnt: i installed express usong npm [22:24] mape: Thats strange [22:24] shaver: I understand why setTimeout has the callback first, but it makes it harder to mix into async's list operations! [22:24] HAITI has joined the channel [22:26] papandreou has joined the channel [22:26] HAITI: cheers [22:27] saikat has joined the channel [22:28] mape: shaver: make a wrapper function? [22:28] shaver: yeah [22:29] ajsie: which node framework are you guys using? [22:30] FuzzYspo0N: ALL OF THEM [22:30] shaver: excellent, I have parallel-but-at-most-N working here now [22:31] hannesw has joined the channel [22:34] shaver: except that the first job doesn't get run [22:34] shaver: interesting [22:34] bpadalino: call it twice and be done with it [22:35] shaver: heh [22:35] shaver: was just a lazy use of ! and 0 as the task data for my test rig [22:36] admc has joined the channel [22:36] admc_ has joined the channel [22:37] Nohryb has joined the channel [22:38] rnewson_ has joined the channel [22:39] amrnt has left the channel [22:39] rnewson_ has joined the channel [22:39] shaver: this is what I ended up with: http://gist.github.com/598382 [22:39] shaver: feedback welcome [22:40] shaver: I was hoping I could use async.serial for the chaining, too, but I haven't figured out how to restart in that case [22:40] shaver: oh [22:40] shaver: heh, I just did [22:41] silentrob has joined the channel [22:41] MikhX has joined the channel [22:42] mikew3c has joined the channel [22:43] rnewson has joined the channel [22:47] derferman has joined the channel [22:50] sonnym has joined the channel [22:58] saikat has joined the channel [22:59] shaver: I like everything about async programming except debugging it [23:00] bpot has joined the channel [23:00] halfhalo: I don't like callbacks... I would if I could have the parent function return something after the callback was called (even if it makes everything synchronous), however. theres a few cases where I have to go the sync route vs async and that would solve all of my problems [23:01] halfhalo: as for now I'm just using async.series [23:03] shaver: you could use async.nextTick I think [23:09] slaskis has joined the channel [23:17] josefrichter_ has joined the channel [23:17] saikat: rauchg_: btw, the high number of failed Chrome connections seems to have been solved by moving things to wss (via stunnel) - proxies apparently handle that better (barely seeing any failed connections now). [23:17] saikat: also, just the general number of disconnections i was getting got solved by adding message retrying/connection retrying (went from about 100 total disconnects an hour to less than 10 now) [23:18] Nohryb has joined the channel [23:19] cferris has joined the channel [23:25] papandreou: Any news about the Connect.gzip issue that causes corrupt data for large responses? I've seen it pop up in the logs a number of times, and my colleague reported it here a while ago: http://github.com/senchalabs/connect/issues#issue/87 [23:25] Validatorian: anyone know how to reload npm configs? Updated a path in the .npmrc [23:25] nroot7 has joined the channel [23:25] Validatorian: (and npm errors out for all npm commands) [23:28] rauchg_: saikat: that's really good [23:28] rauchg_: :) [23:28] hassox has joined the channel [23:28] saikat: yeah - had no idea about the SSL thing [23:28] saikat: just stumbled across a post on SO about it [23:28] saikat: how did your talk go? [23:29] jpld has joined the channel [23:34] alexb_: If i include the same require in two different files, if i change something in one require doe it hang [23:34] alexb_: Does it change it in the other? [23:36] polotek: alexb_: modules from require are cached. you get the exact same object [23:36] alexb_: Ok cool thx [23:37] karboh has left the channel [23:40] shaver: hmm [23:40] shaver: mixing caolan's async and httpClient is a little gross [23:40] shaver: wonder how that could work better [23:42] rauchg_: shaver: async.js ? [23:44] shaver: yeah, the general one not the filesystem only one [23:45] shaver: ("async" in npm) [23:45] Vekz has joined the channel [23:49] boaz has joined the channel [23:51] riq has joined the channel [23:53] mattly has joined the channel [23:56] paulwe has joined the channel [23:58] dilvie has joined the channel