Last update: Thu Nov 3 11:53:36 MDT 2022
Volume 1, Number 3, March, 1994Al Stevens Borland's New License . . . . . . . . . 2
Ray Valdés Software Patents: You Make the Choice 2 Bruce Schneier RSA Data Security Conference . . . . . . 3
Ray Valdés Component Object Wars Heat Up . . . . . 1 C. R. Oldham OS/2 Development Tools . . . . . . . . . 2 Ray Valdés Winners and Losers . . . . . . . . . . . 2
Jonathan Erickson Time for a Second Look . . . . . . . . . 2
Ray Valdés A Milestone on the Road to Chicago . . . 1 Ray Valdés What's Up at Kaleida . . . . . . . . . . 1, 4 Michael A. Floyd Borland International Conference . . . . 2--2 Michelle San Martin Source-Code Escrow for Intellectual Property Protection . . . . . . . . . . 2--2 Bruce Schneier Eurocrypt '94 . . . . . . . . . . . . . 3
Ray Valdés The Internet: Here Today . . . . . . . . 1 Peter D. Varhol Building Applications with Visual Tools 2 Ruth Koolish National Online Meeting '94 . . . . . . 3
Ray Valdés The Next Generation of IP: Small Step or Giant Leap . . . . . . . . . . . . . . . 1, 4 Jonathan Erickson Dialin' for High-Tech Dollars . . . . . 2--2 Bob Kaehms Stanford Computer Forum . . . . . . . . 3--3
Michael Swaine Artificial Intelligence: Out of Hybernation? . . . . . . . . . . . . . . 1 Brendan Kehoe Portability and Free Software . . . . . 2 Ruth Koolish SLA: Stepping Into the Electronic Library . . . . . . . . . . . . . . . . 2
Ray Valdés Latin America: A Boom Market Waiting to Happen? . . . . . . . . . . . . . . . . 1 Fran Smallson NAFTA's Intellectual Property Provisions 2 John Vlissides PLoP '94 . . . . . . . . . . . . . . . . 3
Ray Valdés Web Wars Widen . . . . . . . . . . . . . 1 Mark Betz A Quick Look at Borland's Delphi 95 . . 2 Bruce Schneier Computers and Communications Security 3
Ray Valdés Pentium Crosses the Great Divide . . . . 1, 4 Phil Hughes Freenets and Free Software . . . . . . . 2--3 William F. Jolitz Inside ``Intel Inside'' . . . . . . . . 3--4
Michael Swaine Apple Shines at MacWorld Expo . . . . . 1, 6 Scott Knowlton Motif Geometry Management . . . . . . . 2--2 Bruce Schneier A Pair of Cryptographic Conferences . . 3--3 William F. Jolitz and Lynne Greer Jolitz Internet Security Breach . . . . . . . . 3--4
Ray Valdés P6 Processor in the Pipeline . . . . . . 1, 4 Gregory Aharonian 1994 U.S. Software Patent Statistics . . 2--3 George Gurley Do Books Have a Future? . . . . . . . . 3--3
Ray Valdés Here's the Internet Where's the Money? 1, 3 Marc E. Brown Copyright Ruling Against Borland Overturned . . . . . . . . . . . . . . . 2--4
Ray Valdés App Frameworks in a Post-MFC World . . . 1, 4 Joe Stewart VRML and the World Wide Web . . . . . . 2--3 John Dorsey Ninth Computer Game Developer's Conference . . . . . . . . . . . . . . . 3--3
Robert Burcham Protocols for Internet Radio . . . . . . 1, 3, 4 Ray Valdés Startup: A Silicon Valley Adventure . . 2--3 Ray Valdés More on Internet Protocols . . . . . . . 4--4
Ray Valdés Net Gets a Java Buzz . . . . . . . . . . 1, 3--4, 6 Bruce Schneier Eurocrypt '95 . . . . . . . . . . . . . 2--2 Lynne Greer Jolitz POSIX.4 Programming . . . . . . . . . . 2--3
Ray Valdés A Surfeit of Servers . . . . . . . . . . 1, 3, 4, 6 Kevin Calvert ATASPI and the Standards Process . . . . 2--2 Frank E. Redmond, III MacHack '95 . . . . . . . . . . . . . . 2--3
Ray Valdés Of Milestones and Men . . . . . . . . . 1, 3, 6 Tim Parker C/C++ Environments for Workstation Development . . . . . . . . . . . . . . 2, 4 Michael A. Floyd Borland Developer's Conference . . . . . 2--3
Ray Valdés In Search of Best Practices . . . . . . 1, 3, 4, 6 Thomas W. Barlock and David S. Lindsay Performance Comparison: Sun SPARCstation 5 versus Intel Pentium 90 . . . . . . . 2--3
Ray Valdés The Perl of Wizdom . . . . . . . . . . . 1, 3, 6, 6 Kevin Culcasi and Nick Schwartzman Flash Memory: FTL versus ATA . . . . . . 2--2 Jonathan Erickson OOPSLA '95: Back in the Saddle Again . . 3--3
Michael S. Malone Beyond Semiconductors . . . . . . . . . 1, 3 Ken Rucker ColoradOS/2 Conference . . . . . . . . . 2, 3
Janna Custer Of Interest . . . . . . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 Rahner James Real-Time Animation . . . . . . . . . . 16--17, 19--20, 22, 24, 82, 84, 86, 88, 90, 92--93 Tom Nolan Real-Time Data Acquisition Using DMA . . 28, 30, 32, 34, 36--37, 94, 96 Martin Tracy ZEN for Embedded Systems . . . . . . . . 38, 40, 42, 44, 46, 98, 100--102, 104--106 Rohan T. Douglas Error message management . . . . . . . . 48, 51, 108 Robert B. Stout S-CODER for Data Encryption . . . . . . 52, 54, 56, 58, 110--111 Robert Zigon Parametric Circles . . . . . . . . . . . 60, 63 Scott Robert Ladd Examining Zortech C++ 2.0 . . . . . . . 64, 66, 69, 71, 73, 112, 114, 117, 119 Andrew Schulman Stalking General Protection Faults: Part I . . . . . . . . . . . . . . . . . . . 74--75, 77--81, 120, 122 Mark R. Nelson Location is Everything! . . . . . . . . 124--126, 128, 152--153 Michael Swaine Programming Paradigms . . . . . . . . . 129 Al Stevens C Programming . . . . . . . . . . . . . 132 Jeff Duntemann Structured Programming . . . . . . . . . 140
Janna Custer Of Interest . . . . . . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 Tim Paterson and Steve Flenniken Managing Multiple Data Segments Under Microsoft Windows: Part I . . . . . . . 16--26 Michael Stroyan Three-Dimensional Graphics Using the X Window System . . . . . . . . . . . . . 28--36 Bob Canup Pick-A-Number Interfaces . . . . . . . . 38--42 Andrew M. Liao Self-Adjusting Data Structures . . . . . 44--57 William J. McMahon Multiplexing Error Codes . . . . . . . . 60--65 Noel J. Bergman Review of C\_talk/Views from CNS . . . . 66--74 Andrew Schulman Stalking General Protection Faults: Part II . . . . . . . . . . . . . . . . . . . 76--86 Neil Margulis Programming RISC Engines . . . . . . . . 116--117, 128--132 Michael Swaine Programming Paradigms . . . . . . . . . 118 Al Stevens C Programming . . . . . . . . . . . . . 123 Jeff Duntemann Structured Programming . . . . . . . . . 134
Janna Custer Of Interest . . . . . . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 Michael Abrash Assembly Language Lives! . . . . . . . . 16--26, 94 Tim Paterson Assembly Language Tricks of the Trade 30--36 Stephen Satchell 68040 Programming . . . . . . . . . . . 38--44 Al Williams Homegrown Debugging --- 386 Style! . . . 46--57, 96--105 Tim Paterson and Steve Flenniken Managing Multiple Data Segments Under Microsoft Windows: Part II . . . . . . . 58--65, 106--108 Randall L. Hyde Object-Oriented Programming with Assembly Language . . . . . . . . . . . 66--73, 110--111 Andrew Schulman Inside Watcom C 7.0/386 (compiler) . . . 74--83, 115 Karl Wright and Rick Schell Mixed-Language Programming with ASM . . 84--88, 116--121 M. Swaine Programming Paradigms: Getting CLOS (Lisp extension) . . . . . . . . . . . . 122--125 Al Stevens C Programming: A thousand CURSES on TEXTSRCH (text retrieval) . . . . . . . 127--133, 144--149 Jeff Duntemann Structured Programming . . . . . . . . . 134
Janna Custer Of Interest . . . . . . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 Adam Blum Bidirectional Associative Memory Systems in C++ . . . . . . . . . . . . . . . . . 16--20, 24--26, 84--86, 88 Andrew J. Czuchry, Jr. A Neural Network Instantiation Environment . . . . . . . . . . . . . . 28--36, 93, 95--96, 98 Jeannette ``Jet'' Lawrence Untangling Neural Nets . . . . . . . . . 38--44 Rabindra P. Kar Implementing the Rhealstone Real-Time Benchmark . . . . . . . . . . . . . . . 46--55, 100--104 Glenn Searfoss Bounding Box Data Compression . . . . . 56--64, 108 Janna Custer DDJ Index for 1989 . . . . . . . . . . . 65A Alex Lane Cruising with TopSpeed (C compiler) . . 72--75, 109--113 Casimir C. ``Casey'' Klimasauskas Neural Networks and Image Processing . . 77--82, 114, 116 Michael Swaine Programming Paradigms . . . . . . . . . 119 A. Stevens C Programming: CSORT: a sage of a sort 127--133, 144, 146--147 Jeff Duntemann Structured Programming . . . . . . . . . 135 Bo Ericsson VESA VGA BIOS Extensions . . . . . . . . 6511--6570
Janna Custer Of Interest . . . . . . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 Frank Jackson Generation scavenging (garbage collection) . . . . . . . . . . . . . . 16--23, 26--28 Gary Syck Dynamic Link Libraries for DOS . . . . . 30--39, 104--106, 108--109 Andrew Schulman Compiler Supported DLLs for DOS . . . . 36 Walter Bright Getting a Handle on Virtual Memory . . . 40--46, 110 Jan Bottorff and Jim Bolland Object Swapping . . . . . . . . . . . . 48--56 Robert A. Moeser A Memory Controller . . . . . . . . . . 58--68, 111--113 Michael Abrash Demystifying 16-bit VGA . . . . . . . . 70--81 Kenneth E. Ayers Review of CX Multiprocessing Extension Kit . . . . . . . . . . . . . . . . . . 82 Kenneth E. Ayers Multiprocessing with Smalltalk/V . . . . 82--90, 114, 118--120 Stephen Fried Accessing Hardware from 80386 Protected Mode: Part I . . . . . . . . . . . . . . 92--98 Michael Swaine Programming Paradigms . . . . . . . . . 123 Al Stevens C Programming . . . . . . . . . . . . . 129 Jeff Duntemann Structured Programming . . . . . . . . . 141
Janna Custer Of Interest . . . . . . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 J. Scott Johnson The DDJ Hypertext Project . . . . . . . 16--18 Rick Gessner Building a Hypertext System . . . . . . 22--28, 31, 33, 86, 88, 90 Todd King A Self-Referential Hypertext Engine . . 34--38, 92--95 Leo Notenboom and Michael Vose Building an efficient help system (for a hypertext engine) . . . . . . . . . . . 40--44, 47--48 Kevin Weeks C++ File Objects . . . . . . . . . . . . 50--55, 96--98, 100--102, 106--112, 115 Norton T. Allen A Pixel Ordering Algorithm . . . . . . . 56--61, 116--117 Andrew Schulman Examining Instant-C . . . . . . . . . . 62--74, 120 Stephen S. Fried Accessing Hardware from 80386 Protected Mode: Part II . . . . . . . . . . . . . 78--84, 122--125 Shawn M. Regan LZW revisited (speeding up data compression) . . . . . . . . . . . . . . 126--127, 167 Michael Swaine Programming Paradigms . . . . . . . . . 129 Al Stevens C Programming . . . . . . . . . . . . . 135 Jeff Duntemann Structured Programming . . . . . . . . . 143
Janna Custer Of Interest . . . . . . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 Barr E. Bauer A Plus for Patents [letter] . . . . . . 8 Christopher A. Howard Super VGA Programming . . . . . . . . . 16--18, 22, 26, 28, 82, 84--88, 90--92 Tim Paterson Circles and the Digital Differential Analyzer . . . . . . . . . . . . . . . . 30, 32, 34--35, 96 Victor J. Duvanenko and W. E. Robbins and Ronald S. Gyurcsik Improving Line Segment Clipping . . . . 36, 38, 40, 42, 44--45, 98, 100 Todd King Drawing character shapes with Bézier curves . . . . . . . . . . . . . . . . . 46, 48, 50, 52, 102, 104 Adele Goldberg Information models, views, and controllers (software re-use) . . . . . 54, 56--59, 61, 106--107 Al Williams DOS + 386 = 4 gigabytes! . . . . . . . . 62, 64, 66, 68, 70--71, 110--112, 115 Bruce W. Tonkin The Power in PowerBasic . . . . . . . . 72, 74, 76--77, 80, 116--120 Michael Swaine Programming Paradigms . . . . . . . . . 123 Al Stevens C Programming . . . . . . . . . . . . . 131 Jeff Duntemann Structured Programming . . . . . . . . . 139
Janna Custer Of Interest . . . . . . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 William F. Dudley, Jr. Porting C Programs to 80386 Protected Mode . . . . . . . . . . . . . . . . . . 16 James Schimandle Encapsulating C Memory Allocation . . . 24 Wahhab Baldwin Awk as a C Code Generator . . . . . . . 36 Raymond G. Lauzzana and Denise E. M. Penrose Implementing Bicubic Splines . . . . . . 48 James Mischel Extending printf() . . . . . . . . . . . 60 Graham K. Ellis Parallel Extensions to C . . . . . . . . 70 Lawrence D. Spencer Debugging Memory Allocation Errors . . . 80 Scott Robert Ladd Optimizing with Microsoft C 6.0 . . . . 84 Bruce D. Schatzman Based Pointers for Optimization . . . . 85 Bruce Eckel Collections in Turbo C++ . . . . . . . . 94 Nico Mak Handling OS/2 Error Codes . . . . . . . 134 Michael Swaine Programming Paradigms . . . . . . . . . 137 Al Stevens C Programming . . . . . . . . . . . . . 149 Jeff Duntemann Structured Programming . . . . . . . . . 161
Janna Custer Of Interest . . . . . . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 Judy V. Auping and J. C. Johnston Making the Move to Modula-2 . . . . . . 16 John L. Bradberry Porting FORTRAN Programs from Minis to PCs . . . . . . . . . . . . . . . . . . 26--36 Scott Robert Ladd Persistent Objects in Turbo PASCAL . . . 36 Leon Campise Fast Search . . . . . . . . . . . . . . 42 William E. Ives A Generic One-Pass Assembler . . . . . . 50 Gary Entsminger Inside Object Professional . . . . . . . 62 Brian R. Anderson Kermit for OS/2: Part I . . . . . . . . 70 Michael Swaine Programming Paradigms . . . . . . . . . 119 Al Stevens C Programming . . . . . . . . . . . . . 127 Jeff Duntemann Structured Programming . . . . . . . . . 137 Daniel Lyke Ray Tracing . . . . . . . . . . . . . . 152
Janna Custer Of Interest . . . . . . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 Al Williams Roll your own DOS extender: Part I . . . 16--18, 20, 24 Andrew Schulman Opening OS/2's backdoor . . . . . . . . 28, 30, 32, 34, 36, 38 Arthur Rothstein Walking the OS/2 Device Chain . . . . . 30 John Switzer Closing DOS's backdoor . . . . . . . . . 42, 44, 47--48 Jeff Reagen RAM disk driver for Unix . . . . . . . . 50, 52, 54--55, 57 Victor J. Duvanenko and Ronald S. Gyurcsik and W. E. Robbins Optimal determination of object extents 58, 60 Bruce D. Schatzman Unraveling Optimization in Microsoft C 6.0 . . . . . . . . . . . . . . . . . . 62 Brian R. Anderson Kermit for OS/2: Part II . . . . . . . . 72 Michael Swaine Programming Paradigms . . . . . . . . . 123 Al Stevens C Programming . . . . . . . . . . . . . 131 Jeff Duntemann Structured Programming . . . . . . . . . 139 Pitts Jarvis Implementing Cordic Algorithms . . . . . 152--154, 56
Janna Custer Of Interest . . . . . . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 Michael A. Floyd Roll your own object-oriented language 16--18, 102--104 Edwin T. Floyd An existential dictionary . . . . . . . 20, 22, 24, 28, 30, 32, 110--112 Simon Tooke Object-oriented debugging . . . . . . . 36, 38, 40, 42, 114--115 William D. Cramer CTrace: a message logging class . . . . 44, 46, 48, 52, 55, 116, 118, 120 The League for Programming Freedom Software Patents . . . . . . . . . . . . 56 M. Minsky and J. McCarthy and R. S. Boyer and R. Stallman and S. Garfinkel Software patents . . . . . . . . . . . . 56, 58, 62, 65--67, 70--73 Al Williams Roll Your Own DOS Extender: Part II . . 74, 76, 80, 81--83, 85, 122--128, 130 Marty Franz Programmer tools for Actor 3.0 . . . . . 86, 88--90, 132, 134--135 Walter Knowles Windows 3.0 application development . . 92, 94, 96, 99, 100, 136, 138--139 Michael Swaine Programming Paradigms . . . . . . . . . 141 Al Stevens C Programming . . . . . . . . . . . . . 149 Jeff Duntemann Structured Programming . . . . . . . . . 155 Kenneth E. Ayers The MVC Paradigm in Smalltalk/V . . . . 168, 170, 172--174, 175
Janna Custer Of Interest . . . . . . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 Barr E. Bauer Controlling background processes under Unix . . . . . . . . . . . . . . . . . . 16--18, 20, 82--84, 86--88, 90 Kenneth L. Crocker and Michael T. Thompson Designing an OSI test bed . . . . . . . 24, 28, 30, 32, 34--36 92--93 Don Gaspar The Macintosh communications toolbox . . 38, 40--41, 44, 94--96, 98--99 Liu Hsi-Chiu Algebraic Codes for Error Detection and Correction . . . . . . . . . . . . . . . 46 Hsi-Chiu Liu Algebraic codes for error detection and correction . . . . . . . . . . . . . . . 46, 48, 50--51 Walter Williams Supercharging sequential searches . . . 54, 56, 58--60, 62, 100 Gary Entsminger Examining the Zinc Interface Library . . 64, 66, 68, 70--71, 101--102 Chris Oblsen A Database System for Automating E-Mail 72 Chris Ohlsen A database system for automating E-mail 72, 74, 77--80, 104, 106--108, 110 Michael Swaine Programming Paradigms . . . . . . . . . 113 Al Stevens C Programming . . . . . . . . . . . . . 121 Jeff Duntemann Structured Programming . . . . . . . . . 131
Janna Custer Of Interest . . . . . . . . . . . . . . ?? William Frederick Jolitz and Lynne Greer Jolitz Porting UNIX to the 386: A Practical Approach . . . . . . . . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Tami Zemel Of Interest . . . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 William Frederick Jolitz and Lynne Greer Jolitz Porting UNIX to the 386: a practical approach (designing the software specification) . . . . . . . . . . . . . 16--18, 20, 22--24, 28, 30, 32, 34, 36, 38--40, 42, 46 Rob Pike and Dave Presotto and Ken Thompson and Howard Trickey Designing Plan 9 (distributed computing environment) . . . . . . . . . . . . . . 49--50, 52, 54, 56--60 Mitchell Kapor A software design manifesto . . . . . . 62, 64--67 Robert T. Nicholson Designing a portable GUI toolkit (five principles can unravel knotty design problems) . . . . . . . . . . . . . . . 68, 70--72, 74--75, 117 Simson L. Garfinkel Designing a write-once file system (a general-purpose optical storage software technology) . . . . . . . . . . . . . . 78, 80, 82--86 Edward Allburn Graph decomposition. Imposing order on chaos . . . . . . . . . . . . . . . . . 88, 90--92, 94--96, 118--120, 122, 124
Jonathan Erickson Baby Don't You Drive My Car in ``The Changing Landscape of Software Development'' . . . . . . . . . . . . . 96S--? Michael A. Floyd The Evolution of Component-Based Programming in ``The Changing Landscape of Software Development'' . . . . . . . 96S
Michael Swaine Fire in the Valley Revisited . . . . . . 96J Ray Valdés Fanning the Flames in ``The Changing Landscape of Software Development'' . . 96R Jim Warren We The People In The Information Age . . 96D Scott Richman Examining the Hamilton C shell (Unix power for OS/2) . . . . . . . . . . . . 98, 100, 102, 104--106 Michael Hagerty Making a CASE for software design . . . 108, 110--112, 114 B. Myers WINTHERE (does your program know when Windows is running?) . . . . . . . . . . 116--117 Michael Swaine Programming Paradigms . . . . . . . . . 126 Al Stevens C Programming . . . . . . . . . . . . . 134 Jeff Duntemann Structured Programming . . . . . . . . . 140
Janna Custer Of Interest . . . . . . . . . . . . . . ?? William Frederick Jolitz and Lynne Greer Jolitz Porting UNIX to the 386: A Practical Approach . . . . . . . . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Tami Zemel Of Interest . . . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 Mark R. Nelson Arithmetic coding and statistical modeling . . . . . . . . . . . . . . . . 16--18, 20, 22, 24, 26, 29, 104, 106--108 Kas Thomas Entropy: the key to data compression . . 32, 34, 110 John Bridges Differential image compression . . . . . 38, 40--42, 44, 46, 48, 51 Anonymous The DDJ Data Compression Contest . . . . 52 William Frederick Jolitz and Lynne Greer Jolitz Porting UNIX to the 386: three initial PC utilities . . . . . . . . . . . . . . 54, 56, 58--61, 111--112, 114--115 Dan Troy Remote connectivity for portable terminals. Part I . . . . . . . . . . . 66, 68, 70, 73--75 Ray Duncan Looking Into the Future of Microprocessors . . . . . . . . . . . . 76 Robert D. Grappel Optimizing integer division by a constant divisor . . . . . . . . . . . . 80, 82--84 James Conger Screen capturing for Windows 3.0 . . . . 85--87 Todd King YACC for Expert Systems . . . . . . . . 88 Todd Lainhart Intrinsics of the X Toolkit . . . . . . 94 Michael Swaine Programming Paradigms . . . . . . . . . 131 Al Stevens C Programming . . . . . . . . . . . . . 135 Jeff Duntemann Structured Programming . . . . . . . . . 145 Michael Abrash Graphics Programming . . . . . . . . . . 153
Janna Custer Of Interest . . . . . . . . . . . . . . ?? William Frederick Jolitz and Lynne Greer Jolitz Porting UNIX to the 386: A Practical Approach . . . . . . . . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Tami Zemel Of Interest . . . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 Michael Abrash 80*86 optimization . . . . . . . . . . . 16--18, 20, 22, 24, 26, 73 Ken Skier Assembly language macros . . . . . . . . 28, 30, 32, 34, 74--75 William Frederick Jolitz and Lynne Greer Jolitz Porting Unix to the 386: the standalone system . . . . . . . . . . . . . . . . . 38, 40, 42, 44, 47--48, 50, 76--82 Bruce W. Tonkin Speedy buffering . . . . . . . . . . . . 52--53 Al Stevens The Mewel Window System . . . . . . . . 54, 56--57, 59--63, 83--84, 86, 88 Mike Klein Networking with Windows 3.0 . . . . . . 64--66, 68, 90, 92, 94--98 Dan Troy Remote connectivity for portable terminals. Part II. Developing the VT100 terminal emulation application . . . . . 70--71, 148--149 Michael Swaine Programming Paradigms . . . . . . . . . 103 Al Stevens C Programming . . . . . . . . . . . . . 109 Jeff Duntemann Structured Programming . . . . . . . . . 119 Michael Abrash Graphics Programming . . . . . . . . . . 129
Janna Custer Of Interest . . . . . . . . . . . . . . ?? William Frederick Jolitz and Lynne Greer Jolitz Porting UNIX to the 386: A Practical Approach . . . . . . . . . . . . . . . . ?? Al Stevens `D-Flat' in CP . . . . . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Tami Zemel Of Interest . . . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 Casimir C. ``Casey'' Klimasauskas Neural Nets Tell Why . . . . . . . . . . 16, 18, 20, 22, 24, 78, 80, 82--84 Michael Morrow Genetic algorithms . . . . . . . . . . . 26, 28, 30, 32, 86, 88--89 William Frederick Jolitz and Lynne Greer Jolitz Porting UNIX to the 386: Language tools cross support . . . . . . . . . . . . . 34, 36--38, 42, 44--45, 90 Ray Valdés What is BioComputing? . . . . . . . . . 46, 108--109 Don Morgan Understanding the GPIB (general purpose instrumentation bus) . . . . . . . . . . 48, 50, 52--53, 92 Marc Tarpenning Cooperative multitasking in C++ . . . . 54, 56, 58--59, 96, 98--99 Bruce D. Schatzman Examining the Microsoft Mail SDK . . . . 60, 62, 64, 66--67, 100 Dick Oliver Fractals in the real world . . . . . . . 68, 71--72, 74--75, 101--107 Michael Swaine Programming Paradigms . . . . . . . . . 111 Al Stevens C Programming . . . . . . . . . . . . . 117 Jeff Duntemann Structured Programming . . . . . . . . . 125 Michael Abrash Graphics Programming . . . . . . . . . . 133
Janna Custer Of Interest . . . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? William Frederick Jolitz and Lynne Greer Jolitz Porting UNIX to the 386: A Practical Approach . . . . . . . . . . . . . . . . ?? Al Stevens `D-Flat' in CP . . . . . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Tami Zemel Of Interest . . . . . . . . . . . . . . ?? Warren Davis and Kan Yabumoto A coprocessor for a coprocessor? . . . . 16--28, 84--88 James Bittman Adding the Power of DSP to Your Applications . . . . . . . . . . . . . . 30, 32, 34, 90--96 John H. Letcher Getting numeric coprocessors up to speed 36, 38, 40, 42 William Frederick Jolitz and Lynne Greer Jolitz Porting UNIX to the 386. The initial root filesystem . . . . . . . . . . . . 46, 48, 50, 52--54 Don Morgan Implementing the GPIB . . . . . . . . . 56, 58--60, 96 Kenneth E. Ayers Making Smalltalk with Widgets . . . . . 64, 66, 68--70, 98, 100--102 Glenn Pearson Array bounds checking with Turbo C . . . 72, 74, 78--79, 81--82, 104--107 Michael Swaine Programming Paradigms . . . . . . . . . 109 Al Stevens C Programming . . . . . . . . . . . . . 115 Jeff Duntemann Structured Programming . . . . . . . . . 123 Michael Abrash Graphics Programming . . . . . . . . . . 131 William L. Maier A fast pseudo random number generator 152, 154--157
Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? William Frederick Jolitz and Lynne Greer Jolitz Porting UNIX to the 386: A Practical Approach . . . . . . . . . . . . . . . . ?? Al Stevens `D-Flat' in CP . . . . . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Tami Zemel Of Interest . . . . . . . . . . . . . . ?? John L. Bradberry Fortran and GUIs . . . . . . . . . . . . 16--18, 20, 22, 25, 101--102 Kenneth Roach Using the real-time clock . . . . . . . 26, 28, 30, 32, 88, 90--92 Dale Thorn Fast sorting using large string buffers 34, 36, 38, 94--97 K. N. King What's new with Modula-2? . . . . . . . 42, 44, 46, 48--49 William Frederick Jolitz and Lynne Greer Jolitz Porting UNIX to the 386 research and the commercial sector . . . . . . . . . . . 50, 52, 54 William O. Gallmeister Reconciling UNIX, Ada, and real-time processing . . . . . . . . . . . . . . . 56, 58, 60, 62, 64 Jack J. Woehr A medium-heavyweight Forth multitasker 66, 68, 71, 73, 98, 100 R. Bradley Andrews Taking up residence with Coderunner . . 74, 78, 104 Lars Frid-Nielsen and Alex Lane Celestial Programming with Turbo Pascal 80 L. Frid-Nielsen and A. Lane Celestial programming with Turbo Pascal (CCD sensor) . . . . . . . . . . . . . . 80, 82--84, 106--112 Victor J. Duvanenko Efficiently raising matrices to an integer power . . . . . . . . . . . . . 86--87, 157 Michael Swaine Programming Paradigms . . . . . . . . . 115 Al Stevens C Programming . . . . . . . . . . . . . 123 Jeff Duntemann Structured Programming . . . . . . . . . 131 Michael Abrash Graphics Programming . . . . . . . . . . 139
Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? William Frederick Jolitz and Lynne Greer Jolitz Porting UNIX to the 386: A Practical Approach . . . . . . . . . . . . . . . . ?? Al Stevens `D-Flat' in CP . . . . . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Tami Zemel Of Interest . . . . . . . . . . . . . . ?? Steven Janke Recursive images . . . . . . . . . . . . 16--18, 20, 22, 74, 76--78 Ben Myers Saving and restoring VGA screens . . . . 24, 26, 28, 30, 79--82 William Frederick Jolitz and Lynne Greer Jolitz Porting UNIX to the 386: A Stripped-Down Kernel . . . . . . . . . . . . . . . . . 32, 34--36, 38, 40, 84--88, 88, 90 Don Morgan A COFF file loader for the 34010 . . . . 42, 44, 46, 93--95 Mike Schmit MASM's changing face . . . . . . . . . . 50, 52, 54--56, 58, 60, 96 Paul Chui A C++ PCX file viewer for Windows 3 . . 62, 64, 66, 69, 71, 73, 97--102 Michael Swaine Programming Paradigms . . . . . . . . . 105 Al Stevens C Programming . . . . . . . . . . . . . 113 Jeff Duntemann Structured Programming . . . . . . . . . 123 Michael Abrash Graphics Programming . . . . . . . . . . 133
William Frederick Jolitz and Lynne Greer Jolitz Porting UNIX to the 386: A Practical Approach . . . . . . . . . . . . . . . . ?? Al Stevens `D-Flat' in CP . . . . . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Tami Zemel Of Interest . . . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 Rex Jaeschke Standard C: A Status Report . . . . . . 16--18, 20, 22, 24, 26 Karl Vogel A source code generator for C . . . . . 28, 30, 32, 34--35, 102--104, 106--108, 111 Daniel N. Ozick A Lisp-style library for C . . . . . . . 36, 38, 40--42, 44, 46, 48, 112--114, 116, 118--126 Andrew Davidson Generic Container Classes in C++ . . . . 50, 52, 124--125 William Frederick Jolitz and Lynne Greer Jolitz Porting UNIX to the 386: the basic kernel . . . . . . . . . . . . . . . . . 54, 56--60, 64--65, 126 Truman T. Van Sickle C Programming for the 68HC05 Microcontroller . . . . . . . . . . . . 66, 68, 70, 74, 128, 132, 134 Don Morgan Decimal fractional conversion . . . . . 76, 78 Steve Summit C Language Q and A . . . . . . . . . . . 78, 93, 111, 140, 172 David Betz Testing C compiler performance . . . . . 80, 82, 84, 87--88, 90, 93 Greg Pickles Scaling and printing faxes faster . . . 94, 97--98, 100--101, 136, 138, 140 Michael Swaine Programming Paradigms . . . . . . . . . 143 Al Stevens C Programming . . . . . . . . . . . . . 149 Jeff Duntemann Structured Programming . . . . . . . . . 157 Michael Abrash Graphics Programming . . . . . . . . . . 165
Michael Abrash Graphics Programming . . . . . . . . . . ?? Jeff Duntemann Structured Programming . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? William Frederick Jolitz and Lynne Greer Jolitz Porting UNIX to the 386: A Practical Approach . . . . . . . . . . . . . . . . ?? Al Stevens C Programming . . . . . . . . . . . . . ?? Al Stevens `D-Flat' in CP . . . . . . . . . . . . . ?? Michael Swaine Programming Paradigms . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Tami Zemel Of Interest . . . . . . . . . . . . . . ?? Ray Valdés Little languages, big questions . . . . 16--18, 20, 22, 25 David Betz Your own tiny object-oriented language 26, 28, 30, 32--33, 86, 88--89 Neville Franks Adding an extension language to your software . . . . . . . . . . . . . . . . 34, 36, 38, 40, 42--43 W. F. Jolitz and L. G. Jolitz Porting UNIX to the 386. The basic kernel Multiprogramming and multitasking. I . . . . . . . . . . . . 44, 46, 48, 50, 52, 54, 56 Thomas Siering OBJ library management . . . . . . . . . 58, 60--62, 90--92, 94 David McCracken Software partitioning for multitasking communication . . . . . . . . . . . . . 64, 66, 68, 70, 72, 74--75, 96 Steve Summit C Language Q and A . . . . . . . . . . . 75, 101, 141, 147, 151 Peter D. Varhol ML and colored Petri nets for modeling and simulation . . . . . . . . . . . . . 76--77, 79, 81 James Rodriguez A BRIEF macro package for editing binary files . . . . . . . . . . . . . . . . . 82, 84--85, 98--101 Bruce Schneier One-way hash functions . . . . . . . . . 148--151
Michael Abrash Graphics Programming . . . . . . . . . . ?? Jeff Duntemann Structured Programming . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? William Frederick Jolitz and Lynne Greer Jolitz Porting UNIX to the 386: A Practical Approach . . . . . . . . . . . . . . . . ?? Al Stevens C Programming . . . . . . . . . . . . . ?? Al Stevens `D-Flat' in CP . . . . . . . . . . . . . ?? Michael Swaine Programming Paradigms . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Tami Zemel Of Interest . . . . . . . . . . . . . . ?? William M. Miller A minimal object-oriented debugger for C++ . . . . . . . . . . . . . . . . . . 16--18, 20, 23, 110, 112 Steve Teale Proposing a C++ String Class standard 24, 26, 28, 30, 34, 114 Richard Harter Object-oriented software configuration management . . . . . . . . . . . . . . . 36, 38, 40, 42, 44, 46 Michael A. Floyd The Object d'Art . . . . . . . . . . . . 52 W. F. Jolitz and L. G. Jolitz Porting UNIX to the 386. The basic kernel Multiprogramming and multitasking. II . . . . . . . . . . . . 62, 64, 66, 68, 70, 72, 118--120 Herbert Gintis Xalloc (an expanded memory manage for Turbo Pascal) . . . . . . . . . . . . . 74, 121--122 Stuart G. Phillips and Kevin J. Rowett C++ for embedded systems . . . . . . . . 76, 78, 80, 83--85, 124 John Duimovich and Mike Milinkovich Smalltalk and embedded systems . . . . . 86, 88, 90--95 Jack J. Woehr Forth: A Status Report . . . . . . . . . 96--97 Steve Hatchett Enhancing the Actor development environment . . . . . . . . . . . . . . 100--102, 125--128 Steve Summit C Language Q and A . . . . . . . . . . . 102, 114, 158, 164, 172 John Norwood Mixed-language Windows programming . . . 104--108, 130
Michael Abrash Graphics Programming . . . . . . . . . . ?? Jeff Duntemann Structured Programming . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? William Frederick Jolitz and Lynne Greer Jolitz Porting UNIX to the 386: A Practical Approach . . . . . . . . . . . . . . . . ?? Al Stevens C Programming . . . . . . . . . . . . . ?? Al Stevens `D-Flat' in CP . . . . . . . . . . . . . ?? Michael Swaine Programming Paradigms . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Tami Zemel Of Interest . . . . . . . . . . . . . . ?? Ray Valdés A Technical Overview of PenPoint in PPD 16 Jim Kyle Loading device drivers from the DOS command line . . . . . . . . . . . . . . 30--34, 39--42, 90--98 W. F. Jolitz and L. G. Jolitz Porting UNIX to the 386. The basic kernel (device autoconfiguration) . . . 46, 48, 50, 52, 54, 56--58, 60 Mark R. Nelson DDJ Data Compression Contest Results . . 62 David N. Glass Porting UNIX applications to DOS . . . . 68, 70--72, 76, 78, 80 V. James Krammes Monitoring Distributed Printers Under Novell NetWare . . . . . . . . . . . . . 82, 84--86, 100, 102 Steve Summit C Language Q and A . . . . . . . . . . . 86
Michael Abrash Graphics Programming . . . . . . . . . . ?? Jeff Duntemann Structured Programming . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . ??
Michael A. Floyd Editorial . . . . . . . . . . . . . . . ??
Al Stevens C Programming . . . . . . . . . . . . . ?? Al Stevens `D-Flat' in CP . . . . . . . . . . . . . ?? Michael Swaine Programming Paradigms . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Tami Zemel Of Interest . . . . . . . . . . . . . . ??
Michael A. Floyd What? Me Worry About Windows Programming? . . . . . . . . . . . . . . 4 Nancy Nicolaisen Quick approximations of polygonal areas using BitBlt . . . . . . . . . . . . . . 7--16
Don Hopkins The design and implementation of pie menus . . . . . . . . . . . . . . . . . 16--26, 94
Mike Klein Subclassing applications (Windows 3) . . 19--27 Scott Robert Ladd Windows meets C++ . . . . . . . . . . . 29--36
James Rhyne and Doris Chow and Michael Sacks Enhancing the X-Window System . . . . . 30 James Rhyne and Doris Chow and Michael Sacks Enhancing the X Window System . . . . . 30--38
Michael A. Bertrand and William R. Welch Programming Windows using state tables 39--46
Eng-Kee Kwang and Christopher Rosebrugh Linking user interface and database objects . . . . . . . . . . . . . . . . 44--52
Mike Klein PropView: a Windows family browser . . . 47--59
Jeff Reagen FS: A File Status Utility for UNIX . . . 56--62, 96--98 David Betz A simple handle-based memory management 64--66, 151 Fred Motteler Statistical performance analysis . . . . 68--73, 76, 100--104 Al Stevens Visible results with Visual Basic (Windows tool) . . . . . . . . . . . . . 78--87 Marian G. Williams and Peter D. Varhol Graphical Data Visualization . . . . . . 88 Marian G. Williams and Peter D. Varhol Graphical data visualization . . . . . . 88--90, 93 Roland Alden and Tony Hoeber The PenPoint UI . . . . . . . . . . . . 108--109
Ray Valdés Editorial . . . . . . . . . . . . . . . ?? Al Stevens Interview with Bjarne Stroustrup . . . . 7
Michael Abrash `X-Sharp': 3-D real-time animation in GP ?? Jeff Duntemann Structured Programming . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? Al Stevens C Programming . . . . . . . . . . . . . ?? Al Stevens `D-Flat' in CP . . . . . . . . . . . . . ?? Michael Swaine Programming Paradigms . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Tami Zemel Of Interest . . . . . . . . . . . . . . ?? Daniel Chen Parallel DSP for designing adaptive filters . . . . . . . . . . . . . . . . 16--18, 20, 22, 74--77 Steve Johnson and M. Wiebel The Five Levels of RAID . . . . . . . . 24 M. Wiebel and S. Johnson The five levels of RAID (discrete event simulation) . . . . . . . . . . . . . . 24, 26, 28, 30, 78--80 Jack J. Woehr Writable instruction set computers . . . 32, 89--92 David L. Moore Programming the 29050 (RISC programming) 34, 36, 38, 40, 42 Ted Johnson and Dennis Shasha Reexamining B-trees . . . . . . . . . . 44, 46--47 Christopher Rosebrugh and Eng-Kee Kwang Multiple Microcontrollers In an Embedded System: A case study in system architecture and embedded hardware design . . . . . . . . . . . . . . . . . 48, 50, 52, 54, 56--57 Al Williams Your Own Disk Duplication Program [ER review] . . . . . . . . . . . . . . . . 58, 60, 62, 82, 84, 86--88 Geoff Chappell Untangling SMARTDrive (disk caching) . . 64, 66, 68, 71--72, 90--92 Steve Summit C Language Q and A . . . . . . . . . . . 130
Michael Abrash `X-Sharp': 3-D real-time animation in GP ?? Jeff Duntemann Structured Programming . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? William Frederick Jolitz and Lynne Greer Jolitz Porting UNIX to the 386: A Practical Approach . . . . . . . . . . . . . . . . ?? Al Stevens C Programming . . . . . . . . . . . . . ?? Al Stevens `D-Flat' in CP . . . . . . . . . . . . . ?? Michael Swaine Programming Paradigms . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Tami Zemel Of Interest . . . . . . . . . . . . . . ?? Walter Oney Using DPMI to Hook interrupts in Windows 3 . . . . . . . . . . . . . . . . . . . 16--18, 20, 22--23, 78, 80 Kerry Loynd Mixing real- and protected-mode code . . 24, 26, 28, 82, 84, 86, 88, 90 W. F. Jolitz and L. Greer Jolitz Porting UNIX to the 386 device drivers 30, 32--33, 93 Bruce Schneier Pseudo-random sequence generator for 32-bit CPUs . . . . . . . . . . . . . . 34, 37--38, 40 Tovey Barron Protected-mode debugging using in-circuit emulators . . . . . . . . . . 46, 48, 50, 52--53, 55--56, 58 Al Williams Programming with Phar Lap's 286 mod DOS-extender . . . . . . . . . . . . . . 60, 62, 64, 66, 68, 94, 96, 98--100 Paul Chui Undocumented DOS from protected-mode Windows 3 . . . . . . . . . . . . . . . 70, 72--74, 76, 102--103 Steve Summit C Language Q and A . . . . . . . . . . . 80
Michael Abrash Graphics Programming . . . . . . . . . . ?? Michael Abrash `X-Sharp': 3-D real-time animation in GP ?? Jeff Duntemann Structured Programming . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? William Frederick Jolitz and Lynne Greer Jolitz Porting UNIX to the 386: A Practical Approach . . . . . . . . . . . . . . . . ?? Al Stevens C Programming . . . . . . . . . . . . . ?? Al Stevens `D-Flat' in CP . . . . . . . . . . . . . ?? Michael Swaine Programming Paradigms . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Tami Zemel Of Interest . . . . . . . . . . . . . . ?? Randall L. Hyde The UCR standard ASM library . . . . . . 16--18, 20, 22, 80, 82 Donald J. McSwain An object-oriented assembly language macro library . . . . . . . . . . . . . 24, 26, 30, 32, 34, 84--87 Nicholas Wilt Assembly language programming for the 80*87 . . . . . . . . . . . . . . . . . 36, 38, 40, 42, 88 W. F. Jolitz and L. G. Jolitz Porting UNIX to the 386: device drivers 44, 46, 48, 50, 90--91 Rick Knoblaugh Device driver monitoring . . . . . . . . 52, 54, 57 Robert Lowell The Am29000 as an embedded controller (for laser printers) . . . . . . . . . . 58, 60--62, 64 Al Stevens The Lotus Open Message Interface . . . . 66, 68--71 Gordon Free Programming with communication protocol stacks . . . . . . . . . . . . . . . . . 72, 74--75, 77--78, 92, 94, 96 Michael J. Young Printing from Windows 3 . . . . . . . . 140, 142, 144, 146
Michael Abrash Graphics Programming . . . . . . . . . . ?? Michael Abrash `X-Sharp': 3-D real-time animation in GP ?? Jeff Duntemann Structured Programming . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? William Frederick Jolitz and Lynne Greer Jolitz Porting UNIX to the 386: A Practical Approach . . . . . . . . . . . . . . . . ?? Al Stevens C Programming . . . . . . . . . . . . . ?? Al Stevens `D-Flat' in CP . . . . . . . . . . . . . ?? Michael Swaine Programming Paradigms . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Tami Zemel Of Interest . . . . . . . . . . . . . . ?? Mac A. Cody The fast wavelet transform . . . . . . . 16--18, 20, 24, 26, 28, 100--101 Ron Avitzur Your own handprinting recognition engine 32, 34, 36--37, 103 Bruce Schneier Red-black trees . . . . . . . . . . . . 42, 44--46 Steve Summit C Language Q and A . . . . . . . . . . . 46, 103, 106, 154 Anton Kruger Block truncation compression . . . . . . 48, 50, 53--55, 104, 106 Ray Valdés Finding string distances . . . . . . . . 56, 58, 61--62, 107 W. F. Jolitz and L. G. Jolitz Porting UNIX to the 386: device drivers 64--67, 108--109 Richard Kryszak Multiuser DOS for Control Systems. Part I . . . . . . . . . . . . . . . . . . . 70, 73--74, 76, 78--79, 100--111 Raymond J. Schneider Windows programming with Basic . . . . . 80, 82, 84--85, 112 Roman E. Maeder The design of the Mathematica programming language: a single paradigm provides surprising diversity. (Tutorial) . . . . . . . . . . . . . . . 86--88, 90, 92, 94, 97
Michael Abrash Graphics Programming . . . . . . . . . . ?? Jeff Duntemann Structured Programming . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? William Frederick Jolitz and Lynne Greer Jolitz Porting UNIX to the 386: A Practical Approach . . . . . . . . . . . . . . . . ?? Al Stevens C Programming . . . . . . . . . . . . . ?? Al Stevens `D-Flat' in CP . . . . . . . . . . . . . ?? Michael Swaine Programming Paradigms . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Tami Zemel Of Interest . . . . . . . . . . . . . . ?? Bruce Schneier Untangling public-key cryptography: the key to secure communications . . . . . . 16, 17, 20, 22, 24, 26, 28 John Kodis Fletcher's checksum error correction at a fraction of the cost . . . . . . . . . 32, 34, 36, 38 Mike Sax The Windows communications API: porting your programs from DOS to Windows . . . 40, 42, 44, 86 Rahner James IPX the great communicator: speeding up a Novell network with a streams interface . . . . . . . . . . . . . . . 46, 48, 50, 52, 87--88 William Frederick Jolitz and Lynne Greer Jolitz Porting Unix to the 386 missing pieces. I. Completing the 386BSD kernel . . . . 54, 56, 59--60, 62, 91 Mark R. Nelson File verification using CRC 32-bit cyclical redundancy check . . . . . . . 64--67, 92, 94 Richard Kryszak Multiuser DOS for control systems. Part II. Building an application . . . . . . 70, 72, 75, 95--96, 98 Charles Albert Mirho Bridging the gap with resident/sub -/C improving text exchanges between DOS and Windows applications . . . . . . . . . . 76, 79, 100, 102, 104 Moshe Lichtman Visual Basic and Windows 3.1 Extensions 80, 82, 84--85, 106 Steve Summit C Language Q and A . . . . . . . . . . . 147
Michael Abrash Graphics Programming . . . . . . . . . . ?? Jeff Duntemann Structured Programming . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? William Frederick Jolitz and Lynne Greer Jolitz Porting UNIX to the 386: A Practical Approach . . . . . . . . . . . . . . . . ?? Al Stevens C Programming . . . . . . . . . . . . . ?? Al Stevens `D-Flat' in CP . . . . . . . . . . . . . ?? Al Stevens `D-Flat++': C++ re-implementation of `D-Flat' in CP . . . . . . . . . . . . . ?? Michael Swaine Programming Paradigms . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Tami Zemel Of Interest . . . . . . . . . . . . . . ?? Ian Hirschsohn Personal supercomputing . . . . . . . . 16--18, 20, 22, 24, 26--27 Roy E. Kimbrell Finding significance in noisy data . . . 30, 32, 37--38, 40--42, 90 Bruce (Bear) Giles Contouring data fields . . . . . . . . . 44, 46, 91, 93--95 Jack J. Woehr Sculpting on Silicon: An Interview with Chuck Moore . . . . . . . . . . . . . . 48 W. F. Jolitz and L. G. Jolitz Porting Unix to the 386 missing pieces. II . . . . . . . . . . . . . . . . . . . 56, 58--60, 62, 96, 101--104 Mitchell Kahn Programming the I2C Interface . . . . . 64 Barr E. Bauer Accessing Large Arrays with X-arRAY . . 74 Harold R. Justice FORTREX: A Fortran Runtime Executive . . 82 Steve Summit C Language Q and A . . . . . . . . . . . 95, 164 P. D. Varhol Design for visualization . . . . . . . . 158, 160, 162, 164
Michael Abrash Graphics Programming . . . . . . . . . . ?? Michael Abrash `X-Sharp': 3-D real-time animation in GP ?? Jeff Duntemann Structured Programming . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? William Frederick Jolitz and Lynne Greer Jolitz Porting UNIX to the 386: A Practical Approach . . . . . . . . . . . . . . . . ?? Al Stevens C Programming . . . . . . . . . . . . . ?? Al Stevens `D-Flat' in CP . . . . . . . . . . . . . ?? Al Stevens `D-Flat++': C++ re-implementation of `D-Flat' in CP . . . . . . . . . . . . . ?? Michael Swaine Programming Paradigms . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Tami Zemel Of Interest . . . . . . . . . . . . . . ?? James L. Green Capturing digital video using DVI . . . 16--18, 20, 22, 24, 90, 92--95 William Fulco The QuickTime/AVK connection . . . . . . 28, 30 John W. Ratcliff Audio compression . . . . . . . . . . . 32, 37--39, 96, 98--100 Ian Hirschsohn Personal Supercomputing: Seamless Portability . . . . . . . . . . . . . . 40, 42--44, 46, 48 W. F. Jolitz and L. G. Jolitz Porting UNIX to the 386: the final step 50, 52, 54, 56 Steve Summit C Language Q and A . . . . . . . . . . . 56, 80, 100, 152 Ray Valdés The Dr. Dobb's Handprinting Recognition Contest . . . . . . . . . . . . . . . . 60 Debra Cohen The i860 As A Graphics Controller . . . 64, 66, 68, 70, 72--73 Aaron E. Walsh Programming QuickTime . . . . . . . . . 76, 78--80, 102, 104--105 Evangelo Prodromou Graphics import filters for Windows applications . . . . . . . . . . . . . . 82, 84, 86--88, 108, 110 Michael Abrash \em Graphics Gems, by Andrew Glassner [some notes on] . . . . . . . . . . . . 137
Michael Abrash Graphics Programming . . . . . . . . . . ?? Michael Abrash `X-Sharp': 3-D real-time animation in GP ?? Jeff Duntemann Structured Programming . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? Al Stevens C Programming . . . . . . . . . . . . . ?? Al Stevens `D-Flat' in CP . . . . . . . . . . . . . ?? Michael Swaine Programming Paradigms . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Tami Zemel Of Interest . . . . . . . . . . . . . . ?? P. J. Plauger Large character sets for C . . . . . . . 16--18, 20, 24 Robert Jervis Numerical extensions to C . . . . . . . 26, 28, 30, 32, 34, 39 Burton S. Kaliski, Jr. Multiple-precision arithmetic in C . . . 40, 42, 44, 46--48, 116--119 Ian Hirschsohn Personal supercomputing: virtual memory, 64-bit . . . . . . . . . . . . . . . . . 50, 52, 54, 56, 60, 62--63 Steve Summit C Language Q and A . . . . . . . . . . . 63, 106, 127, 159 Matt Pietrek Inside the Windows scheduler . . . . . . 64, 66--68, 70--71 Beth Mazur Moving from assembly to C . . . . . . . 72, 74, 76, 78, 80, 82, 84, 120 William Frederick Jolitz High-speed networking . . . . . . . . . 86, 88, 90--93, 122 Al Stevens Compiler-specific C extensions . . . . . 94, 96, 98, 100, 102, 104, 106 Barr E. Bauer Parallel C extensions . . . . . . . . . 110, 112--114, 124, 127
Michael Abrash `X-Sharp': 3-D real-time animation in GP ?? Al Stevens C Programming . . . . . . . . . . . . . ?? Al Stevens `D-Flat' in CP . . . . . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 8 Laird Foshay Ten Years After: Still Reinventing the Wheel . . . . . . . . . . . . . . . . . 16 Matt Pietrek Postmortem debugging . . . . . . . . . . 18--20, 22, 24, 26, 31 Robert B. Stout C Snippets . . . . . . . . . . . . . . . 31, 110, 146 Brett Salter An exception handler for Windows 3 . . . 32, 34, 36, 102, 104--107 Rick Knoblaugh Your own protected-mode debugger . . . . 38, 40--41, 108--109 Thomas A. Roden High-resolution timing . . . . . . . . . 42, 44, 48, 110 Douglas Chubb An improved Lisp-style library for C . . 52, 54, 56--57, 112 Daniel Mann The Universal Debugger Interface . . . . 58, 60, 62, 64, 66, 68 Gurjot Singh and Moses Joseph and Dave Barnett Debugging real-time systems . . . . . . 70, 72, 74, 76--77, 116--117 Alan Dunham Crash tracebacks in UNIX . . . . . . . . 80, 82, 84, 86, 89, 113 Mike Sax Windows ToolHelp . . . . . . . . . . . . 90, 92, 118--119 Danny Thorpe A Video Compatibility Interface for Turbo Debugger . . . . . . . . . . . . . 94, 96, 101, 120--121 Steve Summit C Language Q and A . . . . . . . . . . . 113, 119 Michael Swaine Programming Paradigms . . . . . . . . . 123 Al Stevens C Programming . . . . . . . . . . . . . 129 Jeff Duntemann Structured Programming . . . . . . . . . 135 Michael Abrash Graphics Programming . . . . . . . . . . 141 William Jolitz Programmer's Bookshelf . . . . . . . . . 149 Tami Zemel Of Interest . . . . . . . . . . . . . . 170 Michael Swaine Swaine's Flames . . . . . . . . . . . . 176
Michael Abrash `X-Sharp': 3-D real-time animation in GP ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? Al Stevens `D-Flat' in CP . . . . . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Tami Zemel Of Interest . . . . . . . . . . . . . . ?? Ray Valdés Sizing up Application Frameworks and Class Libraries . . . . . . . . . . . . 18--20, 22--30, 35, 86, 106--115 William G. Wong Object-Oriented Program Construction . . 36--42, 116--118 Brad Cox Superdistribution And Electronic Objects 44--48 David Betz A Taste Of Dylan . . . . . . . . . . . . 50--52, 57 Frederick Hewett DPMI Meets C++ . . . . . . . . . . . . . 60--68 Christian Stapfer Timed Callbacks in C++ . . . . . . . . . 72--76, 120--126 Michael Day Implementing NLM-Based Client/Server Architectures . . . . . . . . . . . . . 78--84 Sam Harbison Safe Programming With Modula-3 . . . . . 88--96, 126--127 Keith W. Boone A Source Code Profiler . . . . . . . . . 98--104, 128--131 Robert B. Stout C Snippets . . . . . . . . . . . . . . . 124 Michael Swaine Programming Paradigms . . . . . . . . . 133 Al Stevens C Programming . . . . . . . . . . . . . 139 Jeff Duntemann Structured Programming . . . . . . . . . 145 Michael Abrash Graphics Programming . . . . . . . . . . 151 Andrew Schulman Programmer's Bookshelf . . . . . . . . . 157
Al Stevens `D-Flat++': C++ re-implementation of `D-Flat' in CP . . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 8 Ray Valdés Sizing up GUI Toolkits . . . . . . . . . 18--20, 22, 24, 26, 113--114, 116 Carl Rollo PIE Menus For Windows . . . . . . . . . 30, 32, 34--35, 39, 118--119, 121 Robert Sardis Dynamic Dialog Boxes and C++ . . . . . . 40, 42, 122, 124--125 Giuliano Carlini and Susan Rendina Garbage Collection For C Programs . . . 46, 48--49, 128--129 Steven Sinofsky Designing C++ classes . . . . . . . . . 52, 54, 56 John L. Bradberry Designing Portable User Interfaces . . . 58, 60--62, 130--132 Allen Stenger Converting Dithered Images Back to Gray Scale . . . . . . . . . . . . . . . . . 64, 66, 68, 133--134 David Potter Designing a Real-Time Debugger . . . . . 70, 72, 74, 76--79 Robert B. Stout C Snippets . . . . . . . . . . . . . . . 79, 155 Edwards N. Adams, III Time dilation and relativistic debugging 80--81, 84--85 Kamran Husain Debugging Motif Widgets . . . . . . . . 86, 88, 90--91, 135--136 Michael A. Floyd Examining Turbo Pascal for Windows . . . 94, 97, 99--100, 145--146, 148--149 Andreas Meyer Developing a portable C++ GUI class library . . . . . . . . . . . . . . . . 102, 105--107, 109 Michael Swaine Programming Paradigms . . . . . . . . . 151 Al Stevens C Programming . . . . . . . . . . . . . 157 Jeff Duntemann Structured Programming . . . . . . . . . 165 Michael Abrash Graphics Programming . . . . . . . . . . 171 Ray Duncan Programmer's Bookshelf . . . . . . . . . 179 Scott Nichol Extending Turbo Vision: Replacing the Idle Method . . . . . . . . . . . . . . 192, 194--196, 198 Tami Zemel Of Interest . . . . . . . . . . . . . . 200 Michael Swaine Swaine's Flames . . . . . . . . . . . . 208
Al Stevens `D-Flat++': C++ re-implementation of `D-Flat' in CP . . . . . . . . . . . . . ??
Ray Valdes Doing the Wrong Thing . . . . . . . . . 4s-4s Al Stevens A Conversation with Bjarne Stroustrup 7s-12s
Jonathan Erickson Editorial . . . . . . . . . . . . . . . 8
Dan Saks Standard C++: A Status Report . . . . . 15s-20s
Hrvoje Lukatela and John Russell Spatial Data And The Voronoi Tessellation . . . . . . . . . . . . . . 18--20, 24--25, 96, 98--100
Tim Maher A C++ Beautifier . . . . . . . . . . . . 23s-27s
Aaron E. Walsh Sound As A Data Type . . . . . . . . . . 28, 30, 32, 102--103
Nicholas Wilt Templates in C++ . . . . . . . . . . . . 29s-33s
Al Stevens Persistent Objects In C++ . . . . . . . 34, 39--40, 42--44
Harris Shiffman Toward a Less Object-oriented View of C++ . . . . . . . . . . . . . . . . . . 35s-38s Thomas Keffer Why C++ Will Replace Fortran . . . . . . 39s, 40s, 42s-47s
Richard P. Gabriel Persistence In A Programming Environment 46, 48, 50, 52, 54--55
Tom Cargill Using Multiple Inheritance in C++ . . . 48s-51s Stephen P. Johnson and Tom McReynolds Implementing Curves in C++ . . . . . . . 53s-55s, 57s-64s
Dean Clark Splay trees . . . . . . . . . . . . . . 56, 58, 60 Robert B. Stout C Snippets . . . . . . . . . . . . . . . 61, 119 Michael Kutter Simulation And Testboard For Embedded-System Design . . . . . . . . . 62, 66--68 Jeffrey W. Hamilton and Eileen M. Ornsby Simulating Hypercubes In Unix. Part I 72, 74, 76, 108--110, 112--113 William Frederick Jolitz and Lynne Greer Jolitz Inside The ISO-9660 Filesystem Format 80, 82--84, 89, 114--115, 118--119 Sam Felton BLOBs and object-oriented database engines . . . . . . . . . . . . . . . . 90, 92, 94, 120--121, 158 Scott B. Guthery A Curmudgery On Programming Language Trends . . . . . . . . . . . . . . . . . 104--105, 140--141 Michael Swaine Programming Paradigms . . . . . . . . . 123 Al Stevens C Programming . . . . . . . . . . . . . 129 Jeff Duntemann Structured Programming . . . . . . . . . 135 Al Stevens Another Curmudgeon Reflects . . . . . . 140 Michael Abrash Graphics Programming . . . . . . . . . . 143 Andrew Schulman Programmer's Bookshelf . . . . . . . . . 147 Tami Zemel Of Interest . . . . . . . . . . . . . . 162 Michael Swaine Swaine's Flames . . . . . . . . . . . . 168
Doug Huffman Memory-mapped File I/O . . . . . . . . . 14 Eric Bergman-Terrell Sorting Files with NT's Memory-mapped File I/O [sidebar] . . . . . . . . . . . 16
Al Stevens `D-Flat++': C++ re-implementation of `D-Flat' in CP . . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 8 Steven Baker Extending Windows to 32 Bits . . . . . . 18--20, 22, 24, 88 Joe Huffman Porting from 16-bit to 32-bit extended DOS . . . . . . . . . . . . . . . . . . 28, 30, 32 Andy Nicholson 64-Bit Programming in a 32-Bit World . . 34, 39--40, 42 Peter Smith LUC Public-key Encryption: A Secure Alternative to RSA . . . . . . . . . . . 44, 46, 48--49, 90--92 Ray Valdés DDJ handprinting recognition contest wrap-up . . . . . . . . . . . . . . . . 52, 54, 56, 93 Kamal Shah Windows DDE for real-time applications 58, 60--61, 64, 94, 96--98 Jeffrey W. Hamilton and Eileen M. Ormsby Simulating Hypercubes in UNIX. Part II 66, 68, 70, 99--100, 102--105 Peter Handsman ``Porting to the Win32 API'' . . . . . . 74, 76--78 Robert B. Stout C Snippets . . . . . . . . . . . . . . . 78 Joseph M. Newcomer Profiling For Performance . . . . . . . 80--81, 85--87, 106 Michael Swaine Programming Paradigms . . . . . . . . . 109 Al Stevens C Programming . . . . . . . . . . . . . 115 Jeff Duntemann Structured Programming . . . . . . . . . 121 Michael Abrash Graphics Programming . . . . . . . . . . 127 Al Stevens Programmer's Bookshelf . . . . . . . . . 133 Tami Zemel Of Interest . . . . . . . . . . . . . . 146 Michael Swaine Swaine's Flames . . . . . . . . . . . . 152
Al Stevens `D-Flat' in CP . . . . . . . . . . . . . ?? Al Stevens `D-Flat++': C++ re-implementation of `D-Flat' in CP . . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 8 R. Colin Johnson What is cognitive computing? . . . . . . 18--20, 22, 24 Richard Spillman Genetic Algorithms . . . . . . . . . . . 26, 28, 30, 90--93 Basem A. Nayfeh Cellular Automata For Solving Mazes . . 32, 37--38 Greg Vigot Fuzzy Logic In C . . . . . . . . . . . . 40 Greg Viot Fuzzy Logic in C . . . . . . . . . . . . 40, 42, 44--45, 48--49, 94 Mark Thorson and Forrest Warthman and Mark Holler A neural-network audio synthesizer . . . 50, 52, 54, 58, 60, 62, 64 Mike Calbaum and Frank Porcaro and Mark Ruegsegger and Bruce Backman Untangling the Windows Sockets API . . . 66, 68, 70--71, 96, 98--99 Matt Pietrek Inside The Windows Messaging System . . 72, 74, 76, 78, 80, 100, 102--103 James F. Farley and Peter D. Varhol Neural nets for predicting behavior (of winds) . . . . . . . . . . . . . . . . . 82, 84, 86, 88 Michael Swaine Programming Paradigms . . . . . . . . . 105 Al Stevens C Programming . . . . . . . . . . . . . 111 Jeff Duntemann Structured Programming . . . . . . . . . 119 Michael Abrash Graphics Programming . . . . . . . . . . 127 Ray Duncan Programmer's Bookshelf . . . . . . . . . 131 Tami Zemel Of Interest . . . . . . . . . . . . . . 146 Michael Swaine Swaine's Flames . . . . . . . . . . . . 152
Al Stevens `D-Flat++': C++ re-implementation of `D-Flat' in CP . . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 8 John Russell Digital Chart of the World [letter] . . 10 Jim Kent The Flic File Format . . . . . . . . . . 18--20, 22, 92, 94, 96 Timothy Butterfield File conversion using C++ templates . . 26, 28, 98, 100 Lowell Williams Compound Documents . . . . . . . . . . . 32, 34, 38--39, 101 Paul Bonneau Designing complex datacentric applications . . . . . . . . . . . . . . 40, 42, 102 Jim Harper A DOS Redirector For SCSI CD-ROM . . . . 44, 48, 50, 103--105 Christopher Perez Tools for embedded-systems debugging . . 52, 56, 58, 60, 64, 66 Douglas Reilly Inside Btrieve files . . . . . . . . . . 68, 70, 72, 77, 106 John W. Ratcliff Examining PC Audio . . . . . . . . . . . 78, 80--85, 107 Burt Leavenworth Proxy: a Scheme-based prototyping language . . . . . . . . . . . . . . . . 86, 88, 90 Michael Swaine Programming Paradigms . . . . . . . . . 109 Al Stevens C Programming . . . . . . . . . . . . . 113 Jeff Duntemann Structured Programming . . . . . . . . . 119 Andrew Schulman and Joseph M. Newcomer and Bruce Horn Undocumented Corner: Inside Windows Regions in UC . . . . . . . . . . . . . 129, 130, 132, 134, 136, 137, 150 Ray Valdes Programmer's Bookshelf . . . . . . . . . 139 Peter J. G. Meyer Julian And Gregorian Calendars . . . . . 152, 154, 156, 158--159 Tami Zemel Of Interest . . . . . . . . . . . . . . 160 Michael Swaine Swaine's Flames . . . . . . . . . . . . 168
Michael A. Floyd Editorial . . . . . . . . . . . . . . . ??
Al Stevens `D-Flat++': C++ re-implementation of `D-Flat' in CP . . . . . . . . . . . . . ?? A. Stevens Object-oriented database management systems . . . . . . . . . . . . . . . . 7S-15S Jonathan Erickson Editorial . . . . . . . . . . . . . . . 8 Victor J. Duvanenko and W. E. Robbins Algorithms For Stereoscopic Imaging . . 18--20, 22, 24, 26, 76, 78
Miles Dempsey Prototyping and programming database systems . . . . . . . . . . . . . . . . 19S-23S Michael A. Floyd Building a database file viewer . . . . 25S-31S
Joseph Celko Genetic Algorithms and Database Indexing 30--32, 34
Dennis Shasha Database tuning: principles and surprises . . . . . . . . . . . . . . . 32S-4 M. L. Brachman Extending FoxPro (database management) 35S-8
Ray Valdés Text Editors: Algorithms and Architectures . . . . . . . . . . . . . 38, 40, 42--43, 80 J. Elliot Tuning up HyperCard's database Engine 39S-41S
Jeff Elliott Tuning Up HyperCard's Database Engine 39S Dirk Bartels Event-driven database programming in C++ 42S-8
Mac A. Cody A Wavelet Analyzer . . . . . . . . . . . 44 William Stallings Routing Algorithms For Internetworking 58 James Harrington Measuring fragmentation . . . . . . . . 66, 68, 70, 92 Joel Barnum Programming For The OS/2 2.0 Workplace Shell . . . . . . . . . . . . . . . . . 72--73, 94--97 Michael Swaine Programming Paradigms . . . . . . . . . 99 Al Stevens C Programming . . . . . . . . . . . . . 105 Jeff Duntemann Structured Programming . . . . . . . . . 111 Andrew Schulman Undocumented Corner . . . . . . . . . . 119 Michael Sheils The Undocumented LAN Manager and Named Pipe APIs for DOS and Windows . . . . . 119 Ray Duncan Programmer's Bookshelf . . . . . . . . . 127 James H. Sylvester Differential Compression Algorithms . . 144--146 Tami Zemel Of Interest . . . . . . . . . . . . . . 148 Michael Swaine Swaine's Flames . . . . . . . . . . . . 152
Jonathan Erickson Editorial . . . . . . . . . . . . . . . 8 Lee Felsenstein The Commons of Information . . . . . . . 18--20, 22, 24 Joseph M. Newcomer Modeless dialog boxes for Windows . . . 26, 28, 30, 82 Derrel Blain and Kurt Delimon and Jeff English OS/2 2.x initialization files and profile management . . . . . . . . . . . 32, 34, 36, 38, 84 Oliver Sharp Dynamic linking under Berkeley UNIX . . 40, 42, 44, 86, 88 Matt Weisfeld A Portable Library For Executing Child Processes . . . . . . . . . . . . . . . 46, 48, 50--52, 90, 92 Drew Gislason Flash File Systems . . . . . . . . . . . 54, 56, 58--59, 94, 96--97 Rahner James Your Own Network Data Snooper . . . . . 62, 64--67, 98, 100 Kenneth G. Hamilton Direct memory access from PC Fortrans 70, 72--74, 102--104 Ian E. Gorman Building A Portable Programming Environment . . . . . . . . . . . . . . 76, 78, 80--81, 106--107 Michael Swaine Programming Paradigms . . . . . . . . . 109 Al Stevens C Programming . . . . . . . . . . . . . 115 Tom R. Swan Algorithm Alley . . . . . . . . . . . . 119 Jeffrey M. Cogswell Exploring Windows Palettes . . . . . . . 125 Andrew Schulman Undocumented Corner . . . . . . . . . . 125 Al Stevens Programmer's Bookshelf . . . . . . . . . 137 James F. Farley and Peter D. Varhol A Visual Approach To Data Acquisition 145--147 Michael Swaine Swaine's Flames . . . . . . . . . . . . 152
Al Stevens `D-Flat++': C++ re-implementation of `D-Flat' in CP . . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 8 Nick Tredennick Computer Science And The Microprocessor 18--20, 22, 24, 28, 30--32 Ramesh Subramaniam and Kiran Kundargi and J. Dahms Programming The Pentium Processor . . . 34, 36, 38, 40--42 John Dahms Making Compilers Pentium Aware [sidebar] 38 Richard C. Leinecker and S. Heller and R. Moote Processor Detection Schemes . . . . . . 46, 48--49, 126--127 Steve Heller 486 Cache Detection [sidebar in ``Processor Detection Schemes'' (R. C. Leinecker)] . . . . . . . . . . . . . . 48 Robert Moote Pentium Detection [sidebar in ``Processor Detection Schemes'' (R. C. Leinecker)] . . . . . . . . . . . . . . 49 Chan Y. Lee Detecting out-of-range references . . . 50, 52, 54, 56, 128 Andy Nicholson HIPPI and high-performance LANS . . . . 58, 60, 64, 66, 68, 130--131 Al Williams 32-bit floating-point math . . . . . . . 70, 72, 74, 76, 80 Lowell S. Schneider and Stephen S. Murray Distributed Computing Now: Application Environments . . . . . . . . . . . . . . 82, 84--85 Allan Vermeulen Object-oriented finite-element software 86--91 Peter D. Varbol Extending A Visual Language For Simulation . . . . . . . . . . . . . . . 92 Peter D. Varhol Extending a Visual Language for Simulation . . . . . . . . . . . . . . . 92--95 Ken Karnofsky Neural Networks and Character Recognition . . . . . . . . . . . . . . 96, 98--100, 102--103 Vinod Anantharaman A GUI Environment For Fortran Development . . . . . . . . . . . . . . 104, 106--108, 110--111 Michael Yam Examining MFC 2.0 [review] . . . . . . . 114, 116--119, 132, 134 Ramin Firoozyé A Cross-Platform Plug-In Toolkit . . . . 120, 122--125 Michael Swaine Programming Paradigms . . . . . . . . . 137 Al Stevens C Programming . . . . . . . . . . . . . 141 Tom R. Swan Algorithm Alley . . . . . . . . . . . . 147 Ronald L. Burk Spying on WinHelp . . . . . . . . . . . 153 Andrew Schulman Undocumented Corner . . . . . . . . . . 153 Jonathan Erickson Programmer's Bookshelf . . . . . . . . . 163 Michael Swaine Swaine's Flames . . . . . . . . . . . . 176
Al Stevens C Programming . . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 8 Valerie Hall Morphing In 2-D and 3-D . . . . . . . . 18--20, 22, 24, 26, 132, 92--93 Mark Betz VGA palette mapping using BSP trees . . 28, 30, 32, 34, 36, 94 Bruce Schneier and H. J. Smith Color Models . . . . . . . . . . . . . . 38, 40, 42--43, 96 Harry J. Smith Putting Colors in Order . . . . . . . . 40 Raj Kumar Dash Image processing using quadtrees . . . . 44, 46, 48--49 Joseph M. Newcomer Debugging Real-Time Systems . . . . . . 55--56, 58, 60, 62, 98 Lowell S. Schneider Distributed Computing Now: Development Environments . . . . . . . . . . . . . . 64, 66--68, 71, 100 Lynne Greer Jolitz Extending Standards For CD-ROM . . . . . 74 L. Greer Jolitz Extending standards for CD-ROM . . . . . 74, 76, 78--79, 82, 101 John Musser A Multimedia Class Library For Windows 84, 86, 88--90, 102--103, 106 Michael Swaine Programming Paradigms . . . . . . . . . 109 Al Steven C Programming . . . . . . . . . . . . . 115 Tom R. Swan Algorithm Alley . . . . . . . . . . . . 121 Michael P. Maurice The PIF File Format or Topview (sort of) Lives! . . . . . . . . . . . . . . . . . 127 Andrew Schulman Undocumented Corner . . . . . . . . . . 127 Ray Valdes Programmer's Bookshelf . . . . . . . . . 133 Monica Berg Of Interest . . . . . . . . . . . . . . 146 Michael Swaine Swaine's Flames . . . . . . . . . . . . 152
Jonathan Erickson Editorial . . . . . . . . . . . . . . . 8 K. N. King The History Of Programming Languages . . 18 R. Jaeschke C/C++ standardization: an update . . . . 26, 28, 30 Garyl Hester Strategies for Better Linked Lists . . . 32, 34, 36, 38, 40, 42, 100--101 Peter Becker and D. Reilly C++ Templates . . . . . . . . . . . . . 44, 46--51, 102--103 Douglas Reilly A Virtual-array Class using C++ Templates . . . . . . . . . . . . . . . 50 John W. Ross Calling C functions with variably dimensioned arrays . . . . . . . . . . . 52, 54, 56 Art Sulger Indexing Image Databases . . . . . . . . 60, 62--64, 104--105 Jack J. Woehr Programming the Motorola 68332 . . . . . 66, 68, 70, 106, 108, 110, 112 John H. McCoy and Wuhsiung Lu Network Access To CD-ROMS . . . . . . . 72, 74, 78--80, 113 Peter D. Varhol Integrating Desktop Mapping With Geographic Data . . . . . . . . . . . . 84, 86, 88, 90, 114--115 Al Williams A Quick Port With QuickWin . . . . . . . 92, 94--95, 98 Michael Swaine Programming Paradigms . . . . . . . . . 117 Al Stevens C Programming . . . . . . . . . . . . . 123 Tom R. Swan Algorithm Alley . . . . . . . . . . . . 129 Alex G. Fedorov and Dmitry M. Rogatkin The Windows .RES File Format . . . . . . 133 Andrew Schulman Undocumented Corner: Introduction to `The Windows .RES File Format' (A. G. Fedorov and D. M. Rogatkin) . . . . . . 133 Ray Duncan Programmer's Bookshelf . . . . . . . . . 143 Michael Swaine Swaine's Flames . . . . . . . . . . . . 160
Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 Clifford A. Pickover Recursive Worlds . . . . . . . . . . . . 18--29, 22, 24, 26 Frederick C. Motteler Arbitrary Precision Floating-Point Arithmetic . . . . . . . . . . . . . . . 28, 30, 32, 34, 84, 86--87 Aubrey Jaffer Algebra and the Lambda Calculus . . . . 36, 38, 40, 88 Andrew Schulman Examining the Windows AARD detection code . . . . . . . . . . . . . . . . . . 42, 44--48, 89 Burton S. Kaliski, Jr. The Z80180 and big-number arithmetic . . 50, 52, 54, 56, 58, 90--91 Douglas Reilly Accessing NetWare SQL files without NetWare SQL . . . . . . . . . . . . . . 60, 62, 64--66, 92, 94, 96 Barr E. Bauer Porting From Workstations To PC's . . . 68, 70, 72--73 Peter D. Varbol Modeling Systems With Polynomial Networks . . . . . . . . . . . . . . . . 76 Peter D. Varhol Modeling Systems with Polynomial Networks . . . . . . . . . . . . . . . . 76, 78, 80, 82, 96 Michael Swaine Programming Paradigms . . . . . . . . . 99 Al Stevens C Programming . . . . . . . . . . . . . 105 Tom R. Swan Algorithm Alley . . . . . . . . . . . . 115 Pete Davis Documenting Documentation: The Windows .HLP File Format, Part I . . . . . . . . 119 Andrew Schulman Undocumented Corner: Introduction to `Documenting Documentation: The Windows .HLP File Format, Part I' (P. Davis) . . 119 Lynne Greer Jolitz Programmer's Bookshelf . . . . . . . . . 127 Michael Swaine Swaine's Flames . . . . . . . . . . . . 144
Jonathan Erickson Editorial . . . . . . . . . . . . . . . 4 Al Stevens A Multitool Approach to Windows Development . . . . . . . . . . . . . . 7 Doug Huffman Memory-mapped File I/O . . . . . . . . . 14 Shankar Vaidyanathan Multitasking Fortran and Windows NT . . 21 Al Williams VWinL: A Virtual Window Library . . . . 28 Joseph M. Newcomer Faking DDE with Private Servers . . . . 37 Ted Faison Horizontally Scrollable Listboxes . . . 47 David Van Camp Writing Portable Windows Applications 52 Steven Reichenthal Getting to Know TrueType . . . . . . . . 56 Dan Brindle Writing Windows Custom Controls . . . . 64 Ken North A Generic SQL Class Library . . . . . . 69 David Lee Threads for Windows 3 . . . . . . . . . 84 Michael A. Floyd Comparing Object-Oriented Languages . . 104 Pete Davis Documenting Documentation: The Windows .HLP File Format, Part II . . . . . . . 143 Andrew Schulman Introduction to `Documenting Documentation: The Windows .HLP File Format, Part II' (P. Davis) . . . . . . 143
Al Stevens C Programming . . . . . . . . . . . . . ?? Al Stevens `D-Flat++': C++ re-implementation of `D-Flat' in CP . . . . . . . . . . . . . ?? Michael Swaine Programming Paradigms . . . . . . . . . ?? Tom R. Swan Algorithm Alley . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 P. J. Plauger Programming Language Guessing Games . . 16--22 Mike Armistead All About Profilers . . . . . . . . . . 24 Jim Fleming The C+@ Programming Language . . . . . . 24--32 Taed Nelson Finding Run-time Memory Errors . . . . . 34 Robert Jervis The Parasol Programming Language . . . . 34--41 Rick Knoblaugh Eavesdropping on Interrupts . . . . . . 42 Stephen M. Omohundro The Sather programming language . . . . 42--48 Roger Crooks Performance Verification . . . . . . . . 46 Ray Valdés The Liana Programming Language . . . . . 50--52 Steve Mann The Beta Programming Language . . . . . 56--66 Robert Howard The Eiffel Programming Language . . . . 68--73 Matt Pietrek Examining OPTLINK for Windows . . . . . 70 David Betz Dave's recycled OO language . . . . . . 74--78 Ray Valdés Debugging Windows Applications . . . . . 78 Diane McGary The art of product launches . . . . . . 80--83 Eric McRae Avoiding microcontroller processing pile-ups (wheelchair) . . . . . . . . . 84--92 Ivan Gerencir A Multi-app Message Trace Facility for Windows . . . . . . . . . . . . . . . . 88 Oliver Sharp Networking With Perl . . . . . . . . . . 94--102 Michael Floyd Comparing Object-Oriented Languages . . 104--118 Pawel Szczerbina Novell's NetWare Core Protocol . . . . . 123 Michael Swaine Programming Paradigms . . . . . . . . . 127 Al Stevens C Programming . . . . . . . . . . . . . 133 Tom R. Swan Algorithm Alley . . . . . . . . . . . . 139 Andrew Schulman Undocumented Corner . . . . . . . . . . 143 Reginald B. Charney C++ Manipulators And Applicators . . . . 150--155 Jonathan Erickson Programmer's Bookshelf . . . . . . . . . 157 Michael Swaine Swaine's Flames . . . . . . . . . . . . 176
Monica E. Berg Of Interest . . . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? Al Stevens `D-Flat++': C++ re-implementation of `D-Flat' in CP . . . . . . . . . . . . . ?? Tom R. Swan Algorithm Alley . . . . . . . . . . . . ?? Michael R. Dunlavey Performance tuning: slugging it out! . . 18--20, 22, 24--26, 90--91 Steve Oualline Heap checking . . . . . . . . . . . . . 28, 30 Pierre J. Dion Cross-platform Compression . . . . . . . 32 T. Nelson Finding run-time memory errors. A sophisticated tool for the thorniest of bugs . . . . . . . . . . . . . . . . . . 34, 36, 38, 40--41, 92--93 R. Knoblaugh Eavesdropping on interrupts: tracking down software problems by monitoring interrupt activity . . . . . . . . . . . 42, 44, 94, 96, 98 Eric Giguere REXX and the OS/2 Workplace Shell . . . 44 R. Crooks Performance verification: cache, RISC, and embedded systems . . . . . . . . . . 46, 48, 50, 52, 56 Eduardo M. Serrat A NetWare chat utility: understanding IPX programming . . . . . . . . . . . . 60, 64, 67--69, 100, 102
Rolf Oswald The Information Utility . . . . . . . . 18--20, 24, 26, 28, 30, 104--105 Pierre J. Dion Cross-Platform Compression . . . . . . . 32, 34, 36--37 Edward Dowgiallo Database Interoperability and Application Transportability . . . . . . 38, 40 Eric Giguere REXX and the OS/2 Workplace Shell . . . 44, 46, 48 Bruce Schneier The IDEA Encryption Algorithm . . . . . 50, 52, 54, 56, 106 James F. Farley and Peter D. Varhol Visualizing Data in Real Time . . . . . 58, 62, 64 William Stallings Understanding OSI Network Management . . 68, 70--72, 74 Ramin Firoozyé Examining the StarView application framework . . . . . . . . . . . . . . . 78--80, 82, 84 Darrell Diem Wireless Data and Minimum Airtime Software . . . . . . . . . . . . . . . . 90, 92, 94--96, 102--103
Michael Swaine Programming Paradigms . . . . . . . . . 109
Al Stevens C Programming . . . . . . . . . . . . . 115 Tom Swain Algorithm Alley . . . . . . . . . . . . 119 Andrew Schulman Undocumented Corner . . . . . . . . . . 123 Jonathan Erickson Programmer's Bookshelf . . . . . . . . . 131 Monica E. Berg Of Interest . . . . . . . . . . . . . . 138 Michael Swaine Swaine's Flames . . . . . . . . . . . . 144
Michael A. Floyd Editorial . . . . . . . . . . . . . . . ?? Michael A. Floyd Editorial . . . . . . . . . . . . . . . ?? Michael A. Floyd Editorial . . . . . . . . . . . . . . . ?? Michael A. Floyd Why Ask Why . . . . . . . . . . . . . . 3 Scott Anderson Morphing on Your PC . . . . . . . . . . 4 Robert Jervis The Parasol Programming Language . . . . 6 Jeffrey K. MacKie-Mason and Hal Varian The Economics of the Internet . . . . . 6 Dick Wilmot 2PANE Illuminates Windows . . . . . . . 6 Mark Florence Digital Video File Formats . . . . . . . 10 Warren E. Drissel Forth Interpreter Compiler and Debugger in Pseudo-code [letter] . . . . . . . . 12 Craig A. Lindley Very Dynamic Linking in Windows . . . . 12 Oliver Sharp The Perl Programming Language . . . . . 12 Joseph M. Newcomer A Generic About \ldots Box Handler . . . 18 Bruce Schneier E-Mail Security . . . . . . . . . . . . 18 Neil G. Rowland, Jr. Compressing Waveform Audio Files . . . . 20 Dennis Cronin MUD Games on the Internet . . . . . . . 22 Sam Harbison The Modula-3 Programming Language . . . 24 David Betz An Online Conferencing System Construction Kit . . . . . . . . . . . . 26 Al Williams DOS Pipes for Windows . . . . . . . . . 26 John W. Ratcliff Multimedia Audio Systems . . . . . . . . 28 Lynne Greer Jolitz and William Frederick Jolitz Very High-Speed Networks: HiPPI and SIGNA . . . . . . . . . . . . . . . . . 32 Joachim Schürmann A Program Architecture for Visual Basic Development . . . . . . . . . . . . . . 32 Les Wilson Inside OS/2 Software Motion Video . . . 34 Jonny Goldman and Bob Kaehms sGs: A Simple Gopher Server . . . . . . 36 John K. Ousterhout The Tcl Programming Language . . . . . . 40 Rick Knoblaugh A Windows I/O Monitor . . . . . . . . . 42 Charles Albert Mirho Programming the QUANTUMdsp . . . . . . . 42 Sing Li Building an Internet Global Phone . . . 46 Joe Sam Shirah Animation with the Windows GDI . . . . . 48 Al Stevens Quincy: The Architecture of A C Interpreter . . . . . . . . . . . . . . 48 Vinod Anantharaman Customizing Window Behavior . . . . . . 50 Mark Clouden The WSNETWRK Library [sidebar] . . . . . 50 Tamme D. Bowen and Kelly M. Hall The Dylan Programming Language . . . . . 54 Jack Krupansky Writing a Multimedia App in Liana . . . 54 Joseph M. Newcomer Avoiding Windows PATH Cram . . . . . . . 54 Rahner James and Linus Sphinx Creating Your Own Multiplayer Game Systems . . . . . . . . . . . . . . . . 56 Doug Cody The VESA BIOS Extension/Audio Interface 58 Josef Templ The Oberon Programming Language . . . . 60 Jay B. Reimer DSP and Audio Compression . . . . . . . 63 Joseph Hlavaty Exception Handlers and Windows Applications . . . . . . . . . . . . . . 64 Richard Civille and Renée E. Sieber Civic Networking with Geographic Information Systems . . . . . . . . . . 68 Dennis Cronin Build Your Own RS-232 Sound System . . . 70
Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 Stephen S. Fried Shared Memory and PC Supercomputing . . 18--20, 22, 24, 26, 28 Hal W. Hardenbergh CPU Performance: Where Are We Headed? 30, 32, 34, 36, 38 Nick Tredennick Microprocessors Hit the Performance Wall (Again) [sidebar] . . . . . . . . . . . 34 Michael Abrash Pentium Optimization: Something Old Something New [sidebar] . . . . . . . . 40 Mike Schmit Optimizing Pentium Code . . . . . . . . 40, 42, 44, 46--49 Bruce Schneier Skip Lists . . . . . . . . . . . . . . . 50, 52 Mitchell Bunnell Maximizing Performance of Real-Time RISC Applications . . . . . . . . . . . . . . 54, 56, 58, 60, 62, 64, 90, 94, 96 William Frederick Jolitz Polymorphic protocols . . . . . . . . . 66, 68, 70, 72 John M. Kanalakis, Jr. Examining OS/2 2.1 threads . . . . . . . 74, 76, 78--79, 96 John Norwood and Shankar Vaidyanathan Symmetric Multiprocessing for PCs . . . 80, 82--85, 98--99 Michael Swaine Programming Paradigms . . . . . . . . . 101 Al Stevens C Programming . . . . . . . . . . . . . 105 Tom R. Swan Algorithm Alley . . . . . . . . . . . . 111 Andrew Schulman Undocumented Corner: Introduction to `The Windows 3.1 Virtual Machine Control Block Part 1' (K. Zytaruk) . . . . . . . 115 Kelly Zytaruk The Windows 3.1 Virtual Machine Control Block. Part 1 . . . . . . . . . . . . . 115 Peter D. Varhol Programmer's Bookshelf . . . . . . . . . 131 Monica E. Berg Of Interest . . . . . . . . . . . . . . 138 Michael Swaine Swaine's Flames . . . . . . . . . . . . 144
Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 Kent Beck Patterns and Software Development . . . 18--20 Grady Booch Designing An Application Framework . . . 24, 26, 28, 30 Birger Baksaas Computer-Aided Software Testing . . . . 36, 38, 78 Laurence R. Kepple The Black Art Of GUI Testing . . . . . . 40 (or 42--??) George J. Symons Capture/Playback Techniques [sidebar] 42 Gary McGrath Signal Analysis Via The Bootstrap . . . 48, 50, 52, 54--57, 81--82 Andy Yuen Your Own Token-Ring Network Manager . . 58, 60--62, 64--65 Walter Oney Examining the Windows Setup Toolkit . . 68--72 Al Williams NT-Style Threads For MS-DOS . . . . . . 74, 76--77 Michael Swaine Programming Paradigms . . . . . . . . . 91 N. Scott Bradley Software testing cycles . . . . . . . . 95 Al Stevens C Programming . . . . . . . . . . . . . 97 Tom R. Swan Algorithm Alley . . . . . . . . . . . . 103 Andrew Schulman Undocumented Corner: Introduction to `The Windows 3.1 Virtual Machine Control Block Part 2' (K. Zytaruk) . . . . . . . 107 Kelly Zytaruk The Windows 3.1 Virtual Machine Control Block. Part 2 . . . . . . . . . . . . . 107 Peter D. Varhol Programmer's Bookshelf . . . . . . . . . 117 Monica E. Berg Of Interest . . . . . . . . . . . . . . 130 Michael Swaine Swaine's Flames . . . . . . . . . . . . 136
Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 José Luu Binary-Data Portability . . . . . . . . 18--20, 22, 24 Gregory C. Sarafin The WRAPI toolkit . . . . . . . . . . . 26, 28, 30, 32, 34 Joseph J. Graf Multiplatform .INI Files . . . . . . . . 36, 38 Michael Ross Portability By Design . . . . . . . . . 40, 42--43 David Van Camp Unicode and Software Globalization . . . 46, 48--50 Dan Troy Emulating Non-DOS Systems Under MS-DOS 52, 54, 57--58, 60, 62 Chane Cullens Cross-Platform Development With Visual C++ . . . . . . . . . . . . . . . . . . 64, 68, 70, 72--73 Ken North Database Development And Visual Basic 3.0 . . . . . . . . . . . . . . . . . . 74, 76--80 Walter Oney Porting From DOS To Windows . . . . . . 82, 84--85, 88--94, 98, 100 Sing Li Writing Non-SCSI CD-ROM Device Drivers 102, 104--111 Michael Swaine Programming Paradigms . . . . . . . . . 115 Al Stevens C Programming . . . . . . . . . . . . . 121 Ernie F. Deel Adaptive Block Coding . . . . . . . . . 127 Tom R. Swan Algorithm Alley . . . . . . . . . . . . 127 Andrew Schulman Undocumented Corner . . . . . . . . . . 133 Alex Shmidt RINGO: VxDs on the Fly . . . . . . . . . 133 Jonathan Erickson Programmer's Bookshelf . . . . . . . . . 141 Brian Sawert The Advanced SCSI Programming Interface 154, 158--160 Monica E. Berg Of Interest . . . . . . . . . . . . . . 162 Michael Swaine Swaine's Flames . . . . . . . . . . . . 168
Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? Jay Frederick Ransom Pairing C and C++ [letter] . . . . . . . 10 Bruce Schneier The Cambridge Algorithms Workshop . . . 18 Peter Smith Cryptography without exponentiation . . 26, 28, 30 William Stallings SHA: the Secure Hash Algorithm . . . . . 32, 34 Bruce Schneier The Blowfish encryption algorithm . . . 38, 40, 98, 99 Mac A. Cody The wavelet packet transform . . . . . . 44--46, 50, 52, 54, 100 John A. R. Tucker and Phillip E. Fraley and Lawrence P. Swanson Fuzzy logic in C: an update . . . . . . 56, 58, 60, 62, 101, 102 Brian Hook and Dennis Shuman Digital I/O with the PC . . . . . . . . 64, 66, 68, 70, 103 Scott B. Guthery EchoNets, E-memes, and extended realities . . . . . . . . . . . . . . . 72, 74, 76, 78, 80, 82, 84 Al Stevens Help for Windows Help authors . . . . . 86--91 Salvatore R. Mangano Algorithms for directed graphs . . . . . 92, 94, 103, 106--7, 147 Michael Swaine Programming Paradigms . . . . . . . . . 109 Al Stevens C Programming . . . . . . . . . . . . . 115 Klaus Müller Think Globally Act Locally: Inside the Windows Instance Data Manager . . . . . 125 Andrew Schulman Introduction to `Think Globally Act Locally: Inside the Windows Instance Data Manager' (K. Müller) . . . . . . . . 125 Tom Ochs Review of \em Programming Classics: Implementing the World's Best Algorithms, by Ian Oliver . . . . . . . 133 Tom Ochs Review of \em Algorithms from P to NP, Volume I: Design and Efficiency, by B. M. E. Moret and H. D. Shapiro . . . . . 134 Monica E. Berg Of Interest . . . . . . . . . . . . . . 148 Michael Swaine Swaine's Flames . . . . . . . . . . . . 152
Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? Al Stevens Quincy: A C Interpreter Project . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 Peter D. Varhol Trends In Operating System Design . . . 18--20, 22, 26--27 Sing Li An Interview with Linus Torvalds . . . . 26 Michael A. Floyd A Conversation with Linus Torvalds . . . 27 Ken Gibson A C++ Multitasking Class Library . . . . 28, 30, 32, 34, 96--98 Richard Burgess MMURTL: Your Own 32-Bit Operating System 38, 40, 44--45 Marshall Brain Inside Windows NT services . . . . . . . 48--51, 100--101 Harlan W. Stockman Optimizing Matrix Math On The Pentium 52, 54, 56, 60, 62, 66 J. F. Bortolotti and P. Bernard and E. Bouchet RTMK: A Real-Time Microkernel . . . . . 70, 72, 74, 76, 105--106 John Rodley OS/2 and UnixWare Interprocess Communication . . . . . . . . . . . . . 78--82, 84, 107--109 Jon Wright Porting D-Flat++ To OS/2 . . . . . . . . 86, 88--89, 110--111 Brian Proffit A Multicolumn List-Box Container For OS/2 . . . . . . . . . . . . . . . . . . 90, 92--94 Michael Swaine Programming Paradigms . . . . . . . . . 113 Al Stevens C Programming . . . . . . . . . . . . . 117 Tom R. Swan Algorithm Alley . . . . . . . . . . . . 123 Andrew Schulman Undocumented Corner . . . . . . . . . . 137 Al Stevens Programmer's Bookshelf . . . . . . . . . 141 Monica E. Berg Of Interest . . . . . . . . . . . . . . 148 Michael Swaine Swaine's Flames . . . . . . . . . . . . 152
Al Stevens Quincy: A C Interpreter Project . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 John Rodley Developing GUIs for Database Applications . . . . . . . . . . . . . . 18--20, 22, 24--25, 92 Avram K. Tetewsky GUI Development for Real-Time Applications . . . . . . . . . . . . . . 28, 30, 32, 36, 38, 40--41 Larry Medwin A Dual-UI Constrain Equation Solver In C++ . . . . . . . . . . . . . . . . . . 44, 46, 48--50, 93--94 Mark Linton Fresco: The Next Generation InterViews [sidebar] . . . . . . . . . . . . . . . 49 Arthur D. Applegate Rethinking Memory Management . . . . . . 52, 54--55, 96--97 Gary McGrath Optimizing MC68882 Code . . . . . . . . 58, 60, 62, 64, 66, 98--99 Kamran Husain Extending Imake . . . . . . . . . . . . 70, 72, 74--76 Michael Yam Examining Symantec C++. Updating the PT periodic table program . . . . . . . . . 80, 82--83, 100--101 J. Randolph Brown Cross-platform database development. Strategies for FoxPro developers . . . . 84, 88, 90--91, 102 Michael Swaine Programming Paradigms . . . . . . . . . 105 Al Stevens C Programming . . . . . . . . . . . . . 111 Tom R. Swan Algorithm Alley . . . . . . . . . . . . 117 Andrew Schulman and Art Rothstein and Roger Alley and others Undocumented Corner: OS/2 for Windows: IBM's Patch-O-Rama . . . . . . . . . . . 121, 122, 126--128, 130 Michael A. Floyd Programmer's Bookshelf: \em Windows Programming Power with Custom Controls, by Paul Cilwa and Jeff Duntemann [review] . . . . . . . . . . . . . . . . 133 Troy A. Miles Writing PCMCIA Software . . . . . . . . 150, 152, 154, 156--157 Monica E. Berg Of Interest . . . . . . . . . . . . . . 158 Michael Swaine Swaine's Flames . . . . . . . . . . . . 160
Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 Glenn M. Lewis Morphing 3-D Objects in C++ . . . . . . 18--20, 22, 86--87 Robert Krten Generating Realistic Terrain . . . . . . 26, 28, 88, 90--91 Jeremy Spiller 3-D Texture Mapping . . . . . . . . . . 32, 34, 36--37, 92, 94--95 Alain Mangen Ray: A Ray-Tracing Program in C++ . . . 40--43, 96, 98 Jack J. Woehr Lofti Visions, Part 1 . . . . . . . . . 44 Douglas Reilly A C++ Class For Generating Bar Codes . . 56, 58, 60, 62, 99--100 Zongnan H. Lu Postman: A Bridge to the Unix Mail System . . . . . . . . . . . . . . . . . 64, 66, 101--102 Craig A. Lindley Ray tracing and the POV-Ray toolkit . . 68, 70, 72, 74, 76, 103 Dennis Cronin Examining Audio DSP Algorithms . . . . . 78, 80, 82, 84, 104 Michael Swaine Programming Paradigms . . . . . . . . . 107 Al Stevens C Programming . . . . . . . . . . . . . 111 Tim Kientzle Algorithm Alley: Rendering Circles and Ellipses . . . . . . . . . . . . . . . . 119 Ralf Brown QPI: the QEMM-386 Programming Interface 123 Andrew Schulman Undocumented Corner . . . . . . . . . . 123 Jonathan Erickson Programmer's Bookshelf . . . . . . . . . 133 Monica E. Berg Of Interest . . . . . . . . . . . . . . 148 Michael Swaine Swaine's Flames . . . . . . . . . . . . 152
Al Stevens C Programming . . . . . . . . . . . . . ?? Al Stevens Quincy: A C Interpreter Project . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 Kevin Leary Numerical C and DSP . . . . . . . . . . 18--24, 90 Timothy D. Nestved Migrating C Code to Unicode . . . . . . 28, 30, 32, 91--93 Greg Voss Polymorphic C . . . . . . . . . . . . . 36, 38, 40--42, 94--95 Tom Pennello C++ Namespaces . . . . . . . . . . . . . 44, 46 48--49 Jack Woehr Lotfi Visions, Part 2 . . . . . . . . . 52 Dan Ford Associations in C++ . . . . . . . . . . 62, 64, 66, 68, 96 James Conger Using the Microsoft Mail API . . . . . . 72--76, 98, 100 Dennis Merritt Extending C With Prolog . . . . . . . . 78--82 David Hovel Small Prolog and Windows NT Networking [sidebar] . . . . . . . . . . . . . . . 80 Neil G. Rowland, Jr. Speech Synthesis in C++ . . . . . . . . 84, 86--88, 105--106 Michael Swaine Programming Paradigms . . . . . . . . . 109 Al Stevens C Programming . . . . . . . . . . . . . 113 Bruce Schneier Algorithm Alley . . . . . . . . . . . . 119 William Stallings Password Generation by Bloom Filters . . 119 Troy Folger Undocumented OS/2: DosQProcStatus . . . 125 Andrew Schulman Undocumented Corner . . . . . . . . . . 125 Al Stevens Programmer's Bookshelf . . . . . . . . . 133 Reginald B. Charney Data Attribute Notation in C++ . . . . . 139, 144--151 Monica E. Berg Of Interest . . . . . . . . . . . . . . 148 Michael Swaine Swaine's Flames . . . . . . . . . . . . 152
Monica E. Berg Of Interest . . . . . . . . . . . . . . ?? Al Stevens C Programming . . . . . . . . . . . . . ?? Marv Luse The BMP File Format . . . . . . . . . . 18--20, 22, 82, 84, 85 Rodney Bates K-tree container data structures . . . . 26--28, 30, 32, 34 Art Sulger Extending REXX with C++ . . . . . . . . 36--37, 68, 86--88 Hamish Hubbard Inside the RIFF Specification . . . . . 38, 40, 42--44, 89--90 Anton Kruger Median-cut color quantization . . . . . 46, 48, 50, 52, 54, 91--92 David Mockridge EPROM Emulation . . . . . . . . . . . . 56, 58, 60--63, 93--94 Michael A. Covington and Mark Juric A Print Filter for UNIX: More power for your LaserJet 4M printer . . . . . . . . 64--65, 67, 95--96 John Rodley Examining OS/2 2.1 executable file formats . . . . . . . . . . . . . . . . 70, 72--75, 97 Craig A. Lindley Image Acquisition Using TWAIN . . . . . 76, 78--80, 98--100 Bruce Schneier NP-completeness . . . . . . . . . . . . 119--121 Taku Okazaki The Windows Global EMM Import Interface 123 Walter Oney Review of \em Writing Windows Virtual Device Drivers, by David Thielen and Bryan Woodruff . . . . . . . . . . . . . 129
Al Stevens Quincy: A C Interpreter Project . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 Mark Betz Interoperable objects . . . . . . . . . 18--20, 24--26, 28, 32, 34, 36--39 Johannes L. Marais Oberon System 3 . . . . . . . . . . . . 42--50 Alan West Making a case for animating C++ programs 54--60 James R. Gillig Endian-neutral software, part 1 . . . . 62, 64, 68--70 Doron Drusinsky Extended state diagrams and reactive systems . . . . . . . . . . . . . . . . 72, 74, 76, 78, 80, 106--107 Marshall Brain Network communications using the NetBEUI protocol . . . . . . . . . . . . . . . . 82, 84, 86--87, 110--111 James O. Coplien Examining the Software Development Process: How do you measure the effectiveness of a development process? 88, 90, 92, 94--97 Billy Cousins OLE2 and .INI Files . . . . . . . . . . 98--100, 112 Michael Swaine Programming Paradigms . . . . . . . . . 103 Al Stevens C Programming . . . . . . . . . . . . . 107 Bruce Schneier Algorithm Alley . . . . . . . . . . . . 119 Al Stevens C Programming . . . . . . . . . . . . . 121 Andrew Schulman Undocumented Corner . . . . . . . . . . 123 Kenneth V. Price Genetic Annealing . . . . . . . . . . . 127 Walter Oney Programmer's Bookshelf . . . . . . . . . 129 Michael Swaine Swaine's Flames . . . . . . . . . . . . 136 Andrew Schulman Microsoft's Grip on Software Tightened by Antitrust Deal . . . . . . . . . . . 143
Al Stevens Quincy: A C Interpreter Project . . . . ?? Jonathan Erickson Editorial: Who's That Tapping at Your Back Door? . . . . . . . . . . . . . . . 6--6 Mark Betz An SQL Server Message-Handling Class . . 18--20, 22, 24, 90 David Betz Your Own Tiny Object-Oriented Language 26 Jonathan Wilcox Object Databases . . . . . . . . . . . . 26, 28--30, 32, 34 Art Sulger Database Management in C++ . . . . . . . 36, 38, 40, 91--93 James R. Gillig Endian-neutral software. Part 2 . . . . 44, 46--49, 51 Ian Hirschsohn Sharing Peripherals Intelligently . . . 52--60 James R. Gillig Endian-Neutral software . . . . . . . . 62 Brian R. Anderson Interfacing laboratory instruments . . . 62, 64, 66, 68, 97--98 William Stallings Packet Filtering in the SNMP Remote Monitor . . . . . . . . . . . . . . . . 70, 72--74, 99 Assaf Reznick Character Simulation With ScriptX . . . 76 Assaf Reznik Character Simulation with ScriptX . . . 76, 78, 80, 82, 100--101 Ray Valdés Introducing ScriptX [sidebar] in ``Character Simulation with ScriptX'' (A. Reznik) . . . . . . . . . . . . . . 78 Michael Regelski Building Multimedia Databases . . . . . 84, 86--88, 102--103 Billy Cousins OLE2 and Windows .INI files . . . . . . 98 Michael Swaine Programming Paradigms . . . . . . . . . 105 Al Stevens C Programming . . . . . . . . . . . . . 109 Colin Plumb Truly Random Numbers . . . . . . . . . . 113 Bruce Schneier Algorithm Alley . . . . . . . . . . . . 113 Michael Swaine Programming Paradigms . . . . . . . . . 115 Joseph Celko Partitions . . . . . . . . . . . . . . . 116--117, 140--141 Douglas Reilly Programmer's Bookshelf . . . . . . . . . 121 Bruce Schneier Algorithm Alley . . . . . . . . . . . . 127 Monica E. Berg Of Interest . . . . . . . . . . . . . . 142 Andrew Schulman Undocumented Corner . . . . . . . . . . 143 Michael Swaine Swaine's Flames . . . . . . . . . . . . 144 Peter D. Varbol Programmer's Bookshelf . . . . . . . . . 151 Michael Swaine Swaine's Flames . . . . . . . . . . . . 160
Al Stevens C Programming . . . . . . . . . . . . . ?? Al Stevens Quincy: A C Interpreter Project . . . . ?? Jonathan Erickson Editorial: Not So Strange Bedfellows . . 6 Douglas C. McArthur World Wide Web and HTML . . . . . . . . 18--20, 22, 24, 26, 86 Dan Connolly Evolution of the HTML Spec [sidebar] . . 20--20 Jutta Degener Digital Speech Compression . . . . . . . 30, 32, 34, 88--89 Tim Kientzle Intelligent XYModem . . . . . . . . . . 36, 38, 40, 42, 90--91 Bart De Canne Error-Recovery Codes . . . . . . . . . . 44 B. De Canne Error-recovery codes . . . . . . . . . . 44, 46, 48, 50, 92--93 Ian Hirschsohn Sharing Peripherals Intelligently. Part 2 . . . . . . . . . . . . . . . . . . . 52, 54, 56, 58 Alberto Daniel Ferrari Real-time scheduling algorithms . . . . 60, 62, 64, 66, 94, 96 Bill Wells Writing Serial Drivers for UNIX . . . . 68, 70--71, 97--99 Peter Kent Adding animation to Windows Help . . . . 74, 76, 78, 80 Michael A. Floyd Building an e-mail manager . . . . . . . 82, 84--85, 100 Michael Swaine Programming Paradigms . . . . . . . . . 103 Pieter Gosselink and Bruce Schneier Algorithm Alley: The Gosselink Ditherer 117--119, 133 Monica E. Berg Of Interest . . . . . . . . . . . . . . 134 Michael Swaine Swaine's Flames . . . . . . . . . . . . 136
Tom R. Swan Algorithm Alley . . . . . . . . . . . . 121 Andrew Schulman Undocumented Corner . . . . . . . . . . 125 Tom Ochs Programmer's Bookshelf . . . . . . . . . 133
Michael A. Floyd Rebel Alliance . . . . . . . . . . . . . 4 Joseph Hlavaty Windows Apps and Exception Handlers . . 7 Paul Kaplan Porting to the PowerMac . . . . . . . . 7 Thomas Keffer Programming with the Standard Template Library . . . . . . . . . . . . . . . . 7 Dave Roberts Collision Detection . . . . . . . . . . 7 John Rodley Programming HotJava Applets . . . . . . 7 Andrew Davison Animation Using the Netscape Browser . . 13 Michael Ross Optimizing for the PowerPC . . . . . . . 13 Al Stevens Theatrix: A C++ Game Class Library . . . 13 David Weber Associative Arrays in C++ . . . . . . . 13 Al Williams Simplifying Windows Development . . . . 15 William Hill A Portable C++ String Class . . . . . . 19 Christopher Kelly Video for Windows and WinG . . . . . . . 19 Eugene E. Kim Programming CGI in C . . . . . . . . . . 21 Wei Xiao A Visual Basic Form Generator . . . . . 23 John W. Ratcliff Music and Sound for Interactive Games 25 Rob Wallace Digital Sound Engineering for Game Development [sidebar] . . . . . . . . . 26 Ann Lynnworth Tracking Home Page Hits . . . . . . . . 27 Robert Rosenberg Adding Auxiliary Views for Windows Apps 27 Michael Yam A C++ Framework for DCE Threads . . . . 27 Diana Gruber Attached Sprites . . . . . . . . . . . . 29 Kip McClanahan and Mike Phillip and Mark VandenBrink High-Performance Programming for the PowerPC . . . . . . . . . . . . . . . . 29 Kendall Bennett and Brian Hook Using the VESA BIOS 2.0 Linear Frame Buffer . . . . . . . . . . . . . . . . . 35 Jim Lawless Client/Server Development and the World Wide Web . . . . . . . . . . . . . . . . 35 Todd D. Esposito and Andrew K. Johnson A Generic Parsing Engine in C++ . . . . 37 John Rogers Bit Operations with C Macros . . . . . . 40 Saurabh Dixit Creating Special-Effect Bitmaps . . . . 41 James Finnegan Implementing Games for Windows . . . . . 42 Cal Simone CGI and AppleScript . . . . . . . . . . 43 Michael Abrash Frames of Reference . . . . . . . . . . 46 Michael Abrash One Story Two Rules and a BSP Renderer 47 Michael Abrash The Day the World Changed . . . . . . . 48 Michael Abrash Compiling a BSP Tree . . . . . . . . . . 49 Hal W. Hardenbergh Pushy? Me?? . . . . . . . . . . . . . . 53 Hal W. Hardenbergh Robots Around Us . . . . . . . . . . . . 53 Hal W. Hardenbergh Rocket Science Made Simple . . . . . . . 53 Hal W. Hardenbergh San Jose's High-Tech Ditch . . . . . . . 53 Hal W. Hardenbergh This Stuff is Hard . . . . . . . . . . . 54 Marc E. Brown Patents: Best Protection for Software Today? . . . . . . . . . . . . . . . . . 55 Erich Gamma and Richard Helm Designing Objects for Extension . . . . 56 Richard Helm and E. Gamma Patterns for Reusable Object-Oriented Software . . . . . . . . . . . . . . . . 56 Marc E. Brown Trademark Wars in Cyberspace . . . . . . 57 Erich Gamma and Richard Helm Observations on Observer . . . . . . . . 59 Marc E. Brown Copying Software Concepts Can Be Legal 61 Marc E. Brown Competing with Your Former Employer . . 61 Marc E. Brown Software Development Contracts . . . . . 61
Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 Jeffrey Ferris PowerPC Address Munging [letter] . . . . 10 Stephen S. Fried Pentium Optimizations and Numeric Performance . . . . . . . . . . . . . . 18--20, 22, 26--29 Kenneth G. Hamilton Undocumented features of PC Fortran libraries . . . . . . . . . . . . . . . 30, 32, 34, 84--85 John Rogers Using the Multiple Precision Library . . 36, 38, 40, 42, 86, 88--89 Jeffrey W. Hamilton Basic Arithmetic With Infinite Integers 44 Eric McRae Timing for the 68332 . . . . . . . . . . 50, 52, 54, 56, 58, 60 Zongnan H. Lu Remote Network Printing . . . . . . . . 62, 64, 66, 100--101 Steven Baker Complying with Fortran 90 . . . . . . . 68, 70, 72, 74--76 Ron Fosner Virtual Reality and the WorldToolKit for Windows . . . . . . . . . . . . . . . . 78, 80, 82, 102--105 Reginald B. Charney Data Attribute Notation Relationships 106 R. B. Chorney Data attribute notation relationships 106--107, 145 Michael Swaine Programming Paradigms . . . . . . . . . 109 Al Stevens C Programming . . . . . . . . . . . . . 115 Bruce Schneier Algorithm Alley: The GOST Encryption Algorithm . . . . . . . . . . . . . . . 123 Andrew Schulman Undocumented Corner: Windows 90+5 . . . 127 Peter Gulutzan Programmer's Bookshelf: Review of \em Zen of Code Optimization, by Michael Abrash, in ``Making Programs Go Faster'' 133 Ronald L. Rivest The RC5 Encryption Algorithm . . . . . . 146, 148 Monica E. Berg Of Interest . . . . . . . . . . . . . . 150 Michael Swaine Swaine's Flames . . . . . . . . . . . . 152
Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? Al Stevens C Programming . . . . . . . . . . . . . ?? Michael Swaine Programming Paradigms . . . . . . . . . ?? John Bloomer Distributed computing and the OSF/DCE 18--20, 22, 24, 26, 28, 30, 96, 98--100 E. Douglas Jensen Distributed real-time operating systems 32--34, 36, 38 Todd Tannenbaum and Michael Litzkow The Condor Distributed Processing System 40 Todd Tannenbaum and Michael Litzkow The Condor distributed processing system 40, 42--44, 47--48, 102 Patrick Suel Extending C++ for Distributed Applications . . . . . . . . . . . . . . 50, 52--54 Wilson MacGyver Liaw Reading GIF Files . . . . . . . . . . . 56, 58, 60, 103, 106--107 Peter Torelli The Microsoft Flash File System . . . . 62, 64, 68, 70, 72, 108--110 Peter J. Schwaller and John Q. Walker, II Designing Servers with CPI-C . . . . . . 74, 76--77, 79--80, 111 John LaPlante Building an OLE server using Visual C++ 2.0 . . . . . . . . . . . . . . . . . . 82, 84, 86--87, 112--113 Jack Danahy Deploying DCE as an Infrastructure . . . 88, 90--93 John Ridley Identifying Serial Port IRQs . . . . . . 94--95, 157 J. G. G. Dobbe Faster FFTs . . . . . . . . . . . . . . 125 Joseph Hlavaty RTFHelp for Windows Help Files . . . . . 135--136, 138--139, 154, 156
Monica E. Berg Of Interest . . . . . . . . . . . . . . ?? Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 Jonathan Erickson Dr. Dobb's Journal Excellence In Programming Awards . . . . . . . . . . . 18 Richard B. Lam Cross-platform communication classes . . 20, 22, 24, 26 Ronald G. White and John Biard A Portable Font Specification . . . . . 28, 30, 32, 34 William Fairman and Randal Hoff Cross-platform database programming . . 36, 38, 40, 42 David Charlap The BMP File Format. Part 1 . . . . . . 44, 46--48, 50 Marc E. Hoffman Simulation Compilation and Portability 52, 54--55, 58--59 William Stallings Congestion Control In Frame-Relay Networks . . . . . . . . . . . . . . . . 60, 62, 64, 66, 68, 70 Raymond J. Schneider Examining The PowerBASIC Developer Kit 72, 75--79 Stan Dolberg Building Distributed Applications With Galaxy . . . . . . . . . . . . . . . . . 80, 82, 84, 86--87 Michael Swaine Programming Paradigms . . . . . . . . . 109 Micha Hofri Algorithm Analysis . . . . . . . . . . . 125 Bruce Schneier Algorithm Alley . . . . . . . . . . . . 125 Al Stevens C Programming . . . . . . . . . . . . . 125 Robert Orfali and Dan Harkey Building a SOM OpenDoc Part . . . . . . 131 Al Stevens Programmer's Bookshelf . . . . . . . . . 143 Monica E. Berg Of Interest . . . . . . . . . . . . . . 148 Michael Swaine Swaine's Flames . . . . . . . . . . . . 152
Michael Swaine Swaine's Flames . . . . . . . . . . . . ?? Steve Walton Image Authentication for a Slippery New Age . . . . . . . . . . . . . . . . . . 18--20, 22, 24, 26, 82, 84--87 Paul J. Martino The Detrimental Wire Exclusion Heuristic 28, 30, 32--33, 88, 90--91 David Charlap The BMP File Format. Part 2 . . . . . . 34, 36--38, 40, 42, 92--93 David Perelman-Hall Directed Acyclic Graph Unification . . . 44 D. Perelman-Hall Directed acyclic graph unification . . . 44, 46, 48, 50--51, 94, 98--99 Dutch Guckenberger and Liz Guckenberger and Frank Luongo and Kay Stanney and Jose Sepulveda Above-real-time training and the hyper-time algorithm . . . . . . . . . . 52, 54, 56, 58, 60--61, 100, 102 Robert A. Duffy A POP3 Mail Client using WinSock . . . . 62--66, 103--104 Ted Faison Borland C++ 4.5 and OLE 2.0 Programming 68 Chane Cullens Serialization and MFC . . . . . . . . . 76 Kim S. Larsen Computing the Day of the Week . . . . . 125 Tim Coe Inside the Pentium FDIV Bug . . . . . . 129 Monica E. Berg Of Interest . . . . . . . . . . . . . . 150
Monica E. Berg Of Interest . . . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? Al Stevens C Programming . . . . . . . . . . . . . ?? Michael Swaine Programming Paradigms . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 Matt Welsh Implementing Loadable Kernel Modules for Linux . . . . . . . . . . . . . . . . . 18--20, 22, 24, 96 Richard B. Lam Shared Memory and Message Queues . . . . 28, 30, 97, 100--101 Kristiaan Coppieters A Cross-Platform Binary Diff . . . . . . 32, 35--36 Joseph Hlavaty MapMan: Building Windows Symbols Files 40, 42--47 Jonathan Finger Lightweight Tasks in C . . . . . . . . . 48, 50, 102 Vinod Anantharaman Windows 95 Common Controls . . . . . . . 52, 54--56, 58, 60--63 Brett Dutton Bob as a Macro Processor Library . . . . 64, 66--69, 104 David Betz Callable Bob [sidebar] . . . . . . . . . 66 Rand Gray and Deepak Mulchandani Efficient MC68HC08 Programming . . . . . 70, 72, 74, 76, 78 William F. Jolitz and Lynne Greer Jolitz Role-based network security . . . . . . 80, 82, 84--85 Ira Rodens Inside the OLE 2 SDK (Software Development Kit) . . . . . . . . . . . . 86--89, 106 Peter D. Varhol Photon and QNX . . . . . . . . . . . . . 90, 92--94 Michael Swaine Programming Paradigms . . . . . . . . . 109 Al Stevens C Programming: DFWrap: the D-flat C++ wrapper classes . . . . . . . . . . . . 115--117 Bruce Schneier Algorithm Alley . . . . . . . . . . . . 119 Rainer Storn Constrained Optimization . . . . . . . . 119--123 Peter D. Varhol Programmer's Bookshelf . . . . . . . . . 127 Matt Weisfeld Portable Screen Handling . . . . . . . . 142--143, 146, 148--149 Michael Swaine Swaine's Flames . . . . . . . . . . . . 152
Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 Mark Coats and Terry Mellon Constructing Operational Specifications 18--20, 22, 24, 26, 28, 30, 33 James E. Smith and Shlomo Weiss PowerPC 601 and Alpha 21064 . . . . . . 19 Kanchan Kumar A Practical Strategy For Object-Oriented Design . . . . . . . . . . . . . . . . . 34, 36, 38--39 Phil Herold and Carla Merrill (or Merill??) Interactive Design Methodology . . . . . 40, 42, 44--47, 98 Dan Ford Event-Driven Threads In C++ . . . . . . 48--50, 52, 54, 98, 100, 102 John Rodley Thread Programming In UnixWare 2.0 . . . 56, 58--61, 102, 104 Doron Drusinsky Visually Designing Embedded-Systems Applications . . . . . . . . . . . . . . 62, 64, 66, 68, 104--106 Andrew Davison Coding With HTML Forms . . . . . . . . . 70, 72--75, 106--109 Jeffrey L. Armbruster Comparing CASE Tools . . . . . . . . . . 76 Herb Isenberg Flexible Testing Systems . . . . . . . . 88 Michael Swaine Programming Paradigms: Fluid concepts and creative analogies . . . . . . . . . 111--113 Al Stevens C Programming . . . . . . . . . . . . . 115 Bruce Schneier Algorithm Alley . . . . . . . . . . . . 121 Kyle A. York Sound Compression Using Quantized Deltas 121--122 Reginald B. Charney Programmer's Bookshelf: Reviews: \em Software Development with Z, by J. B. Wordsworth [Addison-Wesley 1992] . . . . 125--126 Monica E. Berg Of Interest . . . . . . . . . . . . . . 142 Michael Swaine Swaine's Flames . . . . . . . . . . . . 144
Michael A. Floyd Editorial . . . . . . . . . . . . . . . ?? Lou Grinzo and Steve Gallagher Books from inside the walls . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 Dennis Cronin Single-Image Stereograms . . . . . . . . 18--20, 22, 24, 27 Mark Seminatore A Ray-Casting Engine In C++ . . . . . . 28, 30, 32, 34 Lee Daniel Crocker PNG: The Portable Network Graphic Format 36, 38, 40, 42, 44 Nathan Dwyer Implementing and Using BSP Trees . . . . 46, 48--49 Craig A. Lindley JPEG-like Image Compression. Part 1 . . 50, 52, 54--58 Nick Tredennick The Future of Programmable Logic . . . . 60, 62, 64, 66, 68 Peter D. Varbol An Architecture for Network Simulation 70 Peter D. Varhol An Architecture for Network Simulation 70, 72, 74, 76, 78 Brad Haakenson Examining the VESA VBE 2.0 specification 80--83 Ron Fosner Programming With OpenGL . . . . . . . . 86, 88, 90--96, 98--107 Michael Swaine Programming Paradigms . . . . . . . . . 109 Al Stevens C Programming . . . . . . . . . . . . . 115 Dean Clark Popularity algorithm . . . . . . . . . . 121 Bruce Schneier Algorithm Alley . . . . . . . . . . . . 121 Lou Grinzo and Steve Gallagher Programmer's Bookshelf . . . . . . . . . 137 Monica E. Berg Of Interest . . . . . . . . . . . . . . 142 Michael Swaine Swaine's Flames . . . . . . . . . . . . 144
Willard J. Dickerson 68HC05-based system design . . . . . . . ?? Michael A. Floyd Editorial . . . . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 Anonymous Letters --- You . . . . . . . . . . . . 10 Dan Zigmond Generic programming and the C++ STL . . 18--20, 22, 24, 96 Rex Jaeschke Standard C: An Update . . . . . . . . . 28, 30, 32 Kirit Saelensminde A Pooling Memory Manager For C++ . . . . 34, 36, 38, 40 James Blustein Implementing Bit Vectors In C . . . . . 42, 44, 46, 96, 98--100 Tim Wittenburg Alpha Blending Graphic Images . . . . . 48, 50--52, 54, 100--101 Arthur van Hoff Java and Internet Programming . . . . . 56, 58, 60--61, 101--102 Craig A. Lindley JPEG-Like Image Compression. Part 2 . . 62, 64--66, 102--105 Willard J. Dickerson 68HC05-based system design (antilock brake systems) . . . . . . . . . . . . . 68, 70, 72, 74, 76, 78 Ernest N. Prabhakar Implementing Distributed Objects . . . . 80, 82, 84--85, 105--106 Ira Rodens Examining Symantec C++ 7.0 . . . . . . . 86--89, 106--107 W. Dale Cave Developing C++ NLMs . . . . . . . . . . 90, 92, 94--95, 107--109 Michael J. Vilot The C++ Standard Library . . . . . . . . 111--113, 144--145 Michael Swaine Programming Paradigms . . . . . . . . . 115 Al Stevens C Programming . . . . . . . . . . . . . 121 Peter Pearson Biochemical Techniques Take On Combinatorial Problems . . . . . . . . . 127 Bruce Schneier Algorithm Alley . . . . . . . . . . . . 127 Lynne Greer Jolitz Programmer's Bookshelf . . . . . . . . . 133 Monica E. Berg Of Interest . . . . . . . . . . . . . . 150 Michael Swaine Swaine's Flames . . . . . . . . . . . . 152
Monica E. Berg Of Interest . . . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? Michael A. Floyd Editorial . . . . . . . . . . . . . . . ?? Anonymous Letters --- You . . . . . . . . . . . . 8 Andrew Davison Clickable Images in HTML . . . . . . . . 18--20, 22, 24, 27, 98--100 Al Williams Installing Windows 95 Programs . . . . . 28, 30, 32, 34--36, 100--104 Perry W. Scherer Simplifying C++ GUI development . . . . 40, 42--44, 46 James R. Gillig PowerPC Bi-Endian Capabilities [sidebar] in `Bit Operations with C Macros' . . . 43 Robert Sardis Visual Basic by Remote Control . . . . . 48, 50, 52, 104 Tim Kientzle MIME and Internet Mail . . . . . . . . . 54, 56, 58, 60, 104, 106 Thomas A. Roden and Glenn E. Jystad Plug and Play Run-Time Services . . . . 62, 64--66 Dana Burd Zero-copy interfacing to TCP/IP . . . . 68, 70, 72, 74, 76, 78, 106, 108--110 Frank E. Redmond, III A VBX for UDP . . . . . . . . . . . . . 80, 82, 84, 87, 110--111 Paul J. Martino Implementing Flicker-Free Motion . . . . 88--89, 114, 116--117 Tim Parker Examining C/C++ compilers . . . . . . . 90--91, 93, 95--96 Michael Swaine Programming Paradigms . . . . . . . . . 119 Al Stevens C Programming . . . . . . . . . . . . . 123 Bruce Schneier Algorithm Alley: The Blowfish Encryption Algorithm: One Year Later . . . . . . . 137 Jonathan Erickson Programmer's Bookshelf . . . . . . . . . 141 Michael Swaine Swaine's Flames . . . . . . . . . . . . 152
Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? Michael A. Floyd Editorial . . . . . . . . . . . . . . . ?? Anonymous Letters --- By You . . . . . . . . . . . 10 David M. Papurt Automating Association Implementation in C++: Pointer-based association implementation . . . . . . . . . . . . . 18--20, 22, 23, 24, 108--110 David L. Moore Object-Oriented Facilities in Ada 95 . . 28, 30, 32, 34--35 Steve Freeman Partial Revelation and Modula-3 . . . . 36, 38, 40, 42, 110, 112 James R. Gillig PowerPC Bi-Endian Capabilities [sidebar] in `Bit Operations with C Macros' . . . 43 Richard Calaway Object-Oriented Programming in S . . . . 44, 46, 48--49, 51, 113--115 Henry Saade and Ann Wallace Cobol '97: a status symbol . . . . . . . 52, 54, 115--116 Kirit Saelensminde File-streaming classes in C++ . . . . . 58, 60, 118, 120, 122 Jim Beveridge Inside MFC Serialization . . . . . . . . 62, 64, 66--67, 122--123 Brian L. Dipert Inside Flash Memory . . . . . . . . . . 68, 70, 72, 74, 76, 78, 80, 82--83 John Fritz Lowrey Environment Variables and Windows 3.1 84, 86, 88--89, 123--124 Rod da Silva Examining CA-Visual Objects . . . . . . 90 Rod da Silva Examining CA-visual Objects . . . . . . 90--92, 95--96, 98, 124, 126--127 Mark Robinson PowerBuilder NVOs . . . . . . . . . . . 103 Michael Swaine Programming Paradigms . . . . . . . . . 131 Al Stevens C Programming . . . . . . . . . . . . . 137 Louis J. Plebani Common-Fraction Approximation of Real Numbers . . . . . . . . . . . . . . . . 145 Bruce Schneier Algorithm Alley . . . . . . . . . . . . 145 Ray Valdes Programmer's Bookshelf . . . . . . . . . 149 Monica E. Berg Of Interest . . . . . . . . . . . . . . 164 Michael Swaine Swaine's Flames . . . . . . . . . . . . 168
Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? Anonymous Letters --- You . . . . . . . . . . . . 10 Bob Canup Thunking and Windows 95 [letter] . . . . 16 Mark Betz Networking Objects with CORBA . . . . . 18--20, 22, 25--26 John Rogers Your Own Endian Engine . . . . . . . . . 30, 34--36 Jeremy Woo-Sam and Tony Murphy The Oracle Call Interface and C++ . . . 38 J. Woo-Sam and T. Murphy The Oracle Call Interface and C++ . . . 38, 40--42, 45 William D. May Programming TI's Multimedia Video Processor . . . . . . . . . . . . . . . 46, 48, 50--52 Robert Krten Indexed Text Retrieval . . . . . . . . . 54, 56, 59--61 Don Matthews Porting VXDs from Windows 3.1 to Windows 95 . . . . . . . . . . . . . . . . . . . 64, 66--68 Stig Kofoed Portable Multitasking in C++ . . . . . . 70, 72, 74, 76, 78 William Stamatakis Using MAPI for Interapplication Communication . . . . . . . . . . . . . 80, 82, 84, 86 Dennis R. McCarthy Writing ODBC Drivers . . . . . . . . . . 88 Tim Wittenburg Data Models, Case Tools, and Client/Server Development . . . . . . . 92 Michael Swaine Programming Paradigms . . . . . . . . . 121 Al Stevens C Programming . . . . . . . . . . . . . 125 Mani G. Iyer Permutation Generation Using Matrices 133 Bruce Schneier Algorithm Alley . . . . . . . . . . . . 133 Michael Swaine Programmer's Bookshelf . . . . . . . . . 145 Monica E. Berg Of Interest . . . . . . . . . . . . . . 150 Michael Swaine Swaine's Flames . . . . . . . . . . . . 152
Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? Marc Najork Visual Programming in 3-D . . . . . . . 18--20, 22, 24, 28, 31 Al Williams Visually Constructing Delphi Components 34, 36, 39--41, 102--105 Michael A. Floyd Extending Visual Basic's Comm Control 44, 46, 48--49, 105--106 Darrel J. Conway A C++ Integrator Class . . . . . . . . . 52, 54--56, 58, 106--108 Mark Russinovich and Bryce Cogswell Examining the Windows 95 Layered File System . . . . . . . . . . . . . . . . . 60, 62, 66, 68--70, 108--110 Barry Kauler Terse: A Tiny Real-Time Operating System 72, 74, 76, 78, 80, 110, 114, 116 Mark Robinson An Application-Access Security Model . . 82, 84, 86--88, 116, 118 Charles Albert Mirho VTOOLSD for VXD Development . . . . . . 90 Carol Jones and Morgan Kinne Visual Programming with Reusable Objects 96 Michael Swaine Programming Paradigms . . . . . . . . . 121 Al Stevens C Programming . . . . . . . . . . . . . 125 Gene Callahan Generating Sequential Keys in an Arbitrary Radix . . . . . . . . . . . . 131 Bruce Schneier Algorithm Alley . . . . . . . . . . . . 131 Ray Duncan Programmer's Bookshelf . . . . . . . . . 133 Monica E. Berg Of Interest . . . . . . . . . . . . . . 150 Michael Swaine Swaine's Flames . . . . . . . . . . . . 152
Tim Kientzle Editorial . . . . . . . . . . . . . . . ?? Christopher A. Howard Games Programming with DirectPlay . . . 7 Al Williams Customizing Delphi Applications . . . . 7 James Mischel DirectPlay Gotchas [sidebar] . . . . . . 10 Roger Sippl SQL Access Group's Call-Level Interface 11 Nate Goudie Designing Isometric Game Environments 13 Victor Webber Fast Interrupt Processing in Windows 95 15 Ken North Performance Testing ODBC and Native SQL APIs . . . . . . . . . . . . . . . . . . 17 Ron van der Wal Designing a Distributed Simulation Game 21 Jay Almarode Partitioning Applications in Smalltalk 23 Matt Pietrek Direct Thunking in Windows 95 . . . . . 25 Mark Seminatore Your Own Two-Dimensional Gaming Engine 27 John Forrest Brown Building VxDs in Windows 95 . . . . . . 29 Richard A. Gams A Client/Server DBMS for Managing Clinical Data . . . . . . . . . . . . . 29 George Wright A MIDI Class in C++ . . . . . . . . . . 33 Jonathan Locke and Jeffrey Richter Windows 95 Subclassing and Superclassing 35 Dan Shusman Programming with M . . . . . . . . . . . 35 Michael Abrash Inside Quake: Visible-Surface Determination . . . . . . . . . . . . . 41 Ron Fosner Programming with OpenGL Primitives . . . 42 Michael Abrash 3-D Clipping and Other Thoughts . . . . 43 Hal W. Hardenbergh Gresham Emerges Triumphant . . . . . . . 47 Michael Abrash Quake's Hidden-Surface Removal . . . . . 48 Al Williams Lessons to Learn . . . . . . . . . . . . 51 Al Williams Recycling Windows Controls for Delphi 51 Hal W. Hardenbergh Small Catastrophes . . . . . . . . . . . 53 Erich Gamma and Richard Helm The Courier Pattern . . . . . . . . . . 55 Al Williams Peace Maker . . . . . . . . . . . . . . 55 Hal W. Hardenbergh Tempus Fugit . . . . . . . . . . . . . . 57 Marc E. Brown Liability for Defective Software . . . . 61 Marc E. Brown Servicing Upgrading or Interfacing with Someone Else's Software . . . . . . . . 61 Allen I. Holub Let the Games Begin . . . . . . . . . . 63
Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? Michael A. Floyd Editorial . . . . . . . . . . . . . . . ?? Mark R. Nelson Priority Queues and the STL . . . . . . 18--20, 22, 24, 26, 96 Tong Lai Yu Dynamic Markov Compression . . . . . . . 30, 32, 96, 98--100 D. R. McGregor and R. J. Fryer and P. Cockshott and P. Murray Faster Fractal Compression . . . . . . . 34, 36, 38--40 Bruce Schneier Differential and Linear Cryptanalysis 42, 44, 46, 48 G. Jason Mathews Evaluating Data-Compression Algorithms 50--53 Dean Clark Color Quantization using Octrees . . . . 54--57, 102--104 Stefan Hoenig and Scot Wingo Extending MFC . . . . . . . . . . . . . 58--59, 62--64, 100--101 Ian Goldberg and David Wagner Randomness and the Netscape Browser . . 66, 68--70 Trevor J. Pope Password Files . . . . . . . . . . . . . 72, 74, 76, 101, 103--104 Andrew Wilson and Peter D. Varhol TCP/IP and Windows 95 . . . . . . . . . 78 Jean-Louis Leroy Multiple Inheritance for MFC 4.0 . . . . 84 Günter Born A TARGA Viewer in Borland Delphi . . . . 90 Victor J. Duvanenko and W. E. Robbins and R. S. Gyurcsik Line-Segment Clipping Revisited . . . . 107--110, 116, 117 Michael Swaine Programming Paradigms . . . . . . . . . 111 Al Stevens C Programming . . . . . . . . . . . . . 118 Bruce Schneier Algorithm Alley . . . . . . . . . . . . 123 Burton S. Kaliski, Jr. and M. J. B. Robshaw Algorithm Alley: Multiple Encryption: Weighing Security and Performance . . . 123, 124, 126, 127 Charles Pfefferkorn Programmer's Bookshelf . . . . . . . . . 137 Monica E. Berg Of Interest . . . . . . . . . . . . . . 140 Michael Swaine Swaine's Flames . . . . . . . . . . . . 144
Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? Michael A. Floyd Editorial . . . . . . . . . . . . . . . ?? Al Stevens Quincy 96 integrated development environment . . . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6 Michael Doyle and Cheong Ang and David Martin Proposing a Standard Web API: Short circuiting the API wars . . . . . . . . 18--20, 22, 24, 26, 91 Tim Kientzle Improving Kermit Performance: A windowing strategy makes all the difference . . . . . . . . . . . . . . . 28, 30, 32, 34, 36, 38, 91--92 G. Dinesh Dutt CGI and the World Wide Web . . . . . . . 42, 44, 46, 48, 50, 92, 94--96 Matt Kruse Using Server-Side Includes . . . . . . . 52, 54, 56 Greg White Java Command-Line Arguments . . . . . . 58, 60, 62, 96, 98--99 Jim Beveridge Implementing Multilevel Undo/Redo . . . 64--66, 100, 102--104 Gil Gameiro Networking Intelligent Devices . . . . . 68, 70, 72, 74, 104--105 Derek Brown and Martin Hall Fast Networking With Winsock 2.0 . . . . 76, 78, 105--109, 111 Perry W. Scherer Examining RogueWave's Tools.h++ . . . . 80, 82, 84, 111--112 Ian E. Gorman Lex and Yacc . . . . . . . . . . . . . . 86 Michael Swaine Programming Paradigms: Looking for an HTML Book . . . . . . . . . . . . . . . 117--119 Al Stevens C Programming . . . . . . . . . . . . . 121 Micha Hofri Binary Search . . . . . . . . . . . . . 135 Bruce Schneier Algorithm Alley . . . . . . . . . . . . 135 Andrew Binstock and John Rex Practical Algorithms For C Programmers 139 Bryan Flamig Practical Algorithms in C++ . . . . . . 139 Dean Gablon Programmer's Bookshelf . . . . . . . . . 139 Monica E. Berg Of Interest . . . . . . . . . . . . . . 142 Michael Swaine Swaine's Flames . . . . . . . . . . . . 144
Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? Michael A. Floyd Editorial . . . . . . . . . . . . . . . ?? Al Stevens Quincy 96 integrated development environment . . . . . . . . . . . . . . ?? Jonathan Erickson \em Dr. Dobb's Journal Excellence in Programming Awards . . . . . . . . . . . 16--17 Edward Cessna Dylan's Creole Interface . . . . . . . . 18, 20, 22, 24, 26, 90--91 Thor Mirchandani Building Parsers with Leopurd . . . . . 30, 32--34, 91--93 Jack J. Woehr A Conversation With Michael Cowlishaw 36 Mark Russinovich and Bryce Cogswell Windows 95 Journaling and Playback . . . 46, 48, 50, 93 Gary Aitken Moving from C++ to Java . . . . . . . . 52, 54--56 Andy Yuen A Tiny Preemptive Multitasking Forth . . 58, 60, 62, 64, 66, 68, 93--94 John Pompeii Distributed Objects and the Internet . . 70, 72, 74--76, 94--95 Rodney M. Bates Examining the Cocktail Toolbox . . . . . 78, 80--82, 95--96 Tom Tessier Using JavaScript to Create Interactive Web Pages . . . . . . . . . . . . . . . 84, 86--89, 96--97 Jonathan Roberts and Dan Zigmond Using OODCE . . . . . . . . . . . . . . 98--101, 130--132 Michael Swaine Programming Paradigms . . . . . . . . . 103 Al Stevens C Programming . . . . . . . . . . . . . 107 John K. DeVos A Compact Logarithm Algorithm . . . . . 117 Bruce Schneier Algorithm Alley . . . . . . . . . . . . 117 Lou Grinzo Programmer's Bookshelf . . . . . . . . . 127 Monica E. Berg Of Interest . . . . . . . . . . . . . . 133 Michael Swaine Swaine's Flames . . . . . . . . . . . . 136
Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? Michael A. Floyd Editorial . . . . . . . . . . . . . . . ?? Steve Sipe Calling 16-bit DLLs from Windows 95 . . ?? Al Stevens Quincy 96 integrated development environment . . . . . . . . . . . . . . ?? Anonymous Letters --- you . . . . . . . . . . . . 10 Jack J. Woehr An Interview With Donald Knuth . . . . . 16 Andrew Binstock Hashing Revisited . . . . . . . . . . . 24, 26, 28, 30, 33 Mike J. Courtney A Cubic Spline Extrema Algorithm . . . . 34, 36, 38, 40 Steve Sipe Calling 16-bit DLLs from Windows 95 . . 42, 44, 46, 48--50 Paul Tyma Tuning Java Performance . . . . . . . . 52, 55--56, 58, 90 Dhananjay V. Gadre Using the Parallel Adapter as a Host Interface Port . . . . . . . . . . . . . 60, 62, 64, 66, 68 Peter B. Danzig The Harvest Object Cache . . . . . . . . 70, 72--74 John Mudd Speeding Up C-tree Plus Database Searches . . . . . . . . . . . . . . . . 76, 78--80 Lauren Hightower HTML conversion and FTP automation . . . 82, 84, 86, 94 Michael Swaine Programming Paradigms . . . . . . . . . 101 Al Stevens C Programming . . . . . . . . . . . . . 105 Peter Heinrich Algorithm Alley: A Fast Integer Square Root . . . . . . . . . . . . . . . . . . 113--114, 130 Scot Wingo and George Shepherd Undocumented corner . . . . . . . . . . 115 John H. McCoy Programmer's bookshelf: \em Hooked on Java, by A. van Hoff, S. Shaio, and O. Starbuch [review] . . . . . . . . . . . 128 Monica E. Berg Of Interest . . . . . . . . . . . . . . 134 Michael Swaine Swaine's Flames . . . . . . . . . . . . 136
Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? Eric McRae Benchmarking real-time operating systems ?? Al Stevens Quincy 96 integrated development environment . . . . . . . . . . . . . . ?? Michael Swaine Programming paradigms . . . . . . . . . 9 Dale Roberts Direct Port I/O and Windows NT . . . . . 14--16, 18, 20, 22--24, 76--78 Kristiaan Coppieters Pipes for Macintosh . . . . . . . . . . 26, 28, 30, 78--80 Mark Russinovich and Bryce Cogswell Examining VxD service hooking . . . . . 32 M. Rissinovich and B. Cogswell Examining VxD service hooking . . . . . 32, 34, 36--37 Kyle A. York Building a DOS serial network . . . . . 38, 40--43, 80 David Epstein Conditional compilation . . . . . . . . 44, 46, 80--83 Eric McRae Benchmarking Real-Time Operating Systems 48, 50, 52, 54, 56--58, 83--86 John Calcote Writing a portable transport-independent Web server . . . . . . . . . . . . . . . 60, 62, 64--65 Robert Krten Improving Usenet News Performance . . . 66, 68--70 Tom Tessier Sharing Data Between Web Page Frames Using JavaScript: Implementing a Hidden-Frame Technique . . . . . . . . . 72, 74--75, 86--87 Al Stevens C programming . . . . . . . . . . . . . 95 Andreas O. Bender Algorithm alley: Continued Fractions Versus Farey Fractions . . . . . . . . . 99 Cliff Berg and Steve Alexander Java Q&A: How Do I Display an Image? . . 103, 117 Robert R. Collins Undocumented corner: Understanding Pentium's 4-MB Page Size Extensions . . 105 Dean Clark Programmer's bookshelf . . . . . . . . . 113 Monica E. Berg Of interest . . . . . . . . . . . . . . 118 Michael Swaine Swaine's flames . . . . . . . . . . . . 128
Monica E. Berg Of Interest . . . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? Al Stevens C Programming . . . . . . . . . . . . . ?? Al Stevens Quincy 96 integrated development environment . . . . . . . . . . . . . . ?? Scot Wingo and George Shepherd Customizing MFC . . . . . . . . . . . . ?? Tom Cargill Managing dynamic objects in C++ . . . . 16--18, 22 Dan Zigmond STL iterators . . . . . . . . . . . . . 24, 26--28, 30--31, 84 Terris Linenbach Reusable binary associations in C++ . . 34, 36--41, 84 Allan Vermeulen An Asynchronous Design Pattern: A pattern for managing concurrency---written in Java! . . . . . 42, 44, 84--86 Phil Tomson VHDL for hardware design . . . . . . . . 46, 48, 50, 53, 55, 86 George F. Frazier and Derek Yenzer Removing blocking network I/O from Windows programs . . . . . . . . . . . . 56, 58--60, 86--87 Ted Faison Examining Borland Delphi 2.0 . . . . . . 64, 66--67, 70--71, 87--88 Fred Wild Instantiating code patterns . . . . . . 72, 74--76, 88--91 Mark Nielsen and Nick Abdo Applying design patterns to PowerBuilder 78, 80, 82, 91--92 Michael Swaine Programming paradigms . . . . . . . . . 93 Al Stevens C programming: Herman: document viewer program . . . . . . . . . . . . . . . . 99 Cliff Berg Java Q&A: How Do I Write a Chat Program? 105--106 Andrew Colin Algorithm Alley: Building Decision Trees with the ID3 Algorithm . . . . . . . . . 107--109 Scot Wingo and George Shepherd Undocumented Corner: Customizing MFC . . 111 Tom Saltsman Programmer's bookshelf . . . . . . . . . 118 Monica E. Berg Programmer's services of interest . . . 126 Michael Swaine Swaine's flames . . . . . . . . . . . . 136
Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? Will Schroeder and Bill Lorensen 3-D surface contours . . . . . . . . . . ?? David R. Nadeau and Andrea L. Ames and John L. Moreland Optimizing the performance of VRML worlds . . . . . . . . . . . . . . . . . 16--18, 20, 22, 24 Will Schroeder and Bill Lorensen 3-D Surface Contours . . . . . . . . . . 26, 28, 30, 32, 85--86 James D. Murray SPIFF: Still picture interchange file format . . . . . . . . . . . . . . . . . 34, 36, 38, 40--41 Gary Aitken Automatically Generating Java Documentation: javadoc and the doc comment . . . . . . . . . . . . . . . . 42, 44, 46--49 Charles Letner Loop splitting under Windows NT . . . . 50, 52, 54--55, 82--83 Tony Garcia and Jeff Woodard and Craig Liddell Monitoring data in real time . . . . . . 56, 58, 60, 62, 64 Joseph Hlavaty The WinMock Library . . . . . . . . . . 66, 68, 70--73, 83--84 Douglass L. Campbell Examining the SmartSockets Toolkit . . . 74, 76--77, 84 Robert Lord Help file Web links . . . . . . . . . . 78, 80--81, 84--85 Michael Swaine Programming paradigms . . . . . . . . . 87 Al Stevens C programming: Hairy Arms for Dummies, CD-ROM Setups, and Java Jive . . . . . . 91--95, 98--99, 115--116 Carlo Pescio Algorithm Alley: Minimal Perfect Hashing 101--102, 104, 116--117 Robert R. Collins Undocumented corner: Paging Extensions for the Pentium Pro Processor . . . . . 107 William Stallings Programmer's bookshelf . . . . . . . . . 113 Monica E. Berg Of interest . . . . . . . . . . . . . . 118 Michael Swaine Swaine's flames . . . . . . . . . . . . 128
Anonymous Building an expert system . . . . . . . ?? Anonymous Concurrent Small C . . . . . . . . . . . ?? Anonymous Examining Symantec's Café . . . . . . . . ?? Anonymous Networking CD-ROMs using cached CD images . . . . . . . . . . . . . . . . . ?? Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? Anonymous Letters --- you . . . . . . . . . . . . 8 Fred Wild Beyond C++ templates . . . . . . . . . . 16--18, 22--23 Stephen Blaha Object-oriented interprocess communication: Client/server development in C++ and Java . . . . . . . . . . . . 24, 26, 28, 30--31, 89--92 Dan Zigmond STL algorithms . . . . . . . . . . . . . 32, 34--36, 92--94 Todd Veldhuizen and Kumaraswamy Ponnambalam Linear algebra with C++ template metaprograms . . . . . . . . . . . . . . 38, 40--42, 44 Pierre Arnaud Dynamic message passing in C++ . . . . . 46, 48, 50--51 Mark Russinovich and Bryce Cogswell and Andrew Schulman Inside SoftRAM 95 . . . . . . . . . . . 52, 54--56, 58, 60--61 Andy Yuen Concurrent Small C . . . . . . . . . . . 62, 64--66, 68, 71, 73, 94--96 John H. McCoy Networking CD-ROMs Using Cached CD Images . . . . . . . . . . . . . . . . . 74, 76--77, 96--99 Anil Hemrajani Examining Symantec's Café: Visual development meets Java programming . . . 78, 80, 82 Gregg Weismann Building an expert system . . . . . . . 84 Gregg Weissman Building an Expert System . . . . . . . 84, 86--87 Michael Swaine Programming paradigms . . . . . . . . . 101 Al Stevens C programming . . . . . . . . . . . . . 105 Cliff Berg Java Q&A: How Do I Send e-mail from a Java Applet? . . . . . . . . . . . . . . 111 Mark R. Nelson Algorithm Alley: Fast String Searches With Suffix Trees . . . . . . . . . . . 115 Scot Wingo and George Shepherd Undocumented Corner: Inside OLE Control Property Pages . . . . . . . . . . . . . 121 Phil Mitchell Programmer's bookshelf . . . . . . . . . 131 Monica E. Berg Of interest . . . . . . . . . . . . . . 134 Michael Swaine Swaine's flames . . . . . . . . . . . . 144
Jonathan Erickson Editorial . . . . . . . . . . . . . . . ?? Anonymous Letters --- you . . . . . . . . . . . . 8 Alan Cooper Goal-directed software design . . . . . 16--18, 20, 22 Al Williams Customizing the Explorer open dialog . . 24, 26--29 Steve Sipe Creating shaped UI objects . . . . . . . 30, 32--34 Troy A. Schauls Writing user-definable GUIS . . . . . . 36, 38--39 Anil Hemrajani The Java Abstract Window Toolkit . . . . 40, 42, 44 Mark R. Nelson Data compression with the Burrows Wheeler transform . . . . . . . . . . . 46, 48--50 Peter C. Dibble A process group manager for OS-9 . . . . 52, 54, 56, 58, 60--62 Chris Baron and Bob Weil Implementing a Web shopping cart . . . . 64, 66, 68--69, 83--85 Joseph Hlavaty Examining the InstallShield SDK Edition 70, 72--74, 76 Eldon Metz Java, Jfactory, and network development 78, 80--82, 85--87 Michael Swaine Programming paradigms . . . . . . . . . 88 Al Stevens C programming . . . . . . . . . . . . . 92 Cliff Berg Java Q&A: How Do I Create a Layout Manager? . . . . . . . . . . . . . . . . 101 Edward Sitarski Algorithm alley . . . . . . . . . . . . 107 Robert R. Collins Undocumented corner . . . . . . . . . . 112 Lou Grinzo Programmer's bookshelf . . . . . . . . . 117 Monica E. Berg Of interest . . . . . . . . . . . . . . 119 Michael Swaine Swaine's flames . . . . . . . . . . . . 128
Anonymous Letters --- you . . . . . . . . . . . . 8 Peter Flynn Letter to the Editor: Automating HTML Conversion . . . . . . . . . . . . . . . 8--8 Arthur T. Jolin Usability and Class Library Design . . . 16 Roland Kaufmann Multiple Inheritance for Delphi . . . . 26 Matthew Nguyen Extending the Visitor Design Pattern . . 34 Jeff Rush Component Objects and Distributed Computing . . . . . . . . . . . . . . . 38 David Channon Persistence for C++ . . . . . . . . . . 46 Barry Kauler Object-oriented Flow Design for Embedded Systems . . . . . . . . . . . . . . . . 54 Derek Cheung ATM Software Analysis and Design . . . . 70 Doug Garrett Examining the Nutmeg Class Library . . . 80 Jonathan Williams Examining the LabObjX Real-time Chart Control . . . . . . . . . . . . . . . . 88 Michael Swaine Programming Paradigms . . . . . . . . . 99 Al Stevens C Programming . . . . . . . . . . . . . 105 C. Berg Java Q&A: How do I display media formats that Netscape does not support? . . . . 111, 114--115, 129 Dann Corbit Algorithm Alley . . . . . . . . . . . . 117 George Shepherd and Scot Wingo Undocumented Corner . . . . . . . . . . 123 Erich Gamma and Richard Helm and Ralph Johnson and John Vlissides Warren examines the now-classic Design Patterns: Elements of Reusable Object-oriented Software . . . . . . . . 134 Arthur J. Riel The newly released Object-Oriented Design Heuristics . . . . . . . . . . . 134 Warren Young Programmer's Bookshelf . . . . . . . . . 134 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 137 Michael Swaine Swaine's Flames . . . . . . . . . . . . 144
Jonathan Erickson Editorial: Who Needs Your Stinkin' Super Shelves . . . . . . . . . . . . . . . . 6--6 Anonymous Letters --- you . . . . . . . . . . . . 8 Jeffrey Kay Java and C++ . . . . . . . . . . . . . . 8, 10 Anonymous News and Views --- DDJ staff . . . . . . 12 Timothy E. Carone Middleware and Three-tier Client/Server Development . . . . . . . . . . . . . . 16 Gary Bist Optimizing Client/Server Database Applications . . . . . . . . . . . . . . 24 Perry Scherer The DBperl Relational Database API . . . 34 Michael Shoffner Java and Web-Executable Object Security 38, 40, 42, 44, 46, 48, 49 Petra Lutter and Michael Muller-Wernhart and Jurgen Ramharter and Frank Rattay and Peter Slowik Speech Research with Wave GL . . . . . . 50 Fredrik Bredberg and Ola Liljedahl and Bengt Eliasson Restarting Embedded Systems . . . . . . 56 Sven B. Schreiber Undocumented Windows NT and the NetWare Core Protocol . . . . . . . . . . . . . 70 Michael J. Vilot Examining the Systems$<$ToolKit$>$ Library 80 Nabil Hijazi Examining Forté Express . . . . . . . . . 86 Michael Swaine Programming Paradigms . . . . . . . . . 101 Al Stevens C Programming . . . . . . . . . . . . . 106 Cliff Berg Java Q&A: How do Threads Work and How Can I Create a General-Purpose Event? . . . 111 John Swartz Algorithm Alley: Constructing Combinations using LISP: Sometimes, you just need the right tool . . . . . . . . 116, 117, 127 Robert R. Collins Undocumented Corner: CPUID Algorithm Wars . . . . . . . . . . . . . . . . . . 119, 122--125 Grace McRae and Eric Richard The BenchmarkBook . . . . . . . . . . . 128 Eric McRae and Paul M. Embree C Algorithms for Real-Time DSP . . . . . 128 Eric McRae Programmer's Bookshelf: Benchmarks and DSP Algorithms . . . . . . . . . . . . . 128--128 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 130 Michael Swaine Swaine's Flames: A Stagnation with Big Shirts . . . . . . . . . . . . . . . . . 136
Jonathan Erickson Editorial . . . . . . . . . . . . . . . 6--6 John B. Willston Letter to the Editor: Java Dive . . . . 8--8 Eugene Eric Kim Running at Warp Speed . . . . . . . . . 12--12 Michael Yam DCE Pthreads versus NT Threads. Michael ports PTF, a C++ class library for DCE pthreads, from HP-UX System 9 to Windows NT. In doing so, he examines the differences between pthreads and NT threads, and describes the porting experience . . . . . . . . . . . . . . . 16 Paul Kissel Inside the Winhelp() API function. Paul shows what's involved in building a platform-independent implementation of the WinHelp() function. He then shares ``seven deadly sins'' you should avoid when writing portable software . . . . . 22 Luiz Henrique de Figueiredo and Roberto Ierusalimschy and Waldemar Celes LUA: An Extensible Embedded Language . . 26 Tom Zudock Virtual Audio through Ray Tracing . . . 34 Dino Esposito Multithreading and Visual Basic . . . . 46 Richard Soja Inside Motorola's TPU . . . . . . . . . 50 Andrew Montefusco Extending HTTP Servers with DGI and TGI 68 Dot Schryver Examining the Winbatch Toolkit . . . . . 74 George F. Goley IV Web Programming with Visual FoxPro . . . 80 Michael Swaine Programming Paradigms . . . . . . . . . 98 Al Stevens C Programming . . . . . . . . . . . . . 106 Cliff Berg Java Q&A: How Do I Implement a Drag-and-Drop Interface? . . . . . . . . 110 Dann Corbit and Rafael Collantes-Bellido Algorithm Alley . . . . . . . . . . . . 118 George Shepherd and Scot Wingo Undocumented Corner: George and Scot examine the undocumented areas of CSplitterWnd, one of the most complicated and confusing of all MFC classes . . . . . . . . . . . . . . . . 124 Doug Nickerson Book Review: Peter van der Linden, \booktitleJust Java . . . . . . . . . . 134 Doug Nickerson Book Review: David Flanagan's \booktitleJava in a Nutshell . . . . . . 134 Doug Nickerson and David H. Friedel, Jr. and Anthony Potts Book Review: Java Programming Language Handbook . . . . . . . . . . . . . . . . 134 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 137 Michael Swaine Swaine's Flames . . . . . . . . . . . . 144
Jonathan Erickson Editorial: Mr. Erickson goes to Washington . . . . . . . . . . . . . . . 6--6 Harry Beker Letter to the Editor: Java Hype versus Tcl/Tk Reality . . . . . . . . . . . . . 8, 10 Anonymous NEWS and VIEWS --- by the DDJ staff . . 12 Amy Wu Chip Shots II . . . . . . . . . . . . . 12--12 Jack Woehr A Conversation with Eva Bozoki . . . . . 16 Antoon Bosselaers and Hans Dogbbertin and Bart Preneel The RIPEMD-160 Cryptographic Hash Function . . . . . . . . . . . . . . . . 24, 26, 28, 78, 80 Hugo Lyppens Reed--Solomon Error Correction . . . . . 30 Mark R. Nelson The ZLIB Compression Library --- Mark examines zlib, a library of C routines that can be used to compress or expand files using the same deflate algorithm popularized by PKZIP 2.0 . . . . . . . . 36 Mark Russinovich and Bryce Cogswell Windows NT System-call Hooking --- Mark and Bryce present the design and implementation of NTRegmon, a tool that uses hooking to show detailed information about each and every registry access that occurs on a Windows NT system . . . . . . . . . . . . . . . 42 Alan Johnson Steganography for DOS Programmers --- Steganography is a branch of cryptography that deals with concealing messages . . . . . . . . . . . . . . . . 48 Eddy Quicksall and Ken Gibson Simulation and Device-Driver Development --- To ease the process of writing device drivers for new hardware designs, our authors present a simulation environment. To illustrate its use, they use the sample Adaptec AHA-1540 SCSI miniport driver that comes with the Windows NT DDK . . . . . . . . . . . . . 52 John Swartz Simulating the Denver Airport Automated Baggage System --- John uses Xlisp to implement a computer simulation of the essential components of the Denver . . . 56 Les Thaler Examining Extended MAPI 1.0 --- The Extended Messaging Application Programming Interface 1.0, not to be confused with the previous-generation ``Simple MAPI,'' was created to standardize the interfaces between messaging applications and the underlying messaging systems . . . . . . 64 Lauren Hightower Publishing Dynamic Data on the Internet --- Allaire's Cold Fusion is a development tool that provides access (via the Web) to any database the Web server can access using ODBC. Cold Fusion runs as a multithreaded Windows NT system service and works with any ODBC-compliant database . . . . . . . . 70 Dino Esposito Inside Iterated Systems' Fractal Development Kit --- The Fractal Development Kit from Iterated Systems is a library that makes it possible for you to embed fractal-imaging capabilities into C/C++ Windows and Macintosh applications . . . . . . . . . . . . . . 74 Michael Swaine Programming Paradigms --- Michael looks at paradigms past, focusing this month on spreadsheets . . . . . . . . . . . . 88 Al Stevens C Programming --- Users expect standard Windows Help for all applications, no matter how small or how intuitive the procedures. To that end, Al updates . . 92 Cliff Berg Java Q&A: How do I use CORBA from Java? 100, 102, 103, 114 John Boyer Algorithm Alley --- Heaps are usually implemented via binary trees, with the property that for every subtree, the root is the minimum item. Here, John describes how to implement exceptionally fast `Fibonacci' heaps . . . . . . . . . 106 Robert R. Collins Undocumented Corner: Intel's System Management Mode . . . . . . . . . . . . 110 Ron van der Wal and William Stallings Programmer's Bookshelf --- Ron examines Stanley Lippman's Inside the C++ Object Model, while William looks at Peter Wayner's Disappearing Cryptography . . . 116 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 118 Michael Swaine Swaine's Flames . . . . . . . . . . . . 128
Jonathan Erickson Editorial: Power Plays . . . . . . . . . 6--6 Matthew Cravit Letter to the Editor: Java Response . . 10, 12 Anonymous News and Views --- by the DDJ staff . . 16 Adrian McCartju Unit and Regression Testing --- Testing a function, module, or object in isolation from the rest of the program--referred to as ``unit testing'' coupled with rerunning tests to detect unexpected changes in behavior (``regression testing'') can dramatically reduce your bug counts. Adrian describes how to build effective units tests and automate regression testing . . . . . . . . . . . . . . . . 18 Rainer Storn A Debug/Trace Tool --- The debug/trace tool Rainer presents here is useful when you don't have a powerful debugger at hand, and also when you need to build trace functionality into your code for error-spotting support at the client's site . . . . . . . . . . . . . . . . . . 22 Alan Walworth Java GUI Testing --- As Java development takes off, so does the need to test GUI applications written in Java. Alan examines Java GUI testing issues and presents a test harness written in and for Java . . . . . . . . . . . . . . . . 30, 32, 34 Tony Zhang A Disassembler Written in Perl --- Tony presents the core subroutines of a disassembler written in Perl. Although designed for Intel's x86 instruction set, you can easily modify or customize the disassembler for your own applications . . . . . . . . . . . . . . 36 Mark Russinovich and Bryce Cogswell Examining the Windows NT Filesystem --- Mark and Bryce open up the inner workings of the NT filesystem by describing how a filesystem request originates in a user's program and ends up as a disk access. They also present an application called Filemon that monitors and displays all filesystem activity . . . . . . . . . . . . . . . . 42 Everett F. Carter, Jr. Robots and Finite State Machines --- Designing and building autonomous robots presents a host of technical challenges. Our author focuses on one of these challenges, describing the high-level processing he implemented in designing a robot-control system . . . . . . . . . . 50 Volker Lendecke UNIX Filesystems without I-nodes --- The Linux kernel nfs, smbfs, and ncpfs filesystems make it possible to link Linux machines to file servers across a LAN --- even though Microsoft's SMB protocol is not designed to handle UNIX clients like Linux. Volker presents a workaround for this limitation . . . . . 60 Scott Meyers and Martin Klaus Examining C++ Program Analyzers --- Our authors examine a bevy of off-the-shelf tools that parse and analyze C++ source code, enabling you to detect troublesome C++ code via static analysis . . . . . . 68 Ron van der Wal Testing Testers --- In an ideal world, development progresses smoothly from requirements to completion. In the real world, errors creep in. Ron examines a collection of commercially available automated testing tools that aid in ferreting out those errors . . . . . . . 76 Michael Swaine Programming Paradigms: Some Observations on Apple and Java . . . . . . . . . . . 91--93 Al Stevens C Programming: Al presents MIDI Xchg, a program that tests the MIDI data stream by sending event messages from one device to another as fast as possible 97 Cliff Berg Java Q&A: How Do I Access a SQL Database from an Applet? . . . . . . . . . . . . 103, 105, 113, 114 Oleg Kiselyov Algorithm Alley --- Hoping to find the most efficient line between two points, Oleg examines scheduling algorithms and NP-complete problems . . . . . . . . . . 107 George Shepherd and Scot Wingo Undocumented Corner: Applying CSplitteWnd Internals . . . . . . . . . 111 Phil Mitchell and Derek Leebaert Programmer's Bookshelf --- Phil goes back to the future in his look at Thomas Landauer's The Trouble With Computers and The Future of Software . . . . . . . 117 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 119 Michael Swaine Swaine's Flames . . . . . . . . . . . . 128
Jonathan Erickson Editorial: Past, Present, and Future . . 6--6 Robert S. Gray Agent Tcl . . . . . . . . . . . . . . . 18 Satinder Singh and Peter Norvig and David Cohn Agents and Reinforcement Learning . . . 28 Marc H. Brown and Marc A. Najork Distributed Active Objects . . . . . . . 34 Steve Sipe RPC for Windows 95/NT . . . . . . . . . 42 Biswajit Sain and Timothy A. Gonsalves Kertesy: A Real Time Event Driven Microkernel . . . . . . . . . . . . . . 48 Gregory Bollella Dynamic Memory Allocation and Communication Protocols . . . . . . . . 60 Ron van der Wal Examining Win32 C++ Compilers . . . . . 64 Al Williams Visual Basic 5 and ActiveX Controls . . 74 Michael Swaine Programming Paradigms . . . . . . . . . 89 Al Stevens C Programming . . . . . . . . . . . . . 93 Cliff Berg Java Q&A: How Do I Use Java Remote Method Invocation From An Applet? . . . . . . . 101--103 Fred Wild Algorithm Alley . . . . . . . . . . . . 105 Robert R. Collins Undocumented Corner: The Secrets of System Management Mode . . . . . . . . . 109 Gregory V. Wilson Programmer's Bookshelf . . . . . . . . . 117 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 119 Michael Swaine Swaine's Flames . . . . . . . . . . . . 128
Jonathan Erickson Editorial: Fair Play . . . . . . . . . . 6--6 Allan Widom and Steen Lehmann Letters to the Editor: Swaine on Java 10, 12 Kenneth Price and Rainer Storn Differential Evolution: A simple evolution strategy for fast optimization 18 Aleksandar Jurisic and Alfred J. Menezes Elliptic Curves and Cryptography . . . . 26 Wm. Douglas Withers A Rapid Entropy-Coding Algorithm . . . . 38 Dean Clark A 2-D DDA Algorithm for Fast Image Scaling . . . . . . . . . . . . . . . . 46 Eric Gigu\`ere Java Beans and the New Event Model . . . 50, 52, 53, 79, 80 Harry Beker Graphical Embedded Real Time Systems . . 54 Andrew Wilson Software Security and the DirectPlay API 66 Mark Carolan Quicktime and Cross-platform Multimedia 70 Jean-Louis Leroy Pipes, Channels, and Perl-Win32 . . . . 74 Michael Swaine Programming Paradigms . . . . . . . . . 87 Al Stevens C Programming: Kicking and Scripting: JavaScript and CGI . . . . . . . . . . . 92--95, 97, 114 Cliff Berg Java Q&A: How Do I Create Persistent Java Objects? . . . . . . . . . . . . . . . . 98--101 Tim Kientzle Algorithm Alley: Understanding CRCs . . 103--107, 114, 115 George Shepherd and Scot Wingo Undocumented Corner: How MFC Does ActiveX Connections . . . . . . . . . . 109 Eugene Eric Kim Programmer's Bookshelf . . . . . . . . . 116 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 119 Michael Swaine Swaine's Flames . . . . . . . . . . . . 128
Jonathan Erickson Editorial: Browsing for the Best Buy . . 6--6 Anonymous Letters --- by you . . . . . . . . . . . 10 DDJ Staff News and Views . . . . . . . . . . . . . 16 Jonathan Erickson Dr. Dobb's Journal Excellence in Programming Awards . . . . . . . . . . . 18 Sven B. Schreiber Inside Windows Cabinet Files . . . . . . 20 Art Sulger Database Management and Java . . . . . . 28, 30--32, 73, 74 Carmen Delessio Converting Windows Metafiles to Java . . 34, 36, 37, 74, 76 Tom Roden and Scott Townsend Plug-and-play OPROMs and the BIOS Boot Specification . . . . . . . . . . . . . 38 Charles B. Tichenor JavaScript Cookies; Browser-side persistence for Web developers . . . . . 42--45 Rand Gray and Deepak Mulchandani Object File Formats . . . . . . . . . . 47 Paul Trout Windows NT Printer Control . . . . . . . 53 James K. Lawless Examining the TAWK Compiler: A powerful scripting tool for implementing batch-oriented software . . . . . . . . 60, 62, 64, 77, 79, 80 John Roberts Extending Visual C++ . . . . . . . . . . 66 Michael Swaine Programming Paradigms: Java Jabs, VisiCorpse, and the Blood of Red Smith 83, 84, 86, 89 Al Stevens C Programming . . . . . . . . . . . . . 91 Cliff Berg Java Q&A: How Can I Create a Push Java Channel? . . . . . . . . . . . . . . . . 99, 101--103, 118, 122, 123 Robert F. Kauffmann Algorithm Alley . . . . . . . . . . . . 105 Robert R. Collins Undocumented Corner: The Caveats of Pentium System Management Mode . . . . . 109 David Angell and Brent Heslop Elements of E-Mail Style . . . . . . . . 124 John Lakos Large-Scale C++ Software Design . . . . 124 Gregory V. Wilson Programmer's Bookshelf: HAL's Legacy and Large-Scale Software Design . . . . . . 124 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 126 Michael Swaine Swaine's Flames . . . . . . . . . . . . 136
Jonathan Erickson Editorial: Time Traveling . . . . . . . 6--6 Anonymous Letters --- by you . . . . . . . . . . . 10 Scott G. Henson Letter to the Editor: Java and CRC Feedback . . . . . . . . . . . . . . . . 10--10 DDJ Staff News and views . . . . . . . . . . . . . 16 Sverre Hendseth Literate Programming and Code Reuse . . 18--20, 22, 24, 97, 98 Martin Remy Design Patterns, Java and Web Development . . . . . . . . . . . . . . 28, 30, 32, 34, 98--100 John A. Grosberg Design Guidelines for Is-A Hierarchies 36 Fred Wild Designing for Testability . . . . . . . 42 Ernest J. Friedman-Hill and Robert A. Whiteside IDLDOC: Automatic Documentation for CORBA IDL . . . . . . . . . . . . . . . 46 Steve Reichenthal and Tom Bennett SBI: The Small Basic Interpreter . . . . 54 Rolf V. Oestergaard Watchdogs for Interrupt Monitoring . . . 60 Tom Markham Internet Security Protocol . . . . . . . 70 David Van Camp An Unlimited Undo/Redo Stack Pattern for PowerBuilder . . . . . . . . . . . . . . 78 Scott Dybiec and Philip Rousselle Web Extensions and Applications Using FastCGI . . . . . . . . . . . . . . . . 88 Michael Swaine Programming Paradigms . . . . . . . . . 107 Al Stevens C Programming . . . . . . . . . . . . . 111 Cliff Berg Java Q&A: How Do I Create My Own Security Manager? . . . . . . . . . . . . . . . . 115, 117--120, 132 John Swartz Algorithm Alley . . . . . . . . . . . . 123 George Shepherd and Scot Wingo Undocumented Corner: The ActiveX Template Library . . . . . . . . . . . . 129 Richard Brath and Ray Duncan and Edward R. Tufte Programmer's Bookshelf . . . . . . . . . 133 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 138 Michael Swaine Swaine's Flames . . . . . . . . . . . . 144
Jonathan Erickson Editorial: Random Readings . . . . . . . 6--6 Anonymous News and Views by the DDJ staff . . . . 16 Kyle Lussier Implicit Surfaces and Real-time Graphics 18 Mayur Patel A Memory-constrained Image-processing Architecture . . . . . . . . . . . . . . 24 Mark Carolan RaveKit: A Portable Graphics Framework 30 Tim Wittenburg Motion Blur Effects . . . . . . . . . . 36 Stefan Nilsson Treaps in Java . . . . . . . . . . . . . 40, 42--44, 84, 86 Dhananjay Ve Gadre Atmel's AT89C2051 Microcontroller . . . 46 John Calcote Thread Pools and Server Performance . . 60 Steve Durham Sounding off with the RSX Library . . . 66 Peter D. Kochevar Tecate and Interactive 3-D . . . . . . . 72 Michael Swaine Programming Paradigms: Java Bashing, Books, and Beans . . . . . . . . . . . . 93--95 Al Stevens C Programming --- In rethinking the relationship between C and C++, Al wonders if it is time to put the proverbial cart before the horse . . . . 99 Cliff Berg Java Q&A: How Do I Write an International Application? . . . . . . . . . . . . . . 105, 106, 116 Will Schroeder and Tom Citriniti Algorithm Alley --- Polygon decimation algorithms reduce the number of polygons in a mesh while maintaining a good approximation to the original data, leading to faster, more realistic 3-D graphics . . . . . . . . . . . . . . . . 109 Robert R. Collins Undocumented Corner: In-Circuit Emulation: A powerful hardware tool for software debugging . . . . . . . . . . . 113 Gregory Wilson Programmer's Bookshelf --- This month, Greg examines Jonathan Rosenberg's How Debuggers Work, Mark Woodman's Programming Language Choice, and The Media . . . . . . . . . . . . . . . . . 117 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 120 Michael Swaine Swaine's Flames . . . . . . . . . . . . 128
Jonathan Erickson Editorial: Funny, as in ``Ha Ha'' . . . 6--6 Anonymous Letters --- by you . . . . . . . . . . . 10, 12 Anonymous News and Views by the DDJ staff . . . . 16--16 Matthew H. Austern The SGI Standard Template Library: C++ programmers were introduced to generic programming in 1994, when Hewlett--Packard released the Standard Template Library . . . . . . . . . . . . 18--20, 22--24, 26, 27, 90 Nathan Myers The Empty Member C++ Optimization: The STL is flexible but does it use too much memory? Nathan shows how the STL --- and you --- can use empty subobjects without bloating your data requirements . . . . 30, 32, 90 Larry E. Baker, Jr. C++ Interfaces for C-language Libraries: C++ programmers must sometimes use legacy C support libraries, even though C and C++ styles don't always mix . . . 34, 36, 37, 90, 91 William Grosso Dynamic Design Patterns in Objective-C 38, 40--44, 91--93 Andrew Wilson The Java Native Method Interface and Windows . . . . . . . . . . . . . . . . 46, 48--50, 94 Robert C. Collins Inside the Pentium II Math Bug . . . . . 52, 55--57 Andy Yuen Embedded Systems --- Retargetable Concurrent Small C . . . . . . . . . . . 58, 60, 62, 64, 66, 67, 69, 70, 94, 95 Al Williams Internet Programming --- Writing ActiveX ISAPI Extensions . . . . . . . . . . . . 72, 74--77, 95, 98 Blake McBride Programmer's Toolchest --- Advanced object-oriented features for C/C++ . . . 78, 80, 82 Harold R. Kasperink and John C. Dekker Concurrent Database Commands and C++ . . 84, 86, 88, 89, 98 Michael Swaine Programming Paradigms: Isn't it Ironic? 99--101 Al Stevens C Programming: McCarthy TeamworX: The Path to Greatness . . . . . . . . . . . 103--107 Cliff Berg Java Q&A: How Do I Create a Signed Applet? . . . . . . . . . . . . . . . . 109--111, 122 Jonathan Pincus and Jerry Schwarz Algorithm Alley: Topological Sorting . . 113--116 George Shepherd and Scot Wingo Undocumented Corner: ATL and the IUknown Interface . . . . . . . . . . . . . . . 119--123 Michael E. Fitzpatrick and Laurence Vanhelsuwé Programmer's Bookshelf: The Software Project and Unicode . . . . . . . . . . 125, 127 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 129--130 Michael Swaine Swaine's Flames: Readers Run Hot and Cold . . . . . . . . . . . . . . . . . . 136--136
Jonathan Erickson Editorial: There Once Was a Programmer from Poughkeepsie\ldots . . . . . . . . 6--6 Igor Boukanov Java Security . . . . . . . . . . . . . 10--10 T. V. Raman Emacspeak: A Speech-Enabling Interface: Moving toward auditory user interfaces 18--20, 22, 23 Stuart D. Gathman A Text UI for the Java AWT . . . . . . . 38, 40--42, 45, 84, 86 Alain Vermeulen Java Deadlock: The woes of multithreaded design . . . . . . . . . . . . . . . . . 52, 54--56, 88, 89 Andy Ramm Stereoscopic Imaging: Creating images in SGI GL and OpenGL . . . . . . . . . . . 74, 76, 77, 90, 91 Michael Swaine Programming Paradigms: The Bridges of Santa Clara County . . . . . . . . . . . 93--95 Bob Jenkins Algorithm Alley: Hash Functions . . . . 107--109, 115--116 Cliff Berg Java Q&A: How Do I Create a JavaBean? . . 102--104, 114, 115 Gregory V. Wilson Programmer's Bookshelf: From ActiveX to Cargo-Cult Science . . . . . . . . . . . 117--119
Jonathan Erickson Editorial: Rolling Down the River --- into 1998! . . . . . . . . . . . . . . . 6--6 Anonymous Letters --- by you . . . . . . . . . . . 10, 12 Martin Atkinson-Barr Letter to the Editor: Pentium II Math Bug . . . . . . . . . . . . . . . . . . 10--10 Louis Baker Letter to the Editor: Pentium II Math Bug . . . . . . . . . . . . . . . . . . 10--10 DDJ Staff News and Views . . . . . . . . . . . . . 16--16 Jack Woehr A Conversation with Ron Rivest: How important is cryptography and computer security? . . . . . . . . . . . . . . . 18--20, 22, 24 Bob Quinn Internet Multicasting: Killer network apps that aren't network killers . . . . 28, 30--32, 34, 36 Camillo Sars The SSH Transport Layer Protocol: Making the Internet secure . . . . . . . . . . 38, 40, 42--43 Andrew Meckler Java and Inter-Applet Communication . . 46, 48, 50--53, 103 Joan Daemen and Lars R. Knudsen and Vincent Rijmen The Block Cipher Square Algorithm: A fast block cipher that uses a 128-bit key . . . . . . . . . . . . . . . . . . 54, 56--57 Sven B. Schreiber Win32 Netware Core Protocol, Revisited 60, 62--64, 103--104 Dhananjay V. Gadre and Larry A. Stein Embedded Systems --- The Enhanced Parallel Printer Port for Fast I/O: Revisiting the parallel printer adapter 66, 68, 70, 73, 75--76, 78, 80--81 Brent Gorda and Gregory V. Wilson Internet Programming --- Building and Running Online Auctions . . . . . . . . 84, 86--88, 91, 104 Gerard J. Holzmann Spin Model Checking: Reliable design of concurrent software . . . . . . . . . . 92, 94, 96--97, 104 Bennett Griffin LUCA: Reusable Communication Code: Bridging the media and protocol gap . . 98, 100--102, 104 Michael Swaine Programming Paradigms: Macs, Flaks, and Illiacs . . . . . . . . . . . . . . . . 107--109 Al Stevens C Programming: Indexing and Microsoft Visual C++ 5.0 . . . . . . . . . . . . . 111, 114--116 Lynn Monson Algorithm Alley; Classifying Text with ID3 and C4.5 . . . . . . . . . . . . . . 117--119, 128--130 Cliff Berg Java Q&A: How Do I Write a Java Servet? 121--123, 130, 131 George Shepherd and Scot Wingo Undocumented Corner: Mini MFC Revealed 125--126, 130 Warren Young Programmer's Bookshelf: Java Pro . . . . 133--134 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 137--138 Michael Swaine Swaine's Flames: War and Pique . . . . . 144--144
Jonathan Erickson Editorial: Giving it the Reboot . . . . 6--6 Jonathan Erickson Dr. Dobb's News and Views: Linux Trademark Issue Settled; Inslaw Ruling Rejected; Push Over?; Reading Signs for the Blind; Free Speech I; Free Speech II; Y2K Insurance . . . . . . . . . . . 16--16 Jack Woehr A Conversation with William Kahan: How important is numerical accuracy? . . . . 18--20, 22, 24, 26, 30, 32 Todd Veldhuizen Scientific Computing: C++ Versus Fortran: C++ has more than caught up . . 34, 36--38, 91 Lou Grinzo Extended Precision Native Integers for Java: When performance counts . . . . . 42, 44--45, 91--92 Hugo Lyppens Convolutional Error-control Codes: An encoded and a Viterbi decoder in C++ . . 46, 48--53, 92--93 Brenton Hoff High-speed Finite-state Machines: Byte-oriented applications benefit from an assembly trick . . . . . . . . . . . 54, 56--61, 93 James Flynn Embedded Systems --- Optimizing Microcontroller Performance: Getting around a memcpy bottleneck . . . . . . . 62, 64, 66, 68, 70, 73 Jay Johansen Internet Programming --- Template Driven Web Pages: A CGI program that parses templates . . . . . . . . . . . . . . . 74, 76--78, 93--94 Mark Weaver Programmer's Toolchest: Modeling with MATLAB: A flexible tool for system solutions . . . . . . . . . . . . . . . 80--83, 94--95 Robert Knapp and Mark Sofroniou Difference Equations and Chaos in Mathematica: Symbolic and numerical mathematics at work . . . . . . . . . . 84, 85, 88--90, 95, 98, 99 Michael Swaine Programming Paradigms: The Sincerest Form of Flattery . . . . . . . . . . . . 101--103 Al Stevens C Programming: MIDI Tech Support and CodeWarrior for Win32 . . . . . . . . . 105--109 Cliff Berg Java Q&A: How Do I Print in Java? . . . . 110--114 Tim Kientzle Algorithm Alley: Inside IMA ADPCM . . . 116, 118, 124 Robert R. Collins Undocumented Corner: ICE Mode and the Pentium Processor . . . . . . . . . . . 121--123 Gregory V. Wilson Programmer's Bookshelf: Perusing the Bookshelf . . . . . . . . . . . . . . . 125, 127 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 129--130 Michael Swaine Swaine's Flames: A Clock Puzzle . . . . 136--136
Jonathan Erickson Editorial: The Real Deal . . . . . . . . 6--6 Anonymous Letters --- by you . . . . . . . . . . . 10, 12 DDJ Staff News and Views . . . . . . . . . . . . . 18--18 Jean-Marie Chauvet and Marc Lerman Object Models and Java: Mixing and matching disparate object models . . . . 20--22, 243, 99, 100 Jason Shankel Implementing Abstract Factory as an STL Container: A practical, reusable structure . . . . . . . . . . . . . . . 28, 32, 34 Mike Spertus C++ and Garbage Collection: Not your father's garbage collection . . . . . . 36, 38, 40--41 Jagdish Bansiya and Carl Davis Automated Metrics and Object-oriented Development: Using QMOOD++ for object-oriented metrics . . . . . . . . 42, 44--48 Mark R. Nelson and Mark Nelson Java and the Zip File Format: Using Java to compress and extract files . . . . . 50, 52--54, 102 Thomas Tewell Writing Portable Win32 SCSI Applications: The WinASPI 32-bit DLL emulator module makes it possible . . . 56, 58--59, 102--103 Bruce D. Rosenblum Improve Your Programming with Asserts: Ten easy rules for more reliable software . . . . . . . . . . . . . . . . 60, 62--63 Kevin W. Smith Real-time Object-oriented Modeling: ObjecTime CASE tool simplifies real-time software development . . . . . . . . . . 64, 66, 68, 70, 72, 74 Robin Rowe Building a Smart Online Video Application: A software VCR using off-the-shelf parts . . . . . . . . . . 78, 80--84, 103--105 Gavin Smyth GNAT: The GNU New York University Ada Translator: A high-quality, low-cost Ada 95 compiler . . . . . . . . . . . . . . 86, 88, 89--90, 105--107 Lee R. Nackman CodeStore and Incremental C++: Why wait for slow builds . . . . . . . . . . . . 92--95, 107 Michael Swaine Programming Paradigms: Stocking Stuffers 108--111 Al Stevens C Programming: The C Mail Call . . . . . 113--118 Cliff Berg Java Q&A: How do I Browse and Dynamically Invoke Remote Objects . . . . . . . . . 121--123 Rod Stephens Algorithm Alley: Searching Decision Trees . . . . . . . . . . . . . . . . . 127--131, 137--138 George Shepherd and Scot Wingo Undocumented Corner: ATL and Dual Interfaces . . . . . . . . . . . . . . . 133--135 Robert Bernecky and Michael Fitzpatrick Programmer's Bookshelf: Inner Loops and Regular Expressions . . . . . . . . . . 141, 143 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 145--146 Michael Swaine Swaine's Flames: Just Say NOS . . . . . 152--152
Jonathan Erickson Editorial: The Planning Department . . . 6--6 Anonymous Letters . . . . . . . . . . . . . . . . 10, 12 Greg Cooper Letters: Java JNI . . . . . . . . . . . 10--10 Oyvind Teig Letters: Java Deadlock . . . . . . . . . 10--10 The DDJ staff News & Views . . . . . . . . . . . . . . 18--18 Arthur van Hoff Java: Getting Down to Business: Is IS ready for real applications? . . . . . . 20--22, 24 Kenneth Bandes Java and COM automation: Taking the edge off dual interfaces . . . . . . . . . . 28, 30, 32, 34--35, 98--99 Paul Tremblett Java Reflection: Not just for tool developers . . . . . . . . . . . . . . . 36, 38--39, 99--101 Jeffery E. Payne and Michael A. Schatz and Matthew Schmid Implementing Assertions for Java: Finding bugs early . . . . . . . . . . . 40, 42--44 Matt T. Yourst Inside Java Class Files: The key to Java's binary portability . . . . . . . 46, 49, 51--52, 102--103 Carol A. Jones The Java Internationalization API: Global software for the global village 54, 56--69, 103--104 Dan Ford Mutual Exclusion and Synchronization in Java: Mimicking Win32 synchronization mechanisms . . . . . . . . . . . . . . . 62, 64, 66, 68--70, 73--75 Louis Thomas and Sean Suchter and Adam Rifkin Internet Programming: Developing Peer-to-Peer Applications for the Internet: Introducing SimulEdit, an distributed text editor . . . . . . . . 76, 78--81, 104--105 Mukul Sood Programmer's Toolchest: Examining JDBC Drivers: Current drivers fit into our of four categories . . . . . . . . . . . . 82, 84--87 Andrew Wilson Examining Microsoft's J/Direct: Making Java native code easy on Windows 95/NT 90, 92--96, 104--105 Michael Swaine Programming Paradigms: Java and Other Weapons of War . . . . . . . . . . . . . 107--109 Al Stevens C Programming: $ {C}^3 $: Conferences, CodeWizard, Committees . . . . . . . . . 111--113 John Boyer Algorithm Alley: Resizable Data Structures . . . . . . . . . . . . . . . 115--116, 118, 129 Cliff Berg Java Q&A: How Do I Create a Signed Castanet Channel? . . . . . . . . . . . 121--124, 129 Robert R. Collins Undocumented Corner: The Pentium's Enhanced v86 Mode . . . . . . . . . . . 126--128 Gregory V. Wilson Programmer's Bookshelf: Acronyms by the Bushel: VB, UML, CRC, and GUI . . . . . 133--134 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 137--138 Michael Swaine Swaine's Flames: The Second Puzzle . . . 144--144
Jonathan Erickson Editorial: You Turn Me On, I'm an Internet Radio . . . . . . . . . . . . . 6--6 Anonymous Letters . . . . . . . . . . . . . . . . 10, 12 The DDJ staff News & Views: Online Database Derby Results; Integrated ICs; Java Gets the Nod; HP to go; Drive Capacities Go Even Higher; DSL Gets a Boost; School Days; NC: The Network Car?; The Bug Itself; GeezerWare . . . . . . . . . . . . . . . 18--18 Eugene Eric Kim A Conversation with Larry Wall . . . . . 20--22, 24, 28 David Beazley SWIG and Automated C/C++ Scripting Extensions . . . . . . . . . . . . . . . 30, 32, 34--36, 100 Brad Howes Template Processing Classes For Python 38, 40, 42, 44--46, 48, 100 Scott Stanton Tclblend: Blending Tcl and Java . . . . 50, 52--54, 100--101 Tim Kientzle Automatic File Conversions with Perl . . 56, 58, 101 Dhananjay V. Gadre and Sunu Engineer A Data Acquisition System for Linux . . 62, 64--67, 101 Russell W. Mello Embedded Systems: Flexible System Control and Special-Purpose Languages 68, 70, 72, 74, 76--80 Sean McGrath Internet Programming: XML Programming in Python . . . . . . . . . . . . . . . . . 82, 84--87, 101--104 Ray Lischner Programmer's Toolchest: The Delphi Open Tools API . . . . . . . . . . . . . . . 88, 90--92, 104--105 Charles H. Huddleston and Douglas A. Troy Programmer's Toolchest: An ActiveX Control for Real-Time Computer Control 94, 96--99, 105 Michael Swaine Programming Paradigms: The Rest of Us 107--109 Al Stevens C Programming: A C++ Standard At Last 115--117, 130--131 Cliff Berg Java Q&A: How Do I Transfer Data Securely? . . . . . . . . . . . . . . . 119--121 Karl-Dietrich Neubert Algorithm Alley: The Flashsort1 Algorithm . . . . . . . . . . . . . . . 123--125, 131 George Shepherd and Scot Wingo Undocumented Corner: ATL's ActiveX Control Architecture . . . . . . . . . . 127--129, 131 Gerald L. Graef Programmer's Bookshelf: From C to Tcl 133--134 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 137--138 Michael Swaine Swaine's Flames: 2001, Y2K, and Other Memorable Numbers . . . . . . . . . . . 144--144
Jonathan Erickson Editorial: Let Us Now Praise Famous Stuff . . . . . . . . . . . . . . . . . 6--6 Adam D. Samuels and Jerry van Dijk and Dawn Amore and Shlomi Fish and Scott Schwendinger and Arvid R. Hand, Jr. and Howard Mark Letters: Something in the Air; More on Ada; Recycling PC's; Server-Side Scripting; Stronger Encryption; Inner Loops; Einstein Kudos . . . . . . . . . 8, 12 DDJ Staff News and Views: Computing Olympiad; The Public's Right to Know; Smart Cards; More Y2K; Why Rome Burns; Biocomputing; New Infrared Standards; National Medals Awarded . . . . . . . . . . . . . . . . 18--18 Jonathan Erickson Dr. Dobb's Journal Excellence In Programming Awards . . . . . . . . . . . 20--21 Shari Lawrence Pfleeger Software Quality . . . . . . . . . . . . 22, 24, 28--29 Robert R. Collins Benchmarks: Fact, Fiction, or Fantasy? 30, 32, 34--37 Sean Eric Fagan Tracing BSD System Calls . . . . . . . . 38, 40, 42--43, 105 John J. Barton and John Whaley A Real-Time Performance Visualizer for Java . . . . . . . . . . . . . . . . . . 44, 46--48, 105 Kelvin Nilsen picoPERC: A Small-Footprint Dialect of Java . . . . . . . . . . . . . . . . . . 50, 52--54 Tom Milligan and Steve Coffin Embedded Systems: Building Intelligent Web-Based Control Systems . . . . . . . 56, 58, 60, 62, 64, 66, 68, 70--71 Tom Armstrong and Mark Nelson Internet Programming: Transparent ATL Controls . . . . . . . . . . . . . . . . 72, 74--76, 105--106 Ron van der Wal Programmer's Toolchest: Source-Code Profilers For Win32 . . . . . . . . . . 78, 80, 82--88 Patrick Tennberg Windows NT Device Driver Toolkits . . . 92, 94--95, 97, 106--107 John Graham-Cumming VerCheck: Discovering Component Version Numbers . . . . . . . . . . . . . . . . 99--102 Michael Swaine Programming Paradigms: Adventures in Benchmarking (My Don't Do List) . . . . 109--111, 114 Al Stevens C Programming: The Persistent Template Library . . . . . . . . . . . . . . . . 117--120, 137 Govind Seshadri Java Q&A: How Do I Implement Callbacks with Java's RMI? . . . . . . . . . . . . 123--124, 137--138 William Stallings Algorithm Alley: Exponential Smoothing 127--130 Robert L. Collins Undocumented Corner: Details of Intel's Virtual Mode Extensions (VME) . . . . . 133--135, 138 Jeff Cromwell Programmer's Bookshelf: Learning ISAPI 141, 143 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 145--146 Michael Swaine Swaine's Flames . . . . . . . . . . . . 152--152
Jonathan Erickson Editorial: Help Wanted . . . . . . . . . 6--6 Alexander Prigozhin and Steve Johnson and Jonathan Rosenne and Sy Wong and Scott Raney and Andreas Eder and Arthur Nunes Letters: Design by Contract; The Standardization Process; International Java; To: \tt <KJPrice@bellatlantic.net>; The Metacard Language; Symbolic Integration . . . . . . . . . . . . . . 10, 12 DDJ Staff News and Views: The Secret Story of Nonsecret Encryption; Netscape News; Key Escrow Woes; Fingerprint IC . . . . . . 18--18 Jon Bentley and Robert Sedgewick Ternary Search Trees . . . . . . . . . . 20--22, 24--25 David Vandevoorde The Maximal Rectangle Problem . . . . . 28, 30--32, 100 Doug Stinson Visual Cryptography and Threshold Schemes . . . . . . . . . . . . . . . . 36, 38--43 Kari Granö and Jukka Paakki and Jukka Viljamaa and Antti Viljamaa Protocol Engineering and Kannel . . . . 46, 48, 50, 52--53, 100 Jason Shankel STL's Red-Black Trees . . . . . . . . . 54, 56, 58, 60 Bruce Radtke Windows CE Win32 API Programming . . . . 62, 64, 66, 68, 70 Dale Roberts Embedded Systems: Interrupt Behavior In Windows NT . . . . . . . . . . . . . . . 74, 76, 78, 80, 82 Pamela J. Taylor Internet Programming: Using NetRexx . . 84--87, 101 Philip Rousselle Programmer's Toolchest: Dynamic Distributed Systems In Java . . . . . . 88, 90--92, 102--104 Bryan Morgan Building Distributed Applications with Java and CORBA . . . . . . . . . . . . . 94, 96--99, 104--105 Michael Swaine Programming Paradigms: Hill Climbing and Other Paradigms . . . . . . . . . . . . 106, 108--109, 111 Al Stevens C Programming: AntiPatterns and PTL 2 114--116 Cliff Berg Java Q&A: How do I Interface Java to my PalmPilot . . . . . . . . . . . . . . . 118, 120, 122, 139 Gary D. Knott Algorithm Alley: Adaptive Delta Modulation: Algorithms for Audio Compression . . . . . . . . . . . . . . 124, 126, 128, 139 George Shepherd and Scot Wingo Undocumented Corner: Inside ATL's Property Pages . . . . . . . . . . . . . 130, 132--133, 139 Dennis E. Shasha Dr. Ecco's Omniheurist Corner: Territory Game . . . . . . . . . . . . . . . . . . 134, 136 Robert Bernecky Programmer's Bookshelf: Computer Architecture . . . . . . . . . . . . . . 141--143 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 145--146 Michael Swaine Swaine's Flames: A Gathering of Egos . . 152--152
Jonathan Erickson Editorial: Fear and Loathing on the Y2K Trail . . . . . . . . . . . . . . . . . 4--4 Anonymous Letters . . . . . . . . . . . . . . . . 10, 12 DDJ Staff News and Views: Kudos for Free Software Pioneers; PSCs: Personal Supercomputers; Smart Dialing; Let it Snow\ldots; Math for the Web; The Taxman Changes; Advances in Nanoelectromechanical Technology; Tcl Goes it Alone . . . . . 18--18 Robert L. Moore and D. Gregory Foley Date Compression and Year 2000 Challenges . . . . . . . . . . . . . . . 20--22, 24, 109 William Gothard and Les Rodner Strategies For Solving the Y2K Problem 26, 28, 30, 32, 109 Dev Bhattacharyya A Year 2000 Tool Suite . . . . . . . . . 36, 38 Brand Fortner HDF: The Hierarchical Data Format . . . 42, 44--48, 109--110 Michael Herstine Algorithms For High-Precision Finite Differences . . . . . . . . . . . . . . 52, 54--58 Robert R. Collins The Pentium F00F Bug . . . . . . . . . . 62, 64--66 John C. Schettino, Jr. Extending Windows CE 2.0 MFC Database Classes . . . . . . . . . . . . . . . . 70, 72, 74--75, 110--111 H. Thomas Richter Embedded Systems: Fast Memory Allocation 78, 80--82, 84, 86--87 Mark Betz Internet Programming: Active Data Objects and ASP . . . . . . . . . . . . 88--91, 111--112 David P. Heddle Programmer's Toolchest: The Hot Views Graphics Library . . . . . . . . . . . . 92, 94--95, 112--113 Gary Carleton and Knud Kirkegaard and David Sehr Programmer's Toolchest: Profile-Guided Optimizations . . . . . . . . . . . . . 98, 100--103 Jean-Denis Bertron Customizing DDX/DDV . . . . . . . . . . 105--107, 137 Michael Swaine Programming Paradigms: A Chat with Bob Bemer . . . . . . . . . . . . . . . . . 115--117 Al Stevens C Programming: MIDIFile: Standard MIDI Format File Parsing . . . . . . . . . . 119--121, 137 L. Richard Moore Java Q&A: How Do I Create a Streaming Audio Java Applet? . . . . . . . . . . . 122--124 John Boyer Algorithm Alley: Sorting and Searching Linked Lists in Java . . . . . . . . . . 126--129, 137--138 Robert R. Collins Undocumented Corner: VME: Coming Out of the Cold . . . . . . . . . . . . . . . . 130--133, 138 Dennis E. Shasha Dr. Ecco's Omniheurist Corner: Nimmerics 134--135 Peter N. Roth Programmer's Bookshelf: Fuzzy Logic . . 141--143 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 145--146 Michael Swaine Swaine's Flames: 2001: The Legacy Code 152--152
Jonathan Erickson Editorial: Banker, Can You Spare a Dime? 6--6 August Pamplona and Mike Kurtinitis and Stuart Ambler and Win Carus and Tim McCaffrey and Peter Sage Letters: Visual Cryptography; EccoFan; Help Wanted; Ternary Searches; Window Sizes and the Registry . . . . . . . . . 10, 12 DDJ Staff News and Views: New Trends in Vaporware; Distance Ed Might Pay Off; Life in the Fast Lane; Making Friends in Washington; News on OpenGL 1.2; No Discounts for Schools; Let's Do Lunch; Encryption Export Challenge?; Java Fissures; Searching for Talent in Science; Nanomedicine . . . . . . . . . . . . . . 18--18 Jagdish Bansiya Automating Design Pattern Identification 20--22, 24, 26, 28 W. David Pitt The Visitor Pattern and a Java Grep Utility . . . . . . . . . . . . . . . . 30, 32, 93 Arthur T. Jolin and David Lavin and Susan Carpenter Designing Class Libraries for Visual Builders . . . . . . . . . . . . . . . . 38, 40, 42--43 Hays W. McCormick and Raphael Malveaux AntiPatterns . . . . . . . . . . . . . . 44, 46, 48--50 Steven K. Roberts Designing Technomadic Systems . . . . . 54, 56--58, 60, 62, 64 Derrick B. Forte and Hai T. Nguyen 68HC05-based Peripheral Devices: Part I 66, 68, 70, 72--73 Ofer LaOr CGI Programming and Visual Basic . . . . 74, 77--79, 93--94 John Boyer Digital Signatures with the Microsoft CryptoAPI: Adding security to Windows applications . . . . . . . . . . . . . . 80, 82--85 Frank Hellwig Implementing Associations: Maintaining pointer integrity the easy way . . . . . 86, 88--91, 94--95 Michael Swaine Programming Paradigms: Show Me the Pattern . . . . . . . . . . . . . . . . 98--101 Al Stevens C Programming: Windows: 98, NT, and CE 103--105, 123--124 Kenneth Golomb and Thomas Sorgie Java Q&A: How Do I Ensure Secure Communications from a Java Applet? . . . 107--109, 124 Jon Bentley Algorithm Alley: The Cost of Recursion 111--114 George Shepherd and Scot Wingo Undocumented Corner: ATL and Connection Points . . . . . . . . . . . . . . . . . 117--119, 124--125 Dennis E. Shasha Dr. Ecco's Omniheurist Corner: Beautiful Liars . . . . . . . . . . . . . . . . . 121--122 Chris Jaekl and Paul Lu Programmer's Bookshelf: Software Projects and UNIX Programming . . . . . 127, 129 Anonymous Of Interest . . . . . . . . . . . . . . 130--131 Michael Swaine Swaine's Flames: Paranoia . . . . . . . 130--131
Michael Swaine Programming Paradigms: Leo and the Lizards . . . . . . . . . . . . . . . . 101--103
Jonathan Erickson Editorial: Lessons Learned . . . . . . . 6--6 Wes Plouff and Al Stevens and John Silbert and Ed Guy and Grant Thomsen and Jost Riedel and Ian E. Gorman and Paul Lu Letters: PTL Queries; Finite Differences; Y2K Challenges; You Can Take it to the Bankers . . . . . . . . . 10, 12 DDJ Staff News and Views: Going West; End of an Era; Electronic Messaging Available; Putting Your Money Where Your Mouth Is; Amiga Redux; Unscrambling Encryption; Ergonomic Research; PPTP Bug . . . . . . 16--16 Fred Wild C++ Interfaces: Keeping interfaces and implementations separate . . . . . . . . 18--20, 22, 89 Dave Pomerantz C++ Notifiers: Simplifying system development . . . . . . . . . . . . . . 26, 28, 30--31, 89--90 Kevin Haverlock Object Serialization, C++, and Java: Exchanging data between a sender and a receiver . . . . . . . . . . . . . . . . 32, 34, 36--37 Jim Beveridge Self-Registering Objects In C++: Registering new classes at run time . . 38, 40--41, 90 Nathan Myers C++ Locales: International programming gets easier . . . . . . . . . . . . . . 42, 44--45, 90--91 Jonathan S. Arney C Preprocessing With Tcl: Sophisticated compile-time preprocessing . . . . . . . 46, 48--49, 91 Aspi Havewala The Windows CE Build Process: Creating custom versions of the operating system 50, 52, 54, 56--57, 59, 91--92 Don Hair and Cesar Quiroz Embedded Systems: Embedded Development Compilers: The right tool for the right job . . . . . . . . . . . . . . . . . . 60, 62, 64, 66--69 Stefan Nilsson and Gunnar Karlsson Internet Programming Fast IP Routing With LC-tries: Achieving Gbit/sec speed in software . . . . . . . . . . . . . . 70, 72--75 Mauricio de Simone and Gregory V. Wilson Programmer's Toolchest: The Active Expressions Library: Parallel programming with C++ operator overloading . . . . . . . . . . . . . . 76, 78--79, 92--94 Stefan Hoenig Plug-in Components for MFC: Adding power and flexibility to MFC . . . . . . . . . 82, 84--86, 94 Michael Swaine Programming Paradigms: The Philosophical Fragments of La Bamba . . . . . . . . . 99--101 Al Stevens C Programming: Retro This . . . . . . . 103--105 Cliff Berg Java Q&A: How do I Password Encrypt Data? 107--109, 117 Sergei Savchenko Algorithm Alley: Theorem Proving and Database Querying . . . . . . . . . . . 111--113, 117 Dennis E. Shasha Dr. Ecco's Omniheurist Corner: Mates . . 115--116 William Stallings Programmer's Bookshelf: In the Future with IPv6 . . . . . . . . . . . . . . . 119--120 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 122--123 Michael Swaine Swaine's Flames: Politics . . . . . . . 128--128
Jonathan Erickson Editorial: Fast, Cheaps & Two Thumbs Up 6--6 Anonymous Letters . . . . . . . . . . . . . . . . 10, 12 DDJ Staff News and Views: Programming Contests Announced; Y2K Set in Stone; USENIX Notes; Thinking about Clusters; ``It's Mine, All Mine!''; Vintage Computers; Fighting the Programmer Shortage; Linux: A Dangerous Weapon . . . . . . . . . . . 16--16 Steve Ball and John Miller Crawford Channels for Inter-Applet Communication 18--20, 22, 91 N. Thomas Creighton Dynamic Linking and Late Binding for Netware . . . . . . . . . . . . . . . . 26, 28, 30--31, 91--92 Oleg Kiselyov Distributing Data Using TLT30G . . . . . 34, 36, 38, 40, 92--93 Martyn Davies Voice Recording and Playback with ISDN 42, 44, 46, 93 Sean Eric Fagan Asynchronous Communications Using select and poll . . . . . . . . . . . . . . . . 48, 50--51, 93--95 Andrew Tucker The Windows CE 2.0 Remote API . . . . . 52, 53--57, 95--96 Edward J. Beroset Assembly-Language Control-Flow Graphing 58, 60, 62, 64, 66, 68 Kevin O'Malley and Terence Kelly An API for Internet Auctions . . . . . . 70, 72--74, 96--97 Garth Smedley Visual Programming With Prograph . . . . 76, 78--83 Dave Dykstra and Katherine Lato NSBD and Software Distribution . . . . . 84, 87--88, 97 Michael Swaine Programming Paradigms: Hot Flashes . . . 99--100, 102--103 Al Stevens C Programming: The Next Great Migration: From C++ to Standard C++ . . . . . . . . 105--109 Mukul Sood Java Q&A: What is Swing? . . . . . . . . 111--114, 125 John C. Gunther Algorithm Alley: Discontiguous Exponential Averaging . . . . . . . . . 117--119, 125 Dennis E. Shasha Dr. Ecco's Omniheurist Corner: Getting Even . . . . . . . . . . . . . . . . . . 123--124 Jeff Cromwell Programmer's Bookshelf: The Dawning of the Age of Multithreading . . . . . . . 127, 129 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 130--131 Michael Swaine Swaine's Flames: Animal Intelligence . . 136--136
Jonathan Erickson Editorial: Taking Care of Business . . . 8--8 Joshua Lynch and Russ Heeschen and Antonio Bigazzi and Bill Wood and Andy Thomas-Cramer and Niall Murphy Letters: MFC Plug-In Components; Embedded Compilers; Theorem Proving Update; Windows CE . . . . . . . . . . . 12, 14 DDJ Staff News and Views: PlateWare; It's That Simple; Shareware Kudos; Son of AARD; Old Meets New; Silicon-On-Insulator Breakthrough; Web Design Competition . . 16--16 Alexandre Petit-Bianco Java Garbage Collection For Real-Time Systems . . . . . . . . . . . . . . . . 20--22, 24, 26--29 Robert Krten Device Drivers and Real-Time Systems . . 34, 36, 38--39 Richard M. Smith A Real-Time Weather Station . . . . . . 40, 42, 44, 46, 109--110 Randall Cook Real-Time Sound Processing . . . . . . . 50, 52--55, 110--112 Joseph M. Orost The Bench++ Benchmark Suite . . . . . . 58, 60--62, 64--65, 112--113 James Y. Wilson Windows CE Device Driver Development, Part I . . . . . . . . . . . . . . . . . 66, 68, 70, 72, 74 William M. Stein Forth And Real-Time Control . . . . . . 78, 81--82, 84--88 Lauren Hightower The Web Report Database Reporting Tool 90, 92--93, 95, 113--114 Keith Bugg Examining the Microsoft HTML Help Toolkit . . . . . . . . . . . . . . . . 98, 100, 102--103 Paul Lomax Visual Basic 6 Filesystem Objects . . . 104, 106--107, 114--115 Michael Swaine Programming Paradigms: Rooting for the Little Guy . . . . . . . . . . . . . . . 117--119 Al Stevens C Programming: Around the World with the C++ Migration . . . . . . . . . . . . . 121--125 Mike Criscolo Java Q&A: How Do I Queue Java Threads? 127--129 Steven Pigeon and Yoshua Bengio Algorithm Alley: Memory-Efficient Adaptive Huffman Coding . . . . . . . . 131--132, 134--135 Dennis E. Shasha Dr. Ecco's Omniheurist Corner: Mapcraft 137--139 Sean McGrath Programmer's Bookshelf: The Tcl/Tk and Python Scripting Environments . . . . . 143, 145 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 146--147 Michael Swaine Swaine's Flames: Housecleaning at Foo Bar . . . . . . . . . . . . . . . . . . 152--152
Jonathan Erickson Editorial: Dancing to the Media Mantra 8--8 Aki Morita and John Burkhardt and Steve Kelleher and Mike Kelley and Jeff Feeley and Byron Miller and Ted Velkoff Letters: Self-Registering Objects; C++ Namespaces; Online Op-Ed; Year 2000; Book Review Response; Design by Contract 12, 14 DDJ Staff News and Views: A Standard Linux? Cryptography Contest; Drives Get Smaller \small and \footnotesize Smaller; Perl Conference; Really Embedded Systems; Programmer Shortage?; Beowulf: Linux Clustering; Java SPEC Released . . . . . 16--16 Pat Flanigan and Jawed Karim NCSA Symera . . . . . . . . . . . . . . 20--22, 24, 26--27, 32--33 David Houlding A CORBA Bean Framework . . . . . . . . . 34, 36, 38--40 Arno Puder The MICO CORBA-Compliant System . . . . 44, 46--51 Ming Fan and Jan Stallaert and Andrew B. Whinston Creating Electronic Markets . . . . . . 52, 54--57 Bruce W. Bigby The GEF General Exception-Handling Library . . . . . . . . . . . . . . . . 60, 62, 64, 66 James Y. Wilson Windows CE Device Driver Development, Part II . . . . . . . . . . . . . . . . 68, 70, 72, 74, 76--78, 80, 82 Lee R. Copp File Formats and Automotive Data Acquisition . . . . . . . . . . . . . . 84, 86, 88--90 Lynn Monson The WIDL Specification . . . . . . . . . 92, 94--96 Fritz Lowrey Examining The Win32 Debug API . . . . . 98, 100--102 Wes Faler Building Solid Code . . . . . . . . . . 106, 108--110 Michael Swaine Programming Paradigms: Sun Dreams of Jini . . . . . . . . . . . . . . . . . . 113--114, 117 Al Stevens C Programming: Undo/Redo Redux . . . . . 119--120, 122, 124--125 Jason W. Purdy Java Q&A: How Does Java Drag-and-Drop Work? . . . . . . . . . . . . . . . . . 127--130 Jon Bentley and Robert Sedgewick Algorithm Alley: Sorting Strings with Three-Way Radix Quicksort . . . . . . . 133--134, 136--138 Dennis E. Shasha Dr. Ecco's Omniheurist Corner . . . . . 140--141 Gregory V. Wilson Programmer's Bookshelf: No Engineers Wer Harmed in the Production of this Book 143, 145 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 146--147 Michael Swaine Swaine's Flames: Doing Facemail at Foo Bar . . . . . . . . . . . . . . . . . . 152--152
Jonathan Erickson Editorial: Following the Money . . . . . 8 Don Mackenzie and Andrew J. Gryc and Graziano Lo Russo and Gary Clouse and C. J. Hinke and Bruce E. Hogman and Thomas Fleischer and John Graham-Cumming Letters: The Passport System Does Work; Real-Time Sound; C++ Versus Java; Online Op-Ed; Hard Encryption; Y2K; VerCheck Update . . . . . . . . . . . . . . . . . 12, 16--17 DDJ Staff News and Views: In Your Face; Who Invented the Microprocessor?; Mixed Media; But Where Will They Go For Spring Break?; Quantum Computing Lives; E-Commerce Continues to Grow\ldots; \ldotsBut Will Smart Cards Play a Role? 18--18 Arun Ramanujapuram and Prasad Ram Digital Content and Intellectual Property Rights . . . . . . . . . . . . 20--22, 24, 26--27 Bruce Schneier The Twofish Encryption Algorithm . . . . 30, 32, 34, 36, 38 Joan Daemen and Craig Clapp The Panama Cryptographic Function . . . 42, 44, 46, 48--49 Taimur Aslam Protocols For E-Commerce . . . . . . . . 52, 54--56, 58 Paul Trout Domain Usage Tracking For Windows NT . . 60, 62--65 Edward K. Conklin Smart Cards and the Open Terminal Architecture . . . . . . . . . . . . . . 70, 72, 74, 76, 78, 80 Michael J. McLaughlin and Alan Moore Real-Time Extensions To UML . . . . . . 82, 84, 86--93 Sean McGrath XLink: The XML Linking Language . . . . 94, 96--101 Fritz Lowrey Delphi 4 and the WNet API . . . . . . . 102, 104--106, 107 Sven B. Schreiber Examining Microsoft's LDAP API . . . . . 108, 110--111 Michael Swaine Programming Paradigms: Stocking Stuffers 114, 116--117 Al Stevens C Programming: D-Flat 2000 and Quincy 99: Breathing New Life into Old Projects 118--121 W. David Pitt Java Q&A: How Do I Use Servlets? . . . . 122, 124--125 Bart Preneel and Vincent Rijmen and Antoon Bosselaers Algorithm Alley: Principles and Performance of Cryptographic Algorithms 126--131 Dennis E. Shasha Dr. Ecco's Omniheurist Corner: Subway 132--133 Eduardo Fernandez Programmer's Bookshelf: Object-Oriented Design . . . . . . . . . . . . . . . . . 135, 137 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 138, 139 Michael Swaine Swaine's Flames: The Real Power Behind Linux . . . . . . . . . . . . . . . . . 144--144
Jonathan Erickson Editorial: 2B or Not 2B . . . . . . . . 8--8 Roger McFarlane and Costa Siourbas and Nassie Evyatar and Joseph Fenton and Justin Gale and Robert Stafford and Sam Holden and Oleg Kiselyov Letters: WinCE's CeRapiInvoke API; Year 2000 Fix; DebugAPI; Template-Driver Web Pages; DDA and Fast Image Scaling . . . 10, 12, 16--17 DDJ Staff News and Views: Speeding up 3D Modeling; Project Gutenberg; FSF Honors Larry Wall; Smart Pens Don't Make Smart Writers; Power Hogs; Virtual Fish: Java's Killer App?; Evaluating Testing Tools; Software Patents Con . . . . . . 18--18 Hannes Marais and Tom Rodeheffer Automating The Web With Webl . . . . . . 20--23, 26--27 Jason Shankel Little Languages With Lex, Yacc, and MFC 28, 30, 32--33 Tim Kientzle Full-Text Searching In Perl . . . . . . 34, 38--41 Paul Butcher Extending JScript: Supporting constructors and arrays in JScript . . . 42, 44, 46, 48--49 Cliff Berg Parsing Expressions In Java: Specifying rules for common operations . . . . . . 50, 52--53, 56--58 Jaison Dolvane and Kumanan Yogaratnam PersonalJava and Information Appliances, Part I . . . . . . . . . . . . . . . . . 60, 62, 64--68 John Sadler Ficl: An Embeddable Extension Language Interpreter . . . . . . . . . . . . . . 70, 72--74, 76, 78 Ron Klatchko Dynamically Reconfigurable Servers: Python's extensibility makes it easy . . 80, 82--84 John Goalby Scripts For Windows Scripting Host . . . 86, 88--92 Peter Webb and Gregory V. Wilson Matlab as a Scripting Language: A simple way to do powerful things . . . . . . . 94, 96--99 Michael Swaine Programming Paradigms: Let the Fin Begin 101--103 Al Stevens C Programming: Editor, An Interim Project . . . . . . . . . . . . . . . . 107--110 Kenneth Hittleman and Ted Leung Java Q&A: What's in Store when Moving from JDK 1.1 to JDK 1.2? . . . . . . . . 112--115 Sasha Gontmakher and Ilan Horn Algorithm Alley: Efficient Memory Allocation . . . . . . . . . . . . . . . 116--119 Dennis E. Shasha Dr. Ecco's Omniheurist Corner: Fair Swedes . . . . . . . . . . . . . . . . . 123--125 Paul Lu and William Stallings Programmer's Bookshelf: STL & Gigabit Ethernet . . . . . . . . . . . . . . . . 127, 129 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 134--135 Michael Swaine Swaine's Flames: The Ghost in Gauze . . 136--136
Jonathan Erickson Editorial: Open Season . . . . . . . . . 8--8 Ian Quick and Andrew Tucker and Joe Celko and Todd Stephan and Jason Black and Norman R. Dotti Letters: And the Winner is \ldots; More on Win32 Debugging; Quicksort improvements; Ah Hah; WinCE Terminology; Real Real-Time . . . . . . . . . . . . . 10, 12, 16 Edward K. Conklin Errata: ``Smart Cards and the Open Terminal Architecture'' (DDJ, December 1998) . . . . . . . . . . . . . . . . . 18--18 DDJ staff News and Views: Tough Love; Restoring an IBM 1620; Picture This; And the Winner is \ldots; But Will it Run Microsoft Word?; Computer Tutor; Variation on a Y2K Theme . . . . . . . . . . . . . . . 18--18 David K. Perelman-Hall Java and Lightweight Components . . . . 22--24, 26--28 Tim Kientzle A Java Applet Search Engine . . . . . . 32, 36, 38--40 Bill Loeb The Java 2D API . . . . . . . . . . . . 44, 46--49 Morgan Kinne Writing Javabean Property Editors . . . 52, 54--56, 58, 60, 62 Jaison Dolvane and Kumanan Yogaratnam PersonalJava and Information Appliances, Part II . . . . . . . . . . . . . . . . 64, 66--68, 70--71 Darryl Barnes Embedded Systems: Java Card Application Development . . . . . . . . . . . . . . 72, 74, 76--78, 80 Paul Brigner Internet Programming: Creating Signed, Persistent Java Applets . . . . . . . . 82, 84--88 David M. Johnson Programmer's Toolchest: Comparing WFC and JFC . . . . . . . . . . . . . . . . 90, 92--95 Robb Shecter Programmer's Toolchest: Design by Interface . . . . . . . . . . . . . . . 96, 98--101 S. Balamurugan Jperl: Accessing Perl From Java . . . . 103--105 Michael Swaine Programming Paradigms: I Joined the Rebol Alliance . . . . . . . . . . . . . 107--109 Al Stevens C Programming: The Envelope, Please . . 111--113 Dave Angel and Andy Wilson Java Q&A: How Do I Store a Java App in a Self-Executing Encrypted File? . . . . . 115--116, 118, 120--121 Andrew Colin Algorithm Alley: The Analytic Hierarchy Process . . . . . . . . . . . . . . . . 123--125 Dennis E. Shasha Dr. Ecco's Omniheurist Corner: Dig . . . 131--132 Gregory V. Wilson Programmer's Bookshelf: Small is Beautiful --- Kind Of . . . . . . . . . 135, 137 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 142--143
Michael Swaine Swaine's Flames: The Flip Side . . . . . 144--144 Jonathan Erickson Editorial: Bumper Cars at Mach 1 . . . . 8--8 Jay Braun and David Cox and Christophe Ponsard and Reg Charney and Torken Danielsson and Christian Lanctot and John D. Kent and Steve Furlong Letters: There's Always Room for Forth; Online Op/Eds; Parsing Expressions in Java; Age Discrimination; A Better Date?; More Y2K; It's a Cult Kind of Thing . . . . . . . . . . . . . . . . . 10, 12 DDJ staff News and Views: Sorting Things Out; Congratulations are in Order; More Kudos; Cheaper Chips; Online Astronomy 16--16 Louis J. Wicker Simulating Severe Weather . . . . . . . 18--20, 22, 24, 26--28 Donald C. Craig Hierarchical Logic Simulation . . . . . 32, 34, 36--38 Paul Tremblett The Java Provider Architecture . . . . . 40, 42, 44--47, 49 Kalle Anderson and Jason Buttron and Paul Clarke and Matt Enwald Wookie: A 68HC11 Emulator . . . . . . . 50, 52--55 Aspi Havewala The Windows CE Emulator . . . . . . . . 56, 58, 60, 62, 64--65 Tom Cunningham and Chad Peckham Embedded Systems: Low-Level APIs For Embedded Systems . . . . . . . . . . . . 68, 70, 72, 74--77 Basit Hussain Internet Programming: Understanding LDAP 78, 80--82 Gary L. Schaps Programmer's Toolchest: Compiler Construction With Antlr and Java . . . . 84, 86--89 Mike Harrington Controlling Motion-Tracking Devices . . 90, 92--96 Michael Swaine Programming Paradigms: Little Engines That Could . . . . . . . . . . . . . . . 99--101 Al Stevens C Programming: Templates and Exception Handling . . . . . . . . . . . . . . . . 103--105 Andrew Wilson Java Q&A: How Do I Implement Microsoft's \em delegate in Pure Java? . . . . . . . 107--110 Tim Kientzle Algorithm Alley: Implementing Fast DCTs 115--119 Dennis E. Shasha Dr. Ecco's Omniheurist Corner: Trains for the Sultan . . . . . . . . . . . . . 121--122 Jonathan Amsterdam Programmer's Bookshelf: Taking a Risk 125--126 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 134--135 Michael Swaine Swaine's Flames: The Creative Process 136--136
Jonathan Erickson Editorial: Lego of my Robot . . . . . . 8 James H. Sylvester and John B. Willison and Austin Fletcher and Joe Sam Shirah and John Sadler Letters: 3D Modeling; Bill's Inferno; More on the Crouch-Echlin Effect; Myopic about File Names; Ficl Update . . . . . 10, 12 DDJ Staff News and Views: Conventional Wisdom; 2B Update; Coffee, Tea, or PCs; \ldots Or Your Money Back; How Many Pens on the Head of a Pin; Measuring Up . . . . . . 16 Brian W. Kernighan and Rob Pike Regular Expressions: Languages, Algorithms, Software . . . . . . . . . . 19--22 Udi Manber Designing Algorithms Incrementally: Finding powerful problem-solving techniques . . . . . . . . . . . . . . . 26, 28--31 Lalit Pant Thread Communication In Parallel Algorithms: Enabling efficient interaction between threads . . . . . . 32, 34, 36, 38--39 Earl Augusta Recursion Simulated Recursion: Working around language shortcomings . . . . . . . . . 40, 42, 44 William Stallings The HMAC Algorithm: Key hashing for message authentication . . . . . . . . . 46, 48--49 A. J. Musgrove The Palmpilot's Infrared Port: Communication without cables . . . . . . 52, 56, 58--61 Rene Schaad Parallel Functional Decision Trees: Coping with unpredictability . . . . . . 62, 64--68, 70 Troy Neeriemer Internet Programming: Examining PerLDAP: Simplifying LDAP Access . . . . . . . . 72, 74--77 Kirby W. Angell Programmer's Toolchest: Examining JPython: A Java test engine puts Python to the test . . . . . . . . . . . . . . 78, 81--83 George F. Frazier Porting C++ Code From NT To UNIX: Using the MainWin XDE toolkit . . . . . . . . 84, 86--89 Michael Swaine Programming Paradigms: Blarney and Steve Jobs . . . . . . . . . . . . . . . . . . 91--93 Al Stevens C Programming: Java Jive and Scrolling the Editor . . . . . . . . . . . . . . . 96, 98 Steve Ball and John Miller Crawford Java Q&A: Are Java Applets Independent Programs? . . . . . . . . . . . . . . . 101--105 Jon Bentley Algorithm Alley: Analysis of Algorithms 107--110 Dennis E. Shasha Dr. Ecco's Omniheurist Corner . . . . . 114--115 Gregory V. Wilson and Steve Chartley Programmer's Bookshelf: The General, the Particular, and the Just Plain Odd . . . 117--118 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 126--127 Michael Swaine Swaine's Flames: Death Rattle . . . . . 128--128
Jonathan Erickson Editorial: Clear Cutting the Concept . . 8--8 Paull Tremblett and A. P. Madden and Serguei Patchkovskii and Edd Dumbill and Michael Olson and Tim Kientzle and Andrew Bowley Letters: Java Provided Update; Better Late Than Never; CD Authoring; Full-Text Searching; Taming C++ . . . . . . . . . 10, 12 DDJ staff News and Views: National Engineers Week at UC Berkeley; Recycling that PC; Patent Suits; Open Service Gateway Spec Planned . . . . . . . . . . . . . . . . 16--16 Timo Salo and Justin Hill and Scott Rich and Chuck Bridgham and Daniel Berg Object Persistence: Beyond Serialization 19, 22, 24--27, 30--33 Paul Lipton Java Proxies For Database Objects . . . 34, 36--39 John Donovan Lambert VBSCRIPT and SQL Calendars . . . . . . . 40, 42, 46--48 Cesar A. Gonzalez Perez The CVS Data Format . . . . . . . . . . 50, 52--53, 56--58 Russell P. Lentini and Goutham P. Rao and Jon N. Thies Agent Itineraries . . . . . . . . . . . 60, 62, 64, 66, 68, 70 David H. Martin and Johnny Martin Java and Digital Images . . . . . . . . 72, 74--76, 78--79 Anatoly Kotlarsky The Spark Real-Time Kernel . . . . . . . 80, 82, 84--86 M. Selvakumar Automated Testing for Web Applications 88, 90, 92, 95--96 Aspi Havewala The Version Control Process . . . . . . 100, 102, 104--111 Al Stevens C Programming: Doorknob Arguments . . . 115--116, 118 Lou Grinzo Java Q&A: How Do You Run Untrusted Classes? . . . . . . . . . . . . . . . . 121--123 Jon Bentley Algorithm Alley: Code Tuning in Context 125--126, 128 Dennis E. Shasha Dr. Ecco's Omniheurist Corner: Rosetta 130--131 Gregory V. Wilson and William Stallings Programmer's Bookshelf: A Revolution Oft-Delayed . . . . . . . . . . . . . . 133--134 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 142--143 Michael Swaine Swaine's Flames: Moving and Chaos . . . 144--144
Jonathan Erickson Editorial: Coffee Clashing . . . . . . . 8--8 Dave Babcock and Peter T. Anderson and Norman S. Clerman and Ralph Hempel and Steve Grappone and Jim Cloughley and Kevin Johnson and John Bartley and Cesar A. Gonzalez Perez Letters: Computer History; Motion-Tracking Devices; Asleep at the Keyboard?; Mindstorms; Java Jive; Analyzing Algorithms; The CVS Data Format URL . . . . . . . . . . . . . . . 12, 14 DDJ staff News and Views: Real-Time Java Working Group; Simulated Safety; A House of Smart Cards; Father of Ubiquitous Computing Passes Away; Electrochemical Fabrication . . . . . . . . . . . . . . 18 Hinkmond Wong Jini And Network-Enabled Devices . . . . 21--22, 24--26 Linden deCarmo Internet Telephony Protocols . . . . . . 30, 32, 34--36, 38--39 Paul Tremblett X.509 Certificates . . . . . . . . . . . 42, 44, 46, 47--51 Forrest J. Cavalier, III The HTTPsync Incremental Update Utility 52, 54, 56 Tilo Christ Java, Synchronization, and the Palmpilot 58, 60--64, 66 Jaromir Chocholac Protocols For Niche Area Networks . . . 68, 70, 72--74, 76, 78 David Houlding An Architecture For Web Services . . . . 80, 82, 84--85 Peter Davis Examining Microsoft's Speech SDK . . . . 86, 88--90 Michael Swaine Programming Paradigms: 1984 . . . . . . 93--97 Al Stevens C Programming: Herb and Me . . . . . . . 101--102, 104 Krishnan Rangaraajan Java Q&A: How Can I Test Java Classes? 107--109 Ron Gutman Algorithm Alley: Space-Filling Curves in Geospatial Applications . . . . . . . . 115--118, 120--121 Dennis E. Shasha Dr. Ecco's Omniheurist Corner: Flats and Steeps . . . . . . . . . . . . . . . . . 123--125 Jeff Taylor Programmer's Bookshelf: Linux Sysadmin On Your Own . . . . . . . . . . . . . . 127--128 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 134--135 Michael Swaine Swaine's Flames: Another Kind of e-Book 136--136
Jonathan Erickson Editorial: Moore's Law . . . . . . . . . 8--8 Nick Taylor and Robert Konigsberg and Joshua Graham and Peter Roth and Terry J. Reedy and Al Stevens and Joe Ganley and Doug McIlroy Letters: Robotics; Thread Communication and Parallel Algorithms; Analyzing Algorithms; Command-Line Arguments; Simulated Recursion; Y2K Bug? . . . . . 12, 14 DDJ Staff News and Views: Just Say No to Carpal Tunnel; ACM Award for S Creator; Cruising with Perl; You Can't Judge an Open E-Book \ldots; H1-B Visas in Short Supply; We Interrupt You with this Message\ldots; Great Timing; \path=www.waitandsee.org= . . . . . . . 18--18 Allen Ambler The Formulate Visual Programming Language . . . . . . . . . . . . . . . . 21--22, 24, 26, 28 Dave Lafever Visual Programming and Assistive Technology . . . . . . . . . . . . . . . 32, 34--36, 38 Andri Ioannidou and Alexander Repenning End-User Programmable Simulations . . . 40, 42--48 David Wendt Mindstorms Robotics and Visual C++ . . . 52, 54--57 Arne Frick and Georg Sander and Kathleen Wang Simulating Graphs As Physical Systems 58, 60--64 William F. Alexander IEEE 1394 Configuration ROM Decoder . . 66, 68, 70--73 Ron Kreymborg A Task Dispatcher For Embedded Systems 74, 76--80 Andrew Tucker Using Internet Explorer's HTMLParser . . 82, 84--87 Ken North Extenders, UDFs, and Stored Procedures 88, 90--93 Michael Swaine Programming Paradigms: Jerry's Kids . . 95--97 Al Stevens C Programming: C++ for \ldots . . . . . 99--101 W. David Pitt Java Q&A: Can Java Handle Exception Handling? . . . . . . . . . . . . . . . 103, 106--108 Steven Pigeon Algorithm Alley: Image Compression with Wavelets . . . . . . . . . . . . . . . . 111--115 Dennis E. Shasha Dr. Ecco's Omniheurist Corner: Laser Shuttles . . . . . . . . . . . . . . . . 117--117 Gregory V. Wilson Programmer's Bookshelf: Another Basketful of Books . . . . . . . . . . . 119--120 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 126--127 Michael Swaine Swaine's Flames: Lurking by the Chad Bowl at Trackball 99 . . . . . . . . . . 128--128
Jonathan Erickson Editorial: The Negotiator . . . . . . . 8--8 Brian Harrison and Philip Hendrickson and Murel Warren, Jr. and Lee Kamentsky and Ron Gutman and Brenton Hoff and Martin Handwerker and Tom Culliton and Aspi Havewala Letters: Real Programmer's Hate Cobol; 1984; Hilbert Curves; Grepping and Globbing; Testing Java Classes; The Version Control Process . . . . . . . . 10, 12 Nick Baran and Jonathan Erickson and Eugene Eric Kim News and Views: Keeping Track and Field-Tested Thinking and Apache Software Foundation Formed and More Better Secure Logins and Electronic Paper . . . . . . . . . . . . . . . . . 16--16 Torpum Jannak Java 2 Graphics Rendering . . . . . . . 19--20, 22, 24, 26--28 Angus Dorbie Gamma Correction . . . . . . . . . . . . 30, 32, 34--37 Max I. Fomitchev MMX Technology Code Optimization . . . . 38, 40, 42--46, 48 Harold Shinsato Writing High-Performance Graphical Java Components . . . . . . . . . . . . . . . 50, 52--54 Oliver Diener Porting Communications Software To Windows CE . . . . . . . . . . . . . . . 56, 58--60 Curtis Schwaderer Developing Custom Network Protocols . . 62, 64, 66, 68, 70, 72 Stephen Uhler Event-Based Servers in Tcl . . . . . . . 74, 76--78 Frank Höwing WiT and Hierarchical Trees . . . . . . . 80, 82--86 Michael Swaine Programming Paradigms: The Long View . . 89--90, 92--93 Al Stevens C Programming: Open Source, Open Mike 94, 96--98 Andy Wilson Java Q&A: What is the Java VM Profiler Interface? . . . . . . . . . . . . . . . 103--106 Thomas E. Janzen Algorithm Alley: Rendering Line Drawings from $3$D Models . . . . . . . . . . . . 109--113 Dennis E. Shasha Dr. Ecco's Omniheurist Corner: Monopoles 115--116 Lou Grinzo and Laryn Fernandes Programmer's Bookshelf: Clarifying the Open Source Movement . . . . . . . . . . 119--120 Eugene Eric Kim Of Interest . . . . . . . . . . . . . . 126--127 Michael Swaine Swaine's Flames: The Spam Festival . . . 128--128
Jonathan Erickson Editorial: Small Can Be Beautiful . . . 8--8 WG and Toby Everett and Howard Mark and Peter Roth and Ron Verbruggen and Robert Patterson and Aspi Havewala and Kit Adams and Ed Remmell Letters: Analyzing Algorithms; The Version Control Process; Electronic Music . . . . . . . . . . . . . . . . . 10, 12 Nicholas Baran News and Views: A Quantum Leap; Will SDMI Kill MP3?; Search Engines Can't Keep Up; Real-time CORBA Gets Real . . . 18--18 Jiri Soukup Data Structures As Objects . . . . . . . 21--22, 24--26, 28--30 Scott Meyers Implementing Operator ->* For Smart Pointers . . . . . . . . . . . . . . . . 32, 34--39 Stanley Lippman Improving C++ Program Performance . . . 40, 42, 44--45 William A. Hoffman and Rupert W. Curwen Pseudo-Incremental Linking For C/C++ . . 46, 48--50, 52, 54 Steve Mann The Wireless Application Protocol . . . 56, 58--60, 62--64, 66 Thiadmer Riemersma The Small Scripting Language . . . . . . 68, 70, 72, 74, 76, 78 Jean-François Touchette HTML Thin Client and Transactions . . . 80, 82, 84--86 Scott Haney and James Crotinger and Steve Karmesin and Stephen Smith PETE: The Portable Expression Template Engine . . . . . . . . . . . . . . . . . 88, 90--92, 94--95 Michael Swaine Programming Paradigms: The Seven-Year Itch . . . . . . . . . . . . . . . . . . 99--100, 102, 105 Al Stevens C Programming: Shareware . . . . . . . . 107--108, 110--111 Evan Easton Java Q&A: Does Java Support \em enums? 113--117 Wesley Bylsma Algorithm Alley: Median Filtering . . . 119--121 Dennis E. Shasha Dr. Ecco's Omniheurist Corner: Inheritance . . . . . . . . . . . . . . 123--124 Peter N. Roth Programmer's Bookshelf: C++ STL . . . . 127--128 Nicholas Baran Of Interest . . . . . . . . . . . . . . 134--135 Michael Swaine Swaine's Flames: I Know What You Did Last Summer . . . . . . . . . . . . . . 136--136
Jonathan Erickson Editorial: ``I Said Turn RIGHT, Fool!'' 8--8 Stephen Silver and DDJ and Tim Bond and Mike Pidd and Dugald A. Taylor and Chris Clement and Richard Shirey and George Vol and Andrew Tucker Letters: Programmer Aptitude Testing; Cross-Platform Design; A Hard Day's Night Electronic Music; So What's Wrong with Cobol?; Porting to CE . . . . . . . 10, 12 Nick Baran News and Views: The World's Smallest Web Server; CPU Flushed with Success; Light in the Slow Lane; Windows CE Gives You Gas; The ACM Says No to Software Engineering Licensing; NT versus CE . . 18--18 Jack J. Woehr A Conversation With Glenn Reeves . . . . 21--22, 24, 26--28 Frederick M. Proctor Linux, Real-Time Linux, and IPC . . . . 32, 34, 36, 38--39 Sven B. Schreiber Inside Windows NT System Data . . . . . 40, 42, 44--46, 48--49 Greg Winton Extending the PalmOS . . . . . . . . . . 50, 52--55 Morgan Woodson The PowerTV Operating System . . . . . . 56, 58--60 Regan Russell The BeRays Ray Tracer . . . . . . . . . 62, 64--65 Markus L. Noga Designing the LegOS Multitasking Operating System . . . . . . . . . . . . 66, 68, 70, 73--74, 76 Jörgen Tryggvesson and Torbjörn Mattsson and Hansruedi Heeb Jbed: Java For Real-Time Systems . . . . 78, 80, 82--84, 86 Zhimin Ding and Li Liu Machine Learning and Agent-Based Computing . . . . . . . . . . . . . . . 88, 90, 92, 94, 96 Dirk Hamstra XML and CORBA . . . . . . . . . . . . . 98, 100 Michael Swaine Programming Paradigms: Magic . . . . . . 103--105 Al Stevens C Programming: Teaching C++ for the Sixth Time . . . . . . . . . . . . . . . 107, 108, 110 Krishnan Rangaraajan Java Q&A: Does Java Support Design by Contract? . . . . . . . . . . . . . . . 113--114, 116 Tim Kientzle Algorithm Alley: Adaptive Unsharp Masking . . . . . . . . . . . . . . . . 119--121 Dennis E. Shasha Dr. Ecco's Omniheurist Corner: Calabaza 123, 125 Gregory V. Wilson Programmer's Bookshelf: A Joke Too Far 127--128 Nick Baran and Amy Lincicum Of Interest . . . . . . . . . . . . . . 132, 135--136 Michael Swaine Swaine's Flames: Out Time . . . . . . . 144--144
Jonathan Erickson Editorial: The Art and Science of Cryptography . . . . . . . . . . . . . . 8--8 John Neal and Thiadmer Riemersma and Jeff Genender and Torpum Jannak and Richard A. Clarke and William C. Brown and Jeffrey Simmers and Kemal Gencay Letters: The Small Language; Java 2 Graphics; Cross-Platform Independence; Version Control; Median Filters; Open Source in Turkey . . . . . . . . . . . . 10, 12 Nick Baran News and Views: E-books Highlight Seybold San Francisco; Microsoft Jumps on the XML Bandwagon; Truth and Consequences Goes Online; Disco Déj\`a Vu; SMIL Boston Draft Announced . . . . 18--18 Bruce Schneier Attack Trees . . . . . . . . . . . . . . 21--22, 24, 26, 28--29 Jim Shapiro and David Shapiro MMPC: An Algorithm For Encrypting Multiple Messages . . . . . . . . . . . 32, 34, 36, 38, 40--41 Eva Bozoki IP Security Protocols . . . . . . . . . 42, 44, 46--49, 51--52, 54--55 Andrew D. Fernandes Elliptic-Curve Cryptography . . . . . . 56, 58, 60--63 William F. Alexander A WDM IEEE 1394 Configuration ROM Decoder . . . . . . . . . . . . . . . . 64, 66, 68, 70--71 Bruce Powel Douglass and Srini Vasan Temporal Models in UML . . . . . . . . . 74, 76, 78--80, 82, 85 John Boyer XFDL: The Extensible Forms Description Language . . . . . . . . . . . . . . . . 86, 88--89, 91--92 Ed Wright Porting the SPICE Library . . . . . . . 94, 96--99 Michael Swaine Programming Paradigms . . . . . . . . . 101--103 Al Stevens C Programming: The Big Blow, Graphics, and Y2K . . . . . . . . . . . . . . . . 105--107 Paul Tremblett Java Q&A: What are JavaServer Pages? . . 109--113, 115 Jon Bentley Algorithm Alley: Programming Pearls: Cracking the Oyster . . . . . . . . . . 117--119 Dennis E. Shasha Dr. Ecco's Omniheurist Corner: My Enemy's Enemy . . . . . . . . . . . . . 123--125 Eugene Eric Kim Programmer's Bookshelf: Internet Time as History . . . . . . . . . . . . . . . . 127--128, 130 Nick Baran and Amy Lincicum Of Interest . . . . . . . . . . . . . . 134--135 Michael Swaine Swaine's Flames: Whose Page Is It, Anyway? . . . . . . . . . . . . . . . . 136--136