Review of The Art of Readable Code

I encounter a lot of unreadable code because I work through a lot of code I download from the Internet for learning purposes and rework code from failed projects. So, it was with great interest that I opened The Art of Readable Code by Dustin Boswell and Trevor Foucher. After reading this relatively short book, I’m convinced it should be picked up as a college text. If developers would follow even half the advice in the book, many of the truly weird errors in code today would simply disappear because developers wouldn’t end up overwriting the good parts of other developer’s code due to a lack of understanding it.

The authors rely heavily on humor to make good points about writing code that is easy to read by others. The cartoons are engaging and fun. I wouldn’t necessarily call them funny—some of the jokes are tongue-in-cheek and others are a bit dry, but they’re all in good taste and make important points. As for the good points in the book, I don’t think I’ve ever seen anyone suggest that a developer actually turn to a thesaurus to find a better name for a variable, but the authors make this point on page 9. The point is made in a humorous way—not as a command as I’ve seen some authors do. I did laugh relatively often. For example, “The Ultra Hard Metal Nail Smashing Rod” reference on page 13 gave me quite a laugh. You’ll need to see the reference for yourself to understand it.

You’ll want to pay attention to the frequent Advice blocks in this book. In fact, if you’re short on time, skim the book looking for these blocks (and the Key Idea blocks I describe in the next paragraph) and you’ll improve your coding technique significantly. Some of the advice is obvious to a veteran programmer. For example, on page 25 the authors advise putting max_ or min_ in front of programming elements that describe some sort of limit. (If only novice programmers would follow that simple advice.) I only wish that the Advice blocks appeared with greater regularity later in the book. I would have welcomed advice from the authors on some of the more complex topics.

The Key Idea block is another useful addition in the book. For example, on page 122 you find the authors advocating that you create code that only performs one task at a time. Even though this idea seems quite obvious, you’ve probably seen code that is trying to do too much and ends up not doing anything well. The authors back up their Key Ideas with good coding examples (some relatively complex). Unlike the Advice block, the Key Idea block does appear with good consistency throughout the book and the authors have used it quite well.

The section on Eliminating Variables that starts on page 94 was especially useful for me. I often create intermediate variables while writing an application to aid in debugging it. The authors provide techniques that greatly simplify code without making it much more difficult to debug later. Even so, sometimes you really do need that intermediate variable for a while. The point is that you should simplify your code as it nears production to reduce complexity, provide fewer failure points, and improve performance.

As with any book you buy, this one does forward the author’s agenda. If you follow all of the advice in the book, your programming style will closely reflect the style that the authors use. Anyone who has written a lot of code knows that there are many perfectly acceptable styles of coding. The point is to make your code readable so that someone coming behind you can pick up on your style and quickly discover how your code works. For example, I still prefer to use a form of Hungarian Notation for my applications. Because I apply the notation consistently, my code is readable, but many developers feel that the notation is outmoded. Whether you use Hungarian Notation or not is not the point, the readability of your code is. The authors express their view of Hungarian Notation on page 17—as with many other parts of this book, they take a firm middle ground approach that should serve the reader well.

There is a lot to like about this book. As I said at the beginning of the review, colleges would do well to incorporate it into their curriculum. The authors do press their style of coding strongly at times, but I imagine that if I were writing this book I would do the same things, so I can hardly fault them on this point. The content is a bit simplistic for the veteran programmer at the beginning, so you might want to start around Chapter 7. Overall, I think this is a good and much needed book.

Review of Dark Shadows

It’s always interesting to see how someone is going to handle a movie version of a television show, especially when that show played long enough in the past that the original actors are unavailable to participate in any significant way (especially in their original roles). Dark Shadows starring Johnny Depp (as Barnabas Collins) and Michelle Pfeiffer falls into this category. No matter how you play your part, the people who loved the original show will complain because it isn’t the original show. I remember watching the original Dark Shadows with my mom during lunch in the summer months.  I was somewhere around eight or nine at the time the show started in 1966 (I may not have started watching until 1967). There is only one word to describe the original series—Gothic. The brooding interiors, appearances of vampires and other creatures of the night, and overall pacing of the program made it something special even for an eight year old.

The movie is something similar, but also different, from the original Dark Shadows. Anyone who has become so fixated on the original show that they can’t be objective about any other treatment of the topic will absolutely hate this movie. Johnny Depp has taken the original show and made it his. Anyone familiar with Johnny Depp knows that he plays his parts in an unusual manner. The role he played in Pirates of the Caribbean says it all. When you combine Johnny Depp with director Tim Burton, you have to expect the unexpected.

