Catalog programs build you a master catalog, a list of all your files 
and disks.  You'll probably get a shock the first time you run one of these 
programs--I discovered that I had 800 files (over 1000, now).  But as long 
as you keep the catalog up to date, you can quickly find out what disks any 
file is on and what files are on any disk.  
     These programs work best if you have a hard disk so that you can 
search the catalog at any time without having to swap disks.  I don't have 
a hard disk, so I put my catalog program and master catalog on my utility 
disk (the catalog itself runs about 30K).  That's a little inconvenient but 
not too much so.
     The two public domain cataloging programs--MCAT45 and YANC23--both 
work in the same basic way.  Both require that you number each disk by 
putting a special file on it, one whose filename begins with a hyphen (-) 
and whose filetype is a number from 000-999 (-DISK.101 or -DBASE.237, for 
example).  Both programs read the number of each disk and the directory of 
files on it, and then build a file called MAST.CAT, which lists all your 
files, in alphabetical order, together with the number of the disk each 
file is on.  In MAST.CAT, a file will be listed once for each disk that 
it's on; if you have WS.COM on three different disks, WS.COM will have 
three entries in MAST.CAT.
     [MCAT45] (Master CATalog version 4.5), by the prolific Irv Hoff, is 
actually a set of programs.  MCAT45.COM catalogs the disks, reading the 
disk number and file names and building the MAST.CAT file.  After 
cataloging each disk, it gives you the option of going on to another disk 
or exiting the program.  
     XCAT42.COM reads the MAST.CAT file and builds a cross-reference file, 
which consolidates multiple entries so that each file is only listed once, 
followed by the numbers of every disk it's on.  XCAT42.COM can send this 
cross-reference file either to the printer or to a disk file, MAST.LST.  
     With MCAT45.COM and XCAT42.COM, you'll use a third program, CAT2.COM.  
With CAT2.COM, you can quickly search MAST.CAT to find a particular file or 
the contents of a particular disk.  You can use wildcards when searching 
with CAT2.COM so that the command [CAT2 M*.COM] will locate MDM740.COM, 
MEX112.COM, and MCAT45.COM, while [CAT2 *.* *.103] will show you all the 
files on disk 103.
     [YANC23] (Yet ANother Catalog program, version 2.3), by Paul Sittler, 
has all the functions MCAT45 does, plus a few more, combined in a single, 
menu-driven program--YANC23.COM.  From its menu, you can catalog a disk, 
send any output to your printer, search for any file in the catalog (with 
wildcards), list the contents of any disk in the catalog, see the directory 
of a disk in one of your disk drives, put a number on a previously 
unnumbered disk, and create a new (empty) MAST.CAT file.  After each 
function, YANC23 takes you back to the menu, and like MCAT45, it lets you 
process a whole series of disks without having to exit the program.
     Both of these programs work well, and they make a classic software 
confrontation--the integrated, menu-driven YANC23 versus the modular, 
command-driven MCAT45.
     YANC23 is easier for a novice to use because it has a menu and doesn't 
require the user to decide which of several programs to use, as MCAT45 
does.  It's also more convenient in some ways, since it allows you to start 
a new catalog and label a disk without leaving the program, things MCAT45 
requires you to do separately.  This last function, labeling a disk, is a 
great convenience, since I occasionally forget to label one or accidentally 
erase the label.  If I try to catalog an unlabeled disk with MCAT45, it 
refuses, forcing me either to exit and label the disk or to put the disk 
aside to be labeled and cataloged later.
     On the other hand, MCAT45 is smaller--a total of 16K for MCAT45, 
XCAT42, and CAT2, versus 34K for YANC23.  It's also noticeably faster, for 
two reasons.  First, the MCAT45 programs were written in assembly language, 
so they run faster than YANC23, which was written in the C language.  
Second, once you know how to use MCAT45, you can do things more quickly 
because you don't have to go through a menu after every step.
     Also MCAT45 requires no installation.  YANC23, however, requires an 
accompanying terminal parameter file to adapt it to your terminal type.  
YANC23 comes with parameter files that will suit many terminals, but a 
complete novice might need some help setting up a such a file for a special 
terminal.
     After starting with MCAT and then switching to YANC, I'm now switching 
