1996 22.09 1998

Vol.22 n°9 (#269) september 1997

(ddj_1997_09.jpg)

p.6 EDITORIAL

[author : Jonathan Erickson] #Edito

TABLE OF CONTENTS

FEATURES

p.18 EMACSPEAK

[author : T.V. Raman]

The Emacspeak speech feedback system is unique in that it enables the separation of the computational component of an application from its user interface.

p.24 CONVERTING MFC TOOLBARS INTO TASKBARS

[author : Mark Janczura]

One use for a Windows 95 taskbar is for displaying information to users. Mark shows you how to undock a taskbar from the shell, giving users the option of docking the taskbar to the application window.

p.30 CUSTOMIZING COMMON CONTROLS

[author : Jason Clark]

Common controls are standard Windows 95/NT GUI components that save you time and users trouble. As an example, Jason describes how you can customize a tree-view control.

p.38 A TEXT UI FOR THE JAVA AWT

[author : Stuart D. Gathman]

Stuart presents a text user-interface toolkit for the Java AWT that allows ASCII terminals to run Java applications on UNIX servers. In addition, the toolkit enables a multiuser Virtual Machine.

p.46 TAGGED DATA STORAGE

[author : Jeremy Vineyard]

Tagged data storage improves the efficiency and robustness of your data-storage architecture and decreases the time you spend writing code to store and restore data.

p.52 JAVA DEADLOCK

[author : Allan Vermeulen]

One of the primary motivations for using Java-and one of its biggest advantages to developers-is safety. Still, Java does nothing to protect you from deadlock-a nasty problem where a program simply stops executing because all threads are waiting for a resource that will never become available. Allan examines Java deadlock and shows how it can be prevented.

EMBEDDED SYSTEMS

p.58 FIREWIRE: THE IEEE 1394 SERIAL BUS

[author : Thomas Tewell]

FireWire, also known as IEEE 1394, may pave the way for a true convergence of consumer electronics and computers. Thomas presents a fully functional Win32 console application that takes a snapshot from the CCM-DS250 digital camera, converts it from a YUV format to a 24-bit device independent bitmap (DIB), and writes the DIB to a file.

INTERNET PROGRAMMING

p.68 SERVER-SIDE SCRIPTING IN VISUAL BASIC

[author : Al Williams]

Al shows how you can transform a boring web page into an interactive powerhouse using Visual Basic, IIS 3.0, VBScript, and server-side ActiveX components.

PROGRAMMER'S TOOLCHEST

p.74 STEREOSCOPIC IMAGING

[author : Andy Ramm]

Stereoscopic imaging gives you the ability to deliver a user interface that provides a natural 3-D view of an object or scene, dramatically increasing technical proficiency and the ability to interpret multidimensional data.

p.78 LEVERAGING ORACLE POWER OBJECTS 2.1

[author : Douglas C. McArthur]

Douglas describes how Oracle's visual development tool Power Objects 2.1 was used to develop MDLSCREEN, an Oracle-based client/server data-management system for automated drug discovery and high-throughput screening.

COLUMNS

p.93 PROGRAMMING PARADIGMS

[author : Michael Swaine]

Will Apple's bridge to the future be a bridge over troubled waters? Based on the goings-on at this year's World Wide Developer's Conference, Michael looks at what the future might hold for Apple.

p.99 C PROGRAMMING

[author : Al Stevens]

Al's scratching his head over what's going on with the proposed C++ standardization.

p.103 JAVA Q&A

[author : Clif Berg]

JavaBeans, Sun's answer to component software, are reusable components that can be visually manipulated. Cliff shows you how to build a Bean.

p.107 ALGORITHM ALLEY

[author : Bob Jenkins]

What makes one hash function better than another? Bob knows the answer, and he has used his knowledge to design a new hash function that may be better than what you're using now.

p.111 UNDOCUMENTED CORNER

[author : Robert R. Collins]

Robert continues his discussion of in-circuit emulators. This month he describes how microprocessor design has evolved with in-circuit emulation in mind, and the changes that occurred within the microprocessor itself in the process.

p.117 PROGRAMMER'S BOOKSHELF

[author : Gregory V. Wilson]

Gregory examines a bevy of books: Understanding ActiveX and OLE, Garbage Collection: Algorithms for Automatic Dynamic Memory Management, Modern Compiler Implementation in Java, Growing Artificial Societies, and Java Design: Building Better Apps and Applets.

Forum

p.10 LETTERS

[author : you]

p.16 NEWS & VIEWS

[author : the DDJ staff]

p.121 OF INTEREST

[author : Eugene Eric Kim]

p.128 SWAINE'S FLAMES

[author : Michael Swaine]