Sparky is a lean, mean webserving machine I developed for Turbo10 and Trexy. I found configuring and performance tuning Apache + mod_perl so painful I ended up writing my own webserver!
Sparky is doing a great job of serving millions of hits per day for Turbo10 and Trexy. It's faster than mod_perl, consumes much less memory, has few prerequisites and is written in pure Perl. Last week I added POST request handling so Sparky now serves The Goo too.
The next phase in the development of Sparky is to fuse its currently separate Request and Response objects into a Context object (ala Catalyst). But I'm not sure how far I should go? Should I emulate the Catalyst dispatch mechanism too? Will this retrofit easily with Uwe Voelker's Catalyst port of The Goo?
I don't want to make yet another Catalyst (e.g., Jifty) but Sparky can't help but benefit from distilling the lessons learnt from these frameworks and others (CGI::Application, CGI::Prototype etc). Hmmm. No matter what happens I need to improve Sparky for Turbo10 and Trexy and a new Context object with a simple dispatch mechanism is definitely on the cards.
The Goo on the other hand will have its own application-specific dispatch mechanism no matter what underlying webserver is used. Given a 'Thing' in a URL (e.g., goo.cgi?thing=HelloWorld.pm&action=p), we need to look up its type (e.g., Perl 5 Thing), the action to be performed (e.g., p -> profile) and dispatch to the appropriate handler (e.g., Goo::Thing::pm::Perl5Profiler).
Each Goo user will also need to run a local "Goo Server" to access local files (i.e., a local file finder) and a light weight standalone server like Sparky is required here. Hmmm. Stay tuned ...
Sunday, February 12, 2006
Finding Files and Doing Things
I've integrated the file finder with the Care-O-Meter. This means I can jump to a file quickly. Here is the latest screenshot of the Care-O-Meter (see the file finder on the right):
This means I need a separate form for updating the locations of Things in the file system:
Cool. Now I don't have to bother about remembering where something is located - no more tiresome directory traversals - up, down, up, up, down. The Goo automatically looks in these locations when it sticks Things together.
This means I need a separate form for updating the locations of Things in the file system:
Cool. Now I don't have to bother about remembering where something is located - no more tiresome directory traversals - up, down, up, up, down. The Goo automatically looks in these locations when it sticks Things together.
Subscribe to:
Posts (Atom)