Over the past year I've managed to build up a good collection of Drupal books, but haven't had time to read many of them yet:
- Cracking Drupal - read a chapter or two, need to read it in detail and take copious notes, this is very important book that all developers should read.
- Drupal Performance Tips - arrives tomorrow (!), will be putting this along with Cracking Drupal at the top of my must-read-NAAAAOOOW!! list.
- Pro Drupal Development (Drupal 6 edition) - started reading it in November 2008, got about 1/3rd of the way through, need to start over and take proper notes this time.
- Drupal 6 Search Engine Optimization - looked at a chapter or two, seems to be good info though lots of basics, need to finish reading it.
- Drupal 6 Content Administration - aimed at the end-user rather than the developer, need to finish skimming through it.
- Using Drupal - read a few chapters, need to finish reading it, had a few ideas that were new to me.
- Drupal Multimedia - skimmed through the entire book, lots of basic information on site building, only a little detail I wasn't already aware of.
This was 90% written in January 2007 but the draft was misplaced. Apologies to ORUG who organized obtained a copy for me in exchange for this review.
Ruby on Rails is a simply wonderful technology to develop web applications in. Like all technologies, especially ones with such depth and, at times, unique ways of working, it can take some time to get started using it to develop your own sites. Patrick Lenz comes to the rescue with his Build Your Own Ruby On Rails Web Applications book that I recommend for beginners.
"What's it all abou'?"
Over the course of the book's 400+ pages Mr Lenz gives a good foundation to build from, from installing all of the requisite tools, to basics of how to use the Ruby language that forms the basis of this system, to lots of good advice on testing your applications. The book builds up layer upon layer as it steps you through building a site similar to the community-driven link rating system Digg, all of which follow commonly used "best practices" (the techniques that help your sites be more stable, more flexible, etc).
The book reads very easily and does a good job of explaining the sample code provided as part of the Digg application.
An unfortunately common trait with many introductory books on technical topics is to hint at subjects related to the technology at hand, but then disregard it with a wave of the editor's delete key. This book was missing three key concepts that would have greatly rounded it off for beginners:
- Sending email. This topic was waved away but would have been very valuable. When you think about it, the majority of web applications send email - either notifications, for verifying new accounts, or for custom newsletters, it is an extremely relevant topic and shouldn't have been skipped.
- Interaction with 3rd party APIs. Lots of web applications use 3rd party APIs, whether it's verifying credit cards, submitting orders, obtaining mapping data, or getting the weather, there are a many, many good uses they can be put to (check if it's raining in your area, if so find stores that stock umbrellas and give you a map to them..). Interestingly this topic wasn't even mentioned, which was disappointing. Hopefully the next edition will have some good coverage.
- REST. Everyone knows developers need more REST. Puns aside, Representational State Transfer is a new, and most would say improved, technique to pass data to and from web pages, APIs and services. Based off a more logical use of the HTTP system that binds the web together, REST defines that if you submit an ID in the URL you are reading a record, if you are submitting a form then you're either updating or creating a new record, etc, and so applications are structured to behave more cleanly in this regard. REST support was added to Rails v1.2, which this book is focused on, but it was a major oversight to not cover it. Again, a second edition should set the record straight.
While not a perfect book, it does succeed with its intended goal, of easing you into writing your own Ruby on Rails applications. Some of the missing topics would have made the book more useful to intermediary users, but they shouldn't detract too much for beginners.
Recommended for beginners
IBM, holder of the world's largest quantity of patents, has just published a book on datamining. Good stuff, or so you'd think. Except that anyone who reads the book opens themselves up to patent violation because the book covers technologies that IBM has patented along with sample source-code on how to implement the concepts. Uh, sorry, but that's just evil.