Results tagged “review” from The Cattle Grid

Real World Haskell
Bryan O'Sullival, John Goerzen & Don Stewart
O'Reilly Media, 2008
ISBN: 978-0-596-51498-3
US$ 49.99

Rating: 5/5 (excellent)

When Real World Haskell arrived in my studio, I knew almost nothing about this language, except for the fact that Haskell could have helped me to become a better programmer, even when continuing to code in another language (Perl, in my specific case). This book not only succeeded in this task, but made me realize that I really like Haskell (unlike Lisp, to say it all: all those parentheses have irritated me from the very first time I saw the language). The appealing syntax and the powerful language features make Haskell a charming language, which also happens to be very useful in the real world with an increasing user base and a variety of libraries available.

This is a solid book of nearly 700 pages, which guides the reader into the language from the basics. The authors know that the mind shift for programmers coming from imperative languages can be hard, and they therefore help the reader by providing comparisons with other languages, especially C, C++ and Java; these are not just a couple of words, but full blown examples with source code.

Haskell features are unveiled a few at a time, while looking at real world examples. Chapters either gather together one or more topics (fex. monads, concurrent programming, ...) or walk through the construction of specific programs (fex. barcode recognition, JSON parsing, ...). Regardless of the contents of each chapter, explanation revolves around code. Any given language feature is explained in words and sentences, but it's the huge amount of code samples - often commented line by line - which makes the reader understand the concepts.

Speaking of concepts, these tend to occur several times throughout the book: they are often briefly described a second time (which is quite useful) when they happen to be used again, and a pointer to the page with the full explanation (which can also be located later in the book as opposed to previously) is provided.

The authors put also a lot of effort on beauty, non-redundancy and efficiency. Code can pass through several stages: it is first shown you in the most obvious form, and is then optimized in many clever (and very "Haskellish") ways. This is a very interesting part of it all: it's where one learns how to write beautiful code.

All in all, Real World Haskell is an outstanding book: it makes for an excellent introduction to Haskell and works very well as a tutorial on how to write good software. Five stars, absolutely.

Pragmatic Version Control using Git
Travis Swicegood
Pragmatic Bookshelf, 2008
ISBN: 978-1-934356-15-9
US$ 34.95

Rating: 4/5 (very good)

Using a modern version control system likely means a choice between Git and Mercurial, which are way ahead of the previous generation (which includes the very popular Subversion). Git is becoming more and more widely used, with lots of open source projects switching to it. Even though quite easy to use for basic things, it takes some effort to learn to master all its features.

Pragmatic Version Control using Git provides most of the information needed, while also being a great starting point if you never used Git. It's written in a tutorial-like fashion, where each topic is covered by through explanations and focused examples (also available for download).

The first part covers Git configuration and very basic operations. The explanation is quite exhaustive, which is very important as it's fundamental to understand the philosophical differences between Git and other software: Subversion, for instance, works quite differently but many folks still try to use Git as if it was Subversion with another name: this is quite a pity, as Git offers much more power and flexibility. This difference is clear when you see that half of the book (90 pages) is only devoted to working with local files, which means that with Git you mostly (even only, in some cases) work locally (compared to Subversion where most of the work involves a remote repository).

The second part covers, besides some notions about how to work with remote repositories, the advanced topics (rewriting revision history, ...). One of the interesting parts is the one which explains how to migrate from, or even interoperate with, Subversion and CVS repositories: very useful if you're considering the switch to Git but you want it to be slow and without pain. Some useful notes on Gitosis (a Git repository manager) and other tools close the book.

A quick reference to everything Pragmatic Version Control using Git explains is available in appendix A, and a single-page cheat sheet you can detach from the book is also provided. These are really welcome, as finding a particular thing in a tutorial-like book like this can be quite boring.

This book is, all in all, a fine choice for learning Git. It might not be the best thing to use as a reference once you learned the topics, still it is acceptable even when used as such.

Pocket Perl

|

