DDJ, September 2000 -- Scientific and Numeric Computing


FEATURES

A CONVERSATION WITH DOUG ENGELBART

by Eugene Eric Kim

Doug Engelbart has dedicated his career to designing systems that help the world solve difficult problems. Along the way, he invented the mouse, hypertext systems, collaborative video teleconferencing, and more. Eugene talks with Engelbart about his career, inventions, and vision.

THE GENERIC GRAPH COMPONENT LIBRARY

by Jeremy G. Siek, Lie-Quan Lee, and Andrew Lumsdaine

As good as it is, the C++ Standard Template Library doesn't address every problem domain. Consequently, our authors implemented the Generic Graph Component Library (GGCL) for use with sparse matrix ordering algorithms for scientific computing.

ANALYTICAL COMPUTING

by Laurent Bernardin

The convergence of numeric and symbolic computation systems are making it possible to enjoy the speed of numeric computation and the flexibility and accuracy of symbolic computing.

GRAPHING CALCULATORS MEET PCs

by David S. Birkett

Maxwell, the program David presents here, lets you logically and accurately chart numerical solutions to difficult problems. And it is written in a visual object-oriented programming language called "HP Vee," developed by Hewlett-Packard.

SIMULATING KONRAD ZUSE'S COMPUTERS

by Raul Rojas

Raul presents a working simulation (written in Java) of Konrad Zuse's Z3 computer, originally created in 1938. The real Z3 consisted purely of electromechanical relays, but was ready and operational in 1941 -- four years before the ENIAC.

FORENSIC COMPUTER ANALYSIS: AN INTRODUCTION

by Dan Farmer and Wietse Venema

Solving computer mysteries require skills detectives and programmers have in common -- logical thinking, understanding cause and effect, and possessing an open mind.

WRITING WINDOWS CE DISPLAY DRIVERS

by Jeff Spurgat

Jeff examines the fundamentals of Windows CE display-driver development, including Microsoft's display-driver C++ classes, then explores improvements to simplify display-driver development.

EMBEDDED SYSTEMS

MICROCONTROLLERS AND CORDIC METHODS

by Michael Pashea

CORDIC algorithms are efficient in terms of both computation time and hardware resources -- and in most microcontroller systems, these resources are normally a premium.

INTERNET PROGRAMMING

INTEGRATING WEB PAGES WITH DATABASES

by David Cox

E-commerce is mostly about using and interacting with databases. David presents some unique approaches in integrating a database with web sites.

PROGRAMMER'S TOOLCHEST

ELECTRONIC SOFTWARE DISTRIBUTION

by Jeremy Soref and Sheridan Adjei

Electronic software distribution via the Internet is an attractive alternative to conventional delivery on CD-ROMs and diskettes -- assuming you've addressed licensing issues. Luckily, electronic license distribution tools offer a range of benefits to software vendors and end users alike.

COLUMNS

PROGRAMMING PARADIGMS

by Michael Swaine

Isn't profiting from someone else's failure what bidness is all about? Michael traces how a series of failures led to what may be one of the most controversial software patents around.

C PROGRAMMING

by Al Stevens

It was only a matter of time before "Me, Myself, and Al" surfaced, as our intrepid programmer meets our intrepid musician.

JAVA Q&A

by Joshua Fox

So what is SO_KEEPALIVE? It's a socket option that's responsible for killing the socket when the remote side is not available. Joshua presents Keep-Alive strategies and implementations for Java.

ALGORITHM ALLEY

by Ron Gutman

Ron presents techniques for exploiting the parallelism of bitwise operations to speed up some kinds of 64-bit computing tasks.

DR. ECCO'S OMNIHEURIST CORNER

by Dennis E. Shasha

Ecco and Liane go ape over chimps in this month's installment.

PROGRAMMER'S BOOKSHELF

by Doug Reilly

Doug examines a pair of data-centric books: Guru's Guide to Transact-SQL, by Ken Henderson; and Mastering Data Mining, by Michael J.A. Berry and Gordon S. Linoff.

FORUM

EDITORIAL

by Jonathan Erickson

LETTERS

by you

NEWS & VIEWS

by Nicholas Baran

OF INTEREST

by Shannon Cochran

SWAINE'S FLAMES

by Michael Swaine