Book Reviews
Linux in a Nutshell: A Desktop Quick Reference
by Ellen Siever and O'Reilly Staff, 632pp, 1999

Linux in a Nutshell provides a wealth of information on a great variety of subjects, including coverage of user commands, bash, csh and tch, pattern matching, Emacs, vi, and ex editors, sed and gawk, programming in Linux, RCS and CVS, Perl, administration, and boot methods. While the information is freely and readily available in Linux documentation, Linux in a Nutshell provides an overview of each topic in addition to the expected list of options and syntax. This presentation makes it a more accessible reference than man pages. Locating an answer is a cinch and the amount of useful information is astounding. I often flip through the pages idly just to learn a new feature or function that I didn't know I needed. Do not buy this book as an introduction to Linux or if you are new to Linux. Practical examples of command syntax are not numerous, but this book does not purport to be anything more than a reference manual. For the intermediate to experienced user, Linux in a Nutshell can prove an invaluable aid. At over 600 pages and priced under $15 ($24.95 list), this book is a steal. (Jamie)

Running Linux, 3rd. Edition
by Welsh , Dalheimer & Kaufman, 752pp, 1999

Running Linux is 720 pages packed full of great information for the Linux enthusiast. It covers every thing from installation to setting up networking. If you have an interest in setting up and using the Linux operating system this is the first book you should have in your arsenal of references. This book is written in an informal and often times amusing style but manages to present material in a thought out progressive manner. You begin with a history of Linux and progress to installation and system administration. All the basics are covered. You will learn how to add users, manage accounts, connect to the Internet and of course how to tailor your interface with X windows. For the advance user there are sections covering programming with the GNU compiler in C, C++, and several scripting languages like Perl and TCL/TK. The book also covers installing on other non-Intel platforms such as Sparc and Mac's. I found the sections on using programming tools was of great help explaining the sometimes confusing and cryptic Make utility. All in all you can't go wrong with this book. Whether you're a novice or like me been kicking around in the Linux pool for a while, you will find yourself referring to a passage or two on occasion for advice or just to refresh your memory on a solution to a tricky problem.. (Greg)

Learning Red Hat Linux
by Bill McCarty, 378 pages Bk&Cd Rom edition (September 1999)

When I got this book I was getting it to learn how to install/use Linux on a 486 with a 325 Mb hard drive. The book didn't have any information on installing from DOS. Just windows 95/98. One of my friends helped me set it up and as I read into the book it had more then enough information on different networks, running apps, and configuring just about everything from X. Not from a console though. There was a small amount of info for console, but about 90% of the book was aimed toward higher end machines running X. If you're just learning Linux and have a better/newer computer then I did this book could help you out a great deal, but not if you're using a really old box. (George)

Rebel Code: Inside Linux and the Open Source Revolution
by Glyn Moody, 336pp, 2001

Every wonder how all this stuff got started? Got a fuzzy idea of how and why? Glyn Moody takes the reader through the history of Linux and the open source movement with first person interviews of the hackers responsible for GNU/Linux. Interviews with Linus Torvalds, the creator of Linux, and Richard Stallman, father of free software, are just a few of the highlights of this book. Moody covers the culture of free software from it's inception to it's present day ascendance. It's a history book covering events still echoing in your mind. I found my self thinking "Wow I remember when that happened" as I read about the first release of "Mosaic" into the open source world. Any one who has an interest in where this open source movement came from and where it's heading will enjoy this book. It's a great read. (Greg)

Unix & Linux Answers: Certified Tech Support
by Charlie Russell and Sharon Crawford, 308pp, 1997

While not a "must have" book, Unix & Linux Answers offers insight into many aspects of *nix. Many of these are of interest to system administrators, but others benefit the home or strictly workstation user. I often refer to this text for information to supplement that found in Linux distribution manuals. A warning: This book appeared to me to be written by a Unix expert, but billed as Linux also when the publisher realized that the "Linux" name would help the book sell. In any case, it does offer answers to some excellent "help desk" type questions and covers a wide range of subject areas offering plenty of useful examples. (Jamie)

Unix in a Nutshell: A desktop Reference for System V & Solaris 2.0
By Daniel Gilly, 444 pp, 1995

If you are looking for in depth information or step-by-step instructions or help figuring out which command you should use to accomplish a task, this is not the book for you. However, if you think man pages are too long, you know the command you want to use, and you just want a quick reference for syntax, this is your book! This book covers Unix commands, Bourne shell, Korn shell, C shells, grep, emacs, vi, Ex, sed, Awk, and more. I liked the layout of the book and its compact size. The command, syntax, synopsis, and options (with explanations) make it a great reference manual. It's an excellent Unix command dictionary and if that is what you are looking for I recommend it. My only disclaimer is that I've never used it with Linux since it sits on my bookshelf at work so I don't know how Linux friendly it is but there is a Linux in a Nutshell that I plan on getting soon. (Jason)