Expect a little comedy in this movie. The comedy isn’t continuous, but it is there and it feels natural when you see it. The comedic element is what adds the true Depp touch to this movie. It isn’t meant to provide a raucous laugh, but more of a good chuckle. The tongue-in-cheek humor can be a little subtle at times and there was one case where I got the joke a few minutes after it appeared on screen. Even so, the humor keeps the movie from becoming a little too dark and possibly boring.

Overall, the movie does follow the same basic plot as the television show, but greatly speeds the plot up and doesn’t include many of the elements of the original show (there are no zombies and the werewolf only makes a cameo appearance). Of course, the original show had over 1,200 episodes in which to convey its content and Johnny Depp only had 113 minutes. I found the movie plot moved along at a nice pace and kept me entertained. There weren’t any places where I was bored and wished for something, anything else to happen. Care was taken to keep the plot coherent and I think most people will enjoy it.

Not to leave Michelle Pfeiffer out, she played something of an accountant. At least, that’s how I essentially viewed her role as the Collinwood family patriarch. I didn’t feel her acting was quite up to the standard of movies like Ladyhawke and Batman Returns. There was a little something missing that made her role feel a bit forced at times.

Eva Green, who plays the evil witch Angelique, does an outstanding job in her role. She plays against Johnny in a way that keeps the plot moving well and doesn’t feel a bit forced. Not having seen the script, I have no way of knowing whether any adlibbing took place, but it wouldn’t surprise me. The two worked together incredibly well. I only barely remember her acting in Casino Royale, a movie that failed to impress me much. I’ll remember her in this role.

Bella Heathcote plays Victoria Winters well. It isn’t an outstanding job, but technically proficient and she did seem to fit the role well enough. This is the first time I’ve seen her acting ability and I hope to see her in future roles because I think she’ll have a lot to offer.

The movie does include a few special effects—some of which you might not notice at first. As with the humor, many of the special effects are subtle and you only realize you’ve seen a special effect after you think about the impossibility of a sequence actually occurring (the physics are simply wrong in some cases). Some special effects are obvious, but not in the exploding car, action-oriented sort of way. A few are really quite amazing because I don’t think I’ve seen them done in any other movie. In short, the special effects work well with the movie and add to it, without being overly obvious in most cases (except when you’d expect them to be obvious).

This is one of Johnny Depp’s better roles. I wouldn’t quite put it on par with his portrayal of Captain Jack Sparrow, but certainly it’s nearly as good. I’ve talked with a few people since I watched the movie who actually do feel this is his best role to date, so what you feel about it will depend on the kind of Johnny Depp you like to watch. One thing is certain, this movie will be going into my library when it’s finally released. No, it’s not the original Dark Shadows, but it’s a fun treatment of the Dark Shadows plot that really does do a great job of entertaining.

 

Fun is Where You Find It (Part 5)

Last year about this time, I posted the original Fun is Where You Find It! where I discussed the egg decorating kit we purchased for Easter. Of course, it’s a fun activity, so we did it again this year with Paas Basket Buddies egg decorating kit. Imagine seeing the cutest kittens and puppies on your Easter eggs and you’ll have an inkling of the results of using this kit. The online price of $4.99 is a little more than the $3.99 price we paid at our local store. The kit is on par with last year’s price. Eggs are a lot more expensive though at $1.59 for large eggs.

FunisWhereYouFindIt0505

The dyes used in this kit are a bit better than last year’s kit—I’m not sure why. It could be that the tie dye kit instructions were designed to produce better mixed results. We did use the vinegar method described on the box and soaked the eggs for around thee minutes each to obtain the results shown here.

FunisWhereYouFindIt0501

For once, our results actually matched those on the package for the most part. The six colors are: red, blue, green, yellow, orange, and pink. No matter what we tried, we couldn’t get the pink to turn out right. You can see the single pink egg in this dozen is speckled. It’s a pretty egg, but not the results we anticipated.

This is the kit to use if you have young children and don’t want any kind of a mess. Except for dipping the eggs, there really isn’t much risk of creating any sort of damage to clothing or furniture and an adult could perform the dipping part. The kit does come with 9 Eggarounds, which are wraps you put around your eggs, and then shrink into place. The Eggarounds look like this initially.

FunisWhereYouFindIt0502

Notice the somewhat tight fit. You have to use large eggs with the Eggarounds because they won’t shrink enough for medium eggs. On the other hand, some large eggs proved a little too large. Still, in the two dozen eggs we made up, there were plenty of eggs the right size. The box talks about two methods of working with the Eggarounds—the water shrinking method is messy and proved unsatisfactory. Using a blow dryer works as advertised. Here are the results we obtained from our eggs:

