March 2008 Archives

Catalyst
Jonathan Rockway
Packt Publishing, 2007
ISBN-13: 978-1-847190-95-6
US$ 39.99 - UK£ 24.99

Rating: 4/5 (very good)

This is the first Catalyst-related book to be published, and I'm very happy of this as Catalyst is my platform of choice for web application development. Packt seems like a great publisher, as it provides books on very specific topics that otherwise might end up being uncovered by the printed media.

Catalyst is a killer Perl application, and brings MVC web development to a new level. The main other available frameworks (i.e. Rails) try to impose the framework authors' choices on the developer (i.e. which templating system to use, which database abstraction library to prefer, ...); Catalyst simply provides a basic structure, along with a wide range of different choices which play well with this basic structure. This approach greatly improves the developer's opportunities to create customized and high-quality software, but it also has a downside: newbies find it difficult to enter the Catalyst world, as they have to make choices they're not yet ready to make, and so they might tend to walk away from Catalyst, leaning towards a different framework. Jonathan Rockway's book attempts to solve this problem, providing a beginner's guide to Catalyst where all the relevant choices have already been made by the author. This book tells you: "there's more than one way to do things, and this is my way; follow it, and then you might decide to stick with it or make changes but, in the meanwhile, you will have learned Catalyst".

Catalyst - Accelerating Perl Web Application Development begins with an introduction to MVC concepts and with an overview of the Catalyst installation. The main focus of the book is, however, development of applications, from simple to more advanced ones which involve complex database operations and authentication. The book assumes the developer already knows object oriented Perl fairly well, and follows a smooth path which allows him to learn Catalyst and the author's preferred modules: DBIx::Class for the database Model, Template Toolkit for the template View, and a selection of plugins. This selection isn't - however - a group of obscure Perl modules: they are the ones most widely used by the Catalyst community. So, what this book offers is also a series of "best practice" suggestions on what to use. The chapters on testing and deployment are a much appreciated addition.

Not everything is perfect. Code formatting, which doesn't feature any empty line to separate code blocks, might sometimes make it difficult to read examples - but it's minor thing. The part regarding the Authentication plugin is a bit outdated because of API changes - but things like this happen in every programming book. The chapter on the installation of the framework is just a few pages long, and doesn't cover the problems one might encounter - but it points to IRC chat and mailing lists where to ask for help.

All in all, this a good-to-excellent introduction to the Catalyst framework, and great first book on a framework which is becoming better and better every day. Rockway's work is the starting point for anyone seriously interested in building modern and scalable web applications, and in having some fun while doing that as well.

Some days ago I stumbled upon a shocking video which, unfortunately, seems to be true and is probably the worst thing I saw on the Internet since I began using it back in 1991. This video (I suggest you consider to not look at it) shows two smiling US soldiers in Iraq throwing a dog from a cliff in Iraq.

It's quite disturbing to see people who are to be considered the ones who protect us doing such violent acts. There's an online petition which aims to convince the US Marine Corps (who already started an investigation on this fact) to establish a zero-tolerance rule on violence on defenceless animals.

The Art of Agile Development
James Shore & Shane Warden
O'Reilly Media, 2007
ISBN-13: 978-0-596-52767-9
US$ 39.99

Rating: 4/5 (very good)

There's been a lof of fuss about Agile Development lately. Many folks see it like the cool new thing, the way you must code from now on, but most don't actually know what all of this is about. Fact is agile development isn't simply a new way to code software, but comprises a series of different ways to do the normal activities. These new methods, grouped together, make up a new way of work.

Were my words clear? No? Great, I thought so. This is the moment for The Art of Agile Development to come in. It's a deep and quite complex work from authors James Shore and Shane Warden: the first is one of the original signers of the Agile Manifesto, which practically invented Agile Development. The books is complex because it needs to be such: you can't "migrate to Agile" in one day, your team has to practice - as the cover image shows, you need to grow.

First of all, the books tries to make you understand why you need (or simply want) Agile Development: since the path is not straight, but more like a forest, you must - as a team leader - convinced of what you are doing. In some cases, it might also make you understand that you don't need Agile Development, which is a good thing anyhow - and the book remains useful in any case, as it's full of suggestions and practices which can be applied to any working team.

The Art of Agile Development unveils its concepts by teaching the most famous example of Agile Development: Extreme Programming. This particular case of is actually so well-known that most people tend to identify Agile Development with it. The book assumes your positions allows you to make decisions for a team - that's because Agile Development requires a lot of changes in the way your team works. It also assumes you are willing to risk some of your and your team's time and resources in practicing Agile Development: improvement needs some sacrifice.

The books offers and in-depth exploration of each of the covered topics, which you can read by browsing through its table of contents. You are step-by-step taught about what you need to, what results you can expect, and when you can expect them. I believe the last two aspects are very important, as they help you evaluate if you're doing things properly, and they allow you to make changes down the road without losing days and weeks in incorrect work behaviours.

Although there's a main "line", alternatives are always explored by the authors. for instance chapter 6, which is about Planning, in a certain place supports the adoption of adaptive release planning; it, however, explains the differences with other possible choices such as predictive release planning, and tries to make you understand where one approach can work better than the other. You find a lot of other goodies in any chapter: answers to FAQs, pointers to external resources, and especially great Contraindications paragraphs. These will prove to be quite useful, as you'll be able to know beforehand how the adoption of what is explained in a chapter might create problems to your working environment, and therefore be able to avoid troubles.

All in all, The Art of Agile Development is a great book, but it's demanding. It requires you to study it beforehand, then make important decisions, and then try to convince your team about those decision - some of them, at first glance, might seem a bit awkward to team members. You'll then need to apply what you learned in an effective manner. It's not an easy reading, but one things I like most about this book are the "internal links", which simplify the learning process: there are gray text boxes named Allies spread everywhere, which point you to other sections of the book which are related to what you are reading.

If you're a team manager and want to try to move towards Agile Development, this is definitely the book for you. If you don't feel you want this, but still want to improve the productivity of your team, this book is for you as well, as it offers tons of tips on how to organize work in a modern and efficient way.

The set up of Gin Tonics, our brit-rock cover band (but we might begin making music of our own soon), took several months because it seemed we were never able to find all the band members, and when we found them other problems delayed our playing sessions so we were never able to have a decent number of songs to play.

Events have been more favourable since a few months, so on March 1, 2008, we were finally able to play, along with another local band named Close, at the La Parolaccia bar in Malnisio.

I think the concert went quite well, and I have some pictures to share. Here you can view them as a slide show.

If case the above link doesn't work on your browser, you may try this

And... stay tuned for future concerts!!!