1995 21.02 1997

Vol.21 n°2 (#244) february 1996

(ddj_1996_02.jpg)

p.6 EDITORIAL

[author : Jonathan Erickson] #Edito

TABLE OF CONTENTS

FEATURES

p.18 PROPOSING A STANDARD WEB API

[author : Michael Doyle, Cheong Ang, and David Martin]

At last count, there were nearly a dozen APIs vying for hearts and home pages of Web developers. Our authors propose a standard API that leverages the concept of embedded executable content for interactive application development and delivery.

p.28 IMPROVING KERMIT PERFORMANCE

[author : Tim Kientzle]

Tim compares the error-handling strategies of a variety of popular protocols, then presents heuristics that improve the performance of Kermit's windowing strategy.

p.42 CGI AND THE WORLD WIDE WEB

[author : G. Dinesh Dutt]

The Common Gateway Interface (CGI) makes it possible for Web servers to interact with external programs. Dinesh presents a program that reports gateway-execution errors.

p.52 USING SERVER-SIDE INCLUDES

[author : Matt Kruse]

Server-side includes are commands embedded inside HTML documents that enable your page to do something different each time it is loaded. Matt describes the format of these commands and shows how to write programs that work with your Web pages.

p.58 JAVA COMMAND-LINE ARGUMENTS

[author : Greg White]

Greg introduces a package of Java classes that parse the command-line parameters for HtmlXlate, an application that converts HTML to RTF. Because HtmlXlate doesn't require display graphics, Greg made it an "application" instead of an "applet."

p.64 IMPLEMENTING MULTILEVEL UNDO/REDO

[author : Jim Beveridge]

The Undo/Redo mechanism Jim presents here is based on a history length limited only by available memory. Because it is implemented in Visual C++ and MFC, this mechanism can easily be added to your applications.

EMBEDDED SYSTEMS

p.68 NETWORKING INTELLIGENT DEVICES

[author : Gil Gameiro]

Novell's Embedded Systems Technology (NEST) lets you incorporate network protocols and client services into embedded systems. Gil uses NEST to put an intelligent coffee maker online, then controls it with a Windows-hosted menu program.

NETWORKED SYSTEMS

p.76 FAST NETWORKING WITH WINSOCK 2.0

[author : Derek Brown and Martin Hall]

Derek and Martin show how you can get maximum performance from WinSock 2.0 applications by taking advantage of two features new to the spec—event objects and overlapped I/O.

EXAMINING ROOM

p.80 EXAMINING ROGUEWAVE'S TOOLS.H++

[author : P.W. Scherer]

RogueWave's Tools.h++, a C++ library consisting of more than 100 classes, has been the cornerstone of Perry's development efforts ever since he ported over 30,000 lines of C++ code to an equivalent app that was only 6000 lines long.

PROGRAMMER'S WORKBENCH

p.86 LEX AND YACC

[author : Ian E. Gorman]

Ian describes how he used traditional compiler-development techniques and the MKS Lex & Yacc Toolkit to build a keyword-query compiler for a CD-ROM database.

COLUMNS

p.117 PROGRAMMING PARADIGMS

[author : Michael Swaine]

Before continuing his examination of little languages for the Macintosh, Michael looks at a number of books devoted to HTML coding.

p.121 C PROGRAMMING

[author : Al Stevens]

Al launches "Quincy 96," a C/C++ interpreter that runs under Windows 95 and is based on GNU C and C++. Among other features, Quincy 96 manages two kinds of documents—project documents and text source-code documents.

p.135 ALGORITHM ALLEY

[author : Bruce Schneier]

Binary searches are algorithmic staples that can be used in just about any program. Micha Hofri sees how efficient he can make a basic binary-search algorithm.

p.139 PROGRAMMER'S BOOKSHELF

[author : Dean Gahlon]

Dean compares Practical Algorithms for C Programmers, by Andrew Binstock and John Rex, and Practical Algorithms in C++, by Bryan Flamig.

FORUM

p.10 LETTERS

[author : you]

p.144 SWAINE'S FLAMES

[author : Michael Swaine]

PROGRAMMER'S SERVICES

p.142 OF INTEREST

[author : Monica E. Berg]