Pocket Perl
Stefano Rodighiero
Apogeo, 2008
ISBN: 978-88-503-2778-2
€ 7.90

Rating: 4.5/5

Pocket Perl ha due virtù immediatamente riconoscibili: il prezzo contenuto ed il piccolo formato. Quest'ultima caratteristica fornisce al novizio di Perl che si accinge alla lettura un'idea di "snellezza" che lo spinge a cimentarsi nell'impresa, a differenza di un testo di grosse dimensioni che potrebbe scoraggiare qualcuno.

Va bene, siamo solo alle apparenze per ora. Il contenuto sarà ciò che ci si aspetta, e cioè una guida chiara, sufficientemente sintetica ma al contempo approfondita al punto giusto, per imparare Perl? Andiamo dunque ad indagare.

Intelligentemente, il libro non parte subito parlando di Perl come linguaggio: la prima cosa che assomiglia ad un "Hello, World" è infatti a pagina 10 (e si tratta solo di un test per verificare che l'installazione sia funzionante, l'"Hello World" vero è a pagina 15). Prima di ciò viene sinteticamente indicato come installare l'interprete, e soprattutto vengono messi in evidenza i punti di forza di Perl non relativi al linguaggio in sé. Anzitutto Rodighiero parla di CPAN, l'immenso archivio di moduli Perl che è opportuno che ogni sviluppatore o aspirante tale impari ad utilizzare sin dall'inizio; a questo scopo vengono fornite preziose indicazioni su come configurare CPAN, scaricare ed installare i moduli. Il secondo punto di forza svelato è la community: è altamente probabile che attorno a Perl ruoti una delle più interessanti comunità di sviluppatori nel mondo dei linguaggi di programmazione, e qui ne vengono indicati i principali "punti di ingresso" a livello italiano ed internazionale. Infine, viene presentato l'immenso mondo della documentazione fornita con l'interprete, vera e propria colonna portante della distribuzione.

La trattazione relativa agli aspetti del linguaggio, pur trovandoci di fronte ad un libro tascabile, è alquanto articolata e rigorosa: si spazia dalle basi fino ad oggetti, regular expression e persino vere e proprie "chicche" come la trasformata di Schwartz. Il capitolo 8, inoltre, fornisce un'interessante panoramica su quanto disponibile per quanto riguarda programmazione web, GUI, ed altre interazioni della propria applicazione con il mondo esterno - chiaramente, in questo caso, viene solo scalfita la superficie dei singoli argomenti.

I contenuti sono piuttosto aggiornati, pertanto tutte le principali caratteristiche della versione 5.10 di perl vengono trattate. È un peccato che alcune tecnologie, come Moose (qui comunque accennato) e DBIx::Class (al posto del quale qui viene proposto il più rudimentale Class::DBI) si siano consolidate solo di recente e quindi non ci sia stata la chance di trattarle: andate dunque ad esplorarle su CPAN!

Nel complesso, a mio avviso Pocket Perl copre una precedente lacuna nel panorama italiano relativo a Perl, che era la mancanza di un testo "introduttivo ma non solo", chiaro e ben scritto, una guida che partisse dalle basi ma che fosse al contempo in grado di mostrare gli aspetti più interessanti del linguaggio, avvicinando nuovi programmatori a Perl. A livello di "mancanze", per quanto mi riguarda ce n'è solo una: il libro rimanda alla documentazione fornita con l'interprete quanto riguarda la gestione di stringhe Unicode. Considerata l'importanza dell'argomento ed il fatto che la documentazione in linea è spesso nebulosa, sarebbe forse stato opportuno dedicarvi una sezione.

This review is by Nicola Gigante, a member of "Nordest.pm"http://nordest.pm.org/. Thank you for the contribution!

Click here to read this review in Italian language.

Learning Perl (5th edition)
Randal L. Schwartz, Tom Phoenix & brian d foy
O'Reilly Media, 2008
ISBN: 9780596520106
US$ 39.99 (printed) - US$ 31.99 (electronic)

