DDJ, April 2001 -- Algorithms

FEATURES

JDSL: THE DATA STRUCTURES LIBRARY IN JAVA

by 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.

SEARCHING WITH QUANTUM COMPUTERS

by 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.

THE JPEG 2000 IMAGE CODING STANDARD

by 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.

PREDICTING COMMUNICATIONS BOTTLENECKS

by Stathis Papaefstathiou

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

THE SPATIAL AGGREGATION LANGUAGE

by 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.

BEING PREPARED FOR INTRUSION

by 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.

VOICEXML AND THE VOICE-DRIVEN INTERNET

by 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

USING WINDOWS NT EMBEDDED 4.0

by 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

WEB SITE SEARCHING & INDEXING IN PERL

by 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

SCRAM: SOFTWARE CONFIGURATION, RELEASE, AND MANAGEMENT

by 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.

SOFTWARE CAREERS

HOT JOBS FOR IT PROFESSIONALS IN 2001

by Katherine Spencer Lee

SURVEYING COMPUTER PROGRAMMERS

by Ana Zanger

THE ACM CAREER RESOURCE CENTER

by Lillian Israel

THE RISING COSTS OF SOFTWARE COMPLEXITY

by Shannon Cochran

COLUMNS

PROGRAMMING PARADIGMS

by Michael Swaine

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

C PROGRAMMING

by Al Stevens

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

EMBEDDED SPACE

by Ed Nisley

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

JAVA Q&A

by 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.

ALGORITHM ALLEY

by 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.

DR. ECCO'S OMNIHEURIST CORNER

by Dennis E. Shasha

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

PROGRAMMER'S BOOKSHELF

by Lou Grinzo

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

FORUM

EDITORIAL

by Jonathan Erickson

LETTERS

by you

NEWS & VIEWS

by Nicholas Baran

OF INTEREST

by Shannon Cochran

SWAINE'S FLAMES

by Michael Swaine