1994 20.11 1996

Vol.20 n°11 (#236) november 1995

(ddj_1995_11.jpg)

p.6 EDITORIAL

[author : Jonathan Erickson] #Edito

TABLE OF CONTENTS

FEATURES

p.18 NETWORKING OBJECTS WITH CORBA

[author : Mark Betz]

Mark presents a CORBA-based architecture that demonstrates the power of distributed objects. His project also sheds light on the Internet technologies over which distributed-object computing can work.

p.30 YOUR OWN ENDIAN ENGINE

[author : John Rogers]

Big-endian, Little-endian, or anything in between—you won't have to worry about byte order with the "endian engine" presented here. In fact, John has used this engine to simulate a 36-bit machine with 9-bit bytes on a 32-bit machine with 8-bit bytes.

p.38 THE ORACLE CALL INTERFACE AND C++

[author : Jeremy Woo-Sam and Tony Murphy]

Our authors present a C++ class library that provides database connectivity and query access to an Oracle RDBMS. In doing so, they implement C++ classes that support the concept of array fetching within the interface classes.

p.46 PROGRAMMING TI's MULTIMEDIA VIDEO PROCESSOR

[author : William May]

The 320C80 multimedia video processor from Texas Instruments may be your key to writing software for real-time video. Bill examines the DSP's architecture and shows you how to write client/server apps for it.

p.54 INDEXED TEXT RETRIEVAL

[author : Robert Krten]

Robert presents a text-retrieval system that's fast and flexible. His design and implementation can easily be adapted to other types of text databases and formats.

p.64 PORTING VxDs FROM WINDOWS 3.1 TO WINDOWS 95

[author : Don Matthews]

Don't throw away your Windows 3.1 VxDs just because Windows 95 is available. Don presents a VxD that works with both Windows 3.1 and Windows 95, then describes the different techniques for calling its services.

EMBEDDED SYSTEMS

p.70 PORTABLE MULTITASKING IN C++

[author : Stig Kofoed]

Stig presents a portable kernel, written in C++, that implements non-preemptive multitasking using setjmp() and longjmp(), and provides semaphores as a means of synchronizing processes.

NETWORKED SYSTEMS

p.80 USING MAPI FOR INTERAPPLICATION COMMUNICATION

[author : William Stamatakis]

Bill shows how programs written in Visual Basic and Delphi can communicate via the MAPI interface.

EXAMINING ROOM

p.88 WRITING ODBC DRIVERS

[author : Dennis R. McCarthy]

Developing an ODBC driver can be an expensive proposition. That's why Dennis turned to Syware's Dr. DeeBee ODBC Driver Kit to get a driver up and running in a timely fashion.

PROGRAMMER'S WORKBENCH

p.92 DATA MODELS, CASE TOOLS, AND CLIENT/SERVER DEVELOPMENT

[author : Tim Wittenburg]

Tim presents a tool called "DBA Assistant" that's designed to smooth the transition between the project phases. DBA Assistant, which is written in Microsoft Access Basic, provides a two-way link between the System Architect CASE tool and an Access database.

COLUMNS

p.121 PROGRAMMING PARADIGMS

[author : Michael Swaine]

Michael reports on this year's MacWorld Expo in Boston, which he attended, and the Second Annual Robot Wars in San Francisco (which he didn't).

p.125 C PROGRAMMING

[author : Al Stevens]

Raycast, a ray-casting engine written entirely in C++, is the project that Al offers up this month.

p.133 ALGORITHM ALLEY

[author : Bruce Schneier]

Mani Iyer proposes an algorithm for permutation generation using matrices.

p.145 PROGRAMMER'S BOOKSHELF

[author : Michael Swaine]

Books by and about Richard Feynman are the focus of this month's "Programmer's Bookshelf."

FORUM

p.10 LETTERS

[author : you]

p.152 SWAINE'S FLAMES

[author : Michael Swaine]

PROGRAMMER'S SERVICES

p.150 OF INTEREST

[author : Monica E. Berg]