Rating: 4.5/5

Perl is a very flexible language. It has the most complex grammar you can find around,
and a context-dependent semantic, and this makes perl an easy and yet powerful scripting language. The 5th edition of Learning Perl is just about how to write scripts with it. It wonʼt teach you how to write huge and complex software or how to optimize your code to make it fast and yet extensible. After all, this book is just about learning the language. The big work made by Schwartz and co. was to write a book that lets you feel the extremely high level of flexibility you get from the perl syntax. The book is full of examples, and itʼs common to find a way to solve a given problem, just to read how it can be solved with fewer lines of code or in a faster way respect of a previous solution. The book also highlights the most famous perl features. Theyʼre text and list processing tools, such as regular expressions and sort routines. After the first chapters explaining basic language features like numbers, strings, arrays and hashes manipulation, three chapters are dedicated to regular expressions: how to write and understand them, how to use them to match text, and how to use them to replace text. Also, a whole chapter is dedicated to methods and techniques to sort arrays and hashes. The second part of the book is about manipulating files, processes, and other things needed for administrative purpose, a field where perl scripts are used very often. The other two books of the series, Intermediate Perl, and Advanced Perl, complete this book, covering things that you donʼt find here. If you donʼt know the language and want to learn it, or if you know it briefly and want to improve your basic knowledge, this is the right book for you.

Mastering Dojo

|

Mastering Dojo
Rawld Fill, Craig Riecke, Alex Russell
Pragmatic Bookshelf, 2008
ISBN: 978-1-934356-11-1
US$ 38.95

Rating: 4/5 (very good)

The Dojo toolkit is, arguably, the most advanced JavaScript framework available today. jQuery might be designed equally well and be more compact, but it lacks advanced and ready to use GUI components. Ext JS might provide a ton of colourful widgets, but it lacks the implementation and API elegance of Dojo, not to mention it features a licensing system which is awkward enough to turn away any sane open source developer.

Dojo still has, however, one major drawback: the documentation is sparse at best, and completely missing in some areas. The API reference is not rich enough, and parts of the online free Dojo Book are outdated; the best option for programmers is often to skim directly through the well-commented source code and through the accurately done test suites. Dojo is a big and complex project, so it will take a while for the community to document it properly; in the meanwhile, the excellent forums, Dojo Campus and the IRC channel provide an excellent resource. Printed books also come to the rescue of programmers who want to use Dojo: being the project so interesting, there are quite a lot of titles available, and Mastering Dojo ranks among the most up-to-date and interesting ones.

Despite its name, this book is targeted to the programmer who doesn't yet use Dojo, as opposed to the Dojo programmer who wants to dig more deeply into the framework details. It, however, spans a wide range of Dojo-related topics: from the basics to the most advanced widgets (trees, grids) and other areas (internationalisation, extension of the framework). Basically, you just need to know JavaScript to read this book: even though Dojo also features an HTML declarative syntax, to obtain something useful out of the framework you really need to be comfortable with JavaScript.

Every chapter is devoted to a topic, and is made of an introduction followed by well-made examples. It doesn't provide a reference: you learn the main things, and then if you want to know all the API you'll want to find more documentation elsewhere. What it provides is however what you need if you're new to Dojo: a description of what you can do and some examples on how to do it - so that basically you understand that you'll be able to use Dojo to create a modern web application in and easy (although, as all computer programming tasks, not always straightforward) way.

Even though absolutely not a reference, Mastering Dojo can be used as such to some extent: the sections about events, DOM introspection and editing, classes and data are, for instance, enough in-depth to provide reference for most of the tasks a developer needs to perform. Others, such as the Grid and the Tree, are more like introductions to those advanced widgets, but are nevertheless very appreciated as it's not easy (if at all possible) to find coherent documentation elsewhere regarding them.

All in all, if you plan to use Dojo because to have to create a serious web application, this book is an excellent starting point, and will likely remain useful also when your knowledge of the framework has grown.