FunisWhereYouFindIt0503

You can see that our first egg has a few ripples in the surface. Playing some with the technique produced smoother results as we went along. I don’t think it’s possible to get a completely smooth surface without a lot of practice. However, the results are eye pleasing and fun to work with.

The kit also comes with 90 stickers. The Eggarounds took care of the decorating needs for 9 of the 24 eggs we cooked up. That left 15 eggs or six stickers per egg, which really isn’t enough to do the job. We decided to leave the pink eggs as they were, speckled, because they really are eye pleasing that way. Using eight to ten stickers per egg produces a nice result. Here is a typical result using eight stickers:

FunisWhereYouFindIt0504

Overall, we found this kit extremely easy to use. It required about 2 hours worth of effort for us to complete the 24 hard boiled eggs—making for some extremely cheap fun that we can benefit from later. The kit won’t support more than 24 eggs unless you don’t mind having some undecorated eggs at the end (colored, but without stickers). What sort of results do you get out of the egg decorating kits that you’ve tried? Let me know at [email protected].

 

Review of the Sword of Truth Series

The Sword of Truth series is written by Terry Goodkind. It features a number of interesting characters, but the focus is on two characters, Richard and Kahlan. Richard’s grandfather, Zedd, also plays a major role in the book series, but not in the way Richard does. Richard is the Seeker of Truth, which would be an auspicious goal for any hero. The other characters come and go as needed to fill out the various scenes. It’s not that the book series lacks depth due to too few characters—quite the contrary, the book series is actually quite detailed and rich. The series consists of these books (in the order that you should probably read them):

 


Anyone familiar with the series will see that I left Debt of Bones out of the list. Yes, this book is also part of the series, but take my advice, save it for later. The eleven books that contribute to the main part of the series will take quite a while to read and reading Debt of Bones does present a few spoilers that I would rather not have known. It’s a good book to read after the fact, much like watching Legend of the Seeker (the ill fated television series based on the book) adds to the experience. It’s possible that there are other additions to the Sword of Truth series, but this review doesn’t discuss any of them.

I’m going to try hard not to spoil anything for anyone who hasn’t already read the series by providing a detailed overview of the plot. If you really want to spoil your reading experience, read the reviews on Amazon. However, the series does contain everything needed for a good fantasy. There are the usual heroes and villains. The hero has a pretty girl to protect. As in any good fantasy, magic is a must and you’ll eventually encounter mystical creatures such as dragons.

Terry is a great writer in many ways. His writing style reminds me quite a bit of Tom Clancy, another favorite author of mine. Rather than gloss over the details, Terry writes about them with vigor. It almost feels as if you’re seeing the fantasy world through a camera—the vivid details are nothing short of fantastic. However, reading the details isn’t everyone’s cup of tea, so you’ll see lots of complaints that Terry doesn’t move the plot along quickly enough. It’s true, the plot does seem to drag at times because you’re reading about details that may not matter much to the story. From my personal perspective, I greatly enjoyed the detail because it helped me envision the world of Richard and Kahlan in ways that would have been impossible otherwise.

A problem with the series is that it runs across so many books. Terry must repeat details for readers who could read the books out of order and not know about details in other books. I tried reading one book out of order and the repetition wasn’t a problem at all. However, reading the books in order did leave me feeling at times like I was getting buried in repetition. The series would have been far better if Terry had limited it to four or possibly five books. Leaving out a little of the non-essential detail and all of the repetition would have accomplished the task in a far more elegant manner. However, this is a minor nit that plagues an otherwise well-written series.

Some people have complained that Pillars of Creation should never have been included in the series. I disagree. Part of the reason that this series has kept me interested is that Terry takes side quests. You wander about the four main lands of the series: Westland, The Midlands, D’hara, and The Old World and really examine things. If Terry had never used the material from Pillars of Creation in other parts of the series and used that material effectively, I probably would have said that the book didn’t belong in the series either, but the fact is that Terry does use that material to good effect. It’s one of those situations where you must read with the idea that the author requires time to develop part of the plot for you.

A few people were appalled by some of the graphic detail in the books. I must admit that I could have probably done without a little of that detail myself. There is only so much that I want to know about the blood, gore, broken bones, and other horrors that the protagonist has faced. In this case, the exquisite detail of Terry’s writing didn’t serve to make the series more enjoyable, not unless you’re of the Marquis de Sade persuasion. There were a few small sections that I scanned briefly because I didn’t relish the graphic details in them.