Learning the vi Editor
by Linda Lamb and Arnold Robbins, 327pp, 1998

When I was thrown into the role of System Administrator for our Sun machine at work, the only book I was given by my predecessor was Learning the vi Editor. I soon found out why he gave me the book...our system did not have Pico (the only editor that I had ever used on a Unix machine) nor emacs. I only had access to vi, a cryptic quirky, and unforgiving editor. I attempted to learn vi without the book thinking "How hard could it be?" I soon learned that without pull down menus or instructions post at the bottom of the screen I was going to need help.

The book was small, compact, and concise. After skimming the first two chapters and ripping out the "Quick Reference Guide" I was off! I can now edit text files without crying. I have even found vi to be quite powerful despite its age. Reading the book I learned that many of vi's commands are great time savers. In short this book helped me save my hair. I would recommend this book to anybody who is forced to (or for some unknown reason chooses to) use the vi editor. The Quick Reference alone is probably worth half the price of the book! (Jason)

Samba: Integrating Unix and Windows
by John D. Blair, 312pp, 1998

"Samba integrating UNIX and Windows" is 300 pages of well written technical information . The book is laid out in a fashion designed to get you up and running with the samba suite of programs. I found the chapters on Windows networking protocols cleared up most of my questions about how to use the Samba program. An extensive section on the configuration file with real world examples and starting point made getting Samba running a snap. The book also comes with a CD containing source code and pre compiled binaries. (Greg J.)

Using csh & tcsh
by Paul DuBois, 221pp, 1995

When I was first introduced to Unix the default shell was bash. I became comfortable with it and really liked it. Then at work I was put onto a machine with csh (bash was not available). I felt like a duck out of water. My old trusty history by arrow keys was gone! I didn't know how to edit my profile files. I needed help!

Enter Using csh & tcsh. This book opened my eyes to the power of what I had previously considered a quirky, cryptic shell. It is simple, concise, and informative. I learned how to configure my .profile and my .cshrc to customize my settings.

This book also covers tcsh commands in great detail. In fact, after reading the sections on tsch I was quite tempted to install it on my computer due to its great power and flexibility. I highly recommend this book to anybody forced to use csh (or tcsh) or interested in learning this very powerful Unix shell. (Jason)

Learning Perl (2nd Edition)
by Larry Wall, Tom Christiansen, Randal L. Schwartz, 328pp, 1997

Learning Perl is a must have for anyone interested in learning Perl. The book offers excellent introductory information in an easy to read style. Explanations of code pieces lend to a well-reasoned and intuitive presentation. Knowledge in another programming language is not absolutely necessary, but it certainly helps. Expect to be creating Perl programs within an hour or reading Learning Perl. While perfectly geared for the beginner, a more definitive Perl reference is soon required (see Programming Perl) as Learning Perl does not go beyond a rather topical introduction to a language extremely rich in features, functions and options. (Jamie)

Programming Perl (2nd Edition)
by Larry Wall, Tom Christiansen, Randal L. Schwartz, ste Potter, 670pp, 1996

While this book is an indispensible Perl reference, it is not for the beginner. For those with little or no Perl programming experience, I would recommend Learning Perl, by the same authors. Though written in an easy to read manner, the concepts and content are difficult and the book is short on practical examples. Be prepared to search for additional information elsewhere to develop a complete understanding. As an advanced Perl reference manual, Programming Perl is excellent. For an advanced Perl tutorial, look elsewhere. (Jamie)

Unix Shell Programming
by Ted Burns, Lowell Jay Arthur, and Jay Arthur, 518pp, 1997

If you want to learn the Bourne Again Shell (The default in many Linux distributions), C Shell, or Korn Shell, this book has the dirty details. Unfortunately, these same details are contained in the Linux man-pages. Similar to the man-pages, Unix Shell Programming is short on examples and packed with technical detail. If you prefer instructions in print over "on the monitor" (as I do) or if you are new to *nix and do not know which man pages to examine for shell programming instructions, this book is a good buy. One aspect I did find useful in Unix Shell Programming was the comparisons between the various shells on particular programming structures. Little else is offered to the reader that can't be found in (free) Linux documentation. (Jamie)

by Cricket Liu, Paul Albitz, Mike Loukides , 482 pages 3rd edition (September 1998)

