Incomplete Ideas -- Knoppix, UML and CDs in books
If you’re reading this site then there are pretty good odds you own a number of tech books, take a look around your shelves and admire your collection. Now think about the number of those books that include a CD, next try and think of an included CD that was actually useful. Did you think of any? If you did you are a better man than me.
One of the reasons CDs are seldom included in tech books is the shelf life of the book vs the software contained within. A book can sit on a shelf for years, by the time someone buys the book the software may not even run on the current kernel version of a *Nix box; this is more a Unix problem as Microsoft are actually good at ensuring backwards compatibility. The other downside here is that the contents of the CD are “added value” and are not part of everyones experience with the book.
I’m going to make a suggestion for an in-book CD that will actually ADD value to the book rather than just be an afterthought, and it’s all made possible by the power of Linux. My fictional books title is NFS the complete guide, on the CD is a custom version of Knoppix that boots into a GUI and runs a UML instance in the background. The reader can then work through the book as usual but at any point they want to get hands on and understand more about what they are doing they drop in the CD, boot up and then have a client and a server, both mostly ready for use, that are configured to represent the ideal environment to test out the examples in the book. In this case one instance of the server would have NFS support compiled in to allow the reader to experiment with exporting mount points in a known working environment while the second would require a kernel compile to add NFS taking the user through the process step-by-step. Or the reader could do it the old way and set up their own test machines.
None of this requires any local modification to the local disk-drives or their contents. If the user wants to save files then they can either save to a USB key (which are insanely cheap these days) or to an online ftp/web/workplace server that will hold their files. The example given above is a simple one but the concept applies to a number of different book types, network service related books (DNS, DHCP) are ideal, another example would be a book on DNS, the CD could contain two servers to allow the reader to test out the information presented in the chapters on delegation or replication. More end user focused topics such as using OpenOffice could be done just as easily.
So what are the down-sides? More work for the people producing the books is the most obvious, assuming the user has a machine with enough grunt to drive the UMLs is a second. As the title stated this idea isn’t complete but it’s one I feel is worth watching, the technologies involved seem ideal for each other and open up a number of powerful options.