Programming Amazon Web Services
James Murty
O'Reilly Media, 2008
ISBN: 978-0-596-51581-2
US$ 49.99

Rating: 4/5 (very good)

Amazon Web Services are a constantly expanding series of infrastructure services targeted to web developers who want to outsource parts of their application infrastructure. These services are meant to be reliable, scalable and cost-effective. Especially as far as reliability is concerned, however, Amazon Web Services - together with Google App Engine - have recently been regarded as a bit controversial, due to some downtime episodes. Nonetheless, services such as these provide a gate to the future of the Internet, where owners of small and medium web sites, who can't afford to build some high-quality services on their own, can easily outsource them.

Programming Amazon Web Services is the ideal primer to Amazon outsourcing services. It provides a general view of everything Amazon currently offers, including some services in the beta testing phase, as well as the necessary amount of in-depth coverage of each service.

A programmer who never outsourced any part of its infrastructure might not be much confident using APIs which abstract tasks such as database access and data storage (even though it would be a good practice to use some sort of API also for locally-provided services). To help in this situations, this book kicks off with an explanation on how to think an application, with an appreciated overview of REST-based APIs, remote requests and XML documents and their handling; at the same time, the author tells you how Amazon thinks you should build your application to effectively take advantage of what they provide.

After this introductory part, the whole book is dedicated to the exploration of each service: Simple Stoage Service (S3), Elastic Compute Cloud, Simple Queue Service, Flexible Payments Service and SimpleDB. Every section provides an explanation on what the service is and how it works, including not only its advantages but also the possible problems which may arise by using it. There's also some API references and, best of all, a lot of interesting code examples. Amazon Web Services can be used in any programming language so, even though the examples in this book are written in Ruby, it's easy to understand them and "port" them to your favourite language. Moreover, there are libraries around which allow a more abstracted usage of ABS: for instance, CPAN hosts several Amazon-related modules for the Perl language.

All in all, Programming Amazon Web Services this is a fine book for anyone who is seriously interested in using Amazon to outsource application infrastructure. Highly recommended.

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.

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.

Mastering Perl

|

Mastering Perl
brian d foy
O'Reilly Media, 2007
ISBN-13: 978-0-596-52724-2
US$ 39.99

Rating: 4/5 (very good)

In recent years, O'Reilly pace regarding the publishing of Perl-related books has slowed down quite a lot. This is likely not because of O'Reilly fault, but it's probably due to the fact that Perl is a mature language for which there is a lot of literature which is still up-to-date. For instance, the 3rd edition of Programming Perl was published in 2001 and is still a reliable reference for the current version of the language - even though that is going to change a bit within a few days, with the release of perl 5.10.

Anyway, it seems there's still to write about Perl as a language as opposed to projects or software powered by Perl, and that it what the book is about: the language and how to use it at best. It's a collection of tips, best practices and suggestions, and can fit into the same category as two other O'Reilly titles: Perl Hacks and Perl Best Practices.

Part of this book is devoted to the usual (and important) areas: writing secure and high-performance programs, debugging, error handling, logging and documentation writing. For all of this, several options are usually described by the author, and they range from rolling your own solution using the core perl compiler to using CPAN modules to automate part of, if not all, the work. For example, the section regarding the profiling of Perl programs explains first what profiling is about and illustrates a general approach at the task, and then how to profile database code with DBI::Profile; it then goes to the full-featured solution involving Devel::DProf and closes with suggestions on how to write your own profiler module.

This book can help you organize your applications better. For instance, do you embed your configuration variables at the top of your programs or in an external Perl module? Think of a different approach by reading chapter 11, and start using configuration files (which can overridden with command-line options) as the whole Unix world does - there are plenty of formats to choose from. Using Windows? Use the Windows Registry. Using MaxOS X? Use the plist format. You can do all of this with ready to use modules, and this book explains you how to get started with this.

