Cover V05, I04


Books: A User's Report

Elizabeth Zinkann

This month I reviewed TCP/IP Illustrated, Volume 3, TCP for Transactions, HTTP, NNTP, and the UNIX Domain Protocol, by W. Richard Stevens (Addison-Wesley Professional Computing Series), Internet in Plain English Second Edition, by Bryan Pfaffenberger (MIS Press), WebMaster Windows: How To Build Your Own World Wide Web Server Without Really Trying, by Bob LeVitus and Jeff Evans (Academic Press Professional), Programmer's Guide to Online Resources, by Bob Kochem (John Wiley & Sons, Inc.), and UNIX Tamed, by Rodney Wilson (Prentice Hall). I hope that you enjoy them as much as I did.

TCP/IP Illustrated, Volume 3: TCP for Transactions, HTTP, NNTP, and the UNIX Domain Protocols
by W. Richard Stevens
Addison-Wesley Professional Computing Series
ISBN 0-201-63495-3

The most recent addition to the TCP/IP Illustrated series actually covers three topics: T/TCP (TCP for transactions), TCP/IP Applications, specifically HTTP (HyperText Transfer Protocol, the basis of the World Wide Web) and NNTP (Network News Protocol, the foundation for Usenet), and the UNIX domain protocols. Each topic can be read separately from the other two topics. Stevens assumes that the reader possesses a basic understanding of the TCP/IP protocols and how they function, whether from experience or other TCP/IP books. This volume builds on both TCP/IP Illustrated, Volumes 1 and 2. The section on T/TCP refers to both previous volumes. The segment of HTTP and NNTP was initially started in Volume 1, and the UNIX domain protocols were originally scheduled for Volume 2, but canceled due to space limitations. Throughout the text, Stevens refers both to previous material and to sections appearing in this volume.

Stevens is an extremely logical and precise author. Therefore, in both the introduction to the book and in the T/TCP Introduction, he defines what a transaction is for the duration of the book:

"...the term transaction means a request sent by a client to a server along with the server's reply" (p. 3).

TCP for transactions (T/TCP) is an alternative to TCP and varies slightly from the TCP procedure. As a result, it retains TCP's reliability, while increasing both speed and efficiency. It also reduces the number of packets needed. In chapter 1, T/TCP, TCP, and UDP processes are compared. Chapters 2 through 4 describe the T/TCP Protocol and Examples. The second section (chapters 5 through 12) examines the T/TCP implementation. (This is the actual implementation as it exists within the 4.4BSD-Lite networking code.)

The second topic, Additional TCP Applications, discusses HTTP: HyperText Transfer Protocol, Packets Found on an HTTP Server (demonstrating how a busy HTTP server actually works) and NNTP: Network News Transfer Protocol. This is not an explanation of a Web browser or how to use the Web. This details what is actually happening after a user requests access to a site until he receives the information on his screen.

The UNIX domain protocols are furnished by all UNIX TCP/IP implementations and are even on some non-UNIX implementations. They use the same sockets interface as TCP/IP and are a form of IPC (interprocess communication). The UNIX domain protocols are faster than TCP/IP because the data remains in one place, as in the X Window System utilizing a workstation. Stevens presents an introduction, the implementation, and I/O and Descriptor Passing for the UNIX domain protocols. The Appendices include Measuring Network Times and Coding Applications for T/TCP.

Stevens' writing is always amazing. He examines his topics thoroughly, presents them clearly, and identifies any problems that he realizes the reader could experience. His knowledge of the subject remains overwhelming, and he illustrates the concepts with figures and diagrams when possible and demonstrates how the source code operates at every opportunity. TCP/IP Illustrated, Volume 3 is an exceptional book. Anyone and everyone who either works with TCP/IP or protocols or is interested in them should carefully read this book both for its presention technique and its extensive information.

Internet In Plain English
Second Edition

by Bryan Pfaffenberger
MIS Press
ISBN 1-55828-439-7

In the beginning paragraphs of the introduction, Pfaffenberger demonstrates the computer user's need for an Internet dictionary. Anyone accustomed to the Internet's operations can converse in acronyms reminiscent of Lewis Carroll's nonsense poetry. However, without the definitions of these acronyms and an understanding of their related concepts, the user cannot utilize the advantages that the Internet offers.

The second edition retains the organization of the original text. Pfaffenberger presents an acronym finder, an abbreviation finder, the dictionary contents, and a topical index. The acronym finder is a particularly useful section. Whereas some acronyms have become general language terms, such as BBS (bulletin board systems), and some are familiar, such as LED (light emitting diode) and MIME (Multi-Purpose Internet Mail Extensions), others will always need to be referenced. A dictionary may either list them by their acronym or what the acronym means.

Pfaffenberger updated Internet In Plain English to reflect the current emphasis on the World Wide Web and other recent developments pertaining to the Net. He provides Tips, Do, and Do Not Do hints as additional information throught the book. Tips detail practical ideas and the Do and Do Not Do hints offer netiquette practices. Every Internet book provides a section on netiquette, but these ideas demonstrate its scope in various activities. The second edition of Internet In Plain English is an excellent reference for any user.

WebMaster Windows: How To Build Your Own World Wide Web Server Without Really Trying
by Bob LeVitus and Jeff Evans
Academic Press Professional
ISBN 0-12-445572-7
CD-ROM Included

The popularity of the World Wide Web not only applies to window shopping (or, more accurately, web browsing), but also includes individual web page creation. Surfing the net is no longer a spectator sport. Once a user decides to implement his or her own home page, the procedure can appear confusing. In WebMaster Windows, LeVitus and Evans simplify the process. The authors begin with a history of the Web. Assuming that everyone has read at least one history of the Internet somewhere, they concentrate on the Web history alone and its size, both past and present. They also demonstrate how the reader may determine the current size of the Internet and why this is an important factor. The second chapter discusses provider connections and related costs. The authors describe the different options available (if money is no object) and the alternatives (for those on a tight budget.)

