Product: Book - Paperback
Title: Learning the bash Shell, 3rd Edition (Nutshell Handbooks)
Authors: Cameron Newham
This O'Reilly Publication does a good job in filling a void for a good introduction to Bash Shell scripting. Bash has become the shell script programming choice for most Unix and Linux shell programmers, because of its strengths over C shell (Csh) and other Unix-based Shell environments as a fairly robust freeware script programming language.
Strengths of the publication are the clear explanations of the bash shell programming environment, the effective use of tables to summarize basic shell language and programming constructs, UNIX-based utilities, shell environment customization, shell Syntax, Bash File Operators and control key definitions.
A chapter is devoted to edit mode capabilities (both eMacs and Vi Command-Line Editing Commands are covered and summarized effectively in clearly doucmented tables).
The book contains a number of terse script programming tasks, which provide clear examples of the material presented in the text. These program examples are reworked to provide a clear example of how Bash scripts can be modified to provide greater flexibility and reusability of Bash shell program code.
I would like to see more robust programming shell examples in the book as examples of mini-applications, which Bash is frequently used for in many Unix-based or Unix-derived platforms. The "Task 5-1" program example is an example where a good example of a program, which does an adequate job of clearly covering the use of Bash File Operators, yet the author(s) make the statement that the code is "relatively long winded".
Another area the book could address is the use of Bash in a Windows environment. I was able to port some of the programming tasks presented to a Windows 95/98 environment using the GNU Bash Version 2.03 for Windows package available on the internet.
Despite these drawbacks, I rate the book four stars on the strengths that it is the only readily-available publication, which is solely devoted to Bash shell use and programming. The O'Reilly publication is definitely worth the investment, if you are looking for a book to get you started on Bash Shell Script programming on a Unix, Linux or Windows (to a limited degree) environment.
Product: Book - Paperback
Title: How to Wow : Photoshop for Photography (Wow!)
Publisher: Peachpit Press
Authors: Jack Davis, Ben Willmore
The collaboration of digital imagery experts Jack Davis and Ben Willmore, How To WOW Photoshop For Photography covers Adobe Photoshop 7 and later versions for both Macintosh and Windows platforms at an Intermediat to Advanced user level classification. A step-by-step instructional walkthrough of real projects teach the reader through experience to take advantage of Photoshop's ability to enhance quality and image flexibility in a very short time. An accompanying CD-ROM makes getting started simple, with easy-to-follow lessons that anyone can assimilate to improve their skills. Recommended for amateur and professional Photoshop users alike.
Product: Book - Paperback
Title: Gödel, Escher, Bach: An Eternal Golden Braid
Publisher: Basic Books
Authors: Douglas R. Hofstadter
Hofstadter brings three of my heroes Godel, Escher and Bach together and has become my hero number four.
Product: Book - Hardcover
Title: Inside Microsoft SQL Server 2000 (With CD-ROM)
Publisher: Microsoft Press
Authors: Kalen Delaney
If you're looking to really understand the core engine of SQL Server and how to optimize your code, this is a really good book. If you're a database architect, this book may be a little too microscopic for you, lacking in design strategy. Surprisingly, I think this is actually a great book for the DBA - the discussions on the underlying mechanics are second to none.
This book is named very appropriately. The author does an excellent job detailing what goes on under the hood of SQL Server. As an example, she exposes the details of the Bulk Change Map pages in database files and how they work in relationship with the Bulk Logged recovery mode, new to SQL Server 2000. It's one thing to read and memorize what can and can't be accomplished in Bulk Logged recovery mode, but it's a totally different feeling being enlightened on why it works the way it works. There are many core principles in how SQL Server operates that the author describes in detail.
Here what I wished to have seen more coverage on: 1. Replication - this book does not cover replication. There are other books that show you how to point and click (I guess those point-and-click picture books will be called "Outside SQL Server 2000"), but none I've seen go into the "Inside" level. 2. Distributed Partitioned Views - This book shows how to create a distributed partitioned views, but it stops there. There are very important design considerations such as knowing where to place your data so as to minimize joins across the network. 3. Indexed Views - Same as distributed partitioned views - ends at the "how to create". I'd like to see how it works under the hood. 4. One way to classify this book is that it is very "server-centric". Many of us work on systems of database servers that work in concert under the application layer. I'd like to see more inter-server ("system-centric") insights.
It really wouldn't be fair for me to ask for clustering or log shipping in this book - those really aren't developer issues. Clustering is much more of a Windows 2000 feature than a SQL Server feature. If you're interested in clustering or log shipping, check out the SQL Server 2000 Admin Companion and the SQL Server 2000 Resource Kit.
Given the microscopic details packed into about 1000 pages, I found myself relying on Books Online for supplement. Many times, however, this book is actually more in depth than Books Online. I do agree with a few other reviewers that there's a lot of similarity with the version 7.0 of this book; however, there are many aspects of the products that are the same as well. If you really read the two books, though, you'll find that the 2000 version of the book is actually more in depth than the 7.0 version.