Wednesday, May 30, 2007

Laughed out loud

Director Mike Figgis spent longer at LAX airport than intended. He'd arrived in Los Angeles, along with half the acting and directing world, for what is known as 'pilot season', when the big studios try out new scripts, directors and actors in a two-week frenzy of auditions and career make-or-breaks. When Figgis was being grilled by airport immigration, he was asked the purpose of his visit. Unthinking and tired after a long flight, Mike replied: 'I'm here to shoot a pilot.' After five hours in an interrogation cell (yes, really), he finally made it into town.


Via the Guardian

Paid Money for Music Downloads

I've been waiting for this one since they announced it, and now it's here. Today you can upgrade your iTunes client to version 7.2, and then you can upgrade (some of) your iTunes purchases to 256kbps, DRM-Free versions!



It's been said before, and those who know me also know my opinion, but for the record: DRM is bad, bad, bad. It's bad for artists, bad for fans, and bad for online music retailers. It's even bad for the media distributors who use it, although you may have a hard time convincing some of them of that.



EMI seems to get it, though, as their music is now up and running. I am not a big purchaser of music in general, but I have been saving up to vote with my dollars. As I write this, I am listening to my newly purchased, non-DRM Rolling Stones tunes. Wow this stuff sounds good!

Saturday, May 12, 2007

Admitted defeat

That's right, I give up. Despite having devoted the last five years exclusively to Perl development, my next project will be written in another language.



I am not happy about this, quite the contrary. I love Perl. I've learned so much of the ins and outs of Perl syntax vagaries that I feel like I've been married to it. But for at least a year I have been looking at the web development tools and frameworks in other languages and drooling. Where are the Perl tools that will double my productivity in web development? No, for two years I have spent most of my time building those tools for myself, because those available do not suit my needs and do not measure up to the tools available in several other languages. But of course, I'm not as smart as those other guys, so my home-grown tools are not as good, and not really useful outside my personal bubble.


Now, the Perl fanatics out there are going to start yelling about things like Catalyst and maybe Jifty. Hey, I know, because I am (was) a Perl fanatic myself. But Catalyst is unnecessarily complicated. In trying to be all things to all programmers, it creates more slow-downs in overhead than it does speed-ups in infrastructure. Jifty is pretty cool, and it even comes with a pony, but it just isn't there yet, and the community behind it is comparatively small. None of the Perl frameworks I've examined make it particularly easy to implement REST-based web services (it's certainly possible, but the frameworks don't make it any easier than doing it "by hand").


Now, if I had my druthers, based purely on language syntax and tools, I probably would go with Python, and a framework like Django. Django is a beautiful piece of work, in my mind the Python alternative to Ruby on Rails, and far superior in productivity to Zope or anything based on it. Also, Python's Universal Feed Parser is by far the best library for manipulating RSS and Atom feeds that I have found in any language.


But there are also disadvantages to choosing Django over PHP. PHP has the simplest deployment path, and is still the most broadly deployed of the open-source technologies on my radar. Django requires mod_python or FastCGI, and Rails similarly relies on FastCGI. These technologies are not widely deployed and not nearly as simple as just dropping a bundle of files into your document root.

But really there are two big reasons for me to run PHP: MediaWiki and phpBB. Both are excellent applications at what they do, and I need to run them both on my new web server for compatibility with previous deployments. And both are built with PHP. Since I have to have PHP installed anyway...


So in addition to Django, I will also give symfony a test-drive. This is a PHP web framework. I have no experience with it yet, but it looks more mature than the Zend Framework, seems fully capable of doing what I want, and happens to be the first hit on Google for "PHP framework", so there must be plenty of people who think it's good.


My relationship with Perl has not ended. I'm still building large-scale applications with it at my day job, and I have no doubt I will turn to it when the going gets tough in my sysadmin role at home. But it's time for me to stretch my legs, to look at some other languages in the hope of finding tools that will increase my productivity the way Perl did when I first started using it. Python and Django will be my first try, followed closely by PHP and symfony. And if neither works out, well, there's always Rails.