back to MCAT45, just because it runs faster (cataloging disks is tedious) 
and takes up less space on my disk.  If you opt for YANC23 instead, you can 
still use XCAT42 and CAT2--all the MCAT45 programs can read YANC23's 
MAST.CAT file, though YANC23 seems to choke on a MAST.CAT written by 
MCAT45.
     Usage Note:  I reserve disk numbers 000-099 for back-up disks so I can 
tell from a glance at the catalog whether I've backed-up a particular file 
or not.
[LIBRARY PROGRAMS]
     Library programs are not, as you might expect from the name, another 
kind of cataloging program, but they can help you keep track of your files.  
Library programs allow you to build and maintain library files, which have 
the special filetype LBR.  The LBR file consists of several smaller files 
that have been grouped together so that they appear to be a single larger 
file.  The library file MCAT45.LBR, for example, might contain the files 
MCAT45.COM, MCAT45.DOC, MCAT45.SET, XCAT42.COM, and XCAT42.DOC.  
     You usually save a little space by combining files into a library, but 
your most important gain is that you can easily keep related files 
together.  For example, I keep back-up copies of the source files for 
several communications programs that I use.  I have no problem keeping the 
files I need for COMM725 together because they all have similar names--
COMM725A.ASM, COMM725B.ASM, COMM725C.ASM, and COMM725D.ASM.  But the files 
I need for MODEM903 all have unrelated names--MODEM903.ASM, +8251.ASM, 
CONSOLE.ASM, DEFF.ASM, FILES.ASM, FINISH,ASM, MAIN.ASM, SENDRECV.ASM, 
START.ASM, and TERM.ASM.  If I had these files mixed in with others on a 
disk, I'd waste a lot of time just trying to remember which files I needed 
for MODEM903.  However, since I have them grouped together in MODEM903.LBR, 
I can just copy them from the library to my work disk and get started--I 
know I have all the files I need.
     The disadvantage of grouping files into a library is that you can't do 
much with them once they're there.  You can't edit a text file that's in a 
library, though you can view it.  You can run a program that's in a 
library, but the process is awkward, requiring an extra program called 
LRUN.COM, and slow.  In all, libraries work best for storing backups and 
other files you don't use very often.
     To build and work with LBR files, you can use either the combination 
of LU310 and LSWEEP13 or the single program NULU11.  LU310 (Library Utility 
version 3.10)--by Gary Novosielski, the originator of LBR files--lets you 
create library files, extract member files from the library, and add, 
delete, or rename individual members.  Its command style makes it awkward 
to use, so you'll probably want to use LSWEEP13 also.  
     LSWEEP13 (Library SWEEP version 1.3) looks and works like NSWP and 
SWEEP, the well-known file-handling programs, except that you log into and 
"sweep" a LBR file instead of a whole disk.  It's much easier to use than 
LU310 for working with LBR files, but it can't create the files as LU310 
can, so many people use the two as a set.
     NULU11 (NU Library Utility version 1.1), by Martin Murray, combines 
the functions of LU310 and LSWEEP13 and adds a few more, all in less space 
than LU310 alone (NULU11 = 16K, LU310 = 20K, LSWEEP13 = 16K).  It's also 
easier to use and faster than either of the other two, which should make it 
an easy choice, except that rumors of bugs surface now and then, as they 
often do with new programs.  I use NULU11 a lot, I love it, and I've never 
seen it do anything the least bit odd or mishandle a file in any way.  The 
only reported bug that Martin Murray, the author, has been able to document 
won't affect most people and is easily avoided in any case; it's described 
in the file NULU-NUS.001.
     LATE NOTES:  Recently, two new files, NULU12 and NSWP208, have 
appeared on the bulletin boards as updates of NULU11 and NSWP207 
respectively.  Normally, I'd be the first to grab updated versions of two 
favorite programs, but now the word is that these are not updates by the 
original authors (Martin Murray and Dave Rand).  I suggest you lay off 
these two for a while and stick to the old versions.
     Also, Eric Gans has now released WINDEX20, an update of WINDEX12, the 
WordStar indexing program I described a few issues ago.  Unlike WINDEX12, 
WINDEX20 allows you to index both words and phrases by marking them in the 
text, as well as by entering them from the keyboard or from a file.  That 
removes my only major criticism of this program and makes it easily the 
best of the public domain indexers.