April 2008 Archives
This is my first review of a book. I am sorry if I am too harsh. But these are my thoughts about the book. Good or bad, I would like to congratulate Packt publishing for accepting the publication of a book about a moving target. Catalyst is all but stable, and things change from week to week.
On to my comments:
The first chapter is a concise introduction to MVC. Instead of describing the details on what this approach means, the author motivates the user for its need. No big definitions are given: just the needed to understand the Catalyst architecture. At the end, a small section discusses the Catalyst framework installation. I would not add that section to the end of the first chapter, but probably as an introduction to the second one. But there are just details.
After this quick presentation on the MVC design pattern, the author introduces the implementation of Views, Controllers and Models. This introduction is very soft, but enough to the reader to start understanding the basics of Catalyst. Sometimes the author tries to explain a little detail that will be expanded later without much success. If you have an idea of Catalyst you will be able to start writing your first application and exploring some new features of Catalyst.
The third chapter main purpose is to present a basic CRUD: Create, Read, Update, Delete application. It starts with the definition of the database model, exactly where the most audacious reader will be making questions. This makes it a good complement of the previous example. Follows some details on how to build a form using Catalyst::Controller::FormBuilder, and how to use this form for creation and updating of database records. While the examples are easy to understand, all this reference to new modules makes it difficult to know the real power of each.
While I was expected some details on how to debug applications, so the reader could make more experiments and grow on his knowledge, the following two chapters are more of the same, presenting more plugins for Catalyst. While their content is relevant I feel like the reader have two choices: or follow just the examples presented on the book, or go digging on Catalyst documentation for help on debugging his application.
The fourth chapter includes two important sections: sessions and authentication/authorization. These sections present the basics for data persistence between requests, and a method for the authentication and authorization of users. Other sections on the same chapter include minor topics that I would defer for later chapters.
Follows a chapter with a new example, with a more complicated database. This new example is used to introduce more details on DBIx::Class module, explaining how to perform chained queries. It is also used to explain the Args attribute for controller methods. It is a shame that there isn't a section about chained actions, and that attributes like Args and Stashed are not present in the final index.
The next chapter is dedicated to the extension of DBIx::Class. It includes some details on how to access databases directly using SQL statements, and how to extend DBIx::Class packages with user-defined functions. Given that the previous sections were written in a tutorial approach, the DBIx::Class details are spread in three or four chapters.
The seventh chapter is another off-topic chapter. I know that it is important to have a WEB API to make other applications cooperate with our. I know that actual web sites are all full of AJAX. I know that I subscribe to a hundred of RSS feeds. But these are not important for somebody who is still learning to use the framework. These three sections are mostly a description of three modules.
Follows two important chapters: testing and deployment. I think these chapters are well placed at the end, and they are useful specially when the application is in the final moments. I still miss a chapter on debugging. How does a Catalyst developer debugs? Should she print debug messages to the standard error? Is there any way to get debugging information well structured?
My final remarks about the book is that it includes a lot of interesting material, and full of good examples. Although there is a good tutorial on CPAN by the same author of the book, I really advise to buy the book. It is a good investment!
- the AirPort is kind of silly. From time to time it loses connectivity, not sure why. Then, it starts associating, desassociating, associating, desassociating, associating, desassociating, and on and on. I need to stop it, turn it on. Wait. Turn it off. Wait. Turn it on. Try again. Loop until it works.
- second problem is with reboots or shutdowns. They never work. They finish on a crash: the life led always lit, and the screen dark. I need to press the poweroff button for some time, and then boot it again. And when booting, Leopard notices it has crashed and asks to send a report to Apple. By the way, tried some times to turn off all applications manually, and all widgets from dashboard, and on, and on, but it still crashes. And yes, it crashes after an upgrade reboot. May it be bootcamp fault? Should I reinstall Leopard? I really do not want to do that as it gives too much work... but, if it is needed...
- and the third problem for today: five months and my battery life is 90%. I wonder if this is normal...
What I liked on this book was not just the mysteries, but the way Asimov write. I really like to read Asimov's books. And no, I can't read them translated. I need to read the original English version. That is how I can have really some fun reading his books.
One of the stories (I'm in Marsport Without Hilda) appeared in another book (Nine Tomorrows), but it was fun to reread it. And trust me, it was joyful.
If you ask me to chose the story that I liked more: it was the last: The Billiard Ball. Although it includes some technical discussions about gravity that I couldn't understand quite well, the end is dramatic!
Also, this is the third movie in the serie. So, we can't expect much from it.
Regarding other actors, I would say that NoƩmie Lenoir is very sexy on this movie. The bald head it kind of cute, let me tell you.
Other than this, there isn't much more to tell about the movie. I would tell you to watch the first five or ten minutes, and you got 80% of the best scenes of the movie.
What else can I say about this movie without giving spoilers? Well, the story is quite confusing at times. So many similar people, all bald and with a bar code tattooed on its back doesn't help. Also, I think there is a dark man (not racist, but as he is not a main actor I couldn't find his name) where the bar code is missing.
More, not sure how this movie is rated... let me peek IMDB... for Portugal older than 16. Probably, not bad. You know, it is not just the blood. It is also a nice bitch that is half of the movie half dressed, half undressed. Let me say you that Olga Kurylenko is very beautiful. I just do not like her piercings. It was nice to check at IMDB that in real life she doesn't use them.
Devolo has other similar gadgets. For instance, a pair where one of the ends is a wireless access point (although it contains an ethernet jack as well).
Now I am wondering. What gets cheaper? Pay to open your walls and put 100Mb ethernet cables, or just connect these things on the rooms I need web access?
Finally (or not), the Sarah Connor Chronicles TV serie hit Portugal. Today it was the first episode in the public TV and I needed to watch it. You know, Terminator movies are just great. Unfortunately, this was not as great as I expected. Some years later, same special effects, nothing really great. Not a big story (at least for now). We do not have the California Governor as a robot, and that is very bad. Instead, we have a girl (well, that might have done the trick). She is cute enough, but I really do not see her as a robot. Then, if in the original Terminator we had too see Arnold Schwarzenegger almost nude, why didn't we saw Summer Glau nude? I'll just wait for the next episode to see if I like this or not.
Yesterday I bought a new machine, but this time, a virtual one. SliceHost is a company that provides hosting on virtual machines. You do not buy some space on a machine, you just buy a machine. You are the administrator of it, and you do whatever you want with it. SliceHost includes a nice set of operating system for the machines you buy. They range from CentOS to Fedora or Arch Linux. This was the chosen by me as it is very close to Slackware, the OS I am used with. For about 24 hours, I can say I am happy with the service. Let's see how things evolve through time.
I mean, the fact that a program is old, doesn't mean it is stable. Look for instance to CentOS 4.0 and its Perl version. Yes, it is 5.8.0, the worst Perl release in the live of Perl. The nice thing is that after more than one year of CentOS 5.8.0 there weren't updates for Perl. You know, versions before 5.8.0 doesn't know what encoding is. Versions after 5.8.0 know. Version 5.8.0 just messes it all.
Need another example? What is more stable? Apache version 1.x or 2.x? OK, probably 1.x. Now, what is more stable? Apache 2.0 or Apache 2.2? Well, Probably 2.2. See? Not the older.
So, I see a stable Linux distribution as a distribution where the maintainers track all packages manually and have a good idea if new releases are of bug fixes or of new features.

