DDJ April 1996 - ALGORITHMS


FEATURES

AN INTERVIEW WITH DONALD KNUTH

by Jack Woehr

Don Knuth, one of the world's preeminent computer scientists, takes time out to chat with us about topics ranging from algorithms to the status of volume four of his The Art of Computer Programming.

HASHING REHASHED

by Andrew Binstock

Even tried and tested algorithms can be more efficient. Andrew presents one optimization, then examines the effect of high-performance hardware on hashing.

A CUBIC SPLINE EXTREMA ALGORITHM

by Mike J. Courtney

Finding the maxima and minima of a function can be tricky, especially when all you have to work with are a few points. Mike shows how cubic splines can fill in the gaps.

CALLING 16-BIT DLLs FROM WINDOWS 95

by Steve Sipe

Porting 16-bit Windows 3.x applications to 32-bit Windows 95 can be difficult, especially if the 16-bit apps depend on third-party DLLs. Steve presents a technique that lets you incorporate 16-bit DLLs into 32-bit applications.

TUNING JAVA PERFORMANCE

by Paul Tyma

Given that Java is architecture neutral and interpreted, writing code that performs well isn't necessarily a slam dunk. Paul examines how compiled Java runs, then presents techniques for speeding things up.

EMBEDDED SYSTEMS

USING THE PARALLEL ADAPTER AS A HOST INTERFACE PORT

by Dhananjay V. Gadre

Dhananjay uses the PC's parallel-printer port as a link to the CCD camera controller for data acquisition in astronomy-related applications. While his technique is based on DSP, the design can accommodate any microprocessor or controller.

NETWORKED SYSTEMS

THE HARVEST OBJECT CACHE

by Peter B. Danzig

The Harvest cache is a hierarchical object cache designed to make Internet information systems scale better. As an httpd accelerator, the cache works in conjunction with existing Web server software to increase throughput.

EXAMINING ROOM

SPEEDING UP C-TREE PLUS DATABASE SEARCHES

by John Mudd

The algorithm John presents here enhances searches using FairCom's c-tree Plus cross-platform C function library for database I/O.

PROGRAMMER'S WORKBENCH

HTML CONVERSION AND FTP AUTOMATION

by Lauren Hightower

Lauren's HTML Automator program--built using IST's OpenExchange file conversion DLL, Distinct's TCP/IP Winsock library and SDK, and Borland's Delphi development environment--automates the process of converting data to HTML format and posting pages to a Web server.

COLUMNS

PROGRAMMING PARADIGMS

by Michael Swaine

Reading Andrew Davison's Humor the Computer sends Michael down the road of Paradigms Past.

C PROGRAMMING

by Al Stevens

After mulling over the two modes for fopen that Standard C supports, Al continues building Quincy 96, adding an expression parser to the debugger and the ability for external programs to send commands.

ALGORITHM ALLEY

by Peter Heinrich

When developing high-performance code, complex mathematical calculation is not always practical. The algorithm Peter presents here computes an integer square root suitable for just such situations.

UNDOCUMENTED CORNER

by Scot Wingo and George Shepherd

Scot and George kick off an examination of undocumented MFC, this month focusing on its document/view architecture. In particular, they examine the MFC CMirrorFile, CPreviewView, and CPreviewDC classes.

PROGRAMMER'S BOOKSHELF

by John H. McCoy

Hooked On Java, by Java development-team members Arthur van Hoff, Sami Shaio, and Orca Starbuck, is a book/CD combination that can get you up and running with Java programming.

FORUM

EDITORIAL

by Jonathan Erickson

LETTERS

by you

SWAINE'S FLAMES

by Michael Swaine

PROGRAMMER'S SERVICES

OF INTEREST

by Monica E. Berg