%%% -*-BibTeX-*-
%%% ====================================================================
%%% Bibtex-file{
%%% author = "Nelson H. F. Beebe",
%%% version = "3.19",
%%% date = "23 March 2007",
%%% time = "08:51:35 MDT",
%%% filename = "dr-dobbs-2000.bib",
%%% address = "University of Utah
%%% Department of Mathematics, 110 LCB
%%% 155 S 1400 E RM 233
%%% Salt Lake City, UT 84112-0090
%%% USA",
%%% telephone = "+1 801 581 5254",
%%% FAX = "+1 801 581 4148",
%%% URL = "http://www.math.utah.edu/~beebe",
%%% checksum = "12873 17910 69923 638012",
%%% email = "beebe at math.utah.edu, beebe at acm.org,
%%% beebe at computer.org (Internet)",
%%% codetable = "ISO/ASCII",
%%% keywords = "bibliography, BibTeX, Dr. Dobb's Journal,
%%% programming, software",
%%% license = "public domain",
%%% supported = "yes",
%%% docstring = "This is a bibliography of publications in
%%% Dr. Dobb's Journal: Software Tools for the
%%% Professional Programmer (CODEN DDJOEB, ISSN
%%% 1044-789X) (formerly: Dr. Dobb's Journal of
%%% Computer Calisthenics and Orthodontia),
%%% published by Miller Freeman.
%%%
%%% This file covers the decade 2000--2009. The
%%% companion files dr-dobbs-19*.bib cover
%%% earlier decades.
%%%
%%% From version 2.00 of this file, article
%%% coverage should be complete from 1982--date,
%%% although individual entries may have missing
%%% information.
%%%
%%% At version 3.19, the year coverage looked
%%% like this:
%%%
%%% 2000 ( 272) 2003 ( 110) 2006 ( 1)
%%% 2001 ( 273) 2004 ( 0)
%%% 2002 ( 233) 2005 ( 0)
%%%
%%% Article: 889
%%%
%%% Total entries: 889
%%%
%%% For subscription information, contact
%%%
%%% Dr. Dobb's Journal
%%% P.O. Box 56188
%%% Boulder, CO 80322-6188
%%% USA
%%% Tel: +1 800 456 1215, +1 303 678 0439
%%% FAX: +1 303 661 1885
%%% E-mail: editors at ddj.com
%%% WWW URL: http://www.ddj.com/
%%%
%%% Dr. Dobb's Journal has recently issued CD
%%% ROMs with the articles and software from
%%% 1988--date, and also offers
%%% subject-specialized CD ROMs; see
%%% http://www.ddj.com/cdrom for ordering
%%% details.
%%%
%%% This bibliography has been collected largely
%%% from the publisher's Web site, with manual
%%% correction of article titles, and addition of
%%% page numbers.
%%%
%%% Spelling has been verified with the UNIX
%%% spell and GNU ispell programs using the
%%% exception dictionary stored in the companion
%%% file with extension .sok.
%%%
%%% BibTeX citation tags are uniformly chosen as
%%% name:year:abbrev, where name is the family
%%% name of the first author or editor, year is a
%%% 4-digit number, and abbrev is a 3-letter
%%% condensation of important title
%%% words. Citation tags were automatically
%%% generated by software developed for the
%%% BibNet Project.
%%%
%%% In this bibliography, entries are sorted in
%%% publication order, using bibsort -byvolume.
%%%
%%% The checksum field above contains a CRC-16
%%% checksum as the first value, followed by the
%%% equivalent of the standard UNIX wc (word
%%% count) utility output of lines, words, and
%%% characters. This is produced by Robert
%%% Solovay's checksum utility.",
%%% }
%%% ====================================================================
@Preamble{
"\hyphenation{
COMM-WHIZ
Cogs-well
DISK-DOC
Gran-uzzo
Ku-ma-ra-swa-my
Mil-in-ko-vich
Mitch-ell
OPT-LINK
data-bases
}"
}
%%----------------------------------------------------------------------
%% Acknowledgement abbreviations:
@String{ack-nhfb = "Nelson H. F. Beebe,
University of Utah,
Department of Mathematics, 110 LCB,
155 S 1400 E RM 233,
Salt Lake City, UT 84112-0090, USA,
Tel: +1 801 581 5254,
FAX: +1 801 581 4148,
e-mail: \path|beebe@math.utah.edu|,
\path|beebe@acm.org|,
\path|beebe@computer.org| (Internet),
URL: \path|http://www.math.utah.edu/~beebe/|"}
%%----------------------------------------------------------------------
%% Journal abbreviations:
@String{j-DDJ = "Dr. Dobb's Journal of Software Tools"}
%%----------------------------------------------------------------------
%% Bibliography entries:
@Article{Erickson:2000:EBR,
author = "Jonathan Erickson",
title = "Editorial: It's Better To Be Rich and Famous, Than To
Live Near an Airport",
journal = j-DDJ,
volume = "25",
number = "1",
pages = "8--8",
month = jan,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
bibsource = "http://www.ddj.com/",
acknowledgement = ack-nhfb,
xxnote = "Comment on Larry Ellison's jet airplane and the San
Jose Airport landing time rules.",
}
@Article{Tucker:2000:LEP,
author = "Andrew Tucker and Edoardo Comar and Scott Meyers and
Yves Piguet and Kevin Ruland and Greg Hadaller and
Jonathan Erickson and Mike Zhilin and Todd Stephan",
title = "Letters: Editor Preferences; {Java} Enums; Labor Union
Harassment; Smart Pointer Update; Traveling Salesman;
Granting Block Grant; Porting to {CE}; Analyzing
Algorithms",
journal = j-DDJ,
volume = "25",
number = "1",
pages = "10, 12",
month = jan,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
bibsource = "http://www.ddj.com/",
acknowledgement = ack-nhfb,
}
@Article{Baran:2000:NVV,
author = "Nicholas Baran",
title = "News and Views: Volunteers Needed for Weather
Simulation Model; {Bill Gates} Meets {Bill Blass} ---
Not!; Computer Lemon Law May Debut in {Pennsylvania};
Inventor of {Huffman} Encoding Dies; Green Cards, Not
Guest Visas; Online Forums on Electronic Recycling",
journal = j-DDJ,
volume = "25",
number = "1",
pages = "18--18",
month = jan,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
bibsource = "http://www.ddj.com/",
acknowledgement = ack-nhfb,
}
@Article{McCoy:2000:SP,
author = "John H. McCoy",
title = "Scripting for {Pnuts}",
journal = j-DDJ,
volume = "25",
number = "1",
pages = "21--22, 24, 26",
month = jan,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_01/pnuts.txt;
http://www.ddj.com/ftp/2000/2000_01/pnutdemo.zip",
abstract = "Pnuts is a language, API, and interpreter that
provides a thin procedural wrapper with an interactive
interface for manipulating Java objects. Additional
resources include pnuts.txt (listings) and pnutdemo.zip
(source code).",
acknowledgement = ack-nhfb,
}
@Article{Swaine:2000:RMS,
author = "Michael Swaine",
title = "{Rebol} and {E}-Mail Services",
journal = j-DDJ,
volume = "25",
number = "1",
pages = "28, 30, 32--34",
month = jan,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_01/rebol.txt",
abstract = "When rebuilding his web sites, Michael looked at a
number of scripting languages -- and settled on Rebol.
He found it easier to use than many other scripting
tools, and the kinds of tasks it makes easy are those
involving Internet programming. Additional resources
include rebol.txt (listings).",
acknowledgement = ack-nhfb,
}
@Article{Johnson:2000:DSC,
author = "Steve Johnson",
title = "A Dynamic Select Component for {JavaScript}",
journal = j-DDJ,
volume = "25",
number = "1",
pages = "36, 38--42",
month = jan,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_01/dselect.txt;
http://www.ddj.com/ftp/2000/2000_01/dselect.zip",
abstract = "Designing a GUI component in JavaScript is different
than developing a custom widget in more traditional
object-oriented environments. Steve shows you how to do
it. Additional resources include dselect.txt (listings)
and dselect.zip (source code).",
acknowledgement = ack-nhfb,
}
@Article{Angell:2000:PSPa,
author = "Kirby W. Angell",
title = "{Python} Server Pages: Part 1",
journal = j-DDJ,
volume = "25",
number = "1",
pages = "44, 46--47, 50",
month = jan,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_01/psp1.txt;
http://www.ddj.com/ftp/2000/2000_01/psp100.zip",
abstract = "Python Server Pages (PSP) is a server-side scripting
engine designed along the lines of Microsoft's Active
Server Pages (ASP) and Sun's Java Server Pages (JSP).
Additional resources include psp1.txt (listings) and
psp100.zip (source code).",
acknowledgement = ack-nhfb,
}
@Article{Savchenko:2000:TFS,
author = "Sergei Savchenko",
title = "Tools for Flexible Scripting",
journal = j-DDJ,
volume = "25",
number = "1",
pages = "52, 54--55",
month = jan,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_01/flexscrp.txt;
http://www.ddj.com/ftp/2000/2000_01/flexscrp.zip",
abstract = "Building scripting languages can be a time-consuming
tasks. Sergei presents a pair of tools to simplify
development. Additional resources include flexscrp.txt
(listings) and flexscrp.zip (source code).",
acknowledgement = ack-nhfb,
}
@Article{Yam:2000:EEC,
author = "Michael Yam",
title = "{EC}: {A} {Euro} Calculator for the {Palm} Platform",
journal = j-DDJ,
volume = "25",
number = "1",
pages = "56, 58, 60, 62, 64",
month = jan,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_01/palmeuro.zip",
abstract = "EC, the Euro calculator Michael presents here,
involves a number of advanced Palm programming topics,
including database and memory management, and the
synchronization of data between the device and the
desktop. Additional resources include palmeuro.zip
(source code).",
acknowledgement = ack-nhfb,
}
@Article{Thomas:2000:EOS,
author = "Gary Thomas",
title = "{eCos}: An Operating System for Embedded Systems",
journal = j-DDJ,
volume = "25",
number = "1",
pages = "66, 68--72, 74",
month = jan,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_01/ecos.txt",
abstract = "The Embedded Configurable Operating System (eCos) is a
royalty-free, open-source, real-time kernel, targeted
at high-performance small embedded systems. As such,
eCos has been specifically designed and tuned to run on
32- and 64-bit microprocessors. Additional resources
include ecos.txt (listings).",
acknowledgement = ack-nhfb,
}
@Article{Munro:2000:UHJ,
author = "Charlie Munro and Mark Nelson",
title = "The Ultimate Home Jukebox",
journal = j-DDJ,
volume = "25",
number = "1",
pages = "76, 78--82",
month = jan,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_01/jukebox.txt",
abstract = "Our authors describe how they used MP3 to encode and
store on hard disk nearly 300 audio CDs, then networked
the music server to create the ultimate home jukebox.
Additional resources include jukebox.txt (listings).",
acknowledgement = ack-nhfb,
}
@Article{McMillan:2000:PTE,
author = "Mike McMillan",
title = "Programmer's Toolchest: Examining {PerlCOM}: {Perl}
Meets {Microsoft}'s {COM}",
journal = j-DDJ,
volume = "25",
number = "1",
pages = "84, 86--87",
month = jan,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_01/perlcom.txt",
abstract = "PerlCOM, from O'Reilly and Associates, lets you use
Perl in any language or application that supports
Microsoft Component Object Model (COM) objects. Mike
shows you how to use it to extend Visual Basic.
Additional resources include perlcom.txt (listings).",
acknowledgement = ack-nhfb,
}
@Article{Swaine:2000:PPCa,
author = "Michael Swaine",
title = "Programming Paradigms: Change is Good, but Folding
Money is Better",
journal = j-DDJ,
volume = "25",
number = "1",
pages = "89, 90--92",
month = jan,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "It's more than a change in the weather that has
Michael scratching his head this month.",
acknowledgement = ack-nhfb,
}
@Article{Stevens:2000:CPSa,
author = "Al Stevens",
title = "{C} Programming: Spinning Purple Larks, Swirling
Leaves, Rotating Ellipses",
journal = j-DDJ,
volume = "25",
number = "1",
pages = "95--98",
month = jan,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_01/cprog120.zip",
abstract = "Al continues his development of the graphics template
library. This month, he adds an ellipse shape to the
library implemented as a template class in ellipse.h.
Additional resources include cprog120.zip (source
code).",
acknowledgement = ack-nhfb,
}
@Article{Travers:2000:JQW,
author = "Michael Travers",
title = "{Java Q\&A}: What is Interactive Scripting?",
journal = j-DDJ,
volume = "25",
number = "1",
pages = "103, 105--111",
month = jan,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_01/jqa120.txt",
abstract = "What is interactive scripting and what does it have to
do with Java? Michael answers this question, as he
presents Skij, an interactive scripting language for
the Java environment. Additional resources include
jqa120.txt (listings).",
acknowledgement = ack-nhfb,
}
@Article{Rolfe:2000:AAR,
author = "Timothy Rolfe",
title = "Algorithm Alley: Randomized Shuffling",
journal = j-DDJ,
volume = "25",
number = "1",
pages = "113--114",
month = jan,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_01/aa120.txt;
http://www.ddj.com/ftp/2000/2000_01/aa120.zip",
abstract = "Card shuffling is an example of putting a fixed number
of items into completely random order. Timothy examines
a couple of randomizing algorithms -- one that does not
generate all permutations with equal probability, and
another that does. Additional resources include
aa120.txt (listings) and aa120.zip (source code).",
acknowledgement = ack-nhfb,
}
@Article{Shasha:2000:DEOa,
author = "Dennis E. Shasha",
title = "{Dr. Ecco}'s Omniheurist Corner: Stars and Starlets",
journal = j-DDJ,
volume = "25",
number = "1",
pages = "116--116",
month = jan,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "Ecco and Liane do lunch and go Hollywood, as they look
for ways to keep a low-budget just that.",
acknowledgement = ack-nhfb,
}
@Article{Woehr:2000:PBA,
author = "Jack J. Woehr and Lou Grinzo",
title = "Programmer's Bookshelf: All the World's {A} Database",
journal = j-DDJ,
volume = "25",
number = "1",
pages = "119--120",
month = jan,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Feb 15 16:26:16 2001",
bibsource = "http://www.ddj.com/",
abstract = "Databases are the focus this month, as Jack examines
the latest edition of C. J. Date's classic {\em An
Introduction to Database Systems}, while Lou looks at
MySQL and mSQL, by Randy Jay Yarger, George Reese, and
Tim King.",
acknowledgement = ack-nhfb,
}
@Article{Baran:2000:Ia,
author = "Nicholas Baran and Amy Lincicum",
title = "Of Interest",
journal = j-DDJ,
volume = "25",
number = "1",
pages = "126--127",
month = jan,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
bibsource = "http://www.ddj.com/",
acknowledgement = ack-nhfb,
}
@Article{Swaine:2000:SFB,
author = "Michael Swaine",
title = "{Swaine}'s Flames: Being a Blip",
journal = j-DDJ,
volume = "25",
number = "1",
pages = "128--128",
month = jan,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
URL = "http://www.ddj.com/ddj/privacy.htm",
acknowledgement = ack-nhfb,
}
@Article{Erickson:2000:EWS,
author = "Jonathan Erickson",
title = "Editorial: Worker Shortage a Tall Tail?",
journal = j-DDJ,
volume = "25",
number = "2",
pages = "10--10",
month = feb,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
bibsource = "http://www.ddj.com/",
acknowledgement = ack-nhfb,
}
@Article{Samwel:2000:LDS,
author = "Bart Samwel and Jiri Soukup and Glenn Crist and Evan
Easton and Ron Ruble and David A. Rogers and Al Stevens
and Bruce MacDonald and Scott Venckus",
title = "Letters: Data Structures as Objects; Real ({Netscape})
Time; Riding the {XML} Bandwagon; Porting to {CE};
Nothing New About {Open Source}; {Y2K} Worries?;
Version Control",
journal = j-DDJ,
volume = "25",
number = "2",
pages = "12, 14",
month = feb,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
bibsource = "http://www.ddj.com/",
acknowledgement = ack-nhfb,
}
@Article{Baran:2000:NVE,
author = "Nicholas Baran",
title = "News and Views: {ERP} Can Spell Disaster; {Linux} Goes
Super; Dot-com Companies Bet the Farm; The Tiniest
Transistor; And Speaking of Tiny\ldots{}",
journal = j-DDJ,
volume = "25",
number = "2",
pages = "18--18",
month = feb,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
bibsource = "http://www.ddj.com/",
URL = "http://www.ieee.org/conference/iedm",
acknowledgement = ack-nhfb,
keywords = "Chenming Hu; FenFet",
}
@Article{Wadler:2000:GGJ,
author = "Philip Wadler",
title = "{GJ}: {A Generic Java}",
journal = j-DDJ,
volume = "25",
number = "2",
pages = "23--26, 28",
month = feb,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_02/gj.txt",
abstract = "Generic Java (GJ) adds generic types to the Java
language. GJ is compatible with Java, the Java Virtual
Machine, and existing libraries. It is also efficient,
in that information about generic types is maintained
only at compile time, not run time. Additional
resources include gj.txt (listings).",
acknowledgement = ack-nhfb,
}
@Article{Fox:2000:CAJ,
author = "Joshua Fox",
title = "Collaborative Applications and the {Java Shared Data
Toolkit}",
journal = j-DDJ,
volume = "25",
number = "2",
pages = "32, 34--40",
month = feb,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_02/jsdt.txt;
http://www.ddj.com/ftp/2000/2000_02/jsdt.zip",
abstract = "The Java Shared Data Toolkit is designed to help you
write distributed collaborative applications so that
groups of users can work simultaneously on a common
task. Additional resources include jsdt.txt (listings)
and jsdt.zip (source code).",
acknowledgement = ack-nhfb,
}
@Article{Amsterdam:2000:JR,
author = "Jonathan Amsterdam",
title = "{Java} References",
journal = j-DDJ,
volume = "25",
number = "2",
pages = "42, 44, 46, 48, 50, 52",
month = feb,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_02/jrefer.txt",
abstract = "Java lets a program refer to objects without
preventing those objects from being garbage collected.
Jonathan explains how references work and presents
useful abstractions that make working with them easier.
Additional resources include jrefer.txt (listings).",
acknowledgement = ack-nhfb,
}
@Article{Angell:2000:PSPb,
author = "Kirby W. Angell",
title = "{Python} Server Pages: Part {II}",
journal = j-DDJ,
volume = "25",
number = "2",
pages = "54, 57--61",
month = feb,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_02/psp2.txt",
abstract = "Last month, Kirby introduced Python Server Pages and
looked at how HTML pages with embedded scripts are
translated into compilable JPython code. This month, he
examines the Java Servlet side of PSP. Additional
resources include psp2.txt (listings).",
acknowledgement = ack-nhfb,
}
@Article{Dwelly:2000:JXL,
author = "Andrew Dwelly",
title = "{Java}, {XML}, and Literate Programming",
journal = j-DDJ,
volume = "25",
number = "2",
pages = "62, 64--66, 68",
month = feb,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_02/litjava.txt;
http://www.ddj.com/ftp/2000/2000_02/litjava.zip",
abstract = "Marius, the system Andrew presents here, implements
some of Donald Knuth's ideas about literate programs,
but uses Java as its programming language, with HTML as
the output. In the process, Marius leverages the power
of XML. Additional resources include litjava.txt
(listings) and litjava.zip (source code).",
acknowledgement = ack-nhfb,
}
@Article{Hassler:2000:OFA,
author = "Vesna Hassler and Oliver Fodor",
title = "{OpenCard Framework} Application Development",
journal = j-DDJ,
volume = "25",
number = "2",
pages = "70, 72, 74--76",
month = feb,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_02/ocfjava.txt;
http://www.ddj.com/ftp/2000/2000_02/ocfjava.zip",
abstract = "The Personal Computer/Smart Card Interface (PC/SC) and
OpenCard Framework emphasize the interoperability of
smartcards and card terminals, and the integration of
those card terminals into Microsoft Windows. Additional
resources include ocfjava.txt (listings) and
ocfjava.zip (source code).",
acknowledgement = ack-nhfb,
}
@Article{Hardin:2000:RTS,
author = "David Hardin",
title = "The Real-Time Specification for {Java}",
journal = j-DDJ,
volume = "25",
number = "2",
pages = "78, 80--82, 84",
month = feb,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_02/rtjava.txt",
abstract = "The Real-Time Specification for Java promises to bring
the benefits of Java to real-time developers. David
examines the requirements and design decisions that led
to the Real-Time Specification for Java, and provides
practical examples of its use. Additional resources
include rtjava.txt (listings).",
acknowledgement = ack-nhfb,
}
@Article{Zhang:2000:WMH,
author = "Peter Zhang",
title = "{Webrelay}: {A} Multithreaded {HTTP} Relay Server",
journal = j-DDJ,
volume = "25",
number = "2",
pages = "86, 88, 90--94, 96",
month = feb,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_02/webrelay.txt;
http://www.ddj.com/ftp/2000/2000_02/webrelay.zip",
abstract = "Webrelay is a freely available multithreaded HTTP
relay server that authenticates that clients are
legitimate users before they are connected to vendor
web servers. Additional resources include webrelay.txt
(listings) and webrelay.zip (source code).",
acknowledgement = ack-nhfb,
}
@Article{Trueman:2000:VNR,
author = "Chris Trueman",
title = "Visualizing Network Resources Using {Visio}",
journal = j-DDJ,
volume = "25",
number = "2",
pages = "98, 100--102",
month = feb,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_02/visioviz.txt;
http://www.ddj.com/ftp/2000/2000_02/visioviz.zip",
abstract = "Visio is a generic diagram construction tool that just
happens to include a powerful visualization engine.
Chris uses that engine to write a C++ tool that
generates diagrams to represent all the available
resources on a Windows network. Additional resources
include visioviz.txt (listings) and visioviz.zip
(source code).",
acknowledgement = ack-nhfb,
}
@Article{Swaine:2000:PPPa,
author = "Michael Swaine",
title = "Programming Paradigms: The Palm, the Nose, and Other
Computing Platforms",
journal = j-DDJ,
volume = "25",
number = "2",
pages = "105, 107--108",
month = feb,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "You won't need to go to the state of ``iDenmark'' to
know that something smells. And you can bet Michael
nose what he's talking about this month.",
acknowledgement = ack-nhfb,
}
@Article{Stevens:2000:CPP,
author = "Al Stevens",
title = "{C} Programming: The {S} Programming Language",
journal = j-DDJ,
volume = "25",
number = "2",
pages = "110--113",
month = feb,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
note = "See comment on another {S} language
\cite{Kautz:2000:LLI}.",
URL = "http://www.ddj.com/ftp/2000/2000_02/cprog220.txt",
abstract = "Al resurrects S, a homebrew C variant he implemented a
decade ago -- back before the days of JavaScript and
VB. His updated version is written in C++, and includes
a shell program that tests the interpreter by loading
and executing text source-code files written in the S
language. Additional resources include cprog220.txt
(listings).",
acknowledgement = ack-nhfb,
xxnote = "This is NOT the statistics programming language that
predated S-Plus; I wrote to the author and pointed out
the name conflict.",
}
@Article{Henry:2000:JQH,
author = "Ethan Henry and Ed Lycklama",
title = "{Java Q\&A}: How Do You Plug {Java} Memory Leaks?",
journal = j-DDJ,
volume = "25",
number = "2",
pages = "115--119, 121",
month = feb,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_02/jqa220.txt",
abstract = "Our authors show what you can do when Java exhibits
classic memory leak behavior -- unbounded memory growth
leading to poor performance and eventually crashing.
Additional resources include jqa220.txt (listings).",
acknowledgement = ack-nhfb,
}
@Article{Wiener:2000:AAH,
author = "Michael J. Wiener",
title = "Algorithm Alley: High-Speed Cryptography with the
{RSA} Algorithm",
journal = j-DDJ,
volume = "25",
number = "2",
pages = "123--126",
month = feb,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_02/aa220.txt",
abstract = "Michael presents some key optimizations (with
source-code examples) that can be made to make RSA
algorithm as fast as possible. Additional resources
include aa220.txt (listings).",
acknowledgement = ack-nhfb,
}
@Article{Shasha:2000:DEOb,
author = "Dennis E. Shasha",
title = "{Dr. Ecco}'s Omniheurist Corner: Sticks",
journal = j-DDJ,
volume = "25",
number = "2",
pages = "131--132",
month = feb,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "Landmines are a nasty piece of work, indeed. Ecco and
Liane need to come up with ways to make removing them a
safer proposition.",
acknowledgement = ack-nhfb,
}
@Article{Wilson:2000:PBA,
author = "Gregory V. Wilson",
title = "Programmer's Bookshelf: All This, and Frequent Flyer
Miles, Too!",
journal = j-DDJ,
volume = "25",
number = "2",
pages = "135--136",
month = feb,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "This month, Greg examines Mastering Algorithms with
Perl, by Jon Orwant, Jarkko Hietaniemi, and John
Macdonald, Programming for the Java Virtual Machine, by
Joshua Engel, Java for Engineers and Scientists, by
Stephen J. Chapman, Introductory Java for Scientists
and Engineers, by Richard Davies, the C++ Toolkit for
Scientists and Engineers, by James T. Smith, Quantum
Computing and Communications, by Michael Brooks, and
Steven Roman's Learning Word Programming.",
acknowledgement = ack-nhfb,
}
@Article{Baran:2000:Ib,
author = "Nicholas Baran and Amy Lincicum",
title = "Of Interest",
journal = j-DDJ,
volume = "25",
number = "2",
pages = "142--143",
month = feb,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
bibsource = "http://www.ddj.com/",
acknowledgement = ack-nhfb,
}
@Article{Swaine:2000:SFS,
author = "Michael Swaine",
title = "{Swaine}'s Flames: Scaffolding",
journal = j-DDJ,
volume = "25",
number = "2",
pages = "144--144",
month = feb,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
URL = "http://www.ddj.com/ddj/privacy.htm",
acknowledgement = ack-nhfb,
}
@Article{Erickson:2000:EOS,
author = "Jonathan Erickson",
title = "Editorial: {Open Source}, Open Projects",
journal = j-DDJ,
volume = "25",
number = "3",
pages = "10--10",
month = mar,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
bibsource = "http://www.ddj.com/",
acknowledgement = ack-nhfb,
}
@Article{Patten:2000:LLE,
author = "Michael Patten and Jonathan Erickson and Eliezer S.
Yudkowsky and Larry Sollman",
title = "Letters: {Larry Ellison}'s Jet; The True Name of the
Singularity; The Sixth Sense;",
journal = j-DDJ,
volume = "25",
number = "3",
pages = "12, 14",
month = mar,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
bibsource = "http://www.ddj.com/",
acknowledgement = ack-nhfb,
}
@Article{Baran:2000:NVM,
author = "Nicholas Baran",
title = "News and Views: More on Tiny Transistors; {Open
Source} Repository Launched; Design Contest Promotes
New Software Tools; And Then There's a Decryption
Contest; {Fred Brooks} Wins {ACM Turing Award}",
journal = j-DDJ,
volume = "25",
number = "3",
pages = "18--18",
month = mar,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
bibsource = "http://www.ddj.com/",
URL = "http://sourceforge.net/",
acknowledgement = ack-nhfb,
}
@Article{Cole:2000:WBT,
author = "Oliver Cole",
title = "White-Box Testing",
journal = j-DDJ,
volume = "25",
number = "3",
pages = "23--26, 28",
month = mar,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_03/wboxtest.txt",
abstract = "Traditionally, there are two main approaches to
testing software: ``black-box'' (or functional)
testing, and ``white-box'' (or structural) testing.
White-box testing strategies include designing tests
such that every source line of code is executed at
least once, or requiring every function to be
individually tested. Additional resources include
wboxtest.txt (listings).",
acknowledgement = ack-nhfb,
}
@Article{Horwood:2000:DMA,
author = "Peter Horwood and Shlomo Wygodny and Martin Zardecki",
title = "Debugging Multithreaded Applications",
journal = j-DDJ,
volume = "25",
number = "3",
pages = "32, 34--37",
month = mar,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_03/dbgmulti.txt",
abstract = "It is often significantly harder to locate and test
for bugs in multithreaded and multiprocess applications
than for nonthreaded, single process situations. Our
authors describe some of the problems with
multithreaded applications and discuss common debugging
techniques. Additional resources include dbgmulti.txt
(listings).",
acknowledgement = ack-nhfb,
}
@Article{DiMaggio:2000:TUD,
author = "Len DiMaggio",
title = "Testing {UNIX} Daemons",
journal = j-DDJ,
volume = "25",
number = "3",
pages = "38, 40, 42, 44",
month = mar,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "UNIX daemons are programs that run in the background,
letting you do other work in the foreground. Len
presents a ``recipe'' for testing them.",
acknowledgement = ack-nhfb,
}
@Article{Cohen:2000:BTF,
author = "Noam Cohen",
title = "Building a Testpoint Framework",
journal = j-DDJ,
volume = "25",
number = "3",
pages = "46, 48--50",
month = mar,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_03/testpont.txt;
http://www.ddj.com/ftp/2000/2000_03/testpont.zip",
abstract = "Noam presents a framework for creating and using
testpoints. He originally designed and implemented this
framework while developing VideoClick, a video
distribution and management system. Additional
resources include testpont.txt (listings) and
testpont.zip (source code).",
acknowledgement = ack-nhfb,
}
@Article{Robison:2000:CR,
author = "Arch D. Robison",
title = "Considering Recursion",
journal = j-DDJ,
volume = "25",
number = "3",
pages = "52, 54--55, 57--58",
month = mar,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_03/recurs.txt",
abstract = "Granted, recursion means different things to different
people. But for Arch, recursion means trouble because
recursive code entangles control flow, which hurts
readability, reuse, and optimization. Additional
resources include recurs.txt (listings).",
acknowledgement = ack-nhfb,
}
@Article{Wilson:2000:IBP,
author = "James Y. Wilson and Jason A. Krontz",
title = "Inside {Bluetooth}: Part {I}",
journal = j-DDJ,
volume = "25",
number = "3",
pages = "62, 64--66, 68, 70",
month = mar,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "Bluetooth technology is an open specification for
wireless communication and networking. In the first of
a two-part series, Jim and Jason lay out the basics.",
acknowledgement = ack-nhfb,
}
@Article{Epplin:2000:IRT,
author = "Jerry Epplin",
title = "Inside {Real-Time Linux}",
journal = j-DDJ,
volume = "25",
number = "3",
pages = "72, 74, 76, 78",
month = mar,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_03/rtlinux.txt;
http://www.ddj.com/ftp/2000/2000_03/rtlinux.zip",
abstract = "Real-Time Linux is based on the same model as the
NT-based systems, but, since it is freely available,
doesn't have the associated cost overhead. To
illustrate how you can use RTLinux, Jerry presents a
data-acquisition application. Additional resources
include rtlinux.txt (listings) and rtlinux.zip (source
code).",
acknowledgement = ack-nhfb,
}
@Article{Yun:2000:MNS,
author = "James K. Yun",
title = "Measuring Network Software Performance",
journal = j-DDJ,
volume = "25",
number = "3",
pages = "80, 82--91",
month = mar,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_03/netperf.txt;
http://www.ddj.com/ftp/2000/2000_03/netperf.zip",
abstract = "The network performance measurement techniques James
discusses here are especially useful in projects where
the network interface is encapsulated in a class
library or network middleware. Additional resources
include netperf.txt (listings) and netperf.zip (source
code).",
acknowledgement = ack-nhfb,
}
@Article{Wanner:2000:SEY,
author = "James F. Wanner",
title = "{SourceMonitor}: Exposing Your Code",
journal = j-DDJ,
volume = "25",
number = "3",
pages = "92, 94--98",
month = mar,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_03/sourcemonitor.zip;
http://www.ddj.com/ftp/2000/2000_03/sourcemonitorv0163.exe",
abstract = "SourceMonitor is a programmer's metrics tool that Jim
wrote to expose the size and quality of his source
code. To parse source code, Jim used Sandstone's Visual
Parse++; to create reports, he turned to Stingray's
Objective Chart. Additional resources include
sourcemonitor.zip (source code) and
sourcemonitorv0163.exe (executable in self-extracting
zip archive).",
acknowledgement = ack-nhfb,
}
@Article{Swaine:2000:PPAa,
author = "Michael Swaine",
title = "Programming Paradigms: Atom by Atom",
journal = j-DDJ,
volume = "25",
number = "3",
pages = "101--102, 104--105",
month = mar,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "When we look back at it, 1999 might have been a
breakthrough year for nanotechnology, as big advances
were made in tiny computers.",
acknowledgement = ack-nhfb,
}
@Article{Stevens:2000:CPI,
author = "Al Stevens",
title = "{C} Programming: Iterating the Days Until {Y2K}",
journal = j-DDJ,
volume = "25",
number = "3",
pages = "107--108, 110",
month = mar,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "Smart iterators might not be such a dumb idea, but, as
Al points out, there are costs associated with them.",
acknowledgement = ack-nhfb,
}
@Article{Jennings:2000:JQC,
author = "Mike Jennings",
title = "{Java Q\&A}: Can You Write {NT} Services in {Java}?",
journal = j-DDJ,
volume = "25",
number = "3",
pages = "113--116, 118",
month = mar,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_03/jqa300.txt;
http://www.ddj.com/ftp/2000/2000_03/jqa300.zip",
abstract = "A service in Windows NT (or ``daemon'' in UNIX
parlance) is a program that runs in the background to
do a specific task. Can you write NT services in Java?
Sure, and Mike shows you how. Additional resources
include jqa300.txt (listings) and jqa300.zip (source
code).",
acknowledgement = ack-nhfb,
}
@Article{Gong:2000:AAA,
author = "Mingfu Gong",
title = "Algorithm Alley: An ${N}\log {N}$ Adaptive Group Sort
Algorithm",
journal = j-DDJ,
volume = "25",
number = "3",
pages = "123--124, 126--127",
month = mar,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_03/aa300.txt",
abstract = "Group sorting algorithms are well suited for
applications where recursion is either not allowed or
inefficient. In this month's column, Mingfu presents an
N*logN adaptive group sort algorithm. Additional
resources include aa300.txt (listings).",
acknowledgement = ack-nhfb,
}
@Article{Shasha:2000:DEOc,
author = "Dennis E. Shasha",
title = "{Dr. Ecco}'s Omniheurist Corner: Simple",
journal = j-DDJ,
volume = "25",
number = "3",
pages = "128--128",
month = mar,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "Benjamin Baskerhound has turned over a new leaf, this
time coming to Ecco and Liane for help, rather than
mischief.",
acknowledgement = ack-nhfb,
}
@Article{Wilson:2000:PBH,
author = "Gregory V. Wilson",
title = "Programmer's Bookshelf: How Matters More than What",
journal = j-DDJ,
volume = "25",
number = "3",
pages = "135--136",
month = mar,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "This month, Greg examines Extreme Programming
Explained, by Kent Beck, and the recently released The
Pragmatic Programmer: From Journeyman to Master, by
Andrew Hunt and David Thomas.",
acknowledgement = ack-nhfb,
}
@Article{Baran:2000:Ic,
author = "Nicholas Baran and Amy Lincicum",
title = "Of Interest",
journal = j-DDJ,
volume = "25",
number = "3",
pages = "142--143",
month = mar,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
bibsource = "http://www.ddj.com/",
acknowledgement = ack-nhfb,
}
@Article{Swaine:2000:SFI,
author = "Michael Swaine",
title = "{Swaine}'s Flames: Invention or Hack?",
journal = j-DDJ,
volume = "25",
number = "3",
pages = "144--144",
month = mar,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
URL = "http://www.ddj.com/ddj/privacy.htm",
acknowledgement = ack-nhfb,
}
@Article{Erickson:2000:EGL,
author = "Jonathan Erickson",
title = "Editorial: Getting the Lead Out",
journal = j-DDJ,
volume = "25",
number = "4",
pages = "8--8",
month = apr,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
bibsource = "http://www.ddj.com/",
acknowledgement = ack-nhfb,
}
@Article{Kautz:2000:LLI,
author = "Frederick Kautz and Dimitrios Souflis and Robert
Carbonari and DDJ and Al Gettier and Tina Femia and
Andrew D. Todd and Anonymous and Alan Horn and
Anonymous and Brad Clawsie and Samuel Pearlman",
title = "Letters: The {S} Language; {IP} Security; {Pnuts}
Pointer; Flyby; Worker Shortage?; Design by Interface",
journal = j-DDJ,
volume = "25",
number = "4",
pages = "10, 12",
month = apr,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
bibsource = "http://www.ddj.com/",
note = "See \cite{Stevens:2000:CPP}.",
acknowledgement = ack-nhfb,
}
@Article{Baran:2000:NVIa,
author = "Nicholas Baran",
title = "News and Views: {Internet} Security in ``Infantile
State''; {Hedy Lamarr}: Spread Spectrum Pioneer; New
Weather Supercomputer Not So Super; Researchers Like
Armies of Cheap Robots; {Kurzweil} Predicts Human Brain
Uploads",
journal = j-DDJ,
volume = "25",
number = "4",
pages = "18--18",
month = apr,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
bibsource = "http://www.ddj.com/",
acknowledgement = ack-nhfb,
keywords = "National Weather Service IBM Processor 786 System
Parallel Supercomputer",
}
@Article{Erickson:2000:DDE,
author = "Jonathan Erickson",
title = "{Dr. Dobb's Excellence In Programming Award}",
journal = j-DDJ,
volume = "25",
number = "4",
pages = "20--21",
month = apr,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "Through his research and writings, Jon Bentley has
made significant contributions to the art and science
of computer programming. And he's the recipient of this
year's Dr. Dobb's Excellence in Programming Award.",
acknowledgement = ack-nhfb,
}
@Article{Levitin:2000:NRM,
author = "Anany Levitin",
title = "A New Road Map of Algorithm Design Techniques",
journal = j-DDJ,
volume = "25",
number = "4",
pages = "23--24, 26--28",
month = apr,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "Before outlining a new taxonomy, Anany reviews the
four most general algorithm design techniques: brute
force, divide-and-conquer, decrease-and-conquer, and
transform-and-conquer.",
acknowledgement = ack-nhfb,
}
@Article{Ginsberg:2000:MCM,
author = "Matthew Ginsberg",
title = "{Monte Carlo} Methods",
journal = j-DDJ,
volume = "25",
number = "4",
pages = "34, 36--37",
month = apr,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_04/mc.txt",
abstract = "Bridge is one of a handful of classic games that have
thus far eluded competent computer play. However, GIB,
the Bridge program Matthew wrote and discusses here,
proves to be a worthy competitor. Additional resources
include mc.txt (listings).",
acknowledgement = ack-nhfb,
}
@Article{Nilsson:2000:FSA,
author = "Stefan Nilsson",
title = "The Fastest Sorting Algorithm?",
journal = j-DDJ,
volume = "25",
number = "4",
pages = "38, 40, 42, 44--45",
month = apr,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_04/fastsort.txt;
http://www.ddj.com/ftp/2000/2000_04/fastsort.zip",
abstract = "Which sorting algorithm is the fastest? Stefan
presents his answer to this age-old question.
Additional resources include fastsort.txt (listings)
and fastsort.zip (source code).",
acknowledgement = ack-nhfb,
}
@Article{Burton:2000:GCR,
author = "Joshua W. Burton",
title = "Garbage Collection On the Run",
journal = j-DDJ,
volume = "25",
number = "4",
pages = "46, 48--49, 51--53",
month = apr,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "Joshua examines several incremental memory-management
algorithms, including simple user-defined reference
counts, before turning to analyzing the global
connectedness of pointer structures.",
acknowledgement = ack-nhfb,
}
@Article{Manivannan:2000:EAM,
author = "S. Manivannan",
title = "An Efficient Algorithm for Magnitude Operation",
journal = j-DDJ,
volume = "25",
number = "4",
pages = "54, 565",
month = apr,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_04/mag.txt",
abstract = "Magnitude operation is widely used in signal and data
processing for signal detection and power estimation in
systems such as real-time displays for sensors, radars,
sonars, and scanners for medical-imaging systems.
Additional resources include nag.txt (listings).",
acknowledgement = ack-nhfb,
}
@Article{Wilson:2000:BSP,
author = "James Y. Wilson and Jason A. Kronz",
title = "The {Bluetooth} Spec: Part {II}",
journal = j-DDJ,
volume = "25",
number = "4",
pages = "58, 60, 62--64",
month = apr,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "Bluetooth technology is an open specification for
wireless communication. In Part I, Jim and Jason
examined the voluminous specification. This month, they
focus on the features of the Baseband specification.",
acknowledgement = ack-nhfb,
}
@Article{Ledin:2000:DFO,
author = "Jim Ledin",
title = "Digital Filtering and Oversampling",
journal = j-DDJ,
volume = "25",
number = "4",
pages = "66, 68--70, 72--74",
month = apr,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_04/filter.txt;
http://www.ddj.com/ftp/2000/2000_04/filter.zip",
abstract = "Compared to analog filtering, digital filtering can
provide higher overall system performance and reduce
circuit complexity. Jim examines the technique of
oversampling, which can be used to gain these seemingly
contradictory benefits. Additional resources include
filter.txt (listings) and filter.zip (source code).",
acknowledgement = ack-nhfb,
}
@Article{Goldman:2000:LDM,
author = "Roy Goldman and Jason McHugh and Jennifer Widom",
title = "{Lore}: {A} Database Management System for {XML}",
journal = j-DDJ,
volume = "25",
number = "4",
pages = "76, 78--80",
month = apr,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_04/lore.txt",
abstract = "Lore is a DBMS designed specifically for XML. In the
same way that SQL queries relational DBMSs, Lore
provides the query language Lorel for issuing
expressive queries over XML data. Additional resources
include lore.txt (listings).",
acknowledgement = ack-nhfb,
}
@Article{Chapman:2000:EPT,
author = "Mitch Chapman and Brian Kelley",
title = "Examining the {PyGtk} Toolkit",
journal = j-DDJ,
volume = "25",
number = "4",
pages = "82, 84, 86, 88",
month = apr,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_04/pygtk.txt",
abstract = "PyGtk brings the benefits of a high-level programming
language to Gtk+ developers, and gives Python
programmers access to a modern, high-performance GUI
toolkit. Additional resources include pygtk.txt
(listings).",
acknowledgement = ack-nhfb,
}
@Article{Swaine:2000:PPM,
author = "Michael Swaine",
title = "Programming Paradigms: Misinformation",
journal = j-DDJ,
volume = "25",
number = "4",
pages = "91--93, 95",
month = apr,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "Michael ain't misbehavin' as much as he's
misinformin'. Of course, that's not his fault.",
acknowledgement = ack-nhfb,
}
@Article{Stevens:2000:CPSb,
author = "Al Stevens",
title = "{C} Programming: Speaking of Rambling",
journal = j-DDJ,
volume = "25",
number = "4",
pages = "97--99",
month = apr,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "Ramblin' Jack Elliot has nothing on Al this month, as
our man in C rambles from one topic to another.",
acknowledgement = ack-nhfb,
}
@Article{Epstein:2000:JQ,
author = "David Epstein and Joseph Kiniry and John Motil",
title = "{Java Q\&A}: What is ``{JJ}''?",
journal = j-DDJ,
volume = "25",
number = "4",
pages = "101--106",
month = apr,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_04/jqa400.txt",
abstract = "JJ is a Java implementation originally designed as an
educational programming language and environment.
Although it's a subset of Java, JJ includes advanced
programming features such as support for Design by
Contract. Additional resources include jqa400.txt
(listings).",
acknowledgement = ack-nhfb,
annote = "JJ is a subset of Java, designed for learning Java.",
}
@Article{Bentley:2000:AAB,
author = "Jon Bentley",
title = "Algorithm Alley: Binary Search: Algorithm, Code, and
Caching",
journal = j-DDJ,
volume = "25",
number = "4",
pages = "111--112, 114, 116",
month = apr,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_04/aa400.txt",
abstract = "Caching often works well, but sometimes fails utterly.
In this column, Jon examines why that happens and what
you can do about it. Additional resources include
aa400.txt (listings).",
acknowledgement = ack-nhfb,
}
@Article{Shasha:2000:DEOd,
author = "Dennis E. Shasha",
title = "{Dr. Ecco}'s Omniheurist Corner: Blood",
journal = j-DDJ,
volume = "25",
number = "4",
pages = "119--120, 122",
month = apr,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "There's bad blood around Ecco's flat, as the good
doctor and his sidekick Liane lend a hand to medical
science.",
acknowledgement = ack-nhfb,
}
@Article{Taylor:2000:PBS,
author = "Jeffrey L. Taylor",
title = "Programmer's Bookshelf: Second Time Around",
journal = j-DDJ,
volume = "25",
number = "4",
pages = "127--128, 130",
month = apr,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "Jeffrey examines the second editions of Radia
Perlman's Interconnections: Bridges, Routers, Switches,
and Internetworking Protocols, and Bruce
Powel-Douglass' Real-Time UML: Developing Efficient
Objects for Embedded Systems.",
acknowledgement = ack-nhfb,
}
@Article{Baran:2000:Id,
author = "Nicholas Baran and Amy Lincicum",
title = "Of Interest",
journal = j-DDJ,
volume = "25",
number = "4",
pages = "134--135",
month = apr,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
bibsource = "http://www.ddj.com/",
acknowledgement = ack-nhfb,
}
@Article{Swaine:2000:SFDa,
author = "Michael Swaine",
title = "{Swaine}'s Flames: The Death and Resurrection of {Rudy
Doone}",
journal = j-DDJ,
volume = "25",
number = "4",
pages = "136--136",
month = apr,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
URL = "http://www.ddj.com/ddj/privacy.htm",
acknowledgement = ack-nhfb,
}
@Article{Bykov:2000:AYJ,
author = "Alex Bykov",
title = "Ace Your Job Interview",
journal = j-DDJ,
volume = "25",
number = "4",
pages = "??--??",
month = apr,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "If you're in the market for a job, be prepared to
answer a lot of technical questions during the job
interview. Alex shares some of the questions you'll
face and gives you answers you'll need.",
acknowledgement = ack-nhfb,
}
@Article{Ellis:2000:ILS,
author = "Richard Ellis",
title = "The {IT} Labor Shortage: Fact Or Fiction?",
journal = j-DDJ,
volume = "25",
number = "4",
pages = "??--??",
month = apr,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "Current reports present conflicting views of the job
market for information technology workers. Richard goes
below the surface to uncover the real story.",
acknowledgement = ack-nhfb,
}
@Article{Simcox:2000:WYW,
author = "Susan Simcox",
title = "What Are You Worth?",
journal = j-DDJ,
volume = "25",
number = "4",
pages = "??--??",
month = apr,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "A recent dice.com career and salary survey on the IT
industry gave some surprising (and some not so
surprising) results. Susan reports on this study.",
acknowledgement = ack-nhfb,
}
@Article{Erickson:2000:EHM,
author = "Jonathan Erickson",
title = "Editorial: Hey, {Mr. Postman}",
journal = j-DDJ,
volume = "25",
number = "5",
pages = "8--8",
month = may,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
bibsource = "http://www.ddj.com/",
acknowledgement = ack-nhfb,
}
@Article{Cromwell:2000:LWS,
author = "Jeff Cromwell and Jim North and J. Stephen Riley
Silber and Graham M. Sherrington and John Gegus",
title = "Letters: Worker Shortage; The Sixth Sense, Redux;
Kryptos Message; Data Structures as Objects",
journal = j-DDJ,
volume = "25",
number = "5",
pages = "10, 12",
month = may,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
bibsource = "http://www.ddj.com/",
acknowledgement = ack-nhfb,
}
@Article{Baran:2000:NVD,
author = "Nicholas Baran",
title = "News and Views: Does ``Reading'' Have a Future?; Trade
Secrets Compromising Academic Research?; Optical
Optimism; Call to All Programmers: Prepare for {Y5K};
Software Safety Researcher [Nancy {G}. Leveson] Gets
{ACM}'s {Newell Award}",
journal = j-DDJ,
volume = "25",
number = "5",
pages = "18--18",
month = may,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
bibsource = "http://www.ddj.com/",
acknowledgement = ack-nhfb,
}
@Article{deCarmo:2000:MGC,
author = "Linden deCarmo",
title = "The {Media Gateway Control Protocol}",
journal = j-DDJ,
volume = "25",
number = "5",
pages = "23--24, 26--28, 32",
month = may,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "The Media Gateway Control Protocol is a lightweight
telephony protocol that promises reduced complexity and
increased reliability for digital Internet phones.",
acknowledgement = ack-nhfb,
}
@Article{Stallings:2000:GE,
author = "William Stallings",
title = "Gigabit {Ethernet}",
journal = j-DDJ,
volume = "25",
number = "5",
pages = "34, 36--37",
month = may,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "Although it defines a new medium and transmission
specification, the Gigabit Ethernet spec is based on
the same strategy as 100-Mbits/sec. Ethernet.",
acknowledgement = ack-nhfb,
}
@Article{Karim:2000:WNC,
author = "Jawed Karim",
title = "A {Win32} Network Crawler",
journal = j-DDJ,
volume = "25",
number = "5",
pages = "38, 40, 42--43",
month = may,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_05/voyeur.txt;
http://www.ddj.com/ftp/2000/2000_05/voyeur.zip",
abstract = "MP3 Voyeur is a freely available Win32 program that
automates the task of finding MP3 files on the shared
folders of local area networks. It works like a network
crawler, querying each computer on the network and
traversing each computer's hierarchy of shared folders
to find MP3 files. Additional resources include
voyeur.txt (listings) and voyeur.zip (source code).",
acknowledgement = ack-nhfb,
}
@Article{Calbucci:2000:LSF,
author = "Marcelo A. F. Calbucci",
title = "{LDAP} Search Filters",
journal = j-DDJ,
volume = "25",
number = "5",
pages = "44, 46, 48, 50--51",
month = may,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_05/ldapsrch.txt;
http://www.ddj.com/ftp/2000/2000_05/ldapsrch.zip",
abstract = "The Lightweight Directory Access Protocol is a
transport mechanism for Directory Service transactions.
Marcelo focuses on the search filter that's part of
LDAP search functionality. Additional resources include
ldapsrch.txt (listings) and ldapsrch.zip (source
code).",
acknowledgement = ack-nhfb,
}
@Article{Fishburne:2000:MPG,
author = "William Fishburne",
title = "Margination and {Project Gutenberg}",
journal = j-DDJ,
volume = "25",
number = "5",
pages = "52, 54--56",
month = may,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Fri Nov 10 05:30:30 2000",
note = "See letter \cite{Gantz:2000:LM}.",
URL = "http://www.ddj.com/ftp/2000/2000_05/gutenbg.txt;
http://www.ddj.com/ftp/2000/2000_05/gutenbg.zip",
abstract = "The goal of Project Gutenberg is to distribute a
million books electronically by the end of the year. To
that end, project organizers have identified some
unusual requirements on the margins of the lines.
Additional resources include gutenbg.txt (listings) and
gutenbg.zip (source code).",
acknowledgement = ack-nhfb,
}
@Article{Chasin:2000:PSM,
author = "Andrew Chasin",
title = "Predication, Speculation, and Modern {CPUs}",
journal = j-DDJ,
volume = "25",
number = "5",
pages = "58, 60--61, 63--64",
month = may,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_05/ps_cpu.txt",
abstract = "Predication and speculation are viable techniques for
improving software performance, and the emerging class
of processors and compilers are supporting it.
Additional resources include ps\_cpu.txt (listings)",
acknowledgement = ack-nhfb,
}
@Article{Smyth:2000:ICY,
author = "Gavin Smyth",
title = "Infrared Control of Your {PC}",
journal = j-DDJ,
volume = "25",
number = "5",
pages = "66, 68, 70, 72",
month = may,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_05/infrared.txt;
http://www.ddj.com/ftp/2000/2000_05/infrared.zip",
abstract = "Infrared devices are used to remotely control consumer
electronic systems -- TVs, VCRs, stereos, and the like.
Gavin shows you how you can add your PC to that list.
Additional resources include infrared.txt (listings)
and infrared.zip (source code).",
acknowledgement = ack-nhfb,
}
@Article{Tucker:2000:WCC,
author = "Andrew Tucker",
title = "{Window CE}'s {CESH} Utility",
journal = j-DDJ,
volume = "25",
number = "5",
pages = "74, 76--78, 80",
month = may,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_05/cecesh.txt;
http://www.ddj.com/ftp/2000/2000_05/cecesh.zip",
abstract = "CESH, a utility included with the Windows CE
development tools, lets you automate test suites to
download and run on a device, while logging results on
the desktop machine. Additional resources include
cecesh.txt (listings) and cecesh.zip (source code).",
acknowledgement = ack-nhfb,
}
@Article{Gemmell:2000:SMF,
author = "Jim Gemmell",
title = "Scalable Multicast File Distribution",
journal = j-DDJ,
volume = "25",
number = "5",
pages = "82, 84--89",
month = may,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "Fcast, the file distribution mechanism Jim presents
here, uses IP multicast and forward error correction
(FEC) to serve extremely large numbers of clients with
minimal loads for servers and networks.",
acknowledgement = ack-nhfb,
}
@Article{Barker:2000:BBA,
author = "John S. Barker",
title = "Building the {Bell Atlantic Tariff Management
System}",
journal = j-DDJ,
volume = "25",
number = "5",
pages = "90, 92--95, 97",
month = may,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "Bell Atlantic's Tariff Management System is a
web-based, collaborative system for generating and
managing tens of thousands of pages of documents. What
made building the system difficult is that it had to be
capable of delivering the product in multiple formats
-- paper, PDF, and HTML -- while obeying strict,
legislated rules regarding page layout.",
acknowledgement = ack-nhfb,
}
@Article{Swaine:2000:PPe,
author = "Michael Swaine",
title = "Programming Paradigms: Oh Behave!",
journal = j-DDJ,
volume = "25",
number = "5",
pages = "99--100, 102",
month = may,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "Michael reports on Eazel, a Linux startup for Macs,
and gets small with nanotechnology.",
acknowledgement = ack-nhfb,
}
@Article{Stevens:2000:CPSc,
author = "Al Stevens",
title = "{C} Programming: Slamming, Compilers, {E}-Books",
journal = j-DDJ,
volume = "25",
number = "5",
pages = "105--107, 109",
month = may,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "Al considers the upside and downside of using classes
and functions from the Standard C++ library.",
acknowledgement = ack-nhfb,
}
@Article{Reilly:2000:JQH,
author = "David Reilly",
title = "{Java Q\&A}: How Do {I} User Servlets for State and
Session Management?",
journal = j-DDJ,
volume = "25",
number = "5",
pages = "111--115",
month = may,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_05/jqa500.txt;
http://www.ddj.com/ftp/2000/2000_05/jqa500.zip",
abstract = "How do you use Servlets for state and session
management? David shows you how. Additional resources
include jqa500.txt (listings) and jqa500.zip (source
code).",
acknowledgement = ack-nhfb,
}
@Article{Missaghi:2000:AA,
author = "Moheb Missaghi",
title = "Algorithm Alley: How Many Subscribers Should Share a
Modem?",
journal = j-DDJ,
volume = "25",
number = "5",
pages = "119--121",
month = may,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_05/aa500.zip",
abstract = "How many ISP subscribers should share a modem? That's
the question Moheb was faced with, and he presents and
implements the algorithm that proved to be the answer.
Additional resources include aa500.zip (source code).",
acknowledgement = ack-nhfb,
}
@Article{Shasha:2000:DEOe,
author = "Dennis E. Shasha",
title = "{Dr. Ecco}'s Omniheurist Corner: Centimillionaire",
journal = j-DDJ,
volume = "25",
number = "5",
pages = "123--124",
month = may,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "Ecco and Liane find out it's better to be rich and
healthy than sick and poor.",
acknowledgement = ack-nhfb,
}
@Article{Wilson:2000:PBS,
author = "Gregory V. Wilson",
title = "Programmer's Bookshelf: Stirring the Gene Pool",
journal = j-DDJ,
volume = "25",
number = "5",
pages = "127, 130",
month = may,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "Greg's roundup this month includes Objects
Unencapsulated: Java, Eiffel, and C++?, by Ian Joyner;
The Logic Programming Paradigm, by Krzysztof R. Apt,
Victor W. Marek, Mirek Truszczynski, and David S.
Warren; Quantum Computing and Communications, edited by
Michael Brooks; Cambrian Intelligence, by Rodney A.
Brooks; Intellectual Property in the Age of Universal
Access, by the ACM; Database Design for Smarties, by
Robert J. Muller; Designing Maintainable Software, by
Dennis D. Smith; and (finally) Automating Windows with
Perl, by Scott McMahan.",
acknowledgement = ack-nhfb,
}
@Article{Baran:2000:Ie,
author = "Nicholas Baran and Amy Lincicum",
title = "Of Interest",
journal = j-DDJ,
volume = "25",
number = "5",
pages = "134--135",
month = may,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
bibsource = "http://www.ddj.com/",
acknowledgement = ack-nhfb,
}
@Article{Swaine:2000:SFNa,
author = "Michael Swaine",
title = "{Swaine}'s Flames: Nag, Nag, Nag",
journal = j-DDJ,
volume = "25",
number = "5",
pages = "136--136",
month = may,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
URL = "http://www.ddj.com/ddj/privacy.htm",
acknowledgement = ack-nhfb,
}
@Article{Erickson:2000:EMC,
author = "Jonathan Erickson",
title = "Editorial: Money Can't Buy Me Love",
journal = j-DDJ,
volume = "25",
number = "6",
pages = "10--10",
month = jun,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
bibsource = "http://www.ddj.com/",
acknowledgement = ack-nhfb,
}
@Article{Collins:2000:LMW,
author = "Terry Collins and Geoff Davis and Tarjei Tjxstheim
[sic] Jensen and Raj Dash and DDJ and Rick Box and
Dimitrios Souflis and James K. Yun and Guy Hammond and
DDJ",
title = "Letters: More Worker Shortage; Music City; Sorting
Through Sorts; Buy the Book; {E}-Address Change; {Open
Source} Debate",
journal = j-DDJ,
volume = "25",
number = "6",
pages = "10, 12",
month = jun,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
bibsource = "http://www.ddj.com/",
acknowledgement = ack-nhfb,
}
@Article{Baran:2000:NVf,
author = "Nicholas Baran",
title = "News and Views: {Freenet}: More Anarchy for the
{Internet}?; Magnetic Properties Key to
Nanoengineering; Nanoseconds Not Fast Enough? Here Come
Femtoseconds; {Caltech} Leads {U.S.} Field in {ACM}
Programming Contest; Robotic Surgeons May Make Fewer
Mistakes; Free Software for Designing {ICs}",
journal = j-DDJ,
volume = "25",
number = "6",
pages = "18--18",
month = jun,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
bibsource = "http://www.ddj.com/",
acknowledgement = ack-nhfb,
}
@Article{Perez:2000:MDM,
author = "C{\'e}sar A. Gonzalez Perez and Pablo Criado Boado",
title = "The {Metis} Design Methodology",
journal = j-DDJ,
volume = "25",
number = "6",
pages = "21--22, 24--26",
month = jun,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "Metis is an object-oriented development methodology
that includes all the usual tasks found in a generic
software project lifecycle.",
acknowledgement = ack-nhfb,
}
@Article{Beckman:2000:OSM,
author = "Pete Beckman and Gregory V. Wilson",
title = "{Open Source} Meets Big Iron",
journal = j-DDJ,
volume = "25",
number = "6",
pages = "30, 32, 34--35",
month = jun,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "The aim of the Software Carpentry project is to create
a new generation of easy-to-use software engineering
tools, and to document those tools and the working
practices they are meant to support.",
acknowledgement = ack-nhfb,
}
@Article{Macri:2000:SPC,
author = "Julian Macri",
title = "State Patterns and {C++}",
journal = j-DDJ,
volume = "25",
number = "6",
pages = "36, 38, 40, 42, 44--45",
month = jun,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_06/statepat.txt",
abstract = "In object-oriented design, objects can modify their
behavior based on the current state of their
attributes. State patterns abstract the ability for an
object to change its behavior. Julian presents two ways
the State design pattern can be implemented in C++.
Additional resources include statepat.txt (listings and
source code).",
acknowledgement = ack-nhfb,
}
@Article{Dwelly:2000:XRP,
author = "Andrew Dwelly",
title = "{XML}, Reflective Pattern Matching, and {Java}",
journal = j-DDJ,
volume = "25",
number = "6",
pages = "46, 49--52, 54",
month = jun,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_06/xmljava.txt;
http://www.ddj.com/ftp/2000/2000_06/marius05.zip",
abstract = "Although the pattern matching available in Hex, the
program Andrew presents here, is relatively simple, it
is still powerful enough to perform sophisticated XML
document processing. Additional resources include
xmljava.txt (listings) and marius05.zip (source
code).",
acknowledgement = ack-nhfb,
}
@Article{Kiesling:2000:OOU,
author = "Robert Kiesling",
title = "An Object-Oriented {UI} for {Perl}",
journal = j-DDJ,
volume = "25",
number = "6",
pages = "58, 60--61",
month = jun,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_06/perlooui.txt;
http://www.ddj.com/ftp/2000/2000_06/worksp.zip",
abstract = "If you work with object-oriented languages, you are
likely accustomed to user-interface objects that
highlight the object-oriented features of a language's
internal structures. Robert shows one way Perl's
features can contribute to its usefulness in
object-oriented projects. Additional resources include
perlooui.txt (listings) and worksp.zip (source code).",
acknowledgement = ack-nhfb,
}
@Article{Ni:2000:WVC,
author = "Ping Ni and Mark Nelson",
title = "{Win32} Version Control",
journal = j-DDJ,
volume = "25",
number = "6",
pages = "62, 64--66",
month = jun,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_06/win32ver.txt",
abstract = "Faced with the problems created by scattered
development teams, distributed objects, and dozens of
DLLs and executables, Ping and Mark turned to Perl and
C++ to give some muscle to the Visual Source Safe
source-code version control system. Additional
resources include win32ver.txt (listings).",
acknowledgement = ack-nhfb,
}
@Article{Davis:2000:OOD,
author = "Thomas E. Davis",
title = "Object-Oriented Design In Procedural Environments",
journal = j-DDJ,
volume = "25",
number = "6",
pages = "68, 70--72",
month = jun,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_06/oodesign.txt",
abstract = "Tom shows how you can apply some of the inherent
cleanliness of object-oriented design to your
procedural language projects. To illustrate, he designs
an application for Motorola's PageWriter two-way pager.
Additional resources include oodesign.txt (listings).",
acknowledgement = ack-nhfb,
}
@Article{Roelofs:2000:JCC,
author = "Brian Roelofs",
title = "{Java} Custom Class Loaders",
journal = j-DDJ,
volume = "25",
number = "6",
pages = "74, 76, 78, 80, 82",
month = jun,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_06/javaload.txt;
http://www.ddj.com/ftp/2000/2000_06/javaload.zip",
abstract = "Custom class loaders create new possibilities for
dynamic applications. Brian discusses how you can
create your own class loader to read and load classes
into the Java VM from any data source. Additional
resources include javaload.txt (listings) and
javaload.zip (source code).",
acknowledgement = ack-nhfb,
}
@Article{Ritke:2000:IT,
author = "Ronn Ritke",
title = "An {Internet} Toolbox",
journal = j-DDJ,
volume = "25",
number = "6",
pages = "84, 86--87, 89",
month = jun,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "Ronn examines a number of useful Internet tools,
including packet-collection software,
Internet-throughput software, ISP-measurement software,
and the like.",
acknowledgement = ack-nhfb,
}
@Article{Gorman:2000:PCT,
author = "Ian E. Gorman",
title = "Parsing Complex Text Structures",
journal = j-DDJ,
volume = "25",
number = "6",
pages = "90, 92--98",
month = jun,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_06/parse.txt;
http://www.ddj.com/ftp/2000/2000_06/parse.zip",
abstract = "A pattern language that includes recursive patterns
and conditional pattern matching can handle complex
text structures without supplementary programming. Ian
uses the OmniMark pattern language from OmniMark
Technologies to do a job that might otherwise be done
with tools like lex and yacc. Additional resources
include parse.txt (listings) and parse.zip (source
code).",
acknowledgement = ack-nhfb,
}
@Article{Swaine:2000:PPB,
author = "Michael Swaine",
title = "Programming Paradigms: Breadth-First Search",
journal = j-DDJ,
volume = "25",
number = "6",
pages = "100, 102, 105",
month = jun,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "Michael looks to the future of technology and society,
and wonders if it will really be as bleak as a joyless
Bill Joy thinks it will be.",
acknowledgement = ack-nhfb,
}
@Article{Stevens:2000:CPR,
author = "Al Stevens",
title = "{C} Programming: Retreading {Quincy}",
journal = j-DDJ,
volume = "25",
number = "6",
pages = "106, 108, 110, 112, 114",
month = jun,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "While sitting by the side of the road, Al gets into
his Quincy 2000 port and further considers using the
Borland BCC32 C/C++ compiler as Quincy's compiler.",
acknowledgement = ack-nhfb,
}
@Article{Gsoedl:2000:JQC,
author = "Jacob Gsoedl",
title = "{Java Q\&A}: Can You Implement {COM} Components Using
{Java}?",
journal = j-DDJ,
volume = "25",
number = "6",
pages = "119--120, 122, 124, 126",
month = jun,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_06/jqa600.txt",
abstract = "Can you implement COM components using Java? Yes, and
Jacob shows you how. Additional resources include
jqa600.txt (listings)",
acknowledgement = ack-nhfb,
}
@Article{Keogh:2000:AAL,
author = "John Keogh",
title = "Algorithm Alley: Layout Management",
journal = j-DDJ,
volume = "25",
number = "6",
pages = "131--134, 136",
month = jun,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
URL = "http://www.ddj.com/ftp/2000/2000_06/aa600.txt;
http://www.ddj.com/ftp/2000/2000_06/aa600.zip",
abstract = "John presents and implements an algorithm for scaling
child windows when the parent is resized. Although the
example runs under the Win32 API, the algorithm and
data structure are generally useful for scaling child
windows on other platforms. Additional resources
include aa600.txt (listings) and aa600.zip (source
code).",
acknowledgement = ack-nhfb,
}
@Article{Shasha:2000:DEOf,
author = "Dennis E. Shasha",
title = "{Dr. Ecco}'s Omniheurist Corner: Microvirus",
journal = j-DDJ,
volume = "25",
number = "6",
pages = "139, 141",
month = jun,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "Are Ecco and Liane the antidote for a deadly new
strain of microvirus? Read and find out.",
acknowledgement = ack-nhfb,
}
@Article{Cromwell:2000:PBA,
author = "Jeff Cromwell",
title = "Programmer's Bookshelf: The Art and Science of
Software Architecture",
journal = j-DDJ,
volume = "25",
number = "6",
pages = "143--144",
month = jun,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:15 MST 2000",
bibsource = "http://www.ddj.com/",
abstract = "Jeff reviews Applied Software Architecture, by
Christine Hofmeister, Robert Nord, and Dilip Soni;
Software Architecture in Practice, by Len Bass, Paul
Clements, and Rick Kazman; and Software Architecture:
Perspectives of an Emerging Disc