These are notes for slides to be presented at the OGI DISC Cookie Talk,
Oct 22, 1999.  Outline will be text, probably written up in PowerPoint for
ease of presentation, and converted to .ps, .pdf, and .html once the talk
has been given.
