[00:11] hassox_ has joined the channel [00:14] jed has joined the channel [00:18] okito has joined the channel [00:22] hassox__ has joined the channel [00:28] jed_ has joined the channel [00:38] mattly has joined the channel [00:49] mikeal has joined the channel [00:55] bpot has joined the channel [00:56] dnolen has joined the channel [00:57] mikeal has joined the channel [00:59] jed_ has joined the channel [01:04] technoweenie has joined the channel [01:06] mcarter has joined the channel [01:09] dnolen_ has joined the channel [01:17] okito has joined the channel [01:22] bpot has joined the channel [01:27] okito has joined the channel [01:27] technoweenie has joined the channel [01:28] cloudhead has joined the channel [01:28] gwoo_ has joined the channel [01:35] Booster has joined the channel [01:40] egorFiNE has joined the channel [01:40] Booster has joined the channel [01:52] mikeal has joined the channel [01:53] steadicat has joined the channel [02:12] charlenopires has joined the channel [02:13] erichocean has joined the channel [02:15] gbot2 has joined the channel [02:15] mattly_ has joined the channel [02:16] jed has joined the channel [02:27] technowe_ has joined the channel [02:33] technoweenie has joined the channel [02:37] gbot2 has joined the channel [02:49] JojoBoss has joined the channel [02:58] gbot2 has joined the channel [03:00] un0mi has joined the channel [03:20] Sidnicious has joined the channel [03:23] erichocean has joined the channel [03:27] JimBastard has joined the channel [03:28] onar_ has joined the channel [03:30] JimBastard: im having some issues getting images to download from node. any idea whats wrong with this? http://gist.github.com/280630 [03:30] mattly has joined the channel [03:30] JimBastard: ive got the setEncoding messed up i think [03:32] steadicat has joined the channel [03:34] inimino has joined the channel [03:34] jed: JimBastard: setBodyEncoding is just for requests, i think. [03:34] Sidnicious: is Content-Length neccesary? [03:34] jed: JimBastard: the second arg of sendBody should do the trick. [03:35] JimBastard: sup jed [03:35] jed: JimBastard: hey, man, how ya. [03:36] kriszyp: yeah, the second arg to sendBody should be "binary" [03:36] inimino has joined the channel [03:37] JimBastard: yeah that worked [03:37] jed: hey kriszyp. [03:37] JimBastard: for sure [03:37] JimBastard: thanks [03:37] kriszyp: hey [03:37] JimBastard: resp.sendBody(content, 'binary'); [03:37] JimBastard: :-) [03:37] jed: teamwork, w00t. [03:37] gwoo has joined the channel [03:37] jed: i think that may be underdocumented. [03:37] JimBastard: i was digging through some of the frameworks to find the code [03:37] jed: i guess there are three options, binary, utf8, and ascii? [03:38] jed: all the docs say is ascii is the default. [03:38] JimBastard: so i guess ill have to do a STAT in order to determine the body encoding? [03:39] JimBastard: (of the file im trying to serve) [03:39] kriszyp: if you are sending static content, you can always do binary [03:39] JimBastard: thats good to know [03:40] kriszyp: thats the way my static handler does it, and it works good [03:40] jed: felixge's paperboy might also be instructive. [03:43] rtomayko has joined the channel [03:54] gbot2 has joined the channel [03:55] eddanger has joined the channel [04:08] jamiew has joined the channel [04:15] steadicat has joined the channel [04:16] onar_ has joined the channel [04:34] markwubben has joined the channel [04:35] micheil has joined the channel [04:36] micheil: morning chaps. [04:36] hassox: hey micheil [04:36] hassox: micheil: where are you based? [04:36] micheil: Australia [04:37] hassox: sydney? [04:37] micheil: about 500km west [04:37] hassox: I think we've done this before haven't we? [04:37] hassox: hrm no we haven't then... [04:37] hassox: are you only just getting up now! :P [04:37] micheil: excepting last time you asked melbourne, and I said 400km north [04:38] hassox: oh so we have [04:38] hassox: cool :) [04:38] jed: hey hassox. how's chain coming? [04:39] okito has joined the channel [04:40] hassox: jed: not bad [04:40] hassox: I'd like some advice [04:41] hassox: I've started implementing the relevant (non-sync) bits of http://wiki.commonjs.org/wiki/JSGI/Level0/A/Draft2 [04:41] hassox: atm I'm doing the request... [04:41] hassox: I'm thinking of making most of them getters / setters [04:41] hassox: any thoughts? [04:43] deanlandolt: hassox: that seems reasonable [04:43] hassox: are getters / setters heaps slower than just setting everything when the request comes in? [04:43] hassox: do you think... [04:44] deanlandolt: intuition tells me they'd be a little slower with a (tiny amount) more memory overhead, but my gut's usually wrong [04:45] hassox: I'm not sure just how to benchmark just yet in node [04:45] deanlandolt: still, premature optimization and all that...if getters/setters get you to a workable implementation they're perfect [04:45] mattly has joined the channel [04:46] cloudhead: what convention do you guys use for require paths and all, when requiring your own libs? [04:47] deanlandolt: cloudhead: do you mean the question of whether to create a main /lib/mylibrary.js as a public interface and put everything else in /lib/mylibrary/? [04:47] JoePeck has joined the channel [04:48] deanlandolt: that's popular...i just had that conversation with kriszyp tonight -- he's just putting everything in /lib/ and brought up some good reasons for doing so [04:49] cloudhead: deanlandolt: I mean requiring external libs actually [04:49] cloudhead: so like, if you're writing an app [04:49] kriszyp: hassox: are you aware of http://github.com/kriszyp/jsgi-node/ ? [04:49] cloudhead: and write a db client [04:49] cloudhead: where do you put the db client, and how do you require it from your app [04:50] kriszyp: are you writing a better one? [04:50] hassox: kriszyp: yes [04:50] kriszyp: writing a better one? [04:50] kriszyp: that would be cool [04:50] hassox: I'm writing a convention that is not ambiguous as to weather or not it's async [04:50] hassox: I wrote a post on it today [04:50] jed: interesting. where is the post? [04:50] kriszyp: hmm, not sure what that means [04:50] kriszyp: yeah, can i see the post? [04:51] hassox: I'm not much of a writer ;) [04:51] hassox: http://doend.wordpress.com/2010/01/18/chain-async-foundation-for-your-web-apps/ [04:51] jed: i decided to make my framework all async. but with nice handlers so that it codes like it's sync. [04:51] deanlandolt: cloudhead: this is a db client lib you're important? [04:51] hassox: jed: what's that one? [04:51] deanlandolt: s/important/importing [04:51] jed: hassox: http://github.com/jed/fab/ [04:52] hassox: cool [04:52] cloudhead: deanlandolt: yea [04:52] hassox: we should nut out how to mount chain in fab and vice versa [04:52] cloudhead: but I'd like to put it somewhere which allows me to use it in other projects [04:52] kriszyp: it doesn't sound like JSGI [04:53] deanlandolt: cloudhead: i'm not sure of the node convention, but frankly, it shouldn't matter where you put it if you control your own require.paths [04:53] jed: hassox: yeah, (fab) is all about middleware, so it shouldn't be too hard on my end, depending on what chain supports. [04:53] jed: hassox: chain is definitely more ambitious, i think. [04:53] deanlandolt: in narwhal (what i'm used to) the convention is to put everythign in a /packages/ dir, or symlink to the actual packages there [04:53] hassox: jed: a chain app is just an object that has an onRequest method that takes the chain env [04:53] hassox: kriszyp: ? [04:54] hassox: what do you mean [04:54] jed: hassox: well, it must do more than that, no? [04:54] hassox: not much [04:54] hassox: jed: it's mostly a convention [04:54] hassox: it does take care of how to transition between middlewares, and sets up some callbacks, but that's about it [04:54] kriszyp: maybe I am confused, but a JSGI app is a function that takes a request as a parameter, not an interface that implements onRequest [04:55] hassox: kriszyp: try making a router that you can dynamically add routes to when it's just a function [04:55] hassox: or make a middleware that is an event emitter [04:56] deanlandolt: hassox: both are possible [04:56] cloudhead: deanlandolt: the problem's that the actual files are in /lib/, so I'd have to individually specify all paths [04:56] deanlandolt: not strictly an "event emitter" but functionally equiv [04:56] hassox: I asked for ages how to do and now one could tell me [04:56] kriszyp: also, just in case you are curious what async-ready (handles both sync and async) middleware for pure JSGI looks like, I have written bunch of them here: http://github.com/kriszyp/pintura/tree/master/lib/jsgi/ [04:56] hassox: using an object means it's flexible, and doesn't melt your brain for noobs [04:57] kriszyp: maybe you are looking to go in a different direction, not sure [04:57] hassox: kriszyp: I've seen quite a few [04:57] kriszyp: ok [04:57] hassox: I'll open that for later reading though [04:57] JimBastard: whats up with porting Jack to node? [04:57] kriszyp: you mean JSGI to node? [04:57] JimBastard: sure [04:57] kriszyp: it means that JSGI apps can run on Node :P [04:58] deanlandolt: JimBastard: are you asking whether it's possible to port Jack to node? [04:58] kriszyp: (or in my case, a web framework can run on Node and Jack) [04:58] JimBastard: im saying when is someone gonna do it [04:58] JimBastard: there isnt any good node middleware im aware of [04:58] kriszyp: we did [04:58] kriszyp: http://github.com/kriszyp/jsgi-node/ [04:59] JimBastard: o [04:59] hassox: why port a sync model to an async environment .... [04:59] kriszyp: I've been using it to run pintura on node [04:59] deanlandolt: kriszyp: what about all the narwhalisms in jack? like multipart stuff? [04:59] kriszyp: jsgi is async [04:59] hassox: it's async bolted onto sync... [04:59] hassox: kriszyp: we've done this before ;) [04:59] mikeal: i kinda feel the same way at this point [04:59] kriszyp: deanlandolt: multipart is a pain, it is not actually working yet in node [05:00] kriszyp: I'll get to that sometime [05:00] mikeal: i also don't see the value in describing a container that isn't specific to node [05:00] deanlandolt: kriszyp: cool...i was just kinda curious -- i'm pretty intimate with the multipart stuff in jack [05:00] kriszyp: well, like it or not, I am able to run on async web framework on node and jack with it [05:00] hassox: kriszyp: jsgi is borrowed a lot from rack and wsgi which are both sync [05:00] mikeal: and jsgi is attempting to be not be node specific [05:00] hassox: there's so much baggage to support for it, why not start a new spec for a new paradigm? [05:00] deanlandolt: hassox: so? it's also diverged quite a bit from both [05:01] deanlandolt: the only baggage is naming conventions, which ultimately we mostly eschewed [05:01] mikeal: i really don't see the value in doing something not node specific since the IO model is so unique and specific [05:01] kriszyp: wouldn't you characterize node as fairly promise-based? [05:01] hassox: kriszyp: no [05:01] kriszyp: node isn't very unique, narwhal uses the same event-model [05:01] hassox: i'd charachterise it as an async environment [05:01] micheil: cloudhead: generally for importing other libs, I go with /lib/vender/{module name} [05:01] hassox: promises are one way to achive that [05:01] mikeal: the thing is [05:02] micheil: node-smtp is also now purely promise based.. [05:02] kriszyp: node is unique in that it supports v8, which rocks :) [05:02] mikeal: wsgi, and similar specifications, provide a standard connector between an HTTP server and the language bindings [05:02] cloudhead: micheil: but isn't the standard format /foo/lib/foo ? [05:02] hassox: kriszyp: I love a good standard... please don't get me wrong [05:02] mikeal: so you can not care about the language VM and not care about the server [05:02] mikeal: and not care about the application framework [05:02] micheil: cloudhead: yeah [05:03] mikeal: but making it not specific to the node VM would be useless [05:03] hassox: but if the standard is too heavy and mostly not relevant, then I think it needs to be heavily revised rather than shoe-horned [05:03] kriszyp: I am surprised that you don't think node has a slant towards promises [05:03] micheil: so you might get require(/lib/vendor/foo/lib/foo) [05:03] kriszyp: it is in a lot of the apis [05:03] hassox: kriszyp: sure it's there... [05:03] hassox: but it's just one option in the async toolbox [05:03] cloudhead: micheil: I see... that's what I was trying to avoid though, I'd like to just be able to do require('foo') [05:03] mikeal: kriszyp: do the alternate event machines use promises? [05:03] kriszyp: mikeal: yes [05:04] mikeal: very nice [05:04] mikeal: so yeah, if it's not promise driven it doesn't serve much purpose [05:04] micheil: cloudhead: the reason I go with the lib/vendor/ thing or vendor/xtyz is to not confuse my code with the work of others [05:04] kriszyp: almost all major event machines out there have realized the necessity of promises for scalable, encapsulated code [05:04] mikeal: the problem it's trying to solve doesn't really exist [05:04] hassox: mikeal: why do you say that [05:04] kriszyp: so why do you think it is good for files, but bad for http? [05:04] mikeal: because there aren't a number of alternate http servers that don't use similar APIs [05:05] mikeal: and there aren't a bunch of VMs that can be supported [05:05] kriszyp: CPS style (callbacks) couple async handling with the interface design, promise decouple those concerns [05:05] mikeal: so a connector between the HTTP server and the Application layer seems somewhat useless [05:05] hassox: kriszyp: can you ensure if I use jsgi that I'm going to have all my middlewares async.. and that the transitions between them will be async? [05:06] cloudhead: micheil: hmm, the thing is I'd like to distribute some libs which require other libs, so I want it to work in a pretty standard way [05:06] deanlandolt: hassox: _you_ can ensure that by just building an async stack [05:06] kriszyp: you mean can I ensure that everyone who writes middleware will write their code correctly? :P [05:06] kriszyp: um, no :) [05:06] hassox: deanlandolt: sure if I want to build ever piece of the stack myself [05:06] mikeal: it's hard to write blocking code in node [05:06] micheil: cloudhead: sorry, you're not making much sense, but I've not had much sleep so... [05:06] hassox: kriszyp: no that not what I mean [05:06] hassox: this is why I think jsgi's async is broken [05:06] cloudhead: micheil: say I release two libs, and one depends on the other [05:06] mikeal: hassox: what is the problem you are trying to solve? [05:07] hassox: if anything sync should be built on top o f async [05:07] deanlandolt: hassox: you can _assemble_ your stack from async middleware...what's wrong with that? [05:07] micheil: then put one in the vendor directory [05:07] mikeal: because the problem wsgi solves isn't really an issue in node [05:07] hassox: deanlandolt: ? [05:07] cloudhead: yea I guess that's the best thing to do at this point [05:07] mikeal: if you want to build a middleware system why don't you write a plugin system or a framework instead of a server connector specification [05:07] cloudhead: as a git submodule or something [05:07] hassox: I want to maximise the amount of community code re-use for an async environment [05:07] micheil: cloudhead: structure your libs around the commonjs package syntax, then inside the lib folder, along side all your code, have a vendor directory, which has any external libs [05:07] deanlandolt: hassox: you build your own middleware stack, obviously -- just use good async middleware, what's wrong with that? [05:08] cloudhead: micheil: sounds good [05:08] hassox: we're going to need to have "oh it's jsgi... but is it async or sync?" [05:08] micheil: cloudhead: check out how I've done node-smtp [05:08] deanlandolt: hassox: i hear you [05:08] micheil: that's probably my only example of it though [05:08] hassox: deanlandolt: why not must make it so that all middleware is async in the convention [05:08] hassox: done deal [05:08] kriszyp: all the middleware I have written is async [05:08] hassox: sure [05:09] deanlandolt: hassox: because that's not how a lot of folks want to code [05:09] hassox: then don't use node [05:09] hassox: and don't pollute the middleware landscape with sync middlewares [05:09] hassox: IMHO [05:09] cloudhead: micheil: sounds good, thanks [05:09] deanlandolt: that's fine...but jsgi's not just for node (it's awesome that it can work on node though...thanks kriszyp and was it jed, right?) [05:09] kriszyp: yeah, it was jed [05:09] cloudhead: eventually I hope we get some sort of standardized packaging system [05:10] mikeal: so [05:10] cloudhead: to not have to deal with this [05:10] jed: deanlandolt: naw, all kris. [05:10] deanlandolt: hassox: there'll always be bad code, sync or async...just don't use it [05:10] mikeal: if you look at the history of attempting to support async with wsgi [05:10] mikeal: it's a long list of fail [05:10] deanlandolt: mikeal: indeed [05:10] hassox: deanlandolt: there's a whole lot more complexity that's introduced by supporting both [05:11] mikeal: the problem here, is that you have totally different IO models between node and say Rhino or some other js vm [05:11] hassox: the base we build on should be dead arse simple [05:11] deanlandolt: hassox: how? [05:11] kriszyp: anyway, I am not trying to criticize what you are doing with chain, hassox, sounds cool, but JSGI has good traction, it works well with node, and with all the async code I have written, it feels great. [05:11] deanlandolt: indeed...but rhino has nio [05:11] mikeal: so having a connector standard that supports both in sync and async systems is insane [05:11] hassox: kriszyp: I don't mean to crit jsgi, but I know that I am which makes me sad.. :( [05:12] hassox: I just don't understand why effort is being put into a compromise that fractures the landscape in an async world [05:12] mikeal: i think there is a place for something **like** jsgi [05:12] deanlandolt: mikeal: it's less crazy than you think...it's just a matter of a "when" [05:12] kriszyp: yeah, I think pretty much all the major SSJS players out there are using or moving to the same type of event-loop based evented I/O as node [05:12] hassox: that being the case, shouldn't we have a standard that is not a compromise [05:12] deanlandolt: hassox: fractures the landscape? i don't follow? just because sync is possible? [05:12] hassox: share as much as we can [05:13] mikeal: so [05:13] hassox: deanlandolt: because I have to worry about it [05:13] mikeal: the reason I actually like node [05:13] deanlandolt: hassox: i'll buy that... [05:13] mikeal: much more then say Twisted or one of the other async systems for another language [05:13] deanlandolt: how about that... [05:13] mikeal: is becuase **everything** is async [05:13] deanlandolt: err..how about this... [05:13] mikeal: and you can grab any module, use it, and not worry about it blocking the event machine [05:13] deanlandolt: we can write some middleware that tests the middleware chain to ensure nothing blocks :) [05:14] hassox: mikeal: exactly! [05:14] mikeal: if you create connector standard for sync and async, basically to help people write code that runs anywhere [05:14] hassox: deanlandolt: righto... [05:14] kriszyp: deanlandolt: thats a good idea [05:14] hassox: I'd be happy to join forces [05:14] mikeal: you're opening the doors to all this crap that people write for blocking IO models [05:14] hassox: but I'm not wanting a bandaid fix for something at the very start of it's inception [05:15] deanlandolt: hassox: fair enough...but js is one big baindaid ;) [05:15] deanlandolt: some things have traction, and there's no getting around it [05:15] hassox: sure [05:15] tlrobinson: it's a very elegant band aid if you ask me ;) [05:15] deanlandolt: heh :) [05:15] hassox: I know you guys all love it [05:15] mikeal: so [05:16] kriszyp: so the objection to JSGI is the use of promises? (since we know that it is async) [05:16] deanlandolt: the wsgi/rack model has traction and people get it...we can do /that/ and async...what's so wrong with that? [05:16] hassox: no [05:16] hassox: that's not the objection [05:16] hassox: the objection is that it's not async at it's heart [05:16] hassox: it's an after thought, a compromise [05:16] kriszyp: cuz I still think promises rock [05:16] hassox: kriszyp: why bother returning anything [05:17] hassox: a middleware chain is irrelevant [05:17] mikeal: the point of a standard is to provide some measure of interoperability when you comply with the standard [05:17] kriszyp: if you want to look at the commonjs archives, we discussed async http interface from day one [05:17] hassox: callbacks can be attached where needed [05:17] kriszyp: that was one of the first messages, actually [05:17] steadicat has joined the channel [05:17] hassox: kriszyp: so why didn't you go twith it [05:17] hassox: ? [05:17] kriszyp: not sure I understood that [05:17] mikeal: if you create a sync/async standard for a connector you're basically creating two diverging paths for compliance [05:17] kriszyp: is hex form of swearing? [05:17] deanlandolt: hassox: my guess is because jsgi (jack, at the time) worked (that was before my time) [05:18] mikeal: which means that being jsgi compliant doesn't mean you interop with anybody necessarily [05:18] deanlandolt: mikeal: being jsgi-compliant means you understand how to pass a request and what to do with a response... [05:18] mikeal: no [05:18] deanlandolt: being async-jsgi compliant means knowing what to do with a responsePromise [05:19] mikeal: i mean you either block [05:19] mikeal: or you call something that can't be supported in a blocking IO model [05:19] hassox: deanlandolt: and the two don't always mix, unless you're expecting it... [05:19] mikeal: so if I'm jsgi compliant there is a 50% chance I actually work [05:19] deanlandolt: hassox: i get that you could totally tank an event loop [05:19] micheil: okay.. I think I've got smtp client nutted out. [05:19] hassox: and even if you do respond with promises, you still have to walk the full length of the middleware stack before you stop blocking [05:19] mikeal: well [05:19] micheil: still need to write tests though for it [05:20] mikeal: and if you respond with promises, what happens in some other javascript VM that doesn't have them [05:20] micheil: hmm.. time for breakfast. [05:20] kriszyp: promises aren't at the VM level [05:20] mikeal: as much as I love promises [05:20] deanlandolt: mikeal: then that vm doesn't have an async jsgi server [05:20] mikeal: it's in process [05:20] hassox: why impose the implementation of the async behaviour? [05:20] mikeal: which means it's part of the runtime [05:21] deanlandolt: kriszyp: aren't there certain engines that can't support event-loops? [05:21] mikeal: it's not there in my crazy dojo/Rhino SSJS application [05:21] hassox: why hnot just say, when there's a transition, the transition must not block [05:21] deanlandolt: or rather, controlling the event loop [05:21] kriszyp: well, we have it working on rhino, and all the engines work in the browser which is an event loop [05:21] mikeal: haha, you have the same problem [05:21] kriszyp: so, no, I don't think there is any that don't support event loops [05:22] mikeal: now you're saying "you can return some kind of non-blocking primitive that takes callbacks" [05:22] mikeal: which means it can return anything, which means now you also don't have a way to write good compliance on the server end [05:22] hassox: mikeal: agreed [05:22] hassox: its' confusing especially for noobs [05:23] mikeal: forget about middelware for a second [05:23] kriszyp: well, I need to head to bed... [05:23] kriszyp: fun discussion, async rules ;) [05:24] mikeal: i'm a developer [05:24] mikeal: i need to be able to write a server that supports this standard [05:24] mikeal: or i'm a framework developer, and i need to write a web framework that supports this standard [05:24] hassox: mikeal: yes [05:24] mikeal: how can I make sure I'm not broken [05:24] hassox: yeah... dunno [05:24] hassox: the question also is how do you do mounted applications robustly [05:25] hassox: and implement routers and any number of other things that need to be addressed [05:25] mikeal: solve the simple problem first [05:25] mikeal: before middleware, before Django, wsgi solved the simple problem first [05:26] mikeal: and kind of messed that up [05:26] hassox: mikeal: that's what I've been trying to work on [05:29] cloudhead: micheil: had to do something like this: http://gist.github.com/280694 [05:29] cloudhead: for it to be reliable, regardless of the directory from which I called the script [05:50] inimino: I wish hassox would write up his objections to JSGI in a single document somewhere, with examples [05:50] inimino: I still have no idea what all this is really about [06:34] howardr has joined the channel [06:34] technoweenie has joined the channel [06:38] orlando_ has joined the channel [07:02] un0mi has joined the channel [07:18] dnolen has joined the channel [07:28] felixge has joined the channel [07:32] rictic has joined the channel [07:34] lifo has joined the channel [07:38] un0mi has joined the channel [07:48] felixge: morning [07:48] mikeal has joined the channel [07:48] micheil: pure. [07:53] inimino: morning felixge [07:54] felixge: inimino: moin [07:55] felixge: bah I hate getting up early, this is what a late night backup cron jobs life must feel like :( [07:56] inimino: hehe [07:56] felixge: does anybody know if the date object can be trusted across different processes? [07:57] qFox has joined the channel [07:57] felixge: I'm trying to measure latency, but I'm not sure how to keep time [08:08] inimino: felixge: it should work fine, of course it only has ms precision... [08:09] felixge: ms precision is fine :) [08:11] piranha has joined the channel [08:15] DamZ has joined the channel [08:16] zmoog has joined the channel [08:26] felixge: is anybody else having issues where sys.puts & friends truncate on large strings? [08:34] BBB has joined the channel [08:55] teemow has joined the channel [08:59] erichocean has joined the channel [09:14] mikeal has joined the channel [09:19] hassox has joined the channel [09:23] dnolen has joined the channel [09:37] un0mi has joined the channel [09:57] dnolen has joined the channel [10:01] eviltwin has joined the channel [10:15] mikeal has joined the channel [10:23] howardr_ has joined the channel [10:37] ZhouYu has joined the channel [10:38] pdelgallego has joined the channel [10:39] un0mi has joined the channel [10:48] JimBastard has joined the channel [10:48] JimBastard: where can i find docs on the update that broke req.uri.path? [10:49] micheil: it's called the source code probably [10:52] JimBastard: do you have any idea what the fix is? [10:52] JimBastard: fu.js is broken and i cant use node_debug >.< [10:55] blackdog` has joined the channel [10:57] JimBastard: its require('url').parse(request.url) [10:58] JimBastard: just not sure how to call it [11:07] JimBastard: i got it [11:09] JimBastard: errr so how do i get params using the new url module? [11:10] JimBastard: errr updated docs http://nodejs.org/api.html#_url_module [11:20] JimBastard: micheil you have any idea how the new url module works? i can't seem to get the query string params as an object [11:20] JimBastard: just text [11:20] JimBastard: i need to replace this process.mixin(true, httpParams, req.uri.params); [11:20] micheil: see: http://nodejs.org/api.html#_query_string_module [11:21] JimBastard: durr got it [11:21] JimBastard: had to keep reading [11:21] micheil: url.parse(url, true) [11:21] micheil: is also used [11:24] JimBastard: req.uri.params = querystring.parse(req.uri.query); [11:24] JimBastard: grrrr [11:24] JimBastard: gotta update a bunch of shit now [11:27] JimBastard: multipart.parse(req).addCallback(function(httpParams) { seems to be shitting itself now too [11:34] dnolen_ has joined the channel [11:35] piranha_ has joined the channel [11:55] pyrotechnick has joined the channel [11:56] pyrotechnick: Has anyone been experiencing intermittent dropouts with node http? [11:56] pyrotechnick: like hanging requests, bad responses that kind of thing [11:57] JimBastard: yeah [11:57] pyrotechnick: I've tried a number of ways to serve a few pages, an a couple of the web frameworks but they all seem to suffer the same issues [11:57] JimBastard: thats why i just tried updating [11:57] pyrotechnick: me too [11:57] pyrotechnick: it doesn't help [11:57] pyrotechnick: *sigh* [11:57] JimBastard: i think a process monitor might be needed to restart [11:58] JimBastard: there are a few things that caus crashes [11:58] JimBastard: but its getting better [11:58] pyrotechnick: hmm> [11:58] pyrotechnick: process monitor? [11:58] pyrotechnick: mine doesnt crash [11:58] JimBastard: o [11:58] pyrotechnick: in fact it keeps responding to future requests after it "bombs" out [11:58] pyrotechnick: i mean [11:58] pyrotechnick: it keeps accepting them [11:58] pyrotechnick: but it never replies [11:58] pyrotechnick: everything i've downloaded that uses node http seems to be plagued with the same issue [11:58] pyrotechnick: as well as the code i've written myself [11:59] pyrotechnick: its such a shame [11:59] pyrotechnick: i was really enjoying this project i had begun and node really is the only thing that has made it possible [11:59] pyrotechnick: but it's probably too early to dedicate this much time to when it's this unreliable [12:00] pyrotechnick: visionmedia's express has the same issue, works perfectly on the first request, subsequent requests bomb out [12:02] pyrotechnick: if anyone reads this and has a solution/workaround please please email me pyrotechnick@gmail.com or message me on github@pyrotechnick [12:12] bry has joined the channel [12:20] micheil: it would have been useful if pyrotechnick had left their os and version of node they were using.. [12:27] jfd has joined the channel [12:48] alex-desktop has joined the channel [12:48] DamZ has joined the channel [12:52] felixge_ has joined the channel [13:07] charlenopires has joined the channel [13:07] lifo_ has joined the channel [13:12] JimBastard has joined the channel [13:12] JimBastard: so why does multipart.parse(req).addCallback(function() { error now? [13:13] JimBastard: Content-Type header not set [13:21] kriszyp_afk has joined the channel [13:26] mcarter_ has joined the channel [13:26] pmuellr has joined the channel [13:40] Booster has joined the channel [13:47] felixge_: JimBastard: you are very likely passing in an invalid request [13:55] stevestmartin has joined the channel [14:01] dnolen has joined the channel [14:14] Booster has joined the channel [14:14] keeto_ has joined the channel [14:25] davidsklar has joined the channel [14:44] Booster has joined the channel [14:54] alexiskander has joined the channel [15:18] philippbosch has joined the channel [15:24] cloudhead has joined the channel [15:41] ZhouYu has joined the channel [15:53] voodootikigod_ has joined the channel [15:55] steadicat has joined the channel [15:56] brianm has joined the channel [15:57] charlenopires has joined the channel [16:02] dnolen has joined the channel [16:05] steadicat has joined the channel [16:27] _ry: morning [16:27] DamZ_ has joined the channel [16:28] stevestmartin: morning [16:32] philippbosch: hi guys! sorry for this noob question... i'm trying to run the example for process.createChildProcess which is given in the documentation at http://nodejs.org/api.html#_child_processes – shouldn't that output a directory listing? in my case it doesn't output anything. [16:35] inimino: morning [16:36] philippbosch: if i use sys.exec('...') however it works fine [16:37] inimino: hm, odd [16:37] inimino: ACTION hasn't tried it [16:37] inimino: philippbosch: got a test case? [16:40] philippbosch: my testcase is the code in the documentation. [16:41] philippbosch: wait, i'll create a paste [16:41] mattly has joined the channel