Archive for the ‘Books’ Category

Book Review: Automate with Grunt — The Build Tool for JavaScript

Automate with Grunt is an excellent book on how to automate your workflow using Grunt, JavaScript’s task runner. Brian P. Hogan has written a lightweight book that is heavy on the content you need, stripping away all of the unnecessary text, and getting right to the heart of the matter: ways to use Grunt.

I appreciate how he started the book with the basics of using Grunt – creating tasks, expanding tasks to accept inputs and have one or more outputs, chaining and multitasks, manipulating files on the file system – before moving on to more complex automation exercises. Brian then introduces how to utilize Grunt to execute a real-life workflow scenario, with all of the considerations that must be made when doing so. He finishes up with building Plug-ins with Grunt and, taking things a step further, creating project scaffolds to take care of the mundane setup associated with a new project.

All of the Examples Brian uses are practical and apply to things that developers face daily in their jobs and careers. I liked that he introduced Bower into the examples early on, as this is a commonly used package manager for web sites and applications. And though I am not a fan of CoffeeScript, it was easy to ignore that fact when it was introduced, as it did show the true power and potential of Grunt as an automation tool.

I would recommend this book to anyone who is new to Grunt and just starting to learn it, or anyone who wants to take their Grunt task runner to the next level in the automation needs of their web projects.

***** (5 stars)

Categories: Books, Programming Tags:

Book Review: Building the Realtime User Experience

September 9, 2010 Leave a comment

The Web is moving ever faster towards sites that give users what they want, not when they load or refresh pages, but rather in real time. Understanding how this works and how to leverage it on your own site so that it is useful to the user is important knowledge any developer should have. In his book, Building the Realtime User Experience, Ted Roden does just that.

Building the Realtime User Experience breaks down the technologies that make the most sense for a developer to deliver to the user in realtime such as syndication and instant messaging, for instance. One thing the book does that I appreciate is it presents the examples found throughout using different languages, applying the most practical language for a give scenario or toolkit. Doing this does not make understanding the examples very difficult, however, and any developer with reasonable coding skills should be able to follow along in any language without difficulty.

The first chapter gives an introduction into what “realtime” means in terms of the Web and development and lays out the languages the examples will use. From Chapter 2 on, the book jumps right into the different technologies that present well in a realtime format starting with syndication. Roden focuses on two technologies for syndication, Simple Update Protocol (SUP) and PubSubHubbub, giving each protocol pretty much equal treatment, leaving it for the reader to decide which protocol to implement. Chapter 3 discusses how to implement widgets that will display realtime on a web page, using Twitter and FriendFeed as examples. What was of more use was the discussion in Chapter 4 on server-side “push” technologies, and the transition into Chapter 5, which introduces the reader to Tornado – an excellent chapter that shows through example how to get Tornado running and in use on a site.

The next three chapters deal with chat, instant messaging, and SMS respectively. In each chapter, Roden gives examples on how to build an application around these technologies, which a web environment can then utilize. The chat application built throughout Chapter 6 is quite robust, as is the instant messaging client/server created in Chapter 7. Chapter 8 then extends the instant messaging service by integrating SMS into it.

I found Chapter 9 to be an interesting chapter, but it differs from the rest of the book in that it focuses on what a developer can do with analytics to view a site from an administrative point of view in realtime, instead of focusing on delivering something realtime to the end user. The examples yielded some interesting concepts and left me considering all of the possibilities for back-end development that I more often than not neglect or even disregard in my own development. Of all the chapters in the book, I think this one is the one I am most thankful Roden took the time to write. Roden finishes the book with a “Putting It All Together” chapter that takes the different applications built throughout the preceding chapters and mashes them together into a realtime game that could be pretty fun with a group of friends.

Overall, Building the Realtime User Experience is a terrific introduction into the realtime Web, and shows the reader just some of the technologies that may work well on a site. The examples are thorough and yield robust applications that are tweakable and integrate into existing sites. I would recommend this book to anyone interested in developing applications or widgets for their site that work in a realtime manner.

***** (5 stars)

Categories: Books, Internet, Programming Tags:

Book Review: Even Faster Web Sites

August 11, 2009 Leave a comment

Today’s Web developer knows that the speed of one’s site is an important measure to its overall success, and Steve Souders’ previous book, High Performance Web Sites (O’Reilly), laid out what seemed to be every way to achieve good performance gains without the sacrifice of functionality or aesthetics. When I began reading Souders’ Even Faster Web Sites, I therefore wondered how he could possibly demonstrate fresh ways to achieve performance gains without regurgitating the content of his previous book. What I discovered as I read Even Faster Web Sites was it presented all new best practices for making your web sites “leaner and meaner” without repeating the content of his last book.

Even Faster Web Sites takes the latest techniques available to developers and organizes them into three performance areas: JavaScript, network, and browser. Though I believe Souder knows what he is talking about regarding web site performance, I found it refreshing this time around that he had the contributions of other experts in the field to give their ideas on performance gains in these areas.

I thought the chapters on JavaScript, especially those discussing Ajax and asynchronous techniques, were well written and gave good, new best practices to trim time off the loading of content on a site.  I also appreciated the chapter dealing with Comet, as these technologies are surely a driving force for future web applications, and having best practices early in their development will only help their progress.  Of the two chapters on browser performance, I found the honesty of the discussion on the downsides of using iframes most helpful, especially when their use was discussed as a viable technique for improving performance early in the book.  I did find the chapter on CSS selectors extremely useful for analyzing where slowdowns in styling may exist based on browser implementation.  The chapters on network performance gave a good background on common hindrances such as connection limits and poor image choices, but also walked through what I felt were performance gains that can be made through less utilized techniques like chunked encoding and better compression.

