2000 26.04 2002

Vol.26 n°4 (#323) april 2001

(ddj_2001_04.jpg)

p.8 EDITORIAL

[author : Jonathan Erickson] #Edito

TABLE OF CONTENTS

FEATURES

p.21 JDSL: THE DATA STRUCTURES LIBRARY IN JAVA

[author : Roberto Tamassia, Michael T. Goodrich, Luca Vismara, Mark Handy, Galina Shubina, Robert Cohen, Benoît Hudson, Ryan S. Baker, Natasha Gelfand, and Ulrik Brandes]

The Data Structures Library in Java (JDSL) is a collection of Java interfaces and classes implementing fundamental data structures and algorithms.

p.34 SEARCHING WITH QUANTUM COMPUTERS

[author : Lov K. Grover]

Quantum computers can be in multiple states and carry out multiple computations at the same time and the quantum search algorithm Lov presents here takes advantage of that characteristic.

p.46 THE JPEG 2000 IMAGE CODING STANDARD

[author : Diego Santa Cruz, Touradj Ebrahimi, and Charilaos Christopoulos]

The JPEG 2000 is a new image coding standard that specifies only the decoding algorithm and the compressed data format — the encoder algorithm is deliberately left up to you.

p.58 PREDICTING COMMUNICATIONS BOTTLENECKS

[author : Stathis Papaefstathiou]

Stathis presents a model evaluation algorithm for calculating communication delays that occur during the execution of applications on any packet-switching network.

p.68 THE SPATIAL AGGREGATION LANGUAGE

[author : Feng Zhao, Christopher Bailey-Kellogg, Ivan Ordonez]

The Spatial Aggregation Language (SAL) is a C++ library for supporting rapid prototyping of data analysis and control applications for distributed physical systems.

p.78 BEING PREPARED FOR INTRUSION

[author : Dan Farmer and Wietse Venema]

As every good programmer knows, software will eventually fail — no matter how well it is written. The same applies to systems, networks, and security mechanisms; and a system that is prepared for failure has safety nets in various places.

p.88 VOICEXML AND THE VOICE-DRIVEN INTERNET

[author : David Houlding]

David examines the concept of voice portals, and shows how simple design patterns — together with XML and XSL — can be used to deliver Internet content to web browsers and wireless devices.

EMBEDDED SYSTEMS

p.98 USING WINDOWS NT EMBEDDED 4.0

[author : James Metzger]

James examines the Windows NT Embedded 4.0 toolkit and shows how he used it to develop a black-box project.

INTERNET PROGRAMMING

p.106 WEB SITE SEARCHING & INDEXING IN PERL

[author : Neil Gunton]

Mysearchbot, the tool Neil provides here, is a script that crawls any web site you specify, and indexes all the pages it finds into a MySQL database. This database can then be searched from a web browser HTML form in much the same manner as the major search engines.

PROGRAMMER'S TOOLCHEST

p.114 SCRAM: SOFTWARE CONFIGURATION, RELEASE, AND MANAGEMENT

[author : Chris Williams]

SCRAM, short for "Software Configuration, Release and Management," provides configuration management, distribution, and build services to ensure consistent and easy-to-use development environments in multiplatform environments.

COLUMNS

p.125 PROGRAMMING PARADIGMS

[author : Michael Swaine]

Everyone has a secret, but "Who can you believe?" asks our resident cynic.

p.129 C PROGRAMMING

[author : Al Stevens]

Al has Linux on the mind as he continues to make the move from one operating system to another.

p.135 EMBEDDED SPACE

[author : Ed Nisley]

Embedded systems straddle the fence between engineering approximations and exact counts. "And the problem is what?" asked Florida vote counters.

p.139 JAVA Q&A

[author : David Wincelberg]

How do you use the javax.crypto package? David shows you, as he adds security to Java-based e-commerce systems by encrypting/decrypting users' credit-card numbers.

p.145 ALGORITHM ALLEY

[author : Jon Bentley]

Suffix trees are simple, yet powerful, data structures: Fill an array with pointers to every position in a string, sort the array, then quickly search the string for long phrases.

p.148 DR. ECCO'S OMNIHEURIST CORNER

[author : Dennis E. Shasha]

You say "ping pong," Ecco says "table tennis," as he and Liane coach the coaches to build the best team possible.

p.151 PROGRAMMER'S BOOKSHELF

[author : Lou Grinzo]

This month, Lou takes a look at Professional Linux Programming, by Neil Matthew, Richard Stones, and others.

FORUM

p.10 LETTERS

[author : you]

p.18 NEWS & VIEWS

[author : Nicholas Baran]

p.158 OF INTEREST

[author : Shannon Cochran]

p.160 SWAINE'S FLAMES

[author : Michael Swaine]