O'Reilly Book Reviewer

I review for the O'Reilly Blogger Review Program

Wednesday, September 7, 2011

Product Review: The HTML5 Sessions: The Best of OSCON 2011 (O'Reilly)

http://oreilly.com/catalog/0636920022176/

If you were not able to go to the OSCON 2011, don't lose heart. O'Reilly has done a wonderful job of recording the HTML5 sessions into this series. I was amazed at the quality of the recording and the content of the materials. Clearly, this series is presented by the best of the best techies. If you can devote roughly 11 hours of your time to go through these presentations, you will be well ahead of your peers. I believe it is extremely valuable to me. I learned quite a few new things related to architecture, technologies, and tips and tools.

I totally recommend buying this series or getting your employer to buy it for you. It will definitely improve your productivity, expand your thinking into creating better design, make your applications scalable, help you think about managing a large project, etc. I could just go on extolling the virtues of the presentations. I definitely look forward to next year.

Thursday, September 1, 2011

Book Review: Codermetrics by Jonathan Alexander

With more and more companies trying to go with the offshore model for software development, it becomes extremely important to have a pragmatic way of measuring team and individual coding metrics. A lead always should know who the best developers on the team are not just by intuition but with solid data to back up. This book touches on the point of measuring the coder aka software developer.

The book is an interesting read. The author makes it akin to keeping scores in sports. He explain each metric with formula and examples. He categorizes the metrics into skill, response, and value metrics.

Overall, I think the book is very well-written. However, in practice it might be an extremely manual process to capture this data. Software development is a fast-paced activity leaving very little time to maintain data on each coder manually, especially in a large team. I would stick to the automated way of TeamCity + Sonar way of capturing coder metric data for now.

Monday, August 22, 2011

Book Review: Functional Programming for Java Developers by Dean Wampler (O'Reilly)

Functional Programming is back! After 2-3 decades of Object Oriented Programming which made languages like Lisp seem like a dinosaur, the software community has turned its focus back on FP. And with good reason! OOP has fallen short of the demands of concurrent programming leading to convoluted code that only a few experts can read and write. New FP languages today like Scala or Clojure address this issue by providing a robust language that can run on the good old reliable JVM. That way you don't need a huge change in your infrastructure - just add a few jars and you are ready to dive in. This book will teach you how.

If you have been wondering about Software Transactional Memory, The Actor Model, MapReduce, and other buzz words that have been going around lately, its time to pick this book. The author does a fine job of explaining what FP is, what it aims to solve, when to use it, and how to get started with it. The author explains very well the differences between imperative (OOP) and declarative (FP) programming.

This book is a brief introductory book that scratches the FP arena. By no means there is any depth provided. Developers looking for developing expertise in a particular FP language have to look elsewhere but might benefit from reading this book to get a good overview.

Tuesday, August 2, 2011

Book Review: Just Spring by Madhusudan Konda (O'Reilly)

Spring has become a huge universe! In fact, it has grown so much that any book you buy would be intimidating at first. Even well-known authors have difficulty in keeping it simple. They go into details of how to do the same thing in different ways (annotation, autowiring, etc, etc) that at the end the user is flabbergasted. Enter the "Just Spring" book. This book is exactly that, just Spring! Plain and simple. No noise, no dust.

In just 5 chapters, I learned a great deal about the fundamentals of Spring. Enough to get me started on enterprise level projects where I can build on my foundation. The power of this book lies in its simplicity. Most books on Spring are around 300-400 pages. This book is 62 pages. What can one learn in 62 pages, you might ask! Here's what I learned in one weekend - Basic mechanisms of dependency injection, bean life-cycle, bean instantiation techniques, autowiring techniques, event handling, JMS, and data integration. You might complain that it didn't cover bells and whistles like Spring Security, Spring Webflow, etc, etc, but these are add-ons that you can grasp easily once you get your foundation strong. I applaud the author for keeping it simple yet useful and O'Reilly for publishing it.

Saturday, July 23, 2011

Book Review: Practical Packet Analysis using wireshark to solve real-world network problems by Chris Sanders (No Starch Press, Inc)

Unlike other books on networking that I have read, this book assumes nothing about the reader. Any general IT professional should be able to pick this book up and pick up the concepts right away. The author starts with very basic concepts and builds slowly and steadily over the subsequent chapters. I learned how to sniff packets and analyze them which has become my new favorite hobby. Chapters 1 and 2 start with basic networking concepts, protocols, layouts, etc. Chapter 3 explains how to get started with Wireshark, the tool of choice for this book. Chapter 4 explains how to analyze the packets that were captured. Chapter 5 delves deeper into advanced Wireshark features. The rest of the book goes deeper into explaining lower and upper level protocols, real-world scenarios, slow networks, and security.

Recently I had a crisis at work. A group of hackers had attacked the corporate network and as a result everything was shutdown for security reasons. As the network was gradually opened up for business, our business partners were not able to call some of our web services. That was a puzzling thing as other web services were reachable. As a lead for the application development team I had no idea how to debug this except to set up a SWAT team meeting with the infrastructure and networking team. I was the weakest link in the room as I had no idea what the terms and terminologies meant. Needless to say, I was embarassed. The one thing that was spoken about frequently in those meetings was Wireshark. I couldn't find a good book on Wireshark at that time so the moment this book came out, I decided to review it. I am really impressed by this book. Not that I am waiting for a crisis at work, but the next time I would definitely be well-prepared thanks to this book.

Sunday, July 17, 2011

Book Review: Building and Testing with Gradle by Tim Berglund and Matthew McCullough

My first reaction when I heard of Gradle was a sarcastic "Yay! Yet another build tool that will frustrate me when I use it on my enterprise projects". However, as I read through this book, I found a new promise to liberate me from the complex world of Maven. The authors have done a fantastic job of explaining how Gradle provides the flexibility of Ant, dependency management style of Ivy, the intelligent defaults of Maven, the speed and hashing of Git, and the meta-programming power of Groovy.


Highlights of this book:


- Easy to follow, lots of examples. I was able to run most of the examples without any hassle.


- You don't have to know Groovy to understand this book


- The last chapter covers how to do enterprise level multi-project builds. That was really helpful.


- No clutter or unnecessary information that you can find elsewhere. Nice, small book of 110 pages.


- I was able to complete this book in about 3 hours and I am a slow reader!


I had the pleasure of attending the No Fluff Just Stuff conference in 2011 and boy, was I impressed! Both the authors are very well respected in this field. If you have been living in the complex world of Maven where you are afraid to touch something because it might break something else, then this book is of you. If your enterprise is going to continue to use Maven, it does not in any way mean that you cannot unleash the power of Gradle. This book will teach you how to do that. As an added bonus, this book has been reviewed by Ken Sipe, the CTO of Gradleware, someone I know and respect!

Saturday, July 16, 2011

Book Review: Mastering the Nikon D7000 by Darrell Young

Nikon D7000 is Nikon's best DSLR camera ever and I have no words to express that in any language (and I know five!). Just saying that you own one is enough to elevate your status in the Nikon community. However, pictures speak louder than words and your elevated status would be short-lived if you take sucky pictures because you didn't understand the features that make this camera awesome. This book by Darrell Young is just the one you need to squeeze the juice out of your Nikon D7K. That is after you have woken up from reading the bland user manual that shipped with the camera.

The author has neatly put "My Recommendations" at the end of each major section and "My Conclusions" at the end of each chapter. This would help in refreshing your memory periodically since you wouldn't have to read the whole book over again. This book cleared my understanding of things I didn't follow in the user manual. Example, "Auto Gain" when shooting with "Multiple Exposure". Thoughout the book valuable tips are given plus the author has provided supplemental material (thus reducing clutter in the book) on his website (firmware upgrade, video editing software, understanding depth of field, aperture, and shutter speed, etc).

This book will help you get the "oohs" and "aahs" from your family, neighbors, friends (including facebook friends), and curious strangers. Master this book and become an instant celebrity like I did!