Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Catalyst webbapp to try interactions with picasa.
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
db
lib
root
script
.gitignore
Changes
Makefile.PL
README.md
smoke.example.conf

README.md

This file documents the revision history for Perl extension Smoke.

First version: 2010-11-09 21:51:56

Use

A lot of this work is made to study Catalyst and try a fast way to show photos from mobile phone.

I take a pic with mobile phone, upload on picasa albums, and website gallery show it. It works.

Modules used

  • Catalyst project
  • Template::Toolkit
  • XML::Atom::Feed to manage Picasa images
  • Moose
  • DBI
  • PostgreSQL
  • javascript
    • Ajax (see root/template/wrapper)
    • jquery framework

Minimal description

I have also Pg backend for Quotes and Links and DBI interface writes ad-hoc.

XML::Feed benchmarks

Working on this webapp I found some interesting result with xml feeds (RSS/Atom).

Atom module is really more fast...

sim@idrogeno:~/dev/perl/xml$ perl test_parser.pl
           (warning: too few iterations for a reliable count)
                Rate xml_rss_libxml    default_rss        xml_rss  default_atom
xml_rss_libxml 1.79/s             --            -0%            -0%         -100%
default_rss    1.79/s             0%             --            -0%         -100%
xml_rss        1.79/s             0%             0%             --         -100%
default_atom    667/s         37147%         37120%         37113%            --

sim@idrogeno:~/dev/perl/xml$ cat test_parser.pl
#!/usr/bin/perl

use strict;
use warnings;
use XML::Feed;
use Benchmark;

Benchmark::cmpthese( 100, {
   "default_rss" => sub {
       XML::Feed->parse("simotrone_feed_rss.xml"),
   } ,
   "default_atom" => sub {
       XML::Feed->parse("simotrone_feed_atom.xml"),
   } ,
   "xml_rss" => sub {
       $XML::Feed::Format::RSS::PREFERRED_PARSER = "XML::RSS";
       XML::Feed->parse("simotrone_feed_rss.xml");
   },
   "xml_rss_libxml" => sub {
       $XML::Feed::Format::RSS::PREFERRED_PARSER = "XML::RSS::LibXML";
       XML::Feed->parse("simotrone_feed_rss.xml");
   },
} );


              Rate XML RSS-ATOM XML ATOM-RSS
XML RSS-ATOM 33.4/s           --         -13%
XML ATOM-RSS 38.5/s          15%           --
Something went wrong with that request. Please try again.