Issue No. 09 - September (2004 vol. 37)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MC.2004.122
The Linux TCP/IP Stack: Networking for Embedded Systems, Thomas F. Herbert. This book begins with a general overview of TCP/IP networking, with background information on applicable networking standards. From there, it details the TCP/IP implementation in Linux 2.6 by following a packet of data as it flows through the stack from the sending system, out the wire, and back through the input side of the stack in the receiving machine. This unique approach gives programmers an inside look at the entire process.
The text includes coverage of real-time requirements, the Linux IPv6 implementation, and how Linux TCP/IP interfaces to diverse drivers and protocols; an in-depth guide to how TCP/IP works; and detailed answers to networking questions that focus on the internal operations and structure of the Linux TCP/IP stack.
Charles River Media; www.charlesriver.com; 1-58450-284-3; 586 pp.; $59.95.
Decompiling Java, Godfrey Nolan. Both Java and .NET use the idea of a virtual machine. While VMs are useful for some purposes, they undermine source code security because a creation can be reversed or decompiled. Thus, developers who wish to protect their intellectual property must understand decompilation.
For example, one question facing developers is how secure code is after it has been run through an obfuscator. The book provides answers to this and similar questions, along with additional information about Java byte codes and the Java virtual machine. It also offers insights into the features and limitations of today's decompilers and obfuscators along with a detailed look at what JVMs actually do.
Apress; www.apress.com; 1-59059-265-4; 264 pp.; $39.99.
The Cross-Entropy Method: A Unified Approach to Combinatorial Optimization, Monte-Carlo Simulation, and Machine Learning, Reuven Y. Rubinstein and Dirk P. Kroese. The cross-entropy method of stochastic optimization and simulation involves an iterative procedure in which each iteration can be broken down into two phases. In the first phase, the procedure generates a random data sample according to a specified mechanism. In the second phase, it updates the parameters of the random mechanism based on this data to produce a better sample in the next iteration.
The book demonstrates the simplicity and versatility of this method for a diverse collection of optimization and estimation problems. Written for a broad audience of engineers, computer scientists, mathematicians, statisticians, or others interested in fast simulation, the book covers rare-event probability estimation, efficient combinatorial and continuous multi-extremal optimization, and machine-learning algorithms.
Springer; www.springeronline.com; 0-387-21240-x; 320 pp.; $84.95.
ARM System Developer's Guide: Designing and Optimizing System Software, Andrew N. Sloss, Dominic Symes, and Chris Wright. With more than two billion ARM-based processors embedded in products ranging from cell phones to automotive braking systems, the ARM architecture has become pervasive—yet this is the first book to directly address the needs of developers who create ARM-based systems.
The authors provide a comprehensive description of the ARM core's operation from a developer's perspective, with a clear emphasis on software. They demonstrate not only how to write efficient ARM software in C and assembly but also how to optimize code. Sample code throughout the book can be integrated into commercial products or used as templates to enable quick creation of productive software.
Morgan Kaufmann; www.mkp.com; 1-55860-874-5; 689 pp.; $69.95.
Multi-Tier Application Programming with PHP: Practical Guide for Architects and Programmers, David Wall. This book covers PHP version 5, focusing on its capabilities within a multi-tier application framework. The author provides numerous coding samples with commentaries, discusses object orientation in PHP as it applies to the multi-tier architecture, and describes HTTP and SOAP—the two communication protocols most useful in tying together multiple layers.
An application example runs throughout the book, demonstrating various PHP capabilities as well as database interaction. An accompanying Web site includes the source code for all examples.
Morgan Kaufmann; www.mkp.com; 0-12-732350-3; 278 pp.; $29.95.