Multitool Linux: A Book Review
Title: Multitool LinuxAuthors: Michael Schwarz, Jeremy Anderson, Peter Curtis and Steven MurphyPublisher: Addison-WesleyISBN: 0-201-73420-6
Multitool Linux aims to present "practical uses for open-source software". The book can be divided into five parts. The first part (chapter 1) explains what Linux and free/open-source software are, in general terms. All of the other chapters present one or more tools that solve everyday problems using open-source software.
The second part of the book deals with system administration issues. Chapters 2-9 and 11-14 explain why and how to set up NAT, IP masquerading, Samba, Intrusion detection tools, WebMail, Apache and department-level web sites. There are also three chapters covering, in great detail, remote computing via VNC, SSH and e-mail consoles. The last topic discusses issuing commands to a remote system via e-mail and receiving the output in the same way, a useful option if one wants to run something on a home PC from behind the office firewall.
Part three (Chapter 15) is titled "Tools You Should Know", and it is a 15-page overview of basic UNIX tools, such as grep, find, vi, Perl and many more.
The fourth part of the book, corresponding to chapters 10 and 16 to 24, covers user-space programs. Specifically, chapter 10 explains why it is important to digitally sign and encrypt all e-mail with GPG and shows you how to do it.
Other common problems the book addresses, each with its own chapter, include having your PC and Palm-like devices talk to each other, running Windows programs via wine and copying any possible kind of data onto CDs.
The other chapters of this part discuss graphics and multimedia. Music management is extensively covered; scripts and tips are offered to save vinyl albums to CD, generate MP3 play lists, convert a spare PC in a juke-box and much more, from MIDI software to sound effects generation from both GUIs and the command line. Differences between the several audio encoding techniques are introduced as well.
A whole chapter is devoted to speech synthesis and how to have you computer tell you when new mail arrives or when any other task is performed.
Chapters 22 through 24 cover image processing and video production. Chapter 22 is a good overview of the most popular graphics formats, explaining when to choose one or another and why, depending on the final use of the image.
An introduction to the world of 3-D graphics is the focus of Chapter 23. It shows the difference between ray tracers and modelers, and it goes step by step through the creation of a tridimensional logo with textures and other goodies, using PovRay.
Chapter 24 is a good starting point for Linux-based filmmakers. It also touches on simpler concerns, such as how to play back video files. Above all, this chapter lists all the issues to take into account when setting up your own Linux-based home studio. The chapter begins with an overview of what hardware components are needed, how to hook them together and the status of Linux support for video production. Next comes a discussion of the basic components of a good movie (from storyboard to soundtrack) and how to edit and merge them all together with Linux-based software. After the already mentioned video playback section, video CD burning is covered.
The book ends with an interesting afterword by coauthor Michael Schwartz on the future of the software industry, along with short biographies of all the authors.
Overall, Multitool Linux contains many useful tips and tricks. All of the chapters are up to date and written with a lot competence and enthusiasm; there is a lot to learn from this book. In spite of this, the separate parts are not knit together well, and it is not clear what the main audience of the book should be.
What I called the second part is targeted at system administrators with some previous IT experience, but the fourth part is devoted to multimedia desktop processing--although both fields are equally interesting, they don't really overlap. The book also would have benefitted from more content editing. For example, the content in Chapter 15 should have appeared in the book much sooner. In addition, some material (SSH, kernel compiling, etc.) is repeated in several different places.