Richard represents many good elements that I have found in few books. His emphasis on loving life and living it to the fullest because you want to do so is presented in unique fashion. Terry does seem to get on the stump at times and I found the long diatribes distracting, but I did approve highly of the way in which Richard presented the facts to others and encouraged them to live their lives. In fact, I’ll go so far as to say that these passages often motivated me to grasp life a bit more strongly and robustly.

The sign of a great author is the ability to do the unexpected—to entertain in a way that surprises the reader. I feel that Terry has succeeded to a high degree in this regard. His solutions to the problems created for the hero and his associates to overcome in the book series are interesting and incomparable. The fact that readers got so worked up about some of the solutions that many of them chose to write reviews about them tells me that the author has achieved that rarest of goals—a strong emotional response. The readers are obviously engaged and fully appreciate the characters that Terry has provided.

Now that I have finished the series, one of the biggest questions I must answer is whether I’d read the series again. A book series of this sort is best when it attracts a second or third reading. I must admit that I’m going to put Richard and Kahlan away for a while, but I definitely plan to take them for another stroll in a few years after I have forgotten enough book details to make the reading enjoyable once again. This is the kind of series where the surprises that the author has included are a distinct part of the series as a whole. You want to read because you don’t know what the author will do with the characters next.

Is this a good book series? It’s not Tolkien, in that the styles are different and the sort of fantasy differs as well. Terry produces a great book that’s an easy read and something that will most definitely entertain, but I don’t really feel it’s a classic. Of course, time could easily prove me wrong. Given what I know now, I’d still buy the books and I’d still enjoy them. I hope that Terry sees fit to produce another series—perhaps one that omits a few of the fit and finish problems with this one.

 

Review of ADO.NET 4 Step by Step

Microsoft has created a plethora of database technologies over the years. The managed form of ActiveX Data Objects (ADO) is just another in a long series of ways to access data from within an application. Because some older technologies, such as Open DataBase Connectivity (ODBC), are so entrenched, there isn’t any way that a single book can tell you everything there is to know about working with databases from a Microsoft perspective. When you add in all of the potential database products (SQL Server, MySQL, AskSAM, Oracle, DB2, and many, many others), the task becomes impossible. So, when I reviewed this book (supplied to me by the publisher), I didn’t consider completeness from the perspective of providing a single source solution to database management. In fact, given 25 years of experience, I feel that such a book is impossible to write—at least as a single useable volume. When shopping for a database management book, be sure you look for a book that covers both the required access technology (such as ODBC, ADO, or ADO.NET) and the database manager (such as SQL Server or MySQL) that you need for your project.

Tim Patrick has written ADO.NET 4 Step by Step with ADO.NET and SQL Server in mind. In fact, the book is incredibly focused and I applaud the author’s single minded devotion to this combination of technology and product. Other database books I’ve read just don’t seem to get the idea that watering down the message won’t work. While it might be possible to include multiple products in a book, trying to cover multiple technologies seldom works because there is too much to discuss and, even if the author successfully writes about each technology in an unbiased way, the reader tends to become confused. So the first thing you must know about this book is that it’s strictly about ADO.NET and SQL Servertry another book if you need any other combination.

This is the second Step by Step book that I’ve reviewed (see Review of HTML5 Step by Step for details of the other review). As with that other book, this book is heavy on hands on involvement and light on theory, which is just fine because many people learn better using hands on tasks. However, database management is a more complex task than creating a Web page because you have data integrity rules and other issues to consider that simply don’t come into play when working with a Web site. (To be fair, Chapter 12 does discuss data integrity, but mainly from a hands on perspectiveyou end up understanding how, but not what, why, or when.) I mention this because the hands on approach in this book does help you create applications fast, but it doesn’t provide you with everything you need to know to create good applications. For example, the discussion of ADO.NET components consumes a scant two pages. Database normalization is covered in a two paragraph sidebar in Chapter 2. The author is cramming a huge amount of theory in an incredibly small space and glossing over a lot of details. I would have liked to have seen some notes, tips, or sidebars with online resources as a minimum so the reader could fill in the missing theoretical details later.

The best part about this book is the activity. I was able to create a basic application in less than an hourfar faster than any other book I can remember using, even my own books. By the time you reach the end of Chapter 1 (about 15 pages), you’ve already learned how to create a connection to your data. Chapter 2 has you creating tables using several different techniques.

I loved the quick references at the end of each chapter. They act as a quick method of ensuring you got all of the details out of each chapter. If you read the entire chapter, you can go back to the quick reference later as a reminder of the things you learned.

Patrick provides a relatively good discussion of every aspect of managing the database and the information it contains using both C# and Visual Basic examples. Support for both languages is a good addition to the book. In addition, the support isn’t sporadic as it is in many books that favor one language or the otheryou’ll find most information discussed equally in both languages so neither language feels like a second class citizen.

