[00:04] ashleydev: nice mde, that's really helpful [00:05] stalled has joined the channel [00:07] foobarfighter: if i want to print something to stderr do i have to use sys.debug? it seems to be prefixing my output with 'DEBUG:' [00:07] mde: ashleydev: Glad we could help out. [00:07] sechrist has joined the channel [00:07] mde: foobarfighter, aw, they let frigging anybody in here. [00:08] foobarfighter: lol [00:08] mde: :) [00:08] foobarfighter: the rifraf has finally entered the kingdom [00:08] mde: There goes the neighborhood. [00:09] foobarfighter: man... it would be nice to have something like thor for node [00:09] jesusabdullah: Quick! Time to find the next big thing! [00:09] jesusabdullah: What's thor? :/ [00:09] mde: I think it's this: http://haskell.on-a-horse.org/ [00:09] SubStack: jesusabdullah: nah, you can just whine about how you were using node "before it was cool" [00:09] foobarfighter: ACTION wishes he would have started groupon... thats the current big thing [00:09] foobarfighter: $1million a day [00:09] jesusabdullah: tssch [00:10] jesusabdullah: EVERYONE KNOWS that news.ycombinator is where it's at [00:10] foobarfighter: jesusabdullah: http://github.com/wycats/thor [00:10] jesusabdullah: hmm [00:10] batasrki has joined the channel [00:13] jacoblyles has left the channel [00:15] paulwe has joined the channel [00:17] _announcer: Twitter: "@Viper007Bond The reason I'm asking is I thought of a really cool way to do it with a Evented Server (like Node.js)" -- Daniel Erickson. http://twitter.com/TechWraith/status/19950475505 [00:22] kevinh__ has joined the channel [00:22] paul_irish has joined the channel [00:24] ashleydev has joined the channel [00:26] foobarfighter: so mde theres no sys.warn or anything? [00:29] mde: foobarfighter: I've only ever used puts and debug. [00:29] mde: foobarfighter: Node just added the console methods, so if we all update we'll get those. [00:30] foobarfighter: var console = require('console'); ? [00:31] mde: No, it's actually a builtin, no more mechanically requiring crap. [00:31] _announcer: Twitter: "I'm think I'm liking node.js, but I can't say for certain since the latest version is probably completely different than yesterday's." -- Bruce Spang. http://twitter.com/brucespang/status/19951313600 [00:34] jamescarr has joined the channel [00:34] jamescarr: so what's new in the world of node.js today? [00:36] [[zz]] has joined the channel [00:36] amerine_ has joined the channel [00:37] mde: jamescarr: Not a lotta, man. Just typing up some codez. [00:37] bradleyprice has joined the channel [00:37] joshdulac: jamescarr: just finished watching ryan's google tech talk [00:38] joshdulac: jamescarr: have you checked it out? [00:38] jamescarr: it's queued up [00:38] jamescarr: I'll get time tonight to watch it and another video [00:39] jamescarr: although I wish google tech talks captioned their talks like TED does:( [00:39] joshdulac: the middle is a repeat of the JS conference, so skimming through that ... its probably only 35-40 minutes long [00:39] jakehow has joined the channel [00:40] _announcer: Twitter: "I'm starting to notice a worrying trend in node.js code: listen, listen, listen, listen agai and listen yet again... kind of hard to read :S" -- Luís Nabais. http://twitter.com/d3x7r0/status/19951863263 [00:42] SubStack: kind of /awesome/ to read, morelike [00:42] jamescarr: going to start on payment-authorizenet tonight [00:42] SubStack: (message passing)++ [00:42] SubStack: payment authorization! [00:43] SubStack: jamescarr: that's the soft of thing that businesses do who are ready to launch! [00:43] jamescarr: :) [00:43] d3x7r0: SubStack, I love javascript as much as the next guy but too many callbacks start to get weird... [00:43] SubStack: d3x7r0: well I do like haskell so there's that [00:44] creationix has joined the channel [00:44] d3x7r0: SubStack, never saw it actually... :P [00:44] SubStack: debugging message passing through event emitters is great though since you can just throw in a .on() [00:45] SubStack: that is, once you've figured out the flow [00:45] d3x7r0: SubStack, I agree but I still haven't gotten the hang of writing code like that so I end up getting way to much function() in there [00:47] softdrink has joined the channel [00:48] c4milo has joined the channel [00:50] Byron has joined the channel [00:51] Byron has left the channel [00:51] creationix: ok, my in-memory spatial database can insert about 900k records/sec, save a million record database to disk in 1second and do rectangle queries at about 18k/second [00:52] bradleyprice has joined the channel [00:53] _announcer: Twitter: "Bryan Cantrill on joining Joyent: http://is.gd/dTUqu #nodejs #cloud #devops" -- Jeff Waugh. http://twitter.com/jdub/status/19952712634 [00:55] rauchg_ has joined the channel [00:56] Wandrewvious has joined the channel [00:58] d3x7r0: coolness, got another bit of my php code ported to node, one step closer to full javascript on the backend and frontend :D [00:59] ashleydev: so i'm rewriting the parser in ejs... what's the fastest way to append to a string? [01:00] ashleydev: given an ejs string "..." I am passing through it one char at a time and then adding to newEjsStr based on what I see in ejsStr [01:00] ashleydev: how should I append to ejsStr w/o doing a memcopy of ejsStr? [01:01] ashleydev: is it efficient to just build an array of chars and join them? [01:03] SubStack: seems easy enough to build a test to figure that out experimentally [01:04] mw_ has joined the channel [01:07] SubStack: my results: [01:07] SubStack: node> var xs = []; for (var i = 0; i < 10000000; i++) xs[i]='a'; var t0 = new Date; xs.join(''); (new Date() - t0) / 1000 [01:07] SubStack: 1.292 [01:07] SubStack: seems fast enough [01:09] d3x7r0: what about using variable += char? slower? [01:09] d3x7r0: (it probably is btw) [01:10] SubStack: yes [01:10] SubStack: node> var xs = ''; var t0 = new Date; for (var i = 0; i < 10000000; i++) xs+='a'; (new Date() - t0) / 1000 [01:10] SubStack: 2.858 [01:10] SubStack: interesting results [01:12] SubStack: whoa, buffers are way slow for this [01:12] SubStack: node> var xs = new Buffer(10000000); var t0 = new Date; for (var i = 0; i < 10000000; i++) xs[i]='a'; (new Date() - t0) / 1000 [01:12] SubStack: 8.342 [01:13] ashleydev: looks like the best way is join... [01:13] SubStack: well, of the methods shown [01:14] programble has joined the channel [01:14] programble has joined the channel [01:15] SubStack: maybe v8 knows how to optimize joins specially [01:15] jamescarr: good stuff [01:15] SubStack: also the join example is somewhat different in that the result isn't used [01:16] SubStack: ah but the results are the same if I assign to a var [01:16] d3x7r0: how so? using a var instead of 'a'? [01:17] SubStack: I mean just var ys = xs.join('') [01:17] SubStack: so that v8 isn't optimizing away the unused expression [01:17] d3x7r0: ohh... I see [01:17] aheckmann has joined the channel [01:17] jamescarr: there's no bind in v8? [01:18] aheckmann: jamescarr: you mean Function.proto.bind? [01:18] ruf has joined the channel [01:19] tocho-san has joined the channel [01:20] pydroid has joined the channel [01:20] jamescarr: yeah [01:20] dannycoates has joined the channel [01:20] jamescarr: where it be!? :) [01:21] aheckmann: grab node HEAD [01:21] aheckmann: ryah just pull it in this afternoon [01:21] aheckmann: it was buggy before [01:21] jamescarr: oh yeah! [01:21] pydroid has left the channel [01:21] jamescarr: I just reached a usecase where it might be handy [01:22] aheckmann: sweet [01:24] d3x7r0: btw is there a v8 equivalent of the Mozilla Developers Network? I mean somewhere to check documentation for builtin functions in V8? [01:25] aheckmann: d3x7r0: not sure. it would be nice [01:25] jamescarr: aheckmann, saw you did a bunch of pushes on node-gd [01:25] aheckmann: yup [01:25] jamescarr: keep meaning to see how its looking [01:25] aheckmann: got some docs brewing [01:25] Tim_Smart has joined the channel [01:25] aheckmann: i've taken it about as far as i want to [01:25] aheckmann: maybe add the draw method [01:25] aheckmann: we'll see [01:26] jamescarr: does it just do resizing or can you actually generate images with text and such? [01:26] aheckmann: contributions welcome [01:26] aheckmann: the draw method handles text and shapes etc [01:26] aheckmann: that's not in yet [01:26] aheckmann: image generation is completely missing really [01:27] mikeal has joined the channel [01:27] d3x7r0: node-gd? nice! That'll come in handy for me actually since I'm doing a mobile ui and sending 1280px wide pictures to a phone probably isn't a good idea [01:27] aheckmann: haha [01:28] d3x7r0: Some are 1080px even... people like HD on the desktop :P [01:28] wilmoore has joined the channel [01:29] aheckmann: d3x7r0: take it for a spin and let me know how it works for you [01:29] aheckmann: http://github.com/aheckmann/gm [01:30] d3x7r0: aheckmann, it's gonna take a few days. I'm still doing the basics (currently I'm running on php :S) [01:30] aheckmann: yeah, np [01:30] aheckmann: node > php [01:30] aheckmann: :D [01:31] d3x7r0: yeah, I only did the code in php in a hurry to get a sort of proff of concept working [01:31] aheckmann: i'm using express for that type of thing now [01:32] d3x7r0: and I was using a shared hosting account back then, now I have my server so I can use whatever I want (aka node :D ) [01:33] aheckmann: yay! [01:36] ryah: wow [01:36] aheckmann: ? [01:37] ryah: http://dtrace.org/blogs/bmc/2010/07/30/hello-joyent/ [01:40] d3x7r0: js over a 9600 baud TTY? UOU! That's awesome in ways I can't even begin to describe :| [01:44] aheckmann: nice article [01:44] paul_irish has joined the channel [01:44] ryah: mjr and i spent the whole afternoon dtracing a problem in node :) [01:45] aheckmann: how did it go? [01:46] ryah: conclusion: osx sucks [01:46] ryah: not a good server operating system [01:47] aheckmann: haha [01:48] d3x7r0: doesn't really surprise me since it isn't made for that task anyway :) [01:48] aheckmann: yeah, i think osx and i think designers [01:49] ryah: i think osx and i think crap [01:49] guybrush: how do you guys think about lowercase class-names? i mean this is just about "conventions" - but i really like to have everything lower/camelcase. even Objects with prototyped functions, member-vars and so on [01:49] aheckmann: haha [01:49] aheckmann: i alway capitalize constructors, unless they're special [01:49] joshdulac: guybrush: everyone has their own coding style, i dont think any one is right/wrong [01:50] joshdulac: guybrush: just make sure you document it in the README [01:50] aheckmann: and my special i mean there's a check like: if (this instanceof whatever) return new this() [01:50] aheckmann: haha [01:50] aheckmann: ryah: so why use osx? [01:50] ryah: forced on me [01:50] pengwynn has joined the channel [01:50] jamescarr: ryah, THANK YOU :) [01:51] jamescarr: ryah, I always feel like a pariah in dev communities since I'm the only one not using OSX :) [01:51] _announcer: Twitter: "New listened # nodeJS from @ temanmacet, wondering could digabungin with # mongodb, equally json, how to @ lynxluna, okay ga?" [id] -- Ifnu Bima. http://twitter.com/ifnubima/status/19956355569 [01:51] joshdulac: was that tweet in english? [01:51] jamescarr: and when I speak at conferences, I'm the only one using a laptop with linux or freebsd. Everyone else has a mac ;) [01:52] d3x7r0: jamescarr, don't worry, I fell the same way :P [01:52] programble has joined the channel [01:52] ryah: jamescarr: yes, digusting isn't it? [01:52] programble has joined the channel [01:52] jamescarr: ryah, Think Different indeed ;) [01:52] d3x7r0: It's weird beeing the guy running linux when everyone around you has a half-eaten apple glowing on your face :P [01:53] aheckmann: id never pay for a mac [01:53] marshall_law_ has joined the channel [01:55] ThePub has joined the channel [01:56] ruf has joined the channel [01:57] joshdulac: anyone good with regex in JS? [01:57] confoocious has joined the channel [02:03] kriszyp has joined the channel [02:04] mape: ryah: wow, he is really liking nodejs :) [02:05] _announcer: Twitter: "@ryah #nodejs Node.js: JavaScript on the Server: unbelievable efficiency. Keep it up Ryan. http://youtu.be/F6k8lTrAE2g" -- supercobra. http://twitter.com/supercobra/status/19957286049 [02:05] troymg_ has joined the channel [02:05] _api has joined the channel [02:08] ryah: !tweet @supercobra thanks [02:10] maushu has joined the channel [02:18] _announcer: Twitter: "Fascinating: Ryan Dahl introduces node.js, a server written in C and Javascript (asynchronous processes!) http://bit.ly/cLowOB" -- Ben Buckman. http://twitter.com/thebuckst0p/status/19958109902 [02:25] mpoz2 has joined the channel [02:32] shimondoodkin has joined the channel [02:35] _mythz has joined the channel [02:37] jamescarr: sweet [02:38] bradleymeck2 has joined the channel [02:39] mscdex: ACTION shakes a fist at apple [02:39] sh1mmer has joined the channel [02:39] bradleymeck2: i agree mscdex [02:40] mscdex: they only have line-in jacks! [02:40] _announcer: Twitter: "@bga_ @diegoperini also checkout http://github.com/subtlegradient/Sheet.js An implementation of the CSSOM for all JS envs, including Node.js" -- Thomas Aylott. http://twitter.com/SubtleGradient/status/19959578795 [02:40] mscdex: luckily my server machine is next to it, so i'm using that as a preamp [02:41] mscdex: heh [02:41] mscdex: for my mic [02:41] Apage43: eh [02:42] Apage43: ACTION is an audio dork so I have proper equipment laying around =P [02:42] mscdex: well, i don't personally own a mac, so i've never had such silly problems [02:43] Apage43: I didn't own a mac until about a month ago. [02:43] Tobsn: ACTION afk - starcraft2 :D [02:43] sh1mmer: I am _so_ glad to be home [02:44] Tobsn: i knew it when i saw the gamestop right in front of my car that my social life will end in 30 minutes. [02:44] Tobsn: ;) [02:44] jamescarr: Array.__proto__.bind ?? [02:44] jamescarr: hmmm [02:44] Tobsn: and this will be the first time that i use the cd rom in my imac. [02:44] jchris has joined the channel [02:47] _announcer: Twitter: "@ Ifnubima Iya dah bwt nodejs no driver. Date pake aja." [id] -- Didiet. http://twitter.com/lynxluna/status/19960039302 [02:49] jamescarr: I think I'm going to try and learn jade [02:49] sh1mmer: jade? [02:52] jamescarr: yeah [02:52] jamescarr: some alternative rendering engine for express [02:52] jamescarr: as opposed to haml [02:53] _announcer: Twitter: "@shojberg hey, are you still down to be my node.js design partner for node knockout? http://bit.ly/9BnN0M" -- technowürst. http://twitter.com/technoweenie/status/19960390673 [02:53] guybrush: mustache > *.tplEngine :p [02:53] Tobsn: jamescarr, any benefits? [02:53] Tobsn: did anyone ever benched those template engines [02:54] jamescarr: Tobsn, I think tj did [02:55] Tobsn: because in php i aways used blitz, which is not very known/common but its the fastest because its written in C and you load it as extension [02:55] Tobsn: based on their benches its even faster than just mix code [02:55] waratuma1 has joined the channel [02:56] jamescarr: I used to always use smarty [02:56] Tobsn: me too, till i found out about blitz [02:56] guybrush: isnt php a template-engine itself? [02:56] Tobsn: http://alexeyrybak.com/blitz/blitz_en.html [02:56] Tobsn: guybrush - thats called trash code [02:56] Tobsn: :P [02:56] Tobsn: or in the blitz bench they call it "PHP mess"§ [02:57] marshall_law has joined the channel [02:57] Tobsn: oh i see, php mix code is actually a tiny bit faster [02:57] guybrush: i used http://pear.php.net/package/HTML_Template_Flexy for some time [02:59] guybrush: well Tobsn, i switched from smarty to pear-template-it to pear-template-flexy and finally i use php itself [03:00] jakehow has joined the channel [03:00] guybrush: much easier to implement, though it might be little slower - its not the bottleneck [03:00] Tobsn: well look into blitz [03:00] Tobsn: its really super fast [03:00] Tobsn: and its a nice engine [03:01] guybrush: im using php when i want to get stuff very fast done, not to implement fastest ever programs [03:02] guybrush: i guess templating your stuff with Mu is faster then blitz - and much cooler :p [03:02] guybrush: *than [03:05] mjr_ has joined the channel [03:14] jchris has joined the channel [03:14] Tobsn: Mu? [03:14] guybrush: http://github.com/raycmorgan/Mu [03:15] jchris has joined the channel [03:16] jchris has joined the channel [03:16] Tobsn: uh nice [03:16] nuxusr: if i want to communicate with an http server that does a 100-continue (don't send body until it responds with the 100-continue).. what is the best way? The createClient / request doesn't send the headers (i tried request.write('')), it waits until you start sending body. Are my only options to do a low level stream? [03:16] Tobsn: nuxusr, telnet? :P [03:17] Tobsn: guybrush, how does that work with dynamic pages? [03:18] nuxusr: i shouldn't say "only option", but is net.stream the best option if i want ssl support [03:19] Tobsn: (no clue - never worked with 100) [03:19] ryah: nuxusr: req.end() [03:20] Tobsn: brb - SC2 is finished installing [03:20] nuxusr: ryah: if you send req.end() doesn't that send the \r\n\rn end of request -- so you can't send the body? [03:20] guybrush: Tobsn: like any other template-engine, fetch your data and render it [03:20] Tobsn: but when does it compile than and what? [03:20] ryah: nuxusr: 100-continue is a complete response. [03:21] ryah: nuxusr: the client needs to resend the headers [03:21] ryah: (eh - i think) [03:21] guybrush: Tobsn: i dont understand your question, anyway i tend to client-side template-rendering since bandwith is expensive :p [03:22] nuxusr: 100-continue is sent means you can go ahead and send the body [03:22] Tobsn: hmm [03:22] guybrush: i like the idea of only sending json [03:22] Tobsn: i always wondered about that kind of stuff [03:22] guybrush: especially when it comes to mobile-devices [03:22] Tobsn: cause facebook is rendering most of their pages just by sending json [03:22] Tobsn: but how would you do that? i mean you have to send some sort of structure [03:23] Tobsn: or do you just build everything with JS? [03:23] Tobsn: and if someone has no JS on hes just fucked [03:23] bradleymeck2: tmpvar you about? [03:23] guybrush: on the first request you send all templates [03:23] inimino: nuxusr ⋱ Last time I looked you have to use the connection object and send the 100 Continue yourself [03:24] bradleymeck2: tobsn look into jup [03:24] guybrush: every other request just sends json, which gets rendered on the clientside - using the templates which are already stored in a clientside js-object [03:24] nuxusr: http://webee.technion.ac.il/labs/comnet/netcourse/CIE/RFC/2068/72.htm [03:24] nuxusr: i am the client [03:24] bradleymeck2: also, ppl not running js are miniscule [03:24] inimino: nuxusr ⋱ Eh, nevermind, I misread what you're doing. [03:24] Tobsn: bradkey any other keyword to satisfy google? [03:25] bradleymeck2: github , JUP [03:25] nuxusr: basically i'm sending 5 gigabyte files up to a cloud server that gives you a 100-continue if you can go ahead and send the data... so you dont' end up sending the data if you're not permitted [03:25] bradleymeck2: its a JSONML engine (JSML? i forget) [03:25] nuxusr: i think i got it though net.stream though [03:26] Tobsn: k [03:27] Tobsn: http://github.com/hij1nx/JUP [03:27] Tobsn: found it [03:27] Tobsn: i like the logo haha [03:27] ryah: huh [03:27] Ned_: if someone has given me a patch http://gist.github.com/raw/467174/node-irc-0001-Added-new-option-secure-to-the-IRC-client-enabling-S.patch [03:27] ryah: nuxusr: okay i was wrong [03:27] Ned_: what's the "correct" way to apply it ? [03:27] ryah: we should probably handle this inside now.. [03:27] ryah: node [03:27] Ned_: git-apply seems to work, but it doesn't retain author/date [03:28] nuxusr: ryah: maybe i'll request on the list a way to flush the headers out, in the meantime the request is simple enough net.stream should work (just a little verbose) [03:29] Tobsn: oh my [03:29] Tobsn: that is fuckin awesome [03:29] Tobsn: btw. i dont get this: [03:29] Tobsn: ["div", { "class": "{{someclass}}" }, ["div"], "content"] // Renders:
content
[03:29] Tobsn: {{someclass}} -> "foo" ?! [03:29] ryah: do you send "HTTP/1.1 100 Continue\r\n\r\n" [03:29] guybrush: JUP looks cool [03:29] ryah: and then recv the body [03:29] ryah: and then send the response? [03:30] guybrush: i prefer http://github.com/janl/mustache.js for client-side template-rendering - since all my templates are mustache now :p [03:30] Tobsn: yep JUP looks really really cool [03:31] ryah: nuxusr: you should be able to flush with res.write('') [03:32] _announcer: Twitter: "http://tinyurl.com/27utc7j (Node.js googletalk), the final Q & A session with reference to plurk is also in use Node.js http://plurk.com/p/6nkt3y" [zh-TW] -- Andy Chong. http://twitter.com/andycjw/status/19962976959 [03:33] robotarmy has joined the channel [03:37] dannycoates: ryah: were you ever able to get node-inspector working? [03:37] jamescarr: soh [03:37] jamescarr: when using Object.create() to create objects, is there someway to default enumerable to true for each property?? [03:37] jamescarr: by default it's false so I have to define it for each one :( [03:39] bradleymeck2: tobsn, the mustache style locals let you do templating, so you can cache the JSONML out of context [03:40] bradleymeck2: jamescarr im not sure i understand [03:40] bradleymeck2: you arent setting properties when you use obj.create [03:41] bradleymeck2: oh, new syntax from when i read specs a while ago, mmmm [03:42] jamescarr: yes. You might say "Why don't you just define them like normal people?" and I'll reply "because I have specific getters that perform calculations" :) [03:42] cgcardona_androi has joined the channel [03:43] bradleymeck2: guess you could make a function to iterate, var x={...props...}; Object.keys(x).forEach(function(k){x[k].enumerable=false}); Object.create(proto,x) [03:43] bradleymeck2: and I absolutely abuse property descriptors, so i understand [03:44] bradleymeck2: node-inspector? [03:45] dannycoates: a debugger gui im working on: http://github.com/dannycoates/node-inspector [03:47] bradleymeck2: interesting [03:48] cgcardona_androi: Dannycoates nice work [03:48] bradleymeck2: ill dl in sec [03:49] dannycoates: cgcardona_androi: thanks! [03:49] pzich has joined the channel [03:50] cardona507 has joined the channel [03:50] wilmoore has joined the channel [03:51] sechrist_ has joined the channel [03:51] dannycoates: i think it'd be cool to pair it up with bespin somehow [03:52] cgcardona_androi: Great idea [03:52] sechrist_ has joined the channel [03:52] cgcardona_androi: cardona [03:53] guybrush: dannycoates: nice! [03:53] cgcardona_androi: nm [03:53] jamescarr: when I f up using the node console, how can I escape from the ... [03:53] jamescarr: I just want it to give up and try again [03:53] bradleymeck2: ctrl z [03:53] jamescarr: without breaking out of node [03:53] bradleymeck2: oh [03:53] dannycoates: .break i think [03:54] jamescarr: thanks [03:58] danielzilla has joined the channel [03:58] _announcer: Twitter: "# debug nodejs in your browser with node inspector http://github.com/dannycoates/node-inspector - # awesome!" [nl] -- patrick. http://twitter.com/patrick232/status/19964683259 [04:02] bradleymeck2: danny its working here, nice [04:02] dannycoates: cool [04:02] dittos has joined the channel [04:02] dannycoates: i'd like to add the profiler panel too, but that will be harder [04:03] jamescarr: damn [04:05] bradleymeck2: mmm yea, i know expresso does code coverage, but timing of events would be a bit crazy [04:05] sechrist has joined the channel [04:06] jamescarr: okay dudes, I need some feedback [04:06] jamescarr: I'm afraid I might have made this too complicated for my readers [04:07] jamescarr: http://gist.github.com/501744 [04:07] jamescarr: thoughts? [04:08] creationix has joined the channel [04:08] cardona507: dannycoates: I am getting 'You need to enable debugging before you can use the Scripts panel' when I try to run node-inspector [04:08] cardona507: how do I enable debugging? [04:09] dannycoates: cardona: which browser? [04:09] cardona507: jamescarr: I can't really follow it - maybe some comments would help? [04:09] cardona507: dannycoates: chrome 5 [04:09] jamescarr: cardona507, thank you [04:09] jamescarr: you answered my question [04:09] cardona507: np [04:10] jamescarr: if it needs comments, I failed :) [04:10] cardona507: :) [04:10] dannycoates: cardona: use? http://127.0.0.1:8080 [04:11] cardona507: dannycoates: yeah - that s what i tried before - same message [04:11] cardona507: I'm not sure how to turn on debugging - trying to find it via google right now [04:12] jamescarr: cardona507, I suppose the bottom is more readable [04:12] jamescarr: http://gist.github.com/501744 [04:12] jamescarr: :) [04:12] dannycoates: cardona: what's your cmd line look like? are you trying the test/hello.js? [04:13] amerine has joined the channel [04:13] cardona507: i pasted node bin/inspector.js --start=test/hello.js [04:13] cardona507: jamescarr: oh yeah [04:13] jamescarr: I think sometimes it's better to be clear than concise ;) [04:14] jamescarr: er, clear rather than clever [04:14] cardona507: yeah [04:14] jamescarr: oh god [04:15] jamescarr: I forgot about javascripts bullshit math [04:17] dannycoates: cardona: if you add the --fwd-io flag does it show 'Server running at http://127.0.0.1:8124/' ? [04:18] jamescarr: oh interesting! [04:19] jamescarr: (23.36056230456).toFixed(2) [04:20] cardona507: how about var carlos = 345345; carlos.toString(2) [04:20] cardona507: or var carlos = 345345; carlos.toString(16) [04:21] cardona507: quick binary or hex conversion [04:21] cardona507: dannycoates: no I don't see that - I'll keep trying to get it to work [04:23] dannycoates: cardona: some people seem to have problems with --start, maybe try running test/hello separately with --debug [04:24] dannycoates: if that doesn't work, could you put in an issue on github with your environment details? [04:25] cardona507: no problem - just to be sure can you paste in the two commands that I should try - just so I am for sure trying the correct command - thanks dannycoates [04:25] dannycoates: are you mac or linux? [04:26] cardona507: mac [04:26] dmcquay_ has joined the channel [04:26] cgcardona_androi has joined the channel [04:26] dmcquay_ has left the channel [04:26] dannycoates: node --debug test/hello.js [04:26] dannycoates: node bin/inspector.js [04:27] dmcquay has joined the channel [04:29] cardona507: ok - so when I run the first command I get 'hello world 1' [04:30] cardona507: now should I control-c that and run the next command or should I open a new tab and cd to that directory and then run the second command? [04:30] dannycoates: cardona: new tab [04:30] cardona507: ok [04:30] _announcer: Twitter: "Liked "YouTube - Node.js: JavaScript on the Server" http://ff.im/-ozhn1" -- Cliff Gerrish. http://twitter.com/cgerrish/status/19966752128 [04:30] dannycoates: does the first one say 'debugger listening on port 5858' in the console? [04:31] cardona507: it doesn't - but the number next to hello world increases by 2 each time I refresh [04:32] dannycoates: you may need to rebuild node with configure --debug [04:32] cardona507: w00t [04:32] cardona507: it's working now [04:32] cardona507: :D [04:32] cardona507: nice work! [04:32] cardona507: very cool [04:33] dannycoates: cardona: awesome! [04:33] kriszyp_ has joined the channel [04:34] cardona507: wow - there's alot going on here [04:34] cardona507: this is gonna take me a moment to grok [04:35] _announcer: Twitter: "Debug #node.js in the browser with http://github.com/dannycoates/node-inspector.git" -- Carlos Cardona. http://twitter.com/cgcardona/status/19967047935 [04:36] _announcer: Twitter: "Hopefully node.js won't evolve into a crappy framework like django" -- shidan. http://twitter.com/shidan/status/19967083534 [04:38] dannycoates: cardona: thanks for the tweet! [04:38] _announcer: Twitter: "JavaScript server side, networking programs http://nodejs.org" -- Humberto. http://twitter.com/rkheik/status/19967203468 [04:38] cardona507: dannycoates: np :) [04:40] cardona507: Github is amazing [04:41] adelcamb1e has joined the channel [04:42] picasso has joined the channel [04:43] mitkok has joined the channel [04:44] cataska has joined the channel [04:44] dispalt has joined the channel [04:44] zhesto has joined the channel [04:45] xla has joined the channel [04:45] Epeli has joined the channel [04:45] dnyy has joined the channel [04:45] Noya has joined the channel [04:46] jakob has joined the channel [04:47] s0enke has joined the channel [04:47] geojeff has joined the channel [04:47] programb_ has joined the channel [04:47] mcarter has joined the channel [04:48] figital has joined the channel [04:50] eisd has left the channel [04:50] programble has joined the channel [04:52] konobi has joined the channel [04:55] pydroid has joined the channel [04:55] _announcer: Twitter: "GS Fes is available in a lot and for 作Rubeki. I make it off the cuff. The course node.js" [ja] -- KOBA789(こば). http://twitter.com/KOBA789/status/19968244176 [04:56] mikeal has joined the channel [04:57] jesusabdullah: Wow, quiet up ins [04:58] ashleydev has joined the channel [05:00] jesusabdullah: !wx 99775 [05:00] jesusabdullah: er [05:00] jesusabdullah: nvm! [05:01] khug has joined the channel [05:06] sh1mmer: any suggestions for load testing UDP? [05:06] sh1mmer: specifically dNS [05:06] mjr_: "load testing"? [05:07] sh1mmer: aha [05:07] sh1mmer: there is a tool called queryperf [05:07] sh1mmer: mjr_: I want to see how fast my rudimentary server is [05:07] mjr_: Surely you'll want to make a node-based load tester as well, no? [05:07] sh1mmer: maybe [05:14] freeformz has joined the channel [05:15] khug has left the channel [05:31] amerine has joined the channel [05:38] amerine has joined the channel [05:40] amerine has joined the channel [05:40] unomi has joined the channel [05:41] amerine has joined the channel [05:41] amerine has joined the channel [05:42] Tobsn has joined the channel [05:42] Tobsn: bradleymeck, how does mustache handle the jsonml?! [05:43] samsonjs has joined the channel [05:45] Tobsn: dannycoates? ah damn hes already gone [05:49] Egbert9e9 has joined the channel [06:12] sechrist_ has joined the channel [06:13] sudoer has joined the channel [06:17] derferman has joined the channel [06:23] ajpiano has joined the channel [06:25] saikat has joined the channel [06:29] Dmitry has joined the channel [06:35] shreekavi has joined the channel [06:35] _announcer: Twitter: "Node.js is a server framework? Who would have thought JavaScript would be used for that #JavaScript #server" -- nabiber. http://twitter.com/nabiber/status/19973561000 [06:35] _announcer: Twitter: "If you want native Function.bind on #nodejs then update from the source http://bit.ly/aCHjRs (V8 apparently had a leftover "print" before)" -- Andris Reinman. http://twitter.com/andris9/status/19973564716 [06:45] sh1mmer: fuck [06:45] sh1mmer: sweet [06:45] sh1mmer: I'll admit I'm not serving a complex load [06:45] sh1mmer: and I'll admit the server isn't complete [06:45] sh1mmer: but currently the node dns server does 15k+ qps [06:45] jetienne has joined the channel [06:45] sh1mmer: which is better than bind [06:46] _announcer: Twitter: "i didn't go to bed. i've been looking into #nodejs. its 8am. let's see how long i last. :-)" -- Peter Dayo Banjo. http://twitter.com/dayosuperstar/status/19974062097 [06:52] _announcer: Twitter: "My early early pre-alpha of a Node.js DNS server does 15,000+ qps on the lowest grade of Slicehost." -- Tom. http://twitter.com/sh1mmer/status/19974334839 [07:01] Tobsn: sh1mmer [07:01] sh1mmer: sup [07:02] Tobsn: how would you write an object you creat ewith var blah = new Blah; [07:02] Tobsn: or new Blah(); [07:02] sh1mmer: depends on context, and the object model you used [07:02] Tobsn: because var Blah = function(){} is not doing it [07:02] sh1mmer: what are you trying to do? [07:02] Tobsn: well i used var Blah = function() { var method = function(){}; } [07:02] _announcer: Twitter: "@ezmobius do what all the cool kids are doing and play with node.js" -- Daniel Jackoway. http://twitter.com/jackowayed/status/19974833663 [07:02] Tobsn: just messing around [07:03] sh1mmer: ok [07:03] sh1mmer: I'm not sure what you are trying to accomplish [07:03] Tobsn: well i just want to have an object with methods [07:04] Tobsn: but how i have it right now i get [07:04] Tobsn: TypeError: object is not a function [07:04] sh1mmer: var foo = {}; [07:04] sh1mmer: foo.method = function(baz) { return baz; }; [07:05] Tobsn: i can also do var foo = { method: function(){}, method2: function(){} } [07:05] Tobsn: right? [07:05] tekky has joined the channel [07:07] pydroid has joined the channel [07:07] sh1mmer: or var foo = { method: function(baz) {return baz; } }; [07:07] sh1mmer: sure [07:07] sh1mmer: Tobsn: you should try and get a copy of Crockford's book [07:07] sh1mmer: or Stoyan Stefanov's book is excellent for beginners too [07:07] saikat: in node.js, is it dangerous to try to push a lot of date to a user via something like websockets? like i understand that node doesn't block when clients make requests, but then after my node app goes to the DB and fetches a bunch of data (say a very large project) and pushes it to a client, does node not take other connections while this happens? [07:07] Tobsn: and how do i pass on variables while initilizing the object? [07:07] saikat: or does node just pass the data to be pushed to something else and continues processing incoming requests? [07:07] Tobsn: var blah = new foo( 123, 'Test' ); [07:07] sh1mmer: Tobsn: right [07:08] sh1mmer: although you should probably avoid new [07:08] sh1mmer: Tobsn: this is kind of basic JavaScript stuff [07:08] Tobsn: well it is [07:08] sh1mmer: and too be honest, I don't have the energy to explain it at midnight [07:08] sh1mmer: after flying all day [07:08] Tobsn: i just want to do it the right way in node [07:08] sh1mmer: try me another day [07:08] sh1mmer: sorry [07:08] sh1mmer: saikat: that's the point of the event loop [07:09] shreekavi has joined the channel [07:09] saikat: sh1mmer: yeah - i understand how the event loop handles incoming requests [07:09] sh1mmer: saikat: anything which might block get's pushed off [07:09] jetienne: saikat: most likely it doesnt block [07:09] saikat: i just wanted to make sure that it's equally non-blocking when pushing out data [07:09] sh1mmer: saikat: you can chunk large responses [07:09] sh1mmer: so it doesn't block [07:10] jetienne: saikat: but dont forget that if it doesnt block, thus implies the pushed data are in ram [07:10] saikat: right [07:10] sh1mmer: exactly [07:10] saikat: that part is fine [07:10] sh1mmer: if you are pushing megs or gigs [07:10] sh1mmer: you would stream them [07:10] sh1mmer: so it would chunk via the event loop [07:10] saikat: i was just thinking of moving my exporters over to node (right now i short poll a process on the server to check the export job status) [07:10] saikat: but exports tend to go up to around 10 megs in size [07:10] saikat: and i would be pushing over websockets (via socket.io) [07:10] sh1mmer: Tobsn: http://www.amazon.com/Object-Oriented-JavaScript-high-quality-applications-libraries/dp/1847194141 [07:11] sh1mmer: Tobsn: http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742 [07:11] jetienne: saikat: 10mbyte in a browser? [07:11] saikat: jetienne: 10 MB PDF file for example [07:11] sh1mmer: yeah that does seem like a lot to send to a browser [07:11] sh1mmer: saikat: download? [07:11] saikat: well it's a downlaod [07:11] sh1mmer: have you looked at github's download server [07:11] sh1mmer: I imagine the solution is chunking [07:12] jetienne: saikat: the websocket to download may not be easy [07:12] saikat: yeah good point [07:12] sh1mmer: but I haven't looked at socket.io enough to tell you exactly [07:12] saikat: actually [07:12] jetienne: saikat: maybe with a data: url [07:12] saikat: i wouldn't use websockets to do the download [07:12] saikat: i'm an idiot [07:12] saikat: i would just use it to check the job status [07:12] sh1mmer: saikat: http://github.com/blog/678-meet-nodeload-the-new-download-server [07:12] saikat: and once it's done do a normal download [07:12] saikat: sh1mmer: oh cool, thanks [07:12] sh1mmer: saikat: you could probably hit up technoweenie for details [07:13] saikat: yeah will do - hadn't seen that [07:13] saikat: thanks a lot [07:13] sh1mmer: np [07:15] technoweenie: saikat: i dont poll processes anymore, i start them in node and wait for them to finish before redirecting to nginx for the actual download [07:15] saikat: yeah makes sense [07:15] saikat: i would probably do the same [07:15] technoweenie: our old ruby archive server would kick off a resque job and then periodically check it before redirecting [07:15] saikat: nginx keeps giving some of my bigger projects 499s [07:15] saikat: which i'm not entirely sure why - but i get a feeling that constant short polls are not being treated nicely [07:16] technoweenie: also if your processes are command line based: http://techno-weenie.net/2010/6/28/tee_and_child_processes/ [07:16] sh1mmer: seriously, I should write something up about traffic server [07:16] sh1mmer: we've had pretty favourable comparisons to nginx [07:16] technoweenie: git obviously is... so tee helped simplify my workflow [07:16] sh1mmer: we use it to do all yahoo's internal akamai service [07:17] technoweenie: yes pleasee [07:17] _announcer: Twitter: "YouTube - Node.js: JavaScript on the Server: Google Tech Talk July 28, 2010 ABSTRACT Presented by Ryan Dahl, the c... http://bit.ly/cR18JL" -- mark grip. http://twitter.com/mark_want/status/19975494043 [07:17] technoweenie: i tried streaming downloads through nginx too, but initially hit a nasty memleak. and even now it takes more memory than i'd like [07:18] saikat: yes, mine are as well (command-line based that is) - hadn't heard of tee before [07:18] sh1mmer: have you tried ATS at all yet? [07:18] saikat: well thanks technoweenie and sh1mmer [07:18] sh1mmer: :) [07:18] technoweenie: ATS? [07:18] technoweenie: also: http://techno-weenie.net/2010/7/13/in-process-node-queues/ [07:18] sh1mmer: apache traffic server [07:19] technoweenie: i wrote chain-gang so i could ensure that i'm not running 50 git archive commands at once, especially for the same file [07:19] technoweenie: its not in use yet though [07:19] technoweenie: sh1mmer: no but nginx is already in our stack [07:19] jetienne: technoweenie: you use a lot coffeescript ? this is for a poll [07:19] sh1mmer: right [07:19] technoweenie: jetienne: yup [07:27] claudiu__ has joined the channel [07:39] qFox has joined the channel [07:41] Tobsn: fuck it [07:41] Tobsn: i give up. [07:41] Tobsn: idk what nodejs's problem is with my object. [07:41] Tobsn: n8 [07:42] grahamalot has joined the channel [07:45] sh1mmer: I just didn't have the energy to teach him JavaScript [07:46] sh1mmer: :( [07:47] JimBastard has joined the channel [07:48] _announcer: Twitter: "@ifnubima MongoDB itu **Binary** JSON. Not textual JSON. But, MongoDB + NodeJS? There you go: http://www.mongodb.org/display/DOCS/node.JS" -- exavolt. http://twitter.com/exavolt/status/19976790943 [07:48] JimBastard: !tweet @ifnubima http://couch.io [07:49] JimBastard: !tweet @ifnubima http://github.com/cloudhead/cradle [07:52] _announcer: Twitter: "@strlen connect my Prolog to some Node.js and that shit will hum along nicely." -- Nick Kallen. http://twitter.com/nk/status/19976988267 [07:53] rubydiamond has joined the channel [07:55] fearphage has joined the channel [07:59] tekky: wouldnt "binary JSON" be... a JS object ?? [08:02] _announcer: Twitter: "@ryah speaks about #nodejs at Google Tech Talks http://bit.ly/bvmgBd" -- Denis Jacquemin. http://twitter.com/denisjacquemin/status/19977420856 [08:05] derferman has joined the channel [08:07] sh1mmer: tekky: binary json? [08:07] sh1mmer: that smells of bullshit [08:08] tekky: sh1mmer: the 3rd _announcer comment from the bottom [08:08] tekky: made me thing of the jQuery "pro" from linkedin [08:08] sh1mmer: heh [08:10] tekky: poor guy actually almost got all the flack off from his first post as a "typo" but then.... he tried again... [08:12] sh1mmer: nini [08:12] tekky: gnite [08:15] V1 has joined the channel [08:23] cloudhead: so is there a prefered way to daemonize node? [08:25] pdelgallego has joined the channel [08:32] mscdex: i just use upstart [08:32] _announcer: Twitter: ""Deploying Node.js With Upstart and Monit" http://bit.ly/bmfhqH" -- Nicola Orritos. http://twitter.com/nicola_orritos/status/19978621097 [08:32] mscdex: heh ^ [08:33] pquerna: i use runit/daemontools [08:33] mscdex: the daemontools name is already taken :p [08:34] pquerna: you mean by the window sthing? [08:34] pquerna: the real deamontools was from qmail world way back :| [08:34] pquerna: runit is a more modern implementation [08:35] claudiu_ has joined the channel [08:36] vstb has joined the channel [08:36] claudiu__ has joined the channel [08:39] stride: strange, make hung up on me yesterday at compiling api.cc, now it just went through in a few minutes.. I really have to get my development server VM from our production box.. [08:44] micheil has joined the channel [09:00] mephux has joined the channel [09:07] elliottkember has joined the channel [09:09] astrolin has joined the channel [09:11] pdelgallego has joined the channel [09:13] astrolin has joined the channel [09:14] _announcer: Twitter: "Reverse engineering fabjs. Have cunning plan for js-and-node-driven world domination." -- Toby Hede. http://twitter.com/tobyhede/status/19980218803 [09:15] unomi has joined the channel [09:15] saikat has joined the channel [09:20] _announcer: Twitter: "Alex Payne — #Node and #Scaling in the Small vs Scaling in the Large http://goo.gl/fb/0Q3eB #scalability #nodejs" -- Delicious Over 50. http://twitter.com/readelicious/status/19980459616 [09:20] elliottkember: hey is anybody using Express? [09:41] boog has joined the channel [09:42] Ned_: what databases do people recommend to use with nodejs? [09:42] Ned_: (i.e. which ones have good drivers) [09:42] Ned_: happy to use either SQL, or no-SQL databases :-) [09:43] micheil: mongodb, and riak [09:44] micheil: and redis [09:44] micheil: (but I'm a fan of noSQL type databases) [10:02] _announcer: Twitter: "@konobi thanks for sharing recent posts about Joyent/node.js. Interesting stuff." -- Mark Stockley. http://twitter.com/MarkStockley/status/19982071539 [10:02] olegp has joined the channel [10:06] Ned_: micheil: yes, I think I'm keen to try a noSQL [10:06] Ned_: :-) [10:06] Ned_: mongo looks quite cool [10:06] Ned_: micheil: wait, are you the websocket author ? [10:08] _announcer: Twitter: "Google tech talk on Node.js http://bit.ly/8ZjCcj" -- Justin Vincent. http://twitter.com/justinvincent/status/19982290457 [10:11] Ned_: micheil: I submitted an issue ... I _think_ it's a bug, but it seems when you did the hijacking existing server support, you broke the 'request' event for the case where you're not hijacking ... [10:12] _announcer: Twitter: "# CreativeHacker. Not out of # nodejs another girl Tue 1 session." [th] -- roofimon. http://twitter.com/roofimon/status/19982456933 [10:18] _announcer: Twitter: "If I understood that recent error message correctly, @node_knockout is not made with #nodejs. Right on." -- Lachlan Hardy. http://twitter.com/lachlanhardy/status/19982663784 [10:28] _announcer: Twitter: "i heard of it couple of times but actually never used it. I like the idea bringing JS async call style to the server #nodejs" -- Stephan Linzner. http://twitter.com/onlythoughtwork/status/19983061942 [10:32] d0k has joined the channel [10:42] Gruni has joined the channel [10:45] ewdafa has joined the channel [10:50] jblanche has joined the channel [11:11] kjeldahl has joined the channel [11:17] shockie has joined the channel [11:22] _announcer: Twitter: "Node.js: JavaScript on the Server http://www.youtube.com/watch?v=F6k8lTrAE2g a nervous prezzo but nevertheless insightful" -- Quinton Parker. http://twitter.com/quintonparker/status/19985197858 [11:32] MattJ has joined the channel [11:35] femto has joined the channel [11:45] pdelgallego has joined the channel [11:48] _announcer: Twitter: "Played around with #Node.js. I cant tell what it is yet, but I can tell it is a lot of fun! To reuse the old Unix process, what an idea!" -- Olle Kullberg. http://twitter.com/ollekullberg/status/19986309184 [11:49] teemow has joined the channel [11:50] _announcer: Twitter: "@onlythoughtwork concept of #nodejs sounds great, but I wonder how it performs at such en early stage. Evented coding style is a great idea." -- Phil. http://twitter.com/ischi/status/19986384508 [11:55] unomi has joined the channel [12:01] V1 has joined the channel [12:02] sveisvei has joined the channel [12:09] Blackguard has joined the channel [12:15] boog has joined the channel [12:16] _announcer: Twitter: "All are so accustomed to the standard # js, that almost never use the new features, take the same # nodejs" [ru] -- Anton Byrna. http://twitter.com/itrelease/status/19987598144 [12:19] unomi has joined the channel [12:19] unomi has joined the channel [12:26] ewdafa has joined the channel [12:27] shockie has joined the channel [12:27] _announcer: Twitter: "[The] [from FlatSpace] YouTube - Node.js: JavaScript on the Server: http://url4.eu/6dCS4" [it] -- sldfjd ldajds. http://twitter.com/sldfjd/status/19988123250 [12:31] _announcer: Twitter: "Experimenting with Node.js - Jeff Kreeftmeijer http://ow.ly/18n3kv" -- Javascript News. http://twitter.com/del_javascript/status/19988293334 [12:34] _announcer: Twitter: "Time to play around with some html5 (websockets, storage) and node.js with a bit of redis thrown in. I'm so hip." -- Jim Neath. http://twitter.com/jimneath/status/19988468711 [12:36] _announcer: Twitter: "OMG, how cool: http://bit.ly/aFxR8S # nodejs" [de] -- Rene Meissner. http://twitter.com/qrios/status/19988548778 [12:38] _mythz has left the channel [12:40] ben_alman has joined the channel [12:42] konobi: are there any docs for http client POST request arguments? [12:44] V1: Does anybody know if someone is working on SPDY protocol implementation for node yet? [12:45] stride: hm, connect crashes on me when someone requests http://foobar// anybondy knows if there's a workaround for that? [12:46] stride: konobi: I think there are modules to decode the http body [12:46] konobi: it should work out of the box, i'm just noting there's no documentation [12:47] maushu has joined the channel [12:50] blessYAHU has joined the channel [12:51] FransWillem: Is there any way to get Node.js or V8 to the lowest common denominator of browser compatibility? e.g. take out things like Array.forEach, Array.filter, Array.shift/unshift, etc ? [12:51] dylang has joined the channel [12:51] caolanm has joined the channel [12:52] konobi: no, V8 is designed to support the ES5 spec (most of the way there) [12:53] stride: konobi: I don't see any HTTP body related stuff in the tests for http-parser either, guess you really have to go with a module [12:54] konobi: worked it out... it's a writeableStream object [12:54] stride: http://github.com/felixge/node-formidable this was proposed before I think [12:54] stride: hmkay :) [13:00] astrolin_ has joined the channel [13:03] _announcer: Twitter: "why switching from Ruby / Sinatra to Node.js http://bit.ly/91my61 <- Basically because of Ruby Version Hell." -- Jeremy Day. http://twitter.com/jeremyday/status/19989953426 [13:07] bradleymeck2 has joined the channel [13:07] jblanche has joined the channel [13:08] unomi has joined the channel [13:15] bradleyprice has joined the channel [13:27] pengwynn has joined the channel [13:28] bradleymeck2: base64 how i doth crave easier ways [13:32] _announcer: Twitter: "vienna.js August meetup has talks on node.js and unit testing, and maybe your talk? http://meetup.com/u/8t5" -- vienna!. http://twitter.com/viennajs/status/19991529058 [13:33] ben_alman has joined the channel [13:36] kriszyp has joined the channel [13:43] _announcer: Twitter: "http://github.com/ncr/node.ws.js just hit 100 watchers. Thanks!" -- Jacek Becela. http://twitter.com/jacek_becela/status/19992160885 [13:55] bradleymeck2: is there an easy way to get url.parse object's results w/o the protocol? or do i have to slice the href? [13:58] micheil: Ned_: yeah, I'm the websockets guy. [14:00] bradleymeck2: there can be only one! [14:02] _announcer: Twitter: "Scaling in the Small vs Scaling in the Large — http://bit.ly/9IRwVO #NodeJS" -- Romain Ruetschi. http://twitter.com/romac17/status/19993275911 [14:07] zapnap has joined the channel [14:08] mitkok has joined the channel [14:15] _announcer: Twitter: "NodeJS really tempting to play ~ to installing Ubuntu" [zh-CN] -- Kristy Swan. http://twitter.com/LonelySwan/status/19994099349 [14:16] stride: SubStack: great work with DNode, just used it to communicate between syslog-server (root) and reporting component that is executed as a regular user, works like a charm [14:17] riottaba has joined the channel [14:18] _announcer: Twitter: "@jkreeftmeijer do i hear a Node.js? :p" -- Robert Beekman. http://twitter.com/Matsimitsu/status/19994284934 [14:20] bradleymeck2: !tweet @Matsimitsu #node.js hears all... *spooky noises* [14:21] ben_alman1 has joined the channel [14:25] _announcer: Twitter: "Making a quick pancake breakfast , and then biking off to drop.io HQ to learn more about node.js" -- Chris Ricca. http://twitter.com/ChrisRicca/status/19994693108 [14:29] _announcer: Twitter: "Bunny paper to study NodeJS to slightly ~" [zh-CN] -- Kristy Swan. http://twitter.com/LonelySwan/status/19994963978 [14:29] _announcer: Twitter: "@ChrisRicca You love node.js. are you using it @dropio yet?" -- Bill Piel. http://twitter.com/bpiel/status/19994992955 [14:30] _announcer: Twitter: "Had to look into the #Node.js since the buzz, Google-talk: http://www.youtube.com/watch?v=F6k8lTrAE2g. Looks very promising." -- Jonas Grimfelt. http://twitter.com/grimen/status/19995016607 [14:31] ben_alman1 has joined the channel [14:31] ThePub has joined the channel [14:36] wilmoore has joined the channel [14:36] pengwynn has joined the channel [14:37] micheil: morning pengwynn [14:37] pengwynn: yo micheil [14:41] jakehow has joined the channel [14:53] FSX has joined the channel [15:00] mw_ has joined the channel [15:00] _announcer: Twitter: "If you author node.js middleware, you need to be aware of this: http://bit.ly/9ebkro #nodejs #connect" -- Caolan McMahon. http://twitter.com/caolan/status/19996985415 [15:00] ctp has joined the channel [15:03] _announcer: Twitter: "TDD # Express 0.6.0 is released nodejs http://bit.ly/aWfoD0 - fixes a few bugs, adds - watch" [pt] -- TJ Holowaychuk. http://twitter.com/tjholowaychuk/status/19997203380 [15:03] [[zz]] has joined the channel [15:13] siculars has joined the channel [15:16] bradleymeck2: we got an smtp client yet? [15:17] mape: Anyone having issues with npm? [15:17] bradleymeck2: had one yesterday [15:17] mape: npm ! Error: not_found document not found - at IncomingMessage. (/home/mape/.node_libraries/.npm/npm/0.1.21/package/lib/utils/registry/request.js:79:45) [15:18] bradleymeck2: mmm [15:18] kevinh_ has joined the channel [15:18] kriszyp_ has joined the channel [15:18] bradleymeck2: did registry go down? [15:19] bradleymeck2: what were you trying to do [15:19] steadicat has joined the channel [15:19] mape: npm ls installed | awk -F @ '{print $1}' | xargs sudo npm install [15:20] bradleymeck2: registry is up, went through steps of it manually, idk [15:27] tong7 has joined the channel [15:28] _announcer: Twitter: "node app.js... It has the same old problems as rails did before bundler age." -- Jai-Gouk Kim. http://twitter.com/jaigouk/status/19998961045 [15:30] astrolin has joined the channel [15:32] jamescarr: http://s3.amazonaws.com/giles/rspec_122908/dinosaurs_lasers.jpg [15:32] _announcer: Twitter: ""One can view node.js as being to Joyent was Java was to Sun" http://dtrace.org/blogs/bmc/2010/07/30/hello-joyent/" -- Mikeal. http://twitter.com/mikeal/status/19999230128 [15:32] maushu: bundler age? [15:33] MattJ: The age of bundlers is nigh [15:39] _announcer: Twitter: "Who wants octopus, mini golf and what not when I have ridden a setup with websockets and giving glory MATAMEMATAMEAHORA node.js" [es] -- mort. http://twitter.com/mort/status/19999669624 [15:44] mau2 has joined the channel [15:45] ashleydev has joined the channel [15:51] _announcer: Twitter: "NodeJS Bahrain had. . . Try first to a ab" [zh-CN] -- Kristy Swan. http://twitter.com/LonelySwan/status/20000476330 [15:51] _announcer: Twitter: "@fzammetti endless parades are the best kind of parades. Also... That code was ran in my tweet and your mind, not the browser :) //#node.js" -- RyanGahl. http://twitter.com/RyanGahl/status/20000491410 [15:53] rednul has joined the channel [16:00] shimondoodkin has joined the channel [16:03] tjholowaychuk has joined the channel [16:06] maqr has joined the channel [16:09] pgriess has joined the channel [16:09] _announcer: Twitter: "Why Node.js is great: "It’s never your computer’s processor that slows you down anymore, it’s the inputs and outputs.." http://bit.ly/dxo3fS" -- Rafael Corrales. http://twitter.com/RafaelCorrales/status/20001705303 [16:13] jakehow has joined the channel [16:17] ben_alman1 has joined the channel [16:22] _announcer: Twitter: "NodeJS not legendary so fast Mody. . . Is it used VirtualBox Host-Only Network Adapter for the cause?" [zh-CN] -- Kristy Swan. http://twitter.com/LonelySwan/status/20002590637 [16:22] cardona507 has joined the channel [16:22] siculars has joined the channel [16:24] _announcer: Twitter: "A very interesting article regarding node.js Check it out, Stefan Talpalaru! Guess we are on the right track... http://fb.me/G3YzCHWy" -- Odeon Consulting. http://twitter.com/odeoncg/status/20002741115 [16:25] _announcer: Twitter: "Hacking on some node.js! (@ drop.io World HQ) http://4sq.com/7pSkO0" -- Samuel Cole. http://twitter.com/samuelcole/status/20002797528 [16:26] wilmoore has joined the channel [16:27] ThePub has joined the channel [16:30] maushu has joined the channel [16:31] femto has joined the channel [16:31] _announcer: Twitter: "sorry it looks like i am missing the node.js event at @dropio world hq ... sounds like it will be fun" -- sam lessin. http://twitter.com/lessin/status/20003160582 [16:32] _announcer: Twitter: "i'm at @dropio hq for a nodejs hackshop put on by @nycjs. come on down. 68 jay st. brooklyn." -- alexander sicular. http://twitter.com/siculars/status/20003257217 [16:34] ben_alman has joined the channel [16:36] softdrink has joined the channel [16:41] _announcer: Twitter: "if you're in NYC right now you should head over to @dropio for the node.js hackshop" -- Mikeal. http://twitter.com/mikeal/status/20003834786 [16:44] dylang has joined the channel [16:44] dylang- has joined the channel [16:46] charlesjolley- has joined the channel [16:46] _announcer: Twitter: "Ok... just because of Bryan Cantrill, I think I'll look seriously at node.js. #fanboyism" -- Osvaldo Doederlein. http://twitter.com/opinali/status/20004167025 [16:47] _announcer: Twitter: "Lesson #1 - if you run `node` without any arguments, you can enter an interactive shell. #nodejs -- I'm learning new stuff already!" -- Chris Ricca. http://twitter.com/ChrisRicca/status/20004205262 [16:49] stepheneb has joined the channel [16:51] _announcer: Twitter: "coffee script on node.js oh sweet jesus it's beautiful" -- Bill Casarin. http://twitter.com/jb55/status/20004437411 [16:52] _announcer: Twitter: "Yahoo Mail looking into using NodeJS: http://developer.yahoo.net/blog/archives/2010/07/multicore_http_server_with_nodejs.html" -- Jonathan Holmes. http://twitter.com/yoniholmes/status/20004548556 [16:53] _announcer: Twitter: "Grasshopper 0.2.0 supports i18n and validations. http://github.com/tuxychandru/grasshopper/tree/0.2.0 #grasshopperjs #nodejs" -- Chandra Sekar. http://twitter.com/tuxychandru/status/20004558469 [16:54] mw_ has joined the channel [16:55] riottaba_ has joined the channel [16:56] bpot has joined the channel [16:57] rednul has joined the channel [16:58] dannycoates has joined the channel [17:02] bradleymeck2 has joined the channel [17:03] riottaba has joined the channel [17:05] riottaba_ has joined the channel [17:06] _announcer: Twitter: "OK, what the heck is node.js? http://is.gd/dTUqu #devops" -- Ade Rixon. http://twitter.com/aderixon/status/20005420384 [17:12] pydroid has joined the channel [17:13] bradleymeck2: !tweet @aderixon node.js is a javascript execution environment based upon the idea of asynchronous non-blocking calls. #node.js in freenode has plenty to say [17:13] riottaba has joined the channel [17:14] _announcer: Twitter: "Checking out Node.js: http://youtu.be/F6k8lTrAE2g #nodejs" -- Christian Neeb. http://twitter.com/chneeb/status/20005951925 [17:15] bradleymeck2: !tweet @chneeb let us know in freenode.net#node.js if you have any questions [17:15] mitkok has joined the channel [17:18] _announcer: Twitter: "Ah see, like most smart-alec Web 2.0 tech, node.js is of no conceivable use to me personally. #iamnotaprogrammer" -- Ade Rixon. http://twitter.com/aderixon/status/20006192042 [17:24] pydroid has joined the channel [17:24] _announcer: Twitter: "at a node.js workshop put on by @binary42 (account deleted?). Digging it." -- Justin Lilly. http://twitter.com/justinlilly/status/20006570124 [17:28] d3x7r0 has joined the channel [17:30] khug has joined the channel [17:30] khug has left the channel [17:31] SubStack: stride: \o/ [17:32] riottaba has joined the channel [17:36] saikat has joined the channel [17:37] tekky has joined the channel [17:41] b_erb has joined the channel [17:42] dnolen has joined the channel [17:44] [[zz]] has joined the channel [17:44] zemanel: any suggestions for a template engine? [17:46] d3x7r0: zemanel, check here: http://wiki.github.com/ry/node/modules#templating [17:47] zemanel: d3x7r0, ah thx [17:47] d3x7r0: I would personally go for JSON Template :) [17:47] zemanel: thanks i missed that [17:49] cloudhead has joined the channel [17:51] indexzero has joined the channel [17:52] indexzero: ACTION says wattup from the node hackshop in nyc [17:53] mape: indexzero: A lot of people there? [17:53] indexzero: mape: yeah we got about 20 [17:53] mape: Nice [17:53] indexzero: hey, anyone had to strip SCRIPT tags from html before in JS? Found a nasty little bug in node-htmlparser I'm trying to fix [17:54] indexzero: http://gist.github.com/498560 [17:54] mape: indexzero: yeah [17:54] bradleymeck2: mmm? [17:54] _announcer: Twitter: "28 most tweeted VIDEO in Tech || Node.js: JavaScript on the Server http://bit.ly/9jAUFe" -- ZOCIAL.tv. http://twitter.com/ZOCIALtv/status/20008349244 [17:54] indexzero: node-htmlparser fails on the inner SCR"+"IPT tag, so I want to ignore everything inside the SCRIPT [17:54] mape: I'm piping everything through htmltidy before I use htmlparser [17:54] indexzero: mape: hadn't heard of it [17:54] indexzero: thanks for the tip [17:55] indexzero: is there a node implementation or is it just an external service? [17:55] mape: I just use exec [17:55] mape: and catch the stdout [17:56] indexzero: is this it? [17:56] indexzero: http://tidy.sourceforge.net/ [17:56] programble has joined the channel [17:56] programble has joined the channel [17:57] elliottkember has joined the channel [17:58] icebox has joined the channel [17:58] elliottkember: hey all [17:58] elliottkember: anybody around? [17:58] mape: indexzero: yeah looks like it [17:59] indexzero: mape: thanks [17:59] bradleymeck2: heya [17:59] riottaba_ has joined the channel [17:59] mape: indexzero: did it like this: exec('curl --silent -L "'+path+'" | sed /form/d | tidy -quiet', function (error, stdout, stderr){call(stdout);}); [17:59] robotarmy has joined the channel [18:00] indexzero: mape: what platform are you on? [18:00] mape: where call is the callback [18:00] riottaba__ has joined the channel [18:00] mape: linux, debian [18:02] indexzero: thanks, what's sed /form/d do? Reading a little bit about it now [18:03] mape: It strips all lines with form in it [18:03] mape: could probly remove it [18:03] mape: was a site specific issue I stepped uppon [18:03] indexzero: ok [18:05] _announcer: Twitter: "@creationix I'm diving into Node.js.. Looks really interesting!" -- Henk Jurriens. http://twitter.com/henkjurriens/status/20009003405 [18:06] riottaba has joined the channel [18:09] _announcer: Twitter: "@seldo They may be getting devoured by the Oracle corporabeast now, but they had a VERY good run. Comparing nodejs to Java is harsh, tho ;)" -- Ⓘⓢⓐⓐⓒ. http://twitter.com/izs/status/20009225911 [18:12] maushu has joined the channel [18:12] _announcer: Twitter: "Impressed with what can be done with Node.js" [es] -- jordim. http://twitter.com/jordim/status/20009377127 [18:14] riottaba_ has joined the channel [18:15] kjeldahl_ has joined the channel [18:25] chinua has joined the channel [18:25] riottaba has joined the channel [18:26] _announcer: Twitter: "apparently this is the weekend everyone is finding out about node.js" -- Mikeal. http://twitter.com/mikeal/status/20010171519 [18:27] zomgbie has joined the channel [18:31] _announcer: Twitter: "What is the Node.js + MongoDB experience like? Has anyone tried it?" -- James Dennis. http://twitter.com/j2labs/status/20010398512 [18:33] riottaba_ has joined the channel [18:34] picasso_ has joined the channel [18:35] isaacs has joined the channel [18:36] dnolen has joined the channel [18:38] sh1mmer has joined the channel [18:39] estill01 has joined the channel [18:40] isaacs: mikeal: yeah, I'm guessing it's the google talk [18:42] mikeal: i actually think it's the Bryan Cantrill thing [18:42] mikeal: a lot of people follow him [18:42] V1 has joined the channel [18:43] mikeal: and they are in communities we haven't reached as much [18:44] mape: Well isn't he a heavy hitter, so him saying node.js is the java of joyent is a big deal [18:44] bradleymeck2: well its not necessarily bad [18:44] mikeal: and him joining joyent and parising node.js [18:44] mikeal: it's a positive comment [18:44] mikeal: Java made Sun a full stack company [18:45] mikeal: before that they made hardware and operating systems [18:45] mape: isaacs: btw: http://gist.github.com/502481 [18:45] isaacs: yeah [18:46] mape: oh installed doesn't return anything.. [18:46] isaacs: mikeal: as much as it grates on me to think of my beloved nodejs compared to ugly wicked fetishistically oop verbose java, it is actually a very apt analogy [18:47] isaacs: mape: OMG, can I tell you, I canNOT figure that out. [18:47] isaacs: it totally works for me [18:47] mape: isaacs: should npm ls show connect-assetmanager@0.0.1 =mape latest remote [18:47] mape: ? [18:47] mape: npm ls |grep mape that is [18:47] mape: or is the parsing broken? [18:47] isaacs: mape: yeah, it's on there [18:48] isaacs: mape: http://registry.npmjs.org/connect-assetmanager [18:48] mape: No I mean.. I can't do npm ls installed [18:48] mape: http://gist.github.com/502487 [18:48] isaacs: mape: AHA!!!! [18:48] mape: should it look like that? [18:49] isaacs: ok, i think i figured it out [18:49] isaacs: it's not showing installed stuff that's also on the regstry. not sure why [18:49] isaacs: digging in now, thank you for this clue, that's awesome [18:49] mape: np, I can't figure out when you are being sarcastic so I'll just keep throwing stuff at you :P [18:49] isaacs: it's only showing installed stuff if that pkg/version is not on the registry, adn since i have mostly link stuff, i figured it was working. [18:49] isaacs: hahah [18:50] isaacs: mape: i'm always being sarcastic, except when I'm not, so yeah, throw stuff at me. totally. LOVE that. [18:50] mape: .. Yeah.. [18:50] isaacs: ACTION lost track of the sarcasm stack there... not sure what he means any more... [18:50] riottaba has joined the channel [18:50] isaacs: no, seriously, this is great, i've been puzzling over this for a day or two now. [18:50] mape: But that is a server side change? Since I it worked before and I haven't updated the client that I remember [18:51] isaacs: you have npm 0.1.21, that's where the bug was introduced [18:51] mape: Ah k [18:51] mikeal: jchris asked me yesterday if installing packages in node is better than Python [18:51] mikeal: i said "by a mile" [18:51] isaacs: mikeal: :) [18:51] mape: When they are in the repo [18:52] mape: And people remember to update them [18:52] isaacs: mikeal: maybe we can make it a 5K once "npm update" lands. [18:53] jchris: also, is there a way to bundle my script with all the runtime dependencies into a single .exe file? [18:53] mape: isaacs: are there still plans on doing a push to commit packages to all major modules that aren't already on npm? Seen you done some for newer modules [18:53] mikeal: i think nDistro might be the closest thing to that [18:54] pquerna: jchris: not yet, but I'm very interested in doing that soonish [18:55] pquerna: jchris: i'll need it for a $work project, so somehting will get done [18:55] jchris: pquerna: cool, I'm thinking of using to to push applications to non-programmers [18:55] charlenopires has joined the channel [18:56] pquerna: yup, thats mostly my use case as well, need to build single binaries for distribution to 3rd parties [18:56] JimBastard has joined the channel [18:56] JimBastard: reporting in from the node.js workshop at drop.io [18:56] pquerna: (not to 'protect code', it'll be open source, but just to simplify deployment and depdnenecies) [18:57] jchris: yep. I feel like a jerk everytime I consider telling my mom to install cygwin [18:57] pquerna: hehe [18:58] kjeldahl has joined the channel [18:59] isaacs: mape: i usually add a package.json for anything I feel like using or checking out [18:59] isaacs: mape: fixed that bug. v0.1.22 [18:59] isaacs: mape: 0.1.21 was teh shortest lived npm version ever. [19:00] isaacs: and 0.1.22 is the smallest diff in an npm package ever. but ls must work, so that's a nasty bug. [19:00] mape: bah damit >_< [19:00] mape: npm install npm, -> error, need to use sudo, and when I do "nothing to install" [19:00] _announcer: Twitter: "@johnderosa I wrote Python full time for more than 5 years. node.js is already better at everything I was doing in Python and much easier" -- Mikeal. http://twitter.com/mikeal/status/20011953703 [19:01] astrolin_ has joined the channel [19:01] isaacs: mape: try npm install npm@latest [19:01] mape: Same [19:01] isaacs: mape: which version you got? [19:02] mape: I got non, I did npm install npm, but got error npm ! Error: EACCES, Permission denied '/usr/local/bin/npm-0.1.22' [19:02] mape: so I do sudo npm install npm [19:02] mape: and then it already thinks I have it [19:02] isaacs: ... [19:02] mape: which I don't since it failed? [19:02] isaacs: npm ls npm [19:02] isaacs: oic, it failed halfway, and didn't rollback [19:02] mape: http://gist.github.com/502500 [19:03] isaacs: sudo npm rm npm@0.1.22 [19:03] matt_c has joined the channel [19:03] mape: ah worked sudo npm uninstall npm@0.1.22 [19:03] riottaba_ has joined the channel [19:03] mape: and then install [19:03] isaacs: awesome [19:03] kjeldahl: isaacs: Any particular reason why simple things such as "npm ls ..." requires write access to .npmrc? [19:03] mape: But it should revert if it fails and not list it as installed? [19:04] isaacs: kjeldahl: it ought to only write out the configs if something changed at that level, but at the moment, it just always tries to save your configs on exit. i've got a massive refactor in place for configuration stuff, and that's definitely part of it. [19:05] kjeldahl: ok, thanks [19:05] isaacs: kjeldahl: in particular, it should only save if you did "npm config set", but I used to rely on writing the defaults to your .npmrc way back when. [19:07] JimBastard has joined the channel [19:08] JimBastard: ohh shit tmpvar is trending [19:08] bradleymeck2: lol [19:08] jesusabdullah: ruh oh [19:09] JimBastard: i wonder who linked him [19:09] jesusabdullah: Time to launch salvos [19:09] isaacs: trending? [19:09] matt_c has joined the channel [19:11] admc has joined the channel [19:13] pengwynn has joined the channel [19:16] mape: http://github.com/explore [19:16] mape: jsdom :) [19:17] kjeldahl_ has joined the channel [19:18] riottaba has joined the channel [19:18] bradleymeck2: jsdom needs a competitor XD [19:19] amerine has joined the channel [19:21] jwcooper has joined the channel [19:27] benbinary has joined the channel [19:27] riottaba_ has joined the channel [19:28] estill01 has joined the channel [19:32] saikat has joined the channel [19:33] rwaldron has joined the channel [19:33] siculars has joined the channel [19:33] riottaba has joined the channel [19:34] _announcer: Twitter: "[del] [from FlatSpace] Getting started with Node.js on Ubuntu 9.10 in about 5 minutes « Giant Flying Saucer: http://url4.eu/6dkzl" -- sldfjd ldajds. http://twitter.com/sldfjd/status/20013698927 [19:35] ewdafa has joined the channel [19:39] _announcer: Twitter: "http://pastie.org/1068827 -- node.js newton's square root appoximator. Not sexy, but whatever." -- Justin Lilly. http://twitter.com/justinlilly/status/20013918736 [19:40] JimBastard has joined the channel [19:42] _announcer: Twitter: "@tswicegood I'm +1 to: django (plus benefits) rewrite in node.js, learning by rolling your own, scratching itches. cc @isntitvacant #notnih" -- Jeff Triplett. http://twitter.com/webology/status/20014064880 [19:43] JimBastard: node workshop is pretty sweet [19:43] JimBastard: binary42 is laying it down [19:44] zomgbie has joined the channel [19:45] JimBastard: okay, im gonna start updating some bullshit libraries [19:45] JimBastard: they are getting stale [19:46] _announcer: Twitter: "installing couchdb and once thats finished, installing nodejs on my virtualbox instance of ubuntu" -- Richard Sage. http://twitter.com/richardsage/status/20014279469 [19:46] aaronblohowiak has joined the channel [19:47] markwubben has joined the channel [19:49] riottaba_ has joined the channel [19:51] JimBastard: !tweet @richardsage http://github.com/cloudhead/cradle might help! [19:52] mape: JimBastard: so what is happening there? [19:53] JimBastard: about 20 people are so, we are going through a bunch of examples and then taking breaks and working on other stuff [19:53] JimBastard: mape [19:53] mape: kk [19:53] JimBastard: im gonna update 3-4 libs today [19:53] JimBastard: mostly the silly ones [19:53] JimBastard: (its my day off) [19:53] JimBastard: :p [19:54] pgriess has joined the channel [19:57] ryah: saturday morning hacking [19:59] ryah: http://wikis.sun.com/display/DTrace/sched+Provider :P~ [19:59] keeto has joined the channel [20:00] isaacs has joined the channel [20:02] mape: nice [20:03] JimBastard: saturday morning cartoons turned into saturday morning hacking. i still eat cereal [20:03] JimBastard: woot [20:05] bpot has joined the channel [20:08] geojeff has joined the channel [20:09] riottaba has joined the channel [20:11] riottaba__ has joined the channel [20:13] jblanche has joined the channel [20:15] rauchg_ has joined the channel [20:19] satori_ has joined the channel [20:21] _announcer: Twitter: "@j2labs http://github.com/justinlilly/ExpressMongoBlog -- node.js + mongodb (and express, a web framework)." -- Justin Lilly. http://twitter.com/justinlilly/status/20015962411 [20:21] samdk has joined the channel [20:23] riottaba has joined the channel [20:23] charlesjolley- has joined the channel [20:24] geojeff has joined the channel [20:27] pkrumins: has anyone used extensively? [20:27] pkrumins: i can't get mine to free memory if i draw on it for a long time [20:28] estill01 has joined the channel [20:29] JimBastard: pkrumins: tmpvar knows a little something [20:29] JimBastard: i think hes hacking hardcore right now though [20:31] creationix has joined the channel [20:31] astrolin has joined the channel [20:33] saikat has joined the channel [20:34] _announcer: Twitter: "An afternoon with node JS + rails , lots of fun so far" -- Nick Lewis. http://twitter.com/nicklewislive/status/20016583942 [20:34] riottaba_ has joined the channel [20:36] rauchg_: pkrumins: try destroying it every once in a while [20:38] _announcer: Twitter: "realising git is my friend after somehow installing nodejs using apt-get so that its named as nodejs, which then causes make of npm to fail" -- Richard Sage. http://twitter.com/richardsage/status/20016753806 [20:39] devinus has joined the channel [20:39] elliottkember has joined the channel [20:39] devinus: "connect" is such an ungooglable name [20:39] _announcer: Twitter: "great that there are so many articles on how to install nodejs, npm, expressjs on ubuntu, shame the ones that rank the hightest aren't best" -- Richard Sage. http://twitter.com/richardsage/status/20016810711 [20:40] sh1mmer: yo [20:40] JimBastard: sh1mmer sh1mmer ya sh1mmer ye sh1mmer ohh [20:40] JimBastard: sh1mmer yaa [20:40] pkrumins: rauchg_: pretty pesky [20:40] JimBastard: give me the mic so i can take it away? [20:41] pkrumins: i wonder why it's doing so in the first place [20:41] pkrumins: looking into canvas source code [20:41] rauchg_: devinus: wait until connect takes over the world [20:41] JimBastard: !tweet @richardsage for the most up to date info check out #node.js on irc.freenode.net [20:41] rauchg_: pkrumins: for webkit ? [20:42] pkrumins: yep [20:42] eisd has joined the channel [20:42] rauchg_: pkrumins: have you seen this http://stackoverflow.com/questions/1745861/javascript-memory-problem-with-canvas ? [20:42] pkrumins: i have [20:42] rauchg_: im imagining you're using putImageData too [20:42] rauchg_: if you're stackvm [20:42] pkrumins: i am doing drawImage [20:43] pkrumins: the answer on that thread is pretty weird, he moved it out to a function. Well i already have a drawing function which does just that [20:46] riottaba has joined the channel [20:47] sveimac has joined the channel [20:50] riottaba has joined the channel [20:50] bradleyprice has joined the channel [20:52] softdrink has joined the channel [20:53] kjeldahl has joined the channel [20:55] justinlilly has joined the channel [20:55] sh1mmer: pkrumins: do you have canvas working on node? [20:55] riottaba_ has joined the channel [20:56] riottaba__ has joined the channel [20:57] MattJ: Canvas? On Node? [20:57] MattJ: ACTION scratches his head [20:58] JimBastard: MattJ: we use jQuery on node [20:58] JimBastard: working on that stuff right now actually [20:58] MattJ: jQuery can be used for manipulation, sure [20:58] MattJ: But... canvas? [20:58] JimBastard: spawn a gui [20:58] JimBastard: usen the opengls [20:58] JimBastard: or something [21:00] joeshaw has joined the channel [21:00] nuxusr has joined the channel [21:00] rauchg_: a canvas api on the server would be hawt [21:01] rauchg_: but he's talking about the browser [21:01] joeshaw: if you do p.normalize('/foo/../../../bar') you get back '/../../bar' -- is that the intended behavior? [21:01] joeshaw: and if so, why? :) [21:02] admc has joined the channel [21:02] mitkok has joined the channel [21:02] borior has joined the channel [21:03] nuxusr: stream.write -> "Returns false if all or part of the data was queued in user memory"... how do i know if it was just part? if it was just part, how much of it was queued...? seems a little odd [21:03] borior: Hi all, is there any way I can make a synchronous version of child_process.exec? [21:03] borior: i.e. so it acts like backticks in (for example) ruby? [21:04] borior: i can't see how I wait for the callback to fire before returning. [21:04] _announcer: Twitter: "No abstractions = no dependency hell #nodejs" -- Jim Pick. http://twitter.com/jimpick/status/20017946223 [21:04] _announcer: Twitter: "@jeremyckahn Yeah, Node.js. Sorry about that." -- Nick Lewis. http://twitter.com/nicklewislive/status/20017948321 [21:04] tekky has joined the channel [21:04] SubStack: node.js has plenty of abstractions [21:05] SubStack: they're just the non-leaky sort [21:05] JimBastard: !tweet @jimpick don't forget npm wooooot [21:05] SubStack: borior: you shouldn't do that [21:05] SubStack: callbacks > return values also [21:07] zemanel has joined the channel [21:07] SubStack: borior: refactor the function that uses the results of exec to be async [21:08] _announcer: Twitter: "finally, got expressjs running! ok i know i'm prob being an idiot, but shouldn't the expressjs website state that you need to: node app,js" -- Richard Sage. http://twitter.com/richardsage/status/20018138343 [21:13] nuxusr: borior: from nodes documentation "Node exits the event loop when there are no more callbacks to perform" [21:13] riottaba has joined the channel [21:14] SvenDowideit has joined the channel [21:15] creationix: pgriess: is msgpack a lot faster than JSON.stringify? [21:15] creationix: I'm writing a custom backend for an experiment and I need fast serializing of a massive data structure [21:16] pgriess: creationix: its faster (maybe 10-20%, not sure) [21:17] pgriess: creationix: de-serialization is where msgpack is much, much fastetr [21:17] pgriess: like 10x [21:17] creationix: I see [21:17] creationix: maybe I'll just need to write a custom routine for my data [21:17] creationix: It's a shame we don't have typed arrays yet [21:17] pgriess: creationix: heh. yeah. [21:17] pgriess: creationix: actually the newer builds of v8 have the building blocks in C++ [21:18] pgriess: creationix: we're just not exposing it (yet) [21:18] pgriess: creationix: i was surprised to find that stuff in there [21:18] creationix: nice [21:18] pgriess: creationix: although, in thinking about it more, typed arrays aren't exactly what one really wants in most situations [21:18] pgriess: creationix: how often does one really need to serialize a homogeneous array of data? [21:18] creationix: basically I have a massive set of simple objects (most are just smal integers) and they all have 2d coordinates [21:18] khug has joined the channel [21:18] pgriess: creationix: rarely, imo, unless you're doing graphics (munging pixels) [21:18] khug has left the channel [21:18] pgriess: creationix: heh, or in your case ;) [21:19] riottaba_ has joined the channel [21:19] blaze-x has joined the channel [21:19] pgriess: creationix: e.g. for implementing msgpack on top of typedarrays, you'd have to created a new typed array for every element being stored, since the length of elements is all over the place. it'd be a mess. [21:19] creationix: yeah [21:19] pgriess: creationix: this is why a pack()/unpack() type API makes more sense, imo [21:19] creationix: typed arrays has that near the bottom [21:20] creationix: general purpose container for mixed data types [21:20] pgriess: oh, the DataView type? [21:20] creationix: Not sure, don't remember the name [21:20] pgriess: yeah that's the one [21:20] pgriess: maybe the right impl is to build pack/unpack on top of dataview [21:20] pgriess: pack/unpack is a bit more developer friendly, but the dataview stuff seems pretty general-purpose [21:21] creationix: yeah [21:21] pgriess: it deals in byte offsets, whic his nice [21:21] kjeldahl_ has joined the channel [21:21] pgriess: not sizeof(type) offsets [21:21] creationix: I'd be happy if node has dataView native [21:21] pgriess: which the other typed arrays do [21:21] pgriess: yeah [21:21] creationix: and then we could use that from js [21:21] pgriess: yeah [21:21] creationix: ok, back to thinking about my problem [21:22] creationix: I have a smallish set of unique objects (about 100) [21:22] creationix: but hundreds of thousands of instances of them (with the exact same state) scattered along a large (100000x10000) grid [21:23] creationix: and storing it as JSON takes about 10 seconds to serialize [21:23] creationix: way too long for online acivity [21:24] _announcer: Twitter: "@skry If you want a more real world example check out "How Node.js Saved my Web Application" http://is.gd/dVq74" -- Daniel Erickson. http://twitter.com/TechWraith/status/20018885824 [21:24] pgriess: hm [21:25] creationix: my coords need to be at least 32 bit, 16bit is too small I think [21:25] pgriess: creationix: how are you tracking which squares on the grid are occuppied? [21:25] creationix: pgriess: right now I'm storing it in a two-level hash [21:25] tekky: creationix: no way to sanely minimize the scope of the data you need at any given time? [21:25] creationix: map[x][y] = array of items at that location [21:25] riottaba has joined the channel [21:26] creationix: tekky: this is all within a single shard [21:26] pgriess: creationix: how dense is your grid? are most squares occuppied? [21:26] creationix: the two-level hash inserts insanely fast (about 1million per second) [21:27] creationix: pgriess: It will vary, mabe about 50% dense [21:27] pgriess: creationix: i wonder if you would be faster keeping a second datastructure and serializing that instead [21:27] pgriess: creationix: an array of state objects (each unique obj in your system), each with an array of points where it exists on the grid [21:28] creationix: I'm not 100% sure I need more than one thing on a space at a time [21:28] pgriess: creationix: this way you wouldn't bother traversing the map looking for occuppied slots [21:28] pgriess: creationix: can a single state be on multiple spots? [21:28] creationix: pgriess: interesting idea [21:28] pgriess: creationix: it depends what's taking the time in serialization? traversing the map? or serializing the data [21:28] creationix: pgriess: yeah, there are lots of instances of each state [21:28] creationix: it's definitly JSON.stringify right now [21:29] creationix: ok now the queries against this are rectangle based [21:29] creationix: I want to know the current inventory of a given rectangle [21:30] creationix: and I want to watch a rectangle for changes [21:30] pgriess: creationix: you could use an r-tree [21:30] pgriess: creationix: but that might be complexity overkill [21:31] creationix: yeah, and I have no clue how an r-tree works [21:31] creationix: my two-level hash is plenty fast for everything except serializing [21:31] pgriess: creationix: yeah, they're not the most straight-forward datastructure [21:31] creationix: what do js objects use anyway? some sort of hash I assume [21:31] _announcer: Twitter: "hacking of the day (node.js, websockets, connect framework): sweet technology, doesn't solve the problem i had (at least i think so)." -- wesen. http://twitter.com/wesen/status/20019225680 [21:32] mikeal has joined the channel [21:32] pgriess: creationix: what do you mean "what do they use"? [21:32] pgriess: (also, is your dimension 100k x 10k? not sure if the above was a typo) [21:32] creationix: pgriess: a plain js object {name:"Foo"}, how does obj.name look up "Foo" [21:33] creationix: pgriess: heh, yeah, it will be more square, but both are close [21:33] tekky: creationix: magiks? :P [21:33] pgriess: creationix: no idea what the internnal impl of this is. though i hear that in V8, property name lookups are "slow", at least relative to other js impls [21:33] CIA-77: node: 03Ryan Dahl 07master * re59b3f0 10/ (4 files): Upgrade http-parser for clang compat - http://bit.ly/99mOe6 [21:34] nrstott has joined the channel [21:34] pgriess: ryah: v8 on clang? nothing like a vm running another vm ;) [21:34] ryah: pgriess: not yet [21:35] pgriess: creationix: yeah i'm not up to snuff on compact representations of 2d graphs [21:35] creationix: maybe since it's over 50% dense I can do it as a square [21:35] pgriess: creationix: but i think your answer is to maintain 2 datastructures. one that's optimized for random access + notifications (your 2d map), and the other that's optimized for serialization [21:36] creationix: and just store the dimensions and then the raw data [21:36] creationix: the problem is that one optimized for serialization will have fixed dimensions [21:37] pgriess: hm [21:37] creationix has joined the channel [21:37] pgriess: hey i gotta run, but this is an interesting problem. maybe i'll think something up later tonight [21:37] creationix: ok, thanks [21:40] bradleymeck2: creationix, obj.name resolves a void** using a hash table vector bucket for confirmation of value [21:40] creationix: bradleymeck2: ok, thanks [21:40] creationix: though, I'm not sure the performance implications of a hash table vector bucket [21:41] bradleymeck2: so 2 derefs a hash and another deref + pointer check [21:41] creationix: my tests show it seems to scale pretty bad with > 1,000,000 keys [21:41] bradleymeck2: creationix, thats a different reason [21:42] phiggins has joined the channel [21:42] riottaba_ has joined the channel [21:42] borior: SubStack: no, I'm running exec in a test suite and I don't need it to be fast [21:42] creationix: hmm, Buffer offsets are always fast right? [21:42] borior: it's much much simpler to have it execute synchronously [21:42] bradleymeck2: v8 creates classes in an attempt to resolve names faster based upon which values are currently on an obj (thats why setting props to null is way faster than deleting) [21:43] SubStack: borior: you could check out step [21:43] creationix: bradleymeck2: yeah, but I already assume I'm going to loose that optimization using the obj as a database [21:43] SubStack: creationix wrote it [21:43] creationix: borior: Step rocks! [21:43] SubStack: ^_^ [21:43] riottaba__ has joined the channel [21:43] creationix: borior: http://github.com/creationix/step [21:43] bradleymeck2: creationix either way the runtime creation of classes will be brutal [21:44] creationix: bradleymeck2: what about using a 1000x1000 buffer as a 2d array of 8bit integers [21:44] creationix: that's pretty fast right? [21:44] creationix: and then I can manually tile those [21:45] creationix: a single query will never cover more than 4 tiles at a time [21:45] bradleymeck2: using Arrays or Buffers? [21:45] creationix: Buffers [21:45] khug has joined the channel [21:45] creationix: Arrays would suck unless I wanted more than 8bit values [21:45] khug has left the channel [21:45] bradleymeck2: Arrays are probably faster actually, cause any Number in JS must be converted to doubles [21:45] creationix: I'm pretty sure Arrays will be slower, I can bench both to be sure [21:45] creationix: Arrays are sparse objects [21:46] bradleymeck2: even when you declare sizes before hand? [21:46] micheil: rauchg_: ping [21:46] nuxusr: in the docs it states Node supports 3 string encodings: "ascii, utf8, binary" but i'm seeing base64 in some other places... is base64 also supported and the docs just need to be updated? [21:46] creationix: v8 might optimize them if you do, but it's not part of js itself [21:47] bradleymeck2: it uses a void* to the array so id assume contig mem [21:47] creationix: bradleymeck2: though with Arrays, I can use references direct to my objects [21:47] creationix: instead of resorting to a int->object table [21:47] rauchg_: micheil: pong [21:47] micheil: rauchg_: skype? [21:47] bradleymeck2: creationix would a dereferencing point inside of js land be convenient? [21:48] bradleymeck2: pointer* [21:48] riottaba has joined the channel [21:48] creationix: bradleymeck2: nah, don't want pointers in js [21:48] creationix: besides Buffers are only fast for 8bit stuff [21:48] creationix: pointers are much bigger [21:49] bradleymeck2: v8 is in a 32bit mem space so you could use ints instead of longs though [21:49] creationix: I think the solution is a grid of grids [21:49] bradleymeck2: cool, if you ever need a c++ data type thats kinda low, just throw an issue into overload [21:49] creationix: 1000 grids 1000 wide should be more managable than a single grid 1000000 wide [21:50] creationix: overload? [21:50] bradleymeck2: node-overload [21:50] creationix: oh, right [21:50] creationix: I may look into that [21:50] bradleymeck2: it implements random junk i use [21:50] creationix: I really want to stick to pure-js if possible [21:50] bradleymeck2: yea [21:51] bradleymeck2: so arrays only then? [21:51] sh1mmer: node-overlord? [21:51] creationix: well, buffers serialize a lot faster [21:51] khug has joined the channel [21:51] khug has left the channel [21:51] creationix: just send the straight to file :) [21:51] sh1mmer: creationix: did you see my benchmark tweet from last night? [21:52] creationix: sh1mmer: no [21:52] bradleymeck2: need to move my json parser into c++, might be able to get close to matching JSON.parse w/o being evil [21:52] sh1mmer: 15,000qps on the dns server as it is now [21:52] sh1mmer: admittedly It's going to gain a little complexity still, but I haven't optimised at all yet [21:53] creationix: nice [21:53] creationix: node is awesome [21:53] sh1mmer: yes it is [21:53] amerine has joined the channel [21:53] sh1mmer: creationix: that compares with bind, btw [21:53] creationix: I was doing bandwidth testing yesterday and got about 11 gigabytes/sec [21:53] sh1mmer: I don't know what it would be like with more complex request sets, but I'll be gearing up for them in a bit [21:53] creationix: faster than nginx and apache by about 20% [21:54] bradleymeck2: mem use comparison? [21:54] creationix: and several magnatudes faster than thin [21:54] creationix: which the closest thing in terms of flexibility [21:55] sudoer has joined the channel [21:55] sh1mmer: creationix: is anyone maintaining thin now? [21:55] bradleymeck2: thats the one thing i dont like about node, is the mem use, but thatll be worked on w/ time [21:55] jb55 has joined the channel [21:55] creationix: bradleymeck2: my mem use was pretty low because I was serving the same file over and over [21:56] creationix: but my testing from today will run out of memory pretty easily [21:56] sh1mmer: bradleymeck2: isn't that a v8 garbage collection thing? [21:56] jtoy has joined the channel [21:57] bradleymeck2: sh1mmer its not just GC its the mass use of pointers of pointers required for js :/, plus extra hidden fields, just comparing it to c++ [21:57] sh1mmer: ok [21:58] _announcer: Twitter: "Gotta love the textmate enthusiasts, There's a bundle for everything. Just found the node JS bundle: http://bit.ly/9NOGZo -- Thanks @drnic" -- Nick Lewis. http://twitter.com/nicklewislive/status/20020483506 [21:58] creationix: ok, tiles will work great, now how can I keep my data consistent without locking the entire database [21:59] bradleymeck2: consistent w/ transactions or just accesses? [22:00] creationix: stuff can move between tiles and I don't want it to stop existing or exist twice [22:00] creationix: maybe just lock the boundaries between the tiles while they are being saved [22:01] riottaba_ has joined the channel [22:03] _announcer: Twitter: "@nicklewislive I made that when i first played with nodejs ages ago; I can't promise it's still working. It assumes old node version I think" -- Dr Nic. http://twitter.com/drnic/status/20020706902 [22:03] creationix: bradleymeck2: I guess that's a transaction then, a delete there and an add here [22:03] aho has joined the channel [22:04] bradleymeck2: lock the lowest subbuffer, but yea thats what you aid [22:04] bradleymeck2: said* [22:05] kevinh_ has joined the channel [22:05] creationix: bradleymeck2: ok, large arrays don't work [22:05] creationix: runs out of memory trying to access it [22:06] riottaba has joined the channel [22:06] bradleymeck2: on a void*[1000][1000] essentially? [22:07] creationix: well, new Array(10000*10000) [22:07] bradleymeck2: (sorry about relating things to stricter type system [22:07] creationix: I guess I need to nest 10000 arrays inside there [22:07] zemanel: buaaa json-template has no template inheritance? :( [22:07] rauchg_ has joined the channel [22:08] bradleymeck2: zenmanel i have a JUP copy that does extending, but its no longer compatible if you want to rip out the algorithm [22:08] zemanel: nah thanks [22:09] creationix: bradleymeck2: nope, that's too slow to initialize (2.3 seconds for a single 10,000x10,000 block) [22:09] bradleymeck2: mmm [22:09] creationix: though 1,000x1,000 is 0.002 seconds [22:09] creationix: I guess I just need smaller tiles [22:10] bradleymeck2: guess malloc is taking too long sorting out a 10mb slot of ram * ref size [22:11] creationix: ok, now to test serialize speed [22:13] creationix: meh, serializes 8.7 times/sec [22:15] cloudhead: I'm trying to fork() in a v8 addon, and it's giving me an error -- is there anything special to do? [22:16] cloudhead: I'm getting "libev: bad file descriptor" [22:21] riottaba_ has joined the channel [22:26] _announcer: Twitter: "Anyone know how to catch errors when creating a new http request in #nodejs? Can't figure out how to tell if a site exists (/cc: @sh1mmer)" -- Daniel Erickson. http://twitter.com/TechWraith/status/20021870942 [22:27] captain_morgan has joined the channel [22:31] saikat has joined the channel [22:31] bpot has joined the channel [22:32] riottaba has joined the channel [22:32] ashleydev_ has joined the channel [22:33] Ned_: micheil: heh, delay! :p [22:33] micheil: bbl. [22:33] Ned_: micheil: I raised an issue anyway, for now I'm just using 1.2.0 (which doesn't have the issue) [22:33] Ned_: :p [22:34] Ned_: oh, dev branch [22:34] Ned_: ACTION will try in a bit [22:34] Ned_: :-) [22:34] _announcer: Twitter: "@TechWraith docs seem spare. Take a look at the node source. From node/lib/http.js you should be able to figure them out." -- Tom. http://twitter.com/sh1mmer/status/20022243281 [22:34] riottaba__ has joined the channel [22:36] siculars has joined the channel [22:37] jblanche has joined the channel [22:40] riottaba has joined the channel [22:43] ag90 has joined the channel [22:44] sztanphet has joined the channel [22:44] _announcer: Twitter: "Already making progress with Node.js, Express, and my incoming weblog ;-)" -- Rodrigo Alves Vieira. http://twitter.com/rodrigo3n/status/20022747416 [22:49] micheil: Ned_: sorry about that, just had to finish recording an episode of The Changelog [22:49] robotblake has joined the channel [22:49] micheil: 1.3.05 or something is the latest version [22:53] technoweenie has joined the channel [22:55] d0k has joined the channel [22:57] dnolen has joined the channel [22:58] creationix has joined the channel [23:02] riottaba has joined the channel [23:02] amerine has joined the channel [23:06] khug has joined the channel [23:10] mikeal has joined the channel [23:10] riottaba_ has joined the channel [23:15] JimBastard has joined the channel [23:17] [[zzz]] has joined the channel [23:22] riottaba has joined the channel [23:30] creationix: hmm, probably shouldn't allocate 10,000,000 bytes of buffer huh? [23:30] creationix: go swap go! [23:30] riottaba_ has joined the channel [23:30] creationix: node is amazing, this is actually working [23:31] JimBastard: lulz [23:32] JimBastard: creationix is unstoppable [23:32] creationix: up to 14 gigs of swap [23:32] creationix: and rising [23:32] creationix: still no crash [23:32] creationix: not sure how much ram this will end up using, but it's an array of 1000 arrays of 1000 buffers of 1mb each [23:33] creationix: 10gb min [23:34] creationix: no, 100x100x1mb [23:34] creationix: but still, a LOT [23:34] mscdex: 1tb? [23:34] creationix: yeah, I [23:35] creationix: I've only got 100x100 1mb chunks, not 1000x1000 [23:35] mscdex: oh [23:35] creationix: basically it's a huge 100,000x100,000 8bit array [23:36] creationix: 17gb usage... [23:36] creationix: node doesn't have an upper limit does it? [23:36] mscdex: not that i'm aware of [23:36] riottaba has joined the channel [23:36] creationix: I know a single buffer has a limit [23:36] creationix: but using 1mb buffers I can seem to grab as much as I want without it crashing [23:36] riottaba__ has joined the channel [23:37] creationix: meh, swap is too slow, I'm shrinking my workload [23:38] creationix: now 50x50x1mb [23:39] creationix: finished in 22 seconds using about 2.3 gb ram [23:39] creationix: that's almost 0 overhead, nice [23:40] creationix: now to test serializing that 2.5gb of data... [23:42] creationix: ok, so serializing is almost instant. It doubles my ram for a second and then goes back to 2.36gb [23:42] charlenopires has joined the channel [23:42] creationix: now to put a MMORTS on top of this db ;) [23:44] riottaba has joined the channel [23:46] [[zz]] has joined the channel [23:47] mscdex: hmm, i thought process was modified to allow process.on [23:48] mscdex: guess not [23:48] khug has joined the channel [23:49] creationix: mscdex: it is [23:49] khug has left the channel [23:49] creationix: check your node version [23:49] mscdex: 102? [23:49] mscdex: process doesn't inherit from EventEmitter [23:49] _announcer: Twitter: "Hah. Figure out how postgres.js on #node.js is going to work." -- ʍɐɥs uuʎɹnɐ. http://twitter.com/aurynn/status/20026150268 [23:49] creationix: mscdex: I do process.on and I get [Function] in the repl [23:50] mscdex: must be newer than 102 then [23:50] rauchg_: node> process.on [23:50] rauchg_: [Function] [23:50] rauchg_: node> process.listeners [23:50] rauchg_: [Function] [23:50] creationix: it's an alias of addListener on mine [23:50] rauchg_: $ node --version [23:50] rauchg_: v0.1.102 [23:50] rauchg_: guillermo:~ [23:50] rauchg_: the evidence is overwhelming [23:51] creationix: rauchg_: I thought the "v" meant past 0.1.102 [23:51] creationix: it used to at least [23:51] creationix: in process.version [23:52] joshdulac has joined the channel [23:52] mscdex: wasn't there progress in having a commit id appended to the version number for non-release versions? [23:53] riottaba_ has joined the channel [23:54] creationix: there used to be, it was removed [23:54] creationix: depended on people pulling git tags [23:54] mscdex: bah [23:54] creationix: and people don't do that [23:54] creationix: so their version was wrong [23:55] isaacs has joined the channel [23:55] pquerna: there were problems with people who didn't have git installed too [23:55] creationix: mscdex: ok, add this line "process.on = process.addListener" then you're good to go ;) [23:56] bradleymeck2 has joined the channel [23:56] creationix: or update your node version [23:56] creationix: there are some nice goodies since 0.1.102 [23:56] creationix: like Function.prototype.bind [23:56] creationix: and HOME and END key support in the node repl [23:57] mscdex: ok, process.on does already give me [Function], but i guess the problem is it doesn't recognize signals for events, whereas addListener does [23:59] riottaba has joined the channel [23:59] bradleymeck2: anyone think a secondary regexp engine that matches pcre would be used?