David Adams Publications

This page lists my 4D and Internet-related publications. Many of the articles, chapters, and conference presentations are downloadable. These materials were written for print. Therefore, they are too long for online reading. I suggest downloading and printing the materials that interest you. For a short list of the most popular downloadable items, visit the Downloadable Papers page.

Books (3)
Trainings (10)
Commercial Applications (1)
Conference Presentations (8)
Articles (66)

Books

The 4D Web Companion
David Adams (2001)

The 4D 6.5 Companion
David Adams (2000)

Programming 4th Dimension: The Ultimate Guide
David Adams and Dan Beckett (1998)

Trainings

Developing Web Services with 4th Dimension
David Adams (2003-2004)

High Quality 4D Development
David Adams (2000-2002)

Getting the Most Out of 4D
David Adams (2000-2002)

4D Web Integration
David Adams (2001)

4D Internet Integration
David Adams (2000)

4D 6.5
David Adams (1999-2000).

4D 6.5 Accelerated
David Adams Foresight Training (1999)

4D V6: The Ultimate Training
David Adams and Dan Beckett (1998)

Publishing a 4D V6 Database on the Web
David Adams 4D US University (1997)

Adding Interactivity to Web Sites With 4D
David Adams 4D US University (1996)

Commercial Applications

ZipCenter
David Adams (1997).

Conference Presentations

Managing State in Web-Database Systems
David Adams 4D Internet Integration Training (2000).
PDF (785K)

So Many Tools, So Little Time
David Adams and Dave Robbins 4D Summit (1999).

Guerilla Design Techniques
David Adams and Dan Beckett 4D Summit (1998).
PDF of Presentation (900K)
PDF of Paper Design Object Templates (300K)

The Joy of Triggers
David Adams and Dan Beckett 4D Summit (1998).
PDF (968K)

Updated for 2000 PDF (944K)

Stored Procedures and Beyond
David Adams and Dan Beckett 4D Summit (1997).
PDF (644K)

Real-World Printing Problems and Solutions
David Adams and Dan Beckett 4D Summit (1997).
PDF (968 MB)

Normalization Is a Nice Theory
David Adams and Dan Beckett 4D Summit (1997).
PDF (732K)

Optimizing 4th Dimension Applications
David Adams DevCon (1994).

Articles

Note that a 4D Partner password is required to download recent Technical Notes.

The XML_Utilities Component
David Adams 4D US Technical Notes : 04-21 (2004).
Mac OS compressed archive.
Windows compressed archive.

Reading a Full SOAP Response
David Adams 4D US Technical Notes : 04-20 (2004).
Mac OS compressed archive.
Windows compressed archive.

Reading a Full SOAP Request
David Adams 4D US Technical Notes : 04-19 (2004).
Mac OS compressed archive.
Windows compressed archive.

Determining the Name of a Requested Web Service
David Adams 4D US Technical Notes : 04-18 (2004).
Mac OS compressed archive.
Windows compressed archive.

Returning Pictures Through SOAP
David Adams 4D US Technical Notes : 04-15 (2004).
Mac OS compressed archive.
Windows compressed archive.

Returning Data Through SOAP
David Adams 4D US Technical Notes : 04-12 (2004).
Mac OS compressed archive.
Windows compressed archive.

Customizing the Home Page Automatically Created by 4th Dimension 2003
David Adams 4D US Technical Notes : 04-06 (2004).
Mac OS compressed archive.
Windows compressed archive.

4D FastCGI 2003
David Adams 4D US Technical Notes : 03-27 (2003).
Mac OS compressed archive.
Windows compressed archive.

Tracing and Troubleshooting TCP/IP
David Adams 4D US Technical Notes : 03-21 (2003).
Mac OS compressed archive.
Windows compressed archive.

Avoiding Semaphore Gotchas
David Adams 4D US Technical Notes : 02-53 (2002).
Mac OS compressed archive.
Windows compressed archive.

Exchanging Data with Triggers
David Adams 4D US Technical Notes : 02-52 (2002).
Mac OS compressed archive.
Windows compressed archive.

Naming Conventions to Simplify Component Development and Use
David Adams 4D US Technical Notes : 02-51 (2002).
Mac OS compressed archive.
Windows compressed archive.

Programming Style
David Adams and Dan Beckett Dimensions : Vol. 7, No. 3 (1998).
PDF (384K)

