[00:00] ryah: er [00:00] chuhnk: "Darwin Macintosh.local 10.3.0 Darwin Kernel Version 10.3.0: Fri Feb 26 11:58:09 PST 2010; root:xnu-1504.3.12~1/RELEASE_I386 i386 i386" [00:01] herbySk: ryah: now, when I want to post fixes that apply both to 0.2 and 0.3, where should I rebase? [00:03] ryah: how do you actually see the cpu type in osx? [00:04] ryah: herbySk: apply it to master, i'll cherry-pick into v0.2 [00:04] ryah: chuhnk: "system_profiler | grep Processor " [00:05] chuhnk: Intel Core 2 Duo [00:05] amrnt has joined the channel [00:05] drudge: core 2 duo is 64-bit [00:05] ryah: chuhnk: x64 then [00:06] ryah: hilariously apple runs 32bit kernels on x64 processors [00:06] chuhnk: this is just ugly then [00:06] ryah: with 64 bit userland [00:06] chuhnk: bah [00:06] mattikus has joined the channel [00:07] ryah: what can one say? stop buying shitty products [00:07] chuhnk: haha [00:07] ryah: :) [00:07] TooTallNate: Don't you use a mac ry? [00:07] chuhnk: thats fine, I'll just run it on my desktop until I can format this thing and get an x64 kernel on there [00:07] ryah: chuhnk: ? [00:08] ryah: chuhnk: why not just compile it 64 bit? [00:08] chuhnk: i did try that the first time [00:08] chuhnk: it bombed out [00:08] ryah: how [00:08] chuhnk: ar: invalid operation of some sort [00:08] TooTallNate: chuhnk: Probably try updating XCode tools [00:08] ryah: perhaps you have an old 32 bit openssl [00:08] chuhnk: hmm [00:09] ryah: port install openssl ? [00:09] chuhnk: yea already installed [00:09] ryah: reinstall it [00:11] _announcer: Twitter: "tests for my node.js pbc riak client pass on ets, bitcask, and innostore backends. prev bitcask errors were due to my faulty socket code" -- technowürst. http://twitter.com/technoweenie/status/21787626113 [00:20] _announcer: Twitter: "@jeroenvduffelen why not just use #java w/ #gwt then if you're after speed and only using one language for client/server? don't get node.js" -- David Nelson. http://twitter.com/davidcodes/status/21788151571 [00:22] _announcer: Twitter: "@jeroenvduffelen why not use #java w/ #gwt then if wanting speed & 1 language for client/server? I still don't get node.js" -- David Nelson. http://twitter.com/davidcodes/status/21788223788 [00:23] mscdex: lol [00:23] mscdex: that tweet [00:24] mattly has joined the channel [00:25] felixge has joined the channel [00:26] Pilate: ryah: its still not setting more than one value in the browser, http://gist.github.com/543078 :\ [00:28] junkee[] has joined the channel [00:29] mjr_: I did not know that system_profiler was an actual command line thing. [00:29] ryah: Pilate: it's an array [00:30] sudoer has joined the channel [00:30] ryah: Pilate: header['set-cookie'][0] [00:30] mscdex: mjr_: yep, i used it the other day [00:30] mjr_: learning is fun [00:30] mscdex: to find info similar to /proc/cpuinfo [00:30] blogometer has joined the channel [00:30] blogometer: Hello, all. [00:30] mscdex: ACTION hides [00:30] junkee[]: hi [00:30] twoism has joined the channel [00:31] mscdex: it's saturday night... you know what that means!... ncurses patch night! [00:32] Pilate: right ryah, but the way its sending the set-cookie header is wrong. chrome/ie/ff wont set more than the first one [00:32] junkee[]: its 2:31am... here! [00:32] mscdex: 8:34pm [00:32] tekky has joined the channel [00:33] mscdex: but actually the author doesn't upload the weekly patch until midnightish [00:34] shimondoodkin has joined the channel [00:34] shimondoodkin: anyone knows waf script? [00:35] jtoy has joined the channel [00:36] junkee[]: Sunday 2:52am utc+2 - and i dont have coffee anymore [00:36] shimondoodkin: maybe its time to sleep [00:37] mscdex: shimondoodkin: you mean how to set up a wscript in general? [00:37] shimondoodkin: i want to add pangocairo to libs [00:37] shimondoodkin: i have started from async example [00:38] JimBastard has joined the channel [00:38] junkee[] has left the channel [00:39] mattikus has joined the channel [00:39] JimBastard: what do i have to do to get node to compile with openssl on ubuntu? the openssl package is installed but ./configure dont see it [00:39] mscdex: JimBastard: do the following two lines say "yes" ? [00:40] mscdex: JimBastard: if so, then you should be ok [00:40] JimBastard: ./configure says no dice [00:40] mscdex: all you need is libssl-dev [00:40] shimondoodkin: JimBastard -strange it works ok on ubuntu [00:40] JimBastard: ahhh [00:40] shimondoodkin: libssl-dev ... [00:41] mscdex: or openssl-devel on rhel/fedora/centos [00:41] mscdex: :p [00:43] JimBastard: thanks mscdex [00:43] panpainter has joined the channel [00:44] rkieffer has joined the channel [00:44] _announcer: Twitter: "Anyone know a good nodejs (micro) framework?" -- Tyler Gillies. http://twitter.com/tylergillies/status/21789500034 [00:45] rkieffer_ has joined the channel [00:46] mscdex: np [00:52] dnolen has joined the channel [00:54] mikeal1 has joined the channel [00:54] shimondoodkin: http://gist.github.com/543104 [00:55] stellar has joined the channel [00:55] shimondoodkin: how to add a lib pangoaciro to waf scrip [00:55] shimondoodkin: t [00:56] shimondoodkin: i dont know waf script [00:56] aaron_ has joined the channel [00:57] Pilate: ryah: minimal code example http://gist.github.com/543110 [00:58] stepheneb has joined the channel [00:58] ryah: Pilate: that's not how it's done... [00:58] Pilate: thats the equiv of how it's sending it from proxied requests [00:58] ryah: and it's the opposite of what i just fixed :) [00:59] Pilate: its still sending it comma separated, and browsers dont accept it [00:59] ryah: Pilate: http://github.com/ry/node/blob/2982e75a0b98a0c6707db2f0f6e7ed740b78a6be/test/simple/test-http-set-cookies.js#L13-15 [00:59] Pilate: im proxying headers directly from one connection to another and it invalidates them, its not correct [01:00] blogometer has joined the channel [01:02] _announcer: Twitter: "@ @ Fnando gleicon I not only digs node.js? I'm feeling the dummy's troop. : (" [pt] -- Leandro Silva. http://twitter.com/codezone/status/21790537652 [01:03] shimondoodkin: i can build a simple pango cairo program with: cc -o pangocairo $(pkg-config --cflags --libs pangocairo) pangocairo.c but not with wscipt [01:04] stepheneb_ has joined the channel [01:04] [[zz]] has joined the channel [01:05] stepheneb has joined the channel [01:06] _announcer: Twitter: "Image serving with #sinatra, #redis and a bit of #mysql. Time to try it in #node.js" -- Asim. http://twitter.com/chuhnk/status/21790744454 [01:19] sat has joined the channel [01:21] _announcer: Twitter: "Just got my first NodeJS script working. Like it a lot sofar." -- Shane Reustle. http://twitter.com/Reustle/status/21791635161 [01:27] blogometer: Is there an assert available. [01:27] blogometer: ? [01:28] blogometer: Also, which was the testing framework for testing that had coverage? [01:30] TooTallNate has joined the channel [01:35] shimondoodkin: there is a built in asert and yes there is a test framework with covarage [01:35] mscdex: he's gone :p [01:36] shimondoodkin: thanks [01:42] ph^ has joined the channel [01:43] blogometer has joined the channel [01:46] nolan_d has joined the channel [01:46] _announcer: Twitter: "My first open source #Node.js project: node-sosumi - Use Find My Phone services from your node apps. http://bit.ly/9uf1iN" -- Nicholas Penree. http://twitter.com/npenree/status/21793183476 [01:48] _announcer: Twitter: "@ Ta fnando using node.js in some real project now, or just studying?" [pt] -- danielvlopes. http://twitter.com/danielvlopes/status/21793294917 [01:48] davidwalsh has joined the channel [01:49] hzin has joined the channel [01:50] nolan_d1 has joined the channel [01:53] jimt has joined the channel [01:55] _announcer: Twitter: "the appcelerator firehose (twitter streaming & node.js) http://bit.ly/9VTUzk" -- Jeff Schoolcraft. http://twitter.com/jschoolcraft/status/21793712374 [01:55] Aria: And now! With API docs! http://github.com/aredridel/node-smtp [01:57] konobi: Aria, make sure it defaults to not being an open relay [01:57] Aria: How about not defaulting to being a relay at all? [01:57] konobi: =0) [01:58] jimt_ has joined the channel [01:58] konobi: Aria, i suppose that's true enough [01:58] Aria: It leaves that part up to the user of the library. I'll provide all the pieces, though. [02:00] mjr_: It's kind of funny that SMTP is still a thing. [02:00] mjr_: Given how problematic it all is. [02:00] ph^ has joined the channel [02:00] Aria: SMTP's never been a problem. [02:00] Aria: People competing for other people's attention is. [02:00] mjr_: That's true. [02:00] mjr_: And neither do guns kill people. [02:01] danielzilla has joined the channel [02:01] Aria: And just like guns, we have rules in place to keep people from getting hurt. [02:01] Aria: Like open relay lists and background checks. [02:03] blogometer: Aria: Did you just think of that yourself? [02:03] blogometer: "SMTP's never been a problem..." [02:03] Aria: Yeah... why? [02:03] blogometer: Are you on Twitter? [02:03] Aria: I am. [02:04] blogometer: Please Tweet those two sentences verbatim. [02:04] blogometer: Don't reframe it, or you'll lose it. [02:04] blogometer: It is a nugget. [02:04] Aria: Like that. [02:04] blogometer: Those two sentences together. [02:04] Aria: http://twitter.com/aredridel/status/21794292652 [02:04] blogometer: Retweeted. [02:05] blogometer: https://twitter.com/bigeasy [02:05] nolan_d1: Hey, is anyone other than howtonode.org using Wheat? Seems like an interesting project, but I'd like to see other sites using it if they exist. [02:05] blogometer: Thank you. It will be a useful thing to link to in a blog post someday, I just know it. [02:05] jimt has joined the channel [02:06] TooTallNate: I'm using it (but my site is down right now)... http://tootallnate.net [02:06] TooTallNate: nolan_d1: That was in response to you [02:06] nolan_d1: TooTallNate: How are you liking it? [02:07] TooTallNate: nolan_d1: I like it a lot actually. The perfect concept for running a blog that fits with my coding style (git, etc.) [02:07] nolan_d1: Yeah, I'm currently using Ikiwiki and have played a bit with converting that to Jekyll, but I think that static generation is too limiting. [02:08] nolan_d1: So I'm looking for options that use the repository directly, and while Wheat looks promising, I can't determine if it does the things I want. [02:08] blogometer: What was the testing framework that had coverage? [02:08] nolan_d1: Like, for instance, /yyyy/mm/dd/article-title permalinks. [02:09] TooTallNate: nolan_d1: There's permalinks in the form of /article-name/git-commit [02:09] TooTallNate: nolan_d1: So they track revisions, etc [02:09] nolan_d1: Ah, OK, wasn't sure if that was hard-coded, or if the logic could descend into article/yyyy/mm/dd subdirectories. [02:10] dipser has joined the channel [02:10] TooTallNate: nolan_d1: You'd probably have to hack that in yourself I think. Tim has said that Wheat isn't a framework, but a starting point rather [02:11] robotarmy has joined the channel [02:11] nolan_d1: Yeah, that's kind of how I was looking at it. I'd also like to have/add support for things like tags, categories and tag/category links. [02:11] blogometer: Found it. [02:11] blogometer: http://tjholowaychuk.com/post/791901984/node-javascript-test-coverage [02:12] blogometer: Laters. [02:12] blogometer has left the channel [02:13] mscdex: blargh, he left too soon again [02:13] mscdex: i'll catch him one of these times [02:13] TooTallNate: nolan_d1: Ya I don't think those are in there already. They sound like good generic features though so maybe you should open an issue on the Wheat repo recommending that? [02:14] nolan_d1: Good idea. I don't know Node all that well yet so am not really sure when/if I'd get around to implementing those. [02:16] hdon has joined the channel [02:16] shimondoodkin: http://gist.github.com/543104 maybe somebody who knows waf-script can give me a suggestion what to do? [02:20] jimt has joined the channel [02:20] bpot has joined the channel [02:21] _announcer: Twitter: "Rails clone written in node.js http://geddyjs.org/" -- Takaaki Kato. http://twitter.com/takaakikato/status/21795379873 [02:23] breccan has joined the channel [02:27] jakehow has joined the channel [02:28] kriszyp has joined the channel [02:29] stepheneb has joined the channel [02:30] jimt has joined the channel [02:33] drudge: mde: ping [02:39] jimt_ has joined the channel [02:42] _announcer: Twitter: "Fiddling with node.js. Trying to work out how best to split up the code. All the tutorials seem to just be big long scripts in one file." -- Breccan McLeod-Lundy. http://twitter.com/Breccan/status/21796691217 [02:44] MikhX has joined the channel [02:45] polotek has left the channel [02:45] jimt has joined the channel [02:49] gerad has joined the channel [02:49] gerad1 has joined the channel [02:49] _announcer: Twitter: "http://bit.ly/bmiv4b Twitter-CouchDB Streaming Demo (using #couchdb, #nodejs, #couchapp)" -- Yohei Sasaki. http://twitter.com/yssk22/status/21797124414 [02:52] TooTallNate: ping: ryah [02:53] stellar has joined the channel [02:56] amuck has joined the channel [02:58] jackish has joined the channel [02:59] visnup has joined the channel [03:00] jacobolus has joined the channel [03:01] mr_danie1 has joined the channel [03:06] _announcer: Twitter: "Just wrote (and fixed) my first Node.js bug." -- J Chris Anderson. http://twitter.com/jchris/status/21798239387 [03:09] necrodearia has joined the channel [03:10] murz has joined the channel [03:10] ajpiano has joined the channel [03:10] joshbuddy has joined the channel [03:11] _announcer: Twitter: "What happened in this http://nodejs.org/" [ja] -- kudzu. http://twitter.com/kudzu/status/21798581575 [03:13] proppy has joined the channel [03:21] _announcer: Twitter: "Today I spent the morning with afternoon with friends and relatives. Tomorrow with Brethren Church. I'll be back Monday with the code # nodejs:)" [pt] -- Emerson Macedo. http://twitter.com/emerleite/status/21799197253 [03:32] badaxx has joined the channel [03:33] singalong has joined the channel [03:35] _announcer: Twitter: "I was able to finally move node.js." [ja] -- koichik. http://twitter.com/koichik/status/21800043042 [03:36] singalong: i'm thinking on serving my nlog using node.js :) [03:36] singalong: *blog [03:37] amerine has joined the channel [03:45] _announcer: Twitter: "#NodeJS Tutorial with #CouchDB and #Haml http://bit.ly/96bzOo" -- Leandro Silva. http://twitter.com/codezone/status/21800722368 [03:47] grantmichaels has joined the channel [03:48] singalong: does anyone know some good gameQuery tutorial? [03:49] dnm: Who the fuck do I have to pay and or kill to get a working Git on Windows? [03:50] singalong: dnm: works fine for me. but i use windows rarely [03:50] singalong: dnm: github has a page on getting git working on windows. try that [03:50] dnm: Apparently the developer of msysGit is butthurt about everything if I take his blog as evidence, msysGit is amazingly fucked up, but there seems to be no alternative (do not say Cygwin; yes, I know about Cygwin) [03:50] dnm: singalong: If you know of a URL, I'd be in your debt. I tried looking at GitHub, didn't find it. [03:50] danielzilla: http://help.github.com/win-git-installation/ [03:50] dnm: Thanks! [03:50] danielzilla: dnm: ^ [03:51] singalong: dnm: you are in danielzilla's debt now :P [03:51] danielzilla: Unfortunately, that looks like it's msysgit too. :/ [03:51] jackish has joined the channel [03:51] dnm: Unfortunately that page covered the parts I managed to handle myself. [03:51] proppy: I wonder if there is a mercurial mirror of node.js [03:51] dnm: I should be more clear, but I'm quite frustrated, so I'm skipping things. [03:52] dnm: I'm trying to use SmartGit with msysGit. SmartGit is a GUI git client but requires a git binary. msysGit seems to make tons of symlinks to things inside the directory it installs to, so there's a fuckton of git-foo.exe symlinks, including git.exe, but git.exe isn't a real binary. [03:53] dnm: Sadly, SmartGit's documentation makes no note of the fact that even though they point you to msysGit for Git install on Windows, what .exe it expects. [03:53] dnm: ACTION fumes [03:54] dnm: I will pay someone to fix this fucking problem, "this fucking problem" being defined as a "working, sensible, non-retarded build of git that works on Windows without packaging ninety fucking Unix userland tools". [03:55] dnm: Sorry, but unless I'm missing some magical cyborg unicorn technology git possesses that requires all this, I was under the illusion that a single git binary would realistically be all I'd need, and that someone had managed to implement the git protocol in it on Windows. [03:55] dnm: I'm probably simplifying git more than I mean to, but since I don't care about git per se and just want to be able to access things on GitHiub, this is ur-frustrating. [03:55] dnm: [03:56] dnm: I need to punch something now. BBIAB. [03:58] _announcer: Twitter: "#reddit Twitter Streaming API + node.js + Appcelerator Titanium = Real-time tweet map in ecito [link] [com... http://bit.ly/aA6n1z #rulez" -- REDDITSPAMMOR. http://twitter.com/REDDITSPAMMOR/status/21801542153 [03:59] Tim_Smart has joined the channel [04:00] proppy: can someone confirm me that home/end on node repl is broken in gnome-terminal ? [04:00] Tim_Smart: ryah: Ping. [04:00] proppy: at least on GNU/Linux [04:00] proppy: about the send a patch on the mailing list :) [04:01] gerad has joined the channel [04:01] gerad1 has joined the channel [04:03] daedric has joined the channel [04:03] daedric: Hi [04:03] _announcer: Twitter: "My favorite part of Node.js is how often I get to check 'man 2'." -- Russell Haering. http://twitter.com/russell_h/status/21801849325 [04:05] daedric: I'm programming a server in nodejs wich receive a lot of data and insert them in a redis, after ~5min of execution the process seems to turn into an infinite loop. (which does not occure with less data). how can I figure out what append ? Thanks [04:06] daedric: i've tried to profile the execution without great success … [04:06] Aria: Are you buffering this data? (write may buffer -- check to see if write returns false) [04:07] dnm: Oh for fuck's sake [04:07] dnm: Git Bash sh.exe crashes on startup. [04:07] _announcer: Twitter: "finally getting to my node.js homework. Can feel brain stretching. #8LU" -- Doug Bradbury. http://twitter.com/dougbradbury/status/21802119616 [04:07] dnm: Luckily I have this brick here to ram into my forehead repeatedly to dull my anger. [04:08] chewbran1a has joined the channel [04:08] daedric: Aria: I'm buffering a lot of data yes but not what I'll send to the redis [04:09] daedric: btw I'me using http://github.com/fictorial/redis-node-client [04:09] daedric: as redis client library [04:09] chewbranca has joined the channel [04:09] jimt has joined the channel [04:10] Aria: ACTION nods. Just a thought.  [04:10] Aria: I'm not sure otherwise. [04:13] chewbranca_ has joined the channel [04:13] daedric: I'll try to profile with the last version of nodejs (I used the version before the 0.20) [04:14] ryah: Tim_Smart: hey [04:14] Tim_Smart: ryah: I made a start on patching the C++, but everything went all weird. [04:15] Tim_Smart: (Didn't finish crypto, but for some reason it screwed the http parser) [04:16] mtodd has joined the channel [04:19] ryah: hm [04:20] ryah: *shrug* [04:25] Tim_Smart: The parsed bytes were mismatching the length [04:26] blogometer has joined the channel [04:27] mikeal1 has joined the channel [04:38] jakehow has joined the channel [04:41] jackish has joined the channel [04:52] Yuffster has joined the channel [04:54] gerad has joined the channel [04:55] conspirator has joined the channel [04:55] conspirator: Good evening all [04:56] conspirator: having trouble getting express.js up and running. i can run hello world with node, but if i try running sample app on home page of express i get a "express not defined" error [04:56] _announcer: Twitter: "1am #mongodb & #nodejs install on my dedicated server. You know you love it." -- Dan DeFelippi. http://twitter.com/ExpertDan/status/21805183830 [04:57] conspirator: anyone here? [04:58] Pilate: 1,0yes but only if you use colors [04:58] conspirator: ??? [04:59] conspirator: not sure what that means [04:59] danielzilla: conspirator: How did you install express? [04:59] conspirator: from git [05:01] conspirator: I followed the instructions on the git express page and updated the submodule [05:01] mtodd has joined the channel [05:02] danielzilla: conspirator: If you run just ``node`` (no script name) and type ``var express = require('express');`` into the REPL, do you get an error? [05:02] danielzilla: conspirator: And why the git clone, instead of either npm or curl? [05:03] danielzilla: If you're just getting started, one of those two options might be easier. [05:04] conspirator: I guess I was just more comfortable with git....so if i were to use npm, where would i begin? [05:05] conspirator: http://github.com/isaacs/npm ??? [05:05] danielzilla: Yes. [05:05] danielzilla: It's a package manager, which would make installing and keeping the libraries in the right place easier. [05:06] conspirator: k [05:07] danielzilla: You can always move to git checkouts once you're more comfortable, but npm makes it easy to get up and running now. [05:07] bpot has joined the channel [05:08] _announcer: Twitter: "may investigate node.js solely because it's the only IRC channel that's active on the weekends and latenight, when i get to code." -- grantmichaels. http://twitter.com/grantmichaels/status/21805883399 [05:08] russell_h: heh [05:08] Aria: Woo! [05:08] Aria: http://github.com/aredridel/node-doctemplate [05:09] Aria: A template based on node's API docs, ready to go. [05:09] ryah: nice [05:10] _announcer: Twitter: "there's no mistaking what it means that everyone is using the same thing for their weekend and 20% time etc #node.js" -- grantmichaels. http://twitter.com/grantmichaels/status/21806016697 [05:11] _announcer: Twitter: "Twitter Streaming API + node.js + Appcelerator Titanium = Real-time tweet map http://ow.ly/2sXpW #nide #node" -- Loki Zavala. http://twitter.com/Siedrix/status/21806078279 [05:12] conspirator: danielzilla: when i try to install npm from github, there's a syntax error [05:18] danielzilla: conspirator: When I do ``curl http://npmjs.org/install.sh | sh``, it works for me. What OS/shell you on? [05:19] mattikus has joined the channel [05:19] conspirator: os x [05:19] conspirator: i think i've got it working now [05:27] amerine has joined the channel [05:32] mikeal1 has joined the channel [05:33] conspirator: thanks! [05:38] chrischris has joined the channel [05:41] visnup has joined the channel [05:43] jimmybaker has joined the channel [05:50] icozzo has joined the channel [05:51] proppy: http://github.com/proppy/node/commit/e08b04dd5a27a9ea358328680b196db03eab546b \o/ [05:51] proppy: add readline support for meta-f and meta-b :) [05:51] _announcer: Twitter: "polishing my node.js slides before brunch #nodejs" -- Jerome Etienne. http://twitter.com/jerome_etienne/status/21808270470 [05:51] icozzo has joined the channel [05:53] _announcer: Twitter: "tweaking # nodejs readline http://is.gd/evLld" [nl] -- proppy. http://twitter.com/proppy/status/21808393127 [05:56] geojeff has joined the channel [05:57] stellar has joined the channel [06:01] _announcer: Twitter: "node.js is booming.. http://github.com/ry/node/wiki/modules" -- Jai-Gouk Kim. http://twitter.com/jaigouk/status/21808805814 [06:04] jimt has joined the channel [06:06] a_meteorite: Node.js 0.2. Hoorah! [06:07] felixge has joined the channel [06:07] felixge has joined the channel [06:07] _announcer: Twitter: "Impressive as it is playing with Ruby developers # # and as a NodeJS hear more talk about Erlang #" [pt] -- Charleno Pires. http://twitter.com/charlenopires/status/21809130593 [06:11] _announcer: Twitter: "Node.js eyes were always around, so I'm about to bookmarks, Node.js easy man to chase you think this a good idea to subscribe. Then http://bit.ly/cQ6sUc # nodejs tag." [ja] -- 西山 雄也/Nishiyama Yuya. http://twitter.com/nsyee/status/21809312084 [06:11] Validatorian has joined the channel [06:12] EyePulp has joined the channel [06:13] derferman has joined the channel [06:14] Validatorian: anybody have an example of using gzip with Express/Connect? [06:14] gorakhargosh has joined the channel [06:16] hdon has joined the channel [06:17] sr has joined the channel [06:21] gorakhargosh has joined the channel [06:21] daedric has left the channel [06:21] stalled has joined the channel [06:22] grantmichaels has joined the channel [06:23] gorakhargosh: What are the non 00 bytes in a new buffer allocation? http://pastebin.com/XpM8Hvzv [06:24] Aria: Raw memory! [06:24] Aria: Buffer ~= malloc, but doesn't bzero. [06:24] gorakhargosh: You mean allocating a new buffer does not zero it out? [06:24] gorakhargosh: Ah [06:24] Aria: And on that note, good night, all. [06:28] Guest20066 has joined the channel [06:29] jamescarr_ has joined the channel [06:31] confoocious has joined the channel [06:32] steadicat has joined the channel [06:34] rubydiamond: shipitnode.heroku.com [06:40] visnup: aw, he's cute [06:42] pr0cy0n has joined the channel [06:42] a_meteorite: What's cute? I love kitties! [06:42] visnup: rubydiamond's ship it image [06:42] visnup: shipitnode.heroku.com [06:42] a_meteorite: ah, he is cute [06:46] drudge: when do we get to host node apps on heroku [06:46] blogometer: Is there any way to get the directory of the current module? [06:46] blogometer: I'd like to include modules that are "internal". [06:46] blogometer: Something like: [06:47] blogometer: var crunkbucket = require(__moduledir + "internal/utility").crunkbucket; [06:47] blogometer: drudge: Now. [06:48] drudge: blogometer: how? [06:48] a_meteorite: heroku seems expensive compared to other equal, if not more powerful, solutions [06:48] blogometer: http://blog.heroku.com/archives/2010/4/28/node_js_support_experimental/ [06:48] a_meteorite: but I have a high value of money :) [06:48] blogometer: Anyone on the require help>? [06:50] drudge: blogometer: i emailed them months ago, no response [06:51] blogometer: They've probably assigned a marketing team to handle your email especially and are currently in post-production on the response. [06:51] a_meteorite: "Send us $$$!" [06:52] blogometer: Or maybe they sent to Heroku blimp to hover over your home and scroll a message along its side to you. Have been looking out your window and upwards lately? [06:52] a_meteorite: no wonder... blimps aren't cheap [06:52] blogometer: s/to/the/ [06:52] blogometer: Usually when someone doesn't respond to an email, its really a missed blimp. [06:53] bpot has joined the channel [06:53] jimt_ has joined the channel [06:53] blogometer: a_meteorite: Heroku is working on a blimp messaging add on, it is in beta, and yes, it is *not* cheap. [06:54] a_meteorite: :D [06:54] blogometer: s/beta/private beta/. [06:55] _announcer: Twitter: "Here is source of ship it! node http://gist.github.com/543433 which is deployed on Heroku (with node.js support)" -- Aniλ Wadghuλe. http://twitter.com/anildigital/status/21811474464 [06:55] blogometer: Of course, relative references using require *just works* so there was no need for me to ask my question. [06:56] blogometer: ACTION Leaves, careful not to let the door hit him in the ass on the way out. [06:58] jimt has joined the channel [06:58] callen has joined the channel [07:04] rubydiamond: my node.js app sometimes fail .. needs a restart 'heroku restart' [07:04] jimt_ has joined the channel [07:06] mikeal1 has joined the channel [07:06] conspirator has joined the channel [07:07] conspirator: I'm having some trouble getting the Express blog example to work [07:08] conspirator: anyone mind giving me a hand? [07:09] conspirator: This is the error I'm getting: http://cl.ly/5046f06d2ba2c95a434c [07:12] conspirator: I get a similar error in the mvc example. It seems that in both cases a function in app.dynamicHelpers is causing an error [07:14] conspirator: anybody? [07:17] _announcer: Twitter: "I have websockets integrated nicely into Express/Connect. One app to handle http and sockets is very nice. #node,js" -- Toby Hede. http://twitter.com/tobyhede/status/21812514474 [07:19] _announcer: Twitter: "Introducing Alligator JSSP – JavaScript Server Page engine on top of NodeJS http://bit.ly/aRxheH #programming #JavaScript" -- Ritesh Tilve. http://twitter.com/riteshrtilve/status/21812588072 [07:19] MikhX has joined the channel [07:26] callen has left the channel [07:34] gryzzly_ has joined the channel [07:34] gryzzly_: hey, does anyone use haml.js ? [07:34] gryzzly_: I am trying to go through this tutorial: http://howtonode.org/express-mongodb [07:35] gryzzly_: but layout.html.haml doesn't work for me [07:35] gryzzly_: the "!= body" thing seems to just output itself [07:35] gryzzly_: instead of inserting the rendered view. [07:36] gryzzly_: nick gryzzly [07:39] visnup: gryzzly_: try layout.haml [07:39] visnup: not layout.html.haml [07:39] gryzzly_: yup, i am using that already [07:39] visnup: and still nothing? [07:39] gryzzly_: and blogs_index.haml [07:39] gryzzly_: no, i get the output, like, the layout.haml file is being rendered [07:40] gryzzly_: but it doesn't insert the blogs_index.haml content [07:40] visnup: hm [07:40] gryzzly_: it just outputs visnup
!= body
[07:40] gryzzly_: it seems that "!=" operator doesn't work [07:41] visnup: what do you get with = body ? [07:42] gryzzly_: if i do it on the next line, as it is in the example i get output
= body
[07:42] gryzzly_: if I do it like #wrapper = body [07:42] gryzzly_: then i get "ReferenceError: article is not defined" [07:43] gryzzly_: and that is probably out of the blogs_index.haml [07:43] gryzzly_: hmm, thanks. [07:43] luddep has joined the channel [07:46] SamuraiJack has joined the channel [07:49] jimt has joined the channel [07:54] jimt_ has joined the channel [08:01] _announcer: Twitter: "I cant wait to show this code to someone. I need to clean it up and stick it in a repo. Client Side / Server Side templating w/ node.js ftw" -- Rob Ellis. http://twitter.com/rob_ellis/status/21814485582 [08:04] _announcer: Twitter: "Ryan Dahl Wed Node.js http://bit.ly/9Ga9JM" [no] -- Developer Bookmarks. http://twitter.com/devmarks/status/21814628073 [08:05] uzum4ki has joined the channel [08:18] jetienne has joined the channel [08:19] esigler has joined the channel [08:24] _announcer: Twitter: "Blogs written by "node.js being thrown in to the Twitter stream to CouchDB, I write apps in the browser discharge http://bit.ly/aVtb6t』" [ja] -- Yohei Sasaki. http://twitter.com/yssk22/status/21815520571 [08:34] chewbranca has joined the channel [08:35] codetonowhere has joined the channel [08:37] _announcer: Twitter: "I can't help it, but node.js consistently reminds me of Russell Peters' "Ryan's mum: Ryan, go clean your room. Ryan: Fuck you BITCH! _|_" :?" -- .. http://twitter.com/yesudeep/status/21816092657 [08:38] _announcer: Twitter: "@firdaus_halim Have you used node.js?" -- .. http://twitter.com/yesudeep/status/21816132999 [08:41] _announcer: Twitter: "@firdaus_halim Nah, I mean node.js flies in the face of traditional ways of doing I/O, so that Peters' quote fits perfectly. Yeah?" -- .. http://twitter.com/yesudeep/status/21816276585 [08:54] _announcer: Twitter: "@_nick_rob have you had a look at node.js?" -- mtkd. http://twitter.com/mtkd/status/21816827450 [08:57] felixge has joined the channel [09:00] Tim_Smart has joined the channel [09:01] daleharvey has joined the channel [09:01] tek has joined the channel [09:01] siedrix has joined the channel [09:02] siedrix: hi, how do i run a build.sh file? [09:02] gorakhargosh: chmod a+x build.sh && ./build.sh ? [09:03] siedrix: thx it worked [09:08] pdelgallego has joined the channel [09:14] stagas has joined the channel [09:15] icozzo has joined the channel [09:21] maqr has joined the channel [09:21] Davedan has joined the channel [09:21] Davedan: how do I pass a message between two processes? [09:23] robotarmy has joined the channel [09:25] SamuraiJack has joined the channel [09:29] tobiassjosten has joined the channel [09:29] rnewson has joined the channel [09:36] jetienne: Davedan: tcp socket ? [09:37] jetienne: Davedan: http://github.com/substack/dnode this is a rpc stuff. may be an alternative [09:39] rhymes has joined the channel [09:40] Davedan: jetienne: for a simple IM or chat room, how do you pass messages between users? [09:40] jetienne: Davedan: websocket is a possibility [09:40] jetienne: Davedan: there is a chat coded as example let me find the url [09:41] Davedan: jetienne: websocket is the way you hold a connection to the client [09:41] Davedan: jetienne: the qestion is how do you pass a message between users (websocket connections) [09:42] jetienne: Davedan: ok let me think, just going up here [09:42] femtoo has joined the channel [09:42] jetienne: first there is a single process (which may help) for all users [09:43] jetienne: clients.forEach(function(c) { <- this is a possibility http://dhotson.tumblr.com/post/271733389/a-simple-chat-server-in-node-js [09:43] grahamalot has joined the channel [09:43] jetienne: aka you store all clients in a array and write in each of them [09:44] jetienne: http://github.com/ry/node_chat <- another example of chat [09:44] Davedan: so you don't pass messages between users [09:44] Davedan: each user function is inside a global function [09:45] Davedan: when a user posts a message it calls the global function which sends the message to inner user functions? [09:45] jetienne: ? [09:46] jetienne: the server get a connection from user, it stores that in a array, when server want to send msg to all client, it just go thru the array and write on each cnx [09:46] jetienne: nothing specific to node itself [09:48] Davedan: is it possible to create an xmpp server in node.js or will it be too complicated? [09:50] Sutto has joined the channel [09:55] tjgillies has joined the channel [09:58] tjgillies: whats a good terse http client module? [09:58] icozzo: http://github.com/astro/node-xmpp [09:58] icozzo: oops, Davedan ^ [09:59] rhymes has joined the channel [09:59] icozzo: the server-side library is http://github.com/mwild1/xmppjs [09:59] icozzo: that lets you connect to other xmpp servers [09:59] daleharvey: ejabberd provides a native comet interface [10:05] Davedan: daleharvey: ejabberd eats memory for breakfast [10:06] daleharvey: some lost memory vs however many weeks writing a fully featured xmpp server :P [10:06] _announcer: Twitter: "Finally know what I'm going to build @ node.js knockout" -- Arnout Kazemier. http://twitter.com/3rdEden/status/21819878013 [10:07] voxpelli has joined the channel [10:07] Davedan: the fact that it is hard and takes alot of time doesn't mean I'll be using a broken server [10:07] Davedan: I'll either code it myself or find a better server [10:08] Davedan: in ejabberd it's not possible even to create a vhost dynamically without restarting the server [10:08] daleharvey: heh, uses memory != broken, but sure, was just mentioning [10:09] murz has left the channel [10:11] mAritz has joined the channel [10:18] _announcer: Twitter: "@ = # Rgaidot Cassandra + # + # Ruby MongoDB NodeJS + # + # + # nginx Hadoop and much more:)" [fr] -- Sylvain Weber. http://twitter.com/sylvainw/status/21820375236 [10:19] jetienne: buzword bingo! :) [10:33] d0k has joined the channel [10:40] _announcer: Twitter: "JS benchmark server: Node.js & Rhino, Part 2 http://post.ly/t7Yx" [de] -- Pepijn de Vos. http://twitter.com/pepijndevos/status/21821282295 [10:42] fliebel has joined the channel [10:43] fliebel: Hey guys, second part of my Rhino/Node benchmark is up: http://pepijndevos.nl/js-server-benchmark-nodejs-rhino-part-2 [10:51] Tim_Smart has joined the channel [10:51] nsm has joined the channel [10:52] nsm: hi, i'm participating in the node knockout, right now i signed up for heroku, but it has a 30second connection limit, and i want to use websockets, apparently Joyent will supply a VPS on which I can have long connections. How do I apply for that? [10:54] Davedan has left the channel [10:54] jetienne: fliebel: i read the first and i dont get it. one is 34time faster then the other... but it seems like no big deal according to your conclusion [10:54] mape: nsm: I don't think you will need to signup for it beforhand, or they will send out info on it [10:54] nsm: mape: uh, ok [10:56] codetonowhere has joined the channel [10:56] daleharvey has joined the channel [10:57] voxpelli: nsm: In the mail Node Knockout sent out they said they will provide more info about it tomorrow monday [10:58] voxpelli-laptop has joined the channel [11:02] fliebel: jetienne: It is a big deal, but I don't know if any small website will notice the difference. [11:03] fliebel: jetienne: I certainly wouldn't built the next google on Rhino, but my own blog? I don't think the server would feel the load. [11:05] jetienne: fliebel: you already used rhino ? [11:06] nsm: voxpelli: thanks [11:08] fliebel: jetienne: No, but Rhino has env.js, which allows me to run jQuery, which is what I'm after. [11:08] fliebel: jetienne: jsdom does only level 1 dom :( [11:14] mwu has joined the channel [11:18] voxpelli has joined the channel [11:18] hellp has joined the channel [11:19] voxpelli has joined the channel [11:23] badaxx has joined the channel [11:24] _announcer: Twitter: "Stream "node.js being thrown in to the Twitter stream to CouchDB, I write apps in the browser discharge" http://is.gd/eweTS" [ja] -- azu. http://twitter.com/azu_re/status/21823166664 [11:28] _announcer: Twitter: "Node.js is fun to play with. Here's a quick review of my first day playing with it - http://bit.ly/aAuLkO" -- Breccan McLeod-Lundy. http://twitter.com/Breccan/status/21823329098 [11:28] konobi: nsm: we'll have info for you before the competition [11:28] Tim_Smart has joined the channel [11:28] nsm: ok [11:31] Tim_Smart has joined the channel [11:32] Tim_Smart1 has joined the channel [11:33] mwu: is there a way to get the protocol, hostname, and port from a request when running an http server using http.Server under node? [11:35] jetienne: mwu: all those are available in the request object [11:36] mwu: I thought they might be, but I haven't been able to find reference to where I can find them in the documentation [11:37] jetienne: http://nodejs.org/api.html#http-serverrequest-169 [11:37] jetienne: hostname + port = header Host [11:38] jetienne: or something like require('url').parse(request.url) [11:39] jetienne: mwu: do "console.dir(require('url').parse(request.url));" just at the begining of server callback [11:39] jetienne: you will get the info you need [11:39] mwu: oh duh, I should have thought to look at the header for the host field. Thanks [11:41] Tim_Smart1 has joined the channel [11:43] herbySk has joined the channel [11:47] tjgillies: is there a nodejs equiv to jQuery.isEmptyObject()? [11:47] jetienne: tjgillies: dont think so, underscore can do that tho [11:48] jetienne: http://documentcloud.github.com/underscore/#isEmpty [11:49] Tim_Smart: tjgillies: Object.keys(my_object).length <= 0? [11:49] codetonowhere has joined the channel [11:50] tjgillies: i could do if ob.length == "undefined" [11:50] Tim_Smart: Object.keys returns an array. [11:51] Tim_Smart: js> 'test' [11:51] gbot2: Tim_Smart: "test" [11:51] Tim_Smart: js> var obj = {}; Object.keys(obj).length [11:51] gbot2: Tim_Smart: Error: TypeError: Object.keys is not a function [11:51] Tim_Smart: Fail javascript engine. [11:52] tjgillies: heh [11:52] Tim_Smart: Works in V8 anyway. [11:52] tjgillies: {}.length [11:52] tjgillies: how do you get the bot to eval? [11:52] Tim_Smart: No, Object.keys is a special function [11:52] daleharvey: jseval {}.length [11:53] daleharvey: err, wrong room [11:53] Tim_Smart: ;) [11:53] tjgillies: is Object defined in nodejs? [11:54] Tim_Smart: tjgillies: https://gist.github.com/50586340242fc6557230 [11:54] tjgillies: oh i guess you said v8 [11:54] Tim_Smart: tjgillies: Well node uses the v8 Javascript implementation, and Object is a native constructor. [11:58] joeshaw: i think Object.keys() might be a v8 extension? it doesn't work in spidermonkey [11:58] Tim_Smart: joeshaw: Object.keys is a ECMAScript 5 spec. [11:58] joeshaw: hmm, of course now that i test it it does work [11:59] joeshaw: ah, ok, the spidermonkey i use at work must be too old [11:59] tjgillies: Tim_Smart: thanks it worked great [11:59] Tim_Smart: joeshaw: Maybe, depends how much of the spec they have implemented. [12:10] confoocious has joined the channel [12:12] feroz_ has joined the channel [12:14] SamuraiJack_ has joined the channel [12:16] Blackguard has joined the channel [12:17] mscdex: js: {}.length [12:17] gbot2: mscdex: Error: SyntaxError: syntax error: {}.length ..^ [12:17] mscdex: heh [12:17] mscdex: js: [].length [12:17] gbot2: mscdex: 0 [12:17] dylang has joined the channel [12:18] mscdex: js: require [12:18] gbot2: mscdex: Error: ReferenceError: require is not defined [12:18] mscdex: js: Object [12:18] gbot2: mscdex: [12:18] mscdex: js: Object.keys [12:18] gbot2: mscdex: undefined [12:21] tuxsbro_ has joined the channel [12:21] tuxsbro has joined the channel [12:22] TobiasFar has joined the channel [12:26] markwubben has joined the channel [12:27] _announcer: Twitter: "#NodeJS Tutorial – Part 2, Routing http://bit.ly/a3rQSe" -- Leandro Silva. http://twitter.com/codezone/status/21826139093 [12:32] luddep_ has joined the channel [12:36] Tim_Smart has joined the channel [12:37] badaxx: is nodejs-mysql-native synchronous? the description says its async but where can I set a callback function? [12:38] hellp has joined the channel [12:40] rhymes has joined the channel [12:41] herbySk: js> var r = []; for (var p in Object) { r.push(p); } r [12:41] gbot2: herbySk: [] [12:41] _announcer: Twitter: "MySQL http://habr.ru/p/102167/ Поддержка в Node.js: node-mysql-libmysqlclient # Habr" [es] -- macint0sh. http://twitter.com/bl0x61ck/status/21826854756 [12:41] mscdex: badaxx: you don't pass in a callback, instead you listen for "row" events [12:42] badaxx: mscdex: ah okay, so its like event-driven? [12:42] mape: mikeal: Around? [12:42] mscdex: yep, well, node is event-driven [12:43] mscdex: badaxx: some people use passed-in callbacks, some people use events, or a combination of both [12:43] fliebel: *browses old js code* huh? what is parseInt(*some dom object*) going to do? [12:43] mscdex: fliebel: shouldn't be a dom object... [12:43] badaxx: okay, thx mscdex [12:44] badaxx: mscdex: your solution for node-mysql by felixge from yesterday didn't work either :( [12:44] mscdex: badaxx: what was wrong? [12:44] fliebel: mscdex: Well, this it what it says: elements = document.getElementsByClassName("counter") [12:44] fliebel: for(el in elements) { [12:44] fliebel: if(parseInt(el) + 1) { [12:44] badaxx: mscdex: had the same errors again [12:45] mscdex: fliebel: and that code works in a browser? that's one forgiving parseInt implementation [12:45] fliebel: mscdex: *bangs his head* for loops don't work that way in JS, do they? [12:45] mscdex: fliebel: yes, you can do for..in [12:46] mape: Anyone used mikeals require module to fetch binary data? [12:46] peteatolia has joined the channel [12:46] fliebel: mscdex: But they return the id of the current item, not the item, if I remember correctly [12:46] mscdex: fliebel: if you have an array maybe, but not for objects [12:47] fliebel: mscdex: I'll have a good look at this code... [12:47] mscdex: js: var q=[3, 2, 1]; for (var p in q) p; [12:47] gbot2: mscdex: "2" [12:47] mscdex: :S [12:47] _announcer: Twitter: "hmm npm ls @installed returns nothing... anyone else having this? #nodejs #npm" -- Sascha Depold. http://twitter.com/sdepold/status/21827187835 [12:48] badaxx_ has joined the channel [12:48] mscdex: badaxx_: so you tried this code and it gave you what errors again?: http://gist.github.com/542833 [12:49] foobarfighter: is there an option to save history in the repl? [12:49] mscdex: foobarfighter: nope [12:49] _announcer: Twitter: "The npm repository website is looking amazing http://npm.mape.me/ #nodejs #npm" -- Rodrigo Alves Vieira. http://twitter.com/rodrigo3n/status/21827295495 [12:50] badaxx_: mscdex: http://pastebin.com/BW6jHyDs [12:51] foobarfighter: mscdex: ok... thanks [12:51] TobiasFar has joined the channel [12:51] mscdex: badaxx_: have you run the tests that come with node-mysql? [12:52] badaxx_: mscdex: not yet.. [12:52] aliem has joined the channel [12:53] mscdex: badaxx_: because what i gave you is pretty much straight from the node-mysql readme, unless the format of the 'results' variable is wrong [12:53] mscdex: badaxx_: 1 moment [12:55] dylang has joined the channel [12:55] _announcer: Twitter: "Node.js lacks a FileUtils module. (Either that or Ruby really spoiled me.)" -- Tobie Langel. http://twitter.com/tobie/status/21827602230 [12:56] badaxx_: mscdex: tests look good [12:57] rhymes has joined the channel [12:58] _announcer: Twitter: "I'm not sure what it means to tag a npm package as stable... shouldn't be released packages stable all the time? #nodejs #npm" -- Sascha Depold. http://twitter.com/sdepold/status/21827731154 [13:06] polotek has joined the channel [13:07] Tim_Smart has joined the channel [13:08] _announcer: Twitter: "just released 0.2.6 sequelize # = # I # # MySQL nodejs" [ga] -- Sascha Depold. http://twitter.com/sdepold/status/21828299329 [13:09] blogometer has joined the channel [13:10] mscdex: badaxx_: i've reproduced the problem, i'm looking into it now [13:11] badaxx_: mscdex: thanks :) [13:11] konobi: i somewhat wish that require() supported wildcards [13:12] blogometer: Hello. [13:12] _announcer: Twitter: ""HTTP is the backbone of our society these days" http://www.youtube.com/watch?v=F6k8lTrAE2g #nodejs" -- kemar. http://twitter.com/_kemar/status/21828536699 [13:12] _announcer: Twitter: "playing with nodejs =) fun++" -- julien. http://twitter.com/__juju__/status/21828556190 [13:13] badaxx has joined the channel [13:13] MattJ has joined the channel [13:15] blogometer: I thought the back bone of our society was high-frutcose corn syrup. [13:16] voxpelli has joined the channel [13:23] junkee[] has joined the channel [13:23] aliem_ has joined the channel [13:23] blogometer: What do you use for isFunction / isArray etc? [13:25] polotek: typeof func == 'function' [13:25] polotek: isArray depends on if you want a real array or if it's okay that it's "array-like" [13:25] polotek: like the arguments object in functions for instance [13:26] polotek: blogometer: you can use Array.isArray in node [13:27] polotek: but this is how underscore does it for cross browser http://github.com/documentcloud/underscore/blob/master/underscore.js#L522-524 [13:27] er1c_: fwiw underscore.js has those exact two [13:27] blogometer: Not cross-browser but ECMA 5. Node.js only. [13:27] blogometer: typeof is the way to do it? [13:28] icozzo: i think an array will return typeof object [13:28] icozzo: with a length, wont it? [13:29] badaxx has left the channel [13:30] polotek: icozzo: yes that's why you se Array.isArray in node [13:30] polotek: otherwise you just check for some ducktyping methods [13:31] icozzo: gotcha, came late into the convo [13:31] zapnap has joined the channel [13:32] blogometer: I'm not pulling in underscore for a cross-browser implementation of type checking. [13:32] blogometer: That's willing idiocy. [13:33] polotek: blogometer: you can steal the function out of underscore [13:33] polotek: it has a liberal license [13:33] blogometer: I don't want to steal an impelmentation. [13:33] polotek: but yes for your purposes typeof func == 'function' is more then fine [13:33] blogometer: I want to understand how the laguage I'm using works. [13:33] conspirator: i'm new to node and express, but ran into some problems running the express examples from github. I see the initial page, but going to any page from that generates a weird hasMessages error. Anyone know what this means? http://cl.ly/5046f06d2ba2c95a434c [13:33] conspirator: I'm running the mvc example [13:33] blogometer: polotek: Thank you. [13:35] polotek: conspirator: make sure you're running the latest node and express [13:35] conspirator: how can i check? [13:35] conspirator: can i go node -v [13:35] conspirator: or express -v [13:35] polotek: node --version [13:35] polotek: how did you install express? through npm? [13:35] polotek: npm ls express [13:36] conspirator: i curled it [13:36] conspirator: I'm running node v0.2.0 [13:36] conspirator: i just installed both yesterday [13:37] conspirator: ...i'm assuming i grabbed the latest of each [13:37] polotek: yeah, sounds fine [13:37] polotek: and you're just running the example app? you didn't make any changes? [13:37] conspirator: i had to make changes to the way they were requiring express, but yeah, that's it [13:39] conspirator: I'm also new to working in terminal, so i'm hoping i didn't break anything [13:39] conspirator: i also tried running the blog example, and it appears that I'm having trouble with functions inside of the app.dynamicHelper [13:40] conspirator: hasMessages is defined in app.dynamicHelper [13:40] polotek: conspirator: send a gist of your app.js file [13:42] blogometer: polotek: Do you have a Twitter handle. [13:42] blogometer: ? [13:42] polotek: blogometer: I'm polotek [13:42] polotek: almost everywhere [13:43] conspirator: https://gist.github.com/d343e688dfe78f124558 [13:46] polotek: man I clearly have no idea how express works :) [13:46] polotek: I can't even get this running [13:48] fliebel: mscdex: Reading further through my old JS code reveals this: elements[el].title -= 1; which seems to support my point about for loops. (yes, my title is also a number) [13:48] polotek: ah [13:48] polotek: missing submodules [13:48] conspirator: me? [13:49] polotek: no me [13:49] polotek: I don't use express so I've never done this [13:49] conspirator: eah, me too [13:49] polotek: how are you actually running the examples [13:50] conspirator: i think you need ejs [13:50] conspirator: node app.js [13:50] polotek: yep [13:50] blogometer: What if, instead of API doc, we just did literate programming? [13:51] polotek: conspirator: okay, I've got the mvc app running [13:51] polotek: and all the pages seem to work fine for me [13:53] conspirator: damn...what do you suggest then [13:53] polotek: conspirator: I wonder if it's a problem with ejs [13:53] conspirator: not sure how to do this [13:53] conspirator: might be [13:53] polotek: that's where your stacktrace ends [13:53] conspirator: i think i npm'd ejs [13:53] polotek: last yesterday? [13:53] conspirator: yes [13:53] polotek: I got it from npm as well [13:53] conspirator: hmmm [13:54] polotek: you said you changed something about the express require? [13:54] blogometer: Documenting JavaScript is tough. [13:55] conspirator: i had to change the path on how express included it [13:55] polotek: how express included what? [13:55] conspirator: itself [13:55] polotek: blogometer: yep [13:56] polotek: especially if half of your functionality is in v8 C++ :) [13:56] blogometer: polotek: What [13:56] polotek: conspirator: not following you. what did you change exactly? [13:56] blogometer: Yes. I'm sure. I'm still trying to sort out a development environment. [13:56] nolan_d has left the channel [13:57] blogometer: polotek: What would I use with Node.js for a compiler compiler? [13:57] blogometer: (Hmm... probably the parser in V8 if I want to parse JavaScript.) [13:57] conspirator: not sure what to do here...i guess i could just start from the beginning [13:57] polotek: blogometer: hmmm, you can check out UglifyJS [13:57] blogometer: Good point. [13:58] polotek: seems to use the v8 parser to get an AST [13:58] blogometer: Thank you. [13:58] conspirator: it could be my express installation...i can't find my express folder [13:58] blogometer: Oh, this ought to be be easy. [13:58] polotek: conspirator: it's most likely in ~/.node_libraries or /usr/local/lib/node [13:59] conspirator: negative...ejs is but not express [13:59] kriszyp has joined the channel [14:00] polotek: conspirator: so to install express you just pulled down the tarball and unpacked it somewhere? [14:00] polotek: where did you put it? [14:00] softdrink has joined the channel [14:01] conspirator: i curled it [14:01] conspirator: i just reinstalled it now via npm and same result [14:02] conspirator: damn...same result. kind of at a loss here [14:02] blogometer: Wow. [14:02] blogometer: Okay, so arguments is sometimes an object? [14:03] polotek: blogometer: arguments is an object [14:03] polotek: is a special object that acts like an array [14:03] polotek: but it's not an array [14:04] blogometer: I could have swore that I was able to arguments.forEach over it, but now I can't. [14:04] blogometer: Oh, well. [14:04] blogometer: ACTION Cowfused. [14:04] polotek: conspirator: try one of the other examples [14:05] wioota has joined the channel [14:05] polotek: blogometer: a lot of people run arguments through a function that turns it into an actual array [14:05] blogometer: Hmm... [14:05] polotek: if used a function that then you could forEach it [14:05] herbySk: blogometer/isFunction: problem is, "function" === typeof f return true for regexs, as well. But I use it anyway, specification says typeof retruns "function" iff x is object and is callable (which is case of function and regex, and in special environment, maybe some other objects as well) [14:06] conspirator: helloworld works [14:06] polotek: herbySk: wow, I had no idea regexes were directly callable [14:06] polotek: it works like the .match() function right? [14:07] conspirator: jade works [14:07] stagas has joined the channel [14:07] wioota: anyone experienced 400 Bad Request response code when working with node's http? I've set the Host header but to no avail... [14:07] blogometer: Okay. It was last last and I'm realizing this is the first time this function was callled. [14:08] polotek: wioota: you'll have to send us some code to look at [14:08] blogometer: So, I'm confused by why it suddenely stopped working, but it was never working. [14:08] blogometer: That's why all the dumb questions, sorry. [14:08] wioota: ok - guess i'll put something on a gist [14:09] herbySk: polotek: I don't know, something like that, never used it yet [14:12] blogometer: Anyone ever used jscoverage with vows. [14:14] wioota: ok this is a snippet so it wont execute but shows what I am doing - http://pastie.org/1107779 [14:15] wioota: I can do a request to google.com successfully but requests to the twitter api and other domains throw back 400's [14:17] polotek: wioota: ah, twitter is a little more picky about the requests it accepts [14:17] polotek: you need to set a few more headers [14:18] polotek: are you writing your own twitter client? [14:18] polotek: cause you could take a look at mine [14:18] polotek: http://github.com/polotek/evented-twitter [14:18] herbySk: blogometer/arguments.forEach: No need to turn it into array, you can Array.prototype.forEach.call(arguments, fun...) (you can use [] instead of "Array.prototype" to make it shorter) [14:18] _announcer: Twitter: "[del] [from maleko] Twitter Streaming API + node.js + Appcelerator Titanium = Real-time tweet map: ZeroMQ http://url4.eu/6zo47" -- sldfjd ldajds. http://twitter.com/sldfjd/status/21832710148 [14:19] blogometer: herby5k: I'm going to do just as you say. Thank you. [14:19] ph^ has joined the channel [14:19] wioota: ah nice - thanks! just experimenting but keen to overcome issues as part of learning about node. [14:20] herbySk: blogometer: what you maybe confused it with was Javascript 1.7 extension that was able to do "Array.forEach(arguments, ...)" as a shortcut, but this is not part of ES5, nor is it in node... [14:21] blogometer: No. I've never used forEach before. [14:21] blogometer: No point of reference. Learning. [14:22] polotek: herbySk: I like a lot of the mozilla extensions to js. too bad they aren't making it into the spec [14:23] polotek: wioota: cool. fyi, parsing the twitter stream is also a pain [14:24] polotek: remember that node isn't going to parse out the individual json objects for you [14:24] blogometer: Why !!test or !!!test ? Why double negation? [14:24] polotek: blogometer: it's an quick shorthand for turning it into a boolean [14:24] bradleymeck2 has joined the channel [14:24] blogometer: Conversion and test are separate. But, why? [14:25] herbySk: poloteK: well, yes and no... it keeps the language simpler, whic is fine... I used to use for each and [a,b] = [b,a], but, simplicity is probably god feat to have... though, Array shortcuts could make it into... they are not making it complicated, I used them often (Array.slice, Array.forEach mainly) [14:25] polotek: herbySk: yeah some of the generics are already there like Array.isArray [14:26] polotek: I really want to the deconstructing arguments though. [a, b] = [b, a] [14:26] polotek: but I think that is going into Harmony as well [14:26] polotek: blogometer: I don't understand what you're asking exactly [14:26] blogometer: I see if (!!!value) which first converts to boolean, negates and negates again. [14:26] blogometer: Why? [14:27] blogometer: Why not just if (!value). [14:27] blogometer: Of if (value)? [14:27] blogometer: http://github.com/ry/node/blob/master/lib/assert.js#L100 [14:29] bradleymeck2: blogometer, its a style used by some people who are combining boolean expressions to prevent odd type coersion effects, if used alone it probable is just programming style [14:30] bradleymeck2: and i dont want a,b]=[b,a] [14:30] bradleymeck2: well wait, misread i dont want [a,b]==[b,a] [14:31] wioota has joined the channel [14:31] herbySk: bradleymack2: Can you please explain? I really don't see the rationality of !!! over ! (I see the need for !!, it's ToBoolean, but three?) [14:33] badaxx has joined the channel [14:33] badaxx: sry mscdex, I left. did you find a solution? [14:34] mscdex: badaxx: sorry, no. i kinda narrowed it down, but i don't know the protocol enough to find the root cause [14:34] mscdex: badaxx: i've left a comment on the existing github issue though [14:35] mscdex: badaxx: hopefully it'll be fixed soon, i'll additionally see if i can catch him when he comes on the channel here next [14:35] badaxx: ok thx. hope felix is gonna fix it [14:35] Throlkim has joined the channel [14:35] bradleymeck2: cant think of an example but i had to use it once for something [14:35] badaxx: okay thank you [14:35] polotek: !value === !!!value [14:35] bradleymeck2: like ~!!!a [14:35] polotek: I think blogometer is right [14:36] polotek: I don't see the difference [14:36] bradleymeck2: ACTION goes to dig through his fs [14:36] _announcer: Twitter: "Updated my node modules to node.js 0.2 and published to npm." -- Malte Ubl. http://twitter.com/cramforce/status/21833941314 [14:36] herbySk: bradleymeck2: aaaa... ~!!~~!!~x ... building asciiart fences? :-) [14:37] blogometer has left the channel [14:37] blogometer has joined the channel [14:37] blogometer has left the channel [14:40] wioota: So still no dice - I've set 'Connection', 'User-Agent', 'Authorization' and 'Host'... [14:43] bradleymeck2: f it, too tired, cant find the example, its the same [14:47] herbySk: blogometer: btw, if you say you're learning, try this puzzle for a while: for which values x and y does 'function(x,y){ var r=[]; if(x==y) r.push(1); else r.push(0); if(x) r.push(1) else r.push(0); if(y) r.push(1); else r.push(0); return r; }' return [1,1,0]? [14:48] robotarmy has joined the channel [14:48] mscdex: js: !0 === !!!0 [14:48] gbot2: mscdex: true [14:48] mscdex: js: !false === !!!false [14:48] gbot2: mscdex: true [14:48] mscdex: yay [14:48] mscdex: !!! [14:48] mscdex: :p [14:48] blogometer has joined the channel [14:49] maushu has joined the channel [14:52] herbySk: js: /*try it big style*/ [undefined, null, 0, 1, 3.14, "", "node.js", {}, Object, {foo:{bar:'baz'}}, function(){}, Array.isArray, //, /.*/].map(function(x) { return !x === !!!x; }) [14:52] gbot2: herbySk: Error: SyntaxError: syntax error: /*try it big style*/ [undefined, null, 0, 1, 3.14, "", "node.js", {}, Object, {foo:{bar:'baz'}}, function(){}, Array.isArray, //, /.*/].map(function(x) { return !x === !!!x; [14:52] herbySk: js: [undefined, null, 0, 1, 3.14, "", "node.js", {}, Object, {foo:{bar:'baz'}}, function(){}, Array.isArray, //, /.*/].map(function(x) { return !x === !!!x; }) [14:52] gbot2: herbySk: Error: SyntaxError: syntax error: [undefined, null, 0, 1, 3.14, "", "node.js", {}, Object, {foo:{bar:'baz'}}, function(){}, Array.isArray, //, /.*/].map(function(x) { return !x === !!!x; }) ................ [14:52] herbySk: grr [14:52] herbySk: never mind [14:52] _announcer: Twitter: "doing my part to build spirit in my node.js knockout team by threatening violence to anyone who uses tabs instead of spaces" -- Kevin Archie. http://twitter.com/kaarchie/status/21835097931 [14:54] herbySk: ah, I see, the empty regexp... [14:54] herbySk: [undefined, null, 0, 1, 3.14, "", "node.js", {}, Object, {foo:{bar:'baz'}}, function(){}, Array.isArray, /.*/].map(function(x) { return !x === !!!x; }) [14:55] herbySk: js: [undefined, null, 0, 1, 3.14, "", "node.js", {}, Object, {foo:{bar:'baz'}}, function(){}, Array.isArray, //, /.*/].map(function(x) { return !x === !!!x; }) [14:55] gbot2: herbySk: Error: SyntaxError: syntax error: [undefined, null, 0, 1, 3.14, "", "node.js", {}, Object, {foo:{bar:'baz'}}, function(){}, Array.isArray, //, /.*/].map(function(x) { return !x === !!!x; }) ................ [14:55] herbySk: js: [undefined, null, 0, 1, 3.14, "", "node.js", {}, Object, {foo:{bar:'baz'}}, function(){}, Array.isArray, /.*/].map(function(x) { return !x === !!!x; }) [14:55] gbot2: herbySk: [true,true,true,true,true,true,true,true,true,true,true,true,true] [14:55] herbySk: at last!!! [14:55] bcg has joined the channel [14:57] skampler: true [15:01] aubergine has joined the channel [15:01] fliebel has joined the channel [15:05] polotek: yeah, I think this is a done deal [15:05] polotek: in the spec it says the unary operator converts the value to a boolean before taking the negation [15:05] polotek: so anything after the first ! and you're just flipping booleans [15:07] polotek: wioota: did you make any more progress? [15:07] wioota: I think I will bring 'you're just flipping booleans' into everyday conversation :) [15:07] wioota: but alas - no progress... [15:07] polotek: did you install evented-twitter? [15:07] polotek: just modify it and print out the headers it's sending [15:08] wioota: I can pull the twitter stuff with curl and I've inspected the headers curl uses and mirrored those with no luck [15:09] wioota: yeah - I followed the logic in your lib and mirrored those as well - I will install next however I suspect I have an issue with a proxy on aws [15:09] wioota: because some of the other twitter libs do not work out of the box either [15:09] rnewson has joined the channel [15:09] rnewson has joined the channel [15:09] wioota: I will test yours now and report back [15:10] dylang has joined the channel [15:11] polotek: wioota: yep, that would do it [15:14] mape: Anyone have any good pointers on how to download binary data (images) using nodes http client? Can't seem to get it to work properly [15:15] polotek: mape: what problems are you having? [15:15] polotek: what type of binary data? [15:16] mape: polotek: Right now I'm trying to use mikeals request module to fetch images given an url, then feed that data into a buffer so I can base64 encode it [15:16] mscdex: 0's and 1's! [15:16] mscdex: :p [15:16] mape: hehe [15:17] codetonowhere has joined the channel [15:18] mape: I assume the encoding is being messed up somewhere [15:18] smtlaissezfaire has joined the channel [15:18] justis has joined the channel [15:18] polotek: mape: never tried binary data with request [15:18] polotek: ACTION goes to set up a test [15:19] mape: polotek: What I get is something like this: https://gist.github.com/2c4863ecb185afe546d2 [15:20] smtlaissezfaire has joined the channel [15:21] jakehow has joined the channel [15:21] mape: And the output from request is [15:21] mape: http://gist.github.com/543886 [15:22] polotek: mape: unfortunately I have to bail for a bit [15:23] mape: no worrys :) [15:23] polotek: if you figure it out drop it in here and I'll catch up later [15:23] mape: Great [15:23] polotek has left the channel [15:24] rnewson has joined the channel [15:25] gerad has joined the channel [15:27] MaSch has joined the channel [15:27] MaSch: hello [15:27] mape: hey [15:27] _announcer: Twitter: "I really like the whole #node.js movement, #JavaScript is beginning to rule the world." -- Christopher Hlubek. http://twitter.com/hlubek/status/21837638411 [15:29] wioota: ok Polotek's library works in my environment so I am putting it down to an issue with the end point I'm using (I may have it wrong). [15:30] wioota: Time to go through and compare everything *sigh* ah well, I feel the node-foo building up in me [15:31] tobiassjosten has joined the channel [15:32] tobiassjosten: I have some problem using mongodb-native. Could anyone please check out http://gist.github.com/543892 and see if you notice anything obviously wrong? [15:33] tobiassjosten: I have data in the database which I'm trying to fetch. Doing it manually works fine, so I'm not sure why my Node.js implementation can't do it. [15:34] pgriess has joined the channel [15:36] steadicat has joined the channel [15:38] blogometer has joined the channel [15:39] ceej has joined the channel [15:45] ollie has joined the channel [15:47] Astro: mape: where's the source of http://npm.mape.me/? [15:48] mscdex: in mape's brain [15:48] Astro: that "More info" button should really show more... info [15:48] mape: Hehe yeah, just that all packages don't have a lot more info [15:48] Astro: but some do [15:48] Astro: and that's helpful [15:48] mscdex: "but wait, there's more!" [15:49] mscdex: :p [15:49] mape: I'm actually changing the page now, removing those 100 gravatar-requests into one single request if only I can get the fetching of images working [15:49] Astro: downloading from that page just doesn't make sense, I'd use `npm install` for that [15:49] Astro: but often I'm looking for the repo of a pkg [15:49] tobiassjosten: Looks like I'm getting error message "TypeError: Cannot call method 'send' of undefined" in my callback. Any ideas why that is? [15:49] mape: Astro: Right now it is only used for development, you can also use http://registry.npmjs.org/ to see all the info [15:50] Astro: tobiassjosten: you are calling send() on an undefined value... on "this"? [15:50] Astro: mape: luckily I've got the json renderer extension installed :/ [15:50] mape: Don't most people who deal with JSON? :) [15:50] tobiassjosten: Astro: Nope. It's probably being invoked somewhere within mongodb-native. [15:51] bradleymeck2 has joined the channel [15:51] ceej has joined the channel [15:51] fod has joined the channel [15:53] markwubben has joined the channel [15:57] dylang: mape: i'm returning to your asset-handler project. i have css spread over multiple sub directories with image sub-folders. the initial compress pass merges the files but doesn't normalize the url(*) paths. am i doing something wrong? [15:57] rhymes has joined the channel [15:57] mape: It won't touch the url paths [15:58] smtlaissezfaire has joined the channel [15:59] dylang: mape: okay glad i didn't spent too much time figuring that out. [15:59] justis: Astro: what's this "json renderer extension"? [16:00] mape: justis: JSONview [16:00] justis: mape: thx [16:00] mape: https://addons.mozilla.org/sv-SE/firefox/addon/10869/ [16:01] hellp has joined the channel [16:01] derencius has joined the channel [16:01] weepy has joined the channel [16:02] weepy: Hey - I recently release bounce - a Node Reloader [16:02] weepy: Thought you guys might find it useful http://github.com/weepy/bounce [16:03] mscdex: and JSONView for chrome: https://chrome.google.com/extensions/detail/chklaanhfefbnpoihckbnefhakgolnmc [16:03] mscdex: :-D [16:04] stellar has joined the channel [16:05] weepy: basically you just call 'bounce' rather than 'node' [16:05] weepy: and it respawns on file changes - similar to Rails [16:05] dnolen has joined the channel [16:07] tobiassjosten: weepy: It doesn't keep connections, does it? [16:07] bradleymeck2: sweet i just found an IE specific error! go me! ... if only it werent so common [16:08] mscdex: bradleymeck2: what's that? [16:08] tobiassjosten: weepy: That came out more negative than intended. :) Just curious, as I'd love a way to reload libraries without restarting Node. [16:08] pr0cy0n has joined the channel [16:10] mscdex: did ryah remove access to v8's liveedit feature? [16:10] mscdex: because i thought was supposed to lead to the ultimate code reloader [16:10] weepy: tobiassjosten: - no it doesn't. It's basically just so u dont have to manaually stop and restart it all the time [16:11] MaSch: weepy: thanks, thats nice [16:11] rhymes has joined the channel [16:11] weepy: thanks MaSch [16:14] mattikus has joined the channel [16:15] _announcer: Twitter: "@azaza Check out our PubSubHubbub + WebSocket server : http://bit.ly/9KvxH6 demo client: http://bit.ly/cRxLbL :D #NodeJS" -- julien. http://twitter.com/julien51/status/21840964412 [16:15] felixge has joined the channel [16:15] felixge has joined the channel [16:16] felixge: is it possible to change the type of a JS object? [16:17] felixge: I need to turn a regular object into an "instanceof Error" [16:17] badaxx: felixge: aloha! i already tried to contact you via twitter - I'd like to use node-mysql for our project filsh.net but sequential quries do not work. When will you fix it? :) [16:17] felixge: badaxx: I'm working on it right now [16:18] badaxx: awesome. any estimated release date / time? [16:18] bradleymeck2: mscdex, you cant setinverval with delay of 0 [16:18] bradleymeck2: interval* [16:18] mape: felixge: Having worked on the multipart stuff, do you know if it is possible to fetch an image using the http client and not scrambling the data? [16:19] bradleymeck2: felixge, __proto__ in node [16:19] felixge: badaxx: no promises, depends on how hard the problem is [16:19] felixge: bradleymeck2: thanks, that's what I was looking for [16:19] felixge: badaxx: hopefuly tonight [16:19] badaxx: felixge: would be awesome. thanks ;) [16:19] felixge: mape: that doesn't have much to do with multipart, does it? [16:20] felixge: mape: anyway, using buffers it should not be a problem [16:20] mape: felixge: Not really, just figured you had a good grip on the http client/server part [16:21] conspirator has joined the channel [16:21] bradleymeck2: wait liveedit is gone? [16:22] sideshowcoder has joined the channel [16:23] rnewson has joined the channel [16:23] rnewson has joined the channel [16:23] phil-_ has joined the channel [16:24] nerdEd has joined the channel [16:24] _announcer: Twitter: "Our little experiment Node.js Node.js KO before the great weekend! PubSubHubbub -> WebSockets:) http://fb.me/vZZvpFZ8" [fil] -- superfeedr. http://twitter.com/superfeedr/status/21841557755 [16:24] dnolen has joined the channel [16:25] olegp has joined the channel [16:36] _announcer: Twitter: "#koumbit and other #drupal devs have a lot to learn from this CSS/JS aggregation discussion in the D7 issues: http://drupal.org/node/769226" -- sfyn. http://twitter.com/sfyn/status/21842401644 [16:39] bradleymeck2: mmm wonder why announcer picked that one up [16:43] mape: node [16:43] mAritz: mape [16:43] mape: mAritz [16:43] mAritz: bradleymeck [16:43] gerad has joined the channel [16:43] bradleymeck2: usually i thought it had to have /node.?js/ [16:44] bradleymeck2: yo [16:44] bradleymeck2: s'up [16:44] mAritz: node [16:44] mape: not sure nut doesn't seem like it [16:44] mAritz: fucking nested multi/exec with redis doesn't work :( [16:46] _announcer: Twitter: "http://cleverchris.com is now officially using node.js. I think I got monit set up to handle crashes. Now I just need to make my site useful" -- Chris Jaure. http://twitter.com/chrisjaure/status/21843023240 [16:58] marktlang has joined the channel [16:59] bradleymeck2 has joined the channel [17:00] ollie has joined the channel [17:03] rhymes has joined the channel [17:04] _announcer: Twitter: "haha, now I'm thinking about long polling data syncing for client side data binding. Node.js makes everything possible." -- Rob Ellis. http://twitter.com/rob_ellis/status/21844200315 [17:09] felixge: ryah: yt? The incomplete stdout issue seems to be back [17:10] blogometer: ryah: Added installation to this page: [17:10] blogometer: http://github.com/ry/node/wiki/Using-Eclipse-as-Node-Applications-Debugger [17:10] blogometer: Let me know if that offends you. [17:12] c4milo has joined the channel [17:13] rkieffer has joined the channel [17:13] blogometer: felixge: Get my patch? [17:13] felixge: blogometer: which one? [17:14] blogometer: Calculated field parse errors. [17:14] felixge: blogometer: yeah, I have a looked at it [17:14] blogometer: I can send it again, but I don't want to spam you. [17:14] blogometer: Okay. [17:14] tekky has joined the channel [17:14] felixge: I need to write a test case first [17:14] felixge: :) [17:16] blogometer: Base your test around the following query: [17:16] blogometer: select current_time() as a; [17:16] Validatorian: anybody have an example of using gzip with Express/Connect? [17:16] blogometer: You'll see the error. [17:16] blogometer: Or better still: [17:16] blogometer: select 1 as a; [17:17] blogometer: Easier to test the return value. [17:17] felixge: blogometer: that's the system test, yeah. I also need to write a unit test :) [17:18] blogometer: Whatever. [17:19] _announcer: Twitter: "cool realtime gowalla viz from @superfeedr, featuring such buzzwords as node.js, pubsubhubbub, and websockets: http://bit.ly/a4Vi4p" -- Scott Raymond. http://twitter.com/sco/status/21845131586 [17:19] _announcer: Twitter: "Choice is between the # mongrel2 node.js." [th] -- UP1. http://twitter.com/somkiat/status/21845172332 [17:20] blogometer: Don't be a pedant. [17:22] smtlaissezfaire has joined the channel [17:22] stepheneb has joined the channel [17:23] pr0cy0n has left the channel [17:26] jashkenas has joined the channel [17:27] felixge: mape: I have a question about: http://github.com/mape/node-profile [17:27] mape: shoot [17:27] felixge: mape: do you think it would be possible to get rid of the 'locate' dependency? [17:27] felixge: mape: I have a hard time getting 'locate' to work on my system [17:28] felixge: mape: would you like a patch that turns it into: "install from your node directory ... or locate must work"? [17:28] felixge: not sure if npm supports install parameters yet [17:28] felixge: like --node-path= [17:28] mape: Install from your node directory? It won't know where python script is by knowing where node is [17:29] felixge: I guess an environment variable might make even more sense [17:29] felixge: no? [17:29] felixge: I thought linux-tick-processor.py is in the node source tree? [17:29] mape: Needs to know the folder where the node source is, not where it is installed [17:30] mape: Guess I could add the ability to send the path to the tick processor as an arg but that doesn't seem handy [17:30] felixge: mape: yes, that is what I mean [17:30] polotek has joined the channel [17:30] felixge: mape: well, it seems more handy than fixing locate on my system right now [17:30] felixge: ;) [17:30] mape: How would you find the path of the node source without locate? [17:30] mape: Hehe [17:31] rnewson has joined the channel [17:31] rnewson has joined the channel [17:31] mape: Unless it would be supplied manually (or I might not be following) [17:31] felixge: mape: yes, it would be a manual argument [17:31] c4milo: mape: with "which" [17:31] mape: c4milo: what? That doesn't help at all [17:31] mape: That shows there the bin is [17:32] mape: not where the tick precossor is [17:32] bradleymeck2 has joined the channel [17:32] derencius has joined the channel [17:32] stepheneb has joined the channel [17:32] c4milo: mape: haha forget it . I don't have the conversation context :) [17:33] c4milo: mape 13:30 [17:33] c4milo: How would you find the path of the node source without locate? [17:33] c4milo: Hehe <-- I just answered this question [17:34] mape: Still incorrect but yeah ;) [17:34] c4milo: ahah, I'm in relaxing mode, it's sunday :P [17:35] saikat has joined the channel [17:36] atmos has joined the channel [17:36] felixge: mape: nvm, got my locate fixed :D [17:36] atmos: anyone know of any connect based apps around that are more than the hello world examples ? [17:37] mape: felixge: and the script works? [17:37] felixge: mape: "Could not generate profile." [17:37] mape: ah yeah that is the tick processor, for some reason it doesn't work sometimes if it is busy while closed [17:38] mikeal1 has joined the channel [17:38] wattz: hi [17:38] felixge: mape: hm [17:38] mape: would have the same issue if you were doing it manually, I just try it a couple of times, usually works in the end [17:38] felixge: mape: any way I could get it to work? [17:38] felixge: no luck [17:39] mape: Couldn't find any info on what causes it so not sure there is any way I can fix it [17:39] MrTopf has joined the channel [17:39] felixge: :( [17:39] felixge: too bad [17:39] felixge: this would be really useful for speeding up my mysql driver [17:39] felixge: :) [17:40] mape: can you try it on something else just to verify that it isn't my script that is screwing up? [17:40] mape: like a while loop doing Math.random() or something [17:40] stellar has joined the channel [17:41] felixge: mape: I tried a script with nothing but 'Math.random()' in it [17:41] felixge: mape: same issue [17:41] mape: escaped it or let it run untill it finished? [17:41] voxpelli has joined the channel [17:41] polotek: felixge: what's wrong with math.random? [17:42] polotek: mape: did you get the binary request working? [17:42] felixge: mape: I didn't do a loop [17:42] mape: polotek: Nope, can't seem to figure it out [17:42] felixge: felixge: nothing is wrong with it [17:42] mape: felixge: just once? And still get that error? [17:42] felixge: mape: yes [17:42] felixge: mape: the file just reads: console.log(Math.random()); [17:42] maqr has joined the channel [17:43] mape: exec('python '+tickLocations[0]+' '+logName, is failing.. [17:43] zedas: .win 9 [17:45] polotek: mape: yep, file definitely gets corrupted [17:46] _announcer: Twitter: "@jpemeric Yeah... I guess it's not 100% yet. Node.js starts hanging at some point." -- Chris Jaure. http://twitter.com/chrisjaure/status/21846730564 [17:47] mape: felixge: does it work if you do it all manually? [17:47] JimBastard has joined the channel [17:47] JimBastard: working overtime, workout! [17:47] felixge: mape: what would I need to do? [17:47] polotek: hmmm [17:47] polotek: the file saved from http is twice as big as the actual file [17:48] mape: felixge: run node with --prof, output a file, then run the tick processor on that fiel [17:48] mape: *file [17:49] polotek: mape: so check it out [17:49] polotek: I'm taking the body from request and writing it out with writeFileSync [17:49] aubergine has joined the channel [17:49] polotek: at first it was twice as large as the original [17:50] polotek: then I set the encoding to "binary" [17:50] polotek: for the write [17:50] polotek: now it is slightly smaller than the original [17:50] polotek: but still corrupt [17:50] paul_irish has joined the channel [17:50] bpot has joined the channel [17:50] polotek: anybody got a binary diff program [17:51] JimBastard: google? [17:51] JimBastard: i think they built one for chrome updates [17:52] JimBastard: polotek: http://dev.chromium.org/developers/design-documents/software-updates-courgette ? [17:53] JimBastard: or the older, http://www.daemonology.net/bsdiff/ [17:53] JimBastard: ? [17:54] JimBastard: ohh hey, paul_irish , have there been any reports of the html5 boilerplate causing freezes in certain versions of chrome on windows? i was seeing something funky on an older machine [17:54] JimBastard: its possible it was another piece of code (stuff from a contractor), im about to rip out everything but the boilerplate to double check [17:58] polotek: bsdiff definitely gives me a patch file [17:58] polotek: but can't visualize it [17:59] polotek: the patch file is almost the size of the original [18:00] paul_irish: JimBastard: hmm no i'd be very surprised [18:00] paul_irish: lemme know what you find out though [18:02] atmos: anyone using connect for anything ? [18:02] JimBastard: paul_irish: i gotta assume it was this fancy animation this guy made, i figured id bug you since i saw you. ill dive into it, will let you know if anything [18:03] paul_irish: word. [18:03] JimBastard: thanks [18:03] paul_irish: :) [18:04] aho has joined the channel [18:07] overra has joined the channel [18:09] mape: polotek: sorry was afk making food, found any more info on what might cause it? [18:11] smtlaissezfaire has joined the channel [18:11] _announcer: Twitter: "hacking on a small nodejs/expressjs/couchdb app in preparation for next week's @node_knockout" -- langalex. http://twitter.com/langalex/status/21848190659 [18:11] matt_c_ has joined the channel [18:12] programble has joined the channel [18:12] polotek: mape: booyah! [18:12] polotek: it works [18:12] mape: black magic? [18:13] polotek: no, just that request defaults to stringifying the response [18:13] mape: use a pump instead? [18:13] polotek: http://gist.github.com/544084 [18:13] polotek: mape: yeah, you pass in a writestream and it will pump the response into it [18:13] polotek: set the encoding to binary and you are good to go [18:14] _announcer: Twitter: "node.js Quick tutorial http://goo.gl/05J2" -- Jung Jae Pil. http://twitter.com/J2PFnc/status/21848359009 [18:14] mape: polotek: ah, neat, thanks! [18:14] polotek: request is actually more comprehensive than I thought in terms of options [18:14] polotek: but you have to dig through there and find out what it's doing [18:15] mape: Guess I need to write a steam thingy then since I won't pipe it to file but grab the file as a base64 string [18:18] polotek: mape: shouldn't be too tough just create an event emitter that emulates the api for writestream [18:18] mape: Jup [18:19] badaxx: felixge: does your last commit fix issue #1? [18:19] felixge: badaxx: no [18:19] badaxx: arr.. [18:20] mu-hannibal has joined the channel [18:20] MattJ has joined the channel [18:22] Yuffster has joined the channel [18:24] trotter has joined the channel [18:28] jkreeftmeijer_ has joined the channel [18:28] mau2 has joined the channel [18:33] dnolen has joined the channel [18:36] Aria has joined the channel [18:36] jkreeftmeijer__ has joined the channel [18:36] Jimmy203 has joined the channel [18:37] badaxx has joined the channel [18:37] gm__: hi guise [18:37] gm__: tell me, is there any way to pass a function to sys.pump to filter one of the streams ? [18:39] polotek: gm__: actually it's better if you create your own stream to filter [18:39] _announcer: Twitter: ""Built by Superfeedr with data from Gowalla, using PubSubHubbub, node.js and WebSockets." http://ajxn.it/aj2ZLN" -- Dion Almaer. http://twitter.com/dalmaer/status/21849825268 [18:39] polotek: inputstream -> pump -> yourstream-> pump -> outputstream [18:39] gm__: I did that, crossing streams [18:39] gm__: ah [18:39] gm__: hmm [18:39] gm__: well, thats clever [18:40] gm__: is there any way to create an internal stream like that ? [18:40] gm__: its a proxy [18:40] gm__: I have the server stream and client stream [18:40] smtlaissezfaire has joined the channel [18:40] polotek: it's come up a lot lately [18:40] ryah: gm__: there isn't but i think there should be [18:40] codetonowhere has joined the channel [18:41] ryah: what exactly are you filtering? [18:41] polotek: ryah: yeah what happened to the discussions about the FilterStream? [18:41] gm__: ryah: I am looking for a string pattern [18:41] gm__: also, I made such proxy using sinatra [18:41] ryah: felixge: stdout issue? [18:41] ryah: polotek: on the shelf :) [18:42] felixge: ryah: well, I had an exception thrown and part of the stack trace was cut off [18:42] ryah: mikeal: do you have a FilterStream somewhere? [18:42] polotek: ryah: cool, dtrace first [18:42] polotek: ;) [18:42] MikhX has joined the channel [18:42] ryah: felixge: hm [18:43] ryah: can you reproduce? [18:43] gm__: if I could pass a function to sys.pump, to execute like a grep or tee, it would be nice [18:44] xonecas has joined the channel [18:44] xonecas: hey [18:44] ryah: gm__: we had some discussions two months ago about an easy way to create a stream [18:44] ryah: we called it a "Filter" [18:44] ryah: but not sure if anyone has code flaoting about [18:45] xonecas: Has anyone ecountered a error when trying to parse a JSON answer from google buzz ? I'm getting unexpected token: { [18:45] pgriess has joined the channel [18:47] gm__: ryah: got it [18:47] polotek: gm__: you should take a stab at it [18:48] polotek: a Filter is basically a Stream that is both writable and readable [18:48] xonecas: http://www.googleapis.com/buzz/v1/activities/seancaetanomartin/@public?alt=json this is the response I'm trying to parse with JSON.parse [18:48] polotek: implements both apis [18:48] polotek: when it get s a write, it filters, maybe updates some internal state [18:48] felixge: ryah: haven't tried yet [18:48] felixge: ryah: will do in a sec [18:48] polotek: and then it re-emits the filtered data when appropriate [18:48] gm__: polotek: no need, the server/client crossed events works for me, I can do all the filtering I want. just wanted to use sys.pump to do it to save a bit of code [18:48] loincloth has joined the channel [18:48] Aria: I've got a non-generic filter that line buffers. [18:49] gm__: I may try it with emiters [18:49] polotek: xonecas: what are you currently doing with the response? [18:49] gm__: not streams [18:49] Aria: http://github.com/aredridel/node-linebuffer/ [18:49] Aria: It's not pretty, but it works for my purpose. [18:49] polotek: are you buffering it up and doing JSON.parse? [18:49] polotek: gm__: streams are event emitters :) [18:49] Yuffster has joined the channel [18:49] polotek: Aria: bad link [18:50] Aria: Okay, I gotta stop staying up so late. [18:50] Aria: I can code, but I can't name. http://github.com/aredridel/ruby-linebuffer [18:50] Aria: I'll s/ruby/node/ in a moment [18:50] gm__: polotek: not really, they are not only event emitters, but ok, I got your point [18:50] gm__: Aria, checking out [18:51] xonecas: polotek, I just want to parse into an object so that I can retrieve the info I need, and send it back to client [18:51] polotek: Aria: weird [18:51] siedrix has joined the channel [18:51] polotek: lib folder isn't there [18:51] Aria: No? [18:51] Aria: try again. I just hit rename. [18:52] polotek: Aria: got it [18:52] polotek: xonecas: what I mean is are you getting the whole json string? have you printed it out? [18:52] xonecas: yes I have printed it out [18:53] xonecas: polotek, it is the same as the one printed on the browser [18:53] polotek: Aria: this is a pretty good start [18:53] xonecas: if you'd like I can show you the code [18:53] polotek: could be made pretty generic with a little work [18:53] softdrink has joined the channel [18:53] polotek: xonecas: sure, send a gist or pastebin [18:56] rnewson has joined the channel [18:57] polotek: xonecas: parsing the response from that url is working great for me [18:57] polotek: might be a problem with your http client code [18:58] xonecas: polotek, take a look at the pastebin I just pm'ed you [18:58] xonecas: its the client code [18:58] EyePulp has joined the channel [18:59] polotek: xonecas: it's okay to drop code links in here [18:59] polotek: so others can possibly check it out [18:59] xonecas: ok, I didn't want to break any rules [18:59] xonecas: http://pastebin.com/i5f3tXZd [19:01] xonecas: polotek, could it be because i'm settting the encodingto utf8 ? [19:02] polotek: oh [19:02] polotek: hehe [19:02] polotek: set the initial value of buzz_response to '' [19:02] polotek: instead of null [19:02] polotek: it's getting converted to the string null [19:02] Astro: Aria: did you know http://github.com/substack/node-bufferlist ? [19:02] polotek: and screwing up your json [19:02] polotek: everything else looks fine [19:02] _announcer: Twitter: "Node.js is so awesome...I'm always constantly impressed by these apps: http://julien51.github.com/socket-sub/maps" -- Chris Oliver. http://twitter.com/excid3/status/21851213138 [19:03] polotek: xonecas: yep that was it. your test runs fine now [19:03] xonecas: polotek, can you explain why ? so that I understand my mistake ? [19:04] polotek: when you do buzz_response += chunk [19:04] polotek: it's converting it to a string [19:04] polotek: the first time you do that, buzz_response is null [19:04] polotek: so it's getting converted to the string "null" [19:05] polotek: if you're going to buffer up the response like that, make sure you start with and empty string instead of null [19:07] xonecas: what other wy could I buffer it ? [19:07] xonecas: *way [19:07] polotek: actually I like to start with an empty array and push the chunks onto it. [19:07] polotek: then just do join at the end [19:08] benburkert has joined the channel [19:08] polotek: your technique is fine though. it was just starting with null instead of "" that was a problem [19:09] jashkenas has left the channel [19:09] xonecas: I see, could I the buffer object and on response end do a toString ? [19:09] xonecas: *use the buffer object [19:13] polotek: xonecas: when you add buffer objects it just converts them to strings [19:13] polotek: so you wouldn't gain much [19:13] _announcer: Twitter: "Just released v0.2.0 of my #nodejs mysql module: http://bit.ly/90bfiX" -- Felix Geisendörfer. http://twitter.com/felixge/status/21851844672 [19:13] gleicon has joined the channel [19:14] xonecas: oh, ok, thank you so much for your help polotek [19:14] polotek: xonecas: cheers [19:15] ryah: felixge: did you get the fixes from blogometer? [19:15] gm__: sorry guys, back [19:15] gm__: so [19:15] gm__: http://gist.github.com/488873 [19:16] gm__: thats the code for my proxy [19:16] gm__: thats the code before sys.pump [19:16] gm__: http://gist.github.com/488845 [19:17] sudoer has joined the channel [19:17] gm__: if I can instance a stream and use it as a pipe with sys.pump or pass a function/emiter which will receive an event when the functio returns true, that woule be almost the same as crossing streams, right [19:17] felixge: ryah: yeah, I got one of his patches [19:17] felixge: ryah: why? [19:18] cloudhead has joined the channel [19:18] ryah: oh, just cause i know he was hacking on it other otherday [19:18] polotek: gm__: what are you actually trying to accomplish? [19:18] gm__: polotek: in this case it's a tcp proxy only, but I am actually using a proxy made on sinatra to filter html [19:19] mape: polotek: If you have a second, http://gist.github.com/544150 do you see anything that would cause that string returned in fetchCallback(null, body) to not return the correct image when base64 encoded? [19:19] gm__: and insert tags on it before caching [19:19] badaxx has joined the channel [19:21] benburkert has joined the channel [19:21] ryah: i really hope these fast buffers cure our proxy problems.. [19:21] polotek: mape: sure [19:21] gm__: I just got interested on sys.pump because someone here told me it was the semantically correct way to do it faster [19:22] gm__: but I am a newbie regarding node.js, just trying to find my way there. [19:22] polotek: gm__: so data is coming in over client stream from your sinatra app and you want to filter it in node and then server it back [19:22] polotek: is that it? [19:23] gm__: no, I plan to change my sinatra based proxy to a node.js based one [19:23] gm__: I have a webserver that I want to intercept all requests and change some tags [19:23] gm__: I did it using sinatra because of nokogiri (html parsing), but I reduced the parsing I have to do [19:23] ryah: gm__: node can parse html too [19:23] gm__: so if I could use node.js to do that, I would avoid having sinatra+thin+nginx [19:24] gm__: just an instance of a small node.js app would be enough [19:24] polotek: data.toString('binary') [19:24] chrischris has joined the channel [19:24] polotek: mape: is that supposed to work? never seen it [19:24] ryah: gm__: http://github.com/silentrob/Apricot [19:24] polotek: is it a feature of Buffer? [19:25] gm__: is there any autocomplete repl for node.js like ipython or bpython ? [19:25] mape: polotek: That is what I'm asking :P Well it does work just that it doesn't seem to encode properly, but seems I might have it working now, 1 sec [19:25] ryah: gm__: yes [19:25] gm__: wow, apricot seems beautiful, I loved hpricot [19:26] polotek: gm__: Apricot is sweet [19:26] polotek: there is also libxmljs for parsing xml/html [19:26] gm__: I used nokogiri to insert tags too, thats sweet [19:26] gm__: http://vuvuzelr.7co.cc [19:27] gm__: after finishing my proxy I did that for the world cup [19:27] gm__: but that's not why I am doing this proxying, the main reason is a kind of adserving [19:27] gm__: contextual adserving [19:27] mAritz: help, i don't understand what the hell i'm doing but it's still somehow working so far... :( [19:27] mAritz: scope is killing me [19:28] polotek: mAritz: nice. [19:28] atmos: mAritz: hah [19:28] stepheneb has joined the channel [19:28] ryah: gm__: there's also http://github.com/aredridel/html5 [19:28] mAritz: it's really frustrating to just guess what variables are available in the current scope ... and that even though i thought i understood how it works. :x [19:29] gm__: which is the cool repl for node.js ? I think it may help exploring this stream idea [19:29] polotek: mAritz: what's your problem exactly? [19:29] ryah: repl is built in [19:29] polotek: gm__: just type node with no params [19:29] ryah: require('repl').start() [19:30] mAritz: polotek: it's complicated... and as i mentioned it works, so i'm just gonna pretend i intended it to be this way. :D [19:30] gm__: but this repl has no readline [19:30] gm__: and completion [19:30] gm__: is there any other one like bpython ? [19:31] gm__: I want to do some inspection :D [19:31] polotek: gm__: it has completion on objects, not on scope variables [19:31] mephux has joined the channel [19:31] polotek: but no, it's not as comprehensive as ipython, etc [19:31] gm__: hm [19:31] gm__: well, gotta hack :D [19:31] gm__: thanks for the tips on apricot [19:31] polotek: ryah: rlwrap doesn't seem to work on the repl anymore [19:31] polotek: for command history that is [19:32] _announcer: Twitter: "The #nodejs Daily is out - read this Twitter newspaper on http://paper.li/tag/nodejs (8 contributions today)" -- Christos Stathis. http://twitter.com/chstath/status/21852926432 [19:35] ryah: polotek: you need to start the repl with NODE_NO_READLINE=1 [19:35] _announcer: Twitter: "Anyone know if the v8 team is planning on adding support for the "let" keyword? #nodejs" -- Aaron Heckmann. http://twitter.com/aaronheckmann/status/21853128558 [19:35] alecmuffett has joined the channel [19:36] ryah: polotek: i.e. alias node="NODE_NO_READLINE rlwrap node" [19:36] mape: polotek: Worked out :) http://mape.me:1343/ Instead of doing 105 requests for gravatars on the npm page it just does one for the css with all the base64 encoded images :) Thanks a lot for pointing me in the right direction. [19:36] ryah: er [19:36] ryah: polotek: alias node="NODE_NO_READLINE=1 rlwrap node" [19:36] polotek: mape: word [19:37] polotek: what was wrong with you previous example? [19:37] mape: Seems I have to stringTo('base64') it while concating the string and not after when it was merged [19:38] Astro: oh great, ryah: could you put this into documentation? [19:38] polotek: ryah: sweet! I was really missing this feature [19:38] sudoer has joined the channel [19:39] polotek: mape: hmmm, why would that be? [19:39] ryah: Astro: i think it is [19:39] mape: No idea [19:39] mape: tried concating with .toString() .toString('binary') but didn't seem to like it [19:39] Astro: ryah: right... :) [19:40] jbrantly has joined the channel [19:40] mscdex: badaxx: ping [19:45] CIA-77: node: 03Aria Stewart 07master * ra834d93 10/ doc/api.markdown : s/HTTPS/SSL/ where appropriate - http://bit.ly/cWt7PL [19:45] CIA-77: node: 03Johan Euphrosine 07master * rbedca2e 10/ test/simple/test-console.js : add tests for console.log arguments handling - http://bit.ly/996uhW [19:45] CIA-77: node: 03Johan Euphrosine 07master * r0e1e00e 10/ lib/readline.js : fix home/end on GNU/Linux - http://bit.ly/bHnMbJ [19:45] jsilver has joined the channel [19:46] Aria: Aww, my first patch got committed. [19:47] ryah: Aria: ? [19:47] ryah: oh nm [19:48] mscdex: felixge: thanks for fixing that query bug. one other thing i noticed is that in the description of the Client constructor, it should call 'options' an object and not an array [19:49] felixge: mscdex: fixed [19:49] felixge: mscdex: damn, my PHP past shines through sometimes :) [19:49] mscdex: felixge: hehe yeah :-) [19:49] mAritz: does anyone else here produce horribly async pasta? [19:49] mscdex: mAritz: pasta is delicious [19:50] Aria: mAritz: Not so far. My designs keep seeming simple and strong. [19:50] mAritz: complex database interaction is a bitch. removing foreign keys for example... *RAGE* [19:51] polotek: ryah: did you ever commit that fix for fs.write [19:51] badaxx_ has joined the channel [19:51] jbrantly1 has joined the channel [19:51] polotek: to avoid the error on zero length writes? [19:51] ryah: polotek: hm. i think so.. [19:51] polotek: ryah: yep, it's there [19:51] gerad has joined the channel [19:51] ryah: yeah 6744e59e461cc200a1c135c99450b2800c21b5e9 [19:51] polotek: 0.2.0 came out of nowhere [19:52] _announcer: Twitter: "Fixed http://npm.mape.me with my latest connect-assetmanager Now merges all gravatars into base64. From 104 image reqs to 1 css req. #nodejs" -- Mathias Pettersson. http://twitter.com/mape/status/21854062320 [19:53] polotek: mAritz: I don't think I've gone past 2 nested funcs [19:53] polotek: if I did, I would be worried [19:53] mAritz: goes something like this: call to remove -> async get -> n parallel async functions that create m functions and put them in an array -> database transactions get queued including the previously created functions -> upon execution of the transaction the callback is called. this is horrible... :( [19:54] polotek: mAritz: sounds like you need to try step or some kind of promise module [19:54] mape: visnup: The image merge you talked about is now implemented into the npm repo page, fairly easy to do :) From 104 to 1 request. [19:54] mAritz: i'm already using conductor [19:54] stepheneb has joined the channel [19:54] visnup: ooooh [19:54] mAritz: without that i would've shot myself long ago [19:54] visnup: mape: this weekend we're working on the voting stuff [19:54] badaxx_: mscdex: pong [19:55] mape: visnup: kk, well just incase you were poking on it [19:55] mscdex: badaxx_: try the latest node-mysql now [19:55] visnup: mape: also wanted to give ryah and joyent some time to get the joyent stack up so we can be guinea pigs for it and move the website over. [19:55] hassox has joined the channel [19:55] badaxx_: one second [19:55] visnup: mape: and then! asset packaging [19:55] mape: Hehe [19:55] visnup: would also be really nice for the sponsor images [19:56] visnup: which are something like 10-20 requests on every page right now :( [19:56] mape: Yeah [19:56] _announcer: Twitter: "@jeroenvduffelen highly rcmnd reading this post by @al3x shared by @dewitt regarding how node.js mindset affects scaling: http://j.mp/dbR0Be" -- David Nelson. http://twitter.com/davidcodes/status/21854327429 [19:57] mAritz: polotek: i'm at a max of 4 i believe. but the way they are nested is even more horrible than the level. for example i have dynamically created conductors. (i don't think i have any static ones actually. :D ) [19:57] polotek: mAritz: sounds like fun [19:58] mAritz: totally... :( [19:58] polotek: I would probably look at how I could break things up into modules [19:58] polotek: obviously I have no idea what you're doing [19:58] smtlaissezfaire has joined the channel [19:58] mAritz: once it's done, i'll remember the good old times when i did all this great stuff... soon... [20:00] admc has joined the channel [20:01] pdelgallego has joined the channel [20:01] xonecas has joined the channel [20:01] mape: visnup: You also might want to take a look at the judges images, some are way larger then they are presented, and take like 800KB all and all [20:02] visnup: mape: ah, good idea [20:02] visnup: that's easy to fix [20:02] mape: Yeah, the sponsor images are quite hefty as well but yeah. [20:04] austinfromboston has joined the channel [20:05] visnup: mape: though you're the one with the fast broadband :) [20:05] mape: Hehe well, the latency still isn't faster then light yet [20:07] badaxx_: felixge mscdex: as soon as a column has a null value, the results are empty. [20:07] _announcer: Twitter: "new slogan. "node.js: because you need something to do this weekend"" -- Ted Nyman. http://twitter.com/tnm8/status/21854929238 [20:07] visnup: I'm going to feel very old if networking is ever done via quantum entanglement [20:07] felixge: badaxx_: hmm, that's not good :) [20:07] mscdex: oops, didn't think to test that [20:07] badaxx_: felixge: nope, it isn't :D I was wondering why it works with one table but not with another till I found out [20:08] badaxx_: felixge: should I write an issue for that [20:08] _announcer: Twitter: "Something to consider in my decision for Rhino/Node.js http://icio.us/ndz4na" -- Pepijn de Vos. http://twitter.com/pepijndevos/status/21855023475 [20:09] felixge: badaxx_: na, I already have a test case [20:09] _announcer: Twitter: "Wondering how many new web frameworks for node.js will be built during next weekend's node.js knockout. I'd say at least 5. Your guess?" -- Mathias Meyer. http://twitter.com/roidrage/status/21855085647 [20:10] cardona507 has joined the channel [20:11] CIA-77: node: 03Aria Stewart 07master * r8ec2105 10/ doc/doc.js : Fix doc.js so that it doesn't misnest menu items in the TOC - http://bit.ly/8XDPbc [20:11] ryah: Aria: thanks [20:11] Aria: Sure thing! [20:11] Aria: Thought I'd sent that last night, but it must have been about the point my brain turned into soup. [20:12] JimBastard: mmmmmmmmmm braaaaaaaaains [20:15] Aria: And now: To invent a streaming API for accessing mailboxes. [20:17] Aria: And boy is this exactly the opposite of the way it's usually done. [20:18] _announcer: Twitter: "or a sudoku generator in javascript, that with the help of nodejs would be cool" -- Greg Funchess. http://twitter.com/G23F/status/21855558658 [20:22] austinfromboston: hey folks, I'm interested in doing some load-testing against a couple of node.js hosts, in preparation for the nodeKO next weekend [20:22] bcg has joined the channel [20:22] austinfromboston: anyone know of a load-test framework that'll work with websockets? [20:22] isaacs has joined the channel [20:22] austinfromboston: alternately, anyone checked out Heroku vs. Joyent? [20:23] isaacs: austinfromboston: omg, joyent is so super duper betterer [20:23] ryah: heh [20:23] ryah: no one has seen joyent's [20:23] mscdex: i hope heroku isn't still running 0.1.9x [20:23] fliebel: Aria: That sounds interesting... [20:23] isaacs: austinfromboston: and the fact that i'm going to be working there in 2 weeks in no way is the total reason why i'm saying this. [20:23] amerine has joined the channel [20:24] austinfromboston: really, joyent doesn't have an install available for pre-trialing? [20:24] mape: isaacs: Any way you could include the github repo url in the base listing json for npm? Quite a lot of people seem to want that feature [20:24] ryah: austinfromboston: soon [20:24] isaacs: mape: sure [20:25] fliebel: Aria: How do you imagine streaming mail to look like? Sort of Google Wave? [20:25] austinfromboston: ryah: fair enough [20:25] paul_irish: mape: woot [20:26] Aria: fliebel: No, like the filesystem API. It's just a head-trip, since instead of saying "put this stuff into that file", it's the file saying "I can accept more data now..." [20:26] mape: paul_irish: Well did you notice how much faster it is now?! Like surely a couple ms faster. [20:26] Aria: The API is entirely inverted from every mail API I've ever used. [20:26] paul_irish: yup. i notice all milliseconds. [20:27] fliebel: Aria: Ah, you mean a Node API, not reinventing SMTP. Ever used Twisted? [20:27] satori_ has joined the channel [20:28] Aria: Nope. Never used Twisted. [20:28] isaacs: mape: done [20:28] Aria: (and, no, not reinventing SMTP -- there's nothing wrong with SMTP) [20:28] isaacs: mape: not all of them have it, but if they do, then it's going to be under the "repository" field. [20:29] terinjokes: can i get a wave api? [20:29] mape: isaacs: swanky, yeah know, you should send angry mails to those who don't [20:29] Aria: (I just wrote a streaming SMTPd implementation. It's a natural fit there.) [20:29] Aria: terinjokes: It's on my todo list, but not very far up. [20:30] fliebel: terinjokes: Wave is dead, but it's api lives on? [20:30] mscdex: the wave has died down :p [20:31] Aria: Wave is XMPP + a way of communicating operational transforms to form a mutual document stream. [20:31] Aria: It's a neat protocol, and I think it has a lot of value. Just not ... as a direct communication method. [20:31] Aria: It's better as the basis for other things. [20:31] terinjokes: I said that jokingly, but wave does seem like a natural fit for nod [20:31] ajpiano has joined the channel [20:32] fliebel: Aria: Twisted mail works like this: You subclass an interface, having callbacks for all the commands, and basically you make everything return a Deferred, and twisted will handle the async stuff. [20:34] fliebel: Aria: the trick is having everything IO related return deferreds, such as DB and FS operations, which is quite a problem for libraries not written for Twisted. [20:35] xonecas has joined the channel [20:35] fliebel: terinjokes: I agree :) [20:35] mscdex: me: 1 cricket: 0 [20:37] codetonowhere has joined the channel [20:37] fliebel: Aria: Are you going to write mail libs for Node? Might need them later :) [20:38] JimBastard: urgh, why isnt wheat on npm [20:38] terinjokes: JimBastard: to annoy you [20:39] JimBastard: k [20:39] _announcer: Twitter: "Added a github link to those modules who have it on http://npm.mape.me per @jchris wishes. #nodejs" -- Mathias Pettersson. http://twitter.com/mape/status/21856768067 [20:39] mape: paul_irish: ^ [20:39] paul_irish: hahahah nice. [20:39] paul_irish: nice work [20:41] JimBastard: isaacs: any idea why im getting npm ! Error: You must compile node with ssl support to use the link feature at Object.link (/usr/local/lib/node/.npm/npm/0.1.25/package/lib/link.js:23:2 6) but node is reporting ssl [20:41] JimBastard: at least i thought it was, all the tests pass [20:41] isaacs: JimBastard: because it needs crypto [20:41] JimBastard: isaacs: durrr im on it [20:41] isaacs: JimBastard: the tests that depend on crypto don't run if you don't have it [20:42] isaacs: JimBastard: it's because npm uses the sha1 of the path as part of the link name [20:42] isaacs: JimBastard: so that linking the same folder over and over doesn't make lots of different links [20:43] isaacs: JimBastard: and when you see it doing that, it's easy to spot, because they all have the same hash [20:43] polotek: isaacs: what's the deal with this directories change in package.json? [20:43] JimBastard: npm ! TypeError: Object _github_ses=BAh7BzoRbG9jYWxlX2d1ZXNzMCIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNoSGFzaHsABjoKQHVzZWR7AA%3D%3D--e10506e0f6935897cafe4f56774e20aa35e579a5; path=/; expires=Wed, 01 Jan 2020 08:00:00 GMT; HttpOnly has no method 'split' [20:43] JimBastard: on npm install crypto [20:43] isaacs: JimBastard: that's github [20:43] JimBastard: k [20:43] JimBastard: so? [20:43] isaacs: wait... hold on a sec, maybe that's some kinda cookie thing... [20:44] isaacs: oh, weird, i guess it's not a string? [20:44] polotek: isaacs: Buffer? [20:44] isaacs: JimBastard: wait, but when is say it requires crypto, i mean, it requires the crypto that's in node [20:45] isaacs: polotek: regarding the directories change: if you want to expose modules in the next version of npm, use the modules hash. [20:45] fliebel: JimBastard: Does the wheat thing you mentioned generate static html, or serve it on-the-fly? [20:45] isaacs: polotek: thank alex k wolfe for that [20:45] jackish has joined the channel [20:45] polotek: isaacs: bug "main" still works as usual correct? [20:45] isaacs: polotek: if you have a "directories.lib", and no "modules" hash, then it'll be used to create a default mapping to all the modules in lib [20:45] polotek: I don't think I need directories at all [20:46] isaacs: polotek: you can leave the lib dir in there, it's not hurting anyone [20:46] polotek: "main": "./lib/evented-twitter" [20:46] polotek: isaacs^ [20:46] isaacs: polotek: totally ok. didn't change at all [20:46] polotek: isaacs: word [20:47] polotek: isaacs: anyway I was suggesting that you're trying to call split on a Buffer instead of string [20:47] isaacs: it's { "directories": {"lib" : "./where-my-stuff-is/"}} that won't work any more. [20:47] isaacs: polotek: yeah, pretty sure that's it. either a buffer or array [20:47] CIA-77: node: 03isaacs 07master * re55c486 10/ lib/sys.js : Missing 'var' in sys.inspect (Found by Oleg Slobodskoi) - http://bit.ly/dqJz9N [20:47] ryah: isaacs: thanks [20:49] isaacs: JimBastard: fixed on http://github.com/isaacs/npm/commit/84602e9 [20:49] JimBastard: aight [20:50] polotek: speaking of package.json is there a suggested for "author" and "contributors" [20:51] fliebel has left the channel [20:51] JimBastard: so isaacs how can i pull that update? [20:52] mape: polotek: if you are generating a package.json feel free to try out http://npm-gen.mape.me/ and give me a shout if there is something dumb/that should be changed [20:52] JimBastard: fucking creationix's libraries are all over the place [20:52] JimBastard: shit is not vendored or package.json [20:52] isaacs: JimBastard: wait a few hours and update, or pull the code from github and do a "make dev" [20:53] isaacs: JimBastard: you should just take his shit, package.json it, put some fun bugs in there, and publish [20:53] isaacs: JimBastard: (nono, srsly, don't do that. that would be a huge pita for me.) [20:53] JimBastard: crypto worked [20:53] JimBastard: isaacs: im trying to test this software out, not maintain it [20:53] isaacs: JimBastard: but don't you see? that'd be the joke of it. [20:53] isaacs: JimBastard: because people would go to him with bugs. [20:54] JimBastard: ill just forge tj's name on the npm repo [20:54] JimBastard: cool [20:54] JimBastard: thanks isaacs , great idea [20:54] isaacs: and he'd be like "I never made it throw an error that says 'i love doing goats in the pasture'!?" [20:54] JimBastard: isaacs made me do it [20:55] polotek: mape: cool. needs some work [20:55] polotek: you should be able to leave out directories [20:55] polotek: I guess you can always rip it out of the end product [20:55] badaxx_: felixge: what about the null bug? [20:55] polotek: man the libxmljs repo is all effed [20:56] mape: polotek: Yeah the idea is to just get a good best practise boilerplate, but being able to click away stuff might be useful [20:56] xonecas has joined the channel [20:56] polotek: So I figured out why libxmljs spits out those damn annoying memory warnings [20:57] polotek: now I gotta figure out how to fix them [20:57] felixge: badaxx_: I'm working on it [20:57] xonecas has joined the channel [20:57] breccan has joined the channel [20:58] atmos has joined the channel [21:00] TooTallNate has joined the channel [21:00] felixge: badaxx_: try: http://github.com/felixge/node-mysql/commit/09df6f99dfa7e874a89ecf0115a2c40890d64f8c [21:02] amerine has joined the channel [21:02] isaacs: omg, i just realized something awesome about putting a "modules" hash in package.json! [21:02] isaacs: you could just call one of them "index" and then forget about the "main" altogether if you want. [21:03] hassox has joined the channel [21:03] isaacs: or i could start having npm translate that, so a "main" gets installed just like a regular "modules" module, and the root folder is way less cluttered. [21:06] blogometer has joined the channel [21:06] badaxx_: felixge: works fine, thanks [21:07] felixge: badaxx_: thanks for finding all the bugs :) [21:07] badaxx_: felixge: no problem ;) [21:14] MikhX has joined the channel [21:15] MikhX has joined the channel [21:20] polotek: holy shit! [21:20] polotek: I found the problem [21:20] _announcer: Twitter: "I just asked why I had not run webserver 123.123.123.123 (IP Sanitized): node ssh: / / root@123.123.123.123 / home /****/ hello.js" [bg] -- Михаил Минков. http://twitter.com/_x10/status/21859214656 [21:20] polotek: It needs to be fixed in libxml2 :( [21:21] johndahlstrom has joined the channel [21:21] JimBastard: hey isaacs [21:21] JimBastard: npm version 0.1.26alpha npm config file /root/.npmrc npm config file /usr/local/etc/npmrc npm ! Error: You must compile node with ssl support to use the link feature at Object.link (/usr/local/lib/node/.npm/npm/0.1.26alpha/package/lib/link.js:23:26) [21:21] JimBastard: still with the same error [21:21] benburkert has joined the channel [21:21] JimBastard: crypto is now installed [21:21] isaacs: JimBastard: yeah. you have to *compile* node with its native crypto shiz [21:21] isaacs: process.binding("crypto") [21:21] JimBastard: i thought installing the package would do that, how do i tell node to compile with that [21:22] isaacs: JimBastard: you install openssl on your system, and then do the ./configure && make install on node [21:22] JimBastard: i did that [21:22] _announcer: Twitter: "node ssh: / / root@123.123.123.123 / home /***/ hello.js I just asked why I had not run server and VPS-. How to answer this question .." [bg] -- Михаил Минков. http://twitter.com/_x10/status/21859330392 [21:22] isaacs: JimBastard: in the repl, what does 'process.binding("crypto")' give you? [21:22] JimBastard: Checking for openssl : not found [21:22] JimBastard: hrmm [21:22] mscdex: polotek: what bug is that? [21:22] JimBastard: wtf [21:22] isaacs: JimBastard: there ya go [21:22] polotek: isaacs: require("crypto") works for me [21:23] polotek: or is that something different? [21:23] isaacs: polotek: that's because you always get a crypto module, even if the binding isn't htere. [21:23] isaacs: it just doesn't have the Hash stuff [21:23] polotek: isaacs: ah [21:23] JimBastard: root@staging:/home/node# apt-get install libssl-dev Reading package lists... Done Building dependency tree Reading state information... Done libssl-dev is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 27 not upgraded. [21:24] polotek: JimBastard: I can confirm that [21:24] polotek: on my machine I have openssl and I can get the crypto binding [21:24] badaxx_: I've got a problem with node-router, I'm trying to send plain text from within a callback but everything I see in the browser is "null". Here's the code: http://pastie.org/private/qf0dzwcavcvqjatgdhl8mg [21:24] polotek: on my remote server I get nothing [21:25] polotek: mscdex: http://github.com/polotek/libxmljs/issues/#issue/13 [21:25] polotek: this one that has been hanging out forever [21:25] polotek: and making people think my library doesn't work [21:25] mscdex: JimBastard: does it say it found the SSL_* function when you ./configure? [21:25] JimBastard: Checking for function SSL_library_init : yes Checking for header openssl/crypto.h : yes [21:25] JimBastard: mscdex: ^^ [21:26] mscdex: JimBastard: you're fine then [21:26] JimBastard: npm refuses to link [21:26] johndahlstrom has joined the channel [21:26] isaacs: JimBastard: so that was the ./configure [21:26] isaacs: JimBastard: did you now make and install? [21:26] JimBastard: i did last night, ill try again with a distclean [21:26] isaacs: JimBastard: if npm isn't linking, it's because hte process.binding("crypto") isn't there [21:26] isaacs: JimBastard: so check that [21:27] MikhX has joined the channel [21:27] mscdex: polotek: ah yeah, i remember seeing that comment now [21:28] mscdex: polotek: kinda strange that that fixes the error messages though [21:28] badaxx_: ah and here's the javascript version of my problem: http://pastie.org/private/q2ahcsyoy7s98ekgcobva [21:28] polotek: mscdex: not strange [21:28] mscdex: oh? [21:28] polotek: basically what you did bypasses that checking function [21:28] polotek: mscdex: I'm concerned that it might have also killed the memory update functions though [21:28] polotek: I haven't actually tried it [21:29] mscdex: seems like a commandline parameter with that name would turn on a checking mechanism [21:29] polotek: mscdex: indeed it does [21:29] mscdex: so it overrides yours or? [21:34] polotek: mscdex: like I said I haven't tried it [21:34] polotek: it pays for me to keep my dev environment linked to the installed version [21:34] mscdex: ok [21:34] polotek: mscdex: i'm gonna look into it now though [21:36] polotek: back in a sec [21:37] Aria: Arr. fs.open needs more flags. [21:37] mscdex: like what? [21:37] Aria: It's got an fopen(3) rather than open(2) semantic. [21:38] Aria: O_CREATE for one. [21:39] Aria: And O_EXCL [21:39] mscdex: it does have O_CREAT in fs.js [21:40] mscdex: you should be able to pass in process.O_CREAT as a flag [21:41] JimBastard: fucking creationix [21:41] mscdex: also O_EXCL is defined on process [21:42] Aria: Oh! Nice. I see this. This should be documented, because flags are /dumb/ [21:42] _announcer: Twitter: "Not that surprising, but JS.Class also runs just fine on Node 0.2, including the package system and testing tools." -- James Coglan. http://twitter.com/jcoglan/status/21860602796 [21:43] Aria: Easy, but dumb. [21:43] isaacs: i take back every nasty thing i said about index.js files [21:43] Aria: Oh yeah? [21:43] Aria: (I still think they're fugly) [21:43] isaacs: the next version of npm will put a lot less crap in your node folder [21:43] mscdex: Aria: well, the string flags are probably the most commonly used [21:44] webr3: anybody got a pointer to what features of ES5 v8 all supports? can't find it in any compat tables (or should i just be checking against chrome 5)? v8 project docs seem very vague (as in don't mention es5 at all) [21:44] mscdex: webr3: yep: http://github.com/ry/node/wiki/ECMA-5-Mozilla-Features-Implemented-in-V8 [21:44] webr3: mscdex: cheers! [21:45] felixge has joined the channel [21:45] _announcer: Twitter: "wow that's an impressive list: http://github.com/ry/node/wiki/modules #nodejs" -- Michael Bumann. http://twitter.com/Bumi/status/21860754951 [21:45] mscdex: webr3: also, Function.bind does exist, the wiki has to be updated [21:46] Aria: Yeah, but there's things they can't do. [21:47] ryah: http://github.com/ry/node/wiki/library-compatibility [21:47] webr3: assuming it supports the syntax changes in es5 too? [21:47] mscdex: hehe [21:47] webr3: -> etc [21:47] mscdex: webr3: like? [21:47] ryah: have people add their modules to http://github.com/ry/node/wiki/library-compatibility [21:47] ryah: ? [21:47] ryah: ACTION doesn't see html5 on there, Aria  [21:47] ryah: ACTION doesn't see mysql on there, felixge  [21:47] Aria: Yeah, I need to give it a double-check. That's todo for today. [21:47] mscdex: lol [21:48] mscdex: node-mysql is working pretty good now [21:48] felixge: mscdex: :) [21:48] felixge: ryah: it'd be nicer to let npm worry about this [21:48] ryah: it would [21:48] felixge: ryah: anyway, adding node-mysql [21:48] ryah: this is pragmatic though [21:49] isaacs: Aria: http://gist.github.com/544323 [21:49] isaacs: Aria: without index.js files, there's twice as much junk in your lib/node folder [21:49] webr3: Aria, pointer to html5 project? [21:49] _announcer: Twitter: "A cool list of projects. Interesting to note how much node.js is being used in all areas. http://u.nu/47gve" -- Eric Woodward. http://twitter.com/ejwcom/status/21860993660 [21:50] Aria: http://github.com/aredridel/html5/ [21:50] webr3: ty [21:51] danielzilla has joined the channel [21:53] jamescarr_: Hmmm... putting together a websockets presentation using node.js... [21:53] jamescarr_: trying to think of a catchy title [21:53] jamescarr_: rather than just "Websockets" :) [21:53] webr3: nockets [21:54] esigler has joined the channel [21:54] ryah: websockets, the way god intended [21:54] _announcer: Twitter: "@mape That's awesome. #npm #nodejs" -- Daniel Shaw. http://twitter.com/dshaw/status/21861315375 [21:54] jamescarr_: ryah, lol [21:55] webr3: you wouldn't actually need websockets if browsers implemented an http server in addition to the client/cache - cos you'd just POST or GET to the browser - much friendlier http/cache and network wise [21:55] jamescarr_: it's really really good seeing them in action now... I still remember reading about them way back in the whatwg proposals [21:56] sudoer has joined the channel [21:56] ryah: webr3: ... [21:56] luddep has joined the channel [21:57] Aria: And the html5 lib passes as many tests as before with 0.2.0 [21:57] webr3: ryah..? [21:58] rsms has joined the channel [21:58] webr3: lols, if you think about it it just turns the entire web into a P2P network where DNS is the hash table [21:58] atmos: anyone written a connect app ? [21:58] amerine has joined the channel [21:58] webr3: hence why server side js is so powerfull cos your both client and server [21:59] _announcer: Twitter: "Wrote a HTTP proxy server in pure Javascript with only 30 lines of code. I finally must admit: #nodejs kicks some serious ass!" -- Pascal / P.Stylez. http://twitter.com/b00giZm/status/21861587088 [21:59] ryah: \o/ [22:01] maqr has joined the channel [22:04] mscdex: webr3: didn't opera have something like that? a built-in webserver? [22:04] webr3: close but no biscuit sadly, they went for 'proxy through there servers' so it's all a bit faked [22:05] mscdex: i think the main reason for no server in the browser is firewall/router issues [22:06] powdahound|home has joined the channel [22:06] webr3: may maybe not, i mean flash can do p2p running in a browser [22:06] webr3: somebody has already done a js tls implementation on the client side which proxies through flash [22:07] _announcer: Twitter: "A week ago, node.js had different libraries for doing stuff than it does now, and my mailing list backlog unread runs 7 days old or so :/" -- mathiasx. http://twitter.com/mathiasx/status/21862108248 [22:07] phound: Is npm the best way to install node modules? [22:08] webr3: not happening anyway and websockets has totally deflected any possible fous, so looking at a 5 year timeline until web-os's with http as the primary itnerface at os level take off [22:08] Aria has joined the channel [22:08] visnup: phound: yes [22:10] phound: visnup: hmm, doesn't seem to install for me on OSX, just hangs: http://gist.github.com/544338 [22:10] ako has joined the channel [22:11] visnup: phound: you might try installing it via homebrew, but I thought I saw someone saying there are a few weirdnesses right now with brew + node + npm [22:11] _announcer: Twitter: "http://tinyurl.com/2by2tdc Node.js - A Quick Tour II" -- train_boy. http://twitter.com/train_boy/status/21862349796 [22:11] russell_h: does anyone know whats required to get the wheat blog engine running? [22:11] isaacs: nooooo [22:11] isaacs: phound: don't install npm with homebrew [22:11] visnup: ooh yeah, see? [22:12] phound: wasn't planning on it. trying from source now [22:12] phound: just going back from master [22:12] isaacs: visnup: that's github being slow on you [22:12] isaacs: er, phound ^ [22:12] phound: wow really? [22:12] phound: i left it for quite a while [22:13] isaacs: phound: yeah, they artificially do some laggy stuff when you fetch from their dl server a bunch [22:13] phound: hmm weak sauce [22:13] hassox has joined the channel [22:13] phound: isaacs: would be cool if npm logged more during that time :) [22:14] xonecas has joined the channel [22:14] isaacs: phound: oh, wait, nvm... [22:14] isaacs: so it does the cache clean and hangs *there*? [22:14] isaacs: that's kind of absurd... [22:14] mscdex: this is madness! [22:14] isaacs: phound: so... since it downloaded everything, you should have a folder like "npm-" there, right? [22:14] phound: what's it doing there? :) [22:15] phound: isaacs: yeah, it also happens if i check out the repo directly [22:15] isaacs: phound: what if you do "make dev"? [22:15] phound: same hang [22:15] isaacs: (it works for me,btw) [22:15] isaacs: ok... interesting. [22:15] jackish has joined the channel [22:15] deepthawtz has joined the channel [22:15] phound: i'm on node v0.2.0 [22:16] isaacs: right. [22:17] phound: actually i'm running ry/node trunk, will try the v0.2.0 tag [22:17] isaacs: suresure [22:17] xonecas: clear [22:17] phound: isaacs: same issue. any way to crank up the logging? [22:18] isaacs: phound: no, it's set at maximum crank all the time [22:18] phound: hmm [22:18] phound: what's it supposed to be doing at this point? [22:18] chewbranca has joined the channel [22:19] isaacs: phound: well, if it's freezing on the "npm cache clean", then it's just supposed to be removing a directory [22:19] isaacs: not a very unusual op. [22:19] phound: interesting [22:19] isaacs: but it's freezing up somewhere after reading your configs, because doing npm install is having the same issue. [22:20] isaacs: phound: try this: npm config ls [22:20] phound: npm isn't installed... [22:20] aho has joined the channel [22:20] isaacs: phound: sure. node cli.js config ls [22:20] phound: btw neither of those configs - should they? [22:20] isaacs: (in the npm code folder) [22:20] isaacs: phound: no, it should be fine if they're not ther [22:20] isaacs: e [22:20] phound: er, neither of those configs exist [22:21] phound: ok [22:21] phound: isaacs: 'config ls' hangs as well [22:21] isaacs: wtf [22:21] phound: want me to add logging somewhere? [22:22] joeshaw: if you do "ps aux" on the process, what state is it in? [22:22] _announcer: Twitter: "Just got jQuery and QUnit working on node.js. How cool is that?" -- Benjamin Coe. http://twitter.com/BenjaminCoe/status/21863046864 [22:22] hassox has joined the channel [22:23] _announcer: Twitter: "[画像] pfleidi's mediengewitter at master - GitHub: Mediengewitter (= german for media thunderstorm) is node.js fram... http://bit.ly/aNpetu" -- erogchk08. http://twitter.com/erogchk08/status/21863091222 [22:23] phound: joeshaw: "garret 51108 93.7 1.2 3317424 49528 s000 R+ 3:22PM 0:42.18 node cli.js install npm" [22:23] joeshaw: yikes [22:24] phound: isaacs: it hangs in the same way if I run it on my Ubuntu 10.04 box as well... [22:24] Flam` has joined the channel [22:25] totels has joined the channel [22:25] phound: isaacs: ah, it works if I run it as root [22:25] isaacs: phound: aha. interesting [22:25] phound: it doesn't print any errors like the README says it should though :) [22:25] isaacs: phound: yeah, that's really odd. trying to track that down. [22:25] totels has left the channel [22:26] phound: going to keep hacking - let me know if you need me to dig up any info for you [22:29] isaacs: phound: so, it seems like it's failing to even call the cb with an error if one is raised when you try to read the root folder [22:30] jacobolus has joined the channel [22:30] phound: not how callbacks are expected to work :) [22:31] ako has joined the channel [22:31] isaacs: phound: not thrown, i mean if some piece of code generates an error, npm is designed to always bubble it up [22:31] isaacs: but i can reproduce the problem now [22:32] Dmitry has joined the channel [22:33] phound: cool [22:33] isaacs: phound: i found it [22:33] ryah: we should have a unit test which asserts what exactly is in the global scope [22:34] ryah: in whch we require() all internal modules [22:34] phound: isaacs: nice. quick fix? [22:34] isaacs: phound: yeah, probably. [22:35] isaacs: phound: fixed on 4976fd036bfd2e36ab025a91c27f9a4113d336af [22:36] dkubb|away has joined the channel [22:36] phound: isaacs: tricky typo :) [22:36] isaacs: phound: I KNOW [22:37] isaacs: phound: it avoided the erorr it was supposed to avoid, but also avoided raising any other error ever [22:37] isaacs: since no errors start with the string "false" [22:38] Aria has joined the channel [22:42] m64253 has joined the channel [22:44] Flam` has joined the channel [22:45] jacobolu_ has joined the channel [22:45] _announcer: Twitter: "Switching back to pure #websockets with a lightweight module for #nodejs." -- pfleidi. http://twitter.com/pfleidi/status/21864497184 [22:45] siedrix has joined the channel [22:46] jamescarr_: Hmmm.. trying to think of some good use cases for websockets. so far I have real time collaboration, games, notifications, chat [22:46] Tim_Smart has joined the channel [22:46] jamescarr_: I'm sure there's more :S [22:46] jamescarr_: trying to find something related to the genetics field [22:48] jacobolu_ has joined the channel [22:49] xonecas has joined the channel [22:50] scudco has joined the channel [22:51] scudco has left the channel [22:52] MattJ: That's like trying to think of good use cases for, say, trains [22:52] MattJ: It's just a way of getting stuff from A to B :) [22:53] chewbranca has joined the channel [22:54] PyroPeter has joined the channel [22:55] ian``: 9_ [22:57] terinjok1s has joined the channel [22:58] blogometer has joined the channel [22:59] adamholt has joined the channel [22:59] terinjokes has joined the channel [23:01] austinfromboston has joined the channel [23:05] adamholt has joined the channel [23:07] ChrisPartridge has joined the channel [23:07] jwm has joined the channel [23:08] josephhitchens has joined the channel [23:08] josephhitchens: Does anyone have some code that formats some bytes in a Buffer as hex? like so it can dump the buffer out like a hexdump to examine the data? [23:09] _temp01 has joined the channel [23:09] josephhitchens: writing a server in node that needs to dump what the client is sending. [23:09] jamescarr_ has joined the channel [23:10] _announcer: Twitter: "# DLFP output Node.js v0.2.0: Node.js, whose slogan is Evented I / O for V8 JavaScript, aims to provide ... http://bit.ly/cSQEzw" [fr] -- Denis Fruneau. http://twitter.com/akemoi/status/21866110064 [23:10] hpoydar has joined the channel [23:11] ryah: josephhitchens: buffer.inspect() [23:12] josephhitchens: ah yes. thnx! [23:14] _announcer: Twitter: "Woot! @TylerGene and I just setup a node.js webserver on his linode VPS." -- lancefisher. http://twitter.com/lancefisher/status/21866379629 [23:15] Aria: Oooh, here's a fun API problem! [23:15] Aria: Create a file, without overwriting anything, without a race condition. [23:16] hpoydar has joined the channel [23:16] Tim_Smart: Aria: Change the flags? I think you can do that with fs.read [23:16] Aria: If you open a WritableStream with O_EXCL | O_CREAT, it signals an error and you have to handle it at the application level. Catching it and returning a valid WritableStream is hard. [23:16] Aria: (since the error is async) [23:17] Tim_Smart: And the error doesn't get inserted into the callback? [23:17] Aria: Oh, it does. I'm just trying to figure out how to make a nice API. [23:17] Aria: It'll probably involve a 'here's your file handle' callback. [23:18] Aria: It's just something that I'm rather used to having synchronous, so I've not thought about how it should be done yet. [23:18] hpoydar_ has joined the channel [23:18] Aria: Thoughts are welcome. [23:19] matt_c has joined the channel [23:21] Aria: Ooh. Doubly painful is that there's not an 'open' event for when a stream /is/ successfully opened. [23:21] Aria: Which is when I would call such a [23:21] Aria: callback. [23:23] atmos: does anyone know how the joyent hosting for node knockout will work ? [23:23] fictorial has joined the channel [23:23] stepheneb has joined the channel [23:23] atmos: are they just giving people vms for a few days or something ? [23:23] gerad: what's the question? [23:23] gerad: yeah [23:23] gerad: that [23:23] atmos: cool [23:23] ako has joined the channel [23:23] gerad: they're working on a special setup for it [23:23] gerad: maybe [23:24] atmos: interesting [23:24] Tim_Smart: Aria: Well you have these events to work with: http://nodejs.org/api.html#writable-stream-33 [23:24] atmos: they're gonna implement something this week ? [23:24] visnup: atmos: yeah, ryah and team are working on it now [23:24] Aria: Oh, I know. And I'm saying that being stuck with just those events means that any API I base on that is gonna suck a bit, since you have to handle errors. [23:24] jamescarr_: so all websocket messages are just prefixed with x00 and suffixed with xFF? [23:25] Aria: And so, I'm gonna write a message to the mailing list detailing my thoughts. [23:27] Tim_Smart: Aria: The process object only has O_RDONLY O_WRONLY AND O_RDWR defined.. [23:27] Tim_Smart: s/AND/and/ [23:27] foobarfighter has joined the channel [23:27] Aria: Orly? Look at lib/fs.js line 122. [23:28] Tim_Smart: Yeah wait, I see them now. [23:28] blogometer has left the channel [23:29] Aria: Also, src/node_constants.cc, line 40. [23:30] Tim_Smart1 has joined the channel [23:32] FransWillem has joined the channel [23:32] Tim_Smart1 has joined the channel [23:34] FransWillem: Hey [23:35] FransWillem: Quick perf question, say I need a static lookup table (integer -> object), what would be faster, a function with a switch statement, or an object key lookup ? [23:37] dkubb|away has left the channel [23:40] polotek: isaacs: is there a known issue where linked packages won't uninstall? [23:40] isaacs: polotek: yes, fixed on HEAD [23:41] polotek: cool [23:43] derferman has joined the channel [23:43] rickbradley has joined the channel [23:44] polotek: some problem related to my pre/post install scripts [23:45] polotek: npm libxmljs-0.4.0 Failed to exec preuninstall script [23:45] FransWillem: aaaw, you guys ignored me :p [23:45] polotek: which is odd because I'm uninstalling so why would it be calling the preinstall? [23:45] polotek: oh [23:45] polotek: preuninstall [23:45] isaacs: polotek: right [23:45] isaacs: you can just remove the folders manually if you want. [23:45] polotek: isaacs: yeah that's what I did [23:45] polotek: not sure why it crapped out though [23:45] isaacs: polotek: (that issue is also fixed on HEAD, i believe.) [23:45] _announcer: Twitter: "what are people using to do #TDD (or #BDD) on #node.js apps? #inquiringmindswanttoknow" -- Rick Bradley. http://twitter.com/rickbradley/status/21868371635 [23:45] hpoydar has joined the channel [23:46] polotek: isaacs: cool [23:46] rickbradley: well, I could've asked here, I suppose [23:46] isaacs: polotek: rm -rf $(npm config get root)/.npm/libxmljs/0.4.0 [23:46] isaacs: rickbradley: vows and expresso get a lot of play [23:46] FransWillem: Lol [23:46] rickbradley: isaacs: cool; will investigate [23:46] FransWillem: was just about to do !help !twitter to respond with that exact same answer :p [23:47] maqr has joined the channel [23:56] phound: Is Socket.IO the websockets module of choice so far?