The most interesting parts of the book lie in it's "niche" chapters, which explains aspects of Perl which are not needed by most programmers, but of which every programmer would surely benefit. Have you always thought that working with bits was something for mad assembly or C++ coders? Wrong! Chapter 16 will introduce you to binary numbers, bit operators and vectors. You might also want to take a look at chapter 6 which teaches you how to make your code clear and how to de-obfuscate other people's code (all right, obfuscation is a virtue, but there should be limits ;-)).

All in all this book can be very useful to improve the way you use Perl (the language) and perl (the compiler), and is a worth reading, which then becomes a nice reference.

Rating: 7.5
Overall rating of the whole Harry Potter saga: 9

When I finished reading the latest (and last) Harry Potter novel last night at 4 am, I had a sad feeling: after years of great reading, it was over, and there would be no eighth book. Sadness. :-)

First of all, the novel doesn't end as the now-well-known British hacker told the media a few months ago. That was probably an advertising strategy to increase the sale of what is in any case one of the most commercially successful novels ever published. After finishing off with the 6th episode, I had some suspects on how the whole saga would end: many were confirmed, but I also made many mistakes. Oh, well, I'm not in J.K. Rowling's head, even though this summer I visited the café in Edinburgh where she use to stay while writing the very first book. ;-)

This book is quite different from the other 6: there's no year at Hogwarts, there's no Quidditch, there's a lot of action and a lot of deaths. It also concludes the morphing which began with the second book: the novel is constantly less suitable for children, while becoming more entertaining for teen-agers and, especially, for adults.

The development of the characters is also carried on further, and makes them look like everyday people, even though they are wizards. In general, the good ones always have a bad side, and the evil ones often have a good side. Moreover, you don't know who's really good and who's evil until the end, which is quite nice. :-)

On the downside, the end can be a bit of a disappointment. It's not a matter of events going well or going bad, but a matter of how they turn from well to bad and the other way round. The concepts behind the whole thing, if analyzed just a few minutes more, do fall apart.

All in all, this is not one of the best Harry Potter books, as many would probably expect, but it's still very entertaining and, in some cases, even quite insightful. One should then consider this as part of the greater plan (all the seven books) which is, simply put, a masterpiece.

Dynamic HTML: The Definitive Reference, 3rd edition
Danny Goodman
O'Reilly Media, 2006
ISBN-13: 978-0-596-52740-2
US$ 59.99

Rating: 4/5 (very good)

This O'Reilly book wants to be the definitive all-in-one guide for web developers, that is to say the one single book you need to keep on you desk when creating web sites. It covers everything from XHTML to CCS to DOM to JavaScript, and is very up-to-date (a lot of Ajax and other Web 2.0 stuff is included).

Does the guide achieve its goals? I think so, and I think it does that quite well. The reference is comprehensive, especially the DOM one which spawns across more than 500 pages (on a total of nearly 1300!). For every tag, DOM element, or JavaScript function you find in the reference, various details are provided: a browser compatibility list, a brief description, a (often minimal but focused) example, and the detail of parameters/attributes/return values/whatever applicable.

Each chapter of the guide comes with an introduction which explains the concepts for which you'll find the reference. This introductory parts are, however, the less useful of the whole book: they're just a few pages long, and not enough to learn concepts properly, so you either need to know those concepts beforehand, or you'll want to grab another - more explanatory - book.

All in all this book provides a valid reference and help for the web developer, as it allows to quickly retrieve the piece of information you don't know, or you can't remember. It's big, comprehensive, useful.

Bobby

|

Rating: 7.5

Yesterday evening I went to the movies here in Maniago after a long time, and it was a great comeback for me. Bobby is a movie about the day of the assassination of Robert Kennedy, RFK. It gives a detailed account of what happened inside the Ambassador Hotel in Los Angeles, where Kennedy and his supporters were at first waiting for - and the celebrating - the results of the California primary election.

