DDJ February 1996 - DATA COMMUNICATIONS

FEATURES

PROPOSING A STANDARD WEB API

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

IMPROVING KERMIT PERFORMANCE

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

CGI AND THE WORLD WIDE WEB

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

USING SERVER-SIDE INCLUDES

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

JAVA COMMAND-LINE ARGUMENTS

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

IMPLEMENTING MULTILEVEL UNDO/REDO

by 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

NETWORKING INTELLIGENT DEVICES

by 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

FAST NETWORKING WITH WINSOCK 2.0

by 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

EXAMINING ROGUEWAVE'S TOOLS.H++

by 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

LEX AND YACC

by 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

PROGRAMMING PARADIGMS

by Michael Swaine

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

C PROGRAMMING

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

ALGORITHM ALLEY

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

PROGRAMMER'S BOOKSHELF

by Dean Gahlon

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

FORUM

EDITORIAL

by Jonathan Erickson

LETTERS

by you

SWAINE'S FLAMES

by Michael Swaine

PROGRAMMER'S SERVICES

OF INTEREST

by Monica E. Berg