Yet another great book from O'Reilly! DNS and BIND went way beyond my needs, providing a complete reference. As all O'Reilly books, DNS and BIND is written in a logical and organized manner. All concepts are clearly explained, with no shortage of diagrams, and configuration examples are plentiful. Beyond the obligatory chapters on history, theory/concept, and setup, there are chapters on maintenance for large domains, using BIND's resolver routines from C, troubleshooting/debugging, security concerns, and much more. The instructions necessary for setting up a base server are contained in a single chapter, making setup a breeze. Advanced setup proved just as easy if only more time consuming. I implemented functions I didn't even know I needed with very little trouble.

There must be something wrong, right? An annoyance, in any case, is the inclusion of syntax for BIND 4 which is apparently still in wide use (version 8.x is current). I don't care. I bought a new book. I want information on the newest version without a huge portion of the text just "getting in my way". While a minor inconvenience, this perturbed me most for the added cost of a book pumped up with information that I can't use.

Aside from the version 4 gripe, DNS and BIND is a very useful resource that I recommend to anyone twisted enough to have more than a passing interest in DNS and BIND. (Jamie)

MySQL and mSQL
by Randy Jay Yarger, George Reese, Tim King , 487 pages 1 Ed edition (August 1999)

I recently looked around for a Open Source Free-ware data base and came up with MySql as the choice for the project I was working on. Looking around for documentation I found my best source was "O'Reilly books". I was able to gleam out the information I needed to get up and running but It was no easy task. The problem with this book is that it tries to be all things to all users. And wile it succeeds in presenting enough information to get you started it could have been done a lot better. Trying to cover two database products at one time produced a book that was confusing and hard to keep track of the proper information. It jumps back and forth between the two different programs so much I found my self breaking out the old yellow high lighter more than I should have just to keep track of which program they were talking about.

The chapters on data modeling were useful but rehashing basic SQL was a waste of space , I got the impression that they were trying to fill pages for the publisher. The chapter titled "Other mid range database engines" was a waste of time . If I wanted a book on postgresSQL I would have gotten one. The book covers the use of the Perl, Python, PHP,C, C++ and Java API's and more example code covering the API'S would have been better use of space than the "Other Mid Range Database engines" stuff.

Over all the book comes through with the information I needed to get up to speed with MySql. I find my self referring back to it constantly wile working on the various API for MySql. (Greg)

Network Printing
by Todd Radermacher & Matthew Gast, 300 pp, 2000

Network Printing or Building Print Services on Heterogenous Networks

What a catchy title. A simple title that states just what you will learn by reading this book. Radermacher & Gast present printing services in a clear and concise way . If your used to digging out the information you need to solve a problem from cryptic Manual pages you will be in for a present surprise. The material is presented up front and completely . The authors approach printing services from the angle of host client computing. They use Unix exclusively in providing printing services. NT and windows printing is handled with a chapter on SAMBA and it's usage. Enough information is presented to get SAMBA up and running but it's not a book on the subject. As for configuring NT or other operating systems for printing it's covered but look else where for in-depth information. What this book excels at is presenting the Berkeley printing system and System V printing systems. The LPD damon is explored extensively as is the makeup and usage of the print cap file and print filters. LPDNG the next generation print server is covered also . The authors take you through selection ,acquisition and installation of two of the most widely used printing subsystems in the Unix world. Then show you how to administer the service . If you're a System administrator, you will want this book as a reference in you library. (Greg)

Miscellaneous Java Books
by Various

While trying to learn Java for an object oriented programming course, I purchased many books on the subject. I soon found that the 500-1000 page "one source for all your Java needs" books where not all they were cracked up to be. The books covered several topics, but at such a surface level that they didnot answer my questions. Examples in these books were too textbook and basic--reading integer values from a command prompt is a far to simple to be useful when you wish to read one line of floating point numbers, integers, and strings. Enter the O'Reilly's Java Series. These books take one 10 page chapter of the huge books that I'd been reading and turn them into a 200 page book! Finally, I get ample examples, caveats, and real explainations!!!

The first books I read was Java I/O and it has become my favorite. Rarely do I write a Java program and not pick this book up. I at last have a reference that explains why there are so many ways to read input and more importantly why most are depricated. I must admit that my main focus has been in the first half of the book. ..I have yet to explore the wonderful worlds of encrypted and compressed datastreams.

The next book, Java Threads, did a good job of explaining how to work with multithreaded processes. Unfortunately for me, my most of the applications that I write are primarily command line utilties for simple file manipulations that are probably more easily done in Perl or Python. As a result I haven't had much need to use this book while programming. However, it did help clear up some aspects of threads that I hadn't completely understood before.