JavaScript: The Definitive Guide, 5th edition
David Flanagan
O'Reilly Media, 2006
ISBN-13: 978-0-596-10199-2
US$ 49.99

Rating: 5/5 (excellent)

The 5th edition of the one and only bible of JavaScript, by the language guru David Flanagan, is not a surprise, but a beautiful confirmation. The 4th edition, which I've been using until a few days ago, was (and is) an invaluable reference even though it started to become a bit outdated. The new version is even more "biblic" than before, featuring nearly 1000 pages of in-depth explanation and reference. New sections include Ajax (of course, it's the cool thing of these years!), client side graphics (SVG, VML and <canvas>), JavaScript namespaces and communication with Flash and other embedded media.

The book can be divided in 2 sections: the guide - which occupies about 600 pages - and the reference which accounts for the remaining 400. Browsing the index of the book, it turns out the the parts are actually 4: for this article, I however merged the first two (the guide) and the last two (the reference).

The first section covers every JavaScript aspect, with a detailed explanation of the language and almost everything than can be achieved using it. What is being actually taught are the "roots" of all the JavaScript features: to build the complex things, you need to work on those roots (or to grab more high-level tutorials somewhere else). However, this book has everything you need, as you can figure the rest out!

The second section is the reason why every web coder will want to have this book on his desk everyday. The reference is detailed, accurate, thorough and very easy to browse. As I wrote above, it's divided in 2 parts: Core Language and Client-side JavaScript.

All in all, what can be said about this book? Even though I'm not fond of client side programming and prefer to script on the server, this is one of the few books for which I can really find nothing bad to say. It's well written, simple to understand, entertaining. There's also the Italian translation: there's the previous edition on the shelves in Italy at present time, but we'll hopefully see this new fantastic edition translated soon.

Family: Scotch
Type: Single Malt
Origin: Port Ellen, Islay, Scotland
Age: 21 years
Alcohol: 57.3%
Availability (in Italy): 2

This is probably the most aged bottle I ever owned (I drank older whiskeys only in pubs and bars), an outstanding birthday present by two guys who work with me. This malt is made in Islay (even though bottled in Edimburgh), and therefore the main component of its complex taste is smoke - and I adore smokey whiskys.

Wilson & Morgan Barrell Selection 21 is a whisky you'll love to drink - provided you can afford a bottle - with friends, in the evening, maybe staying at home (also because finding it in bars is not easy, mates!). Oh, and get ready to end up quite drunk: its 57.3% alcoholic rate is a guarantee.

We shall overcome

|

Yesterday evenin' I was in Villa Manin, UD, to attend at Bruce Springsteen's concert. It was my first occasion to see the Boss, which is one of my favourite songwriters ever: if I were to go to a distant planet alone and could only bring one CD, then it would be one of Bruce's.

Springsteen came to Villa Manin with the Seeger Sessions Band, a fabulous group of musicians who played in his latest studio work. There was some fear of rain among the attending people, since the sky looked quite bad, but luckily then it cleared and nothing else was to obstacle the concert. There were about 11 thousand people in the magnificent garden of the Villa.

When the Boss appeared I thought I was going to faint. He was surrounded by 17 musicians on a stage which looked like an old western theatre. Bruce was in outstanding shape and mood, and he played all the songs from the latest album, rearranging some of them in a spectacular way also thanks to his musicians. Amidst these new works, the Boss also played some songs from his huge repertoire, including one from Greetings from Asbury Park, NJ album (Growing Up)!!! He also played Johnny 99 (from Nebraska), The River and My City of Ruins (from The Rising). Every song was rearranged in a special acoustic way, for instance violins were used in The River. In the middle of the gig, Bruce also found the time to drink a glass of local grappa.

After 2 hours and 1/2 of uninterrupted concert, Bruce and the musicians said goodbye to everybody, and immediately the staff began to dismantle the stage. We stayed there some minutes, hoping that Bruce would come back, this time with his old Fender instead of an acousting guitar, and sing Born in the USA. But this was not the evening for that: it was the Seeger Sessions' evening, and it was fantastic. 10++.