Souder finished this book with an Appendix on performance tools that can be used to help in the improvement of a web site, which I found to be immensely helpful.  While many tools he listed are well known to developers, there are some I was unaware of and began making use of immediately on my own sites.

Even Faster Web Sites is an excellent follow-up to High Performance Web Sites, giving new best practices for making your web sites even faster.  As I see it, even hundredths of a second begin to add up when you put all of these techniques together, and most of the techniques presented in this book are practical for any web site being developed.  I would recommend this book to any developer looking for ways to improve the performance of his web site, as Souder has certainly demonstrated his knowledge and expertise on improving the speed of a site.

***** (5 stars)

Categories: Books, Internet, Programming Tags:

How to Technical Review

I am in the middle of my fourth technical review, and wonder if I am taking the best approach to technical review in general.  I want to ensure that I produce a good quality review (after all, I relied on reviewers doing the same for me and my first book).

I make several reads through a chapter, attempting to hyper-focus on a particular thing through each read.  On my first read though, I am reading what the author has to say on a topic, and looking for anything I consider to be dangerous commentary, incorrectly stated, or just plain wrong.  The second read is where I concentrate on the code itself; is it consistent throughout in form, is it correct, could it be improved?  Finally, I read through once more, and look for grammatical mistakes, typos, and incorrectly formatted text — once again ensuring that a format stays consistent throughout the book.

How does this approach compare to how others do their technical reviews?  I am looking for comments so as to refine and improve my technique.

Categories: Books Tags: ,

Response to Critics

I know I am not supposed to let the reviews of my book get to me, but I have read a couple that really bother me, and I feel I have to get some of my feelings off of my chest lest I sound off with a response directly at a reader.

First, if you are the type of person who finds it necessary to write a review that gives an awful rating, be man (or woman) enough to indicate your name and not conceal your identity behind an Anonymous Reader moniker. It must be incredibly difficult to bad mouth someone’s hard work (two years in my case) and not put your name or face out there for criticism of your own.

Second, if you are going to write a scathing review of my book, there are two things you might consider doing so as not to lose all credibility with the rest of the viewing audience: correct your grammar and get your facts straight. Let’s face it, you are writing at most 80 to 150 words, so how hard is it to make sure that you use the word “inexcusable” and not “unexcusable” – and for the record, I had a power surge at my house which brought my servers (and the downloadable examples) down without my knowledge. I am sorry to everyone (except maybe Mr. Anonymous Reader) for the several day outage that occurred because of this happening. Next, here are some facts about my examples: there are 163 numbered examples (and god only knows how many others), eight numbered examples are CSS, 24 are XHTML or XHTML fragments, 80 are JavaScript, 46 are PHP, and five are miscellaneous.

To make these numbers a little bit clearer, 49% of the examples are JavaScript and 28% are PHP, while only 4.9% of these examples are CSS. How 4.9% of my examples constitutes the “actual focus [being] on use of CSS to produce desired page appearance with multiple browser types” is beyond me. Did the reader of this particular review even read the whole book? Did this particular reader actually read the code, and the comments included with the code that explain and discuss what is going on? Also on a side note, everyone should read the whole sentence that I just quoted from out loud just to hear how broken and “Neanderthal” it sounds – I almost expect there to be a grunt at the end.

Third (and finally for this “petite” rant of mine), do not inconvenience yourself with writing a review when you have no sense of humor whatsoever. Now that I ponder those reviews, perhaps I should not bother evaluating the reviews from the Amazon sites in other countries. After all, Germans really do not have a sense of humor (and I will be proving my point if any Germans get upset by this remark). I was attempting to be witty and intellectual with some of my chapter and section titles – maybe I am simply too droll for the common man. Either this or my cleverness must not have translated all that well when read by people in different cultures.

So much for not attacking reviews directly! Seriously, though, is it too much to ask for better reviewers (and I would not mind better reviews either, for that matter)?

Categories: Books, General Rants Tags: , ,

Pictures from my book release party

February 5, 2008 Leave a comment

Here are several pictures from my book release party that my wife surprised me with. She is a wonderful woman, and I am lucky to have her!

Dessert for the party!

Dessert for the party!

A glance at some of the people I am lucky enough to call family and friends.

A glance at some of the people I am lucky enough to call family and friends.

I cannot believe I am actually signing a book I wrote!  I hope this is not the last time this ever happens...

I cannot believe I am actually signing a book I wrote! I hope this is not the last time this ever happens…

My kids had to pose with my cover before they could leave.

My kids had to pose with my cover before they could leave.

Categories: Books Tags: , ,

Book Released

January 28, 2008 Leave a comment

The book is officially released today, and what that means (as far as I understand this whole process) is that it is in O’Reilly’s warehouse and ready to be shipped. Amazon should have it in stock in a day or so (yea!) and brick and mortar stores should have it in stock in a couple of weeks, or however long it takes them to send their trucks out, pick up the books, and deliver them to stores.

I reserve the right to celebrate until I have my first copy in my hands, which I hope will be today! (Come on, FedEx!)

Categories: Books Tags: