By James Pyles
The back cover of Michael Fitzgerald's Learning Ruby book says, "You don't have to know everything about a car to drive one, and you don't need to know everything about Ruby to start programming with it." Although this is true, you must know something before you start driving. Just how much about Ruby do you need to know before reading this book? Fitzgerald admits in the Preface that he tried to write this book for both the experienced programmer who wants to learn Ruby and the novice who is just learning how to program, which is not an easy task.
Learning Ruby is both quick and complete. The author does not waste the first few chapters explaining all of the concepts associated with programming in general and Ruby in specific. The first couple of chapters are introductory, but also necessary because they explain how to install Ruby on various platforms and provide an overview of the language. Beginning programmers are treated to the basics of conditional statements in Chapter 3, and then the book speeds up.
Fitzgerald satisfies the requirements of new programmers by showing both programming and Ruby basics. Learning Ruby would work well as a classroom textbook because it contains plenty of examples and review questions at the end of each chapter. This format also works well if you are a beginner learning coding at home or a programmer learning on the job.
Experienced software developers will probably find the more basic parts of the book redundant, but with enough inside to hold their interest. Each language has its own flavor and nuances, and the material covered in this book will help seasoned programmers add Ruby to their repertoire. Chapters 10 and 11 contain introductions to more advanced topics, such as XML and Rails.
Fitzgerald achieved his goal for the book, for the most part. The beginning programmer will find everything necessary to learn both coding and Ruby basics. And the experienced developer will find enough to learn the nuts and bolts of Ruby. Learning Ruby will not let you master Ruby, but you will be well on your way.
Paperback, 275 pages
£ 17.56, US$ 34.99, E 25.92
Linux Appliance Design: A Hands-On Guide to Building Linux Appliances defines an appliance as "a device designed to primarily perform a single function." From a network admin's perspective, the word "appliance" could conjure up images of switches, routers, firewalls, and intrusion detection devices. What does all this have to do with Linux? Plenty.
In Linux Appliance Design, the authors explain the process of building a Linux-based appliance and how you can create one. The book and companion CD contain the building blocks for a sample appliance named "Laddie."
Laddie is a home alarm system, but with the right skills, you can use the system as the foundation for an appliance.
Linux Appliance Design combines teaching the reader how to build a Linux appliance with how to run the appliance on embedded hardware. The list of specific topics the book covers is lengthy and includes appliance architectures, managing daemons, and building user interfaces.
This book is about appliance design, not specifically about embedded Linux, but the authors recommend other sources for information about embedded Linux. Also, you won't learn how to program in C and C++, so if you lack those basic skills, you might want to acquire them before purchasing this book. Otherwise, Linux Appliance Design and the accompanying CD could be just what you need if you want to build a better appliance with Linux.
Bob Smith, John Hardin, Graham Phillips, and Bill Pierce
Paperback, 385 pages
No Starch, 2007
£ 29.38, US$ 59.95, E 43.53