1997 23.03 1999

Vol.23 n°3 (#283) march 1998

(ddj_1998_03.jpg)

p.6 EDITORIAL

[author : Jonathan Erickson] #Edito

TABLE OF CONTENTS

FEATURES

p.20 DR. DOBB'S JOURNAL EXCELLENCE IN PROGRAMMING AWARDS

[author : Jonathan Erickson]

The "Gang of Four" — Richard Helm, Erich Gamma, Ralph Johnson, and John Vlissides — are recipients of this year's annual award that honors achievement in the world of software development.

p.22 SOFTWARE QUALITY

[author : Shari Lawrence Pfleeger]

The metrics Shari describes here help you better understand code, control testing, and predict faults and failures.

p.30 BENCHMARKS: FACT, FICTION, OR FANTASY?

[author : Robert R. Collins]

Can you really trust published benchmarks? By making a 166-MHz Pentium computer seem to outperform a 300-MHz Pentium II system, Robert shows why healthy skepticism is a useful trait. Brian Butler then presents a sample database benchmark.

p.38 TRACING BSD SYSTEM CALLS

[author : Sean Eric Fagan]

How do you debug a program that doesn't have source or debugging symbols? One way is to watch the system calls it makes. Sean's "truss" utility lets you do exactly this.

p.44 A REAL-TIME PERFORMANCE VISUALIZER FOR JAVA

[author : John J. Barton and John Whaley]

Find out where the performance bottlenecks in your Java programs are with the JVM performance visualizer presented here.

p.50 picoPERC: A SMALL-FOOTPRINT DIALECT OF JAVA

[author : Kelvin Nilsen]

picoPERC is a Java subset in which the core Virtual Machine implementation fits in less than 64 KB of memory. This 64-KB footprint is nearly 1/16th the size of JavaSoft's yet-to-be-defined Embedded Java and over 50 times smaller than typical Enterprise Java implementations.

p.99 VerCheck: Discovering Component Version Numbers

[author : John Graham-Cumming]

VerCheck, the utility John presents here, gives you a list of the versions of all the components of relevance to your program.

EMBEDDED SYSTEMS

p.56 BUILDING INTELLIGENT WEB-BASED CONTROL SYSTEMS

[author : Tom Milligan and Steve Coffin]

Our authors shows how to embed web servers onto embedded devices and develop web-based user interfaces. To illustrate, they automate a sprinkler system using the Embedded Micro Interface Technology toolkit.

INTERNET PROGRAMMING

p.72 TRANSPARENT ATL CONTROLS

[author : Tom Armstrong and Mark Nelson]

Tom and Mark use Microsoft's Active Template Library to build an ActiveX control that displays a bitmap with a single transparent color. You can then use the control with Internet Explorer, Netscape Navigator, Visual Basic, and most other ActiveX containers.

PROGRAMMER'S TOOLCHEST

p.78 SOURCE-CODE PROFILERS FOR WIN32

[author : Ron van der Wal]

Ron examines profiling tools that target Win32 C/C++ development. These tools include Intel's VTune, Microsoft's Visual C++ 5.0 profiling tools, Rational's Visual Quantify, TracePoint's HiProf, Watcom's C++ 11.0 tools, and those that come with the Win32 SDK.

p.92 WINDOWS NT DEVICE DRIVER TOOLKITS

[author : Patrick Tennberg]

Writing device drivers in C using the Windows NT Device Driver Kit can be scary. Patrick examines alternative toolkits, such as BlueWater Systems' WinDK and Vireo Software's Driver::Works.

COLUMNS

p.109 PROGRAMMING PARADIGMS

[author : Michael Swaine]

Michael doesn't do benchmarks. Well, he does, but he doesn't like to. What he really likes to do is read Dilbert — and he takes issue with those who don't.

p.117 C PROGRAMMING

[author : Al Stevens]

Al launches a new project this month — the C++ Persistent Template Library, for adding persistence to containers.

p.123 JAVA Q&A

[author : Govind Seshadri]

Java's Remote Method Invocation brings distributed-object computing to Java. Govind examines the intricacies of enabling true peer-to-peer Java RMI interaction. He then presents a step-by-step approach to implementing callbacks. Cliff Berg will return next month.

p.127 ALGORITHM ALLEY

[author : William Stallings]

Many programs need to predict the behavior of external systems. William shows how exponential smoothing fills the bill for a variety of applications.

p.133 UNDOCUMENTED CORNER

[author : Robert L. Collins]

Robert continues his discussion of the Pentium's Virtual Mode Extensions, starting with a description of the various components of VME and how they work together.

p.141 PROGRAMMER'S BOOKSHELF

[author : Jeff Cromwell]

If you need to learn more about ISAPI, the books Jeff examines here may be just the place to start. These books include Using ISAPI, by Stephen Genusa et al.; Professional Visual C++ ISAPI Programming, by Michael Tracy; and Programming ISAPI with Visual Basic 5, by Wayne S. Freeze and Tim Ritchie.

FORUM

p.8 LETTERS

[author : you]

p.18 NEWS & VIEWS

[author : the DDJ staff]

p.145 OF INTEREST

[author : Eugene Eric Kim]

p.152 SWAINE'S FLAMES

[author : Michael Swaine]