A later version of this article is a chapter in Programming 4th Dimension: The Ultimate Guide.

Pointers
David Adams and Dan Beckett Dimensions : Vol. 6, No. 6 (1997).
PDF (288K)

A later version of this article is a chapter in Programming 4th Dimension: The Ultimate Guide.

User Perception
David Adams and Dan Beckett Dimensions : Vol. 6, No. 5 (1997).

A later version of this article is a chapter in Programming 4th Dimension: The Ultimate Guide.

Using 4D V6’s Triggers
David Adams and Dan Beckett Dimensions : Vol. 6, No. 4 (1997).

A later version of this article is a chapter in Programming 4th Dimension: The Ultimate Guide.
The latest edition (2000) is available as a 950K PDF for download.

Optimizing With Summary Tables
David Adams and Dan Beckett Dimensions : Vol. 6, No. 3 (1997).

A later version of this article is a chapter in Programming 4th Dimension: The Ultimate Guide.

Optimizing Queries in 4D V6
David Adams and Dan Beckett Dimensions : Vol. 6, No. 2 (1997).

A later version of this article is a chapter in Programming 4th Dimension: The Ultimate Guide.

4D and the Internet, an Overview
David Adams Dimensions : Vol. 5, No. 4 (1996).

Constructing HTML for Simple Reparsing
David Adams 4D US Technical Notes : 96-19 (1996).
Mac OS compressed PDF file (345K).
Windows compressed PDF file (234K).

Converting Arrays to HTML Tables
David Adams and Forrest Swilling (forrest@fatcatdesign.com)
4D US Technical Notes : 96-14 (1996).
Mac OS compressed PDF file (271K).
Windows compressed PDF file (177K).

Simplifying and Optimizing HTML Construction
David Adams 4D US Technical Notes : 96-13 (1996).
PDF (128K)

Adding Interactivity to a Web Server with 4D
David Adams 4D US Technical Notes : 96-12 95-04 Adding Records to the Current Selection 94-45 Concatenating String (1996).
Mac OS compressed PDF file (380K).
Windows compressed PDF file (248K).

4D and The Internet, An Overview
David Adams 4D US Technical Notes : 96-11 (1996).
Mac OS compressed PDF file (305K).
Windows compressed PDF file (224K).

Resetting a PostScript Laser Printer’s Default Time-out Settings
David Adams 4D US Technical Notes : 95-31 (1995).
Mac OS compressed Common Ground file (223K).

Optimizing Output Layout Display
David Adams 4D US Technical Notes : 95-30 (1995).
Mac OS compressed Common Ground file (272K).

Saving Summary Data for Enhanced Reporting and Optimized Searching
David Adams 4D US Technical Notes : 95-29 (1995).
Mac OS compressed Common Ground file (265K).

Preprocessing and Saving Sets For Highly Optimized Searching
David Adams 4D US Technical Notes : 95-28 (1995).
Mac OS compressed Common Ground file (570K).

Enhanced Tracing
David Adams and Forrest Swilling (forrest@fatcatdesign.com)
4D US Technical Notes : 95-17 (1995).
Mac OS compressed Common Ground file (232K).

Modifying the Included Layout Indicator
David Adams 4D US Technical Notes : 95-16 (1995).
Mac OS compressed Common Ground file (209K).

Using Included Areas in Dialog Boxes
David Adams 4D US Technical Notes : 95-14 (1995).
Mac OS compressed Common Ground file (261K).

Dynamic Built Searches
David Adams and Forrest Swilling 4D US Technical Notes : 95-11 (1995).
Mac OS compressed Common Ground file (432K).

Creating a Non-Enterable, Double-clickable Included Area
David Adams 4D US Technical Notes : 95-09 (1995).
Mac OS compressed Common Ground file (217K).

Adding Records to the Current Selection
David Adams 4D US Technical Notes : 95-04 (1995).
Mac OS compressed Common Ground file (267K).

Debugging 4D Open for 4th Dimension Built Searches
David Adams 4D US Technical Notes : 94-54 (1994).
Mac OS compressed Common Ground file (354K).

Working with a Picture’s Size
David Adams 4D US Technical Notes : 94-50 (1994).
Mac OS compressed Common Ground file (307K).

Using COMPILER Procedures
David Adams 4D US Technical Notes : 94-49 (1994).
Mac OS compressed Common Ground file (254K).

