[00:00] nwhite has joined the channel [00:02] Me1000 has joined the channel [00:03] huyhong has joined the channel [00:03] tk has joined the channel [00:04] lakin has joined the channel [00:08] rauchg_ has joined the channel [00:09] _numbers has joined the channel [00:10] _numbers: anyone here have Skype and willing to answer a few node.js questions for <= 1hr? i'll pay you for your time. [00:10] langworthy has joined the channel [00:11] _announcer: Twitter: "Okay, folks, we've stripped out @expressjs. Now to see if the problem is that or @heroku's #nodejs support: http://sydjs.com/" -- Sydney JavaScript. http://twitter.com/sydjs/status/24328756596 [00:11] JimBastard: _numbers: what do you need to know? i an answer some things here for free [00:11] huyhong has left the channel [00:12] _numbers: alright. i am playing with Picard. come from a strong PHP + Ruby background. Familiar with jQuery so the language seems easy but the rules of Node.js implementation are what i am learning now [00:12] _numbers: i have installed: Node.js + Picard + Mongoose + MongoDB [00:12] _numbers: in integrating Picard + Mongoose I am wondering where to place files [00:12] _numbers: an example if someone has done something like this would help [00:13] JimBastard: whats the question again? [00:13] _numbers: but my first attempt was to structure the directories/files similar to a RoR project [00:13] _numbers: lol getting to it [00:13] _numbers: several questions i guess [00:13] _numbers: so in Picard i have a file i created ./sample_app/models/user.js [00:14] _numbers: what's the best way to load the appropriate db object + db config so i can use the model object in my controller [00:15] mtodd has joined the channel [00:15] JimBastard: uhhh , node isnt rails [00:15] _numbers: i know. but i have no example of an ORM in Node.js yet [00:16] JimBastard: there are a few [00:16] _numbers: that's what i need [00:16] JimBastard: just not with the tools you are using [00:16] JimBastard: maybe mongoose [00:16] JimBastard: read the docs [00:16] Tim_Smart: _numbers: There are ORM's like mongoose, rapid etc etc [00:16] _numbers: i have selected and git cloned Mongoose into the project dir already [00:17] _numbers: just wrapping my head around how i should get to a model object from a Picard controller [00:17] m64253 has joined the channel [00:17] JimBastard: maybe geddy would be your best choice [00:18] benburkert has joined the channel [00:19] nroot7 has joined the channel [00:20] nroot7: Which is the suggested redis driver for node ? [00:20] _numbers: http://imagebin.org/113860 [00:20] Tim_Smart: nroot7: http://github.com/bnoguchi/redis-node [00:20] _numbers: whats the best way to debug a node.js app? [00:21] jacobolu_ has joined the channel [00:21] jesusabdullah: "the" best way? [00:21] _numbers: ya i want best practices for node.js app dev [00:21] jesusabdullah: I guess that doesn't really make sense to me, because I don't think there is a, like, "One Way (tm)" to do debugging [00:21] jesusabdullah: Tbh, I usually use console.log [00:22] nroot7: Tim_Smart: Thanks [00:22] _numbers: is there an interactive debug option [00:22] _numbers: like ruby-debug [00:22] jesusabdullah: Not that I know of? [00:22] _numbers: or xdebug [00:22] Tim_Smart: Proper logging and exception handling is my usual way. [00:22] jesusabdullah: there's ndb [00:22] jesusabdullah: "the node debugger" [00:22] Tim_Smart: node-inspector allows you to step line by line. [00:22] zith_: i'd love to see a gdb module for v8 [00:22] jesusabdullah: Maybe that's what I'm thinking of [00:23] jesusabdullah: Tests are also useful (check out vows and expresso) [00:23] bradleymeck has joined the channel [00:23] bpadalino: zith_: what does a gdb module do ? [00:23] zith_: well, i dont know if gdb modules even exists.. but making gdb understand the v8 debugger protocol [00:23] zith_: so that you could use gdb for debugging javascript that runs in v8 [00:23] bpadalino: oh, debug the js that runs inside of v8 .. [00:24] bpadalino: interesting [00:24] nolan_d has joined the channel [00:24] zith_: i guess there should be some extension system to gdb [00:24] zith_: but i really dont know [00:25] bradleymeck: node-inspector helps , but gdb is strictly following c stacks [00:25] joshthecoder: yeah not sure it would be worth the trouble writing a backend for gdb to debug v8 (if it is even possible) [00:26] _announcer: Twitter: "liked node-inspector, debugger for Node.js, demoed here http://bit.ly/bRjvZu" -- Don Park. http://twitter.com/donpark/status/24330061342 [00:26] zith_: maybe not [00:26] _numbers: is there a better way than ctrl+c, up, enter from terminal to see changes in my node.js web app [00:27] Tim_Smart: _numbers: Create a auto reloader with watchFile or something. [00:27] jesusabdullah: Or use one of the ones that exist [00:27] jesusabdullah: http://github.com/lrbabe/node-DJs for example [00:27] Tim_Smart: _numbers: Node.js !== rails. It is more like ruby. [00:27] jesusabdullah: or github.com/isaacs/node-supervisor [00:27] _numbers: right i get that [00:27] Tim_Smart: In the fact it is a runtime rather than a framework. [00:27] jesusabdullah: Yeah, definitely don't think of node as being like rails. For some reason people REALLY seem to make that connection [00:27] jesusabdullah: and idk why [00:28] _numbers: because Picard is modeled after Sinatra [00:28] bradleymeck: ugg c++ struct visible scope confuses me [00:28] jesusabdullah: Not meaning to chew you out or anything _numbers, just to be clear [00:28] creationix has joined the channel [00:28] ysinopsys has joined the channel [00:28] jesusabdullah: It's just something I've noticed [00:28] zith_: bradleymeck: how so? [00:29] bradleymeck: declared "struct ptwwrap {...};" and its not visible from a class following it in file apparently [00:29] bpadalino: declare it in the class ? [00:29] bradleymeck: same thing, unless i declare it inline it seems to freak out [00:30] bpadalino: gist of "inline" ? [00:31] joshthecoder: personally I'd use express or connect over picard (they seem more actively developed and documented) [00:31] joshthecoder: there are so many to choose from :D [00:31] bradleymeck: bpadalino, i shouldnt say inline, im just frustrated, i can pass by void* just never figures out its a struct [00:31] bradleymeck: if i try to act like it is [00:31] bpadalino: passing by void * ? [00:32] ooooPsss has joined the channel [00:32] _numbers: how do i define a global? like in Picard they just do require ('../../lib/picard') and then they have a Picard.run() they can do. instead of var Picard = require('../picard').Picard; Picard.run(); how ? [00:32] zith_: bradleymeck: http://pastebin.com/ke9enjQa [00:32] zith_: like that? [00:33] bradleymeck: http://gist.github.com/576655 [00:35] bradleymeck: _numbers globals are highly discouraged (Garbage Collection / collision issues), but global.x [00:35] zith_: doesnt struct { } mystruct; actually create an instance of the anonymous structure described called mystruct? [00:35] _numbers: thx [00:35] bradleymeck: yep, but cant get it working either way [00:35] zith_: and dont you need to type out "struct ptrwrap *p = new struct ptrwrap()"? [00:35] bradleymeck: just be sure _numbers, if your global is EVER uneeded you remove it [00:36] bradleymeck: zith_ idk im used to D honestly, which has some syntax diffs [00:36] zith_: bradleymeck: structs in c++ is exactly the same as a class with only public members afaik, anyway [00:36] zith_: so maybe use that if the syntax seems easier [00:36] _numbers: well i was going to do it to make the Mongoose database object accessible to my Picard controllers. but i think it'd be better if i could do some lazy-loading and not actually instantiate it until one of my controller actions actually needs it [00:37] _numbers: i am wondering if i should include the Mongoose db object from env.js, or from within my controller, or on a per-action basis. [00:37] bradleymeck: _numbers just follow that rule, and avoid them like plague when you can, also module.exports does support .defineProperty [00:37] hassox: expressjs nerds.. anyone here>? [00:38] zith_: bradleymeck: oh, and you struct up on top is called prtwrap while you're trying to reference it as ptrwrap [00:38] zith_: actually, both of them are called prtwrap [00:39] bradleymeck: zith_ i cant get any permutation of those 2 to work [00:39] zith_: with or without that typo? [00:39] JimBastard: _numbers: you gotta look at how commonjs import / export works [00:39] bradleymeck: f me, got it [00:39] JimBastard: with require and exports [00:40] bradleymeck: ty <3 you zith_ [00:42] _numbers: jesusabdullah: node d.js seems to just hang [00:42] _numbers: could it be my version of node? [00:46] _announcer: Twitter: "[From otsune] WSH Node.js that I had let the time savings could be better Did you move faster if there is a migration - Late Menheru ken: http://bit.ly/8ZfzoW" [ja] -- pipes2plagger. http://twitter.com/pipes2plagger/status/24332006332 [00:47] marcostoledo has joined the channel [00:47] mjr_: is redis client busted with node 0.2.1 and redis 2.0.1? [00:47] mjr_: Seems busted [00:48] _announcer: Twitter: "0.2.1 node.js a flattering U p-" [ja] -- 天沢(トリプタン系). http://twitter.com/amasawa/status/24332167894 [00:49] JimBastard: _numbers: probably not [00:49] JimBastard: its prob a coding mistake [00:49] JimBastard: like not responding to the request [00:49] JimBastard: or losing a race condition with an I/O callback [00:49] m64253_ has joined the channel [00:49] _numbers: node-inspector is pretty sweet [00:50] _numbers: you can edit the code right there and it takes place real time! nice touch [00:51] _numbers: very cool [00:51] jackish has joined the channel [00:52] _numbers: where should i install node-inspector to? [00:53] _numbers: /usr/local/bin or something? or within the project? [00:53] _announcer: Twitter: "Are the VMA's rocking some node.js? Some mongo/redis. They've got live-streaming twitter statistics. Looks hummingbird-ish. #mtvsockets" -- erik hinton. http://twitter.com/erikhinton/status/24332582573 [00:54] zith_: i'm so confused in this new world of trendy software [00:54] zith_: i liked sql databases and c code :( [00:54] _numbers: oh npm does it for me [00:57] _numbers: when i ran node-inspector on the test js that it came with in the src, it let me edit the file [00:57] _numbers: but now when i edit it on my actual project, it lets me edit it but as soon as i leave focus it goes back [00:57] _numbers: like its read-only somehow [00:57] _numbers: still hits breakpoints at least tho [00:57] _numbers: node is so cool :D [00:58] _announcer: Twitter: "Keep wanting to announce knew.js. "Better-conjugated than node"" -- NFD. http://twitter.com/nfdinspace/status/24333087179 [00:59] MikhX has joined the channel [01:00] pengwynn has joined the channel [01:00] _numbers: ya geddy seems cool but picard supports haml.js [01:01] JimBastard: _numbers: everything in node is modules [01:01] jackish: hey guys - is this guide: http://howtonode.org/deploying-node-with-spark the best way currently to deploy node on a vps? [01:01] JimBastard: _numbers: there is a haml-js module [01:01] JimBastard: it will work anywhere [01:01] JimBastard: there are two haml modules i know of [01:01] bpadalino: express seems to be very well regarded [01:02] JimBastard: jackish: if you want to use tim caswell's personal version of node, why not [01:03] JimBastard: i have instructions for rackspace if you want [01:03] jackish: JimBastard: sure, thanks [01:03] JimBastard: http://blog.nodejitsu.com/nodejs-cloud-server-in-three-minutes [01:04] JimBastard: you can provision the server manually if you want, through their ui [01:04] JimBastard: then you just gotta run http://blog.nodejitsu.com/nodejs-cloud-server-in-three-minutes/commands.sh [01:04] JimBastard: and you should be good to go [01:04] JimBastard: if you picked ubuntu 10.4 [01:04] jackish: sweet, thanks - I'll take a look [01:06] bradleymeck: mmmm struct passing is working on a technical level, but it never gets sent to teh eio callbacks right in eio_req [01:07] _announcer: Twitter: "Woot! Thanks to @hassox for a quick diagnosis of that one. No more @expressjs until @heroku upgrade their #nodejs version. We're on our own!" -- Sydney JavaScript. http://twitter.com/sydjs/status/24334179090 [01:07] charlenopires has joined the channel [01:09] zapnap has joined the channel [01:09] Neverender has joined the channel [01:09] _announcer: Twitter: "deploying Node.js app to Rackspace using Node.js http://bit.ly/d65iQ5" -- Don Park. http://twitter.com/donpark/status/24334439907 [01:10] alcuadrado has joined the channel [01:10] _numbers: do most people go with the semi-colon on the end in node.js or no semicolon [01:10] _numbers: none seems a little more like ruby [01:11] mjr_: _numbers: some node people are trying to start a no semicolons and comma-first revolution. [01:11] jacobolus has joined the channel [01:12] matschaffer has joined the channel [01:12] mikeal has joined the channel [01:12] SubStack: semicolons are great [01:12] _announcer: Twitter: "It was just talk though the Bluepill started to mess me round, serious thing. Monitoring a "Hello World" in node.js to see if it's nagging me." [pt] -- Marcelo Pinheiro. http://twitter.com/salizzar/status/24334717474 [01:12] SubStack: I like to put the period before in functional chains [01:13] SubStack: but not the comma, since you can have trailing commas like this: { a : 45, } [01:13] _numbers: i got mongo + picard working! wohoo [01:13] mjr_: opinions clearly differ on the matter. I like to use jslint myself. [01:13] mjr_: But I can see the point of the comma first, no semicolon people. [01:13] _numbers: oh jslint is a good point [01:14] SubStack: mjr_: there are some annoying ambiguous cases though [01:14] SubStack: like var x = y\n(z + 'woo').split('').forEach(/* ... */) [01:15] zith_: comma first? [01:15] SubStack: zith_: [4\n,5] [01:16] kersny has joined the channel [01:16] scoates: sys.inspect puts comma first [01:17] benburkert has joined the channel [01:17] scoates: er.. I thought it did. maybe not. [01:18] scoates: confused. need to feed the Ballmer curve, or stop coding. (-: [01:19] zith_: what is the advantage of that? [01:19] bradleymeck: comma first for ease of telling when a line is a continuation, semicolons before leading (,[ [01:19] zith_: (comma first) [01:19] zith_: i see [01:21] scoates: also, with comma first, you can comment-out/delete a whole line without affecting the rest of the block (e.g. when trailing comma isn't allowed) [01:21] scoates: it's ugly, but practical.. not sure how I feel about it (-: [01:22] bpot has joined the channel [01:28] _announcer: Twitter: "I love #nodejs, but let's not forget that the reactor isn't the one concurrency pattern to rule them all, and that threads are not evil." -- andrewvc. http://twitter.com/andrewvc/status/24336447239 [01:30] TomsB has joined the channel [01:30] SubStack: actually, threads do suck [01:30] cardona507 has joined the channel [01:30] SubStack: reasoning about concurrent execution is hard [01:31] SubStack: especially given non-deterministic scheduling [01:33] bradleymeck: lies! you dont need to know scheduling with locks! locks and while loops are free you know? [01:33] bradleymeck: XD [01:34] cardona507: a couple of days ago I saw a github with some code to do foursquare oauth. Anyone have any idea of a link? [01:35] softdrink has joined the channel [01:37] JimBastard: !tweet @andrewvc most js developers dont know what either of those things are. #win [01:39] _numbers: is there a print_r() for node.js [01:39] bradleymeck: not sure what print_r is [01:39] bradleymeck: require("sys").inspect(x) ? [01:40] bradleymeck: well wrap that in console.log [01:40] bradleymeck: bleh, eio_custom is confusing moi [01:40] _numbers: { _queues: [ [ [Object] ] ] } [01:41] _numbers: i was hoping it would recursively draw out the variables including that object [01:41] gthb has joined the channel [01:41] ooooPsss has joined the channel [01:41] bradleymeck: sys.inspect will, give it a null for depth [01:41] kaichen has joined the channel [01:42] danielzilla has joined the channel [01:42] dannycoates has joined the channel [01:43] _numbers: thx [01:43] _numbers: anyone have experience with Mongoose in node.js? [01:43] bradleymeck: ryah about? [01:43] _numbers: their demo is not working for me. it is saving empty collection objects, not including the attributes i set [01:43] marshall_law has joined the channel [01:44] JimBastard: fucking >><< [01:44] JimBastard: im gonna push http-cache and see if it solves this problem [01:44] _announcer: Twitter: "I wonder if the VMA's have any #nodejs powering their broadcast! so much good music there, too, events could only make it better, right? ;)" -- NodeCore. http://twitter.com/nodecore/status/24338597639 [01:45] _numbers: https://gist.github.com/dc5bd6601915ab77b136 [01:46] softdrink1 has joined the channel [01:46] bradleymeck: anyone else seeing oddities about eio_custom on master? [01:46] _announcer: Twitter: "Want to deploy NodeJS in Cloud, try node-cloudservers http://ow.ly/2D7x0 @nodejitsu #nodejs #cloud" -- newsicare. http://twitter.com/newsicare/status/24338789531 [01:47] JimBastard: _numbers: https://gist.github.com/49aeb58af6182580d113 [01:47] JimBastard: something like that [01:47] JimBastard: also [01:47] JimBastard: its still wrong [01:47] JimBastard: https://gist.github.com/49aeb58af6182580d113 [01:48] JimBastard: callback [01:48] JimBastard: s [01:48] JimBastard: (s) [01:48] JimBastard: they go over here [01:48] bradleymeck: christkv about? [01:48] gf3 has joined the channel [01:49] Tim_Smart: _numbers: Have you read http://www.learnboost.com/mongoose/ ? [01:49] _numbers: JimBastard: ah thx. well it must not be finding a record then because it never executes the callback [01:49] _numbers: i know i am not finding the record when i use mongo cli [01:49] muellerkyle has joined the channel [01:49] _numbers: i can see it is inserting collection records into the db but they are empty. the name = 'John' attribute is not being saved [01:49] _numbers: yes i have read that [01:50] _numbers: that's what started this. and this code is from their own example in the README [01:51] devneal has joined the channel [01:51] JimBastard: i use couchdb and cradle [01:51] _announcer: Twitter: "node.js http://htn.to/3T5QeC" -- wata_d. http://twitter.com/wata_d/status/24339224836 [01:51] Tim_Smart: _numbers: Have you done a 'exports.User = mongoose.model('User')' or something? [01:52] _numbers: Tim_Smart: yep [01:52] muellerkyle: Are there any known issues with SSL on the mac. I can't seem to get node to serve a file more than a few kbs [01:53] _numbers: Tim_Smart: see https://gist.github.com/bfede461f455963879ea [01:53] muellerkyle: It just seems to hang up. FF and Chrome both sit as if the response is still coming down from the server. [01:54] marshall_law has joined the channel [01:54] jackish has joined the channel [01:54] _numbers: can i pass a variable to a model when i require it? [01:55] _numbers: sorry i mean module [01:55] Aria has joined the channel [01:55] _numbers: can i pass in variables to modules? [01:56] _numbers: ah i bet i know what the prob is. order of operations [01:56] _numbers: i bet i have to define the model before i connect to db [01:56] muellerkyle: _numbers, that gist needs to do it's find after the save callback has come back. [01:57] _numbers: muellerkyle: oh. also a good point [01:57] Tim_Smart: _numbers: I think you are supposed to define models with the Mongoose require directly, rather than with a connection object. [01:57] Tim_Smart: _numbers: http://www.slideshare.net/ggoodale/getting-started-with-mongodb-and-nodejs might be helpful. [01:58] _numbers: yes [01:58] Eber: guys... why I keep seing people making this: var self = this ?!? [01:58] _numbers: ur right Tim_Smart [01:58] _numbers: it's doing a little more now [01:58] muellerkyle: Eber, this changes definition in callbacks [01:58] ajpiano has joined the channel [01:58] _numbers: Cannot call method 'capitalize' of undefined [01:58] muellerkyle: if you set a local variable, you can keep referencing the original this [01:59] Eber: muellerkyle: I guess I got it... so self is the original this, and this might change depending on the scope, right? [01:59] muellerkyle: I guess I should say, this MIGHT change what it is referencing [01:59] muellerkyle: Eber, you got it! [01:59] Eber: muellerkyle: nice :) thanks! [01:59] bpadalino: this is confusing [02:00] bradleymeck: and libeio ppl about? [02:00] Eber: man, never thought that learning javascript for real would be so hard :P [02:00] scoates: Eber: watch the crockford videos? (-: [02:00] muellerkyle: It's a great language though [02:00] bradleymeck: "this" is a good variable for contextual use :) [02:00] bradleymeck: i have some problems with crockfords videos [02:00] scoates: he talks about assigning var that = this; in one of the old YDN videos [02:00] _numbers: https://gist.github.com/bfede461f455963879ea [02:00] scoates: bradleymeck: still a good foundation, I think [02:00] Eber: scoates: I'm doing that... Started today with the history video! Hope I can make some time to see them all! [02:01] muellerkyle: Anyone use SSL with node? [02:01] bradleymeck: muellerkyle yes, i only notice oddities on my mac w/ non-GET http [02:02] muellerkyle: Hmm... Well it happens for me on static files too. [02:02] tyfighter has joined the channel [02:02] muellerkyle: I'm really having a hard time with it. [02:03] muellerkyle: I guess I'll keep banging my head against it. [02:03] JimBastard: muellerkyle: the ssl is kinda fucked up badly [02:03] muellerkyle: Yes, it seems to be not-quite-reliable. [02:03] muellerkyle: I'd really love to have SSL working. [02:04] jackish: trying to install node on my linode - anyone know what to make of this error message fatal: Unable to find remote helper for 'http'? [02:04] JimBastard: muellerkyle: look what we had to do to make rackspace work, http://github.com/nodejitsu/node-cloudservers/blob/master/lib/cloudservers/utils.js#L129 [02:04] muellerkyle: Thanks Jim, I'll take a look! [02:05] jackish: that happens when i try to clone the node git repo [02:05] JimBastard: we had to shell out to curl, since http.Client SSL wasnt working for put i think [02:06] muellerkyle: Ouch [02:06] JimBastard: lol, it works [02:06] JimBastard: its a stop gap though [02:07] muellerkyle: I guess I need to decide how much work I'm willing to do to get SSL working. [02:07] JimBastard: what are you trying to do? [02:08] muellerkyle: I'm building a web app [02:08] JimBastard: ok. [02:08] JimBastard: ssl should work [02:09] muellerkyle: Well, I can't get node to even serve a CSS file when SSL is enabled. [02:09] themiddleman has joined the channel [02:09] muellerkyle: I'm using express. Maybe, I need to pull that out of the equation. [02:09] dipser has joined the channel [02:10] HendrikB has joined the channel [02:11] Tim_Smart: Yeah a http.Client re-factor should definitely be on the node.js todo list. [02:12] tyfighter has joined the channel [02:12] TomsB has joined the channel [02:15] muellerkyle has left the channel [02:15] _announcer: Twitter: "Following up on my recent Cucumber tweets: kyuri for node.js, a Cucumber implementation that exports to Vows. http://j.mp/aSrjTn" -- Clay Loveless. http://twitter.com/claylo/status/24341506671 [02:15] TomsB has joined the channel [02:18] bradleymeck: ACTION hates c++ [02:18] bpadalino: c++ - all the fun you've ever wanted [02:19] bradleymeck: yep, running through stack trace after stack trace, the night i always wanted [02:19] _numbers: ok figured out mongoose README was totally wrong [02:20] bpadalino: draw out your memory map and see where you're stomping memory [02:20] _numbers: fortunately a fork had cleaned it up http://github.com/tdegrunt/mongoose/commit/858931ad1c5ccc215fe5e5ee1cb37cfe0bafb5b7 [02:20] bradleymeck: bpadalino, its in a library :( [02:20] _announcer: Twitter: "console.log node.js to get equipped with insidiously" [ja] -- 天沢(トリプタン系). http://twitter.com/amasawa/status/24342107589 [02:20] bpadalino: which lib ? [02:20] bradleymeck: libeio is doing something funky [02:20] bpadalino: oh i bet it's doing what you're asking it to [02:21] _announcer: Twitter: "@hyperous web based twitter client based on #nodejs" -- Lim Chee Aun. http://twitter.com/cheeaun/status/24342169331 [02:21] bradleymeck: oh i bet it is, but its examples say the opposite [02:21] _announcer: Twitter: "@cheeaun Very nice. I'm looking out for other neat #nodejs projects too. What else are there?" -- Sidwyn Koh. http://twitter.com/hyperous/status/24342212296 [02:21] bpadalino: bradleymeck: well .. i doubt that .. it's probably a subtlety that you're just missing [02:22] bradleymeck: and that is why i hate c++ [02:22] bpadalino: well, all languages have those nuances [02:22] nwhite has joined the channel [02:22] dannycoates has left the channel [02:23] _numbers: so now i need to pass in a variable to my required module [02:23] _numbers: can i do that in node.js? [02:23] bradleymeck: true but in c++ the pot holes are hug but as visible as quicksand, but you get a nice shiny care to drive around in [02:24] bradleymeck: _numbers make your export a function and pass it as an argument [02:25] _numbers: ah i c [02:25] benburkert has joined the channel [02:26] _announcer: Twitter: "@hyperous Have you looked at http://nodeknockout.com/ #nodejs" -- Prabhakar Chaganti. http://twitter.com/pchaganti/status/24342854944 [02:26] _numbers: if i have multiple exports, how can i reference more than one? [02:26] _numbers: ah maybe i know [02:26] bradleymeck: export using module.exports = x, rather than exports.y for each [02:27] _numbers: i thought they were equivalent [02:28] quirkey has joined the channel [02:29] _announcer: Twitter: "The chain-gang package from @technoweenie is cool. I just had to learn how to properly use node.js/javascript to not block. Impressive" -- birchsport. http://twitter.com/birchsport/status/24343193753 [02:29] _numbers: yay thx bradleymeck. [02:29] ryah: would people oppose to me ignoring SIGINT for child processes by default? [02:30] ryah: that would allow for ChildProcess#detach [02:30] bpadalino: how much easier does that make your life ? [02:30] _numbers: https://gist.github.com/bfede461f455963879ea [02:30] tav_ has joined the channel [02:32] amuck has joined the channel [02:33] bradleymeck: ryah, seems fine as long as you can reenable it somehow [02:34] amuck has joined the channel [02:34] bradleymeck: also, im having a bit of trouble figuring out why req->data on my eio_custom is always 1024 , http://gist.github.com/576725 [02:34] _numbers: i'm pissed that `node d.js` just hangs [02:34] _numbers: a bash script could also do this [02:34] Tim_Smart: ryah: What is the reason for ignoring it? [02:34] Tim_Smart: Oh, detach. [02:34] _numbers: `while true; do reset && node --debug app.js; done` [02:34] Tim_Smart: ^^ [02:35] _announcer: Twitter: "Node.js Modules site(NPM Modules) - http://nodul.es/ it's nice work :-)" -- Rhio.kim. http://twitter.com/Rhiokim/status/24343925224 [02:36] Tim_Smart: _numbers: node doesn't daemonize, so of course it hangs [02:36] Tim_Smart: :) [02:36] _announcer: Twitter: "Deciding whether I should use node.js or django for my final project HMMM decisions..." -- Bill Casarin. http://twitter.com/jb55/status/24344015461 [02:37] _numbers: Tim_Smart: what am i missing? [02:37] ryah: _numbers: what do you want? [02:37] Tim_Smart: _numbers: Does `nohup node d.js &` do what you want? [02:38] _numbers: no. see http://github.com/lrbabe/node-DJs [02:38] _numbers: its supposed to act like a wrapper node.js around my existing app.js [02:39] _numbers: its probably some limitation [02:39] _numbers: is there an alternative? watchr maybe [02:40] bradleymeck: 1024 is an odd number for a ptr to always default to [02:40] Tim_Smart: _numbers: Oh so you want auto-restart... [02:40] scoates: supervisord? [02:40] Yuffster has joined the channel [02:40] _numbers: Tim_Smart: yes [02:41] scoates: _numbers: ^ [02:41] _numbers: looking at it but not sure how to use it yet scoates [02:42] scoates: _numbers: PHP-centric article here, but the same logic should apply elsewhere: http://phpadvent.org/2009/daemonize-your-php-by-sean-coates [02:42] _numbers: http://github.com/isaacs/node-supervisor [02:42] _numbers: http://github.com/shimondoodkin/node-hot-reload [02:45] Tim_Smart: There is also V8's liveedit, which needs some more attention. [02:45] bradleymeck: eio_custom(EIO_Loop, EIO_PRI_DEFAULT, EIO_AfterLoop, (void*)3333333333); in EIO_Loop(eio_req *req) req->data == 1024... [02:46] mirko_ has joined the channel [02:47] bpadalino: what's with all the 3333's ? [02:47] bradleymeck: to see if anything i send in there would come out the same [02:49] _announcer: Twitter: "Queuing tasks in node.js using chain-gang - http://bit.ly/dpOEWd" -- birchsport. http://twitter.com/birchsport/status/24345581488 [02:50] saikat has joined the channel [02:51] bradleymeck: ryah, is it invalid to set up libeio in an addon's init? [02:52] Blink7 has joined the channel [02:56] ditesh|cassini has joined the channel [02:57] saikat_ has joined the channel [02:59] SpookyET has joined the channel [02:59] SpookyET: hi [02:59] _announcer: Twitter: "Hmm...I underestimated the awesomeness of CoffeeScript and Node.js." -- Ben Aτkin. http://twitter.com/benatkin/status/24346731212 [03:00] tyfighter has joined the channel [03:00] SpookyET: Has anyone played with node-sqlite? It's giving me trouble. It won't let me db.close() [03:01] John9e9 has joined the channel [03:06] JohnnyL has left the channel [03:06] alcuadrado: Is there any drawback of extending Function.prototype? I know Object.protype and Array.prototype should not be extended.. but what about Function? [03:07] KungFuHamster_ has left the channel [03:08] tapwater has joined the channel [03:09] bradleymeck: All natives are generally considered bad juju to mess with [03:09] bradleymeck: unless its in a future ecma spec [03:10] x_or has joined the channel [03:11] alcuadrado: I just can't make my mind about one of the JavaScript's inheritances models [03:11] bradleymeck: mmmm? [03:12] SpookyET: Am I using node-sqlite wrong? I don't get why db.close() doesn't work. http://gist.github.com/576750 [03:12] alcuadrado: I link prototypal inheritance [03:12] alcuadrado: like* [03:12] alcuadrado: and made this pretty piece of code that I really enjoy using: http://gist.github.com/520547 [03:13] KungFuHamster has joined the channel [03:13] alcuadrado: but I have seen that lots and lots of people use de "Constructor" inheritance model, with "new Foo()"... [03:13] bradleymeck: ewwww strict [03:13] _numbers: http://gist.github.com/576751 [03:14] _numbers: made my own node restarter [03:14] bradleymeck: but yea, the prototypal inheritence of objects is a vast memory and speed gain if you can use the contructor model [03:14] alcuadrado: is there something wrong with strict? [03:15] ryah: bradleymeck: setup libeio? [03:15] bradleymeck: eio_custom, let me grab my gist [03:15] bradleymeck: sec [03:15] rtomayko has joined the channel [03:15] bradleymeck: i dislike it cause it breaks existing code when you invoke it, if you expose ANY functions that use eval basically [03:16] cadorn has joined the channel [03:16] bradleymeck: ryah, http://gist.github.com/576725 <- always prints "1024 req->data" [03:16] scoates: I use eval(). I'm a bad person (-: [03:17] bradleymeck: i do too, it gives me fin speed when i can precompile configs [03:17] davidwalsh has joined the channel [03:17] bradleymeck: but when i can i use Function [03:18] scoates: -> http://github.com/fictivekin/webshell/blob/master/wsrc.js#L65 [03:18] scoates: [un]serializes functions. Bad. (-: [03:18] alcuadrado: but if I'm not planning tu use eval() strict is pretty good, isn't it? [03:19] bradleymeck: if ANY library you use uses eval you can break that library if it uses a function you expose [03:19] bradleymeck: you wont always, but /shrug [03:20] alcuadrado: but how the library would use my code? [03:20] bradleymeck: you give it a callback ;) [03:20] alcuadrado: ohhhhhh now I see [03:21] bradleymeck: or it compiles a set of strings you give it on the same stack [03:21] bradleymeck: it tries to arguments.callee in a call you use [03:21] bradleymeck: ... (goes on) [03:21] alcuadrado: right [03:21] alcuadrado: what a pitty [03:22] alcuadrado: strict seemed cool [03:22] bradleymeck: although lack of arguments.callee would allow tail recursion optimization :( [03:22] jacoblyles has joined the channel [03:22] bradleymeck: thats about the only thing that gives a speed gain actually [03:22] ryah: bradleymeck: seems like it should work... [03:23] bradleymeck: ryah, yea, thats why im soo confused [03:23] alcuadrado: really? that's why arguments.callee was removed? [03:23] ryah: bradleymeck: walk through it with gdb [03:23] bradleymeck: yes and its slower and more error prone than just naming a function [03:23] bradleymeck: k, will do [03:24] jacoblyles has left the channel [03:24] ryah: bradleymeck: might be the cast to int [03:24] ryah: ? [03:25] alcuadrado: bradleymeck, so I only get TRO when using strict? [03:25] codysoyland has joined the channel [03:25] bradleymeck: even if i dont cast to int, same [03:25] ryah: printf("%p req->data\n", req->data); [03:26] bradleymeck: alcuadrado, that and preventing, eval from making variables [03:26] Tim_Smart: Does "use strict"; work with node> [03:26] Tim_Smart: s/>/?/ [03:26] ryah: Tim_Smart: no [03:26] bradleymeck: 0x400 req->data [03:26] alcuadrado: good to know that brad [03:27] mikeal has joined the channel [03:27] codysoyland has joined the channel [03:27] Neverender has joined the channel [03:27] ryah: scoates: hey [03:27] scoates: ryah: hey. got my message, I assume? [03:28] ryah: scoates: yeah - what does it fix? i guess node gets messed up when input goes past the term width? [03:28] mikeal has joined the channel [03:28] scoates: yep. readline has no concept of lines that are wider than the terminal [03:28] alcuadrado: ryah, is it planned to support strict mode in node? [03:29] ryah: alcuadrado: that's v8's job [03:29] scoates: so, for example, in the REPL, if you have more than one line, and you press "up", or "home", etc., you'll be on the wrong line. [03:29] ryah: and since it's part of es5, i guess so [03:29] alcuadrado: I thought that was it [03:30] boaz_ has joined the channel [03:30] scoates: ryah: are you the readline maintainer, or someone else? [03:31] Tim_Smart: alcuadrado: You can follow http://code.google.com/p/v8/issues/list?q=label:ES5 [03:32] alcuadrado: thanks tim [03:32] saikat_ has joined the channel [03:33] ryah: scoates: yes [03:34] scoates: ryah: ok. the important parts of my code are in the lines that mention _prevLineParams [03:34] ryah: scoates: what's changed in your version? [03:34] ryah: ok [03:34] scoates: ryah: cursor is reset and the appropriate lines are deleted on long lines. [03:35] scoates: a good example: if you have a line that's wider than the terminal, the "right arrow" key won't move beyond the first line [03:35] bryanl has joined the channel [03:36] jesusabdullah: scoates: You fixed the repl? :D :D [03:36] scoates: jesusabdullah: I think so (-: [03:36] jesusabdullah: ACTION does a happy dance [03:36] jesusabdullah: It's *very* fruity. ;) [03:36] scoates: jesusabdullah: mind giving it a test? http://github.com/fictivekin/webshell [03:36] eggsby has joined the channel [03:36] bradleymeck: gdb --args node/segfault.js ; run (No executable file specified.) ? mmmm [03:37] jesusabdullah: how I test lol [03:37] SubStack: hooray I am now using connect sessions with dnode [03:37] jesusabdullah: I can test tomorrow--DnD is *finally* starting. [03:37] scoates: jesusabdullah: clone, then: node shell.js and start typing (-: [03:37] jesusabdullah: FINALLY [03:37] scoates: heh [03:37] bradleymeck: woop my bad [03:38] SubStack: this is a tweet-worthy development [03:38] jacobolus has joined the channel [03:38] ChrisPartridge has joined the channel [03:39] jesusabdullah: Ugh [03:39] jesusabdullah: I *do not* like my DnD group ;_; [03:39] _announcer: Twitter: "Finally managing to get my little head around these crazy modules for # node.js" [pt] -- Éber F. Dias. http://twitter.com/eber_freitas/status/24350772530 [03:39] _announcer: Twitter: "WSH had let it be shortened to maybe Node.js time move faster if there is more wrong with that move - Late Menheru http://htn.to/bF4gAh ken" [ja] -- OHTSUKA Ko-hei. http://twitter.com/kokogiko/status/24350786226 [03:40] _announcer: Twitter: "just got connect sessions working with dnode over socket.io by modifying dnode to expose some extra innards #nodejs" -- James Halliday. http://twitter.com/substack/status/24350795984 [03:40] SubStack: that robit is fast [03:40] jackish_ has joined the channel [03:40] scoates: sure is (-: [03:40] scoates: I'm actually completely surprised Twitter hasn't dropped the ball on streams yet. (-: [03:40] jesusabdullah: streams are awesome [03:41] bradleymeck: eio_custom's 4th variable is fine [03:42] jacobolu_ has joined the channel [03:43] _announcer: Twitter: "Hate to admit it, but I did not realize that there was so much pure javascript code in nodejs: http://bit.ly/9w6SpE #mychain" -- Chris Strom. http://twitter.com/eee_c/status/24351039970 [03:45] mikew3c_ has joined the channel [03:46] bradleymeck: ugg how do i set the break of gdb to a member function of a c++ class [03:48] ChrisPartridge has joined the channel [03:51] _announcer: Twitter: "Nice and easy read on understanding EventEmitter in node.js http://twoism.posterous.com/emitting-events-with-nodejs" -- Benjamin W. Smith. http://twitter.com/benjaminws/status/24351668491 [03:51] bradleymeck: ryah, all attempts of breaking on eio_custom and next [03:51] bradleymeck: lead to same result [03:51] junya has joined the channel [03:52] Neverender has joined the channel [03:53] Neverender has left the channel [03:56] _announcer: Twitter: "Oh, node.js or how many do you have a package manager. You know you're a good one" [ja] -- jugyo [十行]. http://twitter.com/jugyo/status/24351975544 [03:57] SubStack: an ode to node? [03:57] KungFuHamster has joined the channel [03:58] mu-hannibal has joined the channel [04:00] Tim_Smart: Google Translate just turned Japanese into an ode. [04:00] russell_1 has joined the channel [04:01] aaronblohowiak: oh man [04:01] aaronblohowiak: so many people on the list with server setup problems.. i tried to help best i could, but now instead of one guy there are three.. hahaha [04:03] bradleymeck: /me goes off to the trenches [04:03] bradleymeck: ... [04:04] scoates: is there a "proper" way to do this? http://gist.github.com/576786 [04:06] _numbers: u can have hanging commas in node.js? [04:06] _announcer: Twitter: "The cloud right after you upload data to the data store is somebody node.js pipelined and asynchronous, push the trigger to deliver another client. . What delusional world" [ja] -- 佐藤一憲. http://twitter.com/kazunori_279/status/24352683073 [04:08] path[l] has joined the channel [04:10] _announcer: Twitter: "Node.js is genuinely exciting http://goo.gl/MjIX" -- Nedumaran Rajagopal. http://twitter.com/neduma/status/24352915368 [04:10] ryah: scoates: do you want to prepare a patch - or should i try to pull it in manually? [04:11] scoates: sure. I can prepare a patch. won't be tonight, though.. I haven't been able to hit the Ballmer Peak (-: [04:11] googol has joined the channel [04:11] bradleymeck: ryah how would i link against a debug libeio for node? [04:11] scoates: ryah: do you need me to sign the CLI? [04:11] scoates: er [04:11] scoates: CLA [04:12] ryah: scoates: yes [04:12] scoates: ok. I'll try to handle that in the morning. [04:12] scoates: kudos on allowing digital signatures [04:12] _announcer: Twitter: "Running website forked - Hosted & "hackable" nodejs Twitter streamer http://dlvr.it/58S1r" -- Tech & Friki Stuff. http://twitter.com/FrikiFeeds/status/24353081129 [04:12] scoates: s/on/for/ [04:13] ryah: scoates: cool - i'm not super happy about having an extra "Erase to the right" call [04:13] ryah: _refreshLine is being called not unoften [04:14] scoates: yeah, I considered optimizing that, but then I figured that it doesn't matter (waiting on user input most of the time anyway). [04:15] ryah: yeah - but whatever - better to deal well with multiple rows [04:15] ryah: we can optimize it later [04:15] scoates: sounds good [04:16] ryah: scoates: also - getColumns doesn't need ot be called all the time- we should use SIGWINCH [04:17] dgathright has joined the channel [04:18] scoates: ryah: again, it's very fast, and not likely to be used in a high-performance environment, but I'm ok with caching it. It does need to be checked on every refresh, though (the terminal width could change between calls). Would it be better as a property + signal instead of a function call? [04:21] bradleymeck: sigwinch seems pretty much supported by all [04:22] mtodd has joined the channel [04:22] _announcer: Twitter: "Running website forked - Hosted & "hackable" nodejs Twitter streamer http://ow.ly/18YQkg" -- marcelobernard. http://twitter.com/marcelobernard/status/24353721833 [04:23] ryah: im adding a handler for sigwinch [04:24] Neverender has joined the channel [04:24] CIA-77: node: 03Ryan Dahl 07master * r678fa31 10/ TODO : add to todo - http://bit.ly/au5Rm0 [04:24] CIA-77: node: 03Ryan Dahl 07master * r0ef8a86 10/ lib/readline.js : Add SIGWINCH handler for readline - http://bit.ly/agOAXZ [04:25] Neverender has left the channel [04:26] aaronblohowiak: ACTION cheers for the new detach TODO [04:26] ryah: scoates: so now you can do require('readline').columns [04:26] ryah: scoates: it will update automatically [04:26] scoates: cool [04:27] scoates: guess that means I need to build node from HEAD (-: [04:30] aaronblohowiak: if socket.io could open a different port for websockets and the client was updated to handle this, then we could just tell people to go hog wild with nginx [04:30] LFabien has joined the channel [04:31] ryah: aaronblohowiak: ? [04:31] ryah: aaronblohowiak: but that shouldn't be hard, right? [04:32] aaronblohowiak: ryah: i'll have to review its transport multiplexing code, not sure how much impact having different servers would have on the code [04:33] aaronblohowiak: by different servers, i mean different objects whose constructor is createServer [04:33] scoates: ryah: is there a "proper" way to do this? http://gist.github.com/576786 [04:33] _announcer: Twitter: "feeling a little land-sick after great day sailing. hopefully concentrating on #node.js will distract from the phantom waves" -- aaron blohowiak. http://twitter.com/aaronblohowiak/status/24354410512 [04:34] [[zz]] has joined the channel [04:35] benburkert has joined the channel [04:36] ryah: scoates: use expect(1) ? [04:37] scoates: ryah: to catch the exception? I'd actually like the REPL to get primed with the stdin. Am I being too hopeful? (-: [04:39] eisd|away has joined the channel [04:40] jakehow has joined the channel [04:42] kjeldahl has joined the channel [04:44] jchris has joined the channel [04:45] orlandov: woot, i finally fixed my annoying multibyte-character-in-zsh-ps1 problem [04:47] jackish has joined the channel [04:48] themiddleman has joined the channel [04:50] mikew3c has joined the channel [04:50] dgathright has joined the channel [04:50] bradleymeck: ok i give up on that bug [04:51] bradleymeck: libeio ppl think its an ABI problem, but that doesnt seem to make sense to me [04:53] kaichen has joined the channel [04:53] ryah: bradleymeck: oh right - you might have to set -D_FILE_OFFSET_BITS=64 [04:53] ryah: bradleymeck: and/or -D_LARGEFILE_SOURCE [04:54] bradleymeck: in nodes make somehow? [04:55] bradleymeck: or in my wscript somehow? [04:56] ryah: bradleymeck: one sec [04:58] orlandov: bradleymeck: if you're data is gettined messed up after an eio_custom call, check out this wscript [04:58] orlandov: http://github.com/orlandov/node-sqlite/blob/master/wscript [04:58] CIA-77: node: 03Ryan Dahl 07master * r2d09ef8 10/ lib/readline.js : Fix style in readline - http://bit.ly/d3VJ8i [04:58] CIA-77: node: 03Ryan Dahl 07master * raef0d80 10/ tools/wafadmin/Tools/node_addon.py : Add lfs flags to node addon script - http://bit.ly/cwje9n [04:58] ryah: bradleymeck: try--^ [04:58] orlandov: particularly the cxxflags [04:58] orlandov: ah there you go :) [04:58] ryah: bradleymeck: you need to do "make install" again [04:59] admc has joined the channel [04:59] bradleymeck: on it [04:59] scoates: ahhhh thank you. that tab/space thing was eating away at my obsessive side (-: [05:00] mu-hannibal has joined the channel [05:01] AAA_awright: I'm trying to figure out how to tell npm where to install stuff, there doesn't seem to be any documentation [05:06] KungFuHamster has joined the channel [05:07] bradleymeck: ryah++ [05:07] v8bot: bradleymeck has given a beer to ryah. ryah now has 1 beers. [05:07] jesusabdullah: wat [05:08] bradleymeck: his node-waf patch fixed my addon [05:09] _announcer: Twitter: "nodejitsu = nodejs + Rackspace cloud (http://bit.ly/cCI0gF) # fb" [fil] -- Dhi Aurrahman. http://twitter.com/diorahman/status/24356435160 [05:09] _numbers: anyone familiar with Haml.js? [05:10] bradleymeck: sfml event loop is operational... need some polish then probably a publish tomorrow [05:10] jackish has joined the channel [05:10] _numbers: i'm annoyed that Haml.js is trimming whitespace inside and outside of all tags by default. have to do some trickery to get spaces inbetween tags. [05:11] _numbers: in Ruby HAML, it will put spaces inbetween all tags unless you tell it not to with something like %div>< [05:11] _numbers: right now i have to put =' ' in order to get a space inbetween tags [05:13] sh1m has joined the channel [05:15] sstreza has joined the channel [05:20] _announcer: Twitter: "Introducing a HTTP to Syslog proxy written in Node.js: http://bit.ly/cJPnHt #nodejs #syslog #opensource" -- Loggly, Inc.. http://twitter.com/loggly/status/24357071453 [05:21] ryah: bradleymeck: works? [05:21] bradleymeck: ryah, yea working like a charm [05:21] ryah: sweet. sorry i didn't remember that earlier [05:22] ryah: seeing orlandov's nick reminded me :) [05:22] bradleymeck: s'ok, i was just confused [05:22] ryah: hopefully that problem is fixed forever now with the wafadmin code change [05:23] bradleymeck: well now we can get some mouse events once i get the sfml event structs finished binding [05:23] bradleymeck: dunno what to use em for though [05:23] MikhX has joined the channel [05:23] ryah: floating an idea: what if require looked in .node_libraries in the current directory after looking in require.paths ? [05:24] ryah: bradleymeck: cool [05:24] dgathright has joined the channel [05:24] ryah: bradleymeck: GetEvent() is in the thread pool? [05:24] MikhX_ has joined the channel [05:24] bradleymeck: seems a bit overkill i would think [05:24] bradleymeck: i had to move GetEvent out of the main thread pool since its a while(event=GetEvent()) deal on a per window basis [05:24] ryah: well that function doesn't return if there isn't any input, right? [05:25] bradleymeck: no, it returns null [05:25] bradleymeck: blank window covers whole screen [05:25] ryah: how does it keep from spinning out of control? [05:25] ryah: (if GetEvent never blocks?) [05:25] bradleymeck: its an eventqueue, just pops [05:26] ryah: it would be cool to bind iphone stuff [05:26] bradleymeck: not ideal, but its a low lvl wrapper [05:26] ryah: i bet people'd run it [05:26] bradleymeck: yea, but we cant get node onto an iphone can we? [05:26] ryah: why not? [05:26] bradleymeck: havent seen anyone get v8 onto it [05:26] ryah: you can just ship it with your app? [05:27] ryah: psh, trivial to get it running [05:27] ryah: i'm sure someone is doing it already [05:27] bradleymeck: well once i finish up sfml bindings by end of oct if we dont have some ill work on it [05:27] mikeal has joined the channel [05:27] ryah: that could be a startup [05:27] ryah: provide an app platform in js for iphone [05:28] bradleymeck: if only i could get paid upfront XD [05:28] ryah: damn. why did i just say that publically. [05:28] bradleymeck: we could probably get it on android and iphone together for fun times [05:28] ryah: yeah [05:28] ryah: totally.. [05:28] bradleymeck: nodes model works with android's task stuff, but the wrappers would be intense on either end [05:29] _announcer: Twitter: "@raviranjan1202 On server-side, needs node.js (am trying Rhino). But best part is, you can run in the browser, using .less instead of .css" -- S Anand. http://twitter.com/sanand0/status/24357566787 [05:30] ryah: oh right - android is java.. [05:30] _announcer: Twitter: "# Expressjs is cool nodejs framework. # Ilike" [id] -- Christian Sanz. http://twitter.com/csanz/status/24357613529 [05:30] bradleymeck: ryah, android does have a c api but the bridge is expensive, try to stay in c if you use it [05:31] mape: node on iPhone would be snassy, have it work with titanium? [05:31] ryah: bradleymeck: c is slow or java is slow? [05:31] bradleymeck: the swap of modes is slow [05:31] bradleymeck: as always with jni stuff :( [05:31] bradleymeck: well its not jni, but meh [05:32] _announcer: Twitter: "node.js the android starts on different email accounts or setup" [ja] -- syu. http://twitter.com/syuta/status/24357703581 [05:32] zomgbie has joined the channel [05:32] ryah: ^-- see wtf [05:32] bradleymeck: woah woah woah, someone who can read that proper ! [05:33] bradleymeck: im not sure if that says i have nodejs running on it or note, rawr, need to learn jp sometime [05:34] ryah: how does titanium work? [05:36] mape: JS that hooks to native APIs, native UI and whatnot. Some API for XHR (think they call it that) and DB support [05:36] ryah: oh - you have to send your code to them? [05:36] ryah: and they send you back a binary? [05:36] mape: No it builds locally [05:36] ryah: oh okay [05:36] ryah: i was just reading the wikipedia page [05:36] mape: Uses the iPhone simulator/android sdk on the dev box [05:37] mape: http://developer.appcelerator.com/apidoc/mobile/latest [05:37] ryah: which javascript run time is it? [05:38] mape: Not sure, thought it converted into ObjC.. 1sec [05:38] mape: Or no it isn't.. They are announcing an early release of Appcelerator Titanium which is easiest if you think of it as an "Open Web version of Adobe AIR" in that it is a runtime that has extended APIs that allows developers to create applications using Web technology. [05:39] ryah: i wonder if it has any drawbacks [05:40] mape: So I assume it is the one the respective phones they support uses [05:40] amuck_ has joined the channel [05:40] mape: Looked pretty neat when I poked at it but not sure if the API is lacking since I haven't done any iPhone dev [05:41] mape: But nice thing is that as long as you keep to their core APIs and don't use phone specific ones you should get an app that runs phone native stuff. [05:42] mape: Not just a webkitview kinda deal with some APIs [05:42] mape: But being able to run that with node and use all the node modules sounds like a win [05:49] amuck_ has joined the channel [05:49] amuck_ has joined the channel [05:49] amuck_ has joined the channel [05:58] sudoer has joined the channel [06:02] _announcer: Twitter: "Twitter: andregoncalves's twitter-nodejs-websocket at master - GitHub: http://bit.ly/aduvrg" -- fury. http://twitter.com/__fury/status/24359251857 [06:03] _announcer: Twitter: "lemenkov started watching kordless/lodge: lodge's description: Node.js HTTP to Sy... http://bit.ly/a6BRPA" -- Peter Lemenkov. http://twitter.com/peter_lemenkov/status/24359293783 [06:11] meso has joined the channel [06:11] robotarmy has joined the channel [06:14] Aaron2 has joined the channel [06:17] ph^ has joined the channel [06:17] SamuraiJack has joined the channel [06:22] freeall has joined the channel [06:31] JimBastard has joined the channel [06:36] _announcer: Twitter: "Truly free because too early, id: yssk22 of, node.js + CouchDB + TwitterStream I try. http://d.hatena.ne.jp/yssk22/20100822" [ja] -- jean. http://twitter.com/jean926/status/24360848701 [06:38] jetienne has joined the channel [06:40] _announcer: Twitter: "Just finished hacking up a node.js client to the google analytics data apis. Node is sweet." -- Shane Hansen. http://twitter.com/shanemhansen/status/24361020672 [06:41] path[l] has joined the channel [06:42] Neverender has joined the channel [06:43] spetrea has joined the channel [06:44] Nohryb has joined the channel [06:47] prouter has joined the channel [06:47] V1 has joined the channel [06:48] jackish has joined the channel [06:49] sudoer has joined the channel [06:49] _announcer: Twitter: "Quora: What cool web technologies should I learn to build a user voted content site - CouchDB, MongoDB, Node.js, others? http://qr.ae/JaK" -- Andrew Cove. http://twitter.com/andrewacove/status/24361449931 [06:50] kjeldahl has joined the channel [06:54] ivanfi has joined the channel [06:55] jetienne: anybody using nstore... is it stable ? [06:55] derferman has joined the channel [06:56] jesusabdullah: jetienne: Somewhat. I'm using it in my bot. [06:56] _announcer: Twitter: "forgot to mention the magic words. node.js library step.js for parallel steps http://blog.vishnuiyengar.com/2010/09/all-together-now.html" -- Vishnu S Iyengar. http://twitter.com/pathsny/status/24361731992 [06:56] jesusabdullah: jetienne: It's worked well enough for me so far, but some people are having corruption issues in certain situations. [06:56] mbrochh has joined the channel [06:57] jetienne: jesusabdullah: hmmm ok [06:57] jesusabdullah: jetienne: So, it depends on how important stability is to you. :) [06:57] jetienne: jesusabdullah: the author is working on fixing those ? [06:57] jetienne: jesusabdullah: not much, this is for a bot too. and i can use nstore to unblock me. and then move to my own storage [06:57] _announcer: Twitter: "node.js + PDK = 4 x players multiplayer" -- Under Clouds Games. http://twitter.com/underclouds/status/24361796070 [06:58] jetienne: but the "pure node" key/val storage is good :) [06:58] path[l]: Dirty? [06:58] ooooPsss has joined the channel [06:58] jesusabdullah: jetienne: I think creationix is trying to fix them, yeah [06:59] jetienne: jesusabdullah: ok thanks i will give it a try [06:59] _numbers: how is node at scraping? [06:59] jesusabdullah: jetienne: You can of course always port to another db later--for example, http://github.com/pkrumins/node-store will probably be usable in a few days, and sqlite is known for being uber-robust [07:00] _numbers: thats probably a task better left to ruby i suppose [07:00] jesusabdullah: _numbers: http://blog.nodejitsu.com/jsdom-jquery-in-5-lines-on-nodejs [07:00] jesusabdullah: _numbers: ymmb [07:00] jesusabdullah: er [07:00] jesusabdullah: ymmv [07:00] jesusabdullah: but if you like jquery, this might be the ticket for you [07:00] jesusabdullah: Other than that, idk of any node.js web scrapers [07:00] virtuo has joined the channel [07:01] jesusabdullah: hpricot might be more your speed :P [07:01] jetienne: jesusabdullah: it requires sqlite in node... do i need a special build for it ? [07:01] jesusabdullah: jetienne: He just started it a few hours ago [07:01] jetienne: _numbers: node is good at scrapping thanks to all the js library for that. [07:01] jesusabdullah: jetienne: A special build of node? Probably not. But, it will probably require a node-waf build [07:01] jesusabdullah: well [07:01] _numbers: what about soap xml web apis [07:01] jesusabdullah: maybe [07:01] jesusabdullah: idk [07:01] mape: That jquery scraper is no good if you don't have control over the sites you scrape [07:02] mape: The parser isn't good enough to handle tag soup as of now [07:02] jetienne: jesusabdullah: a node-waf build ? what is it ? [07:02] mape: And I've had issues with some pretty basic selectors using jQuery in that context [07:02] jesusabdullah: mape: Good to know! [07:02] jetienne: mape: if the html is not valid ? [07:02] mape: jetienne: Yes, then parser just melts down [07:03] mape: Think Arias parser is better but it isn't in npm yet [07:03] mape: http://github.com/aredridel/html5 [07:03] jetienne: mape: he is using html5 parser tech ? [07:03] mape: has an example using the same jquerify though, so might be worth testing [07:03] jesusabdullah: jetienne: I mean, if it's any c++ then you'd have to compile the extension, using node-waf [07:03] jetienne: jesusabdullah: ah ok, this is what i call a special build :) [07:03] ooooPsss: hey guys, talking about if is suitable for node or not I ask: shall I divide my app in 2 parts? 1. register/login users, admin panel in Sinatra. 2. Real-time push notifications in node.js? is that the best solution or shall I do everything in node? [07:04] mape: jetienne: She ported the parser from some ruby parser if I don't recall incorrectly [07:04] jesusabdullah: _numbers: Do you mean, are there any soap apis for node? Not that I'm aware of, but that doesn't mean they don't exist. [07:04] danielzilla: _numbers: I've had decent luck with http://github.com/silentrob/Apricot but I haven't needed to do a ton of scraping in Node. [07:04] danielzilla: ^ Handled some pages that were pretty soup-y for me. [07:04] danielzilla: Again. YMMV [07:05] jesusabdullah: ooooPsss: You can do the former in node definitely, but I can't really speak for Sinatra. So, ymmv I guess. Me, I'd just as soon keep everything in node so I didn't have to make two processes talk [07:05] _numbers: i mean interfacing with others like ebay [07:05] path[l]: what do you guys build that needs so much scraping [07:05] _numbers: parsing xml [07:06] ooooPsss: jesusabdullah: is there any module done in node that handles registration, login and possible admin in node.js? (can't find any to check out) [07:08] path[l]: I ask because I rarely have any ideas of interesting things to build [07:08] mape: path[l]: Stealing interesting data and making it pretty? ;) [07:09] daglees has joined the channel [07:09] mape: I created a scraper a while ago that fetched the entire database of the swedish alcohol seels db and put it into a nice db [07:09] mape: *company [07:09] jesusabdullah: _numbers: There are APIs for particular apps here and there, but idk about any general SOAP tool for node [07:09] jesusabdullah: _numbers: You could write one! [07:10] jesusabdullah: _numbers: Everyone would love you forever. It's true! [07:10] mape: Had to pipe the content through htmltidy just to not have the parser go wonkers [07:10] jesusabdullah: _numbers: Well, except for substack [07:10] jesusabdullah: _numbers: http://github.com/ry/node/wiki/modules [07:10] path[l]: mape haha I see, and people want that data? [07:10] mape: But it performed well, only a couple of minutes to fetch thousands of products from crappy table with broken tags pages [07:11] jesusabdullah: _numbers: That's a lot of what exists for node [07:11] _announcer: Twitter: "node.js synchronously with the IO write is found that very difficult" [ja] -- Hirohisa Mitsuishi. http://twitter.com/bongole/status/24362371752 [07:11] mape: path[l]: For sure their site is crap, but if you want to do stuff like find out all the stuff that is in your local store you can't. With my db you can :) [07:11] ehaas has joined the channel [07:11] path[l]: ah [07:12] path[l]: neat [07:12] mape: Or get stats over many of one beer they have over time in stock [07:12] mape: Or get alerts when there are new beers [07:12] mape: etc etc [07:12] path[l]: cool [07:12] tekky has joined the channel [07:12] mape: Hard to do when the entire essence of that company is to make it hard [07:13] mape: Alcohol monopoly that basicly want's you to drink less :P [07:13] path[l]: haha [07:13] mape: "For the greater good of the country" [07:13] path[l]: yeah I heard in sweden only the state can import alcohol [07:13] path[l]: I have a friend studying there [07:14] mape: Yeah, it isn't that bad though, the variety of beers is great. Only issue is price and the times they are open [07:14] path[l]: ah [07:14] path[l]: oh hmm creationix1 is in this channel. I loved the idea of step.js so much I wrote a couple of blog posts about it. But no one seems to use it in any actual code. I wonder what the deal is. [07:14] mape: And really easy to import stuff since they can't say now. Just that you have to import a minimum amount [07:14] path[l]: is it I wonder a nice idea but not actually practical [07:15] mape: path[l]: I use it for a lot of stuff [07:15] path[l]: oh? ok [07:15] mape: The parser I just spoke of, my twitter stats importer [07:15] mape: My asset-manager [07:15] path[l]: maybe I was wrong then, I think it's really neat [07:15] mape: Most anything that does a lot of batch stuff that is async [07:15] path[l]: ah cool [07:15] path[l]: oh for the parallel thing [07:16] mape: Yeah, the group part of it [07:16] mape: With it I'm able to fetch stats for 2600 twitter users in 11sec, which is pretty neat [07:17] bpot has joined the channel [07:17] mape: Doing it in php took.. well, ages [07:17] path[l]: haha [07:18] path[l]: but was that because you didnt parallelise it in php? [07:18] mape: Yeah [07:18] mape: But doing so would probly take a ton of resources [07:18] path[l]: ah [07:19] path[l]: nice [07:19] path[l]: I tried looking at event machine recently, but it's not as obvious as node [07:19] path[l]: how to go about things [07:19] mape: Yeah, using js makes a lot more sense to me [07:20] _announcer: Twitter: "@ Psvensson Absolutely! Something Swedish NodeJS-events in general would be fun" [sv] -- Pelle Wessman. http://twitter.com/voxpelli/status/24362777759 [07:24] jesusabdullah: I think the thing with step is that it's nice but sometimes you have just enough need for it where it's annoying to work without it, but you also don't feel like bringing in another dependency [07:24] jesusabdullah: *shrug* [07:25] jesusabdullah: but it seems nice! [07:25] mape: I don't really feel dependencies is an issue anymore now that I have npm [07:25] mape: A lot worse before [07:25] V1: _numbers: SOAP parsing is fucked in node there arent any good soap clients atm. As for xml parsing you got library with bindings to libxml [07:26] V1: OH who stole my nickname >_< [07:26] SubStack: soap needs to die a horrible death [07:26] V1: o nvm, my irc client got fcked :9 [07:27] mikeal has joined the channel [07:28] mape: SubStack: Why? Nothing you can't solve with even more XML? ;) [07:28] ooooPsss: V1: how do you solve the problem with SOAP parsing? [07:30] a_meteorite has joined the channel [07:30] jchris has joined the channel [07:31] SubStack: besides html which has inertia on its side, I don't see the appeal of xml for structured data storage [07:31] shockie has joined the channel [07:31] SubStack: especially when there's json or even yaml [07:31] mape: But namespaces?! [07:32] FuzzYspo0N has joined the channel [07:33] jesusabdullah: I dislike xml either. I guess that xml is more flexible than json and yaml, but it's also outrageously verbose [07:33] jesusabdullah: So I personally like using json and yaml [07:35] jesusabdullah: I like reading yaml better than reading json, but json is more predicable sometimes [07:35] micheil has joined the channel [07:36] MrTopf has joined the channel [07:36] micheil: mde: hey, you mentioned on the mailing list that you were using clientside and serverside data modeling both of which were similar (at yammer), is the library/module you were using to do that open source? [07:36] path[l]: I have one problem with step, where a function gives me a variable that's needed 2 functions down [07:36] path[l]: if I open a file I get the file handle. I need it for writing to the file and closing it [07:36] adambeynon has joined the channel [07:39] a_meteorite has joined the channel [07:39] mape: micheil: looked at geddy? [07:40] micheil: mape: not much [07:40] mape: Think that uses shared models for validation [07:41] SubStack: mvc would be sweet with an object database [07:41] jesusabdullah: "models" makes me think of numerical models [07:41] jesusabdullah: like "a mass and a spring, m=1, k=3" [07:41] jesusabdullah: or some such [07:43] micheil: hmm, okay [07:43] SubStack: migrations could be written with tree traversals too [07:46] jesusabdullah: migrations? [07:47] SubStack: database migrations [07:48] ahc has joined the channel [07:50] mape: Seems like django had some issues with that [07:50] matthewford has joined the channel [07:51] mirko_ has joined the channel [07:53] sveimac has joined the channel [07:55] altamic has joined the channel [07:55] Neverender has joined the channel [07:56] aubergine has joined the channel [07:56] Neverender has left the channel [07:57] jackish has joined the channel [07:57] alcuadrado has left the channel [07:58] _announcer: Twitter: "Ok lazyweb request to the coding world. Create a backend game engine using node.js and the world will beat a path to your door." -- Andrew Wooldridge. http://twitter.com/triptych/status/24364378574 [07:58] sveimac has joined the channel [08:01] stagas has joined the channel [08:02] _announcer: Twitter: "Fun fact I just found out, I started playing with a little project "fastjs" about 2 weeks before "ry" started node.js according to git logs." -- R. Tyler Croy. http://twitter.com/agentdero/status/24364522964 [08:02] adambeynon has joined the channel [08:07] ntelford has joined the channel [08:07] stalled has joined the channel [08:09] hassox has joined the channel [08:15] tobiassjosten has joined the channel [08:19] V1: ooooPsss: We are internally working on a c binding for node to do the SOAP parsing.. Which we might ditch and jus go with a regular XML parsing if the SOAP providers doesn't require nasty handshaking [08:19] aubergine has joined the channel [08:19] V1: ooooPsss: But our current binding working is based on gSOAP [08:23] Tim_Smart has joined the channel [08:23] vvsh has joined the channel [08:24] MikhX has joined the channel [08:25] derferman has joined the channel [08:26] zomgbie has joined the channel [08:29] mirko_ has joined the channel [08:29] a_meteorite has joined the channel [08:31] stagas has joined the channel [08:31] Egbert9e9 has joined the channel [08:34] pdelgallego has joined the channel [08:34] derferman has joined the channel [08:34] peol_ has joined the channel [08:36] ph^ has joined the channel [08:36] daglees has joined the channel [08:37] aubergine_ has joined the channel [08:39] _announcer: Twitter: "node.js after I was able to use me-Let's Put heroku Mail" [ja] -- jugyo [十行]. http://twitter.com/jugyo/status/24366065583 [08:39] karboh has joined the channel [08:40] _announcer: Twitter: "Really excited that the web application library I have been writing in #javascript for some time now just worked out of the box in node.js" -- Matthew Robb. http://twitter.com/matthewrobb/status/24366118881 [08:41] _announcer: Twitter: ""A Twitter client with a node.js backend that talks to twitter's brand new user stream API" http://rb.tl/ayb7kv cc @webgnu" -- Robert Brook. http://twitter.com/robertbrook/status/24366179409 [08:48] jetienne: go streamie go :) [08:48] mies has joined the channel [08:49] _announcer: Twitter: "@Keyframe That "An" a few days ago was the phone in my pocket :-) I wanted to comment on your node.js/callbacks tweet." -- Ivan-Assen Ivanov. http://twitter.com/ivanassen/status/24366488509 [08:52] Tim_Smart has joined the channel [08:53] _announcer: Twitter: ".@matthewrobb I was happy to see that code load up in node.js, Now I can start developing some extensions for apps on the server." -- Jeremy Crapsey. http://twitter.com/jeremycrapsey/status/24366656020 [08:54] _announcer: Twitter: "Yeah node.js I would also be hands-on. But C / API do the hands-Daro" [ja] -- yutaka matsubara. http://twitter.com/mopemope/status/24366728091 [08:58] hellp has joined the channel [09:00] tek has joined the channel [09:02] TomY has joined the channel [09:02] CrabDude has joined the channel [09:05] sideshowcoder has joined the channel [09:06] aubergine has joined the channel [09:06] _announcer: Twitter: "@matthewcford Thanks, I'm using a cazy combination of node.js, python, Nokia QT, Webkit & VFB. Don't ask me how it works, it just does." -- Andy Kent. http://twitter.com/andykent/status/24367239026 [09:11] _announcer: Twitter: "Great node.js game! #game #nodejs #node http://icio.us/bf0vkd" -- dgAlien. http://twitter.com/dgAlien/status/24367434849 [09:19] ph^ has joined the channel [09:22] delapouite has joined the channel [09:23] aubergine has joined the channel [09:25] Tim_Smart has joined the channel [09:28] omarkj has joined the channel [09:31] xla has joined the channel [09:32] _announcer: Twitter: "Got into a Summer Research Program @UQ developing a Web Video Player application with only open technologies. Should be fun! #webdev #nodejs" -- Schermy. http://twitter.com/Schermy/status/24368406089 [09:33] _announcer: Twitter: "GD node.js to write this extension that can do anything I mean I have to use extension" [ja] -- Hirohisa Mitsuishi. http://twitter.com/bongole/status/24368425230 [09:33] therealkerni has joined the channel [09:34] q_no has joined the channel [09:35] maushu has joined the channel [09:36] mirko_ has joined the channel [09:37] _announcer: Twitter: "Creating a simple blog with node.js, express and mongodb #nodejs http://icio.us/xoi52z" -- Mauro De Giorgi. http://twitter.com/mdgArt/status/24368583305 [09:38] spetrea: can someone give me a hint why the client doesn't receive server's messages in this http://gist.github.com/577061 http://gist.github.com/577062 [09:38] spetrea: thanks [09:39] spetrea: I'm using faye and node.js [09:43] stagas: spetrea: not sure about this, but line 8 in 577061 and 10 in 577062 are different uris [09:43] daglees has joined the channel [09:44] Gui13 has joined the channel [09:44] Gui13: hello guys [09:44] Gui13: probably asking something stupid, but I can't find a way to have access to the client IP in the simple "hello world" example [09:45] Gui13: you've got somthing like createServer( function( req, res) { blablabla} ) [09:45] spetrea: stagas: , ok now they're the same.. still getting same problem [09:45] Gui13: so I gather req is the request and res is the response [09:46] Gui13: what should I look for in req to get the information about the client IP address? [09:46] stagas: Gui13: req.connection.remoteAddress iirc. you could do sys.inspect(req) to see what's in [09:46] gthb has joined the channel [09:47] Gui13: will do [09:48] Gui13: thaks [09:48] _announcer: Twitter: "I look forward to a lecture from Node.js @ @ WebExpo jakubnesetril'a on - maybe I rewrote http://www.psmka.cz / / # WebExpo" [cs] -- Ivan Kutil. http://twitter.com/codeas/status/24369098400 [09:48] _announcer: Twitter: "Juggernaut Tutorial http://bit.ly/asIvJE #javascript #nodejs" -- Tim Czubayko. http://twitter.com/timmes/status/24369123997 [09:49] stagas: spetrea: also, you're creating the client before creating the server there [09:50] _announcer: Twitter: "When I mean perfectly node.js @ t_wada I saw some of the chapter. I like the course includes EventEmitter and Promise.出Tara buy Kindle versions." [ja] -- koichik. http://twitter.com/koichik/status/24369200201 [09:52] _announcer: Twitter: "In recent js @ koichik node.js circumstances I will not avoid it." [ja] -- Takuto Wada. http://twitter.com/t_wada/status/24369300409 [09:53] AAA_awright has joined the channel [09:56] mape_ has joined the channel [10:02] John9e9 has joined the channel [10:03] confoocious has joined the channel [10:04] jetienne has left the channel [10:04] thijser has joined the channel [10:05] jetienne has joined the channel [10:05] spetrea: stagas: ah ok, I'm gonna give that a shot and see how it goes [10:05] spetrea: stagas: thanks ! [10:07] Nohryb has joined the channel [10:08] spetrea: stagas: ok, how 'bout this http://gist.github.com/577062 [10:08] spetrea: stagas: I'm creating it after the server here [10:09] altamic has joined the channel [10:09] spetrea: stagas: still the client.js doesn't show anything [10:12] path[l] has joined the channel [10:12] abiraja has joined the channel [10:15] _announcer: Twitter: "Next Saturday we're going to rock the floor on @webexpo with some serious node.js & javascript fun! Be sure to come!" -- Jakub Nesetril. http://twitter.com/jakubnesetril/status/24370353705 [10:20] shockie has joined the channel [10:21] Anti-X has joined the channel [10:23] stagas: spetrea: dunno what's going on, faye was a bit of a headache last time I used it [10:24] spetrea: stagas: any replacement ? [10:24] daglees has joined the channel [10:24] daglees has joined the channel [10:24] spetrea: stagas: like something that everybody agrees on that it's well-tested and used in lots of projects [10:26] ahc has joined the channel [10:27] Ori_P has joined the channel [10:28] stagas: spetrea: afaik no but you can have channels over something like socket.io. see here: http://brianstoner.com/blog/multi-channel-websockets-with-nodejs-and-socketio [10:29] spetrea: stagas: last time I tried socketio, got some problems with it and switched to faye, I see that socketio is popular and I think that I should've studied it better [10:30] stagas: spetrea: I prefer to roll my own channel system on each project cause I want to be in control of how it works, who subscribes where and how [10:31] eto has joined the channel [10:36] elliottkember has joined the channel [10:36] zemanel has joined the channel [10:36] V1: I also implement simple channels for socket.io just add a "channel" to each client and create a custom broadcast function and your done [10:37] V1: Easy as pie [10:37] omarkj: That's what I do as well. [10:37] stagas: this came up today also: http://dailyjs.com/2010/09/13/juggernaut/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+dailyjs+(DailyJS) [10:37] gthb has joined the channel [10:38] V1: stagas: doesn't that require you do use ruby? [10:39] ahc has joined the channel [10:41] Anti-X has joined the channel [10:41] stagas: V1: yeah it seems so :P also needs redis [10:41] spetrea: juggernaut is complicated [10:42] virtuo has joined the channel [10:42] hellp has joined the channel [10:45] V1: stagas: It just seems like a pointless solution to me, when you use node for the websockets and ruby for the publishing -_- and indeed spetrea juggernaut is overcomplicating things. [10:46] stagas: V1: heh, it's for ruby projects wanting node.js power :) [10:46] V1: Probably [10:46] V1: you might as well switch completely than [10:48] zemanel has joined the channel [10:48] Neverender has joined the channel [10:50] mikew3c has joined the channel [10:51] q_no: anyone free for a beta-test round of http://nettank.nrg-media.de/ ,need to test my latest changes [10:51] _announcer: Twitter: "Just put the free Mastering Node.js epub book on my iPad. Looks good so I may have to dip into my pocket. http://tinyurl.com/36xoosy" -- Aaron Morton. http://twitter.com/aaronmorton/status/24372112703 [10:51] q_no: chrome preferred ^^ [10:51] mies has joined the channel [10:56] stagas: q_no: nice :) [10:56] q_no: does it lag or stutter? [10:56] stagas: no it's pretty smooth in chrome (windows) [10:57] _announcer: Twitter: "#nodejs non-blocking #mongodb driver is cool but the anon func as continuation idiom works against code reuse." -- Julian Kelsey. http://twitter.com/scrawlings/status/24372409732 [10:57] mirko_ has joined the channel [10:58] path[l] has joined the channel [10:59] eto: how does it goes? [11:00] Anti-X: !tweet scrawlings The function doesn't have to be anonymous... [11:00] q_no: stagas, I see..you like it :D [11:00] q_no: going in circles.. hehe [11:01] stagas: q_no: lol :) [11:01] q_no: hope to see some more users soon, had only 4ppl max so far [11:01] fermion has joined the channel [11:01] q_no: was still smooth with chrome [11:02] q_no: on the op left is a FPS counter, how much do you have? [11:02] Anti-X: !tweet @scrawlings The function doesn't have to be anonymous... [11:02] q_no: *top left [11:02] aliem has joined the channel [11:02] stagas: q_no: 29-30 [11:02] q_no: nice :) [11:02] jedschmidt has joined the channel [11:03] stagas: q_no: it's unplayable on ff [11:03] q_no: yeah I know [11:03] ahc has joined the channel [11:04] q_no: that's due to the lack of HTML5 sockets in FF [11:04] sideshowcoder has joined the channel [11:04] Anti-X: takes forever to load [11:04] q_no: ACTION is out for lunch...colleagues are calling [11:04] q_no: bbl [11:06] jetienne: q_no: the game is fun. but it need a mouse control [11:06] jetienne: q_no: rotation via kb is too unnatural [11:06] Anti-X: it locked up [11:07] Anti-X: or at least my opponents stopped moving [11:07] jetienne: q_no: no collision between tank ? [11:08] omarkj_ has joined the channel [11:08] stagas: jetienne: it says 12 hrs of coding on bottom left :) [11:08] jetienne: stagas: :) [11:08] Anti-X: WHY ARE THERE NO SOUNDS? THIS GAME SUCKS!!!! [11:08] Anti-X: :P [11:09] jetienne: btw how is the latency on html sound ? like can i synk what is on the screen and what goes out speakers ? [11:10] Anti-X: yeah [11:10] Anti-X: as long as the sound is loaded [11:10] stagas: jetienne: probably [11:11] jetienne: cool [11:11] stagas: I'm surprised there isn't an html5 audio sound fx lib [11:11] Anti-X: i have one [11:11] stagas: Anti-X: I want it! :) [11:11] zorzar has joined the channel [11:12] Anti-X: it's not very optimised, but i'll add it to github or some stuff with some comments on how to use it [11:16] stagas: soundmanager w/ flash has >100ms latency [11:18] jetienne: stagas: and on html5 with current chrome lets say ? on a toy game, it may be ok to require a modern browser [11:19] _announcer: Twitter: "Noticing some interesting evolution of Node.js towards #Clojure "best practices". #uhoh" -- BradfordS. http://twitter.com/LusciousPear/status/24373597988 [11:19] SubStack: evolution of what [11:22] stagas_ has joined the channel [11:26] mirko_ has joined the channel [11:28] _announcer: Twitter: "If you work in peace today (detailed correction had) gone, your heart's content node.js touch. jQuery and was so touching, proxy I've been experimenting with.ー node.js or two to come jQuery.proxy Ne." [ja] -- fu_su. http://twitter.com/fu_satou/status/24374074621 [11:32] _announcer: Twitter: "There is such misunderstanding of me, apparently on the browser to interpret the variable scope and Runtime node.js environment that seems to interpret differently. I did have trouble in the handling of variables in closures, which also means no use jQuery.proxy. The API also provides you a storm of higher-order functions. Trouble." [ja] -- fu_su. http://twitter.com/fu_satou/status/24374298277 [11:32] Tim_Smart has joined the channel [11:32] okuryu has joined the channel [11:34] stagas: Anti-X: another issue I had when trying html5 audio is that I had to load the sound every time before playing it, did I do something wrong there? [11:34] Anti-X: yup [11:35] stagas: I couldn't figure it out, it's so undocumented [11:36] stagas: I have the same problem with soundmanager html5audio=true, the sound just plays once and never again [11:37] breccan has joined the channel [11:37] ben_alman has joined the channel [11:39] stagas: but the latency is way better with html5audio <50ms [11:39] ooooPsss: is there a way to use html5 audio to transmit audio in real-time? stagas? Anti-X ? [11:39] Anti-X: yup [11:39] Anti-X: it can stream [11:40] stagas: what do you mean transmit? [11:40] ooooPsss: like skype [11:40] ooooPsss: server - client via html5 [11:40] ooooPsss: (not phone) [11:40] Anti-X: not sure if the stream is implemented though, since some browsers require the sound to load before playing it [11:40] _announcer: Twitter: "If you want to get ready for webOS services using node.js, http://howtonode.org/ has a lot of great articles." -- Ben Combee. http://twitter.com/unwiredben/status/24374790213 [11:40] Anti-X: the spec allows for streams [11:40] ooooPsss: ok, ty [11:41] stagas: ooooPsss: you can't send audio though afaik [11:42] stagas: maybe in html6 :) [11:43] stagas: if that's what you're talking about [11:43] ooooPsss: ok, I had an idea for that, gr :P [11:43] ooooPsss: thnx [11:43] stagas: flash is king on broadcasting audio/video still [11:45] TomsB has joined the channel [11:47] _announcer: Twitter: "I do something in node.js. What do" [ja] -- こば@病みプログラマ. http://twitter.com/KOBA789/status/24375199850 [11:47] jetienne: html6 will allow to record mic+camera from user box [11:47] jetienne: i hope :) [11:47] stagas: and udp please! :) [11:53] confoocious has joined the channel [11:54] _announcer: Twitter: "Exciting things happening at work #nodejs #mongodb. On an unrelated note: #AfrihostRelaunch http://bit.ly/d8Yeeq" -- Stephen Perelson. http://twitter.com/prlsn/status/24375605976 [11:55] _announcer: Twitter: "Node.js Knockout projects repository --- http://bit.ly/bJNF8h" -- marinhobrandao. http://twitter.com/marinhobrandao/status/24375709137 [11:55] omarkj: Wait, we're already talking about HTML6? :) [11:56] omarkj: I truly am looking forward to 2020. [11:56] _announcer: Twitter: "Playing with Node.js tonight. Like it so far." -- Ahsanul Haque. http://twitter.com/ahsanul/status/24375746067 [11:56] aubergine_ has joined the channel [11:58] Anti-X: jetienne, there have been (late) suggestions to add to html5, but i'm not sure if it's gonna go through [11:59] jetienne: Anti-X: im sure google will push for it [11:59] Anti-X: i think the deadline for new features has passed [12:00] _announcer: Twitter: "Another week: Rotterdam.php with über cool and talks about Node.JS CouchDB! Sept. 20 @ 6:00 p.m. Mangrove - http://bit.ly/c8vamm" [nl] -- Rotterdam.php. http://twitter.com/rotterdamphp/status/24375998131 [12:00] jetienne: ok [12:00] stagas: Anti-X: how do I reset the sound so that it plays again? I'm doing currentTime = 0 but it doesn't work [12:01] Anti-X: which browser? [12:01] stagas: chrome [12:01] Anti-X: dunno, but you probably need to pause it [12:01] stagas: did that too [12:03] wakawaka has joined the channel [12:04] zemanel has joined the channel [12:05] allengeorge has joined the channel [12:05] dantalizing has joined the channel [12:05] mies has joined the channel [12:14] jedschmidt has joined the channel [12:14] _announcer: Twitter: "of the perl6 2010.08 Insko and node.js Owata" [ja] -- Kuzuha SHINODA. http://twitter.com/kuzuha/status/24376940525 [12:16] pkrumins: anyone good at npm? [12:16] pkrumins: i wonder if author has forgotten to npm publish his latest module version to npm, can i do it for him? [12:16] pkrumins: so i tried cloning his repo, and running `npm publish .`, but I get: npm ERR! Error: forbidden user: pkrumins not authorized to modify sqlite: sqlite/0.0.3 [12:16] _announcer: Twitter: "Hi @felixge what is the BEST nodejs-based REST framework? thanks" -- Dhi Aurrahman. http://twitter.com/diorahman/status/24377070281 [12:16] pkrumins: that i am unauthorized to publish version 0.0. [12:16] pkrumins: 3 [12:16] schamane has joined the channel [12:17] jan____ has joined the channel [12:19] stagas: you need his username/password [12:20] pkrumins: oh [12:20] pkrumins: i dont have it [12:20] pkrumins: gonna crack it [12:21] stagas: then register yourself with npm with those credentials [12:21] _announcer: Twitter: "needs some assistance on express.js/node as a basic web server trouncing my jQuery get calls... project over here http://bit.ly/bTJDHx" -- BenJam. http://twitter.com/BenJam/status/24377345745 [12:22] d0k has joined the channel [12:26] marcostoledo has joined the channel [12:28] _announcer: Twitter: "node.js of Script.runInNewContext, timeout can be specified only I had" [ja] -- SATOH, Hiroh. http://twitter.com/cho45/status/24377804405 [12:28] jetienne: some may considere this rude [12:29] pkrumins has joined the channel [12:31] blaines has joined the channel [12:32] boaz has joined the channel [12:34] stagas: html5 audio js interface sucks [12:34] jetienne: stagas: as in ugly or as in not-working [12:34] stagas: both [12:34] jetienne: ok [12:35] niemeyer has joined the channel [12:35] stagas: I guess I have to live with the latency in flash [12:38] mape has joined the channel [12:38] matschaffer has joined the channel [12:40] crohr has joined the channel [12:40] Anti-X: stagas, i'm just updating my library [12:41] Anti-X: it's full of spaghetti code, since it was made only for one project [12:44] _announcer: Twitter: "@nmerouze Thanks for the excellent node.js app stepthrough! A note that most of the node methods have new names now would be helpful though" -- Dan. http://twitter.com/daniel_j_s/status/24378972527 [12:52] vvsh_ has joined the channel [12:53] xla has joined the channel [12:54] trotter has joined the channel [12:57] vvsh has joined the channel [12:59] ooooPsss has joined the channel [13:01] Ori_P has joined the channel [13:02] _announcer: Twitter: "Realtime server push with node.js, WebSockets and Comet http://bit.ly/dsBUcM #nodejs #web3 #realtime #ditributed #comet" -- Cristóferson Bueno. http://twitter.com/cbueno/status/24380262267 [13:03] Anti-X has joined the channel [13:04] pgriess has joined the channel [13:06] _announcer: Twitter: "Going through Node.js patterns. http://bit.ly/b26vZA #javascript #patterns #nodejs" -- Rakshit Menpara. http://twitter.com/deltasquare4/status/24380592700 [13:07] aubergine has joined the channel [13:07] stagas: Anti-X: where do I find it? [13:08] path[l] has joined the channel [13:08] Anti-X: im still editing :p [13:08] Anti-X: i didn't have a github account, so i needed to get ssh shit to cygwin which took forever [13:09] Anti-X: bad connection today [13:09] Anti-X: nice timing [13:10] femtoo has joined the channel [13:11] TomsB_ has joined the channel [13:12] davidsklar has joined the channel [13:12] Anti-X: stagas, only the simple version is up now, the advanced version is coming soon, but i think you only need the simple one [13:12] Anti-X: http://github.com/torvalamo/htmlaudio [13:15] stagas: Anti-X: thanks [13:15] Anti-X: i'll add some examples later tonight, as well as the advanced version [13:15] webr3: Anti-x: likewise, was on my todo to find a simple audio example! [13:17] evanpro has joined the channel [13:17] bpot has joined the channel [13:19] jherdman has joined the channel [13:21] Anti-X: the simple one is not nicely written, but it does what it says on the tin [13:21] freeall has joined the channel [13:22] Anti-X: and if sounds aren't supported it will just not say anything [13:23] pkrumins has joined the channel [13:23] Anti-X: bah, it's too simple, i can see that now.. might not be enough for your game [13:24] robotarmy has joined the channel [13:24] Anti-X: the advanced one has event listeners going off too (not mentioned in the readme yet) [13:27] herbySk has joined the channel [13:28] jedschmidt has joined the channel [13:32] Anti-X: stagas, the simple one was made just for playing notification sounds, like a new chat message ping or something, so for your game it won't do, you'll just have to wait :P [13:33] Anti-X: oh it wasn't your game [13:33] Anti-X: nvm [13:33] Anti-X: :p [13:36] _announcer: Twitter: "I had a dream about an awesome node.js idea but I can't remember it anymore" -- Jose Fernandez. http://twitter.com/jrfernandez/status/24382832737 [13:41] ceej has joined the channel [13:42] stagas: I don't get it [13:42] stagas: I must be hitting a browser bug [13:43] Anti-X: it won't play twice? [13:43] stagas: I was doing exactly the same on my game but the sounds still just play *once* [13:43] Anti-X: weird [13:43] Anti-X: works fine with me [13:43] stagas: no yours works fine [13:43] Anti-X: so mine plays it twice? [13:43] stagas: yes [13:43] Anti-X: odd [13:44] stagas: this is my impl: http://gist.github.com/577291 [13:45] abiraja has joined the channel [13:45] stagas: and I'm pushing with sfx.add('foo', 'bar') then doing sfx.play('foo') [13:46] stagas: I log rs[0] and see it's actually an audio object just before .play [13:46] stagas: see the console here: http://backgammon.stagas.com/ [13:46] ben_alman has joined the channel [13:47] Anti-X: well what's the rs thing then [13:48] stagas: I'm shuffling the category so I get a random sfx for the same action. ie I have multiple hit sounds so I don't want the same one to play every time [13:48] Anti-X: aha [13:48] stagas: it's still a proper audio object [13:49] Anti-X: i don't see the problem there [13:49] stagas: yeah me neither [13:51] Anti-X: though it is very sensitive to the files being encoded 100% correctly, especially ogg files [13:51] Anti-X: that i learned the hard way [13:52] Anti-X: couldn't get something to work, can't remember what [13:52] stagas: I tested a sample from there with your impl [13:52] Anti-X: turned out my converter made ogg files that media player could play, but not opera [13:52] stagas: and it worked ok, it plays multiple times [13:52] stagas: so it's not oggs problem [13:52] stagas: let me check ff [13:52] bradleymeck has joined the channel [13:53] Anti-X: some ff might require mp3 [13:53] Anti-X: but 3.6 should accept ogg [13:53] jetienne: what about webm stuff ? i guess they provides rules for audio no ? [13:54] vvsh_ has joined the channel [13:55] Anti-X: never used webm [13:55] sideshowcoder has joined the channel [13:56] Anti-X: all the latest major browsers supporting html5audio support ogg and mp3, safari is the only one falling back on mp3 (as far as i know) [13:56] Anti-X: and ie9 probably [13:56] schamane has left the channel [13:58] Anti-X: i ran an html5audio test page through a browser screenshot service and got a nice overview of which ones support what :p [13:59] Nohryb has joined the channel [14:02] Gruni has joined the channel [14:04] webr3: if you search for node.js in google (here at least) you get meebo ad saying "You should work at Meebo" www.meebo.com/secretjobs We're passionate Web folks who know great products start w/great people [14:06] bradleymeck: i would ask, whats the pay and where [14:06] blowery: meebo is in SF [14:07] webr3: http://www.meebo.com/jobs/openings/secretjobs/ [14:07] mape: haven't they been profitable for quite some time? [14:07] bradleymeck: pfff im not moving to sf [14:07] blowery: mape: private, so hard to say. i'd heard they were. [14:07] webr3: "Position located in Mountain View" [14:08] webr3: regardless, cool to see bigcorps (~ish) trying to pick up node developers :) [14:08] micheil: yeah, meebo is a good company [14:09] cferris has joined the channel [14:09] micheil: I'm thinking I should really reapply for that one.. it's been 3 years. [14:09] webr3: and if you search for mongodb you get google.co.uk/jobs and struq.com/jobs as advertisers wanting mongodb devs [14:10] webr3: hmm this is quite interesting (and a nice way for them to job-seek) [14:10] bradleymeck: lol i wonder if we could get a fork of mongo on v8 [14:10] wink_: bradleymeck: they already have one [14:10] loincloth has joined the channel [14:10] bradleymeck: touche [14:10] _announcer: Twitter: "YUIconf 2010: Yahoo! User Interface conference on YUI, YQL & NodeJS http://bit.ly/yuiconf2010reg Nov 8-10 at Yahoo! $35 until Oct 8 #ux" -- Kaleem. http://twitter.com/kaleemux/status/24385610071 [14:11] ooooPsss has joined the channel [14:11] bronson has joined the channel [14:12] lakin has joined the channel [14:12] micheil: bradleymeck: it was being worked on [14:12] daniellindsley has joined the channel [14:13] micheil: bradleymeck: there's actually a bug ticket about it, something was a blocker on it. [14:15] ceej has joined the channel [14:18] bvleur has joined the channel [14:21] LFabien has joined the channel [14:22] aheckmann has joined the channel [14:23] gwoo has joined the channel [14:24] davidwalsh has joined the channel [14:24] _announcer: Twitter: "@quplo Yeah, but its Sass parsing is closed under common JavaScript so I'm guessing it works without Node.js on client-side somehow" -- tnzk (たんざく: 倉). http://twitter.com/tnzk/status/24386772583 [14:27] maushu: Good announcer. [14:27] maushu: ACTION pats _announcer's head. [14:27] bradleymeck: hehe [14:28] maushu: Though, announcer is a little annoying. [14:28] _announcer: Twitter: "Node.jsのベンチやばい http://pepijndevos.nl/js-server-benchmark-nodejs-rhino-part-2" -- 33. http://twitter.com/33/status/24387104811 [14:28] bradleymeck: to keep him up or just maint? [14:28] maushu: Hmm, actually, I meant twitter. [14:29] jtsnow has joined the channel [14:29] maushu: Now that I'm using somebody's else twitter lib it shouldn't crash that much. [14:29] maushu: Specially since I added some backups. [14:31] ntelford has joined the channel [14:33] Anti-X: stagas, updated simpleaudio with events and an example [14:34] bradleymeck: simpleaudio, on node? [14:34] marshall_law has joined the channel [14:35] cardona507 has joined the channel [14:35] freeall has joined the channel [14:36] loinclot_ has joined the channel [14:37] davidwalsh has joined the channel [14:37] Anti-X: bradleymeck, in html5 [14:38] matt_c has joined the channel [14:39] herbySk has joined the channel [14:40] q_no: does node.js have any Math functions rand() sin() ? [14:40] mdg: ci [14:41] mdg: well, random [14:41] bradleymeck: v8 Math.sin(.5) [14:41] v8bot: bradleymeck: 0.479425538604203 [14:42] bradleymeck: v8 Math.random() [14:42] v8bot: bradleymeck: 0.12488385569304228 [14:42] q_no: hehe, great! :) [14:42] _announcer: Twitter: "@jziggy618 endless amounts of fun: http://nodejs.org/" -- Brian Celenza. http://twitter.com/bcelenza/status/24388264323 [14:42] Anti-X: not endless, there is a stack limit [14:43] Anti-X: i hope [14:45] softdrink has joined the channel [14:47] Nohryb has joined the channel [14:49] ooooPsss has joined the channel [14:50] bradleymeck: good ole apple, this works with X-Code, but the GCC on mac is my little secret, teehee [14:52] _announcer: Twitter: "node.js vpn installed on your sample code I've been practicing strange diploma. But I could use it in a sense, we still come to. Who malttana imagination problem." [ko] -- jay. http://twitter.com/ijpark/status/24389137934 [14:55] Anti-X: ffs, i can't code during the day.. the difference in light from looking away from the screen and looking onto it is too great! [14:55] Anti-X: (black editor background) [14:55] cferris: are there any static site generators out there for node (like jekyll or something)? [14:57] benburkert has joined the channel [14:58] V1 has joined the channel [14:58] ahc has joined the channel [14:58] nerdEd has joined the channel [14:58] shockie has joined the channel [15:01] justinlilly has joined the channel [15:01] Me1000 has joined the channel [15:02] felixge has joined the channel [15:02] felixge has joined the channel [15:03] zum: cferris: petrify seems to be one (haven't tried) http://github.com/caolan/petrify [15:04] zum: wheat (http://thechangelog.com/post/526646366/wheat-blog-engine-for-node-js) seems to be similar to jekyll, but not static I think [15:05] nik0 has joined the channel [15:05] dmcquay has joined the channel [15:06] steadicat has joined the channel [15:09] daniellindsley has joined the channel [15:11] codysoyland_ has joined the channel [15:12] dgathright has joined the channel [15:13] quirkey has joined the channel [15:14] killfill: hello.. whats ceoip? [15:14] killfill: http://github.com/strange/node-geoip/blob/master/lib/geoip.js [15:14] killfill: second line require's it.. [15:15] killfill: canno make geoip work.. :S [15:15] loincloth has joined the channel [15:16] jedschmidt: killfill: http://github.com/strange/node-geoip/blob/e52b6cfa990fcd3b8e0b4f409ce02e5ccd97c837/src/ceoip.cc [15:19] cardona507 has joined the channel [15:19] eggsby1 has joined the channel [15:20] killfill: ACTION trying to compile it..  [15:20] jedschmidt: killfill: i'm not sure whether that'll work, but good luck. [15:20] cloudhead has joined the channel [15:20] nefD: hmm i wonder if theres a decent js implementation of a mersenne twister out there [15:22] killfill: is there anoter geoip lib for node?.. its actually not working.. :P [15:22] jesusabdullah: What's geoip? [15:22] ph^ has joined the channel [15:23] cferris: zum: thanks! looking into both now [15:23] killfill: it tells you georeference data from an ip [15:23] killfill: country, etc. [15:23] killfill: lat/lon [15:23] Yuffster has joined the channel [15:24] pufuwozu has joined the channel [15:24] mikew3c has joined the channel [15:24] jesusabdullah: hmm [15:25] jesusabdullah: Whatcha gonna do with that? [15:26] killfill: bah, ill just use an process.. [15:26] killfill: not much.. just playing around.. [15:26] killfill: ACTION new to node [15:27] _announcer: Twitter: "@manidoraisamy No I haven't, thinking of starting one myself - using node.js/html5 & sharing engine code between two." -- Pascal Rettig. http://twitter.com/cykod/status/24392150978 [15:27] boaz_ has joined the channel [15:28] steadicat has joined the channel [15:28] pengwynn has joined the channel [15:30] _announcer: Twitter: "I find node.js one of the most interesting technologies to come along in years: http://dld.bz/vwZk" -- Hal Helms. http://twitter.com/halhelms/status/24392393358 [15:31] hayeah has joined the channel [15:31] jbenesch has joined the channel [15:32] tableton has joined the channel [15:33] eggsby1 has joined the channel [15:35] Aaron2: Hal Helms is a google recruiter [15:35] mu-hannibal has joined the channel [15:35] tahu has joined the channel [15:35] Aaron2 has left the channel [15:36] KungFuHamster has joined the channel [15:36] rwaldron has joined the channel [15:36] sonnym has joined the channel [15:36] Throlkim has joined the channel [15:38] _announcer: Twitter: "Any fellow nerds out there play with node.js yet? Thoughts?" -- Nick Maloney. http://twitter.com/ngmaloney/status/24393055929 [15:38] jakehow has joined the channel [15:39] abhinay has joined the channel [15:40] jacobolus has joined the channel [15:40] LFabien has joined the channel [15:40] abhinay: how do I change the name of a node server process? [15:41] abhinay: setting process.title doesn't seem to affect the name that appears in the 'ps ax' list [15:42] marcostoledo has joined the channel [15:45] HAITI has joined the channel [15:45] rauchg_ has joined the channel [15:46] marcostoledo_ has joined the channel [15:48] tj has joined the channel [15:50] jamescarr has joined the channel [15:50] ajpiano has joined the channel [15:51] stephank` has joined the channel [15:54] zum: abhinay: I noticed the same, but 'ps a' lists the new name [15:55] dgathright_ has joined the channel [15:55] KungFuHamster has joined the channel [15:56] zum: and now it doesn't... go figure [15:57] robotarmy has joined the channel [15:57] abhinay: zum: yeah it doesn't for me too [15:57] nuba has joined the channel [15:58] zemanel has joined the channel [15:58] zum: but if you do "ps -ao comm", then it lists the new name [15:59] ditesh|cassini has joined the channel [16:01] abhinay: zum: thanks, you're right [16:01] mies has joined the channel [16:03] bradleymeck: would a JNI api be worth it? [16:03] njero has joined the channel [16:03] jesusabdullah: What's JNI? [16:03] bradleymeck: java native interface [16:03] jesusabdullah: hmm [16:04] softdrink: *hiss* [16:05] ivanfi has left the channel [16:06] xla has joined the channel [16:08] sh1mmer has joined the channel [16:09] langworthy has joined the channel [16:10] bradleymeck: softdrink, i know java is evil, but if it gets more people to have less to complain about node... [16:10] Nohryb has joined the channel [16:10] xla has joined the channel [16:12] pyronicide has joined the channel [16:16] mu-hannibal has joined the channel [16:19] freeall has joined the channel [16:21] dipser has joined the channel [16:22] sudoer has joined the channel [16:23] qFox has joined the channel [16:23] nuba has joined the channel [16:24] jacobolus has joined the channel [16:27] niemeyer has joined the channel [16:27] tav_ has joined the channel [16:28] Sami_ZzZ has joined the channel [16:30] ooooPsss has joined the channel [16:31] dgathright_ has joined the channel [16:32] noahcampbell has joined the channel [16:33] ehaas has joined the channel [16:34] sveimac has joined the channel [16:35] marcostoledo has joined the channel [16:37] noahcampbell has joined the channel [16:42] kriszyp has joined the channel [16:44] marcostoledo_ has joined the channel [16:46] ryah: abhinay: setting process.title is the correct way [16:47] _announcer: Twitter: "HowToNode.org, a community blog (created by @creationix) dedicated to #NodeJS - http://howtonode.org/" -- Florian Bahr. http://twitter.com/fbahr/status/24398370201 [16:47] WALoeIII has joined the channel [16:48] mbrochh has joined the channel [16:48] mbrochh has joined the channel [16:49] Alex-SF has joined the channel [16:50] codysoyland_ has left the channel [16:50] abhinay: ryah: thanks [16:55] kjeldahl_ has joined the channel [16:56] cardona507 has joined the channel [16:56] timemachine3030 has joined the channel [16:58] mtodd has joined the channel [16:59] isaacs has joined the channel [16:59] zith_: i dont think java is that evil [16:59] PyroPeter has joined the channel [16:59] _announcer: Twitter: "What fascinates me about Node.js is that it makes you think differently, similar to the way Rails and Twitter inspired new perspectives." -- Don Park. http://twitter.com/donpark/status/24399274614 [17:01] Anti-X: zith_, it's not evil, it just doesn't know better [17:01] mikew3c has joined the channel [17:01] bmavity has joined the channel [17:02] zith_: :) [17:02] dylang has joined the channel [17:02] isaacs: pkrumins: hey [17:02] isaacs: pkrumins: you can get the owner's info with: npm owner list sqlite [17:02] JohnnyL has joined the channel [17:03] isaacs: pkrumins: and then email orlandov and poke at him to publish a new version ;) [17:03] aconran_ has joined the channel [17:03] _announcer: Twitter: "Changing the node.js backend of a recent project to be RESTful because javascript makes me sleepy." -- Andrew. http://twitter.com/imagepriest/status/24399552522 [17:03] mies has joined the channel [17:04] isaacs: AAA_awright: Yes, you can tell npm how to do just about everything. check out "npm help config". http://github.com/isaacs/npm/blob/master/doc/config.md [17:05] c4milo has joined the channel [17:06] elliottkember_ has joined the channel [17:06] _announcer: Twitter: "Can't think of a better place to finish putting together some #nodeJS & #socket.io demos for @ProfDoane http://yfrog.com/naoabj" -- Max Nanis. http://twitter.com/x0xMaximus/status/24399810581 [17:07] CrabDude: anyone know the largest production deployment of node.js? [17:08] path[l] has joined the channel [17:11] micheil: CrabDude: possibly plurk [17:11] jacobolus has joined the channel [17:11] micheil: or yahoo (not sure about yahoo though) [17:12] CrabDude: micheil I remember seeing some solid data on its scalability, but can't seem to find them [17:12] apemsel has joined the channel [17:13] pkrumins: isaacs: oh thanks [17:13] pkrumins: isaacs: btw, i have a question - suppose his module creates 'sqlite_binding', now the trouble is that when I npm install his module, and then do `require('sqlite')` from my module, it finds the sqlite.js but does not find `sqlite_binding` that sqlite.js itself uses. [17:14] pkrumins: isaacs: i wonder how to sort this out correctly [17:14] pkrumins: sqlite.js does require('./sqlite_binding'), i think i am gonna try just require('sqlite_binding') [17:14] isaacs: pkrumins: probably it's not getting built? [17:15] isaacs: pkrumins: what version of npm do you have? [17:15] pkrumins: latest, isaacs. [17:15] pkrumins: isaacs: it's getting built! [17:15] isaacs: ok.... but there's no ./sqlite_binding? that's odd [17:15] pkrumins: latest = 0.2.0 [17:16] pkrumins: isaacs: you can try it yourself - npm install pksqlite [17:16] pkrumins: (i renamted his sqlite to pksqlite for now) [17:16] isaacs: ha!! [17:16] isaacs: bindingS! [17:16] isaacs: is a typo [17:16] pkrumins: ACTION checks [17:16] isaacs: oh, no, it's doing that... [17:16] isaacs: hmmmm [17:16] niemeyer_ has joined the channel [17:17] isaacs: pkrumins: seems like it's working for me. i see sqlite3_bindings.node in the folder, a symlink to ./build/default/sqlite3_bindings.node [17:18] pkrumins: hmmmmm. [17:18] isaacs: pkrumins: what os? [17:18] pkrumins: linux [17:19] pkrumins: isaacs: ok let me start this fresh again [17:19] isaacs: rm and reinstall, perhaps? [17:19] elliottkember_ has joined the channel [17:20] benburkert has joined the channel [17:20] pkrumins: perhaps, will report soon! [17:20] c4milo has joined the channel [17:20] _announcer: Twitter: "Would you rather put someone into node.js AIR ... and I have a feeling that" [ja] -- SATOH, Hiroh. http://twitter.com/cho45/status/24400823587 [17:21] jchris has joined the channel [17:21] killfill: hm.. i need to use a http client, but need to wait sync for the response.. [17:22] langworthy has joined the channel [17:22] killfill: how could i make a wrapper function, do that it returns only then the http client is finished? [17:22] creationix has joined the channel [17:22] bradleymeck: look into step on github by creationix [17:23] adambeynon has joined the channel [17:23] path[l] has joined the channel [17:24] creationix: step it up! [17:24] rnewson has joined the channel [17:24] creationix: hey, I've got room for an extra speaker or two at the palm/node meetup tomorrow night in Sunnyvale. Does anyone here have something they would like to share? [17:24] _announcer: Twitter: "Writing cross-browser JS (without jQuery) to add a text node to the head was challenging! This helped: http://tinyurl.com/32z5gu4" -- Andy Westmoreland. http://twitter.com/akwestmoreland/status/24401102117 [17:25] paulwe has joined the channel [17:25] killfill: hm.. [17:25] bradleymeck: i would but i live in austin lol [17:25] pkrumins: orlandov: oh hello! [17:26] killfill: ACTION trying to understand.. [17:26] CrabDude: http://highscalability.com/blog/2010/9/5/hilarious-video-relational-database-vs-nosql-fanbois.html [17:26] mikew3c has joined the channel [17:27] sh1mmer has joined the channel [17:28] _announcer: Twitter: "is excited ... made node.js index" [ja] -- SATOH, Hiroh. http://twitter.com/cho45/status/24401360655 [17:29] siculars has joined the channel [17:29] bradleymeck: that was an awesome video [17:29] creationix: ACTION should add a /dev/null backend to nStore [17:30] CrabDude: lol [17:30] elliottkember has joined the channel [17:31] jedschmidt: is there any way to resolve a require'd path without requiring? in other words, is the resolving function exposed somehow? [17:31] Anti-X has joined the channel [17:31] creationix: isaacs: ryah: pquerna: mikeal: any of you want to give a short 15 minute presentation tomorrow night? [17:31] creationix: jedschmidt: not that I know of [17:31] isaacs: creationix: sure. [17:31] creationix: most the functions in that file are private [17:31] jedschmidt: creationix: blarg, thanks. i was afraid of that. [17:31] bradleymeck: checks path, checks for .js, checks for .node, repeat through require.paths [17:31] isaacs: jedschmidt: no, it isn't, but it's not complicated. [17:32] creationix: jedschmidt: ryan might be up to refactoring the module file [17:32] derferman has joined the channel [17:32] pkrumins: creationix: did you catch my nstore bug report? [17:32] creationix: isaacs: how much time do you want? is 15 minutes good [17:32] creationix: pkrumins: yeah, I flagged the email [17:33] dnolen has joined the channel [17:33] mjr_ has joined the channel [17:33] pkrumins: great [17:33] isaacs: wow, with the cron emails. [17:33] creationix: pkrumins: I'm so behind. I only worked on node one day in the last 10 [17:33] isaacs: is that what the cron job does? [17:33] jedschmidt: creationix: yeah, that code is a bit opaque to me. i'll check that out. [17:33] _announcer: Twitter: "The more I read about node.js, the more awesome I realise it is. Can't wait to get cracking!" -- Nick Payne. http://twitter.com/makeusabrew/status/24401688776 [17:33] pkrumins: creationix: oh no! [17:33] isaacs: jedschmidt: it's in src/node.js now [17:33] creationix: but visiting family in Utah and going to CouchCamp was a blast [17:33] isaacs: jedschmidt: ryah pulled it back in from lib/module.js [17:34] pkrumins: osaacs, works now! [17:34] pkrumins: oops [17:34] isaacs has joined the channel [17:34] pkrumins: isaacs: works now. [17:34] pkrumins: the problem was elsewhere [17:34] isaacs: pkrumins: awesome :) [17:34] creationix: pkrumins: are you on the "stable" nStore or the rewrite branch [17:34] creationix: I'm not sure which is more stable. The new one is a lot faster [17:34] pkrumins: creationix: definitely stable. [17:35] pkrumins: creationix: we now moved away from nstore :( [17:35] _announcer: Twitter: "first impletion of orchestra.js for node.js http://bit.ly/9fkCBw development in #qconsp" -- renatoelias. http://twitter.com/renatoelias/status/24401822750 [17:35] pkrumins: i wrote node-supermarket [17:35] pkrumins: like store, except greater [17:35] creationix: :) [17:35] pkrumins: uses sqlite3 for storage [17:35] creationix: that works [17:35] pkrumins: can't beat that in correctness [17:35] creationix: what driver did you use? [17:36] creationix: I had trouble using sqlite from node [17:36] pkrumins: orlandov's node-sqlite [17:36] jedschmidt: isaacs: yeah, i'm looking at that. i guess findModulePath is what i'd need? [17:36] isaacs: jedschmidt: yeah [17:36] isaacs: jedschmidt: so, basically, here's how it works: [17:36] isaacs: jedschmidt: it's got this list of extensions, right? [17:36] isaacs: jedschmidt: so, first it tries to open exactly what you pass to require. require("foo.js") will get "foo.js" if it's there. [17:36] isaacs: jedschmidt: then it goes through all the exts trying foo. [17:36] pkrumins: creationix: i remember in the past there were no good sqlite drivers, orlandov's is the best currently i think. [17:37] benv has joined the channel [17:37] isaacs: jedschmidt: then it goes through all the exts doing foo/index. [17:37] creationix: pkrumins: I had one that wrapped the sqlite executable via a childprocess [17:37] isaacs: jedschmidt: repeat for every require.path (unless it's absolute, in which case, don't) [17:37] MikhX has joined the channel [17:37] pkrumins: creationix: oh no, that is too crazy [17:37] creationix: it was fairly fast, but had lossy types [17:37] pkrumins: creationix: this one uses the C api. [17:37] pkrumins: creationix: what does lossy types mean? [17:38] jedschmidt: isaacs: so as long as i'm not using relative paths, i suppose it should be a few lines of code. [17:38] creationix: I mean when you're scraping stdout what's the difference between the number "5" and the string "5" [17:38] pkrumins: creationix: but sqlite does not have types at all! [17:38] creationix: pkrumins: sure it does [17:38] pkrumins: it's typeless db [17:38] derferman_ has joined the channel [17:38] isaacs: jedschmidt: require.paths is only if you use a non-relative non-absolute. require("foo/bar") [17:38] isaacs: jedschmidt: require("./foo/bar") joins it to the current module [17:39] pkrumins: creationix: how so! you can store anything in any column! [17:39] isaacs: jedschmidt: also! native modules *always* take precedence [17:39] isaacs: jedschmidt: require("path") always gives you the native "path" module, no matter what files you have in your require.paths [17:39] derferman_ has left the channel [17:40] creationix: pkrumins: sure enough [17:40] jedschmidt: isaacs: cool, thanks for the walkthru. maybe we should expose this at some point as we do with the url.resolve function. [17:40] creationix: I guess it ignores the types you give it [17:40] elliottkember has joined the channel [17:40] isaacs: jedschmidt: yeah, that'd be good. [17:40] isaacs: jedschmidt: i think someone once upon a time suggested require.resolve("foo") or something [17:41] jedschmidt: isaacs: yeah, that's exactly what i'm looking for. [17:41] jedschmidt: isaacs: i wonder if it'd be as easy as exposing findModulePath... but given the arguments required i guess not. [17:41] isaacs: yeah, no [17:42] isaacs: it'd be a few lines in node.js, though, not too much [17:42] pkrumins: creationix: i think actually except for TEXT [17:42] isaacs: require.resolve = function (m) { return findModulePath(yadda, yadda, etc, m) } [17:42] pkrumins: creationix: it says it stores it as UTF8 or UTF16 [17:42] amullins has joined the channel [17:42] creationix: pkrumins: interesting [17:42] pkrumins: so some byte combinations might result in errors [17:42] isaacs: jedschmidt: also, require.resolve should be async, because it does a lot of stat-ing [17:42] pkrumins: cause there they are not allowed in UTF8 encoding [17:43] pkrumins: but that has to be investigated, i dont really know much more [17:43] creationix: pkrumins: yeah, don't store binary stuff in sqlite [17:43] pkrumins: creationix: sqlite3 documentation says BLOB is good for that [17:43] creationix: pkrumins: thanks for giving me more info on the nStore bugs. I've seen that problem before [17:43] amullins has joined the channel [17:43] creationix: it's hard to track down though [17:43] pkrumins: you can even reproduce it! [17:43] pkrumins: we have a reproducable case there [17:44] mr_daniel has joined the channel [17:45] mikeal: what did i do? [17:45] jedschmidt: isaacs: even though require is sync? how would require resolve then? [17:46] isaacs: jedschmidt: i'd like to make sync require print all kinds of warnings if you use it after the first tick of the process loop [17:46] isaacs: like, "HEY, LAZY PRoGRaMmER! THIS IS DUMB!!" [17:46] isaacs: realy, that should happen any time there's synchronous blocking fs operations after the first process.loop call [17:47] _announcer: Twitter: "node.js of api.html, TOC ran outside when creating extra code fragment reference How matured" [ja] -- SATOH, Hiroh. http://twitter.com/cho45/status/24402640040 [17:47] jedschmidt: isaacs: personally, i'd like require.async to be more of an option, not something undocumented and buggy. [17:47] jedschmidt: isaacs: it only works for URLs AFAIK. [17:47] amullins has joined the channel [17:47] isaacs: jedschmidt: require.async should work fine for files, to [17:48] isaacs: jedschmidt: thing is, it gets wonky when you do require.async, and then in the callback, to a sync require() [17:48] jedschmidt: isaacs: ah, maybe for natives it doesn't work? [17:48] isaacs: hmm... [17:48] creationix: put a sleep in all blocking operations if done during the event loop [17:48] creationix: about 100ms should doo [17:48] isaacs: creationix: ha [17:48] creationix: or just plain undef them [17:48] jedschmidt: isaacs: require.async("url", function(x){ console.log(x) } ) returns null [17:49] creationix: that would be rad [17:49] isaacs: creationix: undef might be the best way. or make them throw. [17:49] isaacs: jedschmidt: yeah, i see that. [17:49] isaacs: jedschmidt: but those don't do IO anyway, so async is silly there. [17:49] jedschmidt: isaacs: well, it's nice to be able to require one way or another without worrying if a module is native or not. [17:50] isaacs: jedschmidt: suresure [17:50] isaacs: jedschmidt: basically, the pattern should be: do all your require() statements at the top of the file. [17:50] dgathright_ has joined the channel [17:50] isaacs: jedschmidt: it was kind of nice when we had Promise#wait involved, because a require() in a callback would just make the world blow up. [17:50] creationix: though require is a special case that it's not bad to do during the event loop [17:50] pkrumins: creationix: actually it seems that nstore fails for even simpler apps, here jesusabdullah just hit the same bug with his irc bot [17:51] creationix: pkrumins: yeah, the "stable" nstore version is not very stable [17:51] creationix: maybe I should just merge in "rewrite" [17:51] pkrumins: maybe [17:51] pkrumins: or maybe add a note [17:51] pkrumins: that it's not that stable [17:51] creationix: it's just as stable I think, and a LOT faster [17:53] mjr_: because of a Safari update, I must restart my computer [17:53] mjr_: just like Windows [17:54] benburkert has joined the channel [17:55] _announcer: Twitter: "Wrote a new node.js module called node-supermarket -- http://bit.ly/djAdb2 -- it's a key/value store, except greater." -- Peteris Krumins. http://twitter.com/pkrumins/status/24403171289 [17:55] pkrumins: tehe. [17:55] pkrumins: thanks _announcer [17:57] jedschmidt: isaacs: (i'm reluctant to touch any code in somewhere so core myself, but appreciate the help!) [17:58] _announcer: Twitter: "The point of discussion # nodejs for Brazilians - http://bit.ly/cHJDXG" [pt] -- Emerson Macedo. http://twitter.com/emerleite/status/24403384224 [17:59] elliottkember has joined the channel [17:59] nefD: pkrumins: neat :D [18:00] pkrumins: forgot readme, adding it in a few mins [18:01] _announcer: Twitter: "Renatoelias fnando @ @ @ @ galvez rafacv cwahlers @ @ @ COD @ m_zu rodrigoy Discussion Group NodeJS Brazil - http://bit.ly/cHJDXG" [pt] -- Emerson Macedo. http://twitter.com/emerleite/status/24403531089 [18:01] _announcer: Twitter: "support node.js chemr.js: http://bit.ly/chemrjs-install change: http://bit.ly/9Jgn1n" [ja] -- SATOH, Hiroh. http://twitter.com/cho45/status/24403532941 [18:02] mbrochh has joined the channel [18:02] mbrochh has joined the channel [18:02] isaacs: jedschmidt: oh, i'd do it, pending ryah's blessing. [18:02] nefD: pkrumins: Went ahead and signed up to be a stackvm guinea pig :D something like this could be quite useful for web dev's looking to test their sites in various browsers without needing local machines or vm's [18:03] dgathright_ has joined the channel [18:03] rnewson has joined the channel [18:04] pkrumins: nefD, absolutely [18:04] pkrumins: we're getting a server pretty soon too [18:04] pkrumins: so we'll start sending out invites pretty soon! [18:04] nefD: nice! [18:04] abiraja has joined the channel [18:05] _announcer: Twitter: "Forgot documentation for my node.js module node-supermarket. Now it's there. http://bit.ly/djAdb2" -- Peteris Krumins. http://twitter.com/pkrumins/status/24403850779 [18:07] voxpelli has joined the channel [18:08] aubergine has joined the channel [18:09] nefD: pkrumins: "our (my and substack's) is to create" you mean 'our goal' or somesuch? (nitpick, sorry) [18:09] Nohryb has joined the channel [18:10] creationix: pkrumins: ok, merged the nstore branches and put up a warning [18:10] _announcer: Twitter: "of 200 new conversations this morning more than 20 are from the nodejs list, this is getting out of control" -- Mikeal. http://twitter.com/mikeal/status/24404179636 [18:12] micheil: isaacs: for what it's worth, we could try to move the list to librelist.com [18:12] isaacs: micheil: the google groups list, you mean? [18:12] micheil: yeah [18:12] mikeal: does librelist use mailman? [18:12] isaacs: meh. i like getting mailing lists in my mail. [18:12] micheil: it'd reduce spam [18:12] MikhX has joined the channel [18:12] micheil: isaacs: same [18:13] isaacs: gmail is good about reducing spam, the search is badass, and i get it on my phone. full of win. [18:13] micheil: mikeal: i'm not sure [18:13] bradleymeck has joined the channel [18:13] isaacs: as long as the list server sets the list id to filter on, i'm happiest with email. [18:13] mikeal: gmail is great at spam, google groups is god aweful [18:13] mikeal: the main problem is that the project is barely on life support [18:13] isaacs: the web interface for using google groups is horrid in every way [18:13] mikeal: google has divested nearly all resources in google groups [18:13] isaacs: the management interface is fine. i mean, it's just forms and checkboxes, it has the options you need. [18:14] bradleymeck: jesus wtf happened to the mailing list [18:14] micheil: mikeal: uses: http://lamsonproject.org/ [18:14] _announcer: Twitter: "@leebenjp think anything related to node.js, HTML5, and messaging might be of interest? If so I might submit something" -- jamescarr. http://twitter.com/jamescarr/status/24404430510 [18:15] mikeal: there's really something i just don't trust about a Python mail server [18:16] brianmario has joined the channel [18:17] isaacs: mikeal: lolz [18:17] _announcer: Twitter: "Writing reliable network services is still hard. Here's some thoughts on making them in node.js... http://bit.ly/crRYhM" -- Michael Hanson. http://twitter.com/michaelrhanson/status/24404581549 [18:17] isaacs: mikeal: that's kinda how i feel about python programmers... [18:17] isaacs: just can't trust ema [18:17] mikeal: haha [18:17] mikeal: s/Python/Ruby [18:17] isaacs: s/Ruby/JavaScript/ [18:17] _announcer: Twitter: "Man node.js changes fast! Shit went from 0.1.103 to 0.2.1 when I wasn't looking. o_o" -- Joshua Holbrook. http://twitter.com/jesusabdullah/status/24404625442 [18:18] isaacs: jesusabdullah: you know, 0.1.103 to 0.2.1 is only 2 versions ;) [18:18] gerred has joined the channel [18:18] maushu has joined the channel [18:18] jesusabdullah: It feels like a lot. >:P [18:19] pzich has joined the channel [18:19] jchris has joined the channel [18:20] isaacs: jesusabdullah: yeah, 0.1.x to 0.2.x is momentous. [18:21] jesusabdullah: Indeed [18:21] _announcer: Twitter: "In 20 minutes the list of NodeJS Brazil already has nine members win # # # Brazil nodejs C'mon guys" [pt] -- Emerson Macedo. http://twitter.com/emerleite/status/24404858316 [18:22] [[zzz]] has joined the channel [18:22] pkrumins: creationix: thanks! [18:22] pkrumins: nefD, ah yes, goal. :) [18:22] pyronicide: dumb question ….. how do i force an exit from a node script? [18:23] pkrumins: pyronicide: process.exit() [18:23] pkrumins: good question, not dumb at all. [18:23] pyronicide: pkrumins: brilliant, ty =) [18:23] pyronicide: sure felt stupid that i couldn't find it in the docs [18:23] pyronicide: hehe [18:24] creationix: the docs really need some help [18:25] jesusabdullah: pkrumins: http://gist.github.com/577759 [18:25] jesusabdullah: isaacs: http://gist.github.com/577759 [18:26] jesusabdullah: pkrumins, isaacs: Having issues installing the sqlite module. Not sure who to ask about [18:26] isaacs: jesusabdullah: sudo apt-get install sqlite3 [18:26] jesusabdullah: shit [18:26] isaacs: jesusabdullah: or: brew install sqlite3 [18:26] isaacs: etc. [18:26] jesusabdullah: Hah--thanks :P [18:26] isaacs: jesusabdullah: npm owner ls sqlit [18:26] isaacs: jesusabdullah: npm owner ls sqlite [18:27] isaacs: jesusabdullah: that'll tell you who to bug to provide a more useful error message :) [18:27] jesusabdullah: a'ight [18:27] paul__ has joined the channel [18:27] pkrumins: oh jesusabdullah [18:27] pkrumins: jesusabdullah: npm install pksqlite [18:27] pkrumins: get the pk version [18:27] jesusabdullah: okay [18:27] isaacs: competition!! [18:28] jesusabdullah: Still no sqlite3 on puter apparently [18:28] pkrumins: jesusabdullah: right, get that too! [18:28] isaacs: pkrumins: both of them are going to require sqlite3 headers to install properly. [18:28] jesusabdullah: derp derp [18:28] pkrumins: isaacs: i missed that, yes. [18:29] fictorial has joined the channel [18:30] niemeyer__ has joined the channel [18:31] Throlkim has joined the channel [18:31] sudoer has joined the channel [18:31] ivong has joined the channel [18:31] _announcer: Twitter: "#nodejs #canvas #websocket fun, yeah" -- Christian Ranz. http://twitter.com/ranzwertig/status/24405517402 [18:32] dilvie: hi [18:34] bradleymeck: yello [18:35] path[l] has joined the channel [18:36] _announcer: Twitter: "36 minutes of the announcement of NodeJS Brazil and we have 12 members - http://bit.ly/cyw7RH # nodejs" [pt] -- Emerson Macedo. http://twitter.com/emerleite/status/24405836348 [18:38] hpoydar has joined the channel [18:39] mikeal has joined the channel [18:40] hellp has joined the channel [18:45] _announcer: Twitter: "Node.js and MongoDB: http://howtonode.org/ac1872f596600b7b8493658da9b19c9b7e0b3f34/node-and-mongo" -- Brent Graham. http://twitter.com/brentg/status/24406372524 [18:45] rwaldron_ has joined the channel [18:46] rwaldron_ has joined the channel [18:46] ben_alman_ has joined the channel [18:46] figital has joined the channel [18:46] voodootikigod_ has joined the channel [18:46] rwaldron has joined the channel [18:47] boaz has joined the channel [18:47] voodootikigod_ has joined the channel [18:51] adambeynon has joined the channel [18:52] Aaron1 has joined the channel [18:54] _announcer: Twitter: "Whats the better templating engine for #NodeJS right now? Mustache?" -- Greg Ferrell. http://twitter.com/gregferrell/status/24406963058 [18:56] MikhX has joined the channel [18:57] stagas has joined the channel [18:59] Aaron1: if node.js in c and js why dose it want Python as a dependence? [18:59] mjr_ has joined the channel [18:59] admc has joined the channel [19:00] ryah: Aaron1: for the build system [19:00] bradleymeck: aaron1 waf uses python [19:00] ryah: in particular , v8 depends on pythn [19:01] Aaron1: thank [19:01] ryah: the runtime doesn't depend on python, of course [19:01] ryah: well - not "of course" because, i guess that's common [19:02] niemeyer__ has joined the channel [19:02] Aaron1: so v8 only need python to build not run [19:03] ryah: right [19:03] bradleymeck: integrating the java gc with the v8 gc is giving headache [19:05] ryah: bradleymeck: why? [19:06] bradleymeck: have to give the jni a ref count while a js object has life, js has to get a count while it is in the jni thread, then my head starts to explode while they go between the 2 gcs [19:06] bradleymeck: mainly, dont want to deallocate prematurely [19:07] wink_: hate when that happens... [19:07] JohnnyL has joined the channel [19:08] bradleymeck: yea i got something going on where it can, its... painful and need to clean up my code... [19:08] programble has joined the channel [19:09] Ori_P has joined the channel [19:10] njero has joined the channel [19:11] Me1000 has joined the channel [19:11] creationix: isaacs: any idea what Renato.Elias was asking for on the mailing list? [19:11] creationix: it sounds interesting, but the english is rough [19:11] rwaldron has joined the channel [19:12] ben_alman has joined the channel [19:12] figital has joined the channel [19:12] boaz has joined the channel [19:13] dgathright_ has joined the channel [19:14] aubergine has joined the channel [19:14] isaacs: creationix: hey, trying to send a pull req from my howtonode.org, but github is pooping on it. [19:14] isaacs: creationix: so, this is me requesting that you pull from isaacs/howtonode.org/master [19:15] creationix: isaacs: cool [19:15] isaacs: typo in my code sample. [19:15] zpoley has joined the channel [19:15] creationix: isaacs: done [19:16] creationix: git powered publishing it cool [19:16] bradleymeck: not sure what he wanted but that seems like an alternative to Step? [19:17] zpoley: hey guys i know this is a noob question but are there any npm modules that provide some basic array wrapper methods like unqiue, map, includes etc.? [19:17] maushu: zpoley, check underscore. [19:17] zpoley: sweet thanks maushu! [19:18] eisd has joined the channel [19:18] isaacs: creationix: yeah, i'm not sure either [19:18] boaz_ has joined the channel [19:19] isaacs: creationix: seems like he wanted something like the asyncMap function in npm, though. like, kinda like Step, but without having to depend on another lib, maybe? [19:19] zpoley: that's exactly what i was looking for - thanks again maushu! [19:19] vnguyen has joined the channel [19:19] path[l] has joined the channel [19:19] pquerna: bradleymeck: using async myself: http://github.com/caolan/async [19:20] creationix: I still think there is a better way to do it. Step is just the best I've discovered so far [19:20] isaacs: creationix: sure. [19:20] _announcer: Twitter: "Just over 1 hour and have 25 members on the list NodeJS Brazil - http://bit.ly/cyw7RH nodejs # # nodebr" [pt] -- Emerson Macedo. http://twitter.com/emerleite/status/24408545266 [19:20] isaacs: creationix: personally, i really like npm's approach, but Step is better as a general purpose util. [19:21] isaacs: creationix: when you're just building a reusable for yourself, you've got a lot more leeway to demand a consistent pattern. [19:21] brianmario has joined the channel [19:21] creationix: true [19:21] creationix: like my Safe() function in node-git [19:21] creationix: it's hard to make that 100% generalized [19:21] creationix: but super handy for specific cases like wrapping git commands [19:22] isaacs: what does Safe do? [19:22] saikat has joined the channel [19:22] creationix: safe is like a python style decorator [19:22] creationix: it takes an async function [19:22] creationix: and if the arguments from two calls are the same, it only does the underlaying function once [19:22] tapwater has joined the channel [19:23] creationix: and it can memoize/cache results too [19:23] isaacs: oic [19:23] creationix: since git show with a specific sha will ALWAYS return the same result [19:23] isaacs: so: Safe(async, a, b, c, cb) ; Safe(async, a, b, c, cb) [19:23] isaacs: the second would just call cb() again with the same data it got from the first time? [19:23] creationix: isaacs: no, getData = Safe(getData) [19:23] creationix: wraps the function [19:23] isaacs: oic [19:23] isaacs: same diff, really [19:23] creationix: but yeah [19:23] dgathright_ has joined the channel [19:24] creationix: It's a super useful pattern, but seems hard to generalize [19:24] isaacs: i use a similar approach to avoid the "too many files open" errors in npm. [19:24] creationix: you have to know the meaning of the arguments [19:24] creationix: exactely [19:24] creationix: and it makes it faster [19:24] isaacs: http://github.com/isaacs/npm/blob/master/lib/utils/graceful-fs.js [19:25] creationix: oh neat [19:25] creationix: that's specific [19:25] creationix: but works [19:25] isaacs: all it does is listen for EMFILE errors, and call the function again in a second [19:25] isaacs: that way, i can say "Write these 1000 files" and it'll Just Work. [19:25] isaacs: even if npm is running on some system with the ulimit set to 16 or something crazy like that [19:26] creationix: I usually hit that error running synthetic benchmarks where it loads the same file 1000 times in a tight ab loop [19:26] isaacs: yeah [19:26] creationix: but if there are 1000 unique calls, then mine will still crap out [19:27] CIA-77: node: 03Ryan Dahl 07master * refdd73c 10/ src/node_object_wrap.h : Fix style in node_object_wrap.h - http://bit.ly/cITa9C [19:27] CIA-77: node: 03Tony Metzidis 07master * r5c9b9c2 10/ wscript : - fix AttributeError on "use_openssl" when doing ./configure --without-ssl - error was: AttributeError: Values instance has no attribute 'use_openssl' - http://bit.ly/a67fgV [19:27] CIA-77: node: 03Tony Metzidis 07master * rdebf389 10/ (6 files in 3 dirs): Catch Exceptions thrown when openssl is disabled - http://bit.ly/coaEeu [19:27] adambeynon has joined the channel [19:28] creationix: isaacs: hmm, you patch was to the flow control article right? [19:28] isaacs: creationix: yeah [19:28] creationix: I pushed it to howtonode.org, but I'm not seeing the changes [19:28] isaacs: (i think so) [19:28] creationix: I think my node-git code is still a little buggy [19:28] isaacs: creationix: i am [19:28] _announcer: Twitter: "This is officially the era of "Holy Shit, I did not know my browser could do that." #html5 #css3 #node.js #websockets" -- Max Niederhofer. http://twitter.com/maxniederhofer/status/24409018576 [19:28] isaacs: creationix: clear cache? restart your computer? do a little dance? [19:29] creationix: maybe I'm a little too agressive on the cache settings for howtonode.org [19:30] bradleymeck: anyone got a mustache and markdown combo somewhere? [19:31] creationix: isaacs: hmm, the content is right, I'm just not seeing it in the revisions list [19:31] creationix: oh well [19:31] isaacs: creationix: on my fork, it's 4ed0d790870b949cbef7971551df1bd15825ca16 [19:31] isaacs: creationix: "Typo. --a should be --l" [19:32] creationix: isaacs: http://howtonode.org/4ed0d790870b949cbef7971551df1bd15825ca16/flow-control-in-npm [19:32] isaacs: creationix: that's awesome. [19:32] creationix: I see, it's loading the right revision [19:32] creationix: but I think it should be listed under revisions on the right [19:32] isaacs: ACTION really needs to get around ot ditching wordpress/tumblr and using wheat. [19:32] herbySk has joined the channel [19:32] isaacs: creationix: maybe because i didn't change the article markdown, just the code sample. [19:33] creationix: wheat has really terrible 404 messages though http://howtonode.org/4ed0d790870b949cbef7971551df1bd15825ca16 [19:33] creationix: isaacs: ahh, that's it [19:33] isaacs: yikes, yeah, that's pretty heinous [19:33] creationix: I should throw in tj's 500 handler at least [19:34] creationix: it's nice and pretty [19:34] overra has joined the channel [19:34] Throlkim has joined the channel [19:35] _announcer: Twitter: "Asynchronous network programming in lua, node.js, Go, Erlang, whatnot, here we go!" -- TiagoMacambira. http://twitter.com/TiagoMacambira/status/24409411084 [19:35] creationix: isaacs: http://howtonode.org/4ed0d790870b949cbef7971551df1bd15825ca16 there, slightly better [19:36] MattJ has joined the channel [19:36] isaacs: creationix: ah, now it's a nicely styled unintelligible error ;) [19:36] creationix: yep, that's about all connect can do. Wheat needs to be smarter about catching it's errors and not throwing everything to connect [19:37] _announcer: Twitter: "Until tava order to study a little Node.js, but lack the courage to start ... Someone help? @ Diogobaeder? @ Clauber_halic?" [pt] -- Renato Rodrigues. http://twitter.com/renatorodrigues/status/24409525338 [19:37] mtodd_ has joined the channel [19:38] creationix: isaacs: ok, I'm about to finalize the plans for tomorrow's node meetup. So I can count on you for a presentation? [19:38] isaacs: creationix: sure. [19:39] creationix: how long do you want? what topic will you speak on? [19:39] isaacs: creationix: hey, you know what would be fun? live coding challenges. [19:39] creationix: that would be fun, but how would that work? [19:39] creationix: we've got over 100 RSVPs [19:39] bradleymeck: creationix, thoughts on nstore handling a wiki? [19:40] isaacs: creationix: so, that might take some more plannig. [19:40] creationix: bradleymeck: go for it, but nStore is unstable [19:40] isaacs: creationix: something bryan cantrill said about this kinda sparked the idea. [19:40] creationix: patches are welcome and CLA's are not required :) [19:40] bradleymeck: api wise or data wise? [19:40] deepthawtz has joined the channel [19:40] creationix: bradleymeck: both, data-wise it's better than before [19:40] bradleymeck: bleh, well then, flat files will work for now i guess [19:41] isaacs: creationix: the idea would be that we have a few things, like, "a hello-world http server", or "reverse a file's contents", or "a key-value store" [19:41] isaacs: creationix: and then you have to write that, live, in teh repl. [19:41] creationix: isaacs: the participants don't need to have advanced warning do they? [19:41] isaacs: creationix: oh, no, no. [19:41] creationix: I could do that for my presentation [19:41] creationix: it would be fun [19:41] isaacs: creationix: but the idea is that it would have to be a competition. [19:41] isaacs: creationix: so we need to kinda sort out the rules etc. [19:41] creationix: ahh, that's the hard part [19:41] isaacs: creationix: like, are man pages allowed, etc. [19:42] creationix: maybe just as an experiment this time? [19:42] isaacs: creationix: can you "npm install connect" before doing it, etc. [19:42] isaacs: creationix: let's chat about it tomorrow. maybe we could even kick around some challenge ideas on the ml or something [19:42] isaacs: that could be an idea for a meetup all on its own [19:42] q_no has joined the channel [19:42] creationix: I think hands on really helps new people get over their apprehension to node [19:42] isaacs: maybe even spring for a prize for the winner :) [19:42] creationix: palm pre! [19:43] isaacs: creationix: hehe [19:43] isaacs: creationix: right, but live coding is like 100% more fun to watch when there's an MC [19:43] isaacs: (who isn't the coder) [19:43] creationix: I hope palm/hp gets some good hardware soon, they have potential [19:43] isaacs: coding + talking doesn't work so well. [19:43] stagas has joined the channel [19:46] KungFuHamster has joined the channel [19:46] hpoydar has joined the channel [19:46] _announcer: Twitter: "@leebenjp Sure... fill me in on what you have in mind. I was just thinking of submitting some websocket/node.js presentation :)" -- jamescarr. http://twitter.com/jamescarr/status/24410124771 [19:47] creationix: ryah: are you coming to the node + palm meetup tomorrow evening? [19:48] rauchg_: he is [19:48] creationix: is everyone trying to show up at 6? I know that might be hard coming from SF [19:48] Aria has joined the channel [19:49] creationix: rauchg_: how did the meetup last Friday go? I was too exhausted from CouchCamp to make it [19:49] rauchg_: excellent [19:49] rauchg_: great turnout [19:50] creationix: awesome [19:51] ryah: creationix: yes [19:51] creationix: ryah: did you want to speak or just attend? [19:52] ryah: i'll give a little talk about 0.2.x [19:52] creationix: sounds great [19:52] _announcer: Twitter: "Steamie.org - "A Hackable, Realtime Twitter Client In The Browser" > http://bit.ly/aaOiPn < #node.js backend" -- Ben Tremblay. http://twitter.com/bentrem/status/24410483829 [19:52] creationix: I'm about to have a call with the palm guys to finalize the plans. [19:54] voodootikigod_ has joined the channel [19:55] zomgbie has joined the channel [19:55] eazyigz has joined the channel [19:56] KungFuHamster has joined the channel [19:56] ryan[WIN]: hy [19:58] eazyigz: I am trying to figure this out. Does node hijack all output streams when it is run? in other words, if I spawn a child process (a python program) that, in turn, tries to log something to a file, will nodejs let it? [19:58] zimbatm has joined the channel [19:58] dilvie: Are there plans to make require asynch? [19:58] creationix: eazyigz: it depends on how you open the child process [19:59] creationix: you set up the child's FDs when you open it [19:59] eazyigz: I use exec() [19:59] creationix: not sure about the default [19:59] creationix: try it [20:00] eazyigz: and normally my main function in pythin returns a value, that node accepts in stdout [20:00] eazyigz: but I want to debug/log statements out of my python program while it is run [20:00] stride: dilvie: what for? [20:00] eazyigz: and I'm not able to do that if node spawns the child [20:00] creationix: eazyigz: you might need to use ChildProcess.spwan [20:00] creationix: exec is super simplistic [20:01] creationix: *spawn [20:01] rauchg_ has joined the channel [20:01] eazyigz: so ChildProcess.spawn should take care of that? I will try... [20:02] MrTopf has joined the channel [20:03] dilvie: stride: well, currently, require is blocking, which may potentially make dynamic script loading problematic. If you need to require something while you have a server running, your server could stop handling connections while the script is being loaded and executed. [20:04] Me1000 has joined the channel [20:04] _announcer: Twitter: "Mastering Node: Open source eBook for Node.js - The Changelog - Open Source moves fast. Keep up. http://bit.ly/cBt4Dy" -- breakdance jedi. http://twitter.com/breakdance_jedi/status/24411218359 [20:05] dilvie: stride: I suppose you could delegate dynamic loading to a worker, but that introduces some complexity that shouldn't be necessary at all with Node. [20:07] creationix has joined the channel [20:11] sechrist has joined the channel [20:12] Guest62038 has joined the channel [20:12] dnyy has joined the channel [20:12] q_no: is there a function like JSON.stringify() ? [20:12] eisd: yes [20:12] bradleymeck: JSON is in v8 by default [20:12] eisd: v8: JSON.stringify({"foo":"bar"}) //q_no [20:12] v8bot: eisd: {"foo":"bar"} [20:13] thinker_ has joined the channel [20:13] q_no: thanks :) I'm thinking to complicated... [20:13] q_no: everything is just straight forward :D [20:16] _announcer: Twitter: "@sunbug Except it's al comet and node.js these days - forget ajax ;)" -- Brendan W. McAdams. http://twitter.com/rit/status/24411930740 [20:16] rphillips has joined the channel [20:16] creationix has joined the channel [20:16] saikat has joined the channel [20:20] dgathright_ has joined the channel [20:23] mtodd has joined the channel [20:25] _announcer: Twitter: "Dear @cloudhead, have you ever heard about CLOSING THOSE %^$W#%^$# FILES AFTER OPENING THEM?! #nodejs #lessjs" -- Devgru. http://twitter.com/Devgru/status/24412481744 [20:25] aubergine has joined the channel [20:27] logix812 has joined the channel [20:27] logix812: is there a catch-all for staticProvider in connect? eg: subdirctories? [20:28] tjholowaychuk: logix812: on stat() w/ a directory we currently just next(), so you could pick it up in the next layer [20:28] tjholowaychuk: if you wanted to display a directory or something [20:29] logix812: I just toss my css in an alternate directory (sub directory) of the www root [20:29] logix812: so I will just explicitly declare it [20:30] TomsB_ has joined the channel [20:30] LowValueTarget has joined the channel [20:31] noahcampbell has joined the channel [20:32] justinlilly: tjholowaychuk: have a moment to chat? [20:32] tjholowaychuk: justinlilly: about what? [20:32] justinlilly: your involvement in node.js. [20:32] justinlilly: ACTION is writing an article. [20:33] kjeldahl has joined the channel [20:34] tjholowaychuk: ah yeah sure feel free to email me or message on github [20:34] tjholowaychuk: whatever works [20:34] jesusabdullah: isaacs: Do you know why an npm package wouldn't generate an index.js? [20:36] Alex-SF has joined the channel [20:36] dgathright_ has joined the channel [20:37] _announcer: Twitter: "@ Renatorodrigues, tb order to start! Bora? # Node.js" [pt] -- Clauber Stipkovic. http://twitter.com/clauber_halic/status/24413246152 [20:38] herbySk has joined the channel [20:40] emmanueloga has joined the channel [20:45] mattikus has joined the channel [20:45] nerdEd has joined the channel [20:45] FuzzYspo0N has joined the channel [20:47] cardona507 has joined the channel [20:47] zpoley: is there any general consensus around a winner/standard in the control-flow debate between promises, continuables, callbacks, etc.? [20:47] jesusabdullah: I don't think so [20:47] mjr_: wild west [20:47] zpoley: ha [20:47] zpoley: what are you guys using? [20:48] jesusabdullah: callbacks, I guess [20:48] jesusabdullah: Never used promises, may have unwittingly used continuables [20:48] zpoley: nice [20:49] bradleymeck: zpoley i will fight all that hide control flow, namely threading and coroutines [20:49] jesusabdullah: What is a continuable, anyway? [20:50] zpoley: it seems to be a way to automatically pass the result of an async method to another method - just another form of callback [20:50] bradleymeck: jesusabdullah its a means of keeping your stack by passing around functions that modify their state, idk if js can do that [20:50] bradleymeck: true continuations are odd but look pretty [20:50] zpoley: i've been trying to decide how to proceed based on this thread: http://groups.google.com/group/nodejs/browse_thread/thread/8dab9f0a5ad753d5/fb451c0c2fe7d9ed [20:51] zpoley: thanks bradleymeck [20:51] zpoley: what are you using to keep control flow sane? [20:52] _announcer: Twitter: "Interesting statement about #Node.js: "Helps heal divided 'front end' and 'back end' teams" from: http://bit.ly/9y7YSx" -- netsi1964. http://twitter.com/netsi1964/status/24414183407 [20:52] jesusabdullah: that sounds pretty crazy, bradleymeck [20:52] bradleymeck: whatever you do, do not hide control flow, do not!, i generally just use callbacks, i avoid anything that i cant say "oh, the program is moving control to somewhere else at that specific variable" [20:52] Ezku_: continuable means having your async operation return a function for accepting the success/error, eg. readfile('foo')(function(result, error) { do something }) [20:52] jesusabdullah: is method chaining also a form of control flow? [20:52] jesusabdullah: Cause I do that [20:53] bradleymeck: not really its a callback structure [20:53] jesusabdullah: hmm [20:53] bradleymeck: but one thing i love about callbacks is you get an extra return value to do things with [20:53] Ezku_: it's pretty similar to a promise, but the interface is leaner [20:55] deepthawtz has joined the channel [20:55] nerdEd_ has joined the channel [20:56] jesusabdullah: Ezku_: I see. [20:58] zpoley: i'm looking for the best way to keep the flow between multiple dependent async calls within a method clean and understandable [20:58] jesusabdullah: ah [20:59] jesusabdullah: zpoley: Also events [20:59] Ezku_: zpoley: looked at Step or Conductor? [20:59] jesusabdullah: events are also useful for these kinda things, sometimes [20:59] zpoley: i have looked at step and conductor - thanks Ezku_! [20:59] s0enke has joined the channel [20:59] jesusabdullah: Conductor? [21:00] zpoley: i'm using some events jesusabdullah, maybe not enough [21:00] Ezku_: zpoley: well, what did you think? i've actually been pondering the same thing lately, but haven't come to any conclusion [21:01] deepthawtz has joined the channel [21:01] zpoley: i liked the look of step, but i also wanted to talk to you guys and see if there was something standard most people were using [21:02] nefD: <3 step [21:02] zpoley: conductor looks interesting too - but overkill for what i'm currently doing i feel like [21:02] zpoley: nice - thanks nefD [21:03] jesusabdullah: What's Conductor? [21:03] zpoley: second portion of this article: http://howtonode.org/step-of-conductor [21:03] tilgovi has joined the channel [21:03] jesusabdullah: zpoley: step is interesting, in that most people that use it love it, and yet it doesn't seem to have widespread adoption [21:03] nefD: flow is similar to step (step was inspired by flow) but I haven't messed with it [21:04] _announcer: Twitter: "@ Emerleite ... +1:) # Http://bit.ly/cyw7RH nodeJS" [lv] -- thiagotiveron. http://twitter.com/tiveron/status/24414948036 [21:04] derferman has joined the channel [21:04] Ezku_: conductor's declarative syntax is kinda odd [21:04] zpoley: i agree Ezku_ [21:04] jesusabdullah: Interesting. Not sure how I feel about that. [21:04] zpoley: thanks nefD and jesusabdullah - i think i'll try step first [21:04] Ezku_: i'd expect you to be able to just rig a set of named events and the events they trigger on completion [21:04] jesusabdullah: Cool [21:05] huyhong has joined the channel [21:05] Ezku_: you could implement a proper DSL based on that instead of the wonky stuff conductor has going for it right now [21:05] Ezku_: anyways, good night -> [21:06] zpoley: thanks for the help - good night [21:08] _announcer: Twitter: "unsubscribe from the list of rails (not helped me much) and subscribe to the list of nodeJS! \ O /" [pt] -- thiagotiveron. http://twitter.com/tiveron/status/24415233636 [21:12] _announcer: Twitter: "After three hours of the list created have 32 members. I did not know there were people playing with nodejs # # nodebr - http://bit.ly/cyw7RH" [pt] -- Emerson Macedo. http://twitter.com/emerleite/status/24415436993 [21:12] jesusabdullah: conductor kinda reminds me of waf's .build() [21:12] jesusabdullah: er [21:13] jesusabdullah: build() I guess [21:13] jesusabdullah: ANYWAYS [21:13] sechrist: when is the next node meetup [21:13] sechrist: if there is one [21:14] bradleymeck: waf needs better docs /cry [21:14] huyhong has left the channel [21:15] jesusabdullah: Yeah [21:15] maushu has joined the channel [21:15] jesusabdullah: I think The Waf Book is proof that writing good docs is hard [21:15] jesusabdullah: because it's fairly comprehensive, but it's not particularly well-organized [21:15] jesusabdullah: and it touches on things really fast sometimes [21:16] stagas: is there a way to do jsdom jquerify multiple times on many 'windows' without fetching jquery every time? [21:16] bradleymeck: uselib is important, it only gets like 4 lines in the whole book [21:17] jesusabdullah: Yeah [21:17] jesusabdullah: and that's pretty par for the course [21:17] bradleymeck: not to mention frameworks for os x, omg [21:17] jesusabdullah: A lot of stuff, briefly [21:17] sechrist: ah damn, I missed dogpatch [21:17] bradleymeck: just try to check for osx without affecting gcc, i dare ya [21:17] stagas: it's kind of slow when doing it on a list of different windows [21:18] sechrist: o snap [21:18] sechrist: tomorrow at palm [21:20] isaacs: jesusabdullah: probably because the module doesn't specify a "main" script? [21:20] isaacs: jesusabdullah: which package? [21:21] jesusabdullah: isaacs: pksqlite [21:21] jesusabdullah: isaacs: I got him to poke at it [21:22] jesusabdullah: isaacs: Still trying to get it to run, I'll let you know if anything comes up [21:22] isaacs: jesusabdullah: ah, yeah, that should work, then, looking at the package.json data [21:22] adambeynon has joined the channel [21:24] xraid has joined the channel [21:24] nerdEd has joined the channel [21:25] emmanueloga has joined the channel [21:26] adambeynon has joined the channel [21:26] eazyigz has joined the channel [21:27] jesusabdullah: isaacs: Yeah, we figured it out. \o/ [21:28] _announcer: Twitter: "Damm! this is some good #dataporn using #nodejs , #mongodb and #html5 http://blip.tv/file/3592708" -- Bjarki. http://twitter.com/bjarkih/status/24416486183 [21:28] _announcer: Twitter: "I wonder if I can make the Node.JS meetup at Palm tomorrow" -- Chase Sechrist. http://twitter.com/chasesechrist/status/24416486546 [21:28] MikhX has joined the channel [21:29] stiang has joined the channel [21:30] mattly has joined the channel [21:30] nerdEd has joined the channel [21:31] stiang: does anybody know what i can do to avoid this error when compiling node.js: /tmp/node-v0.2.1/deps/v8/src/utils.h:738: internal compiler error: in expand_expr_addr_expr_1, at expr.c:6336 [21:35] pquerna: stiang: what version of gcc? [21:35] wink_: stiang: lol, what compiler? [21:35] stiang: gcc (GCC) 4.1.2 20061115 (prerelease) (SUSE Linux) [21:36] stiang: (downloading 4.5.1 now...) [21:37] wink_: stiang: is there a segfault anywhere? [21:37] pquerna: stiang: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38530 [21:37] pquerna: stiang: looks like it was fixed in 4.5 [21:39] stiang: wink_: no, just the error i pasted in [21:39] stiang: pquerna: thanks, i'll try upgrading [21:39] q_no: anyone up for another beta-test round of http://nettank.nrg-media.de ? I've rewritten the entire JS core and added a highscore [21:40] _announcer: Twitter: "testing streamie (html5 / websockets / nodejs) realtime twitter client a bit :)" -- Soenke Ruempler. http://twitter.com/s0enke/status/24417250527 [21:41] wink_: stia: changing gcc versions should square you away [21:41] wink_: erm [21:41] wink_: FINE [21:42] ehaas has joined the channel [21:42] digitalsanctum has joined the channel [21:43] ryah: what is with node programs butting fnctions all up next to each other? [21:43] Tim_Smart has joined the channel [21:44] ryah: no whitespace between functions? [21:44] ryah: i mean why.. is that what javascript people do? [21:44] tjholowaychuk: where is that? [21:44] bryanl has joined the channel [21:44] sechrist: ryah: I see it in C apps all the time, it bugs me there too [21:44] ryah: sechrist: no one does it in c... [21:44] sechrist: hahaha [21:45] sechrist: nobody _should_ do it in c [21:45] tjholowaychuk: like function foo(){}\nfunction bar(){} ? [21:45] tjholowaychuk: :s [21:45] FuzzYspo0N: i find javascript coders like compact code, so they make is smaller [21:45] FuzzYspo0N: its a mess. [21:45] ryah: tjholowaychuk: like this: http://github.com/cloudhead/node-static/blob/35a7538444f67566e52883937b1601250d1aad8b/lib/node-static.js#L153-159 [21:45] pquerna: conserving bytes. [21:45] sechrist: C services I've seen written for companies (not open source projects) have made me cringe [21:46] sechrist: node-prettifier [21:46] tjholowaychuk: ryah: oh weird :s no I hate doing that, I always have inline docs even just for the sake of padding my methods [21:46] FuzzYspo0N: ryah: it could be a perttifier that does it [21:46] ryah: what is that? [21:46] FuzzYspo0N: i noticed some for notepad ++ do it [21:46] FuzzYspo0N: prettifier* [21:46] FuzzYspo0N: it fixes indentation, braces, spacing etc [21:46] wink_: that is the opposite of pretty :P but yeah i bet its editor dependant most of the time [21:46] ryah: link? [21:47] sechrist: I doubt it is, but it's possible. the basis may be that it isn't a line that begins with function or something [21:47] sechrist: since it's a variable being assigned technically [21:47] Anti-X: it's obviously not something the author thinks about, because some of them have spaces between [21:47] Anti-X: while others do not [21:47] FuzzYspo0N: http://google-code-prettify.googlecode.com/svn/trunk/README.html [21:47] wink_: editors that can roll up js functions (scite and the like) are probably more prone to that since it'd be less obnoxious [21:47] cloudhead has joined the channel [21:47] tjholowaychuk: oh nooo he has ino in the etag [21:47] FuzzYspo0N: oh wait lol [21:47] FuzzYspo0N: i linked the wrong one. [21:47] losvedir has joined the channel [21:48] ryah: cloudhead: what's with this style: http://github.com/cloudhead/node-static/blob/35a7538444f67566e52883937b1601250d1aad8b/lib/node-static.js#L153-159 [21:48] ryah: why no virtical whitespace? [21:49] sudoer has joined the channel [21:49] ryah: also why "this" ? [21:49] ryah: (instead of exports) [21:50] tjholowaychuk: cloudhead: dont use the ino in the etag [21:50] FuzzYspo0N: lol, note to self. dont link code in here :D [21:50] FuzzYspo0N: ACTION jokes. [21:50] HerrTopf has joined the channel [21:50] rtomayko has joined the channel [21:50] sechrist: what is wrong with ino in the etag? [21:50] badaxx has joined the channel [21:50] pquerna: it changes if you have multiple webservers [21:50] badaxx: aloha! is there i18n for node.js? :( [21:51] sechrist: aaaigh [21:51] badaxx: want to do a whole website with node / express / haml [21:51] pquerna: so all of your webservers would return different etags for a static file [21:51] pquerna: its a very common misconfiguration on servers where etag sources are configurable. [21:51] bradleymeck has joined the channel [21:52] FuzzYspo0N: wb bradleymeck [21:52] pquerna: ryah: http://closuretools.blogspot.com/2010/08/introducing-closure-linter.html <- something like that complains about those kind of style issues... [21:53] bradleymeck: mmm? i left? oh so i did... [21:53] wink_: heh [21:54] ryah: pquerna: yeah, i plan to include it soon [21:55] rtomayko_ has joined the channel [21:55] Neverender has joined the channel [21:55] Alex-SF has joined the channel [21:55] badaxx: ryah: do you know an i18n module for node? [21:55] pquerna: ryah: +1 [21:56] ryah: badaxx: no [21:56] badaxx: damn... [21:56] wink_: http://nodul.es/categories/ [21:56] wink_: who runs that? i just found it :p [21:56] ryah: badaxx: maybe you can adapt a browser js gettext to node? [21:56] tjholowaychuk: new(RegExp)('^' + that.root).test(pathname) [21:56] tjholowaychuk: yikes [21:56] tjholowaychuk: that is dirty [21:57] ryah: yeah [21:57] ryah: pathname.indexOf(that.root) == 0 [21:57] pquerna: wink_: somewhat responsible for the website part; npm of course is isaacs. [21:57] _announcer: Twitter: "ESRT @adulau @loggly - Introducing a HTTP to Syslog proxy written in Node.js http://bit.ly/bzTHLh" -- SecuObs. http://twitter.com/SecuObs/status/24418354577 [21:57] x_or has joined the channel [21:57] wink_: pquerna: ah ok, i hadnt seen that list before :> [21:58] bradleymeck: so that .root is regexp? [21:58] bradleymeck: i really wish \A was in JS [21:58] isaacs: v8bot: "fooasdfbar".indexOf("fooasdf") [21:58] tjholowaychuk: bradleymeck: whilst serving he is creating that regexp each request instead of indexOf [21:59] isaacs: js> "fooasdfbar".indexOf("fooasdf") [21:59] gbot2: isaacs: 0 [21:59] isaacs: bradleymeck: ^ [21:59] tjholowaychuk: for some reason [21:59] bradleymeck: indexof != test [21:59] bradleymeck: .test lets you have ors and repetitions [21:59] bradleymeck: but idk what hes doing [22:00] _announcer: Twitter: "Ry's "Introduction to NodeJS" talk may be one of the best infrastructure talks ever http://www.yuiblog.com/blog/2010/05/20/video-dahl/ WATCH" -- Brendan Baldwin. http://twitter.com/usergenic/status/24418527723 [22:00] tjholowaychuk: and JSON.stringify([stat.ino, stat.size, mtime].join('-')); [22:00] tjholowaychuk: vs stat.size + '-' + stat.mtime.getTime() [22:00] tjholowaychuk: weird shizzle [22:01] isaacs: creationix: what time is the palm meetup? [22:01] isaacs: creationix: the facebook meeting invite is telling me it's at 11:00 [22:01] creationix: 6pm [22:02] creationix: 11? that's strange [22:02] pquerna: some timezone conversion gone rouge? [22:02] isaacs: yeah, i guess so [22:02] isaacs: 7 hours off, it's like it's set for 6pm GMT or something [22:03] creationix: strange, there is no option to set the timezone in the interface [22:03] creationix: just date and time [22:03] creationix: 6:00pm - 9:30pm [22:03] isaacs: ok, cool [22:03] ryah: nodul.es feels fast [22:03] isaacs: i guess fdCal is failing [22:05] creationix: isaacs: ryah: so can you two make it a little early tomorrow? [22:05] MikhX has joined the channel [22:05] pquerna: ram is fast [22:05] nerdEd_ has joined the channel [22:05] creationix: get there between 5:30 and 5:45 pm [22:06] ryah: creationix: yes [22:06] isaacs: creationix: i don't mind shooting for that time, but in my experience, 5pm is a bad time to make promises. [22:06] hassox has joined the channel [22:06] creationix: isaacs: that why try for 5:30 [22:06] isaacs: heh [22:06] creationix: then at the latest you'll be there by 6:30 [22:06] creationix: ;) [22:06] isaacs: yep. :) [22:06] creationix: I know, I travel up to your area fairly often about that time [22:07] lachlanhardy has joined the channel [22:09] ooooPsss has joined the channel [22:09] ryah: pquerna: is nodul.es source up somewhere? [22:11] konobi: Any nodeKO users who were using the Joyent no.de service, please note that we're doing some work with your zones. They may be up/down a bit. [22:11] dgathright has joined the channel [22:12] sechrist: :\ I don't think i'll be able to make it to palm tomorrow. I land at 2pm and won't have clear transportation down to south bay. bus -> caltrain sounds super annoying [22:14] ooooPsss: konobi: when are you going to "give" accounts to everybody else? ;) [22:16] bradleymeck: lol, i just want to know if im allowed to take my KO project off and put something more interesting up [22:17] ryah: bradleymeck: sure [22:17] m64253 has joined the channel [22:18] _announcer: Twitter: "Question to nodejs-ers: I've not used #nodejs much yet, but is evented non-blocking I/O what Opera Unite does? Or is it something different?" -- lucideer. http://twitter.com/lucideer/status/24419747562 [22:18] tjholowaychuk: creationix: yo, feel free to start hacking on the cache branch, not sure what you would prefer to do with the conditionalGet middleware, not useful to me personally after this [22:18] tjholowaychuk: creationix: but I will wait on merging until we get more opinions [22:18] konobi: ooooPsss: we'll announce something at some point [22:19] _announcer: Twitter: "I dont quite get with node.js gets so much love from ruby and em doesn't quite. the #node.js on irc is quite busy tho" -- Marcos Toledo. http://twitter.com/mtoledo/status/24419791705 [22:19] creationix: tjholowaychuk: ok, I'm busy with other stuff today [22:19] tjholowaychuk: creationix: no hurry [22:20] pquerna: ryah: http://github.com/cloudkick/nodul.es [22:20] saikat: in my uncaught exception handler, I just email myself a stringified version of the err.message, stack, type, and arguments [22:20] saikat: do people have a better way they do this? [22:20] Tim_Smart: ryah: Oh if you have time, do you think you could reset timsmart.no.de? [22:21] saikat: that produces better output/makes sure there isn't an exception raised in the uncaught exception handler as a result of JSOn.stringify? [22:21] Tim_Smart: ryah: I think I somehow broke the node-server [22:21] Tim_Smart: *service [22:21] overra: Tim_Smart: some joyent guy said the servers would be up and down a bit [22:22] Tim_Smart: overra: This was a while ago ;) [22:22] overra: Tim_Smart: ah [22:23] bradleymeck: ryah, that makes me one happy camper [22:23] rtomayko has joined the channel [22:25] ircretary has joined the channel [22:29] tjholowaychuk: creationix: "if (data.length === 0) data = '';" still an issue? or legacy [22:29] creationix: not sure [22:29] creationix: I added that not too long ago [22:29] creationix: take it out and try serving a native file [22:29] creationix: (with cache and maybe gzip middlewares) [22:30] _announcer: Twitter: "The #nodejs Daily is out! http://bit.ly/aOxf1J ▸ Top story : Twitter Streaming API + node.js + Appcelerator Titanium = Real-time tweet ma..." -- Samuel Morello. http://twitter.com/ouvanous/status/24420563628 [22:30] bradleymeck: finally found where i want streaming templates, my wiki wants subpages to be loaded on the fly the first time rather than pulling in every page [22:33] matschaffer has joined the channel [22:34] _announcer: Twitter: "Mastering Node - Open Source Nodejs eBook - http://bit.ly/bIS4tm" -- Doug Sparling. http://twitter.com/scriptrunner/status/24420876114 [22:38] mattikus has joined the channel [22:39] xraid has left the channel [22:40] dgathright has joined the channel [22:41] CIA-77: node: 03Peter Griess 07master * r422d3c9 10/ (3 files in 3 dirs): [22:41] CIA-77: node: Get rid of PHP/Rails style parameter munging. [22:41] CIA-77: node: - Handle only the most basic of query string parsing and construction. [22:41] CIA-77: node: Leave the rest (e.g. Rails/PHP behaviors) to modules higher up the [22:41] CIA-77: node: stack, like Express. - http://bit.ly/dkq0XK [22:41] CIA-77: node: 03Ryan Dahl 07master * r61448bf 10/ (deps/libeio/Changes deps/libeio/eio.c deps/libeio/eio.h): Upgrade libeio - http://bit.ly/ccniD3 [22:42] ryah: ACTION waits for the torches and pitchforks [22:42] jesusabdullah: PITCHFORK! [22:42] tjholowaychuk: haha [22:42] jesusabdullah: Why no more munging? [22:42] tjholowaychuk: torcheeee [22:43] tjholowaychuk: jk [22:43] tjholowaychuk: because it's not an official spec AFAIK [22:43] ajpiano has joined the channel [22:43] jesusabdullah: gg [22:43] technoweenie has joined the channel [22:43] jesusabdullah: I'll have to wait and see if it breaks anything [22:44] bradleymeck: yay! [22:44] CrabDude has joined the channel [22:45] jesusabdullah: ryah: Doesn't break my url shortener. You're safe....FOR NOW [22:45] ryah: that patch won't be landed in v0.2 branch [22:46] ryah: so you can test for it with process.version [22:46] ryah: is that fair? [22:47] dnyy has joined the channel [22:47] sechrist has joined the channel [22:47] rauchg_ has joined the channel [22:48] sechrist has joined the channel [22:48] sechrist has joined the channel [22:48] nuba has joined the channel [22:48] bradleymeck: is there a html entities module yet? [22:48] jesusabdullah: Hah [22:49] jacobolu_ has joined the channel [22:51] bradleymeck: ? [22:52] Anti-X: http://phpjs.org/functions/htmlentities:425 [22:53] sechrist_alt has joined the channel [22:53] nuba has joined the channel [22:53] Guest89596 has joined the channel [22:54] Anti-X: which references this http://phpjs.org/functions/get_html_translation_table:416 [22:54] bradleymeck: uggg [22:54] matschaffer has joined the channel [22:56] trotter has joined the channel [23:00] dmcquay has joined the channel [23:00] _announcer: Twitter: "node.js hackable using a twitter client to extreme http://streamie.org/ github clone and just push their own version 動Kaserurashii. http://ow.ly/2DGJ7" [ja] -- koichik. http://twitter.com/koichik/status/24422661260 [23:02] mikew3c_ has joined the channel [23:03] Athox has joined the channel [23:03] _announcer: Twitter: "#WebOS: Don’t forget the node.js meetup on 9/14! http://dlvr.it/5Brf7 #Events" -- Rene Nachtnebel ✔. http://twitter.com/nachtnebel/status/24422861152 [23:08] nerdEd has joined the channel [23:08] [[zz]] has joined the channel [23:09] hsuh has joined the channel [23:09] mattly has joined the channel [23:10] Neverender has joined the channel [23:11] Neverender has left the channel [23:11] kjy112 has joined the channel [23:12] bradleymeck has left the channel [23:13] Anti-X has joined the channel [23:15] matschaffer has joined the channel [23:16] sechrist: all of these damn "instant" sites [23:16] sechrist: are so lulz [23:17] HAITI: haha no doubt [23:17] HAITI: class a chit [23:17] sechrist: "x is slow so I made x instant" [23:18] HAITI: I dont understand why anyone thinks its a new idea [23:18] HAITI: as if autocompleting and showing an image instead of text is novel [23:18] sechrist: it's not just that [23:18] sechrist: ever since that guy that did youtube instant got offered a job [23:19] sechrist: people are hopping on the bandwagon [23:19] HAITI: ahh no doubt [23:19] HAITI: as if thats what gave him credibility anyway [23:21] _announcer: Twitter: "Ryan Dahl node.js author of "Introduction to NodeJS" http://www.yuiblog.com/blog/2010/05/20/video-dahl/ 58 minutes. . ." [ja] -- koichik. http://twitter.com/koichik/status/24424164456 [23:21] badaxx: can't get haml working with express.js... it always tells me that the module haml doesnt exist. but I've got haml-js in my .node-libraries [23:21] badaxx: eeh .node_libraries [23:21] techwraith has joined the channel [23:22] techwraith: Hey guys, what do you do for string sanitization in node? (basically need to remove all script tags, href="javascript...", etc.) [23:23] tjholowaychuk: badaxx: haml-js may or may not work with the Express view system, might want to try http://github.com/visionmedia/haml.js [23:23] tjholowaychuk: badaxx: or http://jade-lang.com [23:23] tjholowaychuk: for something haml-like with a far more robust implementation [23:24] dilvie: tjholowaycuhk: What's your opinion of ejs? [23:24] badaxx: that looks awesome :) [23:24] Me1000 has joined the channel [23:24] badaxx: thanks, I'll try that [23:24] vvsh_: badaxx: I had the same problem before, i just create a symbolic link for moduel haml liking to haml-js [23:24] sechrist: techwraith: I wouldn't strip tags as much as I would just encode, unless you're trying to provide a subset of html to your users [23:25] tjholowaychuk: badaxx: vvsh_: yeah it works by require(engineName) so the extensions need to match the module name OR you can use app.register() to setup arbitrary view engine support [23:25] tjholowaychuk: or to tie in one that is not compliant [23:25] badaxx: tjholowaychuk: okay, got haml working now. but jade is cooler? [23:26] tjholowaychuk: badaxx: the error reporting is much better [23:26] tjholowaychuk: badaxx: and IMO the syntax as well [23:26] techwraith: sechrist: Trying to make a comment system that only allows [23:26] dnolen_ has joined the channel [23:26] _announcer: Twitter: "Translated Understanding # node.js (http://bit.ly/djmaIL) from @ felixge, will check tomorrow and will publish on # habrahabr" [ru] -- Oleg Efimov. http://twitter.com/SannisDev/status/24424587970 [23:27] tjholowaychuk: techwraith: id just allow markdown or a subset of markdown, way sexier than html [23:27] sechrist: mmm markdown [23:27] sechrist: way better than markup imo [23:27] sechrist: but it has nothing on bbcode [23:27] sechrist: bbcode4lyfe [23:28] techwraith: tjholowaychuk, sechrist: More people know how to use html than markdown/markup [23:28] vvsh_: tjholowaychuk: what do you think of mustache and haml? [23:28] tjholowaychuk: techwraith: true [23:28] tjholowaychuk: vvsh_: I like the simplicity of mustasche, but I dont like setting up a view object, to pass to my view [23:28] tjholowaychuk: just ruins the point I think [23:29] badaxx: is there also sth like a body variable for a layout.jade? [23:29] _announcer: Twitter: "Juggernaut plugin for Rails completely rewritten to now use NodeJS: http://bit.ly/cDvCRK" -- Jaime Bueza. http://twitter.com/jbueza/status/24424787996 [23:29] tjholowaychuk: badaxx: body variable? [23:29] vvsh_: fair enough, IMO mustache and haml goes pretty well together :) [23:30] tjholowaychuk: badaxx: if you are using Express they all will have the "body" local variable for layouts [23:30] techwraith: tjholowaychuk, sechrist: So, with html in mind, is there a lib out there that will do what I need? [23:30] badaxx: tjholowaychuk: ah okay, thanks :) [23:30] tjholowaychuk: vvsh_: mustache would be great for designers i think [23:30] tjholowaychuk: vvsh_: id never say haml/jade are good for designers to work with [23:31] tjholowaychuk: ejs would be better for that [23:31] techwraith: tjholowaychuk, sechrist: I can strip tags easily enough, but it's the href that's the hard part. [23:31] sechrist: html parsers in node suck afaik [23:31] vvsh_: tjholowaychuk: some designer won't touch anything outside PS :) [23:31] tjholowaychuk: techwraith: I would just if (~str.indexOf('javascript:') res.send('WHAT THE FUCK? ASSHOLE') [23:31] tjholowaychuk: something like that [23:32] sechrist: vvsh_: my cofounder/designer pretty much just uses photoshop. I'm forcing him to learn CSS :) [23:32] tjholowaychuk: techwraith: IMO dont try and mend it, just chuck it out [23:32] sechrist: and then jquery [23:32] ChrisPart has joined the channel [23:33] vvsh_: sechrist: good job, i bet he likes them now [23:33] HAITI: I like the simplicity of mustasche, but I dont like setting up a view object, to pass to my view ... that makes sense tj [23:33] HAITI: I like how you put that [23:33] jbrantly has joined the channel [23:33] sechrist: why can't I just write html and not some weird ass abstraction [23:34] sechrist: haml >:( [23:34] tjholowaychuk: HAITI: I will admit I love how concise mustache is, just not that part of mustache [23:34] techwraith: sechrist: ejs #nuffsaid [23:34] sechrist: is ejs usable yet in node? [23:35] techwraith: I use it all the time with express [23:35] sechrist: hmm [23:36] sechrist: I still write all frontend code in php, and use node for services [23:36] sechrist: ejs looks really cool though [23:36] tjholowaychuk: sechrist: http://github.com/visionmedia/ejs [23:36] techwraith: tjholowaychuk: beat me to the link [23:37] sonnym has joined the channel [23:39] softdrink has joined the channel [23:39] badaxx: no irc chan for jade? [23:40] tjholowaychuk: nope [23:40] ryah: we really need a signal for node to start the debugging server... [23:42] _announcer: Twitter: "I have not even tried it yet, the dream was a dream to play in today's server Node.js in ALC. websocket Wakuteka did you use it." [ja] -- 中丸 良. http://twitter.com/pottava/status/24425722085 [23:43] isaacs: tjholowaychuk: i'm glad to see a microtemplates/ejs implementation that doesn't use regexps [23:43] tjholowaychuk: isaacs: :) [23:44] isaacs: tjholowaychuk: it'd be rad if it kept the line numbers intact though. [23:44] badaxx: well my problem is that i've got a layout.jade with "p= body" but everything in the template is escaped [23:44] badaxx: like &li; [23:44] isaacs: tjholowaychuk: my implementation did that, but it broke on /%>/ [23:44] tjholowaychuk: isaacs: haha yeah, I didnt care much about ejs so it is kinda lacking in error reporting [23:44] tjholowaychuk: badaxx: p!= boy [23:44] tjholowaychuk: badaxx: p!= body [23:44] isaacs: tjholowaychuk: parsing js i sHARD [23:44] badaxx: perfekt, thank you ;) [23:44] zith_: ryah: wouldnt just starting node with a debug argument do? [23:44] tjholowaychuk: isaacs: oh god, yeah attributes in jade are a bitch since essentially any js expression is valid [23:45] tjholowaychuk: or at least supposed to be [23:45] zith_: i guess it's important to be able to attach to running node processes? [23:45] isaacs: tjholowaychuk: http://github.com/isaacs/simple-node-server/blob/master/lib/utils/ejs.js [23:45] saikat has joined the channel [23:45] ryah: zith_: i want to turn it on dynamically [23:46] isaacs: tjholowaychuk: that's OOOLLLLDDD code. var posix = require("posix"), semicolons all over the damn place, commas on the right-hand side, etc. [23:46] isaacs: p.emitSuccess [23:46] isaacs: yikes!! [23:46] tjholowaychuk: isaacs:haha :D require('posix') wow, from way back haha [23:46] onar has joined the channel [23:46] tyfighter has joined the channel [23:47] isaacs: tjholowaychuk: the last commit (after I'd already mostly abandoned sns) was in February, when we changed sendBody to write [23:47] isaacs: tjholowaychuk: i think it was before 0.1.x [23:47] tjholowaychuk: sounds like it [23:47] _announcer: Twitter: "Installation, Configuration, Deployment: node.js Applications on Media Temple | Big Bang Technology: http://bit.ly/cZQhmt" -- Brendon Smith. http://twitter.com/seacloud9/status/24426102591 [23:48] zith_: ryah: so did you come up with any cons with using one of the USR signals? [23:49] ryah: i'd rather leave those to users if possible [23:49] ryah: apparently the jvm has a debug signal too [23:49] ryah: i wonder which it is [23:50] isaacs: ryah: i'm a fan of ALRM [23:50] isaacs: ryah: mostly because the description in man kill is so completely weird and out fo place. [23:50] isaacs: 14 ALRM (alarm clock) [23:50] isaacs: as if that's supposed to tell you what it does. [23:51] tjholowaychuk: hahaha [23:51] isaacs: no, srsly, it's for sleep. [23:51] isaacs: that's how sleep knows when to wake up [23:51] Anti-X: well that's sexy [23:52] Anti-X: did the signal need to be 4 characters instead of 6? [23:52] Anti-X: or are they just doing it the ugly way [23:52] isaacs: Anti-X: it's hte posix way [23:53] tjholowaychuk: they do that all over [23:53] mjr_: isaacs: as if "kill" makes any sense as a name for a general purpose signal deliverer. [23:53] tjholowaychuk: ABRT [23:53] tjholowaychuk: CHLD [23:53] isaacs: mjr_: well, i do have murderous feelings whenever the phone rings... [23:53] mjr_: Let me just kill you back to life. [23:53] zith_: my manpage says [23:53] zith_: SIGALRM 14 Term Timer signal from alarm(2) [23:53] Anti-X: then it makes more sense [23:55] _announcer: Twitter: "The WebOS node.js not help the mood of the adoption news ,,,(;' Д `) but,,," [ja] -- hamatz. http://twitter.com/hamatz/status/24426652359 [23:55] HAITI: woah gmail phone started working in canada? [23:55] HAITI: nice [23:55] sechrist: there's a gmail phone? [23:55] isaacs: ryah: looks like java spits out a stack trace in response to SIGQUIT [23:55] sechrist: and it didn't work in canada? [23:56] isaacs: ryah: http://java.sun.com/developer/technicalArticles/Programming/Stacktrace/ [23:57] HAITI: http://www.google.com/googlevoice/about.html [23:57] _announcer: Twitter: "So, tonight I got a c# rtmp lib working in unity, then battled getting a node.js rtmp server working. Almost working." -- Mikeemoo. http://twitter.com/Mikeemoo/status/24426866550 [23:58] HAITI: It wasnt working for me when they first announced it [23:58] HAITI: I should of been checking that more often [23:58] badaxx: tjholowaychuk: btw - app.register('.haml', require('haml-js')); [23:58] badaxx: eeeh [23:58] badaxx: vvsh_: [23:58] tjholowaychuk: haha ehhh [23:59] tjholowaychuk: badaxx: the nice thing with register is you can do app.register('.html', require('ejs')) [23:59] tjholowaychuk: which is kinda nice [23:59] badaxx: tjholowaychuk: ah, awesome :) [23:59] vvsh_: badaxx: nice!