April 1998 Dr. Dobb's Journal File: TERNARY.TXT Title: TERNARY SEARCH TREES Author: Jon Bentley and Robert Sedgewick Keywords: APR98 ALGORITHMS SEARCH TREES Description: Published source code accompanying the article by Jon Bentley and Robert Sedgewick in which they examine ternary search trees which combine the time efficiency of digital tries with the space efficiency of binary search trees. Also see TERNARY.ZIP. File: TERNARY.ZIP Title: TERNARY SEARCH TREES Author: Jon Bentley and Robert Sedgewick Keywords: APR98 ALGORITHMS SEARCH TREES Description: Unpublished source code accompanying the article by Jon Bentley and Robert Sedgewick in which they examine ternary search trees which combine the time efficiency of digital tries with the space efficiency of binary search trees. Requires UNZIP/PKUNZIP to extract. File: RECTANG.TXT Title: THE MAXIMAL RECTANGLE PROBLEM Author: David Vandevoorde Keywords: APR98 JAVA JVM PROFILER Description: Published source code accompanying the article by David Vandevoorde in which he presents an algorithm that illustrates a number of principles that are widely applicable in algorithm design. File: KANNEL.TXT Title: PROTOCOL ENGINEERING & KANNEL Author: Kari Grano, Jukka Paakki, Jukka Viljamaa, Antti Viljamaa Keywords: APR98 ALGORITHMS PROTOCOL COMMUNCATIONS OOP Description: Published source code accompanying the article by Kari Grano, Jukka Paakki, Jukka Viljamaa, Antti Viljamaa in which they discuss Kannel, an object-oriented programming language designed for protocol engineering. File: KANNEL1.ZIP Title: PROTOCOL ENGINEERING & KANNEL Author: Kari Grano, Jukka Paakki, Jukka Viljamaa, Antti Viljamaa Keywords: APR98 ALGORITHMS PROTOCOL COMMUNCATIONS OOP Description: Unpublished source code accompanying the article by Kari Grano, Jukka Paakki, Jukka Viljamaa, and Antti Viljamaa. This archive is a sample/test implementation of goback-n protocol. In addition to that specification, it includes processes for connection management and user I/O. Flow control is handled with the sliding window method. This package is self-contained and contains precompiled binaries (for Linux). If use the example package with KED, you'll find that it uses its own format (input file 'gbn.ked') which includes graphical information etc. KED generates from gbn.ked the Kannel source file gbn.k as well as the project file gbn.prj which is then fed to the Kannel compiler. Requires UNZIP/PKUNZIP to extract. Use the -d option to maintain directory structure. File: KANNEL2.ZIP Title: PROTOCOL ENGINEERING & KANNEL Author: Kari Grano, Jukka Paakki, Jukka Viljamaa, Antti Viljamaa Keywords: APR98 ALGORITHMS PROTOCOL COMMUNCATIONS OOP Description: Unpublished source code accompanying the article by Kari Grano, Jukka Paakki, Jukka Viljamaa, and Antti Viljamaa. This archive contains the process definitions. In this sense it is complete (KANNEL.TXT is a subset, although it lack the debug output messages found in KANNEL2.ZIP). In addition to processes, you need the message and queue handling classes defined in files: if_q.k, if_q_it.k, and messages.k, which are included in KANNEL1.ZIP. Requires UNZIP/PKUNZIP to extract. File: STLRB.TXT Title: STL'S RED-BLACK TREES Author: Jason Shankel Keywords: APR98 STL C++ TREES Description: Published source code accomanying the article by Jason Shankel in which he discusses the C++ Standard Template Library's (STL) red-black trees and the specifics of the implementations used by the Hewlett-Packard and Silicon Graphics versions of the STL. File: WINCE.TXT Title: WINDOWS CE WIN32 API PROGRAMMING Author: Bruce Radtke Keywords: APR98 WINDOWS CE Description: Published source code accompanying the article by Bruce Radtke in which he examines Windows CE and its development enviroment, focusing on the differences between Version 1.0 and 2.0. File: DIORQ.TXT Title: INTERRUPT BEHAVIOR IN WINDOWS NT Author: by Dale Roberts Keywords: APR98 WINDOWS NT REAL-TIME Description: Published source code accompanying the article by Dale Roberts in which he presents DIORQ, a program that analyzes NT's interrupt system, illuminating its problems, limitations, and potential. Also see DIORQ.ZIP. File: DIORQ.ZIP Title: INTERRUPT BEHAVIOR IN WINDOWS NT Author: by Dale Roberts Keywords: APR98 WINDOWS NT REAL-TIME Description: Unpublished source code and related files accompanying the article by Dale Roberts in which he presents DIORQ, a program that analyzes NT's interrupt system, illuminating its problems, limitations, and potential. Requires UNZIP/PKUNZIP to extract. File: NETREXX.TXT Title: USING NETREXX Author: Pamela J. Taylor Keywords: APR98 INTERNET JAVA REXX WORLD WIDE WEB Description: Published source code accompanying the article by Pamela J. Taylor in which she discusses NetRexx, a programming language designed to make programming the Java Virtual Machine easier than with Java. Although NetRexx syntax is derived from Rexx, NetRexx is strongly typed, making it first-rate for programming the JVM and allowing access primitive (binary) datatypes. File: SOJOURNR.TXT Title: DYNAMIC DISTRIBUTED SYSTEMS IN JAVA Author: Philip Rousselle Keywords: APR98 DISTRIBUTED COMPUTING JAVA Description: Published source code accompanying the article by Phil Rousselle in which he examines dynamic distributed Java programming techniques by presenting "Sojourner," a load- balancing system that uses Voyager distributed computing infrastructure from Objectspace. Also see SOJOURNR.ZIP. File: SOJOURNR.ZIP Title: DYNAMIC DISTRIBUTED SYSTEMS IN JAVA Author: Philip Rousselle Keywords: APR98 DISTRIBUTED COMPUTING JAVA Description: Unpublished source code accompanying the article by Phil Rousselle in which he examines dynamic distributed Java programming techniques by presenting "Sojourner," a load- balancing system that uses Voyager distributed computing infrastructure from Objectspace. Requires PKUNZIP/UNZIP to extract. File: CORBAJAV.TXT Title: BUILDING DISTRIBUTED APPLICATIONS WITH JAVA & CORBA Author: Bryan Morgan Keywords: APR98 JAVA CORBA DISTRIBUTED COMPUTING Description: Published source code accompanying the article by Bryan Morgan in which examines the concepts behind CORBA-based development, using Borland's JBuilder and Visigenic's VisiBroker for Java. Also see CORBAJAV.ZIP. File: CORBAJAV.ZIP Title: BUILDING DISTRIBUTED APPLICATIONS WITH JAVA & CORBA Author: Bryan Morgan Keywords: APR98 JAVA CORBA DISTRIBUTED COMPUTING Description: Unpublished source code accompanying the article by Bryan Morgan in which examines the concepts behind CORBA-based development, using Borland's JBuilder and Visigenic's VisiBroker for Java. Requires PKUNZIP/UNZIP to extract. File: PTL2.ZIP Title: C Programming Column Author: Al Stevens Keywords: APR98 C++ STL Description: Unpublished source-code examples accompanying the column by Al Stevens in which he presents Version 2.0 of his C++ Persistent Template Library, which adds persistence to containers. Requires UNZIP/PKUNZIP to extract. File: JQA498.TXT Title: JAVA Q&A Author: Cliff Berg Keywords: APR98 JAVA PALMPILOT BEANS Description: Published source code accompanying the article by Cliff Berg in which he answers the question "How do you interface Java to your PalmPilot?" Cliff shows how, using IBM's "PilotBean" Java interface. File: UD498.TXT Title: UNDOCUMENTED CORNER Author: George Shepherd and Scot Wingo Keywords: APR98 WINDOWS ATL MFC Description: Published source code accompanying the column by George Shepherd and Scot Wingo in which they continue their examination of the undocumented aspects of the Active Template Library, this month focusing on how ATL implements property pages for ActiveX Controls. File: AA498.TXT Title: ALGORITHM ALLEY Author: by Gary D. Knott Keywords: APR98 ALGORITHMS AUDIO Description: Published source code accompanying the article by Gary Knott in which he discusses delta modulation, a data- encoding technique that's particularly useful for transmitting fewer bits and archival storage. Gary examines the basic algorithm, then reviews variations that implement "adaptive delta modulation."