%%% -*-BibTeX-*-
%%% ====================================================================
%%%  Bibtex-file{
%%%     author          = "Nelson H. F. Beebe",
%%%     version         = "3.23",
%%%     date            = "13 May 2011",
%%%     time            = "18:14:15 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        = "24517 17931 70027 638879",
%%%     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.23, the year coverage looked
%%%                        like this:
%%%
%%%                             2000 ( 272)    2003 ( 110)    2006 (   1)
%%%                             2001 ( 273)    2004 (   0)    2007 (   0)
%%%                             2002 ( 233)    2005 (   0)    2008 (   1)
%%%
%%%                             Article:        890
%%%
%%%                             Total entries:  890
%%%
%%%                        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 Discipline, by Mary Shaw
                 and David Garlan.",
  acknowledgement = ack-nhfb,
}

@Article{Baran:2000:If,
  author =       "Nicholas Baran and Amy Lincicum",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "25",
  number =       "6",
  pages =        "150--151",
  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{Swaine:2000:SFE,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: Error-Correcting Journalism",
  journal =      j-DDJ,
  volume =       "25",
  number =       "6",
  pages =        "152--152",
  month =        jun,
  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:EUH,
  author =       "Jonathan Erickson",
  title =        "Editorial: Under the Hood",
  journal =      j-DDJ,
  volume =       "25",
  number =       "7",
  pages =        "8--8",
  month =        jul,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  bibsource =    "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Roberts:2000:LPM,
  author =       "Tim Roberts and Ben Combee and Eddie Edwards and Keith
                 McBride and Matt Albrecht and Paul Kinzelman and Ken
                 Anderson and Arch D. Robison",
  title =        "Letters: Patent Madness; {C++} Identifiers; Digital
                 Filtering and Oversampling; Pay Phones versus Cell
                 Phones; {NASA} and the {Space Shuttle}; Getting the
                 Lead Out\ldots{}; How Harmful is Recursion",
  journal =      j-DDJ,
  volume =       "25",
  number =       "7",
  pages =        "10, 12",
  month =        jul,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  bibsource =    "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Baran:2000:NVg,
  author =       "Nicholas Baran",
  title =        "News and Views: 108-bit Elliptic Curve Cryptographic
                 Key Found; New Algorithm Cracks the Stock Market; First
                 Complete {Babbage} Printer Unveiled; {XrML} View to Be
                 Digital Rights Standard; {PKWare} Founder [Phil Katz]
                 Dies Unexpectedly",
  journal =      j-DDJ,
  volume =       "25",
  number =       "7",
  pages =        "18--18",
  month =        jul,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  bibsource =    "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Kopp:2000:MCC,
  author =       "Carlo Kopp",
  title =        "Managing Cluster Computers",
  journal =      j-DDJ,
  volume =       "25",
  number =       "7",
  pages =        "21--26",
  month =        jul,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_07/cluster.txt",
  abstract =     "A side effect of the commodification of computer
                 hardware has been the emergence of supercomputing
                 clusters. Carlo describes how TurboLinux's enFuzion is
                 used to manage the Monash Parallel Parametric Modeling
                 Engine, a cluster of Pentium/Linux-based computers.
                 Additional resources include cluster.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Mondal:2000:LBU,
  author =       "Abdul Sakib Mondal",
  title =        "Load Balancing for {UNIX} and {Win32}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "7",
  pages =        "32, 34, 36, 38--40",
  month =        jul,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_07/load.txt;
                 http://www.ddj.com/ftp/2000/2000_07/load.zip;
                 http://www.ddj.com/ftp/2000/2000_07/xyalb.zip",
  abstract =     "In most distributed applications, the workload needs
                 to be balanced across all available processors via
                 software. Sakib presents XYALB, a load-balancing
                 program that works on SunOS 4.1.1 and 4.1.3, Redhat
                 Linux 6.5 (kernel 2.0.36), and Windows 95/NT.
                 Additional resources include load.txt (listings)
                 load.zip (source code), and xyalb.zip (other related
                 files).",
  acknowledgement = ack-nhfb,
}

@Article{Rousselle:2000:PSJ,
  author =       "Philip Rousselle and Daniel Greff",
  title =        "Publish, Subscribe, and the {JMS API}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "7",
  pages =        "44, 46, 48, 51",
  month =        jul,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_07/pubsub.zip",
  abstract =     "The Java Messaging Service API is middleware that
                 supports message passing rather than RPC semantics.
                 Philip and Daniel explore the advantages of
                 publish/subscribe distributed programming by
                 implementing a chatroom application. Additional
                 resources include pubsub.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Woehr:2000:CLI,
  author =       "Jack Woehr",
  title =        "A {C++} Library for {IBM MQSeries}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "7",
  pages =        "52, 54",
  month =        jul,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_07/cppmqs.txt;
                 http://www.ddj.com/ftp/2000/2000_07/jxmqv1p0.zip",
  abstract =     "IBM MQSeries is a distributed messaging system that
                 has been ported to many platforms. Jack presents
                 SoftWoehr, an open-source C++ class library that
                 encapsulates the MQSeries C language bindings.
                 Additional resources include cppmqs.txt (listings) and
                 jxmqv1p0.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Sintes:2000:XSC,
  author =       "Tony Sintes",
  title =        "{XML} and Software Configuration",
  journal =      j-DDJ,
  volume =       "25",
  number =       "7",
  pages =        "56, 58--62",
  month =        jul,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_07/xmlcfg.txt;
                 http://www.ddj.com/ftp/2000/2000_07/xmlcfg.zip",
  abstract =     "Tony explores software configuration and how it
                 relates to XML. In the process, he presents an XML
                 configuration markup language and Java framework that
                 you can use as the basis for any Java configuration
                 engine. Additional resources include xmlcfg.txt
                 (listings) and xmlcfg.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Sassenrath:2000:RSL,
  author =       "Carl Sassenrath",
  title =        "The {REBOL} Scripting Language",
  journal =      j-DDJ,
  volume =       "25",
  number =       "7",
  pages =        "64, 66--69",
  month =        jul,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_07/rebol.txt",
  abstract =     "The Relative Expression-Based Object Language (REBOL)
                 was designed to make it easier to communicate between
                 computers, or between people and computers, using
                 context-dependent sublanguages. Additional resources
                 include rebol.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Passani:2000:CWS,
  author =       "Luca Passani",
  title =        "Creating {WAP} Services",
  journal =      j-DDJ,
  volume =       "25",
  number =       "7",
  pages =        "70, 73--75, 78",
  month =        jul,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_07/wapserv.txt;
                 http://www.ddj.com/ftp/2000/2000_07/wapserv.zip",
  abstract =     "WAP is a communications architecture designed for
                 wireless networks. Luca examines WAP services, then
                 presents a WAP app used to pick songs from a database
                 of music. To build this application, he uses the Apache
                 web server (with PHP support) and MySQL database.
                 Additional resources include wapserv.txt (listings) and
                 wapserv.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Cunningham:2000:BPL,
  author =       "Tom Cunningham",
  title =        "A {BSP} Porting Library for Embedded Peripherals",
  journal =      j-DDJ,
  volume =       "25",
  number =       "7",
  pages =        "80, 82, 84, 86--87",
  month =        jul,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_07/bspseral.zip",
  abstract =     "Board Support Packages (BSPs) are made up of
                 interfaces that let RTOSs access system-level services,
                 thereby isolating RTOSs from idiosyncrasies of the
                 board. Tom describes a BSP he designed that is built on
                 top of Motorola's M-CORE Peripheral Library. Additional
                 resources include bspseral.zip (source code).",
  acknowledgement = ack-nhfb,
  keywords =     "Board Support Package (BSP)",
}

@Article{Houlding:2000:PSC,
  author =       "David Houlding",
  title =        "Publish and Subscribe With {CORBA Web} Events",
  journal =      j-DDJ,
  volume =       "25",
  number =       "7",
  pages =        "88, 90--93",
  month =        jul,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_07/pscorba.txt;
                 http://www.ddj.com/ftp/2000/2000_07/pscorba.zip",
  abstract =     "David examines one approach to delivering
                 publish/subscribe capabilities for web-enabled
                 distributed object systems based on JavaScript clients
                 and CORBA servers. Additional resources include
                 pscorba.txt (listings) and pscorba.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Kientzle:2000:DEM,
  author =       "Tim Kientzle",
  title =        "Database Engines: {MySQL} Versus {Oracle}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "7",
  pages =        "98, 100, 102, 104",
  month =        jul,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_07/mysqlorl.txt",
  abstract =     "Among the more popular relational database engines
                 with SQL interfaces are the open-source MySQL and
                 commercially available Oracle database server. Tim
                 looks at how they are alike and where they differ.
                 Additional resources include mysqlorl.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2000:PPg,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: The Cluetrain Antipasto",
  journal =      j-DDJ,
  volume =       "25",
  number =       "7",
  pages =        "107--110",
  month =        jul,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "The authors of the Cluetrain Manifesto argue that
                 markets are being transformed in a fundamental and
                 revolutionary way by the Internet.",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2000:CPG,
  author =       "Al Stevens",
  title =        "{C} Programming: Going Undercover",
  journal =      j-DDJ,
  volume =       "25",
  number =       "7",
  pages =        "113--117",
  month =        jul,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_07/cprog.txt",
  abstract =     "Al goes undercover, then chats with Richard Stallman
                 about Free Software, Linux, and more. Additional
                 resources include cprog.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Perelman-Hall:2000:JQ,
  author =       "David Perelman-Hall",
  title =        "{Java Q\&A}: How Do {I} Build a Find?",
  journal =      j-DDJ,
  volume =       "25",
  number =       "7",
  pages =        "119--120, 122, 124, 126",
  month =        jul,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_07/jqa700.txt;
                 http://www.ddj.com/ftp/2000/2000_07/jqa700.zip",
  abstract =     "Does Java have ``find'' functionality? It does now, as
                 David describes his implementation. Additional
                 resources include jqa700.txt (listings) and jqa700.zip
                 (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Fomitchev:2000:AUD,
  author =       "Max I. Fomitchev",
  title =        "Automatic Updates for Distributed Applications",
  journal =      j-DDJ,
  volume =       "25",
  number =       "7",
  pages =        "129--131",
  month =        jul,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_07/aupdate.txt;
                 http://www.ddj.com/ftp/2000/2000_07/aupdate.zip",
  abstract =     "AutomatedUpdate, the program Max presents here, lets
                 applications check file versions and automatically
                 update themselves. Additional resources include
                 aupdate.txt (listings) and aupdate.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Dorohonceanu:2000:AAP,
  author =       "Bogdan Dorohonceanu and Craig Nevill-Manning",
  title =        "Algorithm Alley: {A} Practical Suffix-Tree
                 Implementation for String Searches",
  journal =      j-DDJ,
  volume =       "25",
  number =       "7",
  pages =        "133--136, 140",
  month =        jul,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_07/aa700.txt;
                 http://www.ddj.com/ftp/2000/2000_07/aa700.zip",
  abstract =     "Suffix trees are used for string searches. Our authors
                 describe how to build a generalized suffix tree data
                 structure using as few hardware resources as possible
                 while still approaching the time complexity derived in
                 theory. Additional resources include aa700.txt
                 (listings) and aa700.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2000:DEOg,
  author =       "Dennis E. Shasha",
  title =        "{Dr. Ecco}'s Omniheurist Corner: Wordsnakes",
  journal =      j-DDJ,
  volume =       "25",
  number =       "7",
  pages =        "143--144",
  month =        jul,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "Ecco and Liane take on the challenge of wordsnakes --
                 a list of words without repeats such that some suffix
                 of each word is a nonempty prefix of the next word in
                 the list.",
  acknowledgement = ack-nhfb,
}

@Article{Stallings:2000:PB,
  author =       "William Stallings",
  title =        "Programmer's Bookshelf: Frame Relay Wrap-up",
  journal =      j-DDJ,
  volume =       "25",
  number =       "7",
  pages =        "147--147",
  month =        jul,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "William examines recent books on frame relay
                 technology -- Frame Relay: Technology and Practice, by
                 Jeff Buckwalter; Frame Relay Networks, by Uyless Black;
                 Frame Relay for High-Speed Networks, by Walter
                 Goralski; and Frame Relay Internetworking, by Liza
                 Henderson and Tom Jenkins.",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2000:Ia,
  author =       "Shannon Cochran",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "25",
  number =       "7",
  pages =        "150--151",
  month =        jul,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  bibsource =    "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2000:SFR,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: The Rant at {Foo Bar}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "7",
  pages =        "152--152",
  month =        jul,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  URL =          "http://www.ddj.com/ddj/privacy.htm",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2000:EEE,
  author =       "Jonathan Erickson",
  title =        "Editorial: Extend, Embrace, Extinguish: Three Strikes
                 and You're Out",
  journal =      j-DDJ,
  volume =       "25",
  number =       "8",
  pages =        "8--8",
  month =        aug,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  bibsource =    "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Pollard:2000:LNF,
  author =       "W. Thomas Pollard and Jan Theodore Galkowski and John
                 Herbster and Scott Maxwell and Al Stevens and",
  title =        "Letters: Nanoseconds Not Fast Enough? Why Not
                 {Smalltalk}? Shared Responsibility for Virus Attacks;
                 {Mingw32}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "8",
  pages =        "10, 12",
  month =        aug,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  bibsource =    "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Baran:2000:NVIb,
  author =       "Nicholas Baran",
  title =        "News and Views: ``{Intelligent}'' Ink Dries to Form
                 Nanostucture; {Europeans} Look to Sci-Fi for New Ideas;
                 Computer Program Can Act on Brain Signals; Inventory of
                 Automatic Memory Protection [Richard Bloch] Passes
                 Away; Ingestible Camera Could Replace Standard
                 Endoscope",
  journal =      j-DDJ,
  volume =       "25",
  number =       "8",
  pages =        "18--18",
  month =        aug,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  bibsource =    "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Abrash:2000:IXG,
  author =       "Michael Abrash",
  title =        "Inside {Xbox} Graphics",
  journal =      j-DDJ,
  volume =       "25",
  number =       "8",
  pages =        "21--22, 24--26",
  month =        aug,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "Microsoft's upcoming Xbox game console has some pretty
                 impressive graphics capabilities. Michael ought to know
                 -- he's been developing the graphics internals for the
                 past few months.",
  acknowledgement = ack-nhfb,
}

@Article{Haines:2000:TIT,
  author =       "Eric Haines and Tomas M{\"o}ller",
  title =        "Triangle Intersection Tests",
  journal =      j-DDJ,
  volume =       "25",
  number =       "8",
  pages =        "32, 34, 36",
  month =        aug,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_08/tri_test.rtf;
                 http://www.ddj.com/ftp/2000/2000_08/tri_test.zip",
  abstract =     "Our authors provide an alternative to the classic
                 methods of testing whether a point is inside a
                 triangle. This new technique is based on barycentric
                 coordinates. Additional resources include tri\_test.rtf
                 (listings) and tri\_test.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Fomitchev:2000:ORT,
  author =       "Max I. Fomitchev",
  title =        "Optimizing {3Dnow!} Real-Time Graphics",
  journal =      j-DDJ,
  volume =       "25",
  number =       "8",
  pages =        "40, 42--46",
  month =        aug,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_08/3dnow.txt;
                 http://www.ddj.com/ftp/2000/2000_08/3dnow.zip",
  abstract =     "One approach to pumping up real-time 3D graphics
                 performance is AMD's 3DNow! technology, which adds
                 floating-point SIMD extensions to the original x86
                 instruction set. Max examines 3DNow! technology, then
                 provides guidelines for optimizing its performance even
                 more. Additional resources include 3dnow.rtf (listings)
                 and 3dnow.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Withers:2000:AIZ,
  author =       "Wm. Douglas Withers",
  title =        "Augural Image Zooming",
  journal =      j-DDJ,
  volume =       "25",
  number =       "8",
  pages =        "48, 50--54, 56, 58",
  month =        aug,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_08/aizoom.zip",
  abstract =     "Augural image zooming is a new method for zooming
                 images with a minimum of computation, while keeping
                 smooth regions smooth and sharp edges sharp. Additional
                 resources include aizoom.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Havewala:2000:AB,
  author =       "Aspi Havewala",
  title =        "Automated Builds",
  journal =      j-DDJ,
  volume =       "25",
  number =       "8",
  pages =        "60, 62--66, 68",
  month =        aug,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_08/autbuild.txt",
  abstract =     "Automated builds refer to a series of commands that
                 can be executed to compile and link source code into
                 its final deliverable format. Aspi discusses some
                 advantages of automated builds, and suggests some
                 features your builds can incorporate. Additional
                 resources include autbuild.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Nieh:2000:EV,
  author =       "Jason Nieh and Ozgur Can Leonard",
  title =        "Examining {VMware}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "8",
  pages =        "70, 72--74, 76",
  month =        aug,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "VMware is a virtual machine platform that provides an
                 abstraction of x86 PC hardware so that multiple
                 operating systems can run unmodified at the same time
                 on a standard PC. Among other things, this means you
                 can run Windows applications with Linux.",
  acknowledgement = ack-nhfb,
}

@Article{Alexander:2000:LIC,
  author =       "William F. Alexander",
  title =        "A {Linux IEEE 1394} Configuration {ROM} Decoder",
  journal =      j-DDJ,
  volume =       "25",
  number =       "8",
  pages =        "80, 82, 84",
  month =        aug,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_08/linx1394.txt;
                 http://www.ddj.com/ftp/2000/2000_08/linx1394.zip",
  abstract =     "William's DumpRom program is designed to read and
                 decode the configuration ROM of 1394 peripherals. He
                 presents the Linux implementation of DumpRom using an
                 OHCI 1394 controller. Additional resources include
                 linx1394.rtf (listings) and linx1394.zip (source
                 code).",
  acknowledgement = ack-nhfb,
}

@Article{Richter:2000:REN,
  author =       "H. Thomas Richter",
  title =        "Reliability and Embedded Networks",
  journal =      j-DDJ,
  volume =       "25",
  number =       "8",
  pages =        "86, 88, 90, 92, 94, 96",
  month =        aug,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_08/embednw.zip",
  abstract =     "Reliability requirements for embedded networks are
                 more critical than with nonembedded networks. Thomas
                 presents a new method for ensuring reliable
                 communication between hosts in small networked
                 environments. Additional resources include embednw.zip
                 (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Ross:2000:DFP,
  author =       "Darryl Ross and Con Zymaris",
  title =        "{DB Forms}: {PHP}, {MySQL}, and {PHPLIB}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "8",
  pages =        "98, 100--104",
  month =        aug,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_08/dbforms.txt;
                 http://www.ddj.com/ftp/2000/2000_08/dbforms.zip",
  abstract =     "Darryl and Con use the PHP server-side scripting
                 engine, MySQL database engine, and PHPLIB class
                 framework to build DB Forms, a reusable database
                 framework for writing web applications. Additional
                 resources include dbforms.rtf (listings) and
                 dbforms.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Crooks:2000:EGS,
  author =       "Clayton E. {Crooks II}",
  title =        "Examining the {$3$D Game Studio Toolkit}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "8",
  pages =        "106, 108--111",
  month =        aug,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "3D Game Studio from Conitec is a Win32-based authoring
                 system for creating interactive 3D applications.
                 Clayton uses it to build a typical three-room world
                 that includes actor movements.",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2000:PPD,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: Declarative Programming
                 Revisited",
  journal =      j-DDJ,
  volume =       "25",
  number =       "8",
  pages =        "113--117",
  month =        aug,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "C.J. Date's new book What Not How: The Business Rules
                 Approach to Application Development gets Michael
                 thinking about Prolog, declarative programming,
                 business rules, and the state of software development
                 in general.",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2000:CPT,
  author =       "Al Stevens",
  title =        "{C} Programming: Twelve Years and Still Complaining",
  journal =      j-DDJ,
  volume =       "25",
  number =       "8",
  pages =        "119--121",
  month =        aug,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "You'd think that after 12 years, Al would figure out
                 that complaining isn't worth the effort. But you have
                 to hand it to him -- he doesn't give up.",
  acknowledgement = ack-nhfb,
}

@Article{Vilar:2000:JQW,
  author =       "Alexandre Sieira Vilar",
  title =        "{Java Q\&A}: What's Object Pooling All About?",
  journal =      j-DDJ,
  volume =       "25",
  number =       "8",
  pages =        "123--124, 126, 128, 130",
  month =        aug,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_08/jqa800.txt;
                 http://www.ddj.com/ftp/2000/2000_08/jqa800.zip",
  abstract =     "Object pooling can be used very effectively to reduce
                 the number of garbage collection executions in a Java
                 application. And that reduction can deliver benefits in
                 terms of reduced processor usage and the absence of
                 unpredictable delays. Additional resources include
                 jqa800.rtf (listings) and jqa800.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Marrie:2000:AAA,
  author =       "Laurence Marrie",
  title =        "Algorithm Alley: Alternating Skip Lists",
  journal =      j-DDJ,
  volume =       "25",
  number =       "8",
  pages =        "133--136",
  month =        aug,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_08/aa800.zip",
  abstract =     "Alternating skip lists are an option anywhere balanced
                 search trees are appropriate. Laurence presents a
                 subset of std::set functionality using ASLs, and gives
                 a basic space/time comparison against a typical
                 red-black tree implementation. Additional resources
                 include aa800.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2000:DEOh,
  author =       "Dennis E. Shasha",
  title =        "{Dr. Ecco}'s Omniheurist Corner: Escape",
  journal =      j-DDJ,
  volume =       "25",
  number =       "8",
  pages =        "141--142",
  month =        aug,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "Nefarious criminals might be able to foil robotic
                 prison guards, but out-thinking Ecco and Liane is
                 another task altogether.",
  acknowledgement = ack-nhfb,
}

@Article{Wilson:2000:PBP,
  author =       "Gregory V. Wilson",
  title =        "Programmer's Bookshelf: {Python}, {C++}, and Other
                 Religions",
  journal =      j-DDJ,
  volume =       "25",
  number =       "8",
  pages =        "145--147",
  month =        aug,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "Python, C++, and a lot more are on Greg's mind this
                 month, as he examines The Quick Python Book, by Daryl
                 Harms and Kenneth McDonald; Python Annotated Archives,
                 by Martin C. Brown; Python Essential Reference, by
                 David M. Beazley; Python Programming on Win32, by Mark
                 Hammond and Andy Robinson; Efficient C++: Performance
                 Programming Techniques by Dov Bulka and David Mayhew;
                 Exceptional C++, by Herb Sutter; Core Jini, by W. Keith
                 Edwards; Designing Web Usability, by Jakob Nielsen;
                 Understanding Search Engines, by Michael W. Berry and
                 Murray Browne; Toward Zero-Defect Programming, by Allan
                 M. Stavely; and Game Architecture and Design, by Andrew
                 Rollings and Dave Morris.",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2000:Ib,
  author =       "Shannon Cochran",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "25",
  number =       "8",
  pages =        "150--151",
  month =        aug,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  bibsource =    "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2000:SFNb,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: No Formal Wear, No Nuns, No Chilly
                 Willy",
  journal =      j-DDJ,
  volume =       "25",
  number =       "8",
  pages =        "152--152",
  month =        aug,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Nov 9 08:25:16 MST 2000",
  URL =          "http://www.ddj.com/ddj/privacy.htm",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2000:ENY,
  author =       "Jonathan Erickson",
  title =        "Editorial: Now You {UCITA}, Now You Don't",
  journal =      j-DDJ,
  volume =       "25",
  number =       "9",
  pages =        "8--8",
  month =        sep,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
  keywords =     "Uniform Computer Information Transactions Act
                 (UCITA)",
}

@Article{Kiselyov:2000:LSI,
  author =       "Oleg Kiselyov",
  title =        "Letters: Smart Iterators",
  journal =      j-DDJ,
  volume =       "25",
  number =       "9",
  pages =        "10--10",
  month =        sep,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Barros:2000:LDD,
  author =       "Paulo Barros and Tim Kientzle and Paul Condon and Tony
                 Duarte",
  title =        "Letters: Database Debates",
  journal =      j-DDJ,
  volume =       "25",
  number =       "9",
  pages =        "10--10",
  month =        sep,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Gantz:2000:LM,
  author =       "Howard Gantz and William Fishburne",
  title =        "Letters: Margination",
  journal =      j-DDJ,
  volume =       "25",
  number =       "9",
  pages =        "10, 12",
  month =        sep,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Nov 10 05:32:35 2000",
  bibsource =    "http://www.ddj.com/",
  note =         "See \cite{Fishburne:2000:MPG}.",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2000:LWS,
  author =       "Anonymous",
  title =        "Letters: Worker Shortage",
  journal =      j-DDJ,
  volume =       "25",
  number =       "9",
  pages =        "12--12",
  month =        sep,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Baran:2000:NVNa,
  author =       "Nicholas Baran",
  title =        "News and Views: New Modem Standards Should Speed Up
                 {Internet} Access; Robocopter: {AI} Lifts Off; Feet
                 Don't Fail Me Now; {IBM} Claims World's Fastest
                 Supercomputer; New Color Displays Based on
                 Light-Emitting Polymers; {W3C} Moves Forward With
                 {XLink}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "9",
  pages =        "18--18",
  month =        sep,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
  keywords =     "ASCI White (12 Tflops)",
}

@Article{Kim:2000:CDE,
  author =       "Eugene Eric Kim",
  title =        "A Conversation With {Doug Engelbart}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "9",
  pages =        "21--22, 24, 26",
  month =        sep,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "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.",
  acknowledgement = ack-nhfb,
}

@Article{Siek:2000:GGC,
  author =       "Jeremy G. Siek and Lie-Quan Lee and Andrew Lumsdaine",
  title =        "The {Generic Graph Component Library}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "9",
  pages =        "29--30, 32--34, 36, 38",
  month =        sep,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_09/ggcl.txt;
                 http://www.ddj.com/ftp/2000/2000_09/ggcl21.zip",
  abstract =     "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. Additional resources include
                 ggcl.txt (listings) and ggcl21.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Bernardin:2000:AC,
  author =       "Laurent Bernardin",
  title =        "Analytical Computing",
  journal =      j-DDJ,
  volume =       "25",
  number =       "9",
  pages =        "42, 44, 46--48",
  month =        sep,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_09/analytic.txt",
  abstract =     "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. Additional resources include
                 analytic.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Birkett:2000:GCM,
  author =       "David S. Birkett",
  title =        "Graphing Calculators Meet {PCs}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "9",
  pages =        "52, 54, 56--58, 60, 62",
  month =        sep,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_09/maxwell.zip",
  abstract =     "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. Additional resources
                 include maxwell.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Rojas:2000:SKZ,
  author =       "Raul Rojas",
  title =        "Simulating {Konrad Zuse}'s Computers",
  journal =      j-DDJ,
  volume =       "25",
  number =       "9",
  pages =        "64, 66--69",
  month =        sep,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_09/z3.zip",
  abstract =     "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. Additional resources include
                 z3.zip (bytecodes).",
  acknowledgement = ack-nhfb,
}

@Article{Farmer:2000:FCA,
  author =       "Dan Farmer and Wietse Venema",
  title =        "Forensic Computer Analysis: An Introduction",
  journal =      j-DDJ,
  volume =       "25",
  number =       "9",
  pages =        "70, 72--75",
  month =        sep,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "Solving computer mysteries requires skills detectives
                 and programmers have in common -- logical thinking,
                 understanding cause and effect, and possessing an open
                 mind.",
  acknowledgement = ack-nhfb,
}

@Article{Spurgat:2000:WWC,
  author =       "Jeff Spurgat",
  title =        "Writing {Windows CE} Display Drivers",
  journal =      j-DDJ,
  volume =       "25",
  number =       "9",
  pages =        "76, 78--80, 82, 84",
  month =        sep,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_09/wincedd.txt;
                 http://www.ddj.com/ftp/2000/2000_09/wincedd.zip",
  abstract =     "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. Additional
                 resources include wincedd.txt (listings) and
                 wincedd.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Pashea:2000:MCM,
  author =       "Michael Pashea",
  title =        "Microcontrollers and {CORDIC} Methods",
  journal =      j-DDJ,
  volume =       "25",
  number =       "9",
  pages =        "86, 88--90, 92",
  month =        sep,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_09/cordic.txt;
                 http://www.ddj.com/ftp/2000/2000_09/cordic.zip",
  abstract =     "CORDIC algorithms are efficient in terms of both
                 computation time and hardware resources -- and in most
                 microcontroller systems, these resources are normally a
                 premium. Additional resources include cordic.txt
                 (listings) and cordic.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Cox:2000:IWP,
  author =       "David Cox",
  title =        "Integrating {Web} Pages With Databases",
  journal =      j-DDJ,
  volume =       "25",
  number =       "9",
  pages =        "94, 96--98",
  month =        sep,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_09/ceres.txt;
                 http://www.ddj.com/ftp/2000/2000_09/ceres.zip",
  abstract =     "E-commerce is mostly about using and interacting with
                 databases. David presents some unique approaches in
                 integrating a database with web sites. Additional
                 resources include ceres.txt (listings) and ceres.zip
                 (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Soref:2000:ESD,
  author =       "Jeremy Soref and Sheridan Adjei",
  title =        "Electronic Software Distribution",
  journal =      j-DDJ,
  volume =       "25",
  number =       "9",
  pages =        "100, 102--106",
  month =        sep,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_09/license.txt",
  abstract =     "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. Additional
                 resources include license.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2000:PPPb,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: Paradigms Lost and Regained",
  journal =      j-DDJ,
  volume =       "25",
  number =       "9",
  pages =        "109--112",
  month =        sep,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "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.",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2000:CPW,
  author =       "Al Stevens",
  title =        "{C} Programming: Into the World of {MP3}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "9",
  pages =        "115--116, 118, 120",
  month =        sep,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "It was only a matter of time before ``Me, Myself, and
                 Al'' surfaced, as our intrepid programmer meets our
                 intrepid musician.",
  acknowledgement = ack-nhfb,
}

@Article{Fox:2000:JQW,
  author =       "Joshua Fox",
  title =        "{Java Q\&A}: So What is {{\tt SO\_KEEPALIVE}}?",
  journal =      j-DDJ,
  volume =       "25",
  number =       "9",
  pages =        "123--126, 128, 130",
  month =        sep,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_09/jqa0900.txt;
                 http://www.ddj.com/ftp/2000/2000_09/jqa0900.zip",
  abstract =     "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. Additional resources
                 include jqa0900.txt (listings) and jqa0900.zip (source
                 code).",
  acknowledgement = ack-nhfb,
}

@Article{Gutman:2000:AAE,
  author =       "Ron Gutman",
  title =        "Algorithm Alley: Exploiting 64-Bit Parallelism",
  journal =      j-DDJ,
  volume =       "25",
  number =       "9",
  pages =        "133--134, 136",
  month =        sep,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_09/aa0900.txt",
  abstract =     "Ron presents techniques for exploiting the parallelism
                 of bitwise operations to speed up some kinds of 64-bit
                 computing tasks. Additional resources include
                 aa0900.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2000:Ic,
  author =       "Shannon Cochran",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "25",
  number =       "9",
  pages =        "138--139",
  month =        sep,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2000:DEOi,
  author =       "Dennis E. Shasha",
  title =        "{Dr. Ecco}'s Omniheurist Corner: Chimps",
  journal =      j-DDJ,
  volume =       "25",
  number =       "9",
  pages =        "142--143",
  month =        sep,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "Ecco and Liane go ape over chimps in this month's
                 installment.",
  acknowledgement = ack-nhfb,
}

@Article{Reilly:2000:PBD,
  author =       "Doug Reilly",
  title =        "Programmer's Bookshelf: Data Is What It Is All About",
  journal =      j-DDJ,
  volume =       "25",
  number =       "9",
  pages =        "145--146",
  month =        sep,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "Doug examines a pair of data-centric books: {\em
                 Guru's Guide to Transact-SQL}, by Ken Henderson; and
                 {\em Mastering Data Mining}, by Michael J.A. Berry and
                 Gordon S. Linoff.",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2000:SFT,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: The Tenors",
  journal =      j-DDJ,
  volume =       "25",
  number =       "9",
  pages =        "152--152",
  month =        sep,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  URL =          "http://www.ddj.com/ddj/privacy.htm",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2000:ESD,
  author =       "Jonathan Erickson",
  title =        "Editorial: Software Development: Principles and
                 Practice",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "8--8",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Wilkinson:2000:LFS,
  author =       "Dennis Wilkinson and Stefan Nilsson and Murray Lesser
                 and Kerry L. Bonin and Jonathan Erickson and Jeff Davis
                 and Ze'ev Atlas",
  title =        "Letters: Fast Sorting; {Microsoft}: Arrogant or Dumb?;
                 Patents: Myth versus Reality",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "10, 12",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Baran:2000:NVNb,
  author =       "Nicholas Baran",
  title =        "News and Views: Neural Net Crowned King; Smart Shirts
                 Monitor Vital Signs; {McMaster} Team Wins College
                 Design Contest; {Java} Applet Tracks Space Station;
                 {Sandia Red Team} Batting 1000; New Digital Geometry
                 Compression Algorithm",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "18--18",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Wiltamuth:2000:CPL,
  author =       "Scott Wiltamuth",
  title =        "The {C\#} Programming Language",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "21--22, 24, 26, 28, 30--32",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_10/cshrp.txt",
  abstract =     "Microsoft's C\# programming language promises the
                 power of C++ with the productivity of Visual Basic.
                 Scott builds a Stack class that demonstrates important
                 aspects of the language. Additional resources include
                 cshrp.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Maddock:2000:CTT,
  author =       "John Maddock and Steve Cleary",
  title =        "{C++} Type Traits",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "38, 40, 42, 44",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_10/cpptt.txt",
  abstract =     "Generic programming does not have to sink to the
                 lowest common denominator. And therein lies the value
                 of type traits. Additional resources include cpptt.txt
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Sutter:2000:MN,
  author =       "Herb Sutter",
  title =        "Migrating To Namespaces",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "48, 50, 52",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_10/namespac.txt",
  abstract =     "If you aren't familiar with C++ namespaces, you should
                 be because most compilers now support them. Additional
                 resources include namespac.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Mitchell:2000:TBA,
  author =       "Mark Mitchell",
  title =        "Type-Based Alias Analysis",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "54, 56, 58--60",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_10/alias.txt",
  abstract =     "Aliasing issues make it difficult for compilers to
                 generate code that runs as fast as you might hope.
                 Luckily, the C++ type system makes clear what can and
                 cannot alias. Additional resources include alias.txt
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Truong:2000:MCP,
  author =       "Derek Truong and Allen Chan",
  title =        "Measuring {C++} Program Efficiency",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "62, 64--67",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_10/cppmetric.zip",
  abstract =     "Our authors describe an interactive C++ metrics tool
                 that makes automated metrics gathering a natural part
                 of the development process. Additional resources
                 include cppmetric.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Farmer:2000:WM,
  author =       "Dan Farmer",
  title =        "What Are {MACtimes}?",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "68, 70--74",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "MACtimes are perhaps one of the most potentially
                 valuable forensic tools in your digital detective
                 toolkit. Dan shows how to use them.",
  acknowledgement = ack-nhfb,
}

@Article{Vlissides:2000:MC,
  author =       "John Vlissides",
  title =        "{McConnell} Complete",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "76, 78, 80--81",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "Steve McConnell takes time to talk with us about what
                 it means to be a programmer, entrepreneur, consultant,
                 educator, author, and editor.",
  acknowledgement = ack-nhfb,
}

@Article{Williams:2000:TII,
  author =       "Al Williams",
  title =        "The {TINI Internet} Interface",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "82, 84, 86, 88",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_10/tini.txt",
  abstract =     "Need to build an Internet appliance? Dallas
                 Semiconductor's Tiny InterNet Interface (TINI) board --
                 that includes a Java-capable CPU, 512 K of nonvolatile
                 memory, and an Ethernet transceiver -- may be the place
                 to start. Additional resources include tini.txt
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Metzger:2000:PC,
  author =       "James Metzger and William Wright",
  title =        "Portability In {C}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "92, 94, 96--98",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_10/cport.txt",
  abstract =     "James and William present techniques they've developed
                 to achieve portability of a real-time signal processing
                 software system consisting of over 300,000 lines of C
                 code. Additional resources include cport.txt
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Bloom:2000:UAP,
  author =       "Ryan Bloom",
  title =        "Using {Apache} Portable Run-Time",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "100, 102, 104--106",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_10/aprt.txt",
  abstract =     "Ryan examines the Apache Portable Run-Time, a library
                 that is designed to address the Apache web server's
                 portability problems. Additional resources include
                 aprt.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Simpson:2000:CVC,
  author =       "Michael Simpson",
  title =        "{CVS} Version Control and Branch Management",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "108, 110--114",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "Michael describes how branching and merging works in
                 CVS, a widely used GNU source-code control system.",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2000:PPAb,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: All Those Zombies",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "117--120",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "Zombies come out of the woodwork as Michael looks at
                 the history of the personal computer.",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2000:CPSd,
  author =       "Al Stevens",
  title =        "{C} Programming: Shareware, Adware, Spyware",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "123--124, 126, 128, 130",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "Al shares what he heard at the annual Shareware
                 Conference.",
  acknowledgement = ack-nhfb,
}

@Article{Moss:2000:JQ,
  author =       "Karl Moss",
  title =        "{Java Q\&A}: How Can {I} Measure {Java} Code
                 Performance?",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "135--136, 138, 140--142, 144",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_10/jqa010.txt",
  abstract =     "How can you measure Java code performance? Karl
                 examines techniques for instrumenting Java code at run
                 time. Additional resources include jqa010.txt
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Wincelberg:2000:AAA,
  author =       "David Wincelberg",
  title =        "Algorithm Alley: Alphanumeric Ordering",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "147--150",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_10/aa010.txt",
  abstract =     "David first presents a simple alphanumeric-ordering
                 function, then describes another function suitable for
                 comparing long filenames. Additional resources include
                 aa010.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2000:DEOj,
  author =       "Dennis E. Shasha",
  title =        "{Dr. Ecco}'s Omniheurist Corner: Beasts",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "155--157",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "Saving the X-mammal is the challenge that Liane and
                 Dr. Ecco face this month.",
  acknowledgement = ack-nhfb,
}

@Article{Roth:2000:PBT,
  author =       "Peter N. Roth",
  title =        "Programmer's Bookshelf: Two-Year Olds",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "159--160",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "Books about the C++ STL are Peter's focus, as he
                 examines STL for C++ Programmers, by Leen Ammeraal;
                 Data Structure Programming, by Joseph Bergin; Designing
                 Components With The C++ STL, by Ulrich Breymann; Data
                 Structures In C++ Using The STL, by Timothy Budd; and
                 Using the STL, by Robert Robson.",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2000:Id,
  author =       "Shannon Cochran",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "166--167",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2000:SFDb,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: Disgusting {Canadians}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "168--168",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  URL =          "http://www.ddj.com/ddj/privacy.htm",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2000:TCP,
  author =       "Shannon Cochran",
  title =        "Top 10 Cities For Programmers",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "??--??",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Green:2000:JC,
  author =       "Marcus Green and David Hecksel",
  title =        "{Java} Certification",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "??--??",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Kaplan:2000:FBS,
  author =       "John Kaplan",
  title =        "Finding The Best Software Developers",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "??--??",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2000:ECM,
  author =       "Jonathan Erickson",
  title =        "Editorial: Cat and Mouse Games",
  journal =      j-DDJ,
  volume =       "25",
  number =       "11",
  pages =        "8--8",
  month =        nov,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  bibsource =    "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Hadzic:2000:LGA,
  author =       "Mirza Hadzic and Phil Bagwell and Andrew D. Todd and
                 Berney Williams and Murray Lesser",
  title =        "Letters: Graphics Algorithms; Exploiting 64-bit
                 Parallelism; Worker Shortage; Computer History; Analog
                 versus Digital",
  journal =      j-DDJ,
  volume =       "25",
  number =       "11",
  pages =        "10, 12",
  month =        nov,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  bibsource =    "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Baran:2000:NVC,
  author =       "Nicholas Baran",
  title =        "News and Views: Computing Problem Solved; {Scalable
                 Vecotr Graphics} Spec Released; {Intel} Announces
                 {XScale} Microarchitecture; {Windows} Not the Only
                 Target at {LinuxWorld}; {NIST}, Robotics Industry Move
                 Towards Interoperability",
  journal =      j-DDJ,
  volume =       "25",
  number =       "11",
  pages =        "18--18",
  month =        nov,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  bibsource =    "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
  keywords =     "quadratic assignment problem; NUG30",
}

@Article{Rubin:2000:KVL,
  author =       "Aviel D. Rubin",
  title =        "{Kerberos} Versus the {Leighton-Micali} Protocol",
  journal =      j-DDJ,
  volume =       "25",
  number =       "11",
  pages =        "21--22, 24, 26",
  month =        nov,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "Although more complicated, the Leighton-Micali
                 protocol is more elegant, efficient, and secure than
                 the venerable Kerberos security protocol.",
  acknowledgement = ack-nhfb,
}

@Article{Stallings:2000:SSC,
  author =       "William Stallings",
  title =        "The {SET Standard} and {E}-Commerce",
  journal =      j-DDJ,
  volume =       "25",
  number =       "11",
  pages =        "30, 32, 34, 36",
  month =        nov,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "The Secure Electronic Transaction (SET) is an open
                 encryption and security specification designed to
                 protect credit-card transactions on the Internet.",
  acknowledgement = ack-nhfb,
}

@Article{DeCarmo:2000:SPP,
  author =       "Linden DeCarmo",
  title =        "Security Protocols and Performance",
  journal =      j-DDJ,
  volume =       "25",
  number =       "11",
  pages =        "40, 44, 46, 48",
  month =        nov,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "Security protocols can be performance assassins.
                 Linden examines several multimedia security protocols,
                 and explains why they can devastate performance.",
  acknowledgement = ack-nhfb,
}

@Article{Nerurkar:2000:SAD,
  author =       "Uttara Nerurkar",
  title =        "Security Analysis and Design",
  journal =      j-DDJ,
  volume =       "25",
  number =       "11",
  pages =        "50, 52, 54, 56",
  month =        nov,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "The security-design techniques Uttara presents here
                 provide a way of modeling security by extending the
                 functional model of the system, instead of divorcing
                 one from the other.",
  acknowledgement = ack-nhfb,
}

@Article{Calbucci:2000:WSD,
  author =       "Marcelo Calbucci",
  title =        "{Windows 2000} Security Descriptors",
  journal =      j-DDJ,
  volume =       "25",
  number =       "11",
  pages =        "57--58, 60, 63, 66",
  month =        nov,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_11/sdw2k.txt;
                 http://www.ddj.com/ftp/2000/2000_11/sdw2k.zip",
  abstract =     "Central to Windows 2000 security are Security
                 Descriptors -- structures and associated data that
                 contain the security information for securable objects.
                 Additional resources include sdw2k.txt (listings) and
                 sdw2k.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Wendt:2000:MP,
  author =       "David Wendt",
  title =        "Multilanguage Programming",
  journal =      j-DDJ,
  volume =       "25",
  number =       "11",
  pages =        "68, 70--74, 76",
  month =        nov,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_11/mldll.txt;
                 http://www.ddj.com/ftp/2000/2000_11/mldll.zip",
  abstract =     "David presents a technique that lets multiple language
                 resources be built into a single resource DLL and
                 automatically referenced by Windows applications.
                 Additional resources include mldll.txt (listings) and
                 mldll.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Venema:2000:SN,
  author =       "Wietse Venema",
  title =        "Strangers In The Night",
  journal =      j-DDJ,
  volume =       "25",
  number =       "11",
  pages =        "82, 84--88",
  month =        nov,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "There's no telling what intruders might leave behind
                 when they break into your system overnight. Wietse
                 describes how he analyzed an unknown program left
                 behind by one intruder.",
  acknowledgement = ack-nhfb,
}

@Article{Konolige:2000:RCC,
  author =       "Kurt Konolige and Jeanne Dietsch and William Kennedy",
  title =        "Robot Control and {Colbert}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "11",
  pages =        "90, 94, 96, 98",
  month =        nov,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_11/robot.txt",
  abstract =     "Robot control programs take a robot's sensory input,
                 process it, and decide which motor actions the robot
                 will perform. Our authors use the Colbert sequencer
                 language to develop control code. Additional resources
                 include robot.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Schotland:2000:EHC,
  author =       "Tom Schotland and Peter Petersen",
  title =        "Exception Handling In {C} Without {C++}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "11",
  pages =        "102, 104, 106, 108, 110, 112",
  month =        nov,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_11/except.txt;
                 http://www.ddj.com/ftp/2000/2000_11/except.zip",
  abstract =     "Error handling is an important issue in embedded
                 systems, and can account for a substantial portion of a
                 project's code. Our authors describe how they designed
                 and implemented an exception-handling library.
                 Additional resources include except.txt (listings) and
                 except.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Hallerdal:2000:WII,
  author =       "Martin Hallerdal",
  title =        "{WebDAV}, {IIS}, and {ISAPI} Filters",
  journal =      j-DDJ,
  volume =       "25",
  number =       "11",
  pages =        "114, 116--119",
  month =        nov,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_11/webdav.txt;
                 http://www.ddj.com/ftp/2000/2000_11/webdav.zip",
  abstract =     "The web-based Distributed Authoring and Versioning
                 (WebDAV) specification defines a set of extensions to
                 the HTTP protocol that let you collaboratively edit and
                 manage files on remote web servers. Additional
                 resources include webdav.txt (listings) and webdav.zip
                 (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Bradski:2000:OL,
  author =       "Gary Bradski",
  title =        "The {OpenCV} Library",
  journal =      j-DDJ,
  volume =       "25",
  number =       "11",
  pages =        "120, 122--125",
  month =        nov,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_11/opencv.txt",
  abstract =     "OpenCV is an open-source, computer-vision library for
                 extracting and processing meaningful data from images.
                 Additional resources include opencv.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2000:PPCb,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: Childhood's End",
  journal =      j-DDJ,
  volume =       "25",
  number =       "11",
  pages =        "127--130",
  month =        nov,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "To hear Michael talk about it, you'd think interactive
                 toys and open source are kid's stuff.",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2000:CPB,
  author =       "Al Stevens",
  title =        "{C} Programming: Building {Quincy 2000}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "11",
  pages =        "133--134, 136",
  month =        nov,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "Al gets back on track in updating his Quincy IDE that
                 hosts the GNU C/C++ compiler suite of tools on the
                 Win32 platform.",
  acknowledgement = ack-nhfb,
}

@Article{Jennings:2000:JQH,
  author =       "Mike Jennings",
  title =        "{Java Q\&A}: How Do {I} Establish a Net Connection?",
  journal =      j-DDJ,
  volume =       "25",
  number =       "11",
  pages =        "141--142, 144--147",
  month =        nov,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_11/jqa0011.txt;
                 http://www.ddj.com/ftp/2000/2000_11/jqa0011.zip",
  abstract =     "How can you establish a network connection using Java?
                 Mike shows how. Additional resources include
                 jqa0011.txt (listings) and jqa0011.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Ananiev:2000:AAG,
  author =       "Alexander Ananiev",
  title =        "Algorithm Alley: {A} Generic Iterator for Tree
                 Traversal",
  journal =      j-DDJ,
  volume =       "25",
  number =       "11",
  pages =        "149--152, 154",
  month =        nov,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_11/aa0011.txt",
  abstract =     "Generic tree traversal logic can be used with any type
                 of tree-like structure or tree node, letting you focus
                 on the application logic rather than the internals of
                 the tree structure organization. Additional resources
                 include aa0011.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2000:DEOk,
  author =       "Dennis E. Shasha",
  title =        "{Dr. Ecco}'s Omniheurist Corner: Mint",
  journal =      j-DDJ,
  volume =       "25",
  number =       "11",
  pages =        "156--157",
  month =        nov,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "Making money is the challenge Ecco and Liane are faced
                 with this month.",
  acknowledgement = ack-nhfb,
}

@Article{Wilson:2000:PBC,
  author =       "Gregory V. Wilson",
  title =        "Programmer's Bookshelf: Classics Old and New",
  journal =      j-DDJ,
  volume =       "25",
  number =       "11",
  pages =        "159--160",
  month =        nov,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "This month Greg looks at Programming Pearls, Second
                 Edition, by Jon Bentley; Foundations of Multithreaded,
                 Parallel, and Distributing Programming, by Gregory R.
                 Andrews; GUI Bloopers, by Jeff Johnson; The Humane
                 Interface, by Jef Raskin; Legal Battles That Shaped the
                 Software Industry, by Lawrence D. Graham; The World of
                 Scripting Languages, by David Barron; C for Java
                 Programmers, by Tomasz Muldner; and XML Elements of
                 Style, by Simon St. Laurent.",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2000:Ie,
  author =       "Shannon Cochran",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "25",
  number =       "11",
  pages =        "166--167",
  month =        nov,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  bibsource =    "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2000:SFA,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: Acrophilia",
  journal =      j-DDJ,
  volume =       "25",
  number =       "11",
  pages =        "168--168",
  month =        nov,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  URL =          "http://www.ddj.com/ddj/privacy.htm",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2000:EWP,
  author =       "Jonathan Erickson",
  title =        "Editorial: Webcasting in Present and Future Tense",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12",
  pages =        "8--8",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  bibsource =    "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Kiselyov:2000:LZA,
  author =       "Oleg Kiselyov and Charles Dorcey and Ron Gutman and
                 Eric Haines and Tomas M{\"o}ller and Peter Varhol and
                 Edward Harned and M. Jojje",
  title =        "Letters: {Zuse} Accolades; Exploiting 64-bit
                 Parallelism; Triangle Correction; Computer Science
                 versus Programming; {Microsoft} Made Its Own Bed;
                 Client\slash Server Tip",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12",
  pages =        "10--12",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  bibsource =    "http://www.ddj.com/",
  note =         "See \cite{}.",
  acknowledgement = ack-nhfb,
}

@Article{Baran:2000:NVR,
  author =       "Nicholas Baran",
  title =        "News and Views: {RSA} Algorithm in the Public Domain;
                 {Woz} Joins the {Inventors Hall of Fame}; Entangled
                 Photons Mean Faster, Smaller {ICs}; {BEHEMOTH}
                 Mothballed; {Advanced Encryption Standard} Selected;
                 {SGI} Releases {SDK} as Open Source; {WSDL} Spec
                 Released",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12",
  pages =        "18--18",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  bibsource =    "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
  keywords =     "Advanced Encryption Standard (AES); Big Electronic
                 Human-Energized Machine (BEHEMOTH) [computerized
                 bicycle]; Rivest-Shamir-Adleman (RSA); Steve Wozniak;
                 Web Services Description Language (WSDL)",
}

@Article{Epplin:2000:IDH,
  author =       "Jerry Epplin",
  title =        "Inside {Debian Hurd}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12",
  pages =        "21--22, 24, 26",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "Debian is a freely available operating system,
                 currently built around on the Linux kernel, that
                 achieves flexibility by adhering to standard POSIX
                 interfaces. And because Debian is kernel independent,
                 the Hurd -- a collection of servers that run on top of
                 the microkernel -- can also be used with the Debian
                 distribution.",
  acknowledgement = ack-nhfb,
}

@Article{Mondal:2000:PAU,
  author =       "Abdul Sakib Mondal",
  title =        "Porting Across {UNIX} and {Win32}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12",
  pages =        "30, 32, 34, 36",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_12/portuw.txt;
                 http://www.ddj.com/ftp/2000/2000_12/portuw.zip",
  abstract =     "Even though UNIX and Win32 are the most common desktop
                 operating systems around, applications written for one
                 platform usually do not work on the other. Abdul ports
                 a load-balancing application first from Sun OS to
                 Linux, then from Linux to Win32. Additional resources
                 include portuw.txt (listings) and portuw.zip (source
                 code).",
  acknowledgement = ack-nhfb,
}

@Article{Milewski:2000:WCI,
  author =       "Bartosz Milewski",
  title =        "The {Windows 2000} Content Index",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12",
  pages =        "40, 42, 44--46",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "The Microsoft Content Index is a search engine
                 integrated into Windows 2000. Bartosz, who was on the
                 Content Index design and implementation team, describes
                 its requirement set, design principles, and technical
                 details.",
  acknowledgement = ack-nhfb,
}

@Article{Wurmsdobler:2000:MMR,
  author =       "Peter Wurmsdobler and Nicholas McGuire",
  title =        "{MiniRTL}: {A} Minimal Real-Time {Linux}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12",
  pages =        "48, 50, 52, 54",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_12/minirtl.txt",
  abstract =     "MiniRTL, short for ``Minimum Real-time Linux,'' is a
                 real-time Linux implementation that fits on a single
                 floppy disk. Additional resources include minirtl.txt
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Sipe:2000:VLW,
  author =       "Steve Sipe",
  title =        "Virtual Lists For {Win32}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12",
  pages =        "56, 58, 61",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_12/vlist.zip",
  abstract =     "Steve presents CVListCtrl, a class that works in
                 conjunction with the Win32 listview control to provide
                 a virtual list implementation. Unlike normal lists, a
                 virtual list only contains a handful of visible items
                 at any one time. Additional resources include vlist.zip
                 (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Webb:2000:MFC,
  author =       "Chilton Webb",
  title =        "The {MacOS Find-By-Content Engine}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12",
  pages =        "62--63",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "The Find-By-Content engine that's part of the MacOS is
                 a system-level search facility that you can embed in
                 your applications.",
  acknowledgement = ack-nhfb,
}

@Article{Mount:2000:ADP,
  author =       "John Mount",
  title =        "Automatic Detection Of Potential Deadlock",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12",
  pages =        "64, 66--70, 72",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_12/deadlock.txt;
                 http://www.ddj.com/ftp/2000/2000_12/deadlock.zip",
  abstract =     "Deadlock can occur when a number of consumers
                 (typically threads) access a set of resources in an
                 unacceptable pattern. To combat it, John presents a
                 solution based on run-time lock analysis that analyzes
                 all transactions. Additional resources include
                 deadlock.txt (listings) and deadlock.zip (source
                 code).",
  acknowledgement = ack-nhfb,
}

@Article{Venema:2000:FRT,
  author =       "Wietse Venema",
  title =        "File Recovery Techniques",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12",
  pages =        "74, 76--80",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "Wietse investigates the topic of file recovery by
                 reconstructing past behavior and examining deleted file
                 access time patterns and other attributes.",
  acknowledgement = ack-nhfb,
}

@Article{Vidales:2000:DEI,
  author =       "Carlos E. Vidales and Eugene M. Farrelly",
  title =        "The {Digita OS}: An Extensible Imaging Platform",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12",
  pages =        "82, 84, 86, 89--90",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_12/digitaos.txt",
  abstract =     "The Digita operating system from Flashpoint is
                 designed for digital cameras. It supports all the basic
                 camera features (including a GUI), and lets you extend
                 the functionality of devices through scripts and
                 applications. Additional resources include digitaos.txt
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Christie:2000:BAD,
  author =       "Stewart Christie",
  title =        "Building an {OS}-Aware Debugger",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12",
  pages =        "94, 96, 98, 100, 102, 104, 106",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_12/osdebug.txt",
  abstract =     "Debugging applications developed to run under
                 real-time operating systems can be difficult, but
                 making debuggers ``operating-system aware'' can ease
                 the process. Additional resources include osdebug.txt
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Michaels:2000:PC,
  author =       "Laura Michaels",
  title =        "{POP3} For {C++}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12",
  pages =        "109--110",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_12/cpppop3.zip",
  abstract =     "Laura presents a POP3 implementation written in C++
                 that you can use for your POP3 client or library to
                 handle SMTP or FTP or some other well-known Internet
                 protocol. Additional resources include cpppop3.zip
                 (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Stanley-Marbell:2000:IAD,
  author =       "Phillip Stanley-Marbell",
  title =        "{Inferno} Application Development With {Limbo}",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12",
  pages =        "113--114, 116, 118, 120",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_12/inferno.txt",
  abstract =     "Inferno is a distributed OS for networked devices and
                 Internet appliances, and applications for it are
                 written in a programming language called ``Limbo.''
                 Additional resources include inferno.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2000:PPO,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: Oeuvre Interest",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12",
  pages =        "123--126",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "In addition to taking a look at Apple's public beta of
                 its MacOS X operating system, Michael shares some
                 thoughts about Jef Raskin's The Humane Interface and
                 James Burke's The Knowledge Web.",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2000:CPQ,
  author =       "Al Stevens",
  title =        "{C} Programming: {Quincy 2000}: Customizing the Print
                 Dialogs",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12",
  pages =        "129--130, 132, 134, 136, 138--139",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_12/cprog012.txt",
  abstract =     "While customizing Quincy 2000's Print dialogs isn't
                 necessarily a day at the beach, it is still a boat load
                 of fun. Additional resources include cprog012.txt
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Calsavara:2000:JQH,
  author =       "Alexandre Pereira Calsavara",
  title =        "{Java Q\&A}: How Can {I} Extend {Java}'s Search
                 Capabilities?",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12",
  pages =        "141--142, 144, 146",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_12/jqa0012.zip",
  abstract =     "String searching is a basic operation for just about
                 any application. Alexandre presents a small class that
                 uses regular expressions to add powerful string search
                 capabilities to Java. Additional resources include
                 jqa0012.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Rolfe:2000:AAA,
  author =       "Timothy Rolfe",
  title =        "Algorithm Alley: {AVL} Trees",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12",
  pages =        "149--152",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  URL =          "http://www.ddj.com/ftp/2000/2000_12/aa0012.txt",
  abstract =     "If you need fast searching capabilities, AVL trees
                 might just be what you're looking for. Additional
                 resources include aa0012.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2000:DEOl,
  author =       "Dennis E. Shasha",
  title =        "{Dr. Ecco}'s Omniheurist Corner: Causality",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12",
  pages =        "155--156",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "Genetics, protein networks, and a Russian physicist
                 are among the challenges Ecco and Liane face this
                 month.",
  acknowledgement = ack-nhfb,
}

@Article{Grinzo:2000:PBG,
  author =       "Lou Grinzo and Jacques Surveyer",
  title =        "Programmer's Bookshelf: {GNU} Tools and Process
                 Patterns",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12",
  pages =        "159--160",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  bibsource =    "http://www.ddj.com/",
  abstract =     "Lou takes a look at Tom Swan's GNU C++ for Linux, by
                 (you guessed it) Tom Swan, while Jacques examines Scott
                 Ambler's Process Patterns: Building Large Scale Systems
                 Using Object Technology.",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2000:If,
  author =       "Shannon Cochran",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12",
  pages =        "166--167",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  bibsource =    "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2000:SFC,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: {Carly}'s Way",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12",
  pages =        "168--168",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:25 MST 2000",
  URL =          "http://www.ddj.com/ddj/privacy.htm",
  acknowledgement = ack-nhfb,
}

@Article{Baran:2000:ERP,
  author =       "Nicholas Baran",
  title =        "Editorial: Research and the Profit Motive",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12 (supplement)",
  pages =        "4--4",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 08 18:09:45 2000",
  acknowledgement = ack-nhfb,
}

@Article{Kim:2000:FP,
  author =       "Eugene Eric Kim",
  title =        "The Future of Programming",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12 (supplement)",
  pages =        "6--9",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 08 18:09:45 2000",
  acknowledgement = ack-nhfb,
}

@Article{Reed:2000:PMC,
  author =       "Mark Reed",
  title =        "The Promise of Molecular Computing",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12 (supplement)",
  pages =        "13--15",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 08 18:09:45 2000",
  acknowledgement = ack-nhfb,
}

@Article{Bloom:2000:HLP,
  author =       "Bard Bloom and Jim Russell and John Vlissides and Mark
                 Wegman",
  title =        "High-Level Program Development",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12 (supplement)",
  pages =        "17--21",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 08 18:09:45 2000",
  acknowledgement = ack-nhfb,
}

@Article{Scott:2000:IUI,
  author =       "Neil Scott",
  title =        "Innovations in User Interfaces",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12 (supplement)",
  pages =        "23--27",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 08 18:09:45 2000",
  acknowledgement = ack-nhfb,
}

@Article{Cory:2000:CQP,
  author =       "David Cory and Raymond Laflamme",
  title =        "Computing with Quantum Physics",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12 (supplement)",
  pages =        "29--32",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 08 18:09:45 2000",
  acknowledgement = ack-nhfb,
}

@Article{Schneier:2000:SRF,
  author =       "Bruce Schneier",
  title =        "Security Research and the Future",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12 (supplement)",
  pages =        "33--35",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 08 18:09:45 2000",
  acknowledgement = ack-nhfb,
  keywords =     "cryptography",
}

@Article{Wadler:2000:NLO,
  author =       "Philip Wadler",
  title =        "New Languages, Old Logic",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12 (supplement)",
  pages =        "37--41",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 08 18:09:45 2000",
  acknowledgement = ack-nhfb,
}

@Article{Gold:2000:XPI,
  author =       "Rich Gold",
  title =        "{Xerox PARC} at 30: Inside a Research Lab",
  journal =      j-DDJ,
  volume =       "25",
  number =       "12 (supplement)",
  pages =        "42--46, 48",
  month =        dec,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 08 18:09:45 2000",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2001:ERF,
  author =       "Jonathan Erickson",
  title =        "Editorial: Realizable Fantasies",
  journal =      j-DDJ,
  volume =       "26",
  number =       "1",
  pages =        "8--8",
  month =        jan,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:40 MST 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Herzberg:2001:LSR,
  author =       "Amir Herzberg and Jerry Whiting and Andrew D. Todd and
                 Jose Melo de Assis Fonseca and Eddie Edwards and
                 {\O}yvind Teig",
  title =        "Letters: {SET} Realities and {CueCat} and {C++}
                 Namespaces and {C++} Aliasing",
  journal =      j-DDJ,
  volume =       "26",
  number =       "1",
  pages =        "10, 12",
  month =        jan,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:40 MST 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Baran:2001:NVE,
  author =       "Nicholas Baran",
  title =        "News and Views: The Explosion of Digital Information;
                 New Algorithm Can Handle Genetic Data; {MP3} Creators
                 Win {German Future Prize}; Optical Breakthrough in
                 Quantum Computing; {Fibre Channel Standard} Closer to
                 Reality; {NSF} Funds Information Technology Projects",
  journal =      j-DDJ,
  volume =       "26",
  number =       "1",
  pages =        "18--18",
  month =        jan,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:40 MST 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Kim:2001:PPR,
  author =       "Eugene Eric Kim",
  title =        "Programming and the {PC} Revolution",
  journal =      j-DDJ,
  volume =       "26",
  number =       "1",
  pages =        "21--22, 24, 30, 32, 34, 36, 38",
  month =        jan,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:40 MST 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Twenty-five years ago, computer programming was
                 big-iron heavy --- then the personal computer came
                 along and everything changed. In this special
                 anniversary retrospective, Eugene Kim looks back at
                 what computing was like then, and DDJ 's role in that
                 revolution.",
  acknowledgement = ack-nhfb,
}

@Article{Thomas:2001:PR,
  author =       "Dave Thomas and Andy Hunt",
  title =        "Programming in {Ruby}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "1",
  pages =        "44, 46, 48--51",
  month =        jan,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:40 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_01/ruby.txt",
  abstract =     "Ruby is a freely available pure, untyped,
                 object-oriented language. Dave and Andy show how to use
                 the language, while Yukihiro Matsumoto (Ruby's creator)
                 adds a note on why he developed it. Additional
                 resources include ruby.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Abualsamid:2001:PHA,
  author =       "Ahmad Abualsamid",
  title =        "{PHP} and Hosted Applications",
  journal =      j-DDJ,
  volume =       "26",
  number =       "1",
  pages =        "56, 58, 60--63",
  month =        jan,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:40 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_01/php.txt",
  abstract =     "PHP 4 is a server-side scripting language that runs on
                 almost any OS used for web hosting. It also supports
                 numerous web servers including Microsoft's Internet
                 Information Server (IIS), Apache, and AOL Server, and
                 it has native support for multiple database engines.
                 Additional resources include php.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Dalke:2001:MCE,
  author =       "Andrew Dalke",
  title =        "Making {C} Extensions More {Pythonic}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "1",
  pages =        "68, 70, 72, 74, 76",
  month =        jan,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:40 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_01/cpython.txt;
                 http://www.ddj.com/ftp/2001/2001_01/cpython.zip",
  abstract =     "Andrew presents PyDaylight, an object-oriented wrapper
                 for Python that provides the low-level interface to the
                 underlying C libraries. Additional resources include
                 cpython.txt (listings) and cpython.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Laird:2001:GCP,
  author =       "Cameron Laird",
  title =        "{GUI} Construction With {Perl}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "1",
  pages =        "80, 82, 84, 86",
  month =        jan,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:40 MST 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Contrary to popular belief, it is possible to build
                 GUI applications with Perl. Cameron shows how you can
                 start using Perl to build GUIs, then presents some of
                 the options you have when relying on Perl for GUI
                 development.",
  acknowledgement = ack-nhfb,
}

@Article{Rempt:2001:PPT,
  author =       "Boudewijn Rempt",
  title =        "{Python}'s {PyQt} Toolkit",
  journal =      j-DDJ,
  volume =       "26",
  number =       "1",
  pages =        "88, 90, 92, 94",
  month =        jan,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:40 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_01/pyqt.txt",
  abstract =     "Boudewijn examines PyQt, one of the most advanced
                 Python GUI libraries, focusing on the innovative
                 signals-and-slots paradigm it offers you. Additional
                 resources include pyqt.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Cox:2001:PX,
  author =       "David Cox",
  title =        "Parsing {XML}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "1",
  pages =        "96, 98, 100",
  month =        jan,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:40 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_01/minixml.txt;
                 http://www.ddj.com/ftp/2001/2001_01/minixml.zip",
  abstract =     "David presents his ``miniXML'' parser for XML that is
                 written in C++ using the Standard Template Library for
                 strings and various containers. Additional resources
                 include minixml.txt (listings) and minixml.zip (source
                 code).",
  acknowledgement = ack-nhfb,
}

@Article{Farmer:2001:BYD,
  author =       "Dan Farmer",
  title =        "Bring Out Your Dead",
  journal =      j-DDJ,
  volume =       "26",
  number =       "1",
  pages =        "102, 104--105, 107--108",
  month =        jan,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:40 MST 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "When it comes to forensic computing, data recovery is
                 of interest to anyone who has lost data.",
  acknowledgement = ack-nhfb,
}

@Article{Eisenecker:2001:MBP,
  author =       "Ulrich W. Eisenecker and Frank Blinn and Krzysztof
                 Czarnecki",
  title =        "Mixin-Based Programming in {C++}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "1",
  pages =        "111, 112, 114, 116, 118, 120--122",
  month =        jan,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:40 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_01/mixin.txt",
  abstract =     "A mixin is a fragment of a class that is intended to
                 be composed with other classes or mixins. Our authors
                 present a solution to the constructor problem in
                 parameterized inheritance-based mixin programming in
                 C++. Additional resources include mixin.txt
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Robinson:2001:DSL,
  author =       "Rich Robinson",
  title =        "{DigitaScript}: {A} Scripting Language for Digital
                 Cameras",
  journal =      j-DDJ,
  volume =       "26",
  number =       "1",
  pages =        "126, 128--130, 132",
  month =        jan,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:40 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_01/dscript.txt",
  abstract =     "DigitaScript is a built-in scripting language that
                 provides user-level access to digital camera controls
                 and image and information flow. Additional resources
                 include dscript.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Vaingast:2001:ESI,
  author =       "Shai Vaingast and Ehud Cohen",
  title =        "{DOS} for Embedded Systems: Interrupt Latencies",
  journal =      j-DDJ,
  volume =       "26",
  number =       "1",
  pages =        "138, 140--142, 144, 146",
  month =        jan,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:40 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_01/int_late.txt",
  abstract =     "With the emergence of low-power, low-cost,
                 high-processing PC-based embedded-systems solutions,
                 DOS has turned into a serious alternative for embedded
                 applications. However, you still have to deal with the
                 problem of interrupt latencies. Additional resources
                 include int\_late.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Gsoedl:2001:MTB,
  author =       "Jacob Gsoedl",
  title =        "Managing Team-Based {Web} Development",
  journal =      j-DDJ,
  volume =       "26",
  number =       "1",
  pages =        "148, 150, 152, 154, 156",
  month =        jan,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:40 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_01/webteam.txt;
                 http://www.ddj.com/ftp/2001/2001_01/webteam.zip",
  abstract =     "Going from a one-person shop to team development
                 brings new requirements, such as the need for a
                 source-code control and versioning applications, that
                 may be familiar to programmers, but not web developers.
                 Additional resources include webteam.txt (listings) and
                 webteam.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Pallman:2001:NNQ,
  author =       "David Pallman",
  title =        "{NQL}: The {Network Query Language}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "1",
  pages =        "158, 160, 162, 164",
  month =        jan,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:40 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_01/nql.txt",
  abstract =     "David created the Network Query Language (NQL) with
                 the new class of ``connected'' applications in mind ---
                 intelligent agents, bots, spiders, middleware, and web
                 apps. Additional resources include nql.txt
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2001:PPW,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: Worthless Gifts?",
  journal =      j-DDJ,
  volume =       "26",
  number =       "1",
  pages =        "167--168, 170",
  month =        jan,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:40 MST 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Michael's mixed bag includes database design, business
                 rules, new programming environments, and a look at the
                 cottage industry of books about Steve Jobs.",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2001:CPYa,
  author =       "Al Stevens",
  title =        "{C} Programming: You've Come a Long Way, Baby",
  journal =      j-DDJ,
  volume =       "26",
  number =       "1",
  pages =        "173, 175--176",
  month =        jan,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:40 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_01/cpro0101.txt",
  abstract =     "Before hitting the road in his venerable DobbsMobile,
                 Al takes his own walk down memory lane and gives Quincy
                 a new compiler. Additional resources include
                 cpro0101.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Wraxall:2001:JQH,
  author =       "Jason Wraxall",
  title =        "{Java Q\&A}: How Can {I} Extend the {Swing
                 JComboBox}?",
  journal =      j-DDJ,
  volume =       "26",
  number =       "1",
  pages =        "181--182, 184, 186",
  month =        jan,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:40 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_01/jqa0101.txt;
                 http://www.ddj.com/ftp/2001/2001_01/jqa0101.zip",
  abstract =     "The lightweight controls which come with Sun's JFC
                 Swing framework provide a rich set of interfaces for
                 extending the way they look or behave. Jason extends
                 the JComboBox control using Listener interfaces and a
                 custom data model to make it a little smarter and less
                 prone to error. Additional resources include
                 jqa0101.txt (listings) and jqa0101.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Hultquist:2001:AA,
  author =       "Paul F. Hultquist and William R. Mahoney",
  title =        "Algorithm Alley: Reservoir Sampling",
  journal =      j-DDJ,
  volume =       "26",
  number =       "1",
  pages =        "189--190",
  month =        jan,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:40 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_01/aa0101.txt;
                 http://www.ddj.com/ftp/2001/2001_01/aa0101.zip",
  abstract =     "Reservoir sampling lets you find precisely the right
                 number N of records without any prior knowledge of the
                 number of records in the file --- provided that there
                 are enough! Additional resources include aa0101.txt
                 (listings) and aa0101.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2001:DEOa,
  author =       "Dennis E. Shasha",
  title =        "{Dr. Ecco}'s Omniheurist Corner: Wildfires",
  journal =      j-DDJ,
  volume =       "26",
  number =       "1",
  pages =        "193--194",
  month =        jan,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:40 MST 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "The ``Wildfire'' Ecco and Liane have to deal with is
                 more than a golden oldie rock hit.",
  acknowledgement = ack-nhfb,
}

@Article{Grinzo:2001:PBB,
  author =       "Lou Grinzo and Trudy Pelzer",
  title =        "Programmer's Bookshelf: {{\em Beginning Perl}} and
                 {{\em Windows 2000 Programming}}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "1",
  pages =        "197--198",
  month =        jan,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:40 MST 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "This month Lou examines Beginning Perl, by Simon
                 Cozens, while Trudy takes a look at Al Williams's
                 Windows 2000 Systems Programming Black Book.",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2001:Ia,
  author =       "Shannon Cochran",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "26",
  number =       "1",
  pages =        "206--207",
  month =        jan,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:40 MST 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2001:SFR,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: Read Me Last",
  journal =      j-DDJ,
  volume =       "26",
  number =       "1",
  pages =        "208--208",
  month =        jan,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:40 MST 2001",
  URL =          "http://www.ddj.com/ddj/privacy.htm;
                 http://www.ddj.com/ddj/sdmg/",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2001:EDV,
  author =       "Jonathan Erickson",
  title =        "Editorial: {D}{\'e}j{\`a} vu All Over Again",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "8--8",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Laurie:2001:LAA,
  author =       "Ben Laurie and James Metzger and Maury Markowitz and
                 Edward Harnsed and Matthew Saltzman and Claude Brown
                 and Robert Wuest",
  title =        "Letters: Analyzing Algorithms; Child's Play; {Hurd},
                 {Hurd}, {Hurd} --- {Hurd} is the Word; Software in the
                 {21st Century}; Analyzing Analytic Computing; Giving
                 {Boost} a Boost; {MP3} Notes",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "10, 12",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Baran:2001:NVCa,
  author =       "Nicholas Baran",
  title =        "News and Views: Cofounder [Victor Grinich] of
                 {Fairchild Semiconductor} Dies; {Computer History
                 Museum} Nominates New Fellows; High Schoolers Win
                 Scholarships With New Algorithm; Examples of Fair Use
                 Wanted",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "18--18",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Angell:2001:JSS,
  author =       "Kirby W. Angell",
  title =        "The {Java Secure Socket Extensions}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "21--22, 24, 26, 28",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_02/jsse.txt;
                 http://www.ddj.com/ftp/2001/2001_02/jsse.zip",
  abstract =     "The Java Secure Socket Extension package and Java
                 Run-Time Environment provide most of the tools you need
                 to implement SSL within Java applications. Additional
                 resources include jssr.txt (listings) and jsse.zip
                 (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Goeschl:2001:JTT,
  author =       "Siegfried Goeschl",
  title =        "The {JUnit++} Testing Tool",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "34, 36--38",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_02/junitpp.txt;
                 http://www.ddj.com/ftp/2001/2001_02/junitpp.zip",
  abstract =     "JUnit++ is a freely available Java unit test framework
                 that includes a test data repository, command-line
                 arguments, and a TestRunner class that supports a
                 built-in repetition counter and multithreading at the
                 command line. Additional resources include junitpp.txt
                 (listings) and junitpp.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Gibbons:2001:TDJ,
  author =       "Chad Gibbons",
  title =        "Tape Devices and {Java}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "44, 46, 48--50",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_02/javatape.txt;
                 http://www.ddj.com/ftp/2001/2001_02/javatape.zip",
  abstract =     "Since native support for tape devices doesn't exist in
                 Java, Chad had to build his own tape library.
                 Additional resources include javatape.txt (listings)
                 and javatape.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Dautelle:2001:JDJ,
  author =       "Jean-Marie Dautelle",
  title =        "{J.A.D.E.}: The {Java Addition to the Default
                 Environment}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "52, 54, 56",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_02/jade.txt",
  abstract =     "The Java Addition to the Default Environment (or
                 ``J.A.D.E.'' for short) is an open-source project that
                 fills gaps in the JDK core library. Additional
                 resources include jade.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Bettini:2001:JNC,
  author =       "Lorenzo Bettini and Donato Cappetta",
  title =        "A {Java 2} Network Class Loader",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "58, 60, 62, 64",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_02/jload.txt;
                 http://www.ddj.com/ftp/2001/2001_02/jload.zip",
  abstract =     "Lorenzo and Donato present NetworkClassLoader, a class
                 loader that lets you load classes from remote servers.
                 Additional resources include jload.txt (listings) and
                 jload.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Robison:2001:MB,
  author =       "Arch D. Robison",
  title =        "Moving Up To 64 Bits",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "66, 68, 70, 72--73",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_02/64bit.txt",
  abstract =     "The migration from 32-bit to 64-bit machines is really
                 a test of how ``clean'' your code is. Additional
                 resources include 64bit.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Eaddy:2001:CVJ,
  author =       "Marc Eaddy",
  title =        "{C\#} Versus {Java}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "74, 76, 78, 80, 82",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_02/csharpj.txt",
  abstract =     "Six of one and half a dozen of the other? Marc finds
                 out when he examines how Microsoft's C\# differs from
                 Java. Additional resources include csharpj.txt
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Kiesling:2001:EPL,
  author =       "Robert Kiesling",
  title =        "Exploring {Perl} Libraries",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "84, 86--88",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_02/perllib.txt;
                 http://www.ddj.com/ftp/2001/2001_02/perllib.zip",
  abstract =     "Among other things, the Perl modules Robert presents
                 here let you view library module data within the Perl
                 interpreter. Additional resources include perllib.txt
                 (listings) and perllib.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Williams:2001:JWT,
  author =       "Al Williams",
  title =        "{Java} and the {Waba} Toolkit",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "92, 94, 96, 98",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_02/jwaba.txt",
  abstract =     "With Java and the Waba toolkit, you can develop
                 powerful applications for handhelds like the PalmPilot
                 or Windows CE-based systems. Additional resources
                 include jwaba.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Pote:2001:IS,
  author =       "John Pote",
  title =        "Interrupt Scheduling",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "104, 106",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_02/intsched.txt",
  abstract =     "This interrupt scheduler was designed to be flexible
                 enough to accommodate more handlers if and when they're
                 needed, or if priorities change. Additional resources
                 include intsched.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Janik:2001:MDG,
  author =       "David Janik",
  title =        "Module Design Guidelines For Real-Time Systems",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "108, 110--114, 117",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_02/module.txt",
  abstract =     "A common problem faced by programming teams is
                 producing consistent, reliable, and maintainable
                 modules. David offers guidelines to address this issue.
                 Additional resources include module.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Ma:2001:CPD,
  author =       "Charlie Ma",
  title =        "Cross-Platform {DHTML}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "120, 122--128",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_02/dhtml.txt",
  abstract =     "If browser incompatibilities are driving you batty,
                 Charlie's techniques for cross-platform DHTML
                 development might save the day. Additional resources
                 include dhtml.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Musayev:2001:SSA,
  author =       "Eldar A. Musayev",
  title =        "{SAX2}: The {Simple API for XML}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "130, 132--133",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_02/sax2.txt;
                 http://www.ddj.com/ftp/2001/2001_02/sax2.zip",
  abstract =     "SAX, the ``Simple API for XML,'' is an efficient and
                 high-performance alternative to the Document Object
                 Model. Additional resources include sax2.txt (listings)
                 and sax2.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2001:PPA,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: Alternatives to {Java}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "135--137",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "So Java isn't your cup of tea? Michael explores the
                 alternatives.",
  acknowledgement = ack-nhfb,
  keywords =     "C\#; Internet C++; Lisp; Perl; Juice; Component
                 Pascal",
}

@Article{Stevens:2001:CPC,
  author =       "Al Stevens",
  title =        "{C} Programming: Changing Soapboxes Midstream",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "139--140, 142--143",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Al mulls over all the charges against Microsoft ---
                 and changes his mind about the whole mess.",
  acknowledgement = ack-nhfb,
}

@Article{Strunk:2001:JQJ,
  author =       "Elisabeth Strunk",
  title =        "{Java Q\&A}: {Java} \& {NT} Authentication",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "145--146, 148",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_02/jqa0201.txt",
  abstract =     "Elisabeth builds a JNI wrapper that lets the Java
                 Authentication and Authorization Service and Windows NT
                 authenticate specific users. Additional resources
                 include jqa0201.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Gettys:2001:AAG,
  author =       "Thomas Gettys",
  title =        "Algorithm Alley: Generating Perfect Hash Functions",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "151, 153, 155",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_02/aa0201.txt",
  abstract =     "Thomas presents an efficient hash technique guaranteed
                 to generate a perfect hash function for an arbitrary
                 set of numeric search keys. Additional resources
                 include aa0201.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2001:DEOb,
  author =       "Dennis E. Shasha",
  title =        "{Dr. Ecco}'s Omniheurist Corner: Tundra",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "156--157",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Up in the Alaskan tundra, oil and caribou mix about as
                 well as oil and water.",
  acknowledgement = ack-nhfb,
}

@Article{Wilson:2001:PBT,
  author =       "Gregory V. Wilson",
  title =        "Programmer's Bookshelf: Time Warps",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "159--160",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Greg looks at a bunch of books, including Programming
                 Ruby, Program Development in Java, The Interpretation
                 of Object-Oriented Programming Languages, MMIXware: A
                 RISC Computer for the Third Millennium, Essential XML,
                 XML Processing with Python, Presenting C\#, and Women
                 in Computer Sciences: Closing the Gap in Higher
                 Education.",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2001:Ib,
  author =       "Shannon Cochran",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "166--167",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2001:SFS,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: Saving {Private Lyin'}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "168--168",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/ddj/privacy.htm;
                 http://www.ddj.com/ddj/sdmg/",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2001:EDD,
  author =       "Jonathan Erickson",
  title =        "Editorial: From the {Department of Dumb Ideas}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "3",
  pages =        "8--8",
  month =        mar,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
  keywords =     "Content Protection for Recordable Media (CPRM)",
}

@Article{Martin:2001:LXC,
  author =       "Larry Martin and Eugene Kim and Toby Reyelts and Al
                 Stevens and Rob Chamberlin and Michael Brinkley and
                 Michael Wojcik and Jeff Duntemann",
  title =        "Letters: {XML} and the {21st Century}; Passing the
                 {C++} Test; {Ruby}, {Ruby}; {PHP} and Hosted
                 Applications; Shared Libraries Aren't All Bad",
  journal =      j-DDJ,
  volume =       "26",
  number =       "3",
  pages =        "10, 12",
  month =        mar,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Baran:2001:NVCb,
  author =       "Nicholas Baran",
  title =        "News and Views: {College Board} to Add {Java} Test;
                 Astronomy Project Beats Out Algorithm for Science
                 Prize; Consortium to Release {XML} Business
                 Specification; Open Source Developer Agreement
                 Proposed; Consortium Hopes to Eliminate Computer
                 Failures; New Linear Algorithm for Sequence Analysis;
                 Distributing Computing {\`a} la {SETI} Catches On",
  journal =      j-DDJ,
  volume =       "26",
  number =       "3",
  pages =        "18--18",
  month =        mar,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/; http://publicscience.net/",
  acknowledgement = ack-nhfb,
}

@Article{Zeller:2001:VDD,
  author =       "Andreas Zeller",
  title =        "Visual Debugging With {DDD}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "3",
  pages =        "21--22, 24, 26, 28",
  month =        mar,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_03/vdebug.txt",
  abstract =     "If a debugger is a tool that lets you ``see'' what's
                 going on in a program, then DDD is the tool that lets
                 you see the most. Additional resources include
                 vdebug.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Brew:2001:VLS,
  author =       "William Brew and Maggie Johnson",
  title =        "Value Lattice Static Analysis",
  journal =      j-DDJ,
  volume =       "26",
  number =       "3",
  pages =        "30, 32, 36, 38",
  month =        mar,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_03/lattice.txt",
  abstract =     "William and Maggie examine ``value lattice,'' a new
                 approach to static analysis that finds the most
                 dangerous defects that tend to slip through testing.
                 Additional resources include lattice.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Modi:2001:DLC,
  author =       "Tarak Modi",
  title =        "Dynamic Logging and the {CORBA Notification Service}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "3",
  pages =        "42, 44, 46--49",
  month =        mar,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_03/dynlog.txt;
                 http://www.ddj.com/ftp/2001/2001_03/dynlog.zip",
  abstract =     "Tarak examines CORBA's Notification service and
                 proposes a low-overhead approach to debugging
                 distributed systems. Additional resources include
                 dynlog.txt (listings) and dynlog.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Palshikar:2001:CBD,
  author =       "Girish Keshav Palshikar",
  title =        "Consistency-Based Diagnosis",
  journal =      j-DDJ,
  volume =       "26",
  number =       "3",
  pages =        "50, 52, 54--56",
  month =        mar,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:37:01 2001",
  note =         "See correction \cite{Anonymous:2001:LC}.",
  URL =          "http://www.ddj.com/",
  abstract =     "Consistency-based diagnosis systematically works out
                 the set of all possible diagnoses by reasoning from a
                 logical model of the normal behavior of the system.",
  acknowledgement = ack-nhfb,
}

@Article{Cohen:2001:COR,
  author =       "Noam Cohen",
  title =        "{COM} Object Reference Counting",
  journal =      j-DDJ,
  volume =       "26",
  number =       "3",
  pages =        "58, 60--61, 63",
  month =        mar,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_03/refcatch.txt;
                 http://www.ddj.com/ftp/2001/2001_03/refcatch.zip",
  abstract =     "Using COM objects involves maintaining the reference
                 count for each object. Noam's RefCatcher tool tracks
                 the number of AddRef/Release calls and reports
                 unbalanced reference counts. Additional resources
                 include refcatch.txt (listings) and refcatch.zip
                 (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Jordi:2001:VM,
  author =       "Steve Jordi",
  title =        "Volcano Monitoring",
  journal =      j-DDJ,
  volume =       "26",
  number =       "3",
  pages =        "64, 66--70",
  month =        mar,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_03/volcano.txt;
                 http://www.ddj.com/ftp/2001/2001_03/volcano.zip",
  abstract =     "Instrumental monitoring of volcanoes involves remote
                 data acquisition, automatic data processing, and
                 interpretation --- all linked to alarm systems. Steve's
                 Tiltmeter program collects volcanic measurements for a
                 volcano in Indonesia. Additional resources include
                 volcano.txt (listings) and volcano.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Frazier:2001:CPC,
  author =       "George F. Frazier",
  title =        "Cross-Platform Coroutines In {C++}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "3",
  pages =        "72, 74, 76, 78--80",
  month =        mar,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_03/cppco.txt;
                 http://www.ddj.com/ftp/2001/2001_03/cppco.zip",
  abstract =     "Coroutines are a natural solution to parsing problems
                 used by assembly-language programmers. George presents
                 a cross-platform coroutine technique for C++.
                 Additional resources include cppco.txt (listings) and
                 cppco.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{DeCarmo:2001:PPD,
  author =       "Linden DeCarmo",
  title =        "{PocketPyro} For {Palm} Development",
  journal =      j-DDJ,
  volume =       "26",
  number =       "3",
  pages =        "82, 84--87",
  month =        mar,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_03/palmpyro.txt",
  abstract =     "Most Palm users crave access to the multimedia gadgets
                 found in ``other'' handheld devices. Fortunately, the
                 Pyro for Palm satisfies those multimedia cravings.
                 Additional resources include palmpyro.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Gonzales:2001:RTD,
  author =       "David Ruimy Gonzales and Brian Branson",
  title =        "Real-Time Debugging and Wireless Devices",
  journal =      j-DDJ,
  volume =       "26",
  number =       "3",
  pages =        "92, 94, 96--98, 100--101",
  month =        mar,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "David and Brian examine the issues associated with
                 developing power-efficient handheld wireless devices
                 and the on-chip debug capability needed for rapid
                 product development.",
  acknowledgement = ack-nhfb,
}

@Article{Ethington:2001:DPS,
  author =       "Russ Ethington",
  title =        "Diagnosing Proxy Server Problems",
  journal =      j-DDJ,
  volume =       "26",
  number =       "3",
  pages =        "104, 106, 108, 110",
  month =        mar,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_03/proxy.txt;
                 http://www.ddj.com/ftp/2001/2001_03/proxy.zip",
  abstract =     "Russ presents TCPMapper, a Java utility that lets you
                 peek inside the network connections between your
                 browser and a proxy server. Additional resources
                 include proxy.txt (listings) and proxy.zip (source
                 code).",
  acknowledgement = ack-nhfb,
}

@Article{Baran:2001:LTW,
  author =       "Nicholas Baran",
  title =        "Load Testing {Web} Sites",
  journal =      j-DDJ,
  volume =       "26",
  number =       "3",
  pages =        "112, 114, 116, 118--119",
  month =        mar,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_03/webload.txt",
  abstract =     "Load-testing software lets you simulate scenarios in
                 which many users are logged on to the site
                 simultaneously. NSTL examined Mercury Interactive's
                 Loadrunner, RSW Software's E-load, and Segue Software's
                 Silkperformer --- and Nick reports on what the testing
                 lab found. Additional resources include webload.txt
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2001:PPM,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: Mostly Math",
  journal =      j-DDJ,
  volume =       "26",
  number =       "3",
  pages =        "121--123",
  month =        mar,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Michael plays the numbers by the book, with his look
                 at Stephen Wolfram's {\em A New Kind of Science} and
                 Paul Hoffman's {\em The Man Who Loved Only Numbers}.",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2001:CPS,
  author =       "Al Stevens",
  title =        "{C} Programming: Software Development, {Linux}, and
                 the {White House}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "3",
  pages =        "124--127",
  month =        mar,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "The Software Development 2000 Conference took Al back
                 to D.C. and he reports on everything he saw and heard
                 before jumping into the Linux waters.",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2001:ESS,
  author =       "Ed Nisley",
  title =        "Embedded Space: {SEU} Meets {Embedded Linux}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "3",
  pages =        "129--131",
  month =        mar,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "DDJ's new columnist takes a hard look at soft errors
                 that affect wireless devices.",
  acknowledgement = ack-nhfb,
}

@Article{Laird:2001:JQW,
  author =       "Cameron Laird",
  title =        "{Java Q\&A}: When Should You Script {Java} with
                 {TCL}?",
  journal =      j-DDJ,
  volume =       "26",
  number =       "3",
  pages =        "133--134",
  month =        mar,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_03/jqa0301.txt",
  abstract =     "Can you script Java with Tcl? Sure, and TclBlend is a
                 great way to do it. Additional resources include
                 jqa0301.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Daemen:2001:AAR,
  author =       "Joan Daemen and Vincent Rijmen",
  title =        "Algorithm Alley: {Rijndael}: The {Advanced Encryption
                 Standard}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "3",
  pages =        "137--139",
  month =        mar,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_03/aa0301.txt;
                 http://www.esat.kuleuven.ac.be/~rijmen/rijndael/",
  abstract =     "NIST has announced that the Rijndael algorithm was the
                 winner of its Advanced Encryption Standard competition.
                 Joan and Vincent, its inventors, lift the hood on the
                 algorithm. Additional resources include aa0301.txt
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2001:DEOc,
  author =       "Dennis E. Shasha",
  title =        "{Dr. Ecco}'s Omniheurist Corner: Ambulance",
  journal =      j-DDJ,
  volume =       "26",
  number =       "3",
  pages =        "141--142",
  month =        mar,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "The shortest distance between the accident and the
                 emergency room is often cluttered with lawyers. Ecco
                 and Liane come up with a plan for getting to the
                 hospital quickly and safely.",
  acknowledgement = ack-nhfb,
}

@Article{Roth:2001:PBA,
  author =       "Peter N. Roth",
  title =        "Programmer's Bookshelf: Accelerating {C++}
                 Programming",
  journal =      j-DDJ,
  volume =       "26",
  number =       "3",
  pages =        "144--144",
  month =        mar,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Peter takes a long look at Andrew Koenig and Barbara
                 Moo's Accelerated C++: Practical Programming by
                 Example.",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2001:Ic,
  author =       "Shannon Cochran",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "26",
  number =       "3",
  pages =        "150--151",
  month =        mar,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2001:SFPa,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: The {PlayStations} of {Saddam
                 Hussein}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "3",
  pages =        "152--152",
  month =        mar,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  URL =          "http://www.ddj.com/ddj/privacy.htm;
                 http://www.ddj.com/ddj/sdmg/",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2001:ESP,
  author =       "Jonathan Erickson",
  title =        "Editorial: To Sleep, Perchance to Dream",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "8--8",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  note =         "Comments on ridiculous trademarks and patents: the
                 frowny face ``:-('' has been now trademarked!",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Masta:2001:LIL,
  author =       "Robert Masta",
  title =        "Letters: Interrupt Latencies",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "10, 12",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Stallman:2001:LSD,
  author =       "Richard Stallman",
  title =        "Letters: Setting the {Debian} Record Straight",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "10--10",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  note =         "Comments on the GNU HURD kernel, the GNU Project, and
                 the confusion between the Open Source Movement and the
                 Free Software Foundation, and between GNU and Linux,",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2001:LC,
  author =       "Anonymous",
  title =        "Letters: Correction",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "12--12",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  note =         "See \cite{Palshikar:2001:CBD}",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Rahavachary:2001:LSS,
  author =       "Saty Rahavachary",
  title =        "Letters: Setting the {\tt sqrt()} record straight",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "12--12",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Baran:2001:NVM,
  author =       "Nicholas Baran",
  title =        "News and Views: Mail Server Benchmark Released; New
                 Traveling Salesman Algorithm; {ACLU} Challenges {ICANN}
                 on Freedom of Speech; {Microsoft} Opts for Decaf; Store
                 Your Data on the {Internet}; And Mind Your Electronic
                 Trash",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "18--18",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  URL =          "http://www.ddj.com/;
                 http:/www.research.att.com/~alb/ALENEX01;
                 http://www.cs.wustl.edu/;
                 http://www.spec.org/osg/mail2001/docs/FAQ.html",
  acknowledgement = ack-nhfb,
  keywords =     "Weixiong Zhang and David S. Johnson's new Traveling
                 Salesman Problem (TSP) algorithm; Microsoft drops Java;
                 Oceanstore; SPECmail2001",
}

@Article{Tamassia:2001:JDS,
  author =       "Roberto Tamassia and Michael T. Goodrich and Luca
                 Vismara and Mark Handy and Galina Shubina and Robert
                 Cohen and Beno{\^\i}t Hudson and Ryan S. Baker and
                 Natasha Gelfand and Ulrik Brandes",
  title =        "{JDSL}: The Data Structures Library in {Java}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "21--22, 24, 26, 28, 30--31",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 17:39:19 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_04/jdsl.txt",
  abstract =     "The Data Structures Library in Java (JDSL) is a
                 collection of Java interfaces and classes implementing
                 fundamental data structures and algorithms. Additional
                 resources include jdsl.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Grover:2001:SQC,
  author =       "Lov K. Grover",
  title =        "Searching With Quantum Computers",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "34, 36, 38--40, 42--43",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_04/quantum.txt",
  abstract =     "Quantum computers can be in multiple states and carry
                 out multiple computations at the same time and the
                 quantum search algorithm Lov presents here takes
                 advantage of that characteristic. Additional resources
                 include quantum.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{SantaCruz:2001:JIC,
  author =       "Diego {Santa Cruz} and Touradj Ebrahimi and Charilaos
                 Christopoulos",
  title =        "The {JPEG 2000} Image Coding Standard",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "46, 48, 50--52, 54",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  URL =          "http://www.ddj.com/; http://www.jpeg.org/;
                 http://www.jpeg.org/public/wavedemo.zip;
                 http://www.ece.ubc.ca/~mdadams/jasper/;
                 http://jj2000.epfl.ch/;
                 http://www.imagepower.com/products/ubcform.htm",
  abstract =     "The JPEG 2000 is a new image coding standard that
                 specifies only the decoding algorithm and the
                 compressed data format --- the encoder algorithm is
                 deliberately left up to you.",
  acknowledgement = ack-nhfb,
  keywords =     "Jasper",
}

@Article{Papaefstathiou:2001:PCB,
  author =       "Stathis Papaefstathiou",
  title =        "Predicting Communications Bottlenecks",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "58, 60, 62--64, 66",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_04/ccmod.txt;
                 http://www.ddj.com/ftp/2001/2001_04/ccmod.zip",
  abstract =     "Stathis presents a model evaluation algorithm for
                 calculating communication delays that occur during the
                 execution of applications on any packet-switching
                 network. Additional resources include ccmod.txt
                 (listings) and ccmod.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Zhao:2001:SAL,
  author =       "Feng Zhao and Christopher Bailey-Kellogg and Ivan
                 Ordonez",
  title =        "The {Spatial Aggregation Language}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "68, 70, 72--74, 76--77",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_04/sal.txt",
  abstract =     "The Spatial Aggregation Language (SAL) is a C++
                 library for supporting rapid prototyping of data
                 analysis and control applications for distributed
                 physical systems. Additional resources include sal.txt
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Farmer:2001:BPI,
  author =       "Dan Farmer and Wietse Venema",
  title =        "Being Prepared For Intrusion",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "78, 80, 82, 84--85",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "As every good programmer knows, software will
                 eventually fail --- no matter how well it is written.
                 The same applies to systems, networks, and security
                 mechanisms; and a system that is prepared for failure
                 has safety nets in various places.",
  acknowledgement = ack-nhfb,
}

@Article{Houlding:2001:VVD,
  author =       "David Houlding",
  title =        "{VoiceXML} and the Voice-Driven {Internet}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "88, 90--92, 94--95",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_04/voicexmltxt.zip;
                 http://www.ddj.com/ftp/2001/2001_04/voicexml.zip",
  abstract =     "David examines the concept of voice portals, and shows
                 how simple design patterns --- together with XML and
                 XSL --- can be used to deliver Internet content to web
                 browsers and wireless devices. Additional resources
                 include voicexmltxt.zip (listings) and voicexml.zip
                 (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Metzger:2001:UWN,
  author =       "James Metzger",
  title =        "Using {Windows NT Embedded 4.0}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "98, 100, 102, 104--105",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "James examines the Windows NT Embedded 4.0 toolkit and
                 shows how he used it to develop a black-box project.",
  acknowledgement = ack-nhfb,
}

@Article{Gunton:2001:WSS,
  author =       "Neil Gunton",
  title =        "{Web} Site Searching and Indexing in {Perl}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "106, 108--109, 111--112",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_04/mysearch.txt;
                 http://www.ddj.com/ftp/2001/2001_04/mysearch.zip",
  abstract =     "Mysearchbot, the tool Neil provides here, is a script
                 that crawls any web site you specify, and indexes all
                 the pages it finds into a MySQL database. This database
                 can then be searched from a web browser HTML form in
                 much the same manner as the major search engines.
                 Additional resources include mysearch.txt (listings)
                 and mysearch.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Williams:2001:SSC,
  author =       "Chris Williams",
  title =        "{SCRAM}: {Software Configuration, Release, and
                 Management}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "114, 116--118, 120",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "SCRAM, short for ``Software Configuration, Release and
                 Management,'' provides configuration management,
                 distribution, and build services to ensure consistent
                 and easy-to-use development environments in
                 multiplatform environments.",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2001:PPSa,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: Secrets and Lies",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "125--127",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Everyone has a secret, but ``Who can you believe?''
                 asks our resident cynic.",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2001:CPMa,
  author =       "Al Stevens",
  title =        "{C} Programming: {A} Moving Target",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "129--130, 132--133",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Al has Linux on the mind as he continues to make the
                 move from one operating system to another.",
  acknowledgement = ack-nhfb,
}

@Article{Wincelberg:2001:JQH,
  author =       "David Wincelberg",
  title =        "{Java Q\&A}: How Do You Use the {{\tt javax.crypto}}
                 Package?",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "139--140",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_04/jqa0401.txt;
                 http://www.ddj.com/ftp/2001/2001_04/jqa0401.zip",
  abstract =     "How do you use the javax.crypto package? David shows
                 you, as he adds security to Java-based e-commerce
                 systems by encrypting/decrypting users' credit-card
                 numbers. Additional resources include jqa0401.txt
                 (listings) and jqa0401.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Bentley:2001:AAS,
  author =       "Jon Bentley",
  title =        "Algorithm Alley: Suffix arrays",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "145--147",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_04/aa0401.txt",
  abstract =     "Suffix trees are simple, yet powerful, data
                 structures: Fill an array with pointers to every
                 position in a string, sort the array, then quickly
                 search the string for long phrases. Additional
                 resources include aa0401.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2001:DEOd,
  author =       "Dennis E. Shasha",
  title =        "{Dr. Ecco}'s Omniheurist Corner: Foxy",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "148--149",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "You say ``ping pong,'' Ecco says ``table tennis,'' as
                 he and Liane coach the coaches to build the best team
                 possible.",
  acknowledgement = ack-nhfb,
}

@Article{Grinzo:2001:PBP,
  author =       "Lou Grinzo",
  title =        "Programmer's Bookshelf: {Professional Linux
                 Programming}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "151--152",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "This month, Lou takes a look at Professional Linux
                 Programming, by Neil Matthew, Richard Stones, and
                 others.",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2001:Id,
  author =       "Shannon Cochran",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "158--159",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2001:SFGa,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: Getting Skinned",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "160--160",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  URL =          "http://www.ddj.com/ddj/privacy.htm;
                 http://www.ddj.com/ddj/sdmg/",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2001:ESE,
  author =       "Ed Nisley",
  title =        "Embedded Space: Embedded Elections",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "13500137",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Embedded systems straddle the fence between
                 engineering approximations and exact counts. ``And the
                 problem is what?'' asked Florida vote counters.",
  acknowledgement = ack-nhfb,
  keywords =     "electronic voting",
}

@Article{Cochran:2001:RCS,
  author =       "Shannon Cochran",
  title =        "The Rising Costs of Software Complexity",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "??--??",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Israel:2001:ACR,
  author =       "Lillian Israel",
  title =        "The {ACM Career Resource Center}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "??--??",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Lee:2001:HJI,
  author =       "Katherine Spencer Lee",
  title =        "Hot Jobs For {IT} Professionals in 2001",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "??--??",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Zanger:2001:SCP,
  author =       "Ana Zanger",
  title =        "Surveying Computer Programmers",
  journal =      j-DDJ,
  volume =       "26",
  number =       "4",
  pages =        "??--??",
  month =        apr,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 13 15:22:36 MST 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2001:EOL,
  author =       "Jonathan Erickson",
  title =        "Editorial: An Open Letter on Open Letters",
  journal =      j-DDJ,
  volume =       "26",
  number =       "5",
  pages =        "8--8",
  month =        may,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 12 06:45:08 MDT 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Gohel:2001:LGK,
  author =       "Himanshu Gohel and Thomas Weidenfeller and Andrew D.
                 Todd and Ze'ev Atlas and Dave Paris",
  title =        "Letters: {GNOME}, {KDE} Clarification; Parsing {XML};
                 {CPRM} Frenzy; Deadlock Detecting; {Perl} versus the
                 World",
  journal =      j-DDJ,
  volume =       "26",
  number =       "5",
  pages =        "10, 12",
  month =        may,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 12 06:45:08 MDT 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Baran:2001:NVP,
  author =       "Nicholas Baran",
  title =        "News and Views: Programming the Shapes of Sculpture;
                 Computation Expert Wins {Turing Award}; {Cobol}
                 Programmers a Vanishing Breed?; Science Controversies
                 Go Online; {MIT} Builds Sociable Robot; Research Finds
                 Flaw in {DNA}; Binary Pioneer [{Claude Shannon}] Dies
                 at 84",
  journal =      j-DDJ,
  volume =       "26",
  number =       "5",
  pages =        "18--18",
  month =        may,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 12 06:45:08 MDT 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2001:DDE,
  author =       "Jonathan Erickson",
  title =        "{Dr. Dobb's Excellence In Programming Award}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "5",
  pages =        "20--21",
  month =        may,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 12 06:45:08 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "From Turbo Pascal to C#, Anders Hejlsberg 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{OMalley:2001:AAO,
  author =       "Kevin O'Malley",
  title =        "Agents and Automated Online Trading",
  journal =      j-DDJ,
  volume =       "26",
  number =       "5",
  pages =        "23--24, 26--28",
  month =        may,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 12 06:45:08 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Next generation trading market infrastructures will
                 include automated negotiation facilities. To find out
                 what this means, the University of Michigan's AI Lab
                 organized a Trading Agent Competition market game.",
  acknowledgement = ack-nhfb,
}

@Article{Kaliski:2001:RDS,
  author =       "Burton S. {Kaliski, Jr.}",
  title =        "{RSA} Digital Signatures",
  journal =      j-DDJ,
  volume =       "26",
  number =       "5",
  pages =        "30, 32--33, 35--36",
  month =        may,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 12 06:45:08 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Digital signatures are growing in importance as they
                 gain legal standing with traditional handwritten
                 signatures. Burton examines the three most popular
                 signature schemes currently in use.",
  acknowledgement = ack-nhfb,
}

@Article{Gsoedl:2001:ASV,
  author =       "Jacob Gsoedl",
  title =        "Automated Streaming Video",
  journal =      j-DDJ,
  volume =       "26",
  number =       "5",
  pages =        "38, 40--48",
  month =        may,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 12 06:45:08 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_05/video.txt;
                 http://www.ddj.com/ftp/2001/2001_05/video.zip",
  abstract =     "Jacob presents an ASP-based web page that publishes
                 streaming video clips to a streaming video server.
                 Additional resources include video.txt (listings) and
                 video.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Raisanen:2001:QSV,
  author =       "Vilho R{\"a}is{\"a}nen",
  title =        "Quality of Service and Voice-Over-{IP}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "5",
  pages =        "50, 54, 56, 58",
  month =        may,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 12 06:45:08 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Quality of service, measured by limited end-to-end
                 delay and packet loss, is critical for interactive
                 real-time communication, such as voice-over-IP or video
                 conferencing over the Internet.",
  acknowledgement = ack-nhfb,
}

@Article{Laird:2001:CPT,
  author =       "Cameron Laird",
  title =        "Compiling {Perl\slash Tk} Scripts",
  journal =      j-DDJ,
  volume =       "26",
  number =       "5",
  pages =        "60, 63, 65--66",
  month =        may,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 12 06:45:08 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_05/perltk.txt",
  abstract =     "Perl/Tk is an interpreted scripting language for
                 making widgets and programs with GUIs. Additional
                 resources include perltk.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Larsson:2001:DS,
  author =       "Andreas Larsson and Henrik Jeppsson",
  title =        "Designing {$3$G} Systems",
  journal =      j-DDJ,
  volume =       "26",
  number =       "5",
  pages =        "68, 70--73, 75, 77--78",
  month =        may,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 12 06:45:08 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_05/3g.txt",
  abstract =     "The Universal Mobile Telecommunications System is a
                 major part of the ITU's IMT-2000 vision of a global
                 family of third-generation (3G) mobile communications
                 systems. Additional resources include 3g.txt
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Ledin:2001:RTS,
  author =       "Jim Ledin",
  title =        "The {Real-Time Simulation Protocol}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "5",
  pages =        "83, 86--88, 90, 91",
  month =        may,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 12 06:45:08 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_05/rtsp.txt;
                 http://www.ddj.com/ftp/2001/2001_05/rtsp.zip",
  abstract =     "The Real-Time Simulation Protocol is a package of C++
                 source code and tools that enables high-performance
                 real-time distributed simulation across a TCP/IP
                 network. Additional resources include rtsp.txt
                 (listings) and rtsp.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Cox:2001:WAJ,
  author =       "Brad Cox",
  title =        "{Web} Applications as {Java} Servlets",
  journal =      j-DDJ,
  volume =       "26",
  number =       "5",
  pages =        "97--100, 102--104",
  month =        may,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 12 06:45:08 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_05/webapp.txt;
                 http://www.ddj.com/ftp/2001/2001_05/webapp.zip",
  abstract =     "Brad describes an approach to building web-based
                 applications that exploit Java's type-checking ability
                 to validate field parameters and detect invalid links
                 between pages. Additional resources include webapp.txt
                 (listings) and webapp.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Zeitlin:2001:WCP,
  author =       "Vadim Zeitlin",
  title =        "The {wxWindows} Cross-Platform Framework",
  journal =      j-DDJ,
  volume =       "26",
  number =       "5",
  pages =        "106, 109--110, 112",
  month =        may,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 12 06:45:08 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_05/wxwin.txt;
                 http://www.ddj.com/ftp/2001/2001_05/wxwin.zip",
  abstract =     "wxWindows is a freely available C++ cross-platform GUI
                 framework that lets you compile programs without
                 changing anything under supported platforms. Additional
                 resources include wxwin.txt (listings) and wxwin.zip
                 (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2001:PPRa,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: Roll Over, {Kemeny} and
                 {Kurtz}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "5",
  pages =        "115, 117, 119",
  month =        may,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 12 06:45:08 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "It's back to BASIC this month, as Michael looks at the
                 state of the language in general, and the REALbasic
                 implementation in particular.",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2001:CPG,
  author =       "Al Stevens",
  title =        "{C} Programming: It's Good Work When You Can Find It",
  journal =      j-DDJ,
  volume =       "26",
  number =       "5",
  pages =        "121--124",
  month =        may,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 12 06:45:08 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Al finds out why the dependency carousel is central to
                 both Linux and open-source development.",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2001:ESLa,
  author =       "Ed Nisley",
  title =        "Embedded Space: Let's Talk About Specs",
  journal =      j-DDJ,
  volume =       "26",
  number =       "5",
  pages =        "129--131",
  month =        may,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 12 06:45:08 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Ed puts the brakes on embedded systems design as he
                 looks around his house and wonders how all that stuff
                 works.",
  acknowledgement = ack-nhfb,
}

@Article{Smith:2001:JQH,
  author =       "Terry Smith",
  title =        "{Java Q\&A}: How Can {I} Simplify {Java} Data Access
                 Objects",
  journal =      j-DDJ,
  volume =       "26",
  number =       "5",
  pages =        "135--136, 138--139",
  month =        may,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 12 06:45:08 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_05/jqa0501.txt;
                 http://www.ddj.com/ftp/2001/2001_05/jqa0501.zip",
  abstract =     "While writing data access objects (DAO) from scratch
                 in Java can be a daunting task, Terry presents some
                 short cuts that turn the pain to gain. Additional
                 resources include jqa0501.txt (listings) and
                 jqa0501.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Gettys:2001:AAC,
  author =       "Thomas Gettys",
  title =        "Algorithm Alley: Computational Geometry: Finding the
                 Convex Hull",
  journal =      j-DDJ,
  volume =       "26",
  number =       "5",
  pages =        "141--144, 146",
  month =        may,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 12 06:45:08 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_05/aa0501.txt",
  abstract =     "A fundamental topic in computational geometry involves
                 convex hulls, which are used in applications ranging
                 from statistics, soil sciences, and medical imaging, to
                 character recognition, parts inspection, and robotics
                 systems. Additional resources include aa0501.txt
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2001:DEOe,
  author =       "Dennis E. Shasha",
  title =        "{Dr. Ecco}'s Omniheurist Corner: Beats",
  journal =      j-DDJ,
  volume =       "26",
  number =       "5",
  pages =        "148--149",
  month =        may,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 12 06:45:08 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "The beat goes on in the Safetown police department as
                 the good guys look for the most efficient way to
                 maneuver through the streets.",
  acknowledgement = ack-nhfb,
}

@Article{Wilson:2001:PBX,
  author =       "Gregory V. Wilson",
  title =        "Programmer's Bookshelf: {XML} and then Some",
  journal =      j-DDJ,
  volume =       "26",
  number =       "5",
  pages =        "151--152",
  month =        may,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 12 06:45:08 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Greg has been up nights reading this month, plowing
                 through the likes of XML for the World Wide Web,
                 Writing Effective Use Cases, 3D Game Engine Design,
                 Open Source Development with CVS, Computational
                 Molecular Biology, SSL and TLS: Designing and Building
                 Secure Systems, and Understanding SOAP.",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2001:Ie,
  author =       "Shannon Cochran",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "26",
  number =       "5",
  pages =        "158--159",
  month =        may,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 12 06:45:08 MDT 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2001:SFZ,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: The {Zappa} Meme",
  journal =      j-DDJ,
  volume =       "26",
  number =       "5",
  pages =        "160--160",
  month =        may,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 12 06:45:08 MDT 2001",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2001:EOR,
  author =       "Jonathan Erickson",
  title =        "Editorial: Open Records, Closed Doors",
  journal =      j-DDJ,
  volume =       "26",
  number =       "6",
  pages =        "8--8",
  month =        jun,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:16 MDT 2001",
  note =         "Essay on open source code issues in government
                 records",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
  keywords =     "Jim Allchin (Microsoft); Tim O'Reilly; Richard
                 Stallman (GNU Project)",
}

@Article{Allison:2001:LLE,
  author =       "Dennis Allison and Randy Schrickel and Reid Womack and
                 Jeremy C. Reed and Ashley Tate and Paul Munsey",
  title =        "Letters: Looking for Early {PPC [People's Computing
                 Company]} People; Being Prepared for Invasion;
                 {BetterBASIC}; {Linux} versus {BSD}; {Diffie--Hellman}
                 to the Rescue; The Future of Programming",
  journal =      j-DDJ,
  volume =       "26",
  number =       "6",
  pages =        "10, 12",
  month =        jun,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 17:40:37 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Baran:2001:NVW,
  author =       "Nicholas Baran",
  title =        "News and Views: {WSDL} Goes to {W3C} for
                 Standardization; Shortchanging Science; {EUVL} May Keep
                 {Moore's Law} Going; Spy Satellites to Generate
                 High-Tech Jobs; {Mexican} Government Adopts {Linux};
                 Supercomputer on a Chip in the Works; Brain Scan
                 Database Goes Public",
  journal =      j-DDJ,
  volume =       "26",
  number =       "6",
  pages =        "18--18",
  month =        jun,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:16 MDT 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Coats:2001:ICU,
  author =       "Mark Coats and Terry Mellon",
  title =        "Integrating {CMOS} with {UML}: Building fully
                 traceable models",
  journal =      j-DDJ,
  volume =       "26",
  number =       "6",
  pages =        "21--22, 24, 26, 28, 30, 32--33, 35--36",
  month =        jun,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:16 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_06/cmosuml.zip",
  abstract =     "The goal of the Coats-Mellon Operational Specification
                 (CMOS) is to provide a rigorous, yet straightforward,
                 approach to defining system behavior early in the
                 software-development process. Mark and Terry apply CMOS
                 to the Unified Modeling Language. Additional resources
                 include cmosuml.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Leibundguth:2001:UMD,
  author =       "Jonathan Leibundguth and Michael Pease and Andrei
                 Povodyrev",
  title =        "A Universal Model For Designing The Entity {EJB}
                 Layer",
  journal =      j-DDJ,
  volume =       "26",
  number =       "6",
  pages =        "38, 40--43, 46",
  month =        jun,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:16 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_06/ejb.txt;
                 http://www.ddj.com/ftp/2001/2001_06/ejb.zip",
  abstract =     "Entity EJBs generally come in two varieties:
                 container-managed persistent and bean-managed
                 persistent. Our authors propose a third flavor, the
                 Universum Bean. Additional resources include ejb.txt
                 (listings) and ejb.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Pierce:2001:BSB,
  author =       "Bill Pierce",
  title =        "Building Service-Based Architectures With {Jini}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "6",
  pages =        "50, 52--58",
  month =        jun,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:16 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_06/sba.txt",
  abstract =     "Object-oriented schemes such as service-based
                 architectures built on Sun's Jini framework for
                 distributed services provide more flexibility than the
                 traditional client-server model. Additional resources
                 include sba.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Siek:2001:CCC,
  author =       "Jeremy Siek and Andrew Lumsdaine",
  title =        "{C++} Concept Checking",
  journal =      j-DDJ,
  volume =       "26",
  number =       "6",
  pages =        "64, 66--68, 70",
  month =        jun,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:16 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_06/cppcheck.txt",
  abstract =     "The flexibility provided by C++ templates generally
                 comes at the expense of type safety. Jeremy and Andrew
                 present a technique for reintroducing type safety into
                 template functions. Additional resources include
                 cppcheck.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Snow:2001:IAL,
  author =       "Ray Snow",
  title =        "An Information Assembly Line In {Perl}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "6",
  pages =        "72, 76, 78, 80, 82",
  month =        jun,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:16 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_06/infoline.txt",
  abstract =     "How would you go about organizing thousands of daily
                 news stories from hundreds of Internet-based sources?
                 Ray turned to Perl's pattern-matching capabilities to
                 cull, tag, sort, and present all the news that's fit.
                 Additional resources include infoline.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Jin:2001:WCS,
  author =       "Liang Jin and Shi Ren and Liang Feng and Gao Zheng
                 Hua",
  title =        "{WAP} Clients and Set Protocol",
  journal =      j-DDJ,
  volume =       "26",
  number =       "6",
  pages =        "85, 87--89, 91",
  month =        jun,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:16 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Our authors examine both the Secure Electronic
                 Transaction (SET) protocol and the Wireless Application
                 Protocol (WAP), then present a model that uses WAP to
                 support SET with a SET thin client and smartcard
                 technology.",
  acknowledgement = ack-nhfb,
}

@Article{Bjorkander:2001:PSU,
  author =       "Morgan Bj{\"o}rkander",
  title =        "Programming in {SDL} and {UML}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "6",
  pages =        "93, 96--99",
  month =        jun,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:16 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Morgan examines a combination of the Unified Modeling
                 Language (UML) and Specification and Description
                 Language (SDL) that forms a modeling paradigm for
                 visual software engineering that is superior to either
                 language by itself.",
  acknowledgement = ack-nhfb,
}

@Article{Janulaitis:2001:CHU,
  author =       "Michael Janulaitis",
  title =        "Creating {HTML} User Interfaces for Server Programs",
  journal =      j-DDJ,
  volume =       "26",
  number =       "6",
  pages =        "101--102, 104, 106, 108--109",
  month =        jun,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:16 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_06/htmlui.txt;
                 http://www.ddj.com/ftp/2001/2001_06/htmlui.zip",
  abstract =     "Creating native client interfaces for multiple
                 platforms can be a costly process. Michael's solution
                 is to create a single HTML UI for server applications
                 running on both Apache Web Server 1.3.14 and
                 Microsoft's Internet Information Services 5.0 (IIS).
                 Additional resources include htmlui.txt (listings) and
                 htmlui.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Ironside:2001:ECI,
  author =       "Eric Ironside and Letha Etzkorn and David Zajac",
  title =        "Examining {CORBA} Interoperability",
  journal =      j-DDJ,
  volume =       "26",
  number =       "6",
  pages =        "111, 113--114, 116--117, 120, 122",
  month =        jun,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:16 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_06/corba.txt",
  abstract =     "Our authors present conclusions from a study of ORB
                 interoperability and code portability to determine the
                 feasibility of CORBA as an interoperable standard for
                 both new and legacy code within mobile and/or embedded
                 computing environments, and to create a working
                 demonstration of the mobile/embedded environment using
                 CORBA. Additional resources include corba.txt
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2001:PPEa,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: Every Install is Five-Sevenths
                 Stall",
  journal =      j-DDJ,
  volume =       "26",
  number =       "6",
  pages =        "125, 127--129",
  month =        jun,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:16 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Michael takes a look at Apple's new MacOS X operating
                 system, then puts Wolfram's CalculationCenter (which
                 Michael sees as a mathematical tool for the rest of us)
                 to work.",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2001:CPR,
  author =       "Al Stevens",
  title =        "{C} Programming: Road Rage $=$ Editors $+$ Drivers",
  journal =      j-DDJ,
  volume =       "26",
  number =       "6",
  pages =        "131--134",
  month =        jun,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:16 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "What with drivers, editors, Linux, mail, and more, Al
                 adds a new meaning to the term ``multitasking.''",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2001:ESP,
  author =       "Ed Nisley",
  title =        "Embedded Space: Penguin Specs",
  journal =      j-DDJ,
  volume =       "26",
  number =       "6",
  pages =        "139--141",
  month =        jun,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:16 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "A trip to the bright lights of the LinuxWorld Expo
                 gets Ed thinking about the world of embedded Linux.",
  acknowledgement = ack-nhfb,
}

@Article{Cox:2001:JQH,
  author =       "Brad Cox",
  title =        "{Java Q\&A}: How Do {I} Handle Multiline Strings?",
  journal =      j-DDJ,
  volume =       "26",
  number =       "6",
  pages =        "147--149",
  month =        jun,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:16 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_06/jqa0601.txt",
  abstract =     "Can Java handle multiline strings? Yes, and Brad shows
                 you how. Additional resources include jqa0601.txt
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Bayern:2001:AAS,
  author =       "Shawn Bayern",
  title =        "Algorithm Alley: Synchronized Recursion",
  journal =      j-DDJ,
  volume =       "26",
  number =       "6",
  pages =        "151--155",
  month =        jun,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:16 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_06/aa0601.txt",
  abstract =     "Shawn presents strategies to adapt a generally
                 memory-intensive recursive algorithm for use in
                 environments where memory may be limited and
                 reusability is required. Additional resources include
                 aa0601.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2001:DEOf,
  author =       "Dennis E. Shasha",
  title =        "{Dr. Ecco}'s Omniheurist Corner: Panamax",
  journal =      j-DDJ,
  volume =       "26",
  number =       "6",
  pages =        "156--157",
  month =        jun,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:16 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "It's probably a mistake to tell shipping-magnate Katy
                 McLean that she floats your boat, but that doesn't mean
                 she isn't looking for the most efficient port in a
                 storm.",
  acknowledgement = ack-nhfb,
}

@Article{Reilly:2001:PBM,
  author =       "Doug Reilly",
  title =        "Programmer's Bookshelf: {Microsoft SQL} Server Cubed",
  journal =      j-DDJ,
  volume =       "26",
  number =       "6",
  pages =        "159--160",
  month =        jun,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:16 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Doug examines a trio of SQL books, including Inside
                 Microsoft SQL Server 2000, by Kalen Delaney; Advanced
                 Transact-SQL Programming for SQL Server 2000, by Itzik
                 Ben-Gan and Tom Moreau; and Robert Vieira's
                 Professional SQL Server 2000 Programming.",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2001:If,
  author =       "Shannon Cochran",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "26",
  number =       "6",
  pages =        "166--167",
  month =        jun,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:16 MDT 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2001:SFW,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: Whistling in the Dark",
  journal =      j-DDJ,
  volume =       "26",
  number =       "6",
  pages =        "168--168",
  month =        jun,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:16 MDT 2001",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2001:EAA,
  author =       "Jonathan Erickson",
  title =        "Editorial: It's All About Integrity",
  journal =      j-DDJ,
  volume =       "26",
  number =       "7",
  pages =        "8--8",
  month =        jul,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:17 MDT 2001",
  note =         "Comments on threat from the Recording Industry
                 Association of America (RIAA) and the Secure Digital
                 Music Initiative (SDMI) Foundation that prevented Ed
                 Felton from presenting a conference paper on the defeat
                 of SDMI's digital watermarking, and on Microsoft's
                 calling open source ``unAmerican''.",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
  keywords =     "Jim Allchin (Microsoft); Ed Felton (Princeton); Craig
                 Mundie (Microsoft); prior restraint on free speech",
}

@Article{Ellis:2001:LOS,
  author =       "Steven Ellis and David Johnson and Mike Schmit and
                 Jenny Jones and Simon Cooke and Kurt Granroth",
  title =        "Letters: Open Source {Cobol}; Setting the {Debian}
                 Record Straight; Back to Basics; Load Testing {Web}
                 Sites; Open Source Hat Tricks; {KDE} Insider",
  journal =      j-DDJ,
  volume =       "26",
  number =       "7",
  pages =        "10, 12",
  month =        jul,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:17 MDT 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Baran:2001:NVA,
  author =       "Nicholas Baran",
  title =        "News and Views: Anonymity and the {Internet}; Is
                 Industry Hogging Computer Science Talent?; Relief from
                 Acronyms; {OpenML} Spec Released; {C\#} Not Just a
                 {Java} Killer, Says Anders; And the Winners Are
                 \ldots{}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "7",
  pages =        "18--18",
  month =        jul,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:17 MDT 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Jarp:2001:OIP,
  author =       "Sverre Jarp",
  title =        "Optimizing {IA-64} Performance",
  journal =      j-DDJ,
  volume =       "26",
  number =       "7",
  pages =        "21--22, 24, 26",
  month =        jul,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:17 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_07/ia64.txt;
                 http://www.ddj.com/ftp/2001/2001_07/ia64.zip",
  abstract =     "The IA-64, also known as Itanium, is a 64-bit
                 processor designed by Hewlett--Packard and Intel that
                 supports performance-enhancing techniques such as
                 predication, speculation, rotating registers, and the
                 like. It also sports a new kind of instruction set
                 based on the Explicit Parallel Instruction Computing
                 (EPIC) specification. Additional resources include
                 ia64.txt (listings) and ia64.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Bik:2001:AEI,
  author =       "Aart J. C. Bik and Milind Girkar and Paul M. Grey and
                 Xinmin Tian",
  title =        "Automatically Exploiting Implicit Parallelism",
  journal =      j-DDJ,
  volume =       "26",
  number =       "7",
  pages =        "28, 30, 32--34",
  month =        jul,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:17 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_07/parallel.txt",
  abstract =     "Recent trends in processor design have introduced new
                 ways for programmers to exploit parallelism:
                 ``smarter'' compilers do much of the work for you.
                 Additional resources include parallel.txt (listings).",
  acknowledgement = ack-nhfb,
  keywords =     "MMX; SSE; SSE2",
}

@Article{Nagle:2001:MFV,
  author =       "Dan Nagle",
  title =        "Multithreading, {Fthreads}, and {Visual Fortran}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "7",
  pages =        "36, 38, 40",
  month =        jul,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:17 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_07/fthreads.zip",
  abstract =     "Dan presents a Fortran module that helps you write
                 multithreaded programs for Windows-based applications.
                 Additional resources include fthreads.zip (source
                 code).",
  acknowledgement = ack-nhfb,
}

@Article{Nakhimovsky:2001:ISM,
  author =       "Greg Nakhimovsky",
  title =        "Improving Scalability Of Multithreaded Dynamic Memory
                 Allocation",
  journal =      j-DDJ,
  volume =       "26",
  number =       "7",
  pages =        "44, 46, 48--50, 52, 54",
  month =        jul,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:17 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_07/mthot.txt;
                 http://www.ddj.com/ftp/2001/2001_07/mthot.zip",
  abstract =     "Multiprocessor/multithreaded environments add a new
                 dimension to the familiar malloc facility. The
                 ``MT-hot'' implementation Greg presents here lets
                 multiple threads execute in parallel without major
                 delays. Additional resources include mthot.txt
                 (listings) and mthot.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Kim:2001:TSJ,
  author =       "Eugene Eric Kim",
  title =        "A Triumph of Simplicity: {James Clark} on Markup
                 Languages and {XML}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "7",
  pages =        "56, 58--60",
  month =        jul,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:17 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Whether you know it or not, James Clark has made your
                 life easier by creating a number of open-source tools
                 such as expat (an XML parser), groff (a GNU version of
                 troff), TREX (an XML schema language), and more.",
  acknowledgement = ack-nhfb,
}

@Article{Ishaq:2001:PML,
  author =       "Jeff Ishaq",
  title =        "{Palm OS} Memory Leak Detection",
  journal =      j-DDJ,
  volume =       "26",
  number =       "7",
  pages =        "62, 66, 68, 70",
  month =        jul,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:17 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_07/palmmem.txt;
                 http://www.ddj.com/ftp/2001/2001_07/palmmem.zip",
  abstract =     "Nothing can stop Palm development faster than
                 unexpectedly running out of memory, so every byte of
                 dynamic heap is precious. Jeff presents techniques for
                 hunting down memory leaks, then provides a robust
                 memory leak detection system. Additional resources
                 include palmmem.txt (listings) and palmmem.zip (source
                 code).",
  acknowledgement = ack-nhfb,
}

@Article{Lardieri:2001:ACE,
  author =       "Steve Lardieri",
  title =        "{ActiveX} Controls for {Embedded Visual Basic}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "7",
  pages =        "72, 76, 78--84, 86",
  month =        jul,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:17 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_07/embedvb.txt;
                 http://www.ddj.com/ftp/2001/2001_07/embedvb.zip",
  abstract =     "Using the ActiveX control Steve presents here, there's
                 no need to resort to C++ when your Embedded Visual
                 Basic applications need speed and power. Additional
                 resources include embedvb.txt (listings) and
                 embedvb.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Larson:2001:WBV,
  author =       "Michael Larson",
  title =        "{Web}-Based Video Monitoring",
  journal =      j-DDJ,
  volume =       "26",
  number =       "7",
  pages =        "88, 90, 93--94, 96",
  month =        jul,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:17 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_07/video.txt;
                 http://www.ddj.com/ftp/2001/2001_07/video.zip",
  abstract =     "``Streamhealth,'' the automated web-site monitoring
                 tool Michael presents here, was designed to monitor
                 streaming video, but is flexible enough to accommodate
                 new stream types. Additional resources include
                 video.txt (listings) and video.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Smith:2001:AOS,
  author =       "Larry Smith and Cameron Laird",
  title =        "{Android}: Open-Source Scripting For Testing and
                 Automation",
  journal =      j-DDJ,
  volume =       "26",
  number =       "7",
  pages =        "99--102",
  month =        jul,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:17 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_07/android.txt",
  abstract =     "Android is a tool for recording and playing back
                 scripts of events. In other words, it is a personal
                 assistant that's smart enough to ``do what you mean''
                 when drudge work is waiting. Additional resources
                 include android.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2001:PPEb,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: The Enduring Popularity of
                 {Basic}, the True Meaning of the {Semantic Web}, and
                 Other Puzzles",
  journal =      j-DDJ,
  volume =       "26",
  number =       "7",
  pages =        "105--106, 109--110",
  month =        jul,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:17 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Michael gets back to Basics again, then turns his
                 attention to Tim Berners-Lee's newest project: the
                 Semantic Web. Puzzled? Michael's got that, too.",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2001:CPA,
  author =       "Al Stevens",
  title =        "{C} Programming: {I} Almost Get a {Linux} Editor and
                 Compiler",
  journal =      j-DDJ,
  volume =       "26",
  number =       "7",
  pages =        "113--116",
  month =        jul,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:17 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Being on the road with the DobbsMobile means that Al
                 gets a Linux editor and compiler: almost.",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2001:ESRa,
  author =       "Ed Nisley",
  title =        "Embedded Space: Rating Real Time: Hard and Brittle",
  journal =      j-DDJ,
  volume =       "26",
  number =       "7",
  pages =        "121--123",
  month =        jul,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:17 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "There's ``soft'' real time, ``hard'' real time, and to
                 Ed's way of thinking, there's also ``brittle'' real
                 time.",
  acknowledgement = ack-nhfb,
}

@Article{deDinechin:2001:JQW,
  author =       "Christophe de Dinechin",
  title =        "{Java Q\&A}: What is {Moka}?",
  journal =      j-DDJ,
  volume =       "26",
  number =       "7",
  pages =        "125--126, 128, 130--131",
  month =        jul,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:17 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_07/jqa0701.txt",
  abstract =     "Moka is a Java-to-Java compiler that lets you extend
                 Java to add features the language currently does not
                 support. Additional resources include jqa0701.txt
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Demaine:2001:AAF,
  author =       "Erik Demaine",
  title =        "Algorithm Alley: Fast and Small Resizable Arrays",
  journal =      j-DDJ,
  volume =       "26",
  number =       "7",
  pages =        "132--134",
  month =        jul,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:17 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_07/aa0701.txt",
  abstract =     "Dynamically resizable arrays are an important answer
                 to many problems. Erik describes several ways to resize
                 an array, each with its own advantages and
                 disadvantages. Additional resources include aa0701.txt
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2001:DEOg,
  author =       "Dennis E. Shasha",
  title =        "{Dr. Ecco}'s Omniheurist Corner: Beams",
  journal =      j-DDJ,
  volume =       "26",
  number =       "7",
  pages =        "135--136",
  month =        jul,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:17 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "It may be Greek to you, but it is just another
                 archaeological problem for Natasha as she returns to
                 Ecco and Liane's digs.",
  acknowledgement = ack-nhfb,
}

@Article{Cromwell:2001:PBD,
  author =       "Jeff Cromwell",
  title =        "Programmer's Bookshelf: Days of Our Data: {A} Server
                 {SOAP} Opera",
  journal =      j-DDJ,
  volume =       "26",
  number =       "7",
  pages =        "138, 140",
  month =        jul,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:17 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Jeff comes clean with his examination of XML and SOAP
                 Programming for BizTalk Servers, by Brain Travis;
                 Understanding SOAP, by Kenn Scribner and Mark Stiver;
                 Applied XML Solutions, by Benoit Marchal; and
                 Developing XML Solutions, by Jake Sturm.",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2001:Ig,
  author =       "Shannon Cochran and Della Song",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "26",
  number =       "7",
  pages =        "142--143",
  month =        jul,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:17 MDT 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2001:SFB,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: Breakfast with {Burnout Boy}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "7",
  pages =        "144--144",
  month =        jul,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:17 MDT 2001",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2001:ERS,
  author =       "Jonathan Erickson",
  title =        "Editorial: {A} Ringside Seat",
  journal =      j-DDJ,
  volume =       "26",
  number =       "8",
  pages =        "8--8",
  month =        aug,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Jul 11 06:31:35 MDT 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
  annote =       "More on the Microsoft vs. Open Source controversy.",
}

@Article{Bonzini:2001:LHG,
  author =       "Paolo Bonzini and Stuart Halloway and John Penry and
                 Oluseyi Sonaiya and Bruce E. Hogman and Greg Bissell
                 and Michael Hobbs and Ben Laurie",
  title =        "Letters: Huge {GCC} Executables; {Java} Class Loader;
                 {Department of Dumb Ideas}; Setting the Record
                 Straight; The Legacy of {C\#}; {DHTML} Source-Code
                 Correction; Shared Libraries Aren't All Bad; {Zuse} and
                 {Intel}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "8",
  pages =        "10, 12",
  month =        aug,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Jul 11 06:31:35 MDT 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2001:NV,
  author =       "Shannon Cochran",
  title =        "News and Views: {Curl} Programming Contest Winners
                 Announced; Prior Art Database Will Protect Open
                 Software; {AI} Researcher [{Kenneth Mark Colby}] Dies;
                 Personal Router for Surfing Wireless Services; {XML}
                 Schema Formalized; Thought-Controlled Computers",
  journal =      j-DDJ,
  volume =       "26",
  number =       "8",
  pages =        "18--18",
  month =        aug,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Jul 11 06:31:35 MDT 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{White:2001:DPP,
  author =       "Ken White",
  title =        "{DBMS}: Past, Present, and Future: Where databases
                 have been, where they are going, and what it means to
                 you",
  journal =      j-DDJ,
  volume =       "26",
  number =       "8",
  pages =        "21--22, 24, 26, 28--29",
  month =        aug,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Jul 11 06:31:35 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "From ISAM to XML, data has proven to be the power that
                 runs businesses. Ken examines the database landscape to
                 see where we've been --- and where we will be going.",
  acknowledgement = ack-nhfb,
}

@Article{Reilly:2001:TNF,
  author =       "Douglas Reilly",
  title =        "Threading and the {.Net} Framework",
  journal =      j-DDJ,
  volume =       "26",
  number =       "8",
  pages =        "30, 32--33, 36, 38",
  month =        aug,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Jul 11 06:31:35 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_08/thrednet.txt",
  abstract =     "Microsoft's .NET Framework offers a number of
                 features, such as threading, that simplify difficult
                 tasks. Additional resources include thrednet.txt
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{GonzalezPerez:2001:SOP,
  author =       "C{\'e}sar A. {Gonzalez Perez}",
  title =        "The {Strix Object Persistence Engine}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "8",
  pages =        "40, 42, 44, 46, 48",
  month =        aug,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Jul 11 06:31:35 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_08/strix.txt",
  abstract =     "Strix, a software layer that works between an
                 application and the relational database back end,
                 interfaces relational databases with object-oriented
                 programming languages. Additional resources include
                 strix.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Tan:2001:JWP,
  author =       "C. K. Tan",
  title =        "A {JDBC} Wrapper --- In {Python}!",
  journal =      j-DDJ,
  volume =       "26",
  number =       "8",
  pages =        "50, 52, 54",
  month =        aug,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Jul 11 06:31:35 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_08/jdbcpy.txt;
                 http://www.ddj.com/ftp/2001/2001_08/jdbcpy.zip",
  abstract =     "Database access via JDBC can be less than
                 straightforward. To simplify the process, C.K. presents
                 a Python-based framework that wraps around JDBC.
                 Additional resources include jdbcpy.txt (listings) and
                 jdbcpy.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Crooks:2001:AVB,
  author =       "Clayton E. {Crooks II}",
  title =        "{AppForge}: {Visual Basic} for the {Palm Os}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "8",
  pages =        "56, 58, 60",
  month =        aug,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Jul 11 06:31:35 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_08/appforg.txt;
                 http://www.ddj.com/ftp/2001/2001_08/appforg.zip",
  abstract =     "AppForge was developed as an add-in to the standard
                 Visual Basic 6 IDE. Clayton uses it to build a database
                 for the Palm OS. Additional resources include
                 appforg.txt (listings) and appforg.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Howard:2001:OOD,
  author =       "Michael Howard",
  title =        "Object-Oriented Device Networking",
  journal =      j-DDJ,
  volume =       "26",
  number =       "8",
  pages =        "63, 66--69",
  month =        aug,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Jul 11 06:31:35 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_08/oodevice.txt",
  abstract =     "Michael presents an object-oriented approach that is
                 an alternative to the traditional ways of designing
                 networked devices. Additional resources include
                 oodevice.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Yuen:2001:TPS,
  author =       "Andy Yuen",
  title =        "A Tiny {Perl Server Pages} Engine",
  journal =      j-DDJ,
  volume =       "26",
  number =       "8",
  pages =        "71, 73, 77--78, 80, 82, 84",
  month =        aug,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Jul 11 06:31:35 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_08/psplist.zip;
                 http://www.ddj.com/ftp/2001/2001_08/psp.zip",
  abstract =     "Perl Server Pages is a small footprint Perl-based
                 cross-platform JSP-like facility for generating dynamic
                 pages for both UNIX and Windows. Additional resources
                 include psplist.zip (listings) and psp.zip (source
                 code).",
  acknowledgement = ack-nhfb,
}

@Article{Hightower:2001:EFT,
  author =       "Lauren Hightower",
  title =        "Examining The {FDF} Toolkit",
  journal =      j-DDJ,
  volume =       "26",
  number =       "8",
  pages =        "87, 89--90, 92, 94--95",
  month =        aug,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Jul 11 06:31:35 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_08/fdf.txt;
                 http://www.ddj.com/ftp/2001/2001_08/fdf.zip",
  abstract =     "Lauren shows how you can use Adobe's Forms Data Format
                 (FDF) Toolkit to make PDF documents come alive.
                 Additional resources include fdf.txt (listings) and
                 fdf.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2001:PPB,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: Back to the Future",
  journal =      j-DDJ,
  volume =       "26",
  number =       "8",
  pages =        "97, 99--101",
  month =        aug,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Jul 11 06:31:35 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Was Bill Gates a good programmer? What does Prolog
                 have to do with the Semantic Web? And what did Kent
                 Beck have for lunch?",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2001:CPB,
  author =       "Al Stevens",
  title =        "{C} Programming: The Best of the {Penguin}'s Quest",
  journal =      j-DDJ,
  volume =       "26",
  number =       "8",
  pages =        "103, 105--106, 109",
  month =        aug,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Jul 11 06:31:35 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "There's nothing like a comment or two about
                 programmer's editors to fill up the mailbag.",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2001:ESRb,
  author =       "Ed Nisley",
  title =        "Embedded Space: Rating Real Time: Design Points",
  journal =      j-DDJ,
  volume =       "26",
  number =       "8",
  pages =        "111--112",
  month =        aug,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Jul 11 06:31:35 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Every real-time project starts with a design point
                 that determines what's to be included and --- more
                 importantly --- what's to be left out of the final
                 product.",
  acknowledgement = ack-nhfb,
}

@Article{McKenzie:2001:JQJ,
  author =       "Nadine McKenzie",
  title =        "{Java Q\&A}: Is {JavaScript} an Object-Oriented
                 Language?",
  journal =      j-DDJ,
  volume =       "26",
  number =       "8",
  pages =        "115--116",
  month =        aug,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Jul 11 06:31:35 MDT 2001",
  URL =          "http://www.ddj.com/ftp/2001/2001_08/jqa0801.txt",
  abstract =     "Is JavaScript an object-oriented language? Well, it
                 does utilize prototype-based inheritance and support
                 encapsulation. Additional resources include jqa0801.txt
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Stallings:2001:AAO,
  author =       "William Stallings",
  title =        "Algorithm Alley: Orthogonal Sequences",
  journal =      j-DDJ,
  volume =       "26",
  number =       "8",
  pages =        "118--120",
  month =        aug,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Jul 11 06:31:35 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Orthogonal codes are sets of sequences extensively
                 used in wireless communication.",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2001:DEOh,
  author =       "Dennis E. Shasha",
  title =        "{Dr. Ecco}'s Omniheurist Corner: Perimeters",
  journal =      j-DDJ,
  volume =       "26",
  number =       "8",
  pages =        "121--121",
  month =        aug,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Jul 11 06:31:35 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "It isn't the Star Wars project, but the Air Force
                 still has a base to protect and Ecco and Liane are
                 called upon to help.",
  acknowledgement = ack-nhfb,
}

@Article{Roth:2001:PBC,
  author =       "Peter Roth",
  title =        "Programmer's Bookshelf: {A} {C++} Duo",
  journal =      j-DDJ,
  volume =       "26",
  number =       "8",
  pages =        "124--125",
  month =        aug,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Jul 11 06:31:35 MDT 2001",
  URL =          "http://www.ddj.com/",
  abstract =     "Peter examines a pair of C++ books --- C++ Builder 5
                 Developer's Guide and C++ and Object-Oriented Numeric
                 Computing for Scientists and Engineers.",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2001:Ih,
  author =       "Shannon Cochran and Della Song",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "26",
  number =       "8",
  pages =        "126--127",
  month =        aug,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Jul 11 06:31:35 MDT 2001",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2001:SFF,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: Flaw and Order",
  journal =      j-DDJ,
  volume =       "26",
  number =       "8",
  pages =        "128--128",
  month =        aug,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Jul 11 06:31:35 MDT 2001",
  URL =          "http://www.ddj.com/ddj/privacy.htm;
                 http://www.ddj.com/ddj/sdmg/",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2001:ESF,
  author =       "Jonathan Erickson",
  title =        "Editorial: Science Fiction in the {Electronic Era}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "9",
  pages =        "8--8",
  month =        sep,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:39 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Bauer:2001:LSY,
  author =       "Barr Bauer and Jonathan Erickson and Richard Stallman
                 and Mike Pentney and Frank C. Earl",
  title =        "Letters: The State of Your Taxes; Embedded Space; More
                 {Open Source} versus {Free Software}; Shared Source?;
                 {CORBA} Interoperability",
  journal =      j-DDJ,
  volume =       "26",
  number =       "9",
  pages =        "10, 12",
  month =        sep,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:39 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2001:NVS,
  author =       "Shannon Cochran",
  title =        "News and Views: Scientists Seek Immersive Reality;
                 {USENIX} Names Lifetime Achievement Recipients [the
                 {GNU Project} and the {Kerberos} network authentication
                 system]; Robots Need Programmers; Evangelizing the
                 {Semantic Web}; Get Your Supercomputer Software Free;
                 {Usenet} Creator {Jim Ellis} Dies; {DARPA} Funds
                 {FreeBSD} Security Initiative",
  journal =      j-DDJ,
  volume =       "26",
  number =       "9",
  pages =        "18--18",
  month =        sep,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:39 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Torres:2001:DSD,
  author =       "Mario A. Torres",
  title =        "Developing Scalable Distributed Applications: {A}
                 generic model implemented in {Java}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "9",
  pages =        "21--22, 24--25",
  month =        sep,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:39 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_09/scalable.txt",
  abstract =     "Mario presents a generic model designed to serve as a
                 blueprint for development of scalable distributed
                 computing applications. Additional resources include
                 {\tt scalable.txt} (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Kiselev:2001:PDE,
  author =       "Ivan Kiselev",
  title =        "A Portable Distributed Event-Logging Facility:
                 Monitoring the State of Applications",
  journal =      j-DDJ,
  volume =       "26",
  number =       "9",
  pages =        "26, 28--30",
  month =        sep,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:39 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_09/logging.txt;
                 http://www.ddj.com/ftp/2001/2001_09/logging.zip",
  abstract =     "Every application needs event-logging facilities to
                 monitor the state of applications. Ivan presents a
                 distributed portable event-logging facility that is
                 simple, flexible, and relatively platform independent.
                 Additional resources include {\tt logging.txt}
                 (listings) and {\tt logging.zip} (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Berg:2001:DCC,
  author =       "Cliff Berg",
  title =        "Distributed Computing Component Lifecycles",
  journal =      j-DDJ,
  volume =       "26",
  number =       "9",
  pages =        "32, 34, 36, 39--40",
  month =        sep,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:39 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_09/lifecycl.zip",
  abstract =     "A fundamental problem in all distributed systems is
                 that different components are maintained on different
                 schedules --- and things inevitably break. Cliff
                 presents a framework designed to synchronize components
                 in distributed systems. Additional resources include
                 lifecycl.zip (source).",
  acknowledgement = ack-nhfb,
}

@Article{Heijl:2001:DXS,
  author =       "Danny Heijl",
  title =        "The {Delphi XML SAX2} Component and {MSXML 3.0}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "9",
  pages =        "42, 46, 48, 50, 52, 54",
  month =        sep,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:39 MST 2002",
  note =         "See correction \cite{Todd:2001:LSS}.",
  URL =          "http://www.ddj.com/ftp/2001/2001_09/xmlsax2.txt;
                 http://www.ddj.com/ftp/2001/2001_09/xmlsax2.zip",
  abstract =     "Danny shows how to use the C++ COM interfaces of
                 Microsoft's MSXML 3.0 SAX2 parser with Borland Delphi.
                 He then presents TSAXParser, a Delphi component that
                 uses these interfaces, but shields you from their
                 complexities. Additional resources include {\tt
                 xmlsax2.txt} (listings) and {\tt xmlsax2.zip} (source
                 code).",
  acknowledgement = ack-nhfb,
}

@Article{Smith:2001:SLT,
  author =       "Larry Smith",
  title =        "Shift-Left Testing",
  journal =      j-DDJ,
  volume =       "26",
  number =       "9",
  pages =        "56, 62",
  month =        sep,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:39 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "By combining development and quality assurance earlier
                 and more deeply in your project plan, you can expand
                 your testing program and reduce manpower and equipment
                 needs.",
  acknowledgement = ack-nhfb,
}

@Article{Muffke:2001:CPE,
  author =       "Friedger M{\"u}ffke",
  title =        "The {Curl} Programming Environment: Making the
                 {Internet} interactive",
  journal =      j-DDJ,
  volume =       "26",
  number =       "9",
  pages =        "66, 68, 70--71",
  month =        sep,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:39 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_09/curllist.zip",
  abstract =     "Curl is a programming environment designed for
                 developing interactive Internet applications. As such,
                 it combines the ease of markup languages with the
                 functionality of object-oriented ones. Additional
                 resources include curllist.zip (source).",
  acknowledgement = ack-nhfb,
}

@Article{Kougiouris:2001:PMP,
  author =       "Panos Kougiouris",
  title =        "Programming Mobile Phones",
  journal =      j-DDJ,
  volume =       "26",
  number =       "9",
  pages =        "73, 75, 77, 78--79",
  month =        sep,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:39 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_09/mphones.txt",
  abstract =     "Panos presents one approach to updating contact
                 information for mobile phones by downloading contacts
                 from PCs running Outlook 2000 to Nokia mobile phones.
                 Additional resources include {\tt mphones.txt}
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Link:2001:TES,
  author =       "Joseph M. Link",
  title =        "Trampolines For Embedded Systems: Minimizing interrupt
                 handlers latency",
  journal =      j-DDJ,
  volume =       "26",
  number =       "9",
  pages =        "81, 84--87",
  month =        sep,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:39 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_09/tramp.txt",
  abstract =     "Trampolines are short snippets of code that start up
                 other snippets of code to, among other things, minimize
                 the latency of interrupt handlers. Additional resources
                 include {\tt tramp.txt} (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Gunton:2001:SSD,
  author =       "Neil Gunton",
  title =        "{SOAP}: Simplifying Distributed Development: Putting
                 the {Simple Object Access Protocol} to work",
  journal =      j-DDJ,
  volume =       "26",
  number =       "9",
  pages =        "89, 91--92, 95",
  month =        sep,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:39 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_09/soap.txt",
  abstract =     "The Simple Object Access Protocol (SOAP) was developed
                 as an open RPC protocol using XML, targeting much the
                 same problem set as CORBA, DCOM, and Java RMI. Neil
                 uses it to add new facilities to his web site.
                 Additional resources include {\tt soap.txt}
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Ghaly:2001:SEA,
  author =       "Ragae Ghaly and Krishna Kothapalli and Uma Meyyappan",
  title =        "Selecting {EJB} Application Servers: Benchmark and
                 test a variety of {EJB} servers before making a
                 decision",
  journal =      j-DDJ,
  volume =       "26",
  number =       "9",
  pages =        "96, 98, 100--101",
  month =        sep,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:39 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "The Enterprise JavaBeans (EJB) architecture is the
                 standard component architecture for building
                 distributed object-oriented business applications in
                 Java.",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2001:PPRb,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: Realizable Fantasies",
  journal =      j-DDJ,
  volume =       "26",
  number =       "9",
  pages =        "103--105",
  month =        sep,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:39 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "This month, Michael trolls the seas of software
                 development in search of the next ``realizable
                 fantasy.''",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2001:CPP,
  author =       "Al Stevens",
  title =        "{C} Programming: Play {Mysty} for Me, {I}'m On the
                 {QT} with {GCC}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "9",
  pages =        "107--109, 111",
  month =        sep,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:39 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "Between not being able to play Myst III and the
                 release of gcc 3.0, Al has a lot of ground to cover
                 this month.",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2001:ESRc,
  author =       "Ed Nisley",
  title =        "Embedded Space: Rating Real Time: Count the Ways",
  journal =      j-DDJ,
  volume =       "26",
  number =       "9",
  pages =        "113--115",
  month =        sep,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:39 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "Ed continues his examination of the space where real
                 time and Linux overlap.",
  acknowledgement = ack-nhfb,
}

@Article{Jackson:2001:JQW,
  author =       "Jared Jackson",
  title =        "{Java Q\&A}: What Are Resource Bundles and What Do
                 They Have to Do With Internationalization?",
  journal =      j-DDJ,
  volume =       "26",
  number =       "9",
  pages =        "117--119",
  month =        sep,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:39 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_09/jqa0901.txt",
  abstract =     "Resource bundles provide the means for utilizing
                 locale-specific information without having to maintain
                 multiple versions of code for those various locales.
                 Additional resources include {\tt jqa0901.txt}
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Palshikar:2001:AAS,
  author =       "Girish Keshav Palshikar",
  title =        "Algorithm Alley: Simulated Annealing: {A} Heuristic
                 Optimization Algorithm",
  journal =      j-DDJ,
  volume =       "26",
  number =       "9",
  pages =        "121--124",
  month =        sep,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:39 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_09/aa0901.txt;
                 http://www.ddj.com/ftp/2001/2001_09/aa0901.zip",
  abstract =     "Simulated annealing is a probabilistic heuristic
                 optimization algorithm that mimics the natural process
                 of slow cooling of liquids that leads to a solid form
                 that has the lowest energy. Additional resources
                 include {\tt aa0901.txt} (listings) and {\tt
                 aa0901.zip} (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2001:DEOi,
  author =       "Dennis E. Shasha",
  title =        "{Dr. Ecco}'s Omniheurist Corner: Who Rules?",
  journal =      j-DDJ,
  volume =       "26",
  number =       "9",
  pages =        "126--129",
  month =        sep,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:39 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "The problem Ecco and Liane face this month doesn't
                 involve too many generals and not enough privates, but
                 in figuring out who gives the orders and who carries
                 them out.",
  acknowledgement = ack-nhfb,
}

@Article{Stallings:2001:PBB,
  author =       "William Stallings and Lou Grinzo",
  title =        "Programmer's Bookshelf: {A} {Bluetooth} Trio and
                 {C\#}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "9",
  pages =        "130, 132",
  month =        sep,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:39 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "William examines a trio of Bluetooth books, including
                 Bluetooth: Connect Without Cables, by Jennifer Bray and
                 Charles Sturman, Bluetooth Revealed, by Brent Miller
                 and Chatschik Bisdikian, and Bluetooth Demystified, by
                 Nathan Muller. Lou weighs in on A Programmer's
                 Introduction to C\#, by Eric Gunnerson.",
  acknowledgement = ack-nhfb,
}

@Article{Song:2001:Ia,
  author =       "Della Song",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "26",
  number =       "9",
  pages =        "134--134",
  month =        sep,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:39 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2001:SFM,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: Mau-mauing the Ambulance Chasers",
  journal =      j-DDJ,
  volume =       "26",
  number =       "9",
  pages =        "136--136",
  month =        sep,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:39 MST 2002",
  URL =          "http://www.cmp.com/delivery/privacy.html",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2001:EBU,
  author =       "Jonathan Erickson",
  title =        "Editorial: Back in the {U. S. S. R.}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "10",
  pages =        "8--8",
  month =        oct,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
  annote =       "More on the DMCA and the Dmitry Sklyarov case.",
}

@Article{Todd:2001:LSS,
  author =       "Andrew W. Todd and Jonathan Erickson and Nadine
                 McKenzie and Chris Cleeland and Richard Huang and Ragae
                 Ghaly and {The Editors}",
  title =        "Letters: Shared Source and Shared Secrets;
                 {JavaScript} Fix; {CORBA} Interoperability; {EJB}
                 Application Servers Update; Correction [{``The Delphi
                 XML SAX2 Component and MSXML 3.0''}]",
  journal =      j-DDJ,
  volume =       "26",
  number =       "10",
  pages =        "10, 12",
  month =        oct,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  note =         "See \cite{Heijl:2001:DXS}.",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2001:NVL,
  author =       "Shannon Cochran",
  title =        "News and Views: {Linux Standard Base 1.0} Released;
                 Now Everyone Knows You're a Dog; Maximum Fiberoptic
                 Capacity Calculated; Mass Producing Quantum Chips; Mo'
                 Better Batteries; Patenting the Software Service
                 Model",
  journal =      j-DDJ,
  volume =       "26",
  number =       "10",
  pages =        "18--18",
  month =        oct,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Maddock:2001:REC,
  author =       "John Maddock",
  title =        "Regular Expressions In {C++}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "10",
  pages =        "21--22, 24, 26",
  month =        oct,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_10/regexpp3.txt;
                 http://www.ddj.com/ftp/2001/2001_10/regexpp3.zip",
  abstract =     "Regex++ is a regular expression engine that makes C++
                 as versatile for text processing as script-based
                 languages like Awk and Perl. Additional resources
                 include {\tt regexpp3.txt} (listings) and {\tt
                 regexpp3.zip} (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Paton:2001:EER,
  author =       "Keith Paton",
  title =        "Extraction and Examination of Relations In {C++}:
                 Principles of good physical design, courtesy of {Lakos}
                 and {Martin}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "10",
  pages =        "28, 30, 32, 34",
  month =        oct,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_10/extract.txt",
  abstract =     "Design flaws can be automatically detected, as long as
                 you can extract and manipulate sets of key
                 relationships among the entities in C++ systems.
                 Additional resources include {\tt extract.txt}
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Taylor:2001:PHN,
  author =       "Jeffrey Taylor",
  title =        "Precompiled Headers and Normal {C++} Semantics",
  journal =      j-DDJ,
  volume =       "26",
  number =       "10",
  pages =        "36, 38",
  month =        oct,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_10/headers.txt",
  abstract =     "If arranged correctly, precompiled headers, like those
                 in Visual C++, can double the build speed. However, it
                 is possible also to arrange precompiled header files in
                 a manner that is inconsistent with normal C++
                 semantics. Additional resources include {\tt
                 headers.txt} (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Begelman:2001:CST,
  author =       "Gregory Begelman and Lev Finkelstein and Evgeniy
                 Gabrilovich",
  title =        "{C++} Set-Theoretic Operations On Virtual Containers",
  journal =      j-DDJ,
  volume =       "26",
  number =       "10",
  pages =        "40, 42, 46, 48",
  month =        oct,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  note =         "See correction \cite{Rayboud:2001:LSL}.",
  URL =          "http://www.ddj.com/ftp/2001/2001_10/setcpp.txt;
                 http://www.ddj.com/ftp/2001/2001_10/setcpp.zip",
  abstract =     "The C++ Standard Template Library (STL) provides the
                 set-theoretic operations union, intersection,
                 difference, and symmetric difference, accessible
                 through the header file {\tt <algorithm>}. Additional
                 resources include {\tt setcpp.txt} (listings) and {\tt
                 setcpp.zip} (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Crowell:2001:CP,
  author =       "Talbott Crowell",
  title =        "{C\#} and {Perl}: {C\#} has a lot in common with many
                 languages",
  journal =      j-DDJ,
  volume =       "26",
  number =       "10",
  pages =        "50, 52, 54",
  month =        oct,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_10/csharpperl.txt",
  abstract =     "Although C\# is an evolution of C/C++ much like Java,
                 it also borrows from other languages --- and has
                 facilities familiar to Perl. Talbott presents common
                 Perl scripts that you can implement in C\#. Additional
                 resources include {\tt csharpperl.txt} (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Rempt:2001:SJP,
  author =       "Boudewijn Rempt",
  title =        "Scripting With {Java} and {Python}: Building a
                 {Python} console window in a {Java} application",
  journal =      j-DDJ,
  volume =       "26",
  number =       "10",
  pages =        "56, 60--61",
  month =        oct,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_10/pyconsol.txt;
                 http://www.ddj.com/ftp/2001/2001_10/pyconsol.zip",
  abstract =     "Boudewijn shows how you can embed a standard language
                 such as Python into a Java application. Additional
                 resources include {\tt pyconsol.txt} (listings) and
                 {\tt pyconsol.zip} (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Hume:2001:SMS,
  author =       "Ron Hume",
  title =        "Short Message Services",
  journal =      j-DDJ,
  volume =       "26",
  number =       "10",
  pages =        "62, 64--68, 70",
  month =        oct,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_10/sms.txt",
  abstract =     "Short Message Services (SMS) let you send short
                 text-based messages between wireless devices, such as
                 cell phones and pagers. Additional resources include
                 {\tt sms.txt} (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Jones:2001:EHS,
  author =       "M. Tim Jones",
  title =        "An Embeddable {HTTP} Server",
  journal =      j-DDJ,
  volume =       "26",
  number =       "10",
  pages =        "73--74, 77--79",
  month =        oct,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_10/emhttp.txt;
                 http://www.ddj.com/ftp/2001/2001_10/emhttp.zip",
  abstract =     "Most HTTP servers for embedded devices place
                 requirements on the design of embedded systems that
                 adversely effect cost. The embeddable HTTP server Tim
                 presents here is small, but still powerful enough to
                 get the job done. Additional resources include {\tt
                 emhttp.txt} (listings) and {\tt emhttp.zip} (source
                 code).",
  acknowledgement = ack-nhfb,
}

@Article{Chester:2001:HPW,
  author =       "Tim Chester",
  title =        "High-Performance {Web} Sites: {ADO} Versus {MSXML}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "10",
  pages =        "81--84, 86, 88",
  month =        oct,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_10/enroll_txt.zip",
  abstract =     "ADO and MSXML are tools that can be used to create
                 high-performance web sites. MSXML provides flexibility,
                 but ADO offers performance. Additional resources
                 include {\tt enroll\_txt.zip} (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Phillips:2001:VVW,
  author =       "Lee Anne Phillips",
  title =        "{VoiceXML} and the Voice\slash {Web} Environment",
  journal =      j-DDJ,
  volume =       "26",
  number =       "10",
  pages =        "91--92, 94, 96",
  month =        oct,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_10/voicexml_txt.zip;
                 http://www.ddj.com/ftp/2001/2001_10/voicexml.zip",
  abstract =     "While the Internet is making inroads into the public
                 switched-telephone network, XML protocols such as
                 VoiceXML are providing access to a set of tools that
                 address the entire range of web applications.
                 Additional resources include {\tt voicexml\_txt.zip}
                 (listings) and {\tt voicexml.zip} (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2001:PPO,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: Other Worlds",
  journal =      j-DDJ,
  volume =       "26",
  number =       "10",
  pages =        "99--102",
  month =        oct,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "Michael proves once again that he is a man of the
                 (other) world.",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2001:CPYb,
  author =       "Al Stevens",
  title =        "{C} Programming: {YAPP}: {Yet Another Programming
                 Platform}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "10",
  pages =        "105--107, 109",
  month =        oct,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "Al continues his search for the perfect C++ class
                 library for Linux.",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2001:ESRd,
  author =       "Ed Nisley",
  title =        "Embedded Space: Real Time Zones",
  journal =      j-DDJ,
  volume =       "26",
  number =       "10",
  pages =        "111--112, 115",
  month =        oct,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "``Real time'' sometimes doesn't have anything to do
                 with ``RTOS.'' Ed examines the problems you face when
                 you have to decide which clock is giving you the real
                 time.",
  acknowledgement = ack-nhfb,
}

@Article{Jolin:2001:JQC,
  author =       "Art Jolin",
  title =        "{Java Q\&A}: Can {J2EE} Manage Cache and Pool
                 Memory?",
  journal =      j-DDJ,
  volume =       "26",
  number =       "10",
  pages =        "117--120",
  month =        oct,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_10/jqa1001.txt;
                 http://www.ddj.com/ftp/2001/2001_10/jqa1001.zip",
  abstract =     "Can J2EE manage cache and pool memory? Yes, and Art
                 shows you how. Additional resources include {\tt
                 jqa1001.txt} (listings) and {\tt jqa1001.zip} (source
                 code).",
  acknowledgement = ack-nhfb,
}

@Article{Cargill:2001:AA,
  author =       "Tom Cargill",
  title =        "Algorithm Alley: Replacing a Dictionary with a Square
                 Root",
  journal =      j-DDJ,
  volume =       "26",
  number =       "10",
  pages =        "123--125",
  month =        oct,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_10/aa1001.txt",
  abstract =     "Data that compresses well under a run-length encoding
                 mechanism can be encoded in a way that is compatible
                 with LZW's output, but independent of its patented
                 algorithm. Additional resources include {\tt
                 aa1001.txt} (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2001:DEOj,
  author =       "Dennis E. Shasha",
  title =        "{Dr. Ecco}'s Omniheurist Corner: Child's Ply",
  journal =      j-DDJ,
  volume =       "26",
  number =       "10",
  pages =        "126, 128",
  month =        oct,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "{Dr. Ecco} and Liane divide their attention to add up
                 the pluses and minuses in an effort to multiply the fun
                 factor of Astrid Svensen's math class.",
  acknowledgement = ack-nhfb,
}

@Article{Lach-Smith:2001:PBD,
  author =       "Barbara Lach-Smith",
  title =        "Programmer's Bookshelf: Developing for Wireless
                 Systems",
  journal =      j-DDJ,
  volume =       "26",
  number =       "10",
  pages =        "130--131",
  month =        oct,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "GPRS and 3G Wireless Applications: Professional
                 Developer's Guide, by Christoffer Andersson, arrives
                 just as the mobile Internet seems ready to take off.",
  acknowledgement = ack-nhfb,
}

@Article{Song:2001:Ib,
  author =       "Della Song",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "26",
  number =       "10",
  pages =        "134--135",
  month =        oct,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2001:SFGb,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: The Geek Girls and the Big-Endian
                 Conspiracy",
  journal =      j-DDJ,
  volume =       "26",
  number =       "10",
  pages =        "136--136",
  month =        oct,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.cmp.com/delivery/privacy.html",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2001:EWA,
  author =       "Jonathan Erickson",
  title =        "Editorial: {$R_{\rm XML}$} for What Ails Healthcare",
  journal =      j-DDJ,
  volume =       "26",
  number =       "11",
  pages =        "8--8",
  month =        nov,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Duncan:2001:LPD,
  author =       "Ray Duncan and Duncan Harris and Douglas Reilly and
                 Craig Rodrigues and Michael Birken and Paul S. Person",
  title =        "Letters: Plug-in Desupport; Threading and the {.Net}
                 Framework; {CORBA} Interoperability; Game Over for
                 {Java}; Totally Wired",
  journal =      j-DDJ,
  volume =       "26",
  number =       "11",
  pages =        "10, 12",
  month =        nov,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2001:NVW,
  author =       "Shannon Cochran",
  title =        "News and Views: {WEP} [Wired Equivalent Privacy]:
                 Pining for the Fjords?; Bye Bye {Be}; {UNIX} Utilities
                 Open Sourced; Cosmology Computer Calculates Creation;
                 {UML 2.0} Infrastructure Proposals",
  journal =      j-DDJ,
  volume =       "26",
  number =       "11",
  pages =        "18--18",
  month =        nov,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Arnold:2001:AW,
  author =       "Michael Arnold",
  title =        "Audio Watermarking: Burying information in the data",
  journal =      j-DDJ,
  volume =       "26",
  number =       "11",
  pages =        "21--22, 24--26, 28",
  month =        nov,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_11/watermk.txt;
                 http://www.ddj.com/ftp/2001/2001_11/watermk.zip",
  abstract =     "Digital watermarking is a security technique that
                 provides copy protection, authentication, and more for
                 audio and other forms of information. The approach
                 Michael presents here is based on a statistical
                 algorithm working in the Fourier domain. Additional
                 resources include {\tt watermk.txt} (listings) and {\tt
                 watermk.zip} (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Davis:2001:DSE,
  author =       "Don Davis",
  title =        "Defective Sign-and-Encrypt: Can you really trust
                 {S/MIME}, {PCKS\#7}, {PGP}, and {XML}?",
  journal =      j-DDJ,
  volume =       "26",
  number =       "11",
  pages =        "30",
  month =        nov,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "Over the past 25 years, most security protocols have
                 focused on securing network connections, ignoring
                 relatively simple file-encryption problems. Don
                 presents guidelines for avoiding a common security
                 pitfall when combining encryption with digital
                 signatures.",
  acknowledgement = ack-nhfb,
}

@Article{Schneier:2001:BIP,
  author =       "Bruce Schneier and Elizabeth Zwicky",
  title =        "Banners and {Internet} Protocols",
  journal =      j-DDJ,
  volume =       "26",
  number =       "11",
  pages =        "38, 41",
  month =        nov,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "SMTP banners that contain version information can
                 result in security vulnerabilities. Our authors show
                 how to close this hole.",
  acknowledgement = ack-nhfb,
}

@Article{Bailey:2001:IES,
  author =       "Daniel V. Bailey",
  title =        "Inside {eBook} Security",
  journal =      j-DDJ,
  volume =       "26",
  number =       "11",
  pages =        "42, 44--45",
  month =        nov,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "Daniel reports on Dmitry Sklyarov's analysis of
                 PC-based digital rights management security
                 techniques.",
  acknowledgement = ack-nhfb,
}

@Article{Sheong:2001:BDF,
  author =       "Chang Sau Sheong",
  title =        "Building Dynamic Fail-Over {Java} Servers",
  journal =      j-DDJ,
  volume =       "26",
  number =       "11",
  pages =        "46, 48, 50, 52--54, 57",
  month =        nov,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_11/xander.txt;
                 http://www.ddj.com/ftp/2001/2001_11/xander.zip",
  abstract =     "System outage isn't just a hardware problem. The
                 design and implementation of software must be robust
                 and hardy enough to survive failures of all kinds.
                 Additional resources include {\tt xander.txt}
                 (listings) and {\tt xander.zip} (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Michelone:2001:UP,
  author =       "Manuel Lopez Michelone and Marcelo Perez Medel",
  title =        "Understanding Photomosaics",
  journal =      j-DDJ,
  volume =       "26",
  number =       "11",
  pages =        "58, 60--63",
  month =        nov,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_11/mosaic.zip",
  abstract =     "A photomosaic is a digital image made up of other
                 digital images, pieced together by software. Additional
                 resources include mosaic.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Boling:2001:EHK,
  author =       "Eli Boling and Chuck Jazdzewski",
  title =        "Exception Handling In {Kylix}: Matching up {Object
                 Pascal}, {Linux}, and exception handling",
  journal =      j-DDJ,
  volume =       "26",
  number =       "11",
  pages =        "66, 68--71",
  month =        nov,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_11/kylix.txt",
  abstract =     "Kylix brings Borland's Delphi toolset and environment
                 from Windows to Linux. And one of the most challenging
                 aspects of the port involved exception handling.
                 Additional resources include {\tt kylix.txt}
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{deCarmo:2001:PSB,
  author =       "Linden deCarmo",
  title =        "{PacketCable} Security: Building secure packet-based
                 telephony networks",
  journal =      j-DDJ,
  volume =       "26",
  number =       "11",
  pages =        "73--76, 78",
  month =        nov,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "The PacketCable Security Specification provides
                 rigorous security standards for cable-based telephony
                 networks.",
  acknowledgement = ack-nhfb,
}

@Article{Cox:2001:XIC,
  author =       "David Cox",
  title =        "{XML} For Instrument Control and Monitoring",
  journal =      j-DDJ,
  volume =       "26",
  number =       "11",
  pages =        "83--85",
  month =        nov,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_11/ixml.txt",
  abstract =     "The Instrument Markup Language is an XML dialect
                 designed to aid in the exchange of data and commands
                 with remote instruments. Additional resources include
                 {\tt ixml.txt} (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Kiesling:2001:MR,
  author =       "Robert Kiesling",
  title =        "{E}-mail Relaying: Coping with the {\tt sendmail} and
                 {\tt qmail} mail transport agents",
  journal =      j-DDJ,
  volume =       "26",
  number =       "11",
  pages =        "87--91",
  month =        nov,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_11/relay.txt;
                 http://www.ddj.com/ftp/2001/2001_11/relay.zip",
  abstract =     "The rapidly increasing number of e-mail relay packages
                 means interoperability challenges for programmers who
                 need compatibility with existing e-mail software.
                 Additional resources include {\tt relay.txt} (listings)
                 and {\tt relay.zip} (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Dale:2001:BSA,
  author =       "Richard Dale",
  title =        "Biometric Security: It's all about identification and
                 authentication",
  journal =      j-DDJ,
  volume =       "26",
  number =       "11",
  pages =        "93--94, 96",
  month =        nov,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "Biometrics offers a strong authentication alternative
                 to traditional passwords and tokens, and can do so
                 without imposing the burden and cost of application
                 source-code modification.",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2001:PPRc,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: Realizable Fantasies and
                 Conspiracy Theories",
  journal =      j-DDJ,
  volume =       "26",
  number =       "11",
  pages =        "99--101",
  month =        nov,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "Just because Michael sees conspiracies everywhere,
                 doesn't mean he's fantasizing. Or does it?",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2001:CPD,
  author =       "Al Stevens",
  title =        "{C} Programming: Delivery Woes and Music Minus
                 Whatever",
  journal =      j-DDJ,
  volume =       "26",
  number =       "11",
  pages =        "103--105",
  month =        nov,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_11/cpro1101.txt;
                 http://www.ddj.com/ftp/2001/2001_11/cpro1101.zip",
  abstract =     "If he didn't know before, you can bet Al knows now
                 that Schroeder is the piano player and Linus is the
                 blanket-holder. Al goes on to examine programming
                 issues related to a specific DSP audio problem.
                 Additional resources include {\tt cpro1101.txt}
                 (listings) and {\tt cpro1101.zip} (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2001:ESLb,
  author =       "Ed Nisley",
  title =        "Embedded Space: Life Support",
  journal =      j-DDJ,
  volume =       "26",
  number =       "11",
  pages =        "107--109",
  month =        nov,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "It's no surprise that microcontrollers and other
                 embedded devices are used in life-support systems. But
                 can you really, really trust them?",
  acknowledgement = ack-nhfb,
}

@Article{Goldman:2001:JQW,
  author =       "Oliver Goldman",
  title =        "{Java Q\&A}: What are Checked Exceptions?",
  journal =      j-DDJ,
  volume =       "26",
  number =       "11",
  pages =        "111--112, 114",
  month =        nov,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_11/jqa1101.txt",
  abstract =     "Java provides two types of exceptions: checked and
                 unchecked. Additional resources include {\tt
                 jqa1101.txt} (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Kripac:2001:AAE,
  author =       "Jiri Kripac",
  title =        "Algorithm Alley: An Efficient Undo\slash Redo
                 Algorithm",
  journal =      j-DDJ,
  volume =       "26",
  number =       "11",
  pages =        "117--119, 122--123",
  month =        nov,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "The algorithm Jiri presents here performs undo/redo
                 for a general network of interconnected objects.",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2001:DEOk,
  author =       "Dennis E. Shasha",
  title =        "{Dr. Ecco}'s Omniheurist Corner: Sprawl",
  journal =      j-DDJ,
  volume =       "26",
  number =       "11",
  pages =        "125--126",
  month =        nov,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "Ecco and Liane discover that urban planning in Texas
                 isn't an oxymoron after all.",
  acknowledgement = ack-nhfb,
}

@Article{Woehr:2001:PBR,
  author =       "Jack J. Woehr",
  title =        "Programmer's Bookshelf: Reading Embedded",
  journal =      j-DDJ,
  volume =       "26",
  number =       "11",
  pages =        "128, 130",
  month =        nov,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "Jack examines a pair of books that focus on embedded
                 systems: Embedded Controller Hardware Design, by Ken
                 Arnold; and Programming Microcontrollers in C, Second
                 Edition, by Ted van Sickle.",
  acknowledgement = ack-nhfb,
}

@Article{Song:2001:Ic,
  author =       "Della Song",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "26",
  number =       "11",
  pages =        "134--135",
  month =        nov,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2001:SFPb,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: Poverty on Parade",
  journal =      j-DDJ,
  volume =       "26",
  number =       "11",
  pages =        "136--136",
  month =        nov,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  URL =          "http://www.cmp.com/delivery/privacy.html",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2001:EOS,
  author =       "Jonathan Erickson",
  title =        "Editorial: Operating Systems and Operating
                 Principles",
  journal =      j-DDJ,
  volume =       "26",
  number =       "12",
  pages =        "8--8",
  month =        dec,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Rayboud:2001:LSL,
  author =       "Andrew Rayboud and Larry Smith and Steve Walton and
                 Jared Jackson and Joseph Link and Ralph Moore and
                 Ngaire Atmore and {The Editors}",
  title =        "Letters: Shift-Left Testing; Curley [sic] Brackets;
                 Trampolines for Embedded Systems; We're {New
                 Zealanders} Dammit; Correction: {``C++ Set-Theoretic
                 Operations On Virtual Containers''}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "12",
  pages =        "10, 12",
  month =        dec,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  note =         "See \cite{Begelman:2001:CST}.",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Stob:2001:NAV,
  author =       "Verity Stob",
  title =        "The New Adventures of {Verity Stob}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "12",
  pages =        "18--18",
  month =        dec,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2001:NVI,
  author =       "Shannon Cochran",
  title =        "News and Views: {ICFP} Programming Contest Concludes;
                 Lost Moon Landing Tape Recovered; {W3C} Patent
                 Controversy; The {UNIX} Epoch; Connecting the Quantum
                 Dots; {Programmer's Guild} Launches Membership
                 Campaign",
  journal =      j-DDJ,
  volume =       "26",
  number =       "12",
  pages =        "20--20",
  month =        dec,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Minnich:2001:PNL,
  author =       "Ronald G. Minnich",
  title =        "Private Namespaces For {Linux}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "12",
  pages =        "23--24, 26, 28, 30",
  month =        dec,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "Private namespaces let groups of processes construct
                 their own namespace. Ron implements them for Linux to
                 solve problems in both distributed and cluster
                 computing.",
  acknowledgement = ack-nhfb,
  annote =       "Describes an implementation for FreeBSD, GNU/Linux,
                 Solaris, and SunOS of the Plan 9 filesystem protocol.",
}

@Article{Turjanmaa:2001:MOS,
  author =       "Ville Mikael Turjanmaa",
  title =        "The {Menuet} Operating System",
  journal =      j-DDJ,
  volume =       "26",
  number =       "12",
  pages =        "32, 36",
  month =        dec,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_12/msetup.zip",
  abstract =     "Menuet is a multitasking real-time operating system
                 that fits on a single 1.44-MB floppy diskette ---
                 that's right, a single diskette! Additional resources
                 include {\tt msetup.zip} (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Geiselbrecht:2001:NOS,
  author =       "Travis K. Geiselbrecht",
  title =        "The {NewOS} Operating System",
  journal =      j-DDJ,
  volume =       "26",
  number =       "12",
  pages =        "33, 35, 38, 40, 42, 44",
  month =        dec,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  note =         "See correction \cite{Editors:2002:LUC}.",
  URL =          "http://www.ddj.com/ftp/2001/2001_12/newos.txt;
                 http://www.ddj.com/ftp/2001/2001_12/newos.zip",
  abstract =     "NewOS is a freely available lightweight operating
                 system written in C for platforms ranging from Intel-
                 and AMD-based PCs to the Sega Dreamcast. Additional
                 resources include {\tt newos.txt} (listings) and {\tt
                 newos.zip} (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Becker:2001:SMW,
  author =       "Thomas Becker",
  title =        "Synchronization Monitors For {Win32}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "12",
  pages =        "46, 48, 50--52, 54",
  month =        dec,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_12/monitor.txt;
                 http://www.ddj.com/ftp/2001/2001_12/monitor.zip",
  abstract =     "Thomas presents a Java-style synchronization monitor
                 for multithreaded Win32 development. Additional
                 resources include {\tt monitor.txt} (listings) and {\tt
                 monitor.zip} (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Trudell:2001:RTC,
  author =       "Bill Trudell",
  title =        "Redirection Through {C++} Function Pointers",
  journal =      j-DDJ,
  volume =       "26",
  number =       "12",
  pages =        "56, 58, 60, 62--64",
  month =        dec,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_12/redirect.txt",
  abstract =     "Redirection through C++ function pointers abstracts
                 clients from many implementations of underlying
                 functions. The Logger class Bill presents here is one
                 way you can use function pointers for debugging and
                 similar activities. Additional resources include {\tt
                 redirect.txt} (listings).",
  acknowledgement = ack-nhfb,
}

@Article{VanBeneden:2001:EWC,
  author =       "Bart {Van Beneden}",
  title =        "Examining {Windows CE 3.0} Real-Time Capabilities",
  journal =      j-DDJ,
  volume =       "26",
  number =       "12",
  pages =        "66, 68--69, 71--72",
  month =        dec,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_12/wince3.txt",
  abstract =     "So how real is Windows CE 3.0 real time? That's the
                 question Bart and his coworkers were asked to find out
                 --- and here are their conclusions. Additional
                 resources include {\tt wince3.txt} (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Fabian:2001:BNL,
  author =       "Frank Fabian",
  title =        "Balancing Network Load With Priority Queues",
  journal =      j-DDJ,
  volume =       "26",
  number =       "12",
  pages =        "75--76, 78, 80",
  month =        dec,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "A primary concern Frank had when building a web-based
                 lighting control system involved identifying whether
                 adequate response to all web users was even possible.",
  acknowledgement = ack-nhfb,
}

@Article{Ramaswamy:2001:RSL,
  author =       "Ramkumar Ramaswamy",
  title =        "A Request Scheduling Layer For {Apache}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "12",
  pages =        "83--86",
  month =        dec,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_12/apache.txt",
  abstract =     "Request prioritization lets you efficiently utilize
                 server resources without overkill. Ramkumar describes
                 the modifications he made to the Apache server so that
                 it could accommodate request scheduling. Additional
                 resources include {\tt apache.txt} (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Lacas:2001:VVN,
  author =       "Mark Lacas",
  title =        "{VNOS}: The {Visual Network Operating System}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "12",
  pages =        "89--93",
  month =        dec,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "VNOS, the Visual Network Operating System, is a
                 visual, event-driven, data-flow platform that lets you
                 monitor and control physical devices on any network.",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2001:PPSb,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: Size Matters",
  journal =      j-DDJ,
  volume =       "26",
  number =       "12",
  pages =        "95--96, 98",
  month =        dec,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "Michael speculates on what the big deal is about
                 nanotechnology before turning to toddlers taking the
                 Turing test.",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2001:CPMb,
  author =       "Al Stevens",
  title =        "{C} Programming: More Music Minus Whatever, Failures
                 and Successes",
  journal =      j-DDJ,
  volume =       "26",
  number =       "12",
  pages =        "102--105",
  month =        dec,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_12/cpro1201.txt;
                 http://www.ddj.com/ftp/2001/2001_12/cpro1201.zip",
  abstract =     "Al continues development of his Music Minus Whatever
                 project, which lets you encode three discrete logical
                 channels of music into one stereo audio file.
                 Additional resources include {\tt cpro1201.txt}
                 (listings) and {\tt cpro1201.zip} (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2001:ESD,
  author =       "Ed Nisley",
  title =        "Embedded Space: Dynamic Attention",
  journal =      j-DDJ,
  volume =       "26",
  number =       "12",
  pages =        "107--109",
  month =        dec,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "In-car electronics, ranging from cellular phones and
                 entertainment systems to Internet connections, are
                 affecting drivers in ways that we're only now beginning
                 to recognize.",
  acknowledgement = ack-nhfb,
}

@Article{Kientzle:2001:JQH,
  author =       "Tim Kientzle",
  title =        "{Java Q\&A}: How Can {I} Speed Up My {JDBC}-Based
                 Programs?",
  journal =      j-DDJ,
  volume =       "26",
  number =       "12",
  pages =        "111--112",
  month =        dec,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_12/jqa1201.txt;
                 http://www.ddj.com/ftp/2001/2001_12/jqa1201.zip",
  abstract =     "Tim focuses on JDBC as he examines techniques for
                 optimizing the performance of database-centric
                 applications. Additional resources include {\tt
                 jqa1201.txt} (listings) and {\tt jqa1201.zip} (source
                 code).",
  acknowledgement = ack-nhfb,
}

@Article{Qureshi:2001:AAO,
  author =       "Shehrzad Qureshi",
  title =        "Algorithm Alley: Optimization and Fixed-Point
                 Iteration",
  journal =      j-DDJ,
  volume =       "26",
  number =       "12",
  pages =        "115--117",
  month =        dec,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2001/2001_12/aa1201.txt;
                 http://www.ddj.com/ftp/2001/2001_12/aa1201.zip",
  abstract =     "Shehrzad transforms an algorithm from C/C++-style code
                 to vectorized Matlab code, then shows the performance
                 gains resulting from this transformation. Additional
                 resources include {\tt aa1201.txt} (listings) and {\tt
                 aa1201.zip} (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2001:DEOl,
  author =       "Dennis E. Shasha",
  title =        "{Dr. Ecco}'s Omniheurist Corner: Ultimate
                 Tic-Tac-Toe",
  journal =      j-DDJ,
  volume =       "26",
  number =       "12",
  pages =        "119--120",
  month =        dec,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "The dastardly Benjamin Baskerhound has turned over a
                 new leaf, as he matches X'S and O's with criminals for
                 a change.",
  acknowledgement = ack-nhfb,
}

@Article{Wilson:2001:PBA,
  author =       "Gregory V. Wilson",
  title =        "Programmer's Bookshelf: Alien Worlds",
  journal =      j-DDJ,
  volume =       "26",
  number =       "12",
  pages =        "122, 124",
  month =        dec,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "Greg examines a bunch of books this month, including
                 Network Programming with Perl, by Lincoln Stein; Perl
                 Debugged, by Peter Scott and Ed Wright; Beyond Contact:
                 A Guide to SETI and Communicating with Alien
                 Civilizations, by Brian McConnell; SSH, the Secure
                 Shell: The Definitive Guide, by Daniel Barrett and
                 Richard Silverman; and Hacking Exposed: Network
                 Security Secrets and Solutions, Second Edition, by Joel
                 Scambray, Stuart McClure, and George Kurtz.",
  acknowledgement = ack-nhfb,
}

@Article{Song:2001:Id,
  author =       "Della Song",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "26",
  number =       "12",
  pages =        "126--127",
  month =        dec,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2001:SFT,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: The Taxidermist and the Flapper",
  journal =      j-DDJ,
  volume =       "26",
  number =       "12",
  pages =        "128--128",
  month =        dec,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.cmp.com/delivery/privacy.html",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2002:EET,
  author =       "Jonathan Erickson",
  title =        "Editorial: Early Times and Numerical Weather
                 Prediction",
  journal =      j-DDJ,
  volume =       "27",
  number =       "1",
  pages =        "8--8",
  month =        jan,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Editors:2002:LUC,
  author =       "{The Editors} and Kim Reidar Lantz and Ze'ev Atlas and
                 Pete Nelson and Gus J. Grubba",
  title =        "Letters: {URL} Correction [``{The NewOS Operating
                 System}'']; Passing Context to Threads; Compiling
                 {Perl\slash Tk} Scripts; Standing by {Al}'s Principles;
                 Understanding Photomosaics",
  journal =      j-DDJ,
  volume =       "27",
  number =       "1",
  pages =        "10, 12",
  month =        jan,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  note =         "See \cite{Geiselbrecht:2001:NOS}.",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Stob:2002:NAVa,
  author =       "Verity Stob",
  title =        "The New Adventures of {Verity Stob}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "1",
  pages =        "16--16",
  month =        jan,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2002:NVSa,
  author =       "Shannon Cochran",
  title =        "News and Views: Speech Application Language Tags
                 Proposed; {Computer Museum} Names New {Fellows};
                 Terascale Computing System Powers Up; The Enigma of
                 {Mrs. BB}; Really, Really Tiny Transistors Developed",
  journal =      j-DDJ,
  volume =       "27",
  number =       "1",
  pages =        "18--18",
  month =        jan,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{deIcaza:2002:MNF,
  author =       "Miguel de Icaza and Brian Jepson",
  title =        "{Mono} and the {.Net} Framework",
  journal =      j-DDJ,
  volume =       "27",
  number =       "1",
  pages =        "21--24, 26",
  month =        jan,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_01/mono.txt",
  abstract =     "Mono, an open-source implementation of the {.NET}
                 Development Framework, is compatible with Microsoft's
                 {.NET} Framework and offers compatible implementations
                 of FCL libraries, such as ADO.NET and Windows Forms.
                 Additional resources include {\tt mono.txt}
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Kanalakis:2002:WSJ,
  author =       "John M. {Kanalakis, Jr.}",
  title =        "{Web} Services and {Java} Server Pages",
  journal =      j-DDJ,
  volume =       "27",
  number =       "1",
  pages =        "28, 30--34",
  month =        jan,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_01/wsjsp.txt;
                 http://www.ddj.com/ftp/2002/2002_01/wsjsp.zip",
  abstract =     "Web services are collections of functions bundled
                 together to deliver specific functionality to
                 Internet-enabled applications. John presents a portal
                 that shows how web applications can tie together
                 distributed web services to offer a single solution.
                 Additional resources include {\tt wsjsp.txt} (listings)
                 and {\tt wsjsp.zip} (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Allen:2002:RDN,
  author =       "Scott Allen",
  title =        "Reducing Dependencies In {.Net} Development",
  journal =      j-DDJ,
  volume =       "27",
  number =       "1",
  pages =        "36--40",
  month =        jan,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_01/gdepends.txt;
                 http://www.ddj.com/ftp/2002/2002_01/gdepends.zip",
  abstract =     "GDEPENDS, the utility Scott presents here, leverages
                 {.NET} Framework features to graphically display
                 project dependencies parsed from Microsoft Visual
                 Studio files. Additional resources include {\tt
                 gdepends.txt} (listings) and {\tt gdepends.zip} (source
                 code).",
  acknowledgement = ack-nhfb,
}

@Article{Jones:2002:JMA,
  author =       "M. Tim Jones",
  title =        "{Java} Mobile Agents and the {Aglets SDK}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "1",
  pages =        "42, 44, 46--48",
  month =        jan,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_01/aglet.txt",
  abstract =     "Tim uses the Aglets framework to develop Java mobile
                 agents on Linux. The mobile agent he presents migrates
                 to a number of hosts and performs data collection along
                 the way. Additional resources include {\tt aglet.txt}
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{VanTassle:2002:WNB,
  author =       "Ray {Van Tassle} and Marjorie Richardson",
  title =        "Wireless Networking and {Berkeley DB}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "1",
  pages =        "50--53",
  month =        jan,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_01/wireless.txt",
  abstract =     "Berkeley DB is the embedded database engine that's at
                 the core of Motorola's Wireless Mobile Network Gateway,
                 an infrastructure box that supports up to 15,000 mobile
                 units, each with its own IP address, with a message
                 throughput of 400,000 messages per hour. Additional
                 resources include {\tt wireless.txt} (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Fomitchev:2002:RTM,
  author =       "Max I. Fomitchev and Joe Hershberger",
  title =        "Real-Time Music Synthesis and Embedded Applications",
  journal =      j-DDJ,
  volume =       "27",
  number =       "1",
  pages =        "55--58, 60",
  month =        jan,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_01/synth.txt;
                 http://www.ddj.com/ftp/2002/2002_01/synth.zip",
  abstract =     "Building an interactive musical toy that uses
                 real-time music synthesis to generate on-the-fly music
                 is as much a software as a hardware challenge. From the
                 score generator to the microcontroller, Max and Joe
                 describe the system they built. Additional resources
                 include {\tt synth.txt} (listings) and {\tt synth.zip}
                 (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Freeh:2002:APC,
  author =       "Vincent W. Freeh",
  title =        "Anatomy of a Parasitic Computer: Computing with the
                 {TCP} checksum",
  journal =      j-DDJ,
  volume =       "27",
  number =       "1",
  pages =        "63--64, 66--67",
  month =        jan,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_01/parasite.txt",
  abstract =     "Parasitic computing is a twist on the distributed
                 computing paradigm whereby a parasite computer extracts
                 computational cycles unbeknownst to the host system.
                 Additional resources include {\tt parasite.txt}
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{McClellen:2002:WDD,
  author =       "Chris McClellen",
  title =        "Weather Data Distribution and System Monitoring: An
                 open-source {ORB} for a rainy day",
  journal =      j-DDJ,
  volume =       "27",
  number =       "1",
  pages =        "69--70, 72--74",
  month =        jan,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_01/weather.txt",
  abstract =     "One of the hallmarks of The Weather Channel is that it
                 localizes weather data to thousands of geographic
                 regions of the United States, no matter how large or
                 small. Chris examines how the data is processed and
                 transmitted from The Weather Channel's systems to the
                 satellite. Additional resources include {\tt
                 weather.txt} (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2002:PPD,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: Digital Hubbub and the Wayback
                 Machine",
  journal =      j-DDJ,
  volume =       "27",
  number =       "1",
  pages =        "76, 78, 80",
  month =        jan,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "Michael tries to make sense of the Wayback Machine,
                 the Semantic Web, iPod, and VISPs.",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2002:CPPa,
  author =       "Al Stevens",
  title =        "{C} Programming: Plug It In, Plug It In",
  journal =      j-DDJ,
  volume =       "27",
  number =       "1",
  pages =        "82--85",
  month =        jan,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_01/cpro0102.zip",
  abstract =     "There's more to plug-ins than just plugging them in,
                 as Al finds out the hard way. Additional resources
                 include {\tt cpro0102.zip} (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2002:ESE,
  author =       "Ed Nisley",
  title =        "Embedded Space: {ESC} Scenes",
  journal =      j-DDJ,
  volume =       "27",
  number =       "1",
  pages =        "87--89",
  month =        jan,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "From CPU boards to real-time operating systems, Ed
                 takes in the sights (and sounds) of this fall's
                 Embedded Systems Conference in Boston.",
  acknowledgement = ack-nhfb,
}

@Article{Jennings:2002:JQ,
  author =       "Mike Jennings",
  title =        "{Java Q\&A}: How Do {I} Use the {Java} Plug-In Tool?",
  journal =      j-DDJ,
  volume =       "27",
  number =       "1",
  pages =        "93--94",
  month =        jan,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_01/jqa0102.zip",
  abstract =     "Sun Microsystems' freely available Java plug-in tool
                 works with operating system/browser combinations
                 ranging from Netscape Navigator and IE on Windows to
                 Netscape Navigator on Linux. Mike shows how to use the
                 tool to deploy Java 1.3-enabled applets. Additional
                 resources include {\tt jqa0102.zip} (source).",
  acknowledgement = ack-nhfb,
}

@Article{Scott:2002:AAO,
  author =       "David A. Scott",
  title =        "Algorithm Alley: Optimal {EOF} Handling with
                 Arithmetic Compression",
  journal =      j-DDJ,
  volume =       "27",
  number =       "1",
  pages =        "99, 102",
  month =        jan,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_01/aa0102.zip",
  abstract =     "When it comes to compression, properly handling the
                 end of the bitstream requires modeling what is really
                 happening. David examines one way to do this using
                 arithmetic coding. Additional resources include {\tt
                 aa0102.zip} (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2002:DEOa,
  author =       "Dennis E. Shasha",
  title =        "{Dr. Ecco}'s Omniheurist Corner: Desert Sprinklers",
  journal =      j-DDJ,
  volume =       "27",
  number =       "1",
  pages =        "103--106",
  month =        jan,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "Ecco and Liane need to come up with a way of using
                 valuable, but scarce, water to keep valuable, but
                 equally scarce, cacti alive in the Sonoran desert.
                 Maybe you can help out.",
  acknowledgement = ack-nhfb,
}

@Article{Grinzo:2002:PBC,
  author =       "Lou Grinzo",
  title =        "Programmer's Bookshelf: {C\#} and the {.NET}
                 Platform",
  journal =      j-DDJ,
  volume =       "27",
  number =       "1",
  pages =        "108--108",
  month =        jan,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "Lou takes a look at Andrew Troelsen's recently
                 released C\# and the {.NET} Platform.",
  acknowledgement = ack-nhfb,
}

@Article{Song:2002:Ia,
  author =       "Della Song",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "27",
  number =       "1",
  pages =        "110--111",
  month =        jan,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2002:SFM,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: {E}-mails of the {Fortune Five
                 Million}, \#1",
  journal =      j-DDJ,
  volume =       "27",
  number =       "1",
  pages =        "112--112",
  month =        jan,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.cmp.com/delivery/privacy.html",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2002:ESO,
  author =       "Jonathan Erickson",
  title =        "Editorial: Strike One \ldots{}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "2",
  pages =        "8--8",
  month =        feb,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Boyer:2002:LDS,
  author =       "John Boyer and Andrew D. Todd and Jason Trenough and
                 Doug Farrell",
  title =        "Letters: Defective Sign-and-Encrypt and Healthcare
                 Woes and {J2EE} Cache and Pool and {Regex++}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "2",
  pages =        "10--10",
  month =        feb,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Stob:2002:NAVb,
  author =       "Verity Stob",
  title =        "The New Adventures of {Verity Stob}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "2",
  pages =        "16--16",
  month =        feb,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2002:NVSb,
  author =       "Shannon Cochran",
  title =        "News and Views: {School of Adaptive Computer
                 Training}; It Seems Like Yesterday\ldots{} [10th
                 anniversary of the first {Web} site]; Double-Gate
                 Transistor Breakthrough; {802.11g Standard} Proposed;
                 30th Anniversary of the [{Intel}] 4004; {DeCSS} Legal
                 Decisions",
  journal =      j-DDJ,
  volume =       "27",
  number =       "2",
  pages =        "18--18",
  month =        feb,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Kim:2002:LLW,
  author =       "Eugene Eric Kim",
  title =        "The {MIT Lightweight Languages Workshop}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "2",
  pages =        "21--22, 24, 26",
  month =        feb,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://technetcast.ddj.com/tnc_catalog.html?item_id=1295",
  abstract =     "So what happens if you bring together programming
                 language implementors from industry and programming
                 language researchers from academia? For starters, some
                 lively debate about why programming languages are the
                 way they are and where they might be going. Don't miss
                 the Dr. Dobb's TechNetCast presentation of portions of
                 this workshop.",
  acknowledgement = ack-nhfb,
}

@Article{Smith:2002:MN,
  author =       "Jason Smith and Nigel Perry and Erik Meijer",
  title =        "{Mondrian} For {.Net}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "2",
  pages =        "28, 30--32, 34",
  month =        feb,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_02/mondrian.txt;
                 http://www.ddj.com/ftp/2002/2002_02/mondrian.zip",
  abstract =     "Mondrian is a modern, purely functional language
                 specifically designed to leverage the possibilities of
                 the {.NET} Framework. Additional resources include {\tt
                 mondrian.txt} (listings) and {\tt mondrian.zip} (source
                 code).",
  acknowledgement = ack-nhfb,
}

@Article{Bright:2002:DPL,
  author =       "Walter Bright",
  title =        "The {D} Programming Language",
  journal =      j-DDJ,
  volume =       "27",
  number =       "2",
  pages =        "36--40",
  month =        feb,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_02/d.txt",
  abstract =     "D is a programming language that looks a lot like C
                 and C++, but eliminates features that make programs
                 difficult to write, debug, test, and maintain.
                 Additional resources include {\tt d.txt} (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Nelson:2002:TTS,
  author =       "Christopher Nelson",
  title =        "{Tcl\slash Tk} and {SKILL} Mix It Up",
  journal =      j-DDJ,
  volume =       "27",
  number =       "2",
  pages =        "42, 44--46",
  month =        feb,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_02/tclskill.txt;
                 http://www.ddj.com/ftp/2002/2002_02/tclskill.zip",
  abstract =     "As Chris found out, adapting a GUI written in Tcl/Tk
                 with SKILL --- a proprietary language based on Lisp ---
                 is a job easier said than done. Additional resources
                 include {\tt tclskill.txt} (listings) and {\tt
                 tclskill.zip} (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Nagle:2002:FS,
  author =       "Dan Nagle",
  title =        "The {Fortran 2000 Standard}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "2",
  pages =        "48, 50--52",
  month =        feb,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_02/fortn2k.txt",
  abstract =     "Among other features, Fortran 2000 fully supports
                 object-oriented programming, IEEE floating point, and
                 enhanced derived types and I/O. Additional resources
                 include {\tt fortn2k.txt} (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Martin:2002:CLM,
  author =       "Ken Martin and William Hoffman and Berk Geveci",
  title =        "Creating Libraries For Multiple Programming
                 Languages",
  journal =      j-DDJ,
  volume =       "27",
  number =       "2",
  pages =        "54, 56--59",
  month =        feb,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_02/multilan.txt;
                 http://www.ddj.com/ftp/2002/2002_02/multilan.zip",
  abstract =     "If you ask five programmers what language they use,
                 you'll probably get five different answers. So how do
                 you develop libraries that support a wide range of
                 languages? Here's one approach. Additional resources
                 include {\tt multilan.txt} (listings) and {\tt
                 multilan.zip} (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Betz:2002:BMN,
  author =       "David Betz",
  title =        "{Bob} Meets {Nuon}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "2",
  pages =        "60, 62--64",
  month =        feb,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_02/bobnuon.txt;
                 http://www.ddj.com/ftp/2002/2002_02/bob.zip",
  abstract =     "Bob is a dynamic object-oriented language with syntax
                 similar to C/C++, Java, and JavaScript --- and it is
                 used in NUON, a hardware/software platform for DVD
                 players and set-top boxes. Additional resources include
                 {\tt bobnuon.txt} (listings) and {\tt bob.zip} (source
                 code).",
  acknowledgement = ack-nhfb,
}

@Article{Latteier:2002:ZPT,
  author =       "Amos Latteier",
  title =        "{Zope} Page Templates",
  journal =      j-DDJ,
  volume =       "27",
  number =       "2",
  pages =        "67, 69--70, 73--75",
  month =        feb,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_02/zope.zip",
  abstract =     "Zope Page Templates let you define dynamic content
                 using attributes on existing HTML/XML tags. Additional
                 resources include {\tt zope.zip} (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Lischner:2002:BCC,
  author =       "Ray Lischner",
  title =        "{Borland}'s {CLX} Component Framework",
  journal =      j-DDJ,
  volume =       "27",
  number =       "2",
  pages =        "77, 79--81",
  month =        feb,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_02/clx.txt",
  abstract =     "CLX is a component framework for cross-platform
                 development from Borland Software that debuted in Kylix
                 and Linux. It is also available for Windows in Delphi
                 6. Additional resources include {\tt clx.txt}
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2002:PPF,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: Faux Fear",
  journal =      j-DDJ,
  volume =       "27",
  number =       "2",
  pages =        "83--85",
  month =        feb,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "Michael looks at the state of scripting tools for
                 MacOS X, reviews a popular history of computer
                 programming, and reports on recent developments in
                 nanotechnology.",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2002:CPR,
  author =       "Al Stevens",
  title =        "{C} Programming: Riding the Waves",
  journal =      j-DDJ,
  volume =       "27",
  number =       "2",
  pages =        "87--89",
  month =        feb,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_02/cpro0202.zip",
  abstract =     "Al continues with his development of a C++ project for
                 playing back music on a PC. This month, he addresses
                 one part of it --- waveform playback and recording on
                 the Win32 platform. Additional resources include {\tt
                 cpro0202.zip} (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2002:ESb,
  author =       "Ed Nisley",
  title =        "Embedded Space: {Java}: Stirring the Cup",
  journal =      j-DDJ,
  volume =       "27",
  number =       "2",
  pages =        "90, 92--93",
  month =        feb,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "So, is embedded-systems development a cup you can pour
                 Java into? That's the question Ed examines this
                 month.",
  acknowledgement = ack-nhfb,
}

@Article{Rao:2002:JQ,
  author =       "Surlu Rao",
  title =        "{Java Q\&A}: How Do Message-Driver Beans Work in {EJB
                 2.0}?",
  journal =      j-DDJ,
  volume =       "27",
  number =       "2",
  pages =        "94--96",
  month =        feb,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_02/jqa0202.txt;
                 http://www.ddj.com/ftp/2002/2002_02/jqa0202.zip",
  abstract =     "Message-driven beans combine the features of
                 container-managed EJB and the Java Messaging Service
                 (JMS). Additional resources include {\tt jqa0202.txt}
                 (listings) and {\tt jqa0202.zip} (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Mahoney:2002:AAY,
  author =       "William R. Mahoney",
  title =        "Algorithm Alley: Yet Another Record Selection
                 Algorithm",
  journal =      j-DDJ,
  volume =       "27",
  number =       "2",
  pages =        "98--99",
  month =        feb,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_02/aa0202.txt",
  abstract =     "Here's yet another record-selection algorithm for your
                 database toolbox. Additional resources include {\tt
                 aa0202.txt} (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2002:DEOb,
  author =       "Dennis E. Shasha",
  title =        "{Dr. Ecco}'s Omniheurist Corner: Duelists",
  journal =      j-DDJ,
  volume =       "27",
  number =       "2",
  pages =        "101, 103",
  month =        feb,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "Which member of the Napoleonic Society {Dr. Ecco}
                 meets this month will come up short?",
  acknowledgement = ack-nhfb,
}

@Article{Wilson:2002:PBS,
  author =       "Gregory V. Wilson",
  title =        "Programmer's Bookshelf: Sometimes You Get What You
                 Want",
  journal =      j-DDJ,
  volume =       "27",
  number =       "2",
  pages =        "107--170",
  month =        feb,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "The books Greg examines this month include C++
                 Footprint and Performance Optimization; Python Standard
                 Library; Applying Use Case Driven Object Modeling with
                 UML; and Structure and Interpretation of Classical
                 Mechanics.",
  acknowledgement = ack-nhfb,
}

@Article{Song:2002:Ib,
  author =       "Della Song",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "27",
  number =       "2",
  pages =        "110--111",
  month =        feb,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2002:SFF,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: Falling in Place",
  journal =      j-DDJ,
  volume =       "27",
  number =       "2",
  pages =        "112--112",
  month =        feb,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  URL =          "http://www.cmp.com/delivery/privacy.html",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2002:EGC,
  author =       "Jonathan Erickson",
  title =        "Editorial: Getting a Charge Out of the Future",
  journal =      j-DDJ,
  volume =       "27",
  number =       "3",
  pages =        "8",
  month =        mar,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:42 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Wincelberg:2002:LIE,
  author =       "David Wincelberg and Sy Wong and Dan Leach and Paul
                 Keister and Robert Masta",
  title =        "Letters: Inside {eBook} Security; Numerical Weather
                 Forecasting; {FrontPage EULA}; Priority Queues; Audio
                 Watermarking Versus Compression",
  journal =      j-DDJ,
  volume =       "27",
  number =       "3",
  pages =        "10--10",
  month =        mar,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:42 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Stob:2002:NAVc,
  author =       "Verity Stob",
  title =        "The New Adventures of {Verity Stob}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "3",
  pages =        "12--12",
  month =        mar,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:42 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2002:NVW,
  author =       "Shannon Cochran",
  title =        "News and Views: {WaSP} [{Web Standards Project}]
                 Buzzes Off; {Eclipse Project} on the Horizon;
                 Semiconductor Roadmap: Ramping Up, Scaling Down; {AES}
                 [{Advanced Encryption Standard}]: Its Finally Official;
                 {SMS} [{Short Message Service}] Shines On;
                 {Berners-Lee} Awarded {Japan Prize}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "3",
  pages =        "14--14",
  month =        mar,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:42 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Toran-Marti:2002:SNI,
  author =       "Felix Toran-Marti and Javier Ventura-Traveset and Juan
                 Carlos de Mateo",
  title =        "Satellite Navigation and the {Internet}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "3",
  pages =        "17--18, 20, 22, 24, 26",
  month =        mar,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:42 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_03/satelite.txt;
                 http://www.ddj.com/ftp/2002/2002_03/satelite.zip",
  abstract =     "The European Space Agency's SISNET project takes
                 satellite navigation signals and broadcasts them
                 through the Internet to users in real time. Additional
                 resources include {\tt satelite.txt} (listings) and
                 {\tt satelite.zip} (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Cheng:2002:CNC,
  author =       "Harry H. Cheng",
  title =        "{C99} and Numeric Computing",
  journal =      j-DDJ,
  volume =       "27",
  number =       "3",
  pages =        "28, 30--34",
  month =        mar,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:42 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_03/c99.txt",
  abstract =     "C99 is a milestone in C's evolution into becoming a
                 viable programming language for scientific and
                 numerical computing. Additional resources include {\tt
                 c99.txt} (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Pletzer:2002:PFE,
  author =       "Alexander Pletzer",
  title =        "{Python} and Finite Elements",
  journal =      j-DDJ,
  volume =       "27",
  number =       "3",
  pages =        "36, 38--40",
  month =        mar,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:42 MST 2002",
  note =         "See correction \cite{Anonymous:2002:CPF}.",
  URL =          "http://www.ddj.com/ftp/2002/2002_03/ellipt2d.txt;
                 http://www.ddj.com/ftp/2002/2002_03/ellipt2d.zip",
  abstract =     "ELLIPT2D is a finite element package written in Python
                 that's designed to solve elliptic equations in two
                 dimensions. Additional resources include {\tt
                 ellipt2d.txt} (listings) and {\tt ellipt2d.zip} (source
                 code).",
  acknowledgement = ack-nhfb,
}

@Article{Cavalier:2002:DPU,
  author =       "Forrest J. {Cavalier III}",
  title =        "Debugging {PHP} Using a {C++} Compiler",
  journal =      j-DDJ,
  volume =       "27",
  number =       "3",
  pages =        "42, 44--46",
  month =        mar,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:42 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_03/phpcpp.txt;
                 http://www.ddj.com/ftp/2002/2002_03/phpcpp.zip",
  abstract =     "PHP2C++ is a PHP to C++ translator that Forrest uses
                 to accelerate debugging and auditing. Additional
                 resources include {\tt phpcpp.txt} (listings) and {\tt
                 phpcpp.zip} (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Dalheimer:2002:EDQ,
  author =       "Matthias Kalle Dalheimer and Steffen Hansen",
  title =        "Embedded Development With {Qt\slash Embedded}: {Linux}
                 for small systems",
  journal =      j-DDJ,
  volume =       "27",
  number =       "3",
  pages =        "48, 50, 52--54",
  month =        mar,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:42 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_03/qtembed.txt;
                 http://www.ddj.com/ftp/2002/2002_03/qtembed.zip",
  abstract =     "Trolltech's Qt/Embedded toolkit is designed for
                 development of Linux-based embedded devices. Additional
                 resources include {\tt qtembed.txt} (listings) and {\tt
                 qtembed.zip} (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Herzberg:2002:SX,
  author =       "Amir Herzberg",
  title =        "Securing {XML}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "3",
  pages =        "56, 59--62",
  month =        mar,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:42 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_03/secxml.txt",
  abstract =     "Amir examines several proposed XML security
                 mechanisms, including XML Digital Signatures and XML
                 Encryption. Additional resources include {\tt
                 secxml.txt} (listings). WORKBENCH",
  acknowledgement = ack-nhfb,
}

@Article{Hightower:2002:PTE,
  author =       "Lauren Hightower",
  title =        "Programmer's Toolchest: Examining {VB.NET}: {A}
                 popular toolset is reengineered",
  journal =      j-DDJ,
  volume =       "27",
  number =       "3",
  pages =        "65--66, 68--69",
  month =        mar,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:42 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_03/vbnet.txt",
  abstract =     "Examining VB.NET Additional resources include {\tt
                 vbnet.txt} (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2002:PPQ,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: {A} Quantum Computer and a
                 Scripting Studio",
  journal =      j-DDJ,
  volume =       "27",
  number =       "3",
  pages =        "71--72, 74",
  month =        mar,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:42 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2002:CPW,
  author =       "Al Stevens",
  title =        "{C} Programming: Wave Repairs and a First Look at
                 {C\#}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "3",
  pages =        "77--78, 80",
  month =        mar,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:42 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_03/cpro0302.txt;
                 http://www.ddj.com/ftp/2002/2002_03/cpro0302.zip",
  abstract =     "Additional resources include {\tt cpro0302.txt}
                 (listings) and {\tt cpro0302.zip} (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2002:ESJ,
  author =       "Ed Nisley",
  title =        "Embedded Space: {Java}: The Mix",
  journal =      j-DDJ,
  volume =       "27",
  number =       "3",
  pages =        "83--84, 86",
  month =        mar,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:42 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Yuan:2002:JQH,
  author =       "Michael J. Yuan",
  title =        "{Java Q\&A}: How Do {I} Map {SQL} Database Tables to
                 {Java} Objects?",
  journal =      j-DDJ,
  volume =       "27",
  number =       "3",
  pages =        "89--90, 92--94",
  month =        mar,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:42 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_03/jqa0302.txt;
                 http://www.ddj.com/ftp/2002/2002_03/jqa0302.zip",
  abstract =     "How Do I Map SQL Database Tables to Java Objects?
                 Additional resources include {\tt jqa0302.txt}
                 (listings) and {\tt jqa0302.zip} (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Rolfe:2002:AAG,
  author =       "Timothy Rolfe",
  title =        "Algorithm Alley: Graph Traversals",
  journal =      j-DDJ,
  volume =       "27",
  number =       "3",
  pages =        "97--98, 100--101",
  month =        mar,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:42 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_03/aa0302.txt;
                 http://www.ddj.com/ftp/2002/2002_03/aa0302.zip",
  abstract =     "Graph Traversals Additional resources include {\tt
                 aa0302.txt} (listings) and {\tt aa0302.zip} (source
                 code).",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2002:DEOc,
  author =       "Dennis E. Shasha",
  title =        "{Dr. Ecco}'s Omniheurist Corner: With Eye of Newt",
  journal =      j-DDJ,
  volume =       "27",
  number =       "3",
  pages =        "103--104",
  month =        mar,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:42 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "",
  acknowledgement = ack-nhfb,
}

@Article{Wilson:2002:PBD,
  author =       "Gregory V. Wilson",
  title =        "Programmer's Bookshelf: Doubling Down on the Good and
                 the Okay",
  journal =      j-DDJ,
  volume =       "27",
  number =       "3",
  pages =        "107--107",
  month =        mar,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:42 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "Doubling Down on the Good and the Okay",
  acknowledgement = ack-nhfb,
}

@Article{Song:2002:Ic,
  author =       "Della Song",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "27",
  number =       "3",
  pages =        "109--110",
  month =        mar,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:42 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2002:SFP,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: The Pickle and the Printout",
  journal =      j-DDJ,
  volume =       "27",
  number =       "3",
  pages =        "112--112",
  month =        mar,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:42 MST 2002",
  URL =          "http://www.cmp.com/delivery/privacy.html",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2002:EDD,
  author =       "Jonathan Erickson",
  title =        "Editorial: Deciphering the Doors of Knowledge",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "8--8",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2002:CPF,
  author =       "Anonymous",
  title =        "Correction: {``Python and Finite Elements''}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4--4",
  pages =        "10--10",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  note =         "See \cite{Pletzer:2002:PFE}.",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Ryland:2002:LLL,
  author =       "Chris Ryland and Dave Waller and Paul M. Dubuc",
  title =        "Letters: The Lightweight Language Workshop; Strike
                 One\ldots{}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4--4",
  pages =        "10--10",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Stob:2002:NAVd,
  author =       "Verity Stob",
  title =        "The New Adventures Of {Verity Stob}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "14--14",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2002:NVCa,
  author =       "Shannon Cochran",
  title =        "News and Views: Chains for Nanotechnology;
                 High-Dependability Computing Program Launched; Personal
                 Computers Rule; Combating Cellular Phone Theft; Alien
                 Noises; Crystal Traps Light; 2001 {Turing Award}
                 [{Ole-Johan Dahl} and {Kristen Nygaard}] Announced",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "16--16",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Amsterdam:2002:JNC,
  author =       "Jonathan Amsterdam",
  title =        "{Java}'s {{\tt new}} Considered Harmful",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "19--20, 22, 24, 26",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "Even though Java's new keyword is central to the
                 language, there may be better ways of getting the job
                 done.",
  acknowledgement = ack-nhfb,
}

@Article{Rousselle:2002:IJP,
  author =       "Philip Rousselle",
  title =        "Implementing the {JMS} Publish\slash Subscribe {API}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "28, 30--32",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "The Java Message Service API provides a powerful
                 message-passing API for distributed computing.",
  acknowledgement = ack-nhfb,
}

@Article{Roth:2002:JSA,
  author =       "Volker Roth",
  title =        "{Java} Security Architecture And Extensions",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "34, 36--38",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_04/jca.txt;
                 http://www.ddj.com/ftp/2002/2002_04/jca.zip",
  abstract =     "The Java Cryptography Architecture is a framework that
                 attempts to provide a common interface for accessing
                 basic cryptographic primitives. Additional resources
                 include jca.txt (listings) and jca.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Walsh:2002:MJA,
  author =       "Aaron E. Walsh",
  title =        "The {MPEG-4 Java API} and {MPEGlets}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "40, 42--45",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_04/jmpeg.txt;
                 http://www.ddj.com/ftp/2002/2002_04/jmpeg.zip",
  abstract =     "Aaron introduces a suite of Java APIs for MPEG-4 and
                 shows how you can use them to build highly dynamic and
                 interactive content. Additional resources include
                 jmpeg.txt (listings) and jmpeg.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Brinkmann:2002:GGG,
  author =       "Peter Brinkmann",
  title =        "{Gumbie}: {A} {GUI} Generator For {Jython}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "46--50",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_04/gumbie.txt;
                 http://www.ddj.com/ftp/2002/2002_04/gumbie.zip",
  abstract =     "Jython is a 100 percent pure Java implementation of
                 Python that makes Java scriptable. Peter uses it to
                 build his Gumbie GUI tool. Additional resources include
                 gumbie.txt (listings) and gumbie.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Hinke:2002:ICS,
  author =       "John Hinke",
  title =        "Implementing {C++} Servlet Containers",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "52, 54--56",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_04/cppserv.txt",
  abstract =     "By combining the performance benefits of C++ and the
                 power of the Java servlet API, you can more easily
                 create robust web applications. Additional resources
                 include cppserv.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{McRae:2002:TKB,
  author =       "Eric McRae",
  title =        "Tracking Down Killer Bugs",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "58, 60--61, 63--64",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  URL =          "http://www.ddj.com/",
  abstract =     "When it comes to embedded system development, you
                 occasionally run across a bug that eludes all normal
                 techniques for discovery.",
  acknowledgement = ack-nhfb,
}

@Article{Poliashenko:2002:GWA,
  author =       "Max Poliashenko and Chip Andrews",
  title =        "Globalized {Web} Applications and {ASP.NET}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "67--70, 72",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_04/aspnet.txt",
  abstract =     "The .NET framework and ASP.NET provide many features
                 to support development and deployment of international
                 applications. Additional resources include aspnet.txt
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Tremblett:2002:PTJ,
  author =       "Paul Tremblett",
  title =        "Programmer's Toolchest: {Java}'s {Generic Connection
                 Framework}: Wireless networking for mobile devices",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "75--78, 80",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_04/javagcf.txt;
                 http://www.ddj.com/ftp/2002/2002_04/javagcf.zip",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2002:PPS,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: Strategy and Secrecy",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "85--87",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2002:CPI,
  author =       "Al Stevens",
  title =        "{C} Programming: {InstallShield Developer} and Another
                 Ride on the Waves",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "89--91",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_04/cpro0402.zip",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2002:ESW,
  author =       "Ed Nisley",
  title =        "Embedded Space: Where You Gonna Get 'Em?",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "93--95",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Kientzle:2002:JQH,
  author =       "Tim Kientzle",
  title =        "{Java Q\&A}: How Can {I} Make My {Java} Servlets
                 Faster?",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "97--99",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_04/jqa0402.txt;
                 http://www.ddj.com/ftp/2002/2002_04/jqa0402.zip",
  acknowledgement = ack-nhfb,
}

@Article{Mitzenmacher:2002:AAU,
  author =       "Michael Mitzenmacher",
  title =        "Algorithm Alley: Unbiasing Random Bits",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "101--104",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  URL =          "http://www.ddj.com/ftp/2002/2002_04/aa0402.txt;
                 http:/www.ciphergoth.org/software/unbiasing",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2002:DEOd,
  author =       "Dennis E. Shasha",
  title =        "{Dr. Ecco}'s Omniheurist Corner: Color War",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "106--107",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Papaefstathiou:2002:PBP,
  author =       "Stathis Papaefstathiou",
  title =        "Programmer's Bookshelf: Performance Modeling for the
                 Masses",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "108--108",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Song:2002:Id,
  author =       "Della Song",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "110--111",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2002:SFDa,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: Dirges in the Dark",
  journal =      j-DDJ,
  volume =       "27",
  number =       "4",
  pages =        "112--112",
  month =        apr,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Mar 5 07:08:41 MST 2002",
  URL =          "http://www.cmp.com/delivery/privacy.html",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2002:EWI,
  author =       "Jonathan Erickson",
  title =        "Editorial: And the Winner Is \ldots{}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "5",
  pages =        "8--8",
  month =        may,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 4 06:46:15 MST 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0205/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Pendergrass:2002:LCB,
  author =       "Dan Pendergrass and Jim Williams and Seth Schoen and
                 Cesar A. Gonzalez Perez and David Charlap",
  title =        "Letters: {A} Call for {B++}; {Visual Basic} and
                 {VB.NET}; Security Inside and Out; The {D} Language;
                 Heat Pumps",
  journal =      j-DDJ,
  volume =       "27",
  number =       "5",
  pages =        "10--10",
  month =        may,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 4 06:46:15 MST 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0205/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Stob:2002:NAVe,
  author =       "Verity Stob",
  title =        "The New Adventures Of {Verity Stob}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "5",
  pages =        "12--12",
  month =        may,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 4 06:46:15 MST 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0205/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2002:NVP,
  author =       "Shannon Cochran",
  title =        "News and Views: {Peek-a-Booty} Ready to Play; Back to
                 Basics [{IBM Meta Pad}]; Better Batteries [{Lawrence
                 Livermore National Laboratory} {MEMS} fuel cell];
                 Self-Repairing Plastic [{Automend}]; Outlawing
                 {E}-Waste [lead in computer monitors]",
  journal =      j-DDJ,
  volume =       "27",
  number =       "5",
  pages =        "14--14",
  month =        may,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 4 06:46:15 MST 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0205/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2002:DDE,
  author =       "Anonymous",
  title =        "{Dr. Dobb's Excellence in Programming Awards}: {Adele
                 Goldberg} and {Dan Ingalls}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "5",
  pages =        "18--19",
  month =        may,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 4 06:46:15 MST 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0205/",
  URL =          "http://www.ddj.com/",
  abstract =     "Adele Goldberg and Dan Ingalls are pioneers in
                 object-oriented programming in general, and the
                 Smalltalk language in particular.",
  acknowledgement = ack-nhfb,
}

@Article{Riemersma:2002:ISB,
  author =       "Thiadmer Riemersma",
  title =        "Image Scaling with {Bresenham}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "5",
  pages =        "21--22, 24, 26",
  month =        may,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 4 06:46:15 MST 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0205/",
  URL =          "http://www.ddj.com/ftp/2002/2002_05/image.txt;
                 http://www.ddj.com/ftp/2002/2002_05/image.zip",
  abstract =     "The graphics algorithm Thiadmer presents here is
                 quick, produces a quality equivalent to that of linear
                 interpolation, and can zoom up and down. Additional
                 resources include image.txt (listings) and image.zip
                 (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Mitzenmacher:2002:GHT,
  author =       "Michael Mitzenmacher",
  title =        "Good Hash Tables and Multiple Hash Functions",
  journal =      j-DDJ,
  volume =       "27",
  number =       "5",
  pages =        "28, 30--32",
  month =        may,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 4 06:46:15 MST 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0205/",
  URL =          "http://www.ddj.com/ftp/2002/2002_05/hash.txt",
  abstract =     "Michael's multiple hash method produces good hash
                 tables for applications ranging from employee databases
                 to Internet routers. Additional resources include
                 hash.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Milewski:2002:DTP,
  author =       "Bartosz Milewski",
  title =        "Disk Thrashing and the Pitfalls of Virtual Memory",
  journal =      j-DDJ,
  volume =       "27",
  number =       "5",
  pages =        "34, 36, 38--40",
  month =        may,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 4 06:46:15 MST 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0205/",
  URL =          "http://www.ddj.com/",
  abstract =     "Disk thrashing, also known as virtual memory
                 thrashing, is among the more serious software
                 performance problems.",
  acknowledgement = ack-nhfb,
}

@Article{To:2002:ESR,
  author =       "Richard To and Cara Pang",
  title =        "External {SQL} Rewriters",
  journal =      j-DDJ,
  volume =       "27",
  number =       "5",
  pages =        "42, 44--48",
  month =        may,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 4 06:46:15 MST 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0205/",
  URL =          "http://www.ddj.com/ftp/2002/2002_05/sql.txt",
  abstract =     "Database query optimizers optimize SQL statements by
                 generating alternative execution plans to find the one
                 with the least estimated cost. Additional resources
                 include sql.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Fischer:2002:OEL,
  author =       "Todd Fischer",
  title =        "Optimizing {Embedded Linux}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "5",
  pages =        "51--57",
  month =        may,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 4 06:46:15 MST 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0205/",
  URL =          "http://www.ddj.com/ftp/2002/2002_05/emlinux.txt",
  abstract =     "Todd shares seven hard-won techniques to aid in the
                 embedded Linux development process. Additional
                 resources include emlinux.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Jenkins:2002:GJP,
  author =       "Stephen B. Jenkins",
  title =        "Generating {JavaScript} from {Perl}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "5",
  pages =        "59--63",
  month =        may,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 4 06:46:15 MST 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0205/",
  URL =          "http://www.ddj.com/ftp/2002/2002_05/jscript.txt",
  abstract =     "The techniques Stephen presents here help you provide
                 users with a better UI and reduce the load on web
                 servers. Additional resources include jscript.txt
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Thomas:2002:PTE,
  author =       "Chris Thomas",
  title =        "Programmer's Toolchest: Examining {RubyCocoa}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "5",
  pages =        "64--67",
  month =        may,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 4 06:46:15 MST 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0205/",
  URL =          "http://www.ddj.com/ftp/2002/2002_05/rubycoco.txt;
                 http://www.ddj.com/ftp/2002/2002_05/rubycoco.zip",
  abstract =     "Additional resources include rubycoco.txt (listings)
                 and rubycoco.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2002:PPE,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: Embracing Anarchy",
  journal =      j-DDJ,
  volume =       "27",
  number =       "5",
  pages =        "69--71",
  month =        may,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 4 06:46:15 MST 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0205/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2002:CPH,
  author =       "Al Stevens",
  title =        "{C} Programming: {Hungarians} and {LANs}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "5",
  pages =        "73--75",
  month =        may,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 4 06:46:15 MST 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0205/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2002:ESP,
  author =       "Ed Nisley",
  title =        "Embedded Space: Points of Sale",
  journal =      j-DDJ,
  volume =       "27",
  number =       "5",
  pages =        "77--78, 80",
  month =        may,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 4 06:46:15 MST 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0205/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Cohen:2002:JQH,
  author =       "Tal Cohen",
  title =        "{Java Q\&A}: How Do {I} Correctly Implement the {\tt
                 equals()} Method?",
  journal =      j-DDJ,
  volume =       "27",
  number =       "5",
  pages =        "83--84, 86",
  month =        may,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 4 06:46:15 MST 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0205/",
  URL =          "http://www.ddj.com/ftp/2002/2002_05/jqa0502.txt",
  abstract =     "Additional resources include jqa0502.txt.",
  acknowledgement = ack-nhfb,
}

@Article{Pigeon:2002:AAQ,
  author =       "Steven Pigeon",
  title =        "Algorithm Alley: {Quicksort} and Radix Sorts On
                 Lists",
  journal =      j-DDJ,
  volume =       "27",
  number =       "5",
  pages =        "89--90, 92, 94",
  month =        may,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 4 06:46:15 MST 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0205/",
  URL =          "http://www.ddj.com/ftp/2002/2002_05/aa0502.txt;
                 http://www.ddj.com/ftp/2002/2002_05/aa0502.zip",
  abstract =     "Additional resources include aa0502.txt (listings) and
                 aa0502.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2002:DEOe,
  author =       "Dennis E. Shasha",
  title =        "{Dr. Ecco}'s Omniheurist Corner: The Stone Tombs of
                 {Zimbabwe}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "5",
  pages =        "98--99",
  month =        may,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 4 06:46:15 MST 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0205/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Wilson:2002:PBF,
  author =       "Gregory V. Wilson",
  title =        "Programmer's Bookshelf: Filling In the Gaps",
  journal =      j-DDJ,
  volume =       "27",
  number =       "5",
  pages =        "100--100",
  month =        may,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 4 06:46:15 MST 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0205/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Song:2002:Ie,
  author =       "Della Song",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "27",
  number =       "5",
  pages =        "102--103",
  month =        may,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 4 06:46:15 MST 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0205/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2002:SFE,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: Eating My Words",
  journal =      j-DDJ,
  volume =       "27",
  number =       "5",
  pages =        "104--104",
  month =        may,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 4 06:46:15 MST 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0205/",
  URL =          "http://www.cmp.com/delivery/privacy.html",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2002:EYD,
  author =       "Jonathan Erickson",
  title =        "Editorial: You Don't Always Get What You Pay for",
  journal =      j-DDJ,
  volume =       "27",
  number =       "6",
  pages =        "8--8",
  month =        jun,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed May 1 15:43:59 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0206/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
  annote =       "Strong criticism of the U.S. ``Security Systems
                 Standards and Certification Act'' (SSSCA) and
                 ``Consumer Broadband and Digital Television Promotion
                 Act'' (CBDTPA)",
}

@Article{Guy:2002:LFI,
  author =       "Peter M. Guy and Eric McRae and Andrew W. Todd and
                 Curt Adalbert",
  title =        "Letters: Fix it; Strike One\ldots{}; Strike
                 Two\ldots{}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "6",
  pages =        "10--10",
  month =        jun,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed May 1 15:43:59 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0206/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Stob:2002:NAVf,
  author =       "Verity Stob",
  title =        "The New Adventures of {Verity Stob}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "6",
  pages =        "12--12",
  month =        jun,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed May 1 15:43:59 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0206/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2002:NVCb,
  author =       "Shannon Cochran",
  title =        "News and Views: {China} Takes {ACM} Programming
                 Contest; Supercomputing {Science Grid} Nearing Birth;
                 Hacking the Glow of the Screen; {PARC} Searching for
                 Sponsors; Milestone in {DNA} Computing; {Holzmann}
                 Receives {ACM Software Award}; Games Aren't Just for
                 Playing Around",
  journal =      j-DDJ,
  volume =       "27",
  number =       "6",
  pages =        "14--14",
  month =        jun,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed May 1 15:43:59 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0206/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{But:2002:CSL,
  author =       "Jason But",
  title =        "A {C++} Socket Library for {Linux}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "6",
  pages =        "19--22, 24",
  month =        jun,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed May 1 15:43:59 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0206/",
  URL =          "http://www.ddj.com/ftp/2002/2002_06/socketcc.txt;
                 http://www.ddj.com/ftp/2002/2002_06/socketcc.zip",
  abstract =     "SocketCC, the C++ class library Jason presents here,
                 supports both IPv4 and IPv6 network communications
                 using both TCP- and UDP-style sockets. And it's freely
                 available. Additional resources include socketcc.txt
                 (listings) and socketcc.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Yuen:2002:TPS,
  author =       "Andy Yuen and Hung-Wai Yuen",
  title =        "Tiny {Perl Server Pages} and {MySQL}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "6",
  pages =        "26, 28, 30, 32, 34",
  month =        jun,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed May 1 15:43:59 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0206/",
  URL =          "http://www.ddj.com/ftp/2002/2002_06/pspsql_listings.zip;
                 http://www.ddj.com/ftp/2002/2002_06/pspsql.zip",
  abstract =     "Our authors use MySQL and Perl Server Pages to explore
                 web-site personalization techniques. Additional
                 resources include pspsql_listings.zip (source code) and
                 pspsql.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Pleumann:2002:MP,
  author =       "J{\"o}rg Pleumann",
  title =        "The {Mail4Me Project}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "6",
  pages =        "36, 38, 40, 42, 44",
  month =        jun,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed May 1 15:43:59 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0206/",
  URL =          "http://www.ddj.com/ftp/2002/2002_06/mail4me.txt",
  abstract =     "Mail4ME is a lightweight implementation of the POP3
                 and SMTP protocols and #151; including MIME support and
                 with IMAP support to come and #151; allowing Java-based
                 wireless devices to access e-mail services at any time,
                 from any place. Additional resources include
                 mail4me.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Trueman:2002:VIE,
  author =       "Christopher J. Trueman",
  title =        "Verifying Installation Environments",
  journal =      j-DDJ,
  volume =       "27",
  number =       "6",
  pages =        "46, 48, 50--52",
  month =        jun,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed May 1 15:43:59 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0206/",
  URL =          "http://www.ddj.com/ftp/2002/2002_06/echeck.txt;
                 http://www.ddj.com/ftp/2002/2002_06/echeck.zip",
  abstract =     "Chris describes a system that separates the process of
                 verifying the environment on which your program will
                 run from that of the installation process itself.
                 Additional resources include echeck.txt (listings) and
                 echeck.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Beneden:2002:EQR,
  author =       "Bart Van Beneden",
  title =        "Examining {QNX RTOS 6.1}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "6",
  pages =        "54, 56, 58, 60",
  month =        jun,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed May 1 15:43:59 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0206/",
  URL =          "http://www.ddj.com/ftp/2002/2002_06/qnx61.txt",
  abstract =     "QNX RTOS 6.1 is a message-based, real-time operating
                 system with a true microkernel architecture. Additional
                 resources include qnx61.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Reilly:2002:ANS,
  author =       "Douglas Reilly",
  title =        "{ASP.NET} Server Components",
  journal =      j-DDJ,
  volume =       "27",
  number =       "6",
  pages =        "62, 64, 66--68",
  month =        jun,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed May 1 15:43:59 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0206/",
  URL =          "http://www.ddj.com/ftp/2002/2002_06/aspnet.txt;
                 http://www.ddj.com/ftp/2002/2002_06/aspnet.zip",
  abstract =     "ASP.NET lets you create components in VB.NET and C#.
                 And since these components are not COM components, many
                 COM overhead and deployment issues disappear.
                 Additional resources include aspnet.txt (listings) and
                 aspnet.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Malloy:2002:PTT,
  author =       "Brian A. Malloy and Scott A. Linde and Edward B. Duffy
                 and James F. Power",
  title =        "Programmer's Toolchest: Testing {C} and {C++}
                 Compilers for {ISO} Language Conformance",
  journal =      j-DDJ,
  volume =       "27",
  number =       "6",
  pages =        "71--74, 76--78",
  month =        jun,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed May 1 15:43:59 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0206/",
  URL =          "http://www.ddj.com/ftp/2002/2002_06/isocpp.txt;
                 http://www.ddj.com/ftp/2002/2002_06/isocpp.zip",
  abstract =     "Additional resources include isocpp.txt (listings) and
                 isocpp.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2002:PPB,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: Beautiful Math",
  journal =      j-DDJ,
  volume =       "27",
  number =       "6",
  pages =        "79--81",
  month =        jun,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed May 1 15:43:59 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0206/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2002:CPB,
  author =       "Al Stevens",
  title =        "{C} Programming: Back to the Stick Bass, \ldots{} uh
                 Bull Fiddle, \ldots{} er Contra Base. Whatever",
  journal =      j-DDJ,
  volume =       "27",
  number =       "6",
  pages =        "82, 84--85",
  month =        jun,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed May 1 15:43:59 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0206/",
  URL =          "http://www.ddj.com/ftp/2002/2002_06/cpro0602.txt",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2002:EST,
  author =       "Ed Nisley",
  title =        "Embedded Space: Takin' Care of Business",
  journal =      j-DDJ,
  volume =       "27",
  number =       "6",
  pages =        "87--89",
  month =        jun,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed May 1 15:43:59 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0206/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Haggar:2002:JQD,
  author =       "Peter Haggar",
  title =        "{Java Q\&A}: Does {Java} Guarantee Thread Safety?",
  journal =      j-DDJ,
  volume =       "27",
  number =       "6",
  pages =        "91--83",
  month =        jun,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed May 1 15:43:59 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0206/",
  note =         "Comments on lack of atomic-update guarantee in Java
                 for objects larger than 32 bits, such as {\tt long} and
                 {\tt double}, with sample code to exhibit the
                 failure.",
  URL =          "http://www.ddj.com/ftp/2002/2002_06/jqa0602.txt",
  abstract =     "Additional resources include jqa0602.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Shammas:2002:AAE,
  author =       "Namir Clement Shammas",
  title =        "Algorithm Alley: Enhancing {Newton}'s Method",
  journal =      j-DDJ,
  volume =       "27",
  number =       "6",
  pages =        "94--97",
  month =        jun,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed May 1 15:43:59 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0206/",
  URL =          "http://www.ddj.com/ftp/2002/2002_06/aa0602.zip",
  abstract =     "Enhancing Newton's Method",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2002:DEOf,
  author =       "Dennis E. Shasha",
  title =        "{Dr. Ecco}'s Omniheurist Corner: The Protocol of Small
                 Numbers2",
  journal =      j-DDJ,
  volume =       "27",
  number =       "6",
  pages =        "98--98",
  month =        jun,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed May 1 15:43:59 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0206/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Wilson:2002:PBA,
  author =       "Gregory V. Wilson",
  title =        "Programmer's Bookshelf: All Over The Map",
  journal =      j-DDJ,
  volume =       "27",
  number =       "6",
  pages =        "100--100",
  month =        jun,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed May 1 15:43:59 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0206/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Song:2002:If,
  author =       "Della Song",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "27",
  number =       "6",
  pages =        "102--103",
  month =        jun,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed May 1 15:43:59 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0206/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2002:SFA,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames",
  journal =      j-DDJ,
  volume =       "27",
  number =       "6",
  pages =        "104--104",
  month =        jun,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed May 1 15:43:59 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0206/",
  URL =          "http://www.cmp.com/delivery/privacy.html",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2002:EAI,
  author =       "Jonathan Erickson",
  title =        "Editorial: Adding it All Up",
  journal =      j-DDJ,
  volume =       "27",
  number =       "7",
  pages =        "8--8",
  month =        jul,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0207/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Milewski:2002:LDT,
  author =       "Bartosz Milewski and Jeff Hubbach and Richard
                 Mickelsen and Patrick Traill and Douglas Lyon and
                 J. G. Owen",
  title =        "Letters: Disk Thrashing; Equals Update; Discarding
                 Information; Padded Cells and Plumbers; The Lightweight
                 Languages Workshop; Little Languages",
  journal =      j-DDJ,
  volume =       "27",
  number =       "7",
  pages =        "10--10",
  month =        jul,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0207/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Stob:2002:NAVg,
  author =       "Verity Stob",
  title =        "The New Adventures of {Verity Stob}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "7",
  pages =        "12--12",
  month =        jul,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0207/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2002:NVSc,
  author =       "Shannon Cochran",
  title =        "News and Views: {Stanford} Student Winds Collegiate
                 Tournament; {Web} Services Get Real; New Supercomputer
                 on the Block; {2001 Lovelace Award} Announced",
  journal =      j-DDJ,
  volume =       "27",
  number =       "7",
  pages =        "14--14",
  month =        jul,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0207/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Walsh:2002:USG,
  author =       "Aaron E. Walsh",
  title =        "Understanding Scene Graphs",
  journal =      j-DDJ,
  volume =       "27",
  number =       "7",
  pages =        "17, 20--26",
  month =        jul,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0207/",
  URL =          "http://www.ddj.com/ftp/2002/2002_07/scene.txt;
                 http://www.ddj.com/ftp/2002/2002_07/scene.zip",
  abstract =     "Scene graphs are data structures used to organize and
                 manage a variety of media types, including those
                 supported by VRML, Extensible 3D, MPEG-4, and Java 3D.
                 Additional resources include scene.txt (listings) and
                 scene.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Savchenko:2002:SM,
  author =       "Sergei Savchenko",
  title =        "Shadow Mapping",
  journal =      j-DDJ,
  volume =       "27",
  number =       "7",
  pages =        "32, 34, 36--37",
  month =        jul,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0207/",
  URL =          "http://www.ddj.com/ftp/2002/2002_07/sdsl.zip",
  abstract =     "Shadow mapping is a multipass technique for creating
                 dynamic shadows. This shadow map algorithm is
                 applicable to a wide variety of accelerated hardware
                 and can be implemented using OpenGL. Additional
                 resources include sdsl.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Nelson:2002:IIJ,
  author =       "Mark R. Nelson",
  title =        "Inside {Intel}'s {JPEG} Library",
  journal =      j-DDJ,
  volume =       "27",
  number =       "7",
  pages =        "38, 40, 42, 44",
  month =        jul,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0207/",
  URL =          "http://www.ddj.com/ftp/2002/2002_07/slide.zip",
  abstract =     "Mark examines Intel's Win32 JPEG Library, presents a
                 slideshow application he built to test it, and compares
                 Intel's library to Microsoft's standard IPicture
                 component. Additional resources include slide.zip
                 (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2002:STY,
  author =       "Dennis E. Shasha and Philippe Bonnet",
  title =        "Smooth Talking Your Databases",
  journal =      j-DDJ,
  volume =       "27",
  number =       "7",
  pages =        "46. 48, 50--52, 54",
  month =        jul,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0207/",
  URL =          "http://www.ddj.com/",
  abstract =     "Building bridges between islands of data is critical
                 and #151; but not always that easy to do.",
  acknowledgement = ack-nhfb,
}

@Article{Miller:2002:DPU,
  author =       "Byron Miller",
  title =        "Determining Processor Utilization",
  journal =      j-DDJ,
  volume =       "27",
  number =       "7",
  pages =        "56--57, 60--62",
  month =        jul,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0207/",
  URL =          "http://www.ddj.com/ftp/2002/2002_07/processr.txt",
  abstract =     "Performance requirements are often considered after
                 the fact when it comes to selecting processors for
                 embedded products. Additional resources include
                 processr.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Manley:2002:MWA,
  author =       "Kevin T. Manley",
  title =        "Monitoring {Web} Application Performance and {ISAPI}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "7",
  pages =        "65--68",
  month =        jul,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0207/",
  URL =          "http://www.ddj.com/ftp/2002/2002_07/isapi.txt;
                 http://www.ddj.com/ftp/2002/2002_07/isapi.zip",
  abstract =     "Accurately measuring the performance characteristics
                 of web applications under realistic loads is a
                 difficult task. Kevin presents an Internet Server API
                 (ISAPI) filter for Microsoft IIS that does just that.
                 Additional resources include isapi.txt (listings) and
                 isapi.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Heller:2002:PT,
  author =       "Martin Heller",
  title =        "Programmer's Toolchest: Examining {Visual Studio
                 .NET}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "7",
  pages =        "71--73",
  month =        jul,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0207/",
  URL =          "http://www.ddj.com/ftp/2002/2002_07/vsnet.txt;
                 http://www.ddj.com/ftp/2002/2002_07/vsnet.zip",
  abstract =     "Additional resources include vsnet.txt (listings) and
                 vsnet.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2002:PPWa,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: Waiting for {QuantumBasic
                 1.0}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "7",
  pages =        "75--77",
  month =        jul,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0207/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2002:CPCb,
  author =       "Al Stevens",
  title =        "{C} Programming: {C\#} and the Outhouse Paradigm",
  journal =      j-DDJ,
  volume =       "27",
  number =       "7",
  pages =        "79--81",
  month =        jul,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0207/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2002:ESCb,
  author =       "Ed Nisley",
  title =        "Embedded Space: Chemical Attraction",
  journal =      j-DDJ,
  volume =       "27",
  number =       "7",
  pages =        "83--85",
  month =        jul,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0207/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Bruno:2002:JQ,
  author =       "Eric J. Bruno",
  title =        "{Java Q\&A}: So What is a {Java} Event Agent?",
  journal =      j-DDJ,
  volume =       "27",
  number =       "7",
  pages =        "86--91",
  month =        jul,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0207/",
  URL =          "http://www.ddj.com/ftp/2002/2002_07/jqa0702.txt;
                 http://www.ddj.com/ftp/2002/2002_07/jqa0702.zip",
  abstract =     "Additional resources include jqa0702.txt (listings)
                 and jqa0702.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Smith:2002:AAP,
  author =       "Peter Smith",
  title =        "Algorithm Alley: Prime Numbers",
  journal =      j-DDJ,
  volume =       "27",
  number =       "7",
  pages =        "93--95",
  month =        jul,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0207/",
  URL =          "http://www.ddj.com/",
  abstract =     "Prime Numbers",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2002:DEOg,
  author =       "Dennis E. Shasha",
  title =        "{Dr. Ecco}'s Omniheurist Corner",
  journal =      j-DDJ,
  volume =       "27",
  number =       "7",
  pages =        "98--99",
  month =        jul,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0207/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Roth:2002:PBM,
  author =       "Peter N. Roth",
  title =        "Programmer's Bookshelf: Mathematics and {C++}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "7",
  pages =        "100--100",
  month =        jul,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0207/",
  URL =          "http://www.ddj.com/",
  abstract =     "Mathematics and C++",
  acknowledgement = ack-nhfb,
}

@Article{Song:2002:Ig,
  author =       "Della Song",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "27",
  number =       "7",
  pages =        "102--102",
  month =        jul,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0207/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2002:SFK,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: Kicking the Habit",
  journal =      j-DDJ,
  volume =       "27",
  number =       "7",
  pages =        "104--104",
  month =        jul,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0207/",
  acknowledgement = ack-nhfb,
}

%% August 2002 issue lost, so page numbers are unresolved

@Article{Grosso:2002:AOP,
  author =       "William Grosso",
  title =        "Aspect-Oriented Programming and {AspectJ}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "8",
  pages =        "??--??",
  month =        aug,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0208/",
  URL =          "http://www.ddj.com/ftp/2002/2002_08/aop.txt;
                 http://www.ddj.com/ftp/2002/2002_08/aop.zip",
  abstract =     "Aspect-oriented programming extends the
                 object-oriented paradigm by letting you write more
                 maintainable code using aspects. Additional resources
                 include aop.txt (listings) and aop.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Pohjonen:2002:DSM,
  author =       "Risto Pohjonen and Steven Kelly",
  title =        "Domain-Specific Modeling",
  journal =      j-DDJ,
  volume =       "27",
  number =       "8",
  pages =        "??--??",
  month =        aug,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0208/",
  URL =          "http://www.ddj.com/ftp/2002/2002_08/dsm.txt;
                 http://www.ddj.com/ftp/2002/2002_08/dsm.zip",
  abstract =     "Domain-specific modeling raises the level of
                 abstraction on which software development is carried
                 out. Additional resources include dsm.txt (listings)
                 and dsm.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Marasco:2002:TSD,
  author =       "Joe Marasco",
  title =        "Tracking Software Development Projects",
  journal =      j-DDJ,
  volume =       "27",
  number =       "8",
  pages =        "??--??",
  month =        aug,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0208/",
  URL =          "http://www.ddj.com/",
  abstract =     "Like physical bodies, software development projects
                 have inertia, and large, complex projects tend to be
                 more massive than small, simple ones.",
  acknowledgement = ack-nhfb,
}

@Article{Carothers:2002:CMP,
  author =       "Christopher D. Carothers and Boleslaw K. Szymanski",
  title =        "Checkpointing Multithreaded Programs",
  journal =      j-DDJ,
  volume =       "27",
  number =       "8",
  pages =        "??--??",
  month =        aug,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0208/",
  URL =          "http://www.ddj.com/ftp/2002/2002_08/checkpt.txt",
  abstract =     "Checkpointing is the process by which you grab
                 snapshots of running programs. Additional resources
                 include checkpt.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Carles:2002:AERa,
  author =       "Dani Carles",
  title =        "Adding Exceptions and {RTTI} to the {Windows Ce}
                 Compiler: {Part I}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "8",
  pages =        "??--??",
  month =        aug,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0208/",
  URL =          "http://www.ddj.com/ftp/2002/2002_08/tcu_mod.txt;
                 http://www.ddj.com/ftp/2002/2002_08/tcu_mod.zip",
  abstract =     "Dani describes the TCU library, which lets you add
                 exception handling and RTTI to the Windows CE compiler.
                 Additional resources include tcu_mod.txt (listings) and
                 tcu_mod.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Konchady:2002:ISS,
  author =       "Manu Konchady and Ray D'Amore",
  title =        "Implementing a Smart Spider",
  journal =      j-DDJ,
  volume =       "27",
  number =       "8",
  pages =        "??--??",
  month =        aug,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0208/",
  URL =          "http://www.ddj.com/ftp/2002/2002_08/spider.zip",
  abstract =     "The smart spider presented here crawls the Web,
                 locating links of interest based on topic keywords.
                 Additional resources include spider.zip (source
                 code).",
  acknowledgement = ack-nhfb,
}

@Article{Linwood:2002:PT,
  author =       "Jeff Linwood",
  title =        "Programmer's Toolchest",
  journal =      j-DDJ,
  volume =       "27",
  number =       "8",
  pages =        "??--??",
  month =        aug,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0208/",
  URL =          "http://www.ddj.com/ftp/2002/2002_08/jmeter.txt;
                 http://www.ddj.com/ftp/2002/2002_08/jmeter.zip",
  abstract =     "Additional resources include jmeter.txt (listings) and
                 jmeter.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Seaman:2002:JQH,
  author =       "Mark Seaman",
  title =        "{Java Q\&A}: How Can I Generate {Java} Code for Tables
                 in My Database?",
  journal =      j-DDJ,
  volume =       "27",
  number =       "8",
  pages =        "??--??",
  month =        aug,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Aug 27 06:06:12 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0208/",
  URL =          "http://www.ddj.com/ftp/2002/2002_08/jqa0802.txt;
                 http://www.ddj.com/ftp/2002/2002_08/jqa0802.zip",
  abstract =     "Additional resources include jqa0802.txt (listings)
                 and jqa0802.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Nelson:2002:AA,
  author =       "Mark R. Nelson",
  title =        "Algorithm Alley",
  journal =      j-DDJ,
  volume =       "27",
  number =       "8",
  pages =        "??--??",
  month =        aug,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0208/",
  URL =          "http://www.ddj.com/ftp/2002/2002_08/aa0802.txt;
                 http://www.ddj.com/ftp/2002/2002_08/aa0802.zip",
  abstract =     "Additional resources include aa0802.txt (listings) and
                 aa0802.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Wilson:2002:PB,
  author =       "Gregory V. Wilson",
  title =        "Programmer's Bookshelf",
  journal =      j-DDJ,
  volume =       "27",
  number =       "8",
  pages =        "??--??",
  month =        aug,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0208/",
  URL =          "http://www.ddj.com/",
  abstract =     "It's Not Just Technology",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2002:PPad,
  author =       "Michael Swaine",
  title =        "Programming Paradigms",
  journal =      j-DDJ,
  volume =       "27",
  number =       "8",
  pages =        "??--??",
  month =        aug,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0208/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2002:CPab,
  author =       "Al Stevens",
  title =        "{C} Programming",
  journal =      j-DDJ,
  volume =       "27",
  number =       "8",
  pages =        "??--??",
  month =        aug,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0208/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2002:ESae,
  author =       "Ed Nisley",
  title =        "Embedded Space",
  journal =      j-DDJ,
  volume =       "27",
  number =       "8",
  pages =        "??--??",
  month =        aug,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0208/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2002:DEOh,
  author =       "Dennis E. Shasha",
  title =        "{Dr. Ecco}'s Omniheurist Corner",
  journal =      j-DDJ,
  volume =       "27",
  number =       "8",
  pages =        "??--??",
  month =        aug,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0208/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2002:Eb,
  author =       "Jonathan Erickson",
  title =        "Editorial",
  journal =      j-DDJ,
  volume =       "27",
  number =       "8",
  pages =        "??--??",
  month =        aug,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0208/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2002:Lb,
  author =       "Anonymous",
  title =        "Letters",
  journal =      j-DDJ,
  volume =       "27",
  number =       "8",
  pages =        "??--??",
  month =        aug,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0208/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Stob:2002:NAVh,
  author =       "Verity Stob",
  title =        "The New Adventures of {Verity Stob}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "8",
  pages =        "??--??",
  month =        aug,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0208/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2002:NVb,
  author =       "Shannon Cochran",
  title =        "News and Views",
  journal =      j-DDJ,
  volume =       "27",
  number =       "8",
  pages =        "??--??",
  month =        aug,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0208/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Song:2002:Ih,
  author =       "Della Song",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "27",
  number =       "8",
  pages =        "??--??",
  month =        aug,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0208/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2002:SFHb,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames",
  journal =      j-DDJ,
  volume =       "27",
  number =       "8",
  pages =        "??--??",
  month =        aug,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0208/",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2002:Ec,
  author =       "Jonathan Erickson",
  title =        "Editorial: The Name Game",
  journal =      j-DDJ,
  volume =       "27",
  number =       "9",
  pages =        "8--8",
  month =        sep,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0209/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Mickelsen:2002:LDI,
  author =       "Richard Mickelsen and Justin Perkins and Tom Groves
                 and Patrick Traill and Jason But",
  title =        "Letters: Discarding Information; {ASP.NET}; The {D}
                 Language; Computer Viruses, Padded Cells, and Plumbers;
                 {SocketCC} Update",
  journal =      j-DDJ,
  volume =       "27",
  number =       "9",
  pages =        "10--10",
  month =        sep,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0209/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Stob:2002:NAVi,
  author =       "Verity Stob",
  title =        "The New Adventures of {Verity Stob}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "9",
  pages =        "12--12",
  month =        sep,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0209/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2002:NVc,
  author =       "Shannon Cochran",
  title =        "News and Views: The Programming Alphabet Expands;
                 {IMSAI}, Series Two; Webcasters Shut Down; Open Mobile
                 Alliance; {GUI} for Robot Control; Business Plan
                 Boneyard",
  journal =      j-DDJ,
  volume =       "27",
  number =       "9",
  pages =        "14--14",
  month =        sep,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0209/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Tomson:2002:DCR,
  author =       "Phil Tomson",
  title =        "Distributed Computing with {Ruby}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "9",
  pages =        "16, 18, 22",
  month =        sep,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0209/",
  URL =          "http://www.ddj.com/ftp/2002/2002_09/taskmas.txt;
                 http://www.ddj.com/ftp/2002/2002_09/taskmas.zip",
  abstract =     "Ruby is a dynamic, object-oriented scripting language
                 available on Windows, Linux, and Mac OS X. Phil uses
                 DRb, Ruby's distributed object system, to build a task
                 distribution framework. Additional resources include
                 taskmas.txt (listings) and taskmas.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Buis:2002:SLS,
  author =       "Paul Buis",
  title =        "Socket-Level Server Programming and {.NET}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "9",
  pages =        "25--26, 28, 30, 32",
  month =        sep,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0209/",
  URL =          "http://www.ddj.com/ftp/2002/2002_09/tcpecho.txt;
                 http://www.ddj.com/ftp/2002/2002_09/tcpecho.zip",
  abstract =     "Paul presents both C# and VB.NET implementations of an
                 echo server, showing how you can handle sockets and
                 asynchronous callbacks in the .NET Framework.
                 Additional resources include tcpecho.txt (listings) and
                 tcpecho.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Tremblett:2002:JUR,
  author =       "Paul Tremblett",
  title =        "{Java} and {UDDI} Registries",
  journal =      j-DDJ,
  volume =       "27",
  number =       "9",
  pages =        "34, 37--40",
  month =        sep,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0209/",
  URL =          "http://www.ddj.com/ftp/2002/2002_09/juddi.txt;
                 http://www.ddj.com/ftp/2002/2002_09/juddi.zip;
                 http://www.ddj.com/ftp/2002/2002_09/uddi.war",
  abstract =     "Applications that require web services send requests
                 to services at advertised URLs. Paul shows how your
                 Java applications can contact business registries, such
                 as UDDI, and retrieve information from them. Additional
                 resources include juddi.txt (listings) and juddi.zip ,
                 uddi.war (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Jackson:2002:WAM,
  author =       "L. Blunt Jackson",
  title =        "Writing {Apache} Modules",
  journal =      j-DDJ,
  volume =       "27",
  number =       "9",
  pages =        "42, 44--48, 50",
  month =        sep,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0209/",
  URL =          "http://www.ddj.com/ftp/2002/2002_09/apachmod.txt",
  abstract =     "One reason for the Apache server's remarkable success
                 is its modular architecture, which enables easy
                 extension. So how do you go about writing Apache
                 modules? Blunt shows how, illustrating key points of
                 Apache design along the way. Additional resources
                 include apachmod.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Carles:2002:AERb,
  author =       "Dani Carles",
  title =        "Adding Exceptions and {RTTI} to the {Windows Ce}
                 Compiler: {Part II}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "9",
  pages =        "52, 54, 56, 58, 60",
  month =        sep,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0209/",
  URL =          "http://www.ddj.com/ftp/2002/2002_09/tcu_pt2.txt",
  abstract =     "Last month, Dani described how he had to reengineer a
                 RTOS-based app so it could run under Windows CE. This
                 month, he presents the TCU library workarounds.
                 Additional resources include tcu_pt2.txt (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Esch:2002:PT,
  author =       "James Esch",
  title =        "Programmer's Toolchest: The {REBOL IOS} Distributed
                 Filesystem",
  journal =      j-DDJ,
  volume =       "27",
  number =       "9",
  pages =        "62, 64, 66",
  month =        sep,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0209/",
  URL =          "http://www.ddj.com/ftp/2002/2002_09/rebolios.txt",
  abstract =     "Additional resources include rebolios.txt
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2002:PPWb,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: {Wolfram}'s Computational
                 Equivalence",
  journal =      j-DDJ,
  volume =       "27",
  number =       "9",
  pages =        "71, 73--75",
  month =        sep,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0209/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2002:CPc,
  author =       "Al Stevens",
  title =        "{C} Programming: If This Is {June}, It Must Be
                 {Zurich}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "9",
  pages =        "77--80",
  month =        sep,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0209/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2002:ESA,
  author =       "Ed Nisley",
  title =        "Embedded Space: All Your Drop Are Belong to Us",
  journal =      j-DDJ,
  volume =       "27",
  number =       "9",
  pages =        "82, 85--86",
  month =        sep,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0209/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Gutman:2002:AAP,
  author =       "Ron Gutman",
  title =        "Algorithm Alley: Priority Queues for Motorists",
  journal =      j-DDJ,
  volume =       "27",
  number =       "9",
  pages =        "89--90, 92--94",
  month =        sep,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0209/",
  URL =          "http://www.ddj.com/ftp/2002/2002_09/aa0902.txt",
  abstract =     "Additional resources include aa0902.txt (source
                 dode).",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2002:DEOi,
  author =       "Dennis E. Shasha",
  title =        "{Dr. Ecco}'s Omniheurist Corner: Adversarial
                 Bifurcations",
  journal =      j-DDJ,
  volume =       "27",
  number =       "9",
  pages =        "97--99",
  month =        sep,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0209/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Woehr:2002:PBI,
  author =       "Jack J. Woehr",
  title =        "Programmer's Bookshelf: Intrinsic Difficulty",
  journal =      j-DDJ,
  volume =       "27",
  number =       "9",
  pages =        "101--101",
  month =        sep,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0209/",
  URL =          "http://www.ddj.com/",
  abstract =     "Intrinsic Difficulty",
  acknowledgement = ack-nhfb,
}

@Article{Song:2002:Ii,
  author =       "Della Song",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "27",
  number =       "9",
  pages =        "102--102",
  month =        sep,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0209/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2002:SFHc,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: The Big Bug Summit",
  journal =      j-DDJ,
  volume =       "27",
  number =       "9",
  pages =        "104--104",
  month =        sep,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0209/",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2002:ETC,
  author =       "Jonathan Erickson",
  title =        "Editorial: Taking Care of Business\ldots{}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "10",
  pages =        "8--8",
  month =        oct,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 10:53:48 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0210/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Puttick:2002:LDP,
  author =       "James H. Puttick and Andrew D. Todd and Joe Block and
                 Bob McConnell and {The Editors}",
  title =        "Letters: Determining Processor Utilization; {JPEG}
                 Prior Art; Little Languages; {DDJ} Archives",
  journal =      j-DDJ,
  volume =       "27",
  number =       "10",
  pages =        "10--10",
  month =        oct,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 10:53:48 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0210/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Stob:2002:NAVj,
  author =       "Verity Stob",
  title =        "The New Adventures of {Verity Stob}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "10",
  pages =        "12--12",
  month =        oct,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 10:53:48 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0210/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2002:NVSd,
  author =       "Shannon Cochran",
  title =        "News and Views: {Smalltalk} Turns 30; The Billionth
                 {PC}; Reverse Challenge Concludes; {Edsger Dijkstra}
                 Passes Away",
  journal =      j-DDJ,
  volume =       "27",
  number =       "10",
  pages =        "14--14",
  month =        oct,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 10:53:48 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0210/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Lamper:2002:SC,
  author =       "David Lamper and Neil F. Johnson",
  title =        "The Science of Complexity",
  journal =      j-DDJ,
  volume =       "27",
  number =       "10",
  pages =        "16, 18--20, 22",
  month =        oct,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 10:53:48 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0210/",
  URL =          "http://www.ddj.com/ftp/2002/2002_10/complex.txt;
                 http://www.ddj.com/ftp/2002/2002_10/complex.zip",
  abstract =     "Complex systems change in time, making empirical
                 validation of theoretical concepts a difficult process.
                 To get around this problem, David and Neil present a
                 computer model that includes all the crucial properties
                 of complex competition, frustration, feedback, and
                 adaptability. Additional resources include complex.txt
                 (listings) and complex.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Nelson:2002:IMJ,
  author =       "Mark R. Nelson",
  title =        "An Intelligent {MP3} Jukebox",
  journal =      j-DDJ,
  volume =       "27",
  number =       "10",
  pages =        "24, 26, 28, 32, 34",
  month =        oct,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 10:53:48 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0210/",
  URL =          "http://www.ddj.com/ftp/2002/2002_10/llmp3.txt;
                 http://www.ddj.com/ftp/2002/2002_10/llmp3.zip",
  abstract =     "The Windows-based MP3 player Mark presents keeps track
                 of and accommodates your musical tastes by letting you
                 rate artists, albums, and individual songs. Additional
                 resources include llmp3.txt (listings) and llmp3.zip
                 (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Jones:2002:PAR,
  author =       "M. Tim Jones",
  title =        "Personalization and Adaptive Resonance Theory",
  journal =      j-DDJ,
  volume =       "27",
  number =       "10",
  pages =        "36--39",
  month =        oct,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 10:53:48 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0210/",
  URL =          "http://www.ddj.com/ftp/2002/2002_10/aa1002.zip",
  abstract =     "Tim examines Adaptive Resonance Theory, a clustering
                 algorithm under the neural network genre of
                 unsupervised learning, which can be used to group web
                 site customers according to their preferences.
                 Additional resources include aa1002.zip (source
                 code).",
  acknowledgement = ack-nhfb,
}

@Article{Ratcliff:2002:CPL,
  author =       "John Ratcliff",
  title =        "The {Cg} Programming Language",
  journal =      j-DDJ,
  volume =       "27",
  number =       "10",
  pages =        "40, 42, 44",
  month =        oct,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 10:53:48 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0210/",
  URL =          "http://www.ddj.com/ftp/2002/2002_10/cgbind.txt;
                 http://www.ddj.com/ftp/2002/2002_10/cgbind.zip",
  abstract =     "Cg, short for ``C for graphics,'' is a high-level
                 C-like language for graphics programming. John presents
                 a virtual base called ``CgBinding'' that provides a
                 framework to dynamically bind any Cg program to your
                 application. Additional resources include cgbind.txt
                 (listings) and cgbind.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Gunion:2002:NVC,
  author =       "Robert Gunion",
  title =        "{.NET} Versus {COM}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "10",
  pages =        "49--52, 54, 56, 58",
  month =        oct,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 10:53:48 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0210/",
  URL =          "http://www.ddj.com/ftp/2002/2002_10/netvscom.txt;
                 http://www.ddj.com/ftp/2002/2002_10/netvscom.zip",
  abstract =     ".NET promises increased ease of development,
                 deployment, scalability, and maintenance. But before
                 getting waist deep in .NET, Robert and his team
                 compared it to COM-based development. Additional
                 resources include netvscom.txt (listings) and
                 netvscom.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Dougan:2002:TAR,
  author =       "Cort Dougan",
  title =        "Two-Axis, Real-Time Camera Control",
  journal =      j-DDJ,
  volume =       "27",
  number =       "10",
  pages =        "60, 62, 64--67",
  month =        oct,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 10:53:48 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0210/",
  URL =          "http://www.ddj.com/ftp/2002/2002_10/rtlcam.txt;
                 http://www.ddj.com/ftp/2002/2002_10/rtlcam.zip",
  abstract =     "Cort presents RTLinux-based software for viewing live
                 images and controlling a servo-motor driven, dual-axis
                 mounted camera in real time via a web page. Additional
                 resources include rtlcam.txt (listings) and rtlcam.zip
                 (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2002:CPJ,
  author =       "Al Stevens",
  title =        "{C} Programming: {Jack}? Who's {Jack}?",
  journal =      j-DDJ,
  volume =       "27",
  number =       "10",
  pages =        "68, 70, 72, 74",
  month =        oct,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 10:53:48 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0210/",
  URL =          "http://www.ddj.com/ftp/2002/2002_10/cpro1002.zip",
  abstract =     "Playing piano for a month in Switzerland is a dirty
                 job, but someone has to do it. While there, Al gets a
                 chance to catch up with Erich Gamma. Additional
                 resources include cpro1002.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2002:ES,
  author =       "Ed Nisley",
  title =        "Embedded Space: Simulator Sickness",
  journal =      j-DDJ,
  volume =       "27",
  number =       "10",
  pages =        "76, 78--79",
  month =        oct,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 10:53:48 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0210/",
  URL =          "http://www.ddj.com/",
  abstract =     "You've probably gotten that queasy feeling when
                 problems arise in thoroughly tested and debugged
                 systems. Ed wonders if a field call concerning one of
                 your products turns your stomach completely over?",
  acknowledgement = ack-nhfb,
}

@Article{Song:2002:Ij,
  author =       "Della Song",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "27",
  number =       "10",
  pages =        "81--81",
  month =        oct,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 10:53:48 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0210/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Woehr:2002:PBE,
  author =       "Jack J. Woehr",
  title =        "Programmer's Bookshelf: Embedded Systems Programming",
  journal =      j-DDJ,
  volume =       "27",
  number =       "10",
  pages =        "86--86",
  month =        oct,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 10:53:48 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0210/",
  URL =          "http://www.ddj.com/",
  abstract =     "Jack takes a look at Practical Linux Programming:
                 Device Drivers, Embedded Systems, and the Internet, by
                 Ashfaq A. Khan; and 68HC12 Microcontroller: Theory and
                 Applications, by Daniel J. Pack and Steven F.
                 Barrett.",
  acknowledgement = ack-nhfb,
}

@Article{Shasha:2002:DEO,
  author =       "Dennis E. Shasha",
  title =        "{Dr. Ecco}'s Omniheurist Corner: The {DNA} on {Noah's
                 Arc}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "10",
  pages =        "89--90",
  month =        oct,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 10:53:48 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0210/",
  URL =          "http://www.ddj.com/",
  abstract =     "Dr. Windswift is his name and cloning is his game, but
                 he still needs Dr. Ecco and Liane's help to do the job
                 right.",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2002:SFH,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: Request for Disposal",
  journal =      j-DDJ,
  volume =       "27",
  number =       "10",
  pages =        "92--92",
  month =        oct,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 10:53:48 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0210/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2002:PP,
  author =       "Michael Swaine",
  title =        "Programming Paradigms",
  journal =      j-DDJ,
  volume =       "27",
  number =       "10",
  pages =        "??--??",
  month =        oct,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 10:53:48 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0210/",
  URL =          "http://www.ddj.com/",
  abstract =     "If the universe is a program, several questions
                 suggest themselves: Does it terminate? And if so, when
                 and how? Anti-big bang collapse or heat-death whimper?
                 Is it buggy? Efficient? Object-oriented or procedural?
                 What is the clock rate of the processor? Who wrote it,
                 or is writing it? And is he hiring?",
  acknowledgement = ack-nhfb,
  xxnote =       "Apparently did not appear in this issue. Is this for
                 the next month??",
}

@Article{Erickson:2002:TT,
  author =       "Jonathan Erickson",
  title =        "Editorial: {Texas} Toast",
  journal =      j-DDJ,
  volume =       "27",
  number =       "11",
  pages =        "8--8",
  month =        nov,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:19 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0211/",
  URL =          "http://www.ddj.com/documents/s=7644/ddj0211k/",
  abstract =     "Editorial Nov. 2002",
  acknowledgement = ack-nhfb,
}

@Article{Galkowski:2002:LSS,
  author =       "Jan Theodore Galkowski and Steve Donovan and Roy Hann
                 and David Irving",
  title =        "Letters: {Swaine}'s Semantic {Web}; The Return of
                 {Quincy}; {DBMS}: Present, Past, and Future; Shared
                 Libraries Aren't All Bad",
  journal =      j-DDJ,
  volume =       "27",
  number =       "11",
  pages =        "10--10",
  month =        nov,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:19 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0211/",
  URL =          "http://www.ddj.com/documents/s=7644/ddj0211l/",
  abstract =     "Letters Nov. 2002",
  acknowledgement = ack-nhfb,
}

@Article{Stob:2002:NAVk,
  author =       "Verity Stob",
  title =        "The New Adventures of {Verity Stob}: Idle Thoughts of
                 an Idle Process",
  journal =      j-DDJ,
  volume =       "27",
  number =       "11",
  pages =        "12--12",
  month =        nov,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:19 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0211/",
  URL =          "http://www.ddj.com/documents/s=7644/ddj0211m/",
  abstract =     "Forget stack traces and heap walkers. Verity Stob's
                 new debugger is the first that can record the private
                 thoughts of a running process. She has e-mailed us a
                 sample dump of its output.",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2002:NVY,
  author =       "Shannon Cochran",
  title =        "News and Views: Yet Another Graphics Language; Instant
                 On Boot Cycles; Fourth and Long: It's All in the
                 Numbers; Literate Leo; {AI} Standards Sought for Video
                 Games; Out with the Old, In with the New",
  journal =      j-DDJ,
  volume =       "27",
  number =       "11",
  pages =        "14--14",
  month =        nov,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:19 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0211/",
  URL =          "http://www.ddj.com/documents/s=7644/ddj0211n/",
  abstract =     "News and Views Nov. 2002",
  acknowledgement = ack-nhfb,
}

@Article{Yudkowsky:2002:VBA,
  author =       "Moshe Yudkowsky",
  title =        "Voice Biometrics and Application Security",
  journal =      j-DDJ,
  volume =       "27",
  number =       "11",
  pages =        "16, 18, 20, 22",
  month =        nov,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:19 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0211/",
  URL =          "http://www.ddj.com/documents/s=7644/ddj0211b/",
  abstract =     "Voice-based biometric security must support
                 identification, verification, and classification. Moshe
                 presents a verification system in which users' voice
                 models are stored in a database on a VoiceXML server.",
  acknowledgement = ack-nhfb,
}

@Article{Whittaker:2002:TSS,
  author =       "James A. Whittaker",
  title =        "Testing for Software Security",
  journal =      j-DDJ,
  volume =       "27",
  number =       "11",
  pages =        "24, 26, 28, 32, 34",
  month =        nov,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:19 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0211/",
  URL =          "http://www.ddj.com/documents/s=7644/ddj0211c/",
  abstract =     "Traditional testing techniques are not well equipped
                 to find security bugs. Our authors discuss a fault
                 model that describes a paradigm shift from traditional
                 bugs to security vulnerabilities.",
  acknowledgement = ack-nhfb,
}

@Article{Marques:2002:BSJ,
  author =       "Paulo Marques",
  title =        "Building Secure {Java RMI} Servers",
  journal =      j-DDJ,
  volume =       "27",
  number =       "11",
  pages =        "36, 38, 40--42, 44",
  month =        nov,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:19 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0211/",
  URL =          "http://www.ddj.com/documents/s=7644/ddj0211d/",
  abstract =     "Paulo uses the proxy pattern along with the Java
                 Authentication and Authorization Service API to build
                 secure Java Remote Method Invocation servers that allow
                 only properly authenticated users access to systems.",
  acknowledgement = ack-nhfb,
}

@Article{DeCarmo:2002:DAH,
  author =       "Linden DeCarmo",
  title =        "Digital, Analog, and High-Definition {TV}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "11",
  pages =        "46, 48, 50, 52--54",
  month =        nov,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:19 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0211/",
  URL =          "http://www.ddj.com/documents/s=7644/ddj0211e/",
  abstract =     "Linden examines how analog and digital interfaces for
                 high-definition television work, focusing on their
                 copy-protection protocols.",
  acknowledgement = ack-nhfb,
}

@Article{Massa:2002:IGW,
  author =       "Anthony J. Massa",
  title =        "Integrating {GoAhead WebServer} and {eCos}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "11",
  pages =        "56, 58, 60, 62, 64",
  month =        nov,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:19 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0211/",
  URL =          "http://www.ddj.com/documents/s=7644/ddj0211f/",
  abstract =     "Anthony integrates the GoAhead WebServer and --- a
                 portable open-source, small-footprint web server and
                 --- into Red Hat's eCos real-time operating system.",
  acknowledgement = ack-nhfb,
}

@Article{Beneden:2002:EVA,
  author =       "Bart Van Beneden",
  title =        "Examining the {VxWorks AE 1.1 RTOS}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "11",
  pages =        "66, 68, 70",
  month =        nov,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:19 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0211/",
  URL =          "http://www.ddj.com/documents/s=7644/ddj0211g/",
  abstract =     "VxWorks AE from Wind River Systems is a real-time
                 operating system designed for embedded applications
                 with demanding requirements.",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2002:PPC,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: Community",
  journal =      j-DDJ,
  volume =       "27",
  number =       "11",
  pages =        "73--75",
  month =        nov,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:19 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0211/",
  URL =          "http://www.ddj.com/documents/s=7644/ddj0211h/",
  abstract =     "Being the hermit he is, the idea of community strikes
                 Michael as a novel idea.",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2002:OSE,
  author =       "Ed Nisley",
  title =        "Embedded Space: Only Stone Endures",
  journal =      j-DDJ,
  volume =       "27",
  number =       "11",
  pages =        "77--79",
  month =        nov,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:19 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0211/",
  URL =          "http://www.ddj.com/documents/s=7644/ddj0211i/",
  abstract =     "A trip along the Erie Canal gives Ed the opportunity
                 to ponder about the permanence of embedded projects.",
  acknowledgement = ack-nhfb,
}

@Article{Song:2002:Ik,
  author =       "Della Song",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "27",
  number =       "11",
  pages =        "81--81",
  month =        nov,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:19 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0211/",
  URL =          "http://www.ddj.com/documents/s=7644/ddj0211o/",
  abstract =     "Of Interest Nov. 2002",
  acknowledgement = ack-nhfb,
}

@Article{Taylor:2002:PBL,
  author =       "Jeffrey L. Taylor",
  title =        "Programmer's Bookshelf: Lightweight Processes for
                 Changing Environments",
  journal =      j-DDJ,
  volume =       "27",
  number =       "11",
  pages =        "82--82",
  month =        nov,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:19 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0211/",
  URL =          "http://www.ddj.com/documents/s=7644/ddj0211j/",
  abstract =     "This month, Jeff examines Agile Software Development
                 Ecosystems.",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2002:SFDb,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: Do You Copy?",
  journal =      j-DDJ,
  volume =       "27",
  number =       "11",
  pages =        "84--84",
  month =        nov,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:19 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0211/",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2002:ETT,
  author =       "Jon Erickson",
  title =        "Editorial: {T$^3$}: Technology To Teaching",
  journal =      j-DDJ,
  volume =       "27",
  number =       "12",
  pages =        "8--8",
  month =        dec,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0212/",
  URL =          "http://www.ddj.com/documents/s=7718/ddj0212k/",
  abstract =     "California's Technology to Teachers Initiative is a
                 good first step toward addressing both high-tech
                 unemployment and the shortage of math and science
                 teachers.",
  acknowledgement = ack-nhfb,
}

@Article{Souflis:2002:LCN,
  author =       "Dimitrios Souflis and Glenn Porter and Bruce Reed and
                 Carol Flaherty",
  title =        "Letters: The {CLR} \& {.NET}; Real Simulator Sickness;
                 {TSR} = Oops!; {MacroSafe} Clarification",
  journal =      j-DDJ,
  volume =       "27",
  number =       "12",
  pages =        "10--10",
  month =        dec,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0212/",
  URL =          "http://www.ddj.com/documents/s=7718/ddj0212l/",
  abstract =     "December 2002 Letters",
  acknowledgement = ack-nhfb,
}

@Article{Stob:2002:NAVl,
  author =       "Verity Stob",
  title =        "The New Adventures of {Verity Stob}: With and without
                 {Fin[n]ish}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "12",
  pages =        "12--12",
  month =        dec,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0212/",
  URL =          "http://www.ddj.com/documents/s=7718/ddj0212m/",
  abstract =     "Ms. Stob shamelessly pilfers more verse and turns it
                 to her own ends.",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2002:NVR,
  author =       "Shannon Cochran",
  title =        "News and Views: Researchers Tackle {P2P} Network;
                 {Java} Upstarts Push {JEFF}; Computer Science Tests
                 Canceled; The Continuing Voyage",
  journal =      j-DDJ,
  volume =       "27",
  number =       "12",
  pages =        "14--14",
  month =        dec,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0212/",
  URL =          "http://www.ddj.com/documents/s=7718/ddj0212n/",
  abstract =     "December News and Views",
  acknowledgement = ack-nhfb,
}

@Article{Kiesling:2002:OUE,
  author =       "Robert Kiesling",
  title =        "{ODBC} In {Unix} Environments",
  journal =      j-DDJ,
  volume =       "27",
  number =       "12",
  pages =        "16, 18--20, 22",
  month =        dec,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0212/",
  URL =          "http://www.ddj.com/documents/s=7718/ddj2012b/",
  abstract =     "The Open DataBase Computing (ODBC) Standard provides
                 an efficient way to write client-server apps, including
                 those that are UNIX based. Robert focuses on the
                 unixODBC library because of its support for MySQL and
                 PostgreSQL.",
  acknowledgement = ack-nhfb,
}

@Article{Naccarato:2002:XQX,
  author =       "Giuseppe Naccarato",
  title =        "{XSLT} Querying and {XML} Documents",
  journal =      j-DDJ,
  volume =       "27",
  number =       "12",
  pages =        "24, 26, 28",
  month =        dec,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0212/",
  URL =          "http://www.ddj.com/documents/s=7718/ddj0212c/",
  abstract =     "This XSLT-based method of searching XML documents is
                 easier to use, more flexible, and has better
                 performance than the DOM- and SAX-based methods you're
                 probably familiar with.",
  acknowledgement = ack-nhfb,
}

@Article{Hovel:2002:ANP,
  author =       "David Hovel",
  title =        "{ASP.NET} Page Persistence and Extended Attributes",
  journal =      j-DDJ,
  volume =       "27",
  number =       "12",
  pages =        "30, 32, 34--36",
  month =        dec,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0212/",
  URL =          "http://www.ddj.com/documents/s=7718/ddj0212d/",
  abstract =     "Active content and HTTP statelessness don't always
                 mix. David uses the reflection capability of .NET
                 languages to solve the problem for ASP.NET.",
  acknowledgement = ack-nhfb,
}

@Article{Dorobonceanu:2002:CFN,
  author =       "Bogdan Dorobonceanu",
  title =        "Comparing Fuzzy Numbers",
  journal =      j-DDJ,
  volume =       "27",
  number =       "12",
  pages =        "38, 40, 42, 44--45",
  month =        dec,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0212/",
  URL =          "http://www.ddj.com/documents/s=7718/ddj0212e/",
  abstract =     "Fuzzy set theory makes possible the formalization of
                 approximate reasoning. Bogdan presents a fuzzy number
                 comparison method that's implemented in Java.",
  acknowledgement = ack-nhfb,
}

@Article{Okmianski:2002:ED,
  author =       "Anton Okmianski",
  title =        "Embedded Databases",
  journal =      j-DDJ,
  volume =       "27",
  number =       "12",
  pages =        "46, 48, 50, 52--53",
  month =        dec,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0212/",
  URL =          "http://www.ddj.com/documents/s=7718/ddj0212f/",
  abstract =     "In deciding on Berkeley DB, a lightweight embedded
                 database from Sleepycat Software, Anton Okmianski's
                 first challenge was to design a database layer that
                 mapped a relatively complex data schema into Berkeley
                 DB's simple key/data pairs.",
  acknowledgement = ack-nhfb,
}

@Article{Pugh:2002:ATW,
  author =       "Tom Pugh",
  title =        "Automated Testing and {Windows CE}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "12",
  pages =        "54, 56, 58, 60, 62",
  month =        dec,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0212/",
  URL =          "http://www.ddj.com/documents/s=7718/ddj0212g/",
  abstract =     "The technique Tom presents here lets you use
                 third-party tools to test Windows CE-based systems.",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2002:CPPb,
  author =       "Al Stevens",
  title =        "{C} Programming: Paying the Pipers",
  journal =      j-DDJ,
  volume =       "27",
  number =       "12",
  pages =        "64, 68, 70",
  month =        dec,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0212/",
  URL =          "http://www.ddj.com/documents/s=7718/ddj0212h/",
  abstract =     "Al sets out to build a better ConsoleApp. Along the
                 way, he discovers Visual-MinGW and Transcribe! before
                 having a knock-down drag-out with the GDB debugger.",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2002:ESS,
  author =       "Ed Nisley",
  title =        "Embedded Space: State of the Machine",
  journal =      j-DDJ,
  volume =       "27",
  number =       "12",
  pages =        "73--74, 76",
  month =        dec,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0212/",
  URL =          "http://www.ddj.com/documents/s=7718/ddj0212i/",
  abstract =     "State machines are mechanisms that sit around in one
                 of several distinct conditions, waiting for something
                 to happen. And they're Ed's focus this month.",
  acknowledgement = ack-nhfb,
}

@Article{Woehr:2002:PBP,
  author =       "Jack Woehr",
  title =        "Programmer's Bookshelf: Patterns and {MPEG-4}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "12",
  pages =        "78--78",
  month =        dec,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0212/",
  URL =          "http://www.ddj.com/documents/s=7718/ddj0212j/",
  abstract =     "Jack Woehr reviews Framework Process Patterns by James
                 Carey and Brent Carlson and The MPEG-4 Book by Fernando
                 Pereira and Jouradj Ebrahimi.",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2002:I,
  author =       "Anonymous",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "27",
  number =       "12",
  pages =        "83--83",
  month =        dec,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0212/",
  URL =          "http://www.ddj.com/documents/s=7718/ddj0212o/",
  abstract =     "December 2002 Of Interest",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2002:SFL,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: Looking for Zebras",
  journal =      j-DDJ,
  volume =       "27",
  number =       "12",
  pages =        "84--84",
  month =        dec,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0212/",
  URL =          "http://www.ddj.com/documents/s=7718/ddj0212p/",
  abstract =     "Michael discusses the possible future of
                 face-recognition systems in airport counter-terrorism
                 efforts.",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2002:IBM,
  author =       "Michael Swaine",
  title =        "It Brings on Many Changes",
  journal =      j-DDJ,
  volume =       "27",
  number =       "12",
  pages =        "??--??",
  month =        dec,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2002/0212/",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2003:ELL,
  author =       "Jonathan Erickson",
  title =        "Editorial: {A} Living Legend",
  journal =      j-DDJ,
  volume =       "28",
  number =       "1",
  pages =        "8--8",
  month =        jan,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0301/",
  URL =          "http://www.ddj.com/documents/s=7758/ddj0301k/",
  abstract =     "January 2003 Editorial",
  acknowledgement = ack-nhfb,
}

@Article{Bloss:2003:LLV,
  author =       "Wayne Bloss and DDJ and Ian MacKinnel and Jeff Adams
                 and Michael Mahon and Henri Socha",
  title =        "Letters: Loathing {VB}; Determining Processor
                 Utilization; Only Stone Endures",
  journal =      j-DDJ,
  volume =       "28",
  number =       "1",
  pages =        "10--10",
  month =        jan,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0301/",
  URL =          "http://www.ddj.com/documents/s=7758/ddj0301l/",
  abstract =     "January 2003 Letters",
  acknowledgement = ack-nhfb,
}

@Article{Stob:2003:NAVf,
  author =       "Verity Stob",
  title =        "The New Adventures of {Verity Stob}: Stoblog",
  journal =      j-DDJ,
  volume =       "28",
  number =       "1",
  pages =        "12--12",
  month =        jan,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0301/",
  URL =          "http://www.ddj.com/documents/s=7758/ddj0301m/",
  abstract =     "Ms Stob was the only tech journo in the whole world
                 who had not experimented with the weblog (aka 'diary')
                 format. Until now.",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2003:NVR,
  author =       "Shannon Cochran",
  title =        "News and Views: The Robots are Coming; {Fortran 2000}
                 Drafted; Touch Relayed Across {Atlantic}; {Kramnik}
                 versus {Deep Fritz}; {2002 ICFP Programming Content}
                 Concludes",
  journal =      j-DDJ,
  volume =       "28",
  number =       "1",
  pages =        "14--14",
  month =        jan,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0301/",
  URL =          "http://www.ddj.com/documents/s=7758/ddj0301n/",
  abstract =     "January 2003 News and Views",
  acknowledgement = ack-nhfb,
}

@Article{Snyder:2003:RCG,
  author =       "Martin Snyder",
  title =        "Robotic Control and {$3$D GUIs}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "1",
  pages =        "16--17, 20, 22, 24",
  month =        jan,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0301/",
  URL =          "http://www.ddj.com/documents/s=7758/ddj0301b/",
  abstract =     "Hank and Martin describe an OpenGL-based graphical
                 user interface they use to operate GPS-enabled
                 robots.",
  acknowledgement = ack-nhfb,
}

@Article{Lardieri:2003:PDW,
  author =       "Stephen Lardieri",
  title =        "Private Desktops and {Windows XP}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "1",
  pages =        "26, 28, 30, 32",
  month =        jan,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0301/",
  URL =          "http://www.ddj.com/documents/s=7758/ddj0301c/",
  abstract =     "Kiosk and similar applications need full-screen user
                 interfaces that suppress other dialog boxes and the
                 windows of other applications and --- something that's
                 easier said than done under Windows XP. Steve shows you
                 how.",
  acknowledgement = ack-nhfb,
}

@Article{OByrne:2003:SMU,
  author =       "Brian O'Byrne",
  title =        "State Machines and User Interfaces",
  journal =      j-DDJ,
  volume =       "28",
  number =       "1",
  pages =        "34, 36, 38",
  month =        jan,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0301/",
  URL =          "http://www.ddj.com/documents/s=7758/ddj0301d/",
  abstract =     "JStateMachine is a software project built to control
                 user interfaces by keeping them within the bounds of a
                 statechart, letting you produce MVC-like View and
                 Controller classes.",
  acknowledgement = ack-nhfb,
}

@Article{Martin:2003:CBM,
  author =       "Ken Martin",
  title =        "The {CMake} Build Manager",
  journal =      j-DDJ,
  volume =       "28",
  number =       "1",
  pages =        "40, 42, 44, 46",
  month =        jan,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0301/",
  URL =          "http://www.ddj.com/documents/s=7758/ddj0301e/",
  abstract =     "CMake is an open-source, cross-platform C/C++ build
                 manager that supports platform inspection and
                 user-customized builds.",
  acknowledgement = ack-nhfb,
}

@Article{Mahoney:2003:APC,
  author =       "William R. Mahoney",
  title =        "The ``All-Pairs Closest Points'' Problem",
  journal =      j-DDJ,
  volume =       "28",
  number =       "1",
  pages =        "48--49, 51",
  month =        jan,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0301/",
  URL =          "http://www.ddj.com/documents/s=7758/ddj0301f/",
  abstract =     "The divide-and-conquer algorithm William presents here
                 recursively partitions the set of points into two
                 halves, then solves for the halves plus a strip in the
                 middle.",
  acknowledgement = ack-nhfb,
}

@Article{Williams:2003:ICB,
  author =       "Al Williams",
  title =        "{Internet} Connectivity In a Box",
  journal =      j-DDJ,
  volume =       "28",
  number =       "1",
  pages =        "52, 54, 56, 58",
  month =        jan,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0301/",
  URL =          "http://www.ddj.com/documents/s=7758/ddj0301g/",
  abstract =     "When it comes to Internet connectivity, embedded
                 processors must contend with TCP/IP stacks and access
                 to the network. Al uses off-the-shelf components to
                 build a system that does everything from handling
                 e-mail to remotely monitoring temperatures.",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2003:PPAa,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: Attacks and Accidents",
  journal =      j-DDJ,
  volume =       "28",
  number =       "1",
  pages =        "61--63",
  month =        jan,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0301/",
  URL =          "http://www.ddj.com/documents/s=7758/ddj0301h/",
  abstract =     "Does network topology play a role in secure
                 networking? That's just one of the questions Michael
                 asks this month",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2003:ESB,
  author =       "Ed Nisley",
  title =        "Embedded Space: Boomin' Systems",
  journal =      j-DDJ,
  volume =       "28",
  number =       "1",
  pages =        "67--69",
  month =        jan,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0301/",
  URL =          "http://www.ddj.com/documents/s=7758/ddj0301i/",
  abstract =     "Ed's making a lot of noise this month, as he uses his
                 column as a sounding board.",
  acknowledgement = ack-nhfb,
}

@Article{Wilson:2003:PBO,
  author =       "Gregory V. Wilson",
  title =        "Programmer's Bookshelf: The Observation of Trifles",
  journal =      j-DDJ,
  volume =       "28",
  number =       "1",
  pages =        "73--73",
  month =        jan,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0301/",
  URL =          "http://www.ddj.com/documents/s=7758/ddj0301j/",
  abstract =     "Greg examines Java and XML Data Binding, by Brett
                 McLaughlin; Design Patterns Java Workbook, by Steven
                 John Metsker; and JSP Examples and Best Practices, by
                 Andrew Patzer.",
  acknowledgement = ack-nhfb,
}

@Article{Song:2003:Ia,
  author =       "Della Song",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "28",
  number =       "1",
  pages =        "74--75",
  month =        jan,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0301/",
  URL =          "http://www.ddj.com/documents/s=7758/ddj0301o/",
  abstract =     "January 2003 Of Interest",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2003:SFJ,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: {Jerry} and the {Beeb}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "1",
  pages =        "76--76",
  month =        jan,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:20 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0301/",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2003:EBPa,
  author =       "Jonathan Erickson",
  title =        "Editorial: Bidness Process Outsourcing",
  journal =      j-DDJ,
  volume =       "28",
  number =       "2",
  pages =        "8--8",
  month =        feb,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:21 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0302/",
  URL =          "http://www.ddj.com/documents/s=7790/ddj0302l/",
  abstract =     "February 2003 Editorial",
  acknowledgement = ack-nhfb,
}

@Article{Garbet:2003:LSM,
  author =       "Shawn Garbet and J. G. Owen and Georg Lohrer and DDJ",
  title =        "Letters: State of the Machine; More on Little
                 Languages; Incorrect Values",
  journal =      j-DDJ,
  volume =       "28",
  number =       "2",
  pages =        "10--10",
  month =        feb,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:21 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0302/",
  URL =          "http://www.ddj.com/documents/s=7790/ddj0302m/",
  abstract =     "February 2003 Letters",
  acknowledgement = ack-nhfb,
}

@Article{Stob:2003:NAVb,
  author =       "Verity Stob",
  title =        "The New Adventures of {Verity Stob}: Revenge of the
                 Anti-patterns",
  journal =      j-DDJ,
  volume =       "28",
  number =       "2",
  pages =        "12--12",
  month =        feb,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:21 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0302/",
  URL =          "http://www.ddj.com/documents/s=7790/ddj0302n/",
  abstract =     "Verity has created two new anti-patterns.",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2003:NVGb,
  author =       "Shannon Cochran",
  title =        "News and Views: Government Ponders Open-Source
                 Strategy; {POSIX}, {Single UNIX} Specification Merged;
                 {IBM} Plans New Supercomputers; Robotic Surgeons Have a
                 Heart",
  journal =      j-DDJ,
  volume =       "28",
  number =       "2",
  pages =        "14--14",
  month =        feb,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:21 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0302/",
  URL =          "http://www.ddj.com/documents/s=7790/ddj0302o/",
  abstract =     "February 2003 News and Views",
  acknowledgement = ack-nhfb,
}

@Article{Smith:2003:ADI,
  author =       "Kevin W. Smith",
  title =        "Automated Defect Identification",
  journal =      j-DDJ,
  volume =       "28",
  number =       "2",
  pages =        "16, 18, 20, 22",
  month =        feb,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:21 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0302/",
  URL =          "http://www.ddj.com/documents/s=7790/ddj0302b/",
  abstract =     "The techniques Kevin presents here help you quickly
                 identify latent defects in C++ code and --- without
                 extensive testing or simulation.",
  acknowledgement = ack-nhfb,
}

@Article{Albrecht:2003:TJI,
  author =       "Matt Albrecht",
  title =        "Testing {Java} Interfaces With {JUnit}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "2",
  pages =        "24, 26, 28",
  month =        feb,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:21 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0302/",
  URL =          "http://www.ddj.com/documents/s=7790/ddj0302c/",
  abstract =     "The GroboUtils JUnit Extension lets you write tests
                 for inherited logic, leading to better maintainability
                 and lower test-development costs.",
  acknowledgement = ack-nhfb,
}

@Article{Cohen:2003:CST,
  author =       "Noam Cohen",
  title =        "{C++} Stack Traces",
  journal =      j-DDJ,
  volume =       "28",
  number =       "2",
  pages =        "34, 36",
  month =        feb,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:21 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0302/",
  URL =          "http://www.ddj.com/documents/s=7790/ddj0302d/",
  abstract =     "Collecting call stack data only when applications
                 crash has limitations. The tool Noam presents here
                 collects information in real time, thereby providing a
                 context in which certain errors occur.",
  acknowledgement = ack-nhfb,
}

@Article{Li:2003:JBM,
  author =       "Sing Li",
  title =        "A {Java}-Based Music Player for {MP3}, {Ogg}, and
                 {WAV}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "2",
  pages =        "38, 40, 42, 44--45",
  month =        feb,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:21 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0302/",
  URL =          "http://www.ddj.com/documents/s=7790/ddj0302e/",
  abstract =     "Here's a digital music player built around the
                 JavaSound API that supports real-time decoding/playback
                 of music in MP3, WAV, and Ogg Vorbis formats.",
  acknowledgement = ack-nhfb,
}

@Article{Rolfe:2003:BBP,
  author =       "Timothy Rolfe",
  title =        "Bargain-Basement Parallelism",
  journal =      j-DDJ,
  volume =       "28",
  number =       "2",
  pages =        "46, 48, 50",
  month =        feb,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:21 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0302/",
  URL =          "http://www.ddj.com/documents/s=7790/ddj0302f/",
  abstract =     "The UNIX multiprocessing fork command lets you take
                 advantage of underutilized processors in dual-processor
                 computers.",
  acknowledgement = ack-nhfb,
}

@Article{Zyzyck:2003:RGP,
  author =       "Jon Zyzyck",
  title =        "A Report Generator for {PC-Lint}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "2",
  pages =        "52, 54, 58, 60",
  month =        feb,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:21 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0302/",
  URL =          "http://www.ddj.com/documents/s=7790/ddj0302g/",
  abstract =     "PC-Lint, from Gimpel Software, finds bugs, glitches,
                 and other anomalies in C/C++ code. Jon's report
                 generator reads in all PC-Lint messages and displays
                 them sorted by message number.",
  acknowledgement = ack-nhfb,
}

@Article{Timmerman:2003:EWC,
  author =       "Martin Timmerman",
  title =        "Examining {Windows CE .NET}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "2",
  pages =        "62, 64",
  month =        feb,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:21 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0302/",
  URL =          "http://www.ddj.com/documents/s=7790/ddj0302h/",
  abstract =     "Martin examines Windows CE .NET's thread handling and
                 advanced interrupt handling capabilities, as well as
                 its synchronization mechanisms and network stack
                 performance.",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2003:EJT,
  author =       "Al Stevens",
  title =        "Epicenter {Johnny} and {\tt typename} Exposed",
  journal =      j-DDJ,
  volume =       "28",
  number =       "2",
  pages =        "66, 68--69",
  month =        feb,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:21 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0302/",
  URL =          "http://www.ddj.com/documents/s=7790/ddj0302i/",
  abstract =     "Standard C++ added typename to solve semantic
                 ambiguities introduced by the class template mechanism
                 and to make template declarations more intuitive.",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2003:ESS,
  author =       "Ed Nisley",
  title =        "Embedded Space: Spectral Analysis",
  journal =      j-DDJ,
  volume =       "28",
  number =       "2",
  pages =        "71--73",
  month =        feb,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:21 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0302/",
  URL =          "http://www.ddj.com/documents/s=7790/ddj0302j/",
  abstract =     "When it comes to wireless devices, antennas and ---
                 and wavelength and --- matter.",
  acknowledgement = ack-nhfb,
}

@Article{Wilson:2003:PBFa,
  author =       "Gregory V. Wilson",
  title =        "Programmer's Bookshelf: Five Skinny Books",
  journal =      j-DDJ,
  volume =       "28",
  number =       "2",
  pages =        "75--75",
  month =        feb,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:21 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0302/",
  URL =          "http://www.ddj.com/documents/s=7790/ddj0302k/",
  abstract =     "Greg examines Debugging, by David J. Agans;
                 Translucent Databases, by Peter Wayner; The Turk: The
                 Life and Times of the Famous Eighteenth-Century
                 Chess-Playing Machine, by Tom Standage; Network
                 Security with OpenSSL, by John Viega, Matt Messier, and
                 Pravir Chandra; and Web Metrics: Proven Methods for
                 Measuring Web Site Success, by Jim Sterne.",
  acknowledgement = ack-nhfb,
}

@Article{Song:2003:Ib,
  author =       "Della Song",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "28",
  number =       "2",
  pages =        "79--79",
  month =        feb,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:21 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0302/",
  URL =          "http://www.ddj.com/documents/s=7790/ddj0302p/",
  abstract =     "February 2003 Of Interest",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2003:MMM,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: Man-Month Math",
  journal =      j-DDJ,
  volume =       "28",
  number =       "2",
  pages =        "80--80",
  month =        feb,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:21 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0302/",
  URL =          "http://www.ddj.com/documents/s=7790/ddj0302q/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2003:LME,
  author =       "Michael Swaine",
  title =        "Last {Macworld Expo}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "2",
  pages =        "??--??",
  month =        feb,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:21 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0302/",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2003:ESP,
  author =       "Jonathan Erickson",
  title =        "Editorial: Sales Pitch",
  journal =      j-DDJ,
  volume =       "28",
  number =       "3",
  pages =        "8--8",
  month =        mar,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0303/",
  URL =          "http://www.ddj.com/documents/s=7826/ddj0303k/",
  abstract =     "March 2003: Editorial",
  acknowledgement = ack-nhfb,
}

@Article{Diener:2003:LVV,
  author =       "Edward Diener and Kirt Haden and Arpad {Elo, Jr.}",
  title =        "Letters: {VB} Versus the World; Teacher, Teacher; Odds
                 \& Ends",
  journal =      j-DDJ,
  volume =       "28",
  number =       "3",
  pages =        "10--10",
  month =        mar,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0303/",
  URL =          "http://www.ddj.com/documents/s=7826/ddj0303l/",
  abstract =     "March 2003: Letters",
  acknowledgement = ack-nhfb,
}

@Article{Stob:2003:NAVc,
  author =       "Verity Stob",
  title =        "The New Adventures of {Verity Stob}: We Don't
                 Guarantee That The Latest {Windows API} Feature Will
                 Make You Sexy",
  journal =      j-DDJ,
  volume =       "28",
  number =       "3",
  pages =        "12--12",
  month =        mar,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0303/",
  URL =          "http://www.ddj.com/documents/s=7826/ddj0303m/",
  abstract =     "Verity Stob has long been fascinated by the house
                 style of MSDN Magazine (formerly MSJ). She was,
                 therefore, very excited, when recently poking around an
                 insecure Microsoft FTP server in search of sensitive
                 customer information, to stumble across the
                 wizard-generated primary template from which all MSDN
                 articles are produced.",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2003:NVT,
  author =       "Shannon Cochran",
  title =        "News and Views: Tiny Executable Contest Concludes;
                 {DeCSS}, {DMCA} Prosecutions Fail; Studying for the
                 {Turing} Test; {Embedded Linux} Specification
                 Released",
  journal =      j-DDJ,
  volume =       "28",
  number =       "3",
  pages =        "14--14",
  month =        mar,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0303/",
  URL =          "http://www.ddj.com/documents/s=7826/ddj0303n/",
  abstract =     "March 2003: News and Views",
  acknowledgement = ack-nhfb,
}

@Article{Wilson:2003:XBP,
  author =       "Gregory V. Wilson",
  title =        "{XML}-Based Programming Systems",
  journal =      j-DDJ,
  volume =       "28",
  number =       "3",
  pages =        "16, 18, 20, 22, 24",
  month =        mar,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0303/",
  URL =          "http://www.ddj.com/documents/s=7826/ddj0303b/",
  abstract =     "Will mixing XML and source code revolutionize
                 programming in the coming years? This is the question
                 Greg untangles.",
  acknowledgement = ack-nhfb,
}

@Article{Brookes:2003:XDB,
  author =       "Allen Brookes",
  title =        "{XML} Data Binding",
  journal =      j-DDJ,
  volume =       "28",
  number =       "3",
  pages =        "26, 28, 30, 32, 35--36",
  month =        mar,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0303/",
  URL =          "http://www.ddj.com/documents/s=7826/ddj0303c/",
  abstract =     "XML data binding utilities dramatically simplify the
                 task of writing XML-enabled applications by
                 automatically creating a data binding for you.",
  acknowledgement = ack-nhfb,
}

@Article{Bugg:2003:SSM,
  author =       "Keith Bugg",
  title =        "{SVG} and Smart Maps",
  journal =      j-DDJ,
  volume =       "28",
  number =       "3",
  pages =        "38, 40--41",
  month =        mar,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0303/",
  URL =          "http://www.ddj.com/documents/s=7826/ddj0303d/",
  abstract =     "Scalable Vector Graphics is a plain-text format that
                 can make graphics look ``flashy.'' Keith shows how you
                 can use SVG to create smart maps that can be
                 dynamically updated, animated, and more.",
  acknowledgement = ack-nhfb,
}

@Article{Humphrey:2003:GCC,
  author =       "William F. Humphrey",
  title =        "Generalized Callbacks: {C++} and {C\#}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "3",
  pages =        "42--43, 46--47",
  month =        mar,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0303/",
  URL =          "http://www.ddj.com/documents/s=7826/ddj0303e/",
  abstract =     "Callbacks implement dynamic selection and invocation
                 of functions at run time. Bill examines two
                 technologies that implement callbacks and --- the
                 libsigc++ class library in C++ and the delegate feature
                 in C\#.",
  acknowledgement = ack-nhfb,
}

@Article{Boeke:2003:SMC,
  author =       "Wouter Boeke",
  title =        "The {SmlMC} Model Checker",
  journal =      j-DDJ,
  volume =       "28",
  number =       "3",
  pages =        "48, 50--53",
  month =        mar,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0303/",
  URL =          "http://www.ddj.com/documents/s=7826/ddj0303f/",
  abstract =     "Model checking lets you verify whether implementations
                 satisfy a design specification. SmlMC, the model
                 checker Wouter presents here, is written in Standard
                 ML.",
  acknowledgement = ack-nhfb,
}

@Article{Wright:2003:JES,
  author =       "William Wright",
  title =        "{J2Me} and Embedded Systems",
  journal =      j-DDJ,
  volume =       "28",
  number =       "3",
  pages =        "54, 56, 58",
  month =        mar,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0303/",
  URL =          "http://www.ddj.com/documents/s=7826/ddj0303g/",
  abstract =     "The Java 2 Micro Edition is a development tool for
                 environments where resources don't support the full
                 Java 2 Standard Edition. William uses it with aJile
                 Systems' aJ-100 processor to build a network security
                 device.",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2003:PPH,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: History Lessons",
  journal =      j-DDJ,
  volume =       "28",
  number =       "3",
  pages =        "60, 62--63",
  month =        mar,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0303/",
  URL =          "http://www.ddj.com/documents/s=7826/ddj0303h/",
  abstract =     "Michael digs into computing history, searching for the
                 answer to the question, ``Who invented the
                 computer?''",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2003:ESRa,
  author =       "Ed Nisley",
  title =        "Embedded Space: Rising Tides",
  journal =      j-DDJ,
  volume =       "28",
  number =       "3",
  pages =        "65--67",
  month =        mar,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0303/",
  URL =          "http://www.ddj.com/documents/s=7826/ddj0303i/",
  abstract =     "Ed reports on the Embedded Systems and Software
                 Development East conferences, focusing on Nick
                 Tredennick's Zeros Model theory of the microprocessor
                 universe.",
  acknowledgement = ack-nhfb,
}

@Article{Woehr:2003:PBL,
  author =       "Jack J. Woehr",
  title =        "Programmer's Bookshelf: {Linux}, {XP}, and Everything
                 in Between",
  journal =      j-DDJ,
  volume =       "28",
  number =       "3",
  pages =        "69--69",
  month =        mar,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0303/",
  URL =          "http://www.ddj.com/documents/s=7826/ddj0303j/",
  abstract =     "The books Jack examines this month include The Linux
                 Development Platform, by Rafeeq Ur Rehman and
                 Christopher Paul; DNS and BIND Cookbook, by Cricket
                 Liu; and Windows XP Annoyances, by David Karp.",
  acknowledgement = ack-nhfb,
}

@Article{Song:2003:Ic,
  author =       "Della Song",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "28",
  number =       "3",
  pages =        "71--71",
  month =        mar,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0303/",
  URL =          "http://www.ddj.com/documents/s=7826/ddj0303o/",
  abstract =     "March 2003: Of Interest",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2003:SFB,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: {Big Brother} and the {Holding
                 Company}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "3",
  pages =        "72--72",
  month =        mar,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0303/",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2003:EBPb,
  author =       "Jonathan Erickson",
  title =        "Editorial: On Being a Programmer",
  journal =      j-DDJ,
  volume =       "28",
  number =       "4",
  pages =        "8--8",
  month =        apr,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0304/",
  URL =          "http://www.ddj.com/documents/s=7827/ddj0304l/",
  abstract =     "April 2003 Editorial",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2003:NVd,
  author =       "Shannon Cochran",
  title =        "News and Views: {Caltech ``Turing Tournament''};
                 Science and Engineering {Ph.D.}s Getting Scarcer; {E.
                 Coli} for Data Storage; {Swiss} Accept {Internet}
                 Ballots; Extensible Resource Identifiers",
  journal =      j-DDJ,
  volume =       "28",
  number =       "4",
  pages =        "10--10",
  month =        apr,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0304/",
  URL =          "http://www.ddj.com/documents/s=7827/ddj0304o/",
  abstract =     "April 2003 News and Views",
  acknowledgement = ack-nhfb,
}

@Article{Vandevoorde:2003:LCT,
  author =       "David (``Daveed'') Vandevoorde and Doug McGarrett and
                 Ed Nisley and Jim Hunter",
  title =        "Letters: {C++}'s {\tt typename} keyword; More {VB}
                 Versus the World; {RF} Band Letter Designations; Happy
                 with {XSLT}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "4",
  pages =        "12--12",
  month =        apr,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0304/",
  URL =          "http://www.ddj.com/documents/s=7827/ddj0304m/",
  abstract =     "April 2003 Letters",
  acknowledgement = ack-nhfb,
}

@Article{Stob:2003:NAVd,
  author =       "Verity Stob",
  title =        "The New Adventures of {Verity Stob}: Print Job",
  journal =      j-DDJ,
  volume =       "28",
  number =       "4",
  pages =        "14--14",
  month =        apr,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0304/",
  URL =          "http://www.ddj.com/documents/s=7827/ddj0304n/",
  abstract =     "Verity has a little printer trouble.",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2003:DDE,
  author =       "Jon Erickson",
  title =        "{2003 Dr. Dobb's Excellence in Programming Award}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "4",
  pages =        "16--17",
  month =        apr,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0304/",
  URL =          "http://www.ddj.com/documents/s=7827/ddj0304b/",
  abstract =     "Don Chamberlin is the recipient of this year's
                 Excellence in Programming Award for his groundbreaking
                 work with SQL and (more recently) XML.",
  acknowledgement = ack-nhfb,
}

@Article{Sharaafath:2003:CCW,
  author =       "Yassar Sharaafath",
  title =        "{C++WSP}: {A} {C++} Web Services Platform",
  journal =      j-DDJ,
  volume =       "28",
  number =       "4",
  pages =        "18, 20, 22, 24, 26",
  month =        apr,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0304/",
  URL =          "http://www.ddj.com/documents/s=7827/ddj0304c/",
  abstract =     "C++WSP quickly exposes existing C/C++ systems as web
                 services, and it's more elegant than JNI while avoiding
                 the platform limitations of .NET.",
  acknowledgement = ack-nhfb,
}

@Article{Walsh:2003:JWS,
  author =       "Aaron E. Walsh",
  title =        "{J2Ee 1.4 Web} Services",
  journal =      j-DDJ,
  volume =       "28",
  number =       "4",
  pages =        "34, 36, 38, 39",
  month =        apr,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0304/",
  URL =          "http://www.ddj.com/documents/s=7827/ddj0304d/",
  abstract =     "Version 1.4 of Sun's Java 2 Platform Enterprise
                 Edition (J2EE) is just about ready for release and its
                 support for Web Services is one thing that sets it
                 apart from previous version.",
  acknowledgement = ack-nhfb,
}

@Article{Robison:2003:MCN,
  author =       "Arch D. Robison",
  title =        "Memory Consistency and {.NET}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "4",
  pages =        "46, 48--50",
  month =        apr,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0304/",
  URL =          "http://www.ddj.com/documents/s=7827/ddj0304e/",
  abstract =     "Understanding the basics of memory consistency is
                 essential to writing multithreaded code that works on
                 both uniprocessors and multiprocessors.",
  acknowledgement = ack-nhfb,
}

@Article{Qureshi:2003:CCM,
  author =       "Shehrzad Qureshi",
  title =        "Cross-Correlation and Matched Filters",
  journal =      j-DDJ,
  volume =       "28",
  number =       "4",
  pages =        "52, 54--56",
  month =        apr,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0304/",
  URL =          "http://www.ddj.com/documents/s=7827/ddj0304f/",
  abstract =     "Time-delay estimation of waveforms is of fundamental
                 importance in signal-processing applications. Shehrzad
                 uses matched filters, implemented via
                 cross-correlation, to solve time delay problems.",
  acknowledgement = ack-nhfb,
}

@Article{Jolitz:2003:WSD,
  author =       "William F. Jolitz",
  title =        "{Web} Services and Datacenter Environments",
  journal =      j-DDJ,
  volume =       "28",
  number =       "4",
  pages =        "60, 62--65",
  month =        apr,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0304/",
  URL =          "http://www.ddj.com/documents/s=7827/ddj0304g/",
  abstract =     "Forget your cellphones and wireless PDAs. Web services
                 can be used even more effectively in Internet
                 datacenters to solve client communication errors and
                 other such problems.",
  acknowledgement = ack-nhfb,
}

@Article{Porter:2003:MDX,
  author =       "Brett Porter",
  title =        "Managing Devices with {XML-RPC}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "4",
  pages =        "66, 68--70",
  month =        apr,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0304/",
  URL =          "http://www.ddj.com/documents/s=7827/ddj0304h/",
  abstract =     "Brett presents a client-side monitor application
                 (written in Python) that uses XML-RPC to monitor the
                 state of a simulated device.",
  acknowledgement = ack-nhfb,
}

@Article{Stevens:2003:CPU,
  author =       "Al Stevens",
  title =        "{C} Programming: Underdocumented {C++}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "4",
  pages =        "72, 74, 76",
  month =        apr,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0304/",
  URL =          "http://www.ddj.com/documents/s=7827/ddj0304i/",
  abstract =     "Al goes further with C++'s typename keyword and ---
                 yet another underdocumented C++ feature.",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2003:ESRb,
  author =       "Ed Nisley",
  title =        "Embedded Space: {Real-Time Linux}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "4",
  pages =        "79--81",
  month =        apr,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0304/",
  URL =          "http://www.ddj.com/documents/s=7827/ddj0304j/",
  abstract =     "Real-time Linux is Ed's focus this month, as he
                 reports on the Fourth Real-Time Linux Workshop, among
                 other topics.",
  acknowledgement = ack-nhfb,
}

@Article{Wilson:2003:PBP,
  author =       "Gregory V. Wilson",
  title =        "Programmer's Bookshelf: {Parkinson}'s Other Law",
  journal =      j-DDJ,
  volume =       "28",
  number =       "4",
  pages =        "83--83",
  month =        apr,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0304/",
  URL =          "http://www.ddj.com/documents/s=7827/ddj0304k/",
  abstract =     "Gregory V. Wilson reviews Creating Applications With
                 Mozilla, Java NIO, Performance Analysis For Java Web
                 Sites, and Herding Cats: A Primer for Programmers Who
                 Lead Programmers",
  acknowledgement = ack-nhfb,
}

@Article{Song:2003:Id,
  author =       "Della Song",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "28",
  number =       "4",
  pages =        "84--84",
  month =        apr,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0304/",
  URL =          "http://www.ddj.com/documents/s=7827/ddj0304p/",
  abstract =     "April 2003 Of Interest",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2003:SFT,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: Tales from the Security
                 Battlefronts",
  journal =      j-DDJ,
  volume =       "28",
  number =       "4",
  pages =        "88--88",
  month =        apr,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0304/",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2003:EC,
  author =       "Jonathan Erickson",
  title =        "Editorial: Ka-Ching, Ka-Ching, Ka-Ching",
  journal =      j-DDJ,
  volume =       "28",
  number =       "5",
  pages =        "8--8",
  month =        may,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0305/",
  URL =          "http://www.ddj.com/documents/s=7927/ddj0305l/",
  abstract =     "May 2003 Editorial",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2003:Le,
  author =       "David Wright and Stan Day and Kurt Guntheroth and
                 Larry O'Brien",
  title =        "Letters: 13 Ways to Loath {VB}; Business Process
                 Outsourcing; Copy Protection",
  journal =      j-DDJ,
  volume =       "28",
  number =       "5",
  pages =        "10--10",
  month =        may,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0305/",
  URL =          "http://www.ddj.com/documents/s=7927/ddj0305m/",
  abstract =     "May 2003 Letters",
  acknowledgement = ack-nhfb,
}

@Article{Stob:2003:NAVe,
  author =       "Verity Stob",
  title =        "The New Adventures of {Verity Stob}: Soundtrack",
  journal =      j-DDJ,
  volume =       "28",
  number =       "5",
  pages =        "12--12",
  month =        may,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0305/",
  URL =          "http://www.ddj.com/documents/s=7927/ddj0305n/",
  abstract =     "Feel a bit of a fool burning your software onto CDs?
                 Hard pressed to use even 10 percent of their capacity?
                 Verity Stob, a veteran purchaser of movie DVDs laden
                 with extras in the form of directors' and actors'
                 effusive commentaries, proposes a novel solution.",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2003:NVe,
  author =       "Shannon Cochran",
  title =        "News and Views: {MIT} Honors Builder of Robot Swarm;
                 Developing Space; {Embedded Linux} Platform
                 Specification Released; Biometric Systems at {U.S.}
                 Borders, Says {NIST}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "5",
  pages =        "14--14",
  month =        may,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0305/",
  URL =          "http://www.ddj.com/documents/s=7927/ddj0305o/",
  abstract =     "May 2003 News and Views",
  acknowledgement = ack-nhfb,
}

@Article{Pumar:2003:DP,
  author =       "Mark A. Pumar",
  title =        "Dynamic Programming",
  journal =      j-DDJ,
  volume =       "28",
  number =       "5",
  pages =        "18, 20, 22, 24, 26",
  month =        may,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0305/",
  URL =          "http://www.ddj.com/documents/s=7927/ddj0305b/",
  abstract =     "Dynamic programming has been widely used to solve
                 problems in science, engineering, and finance and ---
                 and it's become the algorithm of choice for many large
                 optimization problems.",
  acknowledgement = ack-nhfb,
}

@Article{Sams:2003:SDS,
  author =       "Mark Sams",
  title =        "The {SquareList} Data Structure",
  journal =      j-DDJ,
  volume =       "28",
  number =       "5",
  pages =        "37--40",
  month =        may,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0305/",
  URL =          "http://www.ddj.com/documents/s=7927/ddj0305c/",
  abstract =     "The SquareList self-adjusting data structure Mark
                 presents here performs basic tasks such as insert,
                 delete, and findmin. It's particularly useful in
                 programs that frequently require minimum and maximum
                 values.",
  acknowledgement = ack-nhfb,
}

@Article{Fremberg:2003:MAP,
  author =       "Daniel Fremberg",
  title =        "The {Mithra} Authentication Protocol",
  journal =      j-DDJ,
  volume =       "28",
  number =       "5",
  pages =        "44, 46--48",
  month =        may,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0305/",
  URL =          "http://www.ddj.com/documents/s=7927/ddj0305d/",
  abstract =     "Mithra is an authentication protocol designed to
                 detect Man-in-the-Middle attacks that try to steal your
                 passwords.",
  acknowledgement = ack-nhfb,
}

@Article{Obasanjo:2003:XRD,
  author =       "Dare Obasanjo",
  title =        "{XML} and Relational Databases",
  journal =      j-DDJ,
  volume =       "28",
  number =       "5",
  pages =        "54, 56--58",
  month =        may,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0305/",
  URL =          "http://www.ddj.com/documents/s=7927/ddj0305e/",
  abstract =     "Andrew and Dare first examine the merits of an XML
                 data model over the relational data model, then
                 translate between the XML and relational query
                 domains.",
  acknowledgement = ack-nhfb,
}

@Article{Chawathe:2003:SCS,
  author =       "Monica Chawathe",
  title =        "{SA-C}: Single Assignment {C}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "5",
  pages =        "60, 62--64",
  month =        may,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0305/",
  URL =          "http://www.ddj.com/documents/s=7927/ddj0305f/",
  abstract =     "SA-C, a high-level, C-like language with single
                 assignment semantics, was designed for building
                 applications that run on reconfigurable computing
                 systems, such as Field Programmable Gate Arrays
                 (FPGAs).",
  acknowledgement = ack-nhfb,
}

@Article{Kelley:2003:GC,
  author =       "Brian Kelley",
  title =        "Graph Canonicalization",
  journal =      j-DDJ,
  volume =       "28",
  number =       "5",
  pages =        "66--69",
  month =        may,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0305/",
  URL =          "http://www.ddj.com/documents/s=7927/ddj0305g/",
  abstract =     "Graph canonicalization lets you form unique text
                 representations for graphs, thereby enabling quick
                 text-based searching without resorting to
                 time-consuming isomorphism algorithms.",
  acknowledgement = ack-nhfb,
}

@Article{Williams:2003:ESP,
  author =       "Al Williams",
  title =        "Embedded Systems: Programmable Logic and Hardware",
  journal =      j-DDJ,
  volume =       "28",
  number =       "5",
  pages =        "70, 72--75",
  month =        may,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0305/",
  URL =          "http://www.ddj.com/documents/s=7927/ddj0305h/",
  abstract =     "If performance, cost, and simplicity are important in
                 your embedded design, then programmable logic such as
                 Field Programmable Gate Arrays (FPGAs) or Complex
                 Programmable Logic Devices (CPLDs) may be what you
                 need.",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2003:PPI,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: Interesting Times",
  journal =      j-DDJ,
  volume =       "28",
  number =       "5",
  pages =        "77--79",
  month =        may,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0305/",
  URL =          "http://www.ddj.com/documents/s=7927/ddj0305i/",
  abstract =     "Theories swirl as Michael ponders over what Apple,
                 Microsoft, Phoenix, and others are up to.",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2003:EST,
  author =       "Ed Nisley",
  title =        "Embedded Space: Testing One Two",
  journal =      j-DDJ,
  volume =       "28",
  number =       "5",
  pages =        "80--83",
  month =        may,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0305/",
  URL =          "http://www.ddj.com/documents/s=7927/ddj0305j/",
  abstract =     "The way Ed sees it, software testing should be
                 completely unnecessary. But in the real world, he knows
                 better.",
  acknowledgement = ack-nhfb,
}

@Article{Wilson:2003:PBT,
  author =       "Gregory V. Wilson",
  title =        "Programmer's Bookshelf: Three From {Manning}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "5",
  pages =        "84--84",
  month =        may,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0305/",
  URL =          "http://www.ddj.com/documents/s=7927/ddj0305k/",
  abstract =     "Data Munging with Perl, by David Cross; LDAP
                 Programming, Management, and Integration, by Clayton
                 Donley; Struts in Action, by Ted N. Husted, Cedric
                 Dumoulin, George Franciscus, and David Winterfeldt;
                 Mastering Jakarta Struts, by James Goodwill; and The
                 Struts Framework: Practical Guide for Programmers, by
                 Sue Spielman are the books Greg examines this month.",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2003:Ia,
  author =       "Shannon Cochran",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "28",
  number =       "5",
  pages =        "86--86",
  month =        may,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0305/",
  URL =          "http://www.ddj.com/documents/s=7927/ddj0305p/",
  abstract =     "May 2003 Of Interest",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2003:RMA,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: Renewing My Artistic License",
  journal =      j-DDJ,
  volume =       "28",
  number =       "5",
  pages =        "88--88",
  month =        may,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0305/",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2003:EAN,
  author =       "Jonathan Erickson",
  title =        "Editorial: It's All in a Name",
  journal =      j-DDJ,
  volume =       "28",
  number =       "6",
  pages =        "8--8",
  month =        jun,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0306/",
  URL =          "http://www.ddj.com/documents/s=8213/ddj0306k/",
  abstract =     "June 2003 Editorial",
  acknowledgement = ack-nhfb,
}

@Article{Fialli:2003:LXD,
  author =       "Joe Fialli and Mike Morley and Eduardo Pelegri-Llopart
                 and Arpad {Elo, Jr.} and Joseph Roy D. North",
  title =        "Letters: {XML} Data Binding; {XML}-Based Programming;
                 Block-Structured Languages; History Lesson",
  journal =      j-DDJ,
  volume =       "28",
  number =       "6",
  pages =        "10--10",
  month =        jun,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0306/",
  URL =          "http://www.ddj.com/documents/s=8213/ddj0306l/",
  abstract =     "June 2003 Letters",
  acknowledgement = ack-nhfb,
}

@Article{Stob:2003:DR,
  author =       "Verity Stob",
  title =        "The New Adventures of {Verity Stob}: Damnation without
                 Relief",
  journal =      j-DDJ,
  volume =       "28",
  number =       "6",
  pages =        "12--12",
  month =        jun,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0306/",
  URL =          "http://www.ddj.com/documents/s=8213/ddj0306m/",
  abstract =     "Verity Stob attends a lecture at Big Programming
                 Conference '03",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2003:NVf,
  author =       "Shannon Cochran",
  title =        "News and Views: Young Programmers Vie in Contests;
                 Happy Birthday {World Wide Web}; {Microsoft} Issues
                 {Visual C++} Bug Alert; Etiquette and Bug Reports;
                 {Commerce Department} Fights International Tech
                 Standards",
  journal =      j-DDJ,
  volume =       "28",
  number =       "6",
  pages =        "14--14",
  month =        jun,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0306/",
  URL =          "http://www.ddj.com/documents/s=8213/ddj0306n/",
  abstract =     "June 2003 News and Views",
  acknowledgement = ack-nhfb,
}

@Article{Larson:2003:RCS,
  author =       "Michael Larson",
  title =        "Route Control and Streaming Video",
  journal =      j-DDJ,
  volume =       "28",
  number =       "6",
  pages =        "18, 20, 22, 24, 26",
  month =        jun,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0306/",
  URL =          "http://www.ddj.com/documents/s=8213/ddj0306b/",
  abstract =     "Route control is an emerging technology that improves
                 the quality of streaming video by letting you select
                 the path of data packets as they leave your video
                 servers.",
  acknowledgement = ack-nhfb,
}

@Article{Li:2003:JPP,
  author =       "Sing Li",
  title =        "{JXTA} and Peer-to-Peer Networks",
  journal =      j-DDJ,
  volume =       "28",
  number =       "6",
  pages =        "30, 32--34",
  month =        jun,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0306/",
  URL =          "http://www.ddj.com/documents/s=8213/ddj0306c/",
  abstract =     "JXTA is an open-source development project for
                 creating a P2P substrate that's applicable to any
                 hardware or software platforms.",
  acknowledgement = ack-nhfb,
}

@Article{Silverman:2003:SWN,
  author =       "Micah Silverman",
  title =        "Securing Wireless Networks",
  journal =      j-DDJ,
  volume =       "28",
  number =       "6",
  pages =        "36, 38--40, 42, 44",
  month =        jun,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0306/",
  URL =          "http://www.ddj.com/documents/s=8213/ddj0306d/",
  abstract =     "Micah shows how to secure wireless networks as
                 802.11b, also known as Wi-Fi, using a combination of
                 hardware and software.",
  acknowledgement = ack-nhfb,
}

@Article{Katseff:2003:WSP,
  author =       "Howard P. Katseff",
  title =        "{Web} Scraping Proxy",
  journal =      j-DDJ,
  volume =       "28",
  number =       "6",
  pages =        "46, 48, 50, 52",
  month =        jun,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0306/",
  URL =          "http://www.ddj.com/documents/s=8213/ddj0306e/",
  abstract =     "WSP, the web scraping proxy server Howard presents
                 here, is a Perl program that uses the socket library to
                 communicate with the browser client and the server.",
  acknowledgement = ack-nhfb,
}

@Article{Gabrilovich:2003:HL,
  author =       "Evgeniy Gabrilovich",
  title =        "{Heap Ltd.}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "6",
  pages =        "54, 56--57",
  month =        jun,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0306/",
  URL =          "http://www.ddj.com/documents/s=8213/ddj0306f/",
  abstract =     "Evgeniy and Alex examine various existing sorting and
                 searching algorithms, then present their ``limited
                 heap,'' which arguably provides the best tradeoff
                 between speed and memory utilization.",
  acknowledgement = ack-nhfb,
}

@Article{Jones:2003:ELX,
  author =       "M. Tim Jones",
  title =        "An Embeddable Lightweight {XML-RPC} Server",
  journal =      j-DDJ,
  volume =       "28",
  number =       "6",
  pages =        "60, 62--64, 66--67",
  month =        jun,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0306/",
  URL =          "http://www.ddj.com/documents/s=8213/ddj0306g/",
  abstract =     "Tim examines the XML-RPC protocol for providing
                 network-based RPCs, then presents a lightweight server
                 for embedded designs.",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2003:PPJ,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: Just Released",
  journal =      j-DDJ,
  volume =       "28",
  number =       "6",
  pages =        "68, 70--71",
  month =        jun,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0306/",
  URL =          "http://www.ddj.com/documents/s=8213/ddj0306h/",
  abstract =     "Michael feels a sense of release as he takes a look at
                 Apple's OS X implementation of X Windows System Version
                 11 --- a network-transparent, client-server graphics
                 display system that is the de facto standard for UNIX
                 systems.",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2003:ESW,
  author =       "Ed Nisley",
  title =        "Embedded Space: Written in Blood",
  journal =      j-DDJ,
  volume =       "28",
  number =       "6",
  pages =        "72, 74--75",
  month =        jun,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0306/",
  URL =          "http://www.ddj.com/documents/s=8213/ddj0306i/",
  abstract =     "Software reliability and embedded systems go
                 hand-in-glove.",
  acknowledgement = ack-nhfb,
}

@Article{Wilson:2003:PBFb,
  author =       "Gregory V. Wilson",
  title =        "Programmer's Bookshelf: Facts, Fallacies, and Numeric
                 Computing",
  journal =      j-DDJ,
  volume =       "28",
  number =       "6",
  pages =        "76--76",
  month =        jun,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0306/",
  URL =          "http://www.ddj.com/documents/s=8213/ddj0306j/",
  abstract =     "The books Greg examines this month include Debugging
                 Applications for Microsoft .NET and Microsoft Windows,
                 by John Robbins; Facts and Fallacies of Software
                 Engineering, by Robert L. Glass; Java Number Cruncher:
                 The Java Programmer's Guide to Numerical Computing, by
                 Ronald Mak; and Ant: The Definitive Guide, by Jesse
                 Tilly and Eric M. Burke.",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2003:Ib,
  author =       "Shannon Cochran",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "28",
  number =       "6",
  pages =        "78--78",
  month =        jun,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0306/",
  URL =          "http://www.ddj.com/documents/s=8213/ddj0306o/",
  abstract =     "June 2003 Of Interest",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2003:SFP,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: Prose Sampling \#1",
  journal =      j-DDJ,
  volume =       "28",
  number =       "6",
  pages =        "80--80",
  month =        jun,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:23 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0306/",
  acknowledgement = ack-nhfb,
}

@Article{Erickson:2003:E,
  author =       "Jonathan Erickson",
  title =        "Editorial: Setting High Standards",
  journal =      j-DDJ,
  volume =       "28",
  number =       "7",
  pages =        "8--8",
  month =        jul,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:24 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0307/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Gabeler-Lee:2003:LMM,
  author =       "Matthew Gabeler-Lee and Daniel Fremberg and J. G. Owen
                 and Gregory A. Janie and Mike Moretti",
  title =        "Letters: {Mithra}; More Business Process Outsourcing;
                 {SquareList}; {XML} Data Binding",
  journal =      j-DDJ,
  volume =       "28",
  number =       "7",
  pages =        "10--10",
  month =        jul,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:24 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0307/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Stob:2003:NAV,
  author =       "Verity Stob",
  title =        "The New Adventures of {Verity Stob}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "7",
  pages =        "12--12",
  month =        jul,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:24 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0307/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2003:NVC,
  author =       "Shannon Cochran",
  title =        "News and Views: Cryptographers [{Ronald Rivest}, {Adi
                 Shamir}, and {Leonard Adleman}] Receive {Turing Award};
                 Computer-Science Pioneer [{John G. ``Jack'' Herriot}]
                 Passes Away; Programming Quantum Computers; The
                 Demography of the {Internet}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "7",
  pages =        "14--14",
  month =        jul,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:24 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0307/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Barrett:2003:DPJ,
  author =       "Tom Barrett",
  title =        "Dynamic Proxies in {Java} and {.NET}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "7",
  pages =        "18, 20, 22, 24, 26",
  month =        jul,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:24 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0307/",
  URL =          "http://www.ddj.com/ftp/2003/2003_07/dyproxy.zip",
  abstract =     "Tom examines how proxies separate cross-cutting
                 concerns, then explores and --- in both Java and C\#
                 and --- a new twist on the traditional Proxy pattern
                 that promotes reuse and decreases complexity.
                 Additional resources include dyproxy.zip (source
                 code).",
  acknowledgement = ack-nhfb,
}

@Article{Pont:2003:CCL,
  author =       "Mick Pont",
  title =        "Calling {C} Library Routines from {Java}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "7",
  pages =        "28, 32, 34--36, 38",
  month =        jul,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:24 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0307/",
  URL =          "http://www.ddj.com/ftp/2003/2003_07/c_java.txt;
                 http://www.ddj.com/ftp/2003/2003_07/c_java.zip",
  abstract =     "Here's a technique for calling C library routines
                 directly from Java, saving you the trouble of rewriting
                 code in Java while gaining portability via Java Virtual
                 Machines. Additional resources include c\_java.txt
                 (listings) and c\_java.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{White:2003:UTL,
  author =       "Tom White",
  title =        "Using Thread-Local Variables In {Java}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "7",
  pages =        "42, 44--46",
  month =        jul,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:24 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0307/",
  URL =          "http://www.ddj.com/ftp/2003/2003_07/thread.txt;
                 http://www.ddj.com/ftp/2003/2003_07/thread.zip",
  abstract =     "Java's ThreadLocal class provides a powerful,
                 easy-to-use way to write efficient code that is safe
                 for multithreaded access. Additional resources include
                 thread.txt (listings) and thread.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Walsh:2003:JP,
  author =       "Aaron E. Walsh",
  title =        "{JavaServer Pages 2.0}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "7",
  pages =        "48, 50, 52--57",
  month =        jul,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:24 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0307/",
  URL =          "http://www.ddj.com/ftp/2003/2003_07/jsp20.zip",
  abstract =     "From the Expression Language to the JSP 2.0 API, new
                 features in J2EE 1.4 change how you create custom
                 JavaServer Pages. Additional resources include
                 jsp20.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Smith:2003:DL,
  author =       "Kevin W. Smith",
  title =        "Distributed Loadbuilds",
  journal =      j-DDJ,
  volume =       "28",
  number =       "7",
  pages =        "58, 60",
  month =        jul,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:24 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0307/",
  URL =          "http://www.ddj.com/ftp/2003/2003_07/disbuild.txt",
  abstract =     "Dividing computationally intensive tasks among
                 multiple machines is a technique that has been around
                 for a long time. Kevin uses Rational's ClearMake
                 distributed build technology to put idle computers to
                 work. Additional resources include disbuild.txt
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Sherer:2003:RTS,
  author =       "Matt Sherer",
  title =        "Real-time Signal Analysis and {Real-Time Linux}: {Part
                 1}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "7",
  pages =        "62--65",
  month =        jul,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:24 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0307/",
  URL =          "http://www.ddj.com/ftp/2003/2003_07/rtlp1.txt",
  abstract =     "In the first installment of this multipart article,
                 Matt shows how you do hard real-time signal
                 acquisition, controlling it from a Java GUI
                 application. Additional resources include rtlp1.txt
                 (listings).",
  acknowledgement = ack-nhfb,
}

@Article{Goschl:2003:JXB,
  author =       "Siegfried G{\"o}schl",
  title =        "{Jelly}: An {XML}-Based Scripting Language",
  journal =      j-DDJ,
  volume =       "28",
  number =       "7",
  pages =        "66--67",
  month =        jul,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:24 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0307/",
  URL =          "http://www.ddj.com/ftp/2003/2003_07/jelly.zip",
  abstract =     "Jelly, which lets you turn XML into executable code,
                 is a Java-based scripting language that can be used as
                 an embedded or standalone tool. Additional resources
                 include jelly.zip (source code).",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2003:PPAb,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: {Adam Osborne}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "7",
  pages =        "68--70",
  month =        jul,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:24 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0307/",
  URL =          "http://www.ddj.com/",
  abstract =     "Michael looks back on the life and times of personal
                 computer pioneer Adam Osborne.",
  acknowledgement = ack-nhfb,
}

@Article{Nisley:2003:ES,
  author =       "Ed Nisley",
  title =        "Embedded Space",
  journal =      j-DDJ,
  volume =       "28",
  number =       "7",
  pages =        "71--73",
  month =        jul,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:24 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0307/",
  URL =          "http://www.ddj.com/",
  abstract =     "Over the years, Ed has found IEEE publications to be
                 an invaluable source of technical information.",
  acknowledgement = ack-nhfb,
}

@Article{Wilson:2003:PB,
  author =       "Gregory V. Wilson",
  title =        "Programmer's Bookshelf",
  journal =      j-DDJ,
  volume =       "28",
  number =       "7",
  pages =        "75--75",
  month =        jul,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:24 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0307/",
  URL =          "http://www.ddj.com/",
  abstract =     "Big and little, thick and thin: Greg looks at all
                 kinds of books this month, including Processing XML
                 with Java, Practical Debugging in C++, How to Break
                 Software, Hacker's Delight, Bioinformatics Computing,
                 and Bioinformatics for Dummies.",
  acknowledgement = ack-nhfb,
}

@Article{Cochran:2003:Ic,
  author =       "Shannon Cochran",
  title =        "Of Interest",
  journal =      j-DDJ,
  volume =       "28",
  number =       "7",
  pages =        "78--78",
  month =        jul,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:24 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0307/",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
}

@Article{Swaine:2003:SFM,
  author =       "Michael Swaine",
  title =        "{Swaine}'s Flames: Minor Essays Poorly Connected",
  journal =      j-DDJ,
  volume =       "28",
  number =       "7",
  pages =        "80--80",
  month =        jul,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:24 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0307/",
  acknowledgement = ack-nhfb,
}

%%% Three years of data are still missing, sigh...

@Article{Swaine:2006:VR,
  author =       "Michael Swaine",
  title =        "Is Virtualization Real?",
  journal =      j-DDJ,
  volume =       "31",
  number =       "12",
  pages =        "18--19, 21--22",
  month =        dec,
  year =         "2006",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Nov 17 07:22:34 2006",
  acknowledgement = ack-nhfb,
}

%%% Two years of missing data

@Article{Bapst:2008:SIO,
  author =       "Frederic Bapst and Fran{\c{c}}ois Kilchoer",
  title =        "Signalling Integer Overflows in {Java}: {A} tool for
                 checking overflows in {Java} code",
  journal =      j-DDJ,
  volume =       "33",
  number =       "9",
  pages =        "54--58",
  month =        sep,
  year =         "2008",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Aug 12 18:02:50 2008",
  URL =          "http://home.hefr.ch/bapst/cojac",
  acknowledgement = ack-nhfb,
  remark =       "The COJAC (Checking Overflows in JAva Code) tool
                 instruments a compiled {\tt .class} file, replacing
                 integer instructions subject to overflow with calls to
                 routines that report any overflow.",
}