Chapter 8 does discuss external connectivity, but it feels like Patrick is discussing the topic from the perspective of the developer who normally uses ADO.NET exclusively, which is absolutely correct for this book. You’ll discover how to interact with OLE DB and ODBC data sources. Unfortunately, as with many other areas of the book, the author digs right into using the connections without providing any theory whatsoever. This is another area where it would have been nice to have resources provided so that the confused reader could learn more. Still, everything works as promised, so there is something to be said for that. Many readers don’t want to know how it works, they simply want to know how to do something black box style and this chapter fits in perfectly with that mindset.

For me, the highlight of the book was Chapter 16. In this chapter, the author cuts through all of the usual garbage associated with objects and shows the bare essentials to use technologies such as LINQ. This is possibly the shortest, yet best conceived, coverage of the topic that I’ve seen anywhere. Again, you’ll find yourself lacking theoretical details, but the how discussed in an elegant way that will enable most readers to make use of these newer technologies in an incredibly short time. In fact, Part IV of the book goes on to cover LINQ in detail. I’m convinced that LINQ will eventually become the data query technique of choice because it’s relatively easy to understand, requires little code, and generally produces optimized results with little effort on the part of the developer. Obviously, the author agrees with me on this matter.

Overall, ADO.NET 4 Step by Step is a fantastic book for teaching you the “how” of database management using SQL Server and ADO.NET. In fact, you’ll learn how to perform many tasks that other tomes simply leave out. However, if you want to know why you’re doing something, when to do it, or understand the theory behind a task, you’ll need another book. I recommend this book to anyone who wants to get started quickly. You can always obtain a theoretical book to fill the gaps in your knowledge and you experience programming scenarios you don’t understand. The best addition the author could make to a next edition is some online sources to help the confused reader. Writing a database management book is tough, but it’s important to recognize that there are limits to what you can do and provide the reader with help in overcoming those limitations.

 

Review of Real Steel

Real Steel (starring Hugh Jackman and Evangeline Lilly) is a combination of two movie types I really like—science fiction and boxing. The synopsis of the movie sounds unique and in many respects, the movie is unique. However, once you see the movie, the first thing that comes to mind is that it’s faintly reminiscent of the Rocky movies. The movie is actually loosely based on a The Twilight Zone episode entitled, “Steel” (1963) penned by Richard Matheson (1956). Being a fan of the old television series (still being shown in some locations), I can see a faint resemblance to the way the show would have been put together, but don’t expect to see Rod Serling appear on screen.

Let’s get the required glitz review out of the way. The graphics in this movie are nothing less than spectacular in the fact that they look completely normal. There is a certain amount of flashing lights, explosions, and the like, but for the most part, this movie could happen in your neighborhood today. It’s this lack of over-stimulation that draws you into the movie. You find yourself believing that someone you know could be boxing robots. Whoever put the graphics together and came up with the creative ideas for this movie is amazing. I had expected eye popping effects and instead got normal, which actually suits this movie quite well.

The value of this movie is in the plot. Emotions run high because the plot is quite good and well acted. You find yourself wanting to cheer, cry, and yell all in a matter of minutes. Charlie Kelton (Jackman) ends up taking care of his little boy, Max (Dakota Goyo), after literally ignoring him all of his life and then selling him to his sister-in-law. Max is understandably upset at first, but then something happenshe gets interested in his own robot boxer. Even though Charlie is a complete loser on his own, when coupled with Max he becomes a winner. I don’t want to ruin the plot of this extraordinary film, but you can imagine what happens next.

Most of the performances in this movie are a little over the top, but well acted. The only actor that didn’t quite do the job was Evangeline Lilly (Bailey Tallet in the film). I found her performance a bit weak. It was almost as if she was overawed by Jackman. She did play an important part, but the performance could have been bettermore believable. It wasn’t until the end of the movie that I felt a bit for her character, but by that time I was almost too busy cheering Charlie and Max to really notice. It was a case of too little, too late.

If you like science fiction, boxing, or simply a well-acted emotional movie, you’ll like Real Steel. It has few warts and a lot to recommend it. I just hope that they don’t ruin this movie by coming out with a sequel.

 

Review of HTML5 Step by Step

Microsoft has thrown developers yet another curve—Windows 8 will rely on HTML5 and JavaScript for a programming interface. The revelation has many developers horrified. For me, it means updating my HTML and JavaScript skills, which was one motivation for reading the book reviewed in today’s post. HTML5 Step by Step, written by Faithe Wempen, provides a quick method of getting up to speed on HTML5.