Enterprise JavaBeans was the third book that I read. is some cool stuff, but way beyond anything that I'm doing as a systems administrator. I found it very enlightening, but much of the material went over my head since I have no JavaBean experience. It is definately written for somebody who is wanting to know a lot about the Enterprise Beans. I did have a coworker who was using JavaBeans for a web developement project. He has been hogging the book ever since I mentioned that he could borrow it if he thought it would help. (Jason)

The Perl Cd Bookshelf : 6 Bestselling Books on Cd-Rom
by O'Reilly, Inc. Associates (Editor), 1999

Review #1
If you want to learn the popular scripting language, this is the book/cd combination to get. It contains 6 electronic books on the CD plus a bonus book "Perl in a Nutshell". The CD works with any system; all the books are in html format. The included books are Perl in a Nutshell, Programming Perl, 2nd Edition, Perl Cookbook, Advanced Perl Programing, Lerning Perl, 2nd Edition, and Learning Perl on Win32 Systems.

When this set arrived I knew nothing about Perl but had some curiosity about the language. I mounted the cd and started to browse. The books on the cd are all crossed indexed with the html language. If you come across a term or subject that you don't understand, there are links to occurrences of the same subject in the other volumes. Just click and you're taken there. It is an amazing set of references. I started out with Learning Perl, came across a reference to CGI scripting, clicked on it and there I was facing ready made scripts in Perl Cookbook. All future books should be this complete and easy to use. The text book writers should be forced to adopt this method of subject matter presentation or face death...

As you can see, I'm taken with this book/cd set. With it, I hope to master the language at my own pace at my computer terminal instead of in some dark dingy class room... (Greg)

Review #2
I have never been disappointed by a book from O'Reilly, and they have definitely maintained their usual high standard with The Perl CD Bookshelf. While this distribution is a collection of previously released books, it is not "old news". The value of the included books is increased by the fabulous cross reference capability; similar topics from different books are linked at the bottom of each sub-chapter. These sub-chapters keep the links in handy range at page bottom by creating a manageable-sized HTML document. Too, the ease of finding a topic of interest has never been easier; especially when referring to 6 books. Add this to platform independence (all volumes and references are in HTML) and you have a definite winner. But there is more. At a list price of $59.95 (though it can be found for less), there are substantial savings over purchasing each of the included books individually. Having this tool at my fingertips while I am programming has proven extremely valuable. The only caveat I find is for those that like to have a good book to read in bed or on the plane. Unless you take your laptop everywhere, you are limited in where you can access The Perl CD Bookshelf. Nevertheless, I hope to review more CD Bookshelf distributions from O'Reilly in the future. (Jamie)

Unix CD Bookshelf
by Various

The UNIX CD Bookshelf is an excellent collection of books which includes Unix Power Tools, Unix in a Nutshell, Learning the Unix Operating System, Learning the vi Editor, sed & awk, and Learning the Korn Shell. Unix Power Tools is an excellent book to browse through and pick up tons of neat tricks and tips that you never knew about. It's packed with lots of usefull information. Unix in a Nutshell is a great reference if you're running a Solaris or SVR4 system. It often has more detailed information on various commands than the man pages. It's not quite as useful for Linux users, however. Learning the Unix Operating System contained lots of good information for the newcomer to the UNIX/Linux community. It gives clear and detailed information on many issues facing new users and does a good job of explaining things in an easy to understand fashion. Learning the vi Editor is perhaps one of the most useful computer books I've ever read. If you're a system administrator, or even a UNIX enthusiast, chances are you'll one day encounter a machine that doesn't have emacs or joe. vi, though it seems difficult to use at first, quickly becomes easy to use with the aid of this book. I highly recommend this one to anyone who uses a UNIX system. sed & awk is a fantastic book if you ever plan on writing makefiles, shell scripts, or perl scripts. This book explains how to use these tools in an easily understandable manner. Learning the Korn Shell is a good introduction for anyone who wants to use Korn. Though I prefer bash, I found this book a refreshing reminder of the flexibility of being able to use different shells. Overall, I found this product quite useful. Though I prefer to have books in hardcopy, and find them much easier to access that way, this is still quite a bargain to have all these books lumped into one cd. (D.J. Waller)

Dojo: The Definitive Guide
Publisher: O'Reilly - 2008
Author: Matthew A. Russell
ISBN: 978-0-596-51648-2

This book describes the usage of the Dojo toolkit, which is an extensive library of javascript resources. This toolkit has many high-level contributors, including IBM, and is released with Open Source permissions. One perhaps misleading feature is the subtitle: "Powering Up Ajax Development Techniques". In fact, only one of the 16 chapter focuses on Ajax, and this is just fine with me, because one can cut through all hype about Ajax and confirm that Ajax is - to make it simple - retrieving content from CGI scripts without refreshing the web page.

