1996 22.04 1998

Vol.22 n°4 (#264) april 1997

(ddj_1997_04.jpg)

p.6 EDITORIAL

[author : Jonathan Erickson] #Edito

TABLE OF CONTENTS

FEATURES

p.18 DIFFERENTIAL EVOLUTION

[author : Kenneth Price and Rainer Storn]

Since their inception nearly 30 years ago, genetic algorithms have evolved like the species they try to mimic. Here, our authors describe how one form of genetic algorithms — Evolution Strategies — are significantly faster at numerical optimization than traditional genetic algorithms.

p.26 ELLIPTIC CURVES AND CRYPTOGRAPHY

[author : Aleksandar Jurisic and Alfred J. Menezes]

Originally pursued for purely aesthetic reasons, elliptic curves have recently been utilized in devising algorithms for factoring integers, primality proving, and public-key cryptography.

p.38 A RAPID ENTROPY-CODING ALGORITHM

[author : Wm. Douglas Withers]

Entropy coding is an abstract problem weakly related to the type of data being compressed, while modeling of data compression depends intimately on the type of data being compressed. The entropy algorithm presented here allows rapid encoding and decoding.

p.46 A 2-D DDA ALGORITHM FOR FAST IMAGE SCALING

[author : Dean Clark]

Graphic images are almost never exactly the right size — they're either too small or too big. The algorithm Dean presents here is based on the Digital Differential Analyzer (DDA) technique but works on 2-D images rather then 1-D lines.

p.50 JAVA BEANS AND THE NEW EVENT MODEL

[author : Eric Giguère]

Java Beans is a component model for building and using Java-based components. Eric examines the Java Beans specification and describes the event model that lets you glue components together.

EMBEDDED SYSTEMS

p.54 GRAPHICAL EMBEDDED REAL-TIME SYSTEMS

[author : Harry Beker]

Harry describes how he uses VME-based distributed embedded microprocessors to read data from transparently interfaced instrumentation buses when developing data-acquisition systems for high-energy physics experiments.

NETWORKED SYSTEMS

p.66 SOFTWARE SECURITY AND THE DIRECTPLAY API

[author : Andrew Wilson]

There have been many approaches to stopping software piracy, ranging from key disks to parallel port locks. Andrew's novel approach, however, uses the Windows 95 DirectX game SDK to implement network-based security measures.

p.70 QUICKTIME AND CROSS-PLATFORM MULTIMEDIA

[author : Mark Carolan]

Mark uses MetroWerks CodeWarrior Gold 10 development system to build a cross-platform reusable framework for preparing and presenting high-performance multimedia based on Apple's QuickTime multimedia engine.

p.74 PIPES, CHANNELS, AND PERL-WIN32

[author : Jean-Louis Leroy]

Perl-Win32, HIP Communications' Win32 port of the Perl language, provides just the tool Jean-Louis needs to write a multifile search-and-replace extension.

COLUMNS

p.87 PROGRAMMING PARADIGMS

[author : Michael Swaine]

Some of the recent decisions made at the top levels at Apple have been charged with high drama and empire-shaking significance. Michael takes a second look at some of these events, and speculates about what they really mean.

p.92 C PROGRAMMING

[author : Al Stevens]

Al uses JavaScript and C to build an order-entry system for his web page.

p.98 JAVA Q&A

[author : Cliff Berg]

Persistence may well be the most important capability of a computing environment, and Cliff shows how you can take advantage of built-in support for object persistence in the Java Developer's Kit 1.1.

p.103 ALGORITHM ALLEY

[author : Tim Kientzle]

From XModem to TCP, most communications protocols use some form of error-detecting signature. Tim takes a look at one of the most popular schemes — cyclic redundancy checks (CRCs).

p.109 UNDOCUMENTED CORNER

[author : George Shepherd and Scot Wingo]

This month, George and Scot take a look at how two Component Object Model (COM) objects can set up a communication scheme whereby an object calls back to a client. They first examine how Connections work, then look at how MFC implements them.

p.116 PROGRAMMER'S BOOKSHELF

[author : Eugene Eric Kim]

Eugene visits a pair of books that examine the history of computers — Martin Campbell-Kelly and William Aspray's Computer: A History of the Information Machine, and Paul Freiberger and Michael Swaine's Fire in the Valley.

FORUM

p.10 LETTERS

[author : you]

p.16 NEWS & VIEWS

[author : the DDJ staff]

p.119 OF INTEREST

[author : Eugene Eric Kim]

p.128 SWAINE'S FLAMES

[author : Michael Swaine]