This book is designed to aid anyone who wants to know how to work with HTML5, which means that it starts out extremely simple. The book avoids the ever popular Hello World example, but the example it does provide is small and easily understood. The chapters don’t remain simple, however, so even if you have some experience with HTML, you can use this book to update your skills. You’ll likely want to start around Chapter 3 if you are experienced and skim through the material until you come to something unfamiliar, which could happen relatively fast given the changes in HTML5.

HTML5 Step by Step is light on theory and reference information, but heavy with hands on experiences. It relies on using Notepad as an editor, which may seem like an odd choice, until you read the “Why Learn HTML in Notepad?” section of the Introduction. The author’s reasoning is akin to the same reasoning I would use, which is to make sure that the reader types everything and understands why a particular element is required. If you really want to get the most out of this book, you have to do the exercises in Notepad as the author suggests. Otherwise, I guarantee you’ll miss out on something important. Faithe has made a great choice of teaching aids in this case.

Chapter 1 is most definitely designed for the rank novice. It even shows how to set up the examples directory as a favorite in Notepad. However, unlike many books, the rank novice should read the book’s Introduction because Faithe does provide some needed information there, such as the “Understanding HTML Tags” section.

Chapter 2 gets the reader started with some structural elements. Faithe covers everything that the reader is likely to need for a typical starter Web page. I wish that the chapter had covered <meta> tags in a little more detail, or at least provided a table listing them, but this book does have an emphasis on hands on exercises, so the omission isn’t a glaring one. As an alternative to including the information, an update could provide a URL that lists the tags so the reader knows where to go for additional information.

By Chapter 3, the reader is formatting text and starting to make the sample site look pretty. I really thought Faithe did a nice job of moving the reader along at a fast, but manageable pace. She shows the reader how to make effective use of tag combinations, such as the <kbd> (keyboard) and <b> (bold) tags.

There is the smallest amount of reference information in some chapters. For example, Chapter 4 contains a table on page 50 showing the list attributes. These references are very small and quite helpful, but the reader should understand that the emphasis is on doing something and that the reference material may not be complete. For example, the special symbols table on page 56 is missing the em dash, which is something most people use.

The book progresses at a reasonable pace. Never did I find myself rushed. The examples all seem to work fine and I didn’t find missing steps in the procedures. The author uses an adequate number of graphics so that the reader doesn’t get lost. I liked the fact that every exercise ends with a cleanup section and a list of the major points that the reader should have gotten from the exercise.

Readers who are only interested in new tags will need to wait until Chapter 9 to see one. The <figure> tag makes an appearance on page 141. However, even some professionals didn’t use all of the HTML4 tags and it really does pay to start at Chapter 3 and look for something you don’t recognize. It may surprise you to find that an earlier chapter contains a somewhat new (but not new to HTML5 tag) that you’ve passed by.

There are a few nits to pick with this book. The first is that the author places the accessibility information in an appendix where almost no one is going to read it. The information should have appeared as part of the rest of the book as appropriate. In addition, the author misses the big point that most people today have some sort of special need addressed by accessibility aids. The number of people who are colorblind alone is 8 percent of the male population and 0.5 percent of the female population. This book is unlikely to help you create a truly accessible sitenot that this is the reason you’re buying the book.

The second is that Appendix C doesn’t really help very much with the additions and subtractions for HTML5. For example, Appendix C doesn’t tell you about the new <aside> tag. If you want a quick list of the new tags, check out the www.w3schools.com HTML5 New Elements page. (I checked the missing <aside> tag against a number of other sites, such as About.com.) The point is that Appendix C won’t give you the complete picture. Again, this isn’t one of the selling points of the book, but the list should have been complete.

The third is that there isn’t really enough information about why something is done or why it changedsimply that it must be done or that it did change. The reader probably doesn’t want a full blown history of the change, but the why of something can make understanding and, more importantly, remembering a concept easier. Still, this particular nit is minor since the purpose of the book is to get you started with HTML5 quickly and not to explore it at a theoretical level.

Overall, HTML5 Step by Step is a great book for the novice who wants to learn how to create Web pages. It’s also an acceptable book for someone who’s experienced with HTML coding, but wants to get up-to-date on the HTML5 changes quickly. This book is definitely designed for someone who wants to do something, rather than simply read about it. If you don’t perform the exercises, you won’t get much out of the book.

 

Review of Conan the Barbarian

