Download PDF version of this article PDF

Java Precisely
Peter Sestoft

MIT Press, 2002, $14.95, ISBN: 0262692767

Sestoft provides a concise reference to the Java 2 programming language (versions 1.3 and 1.4). The stated audience for the book is people learning or using Java who need more details about the language than are usually provided in a textbook.

Intended as a reference text, the book provides the details of the language with a minimum of overhead. In many ways, it reminded me of Kernighan and Ritchie’s classic The C Programming Language. Topics covered include the syntax and semantics of the language, the packaging and compilation environment, the thread model, and aspects of the key programming libraries, including input/output (I/O) and data collections. Not included in the discussion are garbage collection, finalization, weak references, reflection, or JavaDoc commenting conventions.

The book’s design is interesting in that it combines the technical details of Java with small explanatory examples. In general, the text of the book appears on the left-hand pages, and examples are on the right. This book design works well except when the convention is violated. In several places, the text flowed into what should be the example space, leaving me a bit bewildered. More than once, I accidentally skipped a page of description when reading the text but not the examples. The examples themselves tend to be fragments of code that illustrate the features being discussed in the text. Don’t expect the examples to be a Java cookbook, however. For that, you will need other sources.

This leaves the question of where to place this book among the many Java books available. It would definitely serve as a reference for someone learning the language who might not need the depth of the full language specification. It also will augment, but not replace, full documentation of the Java application programming interfaces (APIs). Finally, it will not replace the longer tutorials or programming cookbooks containing more complete examples. While this is a useful reference, the serious Java programmer may well eventually migrate to more complete texts.—R. Ballance

Reprinted from Computing Reviews, © 2003 ACM, http://www.reviews.com

 

802.11 Security
Bruce Potter and Bob Fleck

O’Reilly, 2002, $34.95, ISBN: 0596002904

Connectivity between computers increases users’ productivity and convenience, but also makes them vulnerable to unauthorized access. Wireless networking takes this insecurity to new heights. 802.11 Security is an important resource for lessening such vulnerability in Linux, FreeBSD (including Mac OS X), and OpenBSD.

The book starts with an overview of how wireless works and some of the types of vulnerabilities to which it is open. It includes a discussion of the weaknesses of Wireless Equivalent Privacy (WEP), the first attempt at a secure, encrypted protocol for wireless networks. This section is generally very clear and helpful.

Wireless networks are logically divided into three layers: client stations, access points (APs), and gateways (typically connecting access points to both a wired LAN and the Internet). Each of these layers gets a separate section in the book. The authors’ strategy is to work from the periphery of the network (the clients) inward (through the APs), toward the core (gateways and their connected networks). This approach succeeds in breaking a complex subject into much more comprehensible modules, while retaining a coherent overview. The authors clearly describe the steps needed to secure each level—and the risks incurred by failing to do so.

The book covers clients for FreeBSD, Linux, OpenBSD, Mac OS X, and (last and least) Windows. Access points are mostly proprietary hardware with “very few security-specific options,” and configuration is vendor-dependent. Hence, the book only briefly describes the generally available options (WEP, filter MACs, check logs), and covers HostAP in Linux, FreeBSD, and OpenBSD for cases where the AP is on a general-purpose computer rather than proprietary hardware. Gateways are generally not proprietary and are thus discussed in more detail—a chapter each for Linux, FreeBSD, and OpenBSD.

Overall, this book is an excellent tool for skilled system administrators responsible for making wireless Linux and BSD systems (including Mac OS X) secure and should be required reading for all wireless administrators not working exclusively with Windows.—D. Chesley

acmqueue

Originally published in Queue vol. 1, no. 6
Comment on this article in the ACM Digital Library








© ACM, Inc. All Rights Reserved.