HTTP::Engine drops Moose for Shika, gains massive speedup

When I recently benchmarked several Perl website development tools, HTTP::Engine had dismal
performance. The slowest performer, it took 1.5 seconds just to print "Hello
World" in a CGI environment and took 14.6 megs of memory to it.

Today the first HTTP::Engine release appeared that replaces Moose with Shika. Shika provides the
essential class-building tools that HTTP::Engine needs with a Moose-compatible
syntax, and strips out the rest of the magic.

The performance improvement was dramatic. The "Hello World" time dropped to
0.19seconds on the same hardware (almost 10 times as fast!) and the memory
usage dropped to 6.6 Megs.

Catalyst is currently slated to use Moose in the next major version. Now that
HTTP::Engine has switched away from Moose for better performance and memory
savings, will other projects follow suit?

Friday October 17, 2008

08:55 AM

Dear Lazyweb: Create a visual timeline of my e-mail folders

Sometimes when I'm scanning an email archive, it would be useful to see it represented as a timeline. So instead of a stored listed, I'd see a cluster of messages in October 2007, and then another bunch in summer 2008, and could zoom in on that.

The closest interface that comes to mind is the bar graph display seen in modern Movable Type admin areas.

Progress on making a self-contained Titanium distribution

Today I made progress on making a self-contained distribution of the Titanium web framework.

The goal is to have a single archive file you can unpack and have a complete web framework to work with-- no more CPAN dependencies to install! You can play with it on your desktop or laptop with the built-in web server, and upload a directory to your web server when you read to go live.

After I patched the great local::lib module, I can now use this simple command to create a "Titanium" directory, into which Titanium and all of it's non-core dependencies will be installed.

But whose ready to run this hairy black magic and production? Perhaps this is good match for using.pmc files? If it works, it would mean that Devel::Declare is not actually used in production, but pure Perl ".pmc" file are used instead, which contains code that Devel::Declare generates.

Announcing Titanium, a strong, lightweight web framework

The first developer release of Titanium has now beenuploaded to CPAN and should be available shortly.

Titanium is a next generation web framework based on CGI::Application.Titanium is designed to provide the underlying strength and flexibility of theCGI::Application framework, while being more user-friendly to deploy anddevelop with.

To this end, several useful plugins for CGI::Application are bundled by defaultwith CGI::Application and are documented directly in Titanium.

Several practices are specifically recommended and documented, such as usingURI dispatching, while details for alternative and advanced functionality forCGI::Application are not included here. Those advanced docs remain available inCGI::Application.

Several useful development and testing tools are installed along with Titanium as well.Here's the full list modules that come with it:

We would leave it up to documentation to make sure users called this first thing.

Alternately, you could have a function that stores the current file position, rewinds and reads the first row, and then returns to the current position. That seems more fragile to me, and I can oly imagine there are some non-rewindable filehandles out there for which it wouldn't work.