Remembrance Agent Release V. 0.5.6

What is it?
The Remembrance Agent (RA) is a program which continuously and
unobtrusively reminds you of notes files, old email messages, and
references which are relevant to whatever you are currently writing or
reading.  While writing papers, reading or writing email, browsing netnews
or surfing the web, the Remembrance Agent suggests relevant resources in
the bottom few lines of the screen.  The full text of recommendations can
be brought for viewing with a keystroke.

What does it run on?
Currently it requires that you be running Emacs-19 on a Unix-box running
HP700, Sun4, or Linux.  Other user platforms will be supported in later
versions.  The RA can make suggestions from plain text and RMAIL (Babyl)
format files.

How's it work?
There are two parts to the RA: a front-end written in Elisp and a back-end
document-similarity program called SMART, developed at Cornell.  SMART
indexes your RMAIL and text files overnight using scripts provided.  When
in emacs, the remembrance agent will suggest email and text which is
similar to the text in the current buffer.  The suggestions appear at the
bottom of the buffer in numbered lines.  To view a suggestion in it's
entirety, type "control-c-#", where # is the line number of the subject you
wish to view.

The RA is divided into three "scopes", each with a type (mail or text), the
number of words around the cursor from which to look for relevance, and a
number of seconds between updates.  Each scope can display one or more
suggestions, up to a total of 9 suggestions.

What are the files it comes with?
common_words	Dictionary of commonly used words, used by SMART
escapify.perl	Perl script to put a backslash (\) in front of filenames.  
		Used by the indexing scripts.
indexed_colls	Directory where the indexed collections go
make_mail	Script to make an indexed collection out of RMAIL files
make_text	Script to make an indexed collection out of text files
process_text.perl	Perl script to preprocess text files for indexing
remem-display-mode.el	Emacs Lisp code for the RA front end
rememprint	Script used to output a document when you hit ^c-#
smart		The SMART binary
spec.default	Default values used by SMART
subject-date.perl	Perl script to preprocess RMAIL files for indexing
sunsmart	(SUN4 only) Wrapper for SMART so it won't break on the sun

Installation: 

Since you're reading this, you've already unzipped and untarred the
distribution for your particular machine.

1) First, move the directory with all the files in it to a convinient
location.  The make_mail and make_text scripts will look for other files
within their own directory, so don't split them up.  They will also look
for a directory called "indexed_colls" coming off of this directory.  If
you can put the main directory on a local disk it will speed up the RA
significantly, but be aware that the indecies can take as much as 33% of
the space as the original documents.

After the RA directory is in it's permanant location, you can index your
files.  "make_text" and "make_mail" each take a directory containing text
or rmail files (respectively) as an argument.  Indexing can take from one
to five minutes per megabyte indexed, depending on your network speed and
whether you store your indexes on local disk.

2) To install the front end you need to load the file
"remem-display-mode.el".  Place the file wherever your emacs-lisp code
sits, and add the following line to your .emacs file:

	(load-file "remem-display-mode.el") 

If you don't have a normal place for emacs-lisp code, put it in a
convinient directory and include its path in the load-file command.

3)  Add the following customization(s) to your .emacs file:
;; The directory where all the SMART programs lie:
(setq remem-relevant-dir-name "/disks/wherever-I-put-smart/")

;; If you're using a SUN, you'll have to change the name of the smart
;; program as well, otherwise the default "smart" will work fine.
(setq remem-relevant-prog-name "sunsmart"))  ;; SUNs only

4)  You can also customize how the RA displays suggestions.  The following
customizations are available:

;; This indicates the number of lines to use for scopes 1, 2, and 3, 
;; respectively.  For example, the line below would set scope one to lines
;; 1 and 2, scope two to line 3, and scope three to display on line 4.
;; The default is (1 1 1)
(setq remem-display-scope-number-lines '(2 1 1))

;; This indicates the type of each scope.  The below example sets scopes
;; one and two to text messages, and scope three to type mail.  The default
;; is (mail mail text)
(setq remem-display-scope-type '(text text mail))

;; This indicates the number of seconds between updates for each scope.
;; Default is 10 seconds for each
(setq remem-display-scope-update-times '(10 10 10))

;; This indicates the number of words looked at by each scope (from
;; the cursor back).  Default is 100, 100, and 10
(setq remem-display-scope-range '(100 100 10))


Using the RA
Once the RA is loaded up, the following keys are bound:

^c-r-r (control-c, r, r): Start or stop the RA.
^c-number: Display the document being recomended on line <number>
M-x remem: perform a remembrance based only on the string given

This is a beta release, so there will probably be bugs lying in wait.
Please report all you find to "remembrance-maintainer@media.mit.edu"

	-- Brad Rhodes