[Mongrel] Streaming content

2007-03-25 Thread Ry Dahl
Hello I'm attempting to write a mongrel plug-in which would stream a response. At first I was doing this def process(request, response) response.start do |head,out| head['Content-Type'] = 'text/html' %w{o m g}.each { |c| out.puts c; sleep 5; } end response.done = true

Re: [Mongrel] Streaming content

2007-03-27 Thread Ry Dahl
If attempting to circumvent a web server's writing procedures, be sure to send the HTTP headers yourself! (i'm an idiot) thanks for listening, ry On 3/26/07, Ry Dahl [EMAIL PROTECTED] wrote: Hello I'm attempting to write a mongrel plug-in which would stream a response. At first I

[Mongrel] a new upload progress bar

2007-04-02 Thread Ry Dahl
I'm modifying techno weenie's progress bar plug-in. Currently it works by making the browser poll the server, via AJAX, for updates on amount received. My plug-in provides a handler which will stream updates on the amount received, thus only one request needs to be made. Also, the progress can be

Re: [Mongrel] a new upload progress bar

2007-04-25 Thread Ry Dahl
I've just seen this too and I think it's a better way to go: sending JSON instead updates instead of js function calls. Note, it appears that the lighty plug-in does not stream this response: you are still required to poll the server for each update. Status: I've been idly toying with the idea

[Mongrel] streaming upload progress plug-in

2007-07-07 Thread ry dahl
I'm working on new methods of doing Ajax calls through streaming responses. I've created a little javascript library (which depends on prototype.js) that can interpret a stream of JSON objects separated by semicolons. As an application of this, this Mongrel plug-in streams upload status when

[Mongrel] SqueezeBox, a new Mongrel handler

2007-08-13 Thread ry dahl
SqueezeBox is a simple file system based routing framework for erubis templates. It aims for a couple of niceties as well: Instead of putting your logic inside your template, like you would with PHP, SqueezeBox recognizes a separate logic file to be called before it loads the template. This

[Mongrel] http helpers c extension

2007-09-22 Thread ry dahl
hi, I rewrote escape, unescape, and query_parse in a C extension. http://s3.amazonaws.com/four.livejournal/20070922/http_helpers.tar.bz2 Here are some sample benchmarks (the benchmark script is included in the package) user system totalreal escape: Single long Mongrel:

Re: [Mongrel] http helpers c extension

2007-09-22 Thread ry dahl
Hi Zed, this isn't ready to just be inserted into Mongrel as it is. I just wrote it for fun/to see if I could make Merb faster/to learn ragel. I thought I would clean it up and reformat it if y'all were interested - it has several crashing problems and it doesn't work with cookies yet. I'm

[Mongrel] [ANN] Ebb Web Server

2008-01-14 Thread ry dahl
and development. You may browse the git repository at http://repo.or.cz/w/ebb.git or check out the code with this command: git clone git://repo.or.cz/ebb.git I release Ebb under the MIT license. It is very fun to program Ebb so I suggest you do too :) Ry Dahl

Re: [Mongrel] [ANN] Ebb Web Server

2008-01-14 Thread ry dahl
A svn repo clone? (git-svn)? Not all jumped into the git bandwagon :-) Sorry - my hosting abilities are limited. I also find the multitude of revision control software annoying (but git seems functional!) apt-get install git ry ___ Mongrel-users

Re: [Mongrel] [ANN] Ebb Web Server

2008-01-14 Thread ry dahl
:03 PM, Ezra Zygmuntowicz [EMAIL PROTECTED] wrote: On Jan 14, 2008, at 8:43 AM, ry dahl wrote: Hello Mongrel Users, I'm writing a web server called Ebb. It's written in C, makes use of the Mongrel HTTP parser, and uses libev its event loop. The goal is to be small, fast, and language

Re: [Mongrel] [ANN] Ebb Web Server

2008-01-21 Thread ry dahl
/20080121/ebb.png The code for that benchmark (and chart generation) can be found in the Ebb repo: http://repo.or.cz/w/ebb.git?a=commit;h=c2fecde0a04603727949ec0b05d694be89a464d2 ry On Jan 14, 2008 5:43 PM, ry dahl [EMAIL PROTECTED] wrote: Hello Mongrel Users, I'm writing a web server called Ebb

Re: [Mongrel] [ANN] Ebb Web Server

2008-01-21 Thread ry dahl
svn mirror is coming, right? :-D Hi Luis, I'll put it on github when they open (or another service?) Apparently their svn bridge isn't fully functional yet. ry ___ Mongrel-users mailing list Mongrel-users@rubyforge.org

Re: [Mongrel] [ANN] Ebb Web Server

2008-01-21 Thread ry dahl
G, you need a Y axis Ry. What is that measuring. Hell, shoot me the raw data and I'll do the graph with R (since I'm curious). The vertical axis is requests/sec (says at the top of the graph). I don't bother to give actual numbers because it's only to demonstrate the relative increase in

Re: [Mongrel] [ANN] Ebb Web Server

2008-01-22 Thread ry dahl
I see what you're saying but unfortunately without numbers on the ordinate -- specifically without knowing where zero is -- it's impossible to evaluate even the relative differences. Oh yeah, sorry, zero is at the the bottom. yes, the graph could be clearer.. below is my data - each line is an

Re: [Mongrel] [ANN] Ebb Web Server

2008-01-22 Thread ry dahl
For sake of completeness, can you compare it with plain mongrel? Yes, i'll do that in future benchmarks. The monkey patching that swiftiply does makes it not so easy to run regular mongrel and evented mongrel from the same script. Speaking of future benchmarks, I will not make announcements to

Re: [Mongrel] Transfer-Encoding: Chunked

2008-02-15 Thread ry dahl
With out a content-length set in the request, everything is treating the content length as 0 and the file is more or less getting sent to the bit bucket. Is the content length header really not getting set? Mongrel automatically sets this. If you do something like while writing the response

Re: [Mongrel] Mongrel performance study

2008-04-08 Thread ry dahl
I'm actually working on a presentation for RuPy so if you'd like to hack on a repeatable study with an automated report let me know. ebb includes four different benchmarks that i often use to measure against thin, mongrel, fastcgi, and evented mongrel.