Category Archives: Book Reviews

Getting Started with D3 By Mike Dewar

I picked up a review copy of this book quite a while ago, being intrigued by D3, but not really knowing what it was. It was only more recently that I have been working on a codebase that uses D3, and so had a need to read the book. I’d been tinkering around the edges, but then had a strong need to do some d3 codeing, so picked up my copy of “Getting Started with D3”.

It’s a good thin little book that does a really good of introducing D3 and how to work and think in the D3 way. I found it a really useful tool for learning D3 and it gave me enough to do what I wanted. It’s a good entry point, and helps give an idea of how to work with the D3 APIs. The book shows good examples of consuimg JSON data, and how to render the data into the DOM with D3.  It additionally goes through some SVG and charting examples. It is worth noting that the book is a short read. If you are expecting a detailed reference to D3, this isn’t the book for you.

I’d recommend the book to any developer who wants to know more about D3. I’d strongly recommend it to someone who wants or needs to get started writing D3 code quickly.

[This book was reviewed as a part of the O’Reilly Blogger Review Program]

REST API Design Rulebook By Mark Masse

I’ve been building web based APIs of various forms for a number of years now, interacting with SOAP and RESTful services, and building some myself. It was with some interest that I picked up the book REST API Design Rulebook, getting it from the O’Reilly blogger review program.

The book provides a decent set of information around REST, and had me either nodding my head or thinking at various stages. Its description and thoughts around REST were pretty good, but there is one area to be wary of. The book seems to do two things.

  1. Describe ways of doing REST well.
  2. Sell WRML, the authors own framework to help model REST

I found the first helpful and useful, but wasn’t as excited aboutthe second. While I understand the authors passion and desire to share what they’ve created, it ends up detracting significantly from the book, to the extent where I’d downgrade it from a must read to something that I’d hesitate to recommend.

The problem boils down to this. There are a number of challenges and interesting things to solve with REST APIs. The author has created a framework to help deal with these. Naturally then the author recommends using their framework to solve the problems. Which mean the book becomes Rest API design Rulebook with WRML. I’m not convinced that WRML is the answer, so I’d hesitate to recommend this book.

[This book was reviewed as a part of the O’Reilly Blogger Review Program]

Mobile Design Pattern Gallery By Theresa Neil

Patterns and pattern languages are a contentious topic among developers these days. Stemming from an overuse of them, and using fancy pattern names to excuse overly complex code, they are not the miracle cure they were thought to be 10 years ago. That said, having collections of things that work can be useful, and having names for things is very useful.

Mobile Design Pattern Gallery does a good job of outlining user interface patterns for mobile, giving labels to the elements, and helping developers like me think about what is in a design. I could imagine using the book to help produce a first cut of a mobile app in the lean MVP sense. Of course a UX designer will help produce a much improved experience, but the book gives enough examples to help get an idea for what could be done. In addition there are great links out to other resources and books to learn more.

I’d definitely recommend this book to developers and others who want to have a good set of examples and ideas for mobile user interfaces.

[This book was reviewed as a part of the O’Reilly Blogger Review Program]

Planning for Big Data

Planning for Big Data presents a series of short articles on working with Big Data. Big Data being the large datasets that are available today.

My first experiences with big data date back to last century, working on Large telecommunications datasets. In those days the ideas were to create star schemes and denormilised relational data models.

In the current world big data means working with huge datasets that are often unstructured.  The datasets being worked with will be a mix of proprietary in-house data, and publicly available data.  Working with these datasets will require tools that allow the unstructured data to be worked with, and can also handle the large volumes.  Planning for Big Data gives a good introduction to the current start of the art tools and techniques in a short easy to read series of articles.  It’s a great little overview for a technical or slightly technical person wanting to get a feel for the space without being bogged down in the details.

I’d recommend this for someone who is wanting to move into the world of Big Data.

[This book was reviewed as a part of the O’Reilly Blogger Review Program]


It’s Not Luck – Eliyah Goldratt

Updated following feedback from Joel-Henry GROSSARD in the comments below.

It’s Not Luck is a sequel to Eli’s first book The Goal, and follows the same basic strategy, following the career of the protagonist, Rogo, teaching us along the way the thinking and business principals that Eli sees as key.

I really enjoyed the book. Teaching through parables and stories is a great technique, and well followed in this book.

