Cover V06, I12


Books: A User's Report

Elizabeth Zinkann

In this month's selections, I reviewed the newly released The C++ Programming Language, Third Edition by Bjarne Stroustrup (Addison-Wesley); UNIX Power Tools, Second Edition by Jerry Peek, Tim O'Reilly, and Mike Loukides (O'Reilly & Associates, Inc.); and the Web Security Sourcebook by Aviel D. Rubin, Daniel Geer, and Marcus J. Ranum (Wiley Computer Publishing, John Wiley & Sons, Inc.) I found them to be excellent books on very essential topics.

The C++ Programming Language
Third Edition
by Bjarne Stroustrup
ISBN 0-201-88954-4

This major revision of The C++ Programming Language introduces Standard C++. Stroustrup not only provides the essential C++ structure and language fundamentals, but also features its new capabilities, such as namespaces and exceptions. The author addresses the topics in four sections: Introductory Material, Basic Facilities, Abstraction Mechanisms, The Standard Library, and Design Using C++. Introductory Material includes Notes to the Reader, A Tour of C++, and A Tour of the Standard Library. Basic Facilities describes Types and Declarations; Pointers, Arrays, and Structures; Expressions and Statements; Functions; Namespaces and Exceptions; and Source Files and Programs. Abstraction Mechanisms further explores C++ constructs with chapters on Classes, Operator Overloading, Derived Classes, Templates, Exception Handling, and Class Hierarchies. Part III details The Standard Library with specific discussions of Library Organization and Containers, Standard Containers, Algorithms and Function Objects, Iterators and Allocators, Strings, Streams, and Numerics. In the fourth section, Design Using C++, Stroustrup examines the practical and theoretical aspects of design techniques in Development and Design, Design and Programming, and Roles of Classes. The Appendices contain (A) The C++ Grammar; (B) Compatibility; and (C) Technicalities.

Stroustrup's The C++ Programming Language is the primary reference for programmers. The third edition retains the presentation style of the previous versions; the author explains a concept prior to using it and does not rely on any specific implementation of C++ for either examples or his explanations. The new features and procedures of Standard C++ required a new description for both new and experienced C++ programmers. Stroustrup's elegantly written guidelines for this enhanced version present the essential specification and the complete reference for the Standard C++ language. The C++ Programming Language, Third Edition, will become a welcome addition to any programmer's library, both for its information and its clarity.

UNIX Power Tools
Second Edition by Jerry Peek, Tim O'Reilly, and Mike Loukides
O'Reilly & Associates, Inc.
ISBN 1-56592-260-3
CD-ROM Included

From its beginning, the UNIX operating system has possessed a quiet capability. Those who understood how to access its potential spoke in acronyms (e.g., awk, sed, and grep) and wrote in punctuation marks (e.g., ?*, #, $1, and "$@"). Few users had the time to discover the key to this cryptography. Fortunately, authors Peek, O'Reilly, and Loukides (and contributors too numerous to mention from other O'Reilly books) produced the original edition of UNIX Power Tools to share this knowledge with any interested user. Its accompanying CD-ROM contained an extensive amount of public domain software with clear directions for the user. However, the first edition's most valuable attribute became its format. The information was described in concise entries, which were both easily accessible and quickly read (if the reader didn't get sidetracked by another topic or two or three).

The newly revised second edition retains this excellent format, the quality explanations, and the accompanying CD-ROM. (In addition to containing more information, the CD-ROM itself is now easier to detach from the binding thanks to a perforated edge. The envelope becomes its storage slipcase, and you don't need a power tool to detach it from the book.) The contents of the UNIX Power Tools workshop includes The Introduction plus nine sections: Making Yourself at Home, Let the Computer Do the Dirty Work, Working with the Filesystem, Looking Inside Files, Text Editing, Managing Processes, Terminals and Printers, Shell Programming, and Miscellaneous. Each section emphasizes a different aspect for the UNIX user. Making Yourself at Home examine the user's Home environment: Logging In, Logging Out, Organizing Your Home Directory, Setting Up Your Terminal, Shell and Environment Variables, and Setting Your Shell Prompt.

The second part, Let the Computer Do the Dirty Work, discusses some personal preference options available to the user: How the Shell Interprets What You Type, Saving Time on the Command Line, Aliases, The Lessons of History, Job Control, and Redirecting Input and Output. Working with the Filesystem features UNIX organization and user navigation with: Moving Around In A Hurry; Wildcards; Where Did I Put That?; Finding Files with find; Linking, Renaming, and Copying Files; Creating and Reading Archives; Backing Up Files; More About Managing Files; File Security, Ownership and Sharing; Removing Files; and Other Ways to Get Disk Space. Part Four surveys Showing What's In a File; Regular Expressions (Pattern Matching); Searching Through Files; Comparing Files; and Spell Checking, Word Counting, and Textual Analysis. Text Editing presents vi Tips and Tricks; Creating Custom Commands in vi; GNU Emacs; Batch Editing; The sed Stream Editor; You Can't Quite Call This Editing; Sorting; and Perl, a Pathologically Eclectic Rubbish Lister. In Managing Processes, the authors detail Starting, Stopping, and Killing Processes; Time and Performance; and Delayed Execution. Part Seven, Terminals and Printers, analyzes Terminal and Serial Line Settings; Problems with Terminals; and Printing. Shell Programming provides Shell Programming for the Uninitiated; Shell Programming for the Initiated; Shell Script Debugging and Gotchas; and C Shell Programming...NOT.

The concluding section, Miscellaneous, explains Office Automation; Working with Numbers; Help - Online Documentation, etc.; Miscellaneous Useful Programs and Curiosities; What's On the Disc; Glossary; and the Index. The chapters each include from 6 to 38 entries of varying lengths (usually one-half to two pages) and focus. Some provide historical information, most illustrate UNIX concepts or commands, and some describe work-around solutions for the different flavors of UNIX systems currently available. When applicable, an entry provides cross-references to other related entries. The selection of topics in this edition emphasizes the POSIX and GNU utilities with a slight shift in some of the previous entries. The writing style is cohesive, excellent, and demonstrates an encyclopedic view of the O'Reilly Nutshell Books. The first edition was a UNIX browser's delight; the second edition is an equal, if not greater, adventure. UNIX Power Tools is an extraordinary book that any and every user, programmer, and administrator will use and enjoy.

Web Security Sourcebook
by Aviel D. Rubin, Daniel Geer,and Marcus J. Ranum
Wiley Computer Publishing
John Wiley & Sons, Inc.
ISBN 0-471-18148-X

The term security evokes many different images: Linus's blanket, a smoke detector, a winning lottery ticket, or a locked door. However, computer security is more intangible than solid and much more difficult to attain. In the Web Security Sourcebook, Rubin, Geer, and Ranum explain the risks inherent in a user's connection to the Internet and how to close some of the entrances to intruders. The authors investigate some of the dangers and discuss how to eliminate fundamental security flaws in Caught in Our Own Web. They follow this introductory chapter with Basic Browser Security, Advanced Browser Security and User Privacy, and Interpreting Scripts in the Browser. The authors also discuss Basic Server-Side Security, and Creating Secure CGI (Common Gateway Interface) Scripts; they define firewalls and their uses in Firewalls and Web and Transaction Security and the Web. The concluding chapters address Securing Web Commerce and What's Next? Security In a Rapidly Changing World. The Appendices comprise (A) Cryptography, and (B) References.

The Web Security Sourcebook features a superbly written evaluation of the Web's uses, dangers, past security lapses, and their results. The authors clearly demonstrate the possible damage of Java and ActiveX applets and accompanying considerations. This is an outstanding book on an essential aspect of Internet commerce and connections. I highly recommend it for users, and particularly for Webmasters and System Administrators.

About the Author

Elizabeth Zinkann has been involved in the UNIX and C environment for the past 12 years. She is currently a UNIX and C consultant, and one of her specialties is UNIX education. In addition to her computer science background, she also has a degree in English. Elizabeth can be reached via America Online (