Chapter three, Introduction to HTML (HyperText Markup Language) provides the essential instructions for programming a Web page. The introduction made this reviewer smile for several reasons: first, a reference to the early word processing days evoked pleasant memories of nroff and troff; second, the sample HTML page reminded me of a shell script; and third, the authors used "<grin>." (Friends often ask me "Do you KNOW that you use online abbreviations in snail mail?") Levitus and Evans present a logical, straightforward approach to HTML, demonstrating its elements and corresponding HTML source with the resulting Web page.

The following chapter features the more advanced capabilities, including forms, scripts, and the CGI (Common Gateway Interface) that allows the exchange of data between the server and scripts. A form may request information, such as a survey; the data is gathered by a script, and the results are delivered to the server through different CGIs, depending on the platform used. The final chapters discuss the Windows, Windows 95, and Windows NT choices and contains interviews with some of the people whose careers center around the Internet. The appendices include a glossary, Internet Providers, HTML Netscape Extensions, the WebMaster Toolkit, and Announcing Your WWW Site and Then Some. The CD-ROM contains HTML editors, graphics tools, sound and movie tools, and Web server software.

LeVitus and Evans have written an informative, enjoyable book illustrating how to construct a World Wide Web site. Everything the user needs (with the exception of a computer) is either in the book or on the enclosed CD-ROM. The directions are provided step-by-step, logically, and humorously. The sidebars (presented in boxes) furnish worthwhile suggestions and also a laugh. One of my favorites begins:

"In case you've been dead and didn't know, Windows 95 is Microsoft's new 32-bit operating system...." (p. 140).

WebMaster Windows details the building of a Web site without confusing or boring the reader. I highly recommend it!

Programmer's Guide to Online Resources
by Bob Kochem
John Wiley & Sons, Inc.
ISBN 0-471-12852-X

The Internet keeps expanding; new ftp, telnet, gopher, and World Wide Web sites are created daily. Additionally, the online services reorganize frequently, with new forums and message boards to assist the user. Software and hardware support is readily available, from the vendors or other users, but locating the exact information you want can be difficult, even for the experienced researcher.

Kochem has assembled the various types of references used specifically by programmers and organized them in a logical manner. He first presents an overview of the different resources: bulletin board systems, commercial online systems, and the Internet. The author continues with What's On Online Services, exploring the major online providers (CompuServe and America Online), new services (the Microsoft Network and the Interchange), and services originated by publishers (Bix and Ziffnet). (Prodigy and Genie were not included because this reference is primarily for programmers.)

Chapter three examines the Internet: its capabilities and its limitations. (Yes, it DOES have limitations!) This chapter includes a short UNIX command summary and a brief description of Internet basics. Kochem also addresses vendors online and includes a minidirectory of some of the vendors. A Web site address is listed that maintains a larger directory of vendors with their own Web sites.

The author demonstrates how to find user groups and presents some of the more popular ones. Kochem then illustrates what magazines or magazine forums are available to the programmer and includes their addresses. The rest of the book contains resources for diverse topics: programming languages, generic operating systems and environments, computer platforms, graphics, multimedia, virtual reality/worlds, games development, security, encryption and (anti-) virus, networking and telecommunications, and databases. The appendices provide top sites and Important Internet Lists. The references listed specialize in programmers, their needs, and interests. Kochem does not limit the resources to Web sites, Internet addresses, or Bulletin Board Systems.

Programmer's Guide to Online Resouces is an excellent tool. It provides a variety of topics specific to programmers' needs. Each reference includes clear instructions for accessing the site. The text is well written and will be an excellent addition to any programmer's library.

UNIX Tamed
by Rodney Wilson
Prentice Hall
ISBN 0-13-443037-9

As a book review columnist, I often get requests for book titles on specific topics. The most frequent request refers to beginning UNIX books. This question originates with every level from college students to experienced system administrators. Often a company has changed to the UNIX operating system, and none of the employees are familiar with it. UNIX Tamed by Rodney Wilson presents a good first book for UNIX users. It can also be used for someone who needs information but lacks a lot of time to read.

Wilson provides a basic introduction to necessary commands and file-handling methods. The concepts of permissions, directories, and linking are followed by an introduction to the Bourne shell and its environment, redirection, filters, and metacharacters. Part 2, Moving Ahead, describes the ex and vi editors and the Korn shell (ksh). Separate chapters on the Bourne and C shells examine some of the elements of shell programming and features exclusive to the respective shells. In Part 3, Getting Good, the reader learns some advanced commands (sort, find, the stream editor (sed) and the awk programming language).

In Basic Programming Tools, Wilson discusses the construction of binary executables (mark this section, you will use it later on!), the C compiler, the make utility, the Revision Control System (RCS), and libraries. The Basic System Administration chapter addresses the bootstrap procedure, backup, printer configuration, mounting file systems, the X Window System, ftp, and telnet. The final chapter discusses the Practical Extraction and Report Language (perl). The appendices include exercise answers, a command reference, and review questions.

Two qualities make this a good beginning book: the sections are brief (allowing the reader to take a small section or a larger portion at a time), and each segment has its own short exercises. The text is straightforward and presents many examples as the author progresses from the simple to the more complicated tasks. UNIX Tamed is a beneficial book for the beginner.

About the Author

Elizabeth Zinkann has been involved in the UNIX and C environment for the past 11 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 (