If you ask me for the perfect operating system, I will tell you to go sleep and dream with it. There are some specific things that Windows do better, some others that can't be beaten by Linux, and there is all the fancy of MacOS. In any case, I normally work with MacOS, and I really like some things that are bundled on MacOS by default.
One of those things that I really like is Grapher. Grapher is an utility from MacOS to draw mathematical graphs. It supports most type of graphs you can think, from the simple X-Y shown above, to parametric and 3D graphs. You just type in the mathematical expression, and Grapher shows you the graph.
This utility is hidden under the Utilities folder in the Applications folder. I am sure that there are a lot of Mac users that searched for this kind of software in the web without knowing they had it under their hands.
Not happy, Lenovo is not trying to fight iPod/iPhone touch. One more time, it is not as sexy as Apple friend. Also, it is yet under development. But it seems promising to put Apple working again, and not sleeping on the work already done.Unfortunately in the last days I am having trouble converting from PS to any other image format. In special, I would like to convert from PS to GIF, as all LaTeX to HTML conversion systems use that to create images with mathematical formulas.
I've sent a couple of emails to the ImageMagick users list but nobody was able to give an intelligent comment about my problem. After digging more on my problem, I discovered how to get some more debug information, and decided to post a bug report.
Now, I do we submit a bug? Well, there is a mailing list that, accordingly with the description on the web site, is read by the developers to check if there are any bugs. As I am not a developer, I just tried to post to the list, expecting that a moderator would accept the bug report. But no! The mailing list is set to reject any post from a no-subscribed user. Thus, if you want to report a bug, you should subscribe to the list, send the bug report, wait for the answer (if there will be one) and then unsubscribe, as I do not have any interest of reading other users bug reports.
- first of all, a remote control. I know this is a wake-up machine, and thus, probably near your head on your bed. But that doesn't mean you can't work on your room, or do any other thing, that can benefit of a remote control;
- with or without remote control, the controls in the base should be able to control the iPod. It is quite bad to have to chose in the base that you want to listen to your iPod, and then use your iPod touch keys to select the music. Specially because the iPod support is not stiff enough to use easily the iPod.
- given that the LCD is a pixel-based LCD, why not add a equalizer? It would be quite geek and probably a good way to sell this item better.
This t-shirt is being sold by GetDigital. By the way, thanks again to GetDigital to exist, as to buy things from ThinkGeek is too expensive given Portuguese customs.