The big idea being communicated was a process for thinking carefully and deeply about problems. In looking through this, we see it being applied primarily in a business context, and additionally in the personal life of Rogo. The different scenarios presented help us to see how general an approach it is, and that it is something that we can apply to al areas of our lives. In looking at the business applications we also see some of the principles of how Eli would run a company. In particular I found the following summary of a good businesses goal and the necessary conditions required to meet very helpful:

  • Make Money now as well as in the future,

  • Provide a secure and satisfying environment for employees now as well as in the future, and

  • Provide satisfaction to the market now as well as in the future.

The goal of making money for a business and the necessary conditions are required to have a business that thrives both now and is sustainable. The conditions are required to ensure that the company is profitable, that employees are happy, and that customers are being served. All of which are required to ensure that the company works well now and it is being done in a sustainable way.

While I found this succinct description of goals for a company helpful, the key of the book is the thinking process presented within. I highly recommend you go and read It’s Not Luck, you’ll learn and have fun while doing so.

Codermetrics by Jonathan Alexander

Codermertrics provides an interesting idea, measuring software development with a goal of trying to find things to improve. I found it interesting having seen bad metrics used and talked about in past. Codermetrics goes beyond the classically missed “LOC” (Lines of Code) metric that developers rightfully loath, and presents a variety of different metrics to measure. It bases the ideas around Sabermetrics, the analysis of baseball through metrics.

I found the ideas presented in the book interesting, and pretty well presented. While I can’t see myself using them directly at the current point in time, I can see that measuring what is being doing can be useful for getting feedback, and helping to improve behaviours and techniques. The metrics presented in the book are interesting, and there are good ideas and tools for thinking about how to develop your own metrics, and refine those presented.

I’d recommend the book to people thinking about how to improve the performance of a software development team.

[This book was reviewed as a part of the O’Reilly Blogger Review Program]

Getting Started with GEO, CouchDB, and Node.js By Mick Thompson

I’m more and more enjoying the O’Reilly Getting Started guides. They provide a good introduction to cutting edge topics, and this one is no exception. I’ve been interested in learning about noSQL datastores, and learning more about CouchDB is always good. The book starts by introducing each of the topics in it’s title, giving a short informative chapter to each. Informative enough to be useful if you don’t know much about the tool, but not too long as to bore someone who knows a lot about it. The book then includes hooking them all together walking through a couple of practical examples.

I’d highly recommend this book to anyone wanting to learn more about the topics in the title. Essentially it does what it says on the tin.

Redis Cookbook By Tiago Macedo, Fred Oliveira

I’ve been interested in redis having seen it recently in a couple of rails based systems, and heard it described as the magic caching data structure. I grabbed a copy of the Redis Cookbook in order to get a better understanding of Redis to use it with existing systems and to see how it might fit into new systems.

The Cookbook format gave some good insights into how to use red is in different situations, and I learnt how to use the APIs by seeing how they are used in the examples. Depending on your point of view the thin size of the book can be a strength or a weakness. I was able to get through it in a few hours while traveling. For a technical reader with some exposure to key value systems the Redis Cookbook makes for a good educational read that I’d highly recommend.

Functional Programming for Java Developers By Dean Wampler

It was with eagerness and anticipation that I picked up a copy of “Functional Programming for Java Developers”. I’d heard about it on twitter, and conversations with my resident functional guru (Tony Morris) got me excited about the potential for this book.

In the end it made for a quick read. Having spent many hours working through functional exercises with Tony meant that I’d already been introduced to the majority of the ideas covered in the book, and so I fell outside the main target audience of java developers who haven’t done functional programming, but are interested. I’d definitely recommend this book to anyone who hasn’t done functional programming, and is interested, but not to people who’ve already had exposure.

As the target audience for the book is for that group of people, I think it gets it spot on, and anyone in that group should grab a copy.  The coverage of functional programming using Java is good, and the bibliography and list of next steps is great.

The Book of Ruby By Huw Collingbourne

The Book of Ruby constantly had me torn. I love the simple and clear examples. The explanation of the core of the ruby language is very solid and well done. It’s a readable book…. but the code isn’t as clear as I would hope. In trying to point the reader to what the author views as the important things to learn, he often deliberately goes against the normal ruby coding style.

The code is simple and clear,yet there are too many times where it grates against me. There is perhaps a case to saying that it is simply my own personal biases that are getting in the way, and I can live with that, but I like to think that I’ve built up these biases and thought from experience, and that they count for something.

So in reviewing this book, I am, as I said torn. It is quite clear. It’s well written with quite good coding examples. I did manage to read it from end to end, which speaks of it’s readability. It’s sold as a gentler introduction than the classic pick-axe, but I don’t know who I’d recommend it to over the pick-axe. I give this book a 3 out of 5. It’s faults won’t let me rate it higher, but aren’t significant enough to rate it any lower.