Archive for Book Reviews
Book Review: Learning Perl
Posted by: | CommentsPerl is one of those languages I probably don’t care if I ever master, but I have to deal with it from time to time both in web applications and in shell scripting, that I wanted to gain a better understanding of it. For that reason I passed up on getting the highly acclaimed “camel book” and got Learning Perl, 5th edition, by Randal L. Schwartz, Tom Phoenix, and brian d foy, which is a slim 328 pages. I also found the subtitle encouraging, “Making Easy Things Easy & Hard Things Possible”– my early experiences with Perl have not been pleasant ones.
I enjoyed the book more than I expected, and have found it equal to the tasks I need to perform with Perl. It reads much like any “beginning” programming book (without all of the ‘what is a computer?’ nonsense you’d find in a Deitel&Deitel beginner book). My depth of experience with PHP helped me to be a little more comfortable with the syntax, and allowed me to ponder some of the trickier concepts a little more deeply. Like the default variable $_… I’m still thinking about that.
The book has a good introduction to modules, and covers both using cpan to install, and installing from source. Both of which I’ve had to do recently. The chapter on Regular Expressions was especially helpful, and probably one of the best short-tutorials on regular expressions I’ve ever read. Someday I’m going to have to read a book about those, maybe I’ll remember it better, but until then brief explanations like these will be my regex life blood.
The book offers exercises at the end of each chapter, in fact the authors claim this book is the product of their curriculum taught over a number of years. I didn’t work through all of them, but I did a few and I found them helpful. They also include possible solutions to each of them. As a student of computer science, I appreciated their preface to each solution “Here’s one way to do it:”.
All things considered, I enjoyed my experience with this book. If your goal is to become a hard core Perl wizard, you might want to go with the camel book. If your intentions for Perl are more casual, then you probably want this book.
Book Review: MySQL Stored Procedure Programming
Posted by: | CommentsI’ve been using MySQL for almost 7 years now without realizing it had stored procedure capabilities. So when I saw MySQL Stored Procedure Programming, by Guy Harrison with Steven Feurerstein, I decided to take the opportunity to advance my skills with MySQL. It’s a pretty good sized book, and it took me a while to get through it because it’s just one of those books you have to keep putting down.
That’s a good thing in my opinion, because it means the material is so interesting that I can’t read for more than a chapter without getting on the computer and trying it out. The first chapter was a tutorial, I thought I knew everything after I had gone through it and it took quite a bit of discipline (as well as a few error messages) for me to get back to the book and go through the topics.
There are three things I especially like about the book.
First was the additional coverage on triggers and transactions. After reading this I feel like I haven’t really used MySQL at all– having never used stored procedures, OR transactions, OR triggers. They were all topics that have been immediately applicable to my projects, because they were needed somewhere I just didn’t realize I could do them.
Second was the discussion of the material in the context of sound software engineering principles. I always enjoy a refresher in those, and when I’m learning a new technology that’s usually when I need it most because I’m ready to hack everything together in my excitement. For example, there’s an entire chapter on “Creating and Maintaining Stored Programs” as well as som optimization material and a discussion of best practices.
Third was their treatment on using stored procedures with specific programming languages. These may some day go out of date, but they had chapters devoted to showing how to use stored procedures from PHP, Java, Perl, Python, and .NET. All of which are relevant 4 years after publishing.
This book was an excellent choice for someone who has database experience, and some stored procedure experience (Oracle). Even if you’re only familiar with the basics of MySQL, you will benefit from this book. And it isn’t at all over the head of anybody with some database programming experience. My only regret is that I didn’t find this book 4 years ago when it came out.
Book Review: Apache Cookbook
Posted by: | CommentsI was expecting to learn a little about Native American cuisine when I ordered Apache Cookbook, 2nd ed., by Ken Coar and Rich Bowen. I was disappointed in that respect, but I still found ample material to digest…
On a more serious note, I enjoyed reading this book and I learn a lot of new information about the Apache web server. I usually enjoy reading code cookbooks because their layout and organization facilitates skipping what you already know and getting onto things you don’t. I would consider myself an intermediate level Apache administrator, and I was able to get through the entire book in a single evening. I made notes on some of the recipes I found most interesting, and that I’m actually going to try implementing. I’ll list some of them here so you can get an idea what kinds of things you might learn if you read this book:
- Recipe 3.19 – Logging activity to a MySQL database
- Recipe 5.16 – Redirecting all- or part- of your server to SSL
- Recipe 5.17 – Turning Directories in to Hostnames
- Recipe 5.22 – Turning URL segments into Query Arguments
- Recipe 6.21 – Protecting files with a wrapper
- Recipe 6.33 – Using permanent redirects to obscure forbidden URLs
- Recipe 10.9 – Load balancing with mod_proxy_balancer
- Recipe 11.2 – Benchmarking Apache with ab
These were the topics that interested me most, but there are quite a few others that I’d like to play around with when I’ve got more time. Intermediate users can definitely skip the first 2 chapters which covers installing Apache on a number of platforms, and enabling certain mods. I highly recommend chapter 5: Aliases, Redirecting and Rewriting, that was one area I am particularly weak in and was able to get a lot of information out of it. Also helpful was Appendix A, which gives a concise refresher on regular expressions for those of you like me, who re-learn regular expressions every time you need one.
Overall I highly recommend this book. It’s not as comprehensive or as in depth as others I’ve browsed, but it is definitely dense with useful information about stuff you either didn’t know you could do with Apache, or weren’t quite sure how to do it.
Book Review: Learning Flex 3
Posted by: | CommentsI enjoyed reading Learning Flex 3, by Alaric Cole… which is saying something, because there aren’t very many “Flex for beginner”-type books I can stand to read these days. Aside from being very easy to read as far as technical books go, here are a few things that really stood out:
First, the book is very well organized, and the content is good. The breadth and depth of material covered is perfect for a beginning level. He even goes over several different deployment scenarios toward the end. Off the top of my head I don’t consider deployment as a “Flex-related topic”, but as I read through it I thought about how many times I’ve answered questions on this very topic to people just starting on the journey. It was a nice touch.
Second, tutorial based approaches are very effective for beginners. Maybe I shouldn’t speak for everyone, but when I first start learning a new language or framework, I find tutorials to be very helpful. Once the developer has the confidence and basic understanding (that can be obtained through tutorials) then they can apply their own style and develop their skills further. Learning Flex 3 reads almost like the Flex tutorials on steroids. If you’ve done the tutorials on the Flex Builder 2 startup page (which is how I started out with Flex) then you’ll know what I mean. Just picture how those build on each other, and then stuff in about 5 times as much information, and you’ve got this book.
Third, the syntax highlighting. Anyone who has ever read a book full of code will appreciate how much easier the syntax highlighting is on your eyes, allowing you to focus on other things. As a side note, the Deitel & Deitel books started becoming intolerable for me when they started rushing books to press without syntax highlighting… it was hard enough to get through those books with the code highlighting and color breakouts, but without them it was just torture.
Fourth, there are color diagrams. Simon and Garfunkel are right. Though I definitely wouldn’t base my decision to purchase this book on the basis of color pictures, it adds a very nice touch and makes the book easier to read than an identical book with only black and white diagrams. I didn’t do the tutorials as I read the book, I wouldn’t recommend that to a pure beginner. Even in color, reading the code and looking at the pictures is not the same as typing it out and running it.
I highly recommend Learning Flex 3 for beginners who want to get their feet wet with Flex. I don’t recommend it to more advanced Flex developers, unless they just want to look at the color pictures.
Book Review: Head First Design Patterns
Posted by: | CommentsHead First Design Patterns by Eric and Elizabeth Freeman was great. The designers of the series really tout their method of presenting the material as being on the cutting-edge, and although I can’t speak for everyone, the the content really got through to me.
I took a class a few semesters back that had design patterns as a core part of the curriculum, and it really opened my eyes as far as software development goes. We used the GoF book as our text, which is a very thorough, technical book that I have often been thankful to have in my personal library. I can’t deny that it comes up pretty dry when you’re trying to wrap your mind around a design pattern for the first time. There were a few design patterns we studied in the class (out of a total of about 20) that I left without having grasped well enough to where I felt I could apply it in real project (specifically the incarnations of the Factory patterns, with the exception of a simple factory).
The treatment of these patterns in HFDP really helped clear up a lot of the points I had struggled with before. Reading about the patterns I felt I understood already gave me an even better understanding. And the book is quite enjoyable, I’m not usually able to read “tech” books word for word.
I recognized a lot of the examples my professor used in class (which he borrowed from HFDP), and I remember him mentioning the book once or twice. I wish he had recommended it, because I probably would have benefited from it sooner.
At any rate I highly recommend this book, and will definitely try out a few more books from the series. I’ve already ordered HF Object-Oriented Analysis and Design, and HF Software Development (two other topics I “already know about”).
Book Review: Adobe Flex 3 Bible
Posted by: | CommentsAdobe Flex 3 Bible by David Gassner doesn’t contain anything ground breaking or spectacular, but overall I was impressed with both the breadth and depth of the book. Granted, at roughly the thickness of a real Bible (978 pages including index), it would be quite a shame not to achieve some depth.
What I especially appreciated was the in depth treatment of data access in Flex, particularly when it comes to integration with an application server of some sort. When I began learning Flex it was difficult to find documentation explaining how this was done, and was glossed over in the books I had in a very unsatisfying manner (even in my favorite Programming Flex 2, I’m afraid). I had to mostly fend for myself by pouring through example code. It took me about 2 weeks of concentrated effort before I was able to set up my own project to use FDS and JBoss.
Adobe Flex 3 Bible would have been a big time saver for me at that time. It devotes over 200 pages explaining how to set up and use BlazeDS, AMFPHP, ColdFusion and ASP.NET for data access with Flex. I was really impressed by this. Not only is it good information, but it’s presented in a way that’s easy to understand. I’d recommend this book to beginners on the basis of this section alone.
One of the cover’s bullet points state “Create desktop applications with AIR” and was a bit misleading. There’s only a small section toward the back of the book that deals specifically with AIR. It’s not technically incorrect though, because there are insights and information about developing AIR applications interspersed throughout the book (and considering how similar Flex development and AIR development are in terms of syntax, this is not surprising). If you’re looking to jump right into AIR development and want all the details in one place, please don’t get this book for that reason.
Book Review: ActionScript 3.0 Cookbook
Posted by: | CommentsFrom a Flex developer’s perspective, ActionScript 3.0 Cookbook, by Joey Lott, Darron Schall, and Keith Peters is pretty hard-core Actionscript (I know it’s ActionScript… Actionscript is easier to type). Many of the graphical recipes use the Sprite class, and there are plenty of references elsewhere to classes that have simpler to use, more watered down counterparts in Flex. At the risk of not being techinically correct, you could almost say it’s an “advanced” Flex cookbook.
This book has given me a deeper exposure to Actionscript, a deeper exposure that I find myself in need of more and more as I try to bend Flex to do my will. I’ll admit, I avoid the Sprite class and the Graphics class unless I’m in a situation where it’s unavoidable and I absolutely have to use them. Setting that aside, there are some things I routinely find too abstracted in Flex that I need to get at with base Actionscript. The TextField is a perfect example of this, a powerful component that is somewhat diluted for use in Flex. The authors devote a nice long chapter (chapter 9) to Text, offering plenty of opportunity for learning your way around this powerful class.
Two other chapters I have found to be very useful are chapters 5 (Arrays) and 14 (Dates and Times). Arrays are something I commonly overlook when I’m learning a new language, because they’re such a basic concept I feel as if I don’t need to devote much time for them. As a result, I often need to consult a reference when doing anything beyond accessing elements. At the same time, the recipes in the book dealing with Arrays aren’t all things you’d obviously want to do with them
(there’s one involving inserting items in the middle of an Array, which is unheard of in most languages). The same thing can be said for dates and times, even though I use them frequently it’s something I rarely commit to memory for any language, and it’s nice to have a reference handy.
The breadth of topics covered in the book is good, and based on the chapters I’ve gone through already the depth of each has been sufficient to make me feel comfortable with the topic covered. I can’t say this for many other Actionscript books I read, specifically the Actionscript 3.0 Language Reference (pdf format from Adobe) which covered each topic in such depth as to destroy all confidence in being able to effectively use the concepts.
The main reason I’ve enjoyed reading the ActionScript 3.0 Cookbook is because there are so many things I’ve never tried. I’m sure I will be occupied by trying out these recipes off and on over the next year or longer. In summary I’d recommend this book to any Flex developer who wants to develop a mastery of the ActionScript language a little bit at a time.
Book Review: Advanced ActionScript 3 with Design Patterns
Posted by: | CommentsI have a lot of praise for Advanced ActionScript 3 with Design Patterns, by Joey Lott and Danny Patterson. I purchased this book when I first started learning Flex and Actionscript for the purpose of becoming more familiar with Actionscript. I was familiar with most of the common design patterns already and wanted to see their implemetation in Actionscript.
If you’ve read and understood what the Gang-of-Four (or even HeadFirst) had to say about design patterns, you probably won’t get much more with regards to that from this book. Most of it served mainly as an interesting read and a little reinforcement. However, toward the end of the book there are 4 chapters that covered material not directly related to design patterns, but concepts that I have come to realize are significant to gaining an appreciation for Actionscript.
Chapter 13 is titled “Working with Events”. This chapter really helped me to understand how events are used in Actionscript and Flex (which is different enough than how they are used in Java or Visual Basic to warrant special consideration for someone learning Actionscript).
Chapter 14 is titled “Sending and Loading Data”. For someone first learning Flex or Actionscript figuring out how to get data from a database is one of the most frustrating experiences, especially for those used to scripting languages whose output is HTML (like JSP or PHP). The book covers loading text files, loading XML via URLRequest, Flash Remoting, and Web Services. It wanted only a little bit more explanation of why it had to be so roundabout, to make it a perfect explanation. I’ve since come to understand why, but I could have benefitted from that understanding a bit sooner.
Chapter 15 is titled “E4X (XML)”. Like getting data from a database, how to use XML is also a source of great frustration for beginners. Lott and Patterson give a good overview of using it, and from them I learned to treat everything as an XMLList, unless I know it’s XML. I’ve done that and been more sane on account of it.
Chapter 16 is titled “Regular Expressions”. This is one chapter I have yet to fully benefit from, but still an important concept as regular expressions have lots of uses both in and out of Actionscript. I don’t have a gift for regexp like some seem to have, and I refer to this chapter frequently when I find myself in need of them.
For these 4 chapters alone, the book was worth the money. In addition, I think someone less familiar with design patterns might also derive more benefit from the remainder of the book than I did, because it is well written and usually very clear. One thing of less import, that I really liked about the book– only 272 pages (Deitel and Associates should take a leaf from it…)
Book Review: Programming Flex 2
Posted by: | CommentsProgramming Flex 2, by Chafic Kazoun and Joey Lott, is without a doubt my favorite book about Flex (and therefore the greatest ever written).
Even though I have mastered many of the techniques and concepts presented in the book, I still find myself using it as my primary Flex reference, second only to the API documentation. The reason for that is that all the examples in the book are succinct and to the point (contrast this with C++/Java: How to Program by Paul and Harvey Deitel, which I loathe on account of the excessive code in the book. Note to Paul and Harvey: reading the programs is NOTHING like ‘entering them and running them on a computer’… notwithstanding the Live-Code™ approach). The short and sweet examples allow Kazoun and Lott to cover a remarkable breadth of topics in under 500 pages.
The main reason I love it so much is that I got it at the right time, which is to say my understanding of Flex and Actionscript was at the right level to receive maximum benefit from the book’s content. I have a fairly solid background in software development, and I had just finished the tutorials on Flex Builder’s Start tab. I just needed a reference to help me take it to the next level, and Programming Flex 2 really came through for me as far as that was concerned.
The first chapter that really benefitted me at this stage was chapter 7, “Working with UI Components”. It was more interesting to read than the API documentation, but provided enough details to expand my understanding of working with various components. It seems I found a new chapter once or twice a week that filled a void in my understanding that was giving me trouble in my personal projects.
Even today, I went to it to look up some information on using scale-9 and discovered a whole wealth of information about skinning that I didn’t quite grasp the first time I went through it. Even a year after first getting the book, it’s still providing value. I expect there are other things in there I still haven’t fully appreciated.
This is a great book and I highly recommend this it to anyone, specifically beginning to intermediate level Flex developers looking to take their skills to the next level.
Book Review: Flex Solutions, Essential Techniques for Flex 2 and 3 Developers
Posted by: | CommentsI first came across Flex Solutions, Essential Techniques for Flex 2 and 3 Developers, by Marco Casario, several months ago. I was getting an itch to buy a new Flex book and this was one of the titles that turned up in my searches. It received fairly high reviews at Amazon, but I was unimpressed with it when I browsed the contents for an hour at B&N. I remember having a “been there, seen that” kind of feeling at the time—the result being that I decided against it at the time.
It happened this spring that I found myself starting an internship at Nike, and that I would be mostly working with Flex (UI) and ColdFusion (backend). My ColdFusion experience is next to zero, in fact if you don’t count the simple change I made to a simple hit counter I made back when it was still Allaire ColdFusion—my experience IS zero. I started looking into expanding my ColdFusion library, specifically as it relates to Flex, and my searches lead me once again to Flex Solutions. For whatever reason, I decided in favor of this book, and I’ve been regretting it ever since.
Sadly the only ColdFusion covered in the book was the bare basics. If that’s all there is to working with Flex and ColdFusion, and nothing more, then I’ve got it made this summer. My job should be a piece of cake. I don’t fault the book too much on this point, after all it’s not a ColdFusion book. In my defense, ColdFusion is mentioned 3 times in the product description on Amazon, as in “How to use the ColdFusion Extensions for Flex Builder,” under the What You’ll Learn heading. Sadly you’ll only learn how to install the extensions, you might gain a vague understanding of what they are. With regards to how to use them, Casario provides this instruction:
You can learn more about the ColdFusion extensions for Adobe Flex Builder in the video tutorials at the following site: www.adobe.com/devnet/coldfusion/articles/wizards.html.”
The article is dated August 28, 2006; I haven’t watched it but I can only guess that it will be more helpful than Flex Solutions.
This book falls into the same category as most of the other Flex books I’ve read, and that is the “jack of all trades” category. That’s probably a great thing if you need to sell books, but if you’ve been working with Flex for over a year and are looking for a book to guide you to the next level, it’s a bad thing. It’s as though the publishers can’t resist adding those one or two chapters with an introduction to Flex in them, as if leaving out those 50-100 pages would make the book less valuable a resource. I expect to find that in a book titled Flex for Beginners/Dummies or An Introduction to Flex, but not in a book that aims to be a cookbook.
I would like to say two things in Casario’s defense with regards to that matter. First, is that it’s not even remotely as bad as those Deitel & Deitel ‘XXX How to Program’ books, where the first 5000 pages explain what a computer is and how to use the world wide web. Second, he does add an Expert Tips subsection to each recipe. None of them are that profound, but I wish the publisher could have extracted all those out and offered it as a pocket book or something.
The conclusion is that I would actually recommend this book to someone who’s a little less experienced with Flex. If you’ve gone through Adobe’s tutorials and you need a few tips to help you finish your “big” application, I could see the contents of this book being very helpful. If you’d already consider yourself an advanced Flex developer, you’ll probably end up thinking this book is a waste of money. Next time I’ll go with my instincts.
Now for a bit more criticism of Flex books in general. Perhaps I’m too demanding. I think I may have purchased Programming Flex 2 (Kazoun & Lott) with perfect timing. I was at the perfect position along my Flex learning curve, the book had all the information I needed and at the right level, and I loved the book. So much in fact, that I’ve often considered buying the Flex 3 edition even though I know I probably won’t find much new material in it. I still refer to it often.
I absolutely refuse to accept that I know everything there is to know about Flex and/or Actionscript, but Flex Solutions and most other books I’ve read on the topic have given me very little under the category of “things I don’t know yet”. I skipped directly to sections with topics I wasn’t as familiar with, but found only the same information I had already seen or heard. Perhaps when I’ve had time to go through the book more thoroughly my opinion may have changed.
In the meantime, would someone PLEASE write an ADVANCED book about Flex? Or is that even possible? Is Flex just one of those things where a book can only take you so far, and you have to find the road to mastery on your own? I’d write it myself if I considered myself qualified, or if I felt inclined to spend my time writing a book. I’d undoubtedly hate it too, for reasons I stated above. Anyway, I’m expecting a copy of the Flex 3 Cookbook soon, which I’ve been anticipating for a while now. I just hope it doesn’t let me down.

