[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?