O'Reilly Book Reviewer

I review for the O'Reilly Blogger Review Program

Friday, September 16, 2011

Book Review: Getting Started With Arduino by Massimo Banzi (O'Reilly)

There are basically three kinds of people in this world - ones who know what Arduino is, ones who don't, and ones who find Arduino interesting but don't know where to start. This book is written for the people in the third category. This includes me.

The format of this book is very different from the regular O'Reilly books. It is written by a geek for geeks. So it doesn't start with a smooth introduction about the basics. It seems to have a rocky start since a lot of assumptions is made about the reader. The diagrams also seem to be hand-drawn on napkins. Chapters 1 and 2 contain a bit of what the author self-admittedly confession to be "fluff". Things start getting interesting from Chapter 3 where the author covers installation on the different OSes and how to figure out connecting the board to your computer.

Chapter 4 really rocks. I think I finally got what Arduino is in this chapter. I immediately ordered my Arduino UNO since I got the hang of it in this chapter. Chapter 5 takes you to the next level by talking about advanced I/O. The author keeps your interest piqued by informing you about the various I/O sensors that can sense the environment. Chapters 6 talks about some advanced circuits using a breadboard, components, and some wires. Chapter 7 ends the book with troubleshooting techniques. Appendices at the end of the book provide reference material for breadboard, reading resistor and capacitor values, and Arduino programming reference.

Overall the book is excellent for getting started with Arduino. It has rekindled mlove for microcontrollers that I hadn't touched for the last 15 years since I pursued a career in Java development. It inspired me to buy an Arduino UNO board and I hope to nurture the interest in electronics in my kids by showing them and let them do stuff as well.

Thursday, September 15, 2011

Book Review: Developing iOS Applications with Flex 4.5 by Rich Tretola (O'Reilly)

With iOS recently supporting deployment of Flex-based applications, it has increased the number of compelling reasons to do the same. Let's face it, Objective-C is hard to learn if you are a seasoned Java/Flex developer like me. There are countless tutorials on the web for mobile development using Flex for Android and iOS. This book is one of a kind in the sense that it provides a neat step-by-step way of mastering the fundamentals of developing a nice iOS application with Flex.

This book stands out in the number of screenshots - there is virtually one on every page. The author has take great pains to explain each concept systematically. Chapter 1 starts off with the typical "Hello World" program which ends with simplifying the complex technique of importing the Apple key so you can develop and debug your precious iOS application. Chapter 2 talks about the different application layouts. Progressively the author goes on to talk about configuration settings, APIs, File System, interacting with the OS, and designing for iOS. The last chapter elaborates the process of publishing your spectacular iOS application to the App Store.

In my opinion, no book has made it as easy as this. The author has provided all the sample codes in a zip file on a website so you can save precious time typing out the code.

Sunday, September 11, 2011

Book Review: JavaScript Web Applications by Alex MacCaw (O'Reilly)

Being a Java Swing developer for many years, I was never a fan of JavaScript. There were no mature tools and frameworks a few years ago. Straight DOM programming was just error-prone and difficult to debug. Over the last few years, JavaScript has come back with a big bang, thanks to a lot of companies, among them, Google. This book is for people, like me, who gave up on JavaScript years ago because of a poor model but need to know new frameworks that help in writing concise, readable code, and also help design scalable and robust architecture, not to mention, using JavaScript with a large team that could be geographically spread out.

Frankly, this book won't teach you the basics of JavaScript. There are plenty of other books for that and the author mentions this up front. However, in my opinionion, the author does a great job of teaching how to use the simplified and concise form of JavaScript, sticking to OO way of doing it. He starts with MVC (and who doesn't love MVC!), events, models, data, controller, state, view, and templating. The examples are mostly in JQuery which is also my framework of choice for JavaScript development.

No real-time discussion of JavaScript is complete without the mention of WebSockets, Node.js, and Socket.IO. The author does a great job of explaining this in chapter 8. He also provides an example of how to make your applications look faster (perceived speed) as compared to actual speed. The later chapters focus on testing and debugging, deploying, and an overview of the Spine, Backbone, and JavaScriptMVC libraries. Appendix at the end of the book provide a JQuery primer and a reference to CSS extensions and CSS3.

I cannot say that after reading this book, I have fallen in love with JavaScript since I am a big fan of Adobe Flex. However, I have many JavaScript projects under my belt and this book is a valuable resource for me to ensure that my apps scale well and that my offshore resources use the sandbox model to avoid tight coupling and ensure reusability.

Wednesday, September 7, 2011

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


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.