Concatenating String Arrays
David Adams 4D US Technical Notes : 94-45 (1994).
Mac OS compressed Common Ground file (223K).

Understanding Local Processes
David Adams and Jean-Pierre Ribreau 4D US Technical Notes : 94-37 (1994).
Mac OS compressed Common Ground file (344K).

Understanding the .RES File
David Adams 4D US Technical Notes : 94-36 (1994).
Mac OS compressed Common Ground file (343K).

Displaying a Two Dimensional Array in a 4D Calc Window
David Adams 4D US Technical Notes : 94-34 (1994).
Mac OS compressed Common Ground file (600K).

Storing Dialog Box Settings
David Adams 4D US Technical Notes : 94-32 (1994).
Mac OS compressed Common Ground file (307K).

Passing Parameters to a New Process
David Adams 4D US Technical Notes : 94-31 (1994).
Mac OS compressed Common Ground file (257K).

Writing Boolean Functions to Increase Code Readability
David Adams 4D US Technical Notes : 94-30 (1994).
Mac OS compressed Common Ground file (310K).

Storing Programmatic Information in Lists
David Adams 4D US Technical Notes : 94-28 (1994).
Mac OS compressed Common Ground file (356K).

Creating Your Own Document Type
David Adams and Forrest Swilling (forrest@fatcatdesign.com)
4D US Technical Notes
: 94-26 (1994).
Mac OS compressed Common Ground file (305K).

Determining Procedurally if Structure Compiled
David Adams 4D US Technical Notes : 94-25 (1994).
Mac OS compressed Common Ground file (225K).

Searching in Arrays
David Adams 4D US Technical Notes : 94-21 (1994).
Mac OS compressed Common Ground file (430K).

Keyword Searches with 4D Insider
David Adams 4D US Technical Notes : 94-20 (1994).
Mac OS compressed Common Ground file (460K).

File Status Window: A Debugging Tool
David Adams 4D US Technical Notes : 94-19 (1994).
Mac OS compressed Common Ground file (458K).

Practices that Simplify Code Maintenance
David Adams 4D US Technical Notes : 94-16 (1994).
Mac OS compressed Common Ground file (267K).

Finding a Client Macintosh’s Owner Name
David Adams 4D US Technical Notes : 94-15 (1994).
Mac OS compressed Common Ground file (280K).

Including Commas and Comments on Labels
David Adams 4D US Technical Notes : 94-13 (1994).
Mac OS compressed Common Ground file (305K).

Reassigning Passed Parameters
David Adams 4D US Technical Notes : 94-04 (1994).
Mac OS compressed Common Ground file (359K).

Using 4D Calc’s Field Summary for Cross-Tab Reports
David Adams and Dan Beckett Dimensions : Vol. 3, No. 1 (1993).

Statistical Functions for Arrays
David Adams and Linda Lloyd 4D US Technical Notes : 93-61 (1993).
Mac OS compressed Common Ground file (213K).

Find Great or Least Value in Variable Number of Parameters
David Adams 4D US Technical Notes : 93-51 (1993).
Mac OS compressed Common Ground file (196K).

Protecting Procedures in the User Environment
David Adams 4D US Technical Notes : 93-50 (1993).
Mac OS compressed Common Ground file (207K).

Detecting Invalid Dates in Enterable Areas
David Adams 4D US Technical Notes : 93-47 (1993).
Mac OS compressed Common Ground file (194K).

Setting all files to Read-Only
David Adams 4D US Technical Notes : 93-38 (1993).
Mac OS compressed Common Ground file (186K).

Hiding Processes in 4D Server
David Adams 4D US Technical Notes : 93-33 (1993).
Mac OS compressed Common Ground file (216K).

Displaying the Type of a Variable in the Debugger
David Adams 4D US Technical Notes : 93-28 (1993).
Mac OS compressed Common Ground file (192K).

Creating a Custom Sort Order
David Adams 4D US Technical Notes : 93-27 (1993).
Mac OS compressed Common Ground file (247K).

Creating a Remove from Set Procedure
David Adams 4D US Technical Notes : 92-28 (1992).
Mac OS compressed Common Ground file (176K).

Controlling the Input Layout Page
David Adams 4D US Technical Notes : 92-25 (1992).
Mac OS compressed Common Ground file (246K).

Printing the Current Record from a Layout
David Adams 4D US Technical Notes : 92-23 (1992).
Mac OS compressed Common Ground file (195K).