DDJ, March 1998
Benchmarking and Software Testing
Additional resources (listings and source code) for
the articles below can be found here.
Dr. Dobb's Journal's 1998 Excellence in Programming Awards
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.
Software Quality
Shari Lawrence Pfleeger
The metrics Shari describes here help you better understand code, control testing, and predict faults and failures.
Benchmarks: Fact, Fiction, or Fantasy?
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.
Tracing BSD System Calls
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.
A Real-Time Performance Visualizer for Java
John J. Barton
John Whaley
Find out where the performance bottlenecks in your Java programs are with the JVM performance visualizer presented here.
picoPERC: A Small-Footprint Dialect of Java
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.
VerCheck: Discovering Component Version Numbers
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.
Building Intelligent, Web-Based Control Systems
Tom Milligan
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.
Transparent ATL Controls
Mark Nelson
Tom Armstrong
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.
Source-Code Profilers for Win32
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.
Windows NT Device Driver Toolkits
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.
Programming Paradigms
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.
C Programming
Al Stevens
Al launches a new project this month -- the C++ Persistent Template Library, for adding persistence to containers.
Java Q&A
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.
Algorithm Alley
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.
Undocumented Corner
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.
Programmer's Bookshelf
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.
Editorial
Jonathan Erickson
Letters
News & Views
the DDJ staff
Of Interest
Eugene Eric Kim
Swaine's Flames
Michael Swaine