1998 24.11 2000

Vol.24 n°11 (#305) november 1999

(ddj_1999_11.jpg)

p.8 EDITORIAL

[author : Jonathan Erickson] #Edito

TABLE OF CONTENTS

FEATURES

p.21 A CONVERSATION WITH GLENN REEVES

[author : Jack J. Woehr]

Pathfinder was a decade-long program of robotic exploration of the planet Mars. Glenn Reeves, the mission's "Flight Software Cognizant Engineer," chats with Jack Woehr about Pathfinder and what's involved in writing software for extraterrestrial exploration.

p.32 LINUX, REAL-TIME LINUX, & IPC

[author : Frederick M. Proctor]

When dealing with real-time systems, IPC overhead becomes important. Fred examines two of the best IPC mechanisms available under Linux — FIFO and shared memory.

p.40 INSIDE WINDOWS NT SYSTEM DATA

[author : Sven B. Schreiber]

Sven untangles the mysterious Windows NT NtQuerySystemInformation function.

p.50 EXTENDING THE PALMOS

[author : Greg Winton]

Packaging code into shared libraries can enhance code reuse and reduce in-memory footprints. Greg takes a look at the Palm shared library model and presents a shared library you can use.

p.56 THE POWERTV OPERATING SYSTEM

[author : Morgan Woodson]

The PowerTV operating system is designed for set-top boxes and hybrid fiber/cable networks. Morgan provides an overview of the OS, then presents a weather/traffic camera viewer application.

p.62 THE BERAYS RAY TRACER

[author : Regan Russell]

Regan presents BeRays, an object-oriented ray-tracer application that makes it easy to plug in new rendering ideas.

p.66 DESIGNING THE LEGOS MULTITASKING OPERATING SYSTEM

[author : Markus L. Noga]

LegOS, the tiny, yet powerful operating system Markus built as an alternative to the RCX firmware, supports features such as preemptive multitasking, dynamic memory management, POSIX semaphores, infrared (IR) communication, and more.

EMBEDDED SYSTEMS

p.78 JBED: JAVA FOR REAL-TIME SYSTEMS

[author : Jörgen Tryggvesson, Torbjörn Mattsson, Hansruedi Heeb]

Jbed, a small, fast Java Virtual Machine for embedded real-time systems, includes a complete real-time operating system.

INTERNET PROGRAMMING

p.88 MACHINE LEARNING & AGENT-BASED COMPUTING

[author : Zhimin Ding and Li Liu]

Zhimin and Li examine the application of machine-learning technology to control software agents, and present MLEngine — a general-purpose AI engine with real-time learning capability.

PROGRAMMER'S TOOLCHEST

p.98 XML AND CORBA

[author : Dirk Hamstra]

The XML|IT toolkit from CareFlow lets you automatically tag results returned from calls to CORBA services, then format them using XML.

COLUMNS

p.103 PROGRAMMING PARADIGMS

[author : Michael Swaine]

According to Arthur C. Clarke, any sufficiently advanced technology looks like magic. Michael looks at some of the magical moments that are shaping the world.

p.107 C PROGRAMMING

[author : Al Stevens]

Al has a thing or two to say about book publishers and programming books, then he turns his attention to this month's project — TYFC, a framework to "Teach Yourself Framework Classes."

p.113 JAVA Q&A

[author : Krishnan Rangaraajan]

Does Java support Design by Contract? Not directly, but as Krishnan shows here, support is still possible.

p.119 ALGORITHM ALLEY

[author : Tim Kientzle]

Unsharp masking is a photographic technique that increases the sharpness of photographic images. Tim presents an algorithm that implements this concept.

p.123 DR. ECCO'S OMNIHEURIST CORNER

[author : Dennis E. Shasha]

One man's Calabaza is another man's pocket watch, as Ecco and Liane discover this month.

p.127 PROGRAMMER'S BOOKSHELF

[author : Gregory V. Wilson]

Greg examines Mr. Bunny's Big Cup o' Java, The Inmates are Running the Asylum, Ready-to-Run Java 3D, The Java 3D API Specification, Advanced CORBA Programming with C++, and Inside the JavaOS Operating System.

FORUM

p.10 LETTERS

[author : you]

p.18 NEWS & VIEWS

[author : Nick Baran]

p.132 OF INTEREST

[author : Nick Baran and Amy Lincicum]

p.144 SWAINE'S FLAMES

[author : Michael Swaine]