Unicode Explained

|

Unicode Explained
Jukka K. Korpela
O'Reilly Media, 2006
ISBN 0-596-10121-X
US$ 59.99

Rating: 4/5 (very good)

Now that the IT world is moving towards Unicode, there are usally two ways a computer programmer thinks about the role Unicode has in his life: the first is "I need to know nothing, the environment will do everything by itself," while the second is "hey man, it's just a character set, I already know everything I need". Well, there's also a third "I don't care and I will use US-ASCII forever" option, but I presume the reader of this review is somehow interested in Unicode.

Perl Hacks

|

Perl Hacks
chromatic, Damian Conway, Curtis "Ovid" Poe
O'Reilly Media, 2006
ISBN 0-596-52674-1
US$ 29.99

Rating: 4/5 (very good)

Lately I've been focusing on improving the way I write Perl code (which really needed to be improved). When you just think about what you have to do, and not how you do it, you usually end up with ugly and unreadable programs which actually do what you want; the problem arises when maintaing them. Also, knowing a bit more regarding the language you use allows you to save a lot of time and lines of code.

Perl Best Practices and Higher Order Perl, two books I read in recent times, helped me a lot in this direction, even though from different points of view: the first one targets at improving code, the second one at improving the way you think when you write code.

Perl Hacks can be regarded as an addition to the above mentioned books, forming a trinity which helps the programmer to actually code better. The point of view of Perl Hacks is, however, different from the one of both the other two books.

Perl Hacks teaches, as the subtitle aptly explains, tips & tools for programming, debugging, and surviving. This means a lot of things: from hints on how to use editors to suggestions on how to better search through Perl documentation, from how to make proper use of inside-out objects to how to debug your programs without wasting precious time.

The information is organized in 101 hacks, which feature a quite detailed explanation of each topic: an overview of the hack; example code (if applicable) on how to run it; suggestions on how to further improve the hack. This is quite useful, as every hack becomes not only a nice suggestion, but a starting point for digging deeper into a topic, and therefore learning something new about Perl.

All in all, even if this book is not a must-have like Perl Best Practices, it proves to be handy: browsing through it will surely show you something you didn't know of before, should it be a coding trick or just a way to enhance your programming experience.

The Da Vinci Code

|

Rating: 8

I was a bit skeptical about this movie, but I was curious beacause of the talk (some would even say scandal) that is continuing to rise around it. Demonized by the Church, acclaimed by the fans of the book, at first it seemed that The Da Vinci Code was not only a masterpiece, but a revelation for all the Christian world. However, many people who saw it are commented "oh, it ain't worth", "don't watch it, it's really bad", "the book is way better", "both the book and the movie suck", etc...

Before going any further, let me say that I did not read the book.

The movie starts with a murder in Paris. Soon after the discovery of the body, it's quite clear that it's not a simple murder but that there's something bigger behind; the size of this "something" grows as the movie goes on, until the viewer understands it's an hidden truth which can shake the Christian Church from the roots (by the way, there are chances it is really true). The first part of the film is an excellent crime thriller, then it slowly changes by mixing in genres such as thriller, adventure, and even comedy. As the American symbologist Robert Langdon and the French policewoman Sophie Neveu continue their quest towards the truth, the situations, places and characters would perfectly fit in an Indiana Jones movie. And this, besides the damn good plot, is what keeps the movie entertaining until the last scene (which shows up nearly 150 minutes after the murder).

There's no need to comment on Tom Hanks' brilliant performance in the role of Robert Langdon. Audrey Tatou, the fascinating Amelie at her first Hollywood experience, deserves a praise for the excellent starring in Sophie Neveu character. Besides the main actors, my favourite is Ian McKellen (in the role of Sir Leigh Teabing): despite being a controversial character, he's so fun with his all-British style and humor.