I’m sure someone will yell, “Heretic!” after reading my review of the new Conan the Barbarian (starring Jason Momoa and Ron Perlman). Yes, we all know about the time honored version that features Arnold Schwarzenegger. There is no replacing that version and I’m happy to say that this movie doesn’t try. I’m not going to get into the political debate of how each version has strayed from the original Robert E. Howard books. You can find this sort of discussion in a number of places online, including the Amazon comments for each movie. No, my review is more along the lines of answering the question of whether this new version has entertainment value. After all, someone goes to the movies to be entertained.

Fortunately, the director, Marcus Nispel, did something right—he didn’t try to compete with the original movies. This is something different and it truly is entertaining, but in a different sort of way than either the books or the original movies. The movie begins with Conan’s childhood, but you get a snapshot and not the fuller treatment of the older version of Conan the Barbarian. The books don’t cover Conan’s childhood at all (at least, not so far as I know). This version of the movie is a bit more violent than the originals, but far less gory than some other movies I’ve seen. The movie does indeed have a plot and it isn’t all about how much violence Conan can commit in the shortest time possible. However, you won’t want to take your kids to this movie if they’re squeamish about blood or a bit of nudity.

The characters are polished in this movie to the point where you want to boo the bad guy and you feel bad when the hero has a hard time of it. There is an definite emotional attachment that takes place, which is something every movie should strive to achieve. If you don’t care about the characters, then it’s usually pointless to watch the movie. However, when it comes to larger than life heroes, it’s still tough to beat Arnie. You’ll like this Conan for his humanity, rather than being larger than life. I thought Marique’s (Rose McGowan) metal fingertips were a nice touch, as was the hairdo that made her look as evil as you thought she should be.

Needless to say, the graphic effects in this movie are well beyond anything the original Conan movies can offer. In some cases, the eye candy proved a little distracting to me. I found my attention diverted from what the characters were trying to convey in a few places, especially near the end of the movie when dramatic events were drawing to a close. Just how many cave-ins does a single movie need?

Overall, I thought that this movie does a great job of entertaining the viewer who isn’t looking for a direct takeoff of the original movies or the books. This movie stands on its own and you have to accept it on those terms or you’ll be disappointed. The scenery is superb, the dialog excellent, and the actors have that certain appeal required to make you care about them. I think that eventually this movie will become just as much of a cult classic as the original Conan the Barbarian and I definitely plan to add it to my collection when it comes out.

 

Review of Creative Close-Ups

You may have noticed that I use quite a few photographs in my blog entries. Some of these photographs look nice (they aren’t art by any means) and some of themwell, they didn’t quite work out as I hoped they would. Over the years I’ve grappled with unwanted shadows and close-ups that aren’t quite close enough. Focus is also a problem and fuzzy pictures never convey what you want when it comes to factual posts of the sort I create. I was recently talking with Harold Davis about my photographic ventures and he graciously offered me a copy of Creative Close-Ups. As expected, this is a self-help book for people who want to create better close-up photography, which is the sort found most often in my blog posts.

The one thing that will strike you immediately about this book is that Harold is quite talented and is possibly wasting him time writing books, but I’m extremely happy that he did. The book contains page-after-page of striking images. Some of them have been Photoshopped, something that Harold readily admits and even recommends to an extent. Because I’m looking more for better real world shots and not necessarily art, I’ll very likely not Photoshop anything on my blog from an artistic perspective (I could very well use Photoshop to enhance images to make them better convey the information I want), but the book also pointed out the usefulness of creative croppinga technique I intend to employ from now on.

 

I’ll always tell you if I’ve modified a picture in some way. Otherwise, you can be sure that the picture you’re seeing on the blog is the picture as it came from the camera. I know that there is a certain amount of discussion about this topic and plan to be up front about any modifications or twiddling I perform.

Harold has convinced me that using a tripod isn’t quite the waste of time I thought it might be. The discussion starting on page 64 will probably change your mind too. There are few sections of the book that provide a purely artistic view of a topic, but you won’t find many. Instead, Harold tries to provide good solid reasons for doing things a certain way and then backs them up with stunning pictures. In fact, there isn’t a single photograph in the book where Harold has kept the technique secrethe exposes every technique for your learning pleasure. Where there are multiple ways to accomplish the task, you’ll find them listed, along with any pros or cons of that particular technique.

I found the discussion of equipment helpful in many cases. For example, in page 60 you’ll find a tip about the Lensebaby 0.42X Super Wide Angle accessory lens. However, the text isn’t formatted differently (as a Tip or a Note found in other books), so finding the information later isn’t as easy as it could be. In addition, there isn’t any picture of the lens taken apart so that I can see what he’s talking about. The information is probably quite helpful, but it’s less useful than it could be due to a lack of pictorial backup.

