Sending a simple email: the current "modern" way

Some of my scripts are still set in stone age when it comes to the practice of sending emails. They almost invariably use Mail::Sendmail, a module that has not been updated since 2003 (and why should it if it doesn't break, right?). So far there's no complaints. The usual incantation for sending email using this module is:

use Mail::Sendmail;
mail(From=>$rfc_from, Sender=>$env_sender, Subject=>$subject, 
     To=>$rcpt, Cc=>$other_rcpt,
     Message=>$body) or warn "Can't send mail: $Mail::Sendmail::error";

But today I need to switch transport to sendmail. Despite what the name might suggest, Mail::Sendmail uses SMTP for transport and there's no alternative transport. There's also no support for SMTP auth, which my SMTP server now requires even for access from localhost. From what I read and tried once or twice in the past, the current "best practice" or recommended way is to use Email::Sender. Here's the incantation for sending mail using sendmail:

How should a JSON parser handle character strings?

How should a JSON parser handle character strings with non-ASCII characters? My humble opinion: fatal error. Here's what the JSON parsers on my machine did:

STF - A Distributed Object Store

My employer decided to opensource one of their internal tools: STF. STF is a distributed object store, much like MogileFS. The main difference is that STF uses HTTP (as opposed to a custom protocol) as its main protocol, uses components such as Apache/nginx, MySQL, memcached, Q4M/TheSchwartz. It's also new and therefore natively speaks PSGI internally, so you can use all your PSGI aware goodies. We also have an proof of concept setup to deploy STF on dotCloud platform.

Livedoor serves about 300 million objects (which means about 1.4 billion physical entities) using commodity hardware, running Apache 2.2 (+mod_reproxy), Memcached, MySQL 5.1, Q4M. Dispatchers are deployed on Plack + Starlet. We're also wrapping the application processes with Server::Starter for zero-downtime deployment (that means I can deploy to these heavily bombarded servers pretty much any time I want!)

FOSDEM 2012 - Brussels


Fosdem 2012 will take place on 4 and 5 February.
You'll find our call for speakers here: Fosdem 2012 call for speakers

Hope to meet you there !


Infinity Interactive is a New York based, multi-discipline...

Infinity Interactive is a New York based, multi-discipline consultancy that serves global organizations with local attention.  We build simple websites, infrastructure for multi-national corporations and everything in between.  Our strengths are our relationships with our partner companies and our focus on quality.

We are committed to open source software and are very active in the Perl community.  Therefore we are proud to sponsor YAPC::NA 2012!

LOLchromatic wonders how to stalk you

No, really. This clown apparently thinks he can make money by stalking you online. The problem, as even he recognizes, is that you're able to prevent creeps like LOLchromatic from stalking you. The solution is that most people don't know that LOLchromatic and his ilk exist.

Never ever trust Ubuntu

Was using an ubuntu virtual machine. Issued "ack" It said to install it using "sudo apt-get install ack". I did it. It didn't install App::Ack :( it is some other stupid tool. So, "sudo apt-get remove ack" followed by "sudo cpan App::Ack".

Personal end-of-year report for 2011

2011 is my most productive year yet in my "CPAN career": 495 releases (compared to 119 in 2010 and 54 in 2009). So far I have 115 distributions listed under my account (compared to around 15-20 in 2010, around 10 in 2009, and 2 before that). It really never occured to me that I would release over a hundred modules to CPAN, but all of a sudden I did. Perhaps next goal should be 1000 :)

Dist::Zilla helps a lot. I can't imagine doing manual tar and updating version numbers and README and all those distribution meta files manually for tens, let alone hundreds of releases. So thanks again to RJBS and other Dist::Zilla contributors!

About is a common blogging platform for the Perl community. Written in Perl and offering the modern features you’ve come to expect in blog platforms, the site is run by Dave Cross and Aaron Crane, with a design donated by Six Apart, Ltd.