Would you recommend the product? yes | Price you paid?: None indicated | Rating: 9
learns how to build a well-designed device
It is always interesting to check how other people are solving the fame problems you face. You can learn new tricks or a different approach. That's the role the book 'Linux Appliance Design' would play for the developers of embedded Linux devices. It's also worth reading for developers with experience on different platforms, so they can see what can be Linux used for and what tools are available. It would be also a good addition for those starting with embedded devices to learn to think about design, before it's too late.
But let's start from the beginning. When I first opened the book, I wasn't sure what to expect. At first, I was disappointed, because the book really starts (after two short intro chapters) from a chapter (3) about PostgreSQL-based protocol and access library (called RTA) for all user interfaces. What's bad in that? Well, nothing if you think about PCs, but for many devices it'd be simply too bloated and may lead to slow responses. Apart from the performance issues, the interface fits well with the rest of the design the authors present. When you read further, it makes sense. Many developers would drop the book at that point, however. The chapter should be moved to a later part of the book, especially as the later chapters do not make big use of the RTA library.
After such an intro, the next chapter pleased me, as it is about secure daemons. Not very long, but covers everything that should be covered.
The next three chapters (5 to 7) cover the appliance itself (simple alarm system) with a well-written hardware part, logging (syslog) and event handling.
From that point the book moves to user interfaces. That makes more than a half of book, but the number of interfaces is impressive: web, command-line, front panel, framebuffer, infrared and SNMP. That's also the place where single access for all the interfaces (RTA) shows its' strength.
The next interface presented is command line. The authors present a simple, yet powerful one.
The next three chapters, about front panel, framebuffer and infrared include some hardware stuff. Again, done well and easy to understand even to those with only limited electronics background. The chapters also show how the process of development look like, what may be a big plus for novice readers.
For the remaining three chapters the authors move to SNMP. The first one is one of the best introductions to the protocol I have read. It makes the protocol seem quite simple, quite the contrary to the reality (that's not a critique of the authors!). The next chapter shows how to create your own MIB (from getting an enterprise number). Finally, the last chapter shows an implementation of MIB using Net-SNMP.
The book finishes with references (RTA library, SNMP, framebuffer driver installation, tbl2filed daemon), an review of the cd contents and an index.
What should be added is that one of the good points of that book is that the authors use already-written code when possible and do not try to reinvent the wheel.
The accompanying cd, that allows to look into the source code or just try and run the applications, is a good addition.