1992 18.11 1994

Vol.18 n°11 (#206) november 1993

(ddj_1993_11.jpg)

p.6 EDITORIAL

[author : Jonathan Erickson] #Edito

TABLE OF CONTENTS

FEATURES

p.18 PERFORMANCE TUNING: SLUGGING IT OUT!

[author : Michael R. Dunlavey]

When you think of performance tuning, what comes to mind? Handcoding in assembly language? Profiling? Fancy data structures? How about a process called "deslugging" for tracking down correct, but slow, code. In addition, Mike Armistead discusses profiler evolution.

p.28 HEAP CHECKING

[author : Steve Oualline]

Heap errors are among the most frustrating programming bugs you'll run up against. Steve presents libraries for intercepting heap-related calls and generating message logs.

p.34 FINDING RUN-TIME MEMORY ERRORS

[author : Taed Nelson]

Taed examines the problems arising from array-bounds violations—stack corruption, segmentation violations, and ultimately, programmer insanity. Although focusing on Purify 2.0, he also looks at Insight, Sentinel, MemCheck, and Bounds-Checker.

p.42 EAVESDROPPING ON INTERRUPTS

[author : Rick Knoblaugh]

Rick's interrupt-monitoring program traps and logs interrupt activity, enabling your debugger or other program to gain control when specified interrupts occur.

EMBEDDED SYSTEMS

p.46 PERFORMANCE VERIFICATION

[author : Roger Crooks]

Designers of high-performance embedded systems look for performance gains wherever they can be found. Roger examines why debugging RISC-based systems is complex, especially when caches are involved.

NETWORK COMPUTING

p.60 A NETWARE CHAT UTILITY

[author : Eduardo M. Serrat]

This utility lets you chat interactively with other users across Novell networks. You can call other users, accept or reject incoming calls, and even set up a conference chat via individual-user viewports.

EXAMINING ROOM

p.70 EXAMINING OPTLINK FOR WINDOWS

[author : Matt Pietrek]

Optlink for Windows, a high-performance replacement for Microsoft's LINK.EXE and Borland's TLINK.EXE, provides optimizations that increase execution speed while reducing application size.

PROGRAMMER'S WORKBENCH

p.78 DEBUGGING WINDOWS APPLICATIONS

[author : Ray Valdes]

Ray discusses the tools and techniques he uses when figuring out what went wrong with his Windows apps. Ivan Gerencir adds his multi-application message trace facility for Windows.

COLUMNS

p.107 PROGRAMMING PARADIGMS

[author : Michael Swaine]

Michael puts forth this examination of why the Forth language is still a good choice for many applications, and how Forth relates to cellular automata, genetic algorithms, artificial life, and the game of Life.

p.111 C PROGRAMMING

[author : Al Stevens]

Al unchains version 2.0 of is D-Flat++ library—a CUA-compliant library for DOS text mode implemented as a C++ class library. D-Flat++ applications run from a virtual desktop that contains a screen, a keyboard, a mouse, a clock, and a speaker, represented by classes in the library.

p.117 ALGORITHM ALLEY

[author : Tom Swan]

From the year 1661 to today, palindromes are tit-4-tat backwards and forwards. When examining Windows file structures recently, Tom discovered that palindromes are the bases of a data-encryption method.

p.123 UNDOCUMENTED CORNER

[author : Andrew Schulman]

This month, Pawel Szczerbina looks at undocumented aspects of Novell's NetWare Core Protocol (NCP). When examining the so-called "F2 interface," Pawel found hundreds of NCP functions, although Novell only documents the NCP Erase Files function.

p.135 PROGRAMMER'S BOOKSHELF

[author : Peter D. Varhol]

Fuzzy logic is something to think about, and Bart Kosko's new book Fuzzy Thinking is a good place to start mulling it over.

FORUM

p.10 LETTERS

[author : you]

p.152 SWAINE'S FLAMES

[author : Michael Swaine]

PROGRAMMER'S SERVICES

p.146 OF INTEREST