[00:00] rchavik has joined the channel [00:00] Kinbote: i'm having an error when using exec() vs spawn(), and trying to pipe an audio stream on stdin through sox and then also capture stdout from sox. not sure why [00:00] Kinbote: http://pastebin.com/d7ZEK70S [00:01] Kinbote: exec works, spawn does not, but i'd like to make use of customFDs option to spawn to avoid having to wire my own event on 'data' logic to connect the pipes [00:02] mendel_ has joined the channel [00:02] tim_smart has joined the channel [00:04] brolin has joined the channel [00:04] jerrysv: jerrysv++ [00:04] catb0t: jerrysv now has 3 beers [00:04] jerrysv: woot! [00:04] creationix: ryah: how do I send data to it? .execute(chunk, 0, chunk.length)? [00:04] creationix: ryah: I don't seem to be getting any of the callbacks called [00:05] davidbanham has joined the channel [00:05] CIA-107: libuv: 03Ryan Dahl 07ip_name * r23bdc38 10/ (include/uv.h src/uv-common.c test/test-getsockname.c): ip_name WIP - http://bit.ly/oIkO9U [00:05] othiym23: so I want to distribute a tarball containing a prebuilt mongodb and node along with some (again prebuilt) npm modules on OS X and Linux -- is there anything special I need to do to build node? [00:05] ryah: creationix: yeah [00:06] creationix: maybe my protocol isn't HTTP enough [00:06] creationix: it's just IETF headers followed by data [00:06] isaacs: catb0t: beers [00:06] isaacs: `beers [00:06] creationix: Type: connect [00:06] creationix: V8-Version: 3.1.8.25 [00:06] isaacs: catb0t++ [00:06] catb0t: catb0t now has 3 beers [00:06] creationix: Protocol-Version: 1 [00:06] creationix: Embedding-Host: node v0.4.9 [00:06] isaacs: catb0t++ [00:06] catb0t: catb0t now has 4 beers [00:06] isaacs: catb0t++ [00:06] catb0t: catb0t now has 5 beers [00:06] creationix: Content-Length: 0 [00:06] isaacs: catb0t++ [00:06] catb0t: catb0t now has 6 beers [00:07] DTrejo: isaacs++ [00:07] catb0t: isaacs now has 1 beer [00:07] DTrejo: isaacs++ [00:07] catb0t: isaacs now has 2 beers [00:07] isaacs: ACTION misses v8bot [00:07] tmzt: what happened to v8bot? [00:07] jerrysv: ACTION does too [00:07] DTrejo: ACTION also misses kohai [00:07] DTrejo: ACTION and misses !tweet ing at people [00:08] cl0udy has joined the channel [00:08] dguttman has joined the channel [00:09] chapel: DTrejo: it still exists [00:09] chapel: #kohai [00:09] heavysixer has joined the channel [00:10] euforic has joined the channel [00:14] donald_cook has joined the channel [00:15] harthur_ has joined the channel [00:15] greg__ has joined the channel [00:18] vikstrous has joined the channel [00:18] wookiehangover has joined the channel [00:24] AvianFlu has joined the channel [00:24] neoesque has joined the channel [00:25] jtrudeau has joined the channel [00:28] secoif_ has joined the channel [00:28] newy_ has joined the channel [00:29] secoif: hey if I want to set up rails like controllers [00:29] secoif: eg [00:29] AvianFlu_ has joined the channel [00:29] secoif: different files handling different urls [00:29] secoif: how can I do that in express? [00:32] chjj: lexing sig whitespace without regexes is a headache [00:32] chjj: discuss [00:32] SubStack: sigs from emails? [00:32] chjj: ;p [00:34] materialdesigner has joined the channel [00:35] versicolor has joined the channel [00:36] traph has joined the channel [00:38] cl0udy has joined the channel [00:39] CIA-107: libuv: 03Ryan Dahl 07master * r07b49ce 10/ (4 files in 4 dirs): add uv_ip4_name and uv_ip6_name - http://bit.ly/r0fnu9 [00:40] te-brian: secoif: I'm far from experienced... but I have seen tutorials that pass the $app (server) to the module. [00:41] pandeiro has joined the channel [00:41] te-brian: secoif: So you might make a folder called 'controllers' .. and have a 'blog.js' inside that. Then you export a function that accepts the app and does all the app.get() calls. [00:41] Guest4837 has joined the channel [00:41] ej2 has joined the channel [00:42] heavysixer has joined the channel [00:43] infynyxx has joined the channel [00:43] te-brian: secoif: in fact.. the whole file could just be one giant export if you wanted ... 'module.exports = function(app) { ... app.get(...) ...}' then in the main file you could just do require('./controllers/blog.js')(app) [00:43] te-brian: secoif: Though I'm sure there is a better way.. maybe using the connect middleware concept... I'm sure someone else will chime in.. [00:44] Vertice: so i saw the jquery request module on github this week [00:45] Vertice: and i was wondering if there have been any other attempts at porting some of the node api to the browser [00:45] SubStack: Vertice: browserify can do some of that [00:46] jerrysv: you know, it would be nice to get jsdom ported to the browser, so we can have direct dom access. [00:48] DTrejo has joined the channel [00:49] Vertice: we've been working on our own little backbone.js based framework that uses mirror [00:49] Vertice: http://search.npmjs.org/#/mirror [00:49] Vertice: but it would be neat to have the api be more inline on the front and backend [00:50] Vertice: even stuff like the url and querystring module would be useful to have on the front end sometimes [00:51] gilmoreorless has joined the channel [00:55] themiddleman has joined the channel [00:59] kmiyashiro: ~~Math.max [00:59] kmiyashiro: wtf does ~~ mean [00:59] boehm has joined the channel [01:02] wookiehang0ver has joined the channel [01:02] perlmonkey2 has joined the channel [01:03] wookiehang0ver has joined the channel [01:04] wookiehangover has joined the channel [01:05] skm has joined the channel [01:07] pyrotechnick has left the channel [01:08] AvianFlu has joined the channel [01:08] skoom has joined the channel [01:08] benjaminRRR has joined the channel [01:10] stagas: kmiyashiro: where is that? [01:11] kmiyashiro: foudn it [01:11] kmiyashiro: bitwise operator [01:11] kmiyashiro: ~false = true [01:11] kmiyashiro: ~~ 3.2124 = 3 [01:12] kmiyashiro: much faster than Math.floor [01:13] samsonjs has joined the channel [01:15] secoif: te-brian thanks, I think that's about right, I'm looking at https://github.com/wbg/express-base-controller as a reference [01:15] damienbrz has joined the channel [01:15] secoif: and it's pretty much as you described [01:15] secoif: except it manually auto maps urls to controller [01:16] jellosea: does anybody have experience with using zlib in node? [01:16] jellosea: i'm pulling some data from memcached that is i can decompress with zlib in python fine, but doesn't work in node - i get an incorrect header msg [01:18] tmzt: why isn't there an app.mount or something that does that call for you? [01:18] vikstrous has joined the channel [01:22] gilmoreorless has left the channel [01:24] Murvin: what is the proper way to set express using template with less memory? [01:24] BillyBreen has joined the channel [01:27] shurane has joined the channel [01:28] stagas: Murvin: what do you mean less memory? [01:29] Nexxy has joined the channel [01:31] maru_cc_ has joined the channel [01:34] Nexxy: "instead of foxes, it should have uh... bloody chainsaws" [01:34] Nexxy: ACTION facepalm [01:34] sirdancealot has joined the channel [01:34] Nexxy: that's as far as I could make it into NodeUp: One [01:34] Nexxy: inaneBanter++ [01:34] seb_m has joined the channel [01:35] rwaldron has joined the channel [01:35] xandrews has joined the channel [01:35] CIA-107: libuv: 03Bert Belder 07master * r1a1cd6d 10/ (4 files): Enable link-time code generation for msvc - http://bit.ly/q6vK0j [01:35] CIA-107: libuv: 03Bert Belder 07master * re909b95 10/ msvs/libuv.vcxproj : Add MinGW makefiles to VS project - http://bit.ly/qOVriQ [01:35] CIA-107: libuv: 03Bert Belder 07split * rb75232e 10/ (17 files in 4 dirs): Split up uv-win.c - http://bit.ly/qBlVCA [01:40] e6nian has joined the channel [01:40] Xano has joined the channel [01:40] pandeiro has joined the channel [01:40] d0k has joined the channel [01:41] CIA-107: libuv: 03Bert Belder 07split * rc65fadb 10/ (17 files in 4 dirs): Split up uv-win.c - http://bit.ly/oLmnSG [01:41] chjj: whoever thought of module.require is amazing [01:42] chjj: i wish i could ++ them a beer [01:44] abraxas has joined the channel [01:45] langworthy has joined the channel [01:45] isaacs: chjj: what are you using it for? [01:46] chjj: oh, i just want to be able to do module.parent.require inside my framework [01:46] chjj: so maybe for a router [01:46] chjj: pass in a string, and it requires a file relative to the main one [01:46] chjj: uses that as the route callback [01:47] mikeal has joined the channel [01:48] Murvin: stagas: it happens to my fd, that when he use express and serve static html page, and he runs ab test with high concurrency. the memory usage ramp up a lot.. [01:48] isaacs: ah, nice [01:48] isaacs: i hadn't thought of that [01:48] chjj: :) [01:48] isaacs: yeah, yo ucan get to the parent, huh? [01:48] chjj: yeah, really convenient [01:48] Murvin: i think he actually needs to enable cache for the view. but not sure. [01:49] jerrysv has joined the channel [01:51] nodokodo has joined the channel [01:52] Epeli has joined the channel [01:53] isaacs: chjj: if you ahve the filename, you can also get the module out of require.cache [01:53] jakehow has joined the channel [01:54] CIA-107: libuv: 03Bert Belder 07master * r3a91232 10/ (17 files in 4 dirs): Split up uv-win.c - http://bit.ly/quo1x0 [01:54] chjj: isaacs: yeah, thats the thing, it might not be cached, and something like a library or framework wouldnt be able to resolve the file relatively [01:55] isaacs: if it's module.parent, then it's definitely cached, unless it was explicitly removed [01:55] isaacs: but yeah [01:56] chjj: well, i mainly want it for requiring files relative to the parent, thats the benefit im seeking out of it [01:56] chjj: so i could go: app.get('/uri', './my_route_file'), and underneath the surface do, module.parent.require('./my_route_file') [01:57] davidascher has joined the channel [01:57] darshanshankar has joined the channel [01:58] dreamdust: Why would you pass a specific route file though? Shouldn't the URI correspond with a resource, such as the file? [01:59] chjj: hm? [01:59] chjj: the file gets required [01:59] chjj: by the framework [02:00] chjj: but its relative to the file that called `app.get` [02:00] mikeal has joined the channel [02:00] [[zz]] has joined the channel [02:01] AvianFlu has joined the channel [02:01] Swimming_bird has joined the channel [02:02] pifantastic has joined the channel [02:03] newy_ has joined the channel [02:03] malkomalko has joined the channel [02:03] abraham has joined the channel [02:03] davidbanham has joined the channel [02:04] skm has joined the channel [02:06] marshall has joined the channel [02:06] marshall: hey node [02:06] temp01 has joined the channel [02:06] heavysixer has joined the channel [02:07] apanda has joined the channel [02:07] kawaz has joined the channel [02:08] marshall: I'm using express for an app, and in one of my app.post callbacks I emit an event, then on another event I do a res.send(...). It seems to work the first time I test it in the browser, but the second time the app crashes with this complaint: Can't use mutable header APIs after sent. What should I do differently? [02:11] dgathright has joined the channel [02:12] jakehow has joined the channel [02:13] marshall: dudes? [02:14] rhdoenges: I'm not qualified to answer your question, but I bet #express can help [02:15] rhdoenges: marshall: ^^ [02:16] Sidnicious has joined the channel [02:16] Jalava_: sounds like you are not cleaning up your previous request [02:17] Jalava_: and you get multiple calbacks on second request [02:17] tbranyen: stupid node windows binary doesn't work in windows 2k [02:17] tbranyen: this is the worst [02:17] tbranyen: ^_^ [02:18] tbranyen: woah weird works in mintty [02:18] tbranyen: oh wait [02:18] mikeal has joined the channel [02:19] marshall: Jalava_: how do I clean up my first request? [02:19] edude03 has joined the channel [02:19] marshall: Jalava_: I'll prepare a gist [02:20] marshall: Jalava_: https://gist.github.com/1091177 [02:20] marshall: it's the app.post('/' ... ) [02:22] AvianFlu has joined the channel [02:23] marshall: rhdoenges: #express is for express.js? [02:24] joshbaptiste has left the channel [02:24] Jalava_: marshall: you are adding new "on" listener on every request [02:24] Jalava_: so first time you have one, but it is still there [02:24] marshall: ohh [02:25] vikstrous has joined the channel [02:25] eventual- has joined the channel [02:25] marshall: Jalava_: how would you write that bit? [02:25] Jalava_: either recreate the classily for every request [02:25] Jalava_: or use callbacks [02:26] Jalava_: classily.shorten(req.body.Long, function(response) { res.send.... })); etc [02:26] sub_pop has joined the channel [02:26] Jalava_: you run into trouble with events easily [02:26] marshall: yeah, I'm finding that [02:27] marshall: but I want to learn to think about application flow that way [02:27] Jalava_: also even if you cleanup the event listeners after receving, your code wont work [02:27] daveluke has joined the channel [02:27] marshall: before I start using flow libraries [02:27] Jalava_: if there are simultaneous requests [02:27] daveluke has joined the channel [02:27] marshall: yeah [02:28] nodokodo has joined the channel [02:28] zmaril has joined the channel [02:29] ryanfitz has joined the channel [02:29] zmaril: Hey could somebody break this for me? http://node-api.com/search/ [02:29] fayce has joined the channel [02:29] tg has joined the channel [02:30] zmaril: I am messing around with the documentation and I just put in versions. I need to know if it is robust or not. [02:31] piscisaureus has joined the channel [02:31] donald_cook has joined the channel [02:31] nodokodo has joined the channel [02:31] Lorentz: search.js:84 [02:31] mikeal has joined the channel [02:31] Lorentz: You left out a debug console.log(), I think [02:31] Me1000 has joined the channel [02:32] andrewfff has joined the channel [02:33] zmaril: Lorentz: yep. Missed that one. Thank you [02:33] zilch has joined the channel [02:35] tg has joined the channel [02:37] jacobolus has joined the channel [02:37] jtsnow has joined the channel [02:40] pNstK has joined the channel [02:40] nodokodo has joined the channel [02:42] rpflo has joined the channel [02:43] rhdoenges: zmaril: attempting to break, stand by [02:44] neorab has joined the channel [02:45] AvianFlu has joined the channel [02:46] Swizec has joined the channel [02:46] nodokodo has joined the channel [02:46] pifantastic_ has joined the channel [02:48] vikstrous has joined the channel [02:49] zmaril: rhdoenges: pushing some spelling mistake fixes. Could cause a hiccup for a second [02:49] tk has joined the channel [02:50] mscdex: zmaril: why is the node version number missing the leading 0. ? [02:50] tekky has joined the channel [02:50] tk has joined the channel [02:50] zmaril: mscdex: because I am dumb and forgot it. [02:51] mscdex: zmaril: also it'd be nice to have the module methods's css style set to include 'cursor: pointer' [02:52] zeade has joined the channel [02:52] zmaril: mscdex: Yep. Got the top level but forgot to bring it down. [02:52] rhdoenges: zmaril: I couldn't break it, but it would be nice if you didn't sort the sections alphabetically [02:52] apejens: zmaril: setting a might be good as well, makes it easier to find the tab again :p [02:52] rhdoenges: looks very handy, though! [02:53] zmaril: rhdoenges: That is the next big step. Gotta break out the regexp for that one. [02:53] zmaril: apejens: that be in soon [02:53] nodokodo has joined the channel [02:54] apejens: zmaril: also, using pushState or similar to change the url might rock, so it is possible to share links to specific parts of it? :) [02:54] meso has joined the channel [02:54] apejens: zmaril: but I love the concept [02:55] zmaril: Woah, just googled push state for the first time. That would be really neat. That will be the next big thing that goes in probably [02:55] maru_cc_ has joined the channel [02:57] Swizec has joined the channel [02:59] vikstrous has joined the channel [03:00] Me1000 has joined the channel [03:00] ctide: zmaril: https://github.com/defunkt/jquery-pjax [03:00] jklabo has joined the channel [03:01] zmaril: ctide: Neat! That will be useful [03:02] zmaril: ctide: Thank you [03:02] tg has joined the channel [03:03] alnewkirk has joined the channel [03:04] Kami_ has joined the channel [03:04] Corren has joined the channel [03:04] pifantastic has joined the channel [03:05] squeese has joined the channel [03:06] rhdoenges: consider simply linking to the original docs instead of using pushState [03:08] kriszyp has joined the channel [03:13] Swizec has joined the channel [03:14] flybyme has joined the channel [03:14] Broady has left the channel [03:15] anatoo has joined the channel [03:16] zmaril: rhdoenges: that would make more sense if you are just trying to show somebody something. [03:18] Aria has joined the channel [03:19] infynyxx has joined the channel [03:19] infynyxx has left the channel [03:20] tg has joined the channel [03:23] ctide: zmaril: yw! [03:24] sourcode has joined the channel [03:24] ngs has joined the channel [03:26] flybyme has joined the channel [03:26] mike5w3c has joined the channel [03:27] cafesofie has joined the channel [03:28] vikstrous has joined the channel [03:29] robtmr has joined the channel [03:30] tk has joined the channel [03:31] hij1nx has joined the channel [03:31] rpflo has joined the channel [03:32] pandeiro: anyone noticed that response.statusCode doesn't reflect the statuscode argument given to response.writeHead()? [03:32] galaxywatcher has joined the channel [03:34] pandeiro: it does respond with the specified status code but the response object's statusCode property returns 200 for me no matter what unless I explicitly set it [03:36] uchuff has joined the channel [03:37] zmaril: node-api.com does cursors, titles, and the leading 0 right now. Order is still f [03:37] zmaril: 'ed but that should get fixed next [03:42] Prometheus: zmaril: cool site btw, but I'd prefer it was structured more like http://nodejs.org/docs/v0.2.2/api.html [03:43] zmaril: Prometheus: In terms of design? Or the single page layout? [03:43] Prometheus: in terms of how you navigate [03:43] digitalt_ has joined the channel [03:43] Prometheus: I think it'd be much easier to find the specific things [03:44] Prometheus: kind of how jqapi.com does it [03:44] zmaril: jqapi actually pretty much is the design I am going off ot [03:45] vikstrous has joined the channel [03:45] Prometheus: it just seems to kind of hard to distinguish between the main items and the child items [03:45] zmaril: Ahhh! Okay [03:45] zmaril: Yeah I just noticed the colors suck [03:45] Prometheus: I mean sure, they are indented, but some kind of a list item styling would be appropriate [03:46] flybyme has joined the channel [03:46] zmaril: I will mess around with that then. [03:46] Prometheus: zmaril: and like someone pointed out, linkable URLs to things [03:46] Prometheus: if that's possible [03:46] Prometheus: that would really rock [03:47] Prometheus: I personally like how django docs does links [03:47] Prometheus: but I don't know how trivial/non-trivial it would be for you to implement :) [03:47] Prometheus: granted, django docs isn't a single pager either, but.. [03:47] zmaril: Well since this is all one big learning app-aratus of sorts, I will probably take a crack at it. [03:48] jtsnow has joined the channel [03:48] Prometheus: zmaril: in case you are interested, https://docs.djangoproject.com/en/1.3/topics/auth/#auth-profiles [03:48] Prometheus: just for reference [03:48] Prometheus: if you hover over any of the titles, it brings out the link [03:48] zmaril: Ahh! [03:48] zmaril: That is naet [03:48] rhdoenges has joined the channel [03:49] Prometheus: makes it easy to link to a specific section [03:49] zmaril: *neat. I wonder how they did that [03:49] Prometheus: well, they use reST and Sphinx [03:49] Prometheus: so that's automatically generated by Sphinx [03:49] rhdoenges: ever needed to just get up, leave the keyboard, and wash your hands? [03:49] rhdoenges: I just did [03:49] rfay_afk has joined the channel [03:49] rhdoenges: this keyboard is getting gross. [03:49] Prometheus: rhdoenges: many a time [03:50] zmaril: Thank you for making me think way too much about my hands now [03:50] rhdoenges: it's like the equivalent of taking a cold shower before exercising [03:50] josdehar has joined the channel [03:50] rhdoenges: but for programming [03:51] chrisdickinson: zmaril: <h2>Heading<a id="heading" href="#heading">¶</a></h2> would do it. [03:51] jtsnow has joined the channel [03:52] chrisdickinson: zmaril: and then `h2 a { display:none; } h2:hover a { display:inline; }` [03:53] zmaril: chrisdickinson: Nice. Thank you! It's on the experiment list. [03:53] chrisdickinson: zmaril: no prob! [03:56] towski has joined the channel [03:56] Corren has joined the channel [03:56] shoerain has joined the channel [03:57] wookiehangover has joined the channel [04:00] charlesjolley has joined the channel [04:00] donald_cook has joined the channel [04:01] D3Vito has joined the channel [04:01] vikstrous has joined the channel [04:04] meso_ has joined the channel [04:06] dnolen_ has joined the channel [04:10] ditesh|cassini has joined the channel [04:10] tauren has joined the channel [04:12] empt has joined the channel [04:13] rhdoenges: I feel bad when I use console.log to write to standard output and I'm not logging. [04:13] rhdoenges: what should I use instead? [04:13] jellosea: when i get a value back from memcached in node, its different from when i get it in python.. [04:13] jellosea: i'm looking at the hex dump of the value for the same key, and they are different... does anybody know why? [04:14] mikeal has joined the channel [04:16] franck34 has joined the channel [04:18] smtlaissezfaire has joined the channel [04:23] flybyme has joined the channel [04:24] newy_ has joined the channel [04:25] vipaca has joined the channel [04:25] vipaca has joined the channel [04:25] zmaril: rhdoenges: Node-api.com has the correct order now for the table of contents [04:26] zmaril: Working on getting a better design going with list elements, but correctly it looks awful with li's instead of p's. Probably leave that for tomorrow [04:26] gxdssoft has joined the channel [04:27] jklabo has joined the channel [04:30] abraham has joined the channel [04:32] davidascher has joined the channel [04:33] smtlaissezfaire has joined the channel [04:34] smtlaissezfaire_ has joined the channel [04:34] dgathright has joined the channel [04:36] galaxywatcher has joined the channel [04:37] Xano has joined the channel [04:37] seawise has joined the channel [04:39] gxdssoft has joined the channel [04:40] tim_smart has joined the channel [04:41] darshanshankar has joined the channel [04:43] Brandonn has joined the channel [04:43] Kami_ has joined the channel [04:44] HelloWorld has joined the channel [04:45] HelloWorld: hello [04:45] skm has joined the channel [04:45] HelloWorld: how i print_r obejct Object in node.js? [04:46] jerrysv: console.dir(object); [04:46] jerrysv: or console.log(util.inspect(object)) [04:47] seawise_ has joined the channel [04:48] rhdoenges: zmaril: sweet! [04:48] HelloWorld: thanks [04:51] smtlaissezfaire has joined the channel [04:51] seawise has joined the channel [04:52] ambroff has joined the channel [04:53] jerrysv: helloworld: typeof [04:53] rauchg has joined the channel [04:54] rurufufuss has joined the channel [04:55] neoesque has joined the channel [04:59] andrewfff has joined the channel [05:00] markdaws has joined the channel [05:02] fayce has joined the channel [05:05] admc has joined the channel [05:06] smtlaissezfaire has joined the channel [05:06] btipling: I don't want to hurt anyone's feelings [05:06] btipling: but http://nodejs.org/ [05:06] btipling: that is uh [05:06] btipling: something. [05:08] btipling: brown [05:08] btipling: didn't we learn anything from ubuntu design :P [05:08] vikstrous has joined the channel [05:08] btipling: you got these wood earth tone colors and then an angular techno logo [05:09] er1c_ has joined the channel [05:09] d0k: it's not brown [05:09] d0k: I think it's olive [05:09] Aria: Works for me! [05:10] Aria: Definitely brown though. [05:10] smtlaissezfaire_ has joined the channel [05:10] sjbreen has joined the channel [05:10] d0k: I can say for sure that it's not mauve [05:13] stagas has joined the channel [05:14] btipling: I like the old logo [05:14] btipling: let's bring it back [05:14] btipling: someone start a facebook page [05:14] Nuck: Facebook? [05:14] Nuck: Fuck that, make something on Google+ [05:14] btipling: whatever, just upvote it on reddit, that's how you change the world, one upvote at a time [05:15] smolyn has joined the channel [05:15] igl: someone has the old logo hi res? [05:15] igl: ^^ [05:15] btipling: there we go [05:16] btipling: we could make a user stylesheet thingy [05:16] Nuck: igl: Check Wikipedia. [05:16] smtlaissezfaire_ has joined the channel [05:16] vyvea has joined the channel [05:20] jacobolus has joined the channel [05:21] donald_cook has joined the channel [05:22] igl: the font looks really cheap, but a serif + tiny cloud is really sweet i think [05:23] ddtjd has joined the channel [05:23] igl: the new one looks like it came from microsoft or razor :F [05:25] btipling: yeah I miss the old logo [05:25] btipling: those were the days [05:25] btipling: I'll never forget where I was when they changed the node.js logo [05:26] rook2pawn has joined the channel [05:26] sandstrom has joined the channel [05:28] kmiyashiro: At least it isn't "node" in sans serif in a blue box [05:29] kmiyashiro: I mean with a blue box [05:29] kmiyashiro: http://craplogo.me/logos/node_logo.png [05:30] othiym23 has joined the channel [05:33] igl: xD [05:36] vikstrous has joined the channel [05:36] jasonHulme has joined the channel [05:38] Nuck: kmiyashiro: Please tell me that's not from nodejs? [05:40] zilch has joined the channel [05:40] benw_ has joined the channel [05:41] tuhoojabotti: Huomenta [05:42] bbrandon has joined the channel [05:42] cliffano has joined the channel [05:44] jacobolus has joined the channel [05:44] vns has joined the channel [05:45] andree has joined the channel [05:45] kmiyashiro: Nuck: It was the new gap logo that they reverted. http://www.vanityfair.com/online/daily/gaplogo.jpg [05:45] socketio\test\23 has joined the channel [05:47] confoocious has joined the channel [05:48] benw_: My feature proposal: https://github.com/joyent/node/wiki/Async-Exception-Handling [05:49] jesusabdullah: I was waiting for someone to mention gapification [05:49] SamuraiJack has joined the channel [05:49] benw_: Please ask questions / throw rocks so I can improve it before posting to nodejs-dev [05:50] jesusabdullah: idk maaan [05:50] jesusabdullah: I'm pretty conservative when it comes to new feats. [05:50] vipaca has joined the channel [05:50] benw_: tl;dr? [05:53] Nuck: benw_: Async exception handling?> [05:53] benw_: yes [05:54] hij1nx has joined the channel [05:54] benw_: As in, better handling of exceptions that occur in async code. [05:54] benw_: try/catch isn't much use if the callback throws after the try block has returned. [05:55] benw_: Everyone has seen this, right? [05:55] Nuck: benw_: Oh, that's EASY to handle. [05:55] benw_: Nuck: Oh? [05:55] benw_: Nuck: How? [05:56] bentkus has joined the channel [05:56] Nuck: I just use if (err) toErrIsHuman(err, req, res); [05:56] Nuck: Which then shoots back the error in my JSON. [05:56] Nuck: (cleaned up, of course) [05:56] vikstrous has joined the channel [05:56] benw_: Nuck: That's not the kind of error I'm talking about. [05:56] Nuck: benw_: error handling is left to the callbacks in most cases [05:56] benw_: Nuck: That's not an exception that is thrown, it's an error that is passed to a callback. [05:57] SubStack: benw_: a global handler object attached to process seems like a bad idea [05:57] Nuck: If there's a glitch in an async method, it doesn't throw [05:57] Nuck: It usually passes to the callback [05:57] benw_: Nuck: I'm talking about errors in my application code's callbacks that throw. [05:57] SubStack: because then you have to care which modules modify the global and which don't [05:57] benw_: SubStack: I know, it looks bad at the start. Please keep reading. [05:57] SubStack: I don't like caring about stuff like that [05:58] Nuck: benw_: Well there shouldn't be errors in your callbacks, should there? [05:58] Nuck: If there's a problem, you should fix it, or try catch it inside the block [05:58] benw_: SubStack: This is actually not a global mechanism, it has much finer grained context, like a try/catch. [05:58] ParadoxQuine has joined the channel [05:59] Nuck: My only errors are from the functions I call on [05:59] Nuck: And those are from user input issues [05:59] benw_: Nuck: Yes, thankyou, bugs r bad, m'kay? [05:59] stephank has joined the channel [05:59] Nuck: *MY* code is error-free, I usually throw numerous other coders at it before I call it debugged. [06:00] Nuck: Because if anyone can break things, it's the folks who make things. [06:00] benw_: Nuck: Then think of this as a helpful mechanism for all those coders who aren't as good as you. [06:00] devaholic: ACTION throws a rock [06:01] benw_: SubStack: I'm not sure what you mean [06:01] Nuck: benw_: that's not a good mechanism. If the problem isn't in the error handling with async functions, use try catch [06:01] Nuck: Simple. [06:01] Nuck: If you've got an error that needs to be caught, then do so. [06:01] Nuck: The only problem is that you need to try catch for each callback, but it's not that big a deal, really. [06:01] benw_: Nuck: So how would you solve the problem I've given in the example? [06:03] donald_cook has joined the channel [06:03] benw_: The goal here is to allow TJ to make a small change to Express or Connect, so that an exception thrown in the application's route handlers returns a 500 to the client and the process keeps running. That currently isn't the case. [06:03] Nuck: OH, that's fucking EASY. [06:03] Nuck: I've got that in my server code already [06:03] Nuck: I posted my one-line solution. [06:04] Nuck: or wait no [06:04] benw_: Ok, I'm keen to see it [06:04] Nuck: I have another solution for that [06:04] sivy has joined the channel [06:04] Nuck: app.error(toErrIsHuman); [06:04] benw_: Nuck: Again, that ='s not the problem I'm talking about. [06:05] benw_: that's [06:05] gvz has joined the channel [06:05] Nuck: toErrIsHuman does console.error and res.send's the error message [06:05] jokil_ has joined the channel [06:05] sridatta_ has joined the channel [06:05] vipaca has joined the channel [06:05] vipaca has joined the channel [06:05] darshanshankar_ has joined the channel [06:05] Nuck: it'll catch anything that's NOT in an async layer inside a path route [06:05] benw_: Yes, but it's not invoked if an async callback throws. Try it. [06:05] Nuck: benw_: Hence why I use a named function [06:05] benw_: And that's the problem I'm trying to solve. It's quite common. [06:06] Nuck: I just use if (err) toErrIsHuman(err, res, req); [06:06] Nuck: And it handles it in async I/O too [06:06] Nuck: I ran into the same problem before. [06:06] Nuck: And I dealt with it accordingly. [06:06] benw_: Again, I'm not talking about handling err arguments in callbacks. [06:06] Nuck: benw_: The trick is not to throw. [06:06] cryptix has joined the channel [06:06] Nuck: I just replace all throws with that toErrIsHuman call [06:07] Nuck: And it works. [06:07] benw_: My point is that there are bugs, and some of them do throw. [06:07] Nuck: Not in Async I/O [06:07] Nuck: Async IO uses the err arg to the callback [06:07] Nuck: which YOU need to throw [06:07] tuhoojabotti: Hey NUCK. [06:07] Nuck: As for Express, well, it provides app.server [06:07] SubStack: there are logic problems that throw [06:08] SubStack: like if you undefined.key [06:08] benw_: SubStack: Exactly, thanks [06:08] Nuck: SubStack: Those are rare and should be squashed quickly :V [06:08] tuhoojabotti: Why can't undefined.key return undefined? :P [06:08] Nuck: Or caught and supressed [06:08] benw_: What happens if a logic problem throws in PHP? [06:08] JoshC1 has joined the channel [06:08] Nuck: benw_: Hell if I know, I haven't touched PHP in months. [06:09] SubStack: I did some php in 2004 [06:09] benw_: Me neither. s/PHP/other-system-of-your-choice [06:10] Nuck: Either way, if it throws in your code, catch it [06:10] fairwinds has joined the channel [06:10] benw_: Pick anything with one thread per request and blocking I/O, where the route handler is on a call stack with a try block that can return a 500 if something blows up. [06:10] SubStack: maybe I should hack up an experiment with burrito [06:10] Nuck: I assume the code that causes problems is your own, in which case, just try catch that shit [06:11] Nuck: If it's a problem in async, I'm pretty sure that's caught too [06:11] SubStack: to wrap all callback bodies in a chunk of code in try {} catch {} blocks [06:11] benw_: For this kind of logic error, node and async is harder for developers than blocking I/O. [06:11] cha0s has joined the channel [06:11] cha0s has joined the channel [06:11] SubStack: not sure it's especially practical but pfft [06:11] benw_: SubStack: What would the catch do with the error? [06:12] SubStack: pass it to an event emitter [06:12] benw_: SubStack: How's that different to the current process uncaughtException event? [06:12] SubStack: it knows which callback the error originated in [06:12] Nuck: benw_: I haven't seen any example of a situation that can't be solved by wrapping your code in try catch, using the err argument on a callback, or using another error-detection mechanism on the library you're on. [06:13] benw_: So it receives a reference to a callback fn? Then what? [06:13] Nuck: So I see absolutely no purpose for that. [06:13] SubStack: and it's not a global [06:13] smtlaissezfaire has joined the channel [06:13] benw_: Nuck: There's an example of this situation in the document I pointed to. [06:13] SubStack: shit and I wanted to get some work done tonight [06:13] Nuck: benw_: No, that's an example of something that's easily solved :V [06:13] SubStack: but this is a perfect mad science project [06:13] benw_: :) [06:13] SubStack: stackedy already does this actually [06:14] SubStack: but it adds a bunch of other stuff [06:14] tilgovi has joined the channel [06:14] Nuck: Almost all things provide some async error handling mechanism [06:14] Nuck: If whatever you're using doesn't, you have good reason to murder the dev. [06:15] SubStack: I'm thinking of this tool more as a wits-end contingency [06:15] flybyme has joined the channel [06:15] benw_: Nuck: So what should TJ add to Express so that exceptions thrown in async route callbacks result in a 500 error returned to client and process stays up? [06:16] SubStack: I could call it "rye" [06:16] SubStack: var catcher = require('rye') [06:16] benw_: :) [06:17] Nuck: benw_: Nothing, because there's already shit like that [06:17] Nuck: app.error handles anything in the callbacks directly [06:17] benw_: Nuck: Again, you're talking about a different problem. [06:17] Nuck: And if you do any more async calls deeper, you use the err argument [06:18] Nuck: benw_: Are you talking about in the app.get() callbacks? [06:18] benw_: Nuck: yes [06:18] Nuck: benw_: Yeah, app.error catches in there [06:18] benw_: Nuck: In a callback inside an app.get callback [06:18] benw_: Nuck: Exactly! And I think that's a real problem, and we should fix it! [06:18] Nuck: benw_: Using the Node I/O functions? [06:19] benw_: Yes [06:19] benw_: A one-line change to many of them [06:19] Nuck: benw_: In a node IO call [06:19] Nuck: Just use the err argument [06:19] Nuck: ALL node IO has it [06:19] benw_: No, not to use the err argument [06:19] StepanKuzmin has joined the channel [06:20] Nuck: As for just in the first layer with Express, that's what server.error is for [06:20] benw_: To save the current global exception handler, and to restore it when the callback is invoked. [06:20] HelloWorld: how i make a unique 'random' id with numbersa and letters? [06:20] benw_: Then every async callback can have an appropriate exception handler in place. [06:20] flybyme has joined the channel [06:20] Nuck: benw_: That's not gonna happen, since there's no standardization in callback code. [06:20] benw_: Most people would never touch process.exceptionCatcher [06:20] devaholic: helloworld, hash.js [06:20] Nuck: callbacks are handled by the module [06:20] benw_: No standardisation needed. [06:21] benw_: Sorry, not quite true [06:21] benw_: Any api that takes *and stores* a callback needs to call wrapCallback, as I've explained. [06:21] HelloWorld: thanks [06:21] Nuck: I have a TON of one-line error calls. [06:22] benw_: You probably won't need to change any of them. [06:22] Nuck: benw_: That's adding another function call [06:22] benw_: Yes, there is a small overhead. [06:22] Nuck: And it makes stack traces less effective. [06:22] Nuck: I'm happy with if (err) [06:22] benw_: Well, I haven't quantified it so I shouldn't say small. [06:22] Nuck: In fact, I PREFER it. [06:23] benw_: This does not replace (err) [06:23] Nuck: Because it lets me fine-tune the handling and such. [06:23] Nuck: benw_: How not? [06:23] Nuck: if (err) serves a similar purpose. [06:23] benw_: This is not a new convention for error handling. [06:23] benw_: No, different purpose. [06:23] Nuck: If your code is the part that's breaking, just wrap it in try catch [06:23] Nuck: It's what, 5 lines? [06:24] benw_: We use (err) as a convention because throw is useless for async, right? [06:24] benw_: Nuck: Again, what change should TJ make so that app code logic errors return 500s? [06:24] Nuck: benw_: THROWing isn't the problem. CATCHing is. [06:24] benw_: Sure sure [06:24] jerrysv has joined the channel [06:25] Nuck: benw_: Logic errors in Express, in your code in an Express callback, or in a callback within an express callback? [06:25] Nuck: Because the first two are dealt with using server.error [06:25] benw_: Hang on, I'll make an example so we can stop arguing about what we're arguing about [06:25] Nuck: And the third is with if (err) and try catch. [06:26] Nuck: I don't throw, because throwing is pointless. [06:26] Nuck: I just use a function which shoves the error into a JSON object and returns 500 [06:29] benw_: https://gist.github.com/1091480 [06:29] Nuck: I've been working with Node for like 7 months and Express for about 4 months now and not once have I seen an error I couldn't catch :V [06:29] benw_: Yes, but there's still an error in your code that you haven't found yet. [06:29] benw_: And one day it will throw, and your process will exit. [06:29] Nuck: no, it won't [06:30] benw_: The PHP guy has an error in his code too. And one day it will throw, and one client will get a 500. [06:30] Nuck: Because I wrap try catch around code that runs the risk of dying. [06:30] benw_: All your code runs the risk of dying. You don't know where that one last bug is. [06:30] Nuck: And I throw a good 10 programmers at everything I write. [06:30] benw_: Congrats, that's great [06:30] Nexxy: ACTION blinks [06:31] benw_: Currently that's what you need to do to deploy node apps with confidence. [06:31] abraham has joined the channel [06:31] `3rdEden has joined the channel [06:31] Nuck: benw_: I've been programming for 10 years, I debugged before I had try catch. At the time, it was just a subset of BASIC. I know what I'm doing, I don't have errors much. [06:31] Nexxy: what's the problem with your process exiting? [06:31] benw_: The PHP guy can deploy less robust code and feel comfortable that the edge case he hasn't found yet won't cause all open connections to drop. [06:31] benw_: Nexxy: srsly? [06:31] Nuck: And I never throw an error once in all my code. [06:31] Nexxy: yes, srsly [06:32] Nexxy: if you're deploying your app properly it will just start back up [06:32] andree has joined the channel [06:32] Nexxy: lol [06:32] tuxedo has joined the channel [06:32] benw_: Nexxy: All open connections are dropped? [06:32] Nuck: benw_: And if I want it to survive, as Nexxy says, it'll be a few server erros but it should restart immediately. [06:32] benw_: Nexxy: Wouldn't you rather one client got a 500? [06:32] Nuck: I throw crazy URLs at my code [06:32] Nexxy: of course I'd pick a single client 500 over all connections dropping [06:33] benw_: Don't you guys see this as a problem? Denial of service attack, anyone? [06:33] Nexxy: I'm just saying [06:33] Nuck: And I check my inputs [06:33] Nexxy: it's still not the end of the world [06:33] Nexxy: and you will get a nifty stack trace and log for it [06:33] benw_: Nuck: Ok, I get it, your code is perfect, and your shit doesn't stink [06:33] Nuck: I can't see how anyone could accidentally call a function that doesn't exist [06:33] Nexxy: lol you guys are too serious [06:33] benw_: You're missing my point. [06:33] Nuck: That's a newbie mistake. [06:33] rook2pawn has joined the channel [06:34] Nuck: Calling a property of undefined? That should be obvious enough when that's possible that you can cleanse your inputs or wrap it in a try catch block [06:34] benw_: Nuck: It could be undefined.foo, whatever [06:34] Nexxy: it could happen with API changes [06:34] Nuck: Nexxy: That's why I never upgrade Node without a full retest on my dev server :V [06:34] benw_: Isn't node meant to be for non-expert developers? [06:34] Nuck: And I *always* read changelogs [06:35] Nuck: benw_: I don't know anything but PHP and JS. [06:35] Nuck: I shit you not. [06:35] benw_: Nuck: Please stop telling us how thorough you are, that's not at question. [06:35] Nexxy: you two should get a room [06:35] Nexxy: 4srs [06:35] Nuck: Be more thorough with your testing [06:35] Nuck: Don't just be lazy and leave errors and assume it'll be fine [06:35] Nuck: Errors are NEVER okay. [06:35] Nuck: caught or not. [06:35] Nexxy: pretty sure you got your point across [06:35] Nexxy: liek [06:35] Nexxy: 2-3 screens ago [06:35] Nexxy: just sayin' [06:36] Nuck: Nexxy: Not sure he grasps this concept that you don't just let error catching "fix" your shitty code :V [06:36] benw_: Nexxy: See any value in my proposal? [06:36] Nuck: benw_: I asked tj for the idea, but it'd require support natively in Node [06:36] tuxedo: what are bugs? [06:36] Nuck: Since with each callback it'll reset the try catch/ [06:36] benw_: Nuck: Exactly! [06:37] Nuck: Otherwise you'll hafta curry each callback [06:37] Nuck: Either way, it's monkey-rigged [06:37] benw_: Nuck: This feature proposal *is* the support in node for that. [06:37] Nuck: If you have the foggiest idea what you're doing, errors should come from bad inputs and not from your code being bad [06:38] benw_: Nuck: This would mean a small change to Express or Connect will catch route logic errs to return 500s. [06:38] Nuck: Calling properties of undefined is nigh impossible :V [06:38] Nuck: benw_: The problem isn't in Express, it's in Node itself [06:38] Nuck: Express handles the errors itself [06:38] Nuck: It already HAS the callbacks caught [06:38] benw_: Nuck: Yes. This is a node feature proposal, which Express would be able to take advantage of easily. [06:38] Nuck: What we NEED is Lexical try catch [06:39] Nuck: Handled like Lexical scope. [06:39] jborst has joined the channel [06:39] Nuck: Can we agree on that being the optimal solution? [06:40] fille has joined the channel [06:40] fille: hello [06:40] benw_: You'd need to provide a bit more definition around your proposal. [06:41] steffkes has joined the channel [06:41] benw_: I was really hoping someone would read what I posted and at least point out typos or something [06:41] devaholic: ACTION throws more rocks [06:41] Nuck: benw_: Are you familiar with Lexical Scoping? [06:41] benw_: devaholic: Where'd they land? [06:41] SubStack: ACTION burns some tires [06:42] Nuck: The general concept (at least how it works in my mind :P) is something like "if it LOOKS like it'd inherit something, it DOES" [06:42] Nuck: So I'd propose that Node adapt that for try catch directly. [06:42] devaholic: substack ive added you on klout [06:43] devaholic: if that is what its called [06:44] dshaw_ has joined the channel [06:44] Nuck: devaholic: Fuck klout [06:44] Nuck: It's a silly concept :P [06:47] benw_: I gotta go catch a bus, thanks all for your attention. [06:47] Nuck: benw_: You mean try {} catch {} it [06:47] Nuck: :P [06:47] groom has joined the channel [06:47] benw_: I'll post to nodejs-dev on Wednesday when I'll have time to reply to responses [06:47] benw_: Nuck: yes :) [06:49] fille: how do i create a public repository at github? [06:49] fille: :D [06:49] fille: got everything commited [06:49] devaholic: actually i added everyone whose code i use [06:49] devaholic: step it up, Nuck [06:50] Nuck: devaholic: Step what up? [06:50] devaholic: *it* [06:50] Nuck: devaholic: ewwwww how do you step sex up? [06:50] fille: tomcat lifray takes 42 seconds startup [06:50] Nuck: lol [06:50] Nuck: My node server for my API takes... 2 seconds, max? [06:50] fille: the cms is a fucking beaste [06:51] Nuck: And most of that is because I'm connecting to a database before starting a server. [06:51] fille: :D [06:51] sgimeno has joined the channel [06:51] fille: this is what im dealin with here [06:54] SubStack: devaholic: you should give me some more +K for burritos [06:54] SubStack: http://substack.net/images/screenshots/klout_burritos.png [06:54] mikedeboer has joined the channel [06:55] Murvin has joined the channel [06:55] Murvin: hi.. which rendering engine is fast, and which rendering engine consume more memory? [06:55] Murvin: I'm using jqtpl (with express), and my coworker complains that it takes up a lot of memory. [06:55] devaholic: i'll give you +k for rocket powered turtles [06:56] fille: :D [06:56] fille: why is everyone allowed to use node.js @work while im stuck here with java! [06:56] fille: so unfair! [06:56] ablomen has joined the channel [06:56] SubStack: fille: because your work sucks is why! [06:57] fille: im a fucking dinousaure [06:57] SubStack: because not using node is a sufficient condition to classify work into the sucks bucket [06:57] Murvin: fille: i hope my coworker will be like you willing to try something new. [06:58] fille: :D [06:59] Nuck: I AM MY WORK :P [06:59] Nuck: So I get to decide what I code in. [06:59] Nuck: So I pick Node. [07:00] SubStack: NODE I CHOOSE YOU [07:00] fille: heheh, you using github as your company code repository= [07:00] fille: Node choose people not people [07:00] Nuck: SubStack: Node is something like a bee pokemon now [07:00] systemfault: NODE said "go to hell", not enough badges [07:00] Nuck: What with that hive logo [07:01] devaholic: substack: done [07:01] SubStack: rawk [07:01] devaholic: i'm gaining klout in nuclear [07:01] devaholic: have a k for me? [07:01] captain_morgan has joined the channel [07:01] devaholic: heh [07:02] Nuck: I joined klout, though it still seems silly to me. [07:02] Nuck: And it seems overcomplicated. [07:02] Nuck: Reminds me of the Reddit UI. [07:02] Murvin: so, anyone have idea what rendering engine I should use for less memory usage? [07:02] Nuck: That UI that nobody except those who'd been there since the beginning understands [07:02] Nuck: Murvin: WAT [07:02] Nuck: Rendering engine? [07:02] Nuck: You mean template engine? [07:03] Murvin: Nuck: like node-jqtpl, jade..etc [07:03] devaholic: klout doesnt remind me of reddit at all [07:03] Murvin: yes [07:03] Nuck: Oh, yeah a template engine. [07:03] Nuck: Murvin: Moot point, pick whatever looks cool to you. [07:03] fille: i like the jade thing [07:03] Nuck: They're all the same, really. [07:03] Nuck: Kinda like black people /troll [07:04] felixge has joined the channel [07:04] felixge has joined the channel [07:04] Murvin: so, i am using jqtpl now. but my dinousaur coworker complains that it takes too much memory under load testing. [07:04] kmox83 has joined the channel [07:04] Murvin: I'm not sure it is express or template engine problem. should I enable cache on view? [07:05] fille: ohh pearl jam :D [07:05] Murvin: Nuck: is jade faster and use less memory? [07:05] Nuck: Murvin: Uh, jqtpl sounds awful [07:05] Nuck: Pick one of the others [07:06] Nuck: I hear jQuery Templates suck [07:06] galaxywatcher has joined the channel [07:06] Murvin: ok. [07:06] Murvin: but this is the closest to normal html. [07:06] Nuck: Murvin: Try EJS [07:06] Murvin: ok. [07:06] Nuck: It's HTML with JS embedded in it [07:06] fille: i love the jade engine, intedent [07:06] christophsturm has joined the channel [07:07] Murvin: is there a difference in terms of memory usage when enable cache on view? [07:07] mikey_p: ejs is pretty much how template language should work [07:07] futuredarrell has joined the channel [07:07] Nuck: Murvin: It's always cached. [07:07] Murvin: Nuck: e.g. app.enabled('view cache'); [07:07] Murvin: hmm ok [07:08] Murvin: ok. i will give ejs a try [07:08] Nuck: mikey_p: I agree. [07:08] Nuck: EJS is unobtrusive and doesn't require learning another language. [07:12] PeterPeterPeter has joined the channel [07:12] PeterPeterPeter: hello [07:16] teemow has joined the channel [07:17] NetRoY has joined the channel [07:18] versicolor has joined the channel [07:18] AAA_awright_ has joined the channel [07:19] robtmr has joined the channel [07:19] eldios has joined the channel [07:20] steffan_ has joined the channel [07:21] jvduf has joined the channel [07:22] herbySk has joined the channel [07:27] narayan82 has joined the channel [07:27] zilch has joined the channel [07:30] iFire has joined the channel [07:31] cryptix has joined the channel [07:31] jasonHulme has left the channel [07:32] genni_ has joined the channel [07:32] genni_: salve [07:32] genni_: !list [07:33] tuhoojabotti: :u [07:33] markwubben has joined the channel [07:33] tisba has joined the channel [07:33] PeterPeterPeter: hello [07:33] bergie has joined the channel [07:34] genni_ has left the channel [07:34] tuhoojabotti: Hey Peter. [07:34] altamic has joined the channel [07:34] [AD]Turbo has joined the channel [07:34] altamic has joined the channel [07:34] genni_ has joined the channel [07:35] genni_: salve [07:35] PeterPeterPeter: salve [07:35] PeterPeterPeter: can someone give me feedback on my nodejs project [07:35] genni_ has left the channel [07:36] JakeyChan has joined the channel [07:36] StepanKuzmin has joined the channel [07:40] daglees has joined the channel [07:40] daglees has joined the channel [07:46] [AD]Turbo: hi there [07:46] PeterPeterPeter: hi [07:48] robhawkes has joined the channel [07:49] ShreeKavi has joined the channel [07:50] mikedeboer has joined the channel [07:50] vikstrous has joined the channel [07:51] RushPL has joined the channel [07:52] adrianmg has joined the channel [07:53] saurabhverma has joined the channel [07:53] empt has left the channel [07:54] romanb has joined the channel [07:54] Druide_ has joined the channel [07:55] sandstrom_ has joined the channel [07:55] sandstrom_ has joined the channel [07:56] jbpros has joined the channel [07:56] HelloWorld: how rto see incoming data with firebug or something using socket.io? [07:57] SubStack: HelloWorld: sock.on('message', function (data) { console.log(data) }) [07:58] HelloWorld: ahh thats] [07:58] baudehlo has joined the channel [07:58] mendel_ has joined the channel [07:58] vikstrous has joined the channel [07:58] HelloWorld: i can use that in the client side yeah substack? [07:58] SubStack: yeah or something like that [08:01] jomoho has joined the channel [08:05] thermal has joined the channel [08:05] flazz has joined the channel [08:05] ccare has joined the channel [08:05] vinc has joined the channel [08:06] meso_ has joined the channel [08:06] whitman has joined the channel [08:06] secoif has joined the channel [08:06] Yoric has joined the channel [08:07] hwinkel has joined the channel [08:10] Aiden has joined the channel [08:16] slickplaid has joined the channel [08:17] guidocalvano has joined the channel [08:17] rook2pawn has joined the channel [08:17] alessioalex has joined the channel [08:18] Kami_ has joined the channel [08:20] niklasfi has joined the channel [08:21] PeterPeterPeter has left the channel [08:21] vikstrous has joined the channel [08:21] niklasfi has left the channel [08:21] mikedeboer has joined the channel [08:23] ambroff has joined the channel [08:24] zilch: Hi Everybody , i am using req.connection.remoteAddress to get the IP address of the client when the HTTP is used as protocol, while doing same for HTTPS didn't worked [08:25] zilch: I could see that for HTTPS, I need to do req.connection.socket.remoteAddress !! Pretty fine with me !! [08:25] mendel_ has joined the channel [08:25] zilch: My question is, if this is the surest way to get the IP address of the request originator or client ? [08:26] zilch: and how do i know if my code is serving and HTTP request or HTTPS request ? [08:26] zilch: I need to know it using req object itself !!! [08:29] tbassetto has joined the channel [08:29] ablomen has joined the channel [08:29] AAA_awright_ has joined the channel [08:30] steffan_ has joined the channel [08:30] industrial: Right now I'm using Supervisor to restart my node process during development. [08:31] industrial: I want to be able to make it STOP instead of loop and flood my terminal endlessly every time I make a mistake. [08:31] industrial: I just need the error once. [08:31] industrial: then, I save the file again and it tries again. once. [08:31] zilch has joined the channel [08:31] industrial: Can this be done? [08:31] yozgrahame has joined the channel [08:31] Prometheus: industrial: why not use something like nodemon? [08:31] Prometheus: if development is local :) [08:31] zilch: I could browse through the entire list of object hash under req.connection .. [08:32] andree has joined the channel [08:32] zilch: but I am not sure that which would definately tell me regarding the HTTP or HTTPS !! [08:32] industrial: I looked at Forever but didn't see options that could do what I want. [08:32] eldios has joined the channel [08:33] industrial: Prometheus: that does prettymuch the same thing as SUpervisor and Forever [08:33] Prometheus: industrial: except it restarts automagically on file changes [08:33] Prometheus: (if you so choose) [08:34] industrial: thats what supervisor and forever do. [08:34] industrial: restart the server for me [08:35] industrial: I just need it to stop restarting ti endlessly when theres an error [08:35] industrial: because thats just silly [08:36] Prometheus: I didn't know supervisor would automagically restart your server for you when code changed :o [08:37] smtlaissezfaire_ has joined the channel [08:38] zippy has joined the channel [08:38] markwubben has joined the channel [08:38] zippy: I was wondering if the node.js exe on windows will eventually contain npm [08:39] zippy: Anybody know? [08:39] welly has joined the channel [08:39] welly has joined the channel [08:39] ryah: zippy: it probably wont contain npm [08:39] tuhoojabotti: Yeah. [08:39] TomY has joined the channel [08:39] tuhoojabotti: npm.exe different ;) [08:39] ryah: zippy: but we'll probably distribute an msi at some point with npm and node.exe [08:40] alessioalex: great news ryah [08:40] zippy: sounds like a good option [08:40] alessioalex: yeah, just for dev purposes [08:40] ryah: at the moment our windows support is pretty alpha - still a lot of work to do [08:40] zippy: i know this is unlikely but any ideas when [08:41] ryah: zilch: i'd guess 3 months [08:41] kulor-uk has joined the channel [08:41] zippy: ok cool [08:41] zippy: keep up the good work! [08:41] alessioalex: ryah besides Palm are there other mobile companies that use/will use Node.js on their phones? [08:41] NetRoY has joined the channel [08:41] tuhoojabotti: Who uses Windows anyways ;) [08:41] tuhoojabotti: I want node for Android :D [08:41] zippy: unfortunately, my company! [08:42] tuhoojabotti: :E [08:42] alessioalex: ? [08:42] stalled has joined the channel [08:42] Prometheus: I heard HTC ain't liking that patent infringement they are doing [08:42] alessioalex: :-< [08:42] Prometheus: rather, Apple ain't liking that parent infringement android phones are doing :P [08:42] zippy: why would you want node on mobiles? [08:43] Prometheus: so you can thoroughly break shit? [08:43] alessioalex: for a lot of reasons [08:43] ryah: alessioalex: not yet [08:43] zippy: any examples? [08:43] alessioalex: Node is event driven, uses less memory [08:43] alessioalex: it's more efficient [08:43] Prometheus: zippy: run your node hello world server benchmarks off your phone? [08:43] ryah: node works well for GUIs [08:43] Prometheus: :P [08:43] alessioalex: It can help your battery even [08:44] jesusabdullah: because a phone that uses node is FUCKING BADASS THATS WHY [08:44] zippy: but isnt it server based [08:44] blueadept has joined the channel [08:44] Prometheus: jesusabdullah: awesome selling point don't you think [08:44] jesusabdullah: Fuck yeah [08:44] __doc__ has joined the channel [08:44] Prometheus: Android 4.0, now with node.js :) [08:45] alessioalex: That would be the best thing ever :) [08:45] jesusabdullah: I was actually considering getting a palm phone because of its hackability wrt node [08:45] zippy: give me an example of an app that would use node [08:45] alessioalex: yeah, how are palm phones btw? [08:45] Prometheus: I heard not very good :/ [08:45] Prometheus: but.. I'm getting my brother that TouchPad thing [08:45] Prometheus: so he can hack away in Node and do some fancy drawing stuff [08:45] mc_greeny has joined the channel [08:45] robhawkes has joined the channel [08:45] Prometheus: or whatever he's working on [08:46] sylvinus has joined the channel [08:46] jesusabdullah: zippy: Name ANY app. [08:46] Prometheus: pong [08:46] jesusabdullah: That's right, it's turing complete [08:46] zippy: shazam [08:46] jesusabdullah: wth is shazam? [08:46] jesusabdullah: either way, you could write it in node [08:46] Prometheus: it captures sound and then figures out what song it was "hearing" [08:47] zippy: but that would sit on a web server or something not on the phone [08:47] Prometheus: zippy: why the client wouldn't [08:47] Prometheus: it would be on the phone :) [08:47] jesusabdullah: That's right1 [08:47] jesusabdullah: ! [08:47] CIA-107: node: 03Ryan Dahl 07master * r0a3fc1d 10/ (lib/fs.js src/node_stat_watcher.cc src/node_stat_watcher.h): Remove StatWatcher's dep on C++ EventEmitter - http://bit.ly/o92bbV [08:47] CIA-107: node: 03Ryan Dahl 07master * r4ef8f06 10/ (10 files in 3 dirs): Finally remove node::EventEmitter - http://bit.ly/o2WStY [08:47] alessioalex: zippy in your logic that means that JavaScript isn't for the server side no? [08:48] Aiden_ has joined the channel [08:48] zippy: i see what your saying but that would be a lot of processing in some apps [08:48] jesusabdullah: node.js is general purpose, remember. It's not just for web apps, even though it works well for them. [08:48] jesusabdullah: node actually rocks face for systems programming [08:48] zippy: im pretty sure shazam doesnt do all its processing on the device [08:48] Prometheus: zippy: nothing's stopping node from transmitting it to a remote server [08:48] alessioalex: zippy you can make a JS api, just like PhoneGap does [08:49] alessioalex: why write your apps in Java, we should make then in JavaScript with Node [08:49] alessioalex: them * [08:49] Prometheus: jesusabdullah: you've pretty much got it locked down right there, sir [08:49] zippy: not sure Apple will agree :) [08:49] Prometheus: who cares =P [08:49] alessioalex: :P [08:49] sechrist has joined the channel [08:49] alessioalex: yeah [08:49] jesusabdullah: Fuck apple. [08:49] Prometheus: they make your write some obfuscated syntax to make anything [08:49] alessioalex: If Android would embrace Node.js, that would be a new era :P [08:49] Prometheus: it's no fun :) [08:49] zippy: objective c is a tad weird [08:50] Prometheus: every time I sit down with obj-c it makes me want to pull all of the hair out of my head [08:51] mendel__ has joined the channel [08:52] robi42 has joined the channel [08:54] bzinger has joined the channel [08:55] jetienne has joined the channel [08:55] jarek has joined the channel [08:56] jarek has joined the channel [08:58] zilch: how do I know for certainly if the req obhect is part of HTTP request or HTTPS request ? [08:58] zilch: req object* [09:03] StepanKuzmin has joined the channel [09:04] zackattack: Are any socket.io experts here available for consulting work? [09:05] CIA-107: node: 03Ryan Dahl 07master * r061ce7b 10/ lib/net_uv.js : net_uv: Fix simple/test-http-expect-continue.js - http://bit.ly/o1DZiC [09:05] markwubben has joined the channel [09:09] jborst has left the channel [09:09] davidbanham has joined the channel [09:09] blup has joined the channel [09:11] jetienne: zackattack: ask `3rdEden he is long time contributor [09:11] zackattack: Cool [09:13] rook2pawn has joined the channel [09:14] mendel_: someone with OCR experience here? [09:15] royh: mendel_: perhaps, what's up? [09:16] mendel_: currently using tesseract-ocr, want to hear about commercial alternatives or better way's to integrate tesseract (must be more possible then grayscaling + tiff the image) [09:19] mendel_: royh: ^ [09:20] CIA-107: node: 03Ryan Dahl 07master * r6050af4 10/ (4 files): [09:20] CIA-107: node: net_uv: properly initialize writeQueueSize [09:20] CIA-107: node: Fixes simple/test-tcp-wrap-listen.js - http://bit.ly/qEJtwj [09:21] mehlah has joined the channel [09:22] flybyme has joined the channel [09:22] mike5w3c has joined the channel [09:23] blup: does anyone know if there's a sort of inverse bitly api? so i can have a scraper go to the correct link.. [09:25] mendel_: blup: https://github.com/Swizec/node-unshortener [09:25] jetienne: blup: those url shortener use http redirect, query the url and keep the Location: on the 300 [09:25] __tosh has joined the channel [09:26] jetienne: https://github.com/Swizec/node-unshortener/blob/master/lib/unshortener.js#L166 it appears to do that [09:26] andrewfff has joined the channel [09:26] jetienne: but it does other things i dont undersdtand... [09:27] jetienne: maybe my url shorterner knowledge is naive :) [09:27] djcoin has joined the channel [09:29] maru_cc_ has joined the channel [09:30] radiodario has joined the channel [09:30] markwubben has joined the channel [09:30] jetienne: the others are using the actual api [09:31] blup: thanks mendel_ [09:31] jetienne: curl -I http://bit.ly/qEJtwj | grep Location [09:31] blup: and jetienne :) [09:32] royh: mendel_: what's your budget? [09:32] jetienne: it does work on bit.ly, i remeber reddit not doing it, and it created issues because it broke the ranking in search engine [09:32] mange has joined the channel [09:33] mendel_: royh: not in the budget stage yet, first have to find the best way (best results).. from there going down [09:33] blup: ACTION looking at the node-unshortener code [09:36] fayce has joined the channel [09:36] Squax has joined the channel [09:37] aliem has joined the channel [09:40] smtlaissezfaire has joined the channel [09:40] jokil has joined the channel [09:40] sridatta has joined the channel [09:41] CIA-107: libuv: 03Ryan Dahl 07master * rd4563a1 10/ (src/uv-unix.c test/test-bind-error.c test/test-list.h): Allow and test for lazy uv_tcp_listen - http://bit.ly/qmbvzP [09:41] fly-away has joined the channel [09:43] AAA_awright has joined the channel [09:45] ShreeKavi has joined the channel [09:48] eldios: anyone looking for team members for node_knockout? [09:49] jakehow has joined the channel [09:49] paul_k has joined the channel [09:49] markwubben has joined the channel [09:49] CIA-107: node: 03Ryan Dahl 07master * r62f7c79 10/ (14 files in 7 dirs): Upgrade libuv to d4563a1 - http://bit.ly/oYhChp [09:50] CIA-107: node: 03Ryan Dahl 07master * r87d974b 10/ (14 files): complete upgrade - http://bit.ly/qAWfLp [09:51] jborst has joined the channel [09:52] hellp has joined the channel [09:55] smtlaissezfaire has joined the channel [09:56] zilch has joined the channel [10:00] adrianmg has left the channel [10:01] HelloWorld: where is send function located? which file? [10:01] adrianmg has joined the channel [10:02] fermion has joined the channel [10:02] adrianmg has left the channel [10:03] zilch has joined the channel [10:03] SamuraiJack_ has joined the channel [10:05] zilch has joined the channel [10:05] the_angry_angel has joined the channel [10:06] tsenga has joined the channel [10:07] the_angry_angel: good morning/afternoon/evening gents and ladies. i wonder if you can help me. I'm having a really dumb problem and I suspect it's me. I've npm installed commonjs-utils, but require() calls fail, regardless of how i do it. other modules i've npm install'ed work fine.. am I being a complete pillock and missing something obvious, or is it a known problem with commonjs-utils? [10:07] zilch has joined the channel [10:10] the_angry_angel: nevermind. i was being dumb. it seems npm pulls in a really old version of the module for me [10:13] zilch has joined the channel [10:14] smtlaissezfaire has joined the channel [10:14] the_angry_angel has left the channel [10:15] zilch has joined the channel [10:19] zilch has joined the channel [10:20] gausby has joined the channel [10:21] zilch has joined the channel [10:21] micheil has joined the channel [10:22] rook2pawn has joined the channel [10:23] zilch has joined the channel [10:24] zilch has joined the channel [10:27] zilch has joined the channel [10:29] JakeyChan has joined the channel [10:35] springify has joined the channel [10:36] Bwen has joined the channel [10:38] StepanKuzmin has joined the channel [10:39] boehm has joined the channel [10:40] jasonh has joined the channel [10:41] vikstrous has joined the channel [10:42] Swizec has joined the channel [10:43] xerox has joined the channel [10:43] smtlaissezfaire has joined the channel [10:45] zilch has joined the channel [10:46] HelloWorld: how to connect to a nodejs server though telnet? and login? [10:49] devaholic: heh [10:49] pickels has joined the channel [10:49] FireFly has joined the channel [10:50] ablomen: HelloWorld, telnet to the ip and the port, and then make sure you have a script that handles login via simple commands? [10:50] ablomen: that's something you'll have to do [10:50] teemow has joined the channel [10:50] __doc__ has joined the channel [10:51] devaholic: helloworld: use github [10:52] devaholic: and also, probably ssh instead of telnet [10:53] devaholic: https://github.com/substack/node-ssh [10:53] andrewff1 has joined the channel [10:54] SubStack: ^ doesn't work [10:54] Nuck: ssh is awesome [10:54] Nexxy has joined the channel [10:54] SubStack: it is :( [10:54] Nuck: SubStack: Really? [10:54] Nuck: Why is ir borked? [10:54] SubStack: thread model [10:54] SubStack: c++ modules are hard [10:55] Nuck: Why has nobody tried to implement SSH in Node itself? [10:55] SubStack: I also tried that [10:55] SubStack: very hard [10:57] andrewfff has joined the channel [10:58] blueadept has joined the channel [10:59] ablomen has left the channel [10:59] devaholic: aye [10:59] ablomen has joined the channel [10:59] devaholic: i bet that pinged you when i pasted your link :> [10:59] Nuck: devaholicpong. [10:59] devaholic: here's an even simpler ssh [10:59] devaholic: https://github.com/tblobaum/NodeSSH [11:00] SubStack: >_< [11:01] devaholic: probrem? [11:01] ablomen: devaholic, its a client.. [11:01] smtlaissezfaire has joined the channel [11:01] ablomen: *a wrapper around the client actually [11:02] devaholic: point? [11:02] indutny has joined the channel [11:02] indutny has left the channel [11:03] ablomen: well if i did not miss something in my short disconnect the idea was an ssh (server) implementation in node [11:03] zilch has joined the channel [11:03] devaholic: no it wasnt [11:04] devaholic: this link is for helloworld [11:04] devaholic: his english is bad, pretty sure this is what he wants [11:05] springify has joined the channel [11:05] roman___ has joined the channel [11:05] zilch has joined the channel [11:06] eldios: anyone knows where to get some nice CC cursors? [11:06] SubStack: I'm pretty good at cursing [11:06] SubStack: I know most of the swears [11:07] eldios: lulz [11:07] zilch has joined the channel [11:07] HelloWorld: anyone know how to make a json object in tcl? [11:08] ablomen: HelloWorld, on json.org are links to libs in all kinds of languages [11:08] devaholic: helloworld do you use telnet a lot? [11:10] fairwinds has joined the channel [11:11] materialdesigner has joined the channel [11:11] jbpros has joined the channel [11:15] paulwe has joined the channel [11:17] springify has joined the channel [11:25] zilch has joined the channel [11:28] zilch has joined the channel [11:28] markwubben has joined the channel [11:29] widefoot__ has joined the channel [11:29] HelloWorld: telnet is the new in thing! [11:29] HelloWorld: nah, i just wanted to see how the data flow raw [11:29] agnat has joined the channel [11:30] eldios: I prefer nc over telnet anyway [11:30] eldios: weh possible [11:30] eldios: when possible [11:30] zilch has joined the channel [11:32] zilch has joined the channel [11:32] ccare has joined the channel [11:33] seawise has joined the channel [11:35] andrewfff has joined the channel [11:35] zilch has joined the channel [11:36] pomodoro has joined the channel [11:36] bnoordhuis has joined the channel [11:38] zilch has joined the channel [11:38] eventual- has joined the channel [11:41] aliem has joined the channel [11:42] zilch has joined the channel [11:43] brianseeders has joined the channel [11:43] springify has joined the channel [11:44] zilch has joined the channel [11:47] zilch has joined the channel [11:48] fcambus has joined the channel [11:50] zilch has joined the channel [11:53] zilch has joined the channel [11:54] zackattack has joined the channel [11:55] zilch has joined the channel [11:55] fg3 has joined the channel [11:55] kkaefer: does node do any longjmps internally? [11:55] Abbaduxo has joined the channel [11:56] fg3 has joined the channel [11:58] Abbaduxo has joined the channel [12:01] asdfsafdsa: has anyone made a rar module? [12:02] sonnym has joined the channel [12:03] CIA-107: libuv: 03Ben Noordhuis 07master * rc0d4669 10/ src/uv-unix.c : uv-unix: fix 'implicit declaration of function ‘accept4’' - http://bit.ly/nhT0EM [12:03] CIA-107: libuv: 03Ben Noordhuis 07master * r7cc5279 10/ src/uv-common.c : uv-common: fix 'initialization discards qualifiers from pointer target type' - http://bit.ly/rmCp1l [12:03] CIA-107: libuv: 03Ben Noordhuis 07master * rc2ad51e 10/ test/test-bind-error.c : test-bind-error: fix 'control reaches end of non-void function' - http://bit.ly/n5paLI [12:03] CIA-107: libuv: 03Ben Noordhuis 07master * r3207f8a 10/ src/uv-unix.c : uv-unix: fix 'passing argument 1 of ‘uv__stream_open’ from incompatible pointer type' - http://bit.ly/odk4rn [12:03] bnoordhuis: kkaefer: no [12:03] kkaefer: bnoordhuis: hm, ok... [12:03] kkaefer: I'm debugging a really weird error and I think it's related to setjmp/longjmp [12:04] bnoordhuis: kkaefer: what's the error? [12:04] adrianmg has joined the channel [12:04] kkaefer: basically what happens is that libpng uses them for error handling [12:04] jtrudeau has joined the channel [12:04] kkaefer: so when an error occurs it performs a longjmp [12:04] kkaefer: that works just fine [12:04] kkaefer: however, when I use child_process.exec() *after* that, node hangs infinitely [12:04] kkaefer: I'm still trying to reduce the test case [12:05] kkaefer: and I can only quit by killing it with -9 [12:05] bnoordhuis: kkaefer: you're doing exec after returning from longjmp()? [12:05] kkaefer: yes [12:05] kkaefer: I'm still working on reducing the test case [12:05] kkaefer: not entirely sure that that's it [12:06] Abbaduxo has joined the channel [12:07] arnee has joined the channel [12:07] bnoordhuis: kkaefer: longjmp() clobbers local variables, right? [12:07] bnoordhuis: unless declared as volatile [12:07] bnoordhuis: so you're in a mostly unknown state when longjmp() returns [12:08] kkaefer: all I do after it is return [12:09] bnoordhuis: kkaefer: can you post the code? [12:09] kkaefer: sec... [12:10] kkaefer: it's in a more complex module and I first want to make sure that this is in fact what's happening [12:11] ShreeKavi has left the channel [12:11] davidbanham has joined the channel [12:11] Abbaduxo has joined the channel [12:12] davidvanleeuwen has joined the channel [12:13] zilch has joined the channel [12:13] abraxas has joined the channel [12:14] Abbaduxo has joined the channel [12:15] igl1 has joined the channel [12:15] smtlaissezfaire has joined the channel [12:17] Abbaduxo has joined the channel [12:17] bayousoft has joined the channel [12:20] mehtryx has joined the channel [12:21] infynyxx has joined the channel [12:21] infynyxx has left the channel [12:21] kkaefer: bnoordhuis: git://github.com/kkaefer/child_process_hang.git [12:22] kkaefer: or https://github.com/kkaefer/child_process_hang [12:22] kkaefer: run index.js and it'll echo "blend returned" [12:22] kkaefer: but it'll hang on exec() [12:23] bnoordhuis: kkaefer: ../src/reader.cc:121: error: �jpeg_mem_src� was not declared in this scope [12:23] bnoordhuis: i have libjpeg-dev installed btw [12:23] JoshC1 has joined the channel [12:24] tisba has joined the channel [12:24] kkaefer: yeah... most libjpegs are hopelessly out of date... [12:24] kkaefer: it doesn't do any jpeg stuff though... let me rip it out [12:24] mange has joined the channel [12:26] xtianw has joined the channel [12:28] FireFly has joined the channel [12:28] Aiden has joined the channel [12:28] Renegade001 has joined the channel [12:29] kriszyp has joined the channel [12:30] huskyr has joined the channel [12:30] kkaefer: bnoordhuis: removed libjpeg [12:31] zilch has joined the channel [12:32] bnoordhuis: kkaefer: seems to WFM - the callback is called with stdout="foo\n" [12:32] bnoordhuis: kkaefer: is this with master or 0.4.9? [12:32] kkaefer: dang :/ [12:32] kkaefer: 0.4.9 [12:32] kkaefer: what operating system are you on? [12:32] bnoordhuis: right, i'm testing with master :) [12:32] bnoordhuis: linux [12:33] kkaefer: ok, let me test with master [12:33] akiva: nodemon started acting bonkers, crashing at every page reload, then npm dies... :S [12:33] akiva: Even Brew is dead [12:34] zilch has joined the channel [12:34] akiva: My computer is rebelling! [12:34] ngs has joined the channel [12:34] sivy has joined the channel [12:36] kulor-uk has joined the channel [12:36] smtlaissezfaire has joined the channel [12:36] zilch has joined the channel [12:38] fyskij has joined the channel [12:38] zilch has joined the channel [12:39] fumanchu182 has joined the channel [12:39] akshatj has joined the channel [12:41] kkaefer: bnoordhuis: segfaults for me on master [12:41] bnoordhuis: kkaefer: what linux distro and what arch? [12:41] kkaefer: mac os x 10.6 [12:41] bnoordhuis: ah, mac os x... [12:41] kkaefer: node itself doesn't segfault [12:42] kkaefer: but running index.js with the compiled addon [12:42] kkaefer: ah wait [12:42] kkaefer: now it works [12:43] kulor-uk has joined the channel [12:43] kkaefer: however [12:43] jtsnow has joined the channel [12:43] kkaefer: exec() still hangs [12:43] bnoordhuis: kkaefer: you're at node master 87d974b? [12:43] kkaefer: exactly that rev [12:43] kkaefer: ~/Code/node/child_process_hang ▶ node -v [12:43] kkaefer: v0.5.2-pre [12:43] kkaefer: ~/Code/node/child_process_hang ▶ node index.js [12:43] kkaefer: blend returned [12:43] kkaefer: but that's all I get [12:43] kkaefer: have to killall -9 node after that [12:44] kkaefer: it doesn't react to sigint etc [12:44] jetienne has joined the channel [12:44] bnoordhuis: kkaefer: hmm... sounds like an os x specific problem [12:45] bnoordhuis: you don't have a linux machine you can cross-test it on? [12:45] kkaefer: yes, sec [12:45] ditesh|cassini has joined the channel [12:46] kkaefer: yeah, works on there [12:46] kkaefer: oh man :/ [12:47] bnoordhuis: kkaefer: gdb time :) [12:47] ceej has joined the channel [12:48] bnoordhuis: `./configure --debug` <- will make your life a whole lot easier [12:49] kkaefer: I'm a bit unsure about how to debug such a problem though... [12:51] bnoordhuis: kkaefer: `gdb --args node_g yourscript.js` then `run` it [12:51] bnoordhuis: kkaefer: ctrl-c when it hangs (gdb goes to great lengths to keep keyboard input alive) [12:51] bnoordhuis: kkaefer: then `bt` to print the backtrace [12:52] kkaefer: ok... let's see [12:52] kkaefer: thanks [12:52] bnoordhuis: and that's often followed by a lot of head scratching and cursing [12:52] kkaefer: dtrace shows me that it's idling and waiting for pthread semaphores [12:53] bnoordhuis: could be libev [12:53] smtlaissezfaire has joined the channel [12:53] andi5 has joined the channel [12:55] willwhite has joined the channel [12:56] smtlaissezfaire_ has joined the channel [12:56] kkaefer: ctrl-c just prints ^C but doesn't do anything otherwise [12:57] kkaefer: http://i.kkaefer.com/Sample_of_node_g-20110719-145722.png is what I see in activity monitor [12:57] zilch has joined the channel [12:58] CrisO has joined the channel [12:59] versicolor_ has joined the channel [12:59] kkaefer: http://pastebin.com/sT9VSUt7 [13:00] zilch has joined the channel [13:00] kkaefer: bnoordhuis: ^^ [13:00] konobi: tried running `ipcs`? [13:01] albertoelias has joined the channel [13:01] kkaefer: it shows me one semaphore [13:02] CIA-107: libuv: 03Bert Belder 07master * r8c4a097 10/ config-mingw.mk : Windows: make clean deletes object files in src/win - http://bit.ly/nS5hBf [13:02] CIA-107: libuv: 03Bert Belder 07master * r96f2ef6 10/ test/test-getsockname.c : Make test-getsockname compile with msvc - http://bit.ly/mTRFsi [13:02] CIA-107: libuv: 03Bert Belder 07master * rcd0dcce 10/ src/win/pipe.c : Windows: use _strdup instead of strdup - http://bit.ly/rpxRtG [13:02] CIA-107: libuv: 03Bert Belder 07master * r3d2d97d 10/ test/test-hrtime.c : Make test-hrtime a little better - http://bit.ly/q67hHB [13:02] CIA-107: libuv: 03Bert Belder 07master * r86f1ca9 10/ (src/win/error.c src/win/timer.c): Windows: implement uv_hrtime() - http://bit.ly/oHaJTj [13:02] zilch has joined the channel [13:03] albertoelias: Hi, I installed node using the second method of this site: https://gist.github.com/579814 That installed node with v0.5.1 Then I installed n and with that I installed v0.4.9 and v0.5.0. How can I make 0.4.9 the default version when using node? Thanks :) [13:04] Xano has joined the channel [13:04] bnoordhuis: kkaefer: not sure what's going wrong, the main thread (the one that waits for the child process) seems to be sitting idle [13:04] davidsklar has joined the channel [13:04] edude03 has joined the channel [13:05] zilch has joined the channel [13:05] bnoordhuis: kkaefer: try `set follow-fork-mode child` and `set follow-exec-mode new` in gdb [13:05] figital has joined the channel [13:06] kkaefer: set follow-exec-mode new doesn't exist in my gdb [13:06] kkaefer: No symbol "follow" in current context. [13:06] ksheurs has joined the channel [13:08] smtlaissezfaire_ has joined the channel [13:08] bnoordhuis: kkaefer: old gdb, i take it? [13:08] zilch has joined the channel [13:08] kkaefer: GNU gdb 6.3.50-20050815 (Apple version gdb-1518) (Sat Feb 12 02:52:12 UTC 2011) [13:08] sechrist has joined the channel [13:09] cafesofie has joined the channel [13:09] zilch has joined the channel [13:09] bnoordhuis: kkaefer: right, i think follow-fork-mode and follow-exec-mode are 7.0 additions [13:10] bnoordhuis: not sure how to help you [13:10] kkaefer: bnoordhuis: hm, thanks for your help [13:10] kkaefer: the main thread continues running just fine [13:10] kkaefer: but it doesn't react to any ctrl-c [13:11] bnoordhuis: a number of people have reported problems with the console on os x [13:11] bnoordhuis: apparently it doesn't handle stdio in async mode all that well [13:11] bnoordhuis: a couple of people even had kernel panics [13:11] zilch has joined the channel [13:12] albertoelias_ has joined the channel [13:12] albertoelias_: how can i change the node.js version I have installed? [13:12] albertoelias_: I have 0.5.1 but I want to use 0.4.9 [13:12] zilch has joined the channel [13:13] Xano has joined the channel [13:13] wao: do you have nave installed? [13:13] wao: albertoelias_: npm install nave;nave usemain 0.4.9;node -v [13:14] albertoelias_: wao: great! Thanks a lot :) [13:15] thomblake has joined the channel [13:15] jetienne: q. is it possible to overwrite .toString() ? or is there a toJSON() ? [13:16] kofno has joined the channel [13:16] tuhoojabotti: JSON.stringify :u [13:17] jetienne: tuhoojabotti: im aware of this function but it doesnt do the same thing [13:17] tuhoojabotti: I don't know what you want. [13:17] jetienne: tuhoojabotti: i dont think there is a toJSON but im asking just to be sure i dont miss it [13:17] adrianmg has joined the channel [13:17] tuhoojabotti: String.toJSON? [13:18] tuhoojabotti: or wut [13:18] tuhoojabotti: Object.toJSON [13:18] tuhoojabotti: :D [13:18] jetienne: ok i will keep assuming it doesnt exist :) [13:19] tuhoojabotti: Yes, do that. [13:19] jetienne: tuhoojabotti: thanks [13:19] gxdssoft has joined the channel [13:20] tuhoojabotti: Object.prototype.toJSON = function () {return JSON.stringify(this);} [13:20] tuhoojabotti: :D [13:21] chjj: terrible idea [13:21] tuhoojabotti: I know. [13:21] john____ has joined the channel [13:21] eldios: even the idea knows that it's terrible but it doesn't complain [13:21] john____: hello--is it possible to open a stream un- or line-buffered? [13:22] john____: in node.js that is... :) [13:22] john____: I know how to use setvbuf in C... [13:22] Squax has joined the channel [13:23] john____: searching the Internet had no effect [13:23] bnoordhuis: john____: fs.open() and fs.read()? [13:23] john____: bnoordhuis: ok, thanks [13:23] bnoordhuis: john____: fs.ReadStream doesn't buffer input either [13:24] jetienne: isnt there a policy like "no buffering" in node ? [13:24] chjj: let me go check the official polices, 1 sec [13:24] john____: the problem at hand: i spawn a childprocess and ondata I write to process.stdout [13:24] bnoordhuis: jetienne: not quite - network i/o for example buffers outgoing data [13:24] john____: that seems to buffer for me [13:25] jetienne: bnoordhuis: in node itself ? or in kernel ? [13:25] bnoordhuis: john____: no, it means you wait for stdout to become writable [13:25] bnoordhuis: jetienne: in node itself [13:25] jetienne: bnoordhuis: ok thanks [13:25] exa has joined the channel [13:25] bnoordhuis: jetienne: but only if the socket isn't writable right then [13:25] john____: bnoordhuis: how do i prevent that? [13:26] bnoordhuis: john____: you don't - why would you? [13:26] muhqu has joined the channel [13:26] john____: because I need the output as it flows out of the child process [13:26] john____: and that comes out line-wise [13:27] jetienne: bnoordhuis: do you know why ? it could just fails the write and report to the js, no ? [13:27] bnoordhuis: john____: it's the child process that's doing the buffering [13:27] bnoordhuis: jetienne: makes it easier for developers [13:27] chjj: jetienne, it does report it [13:27] chjj: .write will return false [13:27] JJMalina has joined the channel [13:27] john____: huh... ok, well.. I've to check that then... [13:28] john____: bnoordhuis: thank you [13:28] bnoordhuis: john____: my pleasure [13:28] jetienne: hmm something is wrong somzhere :) may be my head [13:28] jetienne: chjj: so it return false if the write fails but still buffer it for future send() ? [13:28] eldios: anyone using includes in jade? [13:29] chjj: .write() returns false if the data was buffered [13:29] chjj: true if the data was flushed to the socket successfully [13:29] Corren has joined the channel [13:29] jetienne: chjj: ok thanks [13:29] jetienne: it makes sense now [13:30] rwaldron has joined the channel [13:30] zilch has joined the channel [13:31] aheckmann has joined the channel [13:32] Xeon06_ has joined the channel [13:32] smolyn has joined the channel [13:32] Xeon06_: Node is awesome. That is all, I needed to get it out. [13:32] chjj: ACTION agrees [13:32] eldios: ACTION nods [13:33] tuhoojabotti: ACTION hides [13:33] Xeon06_: Just seeing this list https://github.com/joyent/node/wiki/modules makes me drool and realize that it's getting extremely big [13:33] zilch has joined the channel [13:33] eldios: ACTION points where tuhoojabotti is hidden [13:33] tuhoojabotti: Eep! [13:33] rpflo has joined the channel [13:34] eldios: Xeon06_, that sounded a bit porn-ish =) [13:34] Xeon06_: eldios: What doesn't? [13:35] eldios: :/ you're right [13:35] Sembiance: morning :) [13:35] zilch has joined the channel [13:37] eldios: awww... why tj is not here when I need him! :( [13:37] eldios: include not working in jade :( [13:39] jetienne: what is the value of 'this' when im not in a funciton ? it just return {} [13:39] bnoordhuis: jetienne: this === global [13:39] bnoordhuis: we need v8bot back [13:40] xerox: .. -~!true [13:40] catb0t: 131 [13:40] xerox: not the same? [13:40] bnoordhuis: .. this === global [13:40] catb0t: ReferenceError: global is not defined [13:40] jetienne: bnoordhuis: hmm sure ? console.dir(global) return a lot. console.dir(this) only {} [13:40] bnoordhuis: s/v8bot/nodebot/ ! [13:40] bnoordhuis: jetienne: it's true in the console [13:40] jetienne: but not in a .js ? [13:41] bnoordhuis: jetienne: no - i think this === current context there [13:42] jetienne: bnoordhuis: which context ? a kinda vm context ? [13:42] xtianw has joined the channel [13:43] jetienne: in fact my real question is much simpler. i want a simple way to export in module, and still be browser compatible [13:43] jetienne: if( typeof module !== "undefined" && ('exports' in module)) module.exports = Track; <- this is my current solution [13:44] xtianw has joined the channel [13:44] jetienne: rather ugly. im looking for a nicer way. and i noticed people doing ;(function(exports){ ... })(this); [13:44] jetienne: so i wondered if this was like export :) [13:44] bnoordhuis: jetienne: i use the typeof approach myself [13:45] bnoordhuis: explicit > implicit and all that [13:45] jetienne: bnoordhuis: ok good enougth for me then :) [13:46] huskyr: hi everyone [13:46] huskyr: is there's something i'm missing or do console.log's not work in modules? [13:46] tuhoojabotti: Should. [13:46] jshaw has joined the channel [13:46] tuhoojabotti: I guess :D [13:46] jetienne: huskyr: you are missing something :) [13:46] tuhoojabotti: Yeah. [13:46] huskyr: hmm [13:47] huskyr: i'll guess there's something else missing in my module then :) [13:48] bnoordhuis: huskyr: try console.error() - console.log() doesn't flush after printing [13:48] jetienne: serious ? even after \n ? [13:48] huskyr: bnoordhuis: that didn't do the trick [13:48] bnoordhuis: jetienne: i never jest [13:49] huskyr: i have a feeling the bug is somewhere else [13:49] bnoordhuis: well, almost never [13:49] bnoordhuis: huskyr: gist or pastie your code [13:49] ditesh|cassini has joined the channel [13:50] gqlewis_ has joined the channel [13:51] broofa has joined the channel [13:51] jetienne has joined the channel [13:52] herbySk has joined the channel [13:52] jasong_at_apache has joined the channel [13:52] pifantastic has joined the channel [13:53] huskyr: bnoordhuis: https://github.com/hay/backuptweets [13:53] huskyr: the local example.js works perfectly [13:53] huskyr: but when i try it as a module using npm for some reason it doesn't work [13:53] huskyr: the callback comes back right away [13:54] bnoordhuis: huskyr: a condensed test case would help [13:54] zilch has joined the channel [13:54] bnoordhuis: no offense but i don't have time to read to 100s of lines of code [13:54] huskyr: haha [13:54] bnoordhuis: *through [13:54] huskyr: sure :) [13:54] jetienne: huskyr: put a console.log at the begining of init() [13:54] matbee: bnoordhuis, well you're no help ;) [13:55] jetienne: huskyr: this one should show [13:55] huskyr: jetienne: yup, it does [13:56] huskyr: right, at least that gives me some more possibilities to debug [13:56] huskyr: thanks [13:56] jetienne: huskyr: so the error isnt in the console.log :) track down the issue with more console.log [13:56] huskyr: yeah, exactly [13:57] adambeynon has joined the channel [13:57] huskyr: ah yes, found the bug [13:58] huskyr: Math.floor(<1) gives 0 obviously [13:58] huskyr: oh well [13:58] CoinOpeBoy has joined the channel [13:59] smtlaissezfaire_ has joined the channel [14:00] mattcodes has joined the channel [14:00] mattcodes: join #couchdb [14:00] fangel has joined the channel [14:03] Abbaduxo has joined the channel [14:06] hdon has joined the channel [14:06] Abbaduxo has joined the channel [14:07] explodes has joined the channel [14:09] msilverman2 has joined the channel [14:09] alex__ has joined the channel [14:10] alex__: hi .... [14:11] robtmr has joined the channel [14:11] geetarista has joined the channel [14:12] Abbaduxo has joined the channel [14:12] zilch has joined the channel [14:14] sbisbee has joined the channel [14:14] jetienne: hi [14:14] brianc has joined the channel [14:15] zilch has joined the channel [14:15] abraham has joined the channel [14:15] explodes: hi! [14:16] clyfe has joined the channel [14:16] explodes: So in node.js, is it ok that every time a request somewhere is sent, a new connection is created, or should the developer consider reusing a connection? [14:17] zilch has joined the channel [14:17] msilverman2: morning, all. Anyone know of a way to use mongo replica sets with mongoskin? [14:18] vipaca has joined the channel [14:19] brolin has joined the channel [14:19] msilverman2: explodes: Are you talking about HTTP connections or DB connections? express handles HTTP connections very well and a new connection is created for each request, but it's super fast. It is common to open a single database connection and reuse it throughout the code. [14:20] devrim has joined the channel [14:21] saurabhverma has joined the channel [14:23] adrianmg has joined the channel [14:23] daveluke has joined the channel [14:24] daveluke has joined the channel [14:25] c4milo: msilverman2: I have you ever test the difference? [14:26] c4milo: msilverman2: a new db connection per request vs to have a pool of connections already opened [14:26] RORgasm has joined the channel [14:26] hebz0rl has joined the channel [14:27] explodes: msilverman2: I am setting up an HTTP server, handled by express. The DB connection, imo, should could be created once per request and reused throughout all middleware and views. [14:27] jerrysv has joined the channel [14:27] NetRoY has joined the channel [14:28] msilverman2: explodes, c4milo: The general wisdom in node is to reuse a single db connection. While I have not done exhaustive testing, our application is extremely fast. We have never had database performance issues, either with postgres or mongo. [14:29] seb_m has joined the channel [14:29] rwbaskette has joined the channel [14:29] c4milo: msilverman2: got it [14:29] seb_m_ has joined the channel [14:30] boaz has joined the channel [14:31] Poetro has joined the channel [14:31] Poetro has joined the channel [14:31] alnewkirk has joined the channel [14:32] softdrink has joined the channel [14:33] amaudy has joined the channel [14:33] EyePulp has joined the channel [14:33] digitaltoad has joined the channel [14:36] zilch has joined the channel [14:36] yhahn has joined the channel [14:36] pibi has joined the channel [14:36] zilch has joined the channel [14:38] zilch has joined the channel [14:38] sjbreen has joined the channel [14:38] pandeiro has joined the channel [14:38] zilch has joined the channel [14:39] cypres has joined the channel [14:39] gxdssoft has joined the channel [14:39] sixtus42 has joined the channel [14:39] eee_c has joined the channel [14:40] cypres: Hi! Anyone got node.js working on FreeBSD 8.2 amd64? I tried following a build guide from superuser.com, got it compiled fine, but when i start node it just hangs [14:40] malkomalko has joined the channel [14:40] pibi has left the channel [14:42] bnoordhuis: cypres: it works - more or less [14:42] bnoordhuis: cypres: what version of node? [14:42] cypres: bnoordhuis, nice to hear there is hope... i tried 0.4.9 [14:43] bnoordhuis: cypres: you should probably run master, freebsd support is an ongoing project [14:43] cypres: bnoordhuis, okay, I will try it. Thank you [14:44] malkomalko: anybody know why sometimes my sys.puts/print gets cut off before an process.on('close/uncaughtException') [14:44] skohorn has joined the channel [14:45] clifton has joined the channel [14:46] pigmej has joined the channel [14:46] pigmej: hey ;) [14:46] pigmej: any GPG lib for node? [14:46] pigmej: * [14:47] pigmej: does anyone know any GPG lib for node.js ? [14:48] Abbaduxo has joined the channel [14:48] sounko has joined the channel [14:49] dnunes has joined the channel [14:49] dnunes: Hi there, people. [14:49] shintaku has joined the channel [14:49] cypres: bnoordhuis, version 0.5.1 works [14:50] dnunes: I'm dealing with md5 hashs of some accented chars and Node.JS seems to thread my string as ISO, not as UTF. [14:50] dnunes: Any way to force the string to be interpreted as UTF? [14:50] Abbaduxo has joined the channel [14:50] bnoordhuis: cypres: sweet [14:50] shintaku: any of you guys have an example init.d file for starting, stopping, and restarting a node.js sript? i don't want to modify the code of the script (which forever requires, right?) [14:50] bnoordhuis: cypres: be sure to report any issues in the bug tracker :) [14:50] cypres: bnoordhuis, I will. Again thank you. [14:51] justmoon has joined the channel [14:53] bayousoft has joined the channel [14:53] Ameshk has joined the channel [14:54] devongovett has joined the channel [14:54] gazumps has joined the channel [14:55] zilch has joined the channel [14:55] eldios: I need to use the bottom part of a box as the CSS alignment point.. how do I achieve that? [14:55] eldios: say I want the bottom part of a box to be 10px from the top [14:57] hybsch has joined the channel [14:57] rfay has joined the channel [14:58] jtsnow has joined the channel [15:00] HelloWorld: how to split a line in two, first part is first word, the second part is rest of the line? [15:00] Poetro has joined the channel [15:00] Poetro has joined the channel [15:01] tjholowaychuk has joined the channel [15:02] kkaefer: bnoordhuis: I reduced it to https://github.com/kkaefer/child_process_hang/blob/master/jump.cc [15:02] kkaefer: basically longjmp in the threadpool causes the hang [15:03] phpnode has joined the channel [15:04] sylvinus_ has joined the channel [15:05] dnunes: Hey, people, does anyone knows a way to change the encoding of a string in Node.JS? [15:05] KIOTI has joined the channel [15:05] jibbo has joined the channel [15:07] sonnym has joined the channel [15:08] sixtus42: HelloWorld: result = string.match(/(\S*)(.*)/) result[1] will be the first word, result[2] the rest of the string [15:08] davidascher has joined the channel [15:08] joshthecoder has joined the channel [15:09] HelloWorld: ahh, thanks [15:09] randylien has joined the channel [15:09] HelloWorld: how to determine if str is numeric? [15:10] rpflo has joined the channel [15:10] sirganya has joined the channel [15:10] bnoordhuis: kkaefer: will look at it in a bit - dinner first! [15:11] kkaefer: bnoordhuis: sure [15:11] kkaefer: bnoordhuis: I greatly appreciate your help [15:11] sirganya: anybody use forever on ubuntu? [15:11] kkaefer: HelloWorld: x = "342" [15:11] kkaefer: +x == x [15:11] sirganya: Processes are running but, forever list son't show them [15:14] zilch has joined the channel [15:14] mapleman has joined the channel [15:14] niles|iPod has joined the channel [15:15] mike5w3c_ has joined the channel [15:15] hij1nx has joined the channel [15:15] colinclark has joined the channel [15:15] jerrysv: HelloWorld: why does it sound like you're asking for help with an assignment? [15:15] smtlaissezfaire has joined the channel [15:15] raidfive has joined the channel [15:16] niles|iPod has left the channel [15:16] HelloWorld: im just a newb on a mission lol [15:16] iris_ has joined the channel [15:17] pjacobs has joined the channel [15:19] zilch has joined the channel [15:19] sandstrom has joined the channel [15:19] cypres: HelloWorld, or: x = "342" (!isNaN(parseInt(x))) [15:19] sandstrom has joined the channel [15:19] Corren has joined the channel [15:20] sixtus42: cypres: you don't have to parseInt(), !isNaN(x) will do [15:20] daveluke has joined the channel [15:20] jscheel has joined the channel [15:21] zilch has joined the channel [15:22] djazz has joined the channel [15:23] briznad has joined the channel [15:23] AAA_awright has joined the channel [15:23] zilch has joined the channel [15:27] dnunes has left the channel [15:27] sub_pop has joined the channel [15:28] NetRoY has joined the channel [15:28] madsleejensen has joined the channel [15:29] dnjaramba has joined the channel [15:30] sub_pop has joined the channel [15:30] kimico has joined the channel [15:32] mape: When doing long pull requests, what is the easiest way to check if the client has lost connection with the server from the servers end? [15:33] CIA-107: libuv: 03Bert Belder 07master * rca3cfba 10/ (src/win/core.c src/win/internal.h src/win/timer.c): [15:33] CIA-107: libuv: Windows: use low-res event loop clock. [15:33] CIA-107: libuv: For much better performance. Closes #88. - http://bit.ly/oyPY9p [15:33] matthusby has joined the channel [15:33] greg___ has joined the channel [15:33] AaronMT has joined the channel [15:34] guidocalvano has joined the channel [15:34] greg___ has joined the channel [15:36] Hansy_ has joined the channel [15:36] no-gooder has joined the channel [15:36] sveisvei_ has joined the channel [15:36] no-gooder has left the channel [15:37] c4milo: hey, is crankshaft enabled by default in the latest stable version of node? [15:38] cryptix has joined the channel [15:40] cryptix has left the channel [15:40] ceej has left the channel [15:40] matthusby has left the channel [15:42] fille has joined the channel [15:42] zilch has joined the channel [15:43] smolyn has joined the channel [15:43] Nican_ has joined the channel [15:44] petrjanda has joined the channel [15:44] zilch has joined the channel [15:45] fille: hello [15:45] jj0hns0n has joined the channel [15:45] sveisvei_: c4milo: I think so [15:45] fille: wondering do i need a server for hosting public repostory on github [15:47] stephank has joined the channel [15:47] cypres: having some issues compiling hiredis with npm on FreeBSD, it can't find v8.h, can you give configure options to npm ? [15:47] zilch has joined the channel [15:47] dmcquay has joined the channel [15:49] zilch has joined the channel [15:49] mhausenblas has joined the channel [15:50] morgabra has joined the channel [15:50] heavysixer has joined the channel [15:50] morgabra has joined the channel [15:51] paulwe has joined the channel [15:51] joshuaroesslein has joined the channel [15:51] zilch has joined the channel [15:52] infynyxx has joined the channel [15:52] infynyxx has left the channel [15:52] kmiyashiro has joined the channel [15:53] tjholowaychuk has joined the channel [15:53] pifantastic has joined the channel [15:53] industrial: Having some problems with Mongoose; https://gist.github.com/e5227a9ec7f159891686 I get the error TypeError: undefined is not a function at CALL_NON_FUNCTION_AS_CONSTRUCTOR (native) [15:54] markdaws has joined the channel [15:54] materialdesigner has joined the channel [15:55] kjeldahl has joined the channel [15:55] [[zz]] has joined the channel [15:55] rburhum has joined the channel [15:56] sandstrom has joined the channel [15:56] sandstrom has joined the channel [15:58] tantek has joined the channel [15:58] willwhite has joined the channel [15:59] industrial: aheckmann: ping :D [15:59] aheckmann: industrial [15:59] Xeon06_: Is there any way for Node to write on a serial port on Windows? [16:00] industrial: aheckmann: TypeError: undefined is not a function at CALL_NON_FUNCTION_AS_CONSTRUCTOR (native) [16:00] aheckmann: industrial taking a look now [16:00] industrial: ty [16:00] CIA-107: node: 03Reid Burke 07v0.4 * r973153d 10/ (2 files in 2 dirs): (log message trimmed) [16:00] CIA-107: node: Properly respond to HEAD during end(body) hot path [16:00] CIA-107: node: During write(), _hasBody is checked to make sure a body [16:00] CIA-107: node: is allowed -- this is now also checked during end(body) [16:00] CIA-107: node: when write() isn't used. [16:00] CIA-107: node: Concise final chunk for HEAD req's res.end(data). [16:00] CIA-107: node: Instead of simply clearing data, check _hasBody [16:01] aheckmann: industrial - you can't directly assign Schemas to properties [16:01] aheckmann: var UserSchema = new Schema({ mobageUser: MobageUserSchema, [16:01] Swizec has joined the channel [16:01] industrial: isnt that what happens in the example? , comments : [Comments] [16:01] industrial: where Comments is a Schema [16:01] aheckmann: industrial - you'll have to break out the object you passed to schema creation and use it directly [16:02] aheckmann: industrial [16:02] aheckmann: yes but [16:02] aheckmann: in that case it is a MongooseArray [16:02] aheckmann: which works [16:02] mattcodes has joined the channel [16:02] aheckmann: this probably something that should get fixed b/c everyone runs into it :) [16:02] fattytuna has joined the channel [16:03] industrial: okay [16:04] zeade has joined the channel [16:04] industrial: but if I use the object and not the schema that gets created with that object, how will the schema that uses the other schema know its a schema and not an object (hope I make sense) [16:04] industrial: https://gist.github.com/4e36d4c921daa478c82e [16:05] dannycoates has joined the channel [16:06] madsleejensen has joined the channel [16:07] boehm has joined the channel [16:09] Ambriely has joined the channel [16:09] robi42 has joined the channel [16:10] zilch has joined the channel [16:10] iammerrick has joined the channel [16:10] aliem has joined the channel [16:10] dnolen has joined the channel [16:10] seawise has joined the channel [16:11] devongovett has joined the channel [16:11] jayfresh has joined the channel [16:11] __doc__: howdy, aparts from that proprietary websocket gateway with that horrible license, what's the easiest gateway to put in front of my webserver and socket.io serving node.js server? [16:11] gde33 has joined the channel [16:13] baudehlo: __doc__: why do you need something in front of it? [16:13] rurufufuss has left the channel [16:13] rurufufuss has joined the channel [16:13] __doc__: baudehlo: because your run of the mill webserver (cherokee or apache) cannot deal with proxying websockets trough to a node.js server [16:13] zilch has joined the channel [16:14] __tosh has joined the channel [16:15] matt_ has joined the channel [16:15] __doc__: baudehlo: websocket support has not yet made it into either of those, so if you just do a reverse-proxy directive and open a websocket request, they'll treat it as default http all the way trough, which will naturally fail. [16:15] rurufufuss has left the channel [16:15] zilch has joined the channel [16:16] rurufufuss has joined the channel [16:16] srid has joined the channel [16:16] srid has joined the channel [16:16] mking has joined the channel [16:16] Ramosa has joined the channel [16:17] bradleymeck has joined the channel [16:18] TooTallNate has joined the channel [16:18] baudehlo: __doc__: that's not the question I asked. [16:18] baudehlo: why do you need ANYTHING in front? [16:18] __doc__: baudehlo: aight [16:18] zilch has joined the channel [16:18] kofno has joined the channel [16:18] __doc__: baudehlo: a websocket connection performs an "upgrade" of a normal http connection to a full socket connection (with some oddities). [16:19] mikeal has joined the channel [16:19] isaacs has joined the channel [16:19] __doc__: baudehlo: so a client comes and say "GET /somewebsocket HTTP/1.1\nUpgrade: websocket\n\n" [16:19] Phaaze has joined the channel [16:20] baudehlo: oh so you're asking because your "webserver" isn't node. [16:20] __doc__: baudehlo: and the server has to do the handshake and say "200 OK\nUpgrade: accepted" and keep the socket open to send stuff to the client or receive stuff on it [16:20] __doc__: baudehlo: sure, my webserver is cherokee [16:20] sub_pop has joined the channel [16:20] tisba has joined the channel [16:20] baudehlo: then that I don't know the answer to :) [16:21] baudehlo: should be easy to implement in node though using pipe() [16:21] __doc__: baudehlo: so usually I'd like to be able to instanciate a bunch of daemons for services, so I can develop one service without rebooting the webserver [16:21] donald_cook has joined the channel [16:22] Yuffster_work has joined the channel [16:22] __doc__: baudehlo: so that "websocket gateway" needs to accept a websocket and proxy it trough to a domain socket, and if it isn't a websocket, proxy it trough to my webserver [16:22] isaacs: hey, guys, npm search is fast now [16:22] isaacs: get 1.0.18 [16:22] Aikar: npm search npm [16:22] isaacs: the first time you search, it's still awful and slow, but then it's super fast after that [16:23] isaacs: doing some snazzy delta update stuff with couchdb [16:23] cypres: Turns out I had to manually copy the v8 headers from /usr/local/include/v8* to /usr/local/include/node/ or hiredis compile would fail. [16:23] Aikar: why not proxy it to the website, which seems fast :o [16:23] cypres: on FreeBSD that is [16:23] __doc__: baudehlo: right, so you think that's a job for node.js then, I'll look into that. [16:23] isaacs: Aikar: because the website is a typeahead search, not a keyword index. [16:23] donald_c_ has joined the channel [16:23] isaacs: Aikar: it only matches from the start of a keyword, not from the middle [16:23] Aikar: oj [16:23] Aikar: h [16:23] isaacs: Aikar: but when you do `npm search bler`, you get "nobelrecord" as a result. [16:23] rauchg has joined the channel [16:23] isaacs: *noblerecord [16:23] isaacs: which is by desin [16:24] boaz has joined the channel [16:24] Aphelion has joined the channel [16:24] jerrysv: isaacs: is that from jan's work? [16:24] adrianmg has joined the channel [16:24] isaacs: jerrysv: jan helped out a bit, yeah [16:24] Aikar: why doesnt npm update npm work :3 [16:25] jerrysv: isaacs: awesome [16:25] isaacs: Aikar: because you're trying to update it locally, maybe? or install 1.0 with 0.3? [16:25] Aikar: im still on rc9 lol... [16:25] isaacs: Aikar: npm update npm -g works in >= 1.0.10 [16:25] Aikar: (at work at least) [16:25] isaacs: oh, well... that's why :) [16:25] isaacs: Aikar: curl|sh [16:25] boaz has joined the channel [16:26] ambroff has joined the channel [16:28] josdehar has joined the channel [16:28] NetRoY has joined the channel [16:29] brion has joined the channel [16:29] brolin_ has joined the channel [16:30] matomesc has joined the channel [16:31] kofno has joined the channel [16:32] riven` has joined the channel [16:32] malkomal_ has joined the channel [16:32] slajax has joined the channel [16:33] dambalah has joined the channel [16:34] azend has joined the channel [16:34] kmiyashiro: isaacs: I published to npm but I don't have fame yet [16:34] Anaeluxo has joined the channel [16:34] wookiehangover has joined the channel [16:34] ddtjd has joined the channel [16:34] isaacs: kmiyashiro: yeah, the bar is a bit higher now. [16:35] isaacs: kmiyashiro: try repeating the process more [16:35] CIA-107: libuv: 03Ryan Dahl 07master * ra24d6e4 10/ test/benchmark-sizes.c : new uv_req_t sizes in benchmark-sizes - http://bit.ly/o8tAhX [16:35] kmiyashiro: oh ok [16:36] sylvinus has joined the channel [16:36] zilch has joined the channel [16:38] cl0udy has joined the channel [16:39] zilch has joined the channel [16:39] felixge has joined the channel [16:40] felixge: tjholowaychuk: hey [16:40] felixge: tjholowaychuk: just wanted to say that over that past few days I've turned from being very critical about your stuff into your biggest fanboy ;) [16:41] felixge: (just looking at kue right now) [16:41] dans: i'm new, how should i be doing this? https://gist.github.com/1093015 [16:41] tjholowaychuk: felixge haha thanks man, appreciated [16:41] dshaw_ has joined the channel [16:41] tjholowaychuk: kue is a bit rough too just a few day hack but i realllllYYyy wanted something with progress indication [16:41] asdfsafdsa has left the channel [16:41] dnolen has left the channel [16:41] SamuraiJack_ has joined the channel [16:41] felixge: tjholowaychuk: we could really use this at transloadit [16:42] felixge: tjholowaychuk: I have lots of time to help you on it if you're interested [16:42] felixge: putting more of our stuff into queues is #1 priority right now [16:42] tjholowaychuk: awesome that would be great, we haven't put it to work yet so some heavy usage would be great [16:42] felixge: so far we got by with simply being able to scale fast enough, but now clients are sending us TB of data at once making that a little hard ... :) [16:42] tjholowaychuk: haha wow [16:42] heavysixer has joined the channel [16:42] tjholowaychuk: i see why you need the proc per upload [16:43] c4milo has joined the channel [16:43] softdrink: anyone using joose? [16:43] felixge: tjholowaychuk: yeah, it lowers the damage done when crashing process :) [16:43] felixge: tjholowaychuk: so far we were loosing all active uploads on the machine [16:44] Stythys has joined the channel [16:44] dans: its req.params.id for a start [16:44] Renegade001 has joined the channel [16:44] felixge: softdrink: I have to use it on a client project. Highly not recommended [16:45] jbpros has joined the channel [16:45] softdrink: how come? [16:45] softdrink: i haven't used it and i'm not really considering it… i just thought it looked pretty interesting and was wondering what people thought of it :) [16:46] dans: i've tried these two variants: https://gist.github.com/1093015 is either the right way? [16:46] Prometheus: it looks a little counterintuitive [16:47] te-brian has joined the channel [16:47] felixge: tjholowaychuk: you are using zsets? [16:47] nodokodo has joined the channel [16:47] tjholowaychuk: yeah for priority [16:47] mange has joined the channel [16:47] felixge: tjholowaychuk: what guarantees are you aiming for? Are you guaranteeing that messages will only be seen once? [16:48] dgathright has joined the channel [16:48] felixge: tjholowaychuk: and that you can't loose a message, even if the shop has an uncaught exception? [16:48] tjholowaychuk: you can optionally specify N retries [16:48] felixge: * job [16:48] tjholowaychuk: but yeah ideally nothing is ever removed [16:48] tjholowaychuk: just state changes [16:49] tjholowaychuk: instead of an lbpop etc [16:49] tjholowaychuk: blpop? can't remember haha i think that's it [16:49] davidascher has joined the channel [16:49] felixge: yeah blpop is right [16:49] felixge: well blpop is nice in that you can run it against as many keys as you like [16:49] felixge: and as soon as one key has an item it returns [16:50] Poetro_ has joined the channel [16:50] Poetro_ has joined the channel [16:50] jakehow has joined the channel [16:50] felixge: tjholowaychuk: but this is really why I think lists are needed: http://redis.io/commands/brpoplpush [16:50] felixge: that can guarantee that a job never gets lost [16:50] felixge: because you can copy it to another list before processing [16:51] mscdex_ has joined the channel [16:51] dividinglimits has joined the channel [16:51] tjholowaychuk: cool that looks new [16:51] tjholowaychuk: that would do as long as you can still SORT for priority [16:52] Cleer has joined the channel [16:52] jetienne_ has joined the channel [16:53] boaz- has joined the channel [16:53] felixge: tjholowaychuk: well you can use one key per priority [16:53] adam_ has joined the channel [16:53] iammerri_ has joined the channel [16:53] felixge: the highest priority is the key on the left [16:53] sriley_ has joined the channel [16:53] HeikkiV__ has joined the channel [16:53] NetRoY_ has joined the channel [16:53] felixge: and the other keys will only be considered if those before them have no items at the moment [16:54] seawise_ has joined the channel [16:54] zined_ has joined the channel [16:54] felixge: well, that doesn't work with BRPOPLPUSH so [16:54] felixge: : ) [16:54] te-brian: tjholowaychuk: Found out the hard way that cluster with reload() does not play well with upstart respawn :) [16:54] tjholowaychuk: te-brian: haha, it should be dev only :D [16:55] felixge: tjholowaychuk: anyway, I'll study the code a little more now. We're just very worried of outgrowing a single redis instance in a few month if we do too many ops [16:55] agnat has joined the channel [16:55] pixel13 has joined the channel [16:55] pixel13 has left the channel [16:55] te-brian: tjholowaychuk: indeed ... got temporarily really confused when inifinite sockets started popping up in the app directory [16:55] felixge: for the stuff we do it's not too unrealistic we'll do 100k ops/sec in redis in the not so far future [16:56] tjholowaychuk: felixge: sounds good, it's not great code, I spent maybe a day on the project itself and a few days on the UI haha [16:56] mikeal has joined the channel [16:56] tjholowaychuk: te-brian ahaha shitttt! that's fun [16:56] felixge: tjholowaychuk: I spend the last few days on this shit without that much functionality nor a UI :) [16:56] tisba_ has joined the channel [16:56] tjholowaychuk: cyclic spawning ftw [16:56] te-brian: tjholowaychuk: Wouldn't that sorta be fixed with the github issue dealing with only workers respawning? [16:57] sourcode has joined the channel [16:57] othiym23 has joined the channel [16:57] tjholowaychuk: te-brian: as far as reload() goes it's not really an issue [16:57] tjholowaychuk: it's only useful in dev [16:57] samsonjs has joined the channel [16:58] CrabDude has joined the channel [16:58] mikeal has joined the channel [16:58] te-brian: yep ... I like using upstart even on dev apps as an easy way to start/stop .. but I just have t remember to keep respawn out of the picture. [16:58] towski has joined the channel [16:58] brolin has joined the channel [16:58] tjholowaychuk: ah :D there's also the cli() plugin [16:59] tjholowaychuk: $ node myapp start [16:59] tjholowaychuk: etc [16:59] berasa has joined the channel [16:59] mnaser: OH NO THE INTERNETS ARE SPLITTIN [16:59] creationix has joined the channel [16:59] cha0s has joined the channel [16:59] cha0s has joined the channel [16:59] te-brian: what I realy need to figure out is routing ports to paths in nginx or varnish ... so mydomain/test would be port 3000 ... [17:00] context: same as any other proxy config i imagine [17:00] tjholowaychuk: you can use port forwarding [17:00] zilch has joined the channel [17:00] SuMarDi has joined the channel [17:00] ecin has joined the channel [17:00] FireFly|n900 has joined the channel [17:00] mattp_ has joined the channel [17:00] Sami_ZzZ has joined the channel [17:00] stagas has joined the channel [17:00] lmorchard has joined the channel [17:00] AaronMT has joined the channel [17:00] tahu has joined the channel [17:01] te-brian: I'm sure its pretty trivial.. just not in my wheel house at the moment... I leave the server-side stuff to another dev most of the time.. but I gotta sack it up and read the docs. [17:01] zemanel has joined the channel [17:01] SamuraiJack_ has joined the channel [17:01] zilch has joined the channel [17:01] context: sack it up. [17:02] felixge: tjholowaychuk: does the UI use socket.io? [17:02] tjholowaychuk: felixge: haha nope, it should, but it's just xhr right now [17:02] context: ui for what ? [17:03] felixge: tjholowaychuk: anyway, looks really amazing so far [17:03] tjholowaychuk: I intend on windowing the jobs so only the 5 or 6 shown will require updating [17:03] tjholowaychuk: which can be altered based on the scroll [17:03] tjholowaychuk: but the scrollbar styling is fucking with scrollTop [17:03] tbranyen: man zombie.js is such a cool idea, yet fails so hard [17:03] tbranyen: i can only get it working if i disable javascript execution [17:03] xerox: what is zombie.js ? [17:03] tbranyen: headless testing [17:04] blup has joined the channel [17:04] captain_morgan has joined the channel [17:05] Yoric has joined the channel [17:05] Hosh has joined the channel [17:05] terite has joined the channel [17:06] CoinOpeBoy has joined the channel [17:06] SuMarDi has joined the channel [17:06] ecin has joined the channel [17:06] FireFly|n900 has joined the channel [17:06] mattp_ has joined the channel [17:06] Sami_ZzZ has joined the channel [17:06] stagas has joined the channel [17:06] lmorchard has joined the channel [17:06] tahu has joined the channel [17:06] japj has joined the channel [17:07] malkomal_: is there a way to exit with the error code of 1 inside the process.on('exit') callback? I need to do a check to see if it should exit 0 or 1.. but it seems like it creates a loop [17:07] eee_c has joined the channel [17:08] malkomal_: like, is there a way to silently set the exit code? [17:08] creationix has left the channel [17:08] bbrandon has joined the channel [17:09] context: $? [17:09] context: err oops [17:09] softdrink: felixge: i stepped away… what in particular is it that you don't like about joose? just curious [17:11] jklabo has joined the channel [17:11] malkomal_: context ? [17:12] jakehow has joined the channel [17:13] xtianw_ has joined the channel [17:13] context: nm [17:15] seb_m has joined the channel [17:15] admc has joined the channel [17:15] harthur has joined the channel [17:16] KingJamool has joined the channel [17:18] bitprobe_ has joined the channel [17:18] clifton has joined the channel [17:18] felixge: softdrink: it's bloated [17:19] softdrink: *nod* it looked a bit bigish [17:19] gxdssoft has joined the channel [17:19] xandrews has joined the channel [17:19] zilch has joined the channel [17:20] rburhum has joined the channel [17:21] tbranyen: you know what would be a cool node module is the ability to copy all console.* to the system clipboard [17:22] zilch has joined the channel [17:22] softdrink: well that'd probably be fairly easy if you're on a mac, since it has pbcopy [17:22] mking has joined the channel [17:23] corytheboyd has joined the channel [17:23] shanez has joined the channel [17:26] zilch has joined the channel [17:27] bergie has joined the channel [17:28] perlmonkey2 has joined the channel [17:28] kevwil has joined the channel [17:28] catphive has joined the channel [17:30] rburhum has joined the channel [17:30] jameson has joined the channel [17:30] mange has joined the channel [17:31] sixtus42 has joined the channel [17:31] davidascher has joined the channel [17:33] sixtus42 has left the channel [17:33] wbw72 has joined the channel [17:33] DTrejo has joined the channel [17:34] langworthy has joined the channel [17:35] synkro has joined the channel [17:36] stagas_ has joined the channel [17:37] Sami_ZzZ_ has joined the channel [17:38] AvianFlu has joined the channel [17:39] lmorchard has joined the channel [17:39] FireFly|n900 has joined the channel [17:39] SuMarDi has joined the channel [17:40] zemanel has joined the channel [17:40] heavysixer has joined the channel [17:41] madsleejensen has joined the channel [17:42] perezd has joined the channel [17:44] Hansy_ has joined the channel [17:45] zilch has joined the channel [17:45] Xeon06_ has joined the channel [17:45] broofa has joined the channel [17:47] mattp_ has joined the channel [17:48] dguttman has joined the channel [17:49] samsonjs has joined the channel [17:50] sweetd has joined the channel [17:50] ecin has joined the channel [17:54] tahu has joined the channel [17:56] mking has joined the channel [17:57] smtlaissezfaire has joined the channel [17:57] v01dless- has joined the channel [17:58] davve: hey. how would i go about pipe:ing output from a shell command say date? [17:58] davve: im looking at the process docs but im not sure. [17:59] guidocalvano_ has joined the channel [17:59] ryah: require('child_process').exec('date').stdout.pipe(process.stderr) [18:00] broofa has joined the channel [18:00] davve: ryah: tyvm [18:00] felixge: tjholowaychuk: with kue, do you plan the ability to deliver a certain job to a specific machine? [18:01] mking has joined the channel [18:02] bene1 has joined the channel [18:02] tjholowaychuk: felixge: you could process() accordingly if you wanted to say have 2 worker to process emails and 10 for video related stuff etc [18:03] clyfe has joined the channel [18:03] felixge: tjholowaychuk: well, we have file uploads and we need to poll them for progress [18:03] isaacs has joined the channel [18:04] jasonh has joined the channel [18:04] tjholowaychuk: ohh i think i see what you're saying. couldn't you just publish that to redis as well? [18:04] felixge: tjholowaychuk: but using cluster and multiple machines, there is no (easy) way to get the progress from the very process handling the upload [18:04] tjholowaychuk: hmm [18:04] felixge: tjholowaychuk: yeah, maybe that's a good idea. It's just a lot of SETs ... :) [18:04] dgathright has joined the channel [18:04] zilch has joined the channel [18:04] NetRoY has left the channel [18:04] felixge: but I guess we could update the progress every second, that'd be ok [18:05] felixge: oh wait there was more. We also need the status of the assembly [18:05] tjholowaychuk: yeah that should be fine, I think I'm only polling every 5 seconds or so anyway [18:05] felixge: which is also in that process memory [18:05] tjholowaychuk: I should make that configurable [18:05] felixge: it's a huge json object [18:05] felixge: huge as in: up to 700kb [18:05] tjholowaychuk: woah [18:05] tjholowaychuk: hmm [18:05] felixge: don't want to push that through redis always [18:05] felixge: :) [18:05] felixge: tjholowaychuk: well, I can handle this outside of kue [18:05] felixge: it's kind of an edge case [18:06] BillyBreen has joined the channel [18:09] felixge: tjholowaychuk: You can implement your zpop without locking: https://groups.google.com/forum/#!topic/redis-db/ur9U8o-Sko0 [18:11] postwait has joined the channel [18:12] Hansy_ has joined the channel [18:12] muhqu has joined the channel [18:12] bene1 has left the channel [18:13] `3rdEden has joined the channel [18:13] tahu has joined the channel [18:15] wadey has joined the channel [18:15] raymorgan has joined the channel [18:15] raymorgan has left the channel [18:17] walkingeyerobot has joined the channel [18:18] ezmobius has joined the channel [18:19] dreamdust has joined the channel [18:19] mikeal has joined the channel [18:20] tjholowaychuk: felixge one sec, checking out the link [18:20] felixge: tjholowaychuk: Pieter Noordhuis post [18:20] felixge: couldn't find a way to link it directly [18:20] felixge: new google groups being weird to me [18:20] jellosea: `3rdEden: hey, i tried around with the memcache client stuff more, and it seems that the hex dump of the response i get from python and node is different [18:20] felixge: tjholowaychuk: ah here we go: https://groups.google.com/d/msg/redis-db/ur9U8o-Sko0/tgefLK3zrzQJ [18:21] `3rdEden: jellosea and the one python parses correctly? [18:21] jellosea: `3rdEden: the hexdump of the python is right, and i can decompress with zlib, [18:21] jellosea: `3rdEden: yup [18:22] jellosea: `3rdEden: i wiresharked both responses from python and node, and they get the same response back from memcached [18:22] `3rdEden: jellosea hmz [18:22] tjholowaychuk: felixge: cool looks better than what im doing [18:22] jellosea: `3rdEden: the length of the buffer i get from node seems to be shorter though than the length of the response in python. [18:22] mikeal1 has joined the channel [18:22] kingkaeru__ has joined the channel [18:23] felixge: tjholowaychuk: yeah, it avoids congestion when you have lots of concurrency on a single queue [18:23] kingkaeru__: anyone know if there's a node.js mssql connector available? [18:23] `3rdEden: jellosea it can mean 2 things, 1) the driver messes it up, or 2) it gets converted to a buffer incorrectly [18:23] kingkaeru__: i found node-tds and node-db. both are incomplete [18:24] Poetro has joined the channel [18:24] felixge: tjholowaychuk: What's the best way to fork & contribute to kue? Assuming that I don't want my branch to diverge? [18:24] jellosea: `3rdEden: how would it get converted to a buffer incorrectly? is answer alreadya buffer? [18:24] havenn has joined the channel [18:24] felixge: looks like you are hacking on it like a maniac :) [18:25] KingKaeru: anyone? [18:25] KingKaeru: :p [18:25] tahu has joined the channel [18:25] mikeal has joined the channel [18:25] `3rdEden: jellosea the packets that the client receives are buffers, and I buffer it up to one big string by doing a Buffer.toString() so they are automatically converted to a utf8 based string [18:26] tjholowaychuk: felixge: nah im working on some internal stuff right now just wanted the progress pubsub this morning [18:26] tjholowaychuk: pull requests would be great! [18:27] devrim has joined the channel [18:28] shumboy has joined the channel [18:28] `3rdEden: jellosea is it reproduceable if you put a zlib compressed item through the driver in memcached? [18:29] TheEmpath: basic net server... i need it to handle massive amounts of data input on the listen... any ideas? [18:29] TheEmpath: we're talking potentially 100k per request easily [18:30] tilgovi has joined the channel [18:30] tilgovi has joined the channel [18:31] TheEmpath: oh [18:31] TheEmpath: i have an idea of whats going on [18:31] dtan has joined the channel [18:31] jellosea: `3rdEden: you mean if i do a set with zlib'd data and then try and get it? [18:31] `3rdEden: yup [18:32] TheEmpath: i knew it... it was a nonblocking client [18:32] markatto has joined the channel [18:32] markatto: does anyone know a way of making forever produce parseable output? [18:33] jellosea: `3rdEden: haven't tried yet [18:33] patcito has joined the channel [18:33] pandeiro has joined the channel [18:34] jonaslund has joined the channel [18:34] daveluke has joined the channel [18:35] dgathright has joined the channel [18:35] `3rdEden: jellosea what are putting in memcached that is compressed? Just text? [18:35] felixge: tjholowaychuk: cool [18:36] jellosea: its a serialized object [18:36] `3rdEden: ok [18:37] djazz has left the channel [18:37] `kofno has joined the channel [18:38] jameson has joined the channel [18:38] smtlaissezfaire has joined the channel [18:39] yozgrahame has joined the channel [18:40] fly-away has joined the channel [18:41] jellosea: `3rdEden: what do you suggest i do to debug this? [18:41] anykey has joined the channel [18:41] `3rdEden: I'm trying to reproduce this atm jellosea almost finished a minimal test case [18:41] jellosea: awesome [18:42] isaacs: bnoordhuis: can i get a LGTM on the _ in urls? (i know the spec doesn't allow it, but the internet does.) [18:42] bnoordhuis: isaacs: patch LGTM [18:42] isaacs: w00t! [18:42] bnoordhuis: :) [18:43] `3rdEden: isaacs https://gist.github.com/1093381 [18:43] tdegrunt has joined the channel [18:43] CIA-107: node: 03isaacs 07master * rdcecfc5 10/ (lib/url.js test/simple/test-url.js): Close #1360 url: Allow _ in hostnames. - http://bit.ly/ou8LNM [18:43] anykey: Say I have two objects, one has default values and the other has overrides to the first one (just configuration objects). Is there a canonical way to apply the overrides to the default object, or do I just use an iteration with hasOwnProperty? [18:43] Nuck has joined the channel [18:45] `3rdEden: isaacs nvm, if I changed the dir to the root of the project it worked [18:45] isaacs: 3rdEden: what were you doing to get that error? [18:46] isaacs: anykey: Object.keys(obj1).forEach(function (k) { obj2[k] = obj1[k] }) [18:46] `3rdEden: a npm install . --local in a subfolder of my project [18:46] `3rdEden: but there was no package.json there [18:46] johnduhart has joined the channel [18:46] isaacs: anykey: or: obj1.__proto__ = obj2 [18:46] isaacs: er, other way around [18:46] tmpvar has joined the channel [18:46] anykey: isaacs: thanks :-) [18:46] seawise has joined the channel [18:46] isaacs: 3rdEden: yeah, if there's no node_modules folder or package.json, then it doesn't know what the root is [18:47] maushu has joined the channel [18:47] anykey: that forEach method is not standard, is it? [18:47] systemfault: Sure it is. [18:47] broofa has joined the channel [18:47] systemfault: ECMAScript 5 [18:47] `3rdEden: isaacs yeh, but throwing an error isn't that nice :p [18:47] Aiden has joined the channel [18:47] anykey: ah ES5 [18:48] sonnym has joined the channel [18:49] pandeiro: anyone noticed that response.statusCode doesn't reflect the statuscode argument given to response.writeHead()? [18:49] socketio\test\71 has joined the channel [18:49] pandeiro: it does respond with the specified status code but the response object's statusCode property returns 200 for me no matter what unless I explicitly set it [18:49] hij1nx has joined the channel [18:49] jebberjeb has joined the channel [18:50] maushu_ has joined the channel [18:51] mikedeboer has joined the channel [18:54] anykey: I seem to have missed much new things in ES5... and will have to read about the new features... [18:54] isaacs: `3rdEden: That error is fixed in the latest npm, btw. [18:54] isaacs: Object.keys(data.versions || {}).forEach(function (v) { [18:55] gxdssoft has joined the channel [18:55] rhdoenges has joined the channel [18:57] CIA-107: node: 03isaacs 07v0.4 * rddfc6b7 10/ (lib/url.js test/simple/test-url.js): Close #1360 url: Allow _ in hostnames. - http://bit.ly/nShuaD [18:57] smtlaissezfaire has joined the channel [19:00] heavysixer has joined the channel [19:00] seb_m has joined the channel [19:00] anykey: ACTION could use a pocket edition of Flanagan's book, just too heavy for travel [19:01] Aphelion has joined the channel [19:01] Aphelion has joined the channel [19:01] Murvin has joined the channel [19:02] zackattack has joined the channel [19:03] `3rdEden: isaacs sweet, thanks [19:03] isaacs: anykey: i'd recommend reading the spec. it's dense, but fairly easy to read. [19:03] random123 has joined the channel [19:03] altamic has joined the channel [19:04] anykey: isaacs: you mean directly from ECMA? [19:04] tuhoojabotti: ECMAScript<3 [19:04] isaacs: yeah [19:04] `3rdEden: jellosea my memcached server isn't coporating atm :9 [19:04] anykey: i will look for it. [19:04] dans has joined the channel [19:04] anykey: oh, it's easy to find. [19:04] anykey: great thanks. [19:04] jellosea: `3rdEden: so i think i found what could be the problem, the code searches for /r/n before it starts copying the response [19:05] random123: Instead of having a Async and Sync versions of functions constantly, which somewhat bloats the API, why not just make the default Async and pass a flag if you want Sync? [19:05] `3rdEden: yups, as that is how a memcached response ends [19:05] jellosea: `3rdEden: is there supposed to be a *preceding* /r/n/ ? [19:06] jellosea: theres an END which tells it when to stop [19:06] isaacs: anykey: sadly, it's in pdf, which is insane. </3 [19:06] jellosea: but it seems to look for /r/n and then starts copying the answer [19:06] anykey: isaacs: yeah i kinda really prefer books, and I dont feel like printing 258 pages right now [19:06] mehlah has joined the channel [19:06] jellosea: `3rdEden: my response has a 0d 0a and then starts the actual value [19:06] anykey: maybe I'm just anachronistic in my preference for paper. [19:06] japj: bnoordhuis: ping [19:07] bnoordhuis: japj: pong [19:07] jellosea: wtf is 0d 0a ... [19:07] bnoordhuis: jellosea: \r\n [19:07] jellosea: python deals with this properly somehow.. and wireshark can tell that the data starts from there too [19:07] jellosea: oh really..? ... okay well javascript doesn't pick that up proerply then [19:08] mikeal has joined the channel [19:08] japj: bnoordhuis: I was wondering about net on node master, reading through the code I had the impression that translateId (in node.js) would use net_uv on windows [19:08] jellosea: oh yeah sorry man brain freeze [19:08] japj: bnoordhuis: but I am getting net_legacy errors which confuses me [19:08] bnoordhuis: japj: cygwin or mingw? [19:09] japj: bnoordhuis: mingw [19:09] `3rdEden: jellosea the driver buffers up the value responses [19:09] `3rdEden: untill it reaches an END [19:09] japj: bnoordhuis: process.useUV is true [19:09] bnoordhuis: japj: right, libuv it is then [19:09] `3rdEden: than it will concat the whole string again with a \r\n [19:09] `3rdEden: jellosea see https://github.com/3rd-Eden/node-memcached/blob/v0.0.1/lib/memcached.js#L283-311 [19:09] bnoordhuis: japj: any references to net_legacy.js are bugs [19:10] infynyxx1 has joined the channel [19:11] japj: bnoordhuis: k, I'll file a bug then.. I've been trying to figure this out myself, but It's a little to deep for me at the moment (although I learned a couple of interesting things in the process) [19:11] bnoordhuis: japj: just to be sure, you're trying to require('net') and you get net_legacy.js? [19:12] bnoordhuis: japj: there are two exceptions right now: ttys and child_process [19:12] bnoordhuis: those are on the TODO [19:12] tmpvar: does anyone know which core dev's responsibility the vm module falls under? [19:13] japj: bnoordhuis: ah wait, child_process does require net_legacy [19:13] japj: bnoordhuis: that's whats wrong [19:13] `3rdEden: jellosea hmz, but you might have a good point there, I don't see any points where I add back the \n\r again [19:13] japj: bnoordhuis: it is a fixme in child_process.js:24 [19:15] cccaldas has joined the channel [19:16] bnoordhuis: japj: https://github.com/joyent/node/issues/1340 [19:16] bnoordhuis: i think it's scheduled for next week [19:17] jellosea: `3rdEden: okay this is really weird [19:17] jellosea: the actual raw response is slightly different in node compared to wireshark [19:18] bnoordhuis: tmpvar: me, inclusive [19:18] pNstK: \ok [19:19] shintaku: what is npm install doing at this step: npm@1.0.18 /usr/lib/node_modules/npm [19:19] japj: bnoordhuis: I know it is not finished yet, but does that mean that node internally should not just use the require 'net' translate lookup? [19:19] shintaku: it seems stuck [19:19] `3rdEden: jellosea ._. [19:19] bnoordhuis: japj: just consider it broken for now :) [19:20] jbpros has joined the channel [19:20] tmpvar: bnoordhuis, ok, good to know [19:20] japj: bnoordhuis: yeah, but that also means I can not test anything that requires child_process, even though I might not actually 'fork' any process, it just borks on the require [19:21] jellosea: `3rdEden: yeah i get the right header from memcache.. liek the key i requested, the /r/n and then the second byte of the response is different from the wireshark response... could there be something wrong with the buffer classs??? [19:21] `3rdEden: jellosea I have no clue =/ [19:23] bnoordhuis: japj: you can (maybe) fix it locally [19:24] infynyxx1 has left the channel [19:24] japj: bnoordhuis: I am trying now, btw what is process.binding("signal_watcher") and should it exists on windows? [19:25] pixel13 has joined the channel [19:25] shintaku: where does npm install install stuff so that i can do this by hand since npm is b0rken [19:25] bnoordhuis: japj: right, signal_watcher is a unix thing so that probably means your SOL [19:25] japj: bnoordhuis: node debug apparently uses it [19:25] moredeep has joined the channel [19:26] aliem has joined the channel [19:26] jellosea: `3rdEden: the first byte of the response 78 is right [19:26] jellosea: `3rdEden: the second byte that i see in wireshark is 9c. but in node is ef [19:26] jellosea: `3rdEden: what the hell... [19:27] `3rdEden: jellosea o_o [19:27] jellosea: the header is right, the VALUE .. <key name> <flags> <llenght of respons> [19:27] jellosea: and /r/n [19:27] jellosea: and then [19:27] jellosea: we get craziness wtf [19:28] `3rdEden: bnoordhuis is there any reason why a TCP response from node would be different than a TCP response in python? [19:28] `3rdEden: ^ [19:28] context: uhh [19:29] bnoordhuis: `3rdEden: our tcp goes to 11 [19:29] bnoordhuis: do you have a wireshark or tcpdump trace? [19:29] jellosea: yeah [19:29] jellosea: the node response is different from wireshark trace [19:29] context: you realize the first two bytes are the source port [19:29] context: no wonder they are different. [19:29] admc has joined the channel [19:29] cjus has joined the channel [19:30] context: well... the first two bytes of the tcp header. [19:30] jellosea: this isnt the first two bytes of the tcp header [19:30] jellosea: this is the first two bytes of the actual data [19:30] context: then it should be whatever you are sending across the wire [19:30] jellosea: but its not [19:31] jellosea: the values are different [19:31] context: 0xef is extended ascii character [19:31] context: 239 [19:31] jellosea: its supposed to be 9c [19:31] jellosea: in the right response [19:31] `3rdEden: jellosea is the python driver also using the ascii protocol and not the binary protocol [19:31] sbisbee has joined the channel [19:31] context: which is still extended [19:32] context: `3rdeden: i imagine there are a lot of things that could be reasoning for different outputs [19:32] jellosea: i'm not sure what it's using, but it has the same response as in wireshark [19:32] `3rdEden: jellosea but than again, if you can read the memcached response `header` i guess its also using ascii [19:32] `3rdEden: as those values would have been binary anyways [19:32] jellosea: yeah [19:33] infynyxx has joined the channel [19:33] infynyxx has left the channel [19:35] bergie has joined the channel [19:35] tbassetto has joined the channel [19:35] bc` has joined the channel [19:35] jellosea: `3rdEden: it seems like the output has a shitload of ef bd bf's in it from node [19:36] jellosea: http://pastie.org/2238885 [19:36] Remoun has joined the channel [19:37] jellosea: and this is the correct response via python / wireshark [19:37] jellosea: http://pastie.org/2238888 [19:38] jellosea: oh shit do u see that.. if you remove out all the ef bf bd, you get the right response.. [19:38] jellosea: or something close to that [19:38] lime_ has joined the channel [19:39] japj: bnoordhuis: I am wondering, should signal handling be in libuv (since the node_signal_watcher.cc uses libev) and libuv is the 'platform abstraction' for node? [19:39] themiddleman_itv has joined the channel [19:39] jhurliman has joined the channel [19:39] lime_: Is it possible to clear a specfic pages cache in node.js? [19:39] bnoordhuis: japj: yes, that'll be moved into libuv [19:39] mikeal has joined the channel [19:40] jellosea: oh ef bf bd means illegal character? [19:40] lime_: Is it possible to clear a specfic pages for ningx server cache in node.js? [19:41] lime_: Sorry, worded funny....Is it possible to clear a specfic pages cache for ningx in node.js? [19:41] japj: bnoordhuis: is it ok if I make a github issue on getting node debug working on windows, or would that be of no use? [19:41] `3rdEden: jellosea wtf? really? [19:42] japj: bnoordhuis: I know there is still lots of work todo, but it's hard to see what issues are usefull or not [19:42] `3rdEden: jellosea but what you are showing is a buffer output of node, not a wireshark output [19:42] bnoordhuis: japj: in this case, no - it's a known issue and on the TODO [19:42] japj: bnoordhuis: ok, thanks [19:42] bnoordhuis: japj: what would help is test the features that have landed like tcp [19:43] jellosea: `3rdEden: first output is buffer output of node, second paste is pyhton output, but its exactly the same as the wireshark output [19:43] devongovett has joined the channel [19:43] Nuck: Rupert Murdoch got PIED [19:43] Nuck: "It is a far better thing that I do now than I have ever done before #splat" [19:43] japj: bnoordhuis: what do you mean test? like running the node/tests/* scripts? [19:44] madsleejensen has joined the channel [19:44] jellosea: `3rdEden: i'm looking at this.. http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/21b2c560-ed16-4edb-bdab-6a55902d6ae3/ [19:44] thurmda has joined the channel [19:44] bnoordhuis: japj: `make test-uv` yes, and test your own programs with --use-uv [19:45] grey has joined the channel [19:46] grey: Is there a good shared-object framework for node? something where I can define a model in one js file, then instantiate it on both a client and the server and have it synchronized over websockets or something? It looks like backbone.js could be made to do that, but I was wondering if there was an existing general solution? [19:46] `3rdEden: jellosea so basically i got decoded wrong by node? [19:46] jellosea: yeah.. i think when it encounters extended ascii [19:47] thurmda: is anyone using express with node v0.5.2? [19:47] _sorensen_: grey: i use backbone.js and dnode to synchronize, but i dont use the models on the server side, i'm using Mongoose ORM instead [19:47] japj: bnoordhuis: k, what if simple/test-http-1.0 fails with "hello world\n" == "undefined" [19:47] jellosea: it assumes its utf8 and ef bf bd is the default fallback character for utf8 [19:47] bnoordhuis: japj: well, that's bad - but http is known broken right now [19:47] grey: _sorensen_: I'll look into both of those, thank you :) [19:47] _sorensen_: grey: http://sorensen.github.com/backbone-dnode [19:47] bnoordhuis: japj: to be precise, i'm git bisecting a bug in http.js right now :) [19:47] thurmda: I just created a fresh EC2 instance and I installed node v0.5.2 [19:48] japj: bnoordhuis: test-net-connect-timeout fails with connect "UNKNOWN" [19:48] `3rdEden: jellosea the default toString of a buffer is utf8 [19:48] `3rdEden: so maybe when we do a toString('ascii') it would solve it [19:48] broofa has joined the channel [19:48] thurmda: and now realized express's package.json only allows up to 0.5.0 [19:48] japj: bnoordhuis: an the fun of bisect [19:49] ben_alman_ has joined the channel [19:49] tjholowaychuk: thurmda: yeah, I dont support 0.5.x, there's no reason to [19:49] jellosea: `3rdEden: no its losing data because when it gets converted to a buffer its throwing out bytes and replacing it with ef bf bd [19:49] thurmda: is it just untested on > 0.5.0 ? [19:49] japj: bnoordhuis: I must say that is part of git that I like (it is a hell lot more complicated in some of the other versions control systems I have used) [19:49] thurmda: would you advise downgrading node? [19:50] bnoordhuis: japj: `git bisect` rules. waf? not so much [19:50] matomesc has joined the channel [19:50] hwinkel has joined the channel [19:50] context: bisect sucks to have to use, but it does do a damn good job at what it does [19:51] jellosea: `3rdEden: i think the binary method is fucked because it doesn't do a raw dump? i think it checks the byte and if it can't find it it converts it to utf8 [19:51] jellosea: for buffer [19:51] kmiyashiro: thurmda: 5.x is unstable [19:51] thurmda: ah [19:51] kmiyashiro: even = stable [19:51] alnewkirk has joined the channel [19:52] tjholowaychuk: the docs need to mention that [19:52] tjholowaychuk: i get questions every day [19:52] _sorensen_: really? [19:52] sandstrom_ has joined the channel [19:52] mike5w3c has joined the channel [19:52] _sorensen_: i just looked at the package.json [19:52] necrodearia has joined the channel [19:52] _sorensen_: seemed pretty obvious [19:53] thurmda: not too many tuts out there to uninstall, is it just simply installing a lower version? [19:53] kmiyashiro: probably [19:53] rhdoenges: how'd you install it? [19:55] thurmda: git clone https://github.com/joyent/node.git ... config.. make etc. [19:55] Mustansir has joined the channel [19:55] rhdoenges: just do [19:55] rhdoenges: make uninstall [19:56] thurmda: :) thx [19:56] grey: _sorensen_: how do you find performance? Mongo seems pretty straightforward, but dnode uses some funky shim objects that look like they could be complex? [19:57] hassox has joined the channel [19:58] versicolor has joined the channel [19:58] riven has joined the channel [19:59] smtlaissezfaire has joined the channel [20:00] jellosea: `3rdEden: is your receive buffer a string? [20:01] matti has left the channel [20:03] Murvin: tjholowaychuk: is there a memory leak problem with express view? [20:03] mikeal has joined the channel [20:03] tjholowaychuk: Murvin: are you using NODE_ENV=production? [20:05] Murvin: tjholowaychuk: just default. not setting environment. actually it was my coworker report to me that when he did the testing, express takes a lot of memory. at first, i thought it is the template engine. but then, this morning he told me he saw there is a post about express has memory leak of doing view and partial [20:05] tjholowaychuk: haha well yeah.. in development it re-reads the templates each time [20:05] Murvin: tjholowaychuk: i am unable to find that post or issue. [20:06] Murvin: so, if set to production, it will be good? [20:06] tjholowaychuk: probably just some naive person [20:06] tjholowaychuk: that didn't check with anyone [20:06] `3rdEden: jellosea when we receive the data from the tcp connection, its a Buffer [20:06] tjholowaychuk: yes [20:06] Murvin: ok. [20:06] `3rdEden: i than change it to a string, by adding it to another sting (causing it to call a toString() on it self, which defaults to toString('utf8')) [20:06] Murvin: just curious, is there any benchmark on memory or performance on express? lol [20:07] tjholowaychuk: Murvin: nothing in-depth with anything reasonably recent no [20:08] Murvin: tjholowaychuk: thanks.. i want to prove him wrong. LOL. everytime there is little problem, then he will cry and say node has problem. [20:08] tjholowaychuk: yeah, jumping to conclusions [20:08] tjholowaychuk: is not a good way to go [20:08] Murvin: totally agree. [20:11] markwubben has joined the channel [20:11] whitman has joined the channel [20:12] jellosea: `3rdEden: no what is dataSet [20:12] jellosea: i think dataSet is a string? [20:12] towski has joined the channel [20:13] whitman: Using express: http://pastie.org/2239067 - using 'curl -X POST http://localhost:30000/users/test' - request.params prints as an empty array but I would have thought it should be, in this case, 'test'? [20:13] jellosea: yeah dataSet is a string.. i think this is the problem [20:13] `3rdEden: yes it's a string [20:13] jellosea: `3rdEden: it should be a buffer [20:13] tjholowaychuk: whitman: join #express [20:13] Renegade001 has joined the channel [20:13] jellosea: `3rdEden: because when u try and write it as a string.. it defaults to utf8 and screws it up [20:13] whitman: tjholowaychuk, thanks [20:13] tjholowaychuk: whitman: it's because req.params is an array [20:14] tjholowaychuk: whitman but it also has non-int properties :D [20:14] japj: bnoordhuis: btw, the CLOCK_MONOTIC bug on cygwin still exists ;( [20:14] whitman: tjholowaychuk, yea, but console.log usually prints the contents of arrays if there's something in them [20:14] `3rdEden: jellosea the data we write to dataSet is already a string [20:15] tjholowaychuk: whitman OH nvm, looked closer at your example [20:15] tjholowaychuk: you're not using a regexp literal [20:15] MarkMenard has joined the channel [20:16] _sorensen_: grey: performance is good, havnt noticed any loss of speed with dnode [20:16] hassox has joined the channel [20:16] bene1 has joined the channel [20:17] `3rdEden: jellosea i actually thing dataSet should be an array, where push in results and than JOIN it with \r\n [20:17] jellosea: yeah [20:17] jellosea: wait why do ou have to join it with /r/n [20:17] `3rdEden: because we also split on that one [20:17] willwhit_ has joined the channel [20:18] `3rdEden: and split removes those chars from the whole response [20:18] jellosea: oh sure yeah [20:18] zackattack has joined the channel [20:18] jellosea: but if its an array.. [20:18] jellosea: wont it be just an array of strings [20:18] jellosea: and still have the same problem? [20:18] `3rdEden: jellosea yes-ish [20:18] jellosea: yeah it shold be a buffer.. like we know the length of the response cos its in the header [20:19] fille: yo yo [20:19] jellosea: so we should just make a buffer with the right size and then stick the stuff in [20:19] `3rdEden: but it needs to be transformed to a string first to be able to parse it down [20:19] `3rdEden: as tcp packets are frameless [20:19] jellosea: transforming to a string screws it up [20:19] jellosea: thouhg [20:19] heavysixer has joined the channel [20:19] `3rdEden: https://github.com/3rd-Eden/node-memcached/blob/v0.0.1/lib/memcached.js#L406 that should probably become BufferStream.toString('ascii') [20:20] `3rdEden: https://github.com/3rd-Eden/node-memcached/blob/v0.0.1/lib/memcached.js#L427 that an array, [20:20] jellosea: why would ascii help here? [20:20] jellosea: because these bytes are non ascii.. and thats whats screwing it up? [20:20] `3rdEden: https://github.com/3rd-Eden/node-memcached/blob/v0.0.1/lib/memcached.js#L482 <-- and we push it there so we can than join it there https://github.com/3rd-Eden/node-memcached/blob/v0.0.1/lib/memcached.js#L460 [20:21] samBiotic has joined the channel [20:21] `3rdEden: jellosea because we are using the ascii protocol? [20:21] `3rdEden: so all data is returned from memcached should be ascii [20:22] jellosea: but data being returned is zlib'd so it might not be ascii right? [20:24] sandstrom has joined the channel [20:24] sandstrom has joined the channel [20:24] aliemmo has joined the channel [20:25] bene1 has left the channel [20:25] hassox has joined the channel [20:25] fille: YOYO [20:26] caiges has joined the channel [20:26] unlink has joined the channel [20:26] `3rdEden: jellosea idk... I do think it should, as I'm asking for the data using the ascii protocol [20:26] raidfive has joined the channel [20:27] jellosea: 9c isn't ascii though right? [20:27] jellosea: the zlib header is 78 9c [20:27] alessio_alex has joined the channel [20:27] bnoordhuis: jellosea: no [20:27] bnoordhuis: you guys should use a buffer [20:27] jellosea: yeah [20:27] jellosea: i agree [20:27] context: jellosea: extended ascii [20:28] jellosea: right [20:28] bnoordhuis: there is no such thing as extended ascii [20:28] context: 129-255 [20:28] context: http://en.wikipedia.org/wiki/Extended_ASCII [20:28] context: wikipedia says you wrong [20:28] bnoordhuis: rumours to the contrary notwithstanding [20:28] sub_pop has joined the channel [20:29] `3rdEden: bnoordhuis use a buffer? that's kinda hard as TCP packets are frameless, so each time the `data` event of the net connection is called I need to check if there is \r\n repsonse [20:29] broofa has joined the channel [20:30] bnoordhuis: `3rdEden: linear scan for byte value 10 followed by 13? [20:30] context: `3rdeden: correct. i highly doubt Socket is gonna do any sort of 'line mode' for you. that's something you'd have to do yourself [20:30] context: and just keep it buffered in your own wrapper until you do get a \r\n [20:31] bradleymeck has joined the channel [20:31] bnoordhuis: `3rdEden: that wouldn't have worked properly with strings either - a tcp packet may be split right between the \r and the \n [20:31] `3rdEden: bnoordhuis thats why i do a indexOf \r\n on the string [20:31] `3rdEden: and just wait if it's not there [20:32] jonaslund: making a small statemachine is not magic [20:32] brolin_ has joined the channel [20:32] hellp has joined the channel [20:33] `3rdEden: changing to buffer only would require a complete rewrite of the module [20:33] thurmda: ugh! I spoke too soon before RE uninstalling nodev0.5.2 `make unistall` make: *** No rule to make target `unistall'. Stop. [20:33] `3rdEden: meh [20:34] bnoordhuis: thurmda: s/unistall/uninstall/ ? [20:34] mange has joined the channel [20:35] thurmda: wow... I'm string at that too long [20:35] thurmda: thx [20:35] jellosea: LOL :) [20:36] thurmda: but even after typing it right, make uninstall , 'uninstall' finished successfully (0.103s) [20:36] thurmda: but `node -v` still returns v0.5.2-pre [20:36] thurmda: :( [20:37] context: just reinstall over top of 0.5.3 [20:37] context: 0.5.2* [20:38] jetienne has joined the channel [20:39] thurmda: I can make nodev0.4.9 but on a 'make install' I get Could not install the file '/usr/local/include/node/eio.h' [20:40] jonaslund: thurmda: you need to be root or sudo or choose another prefix (/local install) [20:41] thurmda: bad day [20:41] thurmda: yes, that wsa ity [20:41] thurmda: was it [20:41] thurmda: OMG I can't even type now [20:42] dans: can anyone tell me why the following just hangs, or possible ways to debug? https://gist.github.com/1093655 [20:43] chrischris has left the channel [20:43] context: res.end() [20:43] context: or does redirect() force an end() [20:44] context: yupe it does [20:45] cl0udy has joined the channel [20:45] dans: i think it might not be the code, think its my mongo server [20:47] srid has joined the channel [20:47] srid has joined the channel [20:47] montylounge has joined the channel [20:47] dans: yes, it is [20:47] jellosea: `3rdEden: is bufferArray a string too? [20:48] `3rdEden: it's a array that contains strings [20:48] kmox83 has joined the channel [20:49] jellosea: do you think the data is already messed up there then? [20:49] `3rdEden: The only spot where you receive buffers is at https://github.com/3rd-Eden/node-memcached/blob/v0.0.1/lib/memcached.js#L406 [20:49] jellosea: since its already a string [20:49] Emmanuel__ has joined the channel [20:49] `3rdEden: and thats also the spot where it's autoatically changed to a string, because we append the buffer to a string. [20:49] jellosea: oh right.. so we have to keep using buffers from there [20:49] jellosea: sigh [20:50] `3rdEden: jellosea [20:50] heavysixer has joined the channel [20:50] `3rdEden: you, and we have to keep creating a larger buffer [20:50] `3rdEden: because you will receive allot of `data` events [20:51] `3rdEden: that sends buffer objects to that function [20:51] airportyh has joined the channel [20:51] jellosea: oh man [20:51] `3rdEden: yeah Iknow o.O [20:51] `3rdEden: rewriting it to use buffers only is going to be soo painfull [20:52] jellosea: are you going to do it :) :) :) [20:52] voodootikigod has joined the channel [20:52] bnoordhuis: `3rdEden jellosea: linked list of buffers? [20:52] sonnym has joined the channel [20:52] bnoordhuis: resizing is an expensive operation [20:52] fille: just wondering.. does the node.js comunity like M$? [20:52] FireFly has joined the channel [20:53] shintaku has left the channel [20:54] jesusabdullah: fille: I haven't heard the overall community weigh down either way. I'm not even sure it's a meaningful question. [20:54] guidocalvano_: is there some way to actually link stuff into some kind of library that can then in turn be linked to some other dynamic library again? [20:54] `3rdEden: bnoordhuis are operations that needs to be executed on the buffers anyways, like the memcached header removal, and copying of the buffers to create one single response [20:54] `3rdEden: buffer [20:55] guidocalvano_: i.e. can I link stuff together into a library that I can then link into a node module using node-waf? [20:56] bnoordhuis: guidocalvano_: check the waf docs for staticlib and uselib [20:56] fille: read an artical about m$ helping out [20:56] jesusabdullah: Well [20:56] jesusabdullah: they are [20:56] guidocalvano_: the waf docs are rather dense... [20:56] bnoordhuis: fille: m$ is so 2003 [20:56] tbranyen: guidocalvano_: not to mention there are like three versions of them [20:56] jesusabdullah: They provided resources to help port node.js to windows [20:57] tbranyen: and the api is seemingly different in each one [20:57] guidocalvano_: and they are quite different [20:57] digman543 has joined the channel [20:57] bnoordhuis: fille: typing it like that, i mean [20:57] fille: :D [20:57] jesusabdullah: I think a lot of people have wanted node.js to run cross-platform because, well, write-once-run-anywhere is awesome [20:57] jesusabdullah: and there are plenty of use cases for running node on a windows box [20:57] tbranyen: guidocalvano_: and if you use cygwin you'll have issues [20:57] jesusabdullah: but that said, I think most node.js devs are mac or linux users [20:57] guidocalvano_: tbranyen: luckily I know the version of node-waf now [20:57] guidocalvano_: tbranyen: I'm on mac [20:58] Murvin: mikeal: hey, after I install the http-fix.js, the npm breaks. [20:58] jesusabdullah: though there are plenty of windows guys that have tried to get it working [20:58] jesusabdullah: in part because javascripters are *everywhere* [20:58] fille: im on ubuntu, i really started to dislike apple [20:58] tbranyen: guidocalvano_: well in case you're interested in how to get cygwin support: https://raw.github.com/tbranyen/nodegit/master/lib/index.js [20:58] jesusabdullah: client-side js doesn't really discriminate against platform [20:58] tbranyen: is what i did [20:58] hdon has joined the channel [20:58] mikeal: isaacs: ^^ [20:58] mikeal: npm breaks with my http fixes [20:59] mikeal: do you deal with the agent directly ever? [20:59] mikeal: i thought you just set agent:false [20:59] mikeal: ? [20:59] Murvin: mikeal: yeah.. it say something like registry illegal [20:59] mikeal: wow, wait [20:59] fille: i feel that getting node.js windows will really take node.js to the buisness world [20:59] mikeal: can you send em that log [20:59] Murvin: ok. [20:59] mikeal: and CC issacs [21:00] mikeal: or, just log an npm ticket [21:00] mikeal: then we'll both see it [21:00] mikeal: i'm on the npm repo [21:00] Murvin: mikeal.rogers, right? [21:00] pifantastic_ has joined the channel [21:00] mikeal: https://github.com/isaacs/npm/issues [21:00] Murvin: issacs,...i don't have his email. lo [21:00] Murvin: ok [21:00] mikeal: just log a ticket there [21:00] mikeal: we'll both see it [21:00] xivusr has joined the channel [21:01] Murvin: sent [21:01] bnoordhuis: mikeal: does this mean i can hold off on that review? :) [21:01] mikeal: no [21:01] mikeal: i bet it's expected [21:01] mikeal: it's probably related to the new Agent API [21:02] mikeal: which is a breaking change [21:02] mikeal: but i want to hunt it down to make sure [21:02] bnoordhuis: there goes my chance to back out [21:03] Murvin: hmm hmm it is on socket. [21:03] Murvin: I think it cannot connect to the host. [21:03] Murvin: i post it already.. it is issues 1162 [21:04] mikeal: what command does this? [21:04] mikeal: Murvin: what command did you run [21:04] mikeal: i'm trying to reproduce locally [21:05] `3rdEden: jellosea the rewrite is not that high my priority list atm [21:05] Aiden_ has joined the channel [21:05] Murvin: mikeal sudo npm install ejs [21:06] jellosea: `3rdEden: cool - i guess i'll get started on it [21:06] Murvin: mikeal: actually, any npm install will fail. e.g. npm install -g.. buecaseu it cannot get the source from github [21:07] DTrejo_ has joined the channel [21:08] mikeal: hrm [21:08] mikeal: can't reproduce [21:08] mikeal: what branch are you using? [21:08] mikeal: http2? [21:08] Xano has joined the channel [21:08] Murvin: ?? [21:09] mikeal: what is httpfix.js? [21:09] Murvin: ok. i m using node 0.4.9. then put your http-fix.js , and recomplie it. [21:09] rileys has joined the channel [21:09] Murvin: your http.js from your http-fix link [21:09] mikeal: ok [21:09] Murvin: then run npm [21:09] mikeal: and you did a rebuild? [21:09] mikeal: you did a make clean && make install [21:10] Murvin: yes. [21:10] Murvin: actually.. the enitre npm breaks [21:10] Emmanuel__ has joined the channel [21:10] mikeal: hrm [21:10] Murvin: i can't even run npm version [21:10] mikeal: what http-fix link? [21:10] mikeal: was it to a branch that was named v0.4.x-http-fix? cause that is old [21:11] mikeal: this is the new branch [21:11] mikeal: https://github.com/mikeal/node/tree/http2 [21:11] materialdesigner has joined the channel [21:11] ryanfitz has joined the channel [21:11] Murvin: mikeal: github.com/mikeal/node/blob/v0.4-httpfix/lib/http.js [21:11] mikeal: yeah, that's old [21:12] mikeal: https://github.com/mikeal/node/blob/http2/lib/http.js [21:12] Murvin: ok.. so just copy that one, rebuild.. [21:12] Murvin: right? [21:12] eldios has joined the channel [21:12] havenn has joined the channel [21:12] mikeal: that *should* work [21:12] mikeal: haven't tried against 0.4.9 base [21:12] mikeal: only against master [21:12] mikeal: oh also [21:12] mikeal: https.js [21:13] mikeal: yeah, you'll need https.js as well [21:13] mikeal: https://github.com/mikeal/node/blob/http2/lib/https.js [21:13] mikeal: i think npm likes to use SSL whenever possible [21:13] Murvin: i let you know in a moment [21:13] Fuu has joined the channel [21:15] hdon has joined the channel [21:16] Murvin: it works now. [21:16] Murvin: :) [21:16] Murvin: thanks [21:17] Murvin: mikeal: is it going to be in next stable version? [21:17] D3Vito has joined the channel [21:19] explodes has joined the channel [21:19] heavysixer has joined the channel [21:19] brettgoulder has joined the channel [21:20] explodes: So in node.js, should I write my functions with callbacks? Or only functions that use functions with callbacks, and functions that may be overriden to use functions that use callbacks? [21:20] c4milo: explodes: my brain exploded with that question ^^ [21:21] AvianFlu: explodes: when you have a function, and you need to know the difference between whether it succeeded and whether it failed, give it a callback [21:21] mikeal has joined the channel [21:21] AvianFlu: if it's something you can just 'fire and forget', like console.log(), then don't [21:21] dreamdust: explodes: This is blocking: var x = myFunction(); This is non-blocking: myFunction() [21:22] dreamdust: If you need to know x or have a result [21:22] dreamdust: then that's when you need a callback [21:22] cha0s has joined the channel [21:22] cha0s has joined the channel [21:23] explodes: Did util.merge get removed from 0.4.9? [21:23] devaholic: why do people have to send out so many one-liners on nodejs gg [21:23] devaholic: do they not realize they are sending to 7500 people [21:23] mike5w3c has joined the channel [21:23] eldios: mmm .. it's still unclear to me how does connect/express identify one user session [21:24] devaholic: eldios, it's just in memory [21:24] devaholic: you'll want to use a database [21:24] hassox has joined the channel [21:24] tjholowaychuk: eldios: join #express [21:24] eldios: tj coming [21:24] tjholowaychuk: not sure what your question is though [21:24] eldios: dave no, I'm actually using couchdb [21:24] eldios: but I was talking about HOW it was accomplished [21:24] dreamdust: @eldios: Look at the session stores on this page towards the bottom [21:24] dreamdust: https://github.com/senchalabs/connect/wiki [21:24] devaholic: oh [21:24] eldios: and since it's technical and apparently we have god here [21:25] eldios: ACTION points at tjholowaychuk  [21:25] tjholowaychuk: ACTION athiest [21:25] devaholic: ... [21:25] eldios: I'm going for a bit in "heaven" to let him in person xplain me [21:25] eldios: =) [21:25] tbranyen: athiesm is too depressing [21:25] tbranyen: thats why i made my own god [21:25] tjholowaychuk: ACTION spells atheist incorrectly [21:25] devaholic: you'll learn, young tj [21:25] eldios: ahaha [21:25] tjholowaychuk: haha [21:25] brianseeders has joined the channel [21:26] dreamdust: I have faith in node [21:26] eldios: yeah.. come to the green hexagonal side [21:26] mikeal: Murvin: sounds like it, Ryan wants to get it in this week but it needs a good review [21:27] mikeal: ACTION looks at bnoordhuis [21:27] eldios: let the green hexagonal force flow through you [21:27] mikeal: eirikurn: hahhaha [21:27] fille: no paypal option for git? [21:27] fille: github.. [21:29] indexzero has joined the channel [21:29] hwinkel has joined the channel [21:31] chrissilich has joined the channel [21:32] daveluke has joined the channel [21:35] iammerrick has joined the channel [21:38] hij1nx has joined the channel [21:39] harthur_ has joined the channel [21:41] stalled has joined the channel [21:42] Bwen has joined the channel [21:43] jameson has joined the channel [21:43] whoops_ has joined the channel [21:43] whoops has joined the channel [21:48] DTrejo has joined the channel [21:48] caiges has joined the channel [21:50] boaz has joined the channel [21:51] temp01 has joined the channel [21:56] mehtryx has joined the channel [21:56] jasonh has joined the channel [21:58] heavysixer has joined the channel [21:58] seb_m_ has joined the channel [21:59] azend has joined the channel [22:01] xeodox has joined the channel [22:01] CIA-107: node: 03Ryan Dahl 07master * re3c1cf3 10/ doc/logos/index.html : Remove toc on logo page - http://bit.ly/pxbxBQ [22:01] xeodox: Does anyone know how to get the request headers in Express? [22:01] tjholowaychuk: xeodox: join #express [22:05] azend has joined the channel [22:06] tsenga has joined the channel [22:06] dguttman has joined the channel [22:06] dambalah has left the channel [22:08] tchype has joined the channel [22:11] jayfresh has joined the channel [22:12] smtlaissezfaire has joined the channel [22:13] squeese has joined the channel [22:13] eldios: goodnight everyone [22:14] reid has joined the channel [22:14] sjbreen has joined the channel [22:15] jakehow has joined the channel [22:16] smtlaissezfaire_ has joined the channel [22:16] davidbanham has joined the channel [22:17] pifantastic has joined the channel [22:18] boaz has joined the channel [22:19] boaz has joined the channel [22:22] Sorella has joined the channel [22:24] robi42 has joined the channel [22:24] bbttxu has joined the channel [22:25] ekryski has joined the channel [22:25] ekryski: anyone generate salts for creating md5 passwords? What did you use? [22:27] temp01 has joined the channel [22:27] xandrews has joined the channel [22:27] jbpros has joined the channel [22:27] tmpvar: ekryski, something like `openssl dsaparam 2048` [22:28] ekryski: tmpvar: this is my first crack at this stuff could you elaborate? [22:28] tmpvar: heh [22:28] Yoric has joined the channel [22:29] jerrysv: heya tmpvar [22:29] ekryski: how can you run that from inside node? [22:29] jerrysv: and heya ekryski [22:29] Mustansir_ has joined the channel [22:29] tmpvar: so you normally dont want to store passwords in plain text, so you hash them. using openssl you can generate a nice long random salt (see my previous statement) [22:29] ekryski: hey jerry [22:29] tmpvar: whats up jerrysv [22:29] jzacsh has joined the channel [22:29] Mustansir has joined the channel [22:29] tmpvar: ekryski, you could... [22:29] jerrysv: de nada [22:30] tmpvar: level3/core sucks, jerrysv [22:30] jerrysv: actually, just sending out emails trying to get the beer.js moving [22:30] tmpvar: ah, nice [22:30] ekryski: Nice! [22:30] jerrysv: tmpvar: i kind of figured that :) [22:30] ekryski: looking forward to it [22:30] Mustansir has joined the channel [22:30] jerrysv: i stay away from the dom, other than snarky comments on occasion [22:31] tmpvar: ekryski, anyhow there are various hashing/crypto libs that you can use with node [22:31] jerrysv: and pull requests that take 10 months to close [22:31] ekryski: ya tmpvar: I got that I want hashed salts, and I know that I can run that command from terminal but I'm trying to augment mongoose-auth password so that it can use md5 [22:31] tmpvar: ekryski, it goes something like hashMethod(salt + password) = storeindb [22:31] tmpvar: ekryski, oh.. well that is quite different than what you asked initially lol [22:32] ekryski: ya I just need to know how I can generate the salt from node. [22:32] tmpvar: generating the salt is usually a one time action [22:32] ekryski: because right now mongoose -auth is using bcrypt [22:32] Mustansir: The way I understand it, you can use anything you want as your salt [22:32] hassox has joined the channel [22:32] tmpvar: Mustansir, that is correct [22:33] Brian` has joined the channel [22:33] Mustansir: so its trivial to do in node :) [22:33] ekryski: ha ha. Ya I know that. I'm just wondering if you guys already knew a way to generate a nice salt from within node. [22:33] ekryski: I don't I was very clear. Sorry its getting later in the day :-) [22:33] namelessjon: ekryski: Why would you be replacing a nice bcrypt hash with something you implemented yourself? [22:33] tmpvar: a -- thats my salt [22:34] tmpvar: jerrysv, i thought you had a use for the dom.. [22:34] ekryski: namelessjon: I don't really want to but our current db is in sql server and the encryption that was used was md5 [22:34] Mustansir: cat /dev/urandom [22:34] jerrysv: tmpvar: oh yeah, guess i did :) [22:34] Mustansir: use that as your salt [22:34] ekryski: I'm hoping that I can port over the salts and the passwords and use it [22:34] tmpvar: ekryski, md5 is not secure :( [22:35] ekryski: I know [22:35] ekryski: maybe I'll just stick with bcrypt. [22:35] tmpvar: jerrysv, lol [22:35] Mustansir: you can access bcrypt from node? [22:35] ekryski: I was trying to avoid having to get users to re-enter their username and password [22:35] ekryski: Mustansir: in mongoose-auth [22:36] tmpvar: ekryski, there is a solution for that as well [22:36] Mustansir: sweet [22:36] ekryski: tmpvar: go on.... [22:36] tmpvar: ekryski, you have a legacy module that upon successful login it ports them over to the new system [22:36] tmpvar: because at that point you know their password ;) [22:36] ekryski: ya that's what we were already thinking. [22:37] digman543 has joined the channel [22:37] tmpvar: well, I guess im just slow [22:37] ekryski: no no. I appreciate the input [22:38] ParadoxQuine has joined the channel [22:38] ekryski: unfortunately that solution doesn't help me with our test database. Unless I just give all our users in the test db a generic password like "password" [22:39] ekryski: I'm trying to port the sql server db to mongo so that I can run some benchmarks. Unfortunately, they are using 2 different encryption schemes [22:39] dreamdust: Then you need to validate with both schemes, the old one first. [22:39] boaz has joined the channel [22:40] jtrudeau has joined the channel [22:40] ekryski: dreamdust: when we get further along that is the plan. For right now I'm gonna use a dirty hack. [22:41] devaholic: npm install bcrypt [22:41] bwinton has joined the channel [22:41] ekryski: I'll temporarily assign passwords for all the users in the mongo test db for now. [22:41] ekryski: Thanks for the input all!! :-D [22:41] indexzero has joined the channel [22:42] ekryski: Soooo. how about beer.js?? [22:42] jerrysv: sent you an email [22:42] ekryski: oh ha ha. Ya I just saw it [22:42] jerrysv: but: http://groups.google.com/group/pdxjs/browse_thread/thread/4505e2c6cf077f43 [22:43] jerrysv: which is to say - #beer.js - portland - http://groups.google.com/group/pdxjs/browse_thread/thread/4505e2c6cf077f43 [22:43] dreamdust: We need one in SF [22:43] jerrysv: you have them in sf :) [22:43] dreamdust: o.O [22:44] tmpvar: ekryski, are you in pdx? [22:44] ekryski: I'll definitely be there on Wednesday. I come in early on Monday morning. Would also be interested in hitting up the brewers festival for a little bit. [22:44] ekryski: nope Calgary in Canada [22:44] ekryski: coming in for OSCON [22:44] jerrysv: brewers festival should be good [22:44] jerrysv: i'll be there for a while on thursday, then need to chill before a dinner that night [22:44] tmpvar: ekryski, ill be around pdx until wed afternoon [22:45] ekryski: sweet. [22:45] tmpvar: yep, we can argue about crypto libs or something [22:45] ekryski: nice! I'll see if I can make it out for a quick beer on Tuesday [22:45] mikey_p: I still can't believe that there's not a node meetup in PDX [22:46] ekryski: What?! Even I started one up in redneck country here [22:46] jerrysv: we have the javascript admirers meeting [22:46] jerrysv: mikey_p: you local? [22:46] ekryski: tmpvar: are you at OSCON too? [22:46] mikey_p: jerrysv: yea [22:47] tmpvar: ekryski, yeah, I'm speaking about jsdom on node day [22:47] jerrysv: mikey_p: come to jsadmirers, and beer.js [22:47] ekryski: sick! What's your real name? [22:47] jerrysv: and we can talk about a node meetup [22:47] jerrysv: that would be awesome [22:47] tmpvar: ekryski, Elijah [22:47] mikey_p: when's beer.js? [22:47] mikey_p: js admirers falls during oscon? [22:48] harthur has joined the channel [22:48] jerrysv: wednesday the 28th, after js admirers [22:48] ekryski: Well Elijah. I look forward to seeing you there. [22:48] jerrysv: yup, fell during osbridge too [22:48] mikey_p: ACTION was at the osbridge JS meetup [22:48] jerrysv: oh. so was i. [22:48] mikey_p: .... [22:48] mikey_p: ha [22:48] jerrysv: ended up back in the back chatting with tyler [22:49] jerrysv: was with the bald guy, eric redmond, and the woman with the purple hair [22:49] jerrysv: was the guy that asked about the differences between phonegap and appcellerator [22:49] jerrysv: er, blue hair [22:50] Murvin: how to make the md5() in node be the same as md5() from PHP? [22:50] Murvin: or any other way to calculate signature [22:51] mikey_p: eric is the guy who did dozen databases in an hour thing? [22:51] devaholic: http://usersinhell.com/dropbox-github-pricing/ [22:51] jerrysv: 7 databases in 7 weeks, yeah [22:52] mikey_p: I saw his presentation at the ruby meetup, that was scary, enough info to get people talking like that stupid xtranormal cartoon [22:52] jerrysv: ha. yeah, eric's a good guy [22:52] jerrysv: will probably see him tonight [22:53] indexzero_ has joined the channel [22:53] mikey_p: what's tonight? AWS meetup? [22:53] AvianFlu_ has joined the channel [22:53] jerrysv: just beer. [22:53] jerrysv: every tuesday night [22:53] kmurph79 has joined the channel [22:53] mikey_p: that's always good [22:53] jerrysv: welcome to join us if you'd like [22:54] jerrysv: crowd size varies from 4 to 15, depending on whatever [22:54] pomodoro has joined the channel [22:56] xandrews has joined the channel [22:56] Murvin: hihi [22:56] Spion has joined the channel [22:58] jscheel_ has joined the channel [22:58] jscheel_ has joined the channel [22:59] Murvin: anyone knows how to make signatures (hash) be the same in php & node.js? [23:00] jerrysv: murvin: md5 should be md5 should be md5 [23:01] Mustansir: umm.. md5 anywhere would be the same. Thats kind of the point right. Same set of strings, always hash to the same md5 hash [23:01] Murvin: jerrysv: have you verify it? [23:01] jerrysv: murvin: across multiple languages and platforms, yeah [23:01] jerrysv: are you salting the same? [23:01] jerrysv: is the input maybe binary and not being treated correctly on one of the languages? [23:01] Murvin: I Just tried "md5('AAA') in php, and use the crypto in node.js to do createHash('md5') for "AAA". both produce different hex values [23:03] jerrysv: > var data = 'aaa'; [23:03] jerrysv: > var crypto = require('crypto'); [23:03] jerrysv: > crypto.createHash('md5').update(data).digest("hex"); [23:03] jerrysv: '47bce5c74f589f4867dbd57e9ca9f808' [23:03] jerrysv: <? [23:03] jerrysv: echo md5('aaa'); [23:03] jerrysv: 47bce5c74f589f4867dbd57e9ca9f808 [23:03] jerrysv: both the same for me? [23:04] Murvin: hmm let me try again [23:04] unlink has joined the channel [23:04] unlink has joined the channel [23:05] Murvin: OK. confirm. you are right.. there is a mistake in my part.. 'AAA' somehow there is a space . thanks. :) [23:06] MarcinM has joined the channel [23:06] MarcinM: In Jade, how do I pass variables inside of :cdata ? [23:07] tjholowaychuk: MarcinM: you should be able to use interpolation #{foo} [23:07] chrischris has joined the channel [23:08] emzeq has joined the channel [23:08] MarcinM: Score. Thanks! [23:09] jerrysv: murvin: np :) [23:09] [[zz]] has joined the channel [23:10] geetarista has joined the channel [23:10] cjm has joined the channel [23:11] zilch has joined the channel [23:13] Mustansir has joined the channel [23:15] xandrews has joined the channel [23:15] SaintL has joined the channel [23:16] CIA-107: libuv: 03Ben Noordhuis 07master * re607584 10/ src/uv-unix.c : uv-unix: in uv_pipe_init: zero the _whole_ uv_pipe_t struct. - http://bit.ly/njuhZw [23:16] SaintL: Is anyone here familar with getting and posting data to websites using Node.js? [23:17] daveluke has joined the channel [23:17] jerrysv: SaintL where node is the client or the server? [23:17] dscape: anyone knows why the faq in https://github.com/joyent/node/wiki points to an unexisting page? [23:18] dreamdust: Last week or two on github I've had issues with the Wiki page and link for projects appearing and disappearing. Maybe I'm not crazy? [23:18] mehtryx has joined the channel [23:19] CIA-107: node: 03Ryan Dahl 07master * r58655da 10/ src/node.cc : [23:19] CIA-107: node: Use ms instead of sec for gc idle times [23:19] CIA-107: node: We were calling V8::IdleNotification too often. - http://bit.ly/rkFD4h [23:20] MarcinM has left the channel [23:21] SaintL: I'm trying to automate submission of content to a couple of servers [23:21] dscape: tilgovi: send me ur email addy [23:22] blup has joined the channel [23:22] dscape: god damn it im terrible at irc [23:22] jerrysv: SaintL: might be worth checking out: https://github.com/mikeal/request [23:23] SaintL: jerrysv: Thanks a ton! I don't suppose you're looking for any freelance work? [23:24] jerrysv: SaintL: no :) i have my hands more than full enough [23:24] SaintL: jerrsv: Fair enough, thank you for the link! Exactly the direction I was trying to head. [23:24] jerrysv: np. [23:25] Xeon06_ has joined the channel [23:28] mikeal has joined the channel [23:29] rfay has joined the channel [23:34] rhdoenge1 has joined the channel [23:35] johnduhart has joined the channel [23:35] Swizec has joined the channel [23:35] akshatj has joined the channel [23:35] ryanfitz_ has joined the channel [23:35] rhdoenges_: who/where should I go to to get issues on joyent/node closed or classified? [23:36] ryanfitz_ has joined the channel [23:37] dividinglimits has left the channel [23:37] c4milo has joined the channel [23:37] bradleymeck has joined the channel [23:38] samBiotic: in ruby you can *array[0..-1] to get array[0], array[1], array[2], array[n] is there something similar in javascript? [23:39] tjholowaychuk: arr.slice(0, -1) [23:39] tjholowaychuk: in js it makes sense, it's a method [23:39] tjholowaychuk: method > lame operator [23:39] samBiotic: cool ta [23:39] sounko has joined the channel [23:39] materialdesigner has joined the channel [23:39] bnoordhuis: rhdoenges_: closing issues you said? [23:40] rhdoenges_: bnoordhuis: I was gonna get started on some in just a minute [23:41] rhdoenges_: should I take a list of them to the mailing list? [23:41] Guest2218 has joined the channel [23:42] bnoordhuis: rhdoenges_: yes please [23:44] rhdoenges_: happy to help [23:47] thiagopnts has joined the channel [23:47] davidbanham has joined the channel [23:49] tjholowaychuk: is node ever going to remove writeHead? I'm considering dropping support for it and just going with the progressive api, it's really annoying handling a) progressive api b) writeHead c) combination of both d) writeHead with an array [23:54] neorab has joined the channel [23:55] Guest2218 has left the channel [23:58] airportyh has joined the channel [23:59] Wizek has joined the channel [23:59] DTrejo has joined the channel