The Da Vinci Code is likely to become one of the most commercially successful movies of all time. Is that deserved? Well, I think so. It's not a masterpiece, but that means nothing (were Titanic and Harry Potter masterpieces?). Ron Howard's work will not shake the ground under you feet, but it is very entertaining: don't miss it.

Intermediate Perl

|

Intermediate Perl
Randal L. Schwartz, brian d foy & Tom Phoenix
O'Reilly Media, 2006
ISBN 0-596-10206-2
US$ 39.99

Rating: 5/5

One might wonder what intermediate really means when learning a language, as there are usually only two levels: beginning (that is, the newbie who learns the basics) and advanced (after you know the basics, you can move on to everything else). I think intermediate is more like the basics you should know but that you'd better not study when you begin. That is: you must know it, but before that it's better you learn the real basics. Said this, this is a new title for the second edition of an already existing book: Learning Perl Objects, References, and Modules.

So, which are the Perl topics a programmer should know? Well, modules for instance, which are the foundation of the great extensibility of the language; besides, the community largerly revolves around them (see CPAN...). Then there are references: five chapters are devoted to them, so it really isn't just matter of "a variable that contains the address of another one". And then there are objects, which in Perl can show up in quite a variety of fashions. This book is great in teaching these aspects of the language: it's not that you can't find them in Programming Perl, but the real difference in is how they are taught. In Intermediate Perl the authors use a simple and comprehensive approach, which not only tells you the things but also the best way to use what you are learning.

The book teaches, but doesn't dig: it's not advanced, it's intermediate, remember? You learn how to use classes and objects, but nothing about the various interesting class frameworks available on CPAN. It teaches you how to create a module distribution for CPAN, but not how to use cool and handy techniques such as Module::Build to do that. If you want that, you'll dig on your own but, after reading this book, you'll know how to perform the essential tasks by walking the standard way.

All in all, this book is just fine, the ideal follow-up to Learning Perl. However, it's not only for the beginners, but also for the many Perl programmer who just learned what they needed about the language but never had the time and will to get a coherent view of the whole thing.

Elizabethtown

Rating: 7.5

This movie comes as a nice surprise:at first you might think of it as not-too-serious romantic comedy, but then it proves to be too much in depth - and way too smart - to be just that. The story is about a man who suffers a fiasco in his professional life and, just before committing suicide, gets the news that his father has died. He then begins a journey in his father's town, and the subsequent events will change his life.

Although sometimes a bit "confused", Cameron Crowe's work is frequently as wit as Joel Coen's O Brother, Where Art Thou?, and often as enlightening as Tim Burton's Big Fish (two movies you should really watch in the unfurtunate case you haven't already done so). Oralndo Bloom's performance is excellent - and also fun at times - while Kirsten Dunst perfectly plays the role of the girl who is the real leading force of the film.

Pay attention to the fantastic soundtrack: almost all of it is wisely chosen American country rock.

All in all, it's not a masterpiece, but it's inspiring. It shows that Cameron Crowe is talented even beyond what he showed in the past years, which makes the wait for his future works quite interesting.

The Inside Man

Rating: 7.5

Some evenings ago I was at my uncle's place and he convinced me to go and watch this movie the same night, telling me that with Spike Lee I couldn't go wrong. He was damn right, this work the African-American genius is close-to-awesome.

There's the bank robbery and there's how they do the heist. If you dig deeper, the movie will tell you something about the USA society of these years: you'll not want to lose the scene when the Arab hostage exists the bank. Interestingly enough, even though the movie is all about money, almost all the characters have something they need to take care of, which is more important for them than money.

Clive Oven's performance in the role of the bank robber Dalton Russel is superior. Denzel Washington is fine as well (how couldn't he be?), while I'm not really fond of Jodie Foster (that's a general thing, it's not related to this movie only).

You should really watch this movie as, besides what I wrote about it, it's very entertaining.

Tags

Find recent content on the main index or look in the archives to find all content.

Categories

Pages

Powered by Movable Type 4.23-en