Like all of the topics in this book, the chapter on Ajax is very thorough, and takes the reader from simple examples to the more complex.

It seems to me that books on programming should be evaluated twice: First for readability, and secondly for code examples. I have not yet worked through any of the code. However, reading through the code examples I have observed a fairly consistant pattern: A very simple example, followed by two or more increasingly complex examples. This is a pattern that should speed up the reader/programmer's learning curve.

Dojo is a very large system. Although it builds upon the existing javascript language, I am reminded of the introduction of C from the unix system environment to programming at large during the late 1980's.

For those that should need a quick description of javascript - understand that javascript is executed on the client machine - not on the internet - as part of an interpreter embedded in the client's browser. For those of us that have used javascript for some time now - there's been a lot of headaches and gotchas associated with different browsers, different operating systems and differing client machine capabilities. Dojo takes these issues into consideration and resolves them in the 'Base' and 'Core' components. This frees the user of this API from having to worry about these details.

Mr. Russell takes the reader from the 'Base' and 'Core' components to address event handling and latency with great clarity. From there he builds on these basics to introduce the reader to the Dojo 'widget' libraries. Such libraries give the user the ability to morph a web page on a browser into a full-fledged application. In fact, the Author puts forth the scenario of a very complex website being one webpage - dynamically transforming itself based on user input, using high-level javascript techniques leveraged by the toolkit.

Those who have worked with highly customizable desktop applications, such as Microsoft Access should recognize a parallel with coding approaches to that of property lists. Those who are python programmers will see the same coding approaches as Dictionaries, and perl programmers can make the transition conceptually by thinking about Hashes with a translation of the hash operator to that of the {"key":"value"} semantics.

Those familiar with traditional HTML approaches to web design are in for a lot more verbosity when it comes to form handling. Traditional HTML is extremely simple when it comes to appearance and the validation of data. Dojo can place a lot of code into HTML tags to handle these issues. Since I have addressed these issues with simple 'pseudo-markup' that prompts a 'preprocessor' to generate code in external modules, I think we can expect a lot of ancillary resources to manage dojo and generate dojo code, both in webpages in sourced modules.

Going back to my reference to the comparison with C of 20 years ago, we might expect something like this: Where various server-side scripting languages were developed using C as the source code - and I can name python, perl, PHP, ruby, rebol, newlisp, common lisp, scheme,tcl as just a few - can we then expect client-side languages based on javascipt toolkits like dojo and jquery? Probably. In the meantime, if you are serious about web programming and web design, the cost of this book is probably going to be a very good investment for you. And we might expect to be even more demand for programmers as opposed to web designers. What do you think?

Dojo IDEs anyone?

A document that mixes HTML, javascript and CSS needs an editor that can resolve all 3 codesets. I'll mention several editors/IDEs as follows:

It is then reasonable to expect that web design tools will be enhanced to accomodate dojo and similar toolkits.Googling Dreamweaver and dojo as keywords seems to indicate that Dreamweaver is criticized for lack of javascript support.

For linux platforms, vim "out of the box" handles syntax highlighting for all of CSS, Javascript and HTML code in the same document, with an occasional mismatch of type to highlight. A search of scripts finds only one hit for "dojo". Expect more in the future.

Emacs "out of the box" gets confused about different codesets in the same document. Search results for advanced javascript support for emacs was inconclusive.

I've downloaded and installed aptana - - plugins are available for both dojo and jquery. To install plugins, linux users will need to run aptana as root because the plugins are written to /usr/local/. Aptana Studio is available for free. Aptana Studio Pro is available for a fee and can be evaluated for a limited period of time. Several other plugins for Studio and Pro include support for PHP, Ruby on Rails and Jaxer, to name a few. Jaxer is another Aptana product which provides a server for processing Ajax requests and Database Management. Jaxer is meant to integrate "seamlessly" with Aptana, but thus far - according to their staff - Jaxer should be run as standalone on linux. I found Aptana a little difficult to learn but their forums at are extensive. Questions that I posed were answered by staff and I found staff to be gracious, helpful and noob-friendly.

Quanta, well known in the linux community is also a good option. It is hugely configurable. Opening an html file defaults on my machine to filetype "html" and the syntax highlighting is scrambled, but pick Tools -> Highlighting -> Markup -> XML and highlighting appears to be code-sensitive.

Aptana will likely be my IDE of choice should I use dojo in earnest - and dojo or something like it is the future of programming.(Tim Johnson)