[00:00] cloudhead has joined the channel
[00:00] dylang has joined the channel
[00:01] shaver: isaacs: no, no { }
[00:01] dguttman_ has joined the channel
[00:01] isaacs: shaver: right, well, that's the "expression function" thing
[00:01] shaver: oh
[00:01] isaacs: shaver: but what if you wanna do this: function a (x) { alert(x) ; x }
[00:01] shaver: sorry, yeah, didn't read back
[00:02] isaacs: basically, just make the return optional
[00:02] shaver: alert (x) ; x isn't an expression
[00:02] isaacs: right
[00:02] shaver: implied return is not what you want
[00:02] isaacs: so you need the {}
[00:02] shaver: ok
[00:02] shaver: I should go back to working, alas
[00:03] isaacs: plus i'd like to be able to do x(if (y) { z } else { a })
[00:03] dguttman_ has joined the channel
[00:03] isaacs: (yeah, you could do that with ?:, but sometimes it gets harier)
[00:04] isaacs: mape: hey, you around?
[00:05] _announcer: Twitter: "Playing with nodejs and faye .. oups... sleep time already ?" -- Laurent Chardin. http://twitter.com/LaurentChardin/status/27389789981
[00:07] DTrejo_: it annoys me that twilio makes post requests to xml files to get content, and the things like node-static or connect refuse to serve the file. o welllzz
[00:08] _announcer: Twitter: "Trying out node.js... awesome! Learning Server-Side JavaScript with Node.js | Nettuts+ http://bit.ly/abxlpO #developers #javascript" -- Mind Point Design. http://twitter.com/mindpointdesign/status/27390032984
[00:09] _announcer: Twitter: "@boundvariable on server side JS using NodeJS #wdx" -- wlonline. http://twitter.com/wlonline/status/27390078448
[00:09] _announcer: Twitter: "#wdx #dev Vows on the other hand is rad for Node.js testing." -- Tom. http://twitter.com/sh1mmer/status/27390097549
[00:09] Tim_Smart: DTrejo_: Interesting. Biggie-router's static module doesn't have that behaviour. It just adjusts for HEAD requests at this stage.
[00:09] bentruyman: is there any sort of program to manage node the starting/stopping of apps?
[00:10] jacobolus has joined the channel
[00:10] Tim_Smart: bentruyman: Multi-node and spark, from memory.
[00:10] _announcer: Twitter: "@grmsn personally I use Node.js all the time and I'd much rather use Node.js now than PHP." -- Tom. http://twitter.com/sh1mmer/status/27390150027
[00:10] _announcer: Twitter: "@ericpallen It's faster than #nodejs. 'Nuf said." -- Jason Huggins. http://twitter.com/hugs/status/27390170725
[00:10] dnolen has joined the channel
[00:10] bentruyman: Tim_Smart: thanks, will look into
[00:10] bentruyman: I just don't wanna have to do the `node app.js &` stuff :-/
[00:11] Tim_Smart: bentruyman: I usually use monit and nginx.
[00:11] MikhX has joined the channel
[00:11] _announcer: Twitter: "node.js and coffeescript made it to #wdx thank you Patrick Lee!" -- Michael Koukoullis. http://twitter.com/kouky/status/27390244419
[00:11] nerdEd has joined the channel
[00:11] aheckmann has joined the channel
[00:11] bentruyman: Tim_Smart: I probably need to look into monit again, had troubles getting it standing up on Ubuntu
[00:12] Tim_Smart: bentruyman: There is one setting you have to change to make it auto-start on boot.
[00:12] brianmario has joined the channel
[00:12] Tim_Smart: I then rely on it to start all my other processes.
[00:13] bentruyman: Tim_Smart: gotcha, thanks for the help
[00:13] _announcer: Twitter: "@mattevansnz sigh, I'm so behind. Everyone is in love with node.js but I haven't touched it yet :(" -- Sam Dalton. http://twitter.com/spdalton/status/27390442552
[00:15] _announcer: Twitter: "Yum! Node.js MongoDB + on my server! We redid the backend, we redid the front end!" [fr] -- Mister Zombie. http://twitter.com/mister_zombie/status/27390528576
[00:18] marshall_law has joined the channel
[00:20] hsuh has joined the channel
[00:21] _announcer: Twitter: "# nodejs tinkering ... it's sooo nice:) (http://nodejs.org/ # about)" [ga] -- Nenad Mancevic. http://twitter.com/manca1/status/27391062886
[00:22] _announcer: Twitter: "I hadn't realised @heroku were trialling node.js hosting. Sweet! #wdx" -- Josh Price. http://twitter.com/joshprice/status/27391175162
[00:27] MikhX has joined the channel
[00:28] mikeal has joined the channel
[00:31] jakehow has joined the channel
[00:34] SubStack: the haskellinjavascript source has terrible formatting
[00:34] tobeytailor has joined the channel
[00:36] _announcer: Twitter: "Having said that, no charging stations is a bummer, and the node.js talk by @boundvariable had no examples :/ #wdx" -- Fox Woods. http://twitter.com/foxmwoods/status/27392244374
[00:36] boaz has joined the channel
[00:39] banjiewen_ has joined the channel
[00:41] rubydiamond has joined the channel
[00:42] _announcer: Twitter: "NodeJS discussion at Utah Web Conference #nodejs #utahwebconf" -- rileyflorence. http://twitter.com/rileyflorence/status/27392771636
[00:43] JimBastard has joined the channel
[00:43] dannycoates has joined the channel
[00:45] TheEmpath_ has joined the channel
[00:46] _announcer: Twitter: "Rating node.js Committee for 作Ro a web application chestnut millet. I said it first." [ja] -- くわばら ひろし. http://twitter.com/kuwabarahiroshi/status/27393113524
[00:46] softdrink has joined the channel
[00:47] shaver: that last one might be the best node.js tweet ever
[00:47] unomi has joined the channel
[00:48] _announcer: Twitter: "Our Board makes cleared before the first half of this. It is indeed. RT: @ kuwabarahiroshi: node.js Rating Board for millet click on web application 作Ro. I said it first." [ja] -- 坂上 真大. http://twitter.com/madai0517/status/27393278905
[00:49] andrewfff has joined the channel
[00:51] severla has joined the channel
[00:52] Tim_Smart: Web application chestnut millet? Google translate needs some more work...
[00:58] dohtem has joined the channel
[00:58] dohtem has joined the channel
[00:58] Yuffster has joined the channel
[00:59] gf3 has joined the channel
[01:01] ThePub has joined the channel
[01:02] aubergine has joined the channel
[01:03] galaxywatcher has joined the channel
[01:03] _announcer: Twitter: "What is this presentation. Cool Introduction to node.js by Toshihiro Shimizu on Prezi - http://goo.gl/ycTx" [ja] -- S Aizawa. http://twitter.com/m0201/status/27394518386
[01:04] _announcer: Twitter: "Anyone out there in #nodejs land had and good/bad experiences with Restler? http://github.com/danwrong/restler" -- Daniel Erickson. http://twitter.com/TechWraith/status/27394610953
[01:05] rex_fernando has joined the channel
[01:08] matt_c has joined the channel
[01:11] _announcer: Twitter: "@joshprice They had the node.js trial open for a while but are not taking any more applicants :-( /cc @heroku #wdx" -- drew robinson. http://twitter.com/ocean/status/27395182790
[01:16] hzin has joined the channel
[01:17] sudoer has joined the channel
[01:20] _announcer: Twitter: "Let's all welcome @dshaw in the Storify Team! http://storify.com/team #nodejs - he is also behind @storifydev" -- Storify. http://twitter.com/Storify/status/27395964128
[01:21] rcy has joined the channel
[01:23] SubStack: storify eh?
[01:23] ossareh has joined the channel
[01:23] _announcer: Twitter: "Me, I'm done playing with this matter node.js" [ja] -- Hirohide Sano. http://twitter.com/sanojimaru/status/27396271905
[01:24] Yuffster has joined the channel
[01:25] alexb_ has joined the channel
[01:26] alexb_: Anyone else run into a problem with dns in node http client, namely it doesn't cache dns info at all?
[01:26] bentruyman has joined the channel
[01:26] lakin has joined the channel
[01:27] _announcer: Twitter: "Oh the crust! Oh oh look forward RT @ sanojimaru: me, I'm done playing with this matter node.js" [ja] -- 高橋敦彦. http://twitter.com/attrip/status/27396546633
[01:28] admc_ has joined the channel
[01:30] mbrochh has joined the channel
[01:31] marshall_law has joined the channel
[01:31] _announcer: Twitter: "Got node.js running on Cygwin on Windows in short order; pretty painless." -- Chris Bellini. http://twitter.com/bullines/status/27396877658
[01:31] _mythz has left the channel
[01:32] mikeal has joined the channel
[01:36] mbrochh has joined the channel
[01:36] mbrochh has joined the channel
[01:36] MikhX has joined the channel
[01:37] hdon: hi guys :) what is the correct way to detect node? first i tried to detect require() because not all of my interpreters have require defined. i detected by hasOwnProperty('require'). this returns true in the node shell, but not from in my script which i load with node on the commandline!
[01:38] hdon: donny@donny-desktop:~/src/hg/sandbox.js$ cat test-node-hasownproperty-require.js
[01:38] hdon: require('sys').print(hasOwnProperty('require')+'\n');
[01:38] hdon: donny@donny-desktop:~/src/hg/sandbox.js$ node test-node-hasownproperty-require.js
[01:38] hdon: false
[01:39] hdon: node> hasOwnProperty('require')
[01:39] hdon: true
[01:39] hdon: this seems like the wrong way to go. i suspect my module scope does not have the require property, but the global scope does.
[01:39] derferman has joined the channel
[01:41] hdon: i can just use try{} i suppose and catch what should be a ReferenceError
[01:43] c4milo has joined the channel
[01:46] rex_fernando has joined the channel
[01:49] banjiewen has joined the channel
[01:53] _announcer: Twitter: "Reading the source of socket.io nodejs:) excited ...." [pt] -- Matheus Mendes. http://twitter.com/bigodines/status/27398727457
[01:53] alexb_: How do i close a httpclient connection ?
[01:53] bpadalino: unplug your ethernet cable
[01:54] alexb_: It's on ec2
[01:54] Tim_Smart: Then buy lots of monkeys to automate it.
[01:55] Tim_Smart: alexb_: Otherwise, just response.end();
[01:55] danielzilla has joined the channel
[01:55] derferman has joined the channel
[01:56] bpadalino: oh, that may work too
[02:02] alexb_: Httpclient response says it has no method end :/
[02:03] _announcer: Twitter: "databases should be written in c. git should be written in node.js" -- technowürst. http://twitter.com/technoweenie/status/27399585062
[02:05] _announcer: Twitter: "node.js wonder if I should feel like to touch" [ja] -- vinylism. http://twitter.com/vinylism/status/27399721413
[02:07] derferman has joined the channel
[02:09] Yuffster_work has joined the channel
[02:12] dylang: Is there a fast way to concat a bunch of arrays only keeping the uniques?
[02:13] jesusabdullah: With node.js, it's ALWAYS fast!
[02:13] rbranson_: i'd use the values as object keys
[02:13] rbranson_: that way you get free de-dup
[02:13] prettyrobots: Trying to remote debug using node.
[02:13] bentruyman has joined the channel
[02:13] dylang: rbranson_: i was thinking about that but i need the end result as an array (for express views)
[02:14] prettyrobots: Node seems to bind to localhost, but not to the network I'm trying to debug from.
[02:14] prettyrobots: Suggestions?
[02:14] jesusabdullah: I don't know if there's an obvious way to write it down, though. I mean, concatenation is easy enough, but idk about de-duplication
[02:14] _announcer: Twitter: "It is said that the famous nodejs framework: express connect mongoose socket.io have been joined by several of learnboost company. The company has the potential ah" [zh-CN] -- finscn. http://twitter.com/finscn/status/27400491134
[02:14] dylang: prettyrobots: you can't hit the node server from machine other than localhost?
[02:14] shaver: dylang: do you need to preserve any particular order?
[02:15] dylang: shaver: nope
[02:15] prettyrobots: That is, I can telnet to node debugger from the machine itself to 127.0.0.1, but I can't get there from the network and no filewalls.
[02:15] prettyrobots: (This "network" is Ubuntu running in VirtualBox.)
[02:15] shaver: yeah, put in an object, then grab .keys of the object
[02:15] Tim_Smart: prettyrobots: Bind to 0.0.0.0
[02:15] dylang: shaver: i have N arrays of names with lots of repeats. i need just one array of names.
[02:15] prettyrobots: dylang: Network is fine otehrwise.
[02:15] Tim_Smart: prettyrobots: Or don't set a host.
[02:15] prettyrobots: What is the switch to specify bind.
[02:15] dylang: prettyrobots: also try silly things like localhost. (include the dot)
[02:16] prettyrobots: Tim_Smart: node --debug-brk
[02:16] prettyrobots: How do I specify Bind 0.0.0.0 to the debugger?
[02:16] shaver: function set(e) { o[e] = true; }; v8: var o = {}; ["a", "b"].map(set); ["a", "c"].map(set); o.keys()
[02:16] shaver: v8: function set(e) { o[e] = true; }; v8: var o = {}; ["a", "b"].map(set); ["a", "c"].map(set); o.keys()
[02:16] v8bot: shaver: TypeError: Object # has no method 'keys'
[02:16] Tim_Smart: prettyrobots: Oh, for the debugger.
[02:16] shaver: whaa?
[02:16] prettyrobots: Tim_Smart: Riiigght.
[02:16] dylang: shaver: Object.keys(varname)
[02:17] shaver: v8: function set(e) { o[e] = true; }; v8: var o = {}; ["a", "b"].map(set); ["a", "c"].map(set); Object.keys(o)
[02:17] v8bot: shaver: ["a", "b", "c"]
[02:17] Tim_Smart: prettyrobots: Set up a proxy :p
[02:17] prettyrobots: Tim_Smart: If you have some simple suggestion to fake it.
[02:17] prettyrobots: Yeah.
[02:17] prettyrobots: Proxy.
[02:17] dylang: shaver: awesome, i'm using it!
[02:17] prettyrobots: Tim_Smart: What is the easiest proxy? What do you reach to first?
[02:17] Tim_Smart: prettyrobots: nginx is pretty easy to use.
[02:18] Tim_Smart: Not sure if it support TCP protocols though.
[02:18] Tim_Smart: Otherwise, just make a simple node TCP proxy.
[02:18] prettyrobots: Okay. I'll try SSH.
[02:18] prettyrobots: Or, yes, I've already got one of those.
[02:18] Tim_Smart: prettyrobots: But yeah, SSH is cool.
[02:18] Tim_Smart: With tunneling.
[02:19] _announcer: Twitter: "It's amazing I change Yara node.js sore methods. If you try public samples, you should check documentation of node.js and rewrite your favorite codes:)" [ja] -- こまっしゅ. http://twitter.com/komasshu/status/27400860853
[02:20] xla has joined the channel
[02:29] alexb_: Ok there is no response.end method on http client but you can emit your own end event
[02:29] rex_fernando has joined the channel
[02:29] Me1000 has joined the channel
[02:32] bartt has joined the channel
[02:32] meso has joined the channel
[02:34] _announcer: Twitter: "My presentation on end-to-end JavaScript and NodeJS at the Utah web meetup: http://bit.ly/c3HvIU" -- kriszyp. http://twitter.com/kriszyp/status/27402107921
[02:35] MikhX has joined the channel
[02:36] mbrochh has joined the channel
[02:38] jakehow has joined the channel
[02:40] _announcer: Twitter: "node.js って言語なの？ http://www.moongift.jp/2010/10/about_nodejs/" -- mattn. http://twitter.com/mattn_jp/status/27402567917
[02:41] mjr_ has joined the channel
[02:43] derferman has joined the channel
[02:44] jherdman has joined the channel
[02:44] creationix has joined the channel
[02:45] _announcer: Twitter: "moongift, node.js quite understand the meaning has been redirected to me at a premium why not go to see anything without warning page" [ja] -- Yoshiteru Negishi. http://twitter.com/negipo/status/27402958735
[02:49] dgathright has joined the channel
[02:50] Blink7 has joined the channel
[02:51] kjy112|home has joined the channel
[02:51] Eber has joined the channel
[02:52] Eber: Guys... Is there a place, a service (not Google) where you create an account and you can use it with OpenID anywhere else? I'm not saying a basic provider like Wordpress... I mean, a one login spot for everyone... Does anyone knows such thing?
[02:53] Tim_Smart: Eber: http://openid.net/get-an-openid/
[02:53] Tim_Smart: Take your pick.
[02:54] Tim_Smart: Maybe https://www.myopenid.com/
[02:54] SubStack: ACTION likes being able to type "substack.net" into those openid boxes
[02:55] SubStack: openid.delegate++
[02:55] Eber: Tim_Smart: it's cool but far from ideal I guess... it seems it hasn't i18n support... and a not so attractive and user friendly interface...
[02:55] Tim_Smart: Eber: Well, there are several on that list I gave you. So make a choice :)
[02:55] _announcer: Twitter: "On the upside I got node.js running in cygwin" -- javierfigueroa. http://twitter.com/javierfigueroa/status/27403809675
[02:56] rex_fernando has joined the channel
[02:56] Eber: Tim_Smart: None of them looks that bright...
[02:56] derferman has joined the channel
[02:56] Tim_Smart: Eber: Then implement your own provider.
[02:57] Eber: I wih we had a place to serve as an OpenID provider, where we could keep track of every service we are using with it... A nice user interface, lots of languages support...
[02:57] Eber: wih*
[02:57] derferman has joined the channel
[02:59] Eber: Tim_Smart: maybe I will... but I need to know if that doesn't already exists...
[02:59] Eber: So I don't fight for nothing :P
[03:02] _announcer: Twitter: "Node.js to wait and see but I was to read an article you subscribe to premium Nau @ moongift" [ja] -- chi. http://twitter.com/einekatze/status/27404369602
[03:03] shaver: yep, naming my next node.js hack "moongift"
[03:03] _announcer: Twitter: "node.js and command of, quite happily ever written code, replace all been wanting ww" [ja] -- こまっしゅ. http://twitter.com/komasshu/status/27404389447
[03:04] Eber: Tim_Smart: chi.mp looks like a good alternative...
[03:05] noahcampbell has joined the channel
[03:05] Eber: not perfect, but it's well doen! thanks for pointing that link out Tim_Smart !
[03:09] charlenopires has joined the channel
[03:10] jacobolus has joined the channel
[03:12] jchris has joined the channel
[03:15] _announcer: Twitter: "What is now the industry node.js curious people who have too much fun." [ja] -- Atsushi Kawata / 川田篤. http://twitter.com/AKwta/status/27405372598
[03:17] jgautier has joined the channel
[03:17] jgautier: has anyone used sencha touch here?
[03:20] EyePulp has joined the channel
[03:21] robotarmy has joined the channel
[03:27] nerdEd has joined the channel
[03:29] gerred has joined the channel
[03:31] ekidd has joined the channel
[03:33] unomi has joined the channel
[03:34] _announcer: Twitter: "Turns out problems accessing @joyent #nodejs host were a combo of unusual provisioning and my inability to read. Fixed." -- Benjamin P Lee. http://twitter.com/leebenjp/status/27406869542
[03:34] rex_fernando has joined the channel
[03:38] siculars has joined the channel
[03:41] micheil_away: hassox: ping.
[03:43] prettyrobots: Anyone here with the segfault on Node.js debugging?
[03:44] prettyrobots: I've tried rebuilding with GCC_VERSION=44.
[03:44] Tim_Smart: prettyrobots: node -v?
[03:44] prettyrobots: v0.2.2
[03:44] Tim_Smart: OK. Get the same problem on 0.3?
[03:45] Tim_Smart: Works fine here on master.
[03:45] prettyrobots: Okay.
[03:45] prettyrobots: I'll try that.
[03:45] _announcer: Twitter: "The first time that this timing node.js scala people start to point can be brainwashed" [ja] -- laiso. http://twitter.com/laiso/status/27407720093
[03:46] prettyrobots: Hmm... 3 is not out yet.
[03:46] Tim_Smart: Damn you _announcer, I though I had /ignored you.
[03:46] iwasbiggs has joined the channel
[03:46] Tim_Smart: prettyrobots: 0.3.x pre is the the master branch.
[03:47] prettyrobots: I want a stable branch.
[03:47] prettyrobots: I'm hoping it is this:
[03:47] prettyrobots: http://blog.quilitz.de/2010/08/debug-nodejs-applications-with-eclipse-fix-segmentation-fault/
[03:55] _announcer: Twitter: "「node.js vs Erlang (ネタ)」 http://d.hatena.ne.jp/kuenishi/20101013/1286973687" -- Faith and Brave. http://twitter.com/cpp_akira/status/27408412178
[03:55] davidwalsh has joined the channel
[03:57] dysinger has joined the channel
[03:58] path[l] has joined the channel
[03:59] hassox: micheil: pong
[03:59] hassox: sup brew
[03:59] micheil: hey
[03:59] hassox: hey
[04:01] ysynopsis has joined the channel
[04:04] rex_fernando has joined the channel
[04:04] MikhX has joined the channel
[04:05] murphy has joined the channel
[04:06] derferman has joined the channel
[04:09] Yuffster_work has joined the channel
[04:11] murphy has joined the channel
[04:11] MikhX has joined the channel
[04:11] bentruyman has joined the channel
[04:15] murphy has joined the channel
[04:19] galaxywatcher has joined the channel
[04:21] jameshome has joined the channel
[04:24] ekidd has joined the channel
[04:25] TheEmpath has joined the channel
[04:25] markwubben has joined the channel
[04:27] bpot has joined the channel
[04:31] beawesomeinstead has joined the channel
[04:31] beawesomeinstead has joined the channel
[04:37] mbrochh has joined the channel
[04:40] rauchg_ has joined the channel
[04:41] _announcer: Twitter: "BDF fonts to write him Souiya canvas, fillRect node.js whence it did not rely only on written test" [ja] -- SATOH, Hiroh. http://twitter.com/cho45/status/27411453997
[04:43] TheEmpath: how does one generate guids in node.js?
[04:44] micheil: hmm.
[04:44] micheil: TheEmpath: to spec or just a random key?
[04:44] TheEmpath: to spec
[04:44] TheEmpath: sadly :(
[04:44] micheil: umm..
[04:44] micheil: there was an easy way in javascript.
[04:44] micheil: I forgot what it was
[04:44] micheil: one sec
[04:44] _announcer: Twitter: "A much needed piece in the node.js puzzle: npm (node package manager) http://bit.ly/ddyfjt (via badassjs.com)" -- Francisco Brito. http://twitter.com/darkgoyle/status/27411651587
[04:45] melgray has joined the channel
[04:50] TheEmpath: its an ugly request, i know
[04:50] micheil: TheEmpath: try" http://www.broofa.com/Tools/Math.uuid.js
[04:50] TheEmpath: chances of collision?
[04:50] micheil: TheEmpath: I was sorta otp.
[04:50] micheil: not sure
[04:51] TheEmpath: 4 calls to math random
[04:51] shaver: Math.random should really be called Math.kindaRandomNoCryptoWithThisPlease
[04:51] micheil: http://en.wikipedia.org/wiki/Universally_Unique_Identifier
[04:51] TheEmpath: can i get hte mac address of a user through socket.io or node.js?
[04:52] micheil: TheEmpath: the other way is to bind to C's guid
[04:52] TheEmpath: how can i do that?
[04:52] micheil: TheEmpath: you can get the remote address.
[04:52] micheil: TheEmpath: by writing an extension
[04:52] TheEmpath: ah
[04:52] TheEmpath: nifty
[04:52] TheEmpath: may consider
[04:52] micheil: as for remote address.. you can get the port number
[04:52] micheil: not sure about connecting ip
[04:53] TheEmpath: i can do hashing with a private salt on the server and unique user info
[04:53] TheEmpath: plus random
[04:53] micheil: try: http://nodejs.org/api.html#stream-remoteaddress-224
[04:53] TheEmpath: but all im doing is reducing collision, not guarenteeing uniquieness
[04:53] mikew3c has joined the channel
[04:53] micheil: in node-websocket-server, I just use the remoteport
[04:53] micheil: but may need something better if I'm to scale horizontally
[04:54] TheEmpath: socket.io you can get it with i think socket.request.client.remoteAddress
[04:54] micheil: yeah
[04:54] HAITI has joined the channel
[04:55] TheEmpath: i could always stringify the socket itself
[04:55] TheEmpath: use that as a private salt
[04:55] TheEmpath: or per connection saly
[04:55] TheEmpath: salt*
[04:55] TheEmpath: just on the initial connection
[04:56] micheil: why not use the remote port and address?
[04:56] TheEmpath: i like overkill :D
[04:56] _announcer: Twitter: "A lymph node in my lower jaw is swollen. Feels pretty weird to swallow....js" -- kelsey bennett. http://twitter.com/kelseybennett/status/27412356835
[04:57] shaver: (sport, saddr, dport, daddr) are by definition unique
[04:57] shaver: oh, proto too
[04:57] shaver: so that's 128 bits
[04:57] shaver: plus proto if you want it
[04:58] micheil: shaver: does node expose those?
[04:58] shaver: socket should have it, yeah
[04:58] chrisdickinson: dumb question, maybe: is there a way to determine the path of a require'd module? (require('module').__fileName, or something like a process._cachedModules)?
[04:59] micheil: shaver: I've not seen them
[04:59] shaver: huh
[05:00] micheil: chrisdickinson: hmm, not a dumb question, a hard question
[05:00] micheil: chrisdickinson: from within that module, you can get the filename
[05:00] JimBastard: LOLWUT _announcer
[05:01] chrisdickinson: micheil: that's what i'm doing at the moment (just exposing the path through the module itself) but i'm hoping to make it so my modules won't have to do that
[05:01] micheil: hm..
[05:01] chrisdickinson: so modules x and y register with z, and z can determine their path
[05:02] micheil: chrisdickinson: is there a reason you need this?
[05:02] chrisdickinson: micheil: it's kind of a template loader situation
[05:03] TheEmpath: micheil: and multiple people can come from the same ip
[05:03] micheil: try module.filename
[05:03] chrisdickinson: micheil: awesome -- thanks
[05:03] micheil: actually.. not that.
[05:04] micheil: chrisdickinson: it could easily be added in if allowed by ryah
[05:07] _announcer: Twitter: "How do I get started with #NodeJS ?!?!?" -- Charles Johnson, II. http://twitter.com/ImJusInCredible/status/27412938234
[05:07] chrisdickinson: micheil: it might be nice to have require'd modules come in as instances of (a hypothetical type) Module
[05:07] chrisdickinson: with __path as a prototype-level getter, maybe
[05:09] danielzilla has joined the channel
[05:13] Tim_Smart: chrisdickinson: module.filename
[05:13] EyePulp has joined the channel
[05:13] chrisdickinson: Tim_Smart: wouldn't that only work from within the module in question?
[05:13] Tim_Smart: You will have to export it or something.
[05:14] chrisdickinson: yeah -- I've been handling things that way. just wanted to check to see if there wasn't a way i could remove that burden of knowledge from external modules
[05:14] Tim_Smart: You can easily over-ride the '.js' extension to auto-add it to the exports.
[05:14] Tim_Smart: But it seems a little hacky.
[05:15] matt_c has joined the channel
[05:17] jpld has joined the channel
[05:19] prettyrobots: Tim_Smart: ssh tunnel FTW.
[05:19] prettyrobots: Updating my *.deb of Node.js with the GCC_VERSION=44 fix too.
[05:19] _announcer: Twitter: "going to tryout some nodejs tonight as suggested by @boundvariable" -- Ayaz Ahmed. http://twitter.com/ayaza/status/27413618359
[05:20] Tim_Smart: prettyrobots: Yeah they are cool. I remember when I sucked at *nix, so I just installed the gnome environment on the server and SSH tunneled VNC.
[05:20] _announcer: Twitter: "@thomasfuchs vapor.js supports jQuery, Node.js and Unicons. There's nothing it can't do!" -- Addy Osmani. http://twitter.com/legacye/status/27413681659
[05:21] prettyrobots: Tim_Smart: Impressive way to suck at something, actually.
[05:21] Tim_Smart: Makes me lol now though.
[05:21] amerine has joined the channel
[05:21] prettyrobots: What's with Unicorns. Suddenly, very popular.
[05:21] creationix has joined the channel
[05:22] prettyrobots: Tim_Smart: I've decided that Ubuntu is my environment, and nothing else.
[05:22] prettyrobots: And now I'm finally feeling at home at UNIX.
[05:22] prettyrobots: Because it clears away all the cross-platform doubt.
[05:23] rcy has joined the channel
[05:23] Tim_Smart: Ubuntu has been my home for a while now.
[05:26] Arro has joined the channel
[05:27] Tim_Smart: prettyrobots: Do you use vim or emacs?
[05:27] prettyrobots: Its nice, but its really a matter of throwing off the useless goal of platform independence, cross-platform, blah, blah. That's a corporate concern, not useful for a solo/small team programmer.
[05:27] prettyrobots: ViM.
[05:28] Tim_Smart: Oh nice. Yeah vim is great.
[05:28] prettyrobots: I learned on vi back in the day and it stuck.
[05:28] ryan[WIN]: oh man
[05:28] ryan[WIN]: the use of LOL has been discouraged in #python
[05:28] prettyrobots: Modality.
[05:28] prettyrobots: ACTION Laughs out loud.
[05:29] prettyrobots: Can they still give each other ASCII roses?
[05:29] Tim_Smart: ryan[WIN]: What do they do to trolls?
[05:29] ryan[WIN]: i have no idea
[05:29] Tim_Smart: /join #python, lol, /part lol
[05:29] ryan[WIN]: but a man has to be able to lol
[05:29] ryan[WIN]: i already said lol at least thrice
[05:30] TheEmpath: any way to make node.js generate a 1024bit key? :D
[05:30] TheEmpath: ACTION will destroy your node.
[05:30] ryan[WIN]: aren't 1024bit keys insecure
[05:30] Tim_Smart: ryan[WIN]: There we go. Trolled.
[05:30] TheEmpath: against the normal hacker or the NSA?
[05:30] ryan[WIN]: lol Tim_Smart
[05:30] _announcer: Twitter: "Recent topics node.js unexpectedly and I might be good, php and js tampering thought to form a complex intertwining. Come and go without a good mental language significantly." [ja] -- エスケイ. http://twitter.com/esuk/status/27414216239
[05:31] ryan[WIN]: what the fuck is that twitter
[05:31] ryan[WIN]: automatic translation to english ftw
[05:31] prettyrobots: Sweet!
[05:31] prettyrobots: Good work _announcer !
[05:31] shaver: it's no moongift
[05:31] shaver: or chestnut millet
[05:32] TheEmpath: that's no moon
[05:32] ryan[WIN]: yeah it's automatically translated good job _announcer
[05:32] jherdman has joined the channel
[05:32] ryan[WIN]: prettyrobots, i made a virtual machine that CJK encodes its binaries but i couldn't get them small enoguh to fit on a twitter post
[05:32] prettyrobots: Python probably has too many people now.
[05:32] ryan[WIN]: but i could make a tweet right now and see what happens
[05:32] prettyrobots: And they're trying to make rules to make it tolerable.
[05:32] zum: I could personally live without automatically translated japanese tweets :)
[05:33] ryan[WIN]: i just tweet with @node.js right
[05:33] shaver: zum: I think they are pretty great
[05:33] ryan[WIN]: or just put node.js in the tweet
[05:33] prettyrobots: ACTION Likes _announcer.
[05:33] prettyrobots: ACTION And Japanese people.
[05:33] shaver: or node.randomwoowoowoo.js
[05:33] zum: for humor value, sure
[05:33] shaver: per the lymph node thing earlier
[05:33] devkorcvince has joined the channel
[05:34] ryan[WIN]: i just got a fail whale
[05:34] shaver: zum: no, also that you can sort of get the sense of enthusiasm without the words actually fitting together
[05:34] JimBastard: the whole internet is fucking
[05:34] JimBastard: chartbeat is down
[05:34] JimBastard: my couchone is down
[05:34] JimBastard: wtf
[05:34] ryan[WIN]: i applied for a jerb at chartbeat once
[05:34] Tim_Smart: ryan[WIN]: Does #python have logs?
[05:34] TheEmpath: my salt generates randomly every time i boot up my app :X
[05:34] TheEmpath: i dont even know it
[05:34] ryan[WIN]: Tim_Smart, why
[05:34] prettyrobots: JimBastard: I can get to couchone.com.
[05:35] Tim_Smart: ryan[WIN]: Curious.
[05:35] prettyrobots: And Twitter.
[05:35] JimBastard: prettyrobots: my couch is down
[05:35] Tim_Smart: ryan[WIN]: Just want to find some lol-reactions.
[05:35] _announcer: Twitter: "node.js Chouchoujinchou Kuifenggebo Luneocangzi only Puchouzhuanding Changsanfengdai Lingfuxianxian Tuojinpuchou Liangdingchaosan Shisangege Chougeyichou Qichougemu Gaijingshishang Bobochoubo Miriam ugly Renchoubomu beggar Shensi animatedcollapse Chou animatedcollapse Ba ugly Torr D Ba animatedcollapse Chou animatedcollapse Zhang beggar lack Ding Zhang animatedcollapse Ding Bo Xian Chou Sin Ba Chou Yin Ding Ba Sin Chou Xian Zhang beggar G
[05:35] _announcer: nimatedcollapse him to make 丆 Aberdeen 丆 cents animatedcollapse position with Cha Sai Lun Tsai made on behalf of the World beefy Bo Xian Xian Zhe Shi Shi is still paid from the" [zh-CN] -- Ryan Broomfield. http://twitter.com/shippyman/status/27414459468
[05:35] ryan[WIN]: hahaha
[05:35] prettyrobots: (Where jresig is a top tweet on the landing page, next to Deepak Chopra.)
[05:35] ryan[WIN]: that is amazing
[05:36] ryan[WIN]: oh i'm hurting
[05:37] ryan[WIN]: CJK-encoded data does not translate well
[05:37] ryan[WIN]: poor _announcer
[05:37] Tim_Smart: Hmm I have _announcer on /ignore
[05:37] shaver: you're really missing out
[05:37] TheEmpath: i like announcer :D he good buggies
[05:37] ryan[WIN]: hold on
[05:37] _announcer: Twitter: "node.js Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou
[05:37] _announcer: hou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou Chou" [zh-CN] -- Ryan Broomfield. http://twitter.com/shippyman/status/27414584176
[05:38] ryan[WIN]: sorry guys had to do it
[05:38] ryan[WIN]: ITS A TRAIN COMIN'
[05:38] shaver: the little _announcer who could
[05:38] TheEmpath: rofl
[05:39] ryan[WIN]: that reminds me
[05:39] ryan[WIN]: i should finish that cjk-encoded vm
[05:39] ryan[WIN]: well it works but i need to polish it and let people play with it
[05:40] sveimac has joined the channel
[05:40] prettyrobots: ryan[WIN]: So, you just enabled the Cantonese keyboard and started mashing on the keys?
[05:40] prettyrobots: ACTION Still laughing.
[05:41] prettyrobots: Tim_Smart: Did you find the Python logs?
[05:41] prettyrobots: I mean #python logs.
[05:41] Tim_Smart: prettyrobots: Nope. :(
[05:42] prettyrobots: No logs of #python they say.
[05:43] Tim_Smart: You should ask if you can rofl.
[05:46] _announcer: Twitter: "After today, I need to play with a sane API or my head will asplode. Why, hello, node.js." -- Steve Streza. http://twitter.com/SteveStreza/status/27415013031
[05:47] simme has joined the channel
[05:48] _announcer: Twitter: "Here lies @SteveStreza, whose head asploded after attempting to use node.js." -- Geoff Pado. http://twitter.com/Arclite/status/27415115177
[05:49] shaver: is lmao permitted?
[05:49] prettyrobots: Tim_Smart: I'm sure that's fine. Just as long as its not out loud.
[05:49] prettyrobots: Its the noise, you see.
[05:49] mjr_: shaver: I think lmao is only in harmony.
[05:49] mjr_: sorry
[05:50] chrisdickinson: micheil: Tim_Smart: thanks for your help on the module path issue -- here's the workaround using module.moduleCache https://gist.github.com/cec97565f87c95d47401
[05:50] micheil: heh
[05:50] micheil: no worries
[05:50] Tim_Smart: The cache has been removed from recent versions of node, chrisdickinson
[05:51] Tim_Smart: That is why I didn't suggest it :p
[05:51] chrisdickinson: ACTION 's battleship has just been sunk.
[05:51] HAITI has joined the channel
[05:55] simme has joined the channel
[06:00] _announcer: Twitter: "@ Marcus north as just a speech by the creator of node.js that it actually gave 20% better performance than Nginx." [no] -- Vilhelm K. Vardøy. http://twitter.com/vilhelmk/status/27415735962
[06:01] beawesomeinstead has joined the channel
[06:01] beawesomeinstead has joined the channel
[06:01] micheil: chrisdickinson: email the development mailing list, asking if it resolvePath can be exposed
[06:02] MaSch_ has joined the channel
[06:02] micheil: uh, findModulePaths
[06:02] chrisdickinson: micheil: will do -- thanks!
[06:02] micheil: see what ryah thinks.
[06:04] SINPacifist has joined the channel
[06:08] davidascher has joined the channel
[06:09] mikeal has joined the channel
[06:12] TheEmpath: lol @ my attempt @ GUID in node.js
[06:12] _announcer: Twitter: "@ Vilhelmk Yepp :-) But seriously, node.js can not do the things I need, so if it is faster is irrelevant." [no] -- Marcus Ramberg. http://twitter.com/nordmarcus/status/27416335047
[06:13] Tim_Smart: chrisdickinson: You are in luck http://github.com/ry/node/commit/54e844cf08cdb55b4236eb3d1d2c1d13bbd4b921
[06:13] TheEmpath: psuedo-guid using socket.io http://gist.github.com/627715
[06:14] TheEmpath: grab all the unique identifiers from the socket, put them in an array, randomize the order, stringify it, add that to a hmac, then digest it to base64
[06:14] _announcer: Twitter: "node.js screencasts http://nodecasts.org/" -- Antonio Pardo. http://twitter.com/apardo/status/27416436139
[06:15] TheEmpath: do this for each user that connects to give them their own unique signature
[06:15] TheEmpath: to prevent XSRF attacks :D
[06:16] saikat has joined the channel
[06:18] _announcer: Twitter: "What a framework of how node.js? http://tinyurl.com/2fzum7g" [ja] -- makotch. http://twitter.com/mmakotch/status/27416624690
[06:19] chrisdickinson: Tim_Smart: cool -- so I can detect if require.cache is available and use that if module is not available
[06:19] chrisdickinson: thanks very much!
[06:24] peritus- has joined the channel
[06:25] _announcer: Twitter: "Me @ sir_pepe Node.js interested in any case, so get going!)" [de] -- Marcel Koch. http://twitter.com/makochnet/status/27416932254
[06:27] MikhX has joined the channel
[06:28] _announcer: Twitter: "@ Marcus north by the way, is extremely flexible node.js (but buggy), very curious what you think it can not solve - for their own learning:)" [no] -- Vilhelm K. Vardøy. http://twitter.com/vilhelmk/status/27417087689
[06:28] sudoer has joined the channel
[06:29] mbrochh has joined the channel
[06:29] mbrochh has joined the channel
[06:31] jetienne has joined the channel
[06:32] micheil: TheEmpath: looks like the details for remote* on sockets need to be documented too.
[06:32] micheil: :/
[06:33] micheil: really gotta get this doc patch together.
[06:33] micheil: TheEmpath: what's _idleStart contain?
[06:33] TheEmpath: just a timestamp
[06:33] micheil: okay
[06:34] micheil: I think it may be todo with some libev stuff
[06:34] TheEmpath: the key variables are sec-websocket-key1 and key2
[06:34] TheEmpath: and upgradeHead
[06:35] V1 has joined the channel
[06:35] kjeldahl has joined the channel
[06:36] micheil: oh, yeah.
[06:36] micheil: being their only available on websocket connections. >_>
[06:36] TheEmpath: yeah :(
[06:36] _announcer: Twitter: "@ Vilhelmk Well, node.js is Basically an event loop in JavaScript, so it can solve everything, in the sense that there is a Turing machine." [no] -- Marcus Ramberg. http://twitter.com/nordmarcus/status/27417482865
[06:37] beawesomeinstead has joined the channel
[06:39] mikeal: ok
[06:39] mikeal: this is fucked
[06:39] mikeal: what happens when an http client request times out?
[06:39] mikeal: cause I don't see an error event
[06:40] mikeal: and node just exits
[06:40] Anti-Zzz: are you still up?
[06:40] Anti-Zzz: (say no :P)
[06:41] Anti-Zzz: off to work
[06:41] alexb_: Httpclient needs work
[06:43] derferman has joined the channel
[06:44] Nohryb has joined the channel
[06:46] micheil: mikeal: that's odd.
[06:46] micheil: mikeal: I've heard of similar issues, I might take a look myself.
[06:47] micheil: mikeal: also, node-utils/pool, why not use freelist?
[06:47] mikeal: pool leaks
[06:47] micheil: brb
[06:47] mytrile has joined the channel
[06:47] mikeal: because you can't depend on a client being free based on an event right now
[06:48] _announcer: Twitter: "watching @felixge talk about node-dirty, perhaps my favorite #nodejs library: http://jsconf.eu/2010/speaker/dirty_nosql.html" -- Jed Schmidt. http://twitter.com/jedschmidt/status/27418014938
[06:48] mikeal: and you can't depend on readyState
[06:48] benreesman_ has joined the channel
[06:48] mikeal: basically it's all broken :)
[06:49] _announcer: Twitter: "ruby-doc.org is soooo lame, they should have used PHP or node.js" -- Sleeptillseven. http://twitter.com/sleeptillseven/status/27418061345
[06:50] themiddleman has joined the channel
[06:51] langworthy has joined the channel
[06:51] micheil: mikeal: k
[06:51] micheil: I just happened to look at it
[06:52] micheil: mikeal: were you behind nodecof?
[06:52] micheil: *nodeconf
[06:52] mikeal: yeah
[06:52] mikeal: it's happenin
[06:52] micheil: k./
[06:52] mikeal: i can't really talk about it tho :)
[06:53] TheEmpath: michiel: updated http://gist.github.com/627715
[06:53] micheil: yeah, if I'm there (I'm going to try and get there)
[06:53] micheil: then I can provide tools to get high quality audio recording of it
[06:53] micheil: (I've just gotten my zoom h4n)
[06:54] mikeal: don't worry about it
[06:54] micheil: TheEmpath: the uniqueness should be enough with new date(), remoteAddress remotePort
[06:54] Tim_Smart: If I'm there, I would be surprised, because I live in New Zealand.
[06:54] mikeal: we have that part covered
[06:54] micheil: mikeal: okay
[06:54] TheEmpath: im paranoid :D
[06:54] micheil: ACTION will be bringing his mic at any rate.
[06:55] micheil: Tim_Smart: hey, I'm in australia, so, yeah.
[06:55] Tim_Smart: micheil: Heh. Pick me up on the way.
[06:55] micheil: can't, sorry bro.
[06:55] Tim_Smart: :(
[06:57] JimBastard: function randomString(bits){var chars,rand,i,ret chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' ret='' // in v8, Math.random() yields 32 pseudo-random bits (in spidermonkey it gives 53) while(bits > 0){ rand=Math.floor(Math.random()*0x100000000) // 32-bit integer // base 64 means 6 bits per character, so we use the top 30 bits from rand to give 30/6=5 characters. for(i=26; i>0 && bit
[06:58] Tim_Smart: Flights are $1600-ish return to SF
[06:59] Anti-X has joined the channel
[06:59] _announcer: Twitter: "@ Marcus north not to defend node.js or something: just do not understand the need scaling." [no] -- Vilhelm K. Vardøy. http://twitter.com/vilhelmk/status/27418523985
[06:59] _announcer: Twitter: "@ Vilhelmk http://gist.github.com/627738 - it's Nginx config for nordaaker.com and nordaaker.no - How would you set it up in node.js?" [no] -- Marcus Ramberg. http://twitter.com/nordmarcus/status/27418532318
[06:59] matjas has joined the channel
[07:01] TheEmpath: [09/15/2010 09:01:02.355am] Preventing potential XSRF attack! Go Captian America!
[07:01] TheEmpath: yesssss
[07:02] virtuo has joined the channel
[07:06] _announcer: Twitter: "Mooooolaaa the event loop! Au revoir to the threads! http://nodejs.org/strange-loops.pdf" [es] -- Daniel Soriano Gil. http://twitter.com/sirdsoriano/status/27418862573
[07:06] tobeytailor has joined the channel
[07:07] mif86 has joined the channel
[07:08] mAritz1 has joined the channel
[07:08] ivanfi has joined the channel
[07:09] jansc has joined the channel
[07:18] onar has joined the channel
[07:19] drudge has joined the channel
[07:19] aubergine_ has joined the channel
[07:19] JimBastard has joined the channel
[07:20] svnlto has joined the channel
[07:20] simme has joined the channel
[07:21] qFox has joined the channel
[07:21] breccan has joined the channel
[07:24] TomsB has joined the channel
[07:25] JimBastard: disregard sleep, acquire node modules.
[07:27] fbits has joined the channel
[07:27] _announcer: Twitter: "@kriszyp, awesome presentation on end-to-end JavaScript and NodeJS http://kzyp.dojotoolkit.org/presly/end-to-end.html" -- Jose. http://twitter.com/joseanpg/status/27419821168
[07:29] cloudhead has joined the channel
[07:30] mattcodes has joined the channel
[07:30] mattcodes: is there a more up-to-date httpclient than restler or node-httpclient both send no changes committed for a few months which is strange given how infant the projects are?
[07:31] _announcer: Twitter: "Internet Explore distractions. Currently node.js chrome 5 / safari 5 / firefox 4 beta2 only .... Note Note φ (. _. http://atsuya.posterous.com/27514820" [ja] -- yoshitaka fujisawa. http://twitter.com/yoshifuji_tokyo/status/27419987505
[07:33] digitalspaghetti: var caffine = require('coffee').caffine
[07:36] jesusabdullah: coffee.make.pour(new Cup()).drink(function(energy) {energy.work()}).end()
[07:36] jsilver_ has joined the channel
[07:39] JimBastard: mattcodes: yes
[07:40] JimBastard: mattcodes: the request module
[07:40] JimBastard: mattcodes: http://github.com/mikeal/node-utils/tree/master/request/ boom
[07:40] JimBastard: npm install request
[07:40] mattcodes: neato.. thanks for very much
[07:41] JimBastard: mattcodes: we use it all over the place for building api wrappers
[07:41] ezmobius has joined the channel
[07:42] mattcodes: coming from a .net background where we used git and a much best practices as possible, does it make sense to put all dependencies under local/project level ./lib, using npm seems like Global Assembly Cache or user assembly cache depending on how you use it, seems destined for "It works on my machine". Is there a reason node/npm break away from the philiosophy that once you get from source control it should be able to run
[07:42] JimBastard: mattcodes: say again?
[07:42] mattcodes: say you build a blog and use request module
[07:42] JimBastard: it depends how you want to structure your work flow
[07:43] mattcodes: i download your blog from github
[07:43] mattcodes: fails..
[07:43] JimBastard: rtfm!
[07:43] mattcodes: since i need to go and collect the dependenices
[07:43] JimBastard: git submodule update --init --recursive
[07:43] JimBastard: or npm install foo
[07:43] JimBastard: or use a bash script
[07:43] JimBastard: depends how its setup
[07:43] admc_ has joined the channel
[07:43] admc has joined the channel
[07:43] mattcodes: yes I see there a multiple options
[07:43] JimBastard: no standard is enforced
[07:44] meso has joined the channel
[07:44] JimBastard: package.json format is somewhat enforced
[07:44] _announcer: Twitter: "Technologies used for my #RubyConf demo: PS3controller, C, Obj-C, MacRuby, WebKit, HTML, CSS, JS, SVG. Thinking about adding node.js :p" -- Matt Aimonetti. http://twitter.com/merbist/status/27420580422
[07:44] maqr has joined the channel
[07:44] mattcodes: and Im not critizing. i just wonder if follow my previous .net practices convert to node. I'll keep my dependenices at project level and just stick my local lib as first destiination on the require.paths. is this problematic or any shortfall in this approach?
[07:45] _announcer: Twitter: "Hey @ kuwabarahiroshi indeed. And I'm touched Erlang node.js touches as well. Hey really expected. http://bit.ly/cYLJHI" [ja] -- 坂上 真大. http://twitter.com/madai0517/status/27420620093
[07:45] JimBastard: well, if your deps are git repos, you want to preserve the upgrade path
[07:45] JimBastard: since node is somewhat fast moving, your deps might update a bunch
[07:45] JimBastard: the "fake" submodule approach isnt bad
[07:45] JimBastard: http://debuggable.com/posts/git-fake-submodules:4b563ee4-f3cc-4061-967e-0e48cbdd56cb
[07:46] JimBastard: for our production stuff, we vendor everything and lock the version down for the most part
[07:46] JimBastard: some pieces are still in npm
[07:46] _announcer: Twitter: "Why would I want to use #node.js? (where's the beef?) http://nodejs.org/strange-loops.pdf" -- Vesa. http://twitter.com/vvilhonen/status/27420697853
[07:47] delapouite has joined the channel
[07:47] zomgbie has joined the channel
[07:53] _announcer: Twitter: "@penberg "Java NIO API is too tricky for its own good." There are refreshingly less bloated ways to do the same thing in #node.js" -- Vesa. http://twitter.com/vvilhonen/status/27421015085
[07:55] HAITI has joined the channel
[07:55] HAITI has joined the channel
[07:57] HAITI has joined the channel
[07:57] HAITI has joined the channel
[07:58] mattcodes: JimBastard, what are you using for serializing an object for POST body. e.g. a=1&b=2
[07:59] JimBastard: mattcodes: prob the query string module
[07:59] HAITI has joined the channel
[07:59] JimBastard: mattcodes: line 31 ish
[07:59] JimBastard: http://gist.github.com/618971
[08:00] JimBastard: var posted = querystring.parse(request.body);
[08:02] Druid_ has joined the channel
[08:02] mattcodes: perfect and built in too.
[08:02] mattcodes: thanks
[08:02] ooooPsss has joined the channel
[08:02] hoodoos has joined the channel
[08:04] hoodoos: guys! i'm tired of NETBEANS(it just ate 1GB of ram)! what IDE do you use? I would love to get somehting like nodepad but with code highlighting, code competion(optional, it never worked in netbeans) and super lightweight, but not console(i know here's vim) :)
[08:04] Tim_Smart: hoodoos: vim :p
[08:04] hoodoos: and tabs! tabs! and would be great to have file tree on the left
[08:04] _announcer: Twitter: "space tweet – God tweet vs Bad tweet: space-tweet is a freeware by Node.js/JavaScript（source code is open to the p... http://bit.ly/92IQH8" -- Open Alexandria. http://twitter.com/openalexandria/status/27421485500
[08:04] Tim_Smart: vim has all those hehe.
[08:04] hoodoos: Tim_Smart, and file tree?
[08:04] Tim_Smart: Sure. I think there is a good plugin for that.
[08:05] hoodoos: Tim_Smart, I guess it must be propertly tuned to work well, right?
[08:05] Tim_Smart: hoodoos: More like you have to be properly tuned.
[08:05] mattcodes: vimtutor
[08:05] mattcodes: forget peepcode etc..
[08:05] mattcodes: already installed you'll find
[08:06] hoodoos: you all guys are on vim?
[08:06] mattcodes: started 4 days ago
[08:06] hoodoos: like it?
[08:06] Tim_Smart: The learning curve is somewhat known to be steep.
[08:06] Tim_Smart: I takes a few months to be comfortable with it.
[08:06] Tim_Smart: And even then, you are always learning new stuff about it.
[08:06] hoodoos: Tim_Smart, incredible :)
[08:06] mattcodes: Visual studio before that. The learning curve is very steep, and Im not as productive as VS/Resharper yet, but each day Im getting better, I say a few weeks to overtake your prime editor, a week to get to level you can write code comfortably
[08:07] Tim_Smart: Otherwise emacs and js2 mode are known to be quite good.
[08:07] hoodoos: maybe there's something like conf for comfortable node.js development?
[08:08] benburkert has joined the channel
[08:08] mattcodes: node is just javascript. there is cloud9 which you can google but its more .. clunky
[08:08] mattcodes: ...just a javascript framework ..
[08:08] hoodoos: mattcodes, yeah, it's quite alpha :)
[08:08] hoodoos: emacs is console too i belive?
[08:09] mattcodes: i believe so
[08:10] DoNaLd`: hi .. is it possible replace this out of date artcile http://howtonode.org/express-mongodb .. with this actual article http://eberfreitas.virb.com/blog/text/12619617 ?
[08:10] sideshowcoder has joined the channel
[08:10] DoNaLd`: on howtonode.org site
[08:11] JimBastard: textmate is cool
[08:11] mattcodes: if you got a mac
[08:11] JimBastard: disregard ides, write vows
[08:11] hoodoos: JimBastard, no mac
[08:11] JimBastard: dreamweaver is good
[08:11] micheil: DoNaLd`: if you have written an article, format it for howtonode.org and send us a pull request
[08:11] hoodoos: JimBastard, i'm on ununtu :)
[08:11] Tim_Smart: JimBastard: Dreamweaver is a mess.
[08:12] JimBastard: the new one precompiles javascript objects for you, so you get "intellisense"
[08:12] JimBastard: Tim_Smart: stfu noob
[08:12] micheil: ACTION never could get vows to work
[08:12] JimBastard: ;-)
[08:12] Tim_Smart: :p
[08:12] hoodoos: bastards..
[08:12] micheil: JimBastard: wanna fork nws and write the tests for me?
[08:12] JimBastard: nws?
[08:12] micheil: node-websocket-server
[08:12] JimBastard: fuck, i wish man
[08:12] JimBastard: im under a lot of pressure to get this shit launched i dont really have the bandwidth
[08:13] micheil: no worries, I was half joking. :P
[08:13] mattcodes: vows?
[08:13] AAA_awright: micheil: You have to carefully read the documentation but Vows is amazing
[08:13] JimBastard: www.vowsjs.org
[08:13] micheil: it's a testing framework
[08:13] mattcodes: ah the descrupive unit test framework
[08:13] AAA_awright: *http://www.vowsjs.org
[08:13] mattcodes: descriptive
[08:13] jpld: if i am doing some ejs templating in an express app and i have a object in my app, is there any way to push it into the rendered page's script context?
[08:13] micheil: ACTION just had heaps of errors with it
[08:13] JimBastard: also, http://github.com/nodejitsu/kyuri
[08:13] jpld: or must one use AJAX instead for stuff like this
[08:13] mattcodes: if coming from junit/nunit try nodeunit
[08:13] micheil: I wish someone like mozilla would request for .js to be a valid tld
[08:13] mattcodes: locals
[08:14] mattcodes: jpld .redener('page1.jps', locals: { greeting: 'hi matt ' });
[08:14] mattcodes: redener --> res.render
[08:14] micheil: hmm.. can't wait until tomorrow morning.
[08:14] mattcodes: jsp --> ejs
[08:14] JimBastard: ACTION cries
[08:14] jpld: mattcodes: right, but how does an object work in a script block?
[08:14] mattcodes: coffee in keyboard
[08:15] jpld: its not like you can var obj =
[08:15] mattcodes: its not a script block, its an object literal
[08:15] hoodoos: there's emacs for X
[08:15] mattcodes: yes with that you can
[08:15] jpld: mattcodes: hmm, say it is a hash and i want to then do a bunch of further js process on it browser side?
[08:16] qFox has joined the channel
[08:16] jpld: i have loc {lat:123, lon:456} in my express app, i just don't get how to pass it to my rendered page so that a script block from within the rendered page can do a bunch of work on it
[08:16] mattcodes: then output it as var objToDoStuffClientSide = JSON.stringify(myObject}
[08:16] jpld: if i wanted to dump lat or lon into an element that would be fine
[08:16] V1: Tim_Smart: Are you even using CS5 or do you remember Dreamweaver from the stone age? :p
[08:17] jpld: yea i tried that too…
[08:17] mattcodes: but better to output it in some semantic html
[08:17] mattcodes: and pick it up client side
[08:17] Tim_Smart: V1: I have tried CS3/4 breifly, not cs5
[08:17] mattcodes: e.g. var loc = { lat: $('#ycords').val(), lon: $('#xcords').val() }
[08:17] jpld: mattcodes: still, in your script block what would that be
[08:17] V1: Tim_Smart: Because it got updated with amazing JavaScript support
[08:18] jpld: mattcodes: that is an option, but dumping it in the DOM to just query for processing in JS seems silly
[08:18] _announcer: Twitter: "#nodejs: when i require a file resolving to a "local" and an npm match, npm seems to win #dependencyhell" -- Michael Siebert. http://twitter.com/siebertm/status/27422137465
[08:19] mattcodes: parse --> stringify. depend on your view engine you might need some escaping
[08:19] aubergine has joined the channel
[08:19] jpld: yeah i got a bunch of &quote; stuck in there
[08:19] jpld: lemme see if i can fix that and if it works
[08:19] jpld: maybe this is more a use case for xmlhttprequest anyways, i dunno
[08:20] mattcodes: that just some ideas, there are probably better ways to approach it
[08:20] jpld: it is sticky enough that i suspect it probably isn't a good idea to try
[08:21] drostie has joined the channel
[08:21] _frankie has joined the channel
[08:21] JimBastard: !tweet @siebertm try the "npm link" command, that might help.
[08:21] jpld: yeah this is kinda funny, looking at the source: var l = [object Object];
[08:22] JimBastard: sweet, _frankie is back
[08:22] JimBastard: http://twitter.com/nodejsbot
[08:22] ooooPsss has joined the channel
[08:22] JimBastard: i forgot he was down
[08:23] JimBastard: !tweet Disregard sleep, acquire #node.js modules.
[08:24] jpld: mattcodes: after reading the ejs doc, i found an answer: Unescaped buffering with
[08:24] jpld: thanks for your patience (0:
[08:24] mattcodes: cool
[08:27] hassox has joined the channel
[08:28] _announcer: Twitter: "Got some great feedback on http://speedo.no.de after my #node.js presentation at #hotels.nl" -- Arnout Kazemier. http://twitter.com/3rdEden/status/27422555015
[08:29] _announcer: Twitter: "We are definitely going to dig deeper doing more benchmarks to see how #node.js will fit in our current stack." -- Arnout Kazemier. http://twitter.com/3rdEden/status/27422597955
[08:30] _announcer: Twitter: "http://blog.nodejitsu.com/create-nodejs-web-services-in-one-line" -- nanhapark. http://twitter.com/nanhapark/status/27422648769
[08:30] ph^ has joined the channel
[08:32] ntelford has joined the channel
[08:32] SubStack: heh similarly
[08:33] SubStack: require('dnode')(fs).listen(8080)
[08:33] SubStack: :p
[08:35] JimBastard: woah, you can use jquery with nodejs?
[08:35] SubStack: yep
[08:35] JimBastard: thats crazy talk
[08:36] JimBastard: tmpvar needs to get that fault tolerant xml parser in there
[08:36] SubStack: pfft, just do this:
[08:36] SubStack: (in the browser)
[08:36] mbrochh has joined the channel
[08:36] mbrochh has joined the channel
[08:36] SubStack: DNode($).connect()
[08:37] SubStack: oh actually
[08:37] SubStack: DNode({ $ : $ }).connect()
[08:37] JimBastard: not having neighbors is awesome, im bumping regulators at full blast
[08:37] JimBastard: SubStack: but then you'd need a browser session right?
[08:37] _announcer: Twitter: "finally having a play with node js for server side javascript. some simple integration with couchdb, all pretty easy so far" -- Gareth Jones. http://twitter.com/garethj/status/27422989601
[08:37] SubStack: yeah but you can call the client's jquery shit from the server-side
[08:37] SubStack: it's the awesome
[08:38] SubStack: if high-latency
[08:38] JimBastard: yeah but you still need a real browser
[08:38] aubergine_ has joined the channel
[08:38] JimBastard: defeats most of the purpose
[08:38] JimBastard: but would be awesome for other things
[08:38] JimBastard: like UIs and templating
[08:38] JimBastard: write a thin templating wrapper like nodestream
[08:39] lsmith has joined the channel
[08:39] lsmith: aloha
[08:40] lsmith: just wondering how many socket connections can i reasonably expect to be able to run on a single server (a few cores, lets say 16gb ram etc)
[08:40] SubStack: thousands
[08:40] lsmith: also are there any address space limitations that i need to be aware of that are relevant here ..
[08:41] lsmith: ok .. but not 10 thousands?
[08:41] vilhonen: probably 54k
[08:41] vilhonen: 64k
[08:41] lsmith: vilhonen: did anyone ever reach those 64k socket connections?
[08:41] SubStack: try it and see
[08:41] vilhonen: no, just pulling this stuff out of my hat as I like node.js so much
[08:41] SubStack: trying in the repl
[08:42] Tim_Smart: Plurk.com uses node.js for comet.
[08:42] lsmith: vilhonen: just asking .. thousands is still far away from 64k ..
[08:42] lgl has joined the channel
[08:43] lsmith: so if i want to be able to have 100k connections .. i need a couple of servers
[08:43] vilhonen: lsmith: sorry but I was serious, although I would be very interested to hear the truth
[08:43] lgl: Hi, I'm building an app with Connect and I wonder if there's a common way of doing i18n in Connect or Node in general?
[08:43] Nohryb has joined the channel
[08:43] caolanm has joined the channel
[08:43] lsmith: vilhonen: there is some limitation in the TCP protocol for a single server .. right? and i think its 64k
[08:43] vilhonen: that's right
[08:44] Tim_Smart: lsmith: Plurk.com servers 100k concurrent clients with one box, 12GB RAM and 8 cores with 8 node processes.
[08:44] Tim_Smart: Or something like that.
[08:44] vilhonen: you can only have 64k tcp sockets open at a time
[08:45] rnewson has joined the channel
[08:45] lsmith: maybe they have some magic they do .. ?
[08:45] vilhonen: with udp the limit is the same but you can server multiple clients from one socket
[08:45] lsmith: ah .. maybe thats what they do
[08:45] JimBastard: lgl: http://github.com/marak/translate.js/ is a start, but not really
[08:45] SubStack: ok
[08:46] SubStack: Error: EMFILE, Too many open files
[08:46] lgl: JimBastard: Thanks, I'll take a look
[08:46] SubStack: at 15724
[08:46] SubStack: connections
[08:46] lsmith: i guess in many scenarios where you bother with socket connections .. udp is just fine ..
[08:46] lsmith: if it doesnt make it .. not worth it to send it again
[08:46] V1: SubStack: ulmit?
[08:46] SubStack: var c = 0; net.createServer(function (stream) { stream.on('connect', function () { c ++; console.log(c) }); stream.on('end', function () { c --; console.log(c) }) }).listen(4040)
[08:46] SubStack: V1: could be
[08:46] lgl: This gist is also a beginning but not really: http://gist.github.com/578342
[08:46] Anti-X: speaking of udp.. there's no way that IP packets over localhost would ever disappear, is there?
[08:47] lsmith: thx .. this gives me some pointers
[08:47] vilhonen: Anti-X: you can drop the with firewall as any other packets
[08:47] svnlto has joined the channel
[08:47] vilhonen: *the packets*
[08:47] Anti-X: what does that mean in an english sentence?
[08:47] Tim_Smart: vilhonen: You can bump up the limit pretty simply.
[08:47] Anti-X: yeah
[08:47] Anti-X: you accidentally something
[08:47] lsmith: Tim_Smart: how?
[08:47] SubStack: lsmith: also that 15724 is for the same system connecting and listening
[08:47] lsmith: does this require kernel patching?
[08:47] SubStack: your mileage may vary
[08:48] Tim_Smart: lsmith: By setting file-max
[08:48] Tim_Smart: Most systems: /proc/sys/fs/file-max
[08:48] vilhonen: if tcp protocol gives you field of certain size to address the port how you can define the port in the packet then?
[08:49] vilhonen: my point is that you can't go over 64k by configuring kernel
[08:49] SubStack: vilhonen: not servers, connections
[08:49] _announcer: Twitter: "Brief summary (but note Prezi drunk.) "Introduction to node.js" http://bit.ly/9qoWsx" [ja] -- Takuma SHIRAISHI. http://twitter.com/ts7i/status/27423535963
[08:49] vilhonen: SubStack: you mean that more than 64k concurrent tcp connections could be open?
[08:50] SubStack: vilhonen: one server can have multiple connections is what i mean
[08:50] ooooPsss: Tim_Smart: where do you have that 100k concurrent user machine hosted?
[08:50] SubStack: has nothing to do with ports
[08:50] Tim_Smart: ooooPsss: I didn't say my machine, plurk.com
[08:50] ooooPsss: yes, where are they hosted? EC2?
[08:51] SubStack: http://amix.dk/blog/post/19490 about plurk's comet thing
[08:51] V1: I doubt pluk uses EC2.. They probably have there own server farm
[08:51] vilhonen: SubStack: you're correct, I have to read more about tcp
[08:52] SubStack: vilhonen: no you don't
[08:52] SubStack: when you .listen() you can have multiple concurrent connections is all
[08:53] vilhonen: ah but when you accept it allocated a socket?
[08:53] vilhonen: allocates
[08:54] SubStack: oh I see what you mean
[08:54] SubStack: on the *client* side sure
[08:54] SubStack: but those are remote usually
[08:55] mattcodes: req.query capture post values on expressjs too? or is that req.params?
[08:55] vilhonen: hmm how does the server side work then?
[08:56] V1: Oh btw this the amix post about the 64k concurrent users; http://amix.dk/blog/post/19456 -- see comments
[08:57] skohorn_ has joined the channel
[08:58] _announcer: Twitter: "Hakkason next Wednesday for the VAIO X still has the task of node.js environment." [ja] -- Takuma SHIRAISHI. http://twitter.com/ts7i/status/27423915748
[08:59] vilhonen: okay, so you can serve arbitrary number of clients from one machine with one tcp server socket if you set the file-max high enough
[08:59] vilhonen: but you need one machine for every 65k connections you want to try to connect to this server
[09:00] vilhonen: does this seem correct?
[09:00] AAA_awright_ has joined the channel
[09:01] mattcodes: sweet, first steps on the way with janrain engage, posting back in okay. I know its already done in a module, but rather try myself and compare. loving it so far. :)
[09:01] vilhonen: SubStack: what do you think?
[09:02] SubStack: sure
[09:03] skohorn_ has joined the channel
[09:03] lsmith: SubStack: so in other words on the server you dont really have to worry about address space issues
[09:03] derferman has joined the channel
[09:03] lsmith: all you need to worry about is having the hardware keep up with the demand for resources
[09:03] SubStack: seemingly
[09:03] lsmith: goody
[09:04] Tim_Smart: lsmith: Also read the "Tuning the Linux Kernel..." bit here http://www.metabrew.com/article/a-million-user-comet-application-with-mochiweb-part-1/
[09:04] aubergine has joined the channel
[09:04] vilhonen: btw, how does the server know which connection it's handling when a packet comes in to the "shared port"
[09:05] vilhonen: by the sender ip/port combination?
[09:05] Tim_Smart: Each connection opens a net TCP socket.
[09:05] Tim_Smart: *new
[09:05] hassox has joined the channel
[09:06] Tim_Smart: Which corresponds to a new fd.
[09:06] vilhonen: how does the system know which is the correct socket when a new packet comes in from the same connection?
[09:06] Tim_Smart: You don't share connections, you share a port.
[09:07] _announcer: Twitter: "Now that 熱Irashii node.js, but another may not like JS is it?" [ja] -- shizu. http://twitter.com/sntulix/status/27424350961
[09:07] rwaldron_ has joined the channel
[09:07] vilhonen: Tim_Smart: yeah but, when a tcp packet is received on the shared port how does it know in which connection it belongs
[09:08] ooooPsss: how does node.js compares to erlang in terms of speed and concurrent users?
[09:08] Tim_Smart: Probably something in the TCP headers, but I'm not entirely certain.
[09:09] overra has joined the channel
[09:09] vilhonen: Tim_Smart: so you think there would be connection identifier in addition to the port?
[09:09] Tim_Smart: vilhonen: Yes. See: http://freesoft.org/CIE/Course/Section4/8.htm
[09:09] vilhonen: I don't see any field that could be used for that
[09:10] TomY_ has joined the channel
[09:10] vilhonen: I guess it just knows by looking at which ip and port the packet is coming from
[09:10] Tim_Smart: vilhonen: That can't be the case, as you can't make concurrent connections to the same destination address.
[09:10] Tim_Smart: *can make
[09:11] rwaldron__ has joined the channel
[09:11] vilhonen: Tim_Smart: why not?
[09:13] Tim_Smart: vilhonen: Ah ok. The client sets the SYN flag to id multiple connections.
[09:14] Anti-X: ooooPsss, erlang is way faster, as long as you don't start manipulating data
[09:14] JimBastard: hey bob
[09:15] vilhonen: I don't think there are any other identifiers as the ips and ports
[09:15] vilhonen: http://stackoverflow.com/questions/2332741/what-is-the-theoretical-maximum-number-of-open-tcp-connections-that-a-modern-linu this clarifies a lot for me
[09:15] Anti-X: ooooPsss, but concurrency.. that depends on what your app should do...
[09:16] vilhonen: so the server side doesn't actually allocate a socket in sense that it reservers one port number but rather allocates a file descriptor on which there are no theoretical limits on the amount
[09:17] maushu has joined the channel
[09:17] Tim_Smart: vilhonen: It allocations a file descriptor per connection, so the server is limited by a) the fd limit and b) system resources.
[09:17] Tim_Smart: *allocates
[09:18] vilhonen: yeah that's right
[09:18] vilhonen: previously I thought it allocates a socket which involves allocating a port also
[09:18] ooooPsss: ok Anti-X ty
[09:18] Tim_Smart: But it seems, that a client can only create 65k connections to the same destination.
[09:18] Tim_Smart: vilhonen: That would mean only one person could be connected to port 80 at one time ;)
[09:19] vilhonen: many docs of socket apis talk about creating a tcp socket when using accept() and as I have understood it involves allocating a port also
[09:19] Anti-X: ooooPsss, remember that even preparing a JSON string qualifies as 'manipulating data'
[09:19] aliem has joined the channel
[09:20] vilhonen: Tim_Smart: there really can be only person connecting to a socket at a time but there's a queue for connectors
[09:22] _announcer: Twitter: "wonder whats with all the #node.js forgery by @simplegeo :)" -- Christian Kirkegaard. http://twitter.com/ranza/status/27425052178
[09:23] cefn has joined the channel
[09:23] cefn has left the channel
[09:25] Anti-X: i didn't know it was people who connected to sockets
[09:25] andrewfff has joined the channel
[09:25] JimBastard: cloudhead: you alive?
[09:25] caolanm: in some circumstances I want to proxy a request directly to couchdb and return its response, is there a nice lightweight way of doing that? ideally it would be done in node, but I suppose I could use nginx or something instead
[09:26] JimBastard: can you do OR queries in resourcer?
[09:26] JimBastard: caolanm: http-proxy?
[09:26] caolanm: just wondering if there are any good proxy modules people know of
[09:26] caolanm: JimBastard: sounds like what I want
[09:26] caolanm: ta
[09:26] JimBastard: http://github.com/nodejitsu/node-http-proxy
[09:26] caolanm: sorry, englishism.... 'thanks'
[09:26] caolanm: ;)
[09:26] _announcer: Twitter: "@garethj been meaning to tinker with node.js myself... would be interested to see what you've done when you've got something working" -- Dale Lane. http://twitter.com/dalelane/status/27425255186
[09:28] caolanm: JimBastard: that's exactly what I'm looking for
[09:28] mattcodes has joined the channel
[09:28] caolanm: :D
[09:28] _announcer: Twitter: "Node.js Knockout http://knockout.no.de/ Source codes of some entries: http://github.com/nko/" -- Kelvin. http://twitter.com/kelvw/status/27425346722
[09:29] JimBastard: caolanm: woot, let me know if you have any issues
[09:29] JimBastard: i know the guys who own nodejitsu
[09:29] caolanm: JimBastard: I thought you were behind it tbh
[09:30] _announcer: Twitter: "Yes! I've compiled Javascript/node.js bundle on Cygwin, works." -- theOnlyBoy. http://twitter.com/theOnlyBoy/status/27425416868
[09:30] JimBastard: caolanm: lol i am
[09:30] JimBastard: :-D
[09:31] JimBastard: you can also manually proxy requests with the request module, but you prob want the full proxy
[09:33] benburkert has joined the channel
[09:35] cloudhead: JimBastard: yo
[09:35] cloudhead: popping totally randomly
[09:37] _announcer: Twitter: "SPORE for node.js http://github.com/francois2metz/node-spore \o/" -- franck cuny. http://twitter.com/franckcuny/status/27425778868
[09:40] markwubben has joined the channel
[09:41] JimBastard: var self = this; fuuuuuu
[09:42] JimBastard: breakfest time
[09:45] ooooPsss has joined the channel
[09:46] kjeldahl has joined the channel
[09:47] mattcodes has joined the channel
[09:48] _announcer: Twitter: "@mconventi It will be one of the three tech cores of #lelylan, together with #ruby and #nodejs. In november I'll start playing :)" -- andreareginato. http://twitter.com/andreareginato/status/27426310544
[09:48] andrewfff has joined the channel
[09:51] digitalspaghetti: where's the PDF from ry's talk where he says what's wrong with nodejs?
[09:51] digitalspaghetti: i.e. what needs fixed
[09:54] JimBastard: cloudhead: im just hard coding around it
[09:54] JimBastard: resourcer is missing way too many features, im forced to write bad code
[09:54] JimBastard: or i dont know the api well enough, prob both
[09:54] JimBastard: im working around it
[09:55] path[l] has joined the channel
[09:56] abienz has joined the channel
[09:58] abienz: hi, I'm trying to install npm, which requires node 0.2.0, but the latest from the node git repo is v0.1.98-31 Where can I get 0.2.0 from?
[09:58] JimBastard: lol
[09:58] digitalspaghetti: git clone http://github.com/ry/node.git
[09:58] digitalspaghetti: git checkout 'v0.2.3'
[09:59] abienz: ah I see, thanks digitalspaghetti
[10:01] antono has joined the channel
[10:02] aubergine has joined the channel
[10:07] _announcer: Twitter: "nude.js node.js had thought all the way! I was relieved but I also like." [ja] -- Shirudate-San. http://twitter.com/saltimbanco/status/27427246964
[10:08] chapel: so I am trying to work with an api that has a limit, in this case its 300 requests a second, what would be the best way to make sure when requesting against it, I never went over that limit?
[10:09] ooooPsss has joined the channel
[10:09] _announcer: Twitter: "@felixge: a late comment to your great rug-b node.js presentation: I think a node.js intro should introduce the EventEmitter module, too." -- radiospiel. http://twitter.com/radiospiel/status/27427327123
[10:13] Ori_P has joined the channel
[10:16] abienz: digitalspaghetti: I've checkout v0.2.3 and tried reinstalling, but node -v still shows v0.1.98
[10:16] hoodoos: ACTION needs a vim yoda..
[10:16] abienz: how can I update the version?
[10:17] digitalspaghetti: well 0.2.3 is the current 'stable' version, if you want the latest
[10:17] digitalspaghetti: git checkout master
[10:17] abienz: yes master is what I had originally from github
[10:17] abienz: same version v0.1.98
[10:17] abienz: although the ChangeLog file shows 0.2.0 as the latest change
[10:21] abienz: I literally installed nodejs again today
[10:21] abienz: I have the latest from master
[10:21] abienz: node -v shows v0.1.98
[10:21] abienz: I need v0.2.0
[10:21] abienz: please help
[10:21] _announcer: Twitter: "SPORE on node released early. Fine example of RDD http://bit.ly/c8KtYl francois2metz needs to sleep more. #nodejs. I Love working @af83" -- Ori A Pekelman. http://twitter.com/OriPekelman/status/27427962337
[10:22] hellp has joined the channel
[10:22] _announcer: Twitter: "Node.js rapid development: Nodemon http://bit.ly/cpT7Cx #JavaScript #Node.js" -- Lamp Tag. http://twitter.com/lamptag/status/27428007068
[10:22] MikhX has joined the channel
[10:22] ctp has joined the channel
[10:24] ajsie: JimBastard: i have a question regarding nodejitsu. will you offer online console?
[10:24] ajsie: JimBastard: right now im evaluating a lot of VPS providers
[10:25] JimBastard: ajsie: there will be a web interface
[10:25] JimBastard: with nice ux
[10:25] ajsie: okay .. not java i hope?
[10:25] JimBastard: huh
[10:26] JimBastard: all javascript, the whole stack
[10:26] ajsie: there are OS webshells out there .. some are using java, some html+css+javascript
[10:26] JimBastard: for most things you wont need console access anyway
[10:26] JimBastard: there is a web ui for most stuff
[10:26] JimBastard: console isnt very friendly
[10:27] ajsie: shellinabox is the greatest of them all
[10:27] ajsie: okay
[10:27] JimBastard: stackvm
[10:27] ajsie: because you will always install some packages manually
[10:27] ajsie: apt-get packages
[10:27] ajsie: or do you provide installation from the web UI?
[10:27] abienz: how do I uninstall nodejs?
[10:27] SamuraiJack has joined the channel
[10:28] vilhonen: abienz: make uninstall
[10:28] vilhonen: you need to have same privileges as you had while installing
[10:28] abienz: vilhonen: What if I have already removed the directory?
[10:29] JimBastard: ajsie: what do you need to install on the OS?
[10:29] JimBastard: why do you have to apt-get?
[10:29] vilhonen: abienz: you can download it again and run ./configure with similar settings and then you can run make uninstall again
[10:29] ajsie: JimBastard: i really don't want to
[10:29] JimBastard: ajsie: what do you need to?
[10:29] abienz: vilhonen: thanks
[10:29] ajsie: let me thing about that
[10:29] ajsie: think
[10:30] unomi: Hi, is Marjin here?
[10:30] ajsie: maybe i just need mysql and you dont provided that out of the box
[10:30] _announcer: Twitter: "@danhilton nodejs is pretty interesting, other than that become a canvas god perhaps?" -- Andy Davies. http://twitter.com/andydavies/status/27428400775
[10:30] JimBastard: ajsie: database layer goes on a different cloud
[10:30] ajsie: or someone releases a cool driver for that i have to install
[10:30] JimBastard: ajsie: you'd point your node app to our mysql cluster
[10:30] ajsie: i c
[10:30] ajsie: neat
[10:30] JimBastard: you wouldnt be installing mysql
[10:31] ajsie: that is hell of a difference from linode, slicehost etc
[10:31] JimBastard: we've been thinking about this for a while
[10:31] ajsie: more like webbynode you may say?
[10:31] chapel: hmm
[10:31] JimBastard: more like heroku
[10:31] JimBastard: but for node
[10:31] chapel: anyone have any experience with YQL?
[10:31] ajsie: okay
[10:31] ajsie: cool
[10:31] JimBastard: and with other things which will blow your fucking mind
[10:31] ajsie: can't wait
[10:31] JimBastard: top secret
[10:31] maushu: Consoles?
[10:31] maushu: In my web application?
[10:31] JimBastard: ive been polishing the UX like crazy for the past month
[10:31] maushu: NEVER.
[10:31] ajsie: isn't there beta accounts? for testing?
[10:31] ajsie: i could give you feedback!
[10:32] JimBastard: ajsie: yeah, we've been running a bunch of sites
[10:32] JimBastard: we are going to open up the beta nov 1
[10:32] JimBastard: and let anyone sign up
[10:32] ajsie: okay
[10:32] JimBastard: there are some security issues with the current broodmother
[10:32] JimBastard: which are resolved in the new version
[10:32] ajsie: okay
[10:32] antono has joined the channel
[10:32] JimBastard: we'll have to cap the amount of free accounts, but there should be enough for anyone who is awesome
[10:33] JimBastard: *being in this room is a qualifier
[10:33] JimBastard: so we'll give away the hosting for a few months, then once we are ready we'll start to work with the beta testers for pricing
[10:33] maushu: JimBastard: I decided to not offer freemium at first.
[10:33] JimBastard: maushu: good luck with that
[10:33] JimBastard: im not comfortable asking people to pay me for beta testing
[10:33] _announcer: Twitter: "@andydavies node.js is interesting but haven't seen any contracts for it recently :D Canvas could be a good shout though" -- Dan Hilton. http://twitter.com/danhilton/status/27428578948
[10:33] maushu: Beta is excluded.
[10:34] ajsie: JimBastard: im looking for VPS for development...is Nodejitsu used for development or only when i have to deploy? cause i need to drop down to a shell, use git, express, vim etc
[10:34] gerred has joined the channel
[10:34] JimBastard: ajsie: on a scale of 1 - 10, how would you rate yourself as a sysadmin
[10:34] ajsie: JimBastard: 2 - 3
[10:35] ajsie: could be better but i don't want to
[10:35] JimBastard: if you enjoy configuring servers, figuring out scaling, reading blog posts, and maintaing all that, you should get a VPS
[10:35] cloudhead: ajsie: why develop remotely when you can develop locally?
[10:35] JimBastard: ajsie: i would recommend going with us then, lol
[10:35] _announcer: Twitter: "@Encosia Sweet... You should get an intro to node js screen cast going on @tekpub" -- andrew_herrick. http://twitter.com/andrew_herrick/status/27428658819
[10:35] JimBastard: ajsie: its for production deployment
[10:35] unomi: cloudhead: what is Marijns nick?
[10:35] maushu: ajsie: www.graphnode.com
[10:35] caolanm: JimBastard: the nodejitsu hosting stuff sounds interesting
[10:35] caolanm: when can we expect a proper announcement?
[10:35] JimBastard: caolanm: thanks!
[10:35] cloudhead: unomi: what?
[10:35] JimBastard: caolanm: nov 1
[10:36] JimBastard: free accounts for all #node.js peeps
[10:36] caolanm: sweet
[10:36] unomi: cloudhead: the guy who did uglify.js
[10:36] cloudhead: how should I know?
[10:36] maushu: JimBastard: Can I host graphnode in one of your free accounts? That could cut my costs. xD
[10:36] cloudhead: never heard of uglify
[10:36] vilhonen: JimBastard: you're from nodejitsu?
[10:36] unomi: cloudhead: I thought you might is all
[10:36] JimBastard: vilhonen: aye!
[10:37] vilhonen: I would be interested to try out
[10:37] JimBastard: maushu: we can accomodate you for sure. i could get you a few extra "drones" if you need too
[10:37] maushu: I'm just kidding.
[10:37] maushu: That would be very meta though.
[10:37] JimBastard: ohh, well fuuuuuuuuuuuuuuuuuuuuu
[10:37] ajsie: cloudhead: im kinda the guy that want to outsource a lot .. i know how to use virtualbox, vagrant, chef etc .. i just don't want to...i dont want to download the latest ubuntu .. install it in virtual box, configure it, make copy in local disc, then how do i share it to others? how to i enter it from another computer? .. the same with local storage. . i prefer online storage .. i think its heading in that "heroku" direction
[10:37] maushu: A hosting platform on another hosting platform.
[10:37] JimBastard: vilhonen: did you sign up?
[10:37] mbrochh has joined the channel
[10:37] vilhonen: JimBastard: not yet
[10:38] JimBastard: maushu: i dunno, it seems we both have a solve a lot of common problems, but some of your problems are specific to you
[10:38] JimBastard: we have a deployment API
[10:38] cloudhead: ajsie: yet you want full shell access? I don't get it
[10:38] maushu: I have a interface API.
[10:38] JimBastard: vilhonen: you should be able to signup @ www.nodejitsu.com
[10:38] JimBastard: current site sucks, working on it!
[10:39] ajsie: cloudhead: eg if I have a new developer in a team, i dont have to tell him , install this this this in your computer and fetch this VPS machine from my machine etc .. i just give him an account in my VPS provider.
[10:39] JimBastard: ajsie: i was thinking about what you were saying, its a good idea
[10:39] JimBastard: pretty much binaries for node
[10:39] JimBastard: it will happen soon
[10:39] ajsie: cloudhead: well I haven't seen any solution yet with let me do everything without a shell access
[10:39] ajsie: when it comes to development
[10:40] ajsie: heroku is for production
[10:40] cloudhead: ajsie: I think your problem is not a hosting problem
[10:41] maushu: I think your problem is my solution, no shell here. Ever.
[10:41] virtuo_ has joined the channel
[10:42] cloudhead: you just need a better way to quickly get new developers up and running
[10:42] unomi: JimBastard: just a heads up, in Chrome, the email autocomplete function messes with your email validation code
[10:42] JimBastard: unomi: yeah, that shit is all fucked up
[10:42] JimBastard: unomi: did it not work?
[10:42] JimBastard: i didnt write that code, ughh
[10:42] unomi: the OK button never showed up
[10:42] JimBastard: did enter work?
[10:43] unomi: nope
[10:43] JimBastard: dammit
[10:43] JimBastard: fucking paolo
[10:43] unomi: well, I didn't get any feedback to the effect that it did
[10:43] unomi: nope, In FF I get Done. blah blah fuuuu
[10:43] unomi: in chrome nada
[10:44] JimBastard: unomi: yeah thats lame, the signup is not good right now
[10:44] JimBastard: dont use the autocomplete
[10:44] JimBastard: or hit tab
[10:44] JimBastard: either way should show the ok button
[10:44] JimBastard: what horrible ux
[10:44] ajsie: cloudhead: so the question is how do i get developers up and running and start coding the app instead of setting the dev environment up...1. i could do everything myself with vagrant/virtualbox/chef/online storage (for storing the Virtualbox machines) etc .. but I am searching for out-sourced solution .. havent found anything like it yet .. so im eager to see if nodejitsu is for development too .. or only for production
[10:44] derferman has joined the channel
[10:45] kuya has joined the channel
[10:45] mAritz has joined the channel
[10:45] kuya: hullo, does anyone know of a javascript tidyer written in js?
[10:45] unomi: ajsie: if you use nodules in your development, provisioning is pretty easy
[10:45] ajsie: cloudhead: basically i dont want anything to be dependent on the local computer .. i want them to have some accounts . .then everything is ready .. no matter where they are , what computers they have they can start coding ... on the bus, on the airplane =)
[10:46] unomi: basically you just have to tell them to install node.js, clone your repo, and go - it will install everything needed for the app
[10:46] ajsie: unomi: i dont want to tell them to install node.js
[10:46] ajsie: =)
[10:47] ajsie: i dont want to install node.js, sproutcore, phonegap etc everytime i buy a new computer
[10:47] JimBastard: ajsie: you can build an installer, and target platforms
[10:47] JimBastard: this is something id look into building, but it makes no sense for me until i have deployment platform operational
[10:47] ajsie: JimBastard: yepp .. tahts why im looking for a good VPS provider to set up my dev env
[10:48] JimBastard: yeah, we arent VPS, as much as NAAS
[10:48] ajsie: and then i thought to use heroku/joyent/nodejitsu for production
[10:48] JimBastard: (node as a service)
[10:48] JimBastard: :p
[10:49] ajsie: JimBastard: yeah please take a look into how to build nodejitsu for both development + production
[10:50] ajsie: its the future
[10:50] _announcer: Twitter: "Node.js rapid development: Nodemon | http://goo.gl/1UJl" -- Helio S. Junior. http://twitter.com/H3li0/status/27429478298
[10:50] ajsie: i mean i freaking is glad to pay for it
[10:50] ajsie: like im paying for GitHub
[10:50] Tim_Smart: hoodoos: http://vimcasts.org/ is pretty good.
[10:50] JimBastard: ajsie: im on it! thanks
[10:51] ajsie: first time i saw http://www.graphnode.com/ today
[10:52] ajsie: JimBastard: looks like you got a competitor
[10:52] ajsie: who is the creator of it?
[10:52] JimBastard: ajsie: maushu
[10:52] JimBastard: lol...
[10:52] unomi: There are a fair few now, and probably loads coming
[10:53] unomi: this is, after all, what Node was built for.
[10:53] unomi: no.de gives you shell and all that ajsie
[10:53] Tim_Smart: This is what makes vim ninja http://vimcasts.org/episodes/converting-markdown-to-structured-html-with-a-macro/
[10:53] Tim_Smart: Well, one the things.
[10:54] ajsie: unomi: yeah .. i'll look into it when i have an account
[10:56] herbySk has joined the channel
[10:56] xla has joined the channel
[11:01] stagas has joined the channel
[11:01] _announcer: Twitter: "I got to tell you now but ru nodejs try tampering with the. Json file and the standard features of a language that the operation is small." [ja] -- tamtam180. http://twitter.com/tamtam180/status/27430130334
[11:04] MikhX has joined the channel
[11:10] ThePub has joined the channel
[11:13] zorzar has joined the channel
[11:19] kjy112|home has joined the channel
[11:22] MikhX has joined the channel
[11:22] agnat has joined the channel
[11:22] matt__ has joined the channel
[11:27] dylang has joined the channel
[11:28] antono has joined the channel
[11:32] matt__: what the recommend way for externalising app settings?
[11:32] matt__: in an expressjs app
[11:32] matt__: as in app.config etc..
[11:34] teemow has joined the channel
[11:34] _announcer: Twitter: "Learning node.JS while listening to my marketing teach speaking about the iPhone 4, Nespresso, etc." -- Jerry. http://twitter.com/jvzr/status/27432160823
[11:36] _announcer: Twitter: "Node.js, here is a link to videos http://nodecasts.org/ that just started, I hope to make a similar effort railscasts" [es] -- Boris Barroso. http://twitter.com/borisb/status/27432290823
[11:36] MattJ has joined the channel
[11:38] path[l] has joined the channel
[11:39] V1: matt__: I just create a new js file with exports.conf = { date:"here" }; conf = require("./conf")
[11:39] matt__: simple enough
[11:39] matt__: makes sense
[11:39] matt__: not used to all this practically coming from .net
[11:39] V1: :p
[11:40] _announcer: Twitter: "Macbook (10.6) able to successfully install homebrew, node.js package management and installation could easily be nvm" [ja] -- hiroshi oyamada. http://twitter.com/h5y1m141/status/27432511879
[11:43] digitalspaghetti: V1: yea, that's how i do settings as well :D
[11:43] digitalspaghetti: very easy
[11:44] bpot has joined the channel
[11:46] matt__: so you could extend that with conf = require("./conf/" + env("NODE_ENV))
[11:46] matt__: not sure what is needed to access env of top of my head but the idea
[11:51] saimon_ has joined the channel
[11:54] ajsie: JimBastard: what OS are you using for nodejitsu? curios
[11:54] JimBastard: ubuntu
[11:54] JimBastard: for now
[11:54] matt__: plans to change?
[11:54] JimBastard: but that will be somewhat transparent to the user
[11:54] ajsie: JimBastard: okay
[11:55] ajsie: love ubuntu
[11:55] JimBastard: can't sleep, much launch product
[11:55] JimBastard: /s/much/must
[11:57] ajsie: JimBastard: for us .. don't sleep, code!
[11:57] saimon_ has left the channel
[11:57] JimBastard: its very close
[11:57] JimBastard: im also half waiting for this round of funding to close so i can turn on the firehose for free accounts
[11:57] JimBastard: we are about to get a bit of cash
[11:58] ajsie: JimBastard: glad to hear that you have the support needed
[11:58] ajsie: seems like necessary for today's competition =)
[11:59] JimBastard: been using http://github.com/marak/machine.js a bit for the front-end
[11:59] JimBastard: having fun with that
[11:59] JimBastard: single page app
[12:00] JimBastard: with multiple nested view states
[12:00] JimBastard: so our html + javascript web app connects directly to broodmother
[12:00] JimBastard: which is the deployment platform and api
[12:01] ajsie: JimBastard: cool
[12:01] ajsie: but why don't use js to store states?
[12:01] ajsie: json ... why css?
[12:01] JimBastard: lol
[12:02] JimBastard: id say rtfm, but its kinda hard to grok atm
[12:02] JimBastard: it uses jQuery.data() for some of the binding
[12:02] JimBastard: it doesnt store anything in css, that doesnt make sense
[12:03] ajsie: okay
[12:04] ajsie: are you using any online storage?
[12:04] JimBastard: for what?
[12:04] ajsie: in general
[12:05] JimBastard: http://github.com/nodejitsu/node-cloudfiles
[12:05] ajsie: for some hosting features etc
[12:05] JimBastard: we maintain the api wrappers for rackspace
[12:05] ajsie: okay
[12:05] ajsie: looking at Google storage and its impressive
[12:05] JimBastard: but thats just the first provider
[12:05] JimBastard: yeah, we'll add more
[12:05] JimBastard: it should all be somewhat transparent to the user
[12:06] ajsie: yeah true .. but just in case its always good to know the under layer
[12:06] ajsie: im using Sproutcore but its good to know html , css , javascript for customizations if needed
[12:06] ajsie: http://www.youtube.com/watch?v=GLbRvcbkAwE&feature=player_embedded#!
[12:07] ajsie: some use cases .. if its interesting for u
[12:07] c4milo has joined the channel
[12:07] Tim_Smart: JimBastard: Need employees? >.<
[12:07] Tim_Smart: I'm up for relocation.
[12:07] JimBastard: Tim_Smart: :-(
[12:08] JimBastard: how would you get over here?
[12:08] Tim_Smart: In a plane. Maybe a boat.
[12:08] JimBastard: visa yo
[12:08] Tim_Smart: Yeah and that.
[12:08] JimBastard: i had this same talk with micheil
[12:08] JimBastard: that shit isnt easy
[12:08] JimBastard: and you boys dont have college degrees
[12:09] JimBastard: do you have any family in the us?
[12:09] Tim_Smart: Good question.
[12:09] Tim_Smart: Not anymore I don't think.
[12:09] JimBastard: if you have any immediate family who live in the us, you have a way better shot
[12:09] JimBastard: you can always do a 3 month travel visa and try to marry american girl
[12:09] JimBastard: lol
[12:09] Tim_Smart: Haha.
[12:10] Tim_Smart: Can you do a work visa?
[12:10] JimBastard: or guy? im not sure how that works
[12:10] Anti-X has joined the channel
[12:10] _announcer: Twitter: "If you need ansi escape codes under node.js, you call 'em like that "\u001B[31mRed Alert!\u001B[0m"" -- Nikolay Nemshilov. http://twitter.com/nemshilov/status/27434554363
[12:10] JimBastard: as far as i know
[12:10] JimBastard: http://en.wikipedia.org/wiki/H-1B_visa
[12:10] JimBastard: !tweet @nemshilov http://github.com/marak/colors.js
[12:11] JimBastard: The current law limits to 65,000 the number of aliens who may be issued a visa or otherwise provided H-1B status each fiscal year (FY).
[12:11] Tim_Smart: JimBastard: http://newzealand.usembassy.gov/swt_faq.html
[12:11] Tim_Smart: I am post-secondary sorta.
[12:11] JimBastard: This MOU, allows American and New Zealand citizens who are bona fide post-secondary students or recent graduates from postsecondary accredited schools
[12:11] JimBastard: ya, you tell me
[12:11] JimBastard: lol
[12:12] V1: Google storage for developers isn't that good tbh, I think amazon S3 + cloudfront would probably be better.
[12:12] Tim_Smart: Secondary school was 3 years ago.. so...
[12:12] JimBastard: you and micheil should file for that shit
[12:13] JimBastard: it looks like you dont need a company to sponsor it
[12:13] _announcer: Twitter: "A web server in Javascript ? Yes, with Node JS running on Google's V8 engine. Weird but working idea. Screencasts here http://nodecasts.org" -- Clément Joubert. http://twitter.com/czj/status/27434765838
[12:15] skohorn has joined the channel
[12:16] antono has joined the channel
[12:19] figital has joined the channel
[12:19] rwaldron has joined the channel
[12:20] boaz has joined the channel
[12:21] unomi has joined the channel
[12:24] JimBastard: wtf why are tests failing, these were working last i checked
[12:24] JimBastard: but who change code
[12:24] JimBastard: aight i gotta focus
[12:26] agnat has joined the channel
[12:28] malkomalko has joined the channel
[12:30] dnolen has joined the channel
[12:31] malkomalko: does Step or another library like it for node exist that lets you clean up nested callbacks when you need to iterate through things somewhere in the callback chain?
[12:33] _announcer: Twitter: "Yesterday papētīju node.js (nodejs.org). Do not understand what the people there to see. Java + xSocket, I think, more convenient and faster." [lv] -- Elviss Strazdiņš. http://twitter.com/elvman/status/27436127803
[12:33] chapel: umm, well there are a few queue modules
[12:36] _announcer: Twitter: "The server spat nodejs Live # ParisWeb" [fr] -- Benoît Dissert. http://twitter.com/bdissert/status/27436352289
[12:39] _announcer: Twitter: "@tjholowaychuk it seems jade and haml heavily slow down nodejs" -- Sleeptillseven. http://twitter.com/sleeptillseven/status/27436604755
[12:41] caolanm: malkomalko: can you make a gist showing the problem?
[12:41] skohorn_ has joined the channel
[12:41] Ari-Ugwu has joined the channel
[12:43] malkomalko: yup
[12:43] malkomalko: going to hack up something generic.. one sec
[12:44] _announcer: Twitter: "I do not know if it is not nodejs dry, or if the use of Paul Rouget is a bit limited # ParisWeb" [fr] -- Benoît Dissert. http://twitter.com/bdissert/status/27436966671
[12:44] mw has joined the channel
[12:46] malkomalko: as an example: http://gist.github.com/628122
[12:48] caolanm: malkomalko: how are you getting a result from that?
[12:48] caolanm: I'm not sure its working in the way you expect
[12:48] herbySk has joined the channel
[12:48] caolanm: because the iteration functions call an async function
[12:49] caolanm: how do you know when all these operations have completed?
[12:49] chapel: so I have a site I want to iterate through some pages, it returns json, I need to check each json object for a date, and only iterate through each page/item on each page when the date is after a certain time, what would be the best asynch way to handle that?
[12:49] malkomalko: well, that's part of my question really
[12:49] caolanm: ah ok
[12:49] malkomalko: we'd use some kind of bullshit counter
[12:49] paulr has joined the channel
[12:49] caolanm: malkomalko: you're using underscore.js?
[12:49] malkomalko: yah, I generally do, I love it
[12:49] caolanm: me too!
[12:50] caolanm: :)
[12:50] caolanm: in that case, may I recommend my async lib: http://github.com/caolan/async
[12:50] caolanm: it provides many of the same functions as underscore.js
[12:50] caolanm: but async-friendly
[12:50] malkomalko: so it's like, I need to hit an api.. give me all of the top level objects.. then for each of those objects, make more api requests and fetch more objects.. going down a chain of like 4 times to build up all the objects we need
[12:50] malkomalko: let me take a look
[12:50] malkomalko: I was using Step
[12:51] malkomalko: but Step broke down when trying to iterate
[12:51] caolanm: I think async.js will make more sense if you're used to underscore
[12:51] aheckmann has joined the channel
[12:51] Tim_Smart: malkomalko: I have made a thing called Parallel for doing parallel async calls.
[12:51] caolanm: async pile on!
[12:51] caolanm: go go go
[12:51] caolanm: :)
[12:51] malkomalko: *MORNING OVERLOAD*
[12:51] stride: hm, what about using EventEmitter and a single handler for each of the steps?
[12:51] Tim_Smart: malkomalko: http://github.com/Tim-Smart/node-parallel
[12:52] Tim_Smart: stride: --^ uses a event emitter underneath.
[12:52] malkomalko: lol, I was already watching your async lib on github caolanm
[12:52] caolanm: \o/
[12:52] caolanm: fame
[12:52] caolanm: ;)
[12:52] malkomalko: not sure why I never pulled it
[12:52] stride: Tim_Smart: ah :)
[12:52] malkomalko: let me take a look at your approach too Tim_Smart
[12:52] malkomalko: working this out would be a big win for me
[12:53] malkomalko: I was getting a little stumped
[12:53] unomi: boaz: Mihai Bazon?
[12:53] Fullmoon has joined the channel
[12:54] chapel: I have a similar issue malkomalko
[12:54] _announcer: Twitter: "@danhilton #nodejs will get you knowledge of http up to scratch and teach you approaches that.can be used elsewhere..." -- Andy Davies. http://twitter.com/andydavies/status/27437783990
[12:54] chapel: lots of nested api calls
[12:58] ysynopsis has joined the channel
[12:59] caolanm: malkomalko: what I'll often do in your situation is just break it up into seperate functions for readability
[12:59] chapel: thats what I am trying to do
[12:59] caolanm: for each callback I mean
[12:59] caolanm: makes it easier to read and debug
[12:59] chapel: but I am having trouble with callbacks (I am new to js and async)
[13:01] caolanm: chapel: do you have an example problem too?
[13:01] ThePub has joined the channel
[13:01] chapel: well sure, if you want to see my sloppy code I guess
[13:02] aubergine_ has joined the channel
[13:02] maushu: Okay, upstart doesn't work.
[13:03] _announcer: Twitter: "fuck .net, one openrasta / ms-sql / topshelf /newton.json service to write and the rest is nodejs, at least thats the plan" -- Matt Freeeman. http://twitter.com/mattcodes/status/27438526325
[13:04] chapel: http://gist.github.com/628145
[13:04] chapel: thats what I am working on now
[13:07] chapel: for the most part it works, but the order that the games are processed is never the same
[13:07] chapel: not sure why
[13:09] caolanm: malkomalko: http://gist.github.com/628122
[13:09] caolanm: I added a comment
[13:09] caolanm: hopefully that makes sense
[13:10] caolanm: chapel: yikes!
[13:10] caolanm: ;)
[13:10] malkomalko: YAY!
[13:10] malkomalko: brb
[13:10] malkomalko: hanging out at a conference today
[13:11] caolanm: lucky you
[13:11] chapel: yeah, Im new, so my coding is less than stellar
[13:11] chapel: I chip away until I get it to work
[13:11] chapel: then clean it up with stuff I learn
[13:11] caolanm: chapel: nah, its fine, just that's a lot of indentation
[13:11] caolanm: heh
[13:11] chapel: haha
[13:11] chapel: anyways
[13:11] chapel: those for loops can be .each right?
[13:12] chapel: the comment you made for malkomalko can be adapted to mine it looks like
[13:13] caolanm: chapel: right
[13:13] chapel: my main concern atm, I need to iterate through some pages, to get all the game ids to then iterate through the games, but I need to check their dates, which I was working on, not sure which is the best way to handle that
[13:13] caolanm: chapel: again, I don't think this code is doing what you think
[13:13] caolanm: remember this is all async
[13:13] chapel: well it 'is'
[13:13] mtodd has joined the channel
[13:13] chapel: but I don't know what its doing exactly
[13:14] chapel: :P
[13:14] caolanm: ah ok :)
[13:14] chapel: I mean, I get the results I want, for the most part
[13:14] chapel: I just am new, so really don't know how to make it do exactly what I want
[13:14] caolanm: ok, because you're writing them to the console
[13:14] chapel: yeah
[13:14] chapel: console.log
[13:14] chapel: :)
[13:14] chapel: debug
[13:14] _announcer: Twitter: "@3rdEden You seem to have lots of crash/memory problems with projects running on node.js. Is this an issue with node or just user error? :-)" -- Verve Studios Co. http://twitter.com/vervestudiosco/status/27439455853
[13:15] caolanm: chapel: the problem is when you want to use this function elsewhere
[13:15] caolanm: how do you know when it has finished processing?
[13:15] caolanm: and how do you get the results?
[13:15] caolanm: if you're doing something async inside a function, that function should accept a callback
[13:16] caolanm: getGames = function(callback) { ...
[13:16] caolanm: ^ *with* a callback
[13:17] caolanm: I'd recommend breaking this down into smaller steps too
[13:17] caolanm: much like my comment on malkomalko's gist
[13:17] jherdman has joined the channel
[13:17] bradleymeck has joined the channel
[13:18] chapel: okay, well basically the data I am trying to get and process, is just going to be written to a db
[13:18] chapel: another part of my app will then access that db info to render a page
[13:18] chapel: so really, it is one way
[13:19] chapel: but you are right I should break it down like you recommend
[13:20] papandreou has joined the channel
[13:21] galaxywatcher has joined the channel
[13:23] chapel: so what about my other issue
[13:23] chapel: the url at 43
[13:23] chapel: I need to go through pages, the 0 at the end is the page number
[13:23] chapel: I need to check through each game date on each page, and stop when I get one older than a certain date
[13:24] papandreou: I'm losing track of all the *magick wrappers on the node modules page. Does anyone know a good image lib that'll let me read an image from a Buffer and perform some very basic operations? (get dimensions, resize, output to buffer)
[13:26] Tim_Smart: papandreou: http://github.com/taggon/node-gd ?
[13:26] mbrochh has joined the channel
[13:26] davidwalsh has joined the channel
[13:26] Tim_Smart: C++ bindings, so you don't have to pipe to a child process.
[13:26] killfill has joined the channel
[13:27] caolanm: chapel: I'd normally solve something like that using recursion, just be aware that you might blow the stack if you're handling lots of pages
[13:28] caolanm: so when you've processed the page, check the date and either call the callback or pass the callback to the function again with the next page number
[13:28] ceej has joined the channel
[13:29] caolanm: if you're worried about the stack then you can add a higher-level function and do someting like continuation passing
[13:29] papandreou: Tim_Smart: Thanks, I had my eyes on that one, but I was put off by the lack of docs and an npm module. I'll give it another chance :)
[13:30] chapel: hmm
[13:30] chapel: okay, that is what I was thinking, roughly
[13:31] sschuermann: re
[13:33] prettyrobots_ has joined the channel
[13:34] prettyrobots_ has joined the channel
[13:35] chapel: another question, the api I am interfacing with has a limit of 300 calls per minute
[13:36] aubergine has joined the channel
[13:36] chapel: is there a concrete way to make sure I don't go over that limit?
[13:36] caolanm: chapel: you need a queue
[13:36] jetienne has joined the channel
[13:36] chapel: okay, are there any modules that have a way to keep track?
[13:36] herbySk has joined the channel
[13:36] caolanm: add the calls to a queue, and have another function pull items off the queue and make the request
[13:37] GriffenJBS has joined the channel
[13:37] caolanm: chapel: depends what you need
[13:37] chapel: hmm
[13:37] chapel: well needs to be simple
[13:37] caolanm: if its just in memory (eg, you're only running one instance of this script) then just write your own
[13:37] caolanm: an array you add things to
[13:37] caolanm: and a function that consumes items from the array
[13:38] caolanm: I suppose you'll want to wrap it up in an object to handle rate limiting
[13:38] caolanm: hmm, anyone know of a simple in-memory queue library?
[13:38] chapel: but the idea, someone goes to my site, enters a name, my app goes to the api, gathers and caches data in db, does some calculations, then displays them, with a queue, I figure I could show a progress bar or something
[13:39] caolanm: chapel: sure, I've done something very similar in the past
[13:39] sideshowcoder has joined the channel
[13:39] caolanm: progress bar and all
[13:39] jakehow has joined the channel
[13:39] ThePub has joined the channel
[13:39] Gruni has joined the channel
[13:40] chapel: http://techno-weenie.net/2010/7/13/in-process-node-queues/
[13:40] chapel: what would be a good way to handle lots of users at the same time
[13:40] caolanm: share a queue for all users
[13:40] chapel: I don't expect huge usage, but maybe some here and there when some communities find it
[13:40] caolanm: that way you can limit it across all users
[13:40] chapel: well that is the plan
[13:41] chapel: but how do I let the user know in a userfriendly way
[13:43] caolanm: you mean ui?...
[13:43] caolanm: :\
[13:43] chapel: well, in general
[13:43] chapel: doesn't have to be a specific solution
[13:44] chapel: progress bar? have it update using ajax, or a in process wheel or whatever
[13:44] caolanm: sure
[13:44] caolanm: I wouldn't worry about that yet, just get it working first ;)
[13:44] bradleymeck: that and tell them a wait time for the queue
[13:44] killfill has joined the channel
[13:45] chapel: ah, how hard would it be to build in a timer with the queue?
[13:46] jacobolus has joined the channel
[13:46] davidsklar has joined the channel
[13:46] marshall_law has joined the channel
[13:47] stride: chapel: a timer?
[13:47] chapel: or a way to give an accurate time to the user, like bradleymeck said
[13:48] bradleymeck: sec
[13:48] boaz: unomi: huh?
[13:49] bpot has joined the channel
[13:49] unomi: boaz: sorry, was just trying to find Mihai Bazon, I thought he might be in here, and your nick looked like it could be a chance hit
[13:50] boaz: ah
[13:50] boaz: yeah, no.
[13:50] unomi: Sorry for the ping then :) How are you anyway?
[13:50] boaz: unomi: boaz is actually my real name
[13:50] boaz: unomi: s'ok
[13:51] unomi: fair enough, unomi is not my real name, yet!
[13:51] bpot has joined the channel
[13:52] caolanm: anyone know how to do links within a page using githubs markdown?
[13:52] caolanm: is it even possible?
[13:52] bradleymeck: chapel, untested but its pretty simeple http://gist.github.com/628208
[13:53] herbySk has joined the channel
[13:53] caolanm: I don't mean links to external URLs... I mean links to #my_anchor on the same page
[13:53] bradleymeck: caolanm [a markdown link](#1)
[13:54] caolanm: how do I add an anchor for #1 though?
[13:54] bradleymeck: that is a good question
[13:54] caolanm: because I have a long readme I'd like to make a bit easier to navigate
[13:55] kgf: if all else fails, use actual html. markdown allows it
[13:55] caolanm: kgf: just tried that, no luck
[13:55] kgf: (well, assuming github's version is groovy with that)
[13:55] kgf: oh.
[13:55] caolanm: it strips the id attribute from the anchor tag
[13:55] caolanm: renders the link fine though
[13:55] chapel: thanks bradleymeck, I will check it out, but going home in a few minutes
[13:55] caolanm: damn you github!
[13:56] nerdEd has joined the channel
[13:56] bradleymeck: caolanm, use name not id
[13:56] bradleymeck: i just checked
[13:56] kgf: it seems to work for me...
[13:56] kgf: uh, yeah, should be using name
[13:56] caolanm: ok, I'm an idiot
[13:57] caolanm: shhhh, lets all pretend that didn't just happen
[13:57] kgf: well, id normally /would/ work (except in MSO's crappy html renderer)
[13:57] evanpro has joined the channel
[13:57] gJ|Alex has joined the channel
[13:58] ivanfi has joined the channel
[13:59] kgf: caolanm: IIUC, id is /the/ way to do it in XHTML, so you don't look too bad for it anyway :)
[14:01] herbySk has joined the channel
[14:02] caolanm: kgf: \o/
[14:02] femtoo has joined the channel
[14:03] prettyrobots has joined the channel
[14:04] boaz_ has joined the channel
[14:04] prettyrobots: Has anyone gotten WebSockets working through a proxy? I'm trying to get it to work through HAProxy.
[14:05] caolanm: prettyrobots: it should work with HAProxy
[14:05] prettyrobots: Good.
[14:05] prettyrobots: caolanm: What about with STunnel?
[14:05] caolanm: don't know
[14:06] caolanm: its not behind nginx or apache or anything?
[14:06] caolanm: because they'll break it
[14:06] prettyrobots: Nope.
[14:06] charlenopires has joined the channel
[14:06] prettyrobots: Was going to put HAProxy in front of Node.js itself.
[14:06] caolanm: yeah
[14:07] prettyrobots: Thank you.
[14:07] prettyrobots: It always helps to know, before you set out to do something, if it is actually possible.
[14:08] caolanm: :)
[14:09] ivanfi has left the channel
[14:09] mtodd has joined the channel
[14:10] mtodd has joined the channel
[14:12] tobeytailor has joined the channel
[14:13] gregerolsson has joined the channel
[14:16] prettyrobots: Node.js 2.2.3 RPM built with debugging segfault hack: CGGVERSION=44.
[14:16] prettyrobots: https://launchpad.net/~bigeasy/+archive/node-stack/+packages
[14:18] devkorcvince has joined the channel
[14:19] Gruni has joined the channel
[14:20] aubergine has joined the channel
[14:23] jstemmer has joined the channel
[14:24] GriffenJBS: ... yeah 192.168.163.128, I can ping that from the host, but what IP would I use to ping the host from the guest? the dhcp/dns wasn't used so it's no connected to the right net
[14:24] GriffenJBS: opps, sorry
[14:26] Gruni has joined the channel
[14:31] V1 has left the channel
[14:33] hzin has joined the channel
[14:37] mbrochh has joined the channel
[14:47] GriffenJBS has joined the channel
[14:47] paulr has joined the channel
[14:47] ysynopsis has joined the channel
[14:47] dylang has joined the channel
[14:50] c4milo has joined the channel
[14:54] matjas has joined the channel
[15:02] Me1000 has joined the channel
[15:02] dnolen has joined the channel
[15:06] brianmario has joined the channel
[15:06] ossareh has joined the channel
[15:06] jtsnow has joined the channel
[15:07] crohr has joined the channel
[15:07] dohtem has joined the channel
[15:07] dohtem has joined the channel
[15:07] aliem has joined the channel
[15:08] caolanm: how do people feel about reserved words as property / method names?
[15:08] caolanm: eg, obj.throw or obj.while
[15:09] EyePulp has joined the channel
[15:09] caolanm: I generally avoid them, just interested...
[15:09] bradleymeck: v8: x{"throw":1};x.throw
[15:09] v8bot: bradleymeck: SyntaxError: Unexpected token {
[15:10] bradleymeck: v8: x={"throw":1};x.throw
[15:10] v8bot: bradleymeck: 1
[15:10] bradleymeck: mm interesting, sometimes it will actually throw in browsers
[15:11] caolanm: oh?
[15:11] caolanm: that's interesting
[15:11] caolanm: know which browsers?
[15:11] bradleymeck: not off top of my head
[15:12] Anti-X: is there a v8 version released (since node 0.2.0) that supports property attributes?
[15:12] caolanm: ok, so I have a method that really makes sense to be called 'while'
[15:12] sonnym has joined the channel
[15:12] caolanm: because it behaves like a while loop
[15:12] skohorn has joined the channel
[15:13] caolanm: only accepting an iterator function
[15:13] Anti-X: well if it's for server side, then it would be fine
[15:14] Anti-X: because you can (sort of) control the environment
[15:14] caolanm: its for the browser too :\
[15:14] caolanm: I could call it 'until' and invert the test
[15:14] caolanm: but then its not obvious whether the test or the iterator function is called first
[15:14] Anti-X: oh no, don't go all ruby now
[15:14] cyraxx: doWhile() :)
[15:15] caolanm: doWhile changes what you expect to happen though
[15:15] caolanm: then you expect the iterator to be called first, then the test
[15:15] caolanm: I want to call the test first
[15:15] Anti-X: yeah imperative names
[15:15] caolanm: Anti-X: I didn't even know that was a ruby thing... that's how un-ruby I am!
[15:15] cyraxx: whileTrue()... that's just ugly though
[15:15] Anti-X: other languages have until though
[15:16] Anti-X: not just ruby
[15:16] Anti-X: i think it's semantics for semantic's sake
[15:16] caolanm: I guess until is like do {} while() {} ?
[15:16] manveru: no
[15:16] caolanm: (inverted test)
[15:16] manveru: until something; do_stuff; end
[15:16] fcoury has joined the channel
[15:17] manveru: just inverted while
[15:17] caolanm: hmmm ok
[15:17] caolanm: that's an option
[15:17] caolanm: although I'd rather not invert the test
[15:17] manveru: rubyists don't like prefixing !, that's why they have if/unless and until/while
[15:17] caolanm: but I do want the test to happen first
[15:17] caolanm: ah, because of the ! suffix?
[15:17] caolanm: for in-place operations
[15:17] manveru: no
[15:18] manveru: it's just easier to read
[15:18] caolanm: meh
[15:18] manveru: if !cond vs unless cond
[15:18] Anti-X: so the test argument is actually just a true/false once you get into the function? or is it another level of evaluation
[15:18] caolanm: the test argument is a function that returns true or false
[15:19] caolanm: the 'loop' is an iterator function, executed between each test
[15:19] manveru: call it 'during' :)
[15:19] caolanm: hmm, not bad
[15:20] Anti-X: so you have something like array.unknownname(func test, func action) ?
[15:20] caolanm: right
[15:21] Anti-X: can't you just use array.filter(test).forEach(action) ?
[15:21] caolanm: ah, sorry... I don't know the list of actions in advance
[15:22] caolanm: so its just unknownname(func test, func action)
[15:22] caolanm: I know what one action is and how to tell when to stop
[15:22] kevwil has joined the channel
[15:22] tj has joined the channel
[15:22] caolanm: ...if that makes sense
[15:22] jakehow has joined the channel
[15:23] Anti-X: maybe if you explained what it's for
[15:23] Anti-X: :P
[15:23] Anti-X: a use case
[15:23] Anti-X: if you will
[15:23] caolanm: hmm
[15:23] caolanm: in fact, we can use chapel's problem from earlier...
[15:24] caolanm: getting a page from an api
[15:24] caolanm: after you get the page you want to check the date of the last item
[15:24] caolanm: if its past a certain time, stop, otherwise get the next page
[15:24] rauchg_ has joined the channel
[15:26] caolanm: 'until', 'during', 'whileTrue'... or 'while' and to hell with the consequences... I mean, it might not actually break in the browser
[15:26] Anti-X: asLongAs
[15:26] Anti-X: :P
[15:26] caolanm: hehe
[15:26] Anti-X: will definitely not be standardized ever
[15:27] ajpiano has joined the channel
[15:28] caolanm: iThinkItNeedMoarCamalCase
[15:28] Anti-X: asLongAs(true, function(){process.stderr.write('HALP! I R STUK!')})
[15:28] stride: maybeChuckNorrisWillComeAndEndThis
[15:28] Anti-X: ifYouCanComeUpWithABetterNameJustTellMe
[15:29] caolanm: this channel's starting to read like java
[15:29] Anti-X: isIt?
[15:30] caolanm: what have I done...
[15:30] caolanm: screw it, I'll go with until and invert the test
[15:31] Anti-X: whileFirstArgumentIsTruePerformSecondArgument
[15:31] caolanm: I'll alias that
[15:31] caolanm: just in case
[15:31] bradleymeck: whilst(cb)
[15:31] caolanm: whilst... nice
[15:31] bradleymeck: when(cb)
[15:32] caolanm: oooh
[15:32] caolanm: bradleymeck is on a roll
[15:32] bradleymeck: has me a thesaurus
[15:33] caolanm: quite like 'whilst', something olde english about it
[15:33] Anti-X: but it's part of an object, isn't it?
[15:33] caolanm: yeah
[15:33] Anti-X: so there should be a way to name what it does, related to that object
[15:34] caolanm: ah, no... its just part of a module
[15:34] caolanm: util function
[15:34] caolanm: thought you were distinguishing between obj.while and while affecting js
[15:36] Max_Might has joined the channel
[15:36] Anti-X: repeat()?
[15:36] Anti-X: nvm
[15:37] Anti-X: that would work better for one argument that returned true/false
[15:37] caolanm: yeah
[15:38] cyraxx: i vote for whilst()
[15:38] caolanm: yeah
[15:38] caolanm: whilst and until are both good
[15:38] Anti-X: in that case i vote whilst too
[15:38] Anti-X: until is so backwards
[15:39] technoweenie has joined the channel
[15:39] caolanm: cool, its decided :)
[15:39] caolanm: bradleymeck: you win... uhm, something
[15:39] Anti-X: a virtual manhug
[15:40] caolanm: and a free copy of the function
[15:40] caolanm: just send a stamped-addressed envelope
[15:40] Anti-X: wow!
[15:40] Anti-X: dude you are so lucky
[15:41] bradleymeck: i just want amazon to document wtf their amazon: url scheme does
[15:41] Anti-X: you'd think a company that sells books would know the importance of documentation
[15:42] bradleymeck: amazon doesnt know that developers use it
[15:42] Anti-X: unfortunately most of the things they do document are overelaborate and tedious.. it's like reading an end user agreement for every page
[15:42] jpld has joined the channel
[15:42] bradleymeck: even then, most interesting or common features are not documented except s3
[15:42] caolanm: yeah, I find their docs pretty painful
[15:42] xla has joined the channel
[15:43] Anti-X: they probably have dedicated document writers
[15:43] Anti-X: which obviously sucks
[15:43] Anti-X: so don't do that
[15:44] marshall_law has joined the channel
[15:46] tjholowaychuk: bradleymeck: i want them not to respond 200 when their assets are not ready and they are serving me 403s lol
[15:46] tjholowaychuk: its so lame, we have to poll cloudfront
[15:47] davidascher has joined the channel
[15:47] bradleymeck: or perhaps the ability to set up a generic permissions instead of locking down every new file like its a state secret?
[15:48] herbySk has joined the channel
[15:49] mjr_ has joined the channel
[15:49] seanouimet has joined the channel
[15:49] tjholowaychuk: thats what is strange, our stuff is public and flagged as so, but they dont propegate to cloudfront for a few minutes or so
[15:49] rwaldron_ has joined the channel
[15:49] tjholowaychuk: so we have to wait around and poll to make sure we can actually access them
[15:49] tjholowaychuk: its so stupid
[15:49] tjholowaychuk: and if we are doing it way wrong, they didnt make it very clear
[15:50] bradleymeck: you are not
[15:51] bradleymeck: write propagation is not guaranteed at time of response
[15:51] rwaldron_ has joined the channel
[15:52] muk_mb has joined the channel
[15:52] rwaldron_ has joined the channel
[15:53] devkorcvince has joined the channel
[15:53] mjr_: I'm told that Amazon is going to have a notification API for S3/CloudFront soon
[15:53] mjr_: So you can actually know when your data is ready
[15:53] tjholowaychuk: ahhaha
[15:53] tjholowaychuk: yeah
[15:53] tjholowaychuk: wouldnt that be nice..
[15:53] mjr_: Because the current system is kind of insane.
[15:53] mjr_: When will my data be ready? Hard to say. Eventually.
[15:54] herbySk74 has joined the channel
[15:54] stephank has joined the channel
[15:55] bradleymeck: good times, we once had a bug fix in js take 2 hrs to roll out
[15:56] malkomalko has joined the channel
[15:56] muk_mb1 has joined the channel
[15:56] mjr_: I think CloudFront now at least has a way to request a refresh
[15:56] muk_mb has joined the channel
[15:57] mjr_: I hope Joyent or somebody can provide some serious competition to Amazon.
[15:57] micheil: morning chaps' & ladies.
[15:57] bradleymeck: mornin lover boy
[15:57] EyePulp: mjr_: they do have a forced expiration method now
[16:01] dmcquay has joined the channel
[16:03] d0k has joined the channel
[16:05] softdrink has joined the channel
[16:05] Anti-X: what kind of morning do you call this?
[16:07] tmpvar: its friday, a great morning :)
[16:07] Anti-X: it's 6 pm here
[16:07] Anti-X: if i had booze it would be out
[16:07] caolanm: 5pm here
[16:07] caolanm: so close... I can feel weekend
[16:08] herbySk has joined the channel
[16:09] stride: 6pm here \o/ time to drink^Wcode
[16:09] Me1000 has joined the channel
[16:09] caolanm: you drink code?
[16:09] stride: occasionally
[16:10] caolanm: neat?
[16:11] softdrink: ACTION runs away from stride
[16:11] danielzilla has joined the channel
[16:12] stride: while(true) { softdrink } //can't escape it ;)
[16:12] heavysixer has joined the channel
[16:12] xla has joined the channel
[16:13] softdrink: noooooooooooooooooooooooo
[16:14] caolanm: softdrink: Ctrl+C! Ctrl+C!
[16:14] caolanm: *sigh* ...I should be in a pub
[16:15] zomgbie has joined the channel
[16:18] xla has joined the channel
[16:19] gerred has joined the channel
[16:27] technoweenie has joined the channel
[16:31] mattvermaak has joined the channel
[16:32] sudoer has joined the channel
[16:33] ezmobius has joined the channel
[16:33] dahankzter has joined the channel
[16:34] muk_mb has joined the channel
[16:34] stagas has joined the channel
[16:37] skohorn has joined the channel
[16:37] TheEmpath has joined the channel
[16:38] mape: Anyone here remember the url/code to creationix streaming of a video file?
[16:39] herbySk has joined the channel
[16:40] noahcampbell has joined the channel
[16:41] benburkert has joined the channel
[16:43] mape: seems it was mostly http://github.com/biggie/biggie-router/blob/master/lib/biggie-router/middleware/sendfile.js
[16:43] technoweenie: http://twitter.com/creationix/status/26528585021
[16:43] technoweenie: but the link in his tweet is bad
[16:43] jansc has joined the channel
[16:43] gerad has joined the channel
[16:44] norviller has joined the channel
[16:44] tjholowaychuk: mape: yeah thats the one
[16:44] jbenesch has joined the channel
[16:45] c4milo has joined the channel
[16:46] JCS^ has joined the channel
[16:48] slashxr has joined the channel
[16:49] lsmith has joined the channel
[16:52] paulwe has joined the channel
[16:53] isaacs has joined the channel
[16:53] davglass has joined the channel
[16:59] tekky has joined the channel
[16:59] chapel: does anyone have any code using async, the library/module?
[17:02] micheil: hm?
[17:02] path[l] has joined the channel
[17:03] digitalspaghetti: oooh, http://github.com/rbranson/node-ffi
[17:03] prettyrobots has joined the channel
[17:07] matjas has joined the channel
[17:09] steadicat has joined the channel
[17:09] rwaldron has joined the channel
[17:10] benburkert has joined the channel
[17:11] wadey has joined the channel
[17:11] m64253 has joined the channel
[17:11] ossareh has joined the channel
[17:12] micheil: digitalspaghetti: do you know if the developer of that is in the house?
[17:12] micheil: because there's a few things that could be done to make it a bit better, imo.
[17:13] jesusabdullah: micheil: --> rbranson_
[17:13] micheil: rbranson_: ping./
[17:14] digitalspaghetti: no idea, i just saw it on twitter
[17:15] wadey: This is still a work in progress, but may be of interest to some people here: http://github.com/wadey/node-thrift
[17:16] jesusabdullah: Oh sweet I LOVE ValVil!
[17:16] brianmario has joined the channel
[17:18] tobeytailor has joined the channel
[17:18] vnguyen has joined the channel
[17:19] dguttman has joined the channel
[17:19] bjarkih has joined the channel
[17:23] kjeldahl has joined the channel
[17:24] path[l] has joined the channel
[17:34] tjholowaychuk: felixge: ping
[17:34] jansc has joined the channel
[17:35] MikhX has joined the channel
[17:36] benreesman has joined the channel
[17:39] zemanel has left the channel
[17:39] renatoelias has joined the channel
[17:41] gerred: hm I'm doing the rails rumble...I kind of want to sneak node.js in
[17:42] dgathright has joined the channel
[17:44] Aria has joined the channel
[17:46] dmcquay: gerred - wah?
[17:46] dmcquay: sneak it in where?
[17:46] tjholowaychuk: ah god damnit
[17:46] tjholowaychuk: npm
[17:46] tjholowaychuk: keeps fucking shit up
[17:46] isaacs: tjholowaychuk: oh?
[17:47] tjholowaychuk: haha just stupid require path stuff
[17:47] isaacs: ah
[17:47] tjholowaychuk: for example if i have jade installed , but i run the tests for HEAD, some will fail
[17:47] technoweenie: gerred: you'll probably be shamed and thrown out of the competition
[17:47] tjholowaychuk: and i was thinking wtf.. i never leave a commit with failing tests
[17:47] technoweenie: but the people will be on your side
[17:47] tjholowaychuk: but it was just because i had it installed
[17:47] tjholowaychuk: that has messed with me a few times
[17:48] technoweenie: and years later there will be an awesome movie based on YOU
[17:49] isaacs: tjholowaychuk: hm. i think that's something that should not be so easily confusing.
[17:49] tobeytailor has joined the channel
[17:49] aheckmann has joined the channel
[17:49] isaacs: tjholowaychuk: if anything, you should be able to make it *easier* with npm.
[17:50] tjholowaychuk: how so
[17:50] isaacs: tjholowaychuk: like, "npm link" in the jade directory, and then "npm test jade" to run your tests.
[17:50] tjholowaychuk: i dont run tests with npm, i just mean while im developing
[17:50] tobeytailor has joined the channel
[17:50] isaacs: yeah, i mean, npm just runs the "test" script from your package.json
[17:50] isaacs: it's not a test harness or anything fancy
[17:50] tjholowaychuk: expresso does $ express -I lib
[17:50] tjholowaychuk: for example
[17:51] tjholowaychuk: so require('jade') in the tests will load the npm one
[17:51] isaacs: right
[17:51] tjholowaychuk: but i need -I lib so I can switch it out for the instrumented version when using --cov
[17:51] micheil: gerred: if you're wanting to do stuff with websockets, I'd recommend pusherapp.
[17:51] isaacs: another option would be to just do "npm link" instead of "npm install" to install jade
[17:51] isaacs: then the "npm one" is the same as your development folder.
[17:51] isaacs: symlink
[17:52] davidascher has joined the channel
[17:53] prettyrobots has joined the channel
[17:53] c4milo has joined the channel
[17:53] gerred: probably would be shamed. ;) nah, not doing anything with websockets, though I like pusherapp.
[17:53] gerred: i was going to start something similar to pusherapp...then I discovered...pusherapp.
[17:54] micheil: gerred: heh heh
[17:54] micheil: the pusherapp team are awesome, really smart people
[17:54] gerred: yeah
[17:54] micheil: (even if one doesn't like being called Jazzman)
[17:54] bartt has joined the channel
[17:54] prettyrobots has joined the channel
[17:55] prettyrobots has joined the channel
[17:56] creationix has joined the channel
[17:56] ollie has joined the channel
[17:59] eisd has joined the channel
[18:00] stephenjudkins has joined the channel
[18:01] dgathright has joined the channel
[18:02] c4milo: who is AJ Oneal, I will kick this guy
[18:03] malkomalko has joined the channel
[18:03] c4milo: ahh I thought he was here :(
[18:03] c4milo: :)
[18:04] admc has joined the channel
[18:04] admc_ has joined the channel
[18:05] c4milo: I think all the people is lunching, leeping or programming like demons of the hell
[18:06] langworthy has joined the channel
[18:07] micheil: c4milo: no, I'm busy organising for a podcast & talking community.js
[18:07] modular has joined the channel
[18:07] vnguyen: does connecting to mongodb from php driver support replicaSet mode *with* mongos?
[18:08] c4milo: micheil: where are you based ?
[18:08] micheil: vnguyen: uhh.. you know this is #node.js, right?
[18:08] vnguyen: DOH
[18:08] micheil: c4milo: australia
[18:08] vnguyen: wrong win, thanks
[18:08] micheil: lmao! :P
[18:09] MattJ has joined the channel
[18:09] c4milo: php ? ask in #yahoo.inc
[18:09] c4milo: xD
[18:10] derferman has joined the channel
[18:10] CIA-36: node: 03Ryan Dahl 07master * r3cf4827 10/ (Makefile benchmark/idle_clients.js benchmark/idle_server.js): Add idle connection test - http://bit.ly/bmqSUM
[18:11] gerred: wow I somehow managed to get nodedojo.com
[18:11] gerred: tsk
[18:13] sivy has joined the channel
[18:14] stride: gerred: looks ugly. :>
[18:15] davidwalsh_ has joined the channel
[18:15] mikeal has joined the channel
[18:17] lsmith_ has joined the channel
[18:17] creationix: nah, I want nojodojo.com
[18:17] creationix: way cooler
[18:17] creationix: not sure what I would do with it, I've never used dojo
[18:17] creationix: gerad: ^
[18:18] mape: creationix: That video streaming thingy you have, do you have that code available?
[18:18] jchris has joined the channel
[18:18] creationix: mape: sure
[18:18] mape: A coworker wants to look at node and that is something he wanted to do.
[18:18] mape: Figured giving him working code might be easier
[18:18] creationix: mape: it's just a simple wrapper around your sendfile module
[18:19] mape: Tims?
[18:19] gerad: creationix: ??
[18:19] gerad: stride: ?
[18:19] creationix: gerad, sorry that was for gerred
[18:20] creationix: mape: this one https://gist.github.com/233a9f5f3903db92a1a5
[18:20] gerad: oh ok
[18:20] creationix: mape: let me see if it's the right code though
[18:20] visnup has joined the channel
[18:20] mape: creationix: Greatly appriciated :)
[18:20] agnat has joined the channel
[18:21] BBB- has joined the channel
[18:21] creationix: mape: ok, pushing the latest changes to it
[18:21] mape: :)
[18:21] creationix: now it should be the exact code running creationix.com
[18:21] mape: and sendfile is straight up the one from biggie?
[18:21] creationix: hmm, didn't take
[18:21] creationix: mape: I wonder where it pushed to
[18:22] mape: http://github.com/biggie/biggie-router/blob/master/lib/biggie-router/middleware/sendfile.js
[18:22] mape: ?
[18:22] creationix: mape: almost exact
[18:22] creationix: I think I changed it a tiny bit
[18:22] evanpro has joined the channel
[18:22] gerred: well stride I just registered it. ;)
[18:23] gerred: i don't even know what ot do with it
[18:23] gerred: "huh this is a cool domain let's get it"
[18:23] creationix: mape: ok, now https://gist.github.com/233a9f5f3903db92a1a5
[18:23] HAITI has joined the channel
[18:23] creationix: gerred: which one did you get?
[18:23] gerred: nodedojo...though I should get nojodojo
[18:23] gerred: haha
[18:23] gerred: aw taken
[18:23] derferman has joined the channel
[18:23] davidwalsh_ has joined the channel
[18:23] creationix: you should make a node framework called nojo and base it on dojo style
[18:23] gerred: that'd be kind of cool.
[18:24] Anti-X: nodejo?
[18:24] Anti-X: nodjo
[18:24] Akufen has joined the channel
[18:24] Akufen has joined the channel
[18:24] jesusabdullah: nachos?
[18:24] gerred: nodejo just sounds bad.
[18:24] jesusabdullah: MMMM :9
[18:24] gerred: like a bad craigslist posting
[18:24] gerred: no homo
[18:24] jesusabdullah: hah
[18:24] Anti-X: nodejo is pronounced "nojo"
[18:25] Anti-X: you don't take time to pronounce the silent e
[18:26] blowery: nojo
[18:26] Anti-X: no, jo
[18:26] blowery: nono
[18:27] Anti-X: just
[18:27] Anti-X: n
[18:27] creationix: oh crap, my idea is taking off, I should of made everyone sign an NDA ;)
[18:27] Anti-X: you can't do that on the lazyweb
[18:27] Anti-X: it ruins the point
[18:27] blowery: sign my lazynda
[18:27] jesusabdullah: :D
[18:27] jesusabdullah: I've never used dojo
[18:27] jesusabdullah: so
[18:27] creationix: lazynda
[18:27] jesusabdullah: i don't really have a vested interest either way
[18:27] creationix: now we're talking
[18:28] blowery: creationix: i already have a lazynda covering the lazynda. please don't go blabbing.
[18:28] creationix: blowery: but it's lazy
[18:28] isaacs: hoodoos: hey, i was trolling the logs and saw your question about editors. you realize that you basically described textmate?
[18:28] creationix: blabbing is part of it
[18:28] blowery: yes
[18:28] blowery: i'll only enforce it once you start blabbing
[18:28] jesusabdullah: hah
[18:28] jesusabdullah: What editor question was this?