Overall, the book is more focused on technique, than on how to apply the techniquethe discussions of equipment left me scratching my head and I ended up researching the information on my own online and found many new pieces of equipment such as the DJI OM4 that is used for smartphone photography. I also found some different lenses and tripods available. (Harold also kindly answered some of my e-mail queries.) Admittedly, there is a short list of URLs on page 234, but you won’t find a resource for every piece of equipment listed in the book. Creative Close-Ups lacks pictures of any of the equipment, so someone like me has no idea of what these devices look like. If I were to go to a store, I’d be completely lost. It would also be nice to know if there are places online to buy equipment where I won’t be cheated since the nearest camera shop is in Milwaukee (170 miles away). So, this book will tell you how to do something, but not provide you much in the way of describing the means to accomplish the task.

That said, there are many sections that make the book worth the purchase price (if the amazing photography and associated setup instructions isn’t reason enough). The section on focusing on page 68 is especially insightful. In fact, the tips on page 70 are precisely what I need to do a better job with my own photography.

This book provides me with plenty of room to grow. The discussion of focus stacking starting on page 124 will require plenty of work on my part and I may never master the technique in the same way that Harold obviously has. Still, the discussion gives me some ideas and I hope that I’ll be able to use the technique in my blog.

Creative Close-Ups provides inspiration, food for creative thought, and lots of technique. I don’t think that a complete novice will be able to use the book because Harold doesn’t explain many terms such as ISO and what an f-stop is, making notations such as ISO 100 and f/40 useless. (There is a short description of these terms on page 72, but hardly enough for the novice and not early enough in the book to make the initial discussions helpful.) However, for someone who is truly serious about taking better photographs, this book provides a lot of informationmore than most people will be able to absorb in a single reading. I personally plan to read through some sections multiple times and use the book as a reference in the future. Whether this book makes me a better photographer remains to be seen. (As Harold says on page 46, “Cameras don’t take pictures; people do.”) I wish that there was more about the mechanics of performing these amazing tasks and better descriptions of the equipment the author used, but that may be asking too much out of a single book on a complex topic. Overall, I think the author has achieved his goals admirably and that anyone reading this book will truly be dazzled by what is possible.

Fun is Where You Find It! (Part 2)

One of my more popular previous posts is Fun is Where You Find It! In this post, I suggested that family crafting can provide a source of cheap entertainment. Finding crafting activities that the entire family can enjoy is productive from a number of perspectives, not the least of which is promoting communication between family members. Of course, not every activity has to be craft related. Every year Rebecca and I put together a number of jigsaw puzzles. They’re inexpensive, require a few hours to complete as a minimum, and also promote communication. We discuss all sorts of things while putting our puzzles together.

One of the complaints about jigsaw puzzles is that they’re boring. In order to make the jigsaw puzzle interesting, it has to have a twist. Some have jigsaws with a theme or find a way to make their family pictures into puzzles. A simple Google search for ‘Turn Picture into puzzle‘ reveals a whole host of options, but for us, we liked our twist to come with a theme. The glow in the dark puzzle offered such a twist, but it was probably more complex than the average family would want to do and the subject matter was along the lines of a Gothic image that many people would dislike (it was of several women walking through a medieval forest at night to a party of some sort). Families will also want to avoid the double-sided and 3D puzzles because they can prove difficult to complete. Some of the jigsaw puzzles we’ve done are quite exotic. We put one together that glows in the dark and some are works of art that we’ve displayed for weeks on the dining room table before begrudgingly packing it away. A few have been oddly shaped or had other special features. In a few cases, we’ve even discussed using Mod Podge to preserve our treasure for all time, but have never quite made it to that point. Should we ever decide to do so, we could easily frame our treasure for everyone to see. Given the number of puzzles we do though, it’s unlikely that any particular puzzle will prove so spectacular that we’ll actually go this extra step.

However, a puzzle we just completed could prove interesting to quite a few people, Murder at Bedford Manor. You put the puzzle together, read an associated booklet that contains the basic story, and then look at the completed puzzle for clues as to who committed the murder.

The puzzle took about 22 hours for two people to complete and solving the murder required another 3 hours, for a total of 25 hours of fun for the low cost of $26.00. Where else can you entertain two people for 25 hours at a little over $1.00 an hour? We actually worked on a 1,000 piece version of the puzzle, but the 500 piece version will probably work better with a family that has younger children with shorter attention spans. The point is that you need not spend vast sums to have funa good time can be had for just a few dollars, which is perfect for the self-sufficient family on a budget. What is your favorite jigsaw